I'm trying to figure out how to use the inertial sensors in an AR Drone to perform a rough version of dead reckoning. I want to move the drone around a room (without flying it) and using the velocity and orientation data from the drone to plot the trajectory that I have moved it so far.

I know that inertial odometry data is prone to heavy drift with continuous use, but for a short term exploration, I am ok with that.

I'm running the ardrone_autonomy package on ROS and I am using the odometry data from the drone to plot my trajectory on Rviz. However, Rviz only shows me the orientation of my drone and does not update movement whatsoever.

This is how my Rviz looks:

enter image description here

As you can see, even if I move the drone around the entire room, the position on the map does not get updated, but the orientation does.

Can anyone tell me what I am doing wrong here?

  • $\begingroup$ Possible duplicate of ROS : Performing 2-D Pedestrian Dead Reckoning on an AR Drone and displaying location on a floorplan $\endgroup$ Sep 26, 2016 at 8:17
  • $\begingroup$ I think, movement is updated from the velocity values integrated over (1/frequency). When you are moving the drone using hands, since the motors are not rotating, the velocity values are not updated(velocity values seems to be calculated from the current values sent to the motors). That might be the reason. {couldn't comment as it requires 50 reputations and I signed up just to answer this} $\endgroup$ Nov 10, 2016 at 6:34

1 Answer 1


That's because your fixed frame is set to /odom (Essentially, you're setting your global frame to your local frame, so relative to the vehicle itself, the vehicle never moves!). The solution would be to set it to /map or /world, depending on what the name of the frame is that the package provides. The list can be seen in the dropdown menu of fixed frames. You also seem to have an issue with transforms between odom and map, so I am guessing you would need some sort of a static transform between odom and some other local frame such as base_link.

  • $\begingroup$ I just tried actually flying the drone instead of simply moving it using my hands, and I see movement on the map. Do you know why there's no update on the map when I just push the drone around? Thanks! $\endgroup$ Sep 26, 2016 at 7:14

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.