Home › Forum › SOFA › Using SOFA › Rotation of child rigid in articulations
- This topic has 0 replies, 1 voice, and was last updated 5 years, 2 months ago by hyin.
-
AuthorPosts
-
30 August 2019 at 10:42 #14167hyinBlocked
Hi,
I have read through tutorials and examples about ArticulatedSystemMapping and am trying to model two articulated links with the child rigid having a different orientation:
<?xml version="1.0" ?> <Node dt="0.01" gravity="0 -9.81 0" name="root"> <VisualStyle displayFlags="showBehavior showVisual" /> <RequiredPlugin name="SofaOpenglVisual"/> <BruteForceDetection /> <DefaultContactManager /> <DefaultPipeline /> <MinProximityIntersection alarmDistance="1" contactDistance="0.5"/> <Node name="panda_arm"> <EulerImplicitSolver name="cg odesolver" printLog="false" rayleighStiffness="0.1" rayleighMass="0.1" /> <CGLinearSolver iterations="100" name="linear solver" threshold="1e-20" tolerance="1e-20" /> <MechanicalObject name="Articulations" template="Vec1d" position="0" /> <Node name="arm_dofs"> <MechanicalObject template="Rigid3d" name="DOFs" position=" 0 0 0 0 0 0 1 0 0 0.333 -0.7071068 0 0 0.7071068 " /> <UniformMass template="Rigid3d" name="mass" vertexMass="0.1 0.1 [1 0 0,0 1 0,0 0 1]" /> <FixedConstraint template="Rigid3d" name="fixOrigin" indices="0" /> <ArticulatedSystemMapping input1="@../Articulations" output="@DOFs" /> </Node> <ArticulatedHierarchyContainer /> <Node name="articulationCenters"> <Node name="articulationCenter1"> <ArticulationCenter parentIndex="0" childIndex="1" posOnParent="0 0.333 0" posOnChild="0 0 0" articulationProcess="2" /> <Node name="articulations"> <Articulation translation="0" rotation="1" rotationAxis="0 1 0" articulationIndex="0" /> </Node> </Node> </Node> </Node> </Node>
My expectation is that the child rigid should be oriented with [-0.7071068 0 0 0.7071068] and the articulation is along its Y-axis. However, the result is that child rigid is only translated with [0 0 0.333] and its orientation is same its parent.
I tried to edit the positions of MechanicalObject in GUI and it indeed updates with the expected arrangement. But the result goes back to [0 0 0 1] by taking one simulation step. So my guess is the modeling of articulation might have some incompatibilities and the child is re-oriented when the solver resolves it. Anyone can provide some insights about this?
-
AuthorPosts
- You must be logged in to reply to this topic.