prev

next

out of 9

View

213Download

0

Embed Size (px)

International Journal of Control, Automation, and Systems (2012) 10(3):558-566 DOI 10.1007/s12555-012-0312-x

ISSN:1598-6446 eISSN:2005-4092http://www.springer.com/12555

Self-calibration of Gyro using Monocular SLAM for an Indoor Mobile Robot

Hyoung-Ki Lee, Kiwan Choi, Jiyoung Park, and Hyun Myung*

Abstract: Rate gyros are widely used to calculate the heading angle for mobile robot localization. They are normally calibrated in the factory using an expensive rate table prior to their use. In this paper, a self-calibration method using a monocular camera without a rate table is proposed. The suggested method saves time and cost for extra calibration procedure. SLAM (Simultaneous Localization And Mapping) based on visual features and odometry gives reference heading (yaw) angles. Using these, the coefficients of a scale factor function are estimated through Kalman filtering. A new undelayed fea-ture initialization method is proposed to estimate the heading angle without any delay. Experimental results show the efficiency of the proposed method. Keywords: Feature initialization, gyro, Kalman filter, scale factor, self-calibration, SLAM.

1. INTRODUCTION

SAIT (Samsung Advanced Institute of Technology)

has been developing cleaning robots for home environments that can generate a coverage path and clean floors, minimizing overlap of the traveled region. To meet this requirement, the robot needs the capability of localization and map building. For localization, the robot is equipped with a camera for external position measurements. The camera captures visual features from the ceiling image for SLAM (Simultaneous Localization And Mapping) [1]. The view of the camera is often blocked, however, when the robot travels under objects such as beds and tables in home environments. Thus, dead reckoning should be added to the visual SLAM. More accurate calculation of the heading (yaw) angle is required to improve the dead reckoning accuracy.

To measure the heading angle, a rate gyro is widely used with integration of its rate output. The scale factor of the rate gyro needs to be calibrated in order to optimize performance. The conventional method for calibration is to use a rate table to obtain the reference angular rate. However, this is time consuming and increases the cost of the gyro. Furthermore, scale factors

change with time due to aging. As such, self-calibration and on-line calibration during normal operation are preferable.

In the field of self-calibration of gyro sensors, a method was proposed to calibrate rate gyro biases with a GPS/inertial attitude reference system [2]. Inertial navigation system errors are analyzed using the GPS as a reference and the scale factors and biases of inertial sensors are obtained utilizing an optimal Kalman filter/smoother [3]. A GPS signal is not available, however, in indoor environments. Other researchers have demonstrated self-calibration of odometry and gyro parameters using absolute reference measurements based on an infrared scanner [4]. The range sensor used in this approach is not affordable for cleaning robot products. Some researchers are also trying to use visual and inertial sensors at the same time to calibrate the inertial sensor. The relative displacement and rotation between visual and inertial sensors are estimated in [5] and [6]. Although the IMU biases are also calibrated using a camera in [5], the scale factors are not considered for calibration.

In this paper, a self-calibration method using a monocular camera and odometry is proposed. Fig. 1 illustrates the concept of the proposed scheme. In order to use a monocular camera as a heading angle reference system, the pose of the camera should be calculated. The probabilistic SLAM is a well-known solution for this.

ICROS, KIEE and Springer 2012

__________

Manuscript received February 24, 2011; revised December 12,2011 and March 27, 2012; accepted April 5, 2012. Recommendedby Editorial Board member Chan Gook Park under the directionof Editor Hyouk Ryeol Choi. The revision of this work was supported by the EnergyEfficiency & Resources of the Korean Institute of EnergyTechnology Evaluation and Planning (grant No. 2011201030001D-11-2-200), funded by the Korean Government Ministryof Knowledge Economy. Hyoung-Ki Lee, Kiwan Choi, and, Jiyoung Park are with MSLab. of Samsung Advanced Institute of Technology, SamsungElectronics Co., Ltd., Nongseo-dong, Giheung-gu, Yongin,Gyeonggi-do 449-712, Korea (e-mails: {twinclee, kiwan,ji.young.park}@samsung.com). Hyun Myung is with the Dept. of Civil & EnvironmentalEngineering, KAIST, Guseong-dong, Yuseong-gu, Daejeon 305-701, Korea (e-mail: hmyung@kaist.ac.kr).

* Corresponding author.

Reference

angle

GyrosEncoders

Nominal

scale factor

Calibrated

scale factor

Kalman Filter

Reference

angle

GyrosEncoders

Nominal

scale factor

Calibrated

scale factor

Kalman Filter

Fig. 1. Self-calibration of scale factor of gyro based on SLAM.

Self-calibration of Gyro using Monocular SLAM for an Indoor Mobile Robot

559

Davison [7] proved that the standard EKF (Extended Kalman Filter) formulation of SLAM can be very successful even when the only source of information is video from an agile single camera.

The main problem with Davisons approach lies in initializing uncertain depth estimates, because the camera is a projective sensor that measures the bearing of images. Davison used a particle approach to estimate a features depth. After the depth uncertainty has become sufficiently small to be considered as a Gaussian estimate, the feature is initialized. However, this method causes a delay in initialization of features. Our cleaning robot moves along a seed-sowing path that consists of 90-degree turns and straight movements. The gyro scale factor cannot be estimated during straight movements but only during rotations, and the time for parameter convergence is not sufficient. As such, undelayed feature initialization is preferable.

For undelayed feature initialization several methods have been proposed. Montiel [8] showed that a camera can be used as a visual compass to indicate the heading angle based on SLAM. It is assumed that all features are at infinity and thus the direction to features is coded as an angle azimuth-elevation pair, ignoring the depth. However, difficulties arise in that we do not know in advance which features have infinite depth and which do not.

Eade and Drummond [9] presented an inverse depth concept in FastSLAM-type particle filter, and Montiel et al. [10,11] applied this concept to EKF SLAM. In these approaches, the state vector of landmark includes the inverse of the landmark depth. However, the state vector of the features is represented by six elements, even though 3 elements are enough to represent a position in 3D space, thus leading to additional computational burden.

In this paper, a new undelayed initialization scheme for use in EKF-based SLAM is introduced, where the measurement model is represented in the 3D camera frame, in contrast to the 2D pixel coordinates of all previous works. This new measurement model has low linearization error due to the absence of the perspective projection. While EKF-based SLAM calculates accurate yaw angles, yaw gyro bias and scale factor function coefficients are estimated with the EKF, because they are augmented into the state vector. The following are the main contributions of this paper:

a) Proposal of a SLAM formulation augmenting the coefficient of the scale factor into a state vector;

b) Introduction of a new undelayed feature initializa-tion scheme with low linearization error in the measure-ment model of the EKF. The overall schematic diagram of the proposed method can be seen in Fig. 2. There is no need to use a rate table to determine the random bias and scale factor parameters. These parameters of the gyro are estimated using the proposed Kalman filter.

This paper is organized as follows. In the next section we briefly outline the SLAM system augmented by the gyro scale factor coefficients. Section 3 presents experimental results showing the accuracy of the heading angle using the self-calibrated gyro.

EKF Prediction

New

feature?

EKF Update

Encoder

Gyro

Undelayed feature

initializationObservation Y

N

Robot position,

Feature locations,

Gyro bias, scale factor

Fig. 2. Overall schematic diagram of the proposed method.

2. GYRO SCALE FACTOR ESTIMATION

2.1. Robot kinematics modeling 2.1.1 Coordinate frame

A robot moving on an irregular floor of a home environment undergoes attitude change. The attitude of a robot is a set of three angles measured between the robots body and the absolute world coordinate frame. The body frame can be thought of as being embedded in the robot body such that its x-axis points forward, the y-axis points to the left, and the z-axis points upward. The body axes are labeled xb, yb, and zb. Referring to Fig. 3, three Euler angles, roll , pitch , and yaw are defined to be rotation angles around the xb, yb, and zb axes, respectively. The camera frame is shown with the subscript c in the figure. The camera faces the ceiling to capture the ceiling image.

2.1.2 Robot kinematics model

The state vector to represent the position, pW, and

orientation, ( ) ,W T = of the robot in the

world frame is given by

( )( ) .

( )

W

vW

p kk

k

=

x (1)

In the state vector, Euler angles are used rather than a quaternion, since the pitch angle of our robot is always between /2 and /2. No velocity term appears in the

zb