AutonomyLab/ardrone_autonomy — pull request #31 by mikehamer (2012-11-21 23:09:31+00:00)
Title: Disable hover, complete navdata feedback

@mani-monaj This pull request does a few things:

**1. Allow ALL data sent back from the drone to be accessed, rather than the very small subset available through the /ardrone/navdata channel.**
To use this, consult the new launch file, you will see many new flags such as `enable_navdata_references`. These flags control whether the contents of this particular navdata message will be published (if not specified, the topics won't be published). For message contents, consult the new messages in `/msg`, or the SDK file `navdata_common.h`. I am using it to receive additional information about the drone's internal controller (navdata_references) for mathematical modeling purposes.

**2. Turn off combined navdata messages**
By default, the `navdata`, `mag` and `imu` topics will always be published. This can be turned off by setting `enable_legacy_navdata` to false in the launch file (if not specified, defaults to true).

**3. Disable hover mode**
As per @parcon 's request, by specifying `command_disable_hover=true` in the launch file, hover can be disabled (the drone will not try to control to vx=vy=0 when not actively being flown)

**4. Always send hover commands (even unchanged ones)**
Setting `command_always_send` in the launch file will force the sending of hover commands. This only has an effect if the hover mode is not disabled.

**Regarding testing**: I have been flying with change 1 for about a week now and it works as expected.

I flew with change 3 and 4 this afternoon after making the change, and they both worked as expected. Recorded flight data shows that the drone never left flying mode (state==3). Visually, the drone also did not stabilize velocity after commanding to 0 body angle, as is expected when not entering hover.