Navigation Control of Remotely Operated Underwater Vehicle
Navigation Control of Remotely Operated Underwater Vehicle
Review IJSCRS
Abstract
The purpose of this study is to provide a brief overview of the software architecture and navigation
control of the Remotely Operated Underwater Vehicle (ROV) developed by undergraduate students of
Nirma University. It is equipped with various sensors like an Inertial Measurement Unit (IMU),
pressure sensor, temperature sensor, and two cameras. Eight thrusters were used to maneuver the ROV
and they were mounted in such a way that it makes the ROV capable of moving in all 6 degrees of
freedom with maximum stability. The ROV has two Arduino Mega microcontrollers and Nvidia-Jetson
TX2 as the main processing unit It can be controlled remotely over a LAN network from up to 60 meters
away from a remote PC. Furthermore, a detailed description of the system is being discussed here.
Keywords: IMUs, Multi-sensor Fusion, Nvidia-Jetson TX2, PID control, Remotely Operated
Underwater Vehicle (ROV)
INTRODUCTION
Navigation control of robots is a challenging task.
*Author for Correspondence Even when on the surface or underwater, movement
Krunal M. Bhatt
E-mail: [email protected] is only possible by operating remotely or
1
autonomously. An ROV stands for Remotely
Student, Department of Instrumentation and Control
Engineering, Institute of Technology, Nirma University, Operated Underwater Vehicle. It is linked to the
Ahmedabad, Gujarat India remote operator via a network of wires for data
2
Student, Department of Electrical Engineering, Institute of
Technology, Nirma University, Ahmedabad, Gujarat India
transmission. It can be deployed underwater in place
3
Student, Department of Electronics and Communication of human divers to carry out some specific tasks. It
Engineering, Institute of Technology, Nirma University, has a range of sensors, including cameras, light
Ahmedabad, Gujarat India
4
Student, Department Mechanical Engineering, Institute of sensors, SONAR, and so on and may have one or
Technology, Nirma University, Ahmedabad, Gujarat India
5
many manipulators to grab things, cut the objects or
Student, Department of Computer Science and Engineering,
Institute of Technology, Nirma University, Ahmedabad,
lift the stuff. It can be used in shipwreck inspection,
Gujarat India ship hull inspection, deep-sea study, ocean
6
Assistant professor, Department of Electronics and exploration and oil spills. Human divers are unable
Communication Engineering, Institute of Technology, Nirma
University, Ahmedabad, Gujarat India to go to such locations, hence it is preferable to send
7
Assistant professor, Department of Mechanical Engineering, a ROV instead. For the development of the ROV
Institute of Technology, Nirma University, Ahmedabad,
Gujarat India which can complete the competition tasks, an
interdisciplinary team of students is formed which is
Received Date: May 20, 2022
Accepted Date: June 10, 2022
mainly structured into three divisions like
Published Date: June 16, 2022 Mechanical, Software, and Electrical. The
mechanical division is responsible for hull design,
Citation: Krunal M. Bhatt, Nisarg N. Panchal, Ishika L.
Saijwal, Akshar Chauhan, Sanskruti Gondaliya, Akash waterproofing, gripper design, and fabrication of the
Mecwan, Mihir Chauhan. Navigation Control of Remotely structure. The software section is in charge of
Operated Underwater Vehicle. International Journal of Satellite
Communication & Remote Sensing. 2022; 8(1): 1–6p.
developing software such as GUI interfaces and
other user interfaces ROS programming,
establishing communication, gaining remote access to onboard computers, and underwater image
enhancement. While the electrical division looks after power delivery to each component, PCB
designing, and development of the kill switch. All the divisions have their assigned tasks but still, they
are integrated and united in one team with one goal.
LITERATURE REVIEW
[1] shows a simulation of adaptive control of a ROV as well as its implementation. Applications and
various technologies used in Autonomous Underwater Vehicles (AUVs) are described in brief [2].
Depth control using adaptive nonlinear controllers is achieved and its effectiveness is also documented
[3] This paper presents a novel method for managing the ROV's underwater Depth control being non-
linear due to numerous factors like disturbances, quality of water, the actual velocity of ROV, makes it
unreliable for autonomous operations underwater. These non-linearities are estimated by a feed-forward
neural network whose parameters are adjusted online according to a set of parameter estimation law.
The proposed techniques' use-case is supplemented by simulation examples and their results [4].
[5] shows some major challenges in offshore renewable technologies and how Remote Operated
Vehicles can help solve these problems effectively. The underwater mobile robots are to help humans
work in regions that are hard-to-access or help in surveying underwater sites or searching for an item
[6]. Remotely operated vehicles (ROVs) have established themselves as a key instrument for subsea
operations in support of the marine renewables sector, building on their long history in the offshore oil
and gas industries. [7]. Controlling the vehicle's depth up to a specified value underwater necessitates
the correction of disturbances that occur when the sensor's feedback on water pressure is taken. These
disturbances are responsible for the error in the final position of ROV Underwater on the Z-axis. To
rectify this, PID control is used, and its implementation is shown in [8].
In a simulated environment for the ROV (also known as Unmanned Underwater Vehicle), tests for
high and Shallow depth PID Control are shown. Here the disturbances generated from the waves are
considered accordingly and it is shown that for underwater control applications PID is accurate [9]. [10]
The constructed algorithm controller for forward-reverse and rise-sink is presented and discussed.
SYSTEM OVERVIEW
For the control of the vehicle underwater, VNC (Virtual Network Computing) is done, and A LAN
cable connects the remote screen to the MPU (JetsonTX2) for communication. A detailed block diagram
of ROV is shown in Figure 1. The Jetson is placed in the main hull and the input is given from the
remote PC to a python program running on the onboard computer. This then communicates the key
pressed to the Arduino Mega using serial communication at a specified baud rate. This python program
shows a GUI interface of the key pressed and also displays live images from both the cameras mounted
on the ROV as shown in Figure 2.
The left window shows the front camera output, and the right window shows the down-facing camera
output. While the key presses and sensor data are shown at the top.
This interface is visible to the remote PC. For forward motion ‘w’ key is used and for backward
motion ‘s’ key is used respectively, for lateral movement in the left direction, ‘a’ is used and ‘d’ key is
used for lateral movement in right direction. As for depth control, ‘i’ and ‘k’ keys are used, where the
former is used to decrease the depth, and the latter is used to increase the same. Moreover, the keys ‘q’
and ‘e’ are used to turn the ROV in the left and right directions. Underwater images tend to be degraded
as components of light with higher wavelengths get scattered near the surface and only higher
wavelengths can reach deeper in the water. Thus, everything appears to be having a shade of blue and
green. As a result, it's exceedingly difficult to tell apart various objects underwater, hence an underwater
image enhancing technique is included. It can be toggled ON or OFF using the ‘g’ key of the remote
PC and when it is at ON state this algorithm starts working and when it is on OFF state raw images
from the camera are visible. While reducing the intensity of blue and green components, this technique
uses normalization and histogram equalization of the image according to the average value of these
components. In Figure 3, you can see a comparison of raw and improved photos. A node that publishes
IMU is also developed with the aid of ROS (Robotics Operating System), pressure sensor data along
with the final PWM that is given to the thrusters from Arduino. This could also be done with the help
of serial communication, but it led to delayed outputs thus fastening the process ROS s used. To achieve
stability underwater and make sure that our ROV moves according to the given input used PID control
that is described below.
PID Control
The BNO055 IMU is used to determine the ROV's orientation (yaw, pitch, and roll), while the BAR30
pressure sensor is used to determine its depth. Initially when the ROV is powered on it is kept aligned
to the pool and the yaw, pitch, and roll angles are stored in a variable as a set point. This setpoint is then
compared to readings taken rapidly and then the error is calculated in orientation as the difference
between current angles and the set point. The proportional constant 'kp,' which is tuned during testing,
is multiplied by this error. The previous error is compared to the current error and divided by the time
difference between two readings to calculate the change in error over time. This is then multiplied with
the differential constant ‘kd’. A condition is kept such that the integral part comes into action only when
the error is less than plus or minus three degrees for fine-tuning. Such PID is also applied for depth
control.
If key ‘q’ is pressed, then the set-point is decreased by one degree and thus long-press results in a left
turn. Now the ROV stays aligned to this new set point. By following a similar procedure, the ROV turns
right. For depth control when ‘i’ is pressed at the remote PC then the depth setpoint is decreased by
10cm and thus error also changes and the ROV automatically aligns to the new setpoint with the help
of the PID loop. Thus, the ROV can dive and surface as per the requirement.
Electrical System
To control and power the thrusters, a PCB is designed on which all the eight ESCs are mounted along
with an Arduino Mega Microcontroller as shown in Figure 4. These ESCs are used to control the
thrusters. Two four-celled, 10000 mAh 14.8V Li-Po batteries are connected to PCB, where each battery
provides electric power to four thrusters. Another similar battery provides power to the Nvidia Jetson
TX2 through a buck-boost converter at 10V and 1.5A.
Kill Switch
The kill switch is mounted on the main hull, and it is used to kill the power to thrusters while keeping
the Nvidia Jetson and Arduino running. It uses two relays where each relay is connected to a battery.
The ROV has positive buoyancy, so it surfaces on the operation of the kill switch. These relays can also
be operated from the remote pc as they are connected to Arduino as well so this operation can be done
from outside the water as well as by using the physical switch mounted on the ROV underwater.
CONCLUSION
The navigation control of Remotely Operated Underwater Vehicles is discussed in this work using a
unique approach (ROV). This includes using an Ethernet cable for the remote screen viewing of the
onboard main processing unit of the ROV. Also, a customized GUI is made using python which enables
the user to map keys from the keyboard for operating the ROV. Furthermore, for the stabilization of the
ROV, PID control is implemented, and a customized PCB has been designed for the control of each
thruster with an onboard microcontroller. This novel approach is dynamic and can be implemented on
new underwater vehicle systems with minor changes according to the system.
Acknowledgement
The authors would like to express their sincere gratitude to the Institute of Technology, Nirma
University for providing all the necessary resources and funds for this research and development project.
Also, we would like to thank our faculty mentors, Dr. Mihir Chauhan and Dr. Akash Mecwan for their
valuable insights and guidance in the making of this project.
REFERENCES
1. Longhi, Sauro & Rossolini, A. (1989). “Adaptive control for an underwater vehicle: Simulation
studies and implementation details”. Proceedings of the IFAC Workshop on Expert Systems and
Signal Processing in Marine Automation, Lyngby, Denmark, pp271-280.
2. The technology and applications of autonomous underwater vehicles. UK. Taylor & Francis, 2003,
vol. 2
3. Ji-Hong Li, Pan-Mook Lee, Design of an adaptive nonlinear controller for depth control of an
autonomous underwater vehicle, Ocean Engineering, Volume 32, Issues 17–18, 2005, Pages 2165-
2181, https://doi.org/10.1016/j.oceaneng.2005.02.012.
4. Shi Y., Qian W., Yan W., Li J. (2006) Adaptive Depth Control for Autonomous Underwater
Vehicles Based on Feedforward Neural Networks. In: Huang DS., Li K., Irwin G.W. (eds)
Intelligent Control and Automation. Lecture Notes in Control and Information Sciences, vol 344.
Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-37256-1_29
5. J. Elvander and G. Hawkes, “ROVs and AUVs in support of marine renewable technologies,” in
OCEANS 2012 MTS/IEEE, Hampton Roads, VA, October 14-19, 2012.
6. Ahmed, Yasser & Yaakob, Omar & Sun, Bong. “Design of a new low cost ROV vehicle”, Journal
Technology (2012). 69. 10.11113/jt. v69.3262.
7. Elvander, J. & Hawkes, G. “ROVs and AUVs in support of marine renewable technologies”,
OCEANS 2012 MTS/IEEE: Harnessing the Power of the Ocean. Pp: 1-6. DOI:
10.1109/OCEANS.2012.6405139.
8. A. Z. Abidin, R. Mardiyanto and D. Purwanto, "Implementation of PID controller for hold altitude
control in underwater remotely operated vehicle," 2016 International Seminar on Intelligent
Technology and Its Applications (ISITIA), 2016, pp. 665-670, doi: 10.1109/ISITIA.2016.7828739.
9. Kylie Walker et al. “Investigating PID Control for Station Keeping ROVs”, 3rd UK-RAS
Conference, 2020. DOI: 10.31256/Ky3Xg3B, pp: 51-53.
10. O.W Zulkarnain et al. “Design and Development of Selam Drone Underwater ROV Maneuvering
Control”, Journal of Physics: Conference Series (2021). DOI: 10.1088/1742-6596/1874/1/012081.