Home › Forum › SOFA › Using SOFA › [SOLVED] Running examples in sensible folder (Sensible Plugin)
Tagged: carving, new omni driver, sensible
- This topic has 5 replies, 5 voices, and was last updated 9 years, 4 months ago by Weng.
-
AuthorPosts
-
8 April 2015 at 09:04 #3224AoBlocked
I am trying to run the examples which are in the sensible plugin folder.
I can not run Carving.scn and runSofa.exe crashes down.
However, I can run the examples which are in the old example folder.
I suspect that there are some problems in new omni driver
I have found a topic which is talking this in the mail listhttps://lists.gforge.inria.fr/pipermail/sofa-users/2014-November/002359.html
I have commented if (i<=VN_X) in the init() function of class NewOmniDriver (in the .cpp file) and rebuild Sensible project in visual studio 2010. But the problem are not solved.
Does anyone encounter the same problem and how to solve this problem?
8 April 2015 at 13:54 #3228AnonymousInactiveIf you just want to run the example, try some previous version of SOFA.
I am using newOmniDriver with a previous version, but I don’t know the revision number (at that time they were still using SVN).
For past about 2 years, the issue about NewOmniDriver was reported again and again, but the problem remains.10 April 2015 at 14:52 #3234AoBlockedYes, I have found a previous version and run carving.scn successfully.
In fact, I want to cut a Tetrahedral model but it seems that I can only use carving plugin to implement cutting effect.
There was an idea which was modifying the carving plugin(change removing tetrahedron to cutting tetrahedron).https://lists.gforge.inria.fr/pipermail/sofa-devel/2014-July/000702.html
After modifying, he could not do the cutting correctly. Did anyone do this before and share the experience?
29 April 2015 at 07:53 #3272XIONGBlockedHi Ao, I have the same problem with Carving.scn using NewOmniDriver, I have use the old Omnidriver to simulate liver cutting but the outcome was not satify.
Could you please sharing the SOFA version you are using and the downloading address?
Thanks very much!29 May 2015 at 13:37 #3347DuriezBlockedDear all,
We had some problem also with the compilation and some (superficial) modifications were conducted. Here everything seems ok for the compilation of NewOmniDriver on VisualStudio2012 express. Please, don’t hesitate to share your modifications with us to improve the code (contact me: christian.duriez@inria.fr)
For your info the type of scene you will have are composed of two nodes:
One node contains the NewOmniDriver and the mechanical State of the real device.
In SOFA, the instrument is a proxy, simulated in an other node (here “instrument”) and linked with the device using a spring (here we use RestShapeSpringsForceField but in some other SOFA scenes, we use VectorSpringForceField). The constraints that are provided in the LCPConstraintSolver (or GenericConstraintSolver) are recomputed in the LCPForceFeedback to provide the haptic feedback.—-
<Node name=”Omni” >
<NewOmniDriver name=”omniDriver1″ listening=”1″ scale=”50″ positionBase=”0 0 0″ orientationBase=”0.707 0 0 0.707″ omniVisu=”0″ />
<MechanicalObject template=”Rigid3d” name=”DOFs” position=”0 0 0 0 0 0 1″ velocity=”0 0 0 0 0 0″ force=”0 0 0 0 0 0″ externalForce=”0 0 0 0 0 0″ restScale=”1″ />
<MechanicalStateControllerOmni template=”Rigid3d” name=”MSCO” listening=”1″ handleEventTriggersUpdate=”1″ />
</Node>
<Node name=”Instrument” >
<EulerImplicitSolver name=”ODE solver” rayleighStiffness=”0.05″ rayleighMass=”1″ />
<CGLinearSolver template=”GraphScattered” name=”linear solver” iterations=”25″ tolerance=”1e-005″ threshold=”1e-005″ />
<MechanicalObject template=”Rigid3d” name=”instrumentState” position=”0 0 0 0 0 0 1″ velocity=”0 0 0 0 0 0″ force=”0 0 0 0 0 0″ externalForce=”0 0 0 0 0 0″ restScale=”1″ />
<UniformMass template=”Rigid3d” name=”mass” totalmass=”0.05″ />
<LCPForceFeedback template=”Rigid3d” name=”lCPForceFeedback1″ tags=”omni” listening=”1″ activate=”1″ forceCoef=”0.001″ />
<UncoupledConstraintCorrection template=”Rigid3d” name=”uncoupledConstraintCorrection1″/>
<RestShapeSpringsForceField template=”Rigid3d” name=”couplingWithOmni” stiffness=”1000″ angularStiffness=”10″ viscosity=”0″ external_rest_shape=”../Omni/DOFs” points=”0″ external_points=”0″ />
</Node>
—-Hope it helps,
Christian
21 August 2015 at 03:43 #3486WengBlockedMy personal opinion.
The NewOmniDriver does not send out HapticDeviceEvent while OmniDriver does (tell me if I am wrong).
In the handleEvent() of CarvingManager, it needs to catch the HapticDeviceEvent to start doCarve().
So, to use the carving example, you need to either use OmniDriver or add codes in onAnimateBeginEvent() of NewOmniDriver to send out HapticDeviceEvent when the button is pressed.regards,
Weng Bin -
AuthorPosts
- You must be logged in to reply to this topic.