Development of a Hovering-Type Intelligent Autonomous Underwater Vehicle, P-SURO

P-SURO(PIRO-Smart Underwater RObot) is a hovering-type test-bed autonomous underwater vehicle (AUV) for developing various underwater core technologies (Li et al., 2010). Compared to the relatively mature torpedo-type AUV technologies (Prestero, 2001; Marthiniussen et al., 2004), few commercial hovering-type AUVs have been presented so far. This is partly because some of underwater missions of hovering-type AUV can be carried out through ROV (Remotely Operated Vehicle) system. But the most important reason is of less mature core technologies for hovering-type AUVs. To carry out its underwater task, hovering-type AUV may need capable of accurate underwater localization, obstacle avoidance, flexible manoeuvrability, and so on. On the other hand, because of limitation of present underwater communication bandwidth, high autonomy of an AUV has become one of basic function for hovering AUVs (Li et al., 2010). As a test-bed AUV, P-SURO has been constructed to develop various underwater core technologies, such as underwater vision, SLAM, and vehicle guidance & control. There are four thrusters mounted to steer the vehicle's underwater motion: two vertical thrusters for up/down in the vertical plane, and 3DOF horizontal motion is controlled by two horizontal ones, see Fig. 1. Three communication channels are designed between the vehicle and the surface control unit. Ethernet cable is used in the early steps of development and program/file upload and download. On the surface, RF channel is used to exchange information and user commands, while acoustic channel (ATM: Acoustic Telemetry Modem) is used in the under water. A colour camera is mounted at the vehicle's nose. And three range sonar, each of forward, backward and downward, are designed to assist vehicle's navigation as well as obstacle avoidance and SLAM. An AHRS combined with 1axis Gyro, 1-axis accelerometer, depth sensor consist of vehicle's navigation system. In this chapter, we report the details of to date development of the vehicle, including SLAM, obstacle detection/path planning, and some of vehicle control algorithms. The remainder of this chapter is organized as follows. In Section II, we introduce the vehicle's general specifications and some of its features. Underwater vision for P-SURO AUV is discussed in Section III, and the SLAM algorithm in the basin environment is presented in Section IV. In Section V, we discuss some of control issues for P-SURO AUV. Finally in Section VI, we make a brief summary of the report and some future research issues are also discussed.


P-SURO AUV overview
As aforementioned, P-SURO AUV is a test-bed for developing underwater technologies.And most of its experimental tests will be carried out in an engineering basin in the PIRO with dimension of 12(L)×8(W)×6(D)m.Under these considerations, the vehicle is designed to be compact size with easiness of various algorithm tests (Li et al., 2010).The general specification of the vehicle is as Table .1.

Mechanical system
For the convenience of maintenance and also under the security consideration, we separate the battery system from other electronics systems, see Fig. 2. Main frame is made of AL-6061, fixing parts for camera and range sonar are made of POM.To increase the hydrodynamic mobility in the underwater horizontal plane, the open frame of vehicle is wrapped in a two-piece of FRP (Fibre-Reinforced Plastic) shell (Li et al., 2010).Throughout its underwater missions, P-SURO is always keeping zero pitch angle using two vertical thrusters.With this kind of stability in its pitch dynamics, the vehicle's horizontal 3DOF motion is steered by two horizontal thrusters.From control point of view, this is a typical underactuated system.And how to design path tracking or following scheme for this kind of underactuated system has become one of most intense research area in the nonlinear control community (Jiang, 2002;Do et al., 2004;Li et al., 2008b).

Sensor, thrust, and power system
For underwater vision, there is one colour camera mounted at the vehicle nose.And three range sonar (forward, backward and downward) are mounted on the vehicle.There sonar are designed for obstacle detection and also for assisting vehicle's underwater localization.For P-SURO AUV, we design a relatively simple but low grade of inertial navigation system which consists of AHRS, 1-axis Gyro, 1-axis accelerometer, one depth sensor.SeaBotix BTD-156 thrusters are selected to steer the vehicle's underwater motion.This is a small size underwater thruster with 90W of average power consumption.For power system, the calculated total power consumption of vehicle system is about 450W.And correspondingly, we design the 1.2kW Lithium Ion battery system, which can support more than two hours of the vehicle's underwater continuous operation.The overall sensor & thrust system for P-SURO AUV is listed in Table .2.

Embedded system
Three of PC104 type PCM3353 SBCs (Single Board Computers) are chosen as core modules, each of vision, navigation, and control.PCM3353 SBC provides 4 RS232 channels plus 4 USB channels.And using these USB channels, we can easily extend the necessary serial channels (RS232/422/485) using proper USB to serial converters.PCM3718HG analogue and digital I/O board is used for various peripheral interface.In addition, two peripheral boards, including DC/DC converter system, magnetic switch circuit, leakage detection circuit, are also designed.Fig. 3 shows the inner view of electronic pressure hull.

Software architecture
As aforementioned, we choose Windows Embedded CE 6.0 as the near real-time OS for three of core modules; vision module, navigation module, and control module.For this, we design three different WinCE 6.0 BSPs (Board Support Package) for each of three core modules.Furthermore, these three core modules are connected to each other through Ethernet channel, and constructing a star topology of network structure.
Software frame for each core module consists of thread-based multi tasking structure.For each module, there are various sensors connected through serial and analogue channels.And these serial sensors, according to their accessing mechanism, can be classified into two types: active sensor (frequently output measurement) and passive sensor (trigger mode).For these passive sensors as well as analogue sensors, we read the measurements through Timer( ) routine.And for each of active sensors, we design a corresponding thread.In most of time, this thread is in Blocking mode until there is measurement output.And this kind of real-time sensor interface also can be used to trigger other algorithm threads.For example, in the navigation module, there is a thread designed for interfacing with AHRS sensor (100kHz of output rate).After accessing each of attitudes, gyro, and accelerometer output measurement, the thread will trigger Navigation( ) thread.Moreover, some of these threads are cautiously set with different priority values.
As with the most of other AUVs so far, the P-SURO AUV has the similar overall software frame, which can be divided into two parts: surface remote control system and the vehicle software system.For surface system, the main functions of it are to monitor the vehicle and deliver the user command.According to the user command (mission command in this case), the vehicle will plan a series of tasks to accomplish the mission.For P-SURO AUV, its most experimental field is in a small cuboid.In this kind of environment, it is well known that underwater acoustic channel is vulnerable.For this reason, the vehicle is required to possess relatively high level of autonomy, such as autonomous navigation, obstacle avoidance, path planning and so on.From the control architecture point of view, the software architecture of P-SURO AUV can be classified into hybrid architecture (Simon et al., 1993;Healey et al., 1996;Quek & Wahab, 2000), which is a certain combinaiton of hierarchical architecture (Wang et al., 1993;Peuch et al., 1994;Li et al., 2005) and behavioral architecture (Brooks, 1986;Zheng, 1992;Bennett, 2000).As aforementioned, because of the limitation of underwater acoustic communication in the engineering basin in PIRO, it is strongly recommended for the vehicle to selfaccomplish its mission without any of user interface in the water.For this consideration, the control architecture of P-SURO AUV is featured as a behavioral architecture based hybrid system (see Fig. 4).

www.intechopen.com
If there is a pattern appeared in a certain area in front of the vehicle, the vision module will recognize the pattern and transmit the corresponding vehicle's pose information freqeuntly to the control module for aiding of path planning.According to the received mission command (user command is usually delivered to the vehicle on the surface through RF channel), the control module arranges a series of tasks to accomplish the mission.Also, this module carries out various thruster controls and other actuator controls.The main task of the navigation module is to carry out the real-time navigatin algorithm using acquired attitude, gyro, and accelerometer measurements.Other information including range sonar, depth sensor, underwater vision are served as aiding information for this inertial navigatin system.

Vision-based underwater localization
Visual localization methods usually can be classified into two types: one is based on natural feature points around the environment for recognition of robot pose, and the other one is using artificial landmarks which are usually known patterns pre-installed in the environment (Oh et al., 2010).PIRO engineering basin is surrounded by flat concrete walls, and it is difficult to extract specific feature points.For this reason, we use artificial landmark for visual localization of P-SURO.

Artificial landmarks
For P-SURO AUV, the main purpose of underwater vision is to provide localization information for the vehicle's path planning task.In the path decades, vision has become one of most intense research area in the robot community, and various artificial landmarks and corresponding recognition methods have been developed (Hartley & Zisserman, 2000).The pattern designed for P-SURO AUV is shown in Fig. 5, which consists of two rectangles and two sets of four dots with the same cross-ratio.The large number in the centre is used for distinguish the pattern (Li et al., 2010).The eight dots in the pattern contain 3D pose information.For extracting these dots, we use the cross-ratio invariant, which is a basic projective invariant of perspective space (Hartley & Zisserman, 2000).The cross-ratio is defined as following where = .
Fig. 6.Cross-ratio in the projective space.
The eight dots in the pattern contain 3D pose information.For extracting these dots, we use the cross-ratio invariant, which is a basic projective invariant of perspective space (Hartley & Zisserman, 2000).The cross-ratio is defined as following The cross-ratio value defined in (2) is invariant under any projective transformation of the line.If = × , then ′ , ′ , ′ , ′ = , , , .As shown in Fig. 6, suppose the plane π is the pattern and the plane π′ is the projected pattern image, then four dots on the line have the same cross-ratio with the four dots on the line ′.Using this invariant, we can find the match between pattern dots and its image projection.

Auto-calibration of underwater camera
It is difficult to directly calibrate the camera in the underwater environment.For this reason, we apply a camera auto-calibration method using cross-ratio invariant (Zhang, 2000).If we denote the pattern point as =[ , , ] and the image point as ′ = [ ′, ′, ] , then the relationship between them is given by where is an arbitrary scale factor.In (3), homography is defined as where is a scale factor, , are part of rotation matrix =[ ], is a translation matrix and is a camera intrinsic matrix.If camera moves, each matching point from the scene makes a homography.We can get the camera intrinsic matrix from homography (Zhang, 2000).
Given the camera intrinsic matrix and the homography in the image, we can get the three-dimensional relationship between the pattern and the camera (robot) using following equations (5)

Lab-based evaluation
To evaluate the developed vision algorithm, we carry out a series of ground tests.Fig. 7 shows the test results.First, eight dots in the pattern are extracted from the image (Fig. 7-a).And Fig. 7-b shows the selected images for camera auto-calibration, and extracted camera pose is shown in Fig. 7-c,d.While evaluating the performance of proposed visual localization method, we mainly consider two points: one is the pattern recognition rate, and the other one is the accuracy of pose estimation.For pattern recognition rate, we arbitrarily move the camera and take 306 images.150 of them are correctly recognized, 85 are failed to recognize, 61 are blurred because of camera movement, and 10 do not include the full pattern.Except 61 blurred images and 10 of missed-pattern images, the recognition rate is about 64%.However, consider the fact that about half of the non-recognized images are rotated more than 40 degrees from the pattern, the recognition rate is about 81%.
To evaluate the accuracy of pose estimation, we fix the camera and locate the pattern at 12 known positions between 400mm to 700mm distance.Calculated average pose estimation error is 0.155mm and the standard deviation is 1.798mm.

Camera underwater test
Given a pattern (landmark) and a camera, then the minimum and maximum pattern recognition range can be predetermined.And this information will be used for vehicle's underwater path planning.Under this consideration, we carry out a series of test measuring the minimum and maximum recognition range both in the air and in the water.Test results are shown in Fig. 8 and 9, from which we can see that the maximum recognition range in the water is approximately half of the one in the air.For the safety consideration, we force the vehicle to keep from the basin wall at least 1.5m throughout the various basin tests.

SLAM using range sonar array
In the past decades, SLAM (Simultaneous Localization and Mapping) has been one of most hot issues in the robotics community (Leonard & Burrant-Whyte, 1992;Castellanos & Tardos, 1999;Thrun et al., 2005).SLAM problems arise when the robot does not have access to a map of the environment; nor does it have access to its own poses (Thrun et al., 2005).
For P-SURO AUV, as aforementioned, most of its underwater operations are carried out in the engineering basin in PIRO.For this reason, we have designed a relatively simple SLAM method with partially known environment.

Range sonar model
There are three Micron Echosounder @ Tritech (6 o conical beamwidth with 500kHz operating frequency) mounted on the vehicle; each of forward, backward, and downward.Because of their narrow beam-angle, we apply simple centreline model (Thrun et al., 2005) for all of these sonar behaviour.Throughout its underwater operation, the vehicle is forced to keep away from the basin wall at least 2m.In this case, the maximum range error is about 2.2m (d M in Fig. 10).Another significant error source is misalignment of range sonar with AHRS.For vehicle's dynamics, we observed that the yaw angular velocity of P-SURO was less than 10 o /s.Consider the 1500m/s of acoustic velocity in the water, 10 o /s of yaw motion may cause less than 0.1 o of azimuth error.Therefore, the effect of vehicle dynamics on the range measurement can be neglected.
To investigate the range sonar behavior in a basin which is of a small cuboid, we performed a simple test where the vehicle is rotated (about 7.6 o /s) several cycles with the center at the same point.Throughout the test, we force the vehicle to keep zero pitch angle.The resulted basin profile image is shown in Fig. 11, from which we can see that closer to the basin corner, more singular measurements are occurred.

Obstacle detection
At any point , , , through rotating the vehicle on the horizontal plane, we can easily get a 2D profile image of basin environment, see Fig. 12.And for 3D case, we simply extend the horizontal rotating motion with constant velocity of descent/ascent motion and get rough 3D profile image, see Fig. 13.According to this profile image, we detect the obstacle and further design corresponding vehicle path.The obstacle block A in Fig. 12

Path planning
Path planning is an important issue in the robotics as it allows a robot to get from point A to point B. Path planning can be defined as "determination of a path that a robot must take in order to pass over each point in an environment and path is a plan of geometric locus of the points in a given space where the robot has to pass through" (Buniyamin et al., 2011).If the robot environment is known, then the global path can be planned off line.And local path planning is usually constructed online when the robot face the obstacles.There are lots of path planning methodologies such as roadmap, probability roadmap, cell decomposition method, potential field have been presented so far (Choset et al., 2005;Khatib, 1986;Valavanis et al., 2000;Elfes, 1989;Amato & Wu, 1996;Li et al., 2008a).For P-SURO AUV, there is only one range sonar mounted in front of vehicle.To get a profile image of environment, the vehicle has to take some specific motions such as rotating around it, and this usually takes quite an amount of time.In other word, it is not suitable for the vehicle to frequently take obstacle detecting process.For this reason, we design a relatively simple path planning method for autonomous navigation of P-SURO AUV.Consider the ).In the case of ≤ , the vehicle will take descent motion as shown in Fig. 13 until ℎ = ℎ .Here (see Fig. 13) is a design parameter.And in this case, the target point is set to = , ,ℎ .

Basin test
To demonstrate the proposed vision-based underwater localization and the SLAM methods, we carried out a series of field tests in the engineering basin in PIRO.

Preliminary of basin test
In its underwater mission, the vehicle is always forced to keep zero pitch angle.And in the horizontal plane, we design the vehicle's reference path to be always parallel to the axis X or axis Y, see Fig. 12.In this case, at any point, the vehicle's position can be easily got through simple rotation mode.However, considering the fact that the vehicle does not keep at the same point through its rotation, in other word, there is a drift for the vehicle's position in the rotating mode.So, though the accuracy of range sonar measurement is in the centimetres level, the total position error for this kind of rotation mode is significant.Through a number of basin tests, we observe that this kind of position error is up to 0.5m.Consider this kind of forward/backward motion; the vehicle's forward/backward velocity can be calculated using range sonar measurements.For this purpose, the following filter is designed for acquisition of range sonar raw measurements where and denote each of filtered and raw measurements of range sonar, and is filtering order.The filtering results can be seen in Fig. 14.Another important issue for the basin test is about vehicle's AHRS sensor.The engineering basin in the PIRO is located in the basement of building, which is mainly constructed by steel materials.In this kind of environment, because of heavy distortion of earth magnetic field, AHRS cannot make proper initialization and Kalman filter compensation process.Therefore, there is significant drift in the AHRS heading output.However, fortunately, there is high accuracy 1-axis Gyro sensor horizontally mounted on the vehicle for the motion control purpose.And we estimate the vehicle's heading value using this Gyro output, whose bias value is also evaluated through lots of basin tests.Fig. 15 shows the comparison of these measurements.

P-SURO SLAM
To demonstrate the SLAM method proposed for P-SURO AUV, we perform the following three autonomous navigation tests: a) without obstacle, b) with one obstacle, c) with two obstacles, see Fig. 16.The autonomous navigation mission can be divided into following four phases , where ℎ is defined in Fig. 13 .Autonomous navigation with obstacle avoidance and underwater pattern recognition test results are shown in Fig. 17.Through these field tests, we found that the proposed SLAM method for P-SURO AUV shown a satisfactory performance.Also, we found that the aforementioned drift in the vehicle's rotating motion is the main inaccuracy source of both the navigation and the path planning (specially, in the calculation of with = , , in Fig. 12).

Summary and future works
Recently, how to improve the vehicle's autonomy has been one of most hot issues in the underwater robotics community.In this chapter, we have discussed some of underwater intelligent technologies such as vision-based underwater localization and SLAM method only using video camera and range sonar, both of which are relatively cheap underwater equipments.Through a series of field tests in the engineering basin in PIRO using P-SURO

Fig
Fig. 1.P-SURO AUV and its open frame.

Fig. 9 .
Fig. 9. Test results is modelled as , with obstacle start point and the end point.Here =| | and is yaw angle of with = , , .In the case of the vehicle facing point a and c, if | | = | | − | | > where = is a design parameter, then point a is taken as the start point of an obstacle.And in the case of b and d, if | | = | | − | | > with = , then b is taken as the end point of the obstacle.

Fig. 12 ,
to get to the point = , , ℎ , the vehicle will turn around at start point .According to detected obstacle A(a, b), we calculate , and =max { , }.If >with design parameter, then we design the target point as = .12, in this case, we assume > and >

Fig. 16 .
Fig. 16.Test environment and corresponding range sonar profile images.Obstacle Detecting Phase: At start point = , , , =(3m,4m,1.5m,90 o ), the vehicle turn a half cycle counter-clock wisely.In this period, the vehicle detects the obstacle using forward range sonar.Path Planning Phase: According to the profile image got from the Obstacle Detecting Phase, the vehicle designs a target point = , , , .Vision-based Underwater Localizing Phase: While approaching to , the vehicle recognizes the underwater pattern, from which defines the end point = , − , − , .Here , , denotes the vehicle's current position, and , , is the vehicle's pose information acquired from pattern recognition.Homing Phase: After approaching , or failed to recognize the pattern, the vehicle returns to along with its previous tracking trajectory.