Cable Effector

General description

By using the “CableEffector” component, you can control the length of a cable (connected to a model) by acting on chosen actuator(s). For instance, in the following images, you can see a cable effector controlled by a pressure actuator.

Fig1. PneuNets robot before solving the cable effector,
initial length is equal to 78.

Fig2. PneuNets robot after resolution. Desired length 
equal to 100.

Methods description

Requirement :Real Time Inverse Simulation Method

Here, the constraint matrix J will contain the direction of force exerted by the cable in the rows corresponding to the pull point of the model, and λ will represent the intensity of the applied force. As the cable is an effector in this case, the force λ is set to zero.

How to use the component

To learn how to create a SOFA scene, please refer to the tutorial provided by the SOFA Modeler or this documentation.

As the component is an effector, it needs to be used with an actuator component and an inverse problem solver. You will need to provide the indices of the model through which the cable is supposed to pass. To avoid a cumbersome process of finding the right indices in a complex mesh, you can create a node with a specific mechanical object and map it to the model using a mapping component.

cable = scene.createChild('cable')
cable.createObject('MechanicalObject', position='0 0 0  1 0 0  2 0 0  3 0 0')
cable.createObject('CableEffector', indices=[0-3], desiredLength='10')
cable.createObject('BarycentricMapping')

It also enables to actuate a point of the model that is not a degree of freedom, thanks to a barycentric mapping.

An example is provided in the “examples” directory of the plugin.

Data field

Input data

indices : Indices of the mechanical object through which the cable is supposed to pass.

desiredLength : Desired length of the cable.

Output data

initialCableLength : Length of the cable at the initial state.

cableLength :  Length of the cable at the end of the current time step.

Comments are closed.