Forum Replies Created
-
AuthorPosts
-
DuriezBlocked
Hi Shan,
An other way (more complex but very elegant) is to have a uniform mesh of your cylinder (typically with hexahedrons / quads on surface) and then to prevent any radial expansion of your mesh, you “rigidify” each circle (each set of points of the mesh that are on the surface of the cavity and belong to the same plane perpendicular to the cylinder).
If each of these circle is now a new rigid object, the cylinder can expand in length and can bend but the radial expansion is impossible.For the “rigidification”, the procedure is explained in the Tripod tutorial..
Cheers,
Christian
DuriezBlockedDear Amir !
Thanks for your interest in SOFA.
What you describes seems very ambitious. Do you plan to model the heat transfer and the coupling of this heat transfert with mechanical properties ?For forces generated by water, we plan to model buoyant, truss and drag forces in the coming months in SOFA. But this is not yet available. Let me know if you think you can help us with the implementation.
Best regards,
Christian
DuriezBlockedHi !
I think that this code (even if very interesting) has not been maintained. We can do the effort to make this code available again. We have a “coding day” the last friday of each month in my team. I can put it in the program of next week.
Let me know if this code how important this code is for you. We can maybe also involve you to help us.
Best regards,
Christian
29 September 2015 at 20:03 in reply to: [SOLVED] Performance issues with haptics and deformable objects #3702DuriezBlockedDear Benoit,
I think the problem is not coming from the UncoupledConstraintCorrection but on the fact that SOFA has to treat 20000 constraints in real-time ;-))
Something must be wrong with the collision detection method. You have too much constraints.. but I don’t know where the problem comes from…
What is the size of your models ? In the “localMinDistance” you set a “contact Distance” of 0.05. If distance are in meter in your scene and that the typical sizes of your object are 10 mm long, it means that you will detect many contact, and it is no more a proximity…
Try also to remove the TSphereModel and replace it with a PointModel (and put proximty= the radius) ? Is it the same behavior ?
Christian
DuriezBlockedDear Sen,
I have never tested ForceDimension devices with SOFA, but I know that in Strasbourg, they did it at some points.
I can only provide incomplete answers:
+ Plugin …../sofabin/bin/SofaHAPI_1_0.dll method initExternalModule() NOT FOUND
It seems that a commit of May 6 has introduced a bug in the init of the plugin.
Could you confirm that you are using a version of after May 6 ?
We will commit a revision (to go back to the previous version) this afternoon…+ Conflict with your mouse is really strange !!
Do you have the same conflict on other applications that use ForceDimension devices ?Christian
29 May 2015 at 13:37 in reply to: [SOLVED] Running examples in sensible folder (Sensible Plugin) #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
-
AuthorPosts