The paper presents the design of a hardware in loop (HIL) simulator for the vertical motion of an autonomous underwater vehicle (AUV) operating under identical vertical thrusters. The thruster mathematical modelling along with the dynamic model of the AUV for its vertical motion is presented. The HIL simulates ocean currents of different speeds and direction at different depth ranges which displays how the AUV drifts from its initial dive position. A Graphical User Interface for the hardware in loop simulator is built on C# which provides various controls over the simulator like modifying the water currents, its initial dive location, maximum diving depth. The GUI is given a serial input (control voltage) which simulates the thruster and the two serial outputs- depth and altitude (or pressure at the depth) are used to study the behavior and motion of the AUV in the vertical direction, whereas the simulated ocean currents helps us to monitor the motion of the AUV in the horizontal direction.
Abstract
—The paper presents the design of a hardware in loop (HIL) simulator for the vertical motion of an autonomous under- water vehicle (AUV) operating under identical vertical thrusters. The thruster mathematical modelling along with the dynamic model of the AUV for its vertical motion is presented. The HIL simulates ocean currents of different speeds and direction at different depth ranges which displays how the AUV drifts from its initial dive position. A Graphical User Interface for the hardware in loop simulator is built on C♯ which provides various controls over the simulator like modifying the water currents, its initial dive location, maximum diving depth. The GUI is given a serial input (control voltage) which simulates the thruster and the two serial outputs- depth and altitude (or pressure at the depth) are used to study the behaviour and motion of the AUV in the vertical direction, whereas the simulated ocean currents helps us to monitor the motion of the AUV in the horizontal direction.
I. Introduction
Hardware in loop simulators (HILS) have now existed over twenty years and have proven to be a well established technique used in design and evaluation of various real time systems. For the design, implementation and testing of control systems hardware-in-loop (HIL) simulation is increasingly being required[4], where some of the control-loop components are real hardware, and some are simulated. These simulators are normally designed when the real process is very costly or requires ample time to be realized on hardware[5]. On the other hand Autonomous Underwater Vehicles (AUV) are complex and powerful systems capable of performing under- water (shallow and deep sea) tasks like bathymetry profiling, collection of marine data, detection of faults in pipelines etc [1],[3]. Such a system requires a good amount of money and time to be realized, also its testing requires the correct resources and environment. Thus developing a HILS for the AUV proves to be an economical solution through which we can test the dynamic model of its motion underwater and then design for it a suitable control system. In this paper we concentrate on modelling its motion in the vertical direction under various forces like gravitational force, drag force, buoyant force and thrust force (due to vertical thrusters). We present a mathematical model for the thruster[2] which depends on a control voltage or actuator value and then using the free body equations design a non linear dynamic model for its motion. We simulate this motion of the AUV in an ocean environment where water currents are present in the horizontal direction. This helps us to monitor the movement of the AUV not only in the vertical plane but also in the horizontal plane. The HILS provides various control parameters like the speed and direction of the water currents, initial dive location (in geodetic coordinates) and the maximum depth up to which the AUV can dive. A GUI for the HILS is also built which helps us to visually observe the movement of the AUV both in the vertical as well as in the horizontal plane. The GUI also provides other various controls such as changing the control parameters, logging of HILS data, start, stop and pausing the HILS etc. The HILS is a single serial input(control voltage) and a two serial output (Pressure and Depth) system. In the paper instances of the running GUI are presented which shows AUV at different depths and the drifting of the AUV from its dive location due to the water currents.
II. Physics Model Estimation
The AUV Model with its one input(Actuator Voltage) ,truth or physics model and its two outputs (Depth and Altitude) is presented in Fig.1.
illustration not visible in this excerpt
Fig. 1. AUV Dynamic Model
A. Non Linear Model Estimation
The model is estimated using dynamics of the AUV which is given by,
illustration not visible in this excerpt
Where F drag is the drag force , F thr is the thrust force, F hs is the hydrostatic force or the net force on the AUV due to gravity and buoyancy.
Let ρ be the density of water , η be the drag coefficient, A be the area of cross section and v be the vertical velocity then F drag is given by
illustration not visible in this excerpt
Let W be the weight of the AUV and B be the buoyant force on the AUV then F hs is given by,
illustration not visible in this excerpt
For calculating the mathematical model of the thruster load cell experiment was performed. The applied voltage versus the thrust measured by the load cell was plotted and an approximate mathematical relation was estimated given by,
illustration not visible in this excerpt
Where Cv is the control voltage or actuator voltage. As there are 2 vertical thrusters the actual thrust force will be 2(F thr). Substituting (2), (3), (4) in (1) we get the non linear dynamic system equation as,
illustration not visible in this excerpt
Fig. 2. AUV Zyra Mechanical Design
A. Water Currents
The HIL gives the provision of setting different water currents at different depth ranges i.e. both their speed and direction. Direction is with respect to the north direction.
Let ϑ be the speed of the water currents at a certain depth and ψ be the direction of the water currents.
If x and y are the instantaneous coordinates of the AUV w.r.t to the dive location, they are given by the following differential equations.
illustration not visible in this excerpt
For the linear system, they can further be simplified as
Where v is the instantaneous vertical velocity A is the area of the projection.
η is the drag coefficient. ρ is the density of water.
illustration not visible in this excerpt
B is the Buyoant force on the AUV.
As the AUV hull is of cylindrical shape as shown in Fig.2 the approximate area of projection will be A = 2 rh, where r is the equivalent radius of the AUV and h is the equivalent height of the AUV.
III. HILS Control Parameters
The HILS gives user the control over various parameters which govern or control the movement of the AUV in the water. The AUV Zyra ([1] ) for which we are designing the HILS is shown in Fig.2. The parameters are as follows Δ t for our HILS is 0.1 seconds.
B. Initial Dive Location
The HILS specifies the initial dive location of the AUV in the form of geodetic coordinates i.e the latitude, longitude of the location and the depth of the AUV from the sea level.
C. Conversion of Geodetic to ECEF coordinate system
To simplify the tracking of the AUV in water the geodetic cooridnates are converted into ECEF coordinates , the conver- sion is as follows, Let φ be the latitude, λ be the longitude and h be the height at the location where AUV is currently deployed.Let X, Y and (a)
illustration not visible in this excerpt
Fig. 3. AUV HILS GUI in static mode
TABLE I
illustration not visible in this excerpt
Z be the coordinates in the ECEF coordinate system then the relation between ECEF and Geodetic system is as follows,
illustration not visible in this excerpt
IV. AUV HILS Graphical User Interface
The AUV HILS is designed as a single input and double output simulator. To simulate the thruster(thrust force) a con- trol voltage is given as a serial input into the HILS, depth and pressure calculated from the dynamic model are given as serial output to two different serial ports. The AUV HILS is shown in Fig.3, properties of Zyra are listed in Table.1
illustration not visible in this excerpt
a is the semi-major axis of the ellipsoid which is assumed to be the shape of the earth. Its value according to the World Geodetic System 1984 (WGS84) is 6378137.0 m.
e is the first eccentricity of the ellipsoid. The value of e [2]
according to the (WGS84) is 6.69437999014 x 10−[3] Note that for our underwater application Z = h
D. Maximum Dive Depth
The HILS allows the user to set a maximum depth till which AUV can dive. This simulates the functions of both the echosounder or an active SONAR sensor which tells the instantaneous distance of the AUV from the sea bed and the pressure sensor which tells the depth till which the AUV has dived.
illustration not visible in this excerpt
Fig. 4. AUV HILS Model
The features of the AUV HILS GUI given in Fig.4 are explained below,
A. Start HIL and Stop HIL
Start HIL button when pressed defines the 3 serial Ports i.e. control voltage port (input port) and the 2 output ports (Depth Out and Pressure). It accepts the Port Name and the BaudRate and is responsible for opening up all the 3 ports. It also has the definition to start a timer which includes functions for executing the dynamic model of the AUV calculating its
(a) (b)
illustration not visible in this excerpt
Fig. 5. GUI showing motion of the AUV from (a) to (b)
Depth, Altitude, vertical velocity, its position in 2-D plane as H. Log Textbox well as the speed of currents in the water.
Stop HIL button when pressed closes all the 3 ports and stops the timer thus the HIL simulator comes to a stop.
B. Pause and Unpause HIL
The pause HIL button when pressed pauses the HIL sim- ulator and the unpause HIL button unpauses the HIL thus retaining the depth , altitude , position , velocity etc. on pause and resumes the HIL after unpause.
C. Start Log and Stop Log
The start log button when pressed creates a logs folder in the bin folder of the project and starts logging the data being displayed under the ’Simulation Info’ textbox into a log file created in the logs folder. Similarly the stop log button stops the logging of data.
D. Config File
This button when pressed opens up the Config text file which includes the initial latitude, longitude and height(in this case initial depth) of the dive location of the AUV, the maximum depth till where AUV can dive, the speed of water currents and their direction at different depth ranges and the choice of thruster (Technadyne or SeaBotix) and the corresponding thrust they provide.
E. Clear Data
This button when pressed clears the data being displayed on the three text boxes. Each textbox is provided with this button which operate in parallel.
F. Show Receive
This textbox displays the data being received on the Receive Port. Data received will only be displayed when you check the Show Receive checkbox.
G. Simulation Info
This textbox displays the parameters like the control volt- age, depth, altitude, vertical velocity, position-x, position-y, current velocities and time since in milliseconds. Similar can be done with the Altitude port. Uncheck the Depth Out and Altitude port check Box if you dont require sending data out to the ports.
This textbox gives the name of the log file that you want to create in the logs folder when you start logging.
I. COM Port and Baud Rate
The COM port textbox defines which COM Port you want to connect to and the Baud Rate textbox defines at which Baud Rate you want the communication to be performed.
Each port (Receive Port or Control Voltage port) and Send Port (Depth and Pressure) is given these two controls.
J. AUV Motion Charts
These two charts show the vertical movement of the AUV i.e. its depth variation as well as the drifting of the AUV from its dive location in the horizontal plane due to water currents. Fig.5 depicts the motion of the AUV from one depth to another.
V. Conclusion and Future Work
The paper presented a hardware in loop simulator for the vertical motion of an autonomous underwater vehicle in a simulated ocean environment. The dynamic model or the physics model of the AUV for its vertical motion is estimated along with the model of the thruster(SeaBotix or Technadyne) which drives the AUV in the vertical direction. Different control parameters for the HILS like the water currents, initial dive position, maximum dive depth etc are explained. A GUI for HILS is developed on Visual Studios which helps us to monitor the movement of the AUV in the vertical direction(due to gravity, thrust force, buoyant force and drag force) as well as the horizontal direction( due to water currents).The various features of the GUI are also explained which helps us to control the GUI and the movement of the AUV. As future work an altitude or depth control system will be designed for the AUV to control depth underwater, also horizontal thruster control will be added to the AUV to move against the currents.
[...]
- Citation du texte
- Prateek Murgai (Auteur), 2014, Design of a Hardware in Loop Simulator for Vertical Motion of an Autonomous Underwater Vehicle Under Simulated Ocean Currents, Munich, GRIN Verlag, https://www.grin.com/document/282862