I am having some issues with the ARDrone Parrot 2.0 and hope someone else may be running into the same thing.

While hovering, the drone is (seemingly) randomly losing altitude then recovering . It is doing so while not being commanded any velocity inputs and should hold altitude.

We are using the drivers from the ardrone_autonomy (dev_unstable branch) on github. We are able to watch the PWM outputs being sent to the motor and they are dropping from the hover command do a small value before exponentially returning to the hover value when this drop occurs.

The issue could be a communication between the IMU and the onboard controller or on our software control implementation.

Has anyone seen a similar problem or suggestions to test/troubleshoot what is happening?

  • $\begingroup$ Are you using the ARDrone indoors or outdoors? Inferred from the previous question what terrain are you trying to hover over? Some terrains can cause issues with hovering. Have you tested in various environments? What control strategy are you using in your software control implementation? PID? Are you holding height using the onboard ultrasound sensor? $\endgroup$ – Tom Bamber Feb 20 '13 at 12:00

I have not used the ARDrone but have experience with height hold on another autopilot.

Without the further information, a quick google search found a possible firmware issue with ARDrone in this thread.

If you are using the onboard ultrasound sensor then as I mentioned in my post on How can I detect the edge of a table?. The ultrasound sensors can jump to zero sporadically for part of a second and this could cause the ARDrone to change altitude and then jump back to the real value.

  • $\begingroup$ Tom, We are using the drone indoors currently. We are in our lab which is a carpet floor and using high contrast colored tiles for the vision system to lock on to. We have not been able to test much in other environments due to our current lab setup at the university. $\endgroup$ – Daman Feb 22 '13 at 18:03
  • $\begingroup$ So as for a control strategy, we are using an xbox controller to fly using a ROS node to read the inputs. The ROS files we are getting is from the ARdrone_autonomy github. The command is being sent to the onboard control of the drone which seems to be a PID. We have better narrowed down our issue since my first post. The ROS has a topic from the internal navigation data that gives the motor information. It shows the PWM values that are being sent to the motor as well as an internal integral term for the altitude PID controller. We are seeing that is being reset from 60 to 0 when the quad falls $\endgroup$ – Daman Feb 22 '13 at 18:06
  • $\begingroup$ To confirm the PWM signals being sent to the motor are resetting from 60 to zero when the quad falls? If this is the case then one would need to trace back and determine where the mathematical error is coming from. I think the problem is coming from way your sensor data is used in the height hold, you cant tune your PID with that sort of error occuring. $\endgroup$ – Tom Bamber Mar 1 '13 at 11:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.