I measured the time between when the robot receives a command (directly into the kobuki_node) and when it starts to move (as measured from odometry), and it’s about 200ms, sometimes more. Looking at serial line delay, delays in the driver, the sensor data rate, and so on, I could only explain about 50ms of that. That leaves 150ms which is somehow lost in the firmware.
Am I doing something wrong here, or is this normal?
Check out this image for a visualization: Top plot is the command, bottom plot is the odometry velocity. I tested pure rotation.