simulate IK on object added to model
Posted: Sat Nov 29, 2014 11:14 am
Hello
My objective is the following:
I am adding objects to a model and want to know the IK (linear velocity and angular velocity and position) of this object.
Base model: gait2392 with a box added to the foot. Mass of the box is set to (0.8), with inertia tensor [0 0 0 0 0 0]. The parent segment of the box is the calcn, and they are connected by a weldjoint.Input motion is taken from the demo files in OpenSim (using version 3.2)
Analysis: I have made several modifications of this base model, changing the position (locationInParent) and orientation (orientationInParent, or OrientationInChild) of the box [loc&or aligned with parent, pure rotation(orientationInParent), pure translation(locationInParent), translation and rotation; pure rotation in child (orientationInChild) . Both IK and the AnalyzeTool were used on these models. The analysis consisted of BodyKinematics in the global frame, BodyKinematics in the body_local frame, and pointKinematics on the CoM of the box. I am using the matlab scripting interface to interact with OpenSim, and Matlab to plot my results.
Results: The linear velocity shows the effect of translating the box (changing locationInParent) in the global,body_local and in PointKinematics. PointKinematics and global provide identical results. The body_local linear velocity is the only parameter showing both the effect of the changes in orientation and location (! if the rotation took place as a change in orientationInParent).
The angular velocity shows no effect of any of the changes made, neither in the global or body_local frame (the box and segment plots are identical).
Problem/question: How can I obtain the linear and angular velocity (and position) data to reflect the changes made to the object location and orientation?
Since the changes are not reflected in the pointKinematics data I am assuming that this will not help me further.
I do not know if it is possible to transform the body_local linear velocity to global linear velocity, but then I would still be left without angular velocity data.
This is probably a no-brainer but I am nonetheless stuck and appreciate any help or feedback.
[I can upload plots if needed/desired]
My objective is the following:
I am adding objects to a model and want to know the IK (linear velocity and angular velocity and position) of this object.
Base model: gait2392 with a box added to the foot. Mass of the box is set to (0.8), with inertia tensor [0 0 0 0 0 0]. The parent segment of the box is the calcn, and they are connected by a weldjoint.Input motion is taken from the demo files in OpenSim (using version 3.2)
Analysis: I have made several modifications of this base model, changing the position (locationInParent) and orientation (orientationInParent, or OrientationInChild) of the box [loc&or aligned with parent, pure rotation(orientationInParent), pure translation(locationInParent), translation and rotation; pure rotation in child (orientationInChild) . Both IK and the AnalyzeTool were used on these models. The analysis consisted of BodyKinematics in the global frame, BodyKinematics in the body_local frame, and pointKinematics on the CoM of the box. I am using the matlab scripting interface to interact with OpenSim, and Matlab to plot my results.
Results: The linear velocity shows the effect of translating the box (changing locationInParent) in the global,body_local and in PointKinematics. PointKinematics and global provide identical results. The body_local linear velocity is the only parameter showing both the effect of the changes in orientation and location (! if the rotation took place as a change in orientationInParent).
The angular velocity shows no effect of any of the changes made, neither in the global or body_local frame (the box and segment plots are identical).
Problem/question: How can I obtain the linear and angular velocity (and position) data to reflect the changes made to the object location and orientation?
Since the changes are not reflected in the pointKinematics data I am assuming that this will not help me further.
I do not know if it is possible to transform the body_local linear velocity to global linear velocity, but then I would still be left without angular velocity data.
This is probably a no-brainer but I am nonetheless stuck and appreciate any help or feedback.
[I can upload plots if needed/desired]