22 October 2020 at 6 h 09 min #17439
Hello, I am trying to simulate a continuum arm in SOFA and I am having issues with cable actuation. The simulation of the arm models the real life arm very well at the same cable actuation displacement but for some reason the force is way off than the applied force on the real arm. For example at 21 mm cable actuation the arm should make the arm bend 90 degrees and If i keep increasing the force until I get to that cable displacement the arm models the real one very similarly but the force applied does not.
At first i thought it was maybe the Units so i checked my vtk file and found that it was set in mm therefore I changed my young’s modulus to MPa and gravity to mm/s^2 but kept mass in kg but that did not fix it. I am new to SOFA so i might not be understanding something.
I am using the elasticmaterialobject from stlib for my arm, is this not good to use? is there anything else i should look in to for this application? Also is there a way to apply constant force using the cables? When I apply a force to the cables it seems to apply the force but it doesn’t apply it constantly.
eobject = ElasticMaterialObject(arm, volumeMeshFileName="data/new/ArmTest.vtk", poissonRatio=0.27, youngModulus=207000, totalMass=0.04, surfaceColor=[1.0, 0.0, 0.0], surfaceMeshFileName="data/new/ArmPartSTL.stl", rotation=rotation, translation=translation)
The arm is 40 cm long if that is important.
Here is a picture of the sim30 October 2020 at 15 h 37 min #17501HugoKeymaster
30 October 2020 at 16 h 32 min #17502
- SOFA Consortium
@hugo That was calculated before I started working on this project for MATLAB simulation. I just used the same mechanical properties for SOFA.30 October 2020 at 17 h 50 min #17503
Hi @momo2000, without having seen the entire scene I really can’t.
ElasticMaterialObjectthe solver is
SparseLDLSolvermaybe change it with
But I just have a question, why your
? (Because the smallest I use to is 0.3 for the steel).30 October 2020 at 23 h 27 min #175082 November 2020 at 10 h 29 min #17514
Bigup to you @hugo, for the job you are doing here :+1: and for the community in general.7 November 2020 at 19 h 52 min #17610
Thank you for your response. for the Poisson Ratio I wasn’t really sure what to put, I wanted something that best fits spring steel. do you recommend going higher? I will try the SparseLUSolver and see if it is better that way.9 November 2020 at 3 h 40 min #17611
I tried changing SparseLDLSolver to SparseLUSolver but my simulation just freezes when i click on animate. is there something I need to fix before when adding SparseLUSolver to make it work? all i did was switch SparseLDLSolver with SparseLUSolver. I don’t have much experience with SOFA so I am having a hard time trouble shooting the issue. If you would like me to send you the scene please let me know.
I was doing some testing and i get 21mm cable actuation when the simulation says the force is around 150-200. If this is newtons then this is obviously way off. The weird thing is even at this high force at 21mm actuation the arm is very similar to the real arm therefore displacement control is perfect but its just the force control that does not make sense right now9 November 2020 at 10 h 08 min #17613
Hi @momo ,
Before fix the with SparseLUSolver, change the Poisson Ratio and put something between (0.3 and 0.4, preferably start with 0.4). While I still think you can find the exact Poisson ratio and the Young Modulus of your material in the literature.17 November 2020 at 16 h 40 min #17672
Sorry for the late reply, been very busy the past couple of days. I tried editing the Poisson ratio like you said but the difference isn’t huge, it is still not accurate with the force. I was wondering, would the collision mesh affect the force? I still haven’t added any for collisions of the arm with itself. Also for some reason when I change to SparseLUSolver the simulation doesn’t crash but just freezes with no error messages in the terminal so I have to force quit. Thank you for your ongoing help.
- You must be logged in to reply to this topic.