Velocity ramps - Turtlebot 3?

asked 2017-08-19 20:55:44 -0500

pitosalas gravatar image

In my studies I encountered some examples that implement a velocity ramp abstraction so that, while my code may request a velocity of 0.5 meter/second, it is not realistic (nor healthy for the motors) to request instantaneous acceleration to that speed. So the examples say to implement a velocity ramp.

However, on the TB3 at least, there's an OpenCR board which is an arduino which controls the motor controllers (at least that's how I understand it.) It is a decent guess that the code in the OpenCR itself will have safety logic to make it unnecessary for me to implement my own velocity ramp at the higher level of code.

So I am wondering whether it is actually necessary to implement a velocity ramp in my own node, for example, so when I send a series of cmd_vel messages they actually command a ramping of velocities.

p.s. the same question applies for example to sudden direction (forward/backward) changes, and perhaps related to rotation as well.

edit retag flag offensive close merge delete


Even if the TB3 embedded side doesn't include one, you don't need to implement this yourself. See yocs_velocity_smoother and Kobuki's Control System.

gvdhoorn gravatar image gvdhoorn  ( 2017-08-20 04:03:46 -0500 )edit