Gazebo | Ignition | Community
Ask Your Question

Changes to model behavior when converting between Gazebo 1.0 and Gazebo 1.8

asked 2013-06-16 21:49:52 -0600

PMilani gravatar image

updated 2013-06-16 23:45:50 -0600

Hi All,

I've been modelling an arm which uses a plugin that models hydraulic actuators and valves. The model is a state representation that uses actuator velocity and acceleration as states and outputs force.

to link to gazebo model I get my velocity state from the joints using joint::GetVelocity() in the model and apply my actuator force to the joints via joint::SetForce().

These are both done on the plugin's OnUpdate()

This works fine with Gazebo 1.0 and the model was controllable.

I recently converted over standalone Gazebo 1.7, and the joint response was no longer sufficient to defeat gravity and my actuators that previously responded correctly now can no longer lift the links of my manipulator.

My gravity vector is (0, 0, -9.8)

Additionally my model's joints jerk around quite a bit without input from any controller to the plugin.

I'm just wondering if there have been any changes that may be causing this behavior in the new Gazebo. I haven't significantly modified my models or plugins other than to convert them for Gazebo 1.7. As a result the plugin did have to be outside ROS as per the Tutorials1.5/ros_plugin. but was functionally unchanged.

Any suggestions as to what may be wrong?

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2013-06-16 23:43:57 -0600

PMilani gravatar image

Quick answer. My actuator models have always been stiff.

I still needed to change the solver parameters for dt and iters as the default values were not small enough and had to be changed to dt = 0.0001 and iters=100. The sim_time/realtime ratio was 0.1. Changed the <update_rate> to 10000 and it pushed the ratio up to 0.75 where it seems to be holding.

edit flag offensive delete link more

answered 2013-06-17 03:39:00 -0600

Adolfo Rodríguez T gravatar image

On the one hand, joint velocity and effort limit enforcing was introduced in Gazebo 1.5 (although it does not show up in the Changelog), so you could check your robot model for small limit values; they were being ignored before. On the other hand, the limits enforcing implementation have been the subject to debate.


edit flag offensive delete link more


Yeah I dont think that this was the issue. I was able to get my previous response by adjusting my solver parameters as per below.

PMilani gravatar imagePMilani ( 2013-06-17 17:10:30 -0600 )edit

Question Tools


Asked: 2013-06-16 21:49:52 -0600

Seen: 358 times

Last updated: Jun 17 '13