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.
- visual odometry
- trinocular sensor
- visual observer
- trajectory estimation
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 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 , or to estimate motion . There are reported works on motion estimation with binocular divergent systems , trinocular divergence for visual odometry , and divergent visual simultaneous localization and mapping (SLAM) . As a difference from the active sensing modalities for localization , and concurrent localization and mapping with parallel multi-view , 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 , matching multi-frame features  and 3D point cloud . Some outdoor visual odometry approaches for urban  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 , detecting geometrical features .
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 , 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 are perspective transformed, in order to align them epipolar and coplanar w.r.t. the central reference . As seen in Figure 1b, a point is projected over two focal planes, for instance, at column of lateral camera , and at of camera . Thus, an isosceles triangle is formed. For the triangle , let be the angle between the cameras’ centers and , as deployed by expression (1). Let be the remaining angle of , where the inner angles’ total sum is . By expressing and dropping off , we easily deduce that . The geometrical distance is calculated by triangulation using the law of sines, with known distance that converges to . The linear distance between adjacent sensors commonly oriented w.r.t. the center is
To calculate the Cartesian coordinates of , let us state that the point is projected through the horizontal coordinate , and on camera angle’s , and focal distance as expressed by
The complementary angles and are modeled by
In the triangle , the angle at point is obtained by equivalence of similar triangles . Thus, to estimate the range of the radial system and w.r.t. , 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 . By substituting and , the model is further specified by
In addition, the range between camera and is defined by . Thus, substituting and , we define
Using the depth models and , the distances and w.r.t. are estimated, such that . Hence,
and being , by substituting θC from expression (2) we have
Furthermore, the algebraic deduction along the component for the equalities and , w.r.t using distances and , is obtained by
thus the following term is stated as
Therefore, the geometry vector model for camera w.r.t. camera , with substitution of the terms , , and in robot’s inertial frame , produce the next expression:
and the same model is enhanced for camera , using the geometry of cameras and by
Hence, the arbitrary point is projected onto cameras , or onto cameras . In order to express a general formula, let us define the following theorem.
Theorem 1 (Trinocular depth model). Let camera be the reference for either divergent camera or . A point coordinates w.r.t. camera is , and w.r.t. camera is . Hence, the general depth coordinate model for and for any divergent pair is
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 , as well as the type of kinematic analysis  and the dynamic suspension  in this type of robot have been previously reported. The robot’s instantaneous speed (m/s) and yaw rate (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 (rad) w.r.t. time , such that
where the wheel’s angular speed is measured through pulse detection (dimensionless) of encoder’s resolution (pulses/rev); thus, the robot’s instantaneous velocity is modeled by the averaged wheel speed, with wheels of nominal radius (m)
Further, the differential velocity expresses the lateral speeds’ difference that yields . Thus, is formulated by the expression
This model describes that the rotary motion of and contributes to robot’s (counterclockwise sense). Likewise, and contribute to robot’s (clockwise sense). Therefore, is yielded by the lateral speed component (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 there is an asynchronous model,
as well as
Thus, substituting and into and by considering both clockwise and counterclockwise motions, the robot’s angular speed is
The longitudinal contact point’s distance (m) takes as reference the robot’s geometric center. When varies, the contact point’s position changes.
where represents the vertical motion along the suspension,
From Figure 2a, the vertical motion 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:
where the elastic spring restitution coefficient is (kg/s2). The damping coefficient is (kg/s). The restitution force counteracts the vertical oscillatory damping effects. The oscillatory velocity and acceleration are denoted by and , respectively. Thus, solving the second-order differential equation as a first-order equation such that ,
with integration constant 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, and there is only one real root solution, such that
Therefore, the damping motion is analytically solved by
where (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 -turn axis location . The -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 . Hereafter, with four independent equations, the control positioning system is instantaneously computed. The robot control vector is , and the control transition matrix has the elements , , , and . Thus, the forward kinematics solution is or
In addition, to inversely solve this matrix system, the analytical solution represents the vector of independent control rotary variables . Thus, let us define , , , , , , and .
The matrix form of the inverse analytical solution for all wheels’ speed under damping variations is stated as or
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 and . 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 is formed by a pair of key-points defined by
and such key-points’ distance is defined by
The angle of either key-point or is calculated by the law of sines,
However, at time in Figure 3b, the instantaneous angle is obtained by
with the key-point’s distance as
which is used to obtain the angle of the key-point or at actual time
Further, the differential angle is defined by triangulation of previous and actual poses and an arbitrary 3D point (Figure 3c),
Proposition 1 (Triangulation odometric displacement). The robot’s displacement (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 is
which is required to know the displacement
as well as the 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 , and combined with a nonstationary state transition matrix , such that or
by developing the dot product from previous expression, we obtain
The measurement model requires the displacements that were inferred through key-point triangulation
where and 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
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 . The control vector is comprised of the robot’s absolute and angular speeds, . Furthermore, the observation vector with sensor measurement . Eventually, the process noise vector . The measurement noise vector .
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 key-point observations to calculate the recursive noisy state vector .The Jacobian matrix of the robot’s temporal matrix state transition , where , , and is 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 includes noise measurements. The Jacobian matrix of the expected state model w.r.t. measurements is defined by
The process noise covariance matrix is defined by
Let us define the nonstationary covariance matrix ,
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 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
as well as the robot’s yaw statistical measurement model
Furthermore, the measurement noise covariance matrix is
and the matrix which is the partial derivative of the process model w.r.t. the process noise vector is
The matrix is the partial derivative w.r.t. the measurement noise vector,
Let us summarize the 3D points and 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
From Proposition 1.1, the visual observers provide 3D key-points from Theorem 1,
The angle of each key-point or 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 is
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, . Thus, is the vector of the wheels’ instantaneous measurements
This step converges until , where is the convergence error. Then, the robot’s prediction model is
being 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
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.
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 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 component and less than 3 cm in (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.