Open tkevinbest opened 8 months ago
Made some progress on this. Overall workflow will be
joint.start_torque_ramp(ramp_time)
to begin torque ramping from 0 to 100% over ramp_time
. This will be allowed in current control mode, position control mode, and impedance control mode. joint.update()
method will update the ramp value and the torque command. If you don't call update, your torque command won't change. Use it correctly! requested_torque
etc in memory. This means this should probably go in the actuators class. Tabling this for now until the refactor of the actuators class is done.
🚀 Feature Request
I've used a "soft start" before to make it so torque is applied gradually when the motors first power up. Should we make this a built in part of the repo? I'm thinking something like
and then in the write to joints functions, we would just scale by a saturating ramp from 0 to 1 over the
soft_start_time
. We would scale either the current commands, voltage commands, the stiffness and damping, or the P and D gains depending on mode.🔈 Motivation
Comfort, lack of scariness. Participants usually don't like it when high-jerk torque profiles are applied. If you're starting in impedance or position control and you're way away from the desired position, you'll get a very snappy torque right at startup.