Open access peer-reviewed chapter

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

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

Submitted: February 5th 2018Reviewed: May 26th 2018Published: November 5th 2018

DOI: 10.5772/intechopen.79130

Downloaded: 443


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.


  • 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.


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,Care perspective transformed, in order to align them epipolar and coplanar w.r.t. the central reference B. As seen in Figure 1b, a point pis projected over two focal planes, for instance, at column xCof lateral camera C, and at xBof camera B. Thus, an isosceles triangle PBCis formed. For the triangle OBC, let βbe the angle between the cameras’ centers Band C, as deployed by expression (1). Let ϕ/2be 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 lthat converges to O. The linear distance between adjacent sensors BCcommonly oriented w.r.t. the center Ois


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 pis projected through the horizontal coordinate xB, and on camera Bangle’s θB, and focal distance fBas expressed by


The complementary angles Band Care modeled by


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


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


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




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


Using the depth models zBand zC, the distances dBand dCw.r.t. pare estimated, such that dB=zBtanθB. Hence,


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


Furthermore, the algebraic deduction along the Ycomponent for the equalities hBfB=zByBand hCfC=zCyC, w.r.t pusing distances hBand hC, is obtained by


thus the following term is stated as


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


and the same model is enhanced for camera B, using the geometry of cameras Aand Bby


Hence, the arbitrary point pABC3is 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 cameraBbe the reference for either divergent cameraAorC. A point coordinates w.r.t. cameraAispAB=xAyAzΤ, and w.r.t. cameraCispAC=xCyCzΤ. Hence, the general depth coordinate model forxandyfor any divergent pair is

for coordinatez,


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

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


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)


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


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


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


where for each length lithere is an asynchronous model,


as well as


Thus, substituting cosαiand liinto ωtand by considering both clockwise and counterclockwise motions, the robot’s angular speed is


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


where γirepresents the vertical motion along the suspension,


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


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




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


Substituting the previous expression in (22),


and by algebraically simplifying, the characteristic equation is


and its analytic solution is


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


Therefore, the damping motion is analytically solved by


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




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 Λthas 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


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.




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


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

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 tand 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 αt1is formed by a pair of key-points defined by


and such key-points’ distance ct1is defined by


Figure 3.

Robot’s visual odometry. (a) Robot’s key-point pair observed att1. (b) Same pair observed att. (c) Robot’s displacementΔsby triangulation of key-pointspa.

The angle βt1a,bof either key-point aor bis calculated by the law of sines,


However, at time tin Figure 3b, the instantaneous angle αtis obtained by


with the key-point’s distance ctas


which is used to obtain the angle βta,bof the key-point aor bat actual time


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


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


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


and the orientation angle for each reference ais


which is required to know the Xdisplacement


as well as the Ydisplacement


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,


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


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


by developing the dot product from previous expression, we obtain


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


where wkand vkare 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


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




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




Moreover, the recursive Kalman gain for system convergence is


and the state vector of the system is described by


with covariance matrix of the system


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




as well as Δθis given by


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


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 zincludes noise measurements. The Jacobian matrix Hof the expected state model w.r.t. measurements is defined by


The process noise covariance matrix Qkis defined by


Let us define the nonstationary covariance matrix P,


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=100tests 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




as well as the robot’s yaw statistical measurement model


Furthermore, the measurement noise covariance matrix is


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


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


Let us summarize the 3D points pABand pBCobtained 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


4.1.2. Observation

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


The angle of each key-point por qw.r.t. to the robot in actual time is


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


thus the inferred displacement is


Therefore, the observation vector with Gauss noise wis


4.1.3. Update estimate

The update estimate is obtained by


4.1.4. Update error covariance

The covariance matrix error dispersion of the system is updated


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)


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


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


Bbeing a control transition matrix.

4.1.6. State prediction

It follows that state prediction is


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


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.

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 +Ycomponent 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.

© 2018 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Edgar Alonso Martínez-García and Luz Abril Torres-Méndez (November 5th 2018). 4WD Robot Posture Estimation by Radial Multi-View Visual Odometry, Applications of Mobile Robots, Efren Gorrostieta Hurtado, IntechOpen, DOI: 10.5772/intechopen.79130. Available from:

chapter statistics

443total chapter downloads

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

IntelliSoC: A System Level Design and Conception of a System- on-a-Chip (SoC) to Cognitive Agents Architecture

By Diego Ferreira, Augusto Loureiro da Costa and Wagner Luiz Alves De Oliveira

Related Book

First chapter

A Review of Compliant Movement Primitives

By Miha Deniša, Tadej Petrič, Andrej Gams and Aleš Ude

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More About Us