You are on page 1of 15

Robotics and Autonomous Systems 60 (2012) 15921606

Contents lists available at SciVerse ScienceDirect

Robotics and Autonomous Systems


journal homepage: www.elsevier.com/locate/robot

Fuzzy-logic-assisted interacting multiple model (FLAIMM) for mobile robot localization


Hyoungki Lee b , Jongdae Jung a , Kiwan Choi b , Jiyoung Park b , Hyun Myung a,
a b

Urban Robotics Lab., KAIST, Daejeon, Republic of Korea Microsystems Lab., SAIT, Samsung Electronics, Yongin, Republic of Korea

article

info

abstract
Improvement of dead reckoning accuracy is essential for robotic localization systems and has been intensively studied. However, existing solutions cannot provide accurate positioning when a robot suffers from changing dynamics such as wheel slip. In this paper, we propose a fuzzy-logic-assisted interacting multiple model (FLAIMM) framework to detect and compensate for wheel slip. Firstly, two different types of extended Kalman filter (EKF) are designed to consider both no-slip and slip dynamics of mobile robots. Then a fuzzy inference system (FIS) model for slip estimation is constructed using an adaptive neurofuzzy inference system (ANFIS). The trained model is utilized along with the two EKFs in the FLAIMM framework. The approach is evaluated using real data sets acquired with a robot driving in an indoor environment. The experimental results show that our approach improves position accuracy and works better in slip detection and compensation compared to the conventional multiple model approach. 2012 Elsevier B.V. All rights reserved.

Article history: Received 6 May 2011 Received in revised form 19 April 2012 Accepted 23 September 2012 Available online 8 October 2012 Keywords: Dead reckoning Slip detection Fuzzy inference system Interacting multiple model

1. Introduction Dead reckoning (DR) is the most basic approach to a mobile robots localization problem. The performance of DR can be critical when it is used in combination with other external sensors. Many works have been done to improve DR accuracy by calculating exact heading angles [17]. They usually use inertial sensors such as gyroscopes, electronic compasses, and tilt sensors and realize sensor fusion of odometry and inertial sensors in a framework of Kalman filters. However, the performance of DR-based localization is severely degraded when a slip or immobilization occurs during the robot motion. Autonomous robots should quickly detect the slip and immobilization in order to obtain more accurate position states and take appropriate actions such as moving backward and planning an alternative route to escape from unfavorable areas. Research on the slip detection and compensation can be categorized into two groupsthe exteroceptive method where absolute position measurements are utilized and the proprioceptive method where only internal sensors like encoders, gyros, and accelerometers are used. In the field of the exteroceptive method, Helmick et al. [8] proposed a slip detection system for a Mars rover based on visual

Correspondence to: Urban Robotics Lab., KAIST, 291 Daehak-ro, Yuseonggu, Daejeon, Republic of Korea. Tel.: +82 42 350 3630; fax: +82 42 350 3610. E-mail addresses: twinclee@samsung.com (H. Lee), jdjung@kaist.ac.kr (J. Jung), kiwan@samsung.com (K. Choi), ji.young.park@samsung.com (J. Park), hmyung@kaist.ac.kr (H. Myung).
0921-8890/$ see front matter 2012 Elsevier B.V. All rights reserved. doi:10.1016/j.robot.2012.09.018

odometry and inertial measurements. Angelova et al. [9] proposed an algorithm for learning slip behavior using visual features and mechanical supervision. Absolute position measurements using GPS also made it simple to detect wheel slip and immobilization [10]. However, these techniques require that the robot should operate in areas where either visual features or GPS signals are available. In the field of the proprioceptive method, wheel slip can be estimated through the use of encoders by comparing the speed of driven wheels with that of undriven wheels [11]. Ojeda et al. [12] proposed an indicator of wheel slip by comparing a redundant wheel encoder against drive wheel encoders and a yaw gyro. However this method needs redundant wheel encoders and it is not easy to be applied to various types of differential drive robots. They also proposed another slip estimator based on motor current measurement [13]. However this technique requires accurate current measurement and terrain specific parameter tuning. Ward and Iagnemma [14] proposed model-based wheel slip detection by utilizing a tire traction/braking model and weak constraints for a Kalman filter; however, even if a single higher-order dynamic model can account for a robots various driving modes, it is difficult to choose suitable model parameters such as road conditions and tire properties which are often unobservable [15]. To cope with dynamic changes due to wheel slip, Kalman filter adaptation methods can be considered. There are two kinds of such methods; the parameter adaptation method such as covariance matrix adaptation and the structural adaptation method such as IMM. In the parameter adaptation method, the parameters

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

1593

Q and R, the process noise covariance and measurement noise covariance, respectively, are adapted. Various approaches have already been proposed for estimating Q and R matrices. Mehra [16] classified them as: Bayesian, maximum likelihood, correlation, and covariance matching methods. However, the maximum likelihood method and Bayesian method are both based on the assumption that the dynamic error is time-invariant [17]. The matching methods showed best performance in GPS/INS application [18]. However, they also assume that the dynamic model does not vary over time. Thus, if the dynamic model of the robot suddenly changes, a structural adaptation method such as the interacting multiple model (IMM) is preferred, which has been indicated in a recent paper [19]. The IMM was proposed to handle several parallel models for varying systems [20]. Zhang and Jiang [21] applied the IMM for fault detection and diagnosis, where the system structure and parameters change according to the occurrence of system failures. Lee et al. [19] proposed an IMM-based slip detector which employed two different dynamics models for the robots normal driving mode and slip mode, respectively. To improve the performance of IMM, several researchers utilized a fuzzy inference system (FIS). McGinnity and Irwin [22] used FIS in updating posterior model probabilities of IMM algorithms. In this study, fuzzy sets were simply used as a proportional mapping function. Others proposed fuzzy-tuning IMM algorithms in which FIS was used to tune the transition probabilities among the models [23,24]. Others used FIS in adapting the sub-filter parameters, especially process noise covariance, to handle unknown system dynamics [2527]. However, changing the transition probabilities or noise covariances based on the residual or innovation values cannot provide an effective mode probability update when the differences in performance between sub-filters are large. In this paper, we propose a fuzzy-logic-assisted IMM (FLAIMM) filter to improve the performance of slip detection in IMM filters. The FLAIMM has sufficient novelty in that it is totally different from the other fuzzy-logic-based approaches [2227] suggested to improve IMM. FIS is well suited to find the mode probability in the presence of sensor noises or uncertainty as it can act as a general nonlinear function approximator. Another advantage of using FIS is that we can extract the rules with linguistic terms that describe the inputoutput relationship, which provides users with some insight into the system behavior. In FLAIMM filtering, FIS runs independently from the sub-filtering process and detects slip occurrence using the sensor data from both encoders and the inertial measurement unit (IMU). The calculated FIS output is used in the update of mode probabilities. By doing this, we can separate the slip detection from the sub-filtering process and more effectively utilize the multiple model approach. The remainder of this paper is organized as follows. We will describe the designing of an extended Kalman filter (EKF) in Section 2. We then will introduce the IMM algorithm, the FIS model for slip detection, and finally the FLAIMM algorithm in Section 3. Experimental results are given in Section 4, followed by conclusions. 2. Design of EKF Since the error covariance of an encoder is substantially changing depending on the wheel slip conditions, two different EKFs are employed to deal with both no-slip and slip dynamics of robots [19]. In this section, we first define the coordinate systems to describe the general three dimensional motions of the robots and then explain the detailed design of EKFs.

Fig. 1. Inertial and body-fixed coordinate frames. Type I Euler angles (, , ) are adopted to describe the robots 3-dimensional angular displacements.

Fig. 2. Structure of EKF for no-slip condition. It uses IMU data as control inputs in state prediction and encoder data as measurements in state update. z 1 denotes the unit delay operator.

2.1. Coordinate systems A robot moving on an irregular floor experiences threedimensional attitude changes. The attitude of a robot can be described using type I Euler angles, i.e., roll , pitch , and yaw . Euler angles are defined as the angular displacements along the xb , yb , and zb axes where the subscript b means the body-fixed frames. The body frame can be thought of as embedded in the robot body so that its x axis points forward, the y axis to the left, and the z axis upward. The defined body-fixed frame is shown in Fig. 1. 2.2. EKF for no-slip condition There are two main steps in Kalman filteringprediction and updating. In the prediction step, the state transition and the corresponding error covariance are estimated according to the prediction model. In the updating step, measurements in the current time step are estimated by using the measurement model and innovations calculated from the difference between the estimated and actual measurements are used in the state and error covariance update. Fig. 2 shows the structure of the EKF for no-slip conditions. The EKF for no-slip conditions will be used as a sub-filter for mode 1 in (1) the IMM algorithm. In the figure, the superscript (1) in xk and uk denotes mode 1 of the IMM.
(1)

1594

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

where vk and vk are the encoder measurements of the velocz ,enc ity along the xb and yb axes, and k the encoder measurement of the angular velocity along the zb axis. The measurement equation is then given by: zk
(1)
1) (1) = h(1) (x( k )+ x,enc (1) vk + 1 y,enc (1) = vk + 2

x,enc

y,enc

(7)

z ,enc k

+ 3

(1)

where (1) is a measurement noise process vector with covariance matrix R(1) . 2.2.3. State and covariance update The EKF is used to correct the system prediction on the basis of the observations. The state prediction at time k and the covariance matrix associated with the prediction errors are given as:
1) 1) (1) (1) ( k , u( x (x k ) k+1|k = f

Fig. 3. Structure of EKF for slip conditions. It uses the robot dynamics model with no control input in state prediction and IMU data as measurements in state update. z 1 denotes the unit delay operator.

2.2.1. Prediction model To describe the 3-D motion of the robot, a state vector consisting of position (pW ), orientation (W ), linear velocity (vW ), angular velocity (b ), and linear acceleration (aW k ) is given by: xk
(1)

(8)

(1) T (1) (1) (1) (1) (1) 1) 1) ( Pk+1|k = J( x (x k , uk )Pk [Jx (xk , uk )]

1) (1) (1) T 1) (1) (1) (1) ( + J( u (x k , uk )Qu [Ju (xk , uk )] + Q

(9)

= pW k

vW k

aW k

W k

b k

(1)

The system input with its covariance matrix Qu is given by: uk


(1)

T = ab b k k ,acc y,acc z ,acc x,gyr y,gyr z ,gyr T = ax , ak , ak , k , k , k k

k+1 = h(1) (x k+1|k ), the updated state estimate can be obtained as z follows:
(2)

where Jx () and Ju () is the Jacobian matrix of f(1) () with respect (1) (1) to xk and uk , respectively. By using the measurement prediction
(1) (1)

(1)

(1)

k+1 ]. k+1 = x k+1|k + Kk+1 [zk+1 z x


(1)

(1)

(1)

(1)

(1)

(1)

(10)

where ab k is the vector for robot accelerations measured by accelerometers in the k-th time step, and b k the vector for angular rates measured by gyros in the k-th time step. The prediction model is then given by:
(1) xk+1

The Kalman gain matrix Kk+1 and the sensor covariance matrix (1) Sk+1 are calculated as follows: Kk+1 = Pk+1|k [H(1) ]T [Sk+1 ]1
(1) Sk+1 (1) (1) (1)

(11) (12)
(1)

= f (xk , uk ) + W pW t k + vk W W b W v + [C (k)a + g ] t b k k = aW + (1) k W + EW (k)b t k b k b k

(1)

(1)

(1)

(1)

(1) H(1) Pk+1|k [H(1) ]T

+ R(1)

(3)

where H(1) () is the Jacobian matrix of h(1) () with respect to xk . Finally, the covariance matrix associated with the updated state 1) ( estimate x k+1 is given by: Pk+1 = Pk+1|k Kk+1 Sk+1 [Kk+1 ]T .
(1) (1) (1) (1) (1)

(13)

where gW is a vector for the acceleration due to gravity, and (1) a Gaussian noise process vector with covariance matrix Q(1) . The direction cosine matrix CW b and rotation rate transformation matrix EW b between the body-fixed and inertial frame are given by:

2.3. EKF for slip condition In slip conditions, the measurements from encoders give false information. Therefore, an EKF without using the erroneous encoder data will be designed. The prediction model is constructed using a dynamics model, and the measurement model is constructed using IMU measurements. Fig. 3 shows the structure of the EKF for slip conditions, which represents the sub-filter for mode 2 in the IMM algorithm. The designed filter can be regarded as a simplified version of the Kalman filter introduced in [28]. 2.3.1. Prediction model The mode 2 state vector is the same as the mode 1 state vector as follows: xk
(2)

CW b

c c s c s

c s s s c s s s + c c c s c t s c sec

c s c + s s s s s c c c c

(4)

EW b

1 0 0

s t c s sec

(5)

where s() , c() and t() represent sin(), cos(), and tan(), respectively. 2.2.2. Measurement model The measurements available for each sampling period are given by: zk
(1)

= pW k

vW k

aW k

W k

b k

(14)

= v

x,enc k

,v

y,enc k

z ,enc T k

(6)

In slip dynamics, however, we assume that a linear jitter jW lin and W angular jitter jW and ang cause impulses of linear acceleration

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

1595

Fig. 4. Structure of the conventional IMM filtering with two modes. Each EKF outputs updated state prediction and likelihood of measurements based on the different prediction and measurement models. Mode probability update is performed based on the likelihood values.

Fig. 6. FIS model used in the slip detection. Three inputs are used in our FIS model to output the degree of slip occurrence. The selection of input variables is based on the characteristics of the sensor data shown in Fig. 8.

Fig. 5. Schematic diagram of FIS. The inputs are mapped into the outputs through the inference engine. The fuzzification and defuzzification processes produce fuzzified input values and crisp output values, respectively, based on the input and output membership functions.

angular acceleration W in each time step. These accelerations are non-zero additive noises and the corresponding vector is given by:

W W

jW lin t t

.
(15)

jW ang

The state update is then given based on the robot dynamics model as follows:
(2) (2) xk+1 = f(2) (xk , ) + (2)

2 W W vW + ( a + ) t k k W W + (2) = ak + W + EW (k){b t + 1 W t 2 } k b k 2 W b + t k
(2)

W pW k + vk

t+

W 2 (aW k + ) t

(16)

Fig. 7. IMU and encoder data obtained from a set of driving tests. vl and vr indicate the left and right wheel velocities. Slip regions are labeled with (S). The three differencesthe difference in forward-direction acceleration between encoder and accelerometer, the difference in encoder velocity between the right and left wheels, and the difference in calculated yaw rate between the gyro and encoder are dominant around the slip regions.

motion. The measurement equation is given by: zk


(2)
2) (2) = h(2) (x( k )+ (2) x,acc ak + |g | sin + 1 ay,acc |g | cos sin + (2) k 2 z ,acc (2) ak |g |(1 cos cos ) + 3 x,gyr (2) = k + 4 y,gyr (2) + k 5 z ,gyr (2) k + 6 y (2) vk + 7

where is a Gaussian noise process vector with covariance matrix Q(2) . 2.3.2. Measurement model For a slip mode measurement model, only the IMU sensor data is utilized. The corresponding measurement vector is given as: zk
(2)

(18)

y,vir T = ab b vk k k ,acc y,acc z ,acc x,gyr y,gyr z ,gyr y,vir T = ax , ak , ak , k , k , k , vk k


y,vir

(17)

where vk is virtual measurement of the velocity along the yb axis which should be approximately zero by the constraint in robot

where (2) is a measurement noise process vector with its covariance matrix R(2) .

1596

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

(a) Training data set.

(b) Checking data set.

Fig. 8. Training and checking data sets for ANFIS learning. The data was obtained from a set of driving tests using the robot depicted in Fig. 12.

2.3.3. State and covariance update The state estimate and covariance update for mode-2 EKF can be done in a similar way as the mode-1 EKF. Since the slip mode dynamics has no control input, the state prediction equation for mode-2 EKF can be written as follows:
2) (2) (2) ( k ) x (x k+1|k = f

(19)
(2) (2) (2)

(2) Pk+1|k

2) k )Pk [Jx (x k )]T + Q(2) . = J( x (x

(2)

(20)

where Jx () is the Jacobian matrix of f 2.4. Inertial sensor modeling

(2)

(2)

() with respect to xk .

(2)

The accurate heading angle is critical to dead reckoning performance. We calibrate the scale factor of the yaw gyro while those of the roll and pitch gyros are set to nominal values. The measurement of turn rate provided by a yaw rate gyro can be expressed in terms of the true input rate and the error terms as follows [7]:

Fig. 9. Structure of FLAIMM algorithm. In FLAIMM algorithm, FIS output instead of likelihood of measurements is used in mode probability update.

z ,gyr = (1 + Sz )z + Bz + Mx x + My y + Bg (ax , ay , az ) + nz
z ,gyr z

(21)

where is the output rate of the gyro (deg/sec), the turn rate of the gyro about its z axis, Sz a scale factor error, x and y the turn rate of the gyro about its x and y axes, Mx and My the crosscoupling coefficients, Bg () an acceleration-related error, a() the acceleration along the x, y, and z axes, Bz a bias which may drift very slowly, and nz the zero-mean random noise. A practical and simple model for MEMS gyros neglecting small errors can be given by:

Table 1 ANFIS training errors with several input membership function types. In this training, the training epoch was set to 10 and the number of input membership functions was set to 3 for all inputs. Linear function was used as an output membership function type. Membership function type Triangle Trapezoidal Generalized bell Gaussian Product of two sigmoid Errors 0.0715 0.0611 0.0542 0.0572 0.0530

z ,gyr = (1 + Sz )z + Bz .

(22)

The scale factor of low-cost MEMS gyros is usually modeled with a linear function. However nonlinearity in the scale factor cannot be neglected in navigational uses [1]. When the nonlinearity is modeled with a polynomial function, we obtain the nonlinear scale factor: Sz = a0 + a1 z + a2 (z )2 + + an (z )n (23)

The drift of the gyro Bz is caused mainly by thermal effects and this can be modeled as:

z Bk+ 1 =

T T+ T

Bk z +

t T+ t

(C1 + C2 ),

(24)

where ai are the coefficients of the polynomial. The scale factor can be obtained by collecting gyro data and reference angular velocities from the rate table [29].

where the parameters C1 , C2 , and T should be tuned when zero input is applied [28]. As T becomes larger, the bias drift increases or z z decreases very slowly. When T is large enough, Bk+ 1 = Bk +nw can

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606 Table 2 Resulting output membership function (MF) parameters. MF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Fig. 10. Generated input membership functions. Product of two sigmoid functions is used as a membership function shape. a0 0.0288 0.0679 0.1184 0.0875 0.0570 2.4491 0.1120 2.8431 10.3117 0.0040 0.0876 10.7027 0.0333 0.0211 109.4753 2.5357 26.7111 1.1706 0.0011 0.0672 0.2433 0.0199 0.8341 0.0142 0.4273 0.5120 0.0000 a1 a2 a3

1597

0.0030
0.0351 0.1413 0.0551 0.0042 0.1169 0.1315 0.0360 91.7662 0.0013 0.0157 12.9197 0.0240 0.0458 48.9692 0.6441 5.0492 6.6618 0.0005 0.0590 0.0517 0.0000 0.0837 0.0199 0.1122 21.1762 0.0000

0.0009
0.0010 0.2801 0.0006 0.0952 0.1138 0.1937 1.6038 6.3528 0.0175 0.1419 2.2010 0.1250 0.0147 12.6661 19.4016 99.4631 1.9853 0.0029 0.4800 0.0760 0.0105 0.1269 0.0102 3.0043 0.1539 0.0000

0.0100 0.0609 6.2987


2.2480

1.1882 2.5335
8.2238 27.9363 2.0201 0.1353 3.4747 137.6706 0.1943 2.0600 284.5471 47.2605 426.7561 0.1747 0.0436 4.9803 0.0085 0.8068 29.4877 0.0006 12.1238 0.0101 0.0000

be used as a drift model where nw is a Gaussian noise process [30]. The bias drift of the accelerometer can be modeled in the same way.

Now the overall system prediction model including bias error models is given by:

(a) |ax,enc ax,acc | = 0.

(b) |z ,enc z ,gyr | = 40.

(c) |vl vr | = 25. Fig. 11. Generated output surfaces. Since our FIS model has three input variables, the output surfaces are plotted with one input value fixed.

1598

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

Fig. 12. Robot with differential drive wheels. An IMU sensor with a 3-axis accelerometer and a gyro is mounted on top of the robot body. Fig. 14. Estimated trajectories for driving test 1. The expected slip regions are indicated by labeled squares.

The measurement models considering the bias drift terms are given as follows: zk
(1)
1) (1) ( = h(1) (x k )+ x,enc (1) ax + Bk + 1 vk y,enc a (1) = vk + Bky + 2

(26)

zk
(2)

z ,enc k

+ Bk + 3

(1)

Fig. 13. Experimental setup for the driving test. The environment involves several slip-occurring obstacles such as doorsills and rugs. Motion capture system records the ground truth of the robot trajectories.

Table 3 Summary of the parameters applied in the estimation algorithms. Units are in (cm, deg, s). Parameters pij jW lin jW ang Qu Q
(1 )

k ) + (2) = h (x (2) x,acc x + |g | sin + Ba ak k + 1 ay y,acc (2) ak |g | cos sin + Bk + 2 z ,acc (2) az a | g | ( 1 cos cos ) + B + k k 3 x,gyr (2) x . + B k = k + 4 y y,gyr (2) k + Bk + 5 z ,gyr (2) z k + Bk + 6
y (2) vk + 7

(2)

(2)

(27)

Values

0.99 0.01 0.005 0.995 103 [1 1 0]T

3. Fuzzy-logic-assisted IMM (FLAIMM) filtering

5[1 1 1]

diag(2.02 , 2.02 , 5.02 , 0.012 , 0.012 , 0.0012 ) diag(0, 0, 0, 0.22 , 0, 0.22 , 0, . . . , 0) diag(0, 0, 0, 103 , 0, 103 , 0, . . . , 0) diag(0.152 , 0.72 , 0.12 ) diag(2.02 , 2.02 , 5.02 , 0.032 , 0.032 , 0.012 , 0.22 )

Q(2) R(1) R
(2)

T d,acc Bk + (C1 + C2 ) i) ( x = = B T + T T + t k +1 k+1 d,gyr T t d , gyr Bk+1 Bk + (C1 + C2 ) T+ T T+ t (i) is an augmented state vector for mode i, Bk where x
ay Bk a Bkz T z T Bk the d,acc d,gyr the bias drift of the accelerometer, and Bk

xk+1

(i)

f (i) (xk ) + (i) t d,acc

(i)

(25)

, ]

x = [Ba k , y x = [Bk , Bk ,

bias drift of the gyro.

3.1. Conventional IMM filtering The two EKFs described in Section 2 should be switched according to the occurrence of slip. For this purpose, an IMM algorithm using two sub-filters is employed [19]. In our use of the IMM, the mode 1 sub-filter accounts for no-slip conditions, and the mode 2 sub-filter for slip conditions. In the framework of the IMM, a transition between the two modes is automatic. Fig. 4 shows the overall structure of the IMM algorithm used in this study. At each time k, a linear combination of the previous 0(j) 0(j) k estimates (states x 1 and covariance Pk1 ) is given as an input to each of the n modes. Current measurement zk is also given to each sub-filter and innovations are computed along with the (j) (j) corresponding likelihood k . Mode probabilities k are used as weights in a linear combination of current model outputs to form desired state and covariance estimates. One cycle of the IMM EKF is described in detail as follows [31]:

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

1599

(a) Slip region A.

(b) Slip region B.

(c) Slip region C.

(d) Slip region D. Fig. 15. Trajectories enlarged around the slip regions as indicated in Fig. 14.

(a) IMM.

(b) FLAIMM.

Fig. 16. Estimated mode 2 (slip mode) probabilities from two algorithms for driving data 1. Mode 2 probability should be 0 when the robot is in a normal driving mode and 1 in a slip mode. The probability is set to 0.5 when the robot is stopped. We can see that the FLAIMM algorithm accurately detects the slip regions (shaded areas) compared to the IMM algorithm.

Step 1: calculation of mixing probabilities The probability that mode M (i) was in effect at k 1 given that 1 (j) M is in effect at k conditioned on Zk1 {zi }k i=1 is

Step 2: interaction (mixing) i) ( Starting with x k1 , one computes the mixed initial condition for the filter matched to Mk as
(j)
n i =1

i|j k

(j) (i) P {Mk1 |Mk , Zk1 } (i) i=1 pij k1

j c

(i) pij k1 ,

(28)

k1 = x

0(j)

i) ( k x k1 . i |j

(29)

The covariance corresponding to the above is Pk1 =


0(j) n i =1

j = where c

(j) (i) {Mk |Mk 1 } is the mode transition probability.

is the normalizing constant and pij P

(j) (j) T i) (i) (i) 0 0 k {P( xk1 x xk1 x k1 + [ k1 ][ k 1 ] } .


i|j

(30)

1600

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

(a) IMM.

(b) FLAIMM.

Fig. 17. The values used in updating the mode probabilities of two algorithms for driving data 1. (a) The magnitude of the likelihood value is significantly different between two modes, which requires additional scaling. (b) The FIS output is already a scaled value.

(a) EKF.

(b) EKF for slip mode.

(c) IMM.

(d) FLAIMM.

Fig. 18. Forward direction velocity profiles. Slip intervals are indicated by parenthesized capital letters. During the slip intervals, the FLAIMM algorithm outputs reasonable velocity while the normal mode EKF and IMM follow encoder measurements and the slip mode EKF fails.

Step 3: mode-matched filtering


0(j) 0(j) The estimate xk1 and covariance Pk1 are used as inputs (j) (j) (j) filter matched to Mk , which uses zk to yield xk and Pk :

(j) (j) (j) j) ( k P {zk |Mk , Zk1 } = N (k ; 0, Sk ),

(33)

to the

where N () denotes the normal pdf, k the measurement innovation, and Sk its covariance.
(j)

(j)

[ xk

,(j)

, Pk
(j)

,(j)

]=

0(j) EKFp xk1

0(j) Pk1

(j) (j) , fk 1 , Qk1 ) (j) (j)

(31) (32)

k [ xk , Pk ] = EKFu (x

(j)

,(j)

, Pk

,(j)

, zk , hk , Rk )

Step 4: mode probability update The probability of each model is calculated as


j) (j) ( k P {Mk |Zk } =

where EKFp () and EKFu () denote the prediction and updating step of the EKF, respectively. The likelihood of the measurement corresponding to each mode is calculated as follows:

1 (j) j , c c k

(34)

where c =

j =1

j) j is the normalization constant. ( k c

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

1601

(a) Test 2.

(b) Test 3.

(c) Test 4. Fig. 19. Estimated trajectories for experimental tests 24.

Step 5: combination The combination of the model-conditioned estimates and covariance is done according to the mixture equations as follows:

k = x

n j =1 n j =1

j) (j) ( k xk

of if-then statements. The implementation of FIS can be done either in Mamdani-type or Sugeno-type. Since a Sugeno-type FIS model with a singleton output membership function greatly simplifies the computations required in defuzzification, this type of FIS model is considered in our study. The general form of a fuzzy rule in a Sugeno-type FIS model is [32] If x1 is S1 and, . . . , and xk is Sk , then y = u(x1 , . . . , xk ) = a0 + a1 x1 + + ak xk (36) where y is an output variable, xi an input variable, Si a fuzzy set represented by a membership function, u a crisp function, and ai a constant. A complete FIS model is then defined by N fuzzy rules If x1i is S1i and, . . . , and xki is Ski , then yi = ui (x1i , . . . , xki ). (37) The firing strength wi of rule i is calculated using the minimum or product of the fuzzy membership values:

Pk =

j) (j) (j) (j) k ][ k ]T } . xk x xk x ( k {Pk + [

(35)

3.2. FIS-based slip detector for FLAIMM filtering Even if the IMM filter can handle the multiple models of the robots driving dynamics, the update of mode probability based on the likelihood values can lead to errors in slip detection. This is the case when a sub-filter outputs very large innovations caused by the poor performance of its prediction model. Since the likelihood values are calculated based on the sensor covariance S and the innovation , the corresponding mode probability can be decreased even if that mode is the current mode. In our case, the prediction model for slip mode is just a time update of robot dynamics based on the previous states, and this can lead to the wrong slip detections. Thus an additional slip estimator which runs in parallel with the IMM filter is required to independently track the robots slip mode. In this study, FIS is employed as a slip estimator. As shown in Fig. 5, FIS is the process of mapping a given input vector to an output vector using fuzzy rules which is basically a list

wi = min{S1i (x1i ), . . . , Ski (xki )} or (38) {S1i (x1i ), . . . , Ski (xki )} where A () represents the membership value of the input element
in fuzzy set A. The system output y is then calculated by a weighted average of the individual subsystem outputs yi as follows:
N

wi y i = wj

N i =1

wi ui (x1i , . . . , xki )
N j =1

y=

i =1 N j =1

. wj

(39)

1602

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

(a) Test 5.

(b) Test 6.

(c) Test 7. Fig. 20. Estimated trajectories for experimental tests 57.

Fig. 6 shows the input and output structure of our FIS slip detector. The three FIS inputs are (i) the difference in forward-direction acceleration between encoder and accelerometer, (ii) the difference in encoder velocity between the right and left wheels, and (iii) the difference in calculated yaw rate between the gyro and encoder. These FIS inputs have been selected in order to best discriminate between the no-slip and slip conditions of the robot wheels. As it can be seen from the sensor data obtained from a driving robot (see Fig. 7), the three differences are useful in determining slip and no-slip conditions. The FIS output is the degree of slip occurrence . An adaptive neuro-fuzzy inference system (ANFIS) is employed to generate the input membership functions and rules. The adaptation of the ANFIS is based on the neuro-adaptive methods such as backpropagation and least squares. To check the generalization capability of the resulting FIS model, the ANFIS requires two types of inputoutput data setstraining and checking data sets. Fig. 8 shows the training and checking data sets we are using in this work. The FIS inputs are obtained from a set of driving tests performed in a slip-occurring environment and the desired FIS output is set manually. 3.3. FLAIMM mode probability update The overall structure of the FLAIMM algorithm is shown in Fig. 9. The difference between the conventional IMM and the FLAIMM lies in the update of mode probabilitythe FLAIMM algorithm uses FIS

output whereas the conventional IMM uses likelihood values. The mode probability in the FLAIMM algorithm is calculated as:
(1) 1) ( k P {Mk |Zk } =
2) (2) ( k P {Mk |Zk } =

1 c 1 c

1 (1 k )c 2 , k c

(40) (41)

1 + k c 2 is the normalization constant. where c = (1 k )c Since the FIS model have been adapted based on both the encoder and IMU data, it can effectively detect the slip occurrence during the IMM filtering independent of the sub-filtering performances.
4. Experiments For the ANFIS training, we should first set several parameters. The number of input membership functions was set to 3 for all three inputs to reduce the computational complexity. This generated 27 rules overall for single output. As an input membership function type, the product of two sigmoidal functions was chosen after investigating the performance of several candidates (see Table 1). A linear function was used as an output membership function type. The training epoch was set to 30 and error tolerance was set to 104 . The resulting membership functions and output surfaces are shown in Figs. 10 and 11, respectively, and the tuned output membership function parameters are shown in Table 2. The robot used in our experiment is depicted in Fig. 12. It has an onboard sensory system which includes two incremental encoders.

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

1603

(a) Test 8.

(b) Test 9.

(c) Test 10. Fig. 21. Estimated trajectories for experimental tests 810.

Fig. 13 shows an experimental environment for acquiring the driving data. The environment has several slip-occurring obstacles such as doorsills, a rug, a mat, and a base of a fan. In this environment the robot is commanded to draw a square path roughly in either a clockwise or counterclockwise direction. The robot always goes over the doorsill A but not always the doorsill B. When the robot is blocked by the doorsill, it moves back and takes a detour. We performed 10 driving tests and obtained all the sensor data of 5 clockwise paths and 5 counterclockwise paths. The ground truth of the robot pose (position and heading angle) was measured by Hawk Digital RealTime System.2 For comparison purposes, we used odometry, normal/slip mode EKF, conventional IMM, and FLAIMM in our estimation. The odometry uses only the encoder data and computes the robot position and heading angle based on the robot kinematic equations [19]. The two EKFs and IMM algorithms are the ones described in Sections 2.2, 2.3 and 3.1, respectively. Table 3 summarizes the parameters for the EKFs, IMM, and FLAIMM algorithms.
Fig. 22. Estimation errors in box and whisker plots. Each box has three horizontal lines at the lower quartile, median, and upper quartile values. The whisker shows the range of the errors.

5. Results and discussion Fig. 14 shows the estimated trajectories using the data of the first driving test. The trajectories around the slip regions are enlarged in Fig. 15. Although the slip mode EKF takes essential

MTi-G IMU1 with a 3-axis gyro and a 3-axis accelerometer is mounted on top of the robot body. The average sampling frequency of the encoder and IMU is 100 Hz and 60 Hz, respectively.

1 http://www.xsens.com.

2 http://www.motionanalysis.com.

1604

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606 Table 4 (continued) Point 74 75 76 77 78 79 80 Avg. Odometry 0.202 0.136 0.143 0.134 0.107 0.208 0.248 0.525 EKF 0.032 0.026 0.061 0.041 0.061 0.125 0.190 0.224 IMM 0.041 0.060 0.029 0.015 0.012 0.026 0.067 0.229 FLAIMM 0.027 0.029 0.004 0.007 0.008 0.034 0.076 0.062

Table 4 Estimation errors (in meters) from four different algorithms. The error was calculated by the Euclidean distance between the reference point and the corresponding estimated point. The correspondence of the test points was guaranteed by using the same corner points between the trajectories. Point 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 Odometry 0.149 0.094 0.100 0.029 0.279 0.468 0.305 0.428 1.359 0.016 0.152 0.166 0.180 0.039 0.054 0.143 0.803 0.133 0.093 0.163 0.342 0.436 0.424 0.592 0.410 0.430 0.478 1.014 1.531 1.327 2.528 2.898 2.398 0.514 0.578 1.208 1.396 1.529 1.236 1.423 1.874 2.410 0.034 0.219 0.535 0.474 0.670 0.654 0.640 0.010 0.040 0.072 0.161 0.153 0.272 0.338 0.526 0.030 0.217 0.278 0.242 0.177 0.123 0.142 0.027 0.201 0.240 0.395 0.399 0.289 0.231 0.896 0.179 EKF 0.146 0.152 0.165 0.152 0.154 0.132 0.189 0.125 0.283 0.016 0.144 0.125 0.140 0.114 0.098 0.075 0.113 0.088 0.054 0.034 0.014 0.045 0.064 0.147 0.406 0.412 0.415 0.359 0.335 0.289 0.138 0.340 0.777 0.508 0.522 1.066 1.009 1.053 0.954 0.969 1.057 1.199 0.033 0.042 0.084 0.087 0.030 0.063 0.069 0.026 0.029 0.043 0.061 0.062 0.070 0.081 0.275 0.029 0.033 0.072 0.034 0.099 0.173 0.213 0.024 0.037 0.036 0.248 0.249 0.232 0.103 0.183 0.017 IMM 0.150 0.162 0.186 0.183 0.223 0.222 0.224 0.147 0.163 0.015 0.148 0.145 0.169 0.165 0.153 0.135 0.109 0.095 0.077 0.069 0.070 0.056 0.032 0.034 0.408 0.421 0.429 0.352 0.346 0.341 0.331 0.337 0.538 0.513 0.527 1.083 1.072 1.135 1.070 1.047 1.074 1.146 0.033 0.041 0.105 0.117 0.095 0.064 0.072 0.024 0.028 0.067 0.034 0.063 0.053 0.057 0.162 0.029 0.034 0.109 0.114 0.064 0.083 0.117 0.023 0.041 0.052 0.270 0.288 0.326 0.209 0.151 0.024 FLAIMM 0.024 0.020 0.024 0.021 0.056 0.058 0.061 0.078 0.098 0.016 0.039 0.030 0.054 0.039 0.038 0.034 0.009 0.011 0.039 0.050 0.073 0.078 0.093 0.066 0.045 0.061 0.069 0.023 0.024 0.030 0.050 0.077 0.293 0.042 0.053 0.056 0.029 0.032 0.150 0.147 0.178 0.290 0.032 0.027 0.065 0.073 0.020 0.026 0.027 0.024 0.028 0.062 0.027 0.036 0.027 0.021 0.119 0.028 0.031 0.073 0.054 0.063 0.113 0.148 0.022 0.036 0.039 0.129 0.139 0.157 0.166 0.138 0.007

parts in the IMM and FLAIMM algorithms, it gives totally the wrong estimation results since its prediction model is merely a time update of the previous states and the measurement model uses only noisy IMU sensor data. Therefore, we are not concerned about the estimation result of the slip mode EKF in the rest of the estimation results. By examining the enlarged trajectories, we can see that most of the slip regions cause longitudinal errors along the robot path (except for the slip region C which causes heading error in odometry). Since the single EKF cannot compensate for this kind of error, the path error accumulates whenever the slip occurs. Even if the IMM uses multiple EKFs, however, the trajectory of the IMM algorithm is similar to (or sometimes worse than) the single EKF. This is because the IMM cannot guarantee the accurate slip detection. When we examine the mode 2 probability results shown in Fig. 16, we can see that the IMM gives the wrong detection results while the FLAIMM accurately detects the slip regions. The reason for this is that the mode probability updates based on the likelihood can be wrong, as explained in Section 3.2. We can clearly see this by examining the values used in the update of the mode probabilities (see Fig. 17). In the IMM, since the likelihood values from the normal mode are far larger than the slip mode, the slip mode probability cannot be reflected even if the robot in real is in a slip state. This also explains why the velocity profile of the IMM in Fig. 18 does not have the decreased regions when the slip is detected while the FLAIMM outputs decreased velocities during the slip regionsthe velocity should be decreased during the slip interval since the slip mode EKF is designed with a negative linear jitter. Figs. 1921 show the rest of the trajectory estimation results using the data of driving tests 210. We can clearly see that the FLAIMM algorithm shows the best performance in slip compensation compared to the other algorithms, especially in Figs. 19(c) and 20(a) where the large slip occurs when the robot goes over the mat or doorsill B. To ensure the FLAIMM algorithms superiority, we also performed a statistical analysis using the sampled points from all the trajectories. Table 4 summarizes the calculated errors based on these test points. The FLAIMM has an average error of 6.2 cm while the EKF and IMM have errors larger than 22 cm. To check the distribution of the errors, we also constructed box and whisker plots as in Fig. 22. This shows that the errors in FLAIMM have very small deviations compared to the other algorithms. 6. Conclusion In this paper, we proposed an FIS model based approach to improve the dead reckoning performance of mobile robots based on a framework of IMM EKF. To consider both no-slip and slip dynamics of robots, two different types of EKF are designed according to the sensor characteristics of the encoder and IMU sensor. The FLAIMM, a framework for improving the performance of slip detection and compensation, is introduced in which the update of mode probability is done by using FIS output instead of

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606

1605

likelihood of measurements. The FIS model for slip estimation is trained using adaptive techniques of the ANFIS. The proposed method has been implemented using a mobile robot and tested in a slip-occurring indoor environment. Experimental results show that our method outperforms the simple EKF and conventional IMM approach in the estimation of robot positions and velocities. The calculated slip mode probabilities also indicate that the FLAIMM algorithm accurately detects the slip occurrences. Since the FLAIMM has been designed to separate the slip evaluation from the IMM sub-filtering and to be independent of sensor quality differences, this framework can be applied to any other sensor combinations. Possible extensions of this work include the unsupervised learning of FIS model parameters. The ANFIS in this study uses manually set FIS output. Unsupervised adaptation techniques such as self-organizing feature maps and learning vector quantization neural networks can be used with proper constraints. Acknowledgments The revision of this work was supported by the Energy Efficiency & Resources of the Korean Institute of Energy Technology Evaluation and Planning (grant no. 20112010 30001D-11-2200), funded by the Korean Government Ministry of Knowledge Economy. This work was also partly supported by Korea Ministry of Land, Transport and Maritime Affairs (MLTM) as U-City Master and Doctor Course Grant Program. References
[1] M. Hoshino, Y. Gunji, S. Oho, K. Takano, A Kalman filter to estimate direction for automotive navigation, in: Proc. of MFI, 1996, pp. 145150. [2] S.I. Roumeliotis, G.S. Sukhatmae, G.A. Bekey, Circumventing dynamic modeling: evaluation of the error-state Kalman filter applied to mobile robot localization, in: Proc. of ICRA, 1999, pp. 16561663. [3] L. Ojeda, J. Borenstein, FLEXnav: fuzzy logic expert rule-based position estimation for mobile robots on rugged terrain, in: Proc. of ICRA, 2002, pp. 317322. [4] H. Myung, H. Lee, K. Choi, S. Bang, Y. Lee, S. Kim, Constrained Kalman filter for mobile robot localization with gyroscope, in: Proc. of IROS, 2006, pp. 442447. [5] H. Hardt, D. Wolf, R. Husson, The dead reckoning localization system of the wheeled mobile robot ROMANE, in: Proc. of MFI, 1996, pp. 603610. [6] F. Azizi, N. Houshangin, Mobile robot position determination using data from GYRO and odometry, in: Proc. of the Canadian Conf. on Electrical and Computer Engineering, 2004, pp. 719722. [7] H. Chung, L. Ojeda, J. Borenstein, Accurate mobile robot dead-reckoning with a precision-calibrated fiber-optic gyroscope, IEEE Transactions on Robotics and Automation 17 (1) (2001) 8084. [8] D. Helmick, Y. Cheng, D. Clouse, M. Bajracharya, L. Matthies, S. Roumeliotis, Slip compensation for a Mars rover, in: Proc. of IROS, 2005, pp. 28062813. [9] A. Angelova, L. Matthies, D. Helmick, P. Perona, Learning slip behavior using automatic mechanical supervision, in: Proc. of ICRA, 2007, pp. 17411748. [10] S. Sukkarieh, E. Nebot, H.F. Durrant-Whyte, A high integrity IMU/GPS navigation loop for autonomous land vehicle applications, IEEE Transactions on Robotics and Automation 15 (3) (1999) 572578. [11] F. Gustafsson, Slip-based tireroad friction estimation, Automatica 33 (6) (1997) 10871099. [12] L. Ojeda, G. Reina, J. Borenstein, Experimental results from FLEXnav: an expert rule-based dead-reckoning system for Mars rovers, in: Proc. of IEEE Aerospace Conference, Big Sky, MT, vol. 2, 2004, pp. 816825. [13] L. Ojeda, D. Cruz, G. Reina, J. Borenstein, Current-based slippage detection and odometry correction for mobile robots and planetary rovers, IEEE Transactions on Robotics and Automation 22 (2) (2006) 366378. [14] C. Ward, K. Iagnemma, A dynamic-model-based wheel slip detector for mobile robots on outdoor terrain, IEEE Transactions on Robotics and Automation 24 (4) (2008) 821831. [15] K. Jo, K. Chu, K. Lee, M. Sunwoo, Integration of multiple vehicle models with an IMM filter for vehicle localization, in: Proc. of IEEE Intelligent Vehicles Symposium, 2010, pp. 746751. [16] R. Mehra, Approaches to adaptive filtering, IEEE Transactions on Automatic Control 17 (5) (1972) 693698. [17] J. Wang, M. Stewart, M. Tsakiri, Online stochastic modeling for INS/GPS integration, in: Proc. of ION GPS, 1999, pp. 18871896.

[18] A. Almagbile, J. Wang, W. Ding, Evaluating the performances of adaptive Kalman filter methods in GPS/INS integration, Journal of Global Positioning Systems 9 (1) (2010) 3340. [19] H. Lee, K. Choi, J. Park, Y. Kim, S. Bang, Improvement of dead reckoning accuracy of a mobile robot by slip detection and compensation using multiple model approach, in: Proc. of IROS, 2008, pp. 11401147. [20] E. Mazor, A. Averbuch, Y. Bar-shalom, J. Dayan, Interactive multiple model methods in target tracking: a survey, IEEE Transactions on Aerospace and Electronic Systems 34 (1) (1998) 103123. [21] Y. Zhang, J. Jiang, Integrated active fault-tolerant control using IMM approach, IEEE Transactions on Aerospace and Electronic Systems 37 (4) (2001) 12211235. [22] S. McGinnity, G. Irwin, Fuzzy logic approach to manoeuvring target tracking, IEE ProceedingsRadar, Sonar and Navigation 145 (6) (1998) 337341. [23] H. Kim, I. Kim, S. Chun, Design of fuzzy interacting multiple model algorithm for maneuvering target tracking, in: Proc. of IEEE Industrial Electronics Society, 2004, pp. 20922097. [24] S. Kim, J. Choi, Y. Kim, Fault detection and diagnosis of aircraft actuators using fuzzy-tuning IMM filter, IEEE Transactions on Aerospace and Electronic Systems 44 (3) (2008) 940952. [25] B. Lee, J. Park, H. Lee, Y. Joo, Fuzzy-logic-based IMM algorithm for tracking a manoeuvring target, IEE ProceedingsRadar, Sonar and Navigation 152 (1) (2005) 1622. [26] R. Pradeepa, A. Unnikrishnan, V. Deepa, S. Mija, Gaussian mixture modeling of rule base to track maneuvering targets, using fuzzy EKF, in: Proc. of TENCON, 2009, pp. 16. [27] D. Jwo, C. Tseng, Fuzzy adaptive interacting multiple model unscented Kalman filter for integrated navigation, in: Proc. of IEEE conf. on Control Applications, 2009, pp. 16841689. [28] B. Barshan, H.F. Durrant-Whyte, Inertial navigation systems for mobile robots, IEEE Transactions on Robotics and Automation 11 (3) (1995) 328342. [29] H. Myung, H. Lee, K. Choi, S. Bang, Mobile robot localization with gyroscope and constrained Kalman filter, International Journal of Control, Automation and Systems 8 (3) (2010) 667676. [30] S.I. Roumeliotis, G.S. Sukhatme, G.A. Bekey, Circumventing dynamic modeling: evaluation of the error-state Kalman filter applied to mobile robot localization, in: Proc. of ICRA, 1999, pp. 16561663. [31] Y. Bar-Shalom, X. Li, T. Kirubarajan, Estimation with Applications to Tracking and Navigation, John Wiley & Sons, Inc., 2001. [32] R. Eberhart, Y. Shi, Computational Intelligence, Morgan Kaufmann, 2007.

Hyoungki Lee received his Ph.D. degree in robotics from KAIST (Korea Advanced Institute of Science and Technology), Daejeon, South Korea in 1998. In 1999, he worked as a Postdoctoral Fellow in the Mechanical Engineering Lab., AIST, in Japan. In 2000, he joined Samsung Advanced Institute of Technology and is developing a vacuum cleaning robot with a localization function as part of a home service robot project. His research interests include SLAM (Simultaneous Localization And Mapping) for home robots, fusing different kinds of sensors (inertial sensors, cameras, range finders, etc.), and developing new low-cost sensor modules such as a MEMS gyro sensor module and structured light range finder.

Jongdae Jung received his M.S. degree in civil and environmental engineering from KAIST, Daejeon, South Korea in 2010. He is currently working as a Ph.D. candidate student at the Urban Robotics Lab., KAIST headed by Hyun Myung. His research interests lie in the areas of indoor localization, RF ranging, 3-D mapping, and soft computing.

Kiwan Choi received his M.S. degree in mechanical design and production engineering from Seoul National University, South Korea in 1999. He is currently a senior researcher in the Robot Navigation Group, Samsung Advanced Institute of Technology, Samsung Electronics Co., Ltd. His current research interests include SLAM (Simultaneous Localization And Mapping), inertial navigation systems, and mobile robotics.

1606

H. Lee et al. / Robotics and Autonomous Systems 60 (2012) 15921606 Jiyoung Park received her M.S. degree in electronics and electrical engineering from KAIST in 2006. She is currently a Senior Researcher with the Robot Navigation Group, Samsung Advanced Institute of Technology, Samsung Electronics Inc. Her current research interests include inertial navigation systems and mobile robotics. Hyun Myung received his Ph.D. degree in electrical engineering from KAIST (Korea Advanced Institute of Science and Technology), Daejeon, South Korea in 1998. He is currently an associate professor in the Dept. of Civil and Environmental Engineering, and also an adjunct professor of the Robotics Program and KIUSS (KAIST Institute for Urban Space and Systems) at KAIST. He was a principal researcher in SAIT (Samsung Advanced Institute of Technology, Samsung Electronics Co., Ltd.), Yongin, South Korea (2003.72008.2). He was a director in Emersys Corp. (2002.32003.6) and a senior researcher in ETRI (Electronics and Telecommunications Research Institute) (1998.92002.2), South Korea. His research interests are in the areas of mobile robot navigation, SLAM (Simultaneous Localization And Mapping), evolutionary computation, numerical and combinatorial optimization, and intelligent control based on soft computing techniques.

You might also like