Offboard Control analysis

Hi all,

I am working on autonomously flying my quadrotor indoors with the help of OFFBOARD mode on the PX4 stack. I have an Odroid XU4 onboard and am communicating with the pixhawk via MAVROS. I am publishing to the /mavros/mocap/pose topic.

I follow these steps:

  • Power on Pixhawk and Odroid
  • Start QGroundControl (QGC) and connect to Pixhawk
  • ARM Pixhawk from QGC. It goes into Manual mode
  • Start scripts on Odroid and start publishing into /mavros/mocap/pose
  • On QGC switch to OFFBOARD mode

I am currently testing the setup without propellers on my quadrotor. I am running a script on the Odroid that publishes ramp position inputs to the /mavros/mocap/pose topic. I keep the quaternion in the pose topic constant : [0, 0, 0, 1].

Here are the plots from the test:

I had a few questions after looking at the plots:

  1. Why is there noise in the z coordinate? Is there some filtering with barometer in OFFBOARD mode? Can this be switched off?

  2. Why is the yaw angle offset by 90 degrees? Also, why does it converge so slowly?

  3. Why does the Pitch SP (setpoint) have such discontinuities? There seem to be sharp discontinuities even when the position varies as a ramp.

  4. Why does the thrust SP reach maximum? There seems to be something wrong with the z direction. The vz (z velocity) is always positive, even though the z position is roughly constant.

Any help would be greatly appreciated. Thank you!


Do you use lpe or inav estimator?


I think it’s INAV. I get the following message on the MAVROS terminal when I start publishing to /mavros/mocap/pose:

[inav] MOCAP data valid