Simulating non-linear Actuator in drake

Viewed 61

I am trying to simulate a simple bar-link robot with a contracting actuator with a non-linear force strain curve (force decreases roughly exponentially as the strain of the actuator increases). I have created the sdf of the robot with a prismatic joint in place of the actuator.

The issue I have is that I need to actuate this joint with a force that changes based on the current position of the prismatic actuator. How could I model this in drake? As far as I could find the JointActuator only allows for a constant force to be applied.

I am trying to simulate this using pydrake.

2 Answers

One way to do this is via a ForceElement; see eg drake/door_hinge.h at master · RobotLocomotion/drake for an example of using a force element to create a complex force and potential energy profile on a joint.

(That's all C++, but I expect the python approach would be similar)

Related