Share 
Follow 
AboutDownloadsDocumentsForumsSource CodeIssuesNews
Date:
2009-08-14 18:46
Priority:
3
State:
Open
Submitted by:
David Wagner (dwwagner)
Assigned to:
Nobody (None)
Summary:
Would like each body to know all the forces/moments applied to it

Detailed description
Hi OpenSim Gurus. In a conversation with Matt and Ayman during the Opensim workshop (08/14/09) we talked about having a method in Opensim that could be called on a body that would return all the forces, moments, and points of applications for those forces/moments for that body. Those forces would include joint reaction forces, muscle forces, applied forces, and anything else that enters Euler's equations.

The goal for me is I would like to take that information and use it in an FE model. I have attached a picture that illustrates at a single time step what I mean.

I have been able to do this for another musculoskeletal simulation package, and some of the things to consider are:

1. At each time step, the number of forces applied to a body may be different from previous or subsequent time steps (i.e. potentially caused by muscle wrapping)
2. The point of application of a force may also change in the body coordinate ref frame (i.e. moving muscle points)
3. It definitely helps if all the forces/moments that are outputted have some documentation related to what muscle/joint reaction they are associated to
3. I would like to be able to create the following text file for each body:

Gravity=1.000000000000000e-005;-9.810000000000001e+000;1.000000000000000e-005;
t=9.699999999999999e-003
step_no=1

Segment[2]: Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh
m=3.498500000000000e+000
Jmatrix=1.011674504015467e-001,-3.246548497451500e-002,4.380164381957772e-003;-3.246548497451500e-002,1.457890474433133e-002,1.193458953532019e-002;4.380164381957772e-003,1.193458953532019e-002,1.098502694524887e-001;
rCoM=1.380761255940763e-001;5.639645458308420e-002;9.773869969665089e-002;
r=1.900928671961407e-001;2.610083228007962e-002;1.151990503925363e-001;
Axes=1.331001569667838e-001,-9.909513872893123e-001,1.731173719777303e-002;9.900053690344237e-001,1.337542060401460e-001,4.471220917807987e-002;-4.662314337785198e-002,1.118751071317415e-002,9.988498996874407e-001;
rDot=1.059751259072959e-002;1.192501187512656e-001;2.373549929396086e-002;
Omega=7.959563043392713e-002;-1.348697033930398e-001;6.420641192812364e-001;
rDDot=-6.032191121262985e-001;-4.001698178136812e+000;1.174498334319106e-001;
OmegaDot=7.028652300985315e-001;-6.487705588957810e-001;-2.094698811572465e+001;

Force[650]:
Name=Main.HumanModel.BodyModel.Trunk.MusclesSpineRight.PsoasMajor.PMT12I_TM
Class=ThelenMuscle2003
Segment=Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh
SegmentID=2
Pos=7.468919605013304e-002;4.229879449158833e-002;1.085954013894660e-001;
RefFrame=Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.IliopsoasNode
NumComponents=1
F[0]=-0.000000000000000e+000;0.000000000000000e+000;-0.000000000000000e+000;
M[0]=-0.000000000000000e+000;-0.000000000000000e+000;-0.000000000000000e+000;

Force[651]:
Name=Main.HumanModel.BodyModel.Trunk.MusclesSpineRight.PsoasMajor.PML1I_TM
Class=ThelenMuscle2003
Segment=Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh
SegmentID=2
Pos=7.468919605013304e-002;4.229879449158833e-002;1.085954013894660e-001;
RefFrame=Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.IliopsoasNode
NumComponents=1
F[0]=-0.000000000000000e+000;0.000000000000000e+000;-0.000000000000000e+000;
M[0]=-0.000000000000000e+000;-0.000000000000000e+000;-0.000000000000000e+000;

Force[652]:
Name=Main.HumanModel.BodyModel.Trunk.MusclesSpineRight.PsoasMajor.PML1T_TM
Class=ThelenMuscle2003
Segment=Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh
SegmentID=2
Pos=7.468919605013304e-002;4.229879449158833e-002;1.085954013894660e-001;
RefFrame=Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.IliopsoasNode
NumComponents=1
F[0]=-1.700134087468800e+000;5.449117198259570e+000;-5.911568785718314e+000;
M[0]=-0.000000000000000e+000;-0.000000000000000e+000;-0.000000000000000e+000;

Force[653]:
Name=Main.HumanModel.BodyModel.Trunk.MusclesSpineRight.PsoasMajor.PML2I_TM
Class=ThelenMuscle2003
Segment=Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh
SegmentID=2
Pos=7.468919605013304e-002;4.229879449158833e-002;1.085954013894660e-001;
RefFrame=Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.IliopsoasNode
NumComponents=1
F[0]=-5.149849621604685e-001;1.224920213318544e+001;-1.789175799569011e+001;
M[0]=-0.000000000000000e+000;-0.000000000000000e+000;-0.000000000000000e+000;


I hope this helps and please let me know if I can help make this happen.

Add A Comment: Notepad

No Comments Have Been Posted

Attachments:
Size Name Date By Download
522 KiBFemurForces.jpg2009-08-14 18:46dwwagnerFemurForces.jpg
Field Old Value Date By
category_id3352012-03-29 17:45jenhicks
artifact_group_id2222012-03-29 17:45jenhicks
File Added128: FemurForces.jpg2009-08-14 18:46dwwagner
Feedback