0
$\begingroup$

Gazebo Answers logo

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.


Originally posted by Xiaowei on Gazebo Answers with karma: 3 on 2019-05-30

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Gazebo Answers logo

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.


Originally posted by nkoenig with karma: 7676 on 2019-05-31

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by Xiaowei on 2019-06-02:
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!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.