10
International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 65 192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S A Specialization of Model-Driven Architecture to Implement AUV Controllers Ngo Van Hien * , Pham Gia Diem School of Transportation Engineering, Hanoi University of Science and Technology (HUST), Hanoi, Vietnam Emails: [email protected], [email protected], * Corresponding author AbstractThe Model-Driven Architecture (MDA) approach combined with the real-time UML/MARTE, Extended/Unscented Kalman Filter (EKF/UKF) algorithms and hybrid automata are specialized, in order to intensively realize controllers for Autonomous Underwater Vehicles (AUVs). The paper shows out stepwise the adapted AUV dynamics and control structure that are then combined with the specialization of MDA features as follows: the Computation Independent Model (CIM) is defined by the specification of use-case model combined with the extended functional block and hybrid automata to closely gather the requirement analysis for control; the Platform Independent Model (PIM) is then built on the defined CIM with the real-time UML/MARTE’s features such as the capsules, ports and protocols that indicates in detail structures and behaviors of AUV controllers; the detailed PIM is subsequently converted into the Platform Specific Model (PSM) by using object-oriented open-source platforms to conveniently implement and realize the AUV controller. Based on this specialized model, a trajectory- tracking controller, which permits a turtle-shaped AUV to autonomously reach and follow a horizontal planar reference trajectory, was completely developed and taken on trial trip. Index TermAutonomous Underwater Vehicle (AUV), AUV Control; Model-Based Control Design, Hybrid Automata, Real- Time UML/MARTE, Model-Driven Architecture (MDA). Nomenclature AUVs Autonomous Underwater Vehicles CIM Computation Independent Model DoF Degrees of Freedom EKF Extended Kalman Filters GPS Global Positioning System HA Hybrid Automata HDS Hybrid Dynamic Systems CIM Computation Independent Model IB Integral Backstepping IDE Implementation Development Environment IGCB Instantaneous Global Continuous Behavior IMU Inertial Measurement Unit INS Inertial Navigation System LOS Line-Of-Sight MARTE Modeling and Analysis of Real-Time and Embedded Systems MDA Model-Driven Architecture MDS Measurement and Display System MES Marine Environment System MPC Model Predictive Control OMG Object Management Group PID Proportional-Integral-Derivative PIM Platform Independent Model PSM Platform Specific Model SNAME Society of Naval Architects and Marine Engineers SysML Systems Modeling Language T-S AUV Turtle-Shaped AUV UKF Unscented Kalman Filter UML Unified Modeling Language I. INTRODUCTION The study of oceans needs underwater vehicles such as AUVs with concrete aims to enhance the effectiveness of civil society in economic as well as in other naval facilities, e.g. the biological discovery of ocean resources, disaster and tsunami warnings, self-operated underwater military means, etc. Most of the advances in AUV capabilities aimed at reaching new application scenarios and decreasing the cost of ocean exploration by reducing ship time and automating the process of gathered data [1-5]. In present design and construction of AUV controllers, there are actually many applications that have used the traditional guidance, navigation and control methods combined with soft computing techniques [6-14] to optimally solve the control for AUV dynamics. For example, a rapid procedure for a fast calibration of the main hydrodynamic parameters of an AUV has been proposed and validated using simulation tools and the experimental data coming from campaigns at sea [15] that indicated the identification of the main hydrodynamic properties is very important for the tuning of an accurate dynamic model of the vehicle; the identified hydrodynamic parameters could be then used for developing model-based localization and navigation filters for the AUV. Shojaei and Dolatshahi [16] have introduced target-tracking control of underactuated AUVs in the presence of model uncertainties and environmental disturbances; in their study, dynamic surface control, neural networks and adaptive control techniques were employed to develop a target-tracking controller for underwater vehicles in three-dimensional space; a Lyapunov-based stability analysis proves that all signals are bounded in the closed-loop control system and tracking errors converge to a neighborhood of the origin. Dinc and Hajiyev [17] have presented an integrated navigational system for an AUV dynamic model that improved the control performance of AUV with a more accurate and reliable navigational system by combining multi- sensor data via a Kalman filtering algorithm to the Inertial Navigation System (INS). In addition, there are generally three main systems in the physical autonomy architecture of AUVs: the guidance system, which is responsible for generating the trajectory for the vehicle to follow; the navigation system, which produces an estimation of the current state of the vehicle; and the control system, which calculates and applies the appropriate forces to manoeuvre the vehicle [18, 19]. All three of these

A Specialization of Model-Driven Architecture to Implement

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 65

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

A Specialization of Model-Driven Architecture to

Implement AUV Controllers Ngo Van Hien*, Pham Gia Diem

School of Transportation Engineering, Hanoi University of Science and Technology (HUST), Hanoi, Vietnam

Emails: [email protected], [email protected], * Corresponding author

Abstract— The Model-Driven Architecture (MDA) approach

combined with the real-time UML/MARTE, Extended/Unscented

Kalman Filter (EKF/UKF) algorithms and hybrid automata are

specialized, in order to intensively realize controllers for

Autonomous Underwater Vehicles (AUVs). The paper shows out

stepwise the adapted AUV dynamics and control structure that

are then combined with the specialization of MDA features as

follows: the Computation Independent Model (CIM) is defined

by the specification of use-case model combined with the

extended functional block and hybrid automata to closely gather

the requirement analysis for control; the Platform Independent

Model (PIM) is then built on the defined CIM with the real-time

UML/MARTE’s features such as the capsules, ports and

protocols that indicates in detail structures and behaviors of

AUV controllers; the detailed PIM is subsequently converted into

the Platform Specific Model (PSM) by using object-oriented

open-source platforms to conveniently implement and realize the

AUV controller. Based on this specialized model, a trajectory-

tracking controller, which permits a turtle-shaped AUV to

autonomously reach and follow a horizontal planar reference

trajectory, was completely developed and taken on trial trip.

Index Term— Autonomous Underwater Vehicle (AUV), AUV

Control; Model-Based Control Design, Hybrid Automata, Real-

Time UML/MARTE, Model-Driven Architecture (MDA).

Nomenclature

AUVs Autonomous Underwater Vehicles CIM Computation Independent Model DoF Degrees of Freedom EKF Extended Kalman Filters GPS Global Positioning System HA Hybrid Automata

HDS Hybrid Dynamic Systems CIM Computation Independent Model IB Integral Backstepping IDE Implementation Development Environment IGCB Instantaneous Global Continuous Behavior IMU Inertial Measurement Unit INS Inertial Navigation System LOS Line-Of-Sight

MARTE Modeling and Analysis of Real-Time and Embedded Systems

MDA Model-Driven Architecture MDS Measurement and Display System MES Marine Environment System MPC Model Predictive Control OMG Object Management Group PID Proportional-Integral-Derivative

PIM Platform Independent Model PSM Platform Specific Model SNAME Society of Naval Architects and Marine

Engineers

SysML Systems Modeling Language T-S AUV Turtle-Shaped AUV

UKF Unscented Kalman Filter UML Unified Modeling Language

I. INTRODUCTION The study of oceans needs underwater vehicles such as

AUVs with concrete aims to enhance the effectiveness of civil society in economic as well as in other naval facilities, e.g. the biological discovery of ocean resources, disaster and tsunami warnings, self-operated underwater military means, etc. Most of the advances in AUV capabilities aimed at reaching new application scenarios and decreasing the cost of ocean exploration by reducing ship time and automating the process of gathered data [1-5]. In present design and construction of AUV controllers, there are actually many applications that have used the traditional guidance, navigation and control methods combined with soft computing techniques [6-14] to optimally solve the control for AUV dynamics. For example, a rapid procedure for a fast calibration of the main hydrodynamic parameters of an AUV has been proposed and validated using simulation tools and the experimental data coming from campaigns at sea [15] that indicated the identification of the main hydrodynamic properties is very important for the tuning of an accurate dynamic model of the vehicle; the identified hydrodynamic parameters could be then used for developing model-based localization and navigation filters for the AUV. Shojaei and Dolatshahi [16] have introduced target-tracking control of underactuated AUVs in the presence of model uncertainties and environmental disturbances; in their study, dynamic surface control, neural networks and adaptive control techniques were employed to develop a target-tracking controller for underwater vehicles in three-dimensional space; a Lyapunov-based stability analysis proves that all signals are bounded in the closed-loop control system and tracking errors converge to a neighborhood of the origin. Dinc and Hajiyev [17] have presented an integrated navigational system for an AUV dynamic model that improved the control performance of AUV with a more accurate and reliable navigational system by combining multi-sensor data via a Kalman filtering algorithm to the Inertial Navigation System (INS).

In addition, there are generally three main systems in the physical autonomy architecture of AUVs: the guidance system, which is responsible for generating the trajectory for the vehicle to follow; the navigation system, which produces an estimation of the current state of the vehicle; and the control system, which calculates and applies the appropriate forces to manoeuvre the vehicle [18, 19]. All three of these

Page 2: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 66

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

systems have their own individual tasks to complete, yet must also work cooperatively in order to reliably allow an AUV to complete its objectives. Hence, the AUV controller must take into account models with discrete events and continuous behaviors that can be considered as a Hybrid Dynamic System (HDS) [20-22] of which global behaviors can be modelled by Hybrid Automata (HA) [20, 21, 23].

Furthermore, the customization and reusability are factors to be associated with the production of a new application in order to reduce its costs, resources and time development. According to the Object Management Group (OMG) [24], UML appeared to us to be essential for its visual object-oriented design support, which has been largely spread and appreciated in the software industry. Besides, the Systems Modeling Language (SysML) [25], which is a UML profile for systems engineering, has been standardized by OMG. SysML supports the specification, analysis, design, verification and validation of a broad range of complex systems. But both UML and SysML lack the constructs for modeling time and duration constraints of the developed system [26]. Moreover, OMG have also standardized the Model-Driven Architecture (MDA) [27] whose main idea is to separate the specification of system operations from the details of the way that system uses the capabilities of its platform. MDA provides an approach for, and enables tools to be provided for: specifying a system independently of the platform that supports it; specifying platforms; choosing a particular platform for the system; and transforming the system specification into one for a particular platform. For these reasons, the MDA’s features can be specialized by using the real-time UML/MARTE version [28-31] in order to model in detail the analysis and design artifacts for real-time and embedded control systems, e.g. the AUV controller. This version also includes the ‘capsules, ports, protocols, connectors’ concepts that can be adapted by specializing a set of control capsules in precise behaviors and structures of the AUV controller.

The paper is interested in implementing a control model integrated the AUV dynamics into MDA combined with the real-time object paradigms, the specialization of HA features and the Extended/Unscented Kalman Filter (EKF/UKF) algorithms, which can permit us to intensively realize and deploy the AUV controller, and also allow the designed and implemented control elements to be closely customizable and re-usable in the realization of new control applications for various AUV types. In the current model, the AUV dynamics and control structure are also adapted for the control that are then combined with the specialization of MDA features composed of the Computation Independent Model (CIM), Platform Independent Model (PIM) and Platform Specific Model (PIM); the control system permits an AUV to track a horizontal planar reference path in the Cartesian space. Here, the CIM includes the use-case model specialized closely with an implemented function block diagram and HA to precisely capture the requirement analysis of control for an AUV controller; the PIM is built on the identified CIM by specifying the real-time UML/MARTE to intensively design the real-time control capsules with their ports and protocols in detail for AUV controllers. The detailed PIM elements is then

converted into PSMs by using open-source platforms such as Arduino [32] in order to quickly simulate, realize and deploy the AUV controller. Finally, a horizontal planar trajectory-tracking controller of an application of miniature AUV possessing a turtle shape was completely deployed and tested.

The paper is structured as follows: The AUV dynamics and control structure is adapted in the second section. The third section presents the details of model-driven development to intensively realize AUV controllers, including the CIM, PIM and PSM components. Following the proposed development model, in the fourth section, it is applied to a case study. Conclusions and future works are reported in the final section.

II. ADAPTING AUV DYNAMICS AND CONTROL STRUCTURE

A. AUV dynamic model for control

According to SNAME [33], the six motion components of an underwater vehicle are defined as surge, sway, heave, roll, pitch, and yaw which are shown in Table I.

Table I SNAME notations for underwater vehicles.

Degree of

freedom

Motions Force and

moment

Linear and

angular

velocity

Position

and Euler

angles

1

2

3

4

5

6

Surge

Sway

Heave

Roll

Pitch

Yaw

X

Y

Z

K

M

N

u v

w p q

r

x

y

z

ϕ

θ

ψ

From the large field of guidance, navigation and control of underwater vehicles, the 6 DoF dynamic model of AUVs in body frame [18, 19, 34-38] can be written in equation (1).

{�̇� = 𝑱(𝜼)𝝂

𝑴�̇� + 𝑪(𝝂)𝝂 + 𝑫(𝝂)𝝂 + 𝒈(𝜼) = 𝝉(𝒗, 𝐮) (1)

Where: η=[η1T,η2

T]T includes the position η1=[x,y,z]T (NED: North, East and Down) and the orientation η2=[ϕ, θ, ψ]T (Euler RPY: Roll, Pitch and Yaw angles); ν = [v1

T,v2T]T is composed the linear v1=[u,v ,w]T and the

angular v2=[p, q, r]T velocities; M=MRB+MA is a mass matrix,

which denotes the 6×6 system inertia matrix containing MRB - the generalized constant inertia matrix, and MA - the added

mass inertia matrix; C(ν)=CRB(ν)+CA(ν) is the 6×6 Coriolis and

centripetal forces matrix including added mass; Linear and nonlinear hydrodynamic damping are contained within the

6×6 matrix D(ν)=D+Dn(ν), D contains the linear damping

terms, and Dn(ν) contains the nonlinear damping terms; g(η)

is the 6×1 vector of gravitational and buoyancy effects; τ(v,u) is the vector of resultant force and moment acting on the underwater vehicle, and u is the control inputs, e.g. the rotational speed of the motors related to the generated thrusts, the driving angles sent to the needed servo-motor for sail planes and rudder.

A discrete state-space representation is required for modeling the AUV controller in order to use a recursive digital motion estimation filter, e.g. the EKF or UKF; the developed system can be then described by a set of equations (2).

Page 3: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 67

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

{𝐱𝐤 = 𝐟𝐤−𝟏(𝐱𝐤−𝟏, 𝐮𝐤−𝟏) + 𝐰𝐤−𝟏

𝐲𝐤 = 𝐡𝐤(𝐱𝐤) + 𝐯𝐤 (2)

Here, 𝐱 = [𝜼𝝂

] is a 12-dimensional state vector for

describing the motion of AUV, while xk is the vector of state variables at the kth instant of x; uk and yk are respectively the inputs and outputs of the system; hk, wk and vk are the respectively the measurement function, additive process and measurement noise; the first equation in (2) is called the system’s evolution equation, while the second one is called the measurement equation.

According to the AUV dynamics (1), the time evolution of the developed system is then written by equations (3) with the following assumptions: since the AUV drag along transversal directions strongly dampens the lateral and the vertical motions, the AUV dynamics can be considered to take place only on the longitudinal direction.

�̇� = [�̇��̇�

] = 𝐅(𝐱, 𝐮) + 𝐰 =

(�̇� = 𝑱(𝜼𝟐)𝝂

𝑴−𝟏(𝝉(𝒗, 𝐮) − 𝑪(𝝂)𝝂 − 𝑫(𝝂)𝝂 − 𝒈(𝜼))) + 𝐰 (3)

The details of the 6 DoF dynamic model and state-space representation for the AUV control can be found in [17, 18].

B. Control structure of an AUV

As previously stated, main sub-systems, which can be participated in the physical control architecture of AUVs are the guidance system, navigation system, and control system. Fig. 1 shows out a general functional block diagram, which captures how these sub-systems interact.

Fig. 1. General funtional block diagram for an AUV.

Here, the Guidance System block is responsible for producing the desired trajectory for the vehicle to follow. This task can be completed by implementing a common guidance approach based on the generations of way-points that take the desired way-points defined pre-mission and, with the possible inclusion of external environmental disturbances, generates a path for the AUV to follow in order to reach each successive way-point. The Navigation System block addresses the task of determining the current state of the AUV. However, due to the extremely limited propagation of these signals through water, the Global Positioning System (GPS) is largely unavailable for underwater vehicles. The task of the Navigation System block is then to compute a best estimate of the current state of the AUV based on multiple measurements from other proprioceptive and exteroceptive sensors combined with underwater communication units, and to use GPS only when it is available. The Controllers block is responsible for providing

the corrective signals and events to enable the AUV to follow a desired path. This is achieved by receiving the desired state of AUV from the Guidance System block, and the current state of AUV from the Navigation System block. It then calculates and applies correcting forces and moments, through use of the various actuators on the AUV, to minimize the difference between desired and current states. This allows the AUV to track a desired trajectory even in the presence of unknown disturbances. The Environmental Disturbances block, which can be ocean currents, winds, waves, etc., are extremely complex and highly dynamic, and make the control of an AUV highly challenging tasks.

In addition, control systems and their actuators take into account models with discrete events and continuous behaviors that can be called HDS [20-23]. The behaviors of HDS are distributed on different operating modes, which are associated with processes related to the interactivity with users such as the designer, supervisor, maintainer etc. Furthermore, controlled systems do not always have the same behavior because they are associated with validity hypotheses to check at any moment; the security forces to envisage events, and behaviors different from nominal behaviors. From the above described AUV dynamic model together with its general control structure and characteristics of HDS, controllers of AUVs are thus HDS whose dynamic behaviors can be modeled by HA [20, 21, 23]. These controllers have the continuous/discrete parts and their interactions such as the motions in surge, sway, heave, roll, pitch, and yaw, and external interacting events from the guidance and navigation system and environmental disturbances. In the current model, the paper is interested in developing the trajectory-tracking controller of AUVs, so this hybrid dynamic model can be used to find out the control algorithms combined with a specific guidance law such as the Line-Of-Sight (LOS) guidance described in [16, 39, 40]. Because of disturbances (wind, waves, ocean currents, etc.) the cross-track error can increase hence a correction should be made to prescribe realistic new desired point and orientation along the path.

III. SPECIALIZING THE MODEL-DRIVEN ARCHITECTURE TO

DEVELOP AUV CONTROLLERS

A. Building the Computation Independent Model (CIM) for

an AUV controller

Following the adapted AUV dynamics and control structure in the second section together with LOS guidance described in [16, 39, 40], we present here the main use case model (Fig. 2) of AUV controllers combined with an example of trajectory-tracking scenarios and local state machine of the “Track a desired trajectory” use case, which are respectively shown in Fig. 3a and Fig. 3b.

Where:

MDS is the Measurement-cum-Display System consisting of the guidance and navigation systems, because both of them essentially act as a signal supplier for the AUV controllers;

MES is the Marine Environment System including disturbances generated by the wind, wave and ocean currents.

Page 4: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 68

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

Fig. 2. Main use case model for the AUV controller.

Fig. 3. An example of trajectory-tracking scenarios (a) and the local state machine of the “Track a desired trajectory” use case (b).

The “Track a desired trajectory” use case is performed for tracking the desired trajectory for the vehicle to follow.

The “Make in safety” use case is realized for maintaining system safety when one of its component fails or

supplied power is low or bad weather.

The “Configure” use case permits users or maintainers to configure and update control parameters for starting up the controllers.

The “Maintain” use case is performed for maintaining the whole system that includes activities, e.g. the error identifications and corrections of the whole of physical AUV or periodical maintenance.

In this model, it is necessary to provide industrial conditions, e.g. the maximum swing angles of rudder and sail planes, velocity, immersible depth and additional safe trip modes of the AUV being developed in order to entirely make in the operational safety of system.

In addition, an implemented functional block diagram must be defined in order to model continuous behaviors of this system with events issued from outside; because the real-time UML/MARTE lacks the constructs for modeling internal continuous behaviors for each state on the state machine diagram. Starting from the considered dynamic model of AUV, its industrial constraint conditions, as well as the defined use case model, we propose here an implemented functional block diagram of the AUV controller as shown in Fig. 4.

Fig. 4. An implemented functional block diagram for the AUV controller.

Here, the Desired trajectory and depth actions respectively give the desired position (xd, yd) and depth (zd) to the position

and deep controller; Td is the desired overall thrust; the position controller receives the AUV’s position (x, y) and

desired thrust, it outputs desired roll (d) and pitch (d) while

desired yaw (d) comes directly from the Guidance System block; the attitude controller gives then the desired control

signals to the actuator commands (e.g. di can be the desired motor speeds sent to the main motor controllers for the

propellers or tunnel thrusters, and di can be also the desired driving steps sent to the needed servo-motor controllers for sail planes, rudder and displacement units; the Proportional-Integral-Derivative (PID) regulators can be applied to the Motor Control block including the main motor controllers and servo-motor controllers in order to reduce the inertial and delay time caused by the physical AUV actuators in the whole

system evolution; ,, and T are respectively the overall moment and force acting on the AUV. In the current model, the Integral Backstepping (IB) techniques implemented in [19,

Page 5: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 69

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

41] are hierarchically used for control the depth, position and attitude of the AUV. The state-space models (2) and (3) described in the second section are used for the estimation and prediction of the position, depth, attitude, and velocity corresponding to the sensors installed on the AUV that are implemented in the Navigation System block. The standard navigation filters are based on the EKF or UKF algorithms [42-44]. The application details of EKF/UKF algorithms for an AUV controller will be presented in the fourth section.

In the CIM of an AUV controller, HA are specialized to describe mathematical behaviors, i.e. the dynamic model of AUV including terms as Situations, Continuous State Variables, Event, Transition, Global Continuous Behavior and Invariants. HA has only one global continuous behavior at time given, contains the invariant notation to verify hypotheses on the continuous state, is derived from an automaton to also model the dynamic behavior of general interactive software systems, and can be verified with proof tools such as HyTech, CheckMate, HSolver [23] and OpenModelica [45]. Therefore, it is suitable to use HA to model and implement the control evolution of an AUV controller. A HA of the AUV controller is defined by the following form:

HAUV = (Q, X, , A, Inv, F, qo, xco) (4)

Where:

Q is a set of states describing trip modes of HAUV, e.g. the motion in horizontal transferring, idle, submerging/rising, and rotations: roll, pitch, and yaw, which are combined with the local state machine oriented towards control modes (Fig. 3b) in permutations. Q can be called situations of the AUV controller; qo is the initial situation.

X presents the continuous state space of HAUV, Xn, xco is the initial value of this space, e.g. continuous components of the AUV controller.

is a finite set of events, e.g. external interacting events from the guidance and navigation system, and environmental disturbances.

A is a set of transitions defined by (q, Guard, ,

Jump, q’), here: qQ, q’Q; Guard is a subset of the state space in which the continuous state must be, so that the transition can be crossed; Jump represents the continuous state transformation during the change of situation; it is expressed by a state value function, whose result is affected like initial value of the continuous state in the new situation;

presents the event being associated in the transition; this association does not imply to give an input or output direction to the event.

Inv is an application, which associates a subset of the state space in each situation; it is called the invariant of the situation, in which the continuous state must remain, when the

situation is q, the continuous state must verify xcinv(q).

F is defined by using the 6 DoF dynamic model of AUV, and the implemented functional block diagram (Fig. 4); the evolution of continuous state is occurred when the situation is activated.

The constraints as follows: is considered in term of inputs/outputs and internality/externality; X contains

input/output signals were applied to globally perform the HA evolution of an AUV controller. In addition, the realization hypotheses of the HA evolution, which permit the invariant Inv and guard control Guard can generate internal events for the AUV controller, can be found in the author’s report [46].

B. Designing the Platform Independent Model (PIM) for an AUV controller

From the above defined CIM, the 5 main control capsules have been specialized to take part in the HA realization of the AUV being developed: the continuous part’s capsule, discrete part’s capsule, internal interface’s capsule, external interface’s capsule and Instantaneous Global Continuous Behavior (IGCB’s capsule). Fig. 5 shows out the capsules collaboration of real-time communication pattern for the AUV controller by using the real-time UML/MARTE’s collaboration diagram. The timing concurrency of evolutions for this real-time communication pattern can be seen in the author’s reports [46].

Fig. 5. Real-time communication pattern for the main control capsules for the AUV controller.

The discrete part’s capsule contains a set of situations Q and transitions A in HA of the AUV controller (i.e. the macro-motion in horizontal transferring, idle, submerging/rising, and rotations: roll, pitch, and yaw, which are combined with the local state machine shown in Fig. 3b) in permutations.

The continuous part’s capsule is combined with the continuous state space X in the implemented functional block diagram. The sequential evolution of continuous elements is carried out by specifying the Rendezvous pattern introduced in [47] with two sub-capsules called RendezVous and Semaphore.

The IGCB’s capsule contains concrete global continuous behaviors of the AUV being developed at time given

just as fF in its HA. f is derived from (1), (2) and the implemented functional block diagram (Fig. 4). Each global continuous behavior corresponds to a situation in this HA.

The internal interface’s capsule verifies the Inv in HA of the AUV being developed, and generates internal events; so that the discrete part’s capsule can make its own evolution by these events.

The external interface’s capsule is an intermediary, which receives or sends episodic events and periodic signals between the developed AUV and their interacted systems such as MES and MDS in the current model.

Page 6: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 70

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

In addition, the reusability is very important to implement controllers for different AUV applications because it permits the development time and cost to be reduced. The various reusable views in the development phase are considered as follows: The reusable view is based on the virtual mechanism of objects, classes or class hierarchies; the other re-use view can be based on design components and architecture, e.g. the implemented functional block diagram, the local state machine

of AUV controller and generic state machine of main control capsules that can be specified to develop various control applications of AUVs using the same technique. The specializations, which permit the capsule collaboration of a developed AUV to can be customizable and reusable in the new control application for various AUVs types, can be summarized in Table II.

Table II Main control capsules of PIM can be customized and reused in the new control application for various AUV types.

Main control

capsules

Specialization description

Generic artifacts Specialized artifacts

Discrete

capsule

The discrete part’s capsule remains at

the generic level for the new AUV

controller.

- Non

Continuous

part

The ports and protocols of this capsule

remain at the generic level for the new

AUV controller.

The continuous part’s capsule is specialized by adding or removing concrete continuous

elements (xcX) that depend on the physical configuration of AUV actuators, e.g. the number of

propeller motors related to the generated thrusts. The states and their behaviors, which

correspond to the added/removed continuous elements, are added/removed in/from the state

machine of this capsule. The behavior of the new set of continuous elements will be used to

redefine the concrete IGCBs (fF).

IGCB The state machine, ports and protocols

of this capsule remain at the generic

level for the new AUV controller.

The specification of the IGCB’s capsule captures new instantaneous global continuous

behaviors, which are formed by re-structuring the new set of continuous elements accoding to

the implemented functional block diagram. Jump, which appears by the initial value of each

instantaneous global continuous behaviour, must be identified.

Internal

interface

The state machine and ports of this

capsule remain at the generic level for

the new AUV controller.

The specialization of the internal interface’s capsule is carried out by adding/removing in/from

the new IGCB in the IGCB’s capsule if necessary new Inv and Guard that correspond to new

added/removed situations in/from the discrete part’s capsule.

External

interface

The state machine, ports and protocols

of this capsule remain at the generic

level for the new AUV controller.

The external interface’s capsule is specialized by adding or removing input or output events,

which come from outside, (i.e. adding/removing these events in/from the protocol of this

capsule).

The interconnection of main control capsules described in Fig. 5 remains at the generic level for various control applications of AUVs.

C. Constructing the Platform Specific Model (PSM) for an

AUV controller

To realize the AUV controller, the PIM is implemented to the PSM that is transformed from the above built PIM by using tools such as IBM Rational Rose RealTime or IBM Rational Software Architect RealTime [48] or Papyrus for Real-Time (Papyrus-RT) [49]. Here, IBM Rational's leading role in defining the real-time UML is widely acknowledged, as is the pre-eminence of the IBM Rational Rose RealTime or IBM Rational Software Architect RealTime products in implementing UML to support the architecting of large-scale real-time and embedded software systems. It combines a rich modeling environment with a code-oriented tool set to create a comprehensive practitioner desktop for creating solutions in a variety of architectural styles, and targeted at specific runtime infrastructures. Besides, Papyrus-RT is an industrial-grade, complete open-source modeling environment for the development of complex, software intensive, real-time, embedded, cyber-physical systems; it provides an implementation of the real-time UML together with editors, code generator for C++ and a supporting runtime system. Many other important lifecycle artifacts also benefit from these tools (e.g. requirements lists, test cases and build scripts) to entirely cover development phases for the AUV controller. Then, the PSM is compiled and verified by using object-oriented Implementation Development Environments (IDE), e.g. the Arduino’s IDE [32], in order to fit in compatible microcontrollers, e.g. ATMEGA32-U2 and STM32 Cortex-M4 microcontrollers [32], and completely realize the AUV controller. Furthermore, the above specified HA of an AUV controller can be automatically implemented in the object-

oriented convention by using the State Pattern described in [47, 50].

IV. APPLICATION

Based on the above described model, we developed a planar trajectory-tracking controller of a Turtle-Shaped AUV (T-S AUV), which autonomously reaches and follows a geometric reference path starting from a given initial configuration. In this case study, the propeller, sail planes, rudder and displacement unit are used to provide the translational forces and rotational moments that drive T-S AUV (Fig. 6). The main characteristics of T-S AUV are summarize in Table III.

Table III Main characteristics of the developed T-S AUV.

Parameter Value

Length 1.26 m

Height 0.40 m

Width 0.61 m

Net dry weight 21.20 kg

Autonomy 30 minutes

2 × Li-Po battery 22.2 V, 20000 mAh

Maximum load capacity 324 W

Maximum immergence/emergence speed 0.3 m/s

Maximum horizontal translation speed 1.8 m/s

Maximum radius of action 450 m

In this application, the damping matrix is assumed as a diagonal matrix, which permits the coupling between dissipative effects to be neglected because the velocities of the T-S AUV are not too high; the mass matrix is considered as diagonal that is derived from the body reference frame aligning with the vehicle principal axes of inertia for the T-S AUV.

Page 7: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 71

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

Fig. 6. Installation and trial trips for the T-S AUV controller.

The state-space models described in equations (2) and (3) are used for the estimation and prediction of the position, attitude, and velocity that are implemented in the two cases by the navigation filters based on the EKF (Algorithm I) and the UKF (Algorithm II). In Algorithms I and II, . ̂ denotes an estimate; P is the state covariance; Q and R are respectively the covariance matrices of process and measurement noise, assumed as zero mean stationary white noises with zero cross-correlation; the state is recursively estimated starting from the assumed initial conditions as follows: �̂�0|0 = 𝐱0 and 𝑃0|0 =𝟎12×12; the Unscented Transform (UT) is a deterministic sampling technique, which allows us to compute the mean and the covariance matrix of a random variable; it undergoes a generic nonlinear transformation by propagating a minimum set of its samples and exploiting the knowledge of the mean and of the covariance of the starting variable.

Algorithm I Navigation filter based on EKF.

Function EKF algorithm Step EKF predict Data : 𝐱𝑘−1|𝑘−1, 𝑃𝑘−1|𝑘−1, 𝐟𝑘−1(. )

Result : 𝐱𝑘|𝑘−1, 𝑃𝑘|𝑘−1

𝐹𝑘−1 =𝜕𝐟𝑘−1

𝜕𝐱|

�̂�𝑘−1|𝑘−1𝐮𝑘−1

;

𝐱𝑘|𝑘−1 = 𝐟𝑘−1(𝐱𝑘−1|𝑘−1);

𝑃𝑘|𝑘−1 = 𝐹𝑘−1, 𝑃𝑘−1|𝑘−1𝐹𝑘−1𝑇 + 𝑄𝑘−1;

end Step EKF update Data : 𝐱𝑘|𝑘−1, 𝑃𝑘|𝑘−1, 𝐡𝑘(. )

Result : 𝐱𝑘|𝑘 , 𝑃𝑘|𝑘

𝐻𝑘 =𝜕𝐡𝑘

𝜕𝐱|

�̂�𝑘|𝑘−1

;

𝑆𝑘 = 𝑅𝑘 + 𝐻𝑘𝑃𝑘|𝑘−1𝐻𝑘𝑇;

𝐿𝑘 = 𝑃𝑘|𝑘−1𝐻𝑘𝑇𝑆𝑘

−1;

𝐞𝑘 = 𝐲𝑘 − 𝐡𝑘 (�̂�𝑘|𝑘−1);

𝐱𝑘|𝑘 = 𝐱𝑘|𝑘−1 + 𝐿𝑘𝐞𝑘;

𝑃𝑘|𝑘 = 𝑃𝑘|𝑘−1 − 𝐿𝑘𝑆𝑘𝐿𝑘−1𝑇 ;

end Algorithm II

Navigation filter based on UKF.

Function UKF algorithm Step UKF predict

Data : 𝐱𝑘−1|𝑘−1, 𝑃𝑘−1|𝑘−1, 𝐟𝑘−1(. )

Result : 𝐱𝑘|𝑘−1, 𝑃𝑘|𝑘−1

(𝐱𝑘|𝑘−1, �̅�𝑘|𝑘−1) = 𝑈𝑇 (𝐱𝑘−1|𝑘−1, �̅�𝑘−1|𝑘−1, 𝐟𝑘−1(. )) ;

𝑃𝑘|𝑘−1 = �̅�𝑘|𝑘−1 + 𝑄𝑘−1;

end Step UKF update Data : 𝐱𝑘|𝑘−1, 𝑃𝑘|𝑘−1, 𝐡𝑘(. )

Result : 𝐱𝑘|𝑘 , 𝑃𝑘|𝑘

(𝐲𝑘|𝑘−1, 𝑆�̅� , 𝑃𝑘𝑥𝑦) = 𝑈𝑇 (𝐱𝑘|𝑘−1, 𝑃𝑘|𝑘−1, 𝐡𝑘−1(. )) ;

𝑆𝑘 = 𝑅𝑘 + 𝑆�̅�; 𝐿𝑘 = 𝑃𝑘

𝑥𝑦𝑆𝑘

−1;

𝐞𝑘 = 𝐲𝑘 − 𝐲𝑘|𝑘−1;

𝐱𝑘|𝑘 = 𝐱𝑘|𝑘−1 + 𝐿𝑘𝐞𝑘;

𝑃𝑘|𝑘 = 𝑃𝑘|𝑘−1 − 𝐿𝑘𝑆𝑘𝐿𝑘𝑇 ;

end The open-source Arduino platform [32] was used to

quickly deploy the realization model for the controller. This platform can sense the environment by receiving input from a variety of sensors such as the pressure and magnetometer sensors, Inertial Measurement Unit (IMU), GPS, e.g. MPU6000 with working frequency 100Hz [51], Ublox Neo 6M with working frequency 10Hz [52], etc. and can affect its surroundings by controlled actuators. ATMEGA32-U2 and STM32 Cortex-M4 microcontrollers [32] have been used on the board, and can be programmed by using the Arduino’s IDE based on C++.

The trial trip scenarios are based on the use-case model, desired courses with different desired course angles and various desired shape-based reference paths of T-S AUV and mean transferring speeds. The main test scenarios and their experimental data for this controller were performing in the

Page 8: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 72

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

laboratory, some of the main course-tracking test results are shown in Table IV. Fig. 7a and Fig. 7b respectively indicate the horizontal planar trajectory-tracking controller with the

implemented cases of EKF and UKF algorithms that permits the T-S AUV to reach and follow the desired triangle-shaped trajectory.

Table IV Test scenarios and experimental data in the stabilized courses of the T-S AUV

No Desired course

angle [deg]

Mean transferring

speed [m/s]

Duration for the stabilized course [s], (with

the EKF)

Duration for the stabilized course [s], (with

the UKF)

1 010 1.0 5.7 5.3

2 010 1.5 5.0 4.8

3 020 1.0 6.1 5.7

4 020 1.5 5.3 5.1

5 030 1.0 6.8 6.4

6 030 1.5 5.9 5.5

a)

b)

Fig. 7. T-S AUV reaches and follows the triangle-shaped planar trajectory: (a) using the EKF algorithm; (b) using the UKF algorithm.

Based on the comparison between the experimental data of these trial tests and the obtained experimental results of the existing results in the author’s report [46] in which PID was

only implemented as the control law for the same physical T-S AUV model, the planar trajectory-tracking controller of this T-S AUV was improved on the stabilized course duration and trajectory error, which were diminished respectively about 2.5s and 1.40m. In this application, the standard control method of IB and the EKF/UKF algorithms were used for the position and attitude control and the PID regulators were applied to the block of motor controllers that permit us to implement the functional block diagram (Fig. 4) for building up the ICCB’s capsule of PIM. From the above developed application, we also find that the UKF can provide considerable improvement over the EKF in the implementation of AUV controllers.

V. CONCLUSIONS AND FUTURE WORK This paper presented a model-driven implementation to

intensively realize AUV controllers. This model is mainly based on the specializations of MDA’s features combined with the real-time UML/MARTE, Hybrid Automata (HA) and EKF/UKF algorithms to closely analyze, design, implement and realize the control system. The paper includes main points as follows:

The AUV dynamics and control structure are adapted for the control that are combined with the specialization of MDA features including the CIM, PIM and PSM components.

In the CIM, the use case model is specialized with the implemented functional block diagram and HA to closely capture the requirements analysis for an AUV controller.

The PIM is built for obtaining the detailed design model by specifying the real-time control capsules, ports and protocols in order to model in detail the behaviors and structures of AUV controllers. The developed PIM components are also considered as a real-time communication pattern that can be customized and reused in new control applications of various AUV types.

The PIM is then converted into the PSM by using object-oriented specific platforms in order to completely realize the AUV controller with compatible microcontrollers.

Based on this proposed model, a trajectory-tracking controller combined with the EKF/UKF algorithms of a low-cost AUV was deployed and tested out Arduino ATMEGA-U2 and STM32-Cortex-M4 microcontrollers.

In addition, using the above proposed models, development engineers will be more capable of managing the system complexity through the visual modeling artefacts and their model transformations. In particular, they can handle the defined design elements to realize the systems to

Page 9: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 73

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

various object-oriented specific platforms to which they want to suitably deploy them. However, they may be needed to train for gathering up skills in different IDEs that permits them to manage the interfaces between tools.

Up to this time, we applied the above specialized models just in the low-cost AUV controller and intend to implement it in the new control applications for autonomous coordinated AUV. In the case, if we get positive feedbacks, we will investigate in the application strategy to extend it more effective in order to completely make up controllers for balancing search and target response in the cooperative team of an autonomous unmanned ship linked with multiple AUVs, which can be used for performing quickly missions in the wide range of actions in order to improve the efficiency of ocean exploration and survey.

ACKNOWLEDGMENT The authors would like to thank the financial supports of

KC05.21/16-20 project funded by State, from the Ministry of Science and Technology of Vietnam.

REFERENCES [1] Wynn, R.B., Huvenne, V.A.I., Bas, T.P.L., et al., Autonomous Underwater

Vehicles (AUVs): Their past, present and future contributions to the

advancement of marine geoscience, Marine Geology - International

Journal of Marine Geology, Geochemistry and Geophysics, Elsevier,

ISSN 0025-3227, 352, pp. 451-468, 2014.

[2] Ribas, D., Ridao, P., Melchiorri, C., et al., I-AUV Mechatronics

Integration for the TRIDENT FP7 Project, IEEE/ASME Transactions on

Mechatronics, ISSN 1083-4435, 20, pp. 2583-2592, 2015.

[3] Ciszewski, M., Mitka, Ł., Kohut, P., et al., Robotic system for off-shore

infrastructure monitoring, Journal of Marine Engineering & Technology,

Taylor & Francis, ISSN 2046-4177,

https://doi.org/10.1080/20464177.2017.1398983, pp. 310-318, 2017.

[4] Allotta, B., Conti, R., Costanzi, R., et al., A low cost autonomous

underwater vehicle for patrolling and monitoring, Journal of Engineering

for the Maritime Environment, SAGE Publishing, ISSN 1475-0902, 231,

pp. 740–749, 2016.

[5] Sivčev, S., Coleman, J., Omerdić, E., et al., Underwater manipulators: A

review, Ocean Engineering, Elsevier, ISSN 0029-8018, 163, pp. 431-450,

2018.

[6] Saeedi, M.A., Mirzaee, M., A New Backstepping Sliding Mode Control

System to prevent Roll Instability of a Four-Wheeled Vehicle,

International Journal of Mechanical & Mechatronics Engineering,

IJMME-IJENS, ISSN 2227-2771, 19, pp. 178-186, 2019.

[7] Yan, Z., Wang, M., Xu, J., Robust adaptive sliding mode control of

underactuated autonomous underwater vehicles with uncertain dynamics,

Ocean Engineering, Elsevier, ISSN 0029-8018, 173, pp. 802-809, 2019.

[8] Zheng, Z., Zou, Y., Adaptive integral LOS path following for an

unmanned airship with uncertainties based on robust RBFNN

backstepping, ISA Transactions, Elsevier, ISSN 0019-0578, 65, pp. 210-

219, 2016.

[9] Shariati, H., Moosavi, H., Danesh, M., Application of particle filter

combined with extended Kalman filter in model identification of an

autonomous underwater vehicle based on experimental data, Ocean

Engineering, Elsevier, ISSN 0029-8018, 82, pp. 32-40, 2019.

[10] MahmoudZadeh, S., Powers, D.M.W., Yazdani, A.M., et al., Efficient

AUV Path Planning in Time-Variant Underwater Environment Using

Differential Evolution Algorithm, Journal of Marine Science and

Application, Springer, ISSN 1671-9433, 17, pp. 585–591, 2018.

[11] Raheem, F.A., Sadiq, A.T., Abbas, N.A.F., Robot Arm Free Cartesian

Space Analysis for Heuristic Path Planning Enhancement, International

Journal of Mechanical & Mechatronics Engineering, IJMME-IJENS,

ISSN 2227-2771, 19, pp. 29-42, 2019.

[12] Hien, N.V., Diem, P.G., A Control Implementation of Quadrotor UAVs

Based on Systems Engineering Concepts, International Journal of

Mechanical & Mechatronics Engineering, IJMME-IJENS, ISSN 2227-

2771, 19, pp. 58-68, 2019.

[13] Eslami, M., Chin, C.S., Nobakhti, A. J., Robust Modeling, Sliding-Mode

Controller, and Simulation of an Underactuated ROV Under Parametric

Uncertainties and Disturbances, Journal of Marine Science and

Application, Springer, ISSN 1671-9433, https://doi.org/10.1007/s11804-

018-0037-1, pp. 1-15, 2018.

[14] Ghazaly, M.M., Yuden, M.A.M., Amran, A.C., Point-to-Point

Positioning Control Performance of a 2-DOF Robotic Finger,

International Journal of Mechanical & Mechatronics Engineering,

IJMME-IJENS, ISSN 2227-2771, 19, pp. 1-6, 2019.

[15] Allotta, B., Costanzi, R., Pugi, L., et al., Identification of the main

hydrodynamic parameters of Typhoon AUV from a reduced experimental

dataset, Ocean Engineering, Elsevier, ISSN 0029-8018, 147, pp. 77-88,

2018.

[16] Shojaei, K., Dolatshahi, M., Line-of-sight target tracking control of

underactuated autonomous underwater vehicles, Ocean Engineering,

Elsevier, ISSN 0029-8018, 133, pp. 244-252, 2017.

[17] Dinc, M., Hajiyev, C., Integration of navigation systems for autonomous

underwater vehicles, Journal of Marine Engineering & Technology,

Taylor & Francis, ISSN 2046-4177, 14, pp. 32-42, 2015.

[18] Fossen, T.I., Marine Control Systems: Guidance, Navigation and Control

of Ships, Rigs and Underwater Vehicles. Marine Cybernetics, Trondheim,

Norway, ISBN 82-92356-00-2, 2002.

[19] Fossen, T.I., Handbook of Marine Craft Hydrodynamics and Motion

Control, John Wiley & Sons, United Kingdom, 2011.

[20] Hien, N.V., "Une Méthode Industrielle de Conception de Commande par

Automate Hybride Développée en Objets", Thèse de Doctorat,

Univertsité de Marseille III, France, 2001.

[21] Fishwick, P.A. (Ed.), Handbook of Dynamic System Modeling, Taylor &

Francis Group, USA, 2007.

[22] Hien, N.V., Diem, P.G., A Model-Based Control Design of Industrial

Hybrid Dynamic Systems in the scope of KC05.21/16-20 project. Part I:

Theoretical Foundations, International Journal of Mechanical &

Mechatronics Engineering, IJMME-IJENS, ISSN 2227-2771, 19, pp. 88-

95, 2019.

[23] Carloni, L.P., Passerone, R., Pinto, A., et al., Languages and Tools for

Hybrid Systems Design, Now Publishers Inc, Boston, 2006.

[24] OMG, Documents Associated With Unified Modeling Language™

(UML® Version 2.5): OMG formal/15-03-01, OMG,

http://www.omg.org/spec/UML/2.5/, 2015.

[25] OMG, SysML Specifications Version 1.5: OMG formal/17-05-01, OMG,

https://www.omg.org/spec/SysML/1.5/, 2017.

[26] Baouya, A., Bennouar, D., Mohamed, O.A., et al., A quantitative

verification framework of SysML activity diagrams under time

constraints, Expert Systems with Applications, Elsevier, ISSN 0957-

4174, 42, pp. 7493-7510, 2015.

[27] OMG, Model Driven Architecture (MDA): Guide revision 2.0 of MDA

Guide Version 1.0.1 (12th June 2003). OMG Document ormsc/2014-06-

01, OMG, http://www.omg.org/cgi-bin/doc?ormsc/14-06-01, 2014.

[28] Douglass, B.P., Real-Time UML Workshop for Embedded Systems. 2nd

edtion, Elsevier, Oxford, UK, 2014.

[29] Selic, B., Using UML for modeling complex real-time systems, in: F

Mueller, A Bestavros (Eds.) Languages, Compilers, and Tools for

Embedded Systems, Springer, Berlin, 1998, pp. 250-260.

[30] Selic, B., Gerard, S., Modeling and Analysis of Real-Time and

Embedded Systems with UML and MARTE, Elsevier, USA, 2014.

[31] OMG, UML Profile for MARTE: Modeling and Analysis of Real-Time

Embedded Systems. OMG Formal Version, OMG,

http://www.omg.org/spec/MARTE/, 2011.

[32] Arduino. Open-source electronics prototyping platform for hardware and

software. Available: http://www.arduino.cc/, 2019 (accessed January

2019).

[33] SNAME, Nomenclature for Treating the Motion of a Submerged Body

through a Fluid, Technical and Research Bulletin No. 1-5, SNAME (the

Society of Naval Architects and Marine Engineers), New York 18, N. Y.,

USA, 1950.

[34] Antonelli, G., Underwater Robots - Motion and Force Control of

Vehicle-Manipulator Systems, Springer, Heidelberg, 2006.

[35] Lantos, B., Márton, L., Nonlinear Control of Vehicles and Robots,

Springer, London, UK, 2011.

[36] Soriano, T., Hien, N.V., Tuan, K.M., et al., An object-unified approach to

develop controllers for autonomous underwater vehicles, Mechatronics:

The Science of Intelligent Machines, Elsevier, ISSN 0957-4158, 35, pp.

Page 10: A Specialization of Model-Driven Architecture to Implement

International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:19 No:05 74

192305-4747-IJMME-IJENS © October 2019 IJENS I J E N S

54-70, 2016.

[37] Hien, N.V., He, N.V., Diem, P.G., A model-driven implementation to

realize controllers for Autonomous Underwater Vehicles, Aplied Ocean

Research, Elsevier, ISSN 0141-1187, 78, pp. 307-319, 2018.

[38] Aggogeri, F., Pellegrini, N., Piaggesi, F., et al., Experimental

Identification of the Dynamics Model for Cartesian Robot, International

Journal of Mechanical & Mechatronics Engineering, IJMME-IJENS,

ISSN 2227-2771, 19, pp. 52-57, 2019.

[39] Lekkas, A.M., Fossen, T.I., Integral LOS Path Following for Curved

Paths Based on a Monotone Cubic Hermite Spline Parametrization, IEEE

Transactions on Control Systems Technology, ISSN 1063-6536, 22, pp.

2287 - 2301, 2014.

[40] Zheng, Z, Zou, Y, Adaptive integral LOS path following for an

unmanned airship with uncertainties based on robust RBFNN

backstepping, ISA Transactions, Elsevier, ISSN 0019-0578, 65, pp. 210-

210, 2016.

[41] Li, W., Wu, W., Wang, J., et al., A novel backtracking navigation scheme

for Autonomous Underwater Vehicles, Measurement, Elsevier, ISSN

0263-2241, 47, pp. 496–504, 2014.

[42] Wan, E.A., Merwe, R.V.D, The Unscented Kalman Filter, in: S. Haykin

(Ed.) Kalman Filtering and Neural Networks, Wiley, New York, USA,

2001, pp. 221-280.

[43] Bar-Shalom, Y., Li, X.R., Kirubarajan, T., Estimation with Applications

to Tracking and Navigation- Theory Algorithms and Software, John

Wiley & Sons, USA, 2001.

[44] Allotta, B., Caitib, A., Costanzi, R., et al., A new AUV navigation system

exploiting unscented Kalman filter, Ocean Engineering, Elsevier, ISSN

0029-8018, 113, pp. 121–132, 2016.

[45] OpenModelica. OpenModelica. OpenModelica software, version 1.13.

Available: https://www.openmodelica.org/, 2019 (accessed April 2019).

[46] Hien, N.V., Diem, P.G., Tuan, K.M., et al., Research, design and

manufacture control systems with the integration of object-oriented

technology (MDA & Real-Time UML) and navigation units (INS/GPS)

for autonomous underwater vehicles, Final report of research project,

funded by the State, code: KC03.TN05/11-15, Hanoi University of

Science and Technology, Hanoi, Vietnam, 2013.

[47] Douglass, B.P., Design Patterns for Embedded Systems in C - an

Embedded Software Engineering Toolkit. 1st edition, Elsevier, Oxford,

UK, 2011.

[48] IBM. IBM Rational Online Documentation and Training Kit. Available:

https://estore.onthehub.com, 2019 (accessed February 2019).

[49] Papyrus. Eclipse Papyrus for Real-Time ("Papyrus-RT"). Available:

https://www.polarsys.org/papyrus-ic/products, 2018 (accessed November

2018).

[50] Gamma, E., Helm, R., Johnson, R., et al., Design Patterns: Elements of

Reusable Object-Oriented Software, Addison-Wesley, Oxford, UK, 1995.

[51] InvenSense. Sensor System on Chip. Available:

http://www.invensense.com/, 2019 (accessed January 2019).

[52] u-blox. Gobal leader in wireless communications and positioning

semiconductors and modules for the industrial, automotive and consumer

markets. Available: https://www.u-blox.com, 2019 (accessed March

2019).