Hi,
Thanks a lot for the continuing good work. I have a couple of questions regarding the inverse kinematic operations:
1) In function "findcurrentmarkerlocation", the marker position is transformed to the ground reference frame using the rotation matrix from its associated body to ground reference.
1a) Is the ground reference here the global (openSim referece frame, i.e the reference frame the trajectories are provided in) ?
1b) At what point prior to IK being performed at every frame, are the marker trajectories transformed to the bone reference frame?
2) Are the bone reference frames aligned with the marker reference frames during the static trial (like in 6DoFs) model ? Or is the bone reference frame always fixed at the proximal joint?
3) Additionally, during IK are we initially adjusting the observations(fixed-ground frame locations) and then adjusting the markers to these observations? So moving the bones and then adjusting the markers? Else what are the observations which are used to calculate the error?
Thanks,
Vignesh
Question regarding inverse kinematics residual error
- Radhakrishnan Vignesh
- Posts: 104
- Joined: Tue Jun 01, 2021 8:09 am
- Radhakrishnan Vignesh
- Posts: 104
- Joined: Tue Jun 01, 2021 8:09 am
Re: Question regarding inverse kinematics residual error
Hi,
Any luck on the questions above?
Additionally, it is possible to simulate bodies as 6DoF models? That is remove all constraints? For example between pelvis and femur
Thanks,
Vignesh
Any luck on the questions above?
Additionally, it is possible to simulate bodies as 6DoF models? That is remove all constraints? For example between pelvis and femur
Thanks,
Vignesh
- Mohammadreza Rezaie
- Posts: 407
- Joined: Fri Nov 24, 2017 12:48 am
Re: Question regarding inverse kinematics residual error
Hi,
In the SpatialTransform section, find the relevant TransformAxis and modify it:
ground_pelvis is a 6DoF joint, you can use it as a reference. For left joints, set the coefficients to -1. Finally, check all coordinates in GUI.
Yes, you need to define 3 rotational and 3 translational coordinates for each joint. A simple way is to modify the model file in a text editor (e.g., Notepad++). Navigate to JointSet, choose a joint (e.g., hip_r), copy a Coordinate and paste it after others, modify its name and range, e.g.:it is possible to simulate bodies as 6DoF models?
Code: Select all
<Coordinate name="hip_tx_r">
<default_value>0</default_value>
<default_speed_value>0</default_speed_value>
<range>-0.1 0.1</range>
<clamped>false</clamped>
<locked>false</locked>
<prescribed_function />
</Coordinate>
Code: Select all
<TransformAxis name="translation1">
<coordinates>hip_tx_r</coordinates>
<axis>1 0 0</axis>
<LinearFunction name="function">
<coefficients> 1 0</coefficients>
</LinearFunction>
</TransformAxis
- Radhakrishnan Vignesh
- Posts: 104
- Joined: Tue Jun 01, 2021 8:09 am
Re: Question regarding inverse kinematics residual error
Hi,
Thanks. I tried it but it doesnt seem to work. additionally I get an error " Labelled as translational but was found to be coupled opensim"
Not sure how to proceed
Thanks. I tried it but it doesnt seem to work. additionally I get an error " Labelled as translational but was found to be coupled opensim"
Not sure how to proceed
- Mohammadreza Rezaie
- Posts: 407
- Joined: Fri Nov 24, 2017 12:48 am
Re: Question regarding inverse kinematics residual error
Here is my implementation:
- Radhakrishnan Vignesh
- Posts: 104
- Joined: Tue Jun 01, 2021 8:09 am