Design and development of Spaiser remotely operated vehicle

Design of new unmanned underwater vehicles (UUVs) is a continuous process since decades, where finding an optimal design for a specific application is still a challenging subject. New inspection class category remotely operated vehicle (ROV) is developed to overcome some disadvantages of existing ROVs of the same category. It has been taken into consideration in the new design to be small, capable of maneuvering freely in 6 DOF, closed-hull body of minimum water resistive forces, low-cost components which work with high integration, one-duct tether (at low cost) and software program to be used with any PC instead of special control station. Detailed design of the internal network that combines sensors, thrusters’ controllers, and camera of the ROV is shown and smart communication architecture between the ROV and the control station is also introduced. Finally, in the computer layer, many aspects are discussed including communication protocol between the control station and the ROV, high-precision orientation angles calculation using inertial measurement unit (IMU), heading calculation of the ROV, and GUI of the control station.


Introduction
Exploring the underwater environment was and still a challenging subject that has not been solved yet. The veg size of seas and oceans and the variety of possible application that can be done in the underwater environment makes the design of new unmanned underwater vehicles (UUVs) a continuous process. UUVs can be classified into two categories: autonomous underwater vehicle (AUV) or remotely operated vehicle (ROV), and each of categories can be classified according to their function into two classes: intervention and inspection [1,2]. This research focuses on developing a new inspection class category ROV that overcomes some disadvantages of existing ROVs of the same category. Among different designs, UUVs which are controlled using vectorial thrust (VT) propulsion systems are promising [3]. In VT propulsion systems, it is possible to drive and steer the vehicle only using fixed thrusters (FT) and/or reconfigurable thrusters (RT). The commonly used configuration in UUVs' motion control is done by multi FTs [4][5][6][7]. Some designs use single or few RTs or even combinations of both types [3,8,9]. This allows designers to use less number of thrusters; however, the additional mechanisms of RT will reduce the reliability of the system and more complicated motion control is required.
The usual layout of UUVs' planner motion control is the X layout, where 4 FT located at corners of rectangle or square and tilted with some angle [1][2][3]. The tilt angle divides thrusting force into two components, namely the Cosine components for forward-backward motion and Sine components for right-left motion. For depth control, FTs are usually supported at the UUV's body with horizontal alignment; but also there are some UUVs use tilted thrusters for more maneuverability [10]. The multi FT layout will provide the UUV system with efficient and reliable maneuverability, where the super position of thrust components will direct the UUV to move in a certain direction. UUV's designers assign values for tilt angle according to different aspects including the UUV design, the required balance between thrust components, and the scope of application.
For any system, some design consideration should be taken into account such as reliability, affordability, maintainability, and usability (human factor) [11].. In general, the most important requirements for the development of inspection class category are to increase their maneuverability and reduce their energy consumption and costs, where those three parameters are addressed in details. Maneuverability is mainly affected by two factors: thrusters and body design (shape, size, dry room and air tanks), energy consumption is mainly affected by water resistive forces (drag, lift and shift) during motion, and cost affected by the selected components of the system.
Using of RT will increase ROVs' maneuverability with fewer thrusters; however, using of FT will reduce the design complexity and increase their reliability [11] due to less moving parts in which makes this configuration a favorite selection by many ROVs designers. To guarantee the highest level of maneuverability, it was reported that at least 6 FT are required for maneuvering in 6 degrees of freedom (DOF) [1] which are Y, X, Z, pitch, roll, and yaw. However, it is noticed that not all 6 DOF designs are capable of rotating freely around rotation axes. UUVs with air tanks at their top [12][13][14] are not capable of rotating freely around their entire axis because of resistive torque which is generated by those air tanks to keep the UUV at planer orientation. Spherical UUVs [15,16] systems can rotate freely around rotation axes because their Center of Mass is usually located at the center of the body. Furthermore, there exist some UUVs which are not spherical and capable of rotating freely around their axis as their dry room is located at the center of the body and no additional air tanks exist [1,17]. Open-hull body design [12][13][14] might have less water resistive forces than closed-hull designs [14 -17]; however, closed-hull designs will be much reliable during navigation because the chance of being hooked by any object in the working environment is little. For power supply and communication with the control station, ROVs either use single-duct tether that has separate wires for power and communication or multi-duct tether where power wires and communication wires are in different ducts. The first option is relatively expensive compared to the second one; however, it will allow more free motion for the ROV.
This research focuses on developing a new inspection class category ROV of 6 DOF that overcomes some disadvantages of existing ROVs of the same category in both design and function. It has been taken into consideration in the new design to be in small size, capable of maneuvering freely in 6 DOF, closed-hull body with minimum resistive forces, low-cost components, one-duct tether at low cost with smart multiplexing of power lines and communication signal, and software program to be used with any PC instead of specialized control station. The current manuscript focuses on the design and implementation of this new ROV (which is called Spaiser) from end-to-end. Because the required specifications depend on each other, all development layers are addressed in details including: physical layer, mechanical layer, electrical/electronic layer, and computer layer.

Physical layers
Physical layer of Spaiser composed of two parts namely: the core, which the dryroom that contains circuits and instruments, and the outer-shell, which forms the external body of Spaiser and used for supporting thrusters in desired location and orientation. The core's body and sealing ring are made of polyethylene with thickness of 10 mm in the average that allows Spaiser to resist water pressure for many meters under the water surface. The core's dome is made of transparent polyethylene material of 8 mm thickness which resists water up to 300 m ( Fig. 1). There exist 7 holes at the back of the core for passing thrusters' cable inside the core, in addition to a top hole for the tether. Cables are sealed using water resistive brass glands PG11 with IP68 rating that resist water pressure up to 5 bars (about 50 m). The outer-shell is mainly used to combine the core and thrusters together, where the size of Spaiser is 680 × 580 × 180 mm. The outer shell is not water resistive, and it is composed of top and bottom covers which are produced using ABS layer of 3 mm in thickness by thermoforming (Fig. 2). The total density of Spaiser (including all components inside the core) is almost equal to water density. This allows Spaiser to dive under the water surface at minimum power consumption.
The symmetric and compact design makes Spaiser's center of gravity being located at the centroid of the front 6 thrusters (Fig. 3).
The center of gravity point is considered the origin of Spaiser's local coordinate frame. This makes it easy for Spaiser to rotate around any axis freely at minimum effort and then capable of maneuvering freely in all the 6 DOF.

Mechanical layer
Spaiser is navigating using seven FT propulsion system of type ETR100 (ETR100 is custom-made thruster). The seven thrusters are arranged as the following: 3 vertical thrusters (vertical-front-left (VFT), vertical-front-right (VFR), and vertical-rear-mid (VRM)) which are used mainly for vertical motion control (translation along the local Z axis) and horizontal balance (pitch and roll) and another four thrusters (front-right (FR), front-left (FL), rear-right (RR), and rear-left (RL)) which are used mainly for planner motion control (translation along the X and Y axes and yaw) in which give six DOF to Spaiser (Tables 1 and 2).

Electrical and electronic layer
Electrical and electronic layer is divided into two parts off-board, which is the control station, and on-board, which is the ROV itself (Fig. 4).
The maximum power ratings of ETR100 thruster is almost 192 Watts (12 VDC × 16 amp.). For 7 thrusters the total power consumption would require at most around 1350 Watts and with additional 150 Watts for other circuits and devices on-board, the total power becomes 1500 Watts. Using 12 VDC power supply will require a very thick cable as it would transfer around 125 Amps. A better and more effective solution is to use a 50 VDC power-supply which will require around 30 Amps, and then a much thinner cable can be used.
For the communication between the off-board control station and Spaiser, power line network adapters are used to exchange Ethernet packets over the same power supply cable, which in turn allows more free motion.
On-board microcontroller (Arduino Mega board) is used to control the system's thrusters using an array of Electronic Speed Controllers (ESC) unites where each is accompanied by temperature sensor (tFR, tFL, tVRM) for monitoring their temperature. Furthermore, there exist a set of sensors on-board to monitor many criterions during navigation inside and outside Spaiser. The first and the most important is the inertial measurement unit (IMU) that has an accelerometer which measures linear acceleration signals on three axes in space, and a gyroscope, which can output angular velocity signals on three axes in space. As Spaiser can rotate around any axes, IMU is employed to calculate orientation angles during motion. The second essential sensor is depth sensor  where it measures water head pressure outside the body and calculate depth accordingly. This is in addition to magnetometer that shows navigation heading, internal temperature sensor (Tmp) to monitor overheating inside the core that can cause damages to internal circuits, and leakage sensor (Lkg) to report any possible water penetration to the core.
Spaiser is equipped with an IP camera that is supported on a pan-tilt base. IP camera is streaming directly to the control station via network switch and then to power line network adapter. The pan-tilt base is controlled by the on-board microcontroller module according to commands from the control station.

Computer layer
The computer layer is also divided into two parts, in the control station and in the onboard microcontroller module. The control station is composed of two things: a computer with LAN adapter and a joystick. Software has been developed for the station to handle GUI and receiving command from the joystick. On the other hand, the onboard microcontroller module software is used to manage both the controls and then sensors of Spaiser.
There are two communication pathways in Spaiser; the first communication pathway is between the control station's GUI and the IP Camera, where commands from the GUI to the camera and streaming of the camera to the GUI are handled separately from other functions. The second communication pathway is handled using a custom protocol between the control station and the on-board microcontroller, where a communication packet from the control station to the on-board microcontroller has user control commands and communication packet from the on-board microcontroller to the control station (which is also considered the acknowledgment packet that synchronize the communication) contains data derived from sensors' readings ( Fig. 5).
At the beginning, the control station sends an initialization command to check the status of the Spaiser. Once positive acknowledgment packet is received then communication of command packet can be sent continuously. If negative or no acknowledgment packet is received after timeout, the control station's GUI will report that error. Communication packets exchange is done using UDP/IP protocol, where Spaiser's communication packets are sent as the payload field. For estimating the orientation angles, there exist two regular approaches, either using the brute-force approach or using quaternion-based approach. In the first approach, extended Kalman filter is used for estimating the orientation using a MARG (magnetic, angular rates, gravity) sensor. In the second approach, complementary filter is used for estimating the orientation using accelerometer and gyroscope as quaternion [18]. The second approach is used because it is much less complicated than the first approach and result a linear state space model.
For accurate and stable estimate of orientation angles, there are two issues to be considered: first, measurements of gyroscope are relatively not affected by small vibrations; however those measurements are drifting from the real situation after short while. The other issue is related to accelerometer gravitation direction readings which provide relatively accurate readings, but it is very sensitive to small vibration. To obtain stable and accurate results for orientation, it is required to combine both sensors' readings using a complementary filter. In this case, an estimate of the system attitude expressed as a unit quaternion can be calculated as the following [19][20][21]: g ¼ a j a j ¼ g x g y g z Where g is the measured gravitational vector from accelerometer reading,ĝ is the estimated gravitational vector, e is the relative error between the measured inertial direction g and the predicted gravitational vector directionĝ, k P , and k l are filter constants, δ is an innovation in the filter equation generated by a proportional-integral,q is the estimated previous quaternion and P is the pure quaternion operator.
The MPU60X0 IMU [22] contains a built-in digital motion processor (DMP) with programmable filters (for accelerometer, gyroscope and temperature sensor) which fuses the accelerometer and gyroscope data together to minimize the effects of errors inherent in each sensor using complementary filter, and it computes the results in terms of quaternions.
The orientation of local-coordinate frame of Spaiser with respect to the worldcoordinate frame can be represented using Cardanian angles (also known as Tait-Bryan angles or Roll, Pitch, and Yaw angles) in the Euler XYZ rotation sequence using the following equations [23,24]: Magnetometer is used mainly to report the heading direction of Spaiser [24]. Spaiser heading can be obtained from the following equations: Heading Finally, depth is calculated according to the static fluid pressure equation: Where p is the water pressure and can be calculated from force sensor reading, ρ is the water density, g it earth's gravitational acceleration constant and h is the depth.

Results
CFD simulation with OpenFOAM [25] has been used to simulate surface pressure of Spaiser in straight line motion. Spaiser's 3D model has been inserted inside a tube of 2000 mm in diameter and 4000 mm in length. Water flow in the tube was fixed at a magnitude of 10,000 mm/s. Then pressure drag is generated by the resolved components of the forces due to pressure acting normal to the surface at all points. It is computed using ParaView [26] utility as the integral of the flow direction component of the pressure forces acting on all points on the body. The CFD simulation results shows that Spaiser's body design is smooth and has relatively low pressure force except for the dome and thrusters boundaries (Fig. 6). Also streamlines shows the smoothness of the body specially the inlet and the outlet of planner motion thrusters.
Due to the symmetric design, lifting force and shifting force are very small compared to the drag force when Spaiser moves in a straight line. According to the used simulation parameters, drag force scores − 1.6 N, shifting force scores − 0.108 N (6.8% compared to drag force) and lifting force scores 0.01 N (0.6% compared to drag force).
Roll, Pitch, and Yaw angles have been calculated from raw accelerometer data and raw magnetometer data in addition to gyroscope-accelerometer quaternion-based calculations, where the last shows more stable results (Fig. 7). For some test samples at initial location where all angles are zeros, Magnetometer's Yaw (M_Yaw), Accelerometer's Pitch (A_Pitch) and Accelerometer's Roll (A_Roll) scores 0.36 ± 0.66, 0.09 ± 0.03, and − 0.05 ± 0.03 respectively; while quaternion-based calculations for Yaw Pitch and Roll scores − 1.17 ± 0.05, 0.08 ± 0.01, and − 0.05 ± 0.01 respectively. Graphs and standard deviation in both cases show that quaternion-based calculations produce more stable results than raw data calculations. The graphical user interface (GUI) of the control station has been developed using Sharp-Develop IDE (GNU). OpenCV framework has been used to handle camera communication (Fig. 8). On the control station's GUI camera stream, tilt angles, compass, depth, warnings panel, etc.

Discussion
Modification of the core thickness and material properties to handle more water depth is applicable all the time. The used glands are PG11 (IP68) which can resist water up to 50 m can be replaced by other glands which allow more depth.
Most of the time Spaiser is not working at its maximum power ratings so much less current will pass through the cable. For stranded cable of 20 m, AWG 3 (25 mm 2 ) would be enough. However, it is important to reduce the thickness of the cable as much as possible for a reduced motion resistance because of cable.
Too much use of any thruster for long time will rise its ESC's temperature in a way that might affect its performance and operation in Air might lead to malfunction of thruster's motor if this last for long time. Monitoring ESCs' temperatures will allow smart action to be taken, such as limiting the maximum speed to a smaller value until the situation becomes stable.
There are some reserved bytes in both command and acknowledgment packets for future upgrade of Spaiser such as addition robotic arm(s) or additional sensors (e.g., sonar).
Currently, one IP camera is used; however, other cameras can be added easily by plugging them to the on-board LAN switch for different viewing angles or for stereo vision system.
The brute-force approach measurement equations become extremely complicated and nonlinear after rotations to the measurement vector, which make the quaternionbased complementary filtering approach has more advantage because it is less complicated and linear.
Graphs and standard deviation calculations for Yaw-Pitch-Roll show that quaternionbased calculations produce more stable results than raw data calculations. Calculating Yaw using quaternion of gyroscope-accelerometer fusion without fusing magnetometer and gyroscope data has very small drift (almost 0.3%); however, it is of much low processing power. It would be useful to determine the location of Spaiser during navigation. However, as electromagnetic waves cannot penetrate the water, then Global Position System (GPS) will not work under the water surface [27]. When IMU sensor is used to estimate Spaiser's position by double integrating the linear acceleration with respect to time change, error in position estimation reach many meters in few seconds which make it not practical in determining position however, depth measurement which is obtained from the pressure sensor provides accurate reading. There exist some methods which can estimate position with low error; however, this is left for further investigation as future work.

Conclusions
A new remotely operated vehicle (ROV) has been developed using multiple fixed thrusters (FT) from end-to-end. This includes physical body implementation that includes four tilted thrusters for planner motion in addition to three thrusters for depth control and balance handling in which providing the ROV with 6 degrees of freedom (DOF). Also detailed design of electrical/electronic layer has been discussed, a smart communication architecture that links the control station with the ROV by multiplexing communication signal over the power-supply cable has been introduced, in addition to the internal network of sensors, thrusters' controllers, and camera. Finally, many aspects has been discussed in the computer layer, including GUI of the control station, communication protocol between the control station and the ROV, high-precision orientation angles calculation using inertial measurement unit (IMU), heading calculation of the ROV, and other necessary parameters for the ROV operation.