Unable to change IMU stream rate

Hi all,

I’m currently working on a project to perform some kind of Visual Inertial Odometry
with a ROV. The setup is a Pixhawk running the ArduSub firmware and a Raspberry Pi 3
as companion computer, connected through ethernet to my PC, where i intend to do the odometry computation.

When i connect the Pixhawk directly through USB to my PC, I’m able to change the streaming rate up to 50 Hz (cf. this topic ). However, when I connect through the companion computer and try to change the stream rate (either through Mavros using “rosrun mavros mavsys rate” or manually with QGC) it will change back to 4 Hz (seems to be some default value) after a couple of seconds.

Does anyone have an idea about why this is happening and how i could change this?

Best regards,
Rasmus.

Check this out, I know this would come as a surprise:

Thank you for your response, it was super useful.

I managed to change the stream rate with the set streamrate command.
However, it is a quite unpractical way of doing it, so i was wondering if you could point me to a start up script for Mavproxy, where the stream rate could be set as default with the
-- streamrate option ?

You stated in this forum, that:

Is this because the ArduSub code uses IMU data which slows down communication?

Thank you for your time,
best regards,
Rasmus

You can add the option to the list at http://192.168.2.2:2770/mavproxy

No, this is independent of ArduSub and the autopilot, it’s because Mavproxy runs on python in a resource-constrained environment. The Raspberry Pi is not fast enough to keep up with it.

Aaaah, i see.

Thank you so much for your time.