Knee tracking problem when using patellar coordinate coupler constraint

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Jordan Sturdy
Posts: 9
Joined: Fri Sep 22, 2017 8:56 am

Knee tracking problem when using patellar coordinate coupler constraint

Post by Jordan Sturdy » Mon Nov 25, 2019 1:32 pm

I've just started working with a model using the Lai 2017 / Rajogopal 2016 lower extremities along with the Senteler 2016 lumbar spine and am encountering a unique issue that I have yet to make sense of the cause.

When running RRA there is an initial period of time where the knee angle tracking errors are quite large. This occurs no matter where in the motion I start the simulation. Also have tried different versions of OpenSim with no change.
Knee_Tracking_error.png
Knee_Tracking_error.png (15.26 KiB) Viewed 325 times
The actuators are sufficiently strong, and the interesting thing is that if I disable the "patellofemoral_knee_angle..." constraints, these tracking errors are virtually zero (see below figure for reference).
Constraints disabled.png
Constraints disabled.png (14.53 KiB) Viewed 325 times


I have increased the gains on the knee angle tracking tasks which reduced these errors both in duration and magnitude. Changing the tracking weight for knee angles alone did not seem to affect the result.

If instead of using the coordinate coupler constraints, I duplicate the knee angle columns in the IK file and use them for the patellar coordinates, the errors are essentially zero as well.
I have other coordinate coupler constraints in the model as well, but I am not noticing any problems related to those coordinates.

Has anyone else come across similar issues, and what were your solutions?

Thanks for any feedback!

Jordan Sturdy

Tags:

User avatar
jimmy d
Posts: 1375
Joined: Thu Oct 04, 2007 11:51 pm

Re: Knee tracking problem when using patellar coordinate coupler constraint

Post by jimmy d » Thu Dec 05, 2019 7:07 am

Are the errors reported in degrees? As in-- the peak error you are seeing is ~0.055 of a degree?

User avatar
Jordan Sturdy
Posts: 9
Joined: Fri Sep 22, 2017 8:56 am

Re: Knee tracking problem when using patellar coordinate coupler constraint

Post by Jordan Sturdy » Fri Dec 06, 2019 11:50 am

Hi James, thanks for responding.

Apologies for not stating units in my initial post. The tracking error was plotted in radians, so this is close to an 3 degree error (using increased tracking gains). Below is a plot of the original right knee angle compared to the tracked one from RRA (this plot shows almost 8 degree error because it was produced using the standard 100 and 20 gains for tracking tasks.
Coordinate_difference.png
Coordinate_difference.png (26.09 KiB) Viewed 271 times
I've done some exploration into this since my original post, but I don't think I am closer to understanding why this is happening.
What I have discovered is that when the IK file contains the coordinate values for "knee_angle_X_beta" (dependent coordinate), the tracking errors are "normal" (i.e. small). But I can't simply create a column of zeros or random values or set the default coordinate values to match the independent coordinate in the first frame of data, so there seems to be some dependence on the actual value of the dependent coordinate column in the IK file. This is the case whether the constraint is enabled or not which is confusing to me, as I would expect the enabled constraint to simply copy the value from the independent coordinate column into the dependent coordinate regardless of whether the dependent coordinate is already present.

I have other coordinate coupler constraints for the lumbar spine that do not have the same issue, and their dependent coordinates are not present in the IK file.
The only fundamental difference in the implementation I can tell between these constraints is that there are nested functions (multiplier and spline) acting on the dependent coordinate for the patellar translation axes.

Code: Select all

	<TransformAxis name="translation2">
	<!--Names of the coordinates that serve as the independent variables         of the transform function.-->
	<coordinates>knee_angle_r_beta</coordinates>
	<!--Rotation or translation axis for the transform.-->
	<axis>0 1 0</axis>
	<!--Transform function of the generalized coordinates used to        represent the amount of transformation along a specified axis.-->
		<function>
			<MultiplierFunction>
				<function>
					<SimmSpline name="f10">
						<x> 0 0.174533 0.349066 0.523599 0.698132 0.872665 1.0472 1.22173 1.39626 1.5708 1.74533 1.91986 2.0944</x>
						<y> -0.0108 -0.019 -0.0263 -0.0322 -0.0367 -0.0395 -0.0408 -0.0404 -0.0384 -0.0349 -0.0301 -0.0245 -0.0187</y>
					</SimmSpline>
				</function>
				<scale>1.05</scale>
			</MultiplierFunction>
		</function>
	</TransformAxis>
Should all my dependent coordinates be present in the IK file for coordinate coupler constraints, or is this a unique behavior with the patellar motion?

Best,

Jordan

POST REPLY