Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

2012 IEEE/RSJ International Conference on

Intelligent Robots and Systems


October 7-12, 2012. Vilamoura, Algarve, Portugal

Fast Inverse Kinematics Algorithm for Large DOF System


with Decomposed Gradient Computation
Based on Recursive Formulation of Equilibrium
Ko Ayusawa and Yoshihiko Nakamura

Abstract— This paper presents a fast inverse kinematics (IK) (ID), and forward dynamics (FD). The complexity of the
algorithm. In recent years, the robotics computation theory other three without parallel computation is usually propor-
is often applied for detailed and complex multi-body systems. tional to the number of degree of freedom (DOF) of a multi-
However, the computational complexity of IK is too high to be
implemented in large DOF systems. IK of multi-body system body system [10], [11]. On the other hand, IK requires
is often formulated as nonlinear optimization to minimize iterative computation. Even in one iteration, if the number
the residuals from the references. It usually requires the of constraints is close to the number of DOF, the complexity
computation of the gradient vector of the evaluation function. to compute the direction vector and the Jacobian matrix is
In the method, the computation of the gradient is decomposed usually proportional to at least the square of the number of
into two parts. First, the residuals are considered as external
forces and are distributed to each link. Then, the gradient DOF. In recent years, the computation theory of humanoid
can be computed from static equilibrium by the recursive robots is applied for the estimation of human somatosensory
Newton-Euler algorithm. In addition with the efficient direction information such as joint torques and muscle tensions [12],
search algorithms of nonlinear programing, the computation [13]. In the process of the estimation, the estimation of
complexity of IK can be dramatically reduced. The results of joint angles and the length of muscles and tendons are also
numerical evaluation using a large-DOF manipulator and a
human musculoskeletal model are shown. required. In the case of humanoid robots, the problem of the
computational complexity does not become obvious, because
I. I NTRODUCTION the number of DOF is just about 20 to 30. On the other hand,
the number of DOF of the detailed human musculoskeletal
Inverse kinematics (IK) of a robot calculates the gener-
models exceeds hundreds. The importance of the real-time
alized coordinates that achieve the desired position of the
estimation of internal forces is also pointed out for assisting
feature points located on some specific links and/or the
rehabilitation or training [14]. The fast IK computation
orientation of the links. It is generally difficult to obtain
algorism for large-DOF systems is thus required.
the inverse function symbolically except for some special
In this paper, we propose a fast IK algorithm for a
structures. The robotics computation techniques of IK are
large-DOF multi-body system. It basically utilizes the usual
widely applied to motion generation and control of many
nonlinear programing techniques. In each iteration of them,
kinds of multi-body systems [1], [2], [3], [4].
the computation of the gradient vector of the evaluation
The numerical approach with differential kinematics can
function is required to determine the direction vector. By
be formulated in two general ways. One is the formulation to
utilizing the structure of multi-body system, the computation
solve the nonlinear equations with respect to the generalized
of the gradient is decomposed into the following two phase.
coordinates that achieve the desired positions and orienta-
At first, the residual error of each constraint is considered as
tions [1]. In numerical analysis, the solution of a nonlinear
and distributed into the external forces of each link. Then,
equation is often solved by the Newton-Raphson method
the gradient computation can be equivalent to the problem to
(NR). NR does not guarantee the global convergence or is
solve statics equilibrium, and the gradient vector is computed
expected to converge only near the solution. The existence of
by the fast recursive Newton-Euler algorithm [10] without
singular point or the under/over-constraints problem under-
computing Jacobian matrix. The method can be applied for
lying in IK makes the situation worse. Another approach is
IK utilizing nonlinear programing that requires the gradient
the formulation to solve the nonlinear optimization problem
computation. Some numerical evaluations on a large-DOF
to minimize the residual error, and is applied in the many
manipulator and a human musculoskeletal model show the
recent IK methods [5], [6], [7], [8], [9].
performance of the proposed method.
The IK based on nonlinear optimization is, in general,
computationally more expensive than the other robotics basic
II. IK OF MULTI - BODY SYSTEM
computations: forward kinematics (FK), inverse dynamics
A. IK to solve nonlinear equations
This research is supported by HPCI STRATEGIC PROGRAM Com-
putational Life Science and Application in Drug Discovery and Medical For all the formulations shown in this paper, a multi-body
Development by MEXT. system is treated as a virtual open tree-structure kinematic
K. Ayusawa and Y. Nakamura are with the Department of Mechano-
Informatics, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku, 113-8656 chain. If the system has closed loops, they are virtually cut
Tokyo, Japan ayusawa, nakamura@ynl.t.u-tokyo.ac.jp open and regarded as the constraints of IK instead.

978-1-4673-1735-1/12/S31.00 ©2012 IEEE 3447


Let NJ be the number of DOF of a open kinematic chain, in the next sub-section. During the iterative computation,
NL be the number of links, and q ∈ RNJ be the vector of divergence occurs when the Jacobian matrix is near singular.
the generalized coordinates. Each link has a different index, The existence of singular posture of a robot or the over-
and let L be the set of the indices of links. Each feature point constraints problem makes such a situation.
located on one link also has a different index, and P is the
B. IK as nonlinear programing
indices of feature points. The set of unordered pairs of two
feature points is defined as D. The two feature points of pair In numerical analysis, the problem to solve nonlinear
k ∈ D are represented as Pk , Pk ∈ P. equations is often replaced with the nonlinear optimization
This paper deals with the following three constraint con- problem to minimize the residual error. If the given equation
ditions used for IK. is solvable, the error is equal to zero, which is equivalent
to the original problem. If it is unsolvable, the solution
(a) Constraints on the position pi ∈ R3 of feature point
minimizes the error. The formulation with the nonlinear
i ∈ P:
programing is often adopted in IK computation to avoid the
Δpi (q)  pdi − pi (q) = 0 (1) singularity problem and the under/over-constraints problem.
This paper deals with the nonlinear optimization problem
where, pdi ∈ R3 is the targeted position in the space. to minimize the following cost function.
(b) Constraints on the orientation Rj ∈ SO(3) of link j ∈
1
N
L: P

min f (q)  Δpi T ΣP,i Δpi


ΔRj (q)  Rdj Rj (q)T = E (2)
q 2 i=1

1 1
NL D N
where, Rdj ∈ SO(3) is the targeted orientation in the + Δγ i T ΣL,j Δγ i + σD,k Δli 2 (11)
space, and E is an identity matrix. 2 i=1 2 i=1
(c) Constraints on the distance lk ( ||pPk − pPk ||) ∈ R
where, ΣP,i ∈ R3×3 and ΣL,j ∈ R3×3 are symmetric
between feature points pair k ∈ D:
positive definite matrices, , and σD,k ∈ R is a positive scalar
Δlk (q)  lkd − lk (q) = 0 (3) value. They are weighting factors of each constraint.
The problem of nonlinear programing can be solved by
where, lkd ∈ R is the targeted distance of the pair. iterative methods. Those methods often require the compu-
An example of (c) is the constraint when two links are tation of the gradient of the cost function in order to generate
connected by a constant-length wire. Let P (⊂ P), L (⊂ L), the direction vector. The gradient vector g  ∂f /∂q ∈ RNJ
and D (⊂ D) be the set of constrained feature points, links, can be computed as follows:
and pairs respectively, and let NP , NL , ND be the number

NP 
NL
of elements of each set. g = J p,i T ΣP,i Δpi + J γ,j T ΣL,j Δγ j
Constraint (b) is often replaced with that on the equivalent i=1 j=1
angle-axis vector.

ND

Δγ j (q)  ϕj nj = 0 (4) + σD,k J l,k T Δli (12)


k=1
where, The Jacobian matrices of each constraint can be computed
aj 1 as follows:
nj  , [aj ×]  (ΔRj − ΔRj T ) (5)
||aj || 2 ∂Δpi
J p,i (q)  = −J Bp,i (13)
1 ∂q
sin ϕj = ||aj ||, cos ϕj = (traceΔRj − 1) (6)
2 ∂Δγ j
J γ,j (q)  = −K γ,j J Bω,j (14)
IK solves the following concatenated nonlinear equations ∂q
of all the constraints. ∂Δlk
 T J l,k (q) 
e(q)  Δp(q)T Δγ(q)T Δl(q)T =0 (7) ∂q
1
= − (p − pPk )T (J Bp,Pk − J Bp,Pk ) (15)
where, 2lk Pk
 T
Δp(q)  Δp1 T · · · ΔpNP T (8) where, J Bp,i ∈ R3×NJ is the basic Jacobian matrix obtained
 T from the relationship between the linear velocity of point i
Δγ(q)  Δγ 1 T · · · Δγ NL T (9) and q, and J Bw,j ∈ R3×NJ is the basic Jacobian matrix
 T
Δl(q)  Δl1 (q) · · · ΔlND (10) related to the angular velocity of link j. K γ,j transforms
the basic Jacobian matrices into the Jacobian matrices.
It is generally difficult to obtain the inverse function ϕj
ϕj 2 2
symbolically except for special structure or constraints. In K γ,j  E − [nj ×] + (1 − ϕ )[nj ×] (16)
numerical analysis, the solution of a nonlinear equation is 2 tan 2j
often solved by NR. NR requires the computation of the J γ,j can be replaced with −J Bω,j when ΣL,j can be simply
Jacobian matrix J  ∂∂ q e . The detail of J will be shown
represented as σL,j E, because K γ,j Δγ j ≡ Δγ j .

3448
The flow of IK based on iterative methods is as follows: transformation of the basic Jacobian matrix (concerning only
1) Set initial value q 0 and k = 0. position) from point i to the origin of link Li . Eq.(12) can be
2) If the stopping criterion is satisfied, then stop and simply transformed by Eq.(14), Eq.(15), Eq.(18) as follows:
return q k as the solution. Otherwise, go to Step 3. 
NL
3) Generate a direction vector dk ∈ RNj from the current g = J B,j T F j (19)
gradient vector g k . j
4) Determine a step size ak ∈ R, and update the solution. where,
  
q k+1 = q k + ak dk (17) Rj T O J Bp,j
J B,j  (20)
O Rj T J Bω,j
5) Set k = k + 1, and go to Step 2.
F j  F p,j + F γ,j + F l,j (21)
The examples of stopping criteria include:   
−Ri ΣP,i Δpi
T
(e1) the number of iteration exceeds the certain limit kmax , F p,j  j
Ai (22)
0
(e2) ||f (q k+1 ) − f (q k )|| < 2 holds for 2 > 0, i∈Pj
 
(e3) ||g k || < 3 holds for 3 > 0. 0
F γ,j  (23)
To generate dk , the steepest descent method (SD), the −Ri T K γ T Σγ,i Δγ i
⎡ ⎤
conjugate gradient method (CG), the Levenberg-Marquardt σD,Di,i ΔlDi,i T
 R (Δp − Δp )
Ai ⎣ i i ⎦
i
method (LM), and the quasi-Newton method (QN) are ap- F l,j  j
2lDi,i
plied to IK respectively. (SD [15], CG [16], LM [5], [6], [8], i∈Pd
j 0
QN [7].) In usual IK methods, ak is often fixed at a certain (24)
constant value. In numerical analysis, ak is determined by  T  
R i O R j O
line search algorithms to minimize f (q k + αk dk ) exactly or i
Aj  (25)
O Ri T [(pj − pi )×]Rj Rj
to satisfy Armijo and Wolfe conditions instead.
III. FAST IK METHOD BASED ON DECOMPOSED Let us assume that each residual norm in the cost function
GRADIENT COMPUTATION Eq.(11) is a kind of elastic potential energy. From this
viewpoint, F j can be regarded as the potential force acting
In the nonlinear programing to compute IK, the cost on the corresponding link. Eq.(19) is equivalent to the
function Eq.(11) and its gradient vector Eq.(12) have to be problem to solve statics equilibrium; g can be regarded as
computed in many algorithms to search dk and ak . Though the joint torque obtained from the equilibrium. Therefore,
the computational complexity of Eq.(11) is O(NJ + NC ) the fast recursive Newton-Euler algorithm [10] can be ap-
by utilizing FK, that of Eq.(12) is usually O(NJ × NC ) plied to compute Eq.(19). As the computation of Eq.(19) is
because of the computation of the basic Jacobian matrices. To not dynamics but statics computation, it only requires the
determine all the generalized coordinates, NC ≈ NJ and the backward recursive formulas. Let g j be the sub-vector of g
complexity can exceed O(NJ 2 ) in many cases. Though it is corresponding to link j.
difficult to estimate the exact number of iteration, the number  T
can be very roughly proportional to the number of DOF even g  g 1 T · · · g NL T (26)
in relatively fast algorithms such as QN and CG. Therefore, Each sub-vector g j can be computed as follows:
the computation time of large-DOF systems explodes.
Though the proposed method follows the usual procedure gj = S j f j (27)
nj ×6
of nonlinear programing shown in the previous section, it where, S j ∈ R is the matrix to extract nj -DOF joint
focuses on the computation of gradient vector g, and reduces torque g j . f j can be computed recursively as follows:
the complexity by the robotics computation theory utilizing 
the structure of a multi-body system. fj = F j + j
Ac f c (28)
Let Li (∈ L) be the index of the link where point i ∈ P is c∈Cj

located. Pi (⊂ P ) is defined as the set of all points on link The computation of the gradient vector can be summarized
j(∈ L) used in constraint (a). P (⊂ P) is the set of all points as the following two steps:
used in constraint (c). Pdi (⊂ P ) means the set of all points 1) Compute F j of each link by Eq.(21)-(25).
on link j ∈ L used in constraint (c). Di,i (∈ D ) represents 2) Compute f j recursively by Eq.(28), and then compute
the pair consisting of point i and i ∈ P. Cj denotes the set of g j of each joint by Eq.(26).
branch-side links connected to link j(∈ L) in tree structure. The computational complexity of Step 1 is proportional to
The following equation holds between J p,i in Eq.(13) and the total number of constraints NC ( NP + NL + ND ), and
the basic Jacobian matrices of link Li . that of Step 2 is proportional to NL . Therefore, the total
  complexity can be reduced to O(NL + NC ). As can be seen
  J Bp,Li
J p,i = −J Bp,i = − E [piLi ×]T (18) from Eq.(21) to Eq.(28), the method does not require the
J Bω,Li
computation of Jacobian matrices. It means the method can
where, piLi ∈ R3 is the translation vector from point i to the also save computational memory, which is also the important
frame of link Li in the space. Eq.(18) means the coordinate feature in large-scale optimization.

3449
1.5/(3NJ -2) 0.5/(3NJ -2)
where, H 1 = E.
• Conjugate gradient method (CG) (DL formula [17])
:Sperical Joint dk+1 = −g k+1 + βk+1 dk (36)
0.5 m T T
g y g sk
βk+1 = max{ k+1T k , 0} − t k+1T (37)
Z dk y k dk y k
X 2i-th Joint where, d1 = −g 1 and t = 1.
(Case. B) Target (Case.A) LM has to compute the Jacobian matrix, thus it makes no
sense to use DGC. Therefore, DGC was not applied in the
0.5 m case of LM. In addition, if the number of constraints is
less than the number of DOF, Eq.(31) was replaced with
Fig. 1. Overview of NJ DOF manipulator. the differential linear equation formulation shown in [5] to
decrease the computation time.
In the line search process, ak was computed as follows:
IV. N UMERICAL EVALUATIONS
ak is temporarily computed by the quadratic interpolation
A. Evaluation of computation time with manipulators using f (q k ), f (q k + αk−1 dk ), and ∂f /∂α(α = 0). If the
The method was evaluated on several manipulators con- obtained ak does not satisfy Armijo condition, ak is updated
sisting of spherical joints [8] as shown in Fig.1. The results by the bisection method and Armijo condition.
of the several nonlinear programing with the proposed de- The parameters of stopping criterion were set as follows:
composed gradient computation (DGC) were compared with kmax = 100000, 2 = 10−12 , and 3 = 10−12 . All the
those without DGC. The three manipulators are prepared: weighting matrices in the cost functions were set at identity
NJ = 12, 120, 1200. The number of links is NL = NJ /3. ones. The method was implemented on the work station with
The length of the end-effector is 0.5/(3NL − 2) [m], while a Intel(R) Core(TM) i7 CPU X940(2.13GHz).
the lengths of the other links are all 1.5/(3NL − 2) [m]; the First, the set of constraints (A) was solved to compare
total length of the manipulator at home position is 0.5 [m]. the computation time of each optimization methods with
The following two types of constraints were tested. DGC to the time without DGC. Table I shows the results
(A). The target position of the end-effector is set at pde , and of computation time and the number of iteration. Table II
the target orientation is set at Rd . shows the final value of the cost function f (q). All the
⎡ d⎤ ⎡ ⎤ method could obtain the convergent solution as shown in
x 0 01
pde  ⎣ 0 ⎦ , Rd  ⎣ 0 1 0 ⎦ (29) Table II. The computation time of one iteration of LM
0 −1 0 0 and CG was relatively smaller than that of QN, and it
made no difference whether or not DGC was used. It is
where, xd = 0.5. because the number of constraints is NC = 2, therefore the
(B). In addition to (A), the target position of link 2i (1 ≤ computational complexity of each iteration is O(NJ ) except
i < NL /2) is set at pdi . for QN. It should be noted that the nonlinear programing
T with DGC theoretically solves the exact same problem as
pdi  3N 3xd i
L −2
0 0 (30)
the original method. However, the number of iteration and
The solutions of (A) and (B) are singular points. the convergent process could be chaotically changed in the
The following methods were used to generate dk . line search process because of the effect of rounding errors.
• Levenberg-Marquardt method (LM) (implemented in The set of constraints (B) was solved to compare the
[8]) computation time of each optimization methods. Table III
shows the results of computation time and the number of
dk = (B k + (f k + λ)E)−1 g k (31) iteration. Table IV shows the final value of the cost function.

Np

Nr
As NC ∝ NJ in case (B), the complexity to compute one
Bk  J p,i T ΣP,i J p,i + J γ,j T ΣL,j J γ,j iteration by each method is as follows; LM:O(NJ 3 ), QN
i=1 j=1
and QN(DGC): O(NJ 2 ), CG: O(NJ 2 ), CG(DGC): O(NJ ).

Nl
As can be seen from Table III, the computation time of LM
+ σD,k J l,k T J l,k T (32) increased dramatically with increased number of DOF. The
k=1
time of QN was in the same range as case (A), and could be
where, λ = 0.001. reduced by DGC. The time of CG was quite large, however
• Quasi-Newton method (QN) (BFGS formula) it could be reduced dramatically to the least time by DGC.
dk = −H k g k (33) B. Evaluation of computation time with musculoskeletal
y k sk T T y k sk T sk sTk model
H k+1 = (E − T ) H k (E − T ) + T
y k sk y k sk y k sk The proposed method was tested on IK of the human
(34) musculoskeletal model shown in [13]. It is comprised of the
y k  g k+1 − g k , sk  αk dk (35) skeleton and the musculotendon network, and modeled as a

3450
TABLE I TABLE III
C OMPARISON OF COMPUTATION TIME ([ MS ]) ( AND THE NUMBER OF C OMPARISON OF COMPUTATION TIME ([ MS ]) ( AND THE NUMBER OF
ITERATION ) OF EACH OPTIMIZATION METHOD WITH THREE ITERATION ) OF EACH OPTIMIZATION METHOD WITH THREE
MANIPULATORS IN CASE (A). LM: L EVENBERG M ARQUAT METHOD , MANIPULATORS IN CASE (B).
QN: QUASI -N EWTON METHOD , QN(DGC): QN WITH THE
DECOMPOSED GRADIENT COMPUTATION (DGC), CG: CONJUGATE
NL =12 NL =120 NL =1200
LM 36.0 (508) 3309 (1208) 1379010 (3802)
GRADIENT METHOD , CG(DGC): CG WITH DGC.
QN 0.7 (25) 246 (110) 58195 (292)
QN(DGC) 0.6 (25) 156 (110) 41223 (298)
NL =12 NL =120 NL =1200 CG 13.0 (640) 1120 (2209) 937507 (22509)
LM 26.0 (1870) 456 (2881) 17247 (19982) CG(DGC) 7.9 (640) 248 (2278) 25628 (24484)
QN 0.6 (25) 202 (132) 12259 (328)
QN(DGC) 0.6 (25) 207 (139) 12198 (321)
TABLE IV
CG 0.9 (43) 120 (1092) 2834 (2441)
CG(DGC) 0.7 (42) 56 (526) 3567 (2642) C OMPARISON OF COMPUTATION ERROR f (q) OF EACH OPTIMIZATION
METHOD WITH THREE MANIPULATORS IN CASE (B).
TABLE II
C OMPARISON OF COMPUTATION ERROR f (q) OF EACH OPTIMIZATION NL =12 NL =120 NL =1200
LM 2.5 × 10−10 6.2 × 10−10 1.8 × 10−9
METHOD WITH THREE MANIPULATORS IN CASE (A).
QN 1.1 × 10−13 3.5 × 10−9 4.2 × 10−9
QN(DGC) 1.1 × 10−13 3.5 × 10−9 3.5 × 10−9
NL =12 NL =120 NL =1200
CG 2.4 × 10−9 5.8 × 10−8 3.9 × 10−8
LM 3.2 × 10−10 1.6 × 10−9 8.0 × 10−9 CG(DGC) 2.4 × 10−9 7.8 × 10−8 3.6 × 10−8
QN 1.7 × 10−11 2.0 × 10−9 1.2 × 10−8
QN(DGC) 1.7 × 10−11 2.0 × 10−9 1.2 × 10−8
CG 2.3 × 10−11 1.0 × 10−8 3.1 × 10−7
CG(DGC) 3.5 × 10−10 9.9 × 10−9 6.5 × 10−8 ical rigid points to diminish the influence from non-rigid
skin and muscle movement to insure accuracy of inverse
kinematics computations. In this paper, the trajectories were
wire-driven multi-body system. The skeleton is a set of bones resampled at 0.2 [s], and only 10 samples were used for
grouped into a suitable number of body parts. Each bone is IK. As can be seen from the results in the previous sub-
treated as a rigid body with mass and inertia, and each joint section, LM seems to be difficult to be applied for IK of
connecting bones is considered to be a mechanical one such musculoskeletal models, thus only QN and CG were tested.
as a rotational or spherical joint. The musculotendon network The snapshot of the walking motion was shown in Fig.2.
is a set of muscles, tendons, and ligaments spreading and The methods were tested on the two musculoskeletal
straining among bones. These elements are modeled as the models shown in Table V: one is the complex model with
wires without mass. If muscles, tendons, and ligaments have 587 DOF and 1206 wires, and the other is the simplified
furcations, virtual links (6 DOF) are placed on the furcations. model with 155 DOF and 354 wires. Table VI shows the
A virtual link is modeled as a small link without mass. With average computation time per motion frame (ms/frame) and
virtual links, each element can be separated into the several the average number of iteration. The final values of the cost
wires. The more detailed information can be found in [13]. function of each frame are omitted due to limitations of
The constraints of a wire are nonlinear inequality con- space; the values of all frames were about 0.03, and the
straints: lk (q) ≤ lkd , where lkd is the natural length of first six digits after the decimal point were the same in
wire k. Therefore, the nonlinear optimization problem with each method. The method reduced the computation time of
nonlinear inequality constraints has to be solved in IK of CG and QN at least by 75 percent in the both models. In
a musculoskeletal model. They can be implemented by the the case of the complex model, the time of QN with DGC
exterior penalty function method, and the cost function f (q) was least, and next was CG with DGC. On the other hand,
is modified as follows: DGC reduced the time of CG by 95 percent. As has been
1 1
PN L N mentioned, the computational complexity of each iteration
min f  (q)  Δpi T ΣP,i Δpi + Δγ i T ΣL,j Δγ i of CG with DGC is O(NJ ), meanwhile that of QN with
q 2 i=1 2 i=1
DGC is O(NJ 2 ). It implies that CG with DGC is expected
ρ
ND to be more efficient if the model becomes more detailed and
+ σD,k (min{0, Δli })2 (38) complicated.
2 i=1

where, ρ(> 0). In the penalty function method, ρ increases V. C ONCLUSION


with progression of optimization. However, in this paper, ρ is This paper proposed a fast inverse kinematics algorithm
fixed at 10 under the assumption that each muscle is allowed for large-scale multi-body systems. Inverse kinematics prob-
to get somewhat longer than its natural length. lem of multi-body system can be formulated as nonlinear
The human walking motion was recorded for the valida- programing to minimize the residuals from the references.
tion. The reflective optical markers pasted on the body were They usually need to compute the gradient of the cost
captured by a commercial optical motion capture system function. In the method, the computation of the gradient is
(Motion Analysis). They are located at the defined anatom- decomposed into two parts. First, the residuals are considered

3451
Fig. 2. Snapshot of the walking motion used for validation.

TABLE V
becomes more detailed and complicated.
C OMPLEXITY OF MUSCULOSKELETAL MODELS FOR TESTING THE
OPTIMIZATION - BASED ESTIMATION . R EFERENCES
[1] D.E. Whiteny, “The mathematics of coordinated control of prosthetic
Complex model Simplified model arms and manipulators,” Trans. of the ASME, Journal of Dynamic
total DOF (N ) 155+432 155+0 Systems, Measurement, and Control, vol. 94, no. 4, pp. 303–309, 1972.
virtual links 72 0 [2] Y. Umetani and K Yoshida, “Resolved motion rate control of space
total wires (NW ) 1206 338 manipulators with generalized jacobian matrix,” IEEE Trans. on
muscles 997 304 Robotics and Automation, vol. 5, no. 3, pp. 303–314, 1989.
tendons 50 0 [3] T. Sugihara and Y. Nakamura, “Whole-body cooperative balancing of
ligaments 125 0 humanoid robot using COG jacobian,” in Proc. of the 2002 IEEE/RSJ
cartilages 34 34 Int. Conf. on Intelligent Robots and Systems, 2002, pp. 2575–2580.
[4] K. Yamane and Y. Nakamura, “Natural motion animation through
constraining and deconstraining at will,” IEEE Trans. on Visualization
TABLE VI
and Computer Graphics, vol. 9, no. 3, pp. 352–360, 2003.
C OMPARISON OF COMPUTATION TIME OF EACH OPTIMIZATION METHOD [5] Y. Nakamura and H. Hanafusa, “Inverse kinematic solutions with
WITH TWO MUSCULOSKELETAL MODELS . singularity robustness for robot manipulator control,” ASME J. of
Dynamic Systems, Measurement, and Control, vol. 108, no. 4, pp.
Simplified Complex 163–171, 1986.
[6] S.K. Chan and P.D. Lawrence, “General inverse kinematics with the
QN 2447 (377.6) 46348 (753.4)
error damped pseudoinverse,” in Robotics and Automation, 1988.
QN(DGC) 579 (378.7) 7902 (551.9)
Proceedings., 1988 IEEE International Conference on, apr 1988, pp.
CG 26716 (7293.7) 254142 (7236.6)
834 –839 vol.2.
CG(DGC) 3152 (7362.6) 13564 (9247.2) [7] J. Zhao and N.I. Badler, “Inverse kinematics positioning using non-
linear programming for highly articulated figures,” ACM Transactions
on Graphics, vol. 13, no. 4, pp. 313–336, 1994.
[8] T. Sugihara, “Solvability-unconcerned inverse kinematics based on
as external forces and are distributed to each link. Then, levenberg-marquardt method,” in 2009 IEEE-RAS Int. Conf. on
the gradient can be computed from static equilibrium by Humanoid Robots, 2009, pp. 555–560.
[9] O. Kanoun, “Real-time prioritized kinematic control under inequality
the latter part of the recursive Newton-Euler algorithm. constraints for redundant manipulators,” in Proc. of Robotics: Science
The complexity to compute the gradient can be reduced and Systems, 2011.
to that proportional to the number of DOF and constraints. [10] J. Y. S. Luh, M.W. Walker, and R.P.C. Paul, “On-line computational
scheme for mechanical manipulators,” ASME J. of Dynamic Systems,
The method can be combined with several direction search Measurement, and Control, vol. 102, no. 2, pp. 69–76, 1980.
algorisms. Especially when used with the conjugate gradient [11] Y. Nakamura and K. Yamane, “Comparative study on serial and
method, the whole computation time of each iteration can be parallel forward dynamics algorithms for kinematic chains,” Int. J.
of Robotics Research, vol. 28, no. 5, pp. 662–629, 2009.
proportional to the number of DOF and constraints. [12] S. L. Delp and J. P. Loan, “A computational framework for simulating
The method was tested on the three manipulators: 12 and analyzing human and animal movement,” IEEE Computing in
DOF, 120 DOF, and 1200 DOF. LM, QN, and CG were Science and Engineering, vol. 2, no. 5, pp. 46–55, 2000.
[13] Y. Nakamura, K. Yamane, and I. Suzuki, “Somatosensory com-
used in the direction search. It was evaluated whether or not putation for man-machine interface from motion-capture data and
the proposed method could accelerate them. The proposed musculoskeletal human model,” IEEE Transactions on Robotics, vol.
method could accelerate the computation speed except for 21, no. 1, pp. 58–66, 2005.
[14] A. Murai, K. Kurosaki, K. Yamane, and Y. Nakamura,
LM. Especially in the case of 1200 DOF manipulator, the “Musculoskeletal-see-through mirror: Computational modeling
proposed method could accelerate CG dramatically, and and algorithm for whole-body muscle activity visualization in real
made the time smallest among others. time.,” Progress in Biophysics and Molecular Biology, vol. 103, no.
2-3, pp. 310–317, 2010.
The method was also tested on IK of the human muscu- [15] W. A. Wolovich and H. Elliott, “A computational technique for
loskeletal model. When using the model with 587 DOF and inverse kinematics,” in Decision and Control, 1984. The 23rd IEEE
1206 wires, the method could reduce the computation time Conference on, dec. 1984, vol. 23, pp. 1359 –1363.
[16] J. Lenarcic, “An efficient numerical approach for calculating the
of QN by 80 percent, and that of CG by 95 percent. The inverse kinematics for robot manipulators,” Robotica, vol. 3, pp. 21–
time of QN with the proposed method was least, and next 26, 1985.
was CG with it. For the current model, QN with the proposed [17] Y.H. Dai and L.Z. Liao, “New conjugacy conditions and related
nonlinear conjugate gradient methods,” Applied Mathematics &
method was the most efficient choice. CG with the proposed Optimization, vol. 43, pp. 87–101, 2001.
method would be more efficient if the musculoskeletal model

3452

You might also like