Hello,

I have a path which is a circle with a predefined radius (R). How can I follow this circle with translational velocity (geometry_msgs::Twist.linear.x) and angular velocity (geometry_msgs::Twist.angular.z) commands?

Thank you.

Hello Hoomaan,

The robot’s circular motion is, as you write, a combination of linear and rotational motion. In the metric (non-imperial) system, the values for `geometry_msgs::Twist.linear.x`

and `geometry_msgs::Twist.anguler.z`

are specified in the SI unit system. This means linear motion is in meters per second (m/s) and rotational motion is in radians per second (rad/s) - referring to ROS documentation.

In order to achieve the robot’s movement in a circle with a certain radius, you must apply basic physical formulas determining the movement of objects in time. Remember that theoretical calculations do not always match the real world and slippage may occur. To achieve a perfectly defined turning radius on a given surface, you will have to fine-tine the speed values experimentally through trial and error.

*Best regards
Jan Brzyk*

I’m closing this thread after 2 months of inactivity.