Robotics and Autonomous Systems 56 (2008) 751–761 www.elsevier.com/locate/robot
Location of legged robots in outdoor environments J.A. Cobano, J. Estremera, P. Gonzalez de Santos ∗ Department of Automatic Control, Industrial Automation Institute-CSIC, Ctra. Campo Real, Km. 0,200, 28500 Arganda del Rey, Madrid, Spain Received 1 June 2007; received in revised form 12 December 2007; accepted 19 December 2007 Available online 4 January 2008
Abstract Knowledge of a robot’s position with an accuracy of within a few centimeters is required for potential applications for legged robots, such as humanitarian de-mining tasks. Individual sensors are unable to provide such accuracy. Thus information from various sources must be used to accomplish the tasks. Following this trend, this paper describes the method developed for estimating the position of legged robots in outdoor environments. The proposed method factors in the specific features of legged robots and combines dead-reckoning estimation with data provided by a Differential Global Positioning System through an extended Kalman filter algorithm. This localization system permits accurate trajectory tracking of legged robots during critical activities such as humanitarian de-mining tasks. Preliminary experiments carried out with the SILO4 system have shown adequate performance using this localization system. c 2007 Elsevier B.V. All rights reserved.
Keywords: Legged robots; Dead-reckoning; GPS; Kalman filter
1. Introduction
A natural outdoor environment is the typical scenario for using legged robots. In such scenarios, these mobile machines exhibit many theoretical advantages over conventional vehicles that use wheels or tracks [32]. There are various applications for legged robots in outdoor environments including inspection of nuclear power plants [27], volcano exploration [2], forestry related tasks [31] and humanitarian de-mining [20]. Whether these projects are carried out by autonomous or teleoperated robots, the location of the robot must be known in order to achieve efficient exploration. Humanitarian de-mining tasks in particular require a highly accurate estimation of the robot’s position. For instance, when something happens while the robot is working (for example, the mine sensor detects a potential alarm), the sensor position must be precisely located and recorded in a database for later mine deactivation or positioning the robot as needed. Additionally, when a mobile robot is used for exploring an entire field, its navigation module must generate a complete coverage
∗ Corresponding author. Tel.: +34 918711900; fax: +34 918717050.
E-mail address:
[email protected] (P. Gonzalez de Santos). c 2007 Elsevier B.V. All rights reserved. 0921-8890/$ - see front matter doi:10.1016/j.robot.2007.12.003
Fig. 1. The SILO4 system.
trajectory in real time, despite obstacles [15]. The trajectory must be tracked accurately across unstructured terrain. The work presented in this paper is focused on the development of localization techniques for efficient use of legged robots on natural terrain. The method has general applications, and can be applied to any kind of walking robot; however, experiments have centred on the SILO4 system which is outlined in Fig. 1. A Differential Global Positioning System (DGPS) has been selected as a suitable method for locating the SILO4 robot outdoors. Nevertheless, DGPS readings can be inaccurate (for example, if differential corrections are not received) or nonexistent (for example, if the satellite signal is not received)
752
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
Fig. 2. System components: (a) The walking robot, DGPS antenna and the electromagnetic compass; (b) Close-up the DGPS antenna and the DGPS receiver.
and supplementary location techniques are thus required. Deadreckoning is a technique that is widely used for wheeled robots for keeping a record of the robot’s position; this technique has also been tested on legged robots [25]. Measuring the same magnitude with different sensors can improve the accuracy of the measurement by using sensor fusion techniques. Sensor fusion based on an extended Kalman filter is a technique that has been extensively tested for localization of conventional wheeled and tracked robots [18,26]. However, the application of this method to legged robots presents some issues, which are further explored in this article. This article is organized as follows. Section 2 introduces the different techniques used for the present paper. Section 3 is focused on the description of the system hardware. Section 4 explains the extended Kalman filter algorithm that is the basis for the localization system for the SILO4 legged robot (see Fig. 2a). Some experiments have been conducted to validate the algorithms. These experiments are described in Section 5. The discussion on experiments is illustrated in Section 6. Finally, Section 7 discusses some conclusions. 2. Outdoor localization A mobile robot is considered autonomous when it is able to perceive the environment, create models, plan and act autonomously, without human supervision, or with very limited supervision. An autonomous mobile robot must receive information on its spatial location (position and orientation) with respect to an absolute reference frame. The level of accuracy necessary for this spatial localization depends on the task the robot is performing. There are different techniques for localization of mobile robots. These techniques depend on the task, including the environment the robots walks on, the level of information about the environment, the kind of task, and the sensor system. In terms of environment, there is indoor localization, for instance a tour-guide robot for museums [13,29], and outdoor localization, for instance humanitarian de-mining tasks. Different information on the a priori position used
for the localization is needed for each environment. For indoor localization, maps of the environment can be created using the information obtained by the sensors. In the case of outdoor localization, this is generally not possible since natural environments are usually unknown. Two types of localization can thus be distinguished: localization based on the perception of the environment [29] and localization based on other types of information provided by the sensors [9,22]. The following sections describe the different techniques. 2.1. Outdoor localization techniques 2.1.1. Differential global positioning system GPS has proved to be an adequate method for locating robots outdoors [1]. This method provides absolute localization and, therefore, the errors are non-accumulative. Furthermore, the accuracy of this positioning system can be increased by using a Differential Global Positioning System (DGPS), with the added cost of the requirement of an additional station for sending differential corrections to the mobile robot that contains a mobile GPS station. The last method was used for the present paper for locating walking robots using a DGPS (see Fig. 2a) with ±20 mm accuracy in determining the position. However, the degradation or loss of the satellite signal can produce errors in the accuracy of the position obtained by the DGPS. On the other hand, slow speed is an intrinsic feature of walking robots, which can cause problems in calculating DGPS data. We will discuss this point further in a later section. 2.1.2. Odometry Odometry is a technique that is extensively used for determining both indoor and outdoor location [24]. For legged robots, odometry consists of an estimation of the robot’s position using the information provided by the joint positioning sensors (potentiometers, encoders, etc.). This technique provides information on position increments with respect to the previous position. The odometry is computed based on the body reference frame, the origin of which coincides with the COG of the body. The main problem with
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
753
Fig. 3. Experimental set-up for computing odometry errors: (a) The initial robot position and the desired trajectory. (b) The final robot position and the actual trajectories.
Fig. 4. The trajectory estimated by odometry (dashed line) and the trajectories described by the robot in open loop control (solid lines) for several experiments.
this system is that the error introduced by odometry increases as the distance walked increases. In the case of walking robots, this error is caused mainly by link and joint flexion and foot slippage. For instance, in the experiments conducted for this work, the SILO4 was shown to have a tendency to turn to the right, as illustrated in Figs. 3 and 4. The only way to track a trajectory is by using a closed-loop control law, which requires adequate sensors (heading sensors) for correcting errors. There is a great deal of literature about how to reduce the odometry error for wheeled robots [3–5,8]. However, there are no publications on methods for reducing odometry error in walking robots. 2.1.3. Dead-reckoning An electromagnetic compass or gyroscope can be used as a heading sensor to improve the results of the odometry estimation, using data obtained from the joint position sensors, for example. This merging technique is called dead-reckoning. Dead-reckoning is defined as the computation of the position and orientation of the robot without using external observation, factoring in distance travelled. Dead-reckoning techniques use the kinematic robot model to compute the robot’s position relative to its initial position. When using dead-reckoning techniques, the errors increase as the distance walked increases, like with odometry. However, there are less accumulated errors because the orientation of the robot is known, and the position increments can be transformed more accurately with respect to the fixed reference frame. Dead-reckoning techniques are especially important for locating a robot when satellite signals are not received. Another important characteristic of deadreckoning is that it produces smoother trajectories than DGPS, which will be demonstrated later.
2.1.4. Sensorial fusion Clearly both DGPS and dead-reckoning have some disadvantages, but by merging both techniques the end results can be improved. The techniques are merged using sensor fusion, a method allowing for the integration and fusion of data obtained from different sources, thus resulting in more accurate information. There are different methods for sensor fusion, including Kalman filters [21], Markov localization [14], the Monte Carlo methods [13] and particle filters [10,30], which have been mentioned extensively in the literature. For the present paper, the Kalman filter, a well-known set of mathematical equations for estimating the state of a process, was used [33]. The process state is defined by the position and orientation of the robot for purposes of the present work. 3. System description The walking robot to be localized is equipped with a DGPS, and an electromagnetic compass, as well as the joint position sensors that are normally used for walking robots. The DGPS naturally provides the absolute robot position, the electromagnetic compass provides the robot’s heading, and the joint position sensors provide information about the incremental motion of the robot, using the robot kinematic model. The following subsection discusses these subsystems in depth. 3.1. Walking robot The SILO4 quadruped was used for experimental purposes for the present work. Nevertheless, it is worth mentioning that the method presented is general and does not depend
754
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
on the robot features. The SILO4 is a medium sized robot that weighs about 30 kg and was designed as a test-bed for comparative studies of methods and algorithms for walking robots (see Fig. 2a). The SILO4 has 3-DOF insect type legs which are driven by DC motors endowed with encoders as positioning sensors. These are the only sensors on the leg. The detection of the foot contact with the ground is performed with a virtual force sensor derived from the encoder data [12]. The two main links of the leg measure about 240 mm, which permits the robot to walk with a body-ground clearance of about 350 mm. The legs are attached to the body using a circular configuration, which thus provides full omnidirectionality. Further information about the robot can be found in [19,28]. Adaptive continuous free gaits are used to adapt to irregular terrain. These gaits are characterized by the body constant movement [11]. The crab angle varies, in order to track the straight trajectory calculated by the navigator. This correction is based on the estimated robot position which is calculated using the localization algorithm that is described below. The gait is superimposed with rotation around the vertical axis to ensure that the longitudinal axis of the robot is parallel to the trajectory, despite the mechanical flexion of the limbs and joints, foot slippage, and soil deformation, etc. Said corrections are based on the electromagnetic compass data. A deadreckoning estimation of the body position is generated every 0.2 seconds (thus approximately every 2 mm) based on the average positioning increment of the supporting feet. These foot position increments, (1xi (k), 1yi (k), 1z i (k)), are calculated by using the joint encoder information. Thus: 1xi (k) xi (k − 1) 3×1 1yi (k) = H dir (qi 1 (k), qi 2 (k), qi 3 (k)) − yi (k − 1) (1) 1z i (k) z i (k − 1) where (qi1 (k), qi2 (k), qi3 (k))T is the joint position vector of leg 3×1 i, (xi (k), yi (k), z i (k))T is the position of foot i; Hdir is the function that solves the direct kinematic model of the leg and k is the sample instant. The positioning increment for the body (1xb (k), 1yb (k), 1z b (k))T is the opposite of the average distance that the supporting feet have moved. Thus: 1xb (k) 1xi (k) n X 1 1yi (k) 1yb (k) = − (2) n i=1 1z (k) 1z b (k) i where n is the number of legs in support.
that affect measurement. To avoid these inconveniences, electromagnetic compass readings are performed only when all of the legs are supported. Additionally, the electromagnetic compass must be maintained in a vertical position in order to accurately measure the orientation; this is accomplished by moving the robot with its body levelled. A couple of inclinometers help to keep the robot body levelled. The electromagnetic compass is placed on a vertical rod which is attached to the body. The rod is high enough to reduce leg motion and motor electromagnetic interference. Fig. 2a shows the electromagnetic compass location onboard the robot. 3.3. Differential global positioning system The DGPS is used for determining the absolute position of the mobile robot (see Fig. 1). The equipment consists of a Trimble 5700 GPS Receptor and a Zephyr antenna, which is mounted on board (see Fig. 2). The receptor measures the antenna position with an accuracy of ±20 mm. However, the degree of accuracy depends on the number of satellite signals which are received, and on the quality of the differential corrections which are received from the operator station. The latter variable is more important. In some situations, the DGPS error may increase, up to a few meters. The DGPS errors have different sources, which are divided into some which are dependent on the geometric distribution of the satellites, and some which are independent of the geometric distribution. On the one hand, the selective availability of the resolution of the DGPS clocks and receivers, and the errors derived therefrom, does not depend on the geometry distribution of the satellites. On the other hand, the ionospheric and tropospheric delays do depend on the geometry of the satellites used in calculating the position. Errors also exist when (a) there is a multipath effect or (b) the visibility of some satellites is obstructed. A picture of the DGPS antenna and its location onboard the robot is shown in Fig. 2b, a, respectively. Fig. 2b also shows the DGPS receiver located inside the robot’s body. 4. Sensor integration This section discusses the way in which information from different sources is merged together to improve measurement accuracy. This section introduces the EKF and its two main phases. 4.1. Localization algorithms based on an extended Kalman filter
3.2. The electromagnetic compass To measure the absolute orientation of the robot around its vertical axis (heading angle), the 1525 Analog Sensor electromagnetic compass is used. The average precision for the sensor is about 1 degree; however, the sensor readings are severely affected by the robot’s electro-mechanical equipment, metallic mobile masses such as legs, and external disturbances. Leg transfers, for instance, cause strong electromagnetic interference, as well as mechanical shocks and vibrations
A Kalman filter is a recursive solution to the discrete-data linear filtering problem; it has been used extensively in the area of autonomous or assisted navigation [23,7,16]. The Kalman filter [17] is a set of mathematical equations that provides an efficient computational (recursive) method for estimating the state of a process, by minimizing the mean of the squared error. When the filtering problem is nonlinear, an extended Kalman filter is used (EKF) [26]. This kind of filtering consists of linearizing the problem before applying the Kalman filter. This
755
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
process is carried out from the state transition matrix. The state transition matrix represents a kinematic model of the system, and describes the transition from the k − 1 state to the k state. In the present case, the state transition matrix is linearized using the first derivative. The localization algorithm is a classic EKF problem, consisting of an estimation phase and an update phase. The update phase is more important for computing the robot’s position than the estimation phase. The error in the measurements is calculated during both phases, but during the update phase the error readings influences the computation and minimization of the EKF error. Therefore, a more accurate sensor is required for the update phase. The approach that introduces greater errors (encoders and electromagnetic compasses) is used during the estimation phase whereas the one that introduces less errors (the DGPS) is applied during the update phase. It is important to emphasize that the robot’s position is computed during both phases, while the orientation of the robot is computed specifically from the electromagnetic compass data only during the estimation phase. 4.2. The estimation phase The horizontal components of the robot’s position (X 1 , X 2 ) in the fixed reference frame are estimated using deadreckoning. The orientation of the robot (X 3 ) is obtained by filtering the electromagnetic compass readings (θ) since large fluctuations in the electromagnetic compass data were noted during preliminary tests. The estimated position and orientation, which are referred to the fixed reference frame, are therefore expressed as follows: X 1 (k, k − 1) X (k, k − 1) = X 2 (k, k − 1) X 3 (k, k − 1) X 1 (k − 1) + 1X 1 (k) = X 2 (k − 1) + 1X 2 (k) . (3) θ (k, k − 1) 1X 1 , 1X 2 are the position increments [17] in the fixed reference frame, which are calculated based on the data from odometry and the electromagnetic compass. Large variations in the electromagnetic compass data were observed during the experiments. This is a serious problem for estimating the actual orientation of the robot. The orientation measurement is needed for computing the position increments in the fixed reference frame. These variations result from the noise produced by the electromagnetic compass and fluctuations in the electromagnetic compass data, which are caused by the body movement and vibrations. This problem is solved by using a first order filter, θ (k, k − 1). The filter obtains a smooth variation of the electromagnetic compass data while the robot walks. The first order filter used is calculated as follow: θ(k, k − 1) = (1 − λ)α(k) + λX 3 (k − 1).
(4)
The filter uses the final electromagnetic compass data X 3 (k − 1) and the updated electromagnetic compass data
α(k) to compute the orientation at time k. Variations in the electromagnetic compass data are smoothed by parameter λ. This parameter should produce more weight than the previous heading data to avoid large variations in the electromagnetic compass data. Thus, λ was set experimentally at 0.9 in order to obtain a suitable filtered signal. The error introduced in the estimated position and orientation is produced by the estimated covariance matrix, P, [17]: P(k, k − 1) = J (k, k − 1)P(k − 1)J T (k, k − 1) + Co (k) (5) where J is the Jacobian matrix of the system, which is used to linearize the system; it is calculated as follows: ∂ X (k, k − 1) ∂ X (k, k − 1) ∂ X (k, k − 1) 1
1
1
∂X ∂X ∂X ∂ X (k, k1 − 1) ∂ X (k, k2 − 1) ∂ X (k, k3 − 1) 2 2 2 J = ∂ X1 ∂ X2 ∂ X3 ∂ X (k, k − 1) ∂ X (k, k − 1) ∂ X (k, k − 1) 3 3 3 ∂ X1 ∂ X2 ∂ X3 1 0 −T v(k) sin X 3 (k, k − 1) = 0 1 T v(k) cos X 3 (k, k − 1) . (6) 0 0 λ In (5), Co represents the error, in each measurement, introduced by the sensors used during the estimation phase (encoders and electromagnetic compasses). The error introduced in each measurement is important since it influences the matrix P. Co is obtained empirically by calculating the standard deviation measured for the X 1 -component, the X 2 component (see Section 5) and the electromagnetic compass, the X 3 -component. The correlation error for the different components is not considered since it is negligible in terms of the standard deviation for each component. The standard deviation for the X 1 and X 2 components is calculated based on the error introduced by the odometry (see Experiment 1 in Section 5). X 3 is computed as the standard deviation of the electromagnetic compass data. The Co matrix is as follows: 0.005 0 0 0.017 0 . Co = 0 (7) 0 0 0.01745 4.3. Update phase The update phase consists of measuring and updating the position using DGPS data. The measurement vector (Z 1 (k), Z 2 (k))T is obtained during this phase; it is equivalent to (X 1 (k), X 2 (k))T . Z (k) is obtained by transforming the DGPS data in order to compare the estimated X 1 and X 2 positions using the positions obtained from the DGPS Z 1 and Z 2 . The measurement vector must be estimated in order to update the position and orientation of the robot, X . This vector is calculated based on the measurement matrix, H , and the approximated position during the estimation phase, X (k, k −1). In this case, the estimated measurement components of vector Z (k, k − 1) are initialised to the X 1 and X 2 components, since
756
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
Fig. 5. The estimated trajectory using dead-reckoning techniques: (a) The actual trajectory (dashed line) and the dead-reckoning trajectory (solid line). (b) The evolution of the error for the X -component by dead-reckoning with respect to the real trajectory. (c) The evolution of the error for the Y -component by deadreckoning with respect to the real trajectory.
the measurement vector cannot be calculated using any other method. Therefore,
Finally the robot’s position is calculated and the error covariance matrix is updated using the Kalman matrix:
Z (k, k − 1) = H X (k, k − 1)
X (k) = X (k, k − 1) + K (k) [Z (k, k − 1) − Z (k)] P(k) = [I − K (k)H ] P(k, k − 1)
where H is given by: 1 0 0 H= . 0 1 0
(8)
where I is the identity matrix. (9)
The Kalman matrix, K , is the gain or blending factor that minimizes the a posteriori error covariance: i−1 h K (k) = P(k, k − 1)H T H P(k, k − 1)H T + C g (k) . (10) In this expression C g is the matrix representing the error introduced by the DGPS measurement, and: Cg =
σ12 0
0 σ22
(12) (13)
(11)
where σ1 and σ2 are the standard deviations for each component, depending on the quality indicator for the DGPS measurement. The quality indicator is produced by the DGPS. It provides information related to the reception of the differential corrections and the way the differential corrections are received. The standard deviation for each component is calculated for various quality indicators for DGPS measurements for performing different tests under static and dynamic conditions. The resulting measurements are used when the standard deviation for each component is less than the required level of accuracy (±20 mm). In this case, the result is σ1 = 0.003 m and σ2 = 0.004 m.
5. Experimental results The localization system described above has been tested using the SILO4 system presented in Section 3.1. The scenario consists of an outdoor, flat concrete ground. Note that we are only interested in following a planar trajectory because the robot itself can adapt to irregular terrain; therefore, performing the experiments on irregular terrain does not provide any important feature to our analysis. All of the body position increments were calculated with respect to the body reference frame located at the centre of the robot’s body, coinciding with the fixed reference frame in the initial state. The body reference frame is an orthogonal system with Z -component parallel to the direction of the gravity but opposite to it and the X -component parallel to the direction of motion. In the experiments we have performed, initially the robot longitudinal axis is aligned with the desired trajectory (see Fig. 3a). Then, the robot is ordered to follow the rectilinear trajectory y = 0, in the fixed reference frame, under different conditions. The body speed was fixed at 10 mm/s, and the crab angle was fixed at 0 degrees. Experiment 1 This experiment was designed to measure the errors introduced by the mechanism in following straight trajectories under open loop control. Thus, the robot was commanded to follow a straight trajectory using open loop control while the controller computed the odometry errors. Fig. 3a shows a
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
757
Fig. 6. The estimated trajectory using DGPS techniques: (a) The actual trajectory (dashed line) and the DGPS trajectory (solid line). (b) The evolution of the error for the X -component using DGPS in terms of the actual trajectory. (c) The evolution of the error for the Y -component using DGPS in terms of the actual trajectory.
Fig. 7. The estimated trajectory using EKF implemented: (a) The actual trajectory (dashed line) and the EKF trajectory (solid line). (b) The evolution of the error for the X -component using EKF in terms of the actual trajectory. (c) The evolution of the error for the Y -component by EKF in terms of the actual trajectory.
picture of the robot at the initial position; the desired trajectory is overprinted as a dashed line. Fig. 3b illustrates the real trajectories described by the robot at the experimental site for different experiments. They are similar but quite different from the desired trajectory, which is the trajectory estimated by odometry (straight line). Fig. 4 plots in a quantitative manner the trajectories recorded in this experiment. The results show that a walking robot is an imperfect mechanism that requires a positioning system to perform trajectory tracking.
Experiment 2 This experiment was performed to determine the accuracy of the location system using dead-reckoning, a DGPS and an EKF. The robot once again walks using open loop control, but the position and orientation of the robot were estimated based on the three different techniques aforementioned. The results from each approach are presented in Figs. 5–7, respectively. Plot (a) shows the real trajectory followed by the robot (dashed line) and the estimated trajectory (solid line) for each specific
758
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
approach. Plots (b) and (c) show the evolution of the X and Y components for the error computed approximately every 50 mm. The error is measured as the difference between the actual robot position, recorded with an external measurement system, and the estimated position, using the corresponding approach. The different methods that were used are calculated as follows: Dead-reckoning: The joint encoders and the electromagnetic compass were used to estimate the robot’s position. The position estimated using dead-reckoning was observed to be more accurate in calculating the actual trajectory than the position estimated using odometry (see Fig. 5). It is also important to note the smooth evolution of the trajectory estimated using dead-reckoning. DGPS: The robot’s position is estimated based on the DGPS data. Fig. 6 shows the results that were explained previously. Emphasis is placed on the “steps” that describe the estimated trajectory, which were mentioned previously in Section 2, and the error evolution for the X and Y components. EKF: The robot’s position is estimated by using an EKF algorithm, for example by applying sensorial fusion. Fig. 7 shows the results obtained from this algorithm. The estimated trajectory matches the real trajectory. The results are positive and better than the previous results since the errors usually fall within the required range. The error evolution for the X and Y components describes the improvements from using sensorial fusion. Experiment 3 In this last experiment we try to learn about the influence of the electromagnetic compass data in order to maintain constant the robot orientation while walking. Fig. 8 depicts both the raw and the filtered data that were obtained from the electromagnetic compass during the experiment. The robot’s position was estimated using three different techniques for the experiment: a dead-reckoning estimation, the DGPS data, and an EKF estimation. Fig. 9 shows the features mentioned above.
6. Discussion One of the main differences between wheeled robots and walking robots is their motion speed. In general, walking robots, are intrinsically slow machines. Their slow speed creates problems for estimating the position and orientation of the robot using the DGPS data. Section 5 demonstrated the fact that the values for the X and Y components usually remain constant during several readings (see the “steps” for a DGPS signal in Figs. 6a and 9a). The data is constant for a few seconds since the position increments fall below the error range for DGPS. Therefore the method described in [6] for computing the robot orientation from two consecutive DGPS measurements is impractical in this case, since the robot’s orientation cannot be calculated using two equal measurements. This also causes extreme periodic variations in the DGPS data as compared to the dead-reckoning estimation (DGPS errors of about 100 mm can be seen periodically in Figs. 6a and 9a). Therefore DGPS
Fig. 8. Raw electromagnetic compass data (a gray line) and filtered data (a black line) used for orientation control.
data are only relevant if they differ less than the amount of the fixed threshold for the dead-reckoning estimation. This threshold was determined by trial and error using different values, by observing the difference between the actual robot trajectory and the EKF estimation. The final threshold was set at D = 50 mm. This aspect of DGPS accuracy is one of the main differences between this approach and the work by Gassmann et al. [16], who uses a simple GPS. One more difference is that we do not use fuzzy weights to determine the influence of each single leg in the odometry of the robot, but the average motion defined by (2). We computed the increments of position from joint encoders and taking into account all legs in support for each instant. Therefore all legs have the same influence in our computation. Additional problems appear when measuring the orientation of walking machines. As explained in Section 3.2, these problems are characteristic of legged locomotion. For example, the presence of mobile metallic masses (legs) and intermittent motor motion are exclusive features of walking machines. The way in which walking machines and wheeled robots adapt to the terrain is completely different. This fact determines the type of mechanical shocks affecting the electromagnetic compass data. Moreover, the odometry in walking robots is also affected by factors that do not occur with wheeled robots. These factors include: foot slippage, mechanical flexion in limbs and joints, and soil deformation. Another important difference is that in walking robots the kinematics is more complex than in wheeled robots. The experiments showed that electromagnetic compass data can be used in conjunction with the odometry data to obtain an accurate dead-reckoning estimation of the robot’s position (Figs. 4 and 5a shows the position estimation with the odometry, and a more accurate estimation of the position using deadreckoning, respectively). Electromagnetic compass data is also used to achieve effective body orientation control, rapidly enough to correct minor azimuth deviations (by about 0.1 rad; see Fig. 8) and to considerably reduce tracking errors (see
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
759
Fig. 9. (a) The estimated trajectory using dead-reckoning techniques (a straight line), the DGPS (a dash-dot line), the EKF (a thick line) and the actual trajectory (dashed line). (b) The evolution of the error for the X -component for each estimation (dead-reckoning as a dotted line, DGPS as a dashed line, and EKF as a solid line) in terms of the actual trajectory. (c) The evolution of the error for the Y -component for each estimation (dead-reckoning as a dotted line, DGPS as a dashed line, EKF as a solid line) in terms of the actual trajectory.
Fig. 9a), despite the lack of true trajectory tracking control at this stage. When the odometry and the electromagnetic compass data are merged, the results are more accurate since the robot’s heading is known to calculate the position increments. Thus there are fewer errors created during this operation. The main disadvantage of the dead-reckoning estimation is that the errors increase with displacement. Thus for a given distance travelled, the error in estimating the robot’s position is greater than the error required for the application (±20 mm) (see Fig. 5a). For each component, the difference between the real trajectory and the dead-reckoning estimation increases smoothly along the 2 m distance (see Fig. 5b and c). When the robot is more than 2 m away, the trajectory estimate is less accurate due to compass malfunction. Although the compass data is filtered, in each reading there are small variations which affect the calculation. We can also observe the “steps” of the DGPS data in the second experiment, which was described above (see Fig. 6a). For the X -component, the difference between the actual and the estimated data is more than 20 mm. The X -component creates greater errors. Therefore a lot of measurements are not factored in the EKF for exceeding the D threshold in terms of deadreckoning estimation, which is described in Section 4. On the other hand, the results obtained from the Y -component are more accurate and the difference is in the range (±20 mm). Better results were obtained in the second experiment using EKF estimation. Dead-reckoning estimation helps to achieve smooth EKF position evolution compared to the DGPS data. This facilitates crab angle control for accurate trajectory tracking in the future. The error resulting from the EKF depends on the DGPS data and dead-reckoning errors. Unlike the deadreckoning estimation, the amount of error does not increase because of DGPS data error. The error level usually falls within the required range of ±20 mm (see Fig. 9b and c). With dead-reckoning, usually the estimated position is forward
from the theoretical position; however, with EKF the position alternates based on the DGPS data. The Y -component has similar features. In the third experiment, the trajectory followed by the robot was closer to the straight theoretical trajectory than in the previous experiments, as a result of the applied orientation control law. Therefore, the orientation control law using electromagnetic compass data provides more accurate results for tracking the desired trajectory. The differences between dead-reckoning and the actual trajectory therefore are more distinguished. These differences can be observed in Fig. 9b and c where the errors from the X and Y components increase over distance. The differences can also be observed when the robot tries to retrieve its orientation, so that the Y -component error decreases at that instant. For the DGPS data, (see Fig. 9a) the results were similar to the second experiment because the “steps” appear. When the dead-reckoning and DGPS data were merged using an EKF, once again the results are more accurate (see Fig. 9a). The trajectory was smoother but the EKF estimation does not reflect the change of heading that occurs when the robot attempts to retrieve its initial heading. Fig. 9c shows that the error rate for the Y -components increases when the robot changes (orientation). In this experiment the differences between the robot’s position and the EKF estimation of the robot’s final position were greater than the differences in the second experiment (see Table 1). The difference between the dead-reckoning estimation and the DGPS data was also greater. The localization errors are due to misalignment of the electromagnetic compass and the DGPS reference frames (see Fig. 9a), since the north positioning for the electromagnetic compass does not match the north positioning for the DGPS. This error is significant because the electromagnetic compass data is necessary for calculating the robot heading, for adapting the DGPS data to
760
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761
Table 1 Experimental results Localization method
Experiment 2 X (mm) Y (mm)
Experiment 3 X (mm) Y (mm)
No method Dead-reckoning DGPS EKF
4737 4759 4885 4746
6859 6995 6788 6908
−1313 −1298 −1315 −1315
−0.161 −0.063 −0.306 −0.160
the fixed reference frame of the robot. This misalignment can be avoided by calibrating the angle between the reference frames of both devices. Nevertheless, the localization system must be tested as part of larger experiments with a dead-reckoning estimation that is inaccurate enough to test the effectiveness of the DGPS correction. 7. Conclusions Legged robots are used for humanitarian de-mining tasks because they offer many advantages over wheeled robots. This kind of work requires an accuracy level within a few centimetres for subsequent mine removal. This paper describes a localization system for legged robots when they are outdoors. Both the hardware and the algorithms have experimentally proven the efficacy of the system for locating the robot and for controlling motion. An extended Kalman filter was applied merging dead-reckoning data and DGPS data. The low speed of legged robots causes problems in calculating DGPS data because the trajectory is not smooth and some “steps” appear. This problem can be solved using deadreckoning techniques. These techniques smooth the “steps” of the DGPS data so that the robot can walk approximately 4500 mm with an accuracy level of about 20 mm. DGPS is a complete localization technique, such that the error level does not increase with distance. In fact, with dead-reckoning techniques (relative localization) the error rate increases with distance. When these techniques are merged using an EKF, the DGPS prevents the error from increasing over distance, as with the dead-reckoning techniques. Another difference between legged robots and wheeled robots is the error level that results from odometry. The errors have different sources for legged robots and wheeled robots. On the one hand, the errors that result when using wheeled robots are caused by the different wheel diameters and wheel slippage. On the other hand, the greatest errors that occur with legged robots are caused by link and joint flexion and foot slippage. Legged robots have more joints and links than wheeled robots; therefore, the errors caused by odometry may be greater for legged robots than for wheeled robots. Thus, other techniques are needed to reduce these errors. The merger of both techniques has been proven to provide more accurate results. Electromagnetic compass readings may have greater fluctuations due to the leg transfer and interference with motors. This creates problems for the localization system. However, the problems are compensated since the heading change in legged robots is slower than in wheeled robots; therefore, more
accurate results are obtained by applying a first order filter to the electromagnetic compass data. Trajectory tracking is achieved by applying orientation control. In this case, the low speed is helpful because the heading change is slower, and fewer corrections are needed to obtain the desired heading. The present paper has demonstrated that walking robots can be located outdoors, and they can track a given trajectory with an accuracy of about ±20 mm by applying sensor fusion techniques using sensors with average levels of accuracy that are worse than the required accuracy range. In general, the algorithms work quite well in hard terrain. However, some experiments should be conducted on natural (loose, slippery) terrain under DGPS failures. Additionally, in order to achieve a realistic localization system, new strategies are also needed for estimating the robot’s position when the quality of the DGPS data is decreased. Currently, research is focused on controlling the crab angle of the walking machine in order to accurately track the desired trajectory. Acknowledgements Funding for this paper was provided by CICYT under Grant DPI2001-1595 and DPI2004-05824. References [1] E. Abbott, D. Powell, Land-vehicle navigation using GPS, Proceedings of the IEEE 87 (1) (1999) 145–162. [2] J. Bares, D. Wettergreen, Dante II: Technical description, results, and lessons learned, International Journal of Robotics Research 18 (7) (1999) 621–649. [3] J. Borenstein, L. Feng, Measurement and correction of systematic odometry errors in mobile robots, IEEE Transactions on Robotics and Automation 12 (5) (1996) 869–880. [4] J. Borenstein, D.K. Wehe, Internal correction of odometry errors with the omnimate, in: Proceedings of the Seventh Topical Meeting on Robotics and Remote Systems, Augusta, Georgia, 1997, pp. 323–329. [5] J. Borenstein, Experimental results from internal odometry error correction with the omnimate mobile robot, IEEE Transactions on Robotics and Automation 14 (1998) 963–969. [6] D. Caltabiano, G. Muscato, An new localization algorithm for mobile robots in outdoor environments, in: Proc. Of the 6th International Conference on Climbing and Walking Robots, Catania, Italy, 2003, pp. 925–932. [7] D. Caltabiano, G. Muscato, F. Russo, Localization and self calibration of a robot for volcano exploration, in: Proceedings of the 2004 IEEE International Conference on Robotics and Automation, New Orleans, LA, 2004, pp. 586–591. [8] K.S. Chong, L. Kleeman, Accurate odometry and error modelling for a mobile robot, International Conference on Robotics and Automation 4 (1997) 2783–2788. [9] J.A. Cobano, J. Estremera, P. Gonzalez de Santos, A localization algorithm for outdoor trajectory tracking with legged robots, in: Proceedings of the 7th International Conference on Climbing and Walking Robots, Madrid, Spain, 2004. [10] A. Doucet, J.F.G. Freitas de, N.J. Gordon (Eds.), Sequential Monte Carlo Methods in Practice, Springer-Verlag, 2001. [11] J. Estremera, P. Gonzalez de Santos, Generating continuous free crab gaits for quadruped robots on irregular terrain, IEEE Transactions on Robotics 21 (6) (2005) 1067–1076.
J.A. Cobano et al. / Robotics and Autonomous Systems 56 (2008) 751–761 [12] J. Estremera, P. Gonzalez de Santos, J.A. Lopez-Orozco, Neural virtual sensor for terrain adaptation of walking machines, Journal of Robotic Systems 22 (6) (2005) 229–311. [13] D. Fox, W. Burgard, F. Dellaert, Thrun, Monte Carlo localization: Efficient position estimation for mobile robots, in: Proceedings of the Sixteenth National Conference on Artificial Intelligence, AAAI’99, 1999. [14] D. Fox, W. Burgard, S. Thrun, Markov localization for mobile robots in dynamic environments, Journal of Artificial Intelligence Research 11 (1999) 391–427. [15] E. Garcia, P. Gonzalez de Santos, Mobile robot navigation with complete coverage of unstructured environments, Robotics and Autonomous Systems 46 (4) (2004) 195–204. [16] B. Gassmann, F. Zacharias, J.M. Z¨ollner, R. Dillmann, Localization of walking robots, in: Proceedings of the 2005 IEEE, International Conference on Robotics and Automation, Barcelona, Spain, 2005, pp. 1483–1488. [17] A. Gelb, J.F. Kasper Jr., R.A. Nash Jr., C.F. Price, A.A. Sutherland Jr., Applied Optimal Estimation, The M.I.T Press, 1986. [18] P. Goel, S.I. Roumeliotis, G.S. Sukhatme, Robust localization using relative and absolute position estimates, in: Proc. 1999 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Kyongju, Korea, 1999, pp. 1134–1140. [19] P. Gonzalez de Santos, J.A. Galvez, J. Estremera, E. Garcia, SILO4 — A true walking robot for the comparative study of walking machine techniques, The IEEE Robotics and Automation Magazine 10 (4) (2003) 23–32. [20] Q.J. Huang, K. Nonami, Humanitarian mine detecting six-legged walking robot and hybrid neuro-walking control with position/force control, Mechatronics 13 (2003) 773–790. [21] R.E. Kalman, A new approach to linear filtering and prediction problems, Transaction of the ASME - Journal of Basic Engineering (1960) 35–45. [22] Y. Kuroda, T. Kurosawa, A. Tsuchiya, T. Kubota, Accurate localization in combination with planet observation and dead reckoning for lunar rover, in: Proceedings of the 2004 IEEE International Conference on Robotics and Automation, New Orleans, LA, 2004, pp. 2092–2097. [23] D. Longo, G. Muscato, V. Sacco, Localization using fuzzy and kalman filtering data fusion, in: Proceedings of the 5th International Conference on Climbing and Walking Robots, Paris, France, 2002, pp. 263–270. [24] L. Ojeda, J. Borenstein, Methods for the reduction of odometry errors in over-constrained mobile robots, Autonomous Robots 16 (2004) 273–286. [25] G.P. Roston, E.P. Krotkov, Dead-reckoning Navigation for Walking Robots, The Robotics Institute, Carnegie Mellon University, Pittsburgh, PA, 1991. [26] S.I. Roumeliotis, G.A. Bekey, An extended kalman filter for frequent local and infrequent global sensor data fusion, in: Proc. of the SPIE (Sensor Fusion and Decentralized Control in Autonomous Robotic Systems), Pittsburgh, PA, USA, 1997, pp. 11–22. [27] M. Russell, ODEX I: The first functionoid, Robotics Age 5 (5) (1983) 12–18. [28] SILO4. Available: www.iai.csic.es/users/silo4, 2005. [29] S. Thrun, D. Fox, W. Burgard, F. Dellaert, Robust monte carlo localization for mobile robots, Artificial Intelligence 128 (1–2) (2001) 99–141. [30] S. Thrun, Particle filters in robotics, in: Proceedings of the 18th Annual Conference on Uncertainty in Artificial Intelligence, UAI-02, San Francisco, CA, 2002, pp. 511–518.
761
[31] Timberjack. Available: www.timberjack.com/development/conceptdevelopment.htm, 2004. [32] D.J. Todd, Walking Machines: An Introduction to Legged Robots, Kogan Page Ltd., 1985. [33] G. Welch, G. Bishop, An introduction to the Kalman filter, Department of Computer Science, the University of North Carolina at Chapel Hill, 2004.
J.A. Cobano received his degree in Physics at the University of Seville and he joined the Industrial Automation Institute–CSIC (IAI–CSIC) in 2002. He is pursuing a Ph.D. on the control of walking robots. Specifically, he is interested in gait generation for legged robots and localization of mobile robots outdoors. He has been working as a visiting student at the UniversitySouthern of California (Los Angeles, USA) and Albert-Ludwigs-Universitat, Freiburg (Germany), where he has developed algorithms for sensor integration and localization of mobile robots using odometry, dead-reckoning and Extended Kalman Filter techniques. J. Estremera received his B. E. Degree in physics from the Complutense University of Madrid in 1998. In the same year, he joined the Industrial Automation Institute–CSIC, as a research assistant. He received the M.S. Degree from the Polytechnic University of Madrid in 2000 and the Ph.D. Degree from the Complutense University of Madrid in 2003. He has worked on a number of projects related with robotics, especially walking machines, at the Industrial Automation Institute–CSIC. He has participated in the design of the SILO4 and SILO6 robots, being the responsible person for the software design and development. Doctor Estremera has also participated in the development of the KOLT running robot – a platform for the study of fast legged locomotion – at the Robotic Locomotion Laboratory of Stanford University as a visiting researcher. His current research interests include free gait generation, dynamic fast locomotion for four-legged robots, and humanmachine interfacing, outdoor localization and terrain adaptation techniques for walking machines. P. Gonzalez de Santos is a research scientist at the Spanish National Council for Research (CSIC). He received his Ph.D. degree from the University of Valladolid, Spain. Since 1981, he has been involved actively in the design and development of industrial robots and also in special robotic systems. His work during the last fifteen years has been focused on walking machines. He worked on the AMBLER project as a visiting scientist at the Robotics Institute of Carnegie Mellon University. Since then, he has been leading the development of several walking robots such as the RIMHO robot designed for intervention in hazardous environments, the ROWER walking machine developed for welding tasks in ship erection processes and the SILO4 walking robot intended for educational and basic research purposes. He has also participated in the development of other legged robots such as the REST climbing robot and the TRACMINER. Dr. Gonzalez de Santos is now leading the DYLEMA project, that includes the construction of the SILO6 walking robot, to study how to apply walking machines to the field of humanitarian de-mining.