Hi Jim, There are a couple of ways to simulate a spring in gazebo. One example in ros uses a transmission as a "spring-like controller" (see http://ros-users.122217.n3.nabble.com/Flexible-amp-remote-transmission-td1929619.html#a1937295 for an example of a torsional spring). Alternatively, you can use a joint constraint to do the same thing. To simulate a linear spring, you can define a prismatic joint with both upper and lower limits equal to 0. This means any constraint violation produces an error correction force which is essentially the amount of constraint violation (x) multiplied by ODE's ERP parameter / dt (k). Note that using a joint constraint to simulate spring will actually update joint force and compute equivalent compression distance within the same time step, whereas using a transmission controller as given in the example above, the spring force applied is computed using spring stretch from the last time step. If you want to use the joint constraint approach, I recommend testing on a very simple setup and verifying the spring constant / forces first. Hope this helps. John On Sun, Jan 23, 2011 at 3:57 PM, Jim Rothrock wrote: > I have created a URDF file for a four-wheel-drive vehicle and am beginning > to use it with Gazebo. Each shock absorber is a prismatic joint. Simulating > the damping of a shock is easy; just set the joint's damping factor in a > dynamics block. However, I don't know how to simulate the spring component > of a shock. My only idea so far is to write a ROS node that subscribes to > the joint's position topic. The node's loop gets the position, computes a > force via Hooke's law, then applies a corresponding wrench to the joint. Is > there a better way to simulate a spring in Gazebo? It seems that someone > would have needed to simulate a shock absorber by now, but my searches > didn't turn up any examples. > -- > Jim Rothrock | jimrothrock52@gmail.com > Sent from my Android phone > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >