7
MODELIG AD COTROL OF A HUMAOID ROBOT ARM WITH REDUDAT 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 [email protected] 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, USA Robotics (Robo 2011) DOI: 10.2316/P.2011.752-014 368

Modeling and Control of a Humanoid Robot Arm with Redundant Biarticular Muscle Torques

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Modeling and Control of a Humanoid Robot Arm with Redundant Biarticular Muscle Torques

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

[email protected]

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

Page 2: Modeling and Control of a Humanoid Robot Arm with Redundant Biarticular Muscle Torques

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

Page 3: Modeling and Control of a Humanoid Robot Arm with Redundant Biarticular Muscle Torques

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

Page 4: Modeling and Control of a Humanoid Robot Arm with Redundant Biarticular Muscle Torques

( )

( )

( )

( )

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

Page 5: Modeling and Control of a Humanoid Robot Arm with Redundant Biarticular Muscle Torques

(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

Page 6: Modeling and Control of a Humanoid Robot Arm with Redundant Biarticular Muscle Torques

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

Page 7: Modeling and Control of a Humanoid Robot Arm with Redundant Biarticular Muscle Torques

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