Open access peer-reviewed chapter

4WD Robot Posture Estimation by Radial Multi-View Visual Odometry

Written By

Edgar Alonso Martínez-García and Luz Abril Torres-Méndez

Submitted: 05 February 2018 Reviewed: 26 May 2018 Published: 05 November 2018

DOI: 10.5772/intechopen.79130

From the Edited Volume

Applications of Mobile Robots

Edited by Efren Gorrostieta Hurtado

Chapter metrics overview

1,166 Chapter Downloads

View Full Metrics

Abstract

This chapter presents a four-wheel robot’s trajectory tracking model by an extended Kalman filter (EKF) estimator for visual odometry using a divergent trinocular visual sensor. The trinocular sensor is homemade and a specific observer model was developed to measure 3D key-points by combining multi-view cameras. The observer approaches a geometric model and the key-points are used as references for estimating the robot’s displacement. The robot’s displacement is estimated by triangulation of multiple pairs of environmental 3D key-points. The four-wheel drive (4WD) robot’s inverse/direct kinematic control law is combined with the visual observer, the visual odometry model, and the EKF. The robot’s control law is used to produce experimental locomotion statistical variances and is used as a prediction model in the EKF. The proposed dead-reckoning approach models the four asynchronous drives and the four damping suspensions. This chapter presents the deductions of models, formulations and their validation, as well as the experimental results on posture state estimation comparing the four-wheel dead-reckoning model, the visual observer, and the EKF with an external global positioning reference.

Keywords

  • 4WD
  • visual odometry
  • trinocular sensor
  • EKF
  • visual observer
  • trajectory estimation

1. Introduction

Autonomous robots obtain precise information about their surroundings by deploying their sensing devices and developing perceptual tasks to accomplish useful missions. Intelligent robots require to concurrently execute multiple functions such as path planning, collision avoidance, self-localization, tasks scheduling, trajectory control, map building, environment recognition, kinematic/dynamic control, and so forth. Autonomous robots depend on multisensor fusion, which is the process of combining data from the physical sensors into a homogeneous data space.

This chapter presents robot’s visual odometry using sensor data obtained from a homemade radial multi-view device (Figure 1a). For this case, trinocular sensing is divergent; hence, an inherent problem refers to different perspectives in each camera. Besides, the partial overlap between adjacent cameras allows sharing approximately 25% of the total sensing angles, which is too reduced and limits extracting numerous relevant features for data fusion affecting to infer consistent information. Besides perspective, radial cameras yield differences of scale, skew, rotation, and lighting intensities. To cope with this problem, this chapter deduces a geometric trinocular sensor model to directly measure 3D data by combining divergent pairs, the central camera with one of the two lateral cameras (Figure 1b). The robot’s state vector (posture) is recursively estimated by a visual odometry model that triangulates multiple pairs of key-points. Thus, an EKF uses the 3D odometry model and estimates the robot’s position. The mobile robot is a four-wheel drive (4WD) modeled by a differential control law involving the four passive damping suspensions to infer accurate positions.

Figure 1.

Robot’s trinocular sensor. (a) Trinocular sensor onboard. (b) Camera’s geometric divergence (top view).

Parallel trinocular stereo systems had been deployed either to detect the ground [1], or to estimate motion [2]. There are reported works on motion estimation with binocular divergent systems [3], trinocular divergence for visual odometry [4], and divergent visual simultaneous localization and mapping (SLAM) [5]. As a difference from the active sensing modalities for localization [6], and concurrent localization and mapping with parallel multi-view [7], this chapter intends to estimate the posture of a rolling vehicle by exploiting feedback of the rich data fusion that a divergent trinocular sensor provides. Numerous visual odometry algorithms had been reported, using stereo cameras [8], matching multi-frame features [9] and 3D point cloud [10]. Some outdoor visual odometry approaches for urban [11] environments estimate motion tracking by extraction of visual feature points. There are numerous works combining the benefits of visual SLAM algorithms [12, 13, 14] with visual odometry [15], detecting geometrical features [16].

This chapter is organized into to the following sections. Section 2 deduces the sensor fusion observer modeling the trinocular system geometry. Section 3 models the 4WD direct/inverse kinematic solutions. Section 4 deduces the visual odometry formulation and EKF-based control state and estimation. Finally, conclusions are provided in Section 5.

Advertisement

2. Trinocular sensing model

This section describes the divergent multi-view geometric model, which basically combines the data of a pair of cameras radially arranged. In addition, this section presents an algebraic analysis of the lateral cameras’ alignment and correction w.r.t. the central camera. The fundamental geometrical relationship of the system divergence was experimentally studied by deploying a homemade prototype onboard a mobile robot, see Figure 2a. Cameras with homogeneous intrinsic parameters are assumed, and cameras are mechanically fixed epipolar. The sensor model’s purpose is to determine the depth information of a point in the scene p=xyz, which is projected onto the overlapping area of a divergent pair. The proposed multi-view geometric model combines data using the central camera as the reference (Figure 1b). The focal plane in cameras A,C are perspective transformed, in order to align them epipolar and coplanar w.r.t. the central reference B. As seen in Figure 1b, a point p is projected over two focal planes, for instance, at column xC of lateral camera C, and at xB of camera B. Thus, an isosceles triangle PBC is formed. For the triangle OBC, let β be the angle between the cameras’ centers B and C, as deployed by expression (1). Let ϕ/2 be the remaining angle of OBC, where the inner angles’ total sum is π. By expressing β+ϕ=π and dropping off ϕ=πβ, we easily deduce that ϕ2=π2β2. The geometrical distance BC¯ is calculated by triangulation using the law of sines, with known distance l that converges to O. The linear distance between adjacent sensors BC commonly oriented w.r.t. the center O is

BC¯=lsinβsinπ2β2.E1

Figure 2.

4WD kinematics. (a) Deployed robot. (b) Damping system. (c) Robot’s view from below.

To calculate the Cartesian coordinates of p, let us state that the point p is projected through the horizontal coordinate xB, and on camera B angle’s θB, and focal distance fB as expressed by

θB=tan1xBfBandθC=tan1xCfC.E2

The complementary angles B and C are modeled by

B=π2θB+β2andC=π2θC+β2.E3

In the triangle BCO, the angle at point p is obtained by equivalence of similar triangles P=θB+θCβ. Thus, to estimate the range of the radial system B and C w.r.t. p, the linear distance is calculated by the law of sines:

BC¯sinP=CP¯sinBandCP¯=BC¯sinBsinP.E4

Thus, for the other cameras’ pair, similar expressions are stated

BC¯sinP=BP¯sinCandBP¯=BC¯sinCsinP.E5

Hence, the model to express depth information is given by zB=BP¯cosθB. By substituting BP¯ and θB, the model is further specified by

Λ1=lsinβsinπβ2sinθBθCβ,

where,

zB=Λ1sinπ+β2θCcostan1xBfB.E6

In addition, the range between camera C and p is defined by zC=Cp¯cosθC. Thus, substituting Cp¯ and θC, we define

zC=Λ1sinπ+β2θBcostan1xCfC.E7

Using the depth models zB and zC, the distances dB and dC w.r.t. p are estimated, such that dB=zBtanθB. Hence,

dB=zBtantan1xBfBordB=zBxBfBE8

and being dC=zCtanθC, by substituting θC from expression (2) we have

dC=zCtantan1xCfCordC=zCxCfC.E9

Furthermore, the algebraic deduction along the Y component for the equalities hBfB=zByB and hCfC=zCyC, w.r.t p using distances hB and hC, is obtained by

hB=zByBfBandhC=zCyCfC,

thus the following term is stated as

Ψ=1fBlsinβsinπ2β2costan1xBfB.

Therefore, the geometry vector model for camera B w.r.t. camera C, with substitution of the terms Ψ, zB, and zC in robot’s inertial frame R, produce the next expression:

pBCR=Ψsinπ+β2θCsinθB+θCβxByBfBE10

and the same model is enhanced for camera B, using the geometry of cameras A and B by

pABR=Ψsinπ+β2θAsinθA+θBβxByBfB.E11

Hence, the arbitrary point pABC3 is projected onto cameras AB, or onto cameras BC. In order to express a general formula, let us define the following theorem.

Theorem 1 (Trinocular depth model). Let camera B be the reference for either divergent camera A or C. A point coordinates w.r.t. camera A is pAB=xAyAzΤ, and w.r.t. camera C is pAC=xCyCzΤ. Hence, the general depth coordinate model for x and y for any divergent pair is

x,yA,C=ΨxBsinπ+β2θA,CsinθA,C+θBβ,E12
for coordinate z,

zA,C=ΨfB2sinπ+β2θA,CsinθA,C+θBβ.E13

The four points shown by the three cameras may illustrate their transformation, experimentally developed at 1-m distance between the robot and the marks.

Advertisement

3. 4WD dead-reckoning controller

Since the visual trinocular approach uses an exteroceptive sensor, we decided to challenge its detection and tracking capabilities with a robot having high holonomic properties. A 4WD robot’s locomotion is prone to experience frequent swift turns resulting in numerous slippages. Thus, a 4WD has to depend more on exteroceptive rather than inner measurements. Comparatively, inner 4WD odometry differs greatly from external visual measurement to infer posture. The proposed dead-reckoning system obtains speed measurements by deploying odometer readings of the four asynchronous drives (Figure 2). A 4WD system is considerably different from a conventional differential dual approach. Moreover, four passive mass-spring-damper suspensions are included in this system (Figure 2b), which varies the inter-wheel distances over time. Particularly, the robot’s 4WD and passive suspensions make the posture observations challenging.

The robot’s dead-reckoning model is fundamental to sense and control position used as feedback, providing motion description as a kinematic reference to match the visual observations when estimating the robot’s motion. The positioning and trajectory control [17], as well as the type of kinematic analysis [18] and the dynamic suspension [19] in this type of robot have been previously reported. The robot’s instantaneous speed vt (m/s) and yaw rate ωt (rad/s) depend on the four wheels’ asynchronous rolling motion, φ̇1,φ̇2,φ̇3,φ̇4. For a wheel’s encoder, the velocity model approaches measurements by high-precision numerical derivatives (central divided differences) of the rotary angle φt (rad) w.r.t. time t, such that

φ̇t=π6Rtηt+2+7ηt+1+7φt1ηt2,E14

where the wheel’s angular speed φ̇ is measured through pulse detection η (dimensionless) of encoder’s resolution R (pulses/rev); thus, the robot’s instantaneous velocity is modeled by the averaged wheel speed, with wheels of nominal radius r (m)

vt=r4i=14φ̇i.E15

Further, the differential velocity v̂t expresses the lateral speeds’ difference that yields ωt. Thus, v̂t is formulated by the expression

v̂t=rφ̇1+φ̇2φ̇3φ̇4.E16

This model describes that the rotary motion of φ̇1 and φ̇2 contributes to robot’s +ωt (counterclockwise sense). Likewise, φ̇3 and φ̇4 contribute to robot’s ωt (clockwise sense). Therefore, ωt is yielded by the lateral speed component v̂tcosαi (see Figure 2b) modeled by

ωt=v̂coscosαili.E17

The previous equation expresses the conservation of angular motion, and the wheel’s contact point turns w.r.t. the robot’s center,

cosαi=W2li,E18

where for each length li there is an asynchronous model,

l1=W2+L1+L4222,l2=W2+L2+L3222,

as well as

l3=W2+L3+L2222,l4=W2+L4+L1222.

Thus, substituting cosαi and li into ωt and by considering both clockwise and counterclockwise motions, the robot’s angular speed is

ωt=i=12rWφ̇ili2i=34rWφ̇ili2.E19

The longitudinal contact point’s distance li (m) takes as reference the robot’s geometric center. When li varies, the contact point’s position Li changes.

Li=dcosarcsinγi,E20

where γi represents the vertical motion along the suspension,

γi=arcsinΔyd1.E21

From Figure 2a, the vertical motion yd is modeled assuming critical damping motion for a general spring-mass-damper system. The suspension is modeled by the following second-order homogeneous differential equation:

my¨d+κ2ẏd+κ1yd=0,E22

where the elastic spring restitution coefficient is κ1 (kg/s2). The damping coefficient is κ2 (kg/s). The restitution force my¨d counteracts the vertical oscillatory damping effects. The oscillatory velocity and acceleration are denoted by ẏd and y¨d, respectively. Thus, solving the second-order differential equation as a first-order equation such that κ2ẏd=κ1yd,

yddydyd=κ1κ2tdt,E23

hence

lnyd=κ1κ2t+c,ζ=κ1κ2,E24

with integration constant c=0 for analysis purpose. The suspension’s elongation derivatives as functions of time are

yd=eζt,ẏd=ζeζt,y¨d=ζ2eζt.E25

Substituting the previous expression in (22),

mζ2eζt+κ2ζeζt+κ1eζt=0,E26

and by algebraically simplifying, the characteristic equation is

ζ2+κ2mζ+κ1m=0,E27

and its analytic solution is

ζ1,2=κ22m±κ1m24κ1m22.E28

As we assume a critically damped system, κ2m2=4κ1m and there is only one real root solution, such that

ζ=κ22m.E29

Therefore, the damping motion is analytically solved by

ydt=Aeζt,E30

where A (m) is the elongation amplitude (m) parameter for the suspension system. Moreover, in this type of robotic platform, the four asynchronous drives simultaneously produce slip/skid motions that are advantageously used to maneuver the robot. This approach proposes inferring the instantaneous Z-turn axis location xRyR. The Z-turn axis is movable in the square region bounded by the wheels’ contact point. The Z-turn axis is expressed by the first-order derivatives

ẋR=rW4vmaxφ¨1φ¨2φ¨3+φ¨4E31

and

ẏR=rL4vmaxφ¨1φ¨2+φ¨3+φ¨4.E32

There is a maximal allowable Z-turn displacement speed vmax. Hereafter, with four independent equations, the control positioning system is instantaneously computed. The robot control vector is u̇R=v̇tω̇tẋRẏR, and the control transition matrix Λt has the elements λ1=r/4, λ2i=rW/li2, λ3=rW/4vmax, and λ4=rL/4vmax. Thus, the forward kinematics solution is u̇R=ΛtΩ̇ or

v̇tω̇tẋRẏR=λ1λ1λ1λ1λ21λ22λ23λ24λ3λ3λ3λ3λ4λ4λ4λ4φ¨1φ¨2φ¨3φ¨4.E33

In addition, to inversely solve this matrix system, the analytical solution represents the vector of independent control rotary variables Ω̇t=φ¨1φ¨2φ¨3φ¨4. Thus, let us define λw=λ1λ3λ4, λA=λ23λ24, λB=λ22λ21, λC=λ21λ23, λD=λ24λ22, λE=λ21+λ24, and λF=λ22λ23.

φ¨1=λ3λ4λDv̇+2λwω̇λ1λ4λAẋR+λ1λ3λFẏR2λwλ21λ22λ23+λ24,E34
φ¨2=λ3λ4λCv̇2λwω̇+λ1λ4λAẋRλ1λ3λEẏR2λwλ21λ22λ23+λ24,E35
φ¨3=λ3λ4λDv̇+2λwω̇+λ1λ4λBẋR+λ1λ3λEẏR2λwλ21λ22λ23+λ24E36

and

φ¨4=λ3λ4λCv̇2λwω̇λ1λ4λBẋRλ1λ3λFẏR2λwλ21λ22λ23+λ24.E37

The matrix form of the inverse analytical solution for all wheels’ speed under damping variations is stated as Ω̇=Λt1u̇t or

Ω̇t=λ3λ4λD2λwλG2λw2λwλGλ1λ4λA2λwλGλ1λ3λF2λwλGλ3λ4λC2λwλG2λw2λwλGλ1λ4λA2λwλGλ1λ3λE2λwλGλ3λ4λD2λwλG2λw2λwλGλ1λ4λB2λwλGλ1λ3λE2λwλGλ3λ4λC2λwλG2λw2λwλGλ1λ4λB2λwλGλ1λ3λF2λwλGv̇tω̇tẋRẏR,E38

where λG=λ21λ22λ23+λ24.

Advertisement

4. State estimation and feedback position control

This section formulates a deterministic geometric model for visual odometry and the state estimation by an EKF. The proposed model combines pairs of key-points at times t and t1. The robot’s displacements are deduced by inverse geometric triangulations to feed forward an EKF and estimate the robot’s posture.

In Figure 3a, the instantaneous angle αt1 is formed by a pair of key-points defined by

αt1=θt1a+θt1bE39

and such key-points’ distance ct1 is defined by

ct1=δt1a2+δt1b22δt1aδt1bcosαt1.E40

Figure 3.

Robot’s visual odometry. (a) Robot’s key-point pair observed at t1. (b) Same pair observed at t. (c) Robot’s displacement Δs by triangulation of key-points pa.

The angle βt1a,b of either key-point a or b is calculated by the law of sines,

βt1a,b=arcsinδt1b,asinαt1ct1.E41

However, at time t in Figure 3b, the instantaneous angle αt is obtained by

αt=θta+θtb,E42

with the key-point’s distance ct as

ct=δta2+δtb22δtaδtbcosαt,E43

which is used to obtain the angle βta,b of the key-point a or b at actual time

βta,b=arcsinδtb,asinαtct.E44

Further, the differential angle β̂ is defined by triangulation of previous and actual poses and an arbitrary 3D point pa,b (Figure 3c),

β̂=βt1a,bβta,b.E45

Proposition 1 (Triangulation odometric displacement). The robot’s displacement Δs (Figure 3c) that is inferred by triangulation of visual key-points over time is

Δs=δt1a+δta2δt1aδtacosβ̂.E46

The triangulation angle λ is calculated by the law of sines,

λa,b=arcsinδta,bsinβ̂Δsa,bE47

and the orientation angle for each reference a is

ϕa,b=λa,b+π2θt1a,b,E48

which is required to know the X displacement

Δx=Δsa,bcosϕa,b,E49

as well as the Y displacement

Δy=Δsasinϕa.E50

When obtaining numerous key-point pairs simultaneously, the total robot’s displacement is an averaged value of the displacements yielded by all key-point pairs,

Δxt=i=1nΔxinandΔyt=i=1nΔyin.E51

Therefore, without loss of generality, for state estimation, let us assume a nonlinear robot’s model state vector

xk=fxk1ukwk,E52

where the state vector is x=xyθvω, and combined with a nonstationary state transition matrix At, such that xk=Atxk1 or

xk=100cosθΔt0010sinθΔt00010Δt0001000001xyθvω,E53

by developing the dot product from previous expression, we obtain

xk=xk1+vcosθΔtxk1+vsinθΔtθk1+ωΔtvω.E54

The measurement model requires the displacements that were inferred through key-point triangulation

zk=hxkvk,E55

where wk and vk are the process and measurement noise models, respectively. These are statistically independent and supposed to have a Gauss distribution with zero average value and known variance. To approximate the nonlinear robot’s measurement model, a linearized first-order approximation by the expansion of the Taylor series is used, and a linear approximation of a function is built, with slope obtained through partial derivatives by

futxt1=futxt1xt1.E56

Thus, the linearized models of the process and measurement are defined next in (54) and (55), such that

fx=fx̂+fx̂=Jxx̂E57

and

hx=hx̂+hx̂=Hxx̂.E58

In addition, the EKF’s prediction models (56) and the correction models (57) are formulated and linearized as

x̂k=fxk1uk10E59

and

Pk=AkPk1Ak+WkQk1Wk.E60

Moreover, the recursive Kalman gain for system convergence is

Kk=PkHkHkPkHk+VkRkVk1E61

and the state vector of the system is described by

x̂k=x̂k+KkzkHx¯k,E62

with covariance matrix of the system

Pk=IKkHkPk.E63

Thus, hereafter, the vector and matrix models describing the proposed robot’s system are formulated and incorporated into the conventional EKF. Let us define the robot’s pose vector x=xtytθt. The control vector is comprised of the robot’s absolute and angular speeds, uk=υω. Furthermore, the observation vector with sensor measurement zk=XpYpZp. Eventually, the process noise vector wk=wxwywθ. The measurement noise vector vk=vXpvYpvZp.

Therefore, from the displacement equation (46), which arises from exteroceptive observations, the robot’s Cartesian displacements are

Δx=Δscosθk1+λ+π2θt1aE64

and

Δy=Δssinθk1+λ+π2θt1a,E65

as well as Δθ is given by

Δθ=λ+π2θt1a.E66

By substituting an averaged Cartesian displacement, one considers n key-point observations to calculate the recursive noisy state vector xk.The Jacobian matrix Jk of the robot’s temporal matrix state transition Akxk, where xk=xk1+vcosθΔt, yk=yk1+vcosθΔt, and θk=θk1+ωΔt is stated by

J=Akxkxk1=xxxyxθxvxωyxyyyθyvyωθxθyθθθvθωvxvyvθvvvωωxωyωθωvωω=10vsinθΔtcosθΔt001vcosθΔtsinθΔt00010t0001000001.E67

Thus, a measurement is a 3D point arising from either divergent pair Eq. (10) or (11) and deployed by Proposition 1.1. Thus, the robot’s measurement vector model z includes noise measurements. The Jacobian matrix H of the expected state model w.r.t. measurements is defined by

H=hx==∂Δxxk1∂Δxyk1∂Δxθk1∂Δyxk1∂Δyyk1∂Δyθk1∂Δθxk1∂Δθyk1∂Δθθk1.E68

The process noise covariance matrix Qk is defined by

Qk=̇2πΣ1/2exp0.5zμΣ1zμ.E69

Let us define the nonstationary covariance matrix P,

P=σx2000σy2000σθ2,E70

the matrix diagonal variances are experimental measurements that describe the trend of the robot motion’s error.

The robot’s motion covariance matrix was obtained experimentally through 500 tests—straight motion, right turns, left turns, clockwise and counterclockwise rotations, with N=100 tests for each type of motion. Exteroceptive sensing devices onboard are tied to the robot’s geometry of motion, and with their observations the robot’s posture can be estimated and therefore matched with the robot’s deterministic kinematic model. From Section 3, the inverse (38) and direct (33) models were used experimentally to obtain the following statistical covariance about the measurement model

σx2=1Ni=1Ntλ1λ1λ1λ1Ω̇dtcostrWl12rWl22rWl32rWl42Ω̇dtx¯2E71

and

σy2=1Ni=1Ntλ1λ1λ1λ1Ω̇dtsintrWl12rWl22rWl32rWl42Ω̇dty¯2,E72

as well as the robot’s yaw statistical measurement model

σθ2=1Ni=1NtrWl12rWl22rWl32rWl42Ω̇dtθ¯2.E73

Furthermore, the measurement noise covariance matrix is

Rk=σxp2000000σyp2000000σyp2000,E74

and the matrix Wk which is the partial derivative of the process model w.r.t. the process noise vector is

Wk=fwk=xkwxxkwyxkwθykwxykwyykwθθkwxθkwyθkwθ..E75

The matrix Vk=h/vk is the partial derivative w.r.t. the measurement noise vector,

Vk=xkvXpxkvYpxkvZpykvXpykvYpykvZp.E76

Let us summarize the 3D points pAB and pBC obtained by Theorem 1.

4.1. State feedback position control

This section describes in six general steps the combined use of the visual observers and the EKF geometric odometer as a recursive feedback for the robot’s positioning control. The robot’s deterministic kinematic model conveys predictions about the robot’s geometry of motion and its observations. Therefore, the deterministic model is used to infer the robot’s motion observations implicitly by the trinocular sensor. The following formulation illustrates how the EKF and the visual odometry model are fed back for the 4WD kinematics.

4.1.1. Kalman gain

The initial estimate of Kalman gain is

kk=PkHkHkPkHkT+VkRxVkT1E77

4.1.2. Observation

From Proposition 1.1, the visual observers provide m 3D key-points from Theorem 1, pAB,BC

Δsp=pt1+pt2pt1ptcosβt1βt2

The angle of each key-point p or q w.r.t. to the robot in actual time is

λt=arcsinptsinβ̂Δs,

and the local angle of the robot w.r.t. the robot’s previous position is

ϕ=λt+π2θt1,

thus the inferred displacement is

xk=1m+niΔsiapcosϕia1m+niΔsiapsinϕiaλ+π2θt1a.E78

Therefore, the observation vector with Gauss noise w is

zk=Hxk+wxwywθ.E79

4.1.3. Update estimate

The update estimate is obtained by

x̂k=x̂k1+KkzkHxk1.E80

4.1.4. Update error covariance

The covariance matrix error dispersion of the system is updated

P̂k=PkKkHkPk.E81

4.1.5. Deterministic control model

Therefore, the prediction is firstly obtained through the robot’s inverse position control model, from the inverse kinematics equation, Eq. (38)

Ωt+1=Ωt+Λt1uRrefx̂k,

where, in the previous expression, uR=sθxRyR. Thus, Ω̂t=2πRΔη12πRΔη22πRΔη32πRΔη4 is the vector of the wheels’ instantaneous measurements

ut+1=utΛt1Ωt+1Ω̂t.

This step converges until uRrefût<εu, where εu is the convergence error. Then, the robot’s prediction model is

x¯k=x¯k1+But+1

B being a control transition matrix.

4.1.6. State prediction

It follows that state prediction is

x¯k+1=Φk+x¯k+qkE82

and the error dispersion covariance matrix is also predicted at t+1

Pk+1=Pk+A+APkΔt+APkAΣWΔt2E83

From the previous step, the estimation process repeats again, going to step one. The previous Kalman process is performed until the robot reaches the goal and the estimation error converges by numerical approximation according to xkx̂kεx.

Therefore, Figure 4a shows the robot’s trajectory obtained by the different comparative approaches conducted in this study. The postures measured by an external visual global reference system are the main references to be compared with. The EKF estimation was obtained by the use of Theorem 1, Proposition 1.1, and Eqs. (71)–(77). In addition, the trinocular key-points used as inputs of the visual odometry model inferred the robot’s displacements, which are shown in same Figure 4a. Furthermore, the dead-reckoning robot system was deployed to infer the robot’s postures and is also shown in Figure 4a. Raw odometry refers to the robot’s dead-reckoning kinematic model used as a mean for direct posture observation through direct kinematics (33) and inverse kinematics (38), but using direct encoder readings by (14).

Figure 4.

Positions and errors. (a) Cartesian positions. (b) Errors vs. global reference. (c) EKF’s Cartesian errors’ convergence. (d) EKF’s angle error convergence.

Figure 4b shows the dead-reckoning and the EKF Cartesian absolute errors, taken as main reference for the visual global reference system. As for the direct dead-reckoning measurements, the absolute error grows exponentially, where the position observation starts diverging before the robot reaches the third turn. As for the EKF model, the Cartesian error w.r.t. the global reference does not diverge but preserves bounded error magnitudes.

As for Figure 4c and d, the EKF’s Cartesian and angular absolute errors w.r.t. the global visual tracker are shown. In Figure 4d, the local minimums and maximums determine the Cartesian regions where the robot performed its turns.

Finally, Figure 5a shows the covariance error behavior obtained at each control loop during the EKF recursive calculations. Figure 5b is a mapping of the measured key-points registered using the state vector (posture) of a robot’s turn to illustrate the map’s divergence.

Figure 5.

Errors’ convergence behavior. (a) EKF variances over time. (b) Key-point map’s divergence using state vectors.

Advertisement

5. Conclusion

This chapter presented a visual odometry scheme for a trinocular divergent visual system that was combined with an EKF for visual odometry estimation. The proposed trinocular geometric model observer geometrically combined adjacent radial views. About 20% of adjacent multi-view overlapping data allowed inference of small volumes of depth information. In measuring 3D key-points, the X-axis metrical error was reported to be lower than 7 cm, with error less than 10 cm in +Y component and less than 3 cm in Y (vertical). Likewise, we found an averaged Z-axis error less than 5 cm (depth). Such errors were mostly produced by the angular divergence of the object w.r.t. the central camera, rather than linear distances. Indoor experiments, measuring distances up to 10 m were developed. In addition, a set of experimental results in convergent robot’s course gave closed loops, and as the robot moved, the trinocular sensor incrementally stored environmental 3D key-points.

The robot’s trajectory was obtained by different comparative approaches conducted in this study. The postures were measured by an external visual global reference system, which was the main reference system to be compared with. The robotic platform’s kinematics was modeled in terms of a dead-reckoning approach. The direct and the inverse solutions were combined to produce a recursive linearized control model and this was used as the prediction model for EKF estimator. The dead-reckoning robot system was deployed to infer the robot’s postures using directly the four encoders’ readings, with good results obtained only for very short paths. As a comparative perspective, using only the 4WD dead-reckoning system the posture exponentially diverged.

We found bounded Cartesian error for this 4WD robot by deploying the EKF. The trinocular 3D key-points were used as inputs of the visual odometry model that inferred the robot’s displacements by geometrical triangulations.

References

  1. 1. Milella A, Reina G. Towards autonomous agriculture: Automatic ground detection using trinocular stereovision. Sensors. 2012;12(9):12405-12423
  2. 2. Gwo-Long L, Chi-Cheng C. Acquisition of translational motion by the parallel trinocular. Information Sciences. 2008;178:137-151
  3. 3. Tae Choi B, Kim J-H, Jin Chung M. Recursive estimation of motion and a scene model with a two-camera system of divergent view. Pattern Recognition. 2010;43(6):2265-2280
  4. 4. Jaeheon J, Correll N, Mulligan J. Trinocular visual odometry for divergent views with minimal overlap. In: IEEE Workshop on Robot Vision; 2013. pp. 229-236
  5. 5. Dellaert F, Kaess M. Probabilistic structure matching for visual slam with a multi-camera rig. Computer Vision and Image Understanding. 2010;114(2):286-296
  6. 6. Lee C-H, Kwon S, Lee J-h, Lim Y-C, Lee M. Improvement of stereo vision-based position and velocity estimation and tracking using a stripe-based disparity estimation and inverse perspective map-based extended kalman filter. Optics and Lasers in Engineering. 2010;48(9):859-886
  7. 7. Harmat A, Wang DWL, Sharf I, Waslander SL, Tribou MJ. Multi-camera parallel tracking and mapping with non-overlapping fields of view. The International Journal of Robotics Research. 2015;34(12):1480-1500
  8. 8. Seet G, Wei M, Han W. Efficient visual odometry estimation using stereo camera. In: 11th IEEE International Conference on Control and Automation; 2014. pp. 1399-1403
  9. 9. Kanade T, Badino H, Yamamoto A. Visual odometry by multi-frame feature integration. In: IEEE International Conference on Computer Vision Workshops; December 2013. pp. 222-229
  10. 10. Liang Z, Xu X. Improved visual odometry method for matching 3D point cloud data. In: 33rd Chinese Control Conference; July 2014; pp. 8474-8478
  11. 11. Llorca DF, Parra I, Sotelo MA, Ocaña M. Robust visual odometry for vehicle localization in urban environments. Robotica. 2010;28:441-452
  12. 12. Rendon-Mancha JM, Fuentes-Pacheco J, Ruiz-Ascencio J. Visual simultaneous localization and mapping: A survey. Artificial Intelligence Review. 2015;43(1):5581
  13. 13. Neira J, Cisneros R, Lavion JE, Hernandez E, Ibarra JM. Visual slam with oriented landmarks and partial odometry. In: 21st International Conference on Electrical Communications and Computers; February–March 2011. pp. 39-45
  14. 14. Hong S, Ye C. A pose graph based visual slam algorithm for robot pose estimation. In: World Automation Congress; August 2014. pp. 917-922
  15. 15. Williams B, Reid I. On combining visual slam and visual odometry. In: IEEE International Conference on Robotics and Automation; May 2010. pp. 3494-3500
  16. 16. Huitl R, Schroth G, Kranz M, Steinbach E, Hilsenbeck S, Moller A. Scale-preserving long-term visual odometry for indoor navigation. In: International Conference on Indoor Positioning and Indoor Navigation; November 2012. p. 110
  17. 17. Martínez-García EA, Lerin E, Torres-Cordoba R. A multi-configuration kinematic model for active drive/steer four-wheel robot structures. Robotica. 2015;33:2309-2329. Cambridge University Press
  18. 18. Martinez-Garcia E, Mar A, Torres-Cordoba T. Dead-reckoning inverse and direct kinematic solution of a 4W independent driven rover. In: IEEE ANDESCON; 15–17 September 2010; Bogota, Colombia
  19. 19. Martinez-Garcia EA, Torres-Cordoba T. 4WD skid-steer trajectory control of a rover with spring-based suspension analysis. In: International Conference in Intelligent Robotics and Applications (ICIRA2010); 10–12 November 2010; Shanghai, China

Written By

Edgar Alonso Martínez-García and Luz Abril Torres-Méndez

Submitted: 05 February 2018 Reviewed: 26 May 2018 Published: 05 November 2018