Home > Software design >  Simulating non-linear Actuator in drake
Simulating non-linear Actuator in drake

Time:12-16

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.

CodePudding user response:

One way to do this is via a ForceElement; see eg https://github.com/RobotLocomotion/drake/blob/master/multibody/tree/door_hinge.h 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)

CodePudding user response:

See also the Propeller class as a way to do that as a System (instead of ForceElement), which can have an input port and might be more suitable for an actuator model. https://drake.mit.edu/doxygen_cxx/classdrake_1_1multibody_1_1_propeller.html

  • Related