• No se han encontrado resultados

CAPÍTULO II: MARCO TEÓRICO

2.1. ANTECEDENTES DE INVESTIGACIONES ANTERIORES

Another method to decrease the complexity of the graph is called graph pruning[35]. The approach is based on selecting laser scans that are most informative with respect to the map estimate. Graph pruning aims at minimizing the expected loss of information in the resulting map without introducing a bias during the selection of the laser scans. Graph pruning can be a method to allow for long-term robot mapping since a robot that keeps all scans will run out of resources earlier. In addition to that, the method can be used to directly implement SLAM system with an environment of any given size.

5

Scan-matching

(a) Robot with a laser range scanner taking a scan of the en- vironment

(b) Robot with a laser range scanner taking a scan of the en- vironment

(c) Two scans lying on top of each other with a yellow line showing the transformation Figure 5.1: Proximity scan used to determine robot movement (transformation)

To determine the robot movement it needs to know which paths it has travelled for which odometry sensors can be used. However, odemetry sensors are know to be inaccurate because of slippage and drift, therefore other sensors, like a laser range scanner (LRS) , can be used to determine the movement of the robot. Proximity scans provide environmental data using a beam-format, described in Appendix B. A beam-format means that the sensor determines the range to an object in combination with the angle with respect to the sensor. Figure 5.1 shows a simple view of this principle where the red lines represent the beams. Figure 5.1a shows the initial robot position, the robot takes a scan of the environment and the laser beams register objects at the blue dots of the end of the red lines. The coordinates of the blue dots are stored and the robot drives a bit forward with a slight rotation to the right, as can be seen in Figure 5.1b. In the second position the robot takes another scan of the environment with the red dots at the end of the red lines representing the detected obstacles (Figure 5.1b). Once the robots has the two observations it determines the movement (transformation) between pose 1 and pose 2 by aligning the two scans (Figure 5.1c). The process of aligning two scans is called

scan-matching . The objective of scan-matching is locating the current robot position relative

-2 -1 0 1 2 distance (m) 0 1 2 3 4 5 6 7 8 9 distance (m)

Two scans plot in the same figure m

p

(a) Two consecutive scans without transformation -2 -1 0 1 2 distance (m) 0 1 2 3 4 5 6 7 8 9 distance (m)

Two scans plot in the same figure after the ICP algorithm

m p

(b) Two consecutive scans with transformation ap- plied

(c) Robot path in the Intel data set where the black arrow indicate the location where the consecutive scans are taken.

Figure 5.2: Example of scan data before and after an ICP algorithm

to a previous one [41]. Scan-matching can be done by matching locally (current observation with previous one) or globally (current observation with the already known map). A lot of research is done in scan-matching [45], and several solutions to solve the problem are available but only the ICP (Iterative Closest Point) is described below, other solutions are described in Appendix C.

5.1

ICP: Iterative Closest Point

The ICP (Iterative Closest Point) algorithm has become the dominant method for aligning multi-dimensional models based purely on the geometry from sensor data [51]. Sensor data for ICP must be a set of one or more points in a one or more dimensional space. In the world of SLAM ICP is used to find the rotation and translation between two sensor observations. Figure 5.2 illustrates an example case of the ICP algorithm results applied on two consecutive scans taken from the location indicated by the black arrow in Figure 5.2c. Figure 5.2a shows the non transformed laser scans of the environment plotted over each other with both the robot pose (triangles) at (0,0). Figure 5.2b shows the result after applying an ICP algorithm, one can see that the current observation (~p, blue dots) is aligned onto the previous observation (m~, red dots) to know the movement of the robot. The key concept of the standard ICP can be summarized into two steps [52]:

1. Constructcorrespondences between two scans

2. Constructtransformation which minimizes the distances (errors) between the correspon- dences

A correspondence is a match from pointpifrom the current observation~pto a pointmj from the

previous observationm~. Figure 5.3 shows two laser scans, with correspondence variables, shown in the zoomed box and, depending on the implementation, contains the following variables:

• Point (pix, piy) from the new observation (pi∈~p)

Figure 5.3: Laser scans with correspondence variables

• Closest point (mix, miy) topi, from the previous observation (mi ∈m~)

• Normal vector (nix, niy) from pi tomi

• Error (ei) which is the euclidean distance betweenpi and mi

The ICP algorithm always converges monotonically to the nearest local minimum of a mean- square distance metric, and experience shows that the rate of convergence is rapid during the first few iterations [13]. An more elaborate explanation of the ICP algorithm is given in Rusinkiewicz and Levoy [51]. The basic algorithm can be divided into three main stages, divided into five sub stages:

1. Finding: Constructing correspondence pairs

• Selection: Selecting points in both sensor observations

• Matching: Finding a correspondence between the selected points

• Weighting: Weighting the correspondence pairs appropriately

2. Rejecting: Removing pairs that are less likely to be correct correspondences

3. Minimizing: Finding the rotation and translation which minimizes the error between

the correspondences.

Each stage with different options is explained below into more detail.

(a) Distance to tangent line, taken from [63]

(b) Point to line using two closest points, taken from [16]

Figure 5.4: Point-to-line correspondences

Documento similar