Skip to content

furushchev/cmd_vel_smoother

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cmd_vel_smoother

Interpolate velocity command to be published periodically

What is this?

Basically this node interpolates velocity not to violate acceleration limit by decelating from last received velocity.

For example PR2 has 10Hz control loop in base_controller and if no cmd_vel has come within 0.1 seconds, the controller stops all the moving motors for safety.

If move_base node publishes cmd_vel lower than 10Hz (let it be 5Hz) but continues publishing, controllers send signal to motors forward for 500ms and stop for 500ms, which causes "rattle" (= moves and suddenly stops repeatedly) and can damages motors and other hardwares.

Parameters

  • ~x_acc_lim (Double, default: 0.1)

    limit value of x-axis translational acceleration. This node publishes velocity not to violate this value.

  • ~y_acc_lim (Double, default: 0.1)

    limit value of y-axis translational acceleration. This node publishes velocity not to violate this value.

  • ~yaw_acc_lim (Double, default: 0.1)

    limit value of z-axis rotational acceleration. This node publishes velocity not to violate this value.

  • ~desired_rate (Double, default: 10.0)

    This node interpolates velocity commands to keep the rate

  • ~interpolate_max_frame (Int, default: 5)

    Max message count to be published from last received velocity command.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published