• 沒有找到結果。

Chapter 3 Calibration of a Two-camera Omni-directional Imaging System and

3.3 Calibration of Vehicle Odometer

3.3.3 Correction of vehicle position coordinates

The goal to correct the mechanical error of the vehicle now can be carried out by the curve equation derived above. As shown in Figure 3.11, the vehicle starts moving forward from P1(x1, y1) toward the goal P2(x2, y2) in the GCS. Denote the direction of the vehicle at P1 as θ. Assume that due to mechanical errors, the vehicle arrives at P2which is different from the desired goal P1. To get the position of the vehicle, or equivalently, to get P2, at first we compute the distance D used to estimate the deviation distance dy as follows:

2 2

Subsequently, according to the involved simple geometry we can derive the following equations to compute the position of P2:

2

cos

y

sin

1

x 'D   d   x'

; (3.35)

2

sin

y

cos

1

y 'D   d   y'

. (3.36)

40

Figure 3.11 An illustration of coordinate correction.

The process to correct the position of the odometer during vehicle navigation now can be summarized as the following steps:

1. before driving the vehicle straight forward, compute the distance D by Eq.

(3.33) according to the position of the desired goal at the current navigation cycle, and get also from the odometer of the vehicle the current direction θ with respect to the x-axis in the GCS;

2. compute the deviation dy by substituting the value D into Eq. (3.32);

3. calculate the corrected position of the vehicle according to Eqs. (3.35) and (3.36); and

4. update the vehicle odometer with the corrected position.

41

Chapter 4

Vehicle Navigation by Mopboard Following Using a Look-up

Pano-mapping Table

4.1 Introduction

As mentioned previously, it is desired to conduct the house-layout construction task by driving the vehicle around the room and collect environment data. More specifically, the major stages the house-layout construction task will be described in Section 4.2. Most houses have mopboards at the roots of their walls. The mopboard feature is used for vehicle navigation in this study. We will describe the principle of the method we use to detect mopboard edges in omni-images in Section 4.3. In Section 4.4, we will describe the details of the proposed method. And the entire navigation strategy will be described in Section 4.5.

4.2 3D House-layout Construction by Vehicle Navigation

The major stages in proposed 3D house-layout construction by vehicle navigation include: (1) vehicle navigation by mopboard following; (2) floor-layout construction; and (3) 3-D house-layout construction. The details are described as a three-stage procedure in the following.

Stage 1 Vehicle navigation by mopboard following ---

42

1. Guide manually the vehicle to a start position for starting a navigation session.

2. (Adjustment of the vehicle direction to be parallel to the nearby wall) Perform the following steps to adjust the initial moving direction of the vehicle to be parallel to the nearest wall.

2.1 Take an image I0 of the nearby scene using the lower omni-camera.

2.2 Define an angular scanning range R0 which covers the left part of the image in which the wall presumably appears (with R0 being from 145o to 225o with 0o pointing to the right of the image and the angle counted in a counterclockwise direction).

2.3 Find mopboard edge points within the scanning range R0 in I0 by the previously-mentioned mopboard edge point detection process (Section 4.4) to get a point set M0.

2.4 Fit the points in M0 with a line L0 by the LSE curve fitting scheme described in Section 3.3.2.

2.5 Adjust the direction of the vehicle to the direction of L0 (the detail is described in Section 4.5.3).

3. (Along-wall vehicle navigation) Perform the following steps to conduct the vehicle to navigate along wall sides and collect environment data.

3.1 Take two images I1 and I2 of the nearby scene using the lower and the upper omni-cameras, respectively; and store the images.

3.2 Define three angular scanning ranges RL, RR, and RF, which cover the left, right, and front parts of image I1, respectively, in which the walls presumably appear (with RL being from 145o to 225o, RR being from 20o to 20o, and RF being from 30o to 150o with 0o pointing to the right of the image I1).

3.3 Find mopboard edge points in I1 using RL, RR, and RF respectively by the

43

previously-mentioned mopboard edge point detection process (Section 4.4) to get three point sets SL, SR, and SF.

3.4 (Transformation of the detected edge points into useful navigation

information and environment data ) Perform the following steps to deal

with the detected edge points.

3.4.1 Apply a pattern classification process (Section 4.5.2) on each of point sets from SL, SR, and SF to find a corner edge point if it exits.

3.4.2 Based on the found corner point as a division point in collected mopboard edge points, assign the points of SL, SR, and SF which are the edge points of the left, the right, and the front walls, respectively, into the corresponding sets SL, SR, and SF.

3.4.3 Add the points of SL into the wall data set WallDataindex according the index of the wall.

3.5 (Detection of possible collision with a wall in front of the vehicle) Perform the following steps to determine the distances between the walls and the vehicle.

3.5.1 Estimate the distances distL, distR, and distF between walls and the vehicle according to the points of SL, SR, and SF, respectively.

3.5.2 Check if the vehicle is moveable further according to data of distL,

dist

R, and distF (the detail is described in Section 4.5.4):

(1) if yes, then go to Step 3.6;

(2) else, terminate the vehicle navigation procedure.

3.6 Continue the vehicle navigation process.

3.7 Check if the vehicle arrives at the start position:

(1) if yes, exit Stage 1 and enter Stage 2.

(2) else, go to Step 2.

44

Stage 2 Floor-layout construction ---

4. (Curve fitting for each segment) Perform the following steps to fit the detected edge points, where indexes are used to label the walls.

4.1 Fit the points in WallDataindex with a line Lindex by the LSE curve fitting scheme (Section 3.3.2).

4.2 Repeat Step 4.1 until all walls have corresponding fitting line equations.

4.3 Adjust the fitted lines by a global LSE optimization method to establish a floor-layout (the detail is described in Section 5.2).

4.4 Denote each edge of the floor-layout as LFindex.

Stage 3 3-D House-layout construction ---

5. (Detection of objects on the walls) Perform the following steps to detect objects on the walls.

5.1 For each floor-layout edge LFindex, perform the following steps.

5.1.1 Fetch the upper and lower omni-images I1k and I2k taken in the previous steps during vehicle navigation, which belong to LFindex. 5.1.2 Define a scanning range R1k for I1k and R2k for I2k according to the

floor-layout edge segment widths.

5.1.3 Extract objects appearing in I1k within the scanning range R1k and those in I2k within the scanning range R2k, and store the detected objects with related information into the sets wall_info_1index and

wall_info_2

index, respectively.

5.1.4 Repeat Steps 5.1.1 through 5.1.3 until all the omni-images which belong to LFindex are scanned.

5.2 Repeat 5.1 until all the floor-layout edges are exhausted.

6. (Combination of objects on the walls) Perform the following steps to combine the detected objects on the walls.

45

6.1 For each floor-layout edge LFindex, perform the following steps.

6.1.1 Combine the objects in wall_info_1index and wall_info_2index, respectively according to their positions, resulting in two sets

wall_info1

index and wall_info2index of the combined objects, respectively.

6.2 Repeat 6.1 until all the floor-layout edges LFindex are exhausted.

7. (Objects reorganization) Perform the following steps to recognize doors and windows on the walls.

7.1 For each floor-layout edge LFindex, perform the following steps.

7.1.1 Choose an object obj2k from wall_info2index, check if there exists an object in wall_info1index with at a similar location.

(1) If exists such an object obj1k, check again if obj1k is connected to the mopboard:

i. if yes, then recognize obj1k together with obj2k as a door, and add it to the set obj_doorindex;

ii. otherwise, recognize obj1k together with obj2k as a window, and add it to the set obj_windowindex.

(2) If such an object does not exist, recognize obj2kas a window, and add it to the set obj_windowindex.

7.1.2 Repeat 7.1.1 until the objects of wall_info2index are exhausted.

7.1.3 Recognize the remaining objects in wall_info1index as a window, and add it to the set obj_windowindex.

7.2 Repeat 7.1 until all the floor-layout edge LFindex are exhausted.

8. (House-layout construction) Perform the following steps construct a 3-D house-layout.

8.1 For each floor-layout edge LFindex, perform the following steps.

46

8.1.1 Construct the wall wallindex and draw on the wall the objects in

obj_window

index and obj_doorindex if any exits.

8.2 Repeat 8.1 until all the floor-layout edge LFindex are exhausted.

The details of the stages and the steps will be described subsequently in this chapter and in the next chapter.

4.3 3-D Data Estimation by Using the Proposed Imaging System

As mentioned previously, the positions of mopboard edge points are important information for vehicle navigation and the 3-D house layout construction. In this section, we will describe how the imaging system we proposed is used to estimate the positions of concern objects. By finding out the relations among the coordinate system used in this study, the estimated results can be transformed among different coordinate systems. The coordinate systems are described in Section 4.3.1. And the details of the 3-D data estimation process are described in Section 4.3.2.

相關文件