Stabilize hover in drone

asked 2019-01-07 21:39:29 -0500

Dylan gravatar image

updated 2019-01-07 21:41:12 -0500

Hello everyone. I'm using an AR.Drone 2.0 and, when I was using it in ROS+Gazebo everything worked perfectly because it was perfectly stable in hover mode (I mean, when it was flying in a specific point (x,y,z) and not moving).

But now I'm using it in the real world and when I publish a takeoff message it goes up and then anywhere. I don't know if it's because it was hit by anyone (I'm not the first user of this drone) or what can happen. Is this drone pretended to hover stable without doing anything? Or do I have to make a PID to control the velocities and the orientation? How can I do that PID if I don't have any tag or marker? Does the drone give me the yaw, roll, pitch, and velocities?

This is the launch I'm using for the real AR.Drone (it was taken from the Internet):

        <arg name="droneip" default="" />
        <node name="ardrone_driver" pkg="ardrone_autonomy" type="ardrone_driver" output="screen" args="-ip $(arg droneip)">
                <param name="navdata_demo" value="False" />
                <param name="realtime_navdata" value="True" />
                <param name="realtime_video" value="True" />
                <param name="looprate" value="30" />


edit retag flag offensive close merge delete


This is one of the differences between simulation and reality. Although the drone has built-in stabilization, it's visual and relies on the drone being able to estimate its velocity. If it can't do that sufficiently accurate enough, then you'll see the behavior that you are.

jayess gravatar image jayess  ( 2019-01-07 22:22:16 -0500 )edit

How about the downward facing camera? Is it working correctly? Are you facing the same problem when you try to control through Mobile App?

pavankumarbn gravatar image pavankumarbn  ( 2019-01-07 23:23:57 -0500 )edit

It's hard for me to say if it's working correctly, but when I used this drone we'd place an object underneath its camera to help it better estimate its speed (I'm too sure how effective it was but it seemed to better with something in the bottom camera's field of view)

jayess gravatar image jayess  ( 2019-01-08 00:48:09 -0500 )edit

@jayess I also faced the same problem. The reason was downward facing camera was not working because AR 2.0 uses it to hold the position during flight. I replaced the entire body after that it worked perfectly fine. Sometimes cable loose connection leads to the problem.

pavankumarbn gravatar image pavankumarbn  ( 2019-01-08 01:53:53 -0500 )edit

The downward facing camera is working perfectly. I use it to detect tags and they are detected correctly. I face the same problem when I try to control the drone through the mobile app

Dylan gravatar image Dylan  ( 2019-01-08 04:42:38 -0500 )edit

What about the documentation, where it talks about the hover modes? I need to detect tags and I programmed a control to land on a tag. Can I add something to my program (like an offset for each thruster) to stabilize it?

Dylan gravatar image Dylan  ( 2019-01-08 04:45:15 -0500 )edit

or is it any method to stabilize the drone in a position without having any tag or something below? I mean, reading the IMU of the drone

Dylan gravatar image Dylan  ( 2019-01-08 04:46:09 -0500 )edit

Even with your camera working properly there will be some issues and there will be latency due to everything going over wifi using tcp as well

jayess gravatar image jayess  ( 2019-01-08 07:28:38 -0500 )edit