GithubHelp home page GithubHelp logo

xuyichen2010 / teamc_landing Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 57.46 MB

CMake 1.95% C 72.67% C++ 13.09% Makefile 10.54% QMake 0.02% Assembly 0.56% Shell 0.01% Batchfile 0.01% Objective-C 0.02% Python 0.95% MATLAB 0.19%

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

Contributors

aaronzguan avatar xuyichen2010 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.