muscle force control of a kinematically redundant bionic arm with real-time parameter update

8
Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update Haiwei Dong, Nadia Figueroa New York University AD Abu Dhabi, UAE {haiwei.dong, nadia.figueroa}@nyu.edu Abdulmotaleb El Saddik New York University AD and University of Ottawa Abu Dhabi, UAE and Ottawa, Canada [email protected] Abstract—Redundant muscle-driven arms have numerous ad- vantages, such as increased robustness, ability for load distribu- tion, impedance change etc. However, controlling such a muscle- driven arm is a difficult task. This is mainly due to its redundancy, specially when the muscle force is required to follow certain output constraints and fulfill optimization objectives. In this paper, a new method for controlling such muscle-like systems is proposed. By considering both joint and muscle acceleration contributions, a set of linear equations was constructed. Driving muscle activation is thus framed as the only unknown vector. To solve this linear equation set, a pseudo-inverse solution was used. The null space within this solution represents the internal force, which was used to evenly distribute the muscle forces, which is considered as “anti-fatigue” way. Moreover, to make the proposed method adaptive to modeling errors, an estimated system model was added to represent the real model. By updating the parameters of the estimated model based on prediction error, the estimated model approaches the real model gradually in real time. The overall method was tested for the case of a bending- stretching movement. The presented results verify the validity of the method, and illustrate its useful features and advantages. I. I NTRODUCTION In nature, animals and human are able to move mainly through their musculoskeletal systems. The bones constitute a basic support structure. By linking the bones with different kinds of joints, we effectively have a number of degrees of freedom (DOF) that arise. Each muscle has its attachment points on the bones and can only output the “pull” force to drive the joint. In comparison with classical motor-driven systems, there are several advantages for muscle-like systems. First, as multiple muscles are tied to each joint, the total load can be distributed, resulting in small loads for each muscle [1]. Thus, each muscle only has a small load. Second, if one muscle is broken, the other muscles can still drive the joint to rotate [2]. Third, bi-articular muscles can not only output joint torque for movement, but also can change the impedance character of the body [3]. Due to the advantages of a muscle-like driven system compared with a classical motor-driven system, researchers recently have been focusing on the biologically- inspired mechanical system with many successful applications in robotics. Some examples include: ECCEROBOT-2 Robot [4], Biorob Arm [3], [5], musculo-skeletal arm [6], etc. Such robots are often termed “bionic robot”. In this paper, we focus on controlling a muscle-like bionic robot with bi-articular and mono-articular muscles. If we try to approach bionic robot control in the classical way, the solution would be to initially compute the joint torque, and then distribute the joint load to the muscles. The advantage of such an approach is that all the existing control methods can be used directly, such as sliding control, impedance control, robust control, etc. Thus, what remains is to design a proper muscle distribution principle. Dong et al. designed a composite control where sliding control is used to achieve robust joint torque. This torque was then distributed to muscles by virtual work between muscles and joints [7]. The disadvantage of this method is that it artificially divided a problem into two separate processes. Furthermore, because the joint torque control methods are designed specifically for classical motor-driven systems, the computed joint torque may lead the muscle force change not smooth. Thus, it might be worthy to follow a novel avenue: model the bionic robot arm as a muscle-driven system considering its complex dynamics and propose a novel method for controlling it. In this paper, we choose to follow this avenue. Specifically, controlling a system driven by bi-articular and mono-articular muscles involves many issues. Four im- portant problems are listed below. The first problem is muscle coordination. Muscle configurations vary, therefore a muscle may correspond to one or two joints. Furthermore, for one specific joint, there are usually several muscles corresponding to its movement. Coordination of these muscles can be seen as a general control problem for over-actuated systems. Until now, many approaches have been proposed. For example, Yokishawa proposed a method to avoid singularities in the arm by minimizing a manipulability measure [8]. Maciejewski et al. used the null-space vector to aid obstacle avoidance [9]. Klug et al. developed a 3 DOF bionic robot arm which is controlled by a PD controller with feed-forward compensation [5]. The trajectory of the arm is optimized and adjusted for a time and energy-optimal motion [10]. Potkonjak et al. built a humanoid robot with antagonistic drives whose controller is designed by loop-shaping [4]. A second important problem is enforcing muscle force constraints. Each muscle can only provide a “pull” force. Meaning that, the muscle force is nonnegative. In addition, each muscle has its limit in force output. Thus, the output force for each muscle is within an interval from 0 to maximum output force. For many years, researchers have focused on solving such control problems with input constraints. Tahara proposed a simple sensor-motor control scheme for internal force and simulated the overall stability for a cable-driven 2013 IEEE International Conference on Systems, Man, and Cybernetics 978-1-4799-0652-9/13 $31.00 © 2013 IEEE DOI 1640 2013 IEEE International Conference on Systems, Man, and Cybernetics 978-1-4799-0652-9/13 $31.00 © 2013 IEEE DOI 10.1109/SMC.2013.283 1640

Upload: toukaigi

Post on 01-Nov-2014

79 views

Category:

Education


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update

Muscle Force Control of a Kinematically RedundantBionic Arm with Real-Time Parameter Update

Haiwei Dong, Nadia FigueroaNew York University AD

Abu Dhabi, UAE

{haiwei.dong, nadia.figueroa}@nyu.edu

Abdulmotaleb El SaddikNew York University AD and University of Ottawa

Abu Dhabi, UAE and Ottawa, Canada

[email protected]

Abstract—Redundant muscle-driven arms have numerous ad-vantages, such as increased robustness, ability for load distribu-tion, impedance change etc. However, controlling such a muscle-driven arm is a difficult task. This is mainly due to its redundancy,specially when the muscle force is required to follow certainoutput constraints and fulfill optimization objectives. In thispaper, a new method for controlling such muscle-like systemsis proposed. By considering both joint and muscle accelerationcontributions, a set of linear equations was constructed. Drivingmuscle activation is thus framed as the only unknown vector.To solve this linear equation set, a pseudo-inverse solution wasused. The null space within this solution represents the internalforce, which was used to evenly distribute the muscle forces,which is considered as “anti-fatigue” way. Moreover, to makethe proposed method adaptive to modeling errors, an estimatedsystem model was added to represent the real model. By updatingthe parameters of the estimated model based on prediction error,the estimated model approaches the real model gradually in realtime. The overall method was tested for the case of a bending-stretching movement. The presented results verify the validity ofthe method, and illustrate its useful features and advantages.

I. INTRODUCTION

In nature, animals and human are able to move mainlythrough their musculoskeletal systems. The bones constitutea basic support structure. By linking the bones with differentkinds of joints, we effectively have a number of degrees offreedom (DOF) that arise. Each muscle has its attachmentpoints on the bones and can only output the “pull” forceto drive the joint. In comparison with classical motor-drivensystems, there are several advantages for muscle-like systems.First, as multiple muscles are tied to each joint, the total loadcan be distributed, resulting in small loads for each muscle [1].Thus, each muscle only has a small load. Second, if one muscleis broken, the other muscles can still drive the joint to rotate[2]. Third, bi-articular muscles can not only output joint torquefor movement, but also can change the impedance characterof the body [3]. Due to the advantages of a muscle-likedriven system compared with a classical motor-driven system,researchers recently have been focusing on the biologically-inspired mechanical system with many successful applicationsin robotics. Some examples include: ECCEROBOT-2 Robot[4], Biorob Arm [3], [5], musculo-skeletal arm [6], etc. Suchrobots are often termed “bionic robot”. In this paper, we focuson controlling a muscle-like bionic robot with bi-articular andmono-articular muscles.

If we try to approach bionic robot control in the classical

way, the solution would be to initially compute the jointtorque, and then distribute the joint load to the muscles.The advantage of such an approach is that all the existingcontrol methods can be used directly, such as sliding control,impedance control, robust control, etc. Thus, what remains isto design a proper muscle distribution principle. Dong et al.designed a composite control where sliding control is used toachieve robust joint torque. This torque was then distributedto muscles by virtual work between muscles and joints [7].The disadvantage of this method is that it artificially divideda problem into two separate processes. Furthermore, becausethe joint torque control methods are designed specifically forclassical motor-driven systems, the computed joint torque maylead the muscle force change not smooth. Thus, it might beworthy to follow a novel avenue: model the bionic robot armas a muscle-driven system considering its complex dynamicsand propose a novel method for controlling it. In this paper,we choose to follow this avenue.

Specifically, controlling a system driven by bi-articularand mono-articular muscles involves many issues. Four im-portant problems are listed below. The first problem is musclecoordination. Muscle configurations vary, therefore a musclemay correspond to one or two joints. Furthermore, for onespecific joint, there are usually several muscles correspondingto its movement. Coordination of these muscles can be seenas a general control problem for over-actuated systems. Untilnow, many approaches have been proposed. For example,Yokishawa proposed a method to avoid singularities in the armby minimizing a manipulability measure [8]. Maciejewski etal. used the null-space vector to aid obstacle avoidance [9].Klug et al. developed a 3 DOF bionic robot arm which iscontrolled by a PD controller with feed-forward compensation[5]. The trajectory of the arm is optimized and adjusted fora time and energy-optimal motion [10]. Potkonjak et al. builta humanoid robot with antagonistic drives whose controller isdesigned by loop-shaping [4].

A second important problem is enforcing muscle forceconstraints. Each muscle can only provide a “pull” force.Meaning that, the muscle force is nonnegative. In addition,each muscle has its limit in force output. Thus, the outputforce for each muscle is within an interval from 0 to maximumoutput force. For many years, researchers have focused onsolving such control problems with input constraints. Taharaproposed a simple sensor-motor control scheme for internalforce and simulated the overall stability for a cable-driven

2013 IEEE International Conference on Systems, Man, and Cybernetics

978-1-4799-0652-9/13 $31.00 © 2013 IEEE

DOI

1640

2013 IEEE International Conference on Systems, Man, and Cybernetics

978-1-4799-0652-9/13 $31.00 © 2013 IEEE

DOI 10.1109/SMC.2013.283

1640

Page 2: Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update

system [6]. Tsang applied Generalized Predictive Control(GPC) in DC motor drive while guaranteeing the amplitudelimits of the input currency [11]. Fujimoto et al. proposed anoptimal control method bearing input constraint by interactivelearning [12]. Yamaguchi used gradient iteration to modify themuscle force until it satisfies the constraint [13].

Yet a third important problem, is designing the system sothat it attempts to decrease muscular fatigue. This is a higherrequirement than the muscle force constraint. The challenge isthat we need to find an optimization solution that separates allthe muscle forces evenly, within the feasible solution space ofmuscle forces. For this distribution method, optimization is acommon method. Anderson et al. used dynamic optimizationof minimum metabolic energy expenditure to solve the motioncontrol of walking [14]. Manal et al. designed a nonlinearoptimal controller to develop a real-time EMG-driven virtualarm [15]. Neptune evaluated different multivariate optimizationmethods in pedaling [16].

Finally, the fourth important problem is adaptivity. For areal-world control plant, absolute models are not achievablemainly due to multiple many uncertainties, such as sen-sor uncertainty, actuator uncertainty, environment uncertainty,modeling uncertainty, etc. Thus, the control method must havethe ability to tolerate these uncertainties or to update theparameters of the modeled plant. This issue of adaptivity hasbeen considered for years. In robotics, the research on adapta-tion comes from online system identification. The objective isto estimate the system structure and parameters in real-time,while the system is in operation. Here, the system is consideredas a black box. By stimulating the system and creating relationsbetween the inputs and outputs, the parameters of the systemcan be adjusted online [17]. Based on this system identificationidea, many control methods with adaptive parameter updatehave come out, such as robust control [18], adaptive feedbackcontrol [19], neurofuzzy adaptive control [20], etc. However,notice that the adaptation ability problem has not been consid-ered in arm control driven by over-actuated muscles.

In this paper, we propose a new method for controlling amuscle-driven system, that addresses all of the four importantproblems previously explained. As a preparatory step for ourmethod, the desired joint trajectory points was connected bya continuous derivative polynomial function for each moment;resulting with a Jacobian matrix from muscle space to jointspace. For the muscle activation computation, by consideringthe acceleration in the joint space and muscle space respec-tively, we obtained a set of linear equations. The pseudo-inverse solution to this linear equation set gave us the initialresult for the muscle forces. To make the muscles forcessatisfy the output force constraint and furthermore work inthe feasible output force range, we gave a gradient directionfor the muscle forces to satisfy the mentioned constraint inthe null space of the previous pseudo-inverse solution. As thebody movement load distributes evenly in all the muscles, theproposed algorithm has a character of “anti-fatigue”. To makethe proposed method adaptive for modeling error, we added anestimated model to represent the real model. By updating theparameters of the estimated model based on prediction error,the estimated model approaches the real model gradually inreal time.

The overall proposed method is tested for a bending-

Fig. 1: Bionic robot arm model.

stretching movement. The results verify the validity of themethod, as well as dealing with the four previously mentionedproblems effectively. We will start by presenting our bionicarm mathematical model, continue by deriving the steps ofour muscle activation calculation method, and then discuss oursimulation and animation results, before providing a concisesummary and conclusion.

II. BIONIC ROBOT ARM MODEL

A. Dynamic Modeling

We built a 2-dimensional model of an arm in the horizontalplane (no gravity) based on the upper limb structure of a digitalhuman. The model includes six muscles (shown as 1 to 6) andtwo degrees of freedom (shoulder flexion-extension and elbowflexion-extension). The range of the shoulder angle is from -20to 100 degree, and the range of the elbow is from 0 to 170degree. Four of the muscles are mono-articular, and two arebi-articular where 1 and 2 cross the shoulder joint; 3 and 4cross the elbow joint; 5 and 6 cross both joints (Fig.1).

Considering the arm (including upper arm and lower arm)as a planar, two-link, articulated rigid object, the position of thehand can be derived by a 2-vector q of two angles. The inputis a 6-vector Fm of muscle forces. The dynamics of the rigidobject are strongly nonlinear. Using the Lagrangian equationsfrom classical dynamics, we get the dynamic equations of theideal upper limb model

[H11 (t) H12 (t)H21 (t) H22 (t)

] [q1q2

](1)

+

[C11 (t) C12 (t)C21 (t) C22 (t)

] [q1q2

]=

[τ1(t)τ2(t)

]

or abbreviated as

H (t) q + C (t) q = τ (2)

with q = [ q1 q2 ]T= [ θ1 θ2 ]

Tbeing the two joint

angles. τ = [ τ1 τ2 ] = f (Fm) is the joint torque whichis considered as a function of muscle force Fm

16411641

Page 3: Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update

Fm = [ Fm,1 Fm,2 Fm,3 Fm,4 Fm,5 Fm,6 ]T

(3)

H (q, t) is the inertia matrix which contains information withregards to the instantaneous mass distribution. C (q, q, t) iscentripetal and coriolis torques representing the moments ofcentrifugal forces.

H11 = J1 + J2 +m2d21 + 2m2d1c2 cos (q2)

H12 = H21 = J2 +m2d1c2 cos (q2)

H22 = J2C11 = −2m2d1c2 sin (q2) q2 (4)

C12 = −m2d1c2 sin (q2) q2C21 = m2d1c2 sin (q2) q1C22 = 0

where ci is the distance from the center of a joint i to thecenter of gravity point of link i. di is the length of link i.Ji = mid

2i + Ii where Ii is the moment of inertia about the

axis through the center of the mass of link i.

B. Estimated Model

In our research, we consider that the arm model in Eq.1is influenced by modeling errors and disturbances from theenvironment. Hence, we use an estimated arm model torepresent the real one, which is written as

[H11 (t) H12 (t)

H21 (t) H22 (t)

] [q1q2

](5)

+

[C11 (t) C12 (t)

C21 (t) C22 (t)

] [q1q2

]=

[τ1(t)τ2(t)

]

or abbreviated as

H (t) q + C (t) q = τ (6)

where · means estimated value of (·). The relation betweenthe ideal model (Eq.1) and the estimated model (Eq.5) is thatwe choose τ = τ . In this paper, we use the estimated modelto generate torque for controlling a real system. In addition,the parameter adaptation updates the estimated parameters H ,Cand G in real-time.

For the convenience of the following derivation, we definethe actual and estimated arm parameter vector

P =[PTH PT

C

]T, P =

[PTH PT

C

]T(7)

where

PH =

⎡⎢⎣

H11

H12

H21

H22

⎤⎥⎦ , PC =

⎡⎢⎣

C11C12C21C22

⎤⎥⎦

PH =

⎡⎢⎢⎣

H11

H12

H21

H22

⎤⎥⎥⎦ , PC =

⎡⎢⎢⎣

C11C12C21C22

⎤⎥⎥⎦

then the estimation error vector can be defined as

P = P − P =[PTH PT

C

]T(8)

III. MUSCLE FORCE CALCULATION

A. Muscle Force Computation (Step 1): Distributing MuscleForces

The general dynamic equation with 6 muscles and 2degrees of freedom (Eq.1) can be simply written as

H (q, t) q + C (q, t) q = τ (9)

Here, we transform it into the following form

H (q, t) q = Γ + Λ (10)

where Γ = τ , Λ = −C (q, t) q. From this viewpoint, we canseparate the total acceleration contribution by two parts as qΓand qΛ, i.e.

q = qΓ + qΛ

qΓ = H (q, t)−1Γ (11)

qΛ = H (q, t)−1Λ

We define Jm as the Jacobian matrix from joint spaceto muscle space, based on which, the joint torque can becalculated as [7]

τ = JTmFm (12)

In order to find the maximum acceleration contribution of eachmuscle, we define qm,j,max (j = 1, 2, · · · , 6) as the maximumacceleration contribution of j-th muscle. According to Eq.12,we have

qm,1,max = H−1JTm [ Fm,1,max 0 0 0 0 0 ]

T

· · · (13)

qm,6,max = H−1JTm [ 0 0 0 0 0 Fm,6,max ]

T

As each muscle can be considered to have its own contri-bution to the acceleration, we can get a set of linear equations

AX = B (14)

where

A = [ qm,1,max qm,2,max · · · qm,6,max ]

X = [ σ1 σ2 · · · σ6 ]T

B = qΓ

and vector X gives us the muscle activation level. We can usepseudo-inverse to compute muscle activation level as

X = A+B (15)

16421642

Page 4: Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update

where A+ = AT(AAT

)−1. Therefore, the muscle force can

be calculated as the multiplication of muscle activation levelwith maximum muscle force. By defining a vector

Fm,max = [ Fm,1,max Fm,2,max · · · Fm,6,max ]T

(16)

as the maximum muscle force, we can give the initial muscleforce based on pseudo-inverse solution as

Fm,ini = Fm,max ⊗X (17)

where operator ⊗ calculates the dot product of two vectors.According to the properties of the pseudo-inverse, the initialmuscle force satisfies

min ‖Fm,ini‖2 =⎛⎝ 6∑

j=1

F 2m,j

⎞⎠ (18)

i.e., Fm,ini is the minimum muscle force under the sense ofleast-squares.

B. Muscle Force Computation (Step 2): Satisfying Constraints

However, the above solution Fm,ini does not considerphysical constraints, for example that the maximum outputforce of a muscle is limited, or that muscles can only contract,etc. To satisfy these constraints, we define Fin as a vector withthe same dimension as Fm which expresses the internal forcesgenerated by the redundant muscles. We can define the internalforce in Fm space as

g (Fin) =(I − (

JTm

)+JTm

)Fm (19)

where I is an identity matrix having the same dimension withmuscle space. According to Moore-Penrose pseudo-inverse(Eq.15), the vector g (Fin) is orthogonal with Fm,ini. Thus,we can choose any vector as Fin. Below, we give a gradientdirection to Fin to make Fm satisfy the boundary constraints.

Here, we assume each muscle force is limited in the intervalfrom Fm,j,min to Fm,j,max for 1 ≤ j ≤ 6. Our objective isto choose a gradient direction to make each element of Fm,j

(1 ≤ j ≤ 6) equal or greater than Fm,j,min, and equal or lessthan Fm,j,max. Considering the issue of “muscle fatigue”, onereasonable way is to make the output force of the muscles toremain in the middle of the range Fm,j,min and Fm,j,max. Thephysical meaning of this idea is to distribute load to all musclesinto their proper load interval. Based on these considerations,we choose a function h as

h (Fm) =

6∑j=1

(Fm,j − Fm,j,mid

Fm,j,mid − Fm,j,max

)2

(20)

where

0 ≤ Fm,j,min ≤ Fm,j ≤ Fm,j,max

Fm,j,mid = (Fm,j,min + Fm,j,max) /2

j = 1, 2, · · · , 6

then we chose Fin as the gradient of the function h, i.e.

Fin = Kin∂h (Fm)

∂Fm

∣∣∣∣Fm,ini

= Kin ∇h|Fm,ini(21)

=

⎡⎢⎢⎢⎢⎣

2 · Fm,ini,1−Fm,1,mid

Fm,1,mid−Fm,1,max

2 · Fm,ini,2−Fm,2,mid

Fm,2,mid−Fm,2,max

...

2 · Fm,ini,6−Fm,6,mid

Fm,6,mid−Fm,6,max

⎤⎥⎥⎥⎥⎦

where Kin is a scalar matrix. It is simple to prove thatthe direction of Fin points to Fm,i,mid. According to thecomputation in Eq.15 and Eq.21, the final muscle force iscalculated as

Fm = Fm,ini + g (Fin) (22)

C. Dynamic Parameter Update

To make the estimated robot arm model approach the realmodel, we use a parameter adapter to adjust the dynamicparameters in the estimated model. The parameter update isbased on the prediction error between the real and estimatedrobot model. From the viewpoint of information flow, thedynamic equation (Eq.1) can be written in the form

τ (t) = S (t, q, q, q)P (23)

where

S =

[q1 q2 0 0 q1 q2 0 00 0 q1 q2 0 0 q1 q2

], P =

[PH

PC

]

From this equation, τ is the “output” of the system. S isa signal matrix. P is a vector of real parameters. To avoidthe acceleration terms in S, we can use a filtering technique.Specifically, by multiplying both sides of S with e−λ(t−r) andintegrating it, we can get

ˆ t

0

e−λ(t−r)τ (r) dr (24)

=

ˆ t

0

e−λ(t−r)

[q1 q2 0 0 q1 q2 0 00 0 q1 q2 0 0 q1 q2

]

·dr[

PH

PC

]

where λ and r are positive numbers. By using partial integra-tion, the acceleration terms on the right side can be writtenas

ˆ t

0

e−λ(t−r)

[q1 00 q2

]dr (25)

= e−λ(t−r)

[q1 00 q2

]∣∣∣∣t

0

−ˆ t

0

d

dr

(e−λ(t−r)

[q1 00 q2

])dr

16431643

Page 5: Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update

Therefore, Eq.23 can be written in the form

τ (t) = S (t, q, q)P (26)

We can predict the value of the output τ based on the parameterestimation, i.e.

τ = SP (27)

where P is the estimation of P . τ is the prediction of τ . Thus,the prediction error e can be defined as

e = τ − τ = SP − SP = SP (28)

According to this, we formulate the parameter adaptationmethod based on the prediction error e as follows

˙P = −Ξ∂

(eT e

)∂P

(29)

= −Ξ∂

((SP − SP

)T (SP − SP

))

∂P

= −2ΞST(SP − SP

)= −2ΞST e = −2ΞST (τ − τ)

where Ξ is a diagonal coefficient matrix.

Proof: Parameter Update Convergence

Here we choose a Lyapunov function candidate

V (t) =1

4PT P (30)

which describes the energy of parameter change. If we considerthat the parameters change slower with respect to the parameteridentification, from Eq.8, we can get

˙P =˙P − P = −2ΞSTSP (31)

then the time-derivative of V (t) is

V (t) =1

2PT ˙P =

1

2PT

(−2ΞSTSP

)(32)

= −Ξ(SP

)T (SP

)< 0 (33)

which means that the parameter estimation converges to realvalues.

Therefore, according to Eq.29, the parameter adaptationcan be obtained by

˙P = −2ΞST (τ − τ) (34)

Segment Upper arm Lower arm

Length (m) 0.282 0.269

Mass (kg) 1.980 1.180

MCS Pos (m) 0.163 0.123

I11 (kg·m2) 0.013 0.007

I22 (kg·m2) 0.004 0.001

I33 (kg·m2) 0.011 0.006

TABLE I: Anthropological parameter value (MCS Pos is theposition of the mass center).

D. Procedures

The desired trajectory points are connected by a continuousderivative function for each moment. Based on it, we computethe muscle forces. These force signals are used in the realarm model and estimated arm model as inputs. The outputerror of the two models, i.e., prediction error, is used tochange the dynamic parameters of the estimated arm model forapproaching the real one. The performance of the algorithm isshown by a 3D virtual bionic arm (Fig.2).

IV. SIMULATION AND ANIMATION

The performance of the proposed muscle force computationmethod was tested through a bending-stretching simulation.The desired movement is bending the upper arm and lower armfrom 0 rad to π/2 rad and then stretching them back to 0 rad.The frequency of the movement is 1Hz and the total simulationtime is 10s. To test the performance of the parameter updatemethod, we set all the estimated dynamic parameters to be zero(i.e., PH , PC are zero vectors) at the beginning. The estimatedparameters are updated to approach the real parameters withtime afterwards.

A. Parameter Setting

The parameters of the arm model are based on the realdata of a human upper limb. The setting of length, mass, masscenter position and inertia coefficients are shown in Table1. This anthropological data comes from [21]. Without lossof generality, the muscle configuration coefficients are set asaij = 0.1m (1 ≤ i ≤ 6, 1 ≤ j ≤ 2).

In this algorithm, there are very few parameters that needto be set. These include the parameters relating with estimatedmodel update (Eq.34), i.e.

2Ξ = 0.001 ·Diag ([ 1 1 1 1 1 1 1 1 1 1 ])(35)

and the parameters relating with muscle force computation(Eq.16 and Eq.21), i.e.,

Kin = 100 ·Diag ([ 1 3 1 1 1 2 ]) (36)

Fm,i,min = 0, Fm,i,max = 500 (1 ≤ i ≤ 6) (37)

where Diag (·) denotes a diagonal matrix with diagonal ele-ments being as (·).

16441644

Page 6: Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update

Fig. 2: Block diagram of the proposed method.

B. Muscle Force

According to the bending-stretching movement, the desiredtrajectory points of the shoulder joint and elbow joint weregenerated [7]. These trajectory points were used to create atrajectory function for each joint. The muscle force was com-puted by tracking the trajectory function. By applying thesemuscle forces, we controlled the arm to move. The computedmuscle force is shown in Fig.3 where (a) gives the muscleforce curve (from Fm,1 to Fm,6) with respect to time. Wecan find that, all the muscle forces satisfy the force constraint,i.e., they are within the force range of [Fm,i,min, Fm,i,max] for(1 ≤ i ≤ 6). While (b) concludes the statistical results wherex axis is the muscle index (from m1 to m6) and y axis is theaverage force in the simulation time. As we set the maximummuscle force to 500N, the force in the middle of the forcerange is 250N. σi (1 ≤ i ≤ 6) which is above each histogramis the derivation of the i-th muscle force. From (b), we cansee that the muscles approximately work around the middle oftheir force ranges.

C. Parameter Updating Performance

Fig.4 shows the dynamic parameter change in the simula-tion where (a) indicates the estimated parameter PH , PC and(b) indicates the true parameter PH , PC . For both of the sub-plots, the x axis is time index corresponding with simulationtime. It is clear that, the estimated dynamic parameters are notthe same as the real dynamic parameters. The reason for thisis that the desired tracking trajectory only stimulates part ofthe whole dynamic features of the system. However, based onthis partly-stimulated parameters, the tracking task can stillbe fulfilled (shown in the next Subsection). The estimateddynamic parameters can be closer to the real ones when thedynamics are further stimulated by the desired trajectory.

0 2 4 6 8 10200300400

Fm

1 (N

)

0 2 4 6 8 10−500

0500

Fm

2 (N

)

0 2 4 6 8 10100200300

Fm

3 (N

)

0 2 4 6 8 10−500

0500

Fm

4 (N

)

0 2 4 6 8 10200400600

Fm

5 (N

)

0 2 4 6 8 100

200400

Fm

6 (N

)

time (s)

(a) Muscle force curve.

m1 m2 m3 m4 m5 m60

50

100

150

200

250

300

350

400

muscle index

aver

age

forc

e (N

)

σ1=73.55N

σ2=152.85N

σ3=35.39N σ

4=113.36N

σ5=72.27N

σ6=69.43N

Fmid

=250N

(b) Muscle force distribution.

Fig. 3: Computed muscle force.

16451645

Page 7: Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update

P_h

at_H

0.5 1 1.5 2 2.5 3

x 104

H_hat_22

H_hat_21

H_hat_12

H_hat_11

P_h

at_C

time index

0.5 1 1.5 2 2.5 3

x 104

C_hat_22

C_hat_21

C_hat_12

C_hat_11

0

1

2

3x 10

−3

(a) Estimated Parameter.

P_H

0.5 1 1.5 2 2.5 3

x 104

H_22

H_21

H_12

H_11

P_C

time index

0.5 1 1.5 2 2.5 3

x 104

C_22

C_21

C_12

C_11

−0.2

0

0.2

(b) Real parameter.

Fig. 4: Parameter update.

D. Joint Tracking Performance

The computed muscle forces were used to control thearm model. Compared with the desired trajectory, the trackingerrors of shoulder joint and elbow joint gradually converge(Fig.5). The big tracking error at the beginning is due to theuncertainty of the initial dynamic parameters. By updating theparameters in real-time, the tracking error decreases with time.The static tracking error of both shoulder joint and elbow jointis smaller than 0.01 rad and thus, the tracking performance isconsidered acceptable.

E. Animation

A 3D virtual robot arm was created by Simulink (SimMe-chanics Toolbox). The arm model consists of three parts: righthumerus (1 bones), torso (6 bones) and right ulna radius hand(29 bones). The detailed information of the bones is listed inTable II.

The polygon files (see Table II) are from OpenSim. Theoriginal format of these files are .vtp. To aid SimMechanics onimporting these polygons, we changed the format of polygonfiles from .vtp file to .stl file. We use this 3D virtual arm tovisualize the arm movement. Fig.6 shows the arm movementin the bending-stretching movement cycle.

V. CONCLUSION

This paper presented a novel method for controlling amuscle-driven system. Compared with previous methods, thereare numerous advantages. First, there are very few parametersthat need to be set – partially, because the pseudo-inversecan be seen as an “optimization” method. Second, as the

0 1 2 3 4 5 6 7 8 9 10−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

0.02

0.03

time (s)

trac

king

err

or o

f sho

ulde

r jo

int (

rad)

(a) Shoulder joint.

0 1 2 3 4 5 6 7 8 9 10−0.015

−0.01

−0.005

0

0.005

0.01

time (s)

trac

king

err

or o

f elb

ow jo

int (

rad)

(b) Elbow joint.

Fig. 5: Tracking error.

Part name Bone name

arm_r_humerus arm_r_humerus

torso

ground_jawground_r_scapula

ground_skullground_r_clavicle

ground_ribsground_spine

r_ulna_radius_hand

arm_r_1mcarm_r_4mc

arm_r_pisiformarm_r_2distpharm_r_4midpharm_r_radiusarm_r_2mc

arm_r_4proxpharm_r_scaphoidarm_r_2midpharm_r_5distph

arm_r_thumbdistarm_r_2proxph

arm_r_5mcarm_r_thumbprox

arm_r_3distpharm_r_5midph

arm_r_trapeziumarm_r_3mc

arm_r_5proxpharm_r_trapezoidarm_r_3midpharm_r_capitate

arm_r_triquetrumarm_r_3proxpharm_r_hamate

arm_r_ulnaarm_r_4distpharm_r_lunate

TABLE II: Bones setup in visualization.

16461646

Page 8: Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update

Fig. 6: Arm movement animation in isometric view.

main computation happens through the pseudo-inverse, thecomputational scale of the proposed method is mainly relatedto the number of the joints, not to the number of muscles. Thismeans that for the bionic arm, even if we add more muscles,the computational time would not increase significantly. Fur-thermore, the proposed muscle activation computation methodcan be used as a solution for a general redundancy problem. Webelieve that this is an important contribution not only towardsmodeling such systems, but most importantly towards creatingthe robots of the future, which will exhibit the numerousadvantages of muscle-driven systems. Our future work wouldbe extending the bionic arm model to 3D and extending the ex-periments to real human arm movements using measurementsfrom Kinect Joint Tracking/Motion Capture System.

REFERENCES

[1] H. Dong, Z. Luo, and A. Nagano, “Distributing joint torques to muscleforces for robot manipulator control,” in Proceeding of 29th AnnualConference of the Robotics Society of Japan, pp. 1Q3–3, 2011.

[2] S. Oh and Y. Hori, “Development of two-degree-of-freedom control forrobot manipulator with biarticular muscle torques,” in Proceeding ofAmerican Control Conference, pp. 325–330, 2009.

[3] S. Klug, O. Stryk, and B. Mohl, “Design and control mechanismsfor a 3dof bionic manipulator,” in Proceeding of IEEE/RAS-EMBSInternational Conference on Biomedical Robotics and Biomechatronics,pp. 450–454, 2006.

[4] V. Potkonjak, M. Jovanovic, P. Milosavljevic, N. Bascarevic, andO. Holland, “The puller-follower control concept in the multi-jointedrobot body with antagonistically coupled compliant drives,” in Proceed-ing of IASTED International Conference on Robotics, pp. 375–381,2011.

[5] S. Klug, B. Mohl, V. Ttryk, and O. Barth, “Design and application of a3 dof bionic robot arm,” in Proceeding of 3rd International Symposiumon Adaptive Motion in Animals and Machines, pp. 1–6, 2005.

[6] K. Tahara, Z. Luo, S. Arimoto, and H. Kino, “Sensory-motor controlmechanism for reaching movements of a redundant musculo-skeletalarm,” Journal of Robotic Systems, vol. 22, pp. 639–651, 2005.

[7] H. Dong and N. Mavridis, “Adaptive biarticular muscle force control forhumanoid robot arms,” in Proceeding of 12th IEEE-RAS InternationalConference on Humanoid Robots, pp. 284–290, 2012.

[8] “Robotics research: The first international symposium,” in Analysisand control of robot manipulators with redundancy, pp. 735–748, MITPress, 1984.

[9] A. Maciejewski and C. Klein, “Obstacle avoidance for kinematicallyredundant manipulators in dynamically varying environment,” Interna-tional Journal of Robotics Research, vol. 4, pp. 109–117, 1985.

[10] A. Heim and O. Stryk, “Trajectory optimization of industrial robotswith application to computer aided robotics and robot controllers,”Optimization, vol. 47, pp. 407–420, 2000.

[11] T. Tsang, “Generalised predictive control with input constraints,” IEEProceedings on Control Theory and Applications, vol. 135, pp. 451–460, 1988.

[12] K. Fujimoto, T. Horiuchi, and T. Sugei, “Optimal control of hamiltoniansystems with input constraints via iterative learning,” in Proceeding ofIEEE Conference on Decision and Control, pp. 4387–4392, 2003.

[13] G. Yamaguchi, Dynamic Modeling of Musculoskeletal Motion: A Vec-torized Appoach for Biomechanical Analysis in Three Dimensions.Springer, 2005.

[14] F. Anderson and M. Pandy, “Dynamic optimization of human walking,”Journal of Biomechanical Engineering, vol. 125, pp. 381–390, 2001.

[15] K. Manal, R. Gonzalez, D. Lloyd, and T. Buchanan, “A real-timeemg-driven virtual arm,” Computers in Biology and Medicine, vol. 32,pp. 25–36, 2002.

[16] R. Neptune, “Optimization algorithm performance in determining opti-mal controls in human movement analysis,” Journal of BiomechanicalEngineering, vol. 121, pp. 249–252, 1999.

[17] D. Graupe, Identification of Systems. Litton Educational Publishing,1972.

[18] K. Zhou and J. Doyle, Essentials of Robust Control. Prentice Hall,1997.

[19] J. Slotine and W. Li, Applied Nonlinear Control. Prentice Hall, 1991.

[20] M. Brown and C. Harris, Neurofuzzy Adaptive Modelling and Control.Prentice Hall, 1994.

[21] A. Nagano, S. Yoshioka, T. Komura, R. Himeno, and S. Fukashiro, “Athree-dimensional linked segment model of the whole human body,”International Journal of Sport and Health Science, vol. 3, pp. 311–325, 2005.

16471647