Terrain Adaptive Odometry for Mobile skid-steer Robots

Introduction

This paper proposes a novel approach improving precision and reliability of odometry of skid-steer mobile robots by means inspired by robotic terrain classification (RTC).

Novelty

In contrary to standard RTC approaches, this paper do not provide human labeled discrete terrain categories, but we classify the terrain directly by the values of coefficients correcting the robot’s odometry.

不是应该用terrain type判断correction coefficients吗,这里的意思好像是用correction coefficients来判断terrain type.

Rather than labeling the terrain categories by human means, it is more important to find representation that can be directly exploited by the robot, i.e. find terrain type representation by means essential for the robot. Sometimes, the same terrain type behaves differently under various circumstances (such as pebbles on flat terrain and pebbles on steep or uneven terrain) as well as different terrains can influence robot’s odometry in a very similar way.

Enhanced Odometry Model with Correction Coefficients

首先定义两个parameter:
(1) α l = v l − v l ′ v l \alpha_{l} = \frac{v_{l} - v_{l}'}{v_{l}} \tag{1} αl=vlvlvl(1) (2) α r = v r − v r ′ v r \alpha_{r} = \frac{v_{r} - v_{r}'}{v_{r}} \tag{2} αr=vrvrvr(2)

where
v r , v l v_{r}, v_{l} vr,vl——the left and right track velocities measured by internal sensors
v r ′ , v l ′ v_{r}', v_{l}' vr,vl——the true velocities of the track gears moving through the coordinate frame

在线求解 α \alpha α的两个公式:
(3) θ ˙ = v r ( 1 − α r ) − v l ( 1 − α l ) 2 d \dot{\theta} = \frac{v_{r}(1 - \alpha_{r}) - v_{l}(1 - \alpha_{l})}{2d} \tag{3} θ˙=2dvr(1αr)vl(1αl)(3) (4) a l a r = − s g n ( v l ⋅ v r ) v r v l \frac{a_{l}}{a_{r}} = - \mathrm{sgn}(v_{l} \cdot v_{r}) \sqrt{\frac{v_{r}}{v_{l}}} \tag{4} aral=sgn(vlvr)vlvr (4)

结合这两个方程就可以直接求得 α \alpha α, since θ ˙ \dot{\theta} θ˙ can be measured directly using the vertical axis angular rate sensor.

把上述 α \alpha α代入下面两个方程,就可以求得当时的 x ˙ , y ˙ \dot{x}, \dot{y} x˙,y˙
x ˙ = v r ( 1 − α r ) + v l ( 1 − α l ) 2 c o s θ \dot{x} = \frac{v_{r}(1 - \alpha_{r}) + v_{l} (1 -\alpha_{l})}{2} \mathrm{cos} \theta x˙=2vr(1αr)+vl(1αl)cosθ y ˙ = v r ( 1 − α r ) + v l ( 1 − α l ) 2 s i n θ \dot{y} = \frac{v_{r}(1 - \alpha_{r}) + v_{l}(1 - \alpha_{l})}{2} \mathrm{sin} \theta y˙=2vr(1αr)+vl(1αl)sinθ

求得 x ˙ , y ˙ \dot{x}, \dot{y} x˙,y˙之后代入下面两个方程就可以求出position increments,重点是这里引入了一个重要参数 C C C

△ x k − 1 k = x ˙ k − 1 + x ˙ k 2 T s C \triangle x_{k-1}^{k} = \frac{\dot{x}_{k-1} + \dot{x}_{k}}{2} T_{s} C xk1k=2x˙k1+x˙kTsC △ y k − 1 k = y ˙ k − 1 + y ˙ k 2 T s C \triangle y_{k-1}^{k} = \frac{\dot{y}_{k-1} + \dot{y}_{k}}{2} T_{s} C yk1k=2y˙k1+y˙kTsC

These corrected position increments are then used to update the current position.

Regression Function Training

To estimate the correction coefficients as (3) (4),we have chosen a straightforward yet sufficient approach of training a linear regression function C ( x ; α ) C(x; \alpha) C(x;α), which processes features obtained from inertial data (three accelerations and three angular rates at 90 Hz) and outputs the correction coefficient directly.

C ( x ; α ) = ∑ i = 0 n α i x i C(x; \alpha) = \sum^{n}_{i=0} \alpha_{i}x_{i} C(x;α)=i=0nαixi

where
n n n——the number of features
x i x_{i} xi——the feature value
α i \alpha_{i} αi——the corresponding parameter of the regression function

Training of the regression function was performed using normal equations corresponding to minimization of the following cost function in a least squares sense:
J ( α ) = 1 2 m ∑ k = 1 m ( C ( x k ; α ) − y k ) 2 J(\alpha) = \frac{1}{2m} \sum_{k=1}^{m} (C(x^{k}; \alpha) - y^{k})^{2} J(α)=2m1k=1m(C(xk;α)yk)2
where
m m m——the number of training examples
y k y^{k} yk——the correction coefficient obtained from the ground truth trajectory reference for the k t h k^{th} kth training example. They were computed by off-line local optimization in such a way to ensure that the trajectory obtained using the proposed model parameterized by these y k y^{k} yk coefficients coincides with the reference.

Feature Extraction and Selection

This paper perform feature selection on the following features:

  1. features from the time domain defined as various statistical moments and indicators such as min, max, mean, median, norm, skewness, kurtosis, and number of sign changes over a threshold given by 0.25, 0.5, 0.75 multiples of mean and median
  2. features from the frequency domain computed using FFT and taking into account the magnitudes and frequencies of first three most significant harmonics
  3. features defined as correlation coefficient between the signal samples and more than a hundred of Haar wavelets generated with the corresponding length.

The feature selection was performed off-line as part of the regression function training.

Formally, we are given a training set { x 1 , y 1 , . . . , x K , y K } \left \{ x^{1}, y^{1}, ..., x^{K}, y^{K} \right \} {x1,y1,...,xK,yK} consisting of K K K training samples, where x k x^{k} xk are N-dimensional vectors containing values of features from the feature pool. We denote x j k x_{j}^{k} xjk as the j j j-th feature of the k k k-th sample.

Robotic Platform Description

Plant: skid-steer robot (tracked vehicle)
Inertial Sensor: Xsens MTi-G unit providing calibrated and temperature compensated inertial data at 90 Hz in range of ± 300 d e g / s \pm 300 deg/s ±300deg/s and ± 50 m / s 2 \pm 50 m/s^{2} ±50m/s2 for angular rates and accelerations respectively.
Encoder: providing left and right track velocities at 10 Hz.

Data Collection: The robot was teleoperated during these experiments and tracked using overhead camera and video tracking system we have developed for this purpose.

Evaluation and Testing

  1. First, we had to determine the optimal number of inertial data samples to be used for computing features.
    This way the optimal number of samples was determined to be 98.
    For the real-time on-line implementation this means: each time a new odometry measurement comes (at 10 Hz), from that time-step the last 98 samples of the 6 inertial samples signals (sampled at 90 Hz) are processed to obtained the selected features that form the input to the trained regression. This way one correction coefficient is obtained for each odometry.
  2. Another series of experiments was carried out to determine the optimal number of features to be selected during the proposed feature selection procedure.
    This proved that using only the best 20 features is fully sufficient, most of which were from the group of statictical time domain features. These features proved to be the best for capturing information about changes in motion dynamics corresponding to disturbances to the proposed odometry model caused by the nature of terrain.
  3. To field-test our algorithm and evaluated the desired improvement in precision of navigation, we compared the development of RMSE of position in time of our approach (with respect to the ground truth trajectory) ot the RMSE development of the trajectory obtained using the original uncorrected odometry model.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值