TIMClab-CAMI / Cosserat-Rod-Modeling-of-Tendon-Actuated-Continuum-Robots

This code is associated to the paper Tummers et al., “Cosserat Rod Modeling of Continuum Robots from Newtonian and Lagrangian Perspectives,” IEEE T-RO. (DOI 10.1109/TRO.2023.3238171) to model tendon actuated continuum robots through both the Newtonian and Lagrangian approaches. Compared to the literature, both approaches are extended with novelties
GNU General Public License v3.0
24 stars 2 forks source link

Could you give me a complete guide on how to use it, such as modifying the number of sections, the number of ropes, adding your own boundary conditions, etc #1

Closed Lapia666 closed 7 months ago

benoitrosa commented 7 months ago

Hi,

Thanks for your interest in this code. There's an overall readme on the front page of the repo explaining the structure of the code. For your particular question, the robot parameters (number of section, of tendons per section, routings, etc ...) are defined in the "tendons.m" file. It features 5 examples of robots which correspond to the experimental cases of the associated paper. We believe the documentation in that file is sufficiently clear to help you create your own robot model within our framework. Then, you can run a simulation with the Newtonian or Lagrangian model with main_Newtonian.m or main_Lagrangian.m, by setting the correct routing number.

As for the boundary conditions, assuming you refer to the Newtonian approach you would have to modify the shooting_fun function in Newtonian.m

Lapia666 commented 7 months ago

That is, let's say I apply a concentrated load at the end, and I need to modify the relevant boundary conditions in the shooting function to do so, right?

benoitrosa commented 7 months ago

For the Newtonian approach, yes. External loads at the end should appear in the static equilibrium at the end of the robot, which is the distal error line 166-167 ni Newtonian.m

In the Lagrangian approach, you can set tip forces and distributed forces as variables in lines 53-59 of Lagrangian.m, and they should be directly taken into account when solving the model.