Skip to content

xuyichen2010/TeamC_Landing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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}



About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •