-
Notifications
You must be signed in to change notification settings - Fork 130
Description
Is your feature request related to a problem? Please describe.
I wanted to ask what would be the best way to implement tendon-driven actuation in PyElastica. There is growing interest in tendon-driven actuation for continuum robots (using "strings" to pull a continuum robot arc towards a desired pose). However, I can't find any existing implementation of tendons in PyElastica, and wanted to ask if it's best to (i) simulate tendons using a RodBase subclass, or to (ii) introduce a new class of Tendon-like objects that can be used for tendon actuation.
My intended use case is to use PyElastica as a high-fidelity simulation to validate tendon-driven models, and I think that evaluating tendon-driven components on PyElastica could benefit developers and researchers with similar interests.
Describe the solution you'd like
- To determine what is the best way to implement tendon-driven actuation in PyElastica: (i) creating a new
RodBasesubclass or (ii) introducing a newTendon-like class
Describe alternatives you've considered
- I considered creating multiple, thin rods (inherited from
elastica.rod.rod_base.RodBase) that act as strings within a larger rod. - I also considered creating "virtual" tendons that are not actually rendered, but whose reaction forces are then applied as
EndpointForcesorUniformTorques. The limitation of this approach is that there is no actual rod, so the simulation would lose the ability to model tendon material properties and contact forces (i.e. friction) along the major rod
Additional context
- MuJoCo offers tendon-driven actuation (https://mujoco.readthedocs.io/en/stable/XMLreference.html#tendon)