Forum Replies Created
-
AuthorPosts
-
HugoKeymasterHugoKeymaster
Dear @nicklj
I will contact you directly then, no worry.
Glad if it helped. Let us know whenever your problem is definitely solved.Best
Hugo
HugoKeymasterHi @jake
Good to read!
This message comes from the line 349 of SubsetTopologicalMapping.cpp:msg_info() << " TE: "<<fromModel->getNbTetrahedra() << "->" << toModel->getNbTetrahedra() << "/" << (fromModel->getNbTetrahedra() - toModel->getNbTetrahedra());
which means that no tetrahedron is found in the topology of your “output” field. Is your clipped mesh including tets?
Hugo
HugoKeymasterHugoKeymasterHi @alexftw
Beams are different than usual Rigid object.
Could you use the BeamLinearMapping instead? I should have pointed it out in the first place.Best,
Hugo
HugoKeymasterHi @brunob81hk
Which version of SOFA are you using with this ROS plugin?
How are you compiling the ROS plugin: using the EXTERNAL_DIR CMake variable in SOFA, or compiling it out of tree?Hugo
HugoKeymasterHi @sherpa
It is actually a bit complex to access collision forces. If I remember properly, the tutorial is using a FreeMotionAnimationLoop, therefore solving collision using the Lagrange multipliers approach.
The result of the collision forces (solved within the constraint problem) are stored by the ConstraintProblem. To compute them on your degrees of freedom, you need to recover “constraint” of the MechanicalObject corresponding to the and multiply it with the lambda saved in the ConstraintSolver and resulting from the constraint resolution.It is not yet available in the SOFA API, we know it is something to improve for users/devs.
@olivier-goury could you please correct me here, if anything is incorrect?Best,
Hugo
HugoKeymasterHi @jonny
Welcome on the SOFA forum!
What is you version of the SoftRobot plugin? (what gives the
git log
command?)
What is you CMake version?
Sorry for bringing questions (before providing you a suitable answer!).Best,
Hugo
HugoKeymasterHi @jake
Are you still stuck?
I am sorry I do not get your sentence: this example is the use of SubsetTopologicalMapping.What I want to know is its writing, not its usage. What do you mean by usage? In which case should you use it?Hugo
HugoKeymasterHi @alexftw
Could you replace with a RigidMapping instead?
RigidMapping links Rigid3d (beam) and any other type like Vec3d (OglModel).I hope this helps
Hugo
HugoKeymasterWhat you are facing here is not a problem of self collision. Rather a problem of numerical settings. Wrong setting of your physical properties could lead to instabilities.
But before going any further, I would ask you:
– what your mechanical properties?
– what is your time step?
– what is your object size?
– and could you try running the same scene with a timestep / 100 and tell us if it still flips?Best,
Hugo
HugoKeymasterHi @rainvector
If you are using a LCPForceFeedback you can see line 329 of the LCPForceFeedback.inl that it computes the forces from the ConstraintProblem. If you want to access it, make it a Data and expose it.
I hope this helps
Hugo
7 July 2020 at 22:59 in reply to: surface mapping and PartialLinearMovementConstraint in cpp language #16821HugoKeymasterDear @dst03251
Welcome on the forum and congratulations for your first steps in SOFA.
To start with SOFA, I would advise the following steps:- follow the online documentation
- watch our first Tutorials on YouTube
- start using SOFA, running the examples/Tutorials (as you just did)
- read a reference paper about SOFA
- browse the SOFA API
If you prefer we also have training sessions for efficiently start with SOFA.
In you files you are loading sphere models, usually used for collision.
I guess you would like to move these spheres in your python script. You should get inspired from the (xml but you can do the same in python) scene : examples/Components/constraint/LinearMovementConstraint.scnI hope this helps.
Best wishes,Hugo
HugoKeymasterDear @nicklj
You can in general define rest positions which are different from the initial position, thus inducing some stress after the first step.
How are you two plates sticking to each other? 1) is this like ligaments (springs) or 2) rather inseparable from another?
For 1) I would use linear or polynomial springs
For 2) I would use bilateral constraint or attach constraintPS: I do not remember asking this question: are you in any way related to Dr. S. Marchesseau at A*STAR? Could you tell us more about your research? if you prefer you can share these information in PM
Best,
Hugo
HugoKeymasterHi @fleonard
What’s new with your continuous detection algorithm?
Regarding the last collision step, the response, it’s a part I do not perfectly master neither. But take a look at the FrictionContact class which implements thecreateResponse()
function called in the doCollisionResponse stage.Best wishes,
Hugo
HugoKeymasterHi @brunob81hk
it seems your CMake is finding a boost version, but not the one expected.
It is strange, I did not notice any requirement regarding the boost version in ROSConnector. Would this be due to the FindBoostCMake?
Have you maybe solved the issue since then?Best,
Hugo
HugoKeymasterHi @brunob81hk
And where did you download it from?
Apparently it is fixed now the master branch: see the code here.
I think we can close this topic.
Best,Hugo
HugoKeymasterHi @brunob81hk
Thanks for reporting the problem.
It has been proposed as a PR here. I think we can close the topic here, is it fine for you Bruno-Pier?Best wishes,
Hugo
HugoKeymasterHi @liz49
Sorry I am not familiar with the tutorial in details.
Do you have any error / warning in SOFA (in components in the graph) or in the console when opening the scene?Best
Hugo
HugoKeymasterNice work @brunob81hk !!
Could you please check your SoftRobot version though? I would help knowing if this change must be reported back in the branch.
Best,
Hugo
HugoKeymasterHave you tried what I suggested: Before interacting using the keyboard, did you click in the view of SOFA?
Hugo
HugoKeymasterHi @brunob81hk
Could you check the version of the sources of SoftRobots by checking the git branch you are using?
I think your problem could be fixed by replacing the command
sofa_copy_libraries_from_targets
with
sofa_install_libraries
(keeping the same parameters)Best,
Hugo
-
AuthorPosts