Upload
toukaigi
View
192
Download
4
Embed Size (px)
DESCRIPTION
Citation preview
MODELI�G A�D CO�TROL OF A HUMA�OID ROBOT ARM WITH
REDU�DA�T BIARTICULAR MUSCLE TORQUES
Haiwei Dong
Japan Society for the Promotion of Science
& Graduate School of System Informatics, Kobe University
1-8 Chiyoda-ku
Tokyo, Japan
Zhiwei Luo and Akinori Nagano
Department of Computational Science
Kobe University
1-1 Rokkodai-cho, Nada-ku
Kobe, Japan
{luo@gold; aknr-ngn@phoenix}.kobe-u.ac.jp
ABSTRACT Human's body is quite flexible because of high
redundancy. Compared with the existing control schemes
of robot manipulator, human's upper limb has better
performance in movement and robustness in fault
tolerance. This paper addresses the problem of controlling
a upper-limb like humanoid robot arm actuated by
muscles. Specifically, we built a humanoid robot arm
based on a real human's anthropological parameters.
Biarticular muscles were added as actuators. The
proposed adaptive control scheme tolerates the modeling
error; the parameter adaptation scheme identifies the time-
varying arm parameters in real-time. The computed
torques acting on joints are distributed to corresponding
muscle forces. The control and adaptation methods were
verified by an arm simulation in bend-stretch movement.
KEY WORDS
ARM CONTROL, BIARTICULAR MUSCLE,
ADAPTIVE CONTROL, ONLINE PARAMETER
ESTIMATION
1. Introduction
Human body is highly redundant. At any human joint,
there are more muscles than needed to generate the joint
motion. With the feature of redundancy, human body
shows great flexibility in movement [1]. To control such a
redundant nonlinear system, the neuro system needs to be
powerful enough. Compared with the delicate human
body, the existing humanoid robots are normally driven
by motors and each motor corresponds with a specific
degree of freedom (DOF). Such structure leads to the
humanoid robot less flexible. Moreover, because of less
redundancy, when one specific motor is broken, the
corresponding DOF is lost [2]. As the human movement
style is advanced, mimic the movement of human body is
crucial for the next generation humanoid robot.
Previous researchers in human motor control give us
some insight into how the human nervous system and
muscles interact to produce coordinated motion of body
parts. Anderson et al. used dynamic optimization of
minimum metabolic energy expenditure to solve the
motion control of walking [3]. Manal et al. designed a
nonlinear optimal controller to develop a real-time EMG-
driven virtual arm [4]. Neptune evaluated different
multivariate optimization methods in pedaling [5].
However, it has not been completely clear of the
mechanism of human movement. Additionally, these
researches consider problems from the viewpoint of
biology principle. For artificial humanoid robot, it is not
restricted to biology facts. For example, artificial
actuators have faster response that the time delay can be
ignored.
This paper considers modeling and controlling a
humanoid robot arm actuating by biarticular muscle.
There have been researches on the similar topic. Oh et al.
derived a Jocobian matrix based on biarticular muscle
model, based on which a feedforward control is designed
[2]. Pradeep et al. did experimental evaluation of
feedback and feedforward control for manipulators [6].
Specifically, previous researches deal with the three basic
problems as follows.
First is modeling rigid dynamics. Modern modeling
is based on high-resolution medical images (color-
cryosection images, CT images, and MR images). By
scanning a cadaver, a digital database is obtained. Bones
and muscles are reconstructed from medical images by
computer-graphics software packages [7]. Right now, a
complete human digital model is available from the
National Library of Medicine through the Visible Human
Project (VHP). From the digital human data, it is possible
to model the rigid parts of humanoid robot more
accurately.
Second is modeling muscle dynamics. Hill described
the mechanical behaviour of muscle as a contractile
element (CE) that models muscle's force-length-velocity
property, a series-elastic element (SEE) that models
muscle's active stiffness, and a parallel-elastic element
(PEE) that models muscle's passive stiffness [8]. Zajac
extended Hill's model to tendon-muscle's case [9].
Third is determining muscle forces. There are two
main methods. One is inverse dynamics method.
Noninvasive measurement of body motions (position,
velocity, and acceleration of each segment) and external
Proceedings of the IASTED International Conference
November 7 - 9, 2011 Pittsburgh, USARobotics (Robo 2011)
DOI: 10.2316/P.2011.752-014 368
forces are used as inputs to calculate muscle forces. The
other is forward dynamics method which uses muscle
excitations as the inputs to calculating the corresponding
body motions. Two commercial software packages are
successful in this field: AnyBody Modeling System as
inverse dynamics [10] and OpenSim as forward dynamics
method [11]. It is a novel research in forward dynamics
that Anderson et al. uses a parallel computer to calculate
the derivatives of the cost function and the constraints
with each control variable [12].
This paper addresses control of the upper limb for
humanoid robot. A muscle model based Hill's model is
added to a two link rigid arm model which is controlled
by a proposed adaptive control law. Because the
generated arm model is nonlinear and time varying, we
build an adaptation method to estimate the arm
parameters online. The simulation shows that the method
can control the arm model effectively. Compared to the
previous researches, the humanoid robot arm in this paper
is modeled according to a real human data. Besides,
although the arm parameters change with different weight
of load, the proposed adaptation method can compensate
it by online identification..
2. Arm Modeling with Biarticular Muscle
We built a two-dimensional model of the arm in the
horizontal plane (no gravity) based on the upper limb of
digital human. The model includes six muscles (shown as
1 to 6) and two degrees of freedom (shoulder flexion-
extension and elbow flexion-extension). The range of
shoulder angle is from -20 to 100 degree, and the range of
the elbow is from 0 to 170 degree. Four of the muscles are
mono-articular, and two are bi-articular where 1 and 2
cross the shoulder joint; 3 and 4 cross the elbow joint; 5
and 6 cross both joints. (Figure 1).
Figure 1. Humanoid robot arm model. The arm has two
degree of freedom and it can rotate around the shoulder
angle and elbow angle in the anterior plane.
Considering the arm (including upper arm and lower
arm) as a planar, two-link, articulated rigid object, the
position of hand can be derived by a 2-vector q of two
angles. The input is a 6-vector mF of muscle forces. The
dynamics of the rigid object is strongly nonlinear. Using
the Lagrangian equations in classical dynamics, we get
the dynamic equations of the upper limb as
11 12 1 11 12 1 1 1
21 22 2 21 22 2 2 2
H H q C C q G
H H q C C q G
τ
τ
+ + =
�� �
�� � (1)
with [ ] [ ]1 2 1 2
T Tq q q θ θ= = being the two joint angles.
[ ] ( )1 2
T
mf Fτ τ τ= = is a function of muscle force
mF
where mF is in the following form as
,1 ,2 ,3 ,4 ,5 ,6m m m m m m mF f f f f f f = . ( )H q is a
inertia matrix containing information with regard to the
instantaneous mass distribution. ( , )C q q� is centripetal and
coriolis torques representing the moments of centrifugal
forces. ( )G q is gravitational torques changing with the
posture configuration of the arm.
2
11 1 2 2 1 2 1 2 2
12 21 2 2 1 2 2
22 2
11 2 1 2 2 2
12 2 1 2 2 2
21 2 1 2 2 1
22
1 1 1 2 1 1 2 2 1 2
2 2 2 1 2
2 cos( )
cos( )
2 sin( )
sin( )
sin( )
0
( ) cos( ) cos( )
cos( )
H J J m d m d c q
H H J m d c q
H J
C m d c q q
C m d c q q
C m d c q q
C
G g m c m d q gm c q q
G gm c q q
= + + +
= = +
=
=−
=−
=
=
= + + +
= +
�
�
�
(2)
where g is the acceleration of gravity. ci is the distance
from the center of a joint i to the center of the gravity
point of link i . id is the length of link i . 2
i i i iJ m d I= +
where iI is the moment of inertia about axis through the
center of mass of link i .
For the convenience of mathematical derivation, we
define the actual arm parameter vector
T
T T T
H C GP P P P = (3)
where
11 11
12 12 1
21 21 2
22 22
, ,H C G
H C
H C GP P P
H C G
H C
= = =
(4)
and estimated arm parameter vector
ˆ ˆ ˆ ˆT
T T T
H C GP P P P =
(5)
where
369
1111
12 12 1
21 21 2
22 22
ˆˆ
ˆ ˆˆˆ , ,
ˆ ˆ ˆ
ˆ ˆ
H C G
CH
H C GP P P
H C G
H C
= = =
(6)
then the estimation error vector can be defined as
ˆT
T T T
H C GP P P P P P = − = � � � � (7)
As we can not obtain the accurate model of arm in
practice, the model is calculated by estimated parameters
as
ˆ ˆˆ ˆ( ) ( , ) ( )H q q C q q q G q τ+ + =�� � � (8)
where τ̂ is the torque computed by the estimated
parameters.
3. Arm Joint Control
To control the posture of the arm, we define a 2-vector
dq as the desired states. Define a sliding term s as
( ) ( )d d
s q q q q q q= +Λ = − +Λ −� � �� � (9)
where Λ is a positive diagonal matrix. Defining the
reference velocity rq� and reference acceleration
rq�� as
r s
r s
q q s
q q s
= −
= −
� �
�� �� � (10)
then we choose the control method as
ˆ ˆˆ ( ) ( , ) sgn(s)r r
H q q C q q q G Kτ = + + −�� � � (11)
The proof of control method is in Appendix 1.
4. Arm Parameter Adaptation
We choose parameter adaptation method as
1
1 2 1 2 1 2ˆ
TT T T T
r r r rP s q s q s q s q s s− =−Γ
��� �� � � (12)
On the other side, the dynamic equation (Equation (1))
can be written in the form
( )
1 1 1 1
2 2 2 2
, ,
0 0 0 0 1 0
0 0 0 0 0 1
H
C
G
S q q q P
Pq q q q
Pq q q q
P
τ =
=
�� �
�� �� � �
�� �� � �
(13)
From this equation, τ is the “output” of the system. S is
a signal matrix. P is a vector of real parameters. We can
predict the value of the output τ based on a parameter
estimation model, i.e.
ˆˆ SPτ = (14)
Then the prediction error e is defined
ˆˆe SP SP SPτ τ= − = − = � (15)
which leads to
( ) ( ) ( )( )
( ) ( )
ˆ ˆ
ˆˆ ˆ
ˆ ˆ2 2 2
T
T
T T T
SP SP SP SPe eP
P P
S SP SP S e S τ τ
∂ − −∂=−Ξ =−Ξ
∂ ∂
=− Ξ − =− Ξ =− Ξ −
�
(16)
Then the parameter adaptation law can be given as
( )ˆ ˆ2 TP S τ τ=− Ξ −�
(17)
Thus, considering Equation (12) and Equation (17), the
total adaptation law is
( )
1
1 2 1 2 1 2ˆ
ˆ2
TT T T T
r r r r
T
P s q s q s q s q s s
S τ τ
− =−Γ
− Ξ −
��� �� � �
(18)
The proof is in Appendix 2.
5. Muscle Force Computation
The coordinate system of the robot arm is shown in
Figure 2 where we define ( )1 6,1 2ija i j≤ ≤ ≤ ≤ as the
distance between muscle endpoint and adjacent joint.
Define ( )1 6kl k≤ ≤ as the k -th muscle length.
Figure 2. Coordinate system. The attached positions of the
muscles are defined in the coordinate system.
According to Sines Law and Cosines Law, we can get the
( )( )
( )( )
( )( )
( )( )
( ) ( )
( )( ) ( )
( ) ( )
1/22 2
1 11 12 11 12 1
1/ 22 2
2 21 22 21 22 1
1/22 2
3 31 32 31 32 2
1/22 2
4 41 42 41 42 2
1/22 2
51 01 52 02
5
51 01 52 02 1 2
2 2
01 61 02 62
6
01
2 cos
2 cos
2 cos
2 cos
2 cos
2
l a a a a
l a a a a
l a a a a
l a a a a
a a a al
a a a a
a a a al
a
θ
θ
θ
θ
θ θ
= + +
= + −
= + +
= + −
+ + + = + + + +
− + −=+ −( )( ) ( )
1/2
61 02 62 1 2cosa a a θ θ
− +
(19)
where
370
( )
( )
( )
( )
1 2
01
1 2
1 1
02
1 2
sin
sin
sin
sin
da
da
θ
θ θ
θ
θ θ
=+
=+
(20)
Below we give the muscle force distribution method.
Assuming the kinematics between the length of muscle
and the angle of joint is given as follows
( )L Q= Θ (21)
where
[ ]
[ ]
1 2 3 4 5 6
1 2
T
T
L l l l l l l
θ θ
=
Θ= (22)
then the derivative of Equation (21) is
m
L J= �� (23)
where mJ is a Jacobian matrix between the joint space
and the muscle space. Hence, the relationship between
muscle forces and joint torques can be derived by the
principle of virtual work as
T
m mJ Fτ = (24)
Hence, the inverse relation between the joint torques and
the muscle forces can be expressed as
( ) ( ) ( )( )1 T T T
m m m m cF f J I J J Kτ τ+ +−= = + − (25)
where ( ) ( )1
T T
m m m mJ J J J+ −
= is pseudo inverse matrix of
T
mJ satisfying
min
. .
m
T
m m
F
s t J F τ= (26)
cK is a voluntary vector having the same dimension with
T
mJ which expresses the internal forces generated by
redundant muscles.
6. Simulation
The performance of the proposed muscle torque control is
validated by a simulation. The proposed control scheme is
composed of the adaptive arm control method (Equation
(11), (24) and (25)) and the arm parameter adaptation
method (Equation (18)).
6.1 Upper Limb Model Configuration
In this simulation, the parameters of the humanoid robot
arm are based on a real data of human upper limb. The
setting of length, mass, mass center position and inertia
coefficients are shown in Table 1. The anthropological
data comes from [13]. In Equation (19), the muscle
configuration coefficients are chosen as the following
number ( )0.1 1 6,1 2ija i j= ≤ ≤ ≤ ≤ .
Segment Upper Arm Lower Arm
Length (m) 0.2817 0.2689
Mass (kg) 1.98 1.18
MCS Pos (m) 0.1626 0.1230
11I (kg.m
2) 0.013 0.007
22I (kg.m
2) 0.004 0.001
33I (kg.m
2) 0.011 0.006
Table 1
Anthropological parameter values. The parameter setting
of the arm is based on a real human data. MCS Pos means
position of the mass center.
6.2 Control Parameter Setting
In the simulation, we choose the control parameter
(Equation (11)) as
20 0
0 20K
=
(27)
adaptation parameters (Equation (18)) as
1 0.0015 diag(10), 2 0.001 diag(10)−Γ = ⋅ Ξ= ⋅ (28)
and muscle force computation parameter as
[ ]1 1 1 1 1 1T
cK = (29)
where ( )diag i is a unit diagonal matrix with dimension.
6.3 Results
The desired movement is bending the upper arm and
lower arm from 0 deg to 90 deg and then stretch them
back to 0 degree (Figure 3). Thus, two sinusoidal waves
are added as reference signals of 1q and
2q . The
frequency of the waves are set as 2π . Initial states of 1q
and 2q are zero. In order to test the adaptation method,
initial values of H , C and G are provided at the
beginning of the simulation. After that, adaptation method
adjusts the arm parameters based on error signals.
(a) Start phase.
371
(b) Middle phase.
(c) End phase.
Figure 3. Upper limb movement in isometric view. The
humanoid robot bends the arm and stretches the arm. The
animation is made by MATLAB which consists of three
parts: torso (12 bones), right_humerus (2 bones) and
right_ulna_radius_hand (58 bones).
The muscle forces are calculated, based on which, the arm
is driven. The performance of the proposed arm control is
shown in Figure 4. It shows that the tracking result of
shoulder angle and elbow angle is good, which verifies
the proposed method.
0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
time (s)
sh
ou
lde
r a
ng
le
(ra
d)
(a) Shoulder angle.
0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
time (s)
elb
ow
an
gle
(r
ad
)
(b) Elbow angle.
0 1 2 3 4 5 6 7 8 9 10−6
−4
−2
0
2
4
6x 10
−6
time (s)
tra
ckin
g e
rro
r o
f sh
ou
lde
r (r
ad
)
(c) Tracking error of shoulder joint.
0 1 2 3 4 5 6 7 8 9 10−6
−4
−2
0
2
4
6x 10
−6
time (s)
tra
ckin
g e
rro
r o
f e
lbo
w (
rad
)
(d) Tracking error of elbow joint.
0 1 2 3 4 5 6 7 8 9 10−2
0
2
4
6
8
10
12
14
16
18
time (s)
torq
ue
s (
Nm
)
shoulder
elbow
(e) Joint torques applied in upper arm.
Figure 4. Control results. Two sinusoidal wave is tracked
as reference angles whose magnitude is / 2π rad and
frequency is 2π . The subfigures of tracking error show a
good performance of the proposed method.
7. Conclusion
This paper deals with the problem of arm control for
humanoid robot. The control method computes the muscle
forces to make the arm track the predefined motion.
Although the control method can tolerate noise from load
and modeling error to a certain extent, a parameter
adaptation method was also proposed to identify the
parameters of dynamic equation in real-time. The
372
simulation shows good performance of the control
method.
Acknowledgement
This work was supported in part by Japan Society for the
Promotion of Science.
References
[1] M. G. Pandy, Computer modeling and simulation of
human movement, Annual Review of Biomedical
Engineering, 3, 2001, 245-273.
[2] S. Oh & Y. Hori, Development of two-degree-of-
freedom control for robot manipulator with biarticular
muscle torque, Proc. 2009 American Control Conference,
2009, 325-330.
[3] F. C. Anderson & M. G. Pandy, Dynamic
optimization of human walking, Journal of
Biomechanical Engineering, 123(5), 2001, 381-390.
[4] K. Manal, R. V. Gonzalez, D. G. Lloyd & T. S.
Buchanan, A real-time EMG-driven virtual arm,
Computers in Biology and Medicine, 32(1), 2002, 25-36.
[5] R. R. Neptune, Optimization algorithm performance
in determining optimal controls in human movement
analyses, Journal of Biomechanical Engineering, 121(2),
1999, 249-252.
[6] P. K. Khosla & T. Kanade, Experimental evaluation
of nonlinear feedback and feedforward control schemes
for manipulators, International Journal of Robotics
Research, 7(1), 1988, 18-28.
[7] B. A. Garner & M. G. Pandy, The obstacle-set
method for representing muscle paths in musculoskeletal
models, Computer Methods in Biomechanics and
Biomedical Engineering, 3(1), 2000, 1-30.
[8] A. V. Hill, The heat of shortening and dynamic
constants of muscle, Proc. Royal Society of London, 1938,
136-195.
[9] F. E. Zajac, Muscle and tendon: properties, models,
scaling and application to biomechanics and motor control,
Critical Reviews in Biomedical Engineering, 17(4), 1989,
359-410.
[10] M. Damsgaard, J. Rasmussen, S. T. Christensen, E.
Surma & M. D. Zee, Analysis of musculoskeletal systems
in the Anybody modeling system, Simulation Modeling
Practice and Theory, 14(8), 2006, 1100-1111.
[11] S. L. Delp, F. C. Anderson, A. S. Arnold, P. Loan, A.
Habib, C. T. John, E. Guendelman & D. G. Thelen,
Opensim: open-source software to create and analyze
dynamic simulations of movement, IEEE Transactions on
Biomedical Engineering, 54(11), 2007, 1940-1950.
[12] F. C. Anderson & M. G. Pandy, A dynamic
optimization solution for vertical jumping in three
dimensions, Computer Methods in Biomechanics and
Biomedical Engineering, 2(3), 1999, 201-231.
[13] A. Nagano, S. Yoshioka, T. Komura, R. Himeno &
S. Fukashiro, A three-dimensional linked segment model
of the whole human body, International Journal of Sport
and Health Science, 3, 2005, 311-325.
Appendix 1 Proof of Control Method
Define a Lyapunov function candidate
1
1
2
TV s Hs= (30)
where Γ is a positive diagonal matrix. The derivative of
1V can be written as
( )˙
1
1
2
T T
rV s Hq Hq s Hs= − + ��� �� (31)
From the general form of dynamic equation (Equation (1)
) Hq Cq Gτ= − −�� � , then
( )˙
1
1( )
2
1( ) ( 2 )
2
T T
r r
T T
r r
V s C s q G Hq s Hs
s Hq Cq G s H C s
τ
τ
= − + − − +
= − − − + −
�� ��
��� �
(32)
According to the previous research on mechanical system,
the system (Equation (1)) satisfies
( )2 0Tq H C q− =�� � (33)
i.e. 2H C−� is a skew-symmetric matrix. Hence, the
following relation satisfies
( )
02
2ij ij
ji ji
i jH C
H C otherwise
=− =− −
��
(34)
Hence,
( )
( )
( )
˙
1
ˆ ˆˆ ( ) ( , )
sgn(s)
( ) ( , ) sgn(s)
T
r r
T
r r r r
T
T T
r r
V s Hq Cq G
s H q q C q q q G Hq Cq G
s K
s H q q C q q q G s K
τ= − − −
= + + − − −
−
= + + −
�� �
�� � � �� �
� �� �� � �
(35)
If there is no estimation error in human parameter
adaptation, i.e., ˆ ( ) ( )H q H q= , ˆ ( , ) ( , )C q q C q q=� � ,
ˆ ( ) ( )G q G q= , we can obtain 1
0V <� ; otherwise, assuming
ˆ ˆˆ ( ) ( ) ( , ) ( , ) ( ) ( )H q H q C q q C q q G q G q α− + − + − ≤� �
where 0α> is a positive number, when the diagonal
elements of K are chosen larger than α , 1
0V <� . Hence,
under the proposed control method, tracking error
converges to zero.
Appendix 2 Proof of Adaptation Method
Define a total Lyapunov function candidate
373
1 2
1 1(2 )
2 4
T TV V V s Hs P I P= + = + Γ+� � (36)
Rewrite the applied torque (Equation (11))
,1 ,1 ,1 ,1
,2 ,2 ,2 ,2
1 1
2 2
ˆ ˆˆ sgn( )
ˆ
0 0 0 0 1 0ˆ
0 0 0 0 0 1ˆ
0 sgn( )
0 sgn( )
s r r
H
r r r r
C
r r r r
G
Hq Cq G K s
Pq q q q
Pq q q q
P
k s
k s
τ = + + −
=
−
�� �
�� �� � �
i�� �� � �
(37)
and apply it into V� , which leads to
( )
( ) ( )
1 ,1 2 ,2 1 ,1 2 ,2 1 ,1 2 ,2
1 ,1 2 ,2 1 2
1 ,1 2 ,2 1 ,
ˆ ˆˆ( )
1ˆsgn( ) ( )2
· sgn( )
ˆ( )
T
r r r r
T T T
r r r r r r
T
r r
TT
T
r r r
V t s Hq Cq G Hq Cq G
K s s P P P P P
s q s q s q s q s q s q
s q s q s s P K s s
P P P WP WP
P s q s q s q
= + + − − −
− ⋅ + Γ − +
= −
+ Γ − −Ξ
=
� �� � �� �
� ��� � �
�� �� �� �� � �
�� �
� �� � �
� �� �� ��
( ) ( )
1 2 ,2 1 ,1 2 ,2
1 ,1 2 ,2 1 2sgn( )
ˆ( )
r r r
T T
r r
TT
s q s q s q
s q s q s s K s s
P P P WP WP
− ⋅
+ Γ − −Ξ
�� � �
� �
� �� � �
(38)
Take the adaptation law (Equation (18)) into it and finally
we obtain
( ) ( )( ) sgn( )T
T TV t K s s P P WP WP=− ⋅ − Γ −Ξ� �� � � (39)
Here we choose the control parameter K large enough so
that ( ) ( )sgn( )T
T TK s s WP WP P P⋅ +Ξ > Γ �� � � , then
( ) 0V t <� (40)
Hence, under the proposed adaptation law, the estimated
parameters converge to the actual ones.
374