benoit-cty / ROS-Autonomous-Quadcopter-Flight

A demo of using MoveIt! to move a quadcopter
13 stars 3 forks source link

This project aim to create an autonomous flying quadcopter using a stereo camera like Kinect/Guidance/ZED. For now you have to move it manually to discover the environment. After that it could find is way by itself.

Video demonstration : https://www.youtube.com/watch?v=VlBQLbmc03g You can find additional info on this work in AlessioT thesis, however it's in italian: https://mega.co.nz/#!bdYEWKDZ!WmsdbkD-DifIXAGAL4cHTBwb_hYw36mMpB_XMmLX5VA

Original project from AlessioT (https://bitbucket.org/AlessioT/autonomous-flight-ros.git) Modified for ROS Indigo support by WLemkens (https://bitbucket.org/wlemkens/) My (Trancept https://bitbucket.org/Trancept/) contribution is quite limited to :

In order to run the simulation you will need: ROS, Hector_quadrotor + hector_quadrotor_world (http://wiki.ros.org/hector_quadrotor), gazebo (http://wiki.ros.org/gazebo), Moveit! (http://moveit.ros.org/)

If you are using ubuntu you could follow these instruction :

Contents of the folders:

->action_controller: action controller to translate geometrical trajectory in cmd_vel to control the quadrotor, it automatically translate the geometrical trajectory produced by moveit in comand to make the quadrotor move.

->moveit_simple_controller_manager: modified version of moveit_simple_controller_manager to handle multiDofFollowJointTrajectoryAction and to send the trajectory to the custom action_controller above defined

->hector_quadrotor: modified urdf of the quadrotor to publish the odometry of the joints

->pr2_teleop: simple node to teleop the simulated quadrotor using the keyboard => Prefer tx_keyboard_ctrl.py as it allow vertical move.

->quadrotore2_moveit: configuration file for moveit!

->script: file to launch the different part of the simulation