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

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.


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

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 ¼ x; y; z ð Þ ⊤ , 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 x C of lateral camera C, and at x B 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 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 (1) To calculate the Cartesian coordinates of p, let us state that the point p is projected through the horizontal coordinate x B , and on camera B angle's θ B , and focal distance f B as expressed by The complementary angles B and C are modeled by In the triangle BCO, the angle at point p is obtained by equivalence of similar triangles Hence, the model to express depth information is given by z B ¼ BP cos θ B . By substituting BP and θ B , the model is further specified by where, In addition, the range between camera C and p is defined by z C ¼ Cp cos θ C . Thus, substituting Cp and θ C , we define Using the depth models z B and z C , the distances d B and d C w.r.t. p are estimated, such that and being d C ¼ z C tan θ C ð Þ, by substituting θ C from expression (2) we have Furthermore, the algebraic deduction along the Y component for the equalities h B f B ¼ z B y B and h C f C ¼ z C y C , w.r.t p using distances h B and h C , is obtained by thus the following term is stated as Therefore, the geometry vector model for camera B w.r.t. camera C, with substitution of the terms Ψ, z B , and z C in robot's inertial frame R , produce the next expression: and the same model is enhanced for camera B, using the geometry of cameras A and B by Hence, the arbitrary point p ABC ∈ ℝ 3 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 p AB ¼ x A ; y A ; z À Á Τ , and w.r.t. camera C is p AC ¼ Hence, the general depth coordinate model for x and y for any divergent pair is for coordinate z, The four points shown by the three cameras may illustrate their transformation, experimentally developed at 1-m distance between the robot and the marks.

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-springdamper 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 v t (m/s) and yaw rate ω t (rad/s) depend on the four wheels' asynchronous rolling motion, 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 velocityv t expresses the lateral speeds' difference that yields ω t . Thus, v t is formulated by the expressionv 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 componentv t cos α 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 l i there is an asynchronous model, as well as Thus, substituting cos α i ð Þ and l i into ω t and by considering both clockwise and counterclockwise motions, the robot's angular speed is The longitudinal contact point's distance l i (m) takes as reference the robot's geometric center. When l i varies, the contact point's position L i changes.
where γ i represents the vertical motion along the suspension, From Figure 2a, the vertical motion y d is modeled assuming critical damping motion for a general spring-mass-damper system. The suspension is modeled by the following secondorder homogeneous differential equation: where the elastic spring restitution coefficient is κ 1 (kg/s 2 ). The damping coefficient is κ 2 (kg/s). The restitution force m€ y d counteracts the vertical oscillatory damping effects. The oscillatory velocity and acceleration are denoted by _ y d and € y d , respectively. Thus, solving the secondorder differential equation as a first-order equation such that κ 2 _ with integration constant c ¼ 0 for 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, κ2 and 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 x R ; y R À Á ⊤ . The Z-turn axis is movable in the square region bounded by the wheels' contact point. The Z-turn axis is expressed by the firstorder derivatives There is a maximal allowable Z-turn displacement speed v max . Hereafter, with four independent equations, the control positioning system is instantaneously computed. The robot Á ⊤ , and the control transition matrix Λ t has the elements In addition, to inversely solve this matrix system, the analytical solution represents the vector of independent control rotary variables and The matrix form of the inverse analytical solution for all wheels' speed under damping variations is stated as where λ G ¼ λ 21 À λ 22 À λ 23 þ λ 24 .

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 t À 1. 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 α tÀ1 is formed by a pair of key-points defined by and such key-points' distance c tÀ1 is defined by The angle β a, b tÀ1 of either key-point a or b is calculated by the law of sines, However, at time t in Figure 3b, the instantaneous angle α t is obtained by with the key-point's distance c t as which is used to obtain the angle β a, b t of the key-point a or b at actual time Further, the differential angleβ is defined by triangulation of previous and actual poses and an arbitrary 3D point p a, 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 a is which is required to know the X displacement as well as the Y displacement 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 ¼ x; y; θ; v; ω ð Þ , and combined with a nonstationary state transition matrix A t , such that by developing the dot product from previous expression, we obtain The measurement model requires the displacements that were inferred through key-point triangulation where w k and v k 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 firstorder 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 asx and Moreover, the recursive Kalman gain for system convergence is and the state vector of the system is described bŷ 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 ¼ x t ; y t ; θ t À Á ⊤ . The control vector is comprised of the robot's absolute and angular speeds, Eventually, the process noise vector Therefore, from the displacement equation (46), which arises from exteroceptive observations, the robot's Cartesian displacements are and as well as Δθ is given by By substituting an averaged Cartesian displacement, one considers n key-point observations to calculate the recursive noisy state vector x k .The Jacobian matrix J k of the robot's temporal matrix state transition Thus, a measurement is a 3D point arising from either divergent pair Eq. (10) or (11) The process noise covariance matrix Q k is 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 ¼ 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 and as well as the robot's yaw statistical measurement model Furthermore, the measurement noise covariance matrix is and the matrix W k which is the partial derivative of the process model w.r.t. the process noise vector is The matrix V k ¼ ∂h=∂v k is the partial derivative w.r.t. the measurement noise vector, Let us summarize the 3D points p AB and p BC obtained by Theorem 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.

Kalman gain
The initial estimate of Kalman gain is

Observation
From Proposition 1.1, the visual observers provide m 3D key-points from Theorem 1, p AB, BC The angle of each key-point p or q w.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 w is

Update estimate
The update estimate is obtained bŷ

Update error covariance
The covariance matrix error dispersion of the system is updated

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, u R ¼ s; θ; x R ; y R À Á ⊤ . Thus,Ω t ¼ 2π is the vector of the wheels' instantaneous measurements This step converges until u ref R Àû t < ε u , where ε u is the convergence error. Then, the robot's prediction model is B being a control transition matrix.

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

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