Giter VIP home page Giter VIP logo

fatihksubasi / autonomous-flight-ros Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alessiotonioni/autonomous-flight-ros

0.0 2.0 0.0 4.41 MB

A simple autopilot for a quadrotor realized using MoveIt!. The system use a simulated RGBD sensor to reconstruct the map, then ompl for path generation.

CMake 9.78% C++ 24.01% Shell 1.92% Makefile 33.22% C 0.90% Python 17.59% Common Lisp 12.12% M 0.02% MATLAB 0.44%

autonomous-flight-ros's Introduction

You can find additional info on this work in this thesis, however it's in italian:
https://mega.co.nz/#!bdYEWKDZ!WmsdbkD-DifIXAGAL4cHTBwb_hYw36mMpB_XMmLX5VA

In order to run the simulation you will need: 
	ROS, Hector_quadrotor + hector_quadrotor_world, gazebo, Moveit! and the few extra in this .rar.

The external programs can be found here:
ROS               --->  http://wiki.ros.org/
Hector_quadrotor  --->  http://wiki.ros.org/hector_quadrotor
gazebo            --->  http://wiki.ros.org/gazebo
Moveit!           --->  http://moveit.ros.org/

First of all you should create a configuration pack for moveIt! in order to correctly interface it with hector quadrotor, in other word you should create a series of configuration file to correctly interface the quadrotor with the plugin.
You can do it by yourself following this tutorials ( http://moveit.ros.org/wiki/Quick_Start) and using my modified version of hector_quadrotor.urdf (you can find it in "hector_quadrotor/hector_quadrotor_urdf/urdf/quadrotore.urdf" ), just remember to add a virtual floating joint between the base link of the quadrotor and teh fixed odometry link... 
or you can simply use the pack I already made with everything configured --> quadrotore2_moveit.
In the second case everything should be configured correctly and the quadrotor should be able to build a map of the place and fly itself using moveit!. 
Now you just need to launch Gazebo and spawn the quadrotor("sh files/1-simulator.sh"), launch the action_controller node ("sh files/2-controllers.sh") and finaly launch the moveit plugin and rviz visualizer ("sh files/3-planner.sh"). Optionally you can spawn a node to teleoperate the quadrotor in the simulation from the terminal ("sh files/4-teleOp.sh").
Maybe in order to make the sh work you should change some path!

You can simply overwrite the standard's packages downloaded from the official wiki pages (like pr2_teleop, hector_quadrotor or moveit_simple_controller_manager) with my modified ones and recompile all in order to obtain the modified packages and the additional functionalities.
Contents of the folders:

->action_controller:
	 action controller to translate geometrical trajectory in cmd_vel to control the quadrotor, it automatically translate the geometrical 		traiectory 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

->quadrotore2_moveit:
	configuration file for moveit!

->sh files:
	bash file to launch the different part of the simulation

autonomous-flight-ros's People

Contributors

alessiotonioni avatar

Watchers

James Cloos avatar Fatih Kucuksubasi avatar

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.