ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Yes, but you'll have to dig into the weeds of the firmware a bit. Trying to give you an answer has been a journey...

IMU update period is seems to be defined here, but if you look at the source of the update function, you'll actually find that INTERVAL_MS_TO_UPDATE_CONTROL_ITEM goes unused.

So I think you actually need to change either:

  • the _imu.begin() calls in turtlebot3_sensor.cpp to _imu.begin(200) to set the sensor update rate to 200Hz, or
  • change IMU.h to set the default update frequency to 200Hz - oh wait, its already 200 by default... (frustration increases)

That's about as much help as I can offer, without knowing what firmware you are currently running...

Looking at the datasheet for the Turtlebot IMU, you should be able to achieve sampling rates of up to 8000Hz, so if you are asking for 200Hz and only getting 20, I think the OpenCR itself may be a bottleneck or there may be an underlying issue in the firmware (in that case, consider opening an issue.

I'll leave it to you to dig a bit further and see what sort of update rate you can squeeze out.