Sensor read to Mavlink Tx Delay (Companion Computer)

Hi Everyone,

I’m sending imu data from a cube black to a companion computer being used for navigation purposes (Using the RAW_IMU mavlink message). I would like to characterise the maximum delay between APM Copter reading the IMU data (at 400Hz) and the values being sent via mavlink.

Does the mavlink loop also run at 400Hz?
What is the maximum rate I can request a message to be sent? (via REQUEST_DATA_STREAM or SET_MESSAGE_INTERVAL)

Any help would be appreciated.

Thanks :slight_smile:

I¢m sending imu data from a cube black to a companion computer being used for navigation purposes (Using the RAW_IMU mavlink message). I would like to
characterise the maximum delay between APM Copter reading the IMU data (at 400Hz) and the values being sent via mavlink.

Does the mavlink loop also run at 400Hz?

Yes.

What is the maximum rate I can request a message to be sent? (via REQUEST_DATA_STREAM or SET_MESSAGE_INTERVAL)

80% of the main loop rate.

Assuming your bandwidth supports it, of course.

Depending on your implementation, you may be interested in tridge’s
raw-imu PR here: Support sending raw IMU data to a UART by tridge · Pull Request #13961 · ArduPilot/ardupilot · GitHub

It spits IMU data out pretty low-down in an easily-parsed format which
might be useful to you. You’ll need another serial connection for it,
'though.

Peter

Thanks for the information Peter.

Do you know how high the main loop rate can be pushed on the black/yellow/orange cubes?

Probably around 400 Hz, check on Mission Planner SCHED_LOOP_RATE parameter