Dead Reckoning in a Dynamic Quadruped Robot Based on Multimodal Proprioceptive Sensory Information

IEEE TRANSACTIONS ON ROBOTICS VOL. 29, NO. 2, APRIL 2013

  M. Reinstein is with the Department of Cybernetics, Center for Machine Perception, Faculty of Electrical Engineering, Czech Technical University in Prague, Prague 166 27, Czech Republic (e-mail: reinstein.michal@fel.cvut.cz).

  In wheeled robots, the solutions are relatively straightforward. A ve- hicle’s motion is restricted to two dimensions. Furthermore, additional constraints regarding its turning radius, for instance, can be applied, giving rise to the vehicle’s motion model. An odometer can be obtained by simply measuring the rotations of the wheels. Both aiding sources (model and odometer) were fused with an inertial navigation system in wheeled vehicles in [7] and [8].

  In our mobile robot, we have decided to use a low-cost IMU as our primary sensor. However, to prevent a major drift in estimates that would result from double integration of raw noisy inertial data, we were seeking another information source (other than external refer- ence) that would provide aiding. In general, there are two possibilities. First, a kinematic model of a vehicle can be used, typically to provide velocity constraints. Second, aiding information can be provided by an additional ego-motion sensor: an odometer.

  Inspired by the animal kingdom, in this paper, we aim to solve the classical dead reckoning (path integration) problem by proposing a system that does not rely on any external reference. Studies on mam- mals and arthropods (see, e.g., [4]–[6]) have accumulated evidence that motion and position can be reliably estimated relying on the so-called self-motion cues (such as inertial and joint information) only. Since neither absolute position nor heading can be sensed directly, drift is eventually inevitable. The challenge lies in achieving a graceful degra- dation of the estimates.

  In mobile robots, a popular solution lies in the combination of a proprioceptive component in the form of an inertial navigation system (INS) and an external reference system. The INS combines information from accelerometers and gyroscopes composed in an inertial measure- ment unit (IMU) and integrates them into relative changes of the robot’s pose. If long-term precision is to be guaranteed, absolute information needs to be provided. External references (landmarks) can be sensed using vision (see, e.g., [1]) or ultrasonic sensors [2], or absolute posi- tion information can be directly obtained from a GPS (see, e.g., [3]). However, all these solutions have limitations. For instance, signal ro- bustness, availability (indoor/outdoor), and accuracy issues (attenu- ation through atmosphere, multipath errors) can be listed among the drawbacks of a GPS; computer vision has typically high computational requirements and is vulnerable to lighting conditions and the presence and saliency of landmarks in the environment.

  The former is usually crucial for successful locomotion; the latter for navigation. The information can be—often indirectly—obtained from various sensors: proprioceptive (inertial measurements, joint sensors on legs, or motor encoders) and exteroceptive (primarily visual infor- mation and compass measurements). Exteroceptive sensors—which acquire information from the robot’s environment—can be also used to perceive external references (landmark detection using visual sensors, for instance) that are necessary for long-term precision in a navigation task.

  I. I NTRODUCTION It is a strong requirement for any mobile agent, either animal or robot, to be able to estimate its posture and to gauge the distance it traveled.

  Index Terms —Dead reckoning, extended Kalman filter (EKF), legged robots, odometry, path integration, slippage.

  We have devised a novel legged odometer that combines information from a multimodal combination of sensors (joint and pressure). We have shown our method to work for a dynamic turning gait, and we have also success- fully demonstrated how it generalizes to different velocities and terrains. Furthermore, our solution proved to be immune to substantial slippage of the robot’s feet.

  M. Hoffmann is with the Artificial Intelligence Laboratory, University of Zurich, 8050 Zurich, Switzerland (e-mail: hoffmann@ifi.uzh.ch). This paper has supplementary downloadable material available at http://ieeexplore.ieee.org. Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TRO.2012.2228309

  563 [21] L. Hunsberger, “Algorithms for a temporal decoupling problem in multi- agent planning,” in Proc. Amer. Assoc. Artif. Intell., 2002, pp. 468–475. [22] L. Hunsberger, “Group decision making and temporal reasoning” Ph.D. dissertation, Harvard Univ., Cambridge, MA, 2002. [23] L. R. Planken, M. M. de Weerdt, and C. Witteveen, “Optimal temporal decoupling in multiagent systems,” in Proc. 9th Int. Conf. Autonom. Agents

  Multiagent Syst., Toronto, ON, Canada, May 2010, pp. 789–796.

  Abstract —It is an important ability for any mobile robot to be able to estimate its posture and to gauge the distance it traveled. In this paper, we have addressed this problem in a dynamic quadruped robot by combin- ing traditional state estimation methods with machine learning. We have designed and implemented a navigation algorithm for full body state (po- sition, velocity, and attitude) estimation that uses no external reference but relies on multimodal proprioceptive sensory information only. The ex- tended Kalman filter (EKF) was used to provide error estimation and data fusion from two independent sources of information: 1) strapdown mech- anization algorithm processing raw inertial data and 2) legged odometry.

  Michal Reinstein and Matej Hoffmann

  Dead Reckoning in a Dynamic Quadruped Robot Based on Multimodal Proprioceptive Sensory Information

  Res., vol. 25, pp. 529–576, Apr. 2006.

  [31] R. Mailler and V. Lesser, “Asynchronous partial overlay: A new algorithm for solving distributed constraint satisfaction problems,” J. Artif. Intell.

  Int. Conf. Autonomous Agents Multiagent Syst., 2003, vol. 14, no. 18, pp. 161–168.

  Tech. Rep., 2011. [30] P. J. Modi, W. M. Shen, M. Tambe, and M. Yokoo, “An asynchronous complete method for distributed constraint optimization,” in Proc. Second

  [28] S. Russell and P. Norvig, Artificial Intelligence. Upper Saddle River, NJ: Prentice–Hall, 2010. [29] J. Jackson, M. Faied, P. Kabamba, and A. Girard, “Communication- constrained distributed task assignment,” Univ. Michigan, Ann Arbor,

  IEEE Int. Conf. Distrib. Syst., Jun. 1992, pp. 614–621.

  [24] S. Karaman, M. Faied, E. Fazzoli, and A. Girard, “Specification and plan- ning of interactive UAV missions in adversarial environments,” presented at the AIAA Guid., Navigat., Control Conf., Chicago, IL, Aug. 2009. [25] S. Minton, M. Johnston, A. Philips, and P. Laird, “Solving large-scale constraint satisfaction and scheduling problems using a heuristic repair method,” in Proc. Assoc. Adv. Artif. Intell., Washington, DC, May 1990, pp. 17–24. [26] M. Yokoo, “Asynchronous weak-commitment search for solving dis- tributed constraint satisfaction problems,” Lecture Notes Comput. Sci., vol. 976, pp. 88–102, 1995. [27] M. Yokoo, E. H. Durfee, I. Ishida, and K. Kuwabara, “Distributed con- straint satisfaction for formalizing distributed problem solving,” in Proc.

  Manuscript received May 10, 2012; revised October 22, 2012; accepted November 9, 2012. Date of publication December 5, 2012; date of current ver- sion April 1, 2013. This paper was recommended for publication by Associate Editor A. Ijspeert and Editor D. Fox upon evaluation of the reviewers’ com- ments. The work of M. Reinstein was supported by the Project FP7-ICT-247870 NIFTi. The work of M. Hoffmann was supported by the Project FP7-ICT-270212 “eSMCs.” The material in this paper was presented in part at the 2011 IEEE International Conference on Robotics and Automation.

  564

IEEE TRANSACTIONS ON ROBOTICS VOL. 29, NO. 2, APRIL 2013

  Dynamic locomotion, which may include aerial phases, poses even more difficulties, as the excursion of the COM during the flight phase is not observable from the kinematic configuration. Hybrid models that switch between contact and aerial phases need to be introduced (see [12]). In hexapod robots, the tripod gait is typically used and the as- sumption of the model is that three noncollinear feet are in contact with the ground at all times [13]–[15]. In [16], aiding of inertial sensors was provided by an attitude estimator using strain-based leg sensors, and the authors could handle even jogging gaits by splitting the modeling into tripod stance phase, liftoff transient phase, aerial phase, and touchdown transient phase. Using a quadruped robot, Bloesch et al. [17] devised a kinematic model that can handle intermittent ground contacts without taking any assumptions on the gait used. However, none of the methods reviewed above could deal with substantial slippage of the robot’s feet.

  IV is devoted to the LO. Section V demonstrates the performance of our legged odometer-aided inertial navigation system (INS-LO). Section

  The Kalman filter (KF) [27] has been widely used in INS state esti- mation and filtering. It combines all available measurements with prior knowledge about the sensing device and the system to produce an opti- mal state estimate that statistically minimizes the error in a least-squares sense. In navigation applications, the KF appears in many variations, which deal with nonlinearities of the system model equations, e.g., the EKF; for details, see [24] and [28]. For a long time, the EKF has been playing a key role in navigation software design. While the KF esti- mates states of a linear system model only, the EKF can estimate states of a nonlinear system model but only up to a certain level of nonlin- earity [29, pp. 176–182]. The choice of an appropriate model is crucial since only small errors are allowed to be delivered to the EKF. Be- cause of the first-order approximations, large values can cause biased

  C. Extended Kalman Filter

  Strapdown mechanization is an algorithm that converts raw inertial data into navigation variables, i.e., velocity, position, and attitude [20, pp. 29–39]. We have developed a strapdown mechanization by com- bining the approaches described in [21–23, pp. 61–75], with enhance- ments proposed in [24]. Our implementation determines the navigation variables from raw inertial measurements by integrating differential equations describing the motion dynamics [24, p. 29]. The algorithm proceeds with the following steps: compensation of sensor errors, nu- merical integration of sensor outputs, velocity update, position update, and attitude update. In our implementation, we have employed a quater- nion approach. Experimental evaluation of our strapdown mechaniza- tion can be found in [25] and [26].

  B. Strapdown Mechanization Algorithm

  A conventional IMU is composed of three accelerometers and three angular rate sensors, mounted perpendicularly to each other to create an orthogonal measurement frame [20, p. 12]. Therefore, each accelerom- eter is able to detect the specific force that is defined as the time rate of change of velocity relative to local gravitational field [21], [22]. For navigation in any frame, it is important to track directions, in which the accelerometers sensing axes are oriented. This is done by sens- ing the rotational motion using angular rate sensors and integrating them [21], [22]. When the angular orientation of the IMU is known, compensation for projected local gravity value, Coriolis, and centripetal acceleration is done. Resulting acceleration signals are integrated con- secutively to obtain velocity and position vectors.

  A. Inertial Navigation Systems

  II. T HEORY AND M ETHODOLOGY

  VI presents the discussion. Finally, Section VII concludes this paper.

  This paper is structured as follows. Section II explains our data fusion approach. Section III briefly describes the experimental setup. Section

  In our case, we were dealing with an underactuated compliant dy- namic quadruped platform, in which slippage is an integral part of the robot’s locomotion. Furthermore, we addressed ground of different friction. There, because of slip, the same kinematic trajectory of the robot results in substantially different displacement

  Compared with wheeled applications, there is much less work ad- dressing legged platforms. This problem is much harder. First, it has more dimensions: Unlike in a wheeled vehicle, a legged platform’s motion involves pitching and rolling motions, making the body mo- tion inherently 3-D and most kinematic representations nonlinear [9]. Consequently, compared with wheeled vehicles, there are much fewer constraints that could be used for aiding. Nevertheless, using joint encoders, the advancement of the center of mass (COM) can be calcu- lated through kinematic transformations—as demonstrated in statically stable walking robots in [10] and [11]. Imprecision comes mainly from foot slippage and link and joint flexion.

  grounds (five surfaces of different friction). Fourth, we assess the rela- tive contributions of the different components of the system. More than 120 experimental runs were conducted.

  1 Hz, the robot travels on average 11.5 cm/s on low-friction plastic foil but 18 cm/s on cardboard or Styrofoam.

  1 For instance, when running with the gait used in this study at motor frequency

  Our contributions are as follows: First, we propose a novel data- driven odometer for a dynamic legged robot that relies on the exploita- tion of multimodal proprioceptive sensory information. Second, we develop an appropriate data fusion algorithm based on the EKF. Third, we demonstrate that the proposed architecture not only generalizes to different velocities of motion (0.08–0.21 m/s), but also to different

  In our contribution, we demonstrate an alternative solution. We em- ploy a multimodal sensory set that consists of angular position sensors on active joints (controlled by servomotors), passive compliant joints, and pressure sensors on the robot’s feet, and establish a relationship with the robot’s change in position in a statistical, data-driven fashion. Concretely, we trained a regression function relating a pool of features over the sensory data to the robot’s stride length (relative position in- crement over a gait period), giving rise to a legged odometer (LO). Finally, this position increment (with appropriate noholonomic veloc- ity constraints) obtained from the LO was used to aid integrated inertial measurements. Data fusion was realized by an extended Kalman filter (EKF).

  (see the multime- dia attachment). Modeling different grounds and the robot’s interaction with them would be an option, but this would first require prior knowl- edge about the grounds and second, modeling of contacts is a hard problem. Therefore, we were seeking an odometer that does not re- quire a model of the robot’s interaction with the ground. One option that fulfills these criteria is visual odometry, as demonstrated by the Mars exploration rovers, for instance, [18]. The requirements there are a camera, some moderate assumptions on the scene characteristics, and reasonable computational power.

  1

  This paper is an extension of our previous work [19], expanded by the following: 1) additional experiments on three new grounds to demonstrate generalization to different terrains; 2) new approach to the LO design which reduces the designer bias as well as, on average, the error in estimation to less than half compared with [19]; 3) an analysis of the contributions of individual sensory modalities; and 4) more elaborate description of the data fusion.

IEEE TRANSACTIONS ON ROBOTICS VOL. 29, NO. 2, APRIL 2013

  565

  solutions and inconsistency of the covariance update [24]. Therefore, instead of using state-vector representation for actual navigation vari- ables, we implemented the EKF to estimate only the errors given by an error model. Detailed description and derivation of the EKF equations that we implemented for data fusion can be found in [29].

D. Error Model for Data Fusion

  The algorithm of the INS-LO is initialized with calibration param- eters for the inertial sensors; coarse alignment proceeds to estimate the initial heading. While the system is static during initialization, fine alignment algorithm is executed using the same error model in order to estimate the biases of the six inertial sensors used; these biases are then compensated as the navigation proceeds (for details, see previous work [34]). Fig. 2 consists of several blocks. Strapdown Mechaniza-

  i

  To develop an error model for data fusion, as shown in Fig. 2, we considered the theory regarding sensor error propagation [29]. Our er- ror model is based on the classical 15-state concept described in [30, pp. 35–41] and [31]. We have taken the uncoupled approach to the clas- sical perturbation analysis [30] to obtain equations capturing the error dynamics. These perturbation equations were linearized, and errors of the second order and higher were neglected. Then, the equations were expressed in terms of position, velocity, attitude, and sensor errors to form the desired linearized error model. The appropriate parts of the co- variance matrix of measurement noise were determined by statistically evaluating the precision of the stand-alone LO with respect to reference in velocity and position over more than 100 runs. In order to model the random sensor errors, we employed Allan variance analysis evaluated on sensor noise data. We explored this method in detail in [32]. The original model with appropriate proof can be found in [30].

  ± 0.0017 m was used to compute the stride length reference. The precision was determined statistically as

  We have reused the dataset collected in [19]. The robot was left to run with the same gait, but at different frequencies of the periodic motor signal (from 0.25 to 1.75 Hz) on different grounds. The sensory data as well as position and orientation reference from the overhead camera were recorded. The ground truth trajectory with root mean square error (RMSE) precision of 0.0024

  A. Data Collection

  IV. L EGGED O DOMETER D EVELOPMENT Stride length is defined as the distance from initial contact of one foot to the following initial contact of the same foot, which essentially corresponds to the distance traveled by the robot in one period of loco- motion. This section is devoted to the development of a new LO, which is superior to the one that we presented in [19]. The development pro- ceeds in the following steps: 1) data collection, 2) feature computation, and 3) training a regression function.

  2.5 × 2.5 m and was tethered. An overhead camera attached to the ceiling was used to record the robot’s movement. Later, the position of a red-colored marker placed roughly above the robot’s COM was tracked together with a green marker above the robot’s head (for head- ing tracking). Fig. 3 shows a screenshot from the free video tracking software Tracker depicting the robot in the arena from above. Individ- ual terrains were selected to cover a range of different friction; Table I shows experimentally determined estimates of the static friction coef- ficients between the adhesive skin on the robot’s feet and the different substrates. Since the “skin” has asymmetrical friction properties, coef- ficients in both directions had to be determined.

  During the experiments, the robot was running in an arena of about

  We have investigated two different gaits in [19]. In this work, we wanted to specifically address generalization to different grounds and contributions of individual sensory channels. We have thus used a single gait only: a dynamic right-turning gait derived from a bounding gait, since this gait is stable on a bigger range of terrains (see the multimedia attachment).

  i parameters.

  , frequency f , and phase θ

  i

  , offset B

  i

  (1) where the oscillation can be varied by changing the amplitude A

  ) + B

  tion block: The output of the strapdown mechanization is the updated

  i

  Due to the nature of the EKF, we constructed the data fusion scheme as a centralized processing approach combined with closed-loop state-vector estimation. The architecture, therefore, corresponds to a complementary filter, where two independent sources of information (position and velocity computed from raw inertial data via strapdown mechanization, and relative position increment obtained from the LO) are combined to compensate for each other’s limitations [33]. In ad- dition, very simple nonholonomic constraints are exploited (modeled as zero mean lateral and vertical body frame velocities with variances determined from analysis of the referential trajectory).

  i

  (t) = A

  ∗ i

  (and, hence, of each leg) was determined as γ

  ∗ i

  All joints (active hips and passive knees) were equipped with angular position sensors, and every foot had a pressure sensor underneath, sampled at 50 Hz. Xsens IMU was used to measure the inertial data. We applied a simple oscillatory position control of the motors. The target joint angle of each motor γ

  The robot used is 19 cm long and has four identical legs driven by position-controlled servomotors in the hips. In addition, there are four passive compliant joints at the “knees.” A photograph of the robot can be seen in Fig. 1. The mechanical design (weight distribution, proportions, springs used, etc.) is a result of previous research (see, e.g., [35] and [36]). New material (an adhesive skin used for ski touring Fig. 1. Quadruped robot “Puppy” and its sensory set [19, p. 619]. from Colltex), which has asymmetrical friction properties, was added onto the robot’s feet. This allows the robot to get a good grip during leg retraction (stance), but enables sliding during protraction (swing).

  XPERIMENTAL S ETUP

  III. E

  tion together with the sensors noise models is used to update the error model at 100 Hz. EKF block: Since aiding proceeds at 20 Hz, in the meantime, the EKF runs as a predictor with Kalman gain set to zero. If at least one EKF update has occurred, feedback to the strapdown mechanization is provided. Each time this feedback occurs, the errors are corrected and the state vector is reset to zero to prevent unbounded error growth.

  Error Model Update block: The output of the strapdown mechaniza-

  velocity, position, and attitude vectors obtained from the inertial data processed at 100 Hz. LO block: The LO processes the joint and pres- sure data measured at 50 Hz. Using a regression function, the stride length is computed for each gait period. The output of the LO over one gait period is converted into position aiding signal that enters the EKF.

  sin (2πf t + θ

  566

IEEE TRANSACTIONS ON ROBOTICS VOL. 29, NO. 2, APRIL 2013

  Fig. 2. Data fusion scheme for the INS-LO.

  mean difference between the real distance and distance measured by the Tracker software between two markers placed on the robot. For examples of the trajectories and raw sensory signal plots, see [19].

B. Feature Computation

  In line with our previous approach [19], we have used a pool of features that compress the raw sensory signals in each period of loco- also defined over a locomotion period). However, in an effort to reduce the designer’s bias, we have enriched this feature set over [19]. For each sensory channel, the amplitude, mean, variance, and numerical integral were computed. These features were denoted as a single-channel fea- ture set (with 12 sensory channels and four feature types, this gives 48 base features). Second, powers (squares and cubes) of these fea- tures were also added. Then, a cross-channel feature set was formed by combining the single-channel features with each other by means of

IEEE TRANSACTIONS ON ROBOTICS VOL. 29, NO. 2, APRIL 2013

  {k }

  signal—1 Hz—was also excluded from the training set. With this set- ting, we have created the Regression–StyroFoilCard odometer. Later, when assessing the respective influence of different modalities, the same training procedure is applied, but only features from individ- ual modalities are available. For comparison, we have trained another regression function that uses a single feature—the frequency of loco- motion. This will allow us to contrast the performance of the sensory- based odometer with a simple estimator of the robot’s stride length at different controller settings: different frequencies.

  cardboard, and Styrofoam. In addition, one frequency of the motor

  This procedure can now be universally applied and only the compo- sition of the training set will determine the final form of the regression function. Our goal was to show that the multimodal odometer can gen- eralize to different speeds and previously unseen grounds. Therefore, we have included only three grounds in the training set: plastic foil,

  (4) where α is the learning rate determined experimentally to assure con- vergence after a reasonable number of iterations.

  {k } i

  ))x

  TABLE I S TATIC F RICTION C OEFFICIENT E STIMATES B ETWEEN A DHESIVE S KIN AND D

  − h θ (x

  R

  {k }

  (y

  TABLE II

  INS-LO O

  VERALL P ERFORMANCE ON D

  IFFERENT T ERRAINS

  The update rule for the batch gradient descent is defined as follows (repeated for all i until convergence):

  V. E

  567 Fig. 3. Experimental setup and tracking software: The robot was running in an arena and was tracked from a single camera providing a top view (left). Free tracking software Tracker (http://cabrillo.edu/ ∼dbrown/tracker/AAPT_ video_modeling_2009.pdf) was used to obtain the referential trajectory.

  i = θ i + α m k = 1

  IFFERENT S UBSTRATES

  linear combinations, ratios, and multiplications of features of the same modality (e.g., sum of the means of amplitudes of the left knees and

  hips was one feature, or ratio between the variances of the front and hind pressure signals another). For numerical reasons, all the features

  were normalized.

C. Training the Regression Function

  In our previous work [19], we have first looked for correlations of individual features with stride length, then picked few (four or five) features that performed best, while ensuring that the features are not overlapping (are not based on the same base features). In this study, we have devised a more automatic procedure. We have defined a new linear regression function h(θ), which processes the features and outputs the estimated stride length. It is defined as follows: h

  (θ) =

  n i = 0

  i

  θ

  x

  i

  (2) where n is the number of features, x

  i

  is a normalized feature value, θ

  i

  is corresponding parameter of the regression function, and x = 1 is the intercept term. The original full feature set (which is composed of single- and cross-channel features) was pruned through experimenta- tion with forward and backward feature selection, resulting in around 200 best features in the end.

  θ

XPERIMENTS AND

  is the stride length ground truth value for the kth training example.

  (h θ (x

  Training of the regression function is based on a well-known batch gradient descent algorithm which minimizes in least-squares sense the cost function j(θ) defined as follows: j

  (θ) =

  We have conducted more than 150 navigation experiments to ana- lyze the performance of the proposed navigation system—IMU aided by different types of LOs using the EKF for data fusion and error es- timation. First, we will show the performance of the system with the new odometer and compare with aiding by the frequency-only estima- tor and our solution from [19]. Second, we will test odometers that encompass features from individual modalities only and assess their performance. For each terrain type, a series of navigation experiments with the right-turning bounding gait was evaluated at gait frequency of 1 Hz which was absent from the training set. This subset of all the

  ESULTS

  1 2m

  m k = 1

  {k }

  {k }

  ) − y

  {k }

  )

  2

  {k }

  is the vector of features, and y

  (3) where m is the number of training examples, x

  568

IEEE TRANSACTIONS ON ROBOTICS VOL. 29, NO. 2, APRIL 2013

  TABLE III

  To compare the performance across different settings (aiding type and terrain), the mean absolute error (MAE) in position was computed (see Table II). We define the MAE as absolute error in position at the end of each gait period (due to referential trajectory synchronized with

  An example of INS-LO performance is presented in the following figures and is based on the new regression odometer, i.e., the mul- timodal odometer trained on Styrofoam, foil, and cardboard terrains. The actual run was performed on linoleum using right-turning bound- ing gait of motor frequency 1 Hz. Fig. 4 shows a 2-D projection of the estimated trajectory (INS-LO) compared with the ground truth refer- ence (REF); in this case, the robot was running for approximately 30 s. The estimated stride length values per gait period estimated by the LO are presented in Fig. 5(top) and compared with the stride length com- puted from the reference. The estimated Euler angles are presented in Fig. 5(bottom); the estimated velocity and position vectors are shown in Fig. 6; for the errors in position estimated by the EKF, see Fig. 7.

  standalone LO cannot provide 3-D trajectory since no attitude angles are available.

  Fig. 5. (Top) Estimates of the stride length per gait period as computed by the LO (used for aiding), by the INS-LO, and as obtained from the referential ground truth trajectory (REF). (Bottom) Estimated pitch, roll, and yaw angles corresponding to the motion dynamics.

  Fig. 4. Two-dimensional trajectory plot as estimated by the INS-LO, output of the LO used for aiding (stride length projected to the direction of motion using the yaw angle from the IMU), and referential ground truth trajectory (REF).

  When the LO component is switched OFF (only inertial data are pro- cessed), the precision in position degrades rapidly in all experiments: exceeding 0.5-m RMSE in position after 15 s of dynamic motion and 30-m RMSE after 1 min. If the INS component is switched OFF, the

  that the motion estimation system aided by the new odometer signif- icantly outperforms the other solutions and gives good results even on new grounds. Note that the friction coefficients associated with the new substrates lie outside of the range that was in the training set (see Table I), and stride length has a strongly nonlinear relationship with ground friction in our platform (data not shown here).

  Table II summarizes the overall performance of the proposed nav- igation system (INS-LO) over all of the five surfaces. The results for the newly developed odometer (Regression–StyroFoilCard) are pre- ceded by the “control” experiments with the frequency-only model, and Universal (ICRA2011) odometer—our previous “heuristic” ap- proach based on correlations and a smaller feature set [19].

  experiments was used as testing data to compute the statistics presented in Tables II and III. The results are presented in tabular form, starting with the grounds that were in the training set (but not with the robot running at this frequency of the periodic motor signal), followed by the ones that were completely absent from the training set: linoleum and rubber. Due to the limited size of the arena and different turning radii of the robot on different grounds, duration of the experiments had to be adjusted accordingly. Therefore, the total length of the trajectories varied for each case.

  IFFERENT M ODALITIES

  ITH R ESPECT TO D

  INS-LO P ERFORMANCE W

A. Performance Analysis

2 We see

2 Note that the Universal (ICRA2011) odometer was trained on two grounds— Foil and Styrofoam—only.

IEEE TRANSACTIONS ON ROBOTICS VOL. 29, NO. 2, APRIL 2013

  569 Fig. 6. Components of the 3-D velocity vector (top) and 3-D position vector (bottom) as estimated by the INS-LO.

  Fig. 7. Errors in 3-D position as estimated by the EKF and corrected in the INS-LO feedback.

  the INS-LO) averaged over all the gait periods over all the testing ex- periments under the same condition. However, MAE is not a perfect measure, since in dead reckoning the error accumulates with the trav- eled distance. Therefore, in addition, we express the MAE in position as percentage of the total trajectory length. Precision in attitude was not evaluated with respect to ground truth; however, by inspection, the attitude angles were stable. This can be best seen by comparing the attitude at the beginning and end of a trial where the robot had the same posture (in roll and pitch).

  After examining the influence of the different system components—

  INS, LO and their fusion—in this section, we look more closely at the workings of the LO. By testing three new odometers that rely on features from a single sensory modality (hip joint encoders, knee joint encoders, and pressure sensors), we can assess their respective contributions. They are contrasted with the Regression–StyroFoilCard odometer, which we will denote here as simply “multimodal.” An overview of the results is presented in Table III.

  The results show very good performance of the Regression knees-

  only which lags only slightly behind the Regression–multimodal

  odometer. The Regression–pressure-only odometer has substantially worse performance, and the Regression–hips-only odometer shows the weakest performance. We offer the following explanation: The hip en- coders largely follow the trajectory of the hip motors and are thus not very sensitive to the interaction with the ground. Pressure sensors on the robot’s feet reflect the force vectors at the robot’s feet and, thus, carry information on the strength of each leg’s push-off and may, indirectly, contain information about slip as well. However, they are sensitive to the exact way a foot hits the ground and to the ground texture (the cardboard and rubber have ridges). The joint encoders at the passive compliant knees are the most effective sensors: They also sense the push-off that each leg can exert when interacting with the ground, but do not suffer from the drawbacks of the pressure sensors. On grounds with higher friction, during leg retraction, the feet slip less and, hence, effectively propel the body forward, while bending the passive knee joint at the same time, which can be detected.

  VI. D

  ISCUSSION

  In Section I, we discussed the challenges that dynamic locomotion of a quadruped robot poses to analytical modeling. For these reasons, we decided to adopt a data-driven strategy to legged odometry by exploiting multimodal proprioceptive sensory information.

  Black-box models often employ complex, nonlinear relationships (see, e.g., [37]). However, we have taken a different approach. We have used a big number of features coming from individual sensory channels and then their simple combinations (sums or ratios). A linear regres- sion function (even though the dynamic relationships are nonlinear) was then sufficient to obtain a good estimate of the stride length. That is, the robot body was used to preprocess and prestructure the sensory signals (see, e.g., [38]). In other words, complex dynamics that present them- selves as a difficulty to motion modeling may at the same time prove to be a benefit for sensing and can be exploited: Sensing occurs through the body dynamics [35]. This is also confirmed by the modality anal- ysis we have performed. For instance, from the single modalities, the potentiometers in the passive compliant knee joints—which are excited by the interaction with the environment—outperform the potentiome- ters in the motor-driven hip joints. A detailed analysis of information flows between motor and sensory channels in our platform is provided in [39].

  VII. C ONCLUSION We have developed a navigation algorithm for full body state (po- sition, velocity, and attitude) estimation for a quadruped robot. Our method rests on a unique exploitation of a multimodal proprioceptive sensory set of our legged robot. We have split the sensory modalities into two parts: inertial measurements on one side and joint and pressure information from legs on the other. The EKF was used to provide error estimation and data fusion from two independent sources of informa- tion: the strapdown mechanization algorithm processing raw inertial data and LO providing relative position aiding, complemented by non- holonomic velocity constraints. The former component was a largely standard white-box model, while for the latter, we have devised a novel data-driven solution (the LO). We argue that this is the best solution in our situation: Although knowledge regarding the physics of inertial measurements is readily available, odometry in our dynamic legged platform is extremely hard to model analytically.

B. Modality Analysis

  Without using any external reference, our architecture ensures MAE error in position between 1% and 1.5% of the trajectory length, which corresponds to approximately half the body length (0.1 m) after 1–2 min of dynamic locomotion. It has to be noted that this performance was on terrains with different friction than those included in the odometer train- ing dataset. Moreover, the robot was tested for dynamics of locomotion

  570

IEEE TRANSACTIONS ON ROBOTICS VOL. 29, NO. 2, APRIL 2013

  An analysis of the contributions of the individual system components to the overall performance was conducted. In addition, the respective influence of individual sensory modalities that comprise the LO was assessed. If different gaits are used, the odometer’s generalization is limited. This is to be attributed to the very different dynamics of the interaction with the ground and hence different sensory stimulation that arises. However, the same methodology can be applied to train odometers for a different gait, as we have shown previously [19]. For a different quadruped platform, the particular odometer (regression func- tion) proposed here would not work. However, what we propose as a general approach is to equip any robot with a rich multimodal sensor set. Then, using a data-driven approach, it is very likely that informa- tion about many variables of interest can be delivered. For example, in [40], we have shown how the same sensory set can be employed for successful terrain classification in our platform. This contrasts with traditional approaches that add sensors specifically targeted at measur- ing desired quantities.

  [26] M. Reinstein, J. Rohac, and M. Sipos, “Algorithms for heading deter- mination using inertial sensors,” Przeglad Elektrotech., vol. 86, no. 9, pp. 243–246, 2010. [27] R. E. Kalman, “A new approach to linear filtering and prediction prob- lems,” ASME J. Basic Eng., vol. 82, pp. 34–45, 1960. [28] W. Abdel-Hamid, “Accuracy enhancement of integrated MEMS-

  IEEE Int. Conf. Robot. Autom., 2011, pp. 617–624.

  [20] D. H. Titterton and J. L. Weston, Strapdown Inertial Navigation Technol- ogy.

  Lavenham, U.K.: Lavenham, 1997. [21] P. G. Savage, “Strapdown inertial navigation integration algorithm design—Part 1: Attitude algorithms,” J. Guid., Control Dyn., vol. 21, no. 1, pp. 19–28, 1998. [22] P. G. Savage, “Strapdown inertial navigation integration algorithm design

  part 2: Velocity and position algorithms,,” J. Guid., Control, Dyn., vol. 21, no. 2, pp. 208–221, 1998. [23] O. Salychev, Applied Inertial Navigation: Problems and Solutions.

  Moscow, Russia: Bauman MSTU, 2004. [24] E.-H. Shin, “Estimation techniques for low-cost inertial navigation,” Ph.D. dissertation, Dept. Geomatics Eng., Univ. Calgary, Calgary, AB, Canada, 2005.

  [25] M. Sipos, P. Paces, M. Reinstein, and J. Rohac, “Flight attitude track reconstruction using two AHRS units under laboratory conditions,” in Proc. IEEE Sens., 2009, pp. 675–678.

  IMU/GPS systems for land vehicular navigation applications,” Ph.D. dis- sertation, Dept. Geomatics Eng., Univ., Calgary, AB, Canada, 2005. [29] M. S. Grewal and A. P. Andrews, Kalman Filtering – Theory and Practice using Matlab.

  VIII, 2012.

  New York: Wiley-Interscience, 2001. [30] E.-H. Shin, “Accuracy improvement of low cost INS/GPS for land appli- cations,” M.S. thesis, Dept. Geomatics Eng., Univ. Calgary, Calgary, AB,

  Canada, 2001. [31] N. V. Kumar, “Integration of inertial navigation system and global posi- tioning system using Kalman filtering,” M.S. thesis, Dept. Aerosp. Eng.,

  Indian Inst. Technol. Bombay, Mumbai, India, 2004. [32] M. Reinstein, M. Sipos, and J. Rohac, “Error analyses of attitude and heading reference systems,” Przeglad Elektrotech., vol. 85, no. 8, pp. 115–

  118, 2009. [33] S. B. Lazarus, I. Ashokaraj, A. Tsourdos, R. Zbikowski, P. Silson, N. Aouf, and B. A. White, “Vehicle localization using sensors data fusion via inte- gration of covariance intersection and interval analysis,” IEEE Sensors J., vol. 7, no. 9, pp. 1302–1314, Sep. 2007.

  [34] M. Reinstein, “Evaluation of fine alignment algorithm for inertial naviga- tion,” Przeglad Elektrotech., vol. 87, no. 7, pp. 255–258, 2011. [35] F. Iida and R. Pfeifer, “Sensing through body dynamics,” Robot. Auton.

  Syst., vol. 54, no. 8, pp. 631–640, 2006.

  [36] F. Iida, G. Gomez, and R. Pfeifer, “Exploiting body dynamics for control- ling a running quadruped robot,” in Proc. Int. Conf. Adv. Robot., 2005, pp. 229–235.

  [18] M. Maimone, Y. Cheng, and L. Matthies, “Two years of visual odometry on the mars exploration rovers: Field reports,” J. Field Robot., vol. 24, no. 3, pp. 169–186, 2007. [19] M. Reinstein and M. Hoffmann, “Dead reckoning in a dynamic quadruped robot: Inertial navigation system aided by a legged odometer,” in Proc.

  D. Remy, and R. Siegwart, “State estimation for legged robots— Consistent fusion of leg kinematics and IMU,” in Proc. Robot.: Sci. Syst.

  A CKNOWLEDGMENT The authors would like to thank F. Iida for the development of the robot, H. Marques for the IMU, D. Brown for the Tracker free software, R. Pfeifer for continuous support, F. Iida and D. Scaramuzza for reviewing an earlier version of the manuscript, and the anonymous reviewers for their constructive suggestions that greatly improved the manuscript.

  [7] G. Dissanayake, S. Sukkarieh, E. Nebot, and H. Durrant-Whyte, “The aiding of a low-cost strapdown inertial measurement unit using vehicle model constraints for land vehicle applications,” IEEE Trans. Robot. Au- tom., vol. 17, no. 5, pp. 731–747, Oct. 2001. [8] J. Yi, H. Wang, J. Zhang, D. Song, S. Jayasuriya, and J. Liu, “Kinematic modeling and analysis of skid-steered mobile robots with applications to low-cost inertial measurement-unit-based motion estimation,” IEEE Trans. Robot., vol. 25, no. 5, pp. 1087–1097, Oct. 2009. [9] H. Rehbinder and H. Xiaoming, “Drift-free attitude estimation for accel- erated rigid bodies,” Automatica, vol. 40, pp. 653–659, 2004. [10] J. A. Cobano, J. Estremera, and P. Gonzalez de Santos, “Location of legged robots in outdoor environments,” Robot. Auton. Syst., vol. 56, pp. 751–761,

  R EFERENCES

  [1] S. Se, D. Lowe, and J. Little, “Vision-based global localization and map- ping for mobile robots,” IEEE Trans. Robot., vol. 21, no. 3, pp. 364–375, Jun. 2005. [2] L. Moreno, J. Armingol, S. Garrido, A. Escalera, and M. Salichs, “A genetic algorithm for mobile robot localization using ultrasonic sensors,”

  J. Intell. Robot. Syst., vol. 34, no. 2, pp. 135–154, 2002.

  [3] P. Goel, S. I. Roumeliotis, and G. S. Sukhatme, “Robust localization using relative and absolute position estimate,” in Proc. IEEE/RSJ Int.

  Conf. Intell. Robots and Syst., 1999, pp. 1134–1140.

  [4] A. Etienne and K. Jeffery, “Path integration in mammals,” Hippocampus, vol. 14, pp. 180–92, 2004. [5] F. H. Durgin, M. Akagi, C. R. Gallistel, and W. Haiken, “The preci- sion of locometry in humans,” Exp. Brain Res., vol. 193, pp. 429–436,

  2009. [6] M. Wittlinger, R. Wehner, and H. Wolf, “The ant odometer: stepping on stilts and stumps,” Science, vol. 312, pp. 1965–1967, 2006.

  2008.

  (given by the gait frequency), which is different from the dynamics recorded for the odometer training dataset. Therefore, we have suc- cessfully demonstrated generalization to unknown terrains and speeds. Furthermore, it has to be noted that substantial slippage (accounting for up to 50% difference in speed for the same motor commands on grounds of different friction)—a bottleneck of typical approaches to odometry—is an intrinsic part of the locomotion patterns we studied.