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).
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,ฮท2T]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); ฮฝ = [v1T,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.
{๐ฑ๐ค= ๐๐คโ๐(๐ฑ๐คโ๐, ๐ฎ๐คโ๐) + ๐ฐ๐คโ๐ ๐ฒ๐ค= ๐ก๐ค(๐ฑ๐ค) + ๐ฏ๐ค
(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; u
k 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;
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
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, X๏๏n, 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: q๏Q, 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 xc๏inv(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 Invand guard control Guardcan 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 f๏F 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.
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 (xc๏X) 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 (f๏F).
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 application s 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
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. FunctionEKF algorithm
StepEKF 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
StepEKF update
Data : ๐ฑฬ๐|๐โ1, ๐๐|๐โ1, ๐ก๐(. ) Result : ๐ฑฬ๐|๐, ๐๐|๐ ๐ป๐=
๐๐ก๐
๐๐ฑ|๐ฑฬ๐|๐โ1
;
๐๐= ๐ ๐+ ๐ป๐๐๐|๐โ1๐ป๐๐; ๐ฟ๐= ๐๐|๐โ1๐ป๐๐๐๐โ1; ๐๐= ๐ฒ๐โ ๐ก๐(๐ฑฬ๐|๐โ1); ๐ฑฬ๐|๐= ๐ฑฬ๐|๐โ1+ ๐ฟ๐๐๐; ๐๐|๐= ๐๐|๐โ1โ ๐ฟ๐๐๐๐ฟ๐๐โ1;
end
Algorithm II Navigation filter based on UKF. FunctionUKF algorithm
StepUKF predict
Data : ๐ฑฬ๐โ1|๐โ1, ๐๐โ1|๐โ1, ๐๐โ1(. ) Result : ๐ฑฬ๐|๐โ1, ๐๐|๐โ1
(๐ฑฬ๐|๐โ1, ๐ฬ ๐|๐โ1) = ๐๐ (๐ฑฬ๐โ1|๐โ1, ๐ฬ ๐โ1|๐โ1, ๐๐โ1(. )) ; ๐๐|๐โ1= ๐ฬ ๐|๐โ1+ ๐๐โ1;
end
StepUKF 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++.
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.
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.
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).