2010 IEEE/ASME International Conference on Advanced Intelligent Mechatronics Montréal, Canada, July 6-9, 2010
Terminal Iterative Learning Control for Calibrating Systematic Odometry Errors in Mobile Robots Sharifuddin Mondal, Youngmok Yun and Wan Kyun Chung Abstract— Odometry calibration is an essential step for successful navigation of any moving system because most of the control algorithms work based on odometry information. Odometry errors can be categorized as systematic and nonsystematic errors. In this paper, a terminal iterative learning control (TILC) based odometry calibration method is proposed to calibrate the systematic errors. First, a TILC algorithm for discrete-time nonlinear systems is derived. The sufficient condition for the existence of this control algorithm is also determined. Then, using the TILC, an odometry calibration method is developed. The main advantage of this technique is that there is no need to follow any predefined trajectory instead any arbitrary trajectory can be chosen to calibrate the systematic errors. By simulation and experiment results, the efficacies of both the learning algorithm as well as the calibration technique are evaluated and the results show that the proposed method reduces odometry error significantly.
I. INTRODUCTION Determining the position and orientation of a mobile robot in an unknown environment is a very challenging task, which is generally performed by absolute or relative measurements. One of the most common techniques is odometry where the wheel encoder signals are used to find out the current position of a robot with reference to its starting point. But this technique is strongly influenced by the wrong parameter estimation and changes in environmental conditions like floor roughness, wheel slippages, etc. Odometry errors can be classified into two categories: systematic error and non-systematic error. Usually internal systematic factors like wheel diameters, distance between two wheels, etc., cause systematic error and it shows biased characteristic. In contrast, non-systematic errors, which depend on robotenvironment interaction parameters like floor roughness, wheel slippages etc., are independent of systematic features and has an unbiased (random) characteristic. To get more improved odometry information, many attempts have been made by researchers and different calibration methods have been developed. These methods can be divided into two categories depending on how the process is executed. 1) Off-line methods: In off-line methods, the calibration technique is carried out once a robot completes traveling a suitable test trajectory. Using the difference between the Manuscript received January 24, 2010. This work was supported in part by the Department of Mechanical Engineering, Postech, South Korea. S. Mondal is with Department of Mechanical and Industrial Engineering, Concordia University, 1515 St Catherine W., Montreal, Quebec, H3G 2W1, Canada (phone: +1 514 2852201,
[email protected]) Y. Yun and W. K. Chung are with Department of Mechanical Engineering, Pohang University of Science and Technology (Postech), Pohang, 780 784, South Korea (
[email protected],
[email protected])
978-1-4244-8030-2/10/$26.00 ©2010 IEEE
actual end point and the estimated end point, the calibration task is accomplished. The advantage of the off-line methods is that the calibration is performed using only encoder profile of the wheels without any external sensors. However off-line methods have disadvantages like the methods require empty spaces for a specific trajectory and the final pose is usually obtained by manual methods, which is a critical weakness and make the automation or self-calibration very difficult. Borenstein et al. [1] [2] analyzed the possible sources of odometry errors. Based on these researches, Borenstein and Feng [3] introduced a popular geometric method, known as UMB method, for the calibration of certain systematic errors on rectangular closed trajectories. Kelly [4] presented a general solution using linearized error equation for any trajectory and any error model. Antonelli et al. [5] [6] developed a least-square estimation based calibration technique. 2) On-line methods: In contrast to off-line methods, online calibration is executed through continuous steps where a robot is capable of estimating the pose of itself by external sensors like ultrasonic, vision and laser. The advantage of this method is that automation is easy and it is a probabilistic approach, which makes the calibration process more robust. Roy and Thrun [7] suggested an algorithm that uses the robot’s sensors to calibrate the robot automatically as it moves. Doh et al. [8] suggested an odometry calibration procedure called the PC-method. Larsen et al. [9], Martinelli et al. [10] and Yun et al. [11] applied the augmented Kalman filter (AKF) to calibrate the robot in working condition using the robot’s sensors (vision and laser). There is still significant problems as calibration performance relies on the performance of sensors. In past two decades, different learning algorithms have been developed for different kinds of repetitive systems following the pioneering work of Arimoto et al. [12] where a novel feed-forward control method, known as iterative learning control (ILC) was proposed. Zhang et al. [13] developed an ILC technique for discrete-time linear systems. In [14], an ILC for discrete-time nonlinear systems is derived. Casalino and Bartolini [15] developed a learning control algorithm for robot manipulators. These learning algorithms work based on the measurement signals of an entire trajectory. But in a real system, sometimes, getting the measurements for the entire trajectory becomes very difficult and also costly. To overcome these problems, point-to-point ILC (also known as terminal ILC (TILC)), which uses the data of end points only, has come into picture. Chen et al. [16] developed a TILC algorithm for discrete time-varying linear systems. But a TILC for the nonlinear systems is still to be developed.
311
In the present work, a terminal ILC based odometry calibration technique is presented. First, a terminal ILC algorithm for discrete time-varying nonlinear systems is developed. The sufficient condition for the existence of the learning algorithm is derived based the linear approximation method. The main advantage of the terminal ILC over conventional ILC ( [12] [13] [14] [15]) is that it uses only the terminal points’ information, which makes the control algorithm cost effective. This type of learning control is very much useful for the tracking systems where only the end points’ data is accessible. Next, using this learning algorithm, a calibration method to correct the systematic odometry errors is derived. The main advantage of this technique is that there is no need to follow a specific trajectory, which demands free spaces(like UMBmark [3], Kelly’s method [4]), instead any arbitrary trajectory can be chosen for the calibration purpose. Unlike existing end point measurement based techniques (i.e., UMBmark [3], Antonelli’s work [5], which use a number of different test trajectories to calibrate the odometry errors), in the present work, a single trajectory gives quite good result. To obtain more precise and probabilistic results, more experiments using different types of trajectories can be done. The effectiveness and superiority of our algorithm are shown by both simulation and experimental results. In experimental study, Pioneer-DX3 robot is used and the calibration performance of our work is compared with UMBmark. The experimental study shows that the proposed learning algorithm performs better compared to UMBmark. This paper is organized as follows. In section II, a terminal ILC for discrete time-varying nonlinear systems is derived. Section III is devoted to describe the odometry calibration technique using terminal ILC algorithm. Both simulation and experiment results are presented in section IV. Concluding remarks are included in section V. II. T ERMINAL I TERATIVE L EARNING C ONTROL FOR N ONLINEAR S YSTEMS Consider a discrete-time nonlinear dynamic system as xi (k + 1) = f (xi (k), ui (k), k) + ωi (k) yi (k) = Cxi (k) + νi (k)
(1) (2)
where xi (k) ∈ Rn , ui (k) ∈ Rm , yi (k) ∈ Rp , ωi (k) ∈ R and νi (k) ∈ Rp are the state, input, output, state disturbance and output noise vectors respectively. The indices i and k signify the number of operation cycles and discrete time operator respectively. The operator k uses 0 to N to complete a cycle. It is assumed that the nonlinear function f (xi (k), ui (k), k) is differentiable. Now using Taylor series expansion and neglecting higher order terms, the system (1) can be written in linearized form as n
xi (k + 1) = Ai (k)xi (k) + Bi (k)ui (k) + ωi (k) (3) ∂fi ∂fi where Ai (k) = ∂x , Bi (k) = ∂u are i xpi (k),ui (k) i xpi (k),ui (k) the Jacobian matrices, ui (k) is the updated input signal, and
xpi (k) is the predicted state, which is calculated as xpi (k + 1) = f (xpi (k), ui (k), k)
(4)
For ideal case, the system (1) and (2) can be written in linearized form as (5) xd (k + 1) = Ad (k)xd (k) + Bd (k)ud (k) yd (k) = Cxd (k) (6) ∂fd ∂fd , Bd (k) = ∂u where Ad (k) = ∂x d xd (k),ud (k) d xd (k),ud (k) are the Jacobian matrices and xd (k) is the desired state with the desired input ud (k). Now the input signal ui (k) can be parameterized as ui (k) = φ(k)di
(7)
where φ(k) is the time varying part of the input signal, which is bounded as supk→[0,N ] |φ(k) ≤ bφ with a small constant bφ and di is the amplitude of the input signal. This type of parameterizations is widely used for designing learning control [16] as most of the input signals can be written in this form. The basic assumptions considered to design the learning algorithm are now given as follows. A.1. For a given output yd (k) with the state xd (k), there exists an input ud (k) in the absence of disturbances ωi (k) and νi (k). A.2. The output error δyi (N ) (= yd (N ) − yi (N )) at target point is measurable for ∀i. A.3. Every iterations start in the neighborhood of xd (0) ( i.e., sup δxi (0) ≤ bx0 for ∀i with a small constant bx0 , where δxi (0) = xd (0) − xi (0) ) and xd (0) ≤ bxd0 for a small constant bxd0 . A.4. The matrices Ai (k), Bi (k) and C satisfy the conditions: supk→[0,N ] Ai (k) ≤ bA , supk→[0,N ] Bi (k) ≤ bB and C ≤ bC for ∀i with small constants bA , bB and bC . A.5. The disturbances ωi (k) and νi (k) are bounded as supk→[0,N ] ωi (k) ≤ bω and supk→[0,N ] νi (k) ≤ bν for ∀i, where bω and bν are small constants. The assumptions are quite standard as these are widely considered to design any learning control algorithm ( [12], [13] [15], [16], [17]). The learning control update law for (i + 1)th cycle is defined as di+1 = di + Li δyi (N )
(8)
where δyi (N ) = yd (N ) − yi (N ) and Li is the learning gain matrix, which is bounded as Li ≤ bL for ∀i. Before presenting our main result on the learning control design in theorem 1, α-norm [17], which is used to prove the theorem, is first defined. α-norm: For a positive real function q(k), the α-norm is defined as, with α ≥ 1, q(.)α = supk→[0,N ] q(k)(1/α)k . Now following theorem is proposed to find out the learning gain matrix Li . Theorem 1 : Consider the time-varying discrete-time system described by (1) and (2) with the iterative learning
312
control law (8). Also assume that the properties (A.1)-(A.5) are satisfied. Now if the following inequality N −1 N −p−1
I − Li C
p=0
Ai (N − j)Bi (p)φ(p) ≤ ρ < 1 (9)
j=1
holds for ∀i, then as the operation cycle increases, i → ∞ , the control input ui (k) converges to ud (k) with a bounded error. Furthermore, the output and state asymptotic tracking errors are also bounded. These error bounds tend to zero when the bounds on initial state error bx0 , disturbances bω and bν tend to zero. Proof : Subtracting both sides of (8) from dd and using output error at k = N , δyi (N ) = Cδxi (N ) − νi (N ), one gets δdi+1 = δdi − Li Cδxi (N ) + Li νi (N )
(10)
N −1 N −p−1 {dAB(p, j)} (1/α)N −j and bdA = p=0 j=1 N −1 j=0 {dA(j)} (1/α)N . If the initial guess of the input signal is not far from desired value, then bdA → 0 and bdAB → 0 always hold. This ensures that the value of ǫ is small. As iteration increases, δdi+1 α ∼ = δdi α . So (13) gives ε lim δdi α . i→∞ 1−ρ Now from (7), taking norm, multiplying by (1/α)k and using the above relation, one finds the following relation ε lim δui α bφ . (14) i→∞ 1−ρ Again using (11) and (12), state error is written as δxi (k) =
xi (N ) =
+
Ai (j)xi (0)+
p=0
N −p−1 Ai (N − j) {Bi (p)ui (p) + ω(p)} (11) j=1
+
xd (N ) =
Ai (k − j)Bi (p)δui (p) −
k−1 k−p−1
{Ad (k − j)Bd (p) − Ai (k − j)Bi (p)} ud (p)
p=0
Ad (j)xd (0)+
p=0
N −p−1 Ad (N − j) Bd (p)ud (p)
p=0
j=1
Taking norm and multiplying by (1/α)N , one gets lim δxi (k)α ≤ ǫ1
p=0
− Li C
N −1
+ Li C
N −1 N −p−1
N −1 N −p−1 p=0
lim δyi (k)α ≤ ǫ2
i→∞
where ǫ2 = bC ǫ1 + bν . Now in the absence of initial errors and disturbances, bω = 0, bν = 0, bx0 = 0 and bxd0 = 0. So the input error, state tracking error and output error tend to zero. With this proof of the theorem completes.
Ai (N − j)Bi (p)φ(p))δdi
j=1
Ai (j)δxi (0) − Li C
j=0
p=0
i→∞
(12)
Now using (7), (11) and (12), (10) can be written as N −1 N −p−1
N −1
{Ad (j) − Ai (j)}xd (0)
j=0
Ai (N − j)ωi (p) + Li νi (N ) − Li C
j=1
{Ad (N − j)Bd (p) − Ai (N − j)Bi (p)} φ(p)dd
j=1
After taking norm, multiplying both sides of the equation by (1/α)N , with α > max[1, bA ], and using assumptions (A.1)-(A.5), one gets δdi+1 α ≤ ρ δdi α + ǫ
Ai (k − j)ωi (p)
j=1
j=1
j=1
δdi+1 = (I − Li C
k−1 k−p−1
k where ǫ1 = (bA /α) bkx0 + bdA bxd0 + 1−(bA /α)k 1−(bA /α) ε bB bφ bw + bdAB bud . α−bA 1−ρ + α−bA Finally taking norm of output error, δyi (k) = Cδxi (k) − νi (k) and multiplying by (1/α)N , one gets
j=0
N −1
{Ad (j) − Ai (j)}xd (0)
j=0
Similarly from (5), one finds N −1
k−1
k−1 k−p−1 p=0
j=0
N −1
Ai (j)δxi (0) +
j=0
where δdi = dd − di . From (3), solving for xi (N ) recursively, one can write N −1
k−1
(13)
where N −1 N −p−1 Ai (N − j)Bi (p) ≤ ρ < 1 I − Li C p=0 j=1 and ǫ = bL bC (bA /α)N bx0 + bLbC bdA bxd0 + bL bv + N A /α) bw with bdAB = bL bC bdAB bud + bL bC 1−(b α−bA
III. C ALIBRATION TECHNIQUE USING TERMINAL ILC A. The modeling of odometry errors In this paper, the differential drive mobile robot (shown in Fig. 1), which is having separate encoder and driver motor for each wheel is considered. The geometric equations of the robot kinematics, proposed by Wang [17], have been used as the motion model. The model that uses the basic notations of Martinelli et al. [10] satisfies the following relations: nR/L (k) Ne δρeR (k) − δρeL (k) δρeR (k) + δρeL (k) , δθ(k) = δρ(k) = 2 dn δθ(k) x(k + 1) x(k) + δρ(k) cos(θ(k) + 2 ) y(k + 1) = y(k) + δρ(k) sin(θ(k) + δθ(k) ) 2 θ(k + 1) θ(k) + δθ(k) (15) δρeR/L (k) = 2πrn
313
B. Learning technique for odometry model
Fig. 1.
The three factors making systematic error
where nR/L (k) is the number of right/left encoder signals at k th step, Ne is the encoder resolution, rn is the nominal radius of the wheels, dn is the nominal distance between two wheels, also known as base length (shown in Fig. 1), δρeR/L (k) is the traveled distance of right/left wheel based on rn the nominal radius and encoder signals at k th step, δρ(k) is translation of the robot at k th step and δθ(k) is change in heading angle at k th step. In ideal condition, the mobile robot changes its configuration according to (15). But in real time, this assumption is not a practical one as the system suffers from different types of errors (both systematic and non-systematic errors). So the system should be modeled in such a way that all-possible errors from various sources are incorporated. We assume that the major systematic error occurs by three factors. Two come from difference between effective radius and nominal radius of two wheels. Last one comes due to the difference between the effective base length and the nominal one. To compensate these systematic disparity terms, we bring in three systematic parameters δR , δL and δd . The term, δR/L is to correct the radius error and δd is for base length. So rR/L = δR/L rn is the effective value of right/left wheel radius and d = δd dn is the effective base length. The relations between these parameters are also shown in Fig. 1. Considering the correction factors and disturbances, (15) is written in state space form as x(k + 1) = f (x(k), u(k), k) + ω(k)
(16)
where x(k) is the state vector of the mobile robot, T x(k) y(k) θ(k) , u(k) is the systematic parameters, T δR δL δd (here input) and ω(k) is the plant disturbance. The nonlinear function f (x(k), u(k), k) is given as f (x(k), u(k), k) = δθ(k) δρ(k) cos x (k) + 3 x1 (k) 2 x2 (k) + δθ(k) δρ(k) sin x (k) + 3 2 x3 (k) δθ(k) δρeR (k)u1 (k)+δρeL (k)u2 (k) 2 δρeR (k)u1 (k)−δρeL (k)u2 (k) dn u3 (k)
where δρ(k) =
(17)
and δθ(k) =
The output equation for the system (16) can be written as y(k) = Cx(k) + ν(k)
(18)
where C is the output matrix, y(k) is the output signal and ν(k) the measurement noise.
In this section, the implementation strategy of the learning algorithm for odometry calibration is discussed. It is assumed that the robot moves in an arbitrary trajectory. For applying TILC algorithm to odometry calibration, one should consider this test trajectory as the desired trajectory. The learning algorithm tries to converge it starting from an odometry path, which depends on the initial assumptions of the odometry parameters. In summary, the calibration procedure using TILC can be divided into two parts. First, the robot moves in an arbitrary path and stores the data of the terminal positions and orientations. Second, using the TILC algorithm, the systematic parameters are determined for which the odometry path converges to the test trajectory. The system and output equations for the test trajectory are written as xd (k + 1) = f (xd (k), ud (k), k) + ωd (k) yd (k) = Cxd (k) + νd (k)
(19) (20)
where xd (k) is the desired state with output yd (k) and ud (k) is the desired input. The system and output equation to draw odometry path for ith iteration can be written as xi (k + 1) = f (xi (k), ui (k), k)
(21) (22)
yi (k) = Cxi (k)
Now the system (21) is linearized with respect to the predicted states xpi (k) and input ui (k) as xi (k + 1) = Ai (k)xi (k) + Bi (k)ui (k) (23) ∂fi ∂fi , Bi (k) = ∂u . The prewhere Ai (k) = ∂x i i xpi ,ui
xpi ,ui
dicted states xpi (k) are calculated as
xpi (k + 1) = f (xpi (k), ui (k), k)
(24)
Relation (19) can be written in linearized form as xd (k + 1) = Ad (k)xd (k) + Bd (k)ud (k) + ωd (t) ∂fd ∂fd , B (k) = where Ad (k) = ∂x d ∂ud d xd (k),ud (k)
(25)
xd (k),ud (k)
are the Jacobian matrices. It can be seen that (25) and (20) are similar to (3) and (2) while (23) and (22) are similar to (5) and (6). So the TILC algorithm, developed in section II, can be applied for odometry calibration problem. It is noted that in this case, the noise dynamics become more simpler than that described in section II as noise is constant for any arbitrary trajectory. The output matrix C for odometry problem is considered as a 3x3 identity matrix, i.e., it is assumed that the measurement of all three states is possible. It is a limitation of the present method as it is not easy to measure δθ in practice. To get over this disadvantage, the home positioning method, discussed in [11], can be considered. It can also be seen that the input signal ui (k) (i.e., T ui (k) = δRi δLi δdi ) is constant for each iteration. Here the input signal is parameterized as φ(k) = 1 and
314
T di (k) = δRi δLi δdi ). If the system satisfies other assumptions (A.1)-(A.5), then using the linearized system and input matrices along with output matrix, the learning gain matrix Li is calculated from (9). Once the gain is calculated, the input signal is updated using relations (7) and (8). In this way, the iteration process is continued upto certain number of times so that updated trajectory converges to desired one (here (25) and (20)).
1.3
Estimated value Correct value
1.2 1.1
1.3
Estimated value Correct value
1.2 1.1
1
1
0.9
0.9
0.8
0.8 5
10 15 iteration number
20
(a) Estimation of δR 1.3
5
10 15 iteration number
20
(b) Estimation of δL Estimated value Correct value
1.2 1.1 1 0.9
IV. RESULTS
0.8 5
In this section, both the simulation and experimental results are presented to show the effectiveness of the proposed learning technique in odometry calibration.
10 15 iteration number
20
(c) Estimation of δd Fig. 3.
Simulation result - estimation of systematic parameters
A. Simulation results Before going for the experimental verification, first, the effectiveness of the proposed learning technique in correcting systematic error of the mobile robot is shown by the simulation results. The scenario of simulation setup is the same as described in the previous section. The configuration of simulation is summarized as follows. • • • • • • •
Simulation program : MATLAB Radius of wheels : 42mm Distance between two wheels : 298mm Resolution of encoder : 900 pulse/revolution Std. dev of motion noise : 0.3% of control input Std. dev of measurement noise : 10mm, 10mm, 0.3 rad Correct systematic parameters : δR = 0.99 δL = 1.02
Fig. 4.
δd = 1.01
With this condition, the simulation was performed and the results are shown in Fig. 2 and Fig. 3. Fig. 2 indicates that before calibration, the gap between the actual path and the odometry path was large, but after repeating the iteration steps, the gap gets smaller. The systematic parameters also converge to their correct values as shown in Fig. 3. The estimated values (after 10th iteration), which shows that the new values are very close to the correct values, are given as follows. 3000
3000
2500
2500
2000
2000
1500
B. Experimental results As the simulation results confirm the improvement in odometry performance, we carried out experiments by Pioneer-DX3 (shown in Fig. 4) and we compared the calibration performance with conventionally well known calibration method, UMBmark [3]. The configurations of the robot are as follows. • • • •
mm
mm
500
0
0
0
500
1000
1500 2000 mm
2500
3000
−500
3500
(a) Before iteration
0
500
1000
1500 2000 mm
2500
3000
3500
(b) After 1st iteration
3000
3000
2500
2500
2000
2000
1500
1500 Actual robot path Odometry path
mm
mm
Actual robot path Odometry path
1000
1000
500
500
0
The implementation procedure of the experiment is very easy compared with other calibration methods. First, we mark the initial point of the robot, then robot moves in an arbitrary path and stops. We also mark the end point of the robot and calculate the displacements (∆x, ∆y, ∆θ) of the two points. Using these displacements, we applied the TILC for odometry calibration. With pioneer-DX3, both the calibration methods, TILC based method and UMBmark, are executed. The systematic parameters obtained by these methods are listed as follows.
0
0
500
1000
1500 2000 mm
2500
3000
3500
(c) After 5th iteration
−500
0
500
1000
1500 2000 mm
2500
3000
•
3500
(d) After 10th iteration •
Fig. 2.
Model : Pioneer-DX3, MobileRobots Inc. Sampling time of encoder signal : 0.05 sec Radius of wheels : 97mm Distance between two wheels : 327mm
Actual robot path Odometry path
1000
500
−500
•
Converged systematic parameters: δR = 0.9904 δL = 1.0206 δd = 1.0096 Correct systematic parameters: δR = 0.99 δL = 1.02 δd = 1.01
1500 Actual robot path Odometry path
1000
−500
•
Pioneer-DX3
Simulation result - odometry trajectories for different iterations
315
Systematic parameters obtained by terminal ILC: δR = 0.97702 δL = 0.97097 δd = 1.0122 Systematic parameters obtained by UMBmark: Er = 1.0071 Ed = 1.0092
update the input signal, so this control algorithm can be very much useful for many tracking problems where only end points data are accessible. Then using this learning technique, an odometry calibration method for correcting systematic errors is developed. The main advantage of this calibration technique is that there is no need to follow a specific trajectory to calibrate the systematic errors instead any arbitrary single trajectory serves the purpose. The effectiveness of both the learning algorithm as well as the calibration technique is verified with both the simulation and experimental results. The experimental results confirm the significant improvements in odometry performances and show better performance in correcting systematic errors compared to UMBmark.
0 −500 −1000 End point Odometry path before calibration The 1st iteration step The 5th iteration step The 10th iteration step
mm
−1500 −2000 −2500 −3000 −3500 0
Fig. 5.
500
1000
1500
2000
2500 mm
3000
3500
4000
4500
Experiment result - odometry trajectories for different iterations
1000 0
R EFERENCES
−1000
mm
−2000 −3000 −4000 Before calibration After calibration using terminal ILC After calibration using UMBmark method Waypoint
−5000 −6000 −2000 −1000
0
1000
2000 mm
3000
4000
5000
6000
(a) Room environment, about 25m trajectory Before calibration After calibration using terminal ILC After calibration using UMBmark method Waypoint
5000
mm
0
−5000
−10000
−15000
−20000 0
0.5
1
1.5 mm
2
2.5
3 4
x 10
(b) Corridor environment, about 100m trajectory Fig. 6. Experiment result - evaluation of the performance of the terminal ILC based algorithm comparing with UMBmark
To evaluate the effectiveness of the proposed method, we made the mobile robot to follow two specific trajectories predetermined by way-points. Fig. 6 shows that the odometry path before calibration diverges from the actual path, but the odometry path after calibration using the TILC based method follows near the way points. The error between the actual path and odometry path obtained by UMBmark also decreases, but still more systematic error remains compared with our method. This shows that the TILC based calibration technique outperforms UMBmark in correcting systematic errors. V. CONCLUSIONS A terminal iterative learning control based odometry calibration technique is presented. First, a TILC algorithm for discrete-time nonlinear systems is derived. As the TILC algorithm uses only the information of terminal points to
[1] J. Borenstein, ”Experimental results from internal odometry error correction with the OmniMate mobile robot,” IEEE Trans. Robot. Automat., vol. 14, no. 6, pp. 963-969, 1998. [2] J. Borenstein, ”Internal Correction of Dead-reckoning Errors with the Smart Encoder Trailer,” In Proc. 1994 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Mnchen, Germany, pp. 127-134, September 1994. [3] J. Borenstein, and L. Feng, ”UMBmark - A method for measuring, comparing and correcting dead-reckoning errors in mobile robots,” Technical Report UMMEAM- 94-22, University of Michigan, 1994. [4] A. Kelly, ”Linearized error propagation in odometry,” Int. J. Robot. Research, vol. 23, no. 2, pp. 179-218, 2004. [5] G. Antonelli, S. Chiaverini, and G. Fusco, ”A Calibration method for odometry of mobile robots based on the least-squares technique: theory and experimental validation,” IEEE Trans. Robot., vol. 21, no. 5, pp. 994-1004, 2005. [6] G. Antonelli, and S. Chiaverini, ”Linear estimation of the physical odometric parameters for differential-drive mobile robots,” Auton. Robot., vol. 23, no. 1, pp. 59-68, 2007. [7] N. Roy, and S. Thrun, ”Online self-calibration for mobile robots,” In Proc. 1999 IEEE Int. Conf. on Robot. Automat., Detroit, Michigan, USA, pp. 2292-2297, May 1999. [8] N. Doh, H. Choset, and W. K. Chung, ”Accurate relative localization using odometry,” In Proc. 2003 IEEE Int. Conf. Robot. Automat., Taipei, Taiwan, pp. 1606-1612, Seplember 2003. [9] T.D. Larsen, M. Bak, N.A. Andersen,and O. Ravn, ”Location Estimation for Autonomously Guided Vehicle using an Augmented Kalman filter to Autocalibrate the Odometry,” In Proc. FUSION98 Spie Conf., Las Vegas, USA, July 1998. [10] A. Martinelli, N. Tomatis, and R. Siegwart, ”Simultaneous localization and odometry self calibration for mobile robot,” Auton Robot, vol. 22, no. 1, pp. 75-85, 2007. [11] Y. Yun, B. Park, and W. K. Chung, ”Odometry Calibration using Home Positioning Function for Mobile Robot,” In Proc. 2008 IEEE Int. Conf. Robot. Automat., Pasadena, California, USA, pp. 2116-2121, May 2008. [12] S. Arimoto, S. Kawamura, and F. Miyazaki, ”Bettering operation of dynamic systems by learning: A new control theory for servomechanism or mechatronics systems,” In Proceedings 23rd IEEE conference on decision and control, Las Vegas, Nevada, pp. 1064-1069, December 1984. [13] B. Zhang, D. Wang, Y. Ye, ”Cutoff-Frequency Phase-In Iterative Learning Control,” IEEE Transactions on Control Systems Technology, vol. 17, no. 3, pp. 681-687, 2009. [14] D. Wang, ”Convergence and Robustness of Discrete Time Nonlinear Systems with Iterative Learning Control,” Automatica, vol. 34, no. 11, pp. 1445-1448, 1998. [15] G. Casalino, and G. Bartolini,”A learning procedure for the control of movements of robot manipulators,” In IASTED Symposium on robotics and automation, Amsterdam, The Netherlands, pp. 108-111, June 1984. [16] Y. Chen, J.-X. Xu, and C. Wen, ”A High-order Terminal Iterative Learning Control Scheme,” In Proc. 36th Conf. Deci. Contr., San Diego, California, USA, pp. 3771-3772, December 1997. [17] C. M. Wang, ”Location estimation and uncertainty analysis for mobile robots,” In Proc. 1988 IEEE Int. Conf. Robot. Automat., Philadelphia, PA, USA, pp. 1231-1235, April 1988.
316