Dynamic Model Identification For Industrial Robots: Ngoc Dung Vuong, Marcelo H. Ang JR
Dynamic Model Identification For Industrial Robots: Ngoc Dung Vuong, Marcelo H. Ang JR
Dynamic Model Identification For Industrial Robots: Ngoc Dung Vuong, Marcelo H. Ang JR
Abstract: In this paper, a systematic procedure for identifying the dynamics of industrial
robots is presented. Since joint friction can be highly nonlinearwith time varying
characteristics in the low speed region,a simple and yet effective scheme has been used to
identify the boundary velocity that separates this dynamic friction region from its static
region. The robots dynamic model is then identified in this static region, where the
nonlinnear friction model is reduced to the linear-in-parameter form. To overcome the
drawbacks of the least squares estimator, which does not take in any constraints, a
nonlinear optimization problem is formulated to guarantee the physical feasibility of the
identified parameters. The proposed procedure has been demonstrated on the first four
links of the Mitsubishi PA10 manipulator, an improved dynamic model was obtained and
the the effectiveness of the proposed identification procedure is demonstrated.
Keywords: Dynamic Modeling, Model Identification, Friction Models, Model-based
Control
Introduction
51
N. D. Voung et al.
In order to account for joint frictions, several methods were proposed. These
methods can be roughly divided into two groups: to identify joint friction and rigid
body dynamics separately [4] or to identify joint friction and rigid body dynamics
simultaneously [5-7].The former first identifies the friction parameters for each
joint and then continues to identify the rigid body dynamic parameters using the
identified friction parameters. Since friction parameters are identified joint by
joint, nonlinear dynamic friction models such as Stribeck and/or hysteresis effects
can be considered [8].The main drawback of this method comes from the fact that
friction can be much time-varying [7]. Moreover, friction forces/torques are
always coupled to the inertial forces/torques, thus, one cannot be precisely
identified without the other. It is also argued that it is more tedious to identify
friction parameters and rigid body dynamic parameters separately.
From the literature, more researchers adopt the latter method, i.e. to identify joint
frictions and the rigid body dynamics at the same time [5-7]. It is worth noting that
the robots dynamic model (excluded joint frictions) can be linearized w.r.t to its
parameters. Thus, many proposed identification methods was accomplished based
on the assumption that joint frictions can be modeled in a linear-in-parameter
form. However, this linearity is not valid for velocities. At slow velocities, the
friction parameters exhibit some dynamics, and we refer to this region as the
dynamic region of friction. When velocities exceed a threshold velocity, the
friction parameters become static and the friction is now linear in the parameter
form. We therefore refer to this region as the static or linear regiion. The use of
the linear friction model outside this linear region can lead to significant errors on
the identified parameters as demonstrated in [9]. In this paper, a simple and
effective scheme which has been introduced in our previous work [9] will be used
to identify the threhshold velocity that separates the joint friction into dyanimic
(and nonlinear) and static (and linear in parameter) regions regions. The robot
dynamic model is then identitied only in the linear region, thus more accurate
dynamic parameters are obtained.
Since the robots dynamic model is linear w.r.t its parameters, these dynamic
parameters can be identified using the well-known least-squares estimator. Note
that not all ten inertial parameters of each robots link can be identified due to the
raltive configuration of the links of the robot. It is therefore necessary to
reduce/simplify the robot model to ensure that the observation matrix of the leastsquare estimator has full rank [10]. This problem can be solved either
symbolically [10] or numerically [11].
Since the measured torques are normally noisier than the measured position, a
proper trajectory should be designed to ensure the robustness of the identified
results [12]. To guarantee the robustness of the estimation process, several
criterions have been proposed in the literature such as maximizing the determinant
or minimizing the condition number of the observation matrix [6]. Note that all the
above criteria result in solving a nonlinear constrained optimization problem. The
results from this optimization problem are the so-called exciting/optimal trajectory
52
that can guarantee the excitation of all the parameters to be identified. Because of
the complexity of the dynamic model, genetic algorithm (GA) is used in this paper
to find out the above optimal trajectory.
It is worth pointing out that the above exciting trajectory can only account for the
uncertainties of the measured torque. In practice, uncertainties can also occur in
the motion data (i.e. joint position, velocity and acceleration). Moreover, due to
the fact that most industrial manipulators do not come with velocity and
acceleration sensor, thus, these information are normally obtained through
numerical differentiation of the joint position measurements. As a result, the
quality of the observation matrix of the least square estimator can be significantly
degraded. A direct consequence of this observation is that the results from the
least square estimator can deviated from its true value. Since no constraints are
imposed on the least-squares technique, it is possible for the least-squares
estimator to produce results which are physically impossible [13-14]. Although
there are other methods to cope with uncertainties on the observation matrix such
as the maximum likelihood method [15], most of them do not consider the
physical feasibilty of the identified parameters as an important criteria. Noting that
a physically non-feasible dynamic model cannot be used in model-based control
because this model can result in a non-possitive definite inertial matrix, thus,
destabilize the closed loop control system. One promising solution for this
problem is to use constrained optimization tools to adjust the least-squares result
[16]. However, this method requires the initial guess of the virtual parameters
which are not always available in practice.
Although there is a vast amount of results on the dynamic identification topics in
the literature, a systematic procedure which includes all the above considerations
is still missing. Thus, the aim of this paper is to present a systemantic procedure
for identifying the robots dynamic model. This dynamic model can then be used
in advanced model-based controllers.
2.1
(1)
where:
53
N. D. Voung et al.
(2)
(3)
h = [ h1 ... hn ]
(4)
where
only focus on the inertial parameters of the links. The rotor inertias of motors are
assumed to be known because these values are normally available from the motor
specs. From (2), it is clear that if joint friction model are linear w.r.t its
parameters, the problem of identifying the dynamic model is a linear problem. In
the next section, condition for which the linear-in-parameter friction model is
valid will be derived.
2.2
(5)
where where Fci and Fvi are Coulomb and viscous friction coefficients of joint i
respectively. However, this assumption can lead to a significant degradation of the
accuracy of the identified parameters. One solution for this problem is to make use
of the boundary velocity where the nonlinear and linear friction are separated as
discussed in [9]. By analyzing the velocity-torque map, one should be able to
identify the boundary velocity for each joint.
The following part briefly describes the step-by-step procedures for obtaining the:
54
Step 1: re-mount the manipulator in such a way that the gravity has no
effect on the joint of interest. Apply a sinusoidal torque to the joint.
Notice that the frequency and magnitude of this signal have to be chosen
in such a way that the result joint motion is within the joint limit and the
motion also excites the dynamic friction. During this step, ( q, q , q, )i =1:N
is recorded ( N is the number of recorded points). Since only one joint is
excited at the time, the equation of motion of the system is:
Iq + FC sign(q ) + FV q =
(6)
qM
q1 I 1
...
... FC = ...
sign(q M ) q M FV M
sign(q1 )
(7)
where M N is the number of data points which are used for the
identification.
-
Step 2: slowly increasing qthres from 0 to max( qi ) . Solve (7) for the
parameters of the dynamic model using only the data points for which
qi > qthres . The parameters of the dynamic model should be constant. By
analyzing the convergence of the inertial parameter I , one can
experimentally find out the region in which the linear friction model is
held. Based on this result, we can actually reconstruct the joint velocity
vs. friction torque plot (or friction map). For instance, Figure 1a shows
the convergence of I w.r.t qthres , Figure 1b shows the friction map of the
first joint of the PA10 manipulator.
15
10
5
0
5
10
15
2.1
2.0
1.9
1.8
1.7
0
q ( rad / s )
0 .2 .4 .6 .8
Figure 1
(a)
qthres
vs. I , (b)
q
vs.
55
N. D. Voung et al.
Step 3: The experiment is then repeated for the rest of the joints. The
resulting qthres will be used as constraints in designing the exciting
trajectory (as presented in the next section).
In summary, if joint velocity is outside the range ( qthres , qthres ) , joint friction can
be modeled as a combination of Coulomb and viscous friction (Eq. 5). By
incorporating (2) and (5), the robot dynamic model can be rewritten as:
W (q, q , q, DH )c hc =
(8)
Wc = ...
Wn,:
h
0
F
... ...
...
... , hc = c1
Fv1
0 ... sign(qn ) qn
...
(9)
It is worth noting that equation (9) indicates that in order to re-solve for hc ,
Wc matrix has to be full rank. It is well-known that not all the inertial parameters
contribute to the dynamic behaviour of the robot [1, 10, 17]; thus, a set of
identifiable parameters (the so-called base parameters [10]) should be deduced
from h . For instance, the original dynamic parameters of the 7-DOF Mitsubishi
PA10 manipulator h has 70 parameters but the final identified dynamics of the
manipulator is reduced into 18 lumped-parameters [14]. The final form of the
dynamic model becomes:
Wb hb =
(10)
2.3
Exciting Trajectory
In order to estimate hb from (10), {W (q, q, q)b , b }i need to be acquired through the
identification experiment. By stacking the matrix together, the observation matrix
can be formed as follows:
56
Wb1
b1
Wo = ... , o = ...
WbN
bN
(11)
(12a)
(12b)
(13a)
l =1
57
(13b)
N. D. Voung et al.
(13c)
l =1
where
(14)
0 (Wc )
where the scalar 1 and 2 represent the relative weights between the condition
number of the observation matrix: cond (Wc ) and its minimum singular value:
0 (Wc ) [6]. Note that the above problem is a constrained optimization problem
because physical limits of joint position, velocity and acceleration have to be
considered. As can be seen from (9) and (10), the cost function is nonlinear and
discontinuous e.g. the sign function in (9). This can make the optimization process
become significantly difficult. In practice, one can avoid the discontinuity by
replacing the sign(qi ) function in (9) with an approximated continuous function
such as atan(cqi ) . The extra coefficient c is used to adjust the steepness of the
slope when q approaches zero. Due to the complexity of the problem, a good
initial guess for this optimization is hard to achieve. Thus, a genetic algorithm
(GA) is used to solve the above optimization problem.
Once the optimization has been solved, the optimum trajectories qi (t ) for all joints
are obtained. The manipulator will be commanded to follow this optimal trajectory
by any available controller. For instance, an independent joint control scheme
which includes a high-gain PID controller at each joint was used in our
experiment. The responses of the robot along the trajectories will be recorded. It is
worth noting that the collected data should be pre-processed as suggested in [20]
in order to improve the data quality before using them to estimate the dynamic
parameter. A brief description is as follows:
-
Firstly, the joint position data can be filtered by a low-pass filter with an
appropriate cut-off frequency which depends on the choice of the
fundamental frequency w f in (13). This is reasonable because the
frequency components in the optimal trajectory from previous section are
already predefined in the design state.
If joint velocity and acceleration are not available due to the lack of joint
sensors, this information can be obtained through a numerical
differentiation. However, since the exciting trajectory are designed in the
form of (13), a linear least square fit (15) can be performed to estimate
58
the coefficients (qi 0 , ail , bil ) of the actual optimal trajectory (i.e. the actual
motion of the robot) as suggested in [15]:
qi (t = 0) 1 sin( w f 0) cos( w f 0)
q (t = t ) 1 sin( w t ) cos( w t )
i
f 1
f 1
1
qi (t ) =
=
...
...
...
...
q
t
T
w
T
wf Tf )
(
)
1
sin(
)
cos(
=
f
f f
i
... ... qi 0
... ... ai1
... ... bi1
... ... ...
(15)
2.4
Parameter Estimation
Fc1
(16)
59
N. D. Voung et al.
CF = min (1 Wo X b o + 2 X b hc
(17)
Here, the two scalars 1 , 2 define how believable the least-squares solution is.
Clearly the result of the above non-linear optimization problem will give us a set
of physically feasible parameters which also minimizes the error between the
measured and predicted torque.
Since the purpose of this paper is to demonstrate a step-by-step procedures for
identifying the dynamic model of industrial robots, the above procedures is
applied for the first four link of the PA10 manipulator. The results from the
identification process has been verified by comparing the reconstructed torques
and the measured torques for an arbitrary joint space trajectory. In addition, the
identified model has been tested in a conventional computed-torque controller. A
singificant improvement in terms of tracking errors was obtained which also
shows the usefulness of the identified model.
3.1
Experimental Testbed
Figure 2
Experimental test bed
As mentioned above, the following steps were carried out in order to identify the
dynamic model:
1
Derive the rigid dynamic model of the robot as in (9) and (10). Noting that
the Coriolis-Centrifugal and gravity term is included in this model. Gravity
60
terms can only be set to zero when robot joints are considered separately as
in Section 2.2.
Identify the boundary velocity qthres in which the dynamic friction model
becomes linear for each joint (see Table 1 for the experimental results).
Table 1
Boundary velocity for the first four links of the PA10
Joint
qthres ( rad / s )
1
2
3
4
0.25
0.27
0.3
0.6
Carry out the optimum exciting trajectory as in Section 2.3. By making use
of the Matlab Genetic Algorithm (GA) Toolbox, the optimum trajectory
was found with the minimum condition number around 65.
Execute the optimum trajectory on the PA10; obtain the joint motion and
joint torque data. Note that because the PA10 manipulator does not have
joint torque sensor, the joint torques are obtained by measuring the motor
currents. An independent joint control scheme is used at each joint to make
the joints follow the reference/optimal trajectory.
The inertial parameters are estimated using the method as in Section 2.4.
The equivalent virtual parameters as in (16) and (17) are shown in Table 2.
Note that these parameters were obtained with the constraint ( m, I )i > 0 to
make sure the physical feasibility of the identified results.
Table 2
Virtual parameters
61
N. D. Voung et al.
3.2
3.2.1
Model Verification
Torque Reconstruction
As noted in Section 2.2, the result of the above identification process is the
parameter hb which is the combination of the base parameters and joint friction
coefficients. Since the base parameters are lump from the link inertias h , it is
impossible to directly check the correctness of the identified parameters. Instead,
the identified model is verified by comparing the reconstructed torques, which are
generated from the identified model, and the measured torques, which are the
actual joint torques that are used to control the manipulator. Since the major
difference between the approach in this paper and others is the use of the boundary
velocity, it is necessary to check whether the identified parameters using the
boundary velocity has any advantages. To this end, two sets of data have been
used to identify hb . The first set (set A) only includes the data points which
have q > qthres while the second set (set B) includes all the experimental points. In
the case of the PA10 manipulator, the number of data points in set A is about 30%
of the number of data points in set B. Figure 3 shows the measured torques vs. the
re-constructed torques of joint 1-4 for an arbitrary and different trajectory in joint
space. Motion data (q, q , q) and joint torque (namely measured torque) was
recorded. The re-constructed torque is then computed as (10). In Figure 3, red
represents the measured torque (MT), blue represents the re-constructed torque
using hbB (RTall = Wb hbB ) and green represents the re-constructed torque using hbA
(RTthres = W h A ). Noting that the time scale for the x-axis is time 10 (ms).
b b
a) Joint 1
62
b) Joint 2
c) Joint 3
d) Joint 4
Figure 3
Measured torque vs. Re-constructed torque
63
N. D. Voung et al.
The root-mean-square (RMS) errors between the measured torque and reconstructed torque are shown in Table 3.
Table 3
RMS errors between the measured and re-constructed torque
Joint
1
2
3
4
RT(thres): Set A
4.1
5.9
1.5
3.7
RT(all): Set B
3.9
7.1
2.1
5.8
Theoretically, one should expect the quality of the identified parameter hbA using
set A is worse than the one using set B hbB because there are more data in set B.
However, as can be seen in Table 2, an opposite result was obtained. The RMS
errors in the first case (set A) are smaller than the second case (set B) for most of
the joints. This observation implies that the extra data points in set B contribute
negatively to the accuracy of the identified result hbB in low velocity regions [9].
3.2.2
Since the purpose of the identification process in this paper is to obtain a model
that can be used in advanced model based control schemes, the identified model
has been further tested in another experiment as descrbed below:
1
2
The tracking errors for the first four joints are shown in Figure 4: blue represents
the joint tracking errors using the indepedent joint control scheme, red represents
the joint tracking errors using the dynamic control.
64
Figure 4
Joint tracking error comparison between kinematic and dynamic control (left to right, top to bottom:
joint 1 to 4)
It is clear that there is a significant improvement in term of the tracking error for
joint 1, 2 and 4. The tracking error for joint 3 is not as much different as others.
One explaination that has been pointed out in [9] is because of the structure of the
PA10 that makes the inertial effects at joint 1, 2, 4 are much easier to be excited
than the rest of the joints. As a result, the quality of the identified parameters
which contribute to the joint torque of joint 3 are poorer. This observation implies
that further constraints need to be imposed on the optimum trajectories in order to
excite the dynamic effects from different joints evenly.
It is worth pointing that the above identified dynamic model was obtained in the
high speed region. Consequently, it is neccessary to see how good the identified
model in the low speed region is. In order to check the performance of the
identified parameters in the low speed region, the above experiment has been
redone with the period of the desired trajectory incresed from 4 s to 40 s. Tracking
errors are shown in Figure 5 (blue: indepedent joint control scheme, red: dynamic
control).
65
N. D. Voung et al.
Figure 5
Joint tracking error (low speed) comparison between kinematic and dynamic control (left to right, top
to bottom: joint 1 to 4)
As is seen, the differences between the model based control and non-model based
control are no longer significant as in the previous case. One possible explaination
is that the inertial effects of the dynamic model has been dominated by joint
frictions at low speed region. As a result, the control performance will mainly
depend on how joint frictions are compensated in this region.
Conclusions
66
The authors would like to thank the members of the Mechatronics group at
SIMTech (Singapore Institute of Manufacturing Technology www.simtech.astar.edu.sg) who helped conduct the experiment on the PA10 manipulator.
References
[1]
[2]
Khatib, O., A Unified Approach for Motion and Force Control of Robot
Manipulators: the Operational Space Formulation. IEEE Journal of
Robotics and Automation, 1987. RA-3(1): pp. 43-53
[3]
Armstrong, B., et al. The Explicit Dynamic Model and Inertial Parameters
of the PUMA 560 Arm. 1986, San Francisco, CA, USA: IEEE Comput. Soc.
Press
[4]
[5]
[6]
[7]
[8]
[9]
[10]
67
N. D. Voung et al.
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
Siciliano, B., O. Khatib, Springer Handbook of Robotics. 2007: SpringerVerlag New York, Inc.
[19]
[20]
[21]
68