Git Product home page Git Product logo

tum_ardrone's Introduction

Package tum_ardrone:

This package contains the implementation corresponding to the following papers: 
- Camera-Based Navigation of a Low-Cost Quadrocopter (J. Engel, J. Sturm, D. Cremers)
- Accurate Figure Flying with a Quadrocopter Using Onboard Visual and Inertial Sensing (J. Engel, J. Sturm, D. Cremers)
On my website, you can find a video of the AR.Drone 1.0 flying autonomously, using this package.


The package works for both the AR.Drone 1.0 and 2.0, the default-parameters however are optimized for the AR.Drone 2.0.

=== Quickstart: ===
1.
rosrun ardrone_autonomy ardrone_driver _navdata_demo:=0 _loop_rate:=500
rosrun tum_ardrone drone_stateestimation
rosrun tum_ardrone drone_autopilot
rosrun tum_ardrone drone_gui

2. 
check if it sais (under Drone Communication Status):
- Drone Navdata: XHz (X > 100)
- Pose Estimates: 33Hz

3a. KB control:
- focus drone_gui window
- press ESC to activate KB control
- fly around with KB (see readme_gui.txt for key assignments)

3b. Joystick control:
- rosrun joy joy_node
- press PS button on controller to activate it
- fly around (see readme_gui.txt for key assignments)

3c. Autopilot:
- type command "autoInit 500 800" in top-left text-field
- click Clear and Send (maybe click Reset first)
  => drone will takeoff & init PTAM, then hold position.
- click on video to interactively set target (relative to current position); see readme_stateestimation.txt.
  => first fly up 1m and then down 1m to facilitate a good scale estimate, dont start e.g. by flying horizontally over uneven terrain (!).
- always have a finger on ESC or on the joystick for emergency-keyboard control :)


=== Troubleshooting: ===
- if drone doesnt start:
  -> battery empty? (drone does not start if battery < ~18%)
  -> Drone in emergency state? (if so, the four led's are red. click Emergency to reset).
- cannot control drone:
  -> selected correct control source? maybe re-select.
- drone flies unstable using the autopilot:
  -> adjust / reduce control parameters using dynamic_reconfigure (see readme_autopilot).
- drone broken: buy a new one.

=== Nodes: ===
- drone_stateestimation: Drone Stateestimation, including PTAM & Visualization.
- drone_autopilot: Drone Controller, requires drone_stateestimation
- drone_gui: GUI for controlling the drone (with a Joystick or KB) and for controlling the autopilot and the stateestimation node.

=== Notes: ===
- the channel /tum_ardrone/com is used for communication between the nodes. to see what's going on internally, it is generally a good idea to echo this channel.


=== Known Bugs & Issues: ===
- as the software was originally developed for the Ar.Drone 1.0, the pressure sensor and magnetometer are not used.
- drone_stateestimation crashes occasionally when PTAM init fails (crash occurs in PTAM code). 
  Happens in oarticular if there is no baseline in between the first two keyframes, hardly ever happens in praxis.

tum_ardrone's People

Contributors

jakobengel avatar lesire avatar mani-monaj avatar

Watchers

 avatar  avatar  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.