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.
Damien21 January 2019 at 14 h 50 min #12807
Hello @adamzhang, I happen to work on tactile sensing (more generally mechanosensing, actually) and use SOFA to simulate the behavior of my tactile sensor. My sensor is made of silicone, a material that has good properties to be simulated with help of the FEM.
On the one hand, from my experience, I would say that it is possible to simulate realistic deformations and even complex contact patterns for tactile sensing within SOFA. On the other hand I think that getting realistic behavior in terms of hysteresis and such would be tricky at least. To achieve this would be rather interesting research results, I think.
I have question: what type of sensing do you want to simulate? What is the level of detail you are interest in? If you think about the typical resistive sensors you should consider that the signal is related to the surface area of the conductive, compressible material making contact with the electrodes, which is a function of the deformation. So, even if you know the deformation using SOFA it might not be possible to directly predict the sensor value super accurately. I’ve never attempted this, but this is my intuition. If you think about capacitive sensors it is a similarly difficult challenge. To accurately predict the signals of each cell you would have to find the distance between the electrodes in each cell, which changes as the material in between them gets compressed. SOFA could handle the simulation of the deformation, I think, but it would require looking at things at very different scales: the sensor array as a whole, which is comprised of several (deformable) layers as well as each cell with compressible material between the electrodes.
Maybe you are more interested in obtaining a prediction of what contact pattern a contact situation produces, i.e. something that could be used for a transfer-learning approach to train a grasping algorithm offline for instance? Like I said above, SOFA might help you, but in that case I think its worth looking more deeply into the contact handling than the details of how exactly material is deformed. This is because, in my opinion, tactile sensors are usually designed to be deformed in a limited manner, i.e. we observe compressions of at most a few millimeters before saturation.
Well, I hope this helps. If you can give more details of what you want to do I could try to give you a more specific answer on whether SOFA will help you with your task.
You must be logged in to reply to this topic.