## 3 Navigation
### Sensors  
#### 3.1.1 Video Sensors  
Video sensors are one of the most popular sensors for robot navigation. Application systems include cars, small-size and low-cost airborne systems, and so on. There are two primary ways of placing a video image sensor. One is to fix the sensor in a certain position, which is generally used by the monitoring system. The other is to place the sensor on a moving target usually used by autonomous vehicles. This kind of system can be divided into a monocular camera system and a binocular camera system according to the number of sensors.  
Regarding the binocular camera system, the position of the vehicle can be determined by comparing the measured image of two fixed cameras with the given distance relations, which is called the stereoscopic approach [25]. The principle of a binocular vision system obtaining the target distance is just like that of the human eye, which is the earliest research into a the visual system obtaining the target distance in the foreground.  
In contrast, how a monocular vision system obtains the target of the distance is completely different. Two methods have been used for monocular vision. One is called landmark-based vision navigation, which determines position and attitude by calculating directions to landmarks from the measured image of the landmarks [26; 27]. The principle of a monocular vision system is that the three-dimensional (3D) coordinates of each point in space have a one-to-one correspondence in two-dimensional (2D) images. This relationship is shown in Figure 2[26], which depicts projected landmarks on the focal plane when the pinhole camera model is adopted. The \(x_{c}\) axis of the camera frame is aligned with the optical plane when the pinhole camera model is adopted. The \(y_{c}\) and \(z_{c}\) axes are in the horizontal and vertical directions, respectively, of the focal plane \(f\) on the \(x_{c}\) axis. The landmark \(k\) at the position of 3D space at \(P_{k}^{c}(X_{k}^{c},Y_{k}^{c},Z_{k}^{c})\) is projected onto the point \(p_{k}^{c}(f,u_{k},v_{k})\) on the focal plane in the camera frame, where \(u_{k}\) and \(v_{k}\) are the location in the captured 2D image, respectively, and \(u_{k}=f\frac{Y_{k}^{c}}{X_{k}^{c}}\) and \(v_{k}=f\frac{Z_{k}^{c}}{X_{k}^{c}}\).  
The other monocular vision method, visual odometry, determines the motion of the vehicle from successive images of the camera. This method was first proposed in Ref. [20], in which three steps were developed: feature detection, feature matching, and robust estimation. Its basic underlying principle is to use the difference between adjacent frame images to describe the motion characteristics of the motion camera. Although this approach, as proposed by the author, indicates that it can be used with binocular cameras, it is of even greater importance to monocular camera navigation systems such as those in autonomous car systems.  
Visual odometry is a dead-reckoning algorithm and, therefore is prone to cumulative errors. The current pose of the platform is obtained from the previous pose by adding the last observed motion, which leads to a superlinear increment of the pose error over time. One solution to this problem is to compute visual odometry as a bundle adjustment (BA) algorithm [28]. BA imposes geometrical constraints over multiple frames, thus providing a global optimal estimate of all camera poses at once. However, the computational cost of BA algorithms increases with the cube of the number of frames used for computation [29], which uses the entire history of the tracked featuresat a cost of incurring a computational complexity that increases linearly with the number of tracked features and that is independent of the number of frames. A common approach, known as local BA, uses a small number of frames to limit the computational complexity [30]. The latest research on visual odometry includes online algorithms [31] and with the high-performance estimation of the feature points, as in convolutional neural networks [32].