• 検索結果がありません。

Verification of RM-GA Performance by Comparing with Full Search 146

ドキュメント内 Visual Docking of Underwater Vehicle (ページ 173-189)

7.3 Experimental Results

7.3.4 Verification of RM-GA Performance by Comparing with Full Search 146

The optimal solution for each situation of docking performance by comparing GA and full search will be described as shown in Fig. 7.16. The main idea of full search is to calculate the fitness of each point which are 1 mm apart in the entire searching area. Figure 7.16 shows a distribution graph of the fitness function value of GA and the fitness function value at the time point from (i) to (iii). Upper graph indicates the fitness value with respect to time during docking scheme. The selected points in the graph (i), (ii), and (iii) indicate the start recognition, the visual servoing and start docking condition.

As shown in the second row of Fig. 7.16, Tuna-Sand 2 exists on the negative side of y-axis from the target position at the time (i) and (ii), and whereas the recognized current position and the target position almost coincide in (iii). GA finds the peak that is a combination of position / posturexH,yH,zH,²1,²2,²3 which gives the highest fitness function value in the distribution graph. The fitness distribution between the x-y plane is shown in the third row in Fig. 7.16. The intersection shape of “X” type can be seen in x-y plane in third row, and the distribution peak appears at this intersection point.

This is because of the parallax of the left and right cameras mounted side by side in the y-axis direction and the x-axis direction that is the depth direction from the camera as shown in the second row of Fig. 7.16. As shown in the fourth row of Fig. 7.16, the intersecting shape does not appear on the surface of the distribution on the y-z plane, which means that the left and right parallaxes do not affect the z-axis direction. At the time (i) and (ii), since the peak appears on the right-hand side(yH axis positive direction), it means that the position of the 3D marker is in theyH axis positive direction as shown in Fig.7.16. In order to compensate this position error, the AUV needs to move to the right side. Likewise, in (iii), the peak appears in the left side (yH axis negative direction).

Therefore, it is necessary to move the AUV to the left side in order to compensate this position error. According to the graphical results, the peak obtained by GA search (GA

estimated) and the full search (Global peak) coincided. The Real-time Multi-step GA can perform with good accuracy even though it is calculated within 33 ms.

Also, in this experiment, Tuna-Sand 2 did not tilt in the xH axis direction or the yH

axis direction due to the balance of buoyancy. Figure 7.17 shows the attitude angles in three axial directions of the target object indicated by quaternion. Since the buoyancy balance did not tilt in the xH axis direction or the yH axis direction as described above, the rotation around thexH axis and around theyH axis in Figs. 7.17 (a) and 7.17 (b) are always kept near to zero. In fact, it can be considered that the position and orientation recognition was performed correctly.

START

TCP/IP initialization TCPFUN_S() TCPFUN_R()

TCP/IP Receive (Structure) ShmStatusOfTS2

TS2 Ready for control diveMode=51?

YES Wait for next TCP/IP Receive Sleep(100) NO Timer2 (1[s])

TCP/IP SEND (Structure) COMtoTS2 Maintain connection TS2_MODE_CHANGE(50);

GA recognition MultiStepGA() GA roop flag RecvLoop++

Save recognition results M1.Dx=(z_d-(zsft+ee_z))*0.5;

M1.Dy=(x_d-(xsft+ee_x))*0.4;

M1.Dz=(y_d-(ysft+ee_y))*1.0;

M1.Dd=(epsi2_d-(n2+ee_epsi2))*0.4;

GAPC initialization(Image Board) Open5523()

Ready for V.S.?

KGMODE==0 ? YES

4D.o.F. V.S.

Judge_ALL4(xsft,ysft,zsft,n2);

(Details in sub-flow chart) Changing docking mode

KGMODE=1;

NO

Ready for Docking?

KGMODE==1 ? YES

Changing TS2 control mode TS2_MODE_CHANGE(52);

Sleep(130);

NO

DOCKING TS2_GO_XY(0.20,0);

Changing docking mode KGMODE=2;

Docking success?

KGMODE==2 ? RecvLoop larger than 600?

(20s passed?) YES

NO

Save Data (experiment results) Changing docking mode

KGMODE=3;

Ready for Go Back?

KGMODE==3?

RecvLoop larger than 300?

(10s passed?)

NO

YES

TS2 Go Back TS2_GO_XY(-0.20,0);

Changing docking mode KGMODE=4;

End processing fclose() etc.

END YES

Changing TS2 control mode TS2_MODE_CHANGE(60);

Changing docking mode KGMODE=9;

TCP/IP Receive (Structure) ShmStatusOfTS2

Ready for Close?

KGMODE==4?

RecvLoop larger than 300?

(10s passed?) NO Checking conversation

with Tuna-Sand 2 1

2

3

4

5

6

8

7

Visual servoing step

Docking step

Returning step

1 2 3 4

5 6 7 8

Ready with connection (TS2 to GA-PC) Keep connection (GA-PC to TS2) Report the current status (TS2 to GA-PC)

Visual servoing commands (see sub flowchart in Fig. ) (GA-PC to TS2)

Change mode (52) (GA-PC to TS2)

Go ahead in x-direction for 0.2 m (GA-PC to TS2) Go back in x-direction for 0.2 m (GA-PC to TS2) Report mission complete (GA-PC to TS2)

Fig. 7.8: Detailed flowchart of GA-PC.

START

4D.o.F. V.S.

Judge_ALL4(xsft,ysft,zsft,n2);

(sub-flow chart)

Judgment of Fitness fitness[0]>=0.5?

YES

4 D.o.F. All Clear?

|xd-xt|,|yd-yt|,|zd-zt|<30[mm]

|n2d-n2t|<3[deg]

Time for TCP/IP SEND?

RecvLoop%4==0?

TS2 control mode ready for change?

RecvLoop>=MODECHANGETIMER+90 FLAG_XY=true YES

Change TS2 control mode TS2_MODE_CHANGE(52);

FLAG Changing FLAG_Z=true;

FLAG_HEADING=true;

FLAG_XY=false;

YES

NO

TS2 STOP TS2_XY_STOP();

Change docking mode KGMODE=1;

NO

Z-position Clear?

|zd-zt|<30[mm]

NO

YES

TS2 control mode ready for change?

RecvLoop>=MODECHANGETIMER+90 FLAG_Z=true

Change TS2 control mode TS2_MODE_CHANGE(51);

FLAG Changing FLAG_Z=false;

FLAG_HEADING=true;

FLAG_XY=true;

YES

NO

TS2 Z-position MOVE TS2_GO_Z(-1*M1.Dz/1000.0);

XY-position Clear?

|xd-xt|,|yd-yt|<30[mm]

NO

YES TS2 control mode ready for change?

RecvLoop>=MODECHANGETIMER+90 FLAG_XY=true

Change TS2 control mode TS2_MODE_CHANGE(52);

FLAG Changing FLAG_Z=true;

FLAG_HEADING=true;

FLAG_XY=false;

YES

NO

TS2 XY-position MOVE TS2_GO_XY(-1*M1.Dx/1000.0,

-1*M1.Dy/1000.0);

n2(heading) clear?

|n2d-n2t|<3[deg]

NO

YES

TS2 control mode ready for change?

RecvLoop>=MODECHANGETIMER+90 FLAG_HEADING=true

Change TS2 control mode TS2_MODE_CHANGE(53);

FLAG Changing FLAG_Z=true;

FLAG_HEADING=false;

FLAG_XY=true;

YES

NO

TS2 n2(heading) TURN TS2_TURN(-1*(quo_to_deg(M1.Dd)));

END

NO

Checking ready for docking

Visual servoing in z-direction

Visual servoing in x and y-direction

Visual servoing in heading rotation

9 10

12

11

14

13

16

15

Send desired movement in z-direction (GA-PC to TS2)

9

11

12 13

Go to docking step (GA-PC to TS2) 10

Change mode (52) (GA-PC to TS2)

Send desired movement in x,y -direction (GA-PC to TS2)

14

15 16

Change mode (51) (GA-PC to TS2)

Change mode (52) (GA-PC to TS2)

Change mode (53) (GA-PC to TS2) Send desired heading angle (GA-PC to TS2)

Fig. 7.9: Subflowchart of Visual Servoing in Fig.7.8

Tuna-Sand2 remote client

Tuna-Sand2 Docking Station

Tuna-Sand2 Monitoring PC

GA-PC remote client

GA-PC

Fig. 7.10: Appearance of experimental environment to conduct automatic docking using AUV Tuna-Sand 2 in water pool established in University of Tokyo.

Σ ݔ

ݕ

1 2

3

Σ ݔ

ݕ Σ

ݔ

ݕ Docking hole 3D marker

Fig. 7.11: Layout of 3 times docking pretests using only visual servoing. The number in circle °1 - °3 represents for docking iteration. After each docking completion, the AUV moves to the posse as shown in this figure for next docking. Experimental results are shown in Fig.7.12 and corresponding left and right camera images are illustrated in Fig.

7.13.

0 0.2 0.4 0.6 0.8 1 1.2 1.4

0 50 100 150 200 250 300

-400 -300 -200 -100 0 100 200 300

0 50 100 150 200 250 300

-200 -150 -100 -50 0 50 100

0 50 100 150 200 250 300

Time [s]

Time [s]

Time [s]

Time [s]

Fitness valuePosition along x-axis direction [mm]Position along y-axis direction [mm]Position along z-axis direction [mm]

-20 -15 -10 -5 0 5 10

0 50 100 150 200 250 300

Rotation around z-axis [deg]

Time [s]

0 200 400 600 800 1000

0 50 100 150 200 250 300

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

(a)

(b)

(c)

(d)

(e)

V.S M.F M.B V.S M.F M.B V.S M.F

V.S M.F M.B V.S M.F M.B V.S M.F

V.S M.F M.B V.S M.F M.B V.S M.F

V.S M.F M.B V.S M.F M.B V.S M.F

V.S M.F M.B V.S M.F M.B V.S M.F

Desired position Estimated position Error allowance V.S Visual servoing M.F Moving forward

(Docking) M.B Moving backward

A B C D E F G H

A B C D E F G H

A B C D E F G H

A B C D E F G H

A B C D E F G H

A1 A2

Giving offset

Giving offset A1

Giving offset

A2

Giving offset

A2

Giving offset

A2

Giving offset

A2

Giving offset

A1

Giving offset

A1

Giving offset

A1

Giving offset

Fig. 7.12: 3 times docking pretests using only visual servoing: (a) Fitness value, (b) position along in x-direction, (c) position along y-axis direction, (d) position along z-axis direction, and (e) rotation around z-axis. The number in each circle in each subfigure represents docking number. Note the AUV moves to the poses as shown in Fig. 7.11 after each docking completion. The initial poses for docking number°2 and docking number°3

are set by giving offset especially in y-axis direction after moving back process as shown by times A1 and A2 (see Fig.7.12 (c): The 3D marker is in the negative position of y-axis direction of ΣH for the docking number °2 as shown in Fig. 7.11, and the 3D marker is in the positive position of y-axis direction of ΣH for the docking number °3 as shown in Fig. 7.11). Left and right camera images taken at the times “A”-“H” are shown in Fig.

7.13.

A

B

D

E

G

H C

F

Fig. 7.13: Left and right camera images corresponding to the times A-H in Fig. 7.12. It can be confirmed that the AUV could perform docking by visual servoing in pretests by checking the left and right images taken at the times “A”-“H”. Subfigures 7.13 (“A,” “D,”

“G”) show the condition in which the AUV is stable and ready of docking. Subfigures

(a) (b) (c) (d)

(e) (g) (f)

(i)

AUV

Docking station

(j)

(a) (b) (c)

(d) (e)

(f)

(g) (i)

ΣW

Left camera Right camera

Appearance of AUV

Front of docking hole

Side view of docking hole

Left camera Right camera

Front of docking hole

Side view of docking hole Appearance of AUV

Appearance of AUV Side view of docking hole Front of docking hole Right camera Left camera

Left camera Right camera

Front of docking hole

Side view of docking hole Appearance of AUV

Approaching Step

Visual Servoing Step

Docking Step

(h-1)~(h-4)

(h-1) (h-2)

(h-4) (h-3)

Fig. 7.14: Desired trajectory of Sand 2 in experiment and appearance of Tuna-Sand2: From (a) to (i), appearance of experiments are shown during movement of tra-jectory which is illustrated in (j). Terminal positions of those tratra-jectory are described in Table 2.

0 100 200 300 400 500 600 700 800

0 20 40 60 80 100 -200

-150 -100 -50 0 50 100 150 200 250

0 20 40 60 80 100

-120 -100 -80 -60 -40 -20 0 20 40 60

0 20 40 60 80 100

-30 -20 -10 0 10 20 30

0 20 40 60 80 100

0 0.2 0.4 0.6 0.8 1 1.2

0 20 40 60 80 100

Fitness valuePosition in x-direction [mm]Position in z-direction [mm] Position in y-direction [mm]Rotation around in z-axis [deg]

Time [s]

Time [s]

Time [s] Time [s]

Time [s]

Visual servoing Docking

Visual servoing Docking Visual servoing

Docking Docking End Visual servoing Start

(a)

(c)

(e)

(b)

(d)

(f)

Visual servoing Docking

Visual servoing Docking acceptable

range

acceptable range

acceptable range

acceptable range 49

50 51 52 53

0 20 40 60 80 100

Control mode

Time [s]

Docking Visual servoing

Fig. 7.15: Measured trajectory of Tuna-Sand2 by GA-PC with RM-GA: Fitness value is plotted in (a). When fitness value is low, reliability for measured position is lower. AUV positions in x,y and z axes are plotted in (c), (d) and (e) respectively. Also, rotation angle around z axis is plotted in (f). When those control variables were converged in acceptable range on visual servo state at about 83 second, docking behavior is executed.

y-axis[mm]

z-axis[mm]

y-axis[mm]

z-axis[mm]

y-axis[mm]

z-axis[mm]

Time[s]

(ii)

0 0.2 0.4 0.6 0.8 1 1.2

0 20 40 60 80 100 120

Fitness value

(i) (iii)

(iii)

y-axis[mm]

x-axis[mm]

y-axis[mm]

x-axis[mm]

y-axis[mm]

x-axis[mm]600 Desired pose 78[mm

]

Σ

Σ

x=172[mm]

y=181[mm]

Actual pose

x=428[mm]

y=103[mm]

(i) (ii)

Actual pose

600mm

Desired pose 78[mm]

Σ

x=44[mm]

y=20[mm]

Σ

y=98[mm]

x=556[mm] 600mm

Desired pose 78[mm]

Σ

x=10[mm]

y=−35[mm]

Actual pose Σ

x=610[mm]

113[mm]

Global peek GA estimated Global peek GA estimated Global peek GA estimated

Global peek GA estimated Global peek GA estimated Global peek GA estimated

Fig. 7.16: Fitness distribution graph for each situation of docking performance: Upper graph indicates fitness value with respect to time during docking scheme. (i), (ii) and (iii) in this graph mean instants which are picked up for drawing figures in lower side. Pose relations between AUV and 3D maker in those instants (i, ii, iii) are illustrated in second row. Distribution map with Y-X axes and a pose estimated by proposed GA algorithms are drawn in third row, and that with Y-Z axes and estimated pose are also drawn in final row.

-0.15 -0.1 -0.05 0 0.05 0.1 0.15

0 20 40 60 80 100

-0.15 -0.1 -0.05 0 0.05 0.1 0.15

0 20 40 60 80 100

Time [s]

Time [s]

Rotation around in x-axisRotation around in y-axis

-0.15 -0.1 -0.05 0 0.05 0.1 0.15

0 20 40 60 80 100

Rotation around in z-axis

Time [s]

Visual servoing Docking

Visual servoing Docking

Visual servoing Docking Docking End Visual servoing Start

(a)

(b)

(c)

Fig. 7.17: Quotanion (a)²1 aroundxH , (b)²2 aroundyH , (c)²3 aroundzH are illustrated.

It can be confirmed that rotation angle aroundxH andyH are stable that are out of control targets.

7.4 Summary

This chapter presents the docking experiment for sea bottom underwater battery recharg-ing application in an indoor pool by usrecharg-ing Tuna-Sand 2 AUV. Tuna-Sand 2 was facilitated with dual-eye vision-based 3D pose estimation system. Tuna-Sand 2 AUV approached to the docking station according to the desired trajectory using other navigation sensors such as DVL and depth sensor. In final docking step, AUV automatically performs the docking operation only using vision information from dual-eye cameras. Experimental results confirmed the performance of 3D recognition and docking. In future work, the proposed system will be developed for real sea environment, and sea trail docking of AUV using proposed system will be conducted for underwater battery recharging.

Chapter 8

8. Improvement of 3D Pose

Estimation by Using Active Marker in Turbid and Day/Night

Environment

In our previous researches, the passive marker was used to conduct the experiment. Since an intended application of the proposed docking approach is the battery recharging in the deep-sea bottom, completely dark and turbid environment should be considered as an in-evitable condition. Since lighting passive 3D marker by light from vehicles in turbid water environment results in the images taken by video cameras set on the vehicle being looked wholly white, some new idea seems to be required. To overcome the above situation, we introduce newly designed and constructed lighting marker (active 3D marker) that has LEDs inside in this section. The improvement of the proposed system was confirmed by conducting 3D pose estimation using dynamic images against turbidity and changing illu-mination in a simulated pool as shown in Fig. 8.1. Furthermore, sea docking experiment has also been executed to verify the practicality of the active marker. The experimental results have confirmed the effectiveness of the proposed docking system against turbidity

Fig. 8.1: The experimental set-up in the case of night-time condition: (a) ROV and an active marker in the simulated pool, (b) left and right cameras images from which the dotted circles represent the real-time estimated pose by the proposed system.

and illumination variation.

8.1 Docking Strategy

The continuously repeated docking experiments were conducted in the simulated pool and the actual sea. The design of the docking procedure as shown in Fig. 8.2 is discussed in this section with the detailed flowchart. The pool docking strategy is same as the sea docking strategy except the manual approach and the stay step that were developed after pool test. After performing the completion of docking step in the case of pool test, the ROV stops the visual servoing and stores the data files from memory into the hard disk.

After storing the data, the ROV performs the launching step by visual servoing.

Generally, the various sensors are used for long navigation until the target is in the field of view of the camera in ROV. In the sea docking experiment, the manual operation is necessary to appear the image of the target object in the field of view of ROV’s cameras.

The marker detection is defined by the control threshold fitness value experimentally.

Firstly, the ROV approaches the docking station by manually. The fitness value recognized by RM-GA is compared with the control threshold fitness value. If the recognized fitness value by RM-GA is lower than the control fitness value, it means that the ROV could not detect the 3D marker. When the recognized fitness value is higher than the control

fitness value, the proposed system switches from manual to automatic control of the visual servoing state. In the visual servoing state, the ROV is controlled by using the estimated relative pose of the vehicle with respect to the 3D marker. In this state, the distance between the ROV and the 3D marker is about 600 mm. Three main steps are performed in the sea docking experiment after the approaching step and visual servoing step.

Start

Fitness≥

threshold?

Visual servoing

Within allowance error level?

Docking (Decrease distance between

ROV and target) Docking

finish ? Count docking successful times Input voltage to ROV

for forward Data storing

Satisfy desired docking

times ?

Check Fitness

Fitness≥

threshold?

Count continuous time Continuous

5s?

Reset time Launching

(Increase distance between ROV and

target) Launching

finish ?

End Mode = Docking?

No

Changing mode to Docking No

No

No

No

No

No No

Yes

Yes

Yes

Yes

Yes Yes

Yes Yes

Docking step

Launching step

Stay step

Changing mode to Launching Data

storing

Data storing Approached by manually

until the object is in the field of view of the cameras Stop

Fig. 8.2: Flowchart of the docking strategy. In pool test, the manual approach and the stay step were not performed. After completion of docking step, the ROV stops visual servoing and stores the data files from memory into the hard disk.

ドキュメント内 Visual Docking of Underwater Vehicle (ページ 173-189)