Forum Replies Created
-
AuthorPosts
-
epernodBlocked
Hi,
I’m sorry @hugo, I’m not using this plugin. Maybe it has been broken by recent changes in OglModel. You should check if it is compiled by default on SOFA CI.
Best regards,
epernodBlockedHi,
I’m sorry but without more information I can’t help. Is it possible to have the call stack before the crash or/and the console output.
The scene structure could also help.
Best regards,
11 June 2021 at 12:18 in reply to: Crash in Carving Manager when using a triangular surface mesh. #19678epernodBlockedHi,
I see several potential problems:
1. The topology mapping check in the loop is important, why did you commented it?
2. In the node where your triangleCollisionModel is located, the topology object is MeshTopology which is for static topology, so it won’t handle carving.
3. You are using a barycentric mapping between 2 triangulation, we are working on it right now to propagate topological changes.Best regards
8 May 2021 at 11:42 in reply to: [SOLVED] Force feedback not working correctly when using two haptic devices #19413epernodBlockedHi @davacas,
yes this is logical that you get the same force feedback in both tools because if you don’t specify which LCPForceFeedback to look for in your GeomagicDriver, it will take the first one found while parsing your scene.
To avoid that you have to specify in each GeomagicDriver:<GeomagicDriver name="GeomagicDeviceRight" deviceName="Right Device" emitButtonEvent="true" positionBase="1 0 0" forceFeedBack="@InstrumentRight/LCPFF_Right"/> <GeomagicDriver name="GeomagicDeviceLeft" deviceName="Left Device" emitButtonEvent="true" positionBase="-1 0 0" forceFeedBack="@InstrumentLeft/LCPFF1_Left"/>
And don’t forget to set the name of the LCPForceFeedback
Best regards,
epernodBlockedhi,
yes I saw that as well. Indeed the mesh file used in this tutorial need some cleanup. The errors notify that some topological element are not created but in this mesh they correspond to duplicated elements. This is not affecting the tutorial behavior.
I’ll clean it up when I have 2 mins.
best,
epernodBlockedHi,
to use the Geomagic you have to install first the openHaptics library (where this header is located).
Please see the documentation related to the Geomagic plugin in SOFA: https://www.sofa-framework.org/community/doc/plugins/usual-plugins/geomagic/Best regards,
19 November 2020 at 01:24 in reply to: [SOLVED] Force Induced Topological Modification of Triangular Mesh #17726epernodBlockedHi,
as I said, the Algorithm to cut triangular mesh are available but from given input coordinates (like from an arbitrary point A (x, y, z) to a point B).
So in your case for rupture, you will need to detect where the cut takes place.
This means to implement a Forcefield or an Engine that will detect elongated triangles and break them as soon as they reach a limit. You will need also to detect the direction of the fracture.
I’m quite sure some research have already been done on the topic.If you could find some articles on the subject I would be interested to follow the implementation in SOFA.
Best regards,
12 November 2020 at 00:16 in reply to: [SOLVED] Force Induced Topological Modification of Triangular Mesh #17642epernodBlockedHi,
I see several steps to do what you want. Could you tell what you already have:
1. Do you already have a simulation of the Geomagic Touch deforming the membrane ? Everything is ready in SOFA to do that but in my knowledge there is no such example in the repository.
2. Do you already have the triangular mesh ruptured ? If yes I would be interested to know which paper you implemented.
Algorithm to cut triangular mesh are available but from given input coordinates.
3. Do you have simulation of the triangular mesh deforming and starting to cut (full simulation you are targeting but without the haptic interaction) ?best regards
epernodBlockedHi,
yes this is a “not easy” subject, it would be better to discuss that in another thread with the appropriate title.
Pock me again on that one.Erik
11 August 2020 at 14:23 in reply to: [SOLVED] Error:Building Sofa 20.06 version to add SoftRobot plugin #17023epernodBlockedHi,
I started fixing it but in fact it has already been done 2 weeks ago:
https://github.com/SofaDefrost/SoftRobots/pull/56
best,
11 August 2020 at 09:38 in reply to: [SOLVED] Error:Building Sofa 20.06 version to add SoftRobot plugin #17018epernodBlockedHi,
d_componentState has been recently changed into a Data for future works on Data flow.
You have to change:
d_componentState != ComponentState::Valid
into
d_componentState.getValue() != ComponentState::Valid
and
d_componentState = ComponentState::Valid;
into
d_componentState.setValue(ComponentState::Valid);
We will propagate the change in the softRobot plugin asap. But I’m surprised, this change was done after the 20.06 release. Which version are you using of SOFA and SoftRobot?
best regards,
epernodBlockedCould you point the website please. I can’t find it. I’m interested to see the last versions
So I don’t know exactly what the geometry of this tool, but from what I see in the code, here are the Data to be considered:
Data<Vec3d> positionBase; ///< Position of the interface base in the scene world coordinates Data<Quat> orientationBase; ///< Orientation of the interface base in the scene world coordinates
Changing those Data in your scene will move the global position and orientation of the device in your SOFA scene compare to other objects simulated.
Data<Vec3d> positionTool; ///< Position of the tool in the device end effector frame Data<Quat> orientationTool; ///< Orientation of the tool in the device end effector frame
Are the position and orientation of the tip/grip of the device in the Device coordinate system. This should only be changed if the new falcon is different to the old one used in the example scene.
Hope it fixes your problem. Do not hesitate to share your results, I’m really interested by this topic.
Erik
epernodBlockedHi,
sorry I never used the SofaHAPI plugin but to what I see it should be very similar to the Geomagic Plugin.
Which scene are you using, could you share the code and maybe screenshot of the result. There should be a Data referring to the origin of the tool at start.
I’m curious, is it a recent Novint Falcon? Is this device still on sail?
Erik
epernodBlockedHi,
I’m not expert in Rigid and RigidMapping but I think in your case you need to define which indices of your visual mesh is mapped to each rigid dof using the option rigidIndexPerPoint of the RigidMapping.
I think this scene is similar to what you want to do:
https://github.com/sofa-framework/sofa/blob/master/examples/Components/mapping/ArticulatedSystemMapping.scnwhere a set of visual cube meshes are mapped on each rigid dof of the beam.
epernodBlockedHi @Singh,
you are right, the force is working but is very small. A change of behavior has been introduced in the last release. We will correct it in the incoming week.
In the mean time, to recover the good behavior of the v19.06, in the .scn files you are using, for example “Geomagic-RigidCubes.scn” change all line:
<UncoupledConstraintCorrection/>
by
<UncoupledConstraintCorrection useOdeSolverIntegrationFactors="0"/>
Let me know if it works fine
Erik
epernodBlockedHi,
yes in the SofaSphFluid public plugin: https://github.com/sofa-framework/sofa/tree/master/applications/plugins/SofaSphFluid
best,
Erik
epernodBlockedHi,
there is no direct way to display the force vector sent to the haptic tool. As the haptic and the rendering loops do not have the same frequency, it won’t be accurate to draw this force.
However, in runSofa you can see the interaction between the tool and the colliding object through View pannel, Behavior->InteractionsBest,
Erik
epernodBlockedHi,
I’m sorry, the geomagic Emulator is still work in progress. But it doesn’t need a Geomagic tool to be connected, you just need the OpenHaptics library.
Then it is possible to use the key to move the virtual tip.If you wnat to use the mouse I would recommand to use a MechanicalStateController. There is an example scene.
Best regards,
epernodBlockedHi @pasquale94,
sorry while reading again this doc page, I noticed an important information is missing.
You need to hold the Shift key button to activate the mouse events. So for example if you open runSofa and go directly to the example: sofa-src\examples\Components\topology\Tetra2TriangleTopologicalMapping.scn
and press Shift + left mouse button you will be able to pull the cylinder and if you press Shift + right mouse button, you will be able to remove tetrahedron.
Let me know if this time it works.
best
epernodBlockedHi,
ok, your project seems very interesting. With a lot of different aspects to work on.
I didn’t get all the points but we could discuss each step in more detail when you get deeper into those simulation procedure.Right now to answer your question you can use the mouse directly from the default runSofa gui.
See doc here: https://www.sofa-framework.org/community/doc/using-sofa/interact-with-the-mouse/best,
epernodBlockedHi @sarah,
the output table is indeed not very user friendly. In fact the 1st line should be read separately from the rest of the table.
The first line is showing mean values over 100 iterations of your simulation except for the “Total” which is the total in ms of the 100 iterations.Then if you look at the rest of the table, this is the detail (of the 1st line) for one simulation step. So there the NUM is the number of time the operation is done per simulation step. You see that “Mechanical” and “UpdateBBox” are the 2 mains operations of your step and if you sum their % you nearly get the 100%, here I think the visual/draw operation is not shown.
Also, I don’t know what is your usage of the advancedTimer but there is a graphical version of it:
See full PR here.
I apologize that this is not mentioned in the doc… it is on my todo list.Erik
epernodBlockedHi @pasquale94
could you be more specific after which kind of event you want to remove a tetrahedron ?
Is it rather a mouse event or a collision event or something else? Also how do you want to create this action? Is it from an internal c++ code or directly through the scene?
Best regards,
Erik
ps: something like this ?
epernodBlockedHi @luibass92
to complete Hugo answer, yes the behavior was broken in last releases due to change in the code not propagated into the example scene.
this has been fixed and will be part of the incoming release. Meanwhile you can download the up to date .scn file here: ArticulatedSystemMapping.scnLet us know if it works as expected.
regads,
Erik
epernodBlockedHi,
sorry I wanted to reply and the SOFA week happened.
As Hugo told, the main principals are in SOFA but some parts are missing like the tetra refinement and “split on path”.
The main issue I see with your question is how will you control the depth of cut using a mouse?best regards,
28 November 2019 at 09:53 in reply to: scene slowing down on interaction with two forcefeedback devices #14658epernodBlockedHi,
sorry not time yet to work on it and Santa Claus didn’t deliver yet the 2nd device at my office…
Let you know as soon as possible.
-
AuthorPosts