Setting up RRA for a 6Dof joint
Posted: Fri Jun 04, 2010 12:16 am
Hi,
I have some problem setting up the Actuators, ControlConstraints and Task file for a 6Dof joint.
What i have is a 6DoF joint, but there is no <function> in the <TransformAxis>, instead we solve the IK in a special IK tool, which gives the rotation and translation for each coordinate.
What I have is 3 translation nodes (here only one is shown)
<Coordinate name="knee_angle_r">
<default_value> 0.00000000 </default_value>
<initial_value> 0.00000000 </initial_value>
<tolerance> 0.00000001 </tolerance>
<stiffness> 0.00000000 </stiffness>
<range> -2.09439510 0.17453293 </range>
<keys> k_key </keys>
<clamped> true </clamped>
<locked> false </locked>
<restraint_function/>
<min_restraint_function/>
<max_restraint_function/>
<restraint_active> false </restraint_active>
<prescribed_function/>
</Coordinate>
and three translation nodes (here only one shown)
<Coordinate name="knee_r_tx">
<default_value> 0.00000000 </default_value>
<initial_value> 0.00000000 </initial_value>
<tolerance> 0.00000001 </tolerance>
<stiffness> 0.00000000 </stiffness>
<range> -5.00000000 5.00000000 </range>
<keys> p_key </keys>
<clamped> true </clamped>
<locked> false </locked>
<restraint_function/>
<min_restraint_function/>
<max_restraint_function/>
<restraint_active> false </restraint_active>
<prescribed_function/>
</Coordinate>
and a TransformAxis for each coordinate (here only one of each is shown)
<TransformAxis name="tx">
<function/>
<coordinate> knee_r_tx </coordinate>
<is_rotation> false </is_rotation>
<axis> 1.00000000 0.00000000 0.00000000 </axis>
</TransformAxis>
<TransformAxis name="r1">
<function/>
<coordinate> knee_angle_r </coordinate>
<is_rotation> true </is_rotation>
<axis> 0.00000000 0.00000000 1.00000000 </axis>
</TransformAxis>
My problem is that whatever i change the models tibia flyies of but the body goes through the ground (i think due to gravity..)
In the setup files for the RRA i have added the following.
Actuators (for each coordinate)
<GeneralizedForce name="knee_r_adduction">
<coordinate>
knee_r_adduction
</coordinate>
<optimal_force> 100.0 </optimal_force>
</GeneralizedForce>
ControlConstraints
<ControlLinear name="knee_r_adduction.excitation" />
Task (for each)
<rdCMC_Joint name="knee_r_adduction">
<wrt_body> -1 </wrt_body>
<express_body> -1 </express_body>
<on> true </on>
<active> true false false </active>
<weight> 2.0e1 </weight>
<kp> 100.0 </kp>
<kv> 20.0 </kv>
<coordinate> knee_r_adduction </coordinate>
</rdCMC_Joint>
Does anyone know if (RRA, CMC, Static optimization) OpenSim can handle joints without a function?
Am I missing something, I guess that the body part that most resemble the tibia in my model is the pelvis. Should i therefor also add the <Force name="FX"> and <Torque name="MX"> to my tibia.
I tried to find as much information in the manual, but could not figure this out.
Any clue would be really helpful.
Best regards
Anders
I have some problem setting up the Actuators, ControlConstraints and Task file for a 6Dof joint.
What i have is a 6DoF joint, but there is no <function> in the <TransformAxis>, instead we solve the IK in a special IK tool, which gives the rotation and translation for each coordinate.
What I have is 3 translation nodes (here only one is shown)
<Coordinate name="knee_angle_r">
<default_value> 0.00000000 </default_value>
<initial_value> 0.00000000 </initial_value>
<tolerance> 0.00000001 </tolerance>
<stiffness> 0.00000000 </stiffness>
<range> -2.09439510 0.17453293 </range>
<keys> k_key </keys>
<clamped> true </clamped>
<locked> false </locked>
<restraint_function/>
<min_restraint_function/>
<max_restraint_function/>
<restraint_active> false </restraint_active>
<prescribed_function/>
</Coordinate>
and three translation nodes (here only one shown)
<Coordinate name="knee_r_tx">
<default_value> 0.00000000 </default_value>
<initial_value> 0.00000000 </initial_value>
<tolerance> 0.00000001 </tolerance>
<stiffness> 0.00000000 </stiffness>
<range> -5.00000000 5.00000000 </range>
<keys> p_key </keys>
<clamped> true </clamped>
<locked> false </locked>
<restraint_function/>
<min_restraint_function/>
<max_restraint_function/>
<restraint_active> false </restraint_active>
<prescribed_function/>
</Coordinate>
and a TransformAxis for each coordinate (here only one of each is shown)
<TransformAxis name="tx">
<function/>
<coordinate> knee_r_tx </coordinate>
<is_rotation> false </is_rotation>
<axis> 1.00000000 0.00000000 0.00000000 </axis>
</TransformAxis>
<TransformAxis name="r1">
<function/>
<coordinate> knee_angle_r </coordinate>
<is_rotation> true </is_rotation>
<axis> 0.00000000 0.00000000 1.00000000 </axis>
</TransformAxis>
My problem is that whatever i change the models tibia flyies of but the body goes through the ground (i think due to gravity..)
In the setup files for the RRA i have added the following.
Actuators (for each coordinate)
<GeneralizedForce name="knee_r_adduction">
<coordinate>
knee_r_adduction
</coordinate>
<optimal_force> 100.0 </optimal_force>
</GeneralizedForce>
ControlConstraints
<ControlLinear name="knee_r_adduction.excitation" />
Task (for each)
<rdCMC_Joint name="knee_r_adduction">
<wrt_body> -1 </wrt_body>
<express_body> -1 </express_body>
<on> true </on>
<active> true false false </active>
<weight> 2.0e1 </weight>
<kp> 100.0 </kp>
<kv> 20.0 </kv>
<coordinate> knee_r_adduction </coordinate>
</rdCMC_Joint>
Does anyone know if (RRA, CMC, Static optimization) OpenSim can handle joints without a function?
Am I missing something, I guess that the body part that most resemble the tibia in my model is the pelvis. Should i therefor also add the <Force name="FX"> and <Torque name="MX"> to my tibia.
I tried to find as much information in the manual, but could not figure this out.
Any clue would be really helpful.
Best regards
Anders