Sie sind auf Seite 1von 24

Lab 3 Report

Vinayak M Rao

20036966
Objective

To evaluate the loads at L5/S1 during a lift task by using the inverse dynamic method and a two-
dimensional biomechanical model.

1. Introduction

Manual Material Handling is a requirement of many jobs, and therefore one of the most common causes
of lower back pain is due to Manual Material Handling tasks, specifically those that involve lifting. The
lower back is most prone to serious injuries due to lifting and often leads to loss of productivity of
workers as it limits motion and activity. Treatment for lower back pain patients is often considered the
most expensive healthcare problem in the age group of 30 -50 years. Muscle and ligament strain caused
[1]
by excessive lifting also contributes to lower back pain and in turn leads to limited motion.

Although different MMH tasks exist, such as holding, carrying and pushing, multiple studies have
concluded that lifting is solely responsible for over 50% of all injuries involving the lower back and
therefore most studies focus on understanding the motion of the body during lifting and subsequently
preventing injuries. The previous studies found that the speed of lifting, weight of the lead and
technique of lifting play a role in determining the extent of lower back injury. The techniques of lifting
vary from stoop where the knees are straight and the trunk is flexed to squat in which the knees are
[1]
flexed and the trunk is straight.

Kinetics refers to the study of the forces and energy generated by the body while it is in motion. The
forces and moments are necessary in order to understand how the motion contributes to progression of
disorders such as lower back pain.
Link segment modelling is used to calculate the abovementioned forces and moments and it is based on
[1]
certain assumptions

1. Each segment has an equivalent mass located at the center of positon which is the center of
gravity.
2. The location of this center of mass remains constant during movement.
3. The joints are considered to be frictionless hinges.
4. The mass moment of is constant during the motion.
5. The length of each segment is constant during the motion
The link segment model assumes the body to be composed of rigid segments which are connected to
each other by joints. Newtons laws are applied to segments and the forces and moments are calculated
between each pair of joints. The link segment model is applied with the top down approach in which the
analysis is started at the hands/load segment in which the only forces acting are the weight of the
segment. The equation is then applied to forearms, upper arms, and the trunk in that order to calculate
moments and forces acting on the L5/S1 joint.
The lifting model used here is two dimensional one, in which the analysis is restricted to the sagittal
plane and were the movement is symmetrical. Only flexion and extension of the back are considered
[1]
and the movement about the longitudinal axis is neglected.

2. Procedure

The Anthropometric measurements are done using the Jensen Photogrammetric method and the front
and side views are taken by two digital cameras. Three dimensional positions of the markers on the
subject are digitized and a computer program was made use of to calculate the anthropometric data.

The calibration of the space is done to correct the errors that arise from the metal effect of the
environment.

The biomechanical model is a top down model with the following segments to be considered-

1. Box
2. Upper Torso(head+neck+ upper trunk)
3. Middle Torso
4. The left upper arm
5. The right upper arm
6. The left lower arm
7. The right lower arm

2.1 Experimental Setup and validation

The force plate is set up relative to the transmitter of the motion star and the sensors are setup relative
to the anatomical frame. The coordinate system of the motion star system is set up on the center of the
transmitter and the axes are parallel to the sides of the transmitter. The Lab Coordinate system refers to
the Motion Star coordinate system and they must be aligned with the axes of the force plate.
Figure1. Relative position of the force plate to the transmitter of the Motion Star

Figure2. Coordinate system of the Motion Star

Inverse dynamics determines forces and moments from the kinematics of moving bodies and differs
from direct dynamics in which the motion of bodies is determined under the influence of applied forces.
Inverse dynamics measures the net effect of internal forces and moments of these forces acting on
joints.
2.2 Process of Inverse Dynamics applied to calculate the L5/S1 forces and moments
A rigid body model is developed using the upper torso, middle torso, upper and lower arms and the
segments are connected by frictionless pin joints one of which is the L5/S1 joint. The segments are
assumed to have a fixed mass and the moment of inertia about the center of mass is constant.
The center of mass locations within the segments and the moments of inertia are calculated using
anthropometric data.
The reaction forces and moments at each segment are calculated using inverse dynamics and applying
Newtonian equations. Reaction forces and moments are calculated for each segment at the proximal
end and the process is repeated for the adjacent segment.
The process is started at the upper arm and the box and forearm are considered a single segment. The
net forces and moments are calculated for the upper arm and the process is repeated for the upper
torso using the forces and moments from the previous calculation.
The inverse dynamics approach is continued for the middle and lower torso until the L5/S1 joint is
reached. The calculation ends at the L5/S1 joint, whose forces and moments are required to be
[1]
calculated.

2.3 Formulae Used and Method of Calculation


Newtons Second Law in the horizontal, vertical and rotational directions-

The above equations are applied in the horizontal, vertical and rotational directions on the Free Body
Diagram of the left lower arm which holds the box. The mass and moment of inertia are determined
from laboratory data, the linear and angular accelerations are calculated from the camera and sensor
data.
The forces are summed up with the unknown forces on one side and the known forces on the other
side. The number of equations must be greater than the number of unknowns. The calculation of the
[2]
moments follows the force equations.
The calculations must be accompanied by appropriate and consistent sign conventions to maintain
accuracy. The sum of moments is calculated about a suitable point which is usually a joint center but can
also be a mass center in which case the contribution of the gravity term will be zero.

3. Results and Discussions

3.1 Results

Figure3. Plot of Moments in L5/S1 vs Time


Figure4. Plot of Compressive and Shear forces in L5/S1 vs Time

Figure5. Plot of Reaction forces in L5/S1 vs Time


Figure6. Plot of Moments in L5/S1 using Dempsters model vs Time

Figure7. Plot of Compressive and Shear forces in L5/S1 using Dempsters model vs Time
Figure8. Plot of Reaction forces in L5/S1 using Dempsters model vs Time

Moment(N-m) Time(s)
28.9778 5.0871
-324.9949 5.1452
-414.6957 5.2032
-398.1554 5.2613
-309.3456 5.3194
-202.8741 5.3775
-133.3439 5.4355
-59.8557 5.5517
-27.3950 5.6098
158.8093 5.9582
Table 1. Moment vs Time
Shear Forces(N) Time(s)
33.9273 5.0871
45.9868 5.1452
84.6939 5.2032
134.1320 5.2613
177.6570 5.3194
206.6431 5.3775
185.5789 5.4355
168.3606 5.5517
147.2836 5.6098
Table 2. Shear Force vs Time

Reaction Forces(N) Time(s)


-870.0208 5.0871
-669.8127 5.1452
-514.9376 5.2032
-333.3086 5.2613
-246.2561 5.3194
-23.5583 5.3775
59.2301 5.4355
168.7723 5.5517
-143.8763 5.6098
Table 3. Reaction Force vs Time

3.2 Discussion and Limitations

It can be seen from the plot of moment vs time that the moment reaches its peak value in the negative
or clockwise direction at 5.2 seconds and increases in the positive, clockwise direction at a rapid rate
thereafter. The change is less rapid at the start of the lifting action at which point there is a higher value
of acceleration and torque. The moment completely reverses direction towards the end of the lifting
action.
The compressive and component of the reaction forces show the same pattern as the moments as the
lifting action is associated with an increase in torque and high reaction forces on the L5/S1 joint. The
shear forces and component of the reaction forces are relatively constant as lifting is accompanied by
an increase in compressive forces.

The moments and forces curves both show noise which is created by the digitization of markers and this
is multiplied at every stage of the calculation especially due to the double differentiation terms.

Limitations

1. The subjects were chosen from a limited population and do not reflect a truly random
population choice.
2. The lifting task was carried out in a laboratory setting which is different from the conditions
experienced by most Manual Material Handlers.
3. Fatigue was not considered as part of the study, MMH workers experience some amount of
fatigue due to the repetitive nature of their work.
4. Noise which is created due to digitization of the markers leads to a non- accurate representation
of results.

References

1. Studies of compressive forces on L5/S1 during dynamic manual lifting, Iwan Budihardjo, Iowa
State University
2. Research Methods in Biomechanics, D. Gordon E. Robertson, Graham E. Caldwell, Joseph Hamill

Contribution

Cliyo was responsible for the Compressive and Shear Forces, Nagma was responsible for the Moments,
Vinayak was responsible for the Reaction forces and for developing the Matlab codes.
Appendix

clc
clear all
%lower arm
py=xlsread('masscentre','X2:X82') %mass centres of lower arm
px=xlsread('masscentre','W2:W82') %mass centres of lower arm
pyy=xlsread('masscentre','X2:X83') %mass centres of lower arm
pxx=xlsread('masscentre','W2:W83') %mass centres of lower arm
tt=xlsread('masscentre','A2:A83')

t=xlsread('masscentre','A2:A82')
acc=xlsread('masscentre','AM2:AM82') %angular acceleration for lower arm
by=xlsread('masscentre','C2:C82') %box coordinates
bx=xlsread('masscentre','B2:B82') %box coordinates
rey=xlsread('masscentre','AP2:AP82') % right elbow joint centers
rex=xlsread('masscentre','AO2:AO82') % right elbow joint centers

n=81
m=7.9
for x=1:n

vy(x,1)=[((pyy((x+1),1)-pyy(x,1)))/(tt(x+1,1)-tt(x,1))]; %velocity of lower arm


vx(x,1)=[((pxx((x+1),1)-pxx(x,1)))/(tt(x+1,1)-tt(x,1))];

ay(x,1)=[vy(x,1)/(tt(x+1,1)-tt(x,1))]; %acceleration of lower arm


ax(x,1)=[vx(x,1)/(tt(x+1,1)-tt(x,1))];
end

rx=m*ax %reaction force of lower arm


ry=m*(9.81+ay)
mlower=-0.03661.*acc-m*9.81.*abs(rex-px)-rx.*abs(rey-py)-ry.*abs(rex-px) %moment of lower arm
vy
vx
ay
ax

%upper arm

p1y=xlsread('masscentre','R2:R82') %mass centre of upper arm


p1x=xlsread('masscentre','Q1:Q82')
t1=xlsread('masscentre','A2:A82')
p1yy=xlsread('masscentre','R2:R83')
p1xx=xlsread('masscentre','Q2:Q83')
tt1=xlsread('masscentre','A2:A83')
n=80
rsy=xlsread('masscentre','AS2:AS82') % right shoulder joint centers
rsx=xlsread('masscentre','AR2:AR82') % right shoulder joint centers

for x=1:n

v1y(x,1)=[((p1yy((x+1),1)-p1yy(x,1)))/(t1(x+1,1)-t1(x,1))];
v1x(x,1)=[((p1xx((x+1),1)-p1xx(x,1)))/(t1(x+1,1)-t1(x,1))];

a1y(x,1)=[v1y(x,1)/(t1(x+1,1)-t1(x,1))];
a1x(x,1)=[v1x(x,1)/(t1(x+1,1)-t1(x,1))];
end
for x=1:n
theta(x,1)=atan((rsy(x,1))/(rsx(x,1)));
end
for x=1:79
avel(x,1)=(theta((x+1),1)-theta(x,1))/(tt(x+1,1)-tt(x,1))
end
for x=1:78
acc(x,1)=(avel((x+1),1)-avel(x,1))/(tt(x+1,1)-tt(x,1))
end

v1y
v1x
a1y
a1x
for x=1:80
rny(x,1)=ry(x,1)
rnx(x,1)=rx(x,1)
end
r1y=rny+1.8.*a1y
r1x=rnx-1.8.*a1x

for x=1:80
accn(x,1)=acc(x,1)
rxn(x,1)=rx(x,1)
ryn(x,1)=ry(x,1)
p1yn(x,1)=p1y(x,1)
p1xn(x,1)=p1x(x,1)
rexn(x,1)=rex(x,1)
reyn(x,1)=rey(x,1)
mlowern(x,1)=mlower(x,1)
rsyn(x,1)=rsy(x,1)
rsxn(x,1)=rsx(x,1)
end

mupper= 0.01613.*accn - rxn.*(abs(p1yn-reyn))-ryn.*(abs(p1xn-rexn))-mlowern - r1y.*(abs(p1xn-rsxn))


- r1x.*(abs(p1yn-rsyn))
%upper torso

p2y=xlsread('masscentre','F2:F82')%mass centre of upper torso


p2x=xlsread('masscentre','E2:E82')
t2=xlsread('masscentre','A2:A82')
uty=xlsread('masscentre','AV2:AV82') % upper torso joint centre
utx=xlsread('masscentre','AU2:AU82') % upper torso joint centre
uta=xlsread('masscentre','AX2:AX82') %upper torso acceleration

for x=1:80
v2y(x,1)=[((p2y((x+1),1)-p2y(x,1)))/(t2(x+1,1)-t2(x,1))];
v2x(x,1)=[((p2x((x+1),1)-p2x(x,1)))/(t2(x+1,1)-t2(x,1))];

a2y(x,1)=[v2y(x,1)/(t2(x+1,1)-t2(x,1))];
a2x(x,1)=[v2x(x,1)/(t2(x+1,1)-t2(x,1))];

end

v2y
v2x
a2y
a2x
r2y=r1y+13.26*a2y
r2x=r1x-13.26*a2x

for x=1:80
utan(x,1)=uta(x,1)
r2xn(x,1)=r2x(x,1)
r2yn(x,1)=r2y(x,1)
p2yn(x,1)=p2y(x,1)
p2xn(x,1)=p2x(x,1)
utxn(x,1)=utx(x,1)
utyn(x,1)=uty(x,1)
muppern(x,1)=mupper(x,1)
rsyn(x,1)=rsy(x,1)
rsxn(x,1)=rsx(x,1)
end

muppert= 0.0861.*utan - r2xn.*(abs(p2yn-utyn))-r2yn.*(abs(p2xn-utxn))-muppern - r1y.*(abs(p2xn-


rsxn)) - r1x.*(abs(p2yn-rsyn))

%middle torso

p3y=xlsread('masscentre','I2:I82')
p3x=xlsread('masscentre','H2:H82')
t3=xlsread('masscentre','A2:A82')
mty=xlsread('masscentre','BA2:BA82') %middle torso joint centres
mtx=xlsread('masscentre','AZ2:AZ82') %middle torso joint centres
mta=xlsread('masscentre','BC2:BC82') %middle torso acceleration

n=80

for x=1:n

v3y(x,1)=[((p3y((x+1),1)-p3y(x,1)))/(t3(x+1,1)-t3(x,1))];
v3x(x,1)=[((p3x((x+1),1)-p3x(x,1)))/(t3(x+1,1)-t3(x,1))];

a3y(x,1)=[v3y(x,1)/(t3(x+1,1)-t3(x,1))];
a3x(x,1)=[v3x(x,1)/(t3(x+1,1)-t3(x,1))];

end

v3y
v3x
a3y
a3x
r3y=r2y+13.68*a2y
r3x=r2x-13.68*a2x

for x=1:80
mtan(x,1)=mta(x,1)
r3xn(x,1)=r3x(x,1)
r3yn(x,1)=r3y(x,1)
p3yn(x,1)=p3y(x,1)
p3xn(x,1)=p3x(x,1)
mtxn(x,1)=mtx(x,1)
mtyn(x,1)=mty(x,1)
muppertn(x,1)=muppert(x,1)
t3n(x,1) = t3(x,1)
end

muppermt= 0.10946.*mtan - r2xn.*(abs(p3yn-utyn))-r2yn.*(abs(p3xn-utxn))-muppertn -


r3yn.*(abs(p3xn-mtxn)) - r3xn.*(abs(p3yn-mtyn))

lty=xlsread('masscentre','BG2:BG82') %lower torso joint centres


ltx=xlsread('masscentre','BF2:BF82') %lower torso joint centres
lta=xlsread('masscentre','BC2:BC82') %lower torso acceleration
p4y=xlsread('masscentre','L2:L82')% mass centre lower torso
p4x=xlsread('masscentre','K2:K82')
t4=xlsread('masscentre','A2:A82')
n=80

for x=1:n
v4y(x,1)=[((p4y((x+1),1)-p4y(x,1)))/(t4(x+1,1)-t4(x,1))];
v4x(x,1)=[((p4x((x+1),1)-p4x(x,1)))/(t4(x+1,1)-t4(x,1))];
a4y(x,1)=[v4y(x,1)/(t4(x+1,1)-t4(x,1))];
a4x(x,1)=[v4x(x,1)/(t4(x+1,1)-t4(x,1))];

end

v4y
v4x
a4y
a4x
r4y=r3y+7.97*a3y
r4x=r3x-7.97*a3x

for x=1:80
ltan(x,1)=lta(x,1)
r4xn(x,1)=r4x(x,1)
r4yn(x,1)=r4y(x,1)
p4yn(x,1)=p4y(x,1)
p4xn(x,1)=p4x(x,1)
ltxn(x,1)=ltx(x,1)
ltyn(x,1)=lty(x,1)
muppermtn(x,1)=muppermt(x,1)

end

mupperlt= 0.10946.*ltan - r4xn.*(abs(p4yn-ltyn))-r4yn.*(abs(p4xn-ltxn))-muppermtn -


r3yn.*(abs(p4xn-mtxn)) - r3xn.*(abs(p4yn-mtyn))

%muscular forces
l = 0.05 % moment arm of erector spinae muscle
Fmuscle = mupperlt./l %muscular force for each frame
lttheta = atan(ltxn./ltyn) %trunk angle

Fcompressive = Fmuscle + 437.82* cos(lttheta)


Fshear = 437.82 *cos(lttheta)

y=[1:5:80]
mupperltn=[mupperlt(y)]
Fcompressiven=[Fcompressive(y)]
Fshearn=[Fshear(y)]
r4ynn=[r4yn(y)]
r4xnn=[r4xn(y)]
tn=[t3n(y)]

%plot of moments
plot(tn,mupperltn)
xlabel('Time')
ylabel('Net Bending Moment at L5/S1')
title('Moments in L5/S1 vs time')
grid on
t2=tn(8)
fx2=mupperltn(8)
txt2 = '\leftarrow Event 1- Start of Bending action';
text(t2,fx2,txt2)

%plot of shear and compressive forces


plot(tn, Fcompressiven,'r')
hold on
plot(tn,Fshearn,'m')
xlabel('Time')
ylabel('Net Compressive and Shear Forces at L5/S1')
title('Net Compressive and Shear Forces in L5/S1 vs time')
legend('Net Compressive Forces','Net Shear Forces')
grid on

t3=tn(7)
fx3= Fcompressiven(7)
txt3 = '\leftarrow Event 1- Start of Bending action';
text(t3,fx3,txt3)

t4=tn(7)
fx4= Fshearn(7)
txt4 = '\leftarrow Event 1- Start of Bending action';
text(t4,fx4,txt4)

%plot of reaction forces


plot(tn,r4ynn,'r')
hold on
plot(tn,r4xnn,'m')
xlabel('Time')
ylabel('Net Reaction Forces at L5/S1')
title('Net Reaction Forces at L5/S1 vs time')
legend('y component of reaction forces','x component of reaction forces')

grid on

t5=tn(7)
fx5= r4xnn(7)
txt5 = '\leftarrow Event 1- Start of Bending action';
text(t5,fx5,txt5)

t6=tn(7)
fx6= r4ynn(7)
txt6 = '\leftarrow Event 1- Start of Bending action';
text(t6,fx6,txt6)

2. Dempsters Model

clc
clear all
%lower arm
py=xlsread('masscentre','X2:X82') %mass centres of lower arm
px=xlsread('masscentre','W2:W82') %mass centres of lower arm
pyy=xlsread('masscentre','X2:X83') %mass centres of lower arm
pxx=xlsread('masscentre','W2:W83') %mass centres of lower arm
tt=xlsread('masscentre','A2:A83')

t=xlsread('masscentre','A2:A82')
acc=xlsread('masscentre','AM2:AM82') %angular acceleration for lower arm
by=xlsread('masscentre','C2:C82') %box coordinates
bx=xlsread('masscentre','B2:B82') %box coordinates
rey=xlsread('masscentre','AP2:AP82') % right elbow joint centers
rex=xlsread('masscentre','AO2:AO82') % right elbow joint centers

n=81
m1=1.152
for x=1:n

vy(x,1)=[((pyy((x+1),1)-pyy(x,1)))/(tt(x+1,1)-tt(x,1))]; %velocity of lower arm


vx(x,1)=[((pxx((x+1),1)-pxx(x,1)))/(tt(x+1,1)-tt(x,1))];

ay(x,1)=[vy(x,1)/(tt(x+1,1)-tt(x,1))]; %acceleration of lower arm


ax(x,1)=[vx(x,1)/(tt(x+1,1)-tt(x,1))];
end

rx=m1*ax %reaction force of lower arm


ry=m1*(9.81+ay)
mlower=-0.03661.*acc-m1*9.81.*abs(rex-px)-rx.*abs(rey-py)-ry.*abs(rex-px) %moment of lower arm
vy
vx
ay
ax

%upper arm

p1y=xlsread('masscentre','R2:R82') %mass centre of upper arm


p1x=xlsread('masscentre','Q1:Q82')
t1=xlsread('masscentre','A2:A82')
p1yy=xlsread('masscentre','R2:R83')
p1xx=xlsread('masscentre','Q2:Q83')
tt1=xlsread('masscentre','A2:A83')
n=80
m2=2.016

rsy=xlsread('masscentre','AS2:AS82') % right shoulder joint centers


rsx=xlsread('masscentre','AR2:AR82') % right shoulder joint centers

for x=1:n

v1y(x,1)=[((p1yy((x+1),1)-p1yy(x,1)))/(t1(x+1,1)-t1(x,1))];
v1x(x,1)=[((p1xx((x+1),1)-p1xx(x,1)))/(t1(x+1,1)-t1(x,1))];

a1y(x,1)=[v1y(x,1)/(t1(x+1,1)-t1(x,1))];
a1x(x,1)=[v1x(x,1)/(t1(x+1,1)-t1(x,1))];
end
for x=1:n
theta(x,1)=atan((rsy(x,1))/(rsx(x,1)));
end
for x=1:79
avel(x,1)=(theta((x+1),1)-theta(x,1))/(tt(x+1,1)-tt(x,1))
end
for x=1:78
acc(x,1)=(avel((x+1),1)-avel(x,1))/(tt(x+1,1)-tt(x,1))
end

v1y
v1x
a1y
a1x
for x=1:80
rny(x,1)=ry(x,1)
rnx(x,1)=rx(x,1)
end
r1y=rny+m2.*a1y
r1x=rnx-m2.*a1x

for x=1:80
accn(x,1)=acc(x,1)
rxn(x,1)=rx(x,1)
ryn(x,1)=ry(x,1)
p1yn(x,1)=p1y(x,1)
p1xn(x,1)=p1x(x,1)
rexn(x,1)=rex(x,1)
reyn(x,1)=rey(x,1)
mlowern(x,1)=mlower(x,1)
rsyn(x,1)=rsy(x,1)
rsxn(x,1)=rsx(x,1)
end

mupper= 0.01613.*accn - rxn.*(abs(p1yn-reyn))-ryn.*(abs(p1xn-rexn))-mlowern - r1y.*(abs(p1xn-rsxn))


- r1x.*(abs(p1yn-rsyn))

%upper torso

p2y=xlsread('masscentre','F2:F82')%mass centre of upper torso


p2x=xlsread('masscentre','E2:E82')
t2=xlsread('masscentre','A2:A82')
uty=xlsread('masscentre','AV2:AV82') % upper torso joint centre
utx=xlsread('masscentre','AU2:AU82') % upper torso joint centre
uta=xlsread('masscentre','AX2:AX82') %upper torso acceleration
m3=15.55
for x=1:80
v2y(x,1)=[((p2y((x+1),1)-p2y(x,1)))/(t2(x+1,1)-t2(x,1))];
v2x(x,1)=[((p2x((x+1),1)-p2x(x,1)))/(t2(x+1,1)-t2(x,1))];

a2y(x,1)=[v2y(x,1)/(t2(x+1,1)-t2(x,1))];
a2x(x,1)=[v2x(x,1)/(t2(x+1,1)-t2(x,1))];

end

v2y
v2x
a2y
a2x
r2y=r1y+15.55*a2y
r2x=r1x-15.55*a2x

for x=1:80
utan(x,1)=uta(x,1)
r2xn(x,1)=r2x(x,1)
r2yn(x,1)=r2y(x,1)
p2yn(x,1)=p2y(x,1)
p2xn(x,1)=p2x(x,1)
utxn(x,1)=utx(x,1)
utyn(x,1)=uty(x,1)
muppern(x,1)=mupper(x,1)
rsyn(x,1)=rsy(x,1)
rsxn(x,1)=rsx(x,1)
end

muppert= 0.0861.*utan - r2xn.*(abs(p2yn-utyn))-r2yn.*(abs(p2xn-utxn))-muppern - r1y.*(abs(p2xn-


rsxn)) - r1x.*(abs(p2yn-rsyn))
%middle torso

p3y=xlsread('masscentre','I2:I82')
p3x=xlsread('masscentre','H2:H82')
t3=xlsread('masscentre','A2:A82')
mty=xlsread('masscentre','BA2:BA82') %middle torso joint centres
mtx=xlsread('masscentre','AZ2:AZ82') %middle torso joint centres
mta=xlsread('masscentre','BC2:BC82') %middle torso acceleration

n=80

for x=1:n

v3y(x,1)=[((p3y((x+1),1)-p3y(x,1)))/(t3(x+1,1)-t3(x,1))];
v3x(x,1)=[((p3x((x+1),1)-p3x(x,1)))/(t3(x+1,1)-t3(x,1))];

a3y(x,1)=[v3y(x,1)/(t3(x+1,1)-t3(x,1))];
a3x(x,1)=[v3x(x,1)/(t3(x+1,1)-t3(x,1))];

end

v3y
v3x
a3y
a3x
r3y=r2y+10*a2y
r3x=r2x-10*a2x

for x=1:80
mtan(x,1)=mta(x,1)
r3xn(x,1)=r3x(x,1)
r3yn(x,1)=r3y(x,1)
p3yn(x,1)=p3y(x,1)
p3xn(x,1)=p3x(x,1)
mtxn(x,1)=mtx(x,1)
mtyn(x,1)=mty(x,1)
muppertn(x,1)=muppert(x,1)
t3n(x,1) = t3(x,1)
end

muppermt= 0.10946.*mtan - r2xn.*(abs(p3yn-utyn))-r2yn.*(abs(p3xn-utxn))-muppertn -


r3yn.*(abs(p3xn-mtxn)) - r3xn.*(abs(p3yn-mtyn))

lty=xlsread('masscentre','BG2:BG82') %lower torso joint centres


ltx=xlsread('masscentre','BF2:BF82') %lower torso joint centres
lta=xlsread('masscentre','BC2:BC82') %lower torso acceleration
p4y=xlsread('masscentre','L2:L82')% mass centre lower torso
p4x=xlsread('masscentre','K2:K82')
t4=xlsread('masscentre','A2:A82')
n=80

for x=1:n

v4y(x,1)=[((p4y((x+1),1)-p4y(x,1)))/(t4(x+1,1)-t4(x,1))];
v4x(x,1)=[((p4x((x+1),1)-p4x(x,1)))/(t4(x+1,1)-t4(x,1))];
a4y(x,1)=[v4y(x,1)/(t4(x+1,1)-t4(x,1))];
a4x(x,1)=[v4x(x,1)/(t4(x+1,1)-t4(x,1))];

end

v4y
v4x
a4y
a4x
r4y=r3y+10.224*a3y
r4x=r3x-10.224*a3x

for x=1:80
ltan(x,1)=lta(x,1)
r4xn(x,1)=r4x(x,1)
r4yn(x,1)=r4y(x,1)
p4yn(x,1)=p4y(x,1)
p4xn(x,1)=p4x(x,1)
ltxn(x,1)=ltx(x,1)
ltyn(x,1)=lty(x,1)
muppermtn(x,1)=muppermt(x,1)

end

mupperlt= 0.10946.*ltan - r4xn.*(abs(p4yn-ltyn))-r4yn.*(abs(p4xn-ltxn))-muppermtn -


r3yn.*(abs(p4xn-mtxn)) - r3xn.*(abs(p4yn-mtyn))

%muscular forces
l = 0.05 % moment arm of erector spinae muscle
Fmuscle = mupperlt./l %muscular force for each frame
lttheta = atan(ltxn./ltyn) %trunk angle

Fcompressive = Fmuscle + 437.82* cos(lttheta)


Fshear = 437.82 *cos(lttheta)

y=[1:5:80]
mupperltn=[mupperlt(y)]
Fcompressiven=[Fcompressive(y)]
Fshearn=[Fshear(y)]
r4ynn=[r4yn(y)]
r4xnn=[r4xn(y)]
tn=[t3n(y)]

%plot of moments

plot(tn,mupperltn)
xlabel('Time')
ylabel('Net Bending Moment at L5/S1')
title('Moments in L5/S1 vs time, Dempsters')
grid on
t2=tn(8)
fx2=mupperltn(8)
txt2 = '\leftarrow Event 1- Start of Bending action';
text(t2,fx2,txt2)

%plot of shear and compressive forces


plot(tn, Fcompressiven,'r')
hold on
plot(tn,Fshearn,'m')
xlabel('Time')
ylabel('Net Compressive and Shear Forces at L5/S1')
title('Net Compressive and Shear Forces in L5/S1 vs time, Dempsters')
legend('Net Compressive Forces','Net Shear Forces')
grid on

t3=tn(7)
fx3= Fcompressiven(7)
txt3 = '\leftarrow Event 1- Start of Bending action';
text(t3,fx3,txt3)

t4=tn(7)
fx4= Fshearn(7)
txt4 = '\leftarrow Event 1- Start of Bending action';
text(t4,fx4,txt4)

%plot of reaction forces


plot(tn,r4ynn,'r')
hold on
plot(tn,r4xnn,'m')
xlabel('Time')
ylabel('Net Reaction Forces at L5/S1')
title('Net Reaction Forces at L5/S1 vs time, Dempsters')
legend('y component of reaction forces','x component of reaction forces')

grid on
t5=tn(7)
fx5= r4xnn(7)
txt5 = '\leftarrow Event 1- Start of Bending action';
text(t5,fx5,txt5)

t6=tn(7)
fx6= r4ynn(7)
txt6 = '\leftarrow Event 1- Start of Bending action';
text(t6,fx6,txt6)

Das könnte Ihnen auch gefallen