9 January 2019 at 4 h 26 min #12739
Lately, I am trying to find out what robotic simulation framework is the most suitable for development tactile sensor and I ran into Sofa developed by you guys.
I have a few concern and confuses for Sofa:
1. What are the principles for tactile sensor to perform realistically (realistically means first have consistent pattern of deformation as in real world, second, deformation vectors on sensing area have low magnitude error to that in real world). Cause i know FEM is slow in hyperelastic material case (I find model order reduction method in a paper https://www.sofa-framework.org/applications/gallery/model-order-reduction-for-soft-robotics/, but this is basically a sparse coding method for FEM, which may deteriorate if the dataset doesn’t cover actuation space properly), thus the soft tactile sensor simulation could be hard to made real-time. What is the general FEM simulation (for example the snake in the default scene) methods you use in Sofa.
2. Is contact friction properly implemented in Sofa because this is especially important for tactile sensor.
3. What is the status of development of Sofa toward a robot simulation toolbox. Here I mostly concern about the integration of Sofa to ROS, possibility of interaction from external scripts(like python)(for example I want to control robot arm or gripper to perform actions from outside), messaging mechanism, because I need to do other robotic tasks that is built on the simulation env and tactile sensor I am going to develop.
Thank you for you patience and help!9 January 2019 at 13 h 02 min #12741
- Zykl.io UG
I have been using SOFA for robotics-related simulations for a couple of years, starting during my Ph.D. thesis.
Regarding 1., the simulation of tactile sensing: I have had a similar discussion with a roboticist in the context of the Human Brain Project in 2017; depending on your objectives, this is in principle doable with SOFA, as long as your deformable collision models are geometrically not too complex.
Regarding 3.: There is a ROS connector plugin I have recently made publically available. If you like, you can give it a try. You should however be aware that the plugin still depends on a slightly customized SOFA version; I intend to make it compatible with the default SOFA codebase in the coming weeks.
Thank you very much!
With best regards,
Fabian Aichele9 January 2019 at 14 h 25 min #12742
- SOFA Consortium
I would be great to see tactile research work using SOFA, it is a field which is not the most active one.
1. Tactile sensoring coupled to simulation is a very interesting topic, extremely few investigated in the community. In SOFA, we often simulate virtual models that interact together. Some simulations need what we call haptic feedback, i.e. the haptic information on a real device (haptic device), represented by a virtual device in the simulation. SOFA does support such haptic force feedback. The force is the result of the resolution of a constraint problem, i.e. the solution of the interaction between the virtual objects. An example is made using the Geomagic haptic interface, where the user can interact with a virtual organ through the Geomagic device (applications/plugins/Geomagic/scenes/Geomagic-FEMLiver.scn)
2. Yes, with some FrictionContact option, the contact response is computed by solving Signorini’s law and Coulomb’s friction
3. Regarding a coupling between SOFA and ROS, Fabian Aichele’s work is the best fit for your need. Coupling SOFA into ROS platform!
By the way @faichele, let us know if you need guidance in this merge with the master version of SOFA (or the v18.12 source branch)
Hugo10 January 2019 at 5 h 47 min #12749
It is great to have your reply in time.
I am very happy to hear this positive news. My tactile sensor geometry and contact are certainly quite simple, although contact objects could vary quite largely -> contact shapes could have high dimension considering different objects.
I noticed the ROS plugin for Sofa before, but I didn’t expect to get reply from the author :). By the way, I am hesitating if I want to go into Sofa framework for general robotics researching purposes. What I do for research is mainly robotic manipulation (e.g. pick and place as a simplest case). So what is your motivation to develop this ROS plugin for Sofa considering Sofa has it advantages on deformable object simulation mostly (My view might be biased and inaccurate). After all, this is a risk evaluation before investing large amount of time, right?10 January 2019 at 5 h 55 min #12750
Good to know the information you provided. I will go and check out those implementation of haptic feedback. But i have to admit, reading the gigantic trunk of your code and trying to understand them properly is not the easy, since I am not really familiar with those principles, theories and algorithms of FEM, contact, collision detection and modeling. Hopefully I will catch up quickly.
Thank you for your help again.10 January 2019 at 18 h 28 min #12756
18 January 2019 at 6 h 38 min #12793
- SOFA Consortium
- CNRS/Defrost Team
Hi @adamzhang and others,
It is good to hear there is other people interested to use Sofa for robotics.
I’m from the DEFROST research team and there we are working on applying SOFA for soft robotics. You can have more infos of our work at the following address:
In my team we are developing open-source plugins for SOFA geared toward soft-robotics :
In addition to the use of compiled plugin to exchange messages (like the ROS plugin or the CommunicationPlugin one https://github.com/sofa-framework/sofa/pull/534) it is possible to use the python binding of Sofa to to interact to/from sofa with other applications or framework using a messaging protocols. In the SoftRobots plugin there is a minimal example on how to expose sofa data to ROS using the rospy binding. For similar usage we also have used the ZMQ library (http://zeromq.org/) with its python binding.
Of course passing through the python binding has lower performances.
You must be logged in to reply to this topic.