teamc_landing's Introduction
A stack allowing a DJI M100 to autonomously tracking and landing on a stationary platform (on top of a UGV). A RGB Webcam on the bottom of the UAV is used for tracking the Apriltag on top of the platfrom for pose estimation. PID controllers for x, y and yaw are used for assigning velocity commends to the UAV. The alogrithm has been field-tested multiple time with a DJI M100 and a positional error < 8cm. Video link: https://drive.google.com/file/d/1vrBGbGLHSCLAhbJdhI3T8VIfdd-TrNvk/view?usp=sharing The FVD branch is our final version of the work. source devel_isolated/pointcloud_to_laserscan/setup.bash To compile for landing: Simulate bridge: rosrun dji_m100_gazebo dji_m100_pcsim_gazebo_bridge Calibrate the camera: rosrun camera_calibration cameracalibrator.py --size 7x6 --square 0.108 image:=/usb_cam/image_raw camera:=/usb_cam Simulation: roslaunch dji_sdk sdk.launch roslaunch dji_m100_gazebo simulate_dji_m100_gazebo.launch rosrun dji_m100_gazebo dji_m100_pcsim_gazebo_bridge roslaunch dji_m100_landing tunning.launch Landing: roslaunch dji_m100_landing apriltag_track_landing.launch ROS_NAMESPACE=usb_cam rosrun image_proc image_proc rostopic pub -r 10 dji_landing/landing_enable std_msgs/Bool 'true' ## Multi-Master Setup 1. Put both computer's IP address and hostname in /etc/hosts 2. Put {export ROS_MASTER_URI=htttp://<IP_Adress>:11311} and {export ROS_HOSTNAME=<IP_Adress>} in .bashrc for both computers 3. Run {sudo sh -c "echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts"} and then {sudo service procps restart} on both computers 4. On computer A, start roscore and then {rosrun master_discovery_fkie master_discovery _mcast_group:=224.0.0.1} 5. On computer B, start roscore and then {rosrun master_discovery_fkie master_discovery _mcast_group:=224.0.0.1 __name:=ugv_master} 6. On computer A, run {rosrun master_sync_fkie master_sync} 7. On computer B, run {rosrun master_sync_fkie master_sync __name:=ugv_sync}
teamc_landing's People
teamc_landing's Issues
I have some question
I'm glad to see what you've done. I've learned a lot from it, but I'd like to ask you some questions.
Q1: in the simulation, I see you use the command: "roslaunch DJI_ m100_ gazebo simulate_ dji_ m100_ gazebo.launch ”But I didn't find DJI_ m100_ gazebo.launch Documents.
Q2: can this simulation realize autonomous landing of UAV in gazebo? Or is it just a drone environment?
Q3: how to connect and prepare simulation hardware devices?
Hope to get your answer, thank you.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.