Gazebo | Ignition | Community
Ask Your Question

The joints rotate faster than their limits in Gazebo

asked 2019-05-30 05:58:59 -0500

Xiaowei gravatar image

Hi there. I write a model, consisting of several links and joints. The joints are revolute and I set the limit of one joint as:

<limit effort="1000.0" lower="-1.57" upper="1.57" velocity="0.5"/>

The "lower" and "upper" work well in Gazebo, however, the angular velocity sometimes is larger than 0.5 rad/s. To explain this, I set the rate as 20 Hz, than in each step the change of angle should be less than or equal to 0.5/20=0.025 rad/s. But sometimes it is larger than 0.5/20 in one step.

I appreciate your help. Thanks.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-05-31 10:55:16 -0500

nkoenig gravatar image

Gazebo does not support velocity limits set from a model specification. Your code snippet is from a URDF file, which is not the default/preferred model format for Gazebo. URDF lets you define a velocity attribute, but Gazebo does not use that value.

You will need to use a controller or plugin to manage joint velocity.

edit flag offensive delete link more


Thanks for your help. Actually this is a .xacro file. Anyway it is quite similar with .urdf file. I use gazebo_ros_control. I think I need to tune pid paramters to control the velocity. Thanks!

Xiaowei gravatar imageXiaowei ( 2019-06-02 12:36:00 -0500 )edit

Question Tools

1 follower


Asked: 2019-05-30 05:58:59 -0500

Seen: 420 times

Last updated: May 31 '19