Home › Forum › SOFA › Programming with SOFA › How can I make my own actuators? And what are SOFA prefabs?
- This topic has 6 replies, 3 voices, and was last updated 2 years, 11 months ago by
Hugo.
-
AuthorPosts
-
22 August 2021 at 22:19 #20190
daserk
BlockedHello. I am working with sofa to create some simulations of soft robot actuators. The SoftRobots plugin includes cable actuation and pneumatic actuation. In the tripod example they even create a servomotor. But how do I create other actuation methods?
So my questions are:
1.- I don’t fully understand how the servomotor is implemented in the tripod example, What is a sofa prefab?2.- How can I make my own actuators? For example, is it possible to model an IPMC or EAP actuator in SOFA (which is kinda my goal).
Thanks
23 August 2021 at 18:15 #20207Hugo
KeymasterDear @daserk
Welcome on the SOFA forum and thank you for your interest in our open-source platform.
The SoftRobots plugin is indeed a plugin for soft-robotics developed by a research team for SOFA. This plugin is not part of the open-source core of SOFA but I am glad to answer your questions.
1. A prefab as defined in the STLIB plugin is a set of components used of the simulation. Instead of defining your self all components of the simulation, these “templates” create a set of components. E.g. for an elastic object, instead of defining your self the solvers, the material etc., a prefab can be used to automatically add the components required to simulate a deformable object.
2. Actuators are modeled in the SoftRobots plugin as constraints. These constraint laws are C++ classes as listed in this SoftRobots folder. Creating a new actuator would require to implemnent it in C++. I am not sure this would be feasible fully in python.
The purpose of the team working with the SoftRobots plugin is to allow people to model their own robot. I will therefore ask the team whether there is or not a solution for your actuation.
Could you tell us more about the type of actuation you would be interested in?
Best wishes,
Hugo
24 August 2021 at 16:04 #20215sescaida
BlockedHello @daserk
this is a good question! As Hugo mentioned, it has to do with implementing constraints, which can be done in C++ using the SOFA and the SoftRobots-plugin codebase. In [1], Sec. 4.2 it is explained how cable actuation and pressure actuation are implemented. In [2], in Sec. IV-C, I myself made an attempt at explaining cable actuation. However, I’m not necessarily a veteran expert. For starters, you should have a look at these resources. You can then ask a followup question and we can try to answer it 😉 I do have to warn you though that doing this is more involved, i.e. probably costly in terms of time. It is possible, but it requires familiarity with the concepts in SOFA at the level of how they are implemented in C++, which would probably imply a learning effort.
In any case, after you study [1,2], I want to pose that maybe your problem is quite similar to how cable actuation is implemented. Therefore, for your first trials, you could actually use this component first to emulate the type of actuation you want. Then, you can see what improvements would be needed and take it from there.
Best
Stefan
[1] https://hal.inria.fr/hal-01649355/document
[2] https://hal.inria.fr/hal-02882039/document24 August 2021 at 16:04 #20218daserk
BlockedHello @Hugo
Thanks a lot for your reply.
I am doing research on the possibility of actuators embedded into soft materials for applications in robotics and space exploration. The two types of actuators I am looking into are actuators based on electroactive polymers (EAPs) (more specifically, dielectric elastomers DEAs) and ion polymer metal compounds (IPMCs).
IPMCs actuate in a kind of rolling fashion by the ionic attraction between the layers of the material (caused by a voltage between the electrodes). An example of its motion irl here.
DEAs can either be planar actuators or if rolled into a cylinder can act as a linear actuator and more generally can be shaped into a variety of geometries to produce different types of motion. They are usually the EAPs used in “artificial muscles” Here and here.
24 August 2021 at 19:32 #20249daserk
BlockedThank you, Stefan @sescaida . I will look into those resources and see what I can do. I will post any progress on my actuator implementation in this thread and tag you if I have any further questions.
Best regards,
Dante.7 October 2021 at 10:22 #20539 -
AuthorPosts
- You must be logged in to reply to this topic.