Content uploaded by Rodrigo Jamisola
Author content
All content in this area was uploaded by Rodrigo Jamisola
Content may be subject to copyright.
Full Dynamics Identification of Multi-Link Inverted Pendulum:
Analysis and Implementation
Rodrigo S. Jamisola, Jr.†and Elmer P. Dadios‡
Abstract—This work presents a method of identifying the full
dynamics parameters of multi-link inverted pendulum, together
with its analysis and implementation. It is assumed that each
link has an actuated joint whose axis of rotation is different
from its center of mass. Thus its driving torque is influenced
by gravitational force. This work will utilize the actual force of
gravity for the inverted pendulumto achieve a natural oscillation.
The oscillatory motion of the pendulum allows the system to be
converted into an optimization problem throughthe minimization
of its frequency of oscillation. The correct dynamics parameters
are already found when the minimum frequency of oscillation
is achieved. The proposed method is analyzed and a theorem is
presented that supports the claims presented in this work. And
lastly, implementation results are shown.
Index Terms—dynamics identification, robot control, inverted
pendulum, natural oscillation
I. INTRODUCTION
Implementing a full dynamics control of robots remains a
challenge to this day because of the difficulty in finding the
correct dynamics parameters of each link without physically
isolating them. This is specially true in the case of humanoid
robots. More recent identification procedures of manipulator
arm dynamics include the use of torque data [1], floating-base
motion dynamics [2], iterative learning [3], neural network
aided identification [4], set membership uncertainty [5], and
simultaneous identification and control [6]. Identification pro-
cedures that are more robot specific include [7], [8], [9], [10].
Some examples of identification procedures for humanoid
robot dynamics used neural network [11], and fuzzy-stochastic
functor machine [12]. Recent humanoid robot modeling and
control include fuzzy neural network [13], global dynamics
[14], and ground interaction control [15].
A successful dynamics identification [16] and implementa-
tion on a mobile manipulator tasked to perform an aircraft
canopy polishing [17] is one of the few successful imple-
mentations on full dynamics manipulator control. The method
presented in this work will utilize the principle of natural
oscillation and, together with gravitational force, use it to
identify the full dynamics of multi-link inverted pendulum.
It is assumed that each link of this inverted pendulum is influ-
enced by gravitational force during motion. This is important
because it is through the gravitational force that the method
of identification will rely in order to define the boundary of
the possible values for the dynamics parameters.
This work will present a method of experimentally iden-
tifying the individual dynamics parameters of a multi-link
†Dept. of Electronics and Communications Engineering and
‡Dept. of Manufacturing Engineering and Management, De La
Salle University - Manila, 2401 Taft Ave, 1004 Manila, Philippines
{jamisolar,dadiose}@dlsu.edu.ph. This work is supported by the
University Research Council of De La Salle University - Manila.
A
A
A
mg
l
θ
y
x
1
2
_
(b)
(a)
Fig. 1. Subfigure (a) shows an upright pendulum turning about point Adue
to gravity and an initial displacement from equilibrium position. Subfigure
(b) shows the free body diagram.
rigid body. The experimental procedure will compensate for
Coriolis and centrifugal forces and gravitational term to an
inverted pendulum, then an initial push is given to allow it
to achieve natural oscillation. The correct mass, center of
mass, and inertial parameters correspond to the least frequency
of oscillation given an initial perturbation from equilibrium.
Analysis of the proposed method and a theorem are presented
to support the principles behind the experimental procedure in
this work, together with the implementation results.
II. OVERVIEW
A. The Inverted Pendulum
The sum of the kinetic energy Kand potential energy P
of an upright pendulum, as shown in Fig. 1, consisting of a
slender bar with mass mand length lis
K+P=1
2Id
θ
dt 2
−
1
2mglcos
θ
(1)
and is constant, where Iis the inertia of the slender bar, gis the
gravitational constant, and
θ
is the angular displacement from
the vertical axis. Taking the time derivativeand assuming small
angular displacements, the above equation can be expressed as
d2
θ
dt2+mgl
2I
θ
=0 (2)
with constant frequency of oscillation
ω
2=mgl/2I. This rela-
tionship shows the frequency of oscillation being dependent on
the physical characteristic of the pendulum. Thus a different
pendulum with different physical characteristics will give a
different value of the frequency of oscillation. With no torque
given at point A, the only moment acting on the pendulum is
(b)
(a)
_
A
1
2
x
Ay
θ
l
A
mg
τ
A
Fig. 2. Subfigure (a) shows an inverted pendulum. Subfigure (b) shows the
free body diagram such that the gravitational compensation is sent to the
system all the time which results into a system that is floating against gravity.
that due to gravity. Given an initial displacement, this moment
will cause the system to respond with angular acceleration and
achieve natural oscillation.
Next we consider and invertedpendulum as shown in Fig. 2.
This time, a torque
τ
Ais given at point Aas shown in the
free-body diagram of Subfigure (b). With the torque sent to
the system that is equal to the moment due to gravity, the
inverted pendulum will now “float” against gravity. When
an initial push is given, the inverted pendulum will achieve
angular acceleration such that the effective torque sent to the
system is
τ
A=I¨
θ
+1
2mglsin
θ
.(3)
That is, the effective torque sent at point Ais the sum of the
given initial push that resulted into an acceleration and the
torque sent to balance off gravity. Oscillation occurs when the
total energy is in the process of being converted from a purely
potential energy to a purely kinetic energy, and vice versa.
B. The Frequency of Oscillation
For a single degree of freedominverted pendulum,the given
initial push created an angular acceleration necessary for it to
achieve natural oscillation. The value of the gravitational com-
pensation torque that is sent to the system will depend on the
values of the dynamics parameters model, which in turn will
affect the frequency of oscillation. In this dynamics parameter
identification, it is the actual force of gravity that is being
utilized to define the critical boundary for the identification
of the correct values of the dynamics parameters. The main
objective is to minimize the frequency of oscillation such that
the dynamics parameters are not overcompensated which re-
sults into higher frequency ofoscillation or under compensated
which results into a system falling under gravitational force.
By doing this, the problem becomes an optimization problem
with an objective function
min
ω
(I,m,r)(4)
where
ω
is the frequency of oscillation that is a function of
inertia I, mass m, and center of mass r.
C. Multi-Linked Rigid Body Dynamics
The general case of the multi-linked rigid body dynamics of
a manipulator will be presented. The torque to be sent to each
joint of the robot is computed by taking the kinetic energy K
and potential energy Pand solving the Lagrange equation of
T=K+P[18]
d
dt
∂
T
∂
˙qi−
∂
T
∂
qi=
τ
i(5)
such the joint torque vector is expressed as
τ
=A(q)¨
q+c(q,˙
q)+g(q).(6)
The symbol A(q)is the joint-space inertia matrix, c(q,˙
q)is the
Coriolis and centrifugal forces vector, g(q)is the gravitational
terms vector, and ¨
q,˙
q,qare the joint space acceleration,
velocity, and displacement. The control equation is given as
¨
q=¨
qd−kv(˙
q−˙
qd)−kp(q−qd)(7)
where the proportional kpand derivative kvgains are set to
zero, and the desired acceleration ¨
qdis set to zero as well. This
makes an open-loop system and subsequently, the first term
of Eqn. 6 equals to zero. The torque sent to the manipulator
joints would be the Coriolis and centrifugal forces and the
gravitational terms. The general case of multi-linked rigid
body now becomes the same as the one link with the added
Coriolis and centrifugal forces, which initially is equal to zero
when the system is at rest. When the system is given an initial
push, the total effective torque includes that due to acceleration
¨
q, the gravitational forces, and the Coriolis and centrifugal
forces which are now active because the joint velocities are
nonzero.
In [16], it is shown that the lumped inertia terms foundin the
A(q)are the same terms found in c(q,˙
q). Once all the lumped
inertia terms are identified in A(q), all the inertia terms are
already found. In the experimental procedure presented in this
work, ¨
qof the control equation is always zero so the terms in
A(q)of Eqn. 6 cannot be identified. Because of this, the inertia
terms are identified through Coriolis and centrifugal forces,
while the mass and center of mass are identified through the
gravitational terms.
III. THE PROPOSED DYNAMICS IDENTIFICATION
METHOD
In this section we will show a mathematical proof of
the proposed method to support the claims in this work. In
addition, the corresponding algorithm and its block diagram
will be shown.
A. Analysis of the Proposed Method
Given a physical system such that each link is influenced by
gravitational force, the physical parameters can be identified
by letting each link in the system achieve natural oscillation
by the force of gravity. At this point in the research, it is
assumed that the physical system is not influenced by friction.
The following theorem will present support for the dynamics
identification method presented in this work.
Theorem 1. A physical system that is under an open-loop
control such that each link is influenced by the gravitational
force is assumed to have zero friction. Its minimum frequency
of oscillation
ω
is achieved when the values of inertia ˜
I, mass
˜m, andcenter of mass ˜r in the mathematical model correspond
to the values in the physical system.
Proof:
Case I. Single Degree-of-Freedom. Equating the torque for
the physical and mathematical model,
τ
=I¨
θ
+g(
θ
)= ˜
Iu+˜g(
θ
),(8)
where the control equation u =¨
θ
d−kv(˙
θ
−˙
θ
d)−kp(
θ
−
θ
d)
and the subscript d indicates the corresponding desired value.
Setting kv=kp=0and ¨
θ
d=0, results into u =0such that
¨
θ
+g(
θ
)−˜g(
θ
)
I=0.(9)
This is an undamped second-order system such that
ω
2=f(g(
θ
)−˜g(
θ
)).(10)
That is
ω
is zero when g(
θ
)= ˜g(
θ
)and will have imaginary
component when g(
θ
)>˜g(
θ
), in which case, the pendulum
will fall under gravitational force.
Case II. Multiple Degree-of-Freedom. The torques given at
the link joints can be expressed as,
τ
=A(
θ
)¨
θ
+h(
θ
,˙
θ
)+g(
θ
)= ˜
A(
θ
)u+˜
h(
θ
,˙
θ
)+˜
g(
θ
).(11)
The control equation u=¨
θ
d−kv(˙
θ
−˙
θ
d)−kp(
θ
−
θ
d)=0
because kv=kp=0and ¨
θ
d=0. This results into
¨
θ
+A−1[(h(
θ
,˙
θ
)−˜
h(
θ
,˙
θ
)) + (g(
θ
)−˜
g(
θ
))].(12)
Again this is an undamped second-order system where
ω
2=f((h(
θ
,˙
θ
)−˜
h(
θ
,˙
θ
)) + (g(
θ
)−˜
g(
θ
))).(13)
That is,
ω
is zero when h(
θ
,˙
θ
)=˜
h(
θ
,˙
θ
)and g(
θ
)=˜
g(
θ
).
It will have an imaginary component when h(
θ
,˙
θ
)>˜
h(
θ
,˙
θ
)
and g(
θ
)>˜
g(
θ
)when the pendulum falls under gravitational
force.
Although there maybe cases when the combination of values
of ˜
h(
θ
,˙
θ
)and ˜
g(
θ
)do not result into a negative
ω
even
though one of them is less than the actual physical parameters.
It is admittedly a limitation to this identification procedure
to find the values for both Coriolis and centrifugal forces
and gravitational terms that are bounded by the case where
all terms become less than their physical values to correctly
identify them.
B. The Algorithm
The algorithm for the dynamics identification through natu-
ral oscillation of an inverted pendulum (DINOIP) is presented
in the following.
1) Select large values for the inertia, mass, and center of
mass to initialize the dynamics parameters of the multi-
link rigid body.
2) For each of the joint i, send the torque
τ
icorresponding
to the Coriolis and centrifugal forces and the gravita-
tional term.
Min I, m, r
τ
c(θ,θ) + g(θ)
Outside Force
A(θ)θ+c(θ,θ) + g(θ)
.. .
.
τΔI, Δm, Δr
Measure ω
Is
ω
min?
Νο
Yes
Start
Finish
Yes
Init I, m, r
Falls
under
gravity?
Νο
Fig. 3. The flowchart of the algorithm for the dynamics identification through
natural oscillation of an inverted pendulum (DINOIP).
3) Give the system an initial perturbation to move it from
rest. The system will now oscillate as an inverted pen-
dulum.
4) Measure the frequency oscillation
ω
.
5) Adjust the values of the dynamics parameters to mini-
mize the frequency of oscillation.
6) Repeat the previous step until the dynamics parameters
corresponding to the minimum frequency of oscillation
is found.
The flowchart of the proposed algorithm is shown in Fig. 3.
The dynamics parameters are initialized at large values to
prepare the system for the experimental procedure. This is
to avoid the system from falling due to insufficient torque
sent at the joints. Because of the initially large joint torque
τ
,
the inverted pendulum will be vertically upright and is at rest
when no outside forces are acting on it, except gravity. Then
an outside force, normally at tip of the inverted pendulum, is
applied to perturb it from rest that will cause the system to
start to oscillate.
To measure the frequency of oscillation
ω
, normally the
number of periods of oscillation is counted within a prede-
fined number of computational cycles. An incremental step is
performed within the search space of the dynamic parameters
to find the combination of values that correspond to the
minimum
ω
. The dimension of the search space increases as
the number of dynamics parameters to be identified increases.
Incrementally changing the values of the dynamic parameters
and measuring the corresponding frequency of oscillation are
repeatedly performed until the minimum
ω
is found. For
higher degrees of freedom, it is highly possible that the identi-
fied parameters will result in a combination of possible range
of values. Each of the possible combinations can be checked
later against the robot response in the actual manipulator
control. Admittedly, the limitation of this experimental method
is due to the fact that the links, whose parameters are to be
identified, have to be dependent on gravitational force. Other
links that are not under the influence of gravitational force will
be addressed in future work. However, this work will show
that for relatively lower number of degrees of freedom with
all links moving under the influence of gravity, the proposed
algorithm is sufficient and complete.
IV. RESULTS AND ANALYSIS
Simulations are performed to test the proposed algorithm in
identifying the dynamics parameters of one and two degrees
of freedom manipulators. Open dynamics engine (ODE), an
OpenGL program integrated with C code, is used as the
simulation platform. This simulation platform will need the
actual physical model for the system to move in a virtual
world. The dynamics parameters are then provided to create a
model for the simulation. Then the corresponding torques are
sent to the joints using estimated dynamics parameter values.
In this section, the range of estimated values corresponding
to the minimum frequency of oscillation will be presented for
each of the simulated manipulator.
A. Accuracy of the Dynamics Model
The simplest case of one degree of freedom was used
to test the sensitivity of the proposed experimental method
to numerical errors. A mass factor fmis multiplied to the
gravitational term for the inverted pendulum such that the
torque sent to the system becomes
τ
=fm1
2mglsin
θ
.(14)
Then a initial push is given to start the system to achieve
natural oscillation. A fixed number of 5,000 computational
steps was taken for every value of mass factor fmand the
number of periods are recorded. The results are shown in
Table I.
TABLE I
SENSITIVITY OF IDENTIFICATION VALUES TO NUMERICAL ERRORS
Mass Factor fmNo. of Periods per 5000 Steps
1.10 16
1.05 11
1.04 10
1.03 9
1.02 8
1.01 6
1.00 4
0.99 (falls under gravity)
The table shows that 0.01 difference from the actual mass
and center of mass will already create a difference in the fre-
quency of oscillation. The minimum frequency of oscillation is
0 0.2 0.4 0.6 0.8 1
−100
−50
0
50
100
θ1
Number of Periods at 5,000 Computational Iterations
0 0.2 0.4 0.6 0.8 1
−100
−50
0
50
100
θ2
Normalized Steps
Fig. 4. The number of periods for each of the joints of the two degrees
of freedom robot, recorded within 5,000 computational iterations. The x-axis
showed the normalized computational iterations. This is the case of f
m1=
fm2=fm3=1.01 where the number of periods for link one is 5 and link two
is 15.
shown to be 4 periods out of the 5,000 computational steps. A
mass factor fm=0.99 will already cause the system to fall due
to gravitational force, because the values of mass and center
of mass in the dynamics model, as stated in Eqn 14, were
under compensated.
It is noted that when the product of mass mand length
lresults in a multiple of 1.0 to the actual physical model,
the resulting frequency of oscillation is at the minimum. In a
sense it is the lumped model of mass and center of mass that
is identified such that any values of mand lwould suffice to
model the dynamics parameters as long as the product of their
values corresponding to the actual physical model is correct
to within 0.01 accuracy. This precision defines the range of
possible values of mass mand length l.
B. Two Degrees of Freedom
The case of two degrees of freedom is shown. The symbolic
form of the Coriolis and centrifugal forces ciand gravitational
terms gi, where i=1,2 are shown below
c1=−fm11
2m2S2l2˙
θ
2
2−fm1m2S2l2˙
θ
1˙
θ
2
c2=fm11
2m2S2l2˙
θ
2
1
g1=fm2(1
2m1+m2)glS1+fm31
2m2glS12
g2=fm31
2m2glS12
(15)
such that S2=sin(
θ
2),S1=sin(
θ
1), and S12 =sin(
θ
1+
θ
2).
Links one and two have equal link length l, and m1and m2
are their respective masses. For each of the lumped inertia
parameters, mass factors fm1,fm2, and fm3are used. That
is fm1for m2l2,fm2for (m1/2+m2)l, and fm3for m2l.
Although the concept of lumped inertias identification was
used in [16], in that work it was necessary to have a symbolic
dynamics model of the manipulator to be identified before the
experiment can proceed. In this work, the dynamics model
can be identified individually without the symbolic model. The
value of the lumped dynamics parameters model only served as
the limit of the product of the identified dynamics parameters.
TABLE II
TWO DEGREES OF FREEDOM RESPONSE
Mass Factor No. of Periods per 5000 Steps
fm1fm2fm3Link 1 Link 2
1.05 1.05 1.05 924
1.04 1.04 1.04 824
1.03 1.03 1.03 721
1.02 1.02 1.02 618
1.01 1.01 1.01 515
1.00 1.00 1.01 414
1.00 1.00 1.00 314
0.99 1.00 1.00 313
0.99 0.99 1.00 ( falls under gravity )
0.99 0.99 0.99 ( falls under gravity )
Fig. 4 shows the joint displacement for each of the joints
of the two degrees of freedom robot where fm1=fm2=fm3=
1.01 as shown in Table II. This table shows the experimental
results for 5,000 computational steps of a two degrees of
freedom robot with three mass factors fm1,fm2, and fm3. The
frequency of oscillation is recorded for the different values
of the mass factors. The robot falls under the influence of
gravity when at least two of the mass factors are 0.01 below the
assigned physical mass factor of 1.0. The minimum frequency
of oscillation applies when all mass factors are 1.0 and when
one of the mass factors is 0.01 below 1.0. As shown in the
table, when at least two of the mass factors are different by
0.01 from another set of values, a discrepancy in the frequency
of oscillation is observed. This value will be used as a guide
in future experimental results for higher degrees of freedom
manipulator. The frequencies of oscillations for both links
decreased accordingly with decreased values of the dynamics
parameters. In this experiment, considering the frequency of
oscillation of link one is sufficient to monitor the minimum
value of the frequency of oscillation to identify the dynamic
parameters. The link two frequency of oscillation can be used
instead of link one in the dynamics parameters identification,
but in this case, link two is only used to confirm the results
derived from link one.
The future direction of this research will be for higher de-
grees of freedom manipulator where the individual parameters
will be identified using metaheuristic computations. The search
space will be much larger compared to the three dimensional
search space for the two degrees of freedom manipulator
presented in this work.
V. CONCLUSION AND FUTURE WORK
This work showed a new method of identifying the dy-
namics parameters of multi-link rigid bodies that move under
gravitational influence. A mathematical proof is presented to
support the validity of the proposed algorithm. The idea is
to compensate for the Coriolis and centrifugal forces and
gravitational terms, and apply an outside force for the system
to achieve natural oscillation. Once this is done, the exper-
imental identification proceeds by minimizing the frequency
of oscillation just before the system falls under the influence
of gravity. The correct values of the dynamics parameters
correspond to the system with the minimum frequency of
oscillation. Results sensitivity and range of the identified
experimental values were shown. The future direction of this
work is to identify the dynamics parameters of higher degrees
of freedom manipulators where the search spaces are much
larger. In such cases, metaheuristic computations will be used.
REFERENCES
[1] M. Gautier, A. Janot, and P. Vandanjon, “Didim: A new method for the
dyanmic identification of robots from only torque data,” in Proceedings
of the 2008 IEEE International Conference on Robotics and Automation,
Pasadena, CA, USA, May 19-23 2008, pp. 2122–2127.
[2] K. Ayusawa, G. Venture, and Y. Nakamura, “Identification of humanoid
robots dynamics using floationg-base motion dymanics,” in Proceedings
of the 2008 IEEE/RSJ International Conference on Intelligent Robots
and Systems, Nice, France, Sept. 22-26 2008, pp. 2854–2859.
[3] B. Bukkens, D. Kosti´c, B. de Jager, and M. Steinbuch, “Learning-base
idetification and iterative learning control of direct-drive robots,” IEEE
Transactions on Control Systems Technology, vol. 13, no. 4, pp. 537–
549, Jul. 2005.
[4] Z.-H. Jiang, T. Ishida, and M. Sunawada, “Neural network aided
dynamic parameter identification of robot manipulators,” in Proceedings
of the 2006 IEEE International Conference on Systems, Man, and
Cybernetics, Taipei, Taiwan, Oct. 8-11 2006, pp. 3298–3303.
[5] N. Ramdani and P.Poignet, “Robust dynamic experimental identification
of robots with set membership uncertainty,” IEEE/ASME Transactions
on Mechatronics, vol. 10, no. 2, pp. 253–256, Apr. 2005.
[6] D. J. Austin, “Simultaneous identification and control of a hybrid dy-
namic model for a mobile robot,” in Proceedings of the 39th Conference
on Decision and Control, Sydney, Australia, Dec., year =, pp. 3138–
3143.
[7] K. Radkhah, D. Kulic, and E. Croft, “Dynamic parameter identification
for the CRS A460 robot,” in Proceedings of the 2007 IEEE/RSJ
International Conference on Intelligent Robots and Systems, San Diego,
CA, USA, Oct. 29-Nov. 2 2007, pp. 3842–3847.
[8] J. Swevers, W. Verdonck, and J. D. Schutter, “Dynamic model identifi-
cation for industrial robots,” inIEEE Control Systems Magazine, vol. 27,
no. 5, Oct. 2007, pp. 58–71.
[9] D. Kosti´c, B. de Jager, M. Steinbuch, and R. Hensen, “Modeling and
identification for high-performance robot control: An RRR-robotic arm
case study,” IEEE Transactions on Control Systems Technology, vol. 12,
no. 6, pp. 904–919, Nov. 2004.
[10] N. A. Bompos, P. K. Artemiadis, A. S. Oikonomopoulos, and K. J. Kyr-
iakopoulos, “Modeling, full identification and control of the mitsubishi
pa-10 robot arm,” in Proceedings of the 2007 IEEE/ASME International
Conference on Advanced Intelligent Mechatronics (AIM2007), Zurich,
Switzerland, Sept. 5-7 2007, pp. 1–6.
[11] K. Noda, M. Ito, Y. Hoshino, and J. Tani, “Dynamic generation and
switching of object handling behaviors by a humanoid robot using a
recurrent neural network model,” in 9th International Conference on
Simulation and Adaptive Behavior, vol. 4095, Rome, Italy, Sept. 25-29
2006, pp. 185–196.
[12] V. Ivancevic and M. Snoswell, “Fuzzy-stochastic functor machine for
general humanoid-robot dynamics,” IEEE Transactions on Systems,
Man, and Cybernetics, vol. 31, no. 3, pp. 319–330, June 2001.
[13] Z. Tang, M. J. Er, and G. S. Ng, “Humanoid robotics modelling by
dynamic fuzzy neural network,” in Proceedings of International Joint
Conference on Neural Networks, Orlando, Florida, USA, Aug. 12-17
2007, pp. 2653–2657.
[14] T. Yamamoto and Y. Kuniyoshi, “Stability and controllability in a
rising motion: a global dynamics approach,” in Proceedings of the 2002
IEEE/RSJ International Conference on Intelligent Robots and Systems,
EPFL, Lausanne, Switzerland, Sept. 30-Oct. 5 2002, pp. 2467–2472.
[15] J. Park, Y. Youm, and W.-K. Chung, “Control of ground interaction
at zero-moment point for dynamic control of humanoid robots,” in
Proceedings of the 2005 IEEE International Conference on Robotics
and Automation, Barcelona, Spain, April 18-22 2005, pp. 1724–1729.
[16] R. S. Jamisola, Jr., M. Ang, Jr., T. M. Lim, O. Khatib, and S. Y.
Lim, “Dynamics identification and control of an industrial robot,” in
Proceedings 9th International Conference on Advanced Robotics, Tokyo,
Japan, Oct. 25-27 1999, pp. 323–328.
[17] R. S. Jamisola, Jr., D. N. Oetomo, J. M. H. Ang, O. Khatib, T. M. Lim,
and S. Y. Lim, “Compliant motion using a mobile manipulator: An
operational space formulation approach to aircraft canopy polishing,”
RSJ Advanced Robotics, vol. 19, no. 5, pp. 613–634, 2005.
[18] K. S. Fu, R. C. Gonzales, and C. S. G. Lee, Robotics: Control, Sensing,
Vision, and Intelligence. U.S.A.: McGraw-Hill, Inc., 1987.