Muscle Force Control of a Kinematically Redundant Bionic Arm with Real-Time Parameter Update
description
Transcript of 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
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
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
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
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
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
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
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
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