Angler: An Autonomy Framework for Intervention Tasks with
Lightweight Underwater Vehicle Manipulator Systems
Evan Palmer, Christopher Holm, and Geoffrey Hollinger
Abstract— Developing autonomous intervention capabilities for lightweight underwater vehicle manipulator systems(UVMS) has garnered significant attention within recent years
because of the opportunity for these systems to reduce intervention operating costs. Developing autonomous UVMS capabilities
is challenging, however, because of the lack of available standardized software frameworks and pipelines. Previous works
offer simulation environments and deployment pipelines forunderwater vehicles, but fall short of providing a complete
UVMS software framework. We address this gap by creating
Angler: a software framework for developing localization,
control, and decision-making algorithms with support for simto-real transfer. We validate this framework by implementing astate-of-the-art control architecture and demonstrate the ability
to perform station keeping with a mean error below 0.25 m andwaypoint tracking with an average final error of 0.398 m.

I. I NTRODUCTION
Lightweight underwater vehicle-manipulator systems(UVMS)—which range from 25-50 kg in size—can beused to perform intervention tasks like scientific samplingand structural maintenance [1]. Performing intervention withlightweight UVMS currently requires at least one welltrained human operator, whose training can be resource
expensive. This motivates the development of autonomous
solutions. However, because of the lack of standardized
open-source software frameworks and unified development
pipelines, implementing and deploying autonomous taskbased planning and control capabilities for lightweight
UVMS is burdensome and acts as a significant barrier-toentry for researchers hoping to work with these systems.
Existing approaches provide solutions to individual stagesof the UVMS development and testing process. Specifically,
Project DAVE [2], UUV Sim [3], UWSim [4], and Stonefish[5] all provide options for simulating UVMS but do notprovide pipelines to transition implemented solutions to a
hardware platform. Approaches that support deployment tohardware include ROS-MVP [6] and COLA2 [7]. Unfortunately, ROS-MVP is designed only for vehicle integration,
and COLA2 is proprietary.
In an effort to standardize testing and to reduce development time needed to deploy lightweight UVMS, we propose
Angler. Angler is an open-source1,2 ROS 2 [8] framework

Tether

BlueROV2 Heavy

Qualisys Motion Capture
SystemReach Alpha 5

Fig. 1: We demonstrate our proposed framework and sim-to-realpipeline on the BlueROV2 Heavy with a mounted Reach Alpha
5 manipulator through hardware experiments in the O.H. Hinsdale
Wave Research Laboratory.

designed to provide a plug-and-play solution for developing
custom sensor interfaces, localization algorithms, control
algorithms, and behavior trees for lightweight UVMS. In
addition to offering interfaces for developing UVMS solutions, Angler provides a unified pipeline for testing thesealgorithms in simulation and transitioning them to hardware.
We validate the proposed framework by creating a stateof-the-art UVMS control architecture using integral sliding
mode control and set-based task priority inverse kinematic
control. The control architecture accounts for the uniquechallenges associated with integrating lightweight UVMS
(i.e., high manipulator-to-vehicle mass ratio and model uncertainty created by nonlinear hydrodynamic forces acting
on the system) and achieves fundamental control capabilities
required for autonomous intervention. Hardware experiments
were performed using the framework with a BlueROV2
Heavy3 , a mounted Reach Alpha 5 manipulator4 , and a
Qualisys motion capture system for localization5 (see Fig. 1).
The results of these experiments demonstrate the system’sability to perform successful end effector station-keepingwith an average end effector tracking error below 0.25 m
and waypoint tracking with the average final error between
the end effector and waypoint being 0.398 m.
II. R ELATED W ORK*The work of Evan Palmer was supported by the National Defense
Science and Engineering Graduate (NDSEG) Fellowship.
Evan Palmer, Christopher Holm and Geoffrey Hollinger
are with the Collaborative Robotics and Intelligent Systems(CoRIS)
Institute,OregonState
University,
Corvallis
OR97331,
USA{palmeeva, christopher.holm,

geoff.hollinger}@oregonstate.edu

Developing autonomous intervention capabilities for
UVMS has garnered significant attention within recent years
with several large-scale projects achieving success using
3 https://bluerobotics.com/

1 https://github.com/Robotic-Decision-Making-Lab/blue

4 https://reachrobotics.com/

2 https://github.com/Robotic-Decision-Making-Lab/angler

5 https://www.qualisys.com/

intervention-class UVMS (100-200 kg). The SAUVIM [9]and TRIDENT [10] projects demonstrate underwater target
recovery. Valve turning is another common demonstration
which has been shown by DexROV [11], TRITON [12],and Giergial et al. [13]. Finally, the TWINBOT project has
successfully demonstrated autonomous cooperative object
transportation [14]. While these projects have been successful, many take advantage of propriety software to implement
their solutions [7] while the remaining leave their software
frameworks closed-source.
For lightweight UVMS, most work has been limited tosimulation. Marais et al. present an anisotropic disturbancerejection technique [15] and an energy optimal trajectory
planner [16] for a simulated lightweight UVMS. Barbălată et
al. explore the dynamic coupling effect and use of coupledintegral sliding mode control on a simulated lightweight
UVMS in [17], [18]. Wang et al. provides an exception to theuse of simulation by demonstrating successful target recovery
using a custom-built manipulator [19] and a bioinspired
lightweight UVMS [20]. Though, these works focus on
the development of custom hardware platforms and do notprovide an accompanying open-source software framework.
III. S OFTWARE F RAMEWORK
Angler provides a complete framework for developing andtesting lightweight UVMS, and has been informed by thefollowing goals:
1) Modularity: Ensure researchers can implement sensor
interfaces, control algorithms, and localization algorithms without needing to re-write existing interfaces.
2) Task-Oriented: Provide an architecture that allows researchers to leverage existing algorithms and capabilities to perform complex intervention tasks.
3) Flexibility: Provide interfaces to support using a varietyof hardware platforms ensuring that our framework is
hardware agnostic.
4) Sim-To-Real: Create a pipeline that enables prototyping
solutions in simulation and deploying the same solutions on hardware without significant modification.
5) Leverage existing open-source software: Angler uses
ROS 2 and ArduPilot [21] to create a familiar API
and toolset for underwater roboticists.
Angler accomplishes these objectives by implementing
a collection of ROS 2 packages that enable developmentof sensor and hardware interfaces as well as algorithms
for control, localization, and task planning. Angler also
integrates ArduPilot to enable software-in-the-loop (SITL)
testing and deployment to hardware. In the remainder of thissection, we provide additional details regarding the interfaces
made available through Angler.
A. Localization
At the core of any underwater robotics platform is the ability to perform localization. Unfortunately, most lightweight
UVMS offer minimal sensing capabilities out-of-the-box,
making it necessary for researchers to integrate their own
sensor interfaces. Furthermore, once a sensor reading has

been received, that reading is not always sent directly to astate estimator; sometimes it’s used as an input to a localization algorithm (e.g., sonar scans used for SLAM [22]).
Recognizing these factors, Angler provides a localization
package with helper classes to support integrating sensors
into the system and creating localization algorithms using
received sensor data. The package can be used to send any
identified velocity or pose states to the ArduPilot Extended
Kalman Filter (EKF) for state estimation.
B. Controllers
UVMS control architectures can be separated into two
categories: coupled and decoupled. In a coupled control
architecture, the manipulator(s) and vehicle are controlled bya single control algorithm. Whereas, in a decoupled control
architecture, a high-level kinematic controller is used inconjunction with separate manipulator and vehicle dynamic
controllers. Angler provides two interfaces to support developing both types of control architectures:
1) Vehicle Control: Robust control techniques like sliding
mode control are generally used for vehicle control when
implementing decoupled control algorithms for lightweight
UVMS [15], [18]. Unfortunately, ArduPilot only implements
PID control for vehicle control, which has been demonstrated
to be insufficient in the presence of underwater disturbances[23]. Angler enables development and integration of more
complex controllers by providing a custom interface forsending commands to individual thrusters.
2) Whole-Body Control: Angler provides an additional
package for developing specifically whole-body controllers.
Whole-body controllers can be implemented for use in either
coupled or decoupled control schemes according to theresearcher’s needs.
C. Behavior Tree
Behavior trees are a popular solution to enabling highlevel decision-making and task execution in robotic systems,
and have seen preliminary adoption within marine robotics
applications [24], [25]; however, they have not yet been
integrated into a UVMS framework. Behavior trees can becharacterized as rooted, directed trees comprised of control
flow nodes and execution nodes. Control flow nodes are
responsible for enabling decision-making within a behavior
tree. The types of control flow nodes are fallback, sequence,parallel, and decorator nodes. Execution nodes perform
some task within the behavior tree as either an action nodeor a condition node. For additional information regarding
behavior tree design, we refer readers to [26].
Angler takes advantage of behavior trees in the framework to create reusable primitive behaviors, or subtrees,from which more complex behaviors can be developed. The
implemented primitive behaviors include arming/disarming,
querying a planner, and moving to a waypoint.
D. Hardware Interface
One of the main strengths of Angler is that it gives
researchers the flexibility to choose their hardware platform.

This flexibility is made possible through the mux/demux
interfaces:
1) Mux: A mux acts as the primary entry point to Angler
for vehicle and manipulator state information. The gatheredstate information is combined into a generic state object thatcan be used by Angler. Researchers can implement theirown mux to collect state information from custom sources.
For example, a mux could be implemented to gather state
information regarding the vehicle from the ArduPilot EKF
and state information regarding a manipulator from a custom
manipulator driver.
2) Demux: A demux is responsible for splitting up aunified control command and distributing that command to
its respective end points. In the case of decoupled control, a demux might split a command from a kinematic
controller into separate control commands for the vehicle
and manipulator controllers. Alternatively, a demux for acoupled controller may simply proxy control commands tothe hardware.
E. Sim-to-Real
Angler uses Gazebo for hydrodynamics simulation and
ArduPilot for SITL testing and deployment to hardware. The
benefit in providing a SITL testing environment is that any
implemented algorithms and interfaces can be tested using
the same software that provides integration with hardware,
helping to minimize integration issues during sim-to-realtransfer. With regards to the transfer process itself, computers used for simulation and topside operation often havedifferent processor architectures and operating systems thandevices onboard the vehicle. Consequently, performing simto-real transfer can introduce cross-compilation issues anddependency mismatches.
Angler overcomes this problem by integrating Docker.
Angler builds and releases Docker images targeting amd64
and aarch64 architectures which allows researchers to run
Angler from a topside computer or on a compute platform
located on the UVMS. Furthermore, the use of Docker
ensures that the Angler framework is completely sand-boxed,limiting differences between the simulation environment andthe hardware environment. The complete sim-to-real pipeline
may be observed in Fig. 2.
IV. S YSTEM M ODELThis section establishes a mathematical model for anunderwater vehicle manipulator system (UVMS) and otherpreliminary information needed to understand the implemented control architecture.
A. Kinematic Model
A UMVS is a multi-body system consisting of an underwater vehicle and one or more manipulators affixed to
the vehicle. The vehicle’s pose η with respect to an inertial,
earth-fixed frame I and velocities v with respect to a bodyfixed frame B are defined as [27]:


T

T
T
η = η1 η2 , η1 = x y z , η2 = ϕ θ ψT (1)
T
Tv = v1 v2 , v1 = u v w , v2 = p q r

Development
1.

2.

xd
x

Implement sensor interfaces
and localization algorithms

Develop new UVMS controllers

4.

3.

?
Implement behavior trees

Validate in simulation with
Gazebo and ArduPilot SITL

Deployment
1.

Download Docker image totopside computer or UVMS

2.

Deploy Angler!

Fig. 2: The Angler sim-to-real pipeline uses Docker to facilitate
deployment of software tested in simulation to a topside computeror the UVMS itself.

where x, y, and z capture the linear position of the vehicle; ϕ,θ, and ψ denote the vehicle’s roll, pitch, and yaw angles, respectively; u, v, and w denote linear velocities; and p, q, andr denote angular velocities. The joint angles of an attachedn degree of freedom
represented using the manipulatorareTjoint matrix q = q1 q2 . . . qn
∈ Rn . The respective
T
joint velocities are captured as q̇ = q˙1 q˙2 . . . q˙n ∈ Rn .
TFinally, the end effector’s pose ηee = ηee,1 ηee,2 ∈ R6
with respect to the inertial frame may be determined using
forward kinematics.
The linear and angular velocitiesof the manipulator’s endT
expressed in the earth-fixed
effector η̇ee = η̇ee,1 η̇ee,2frame can be determined using differential kinematics andare given as:Jη̇ee = pos ζ = J(η, q)ζ ∈ R6
(2)
Jori

T
where ζ = v1 v2 q̇
is the vector of system velocities,
Jpos represents the UVMS position Jacobian, and Jori repβ
resents the UVMS orientation Jacobian. Let Rαdenote arotation matrix from frame α to frame β. Furthermore, letαdenote a vector defining the translation from frame αrα,βto frame β with respect to frame α. We now define Jpos andJori as: I
II−St RB
Jpos,man∈ R3×(6+n)(3)
Jpos = RBII
3×(6+n)O
R
J(4)Jori =
ori,man ∈ R
B0
I B), 0 represents thewhere St = S(RBrB,0 ) + S(R0I r0,ee
manipulator base frame, ee represents the end-effector frame,
O denotes the null matrix, and S(x) defines the skewI
symmetric matrix for a vector x [27]. Finally, Jpos,man
andI
Jori,man represent the manipulator position and orientation
Jacobian matrices with respect to the inertial frame.

Manipulator
Control
TPIK Control

SystemIntegral Sliding
Mode Control

UVMS
Kinematics

Fig. 3: Block diagram depicting the proposed control architecture for a lightweight UVMS. TPIK control is used to enable tracking
high-level control tasks while the ISMC and manipulator controller are responsible for tracking the desired system velocities.

B. Dynamic Model
The dynamics for an underwater vehicle are given in
Newton-Euler form as
M v̇ + C(v)v + D(v)v + g(η) + d(η, t) = τ ∈ R6

(5)

where M is the inertia matrix with added mass terms, C(v)is the matrix of Coriolis and centripetal terms, D(v) is thedamping matrix, g(η) is the vector of restoring forces, d(η, t)represents the unmodeled forces, and τ is the vector ofvehicle forces and moments [28].
V. C ONTROL A RCHITECTURE
We demonstrate the capabilities of Angler by creating astate-of-the-art, decoupled control architecture designed toachieve fundamental control capabilities required for autonomous intervention with lightweight UVMS. Set-basedtask priority inverse kinematic (TPIK) control has been
implemented as the whole-body kinematic controller. The
formulation for set-based TPIK control and a descriptionof the implemented control tasks are given in Section VA. We also design an integral sliding mode controller forrobust vehicle velocity control to ensure accurate tracking ofdesired system velocities provided by the set-based TPIK
controller. The integral sliding mode controller is further
explored in Section V-B. The complete control architecture
is summarized in Fig. 3.
A. Set-Based Task Priority Inverse Kinematic Control
Task priority control methods [27] seek to achieve adesired system state through the composition tasks, where atask is defined as a control objective σ(x) ∈ Rm which actsT
as a function on the system state x = η q . The desired
system velocities ζd required to achieve a desired task value
σd can be calculated with the following closed-loop inverse
kinematics equation [29]:ζd = J † (σ̇d + Kσe )(6)where J † represents the Moore-Penrose pseudoinverse of thetask Jacobian, K ∈ Rm×m is a positive-definite matrix ofgains, and σe = σd − σ is the task error.
If the UVMS is kinematically redundant (i.e., the system
has more degrees of freedom than the number of degrees of
freedom required by the task), then Equation 6 will containa null projection operation:
ζd = J † (σ̇d + Kσe ) + (I − J † J)ζnull(7)

where ζnull ∈ Rn+6 is an arbitrary velocity matrix projected
into the null space of the Jacobian [30]. Using the null space
projection, multiple tasks may be defined and organized as ahierarchy in terms of priority for execution such that lower
priority tasks are projected into the null space of the Jacobianof a higher priority task. The resulting system velocity givena hierarchy of tasks is computed as ζd = ζ1 + N1 ζ2 + · · · +N1,i−1 ζi where ζi are the calculated system velocities forthe ith task and N1,i−1 is the null space of the augmentedTtask Jacobian J1,i−1 = J1 J2 . . . Ji−1 .
The above task-priority framework is designed to achievea specific task value (i.e., an equality task). However, it isvaluable to also constrain a task variable to a range. Suchtasks are identified as set-based tasks. We integrate set-basedtasks into the task-priority framework by implementing themethod proposed by Moe et al. [31], which constructs thetask hierarchy at each control iteration according to thecurrent system state. If the current system state violates a
set-based task’s limits, the task in violation is embedded into
the hierarchy as an equality task. Once the system no longer
violates the set-based task constraints, the task is removed
from the task hierarchy. For additional information regarding
the hierarchy construction and selection algorithm, we referreaders to the derivation by Moe, et al. [31].
We implement three types of control tasks for execution
within the task hierarchy. The first is a joint limit set-basedtask which constrains the range-of-motion of a manipulator
joint, helping to prevent over-extension of the joint beyond
its mechanical limits. The task Jacobian for this constraint
is the row vector
1 . . . 0 ∈ R1×n
(8)
Jlim,i = 0 . . . |{z}iwhere i denotes the ith manipulator joint. The task Jacobian
for the vehicle yaw equality task is of the same form asthat identified in Equation 8 with the exception being thatindex i is equivalent to that of the vehicle yaw column within
the system Jacobian defined in Equation 2. Finally, the endeffector position task Jacobian is defined in Equation 3.
We assign the following task priority within the hierarchy:
1) Joint limits
2) End-effector position tracking
3) Vehicle yaw tracking
Joint limits have been assigned the highest priority inthe hierarchy to ensure that the controller adheres to thesystem safety constraints. End-effector position tracking
is performed with second priority to accomplish accurate
trajectory tracking. Finally, vehicle yaw tracking has been
integrated as an optimization task to ensure that the vehicle
faces its operational workspace.
B. Integral Sliding Mode Control
We design an integral sliding mode controller (ISMC)
for vehicle control which provides robustness to matched
uncertainties during the full system response [32]. To design
the ISMC, we begin with the control lawτ = τ0 + τ1

(9)where τ0 is a controller responsible for stabilizing the nominal system and τ1 is a controller responsible for rejecting
the forces induced through d(η, q, t). For this work, assume
that d(η, q, t) meets the definition of matched uncertainty
such that d(η, t) has a known upper bound and fulfills
the matching condition (i.e., d(η, t) ∈ span{B}, where B
represents a control selection matrix).
We design τ0 using the nominal vehicle dynamics obtained
from Equation 5 and computed torque control as follows:τ0 = M p + C(v)v + D(v)v + g(η)(10)

where p = v̇d + Kp ve represents the auxillary control input,
ve = vd − v represents the vehicle velocity error, and Kp ∈R6×6 is a positive-definite matrix of gains. We now design
τ1 to reject uncertainties unhandled by τ0 . Let s = σ + z be
the sliding variable in which
σ = Cve ,(11)ż = v̇e + Kp ve − C v̇e(12)with C representing a positive-definite matrix. To ensure
disturbance rejection during full system response, assume
that the initial error state dynamics exist on the manifold
describing the desired error dynamics (i.e., s(0) = 0). z(0)can then be given as z(0) = −Cve (0). After integrating ż,s and its respective time derivative are determined to be
Z tve dt − Kp ve (0)(13)
s = ve + K p

which, upon substituting Equations 5, 14, and 9 and rearranging terms, yields
V̇ = sT (d(η, t) − ρ sign(s))(18)= ||s||(−ρ + ||d(η, t)||)When ρ is selected such that ρ ≥ ||d(η, t)|| + ϵ where ϵ isa positive scalar, we obtain the inequality V̇ ≤ −ϵ||s|| andthe controller is stable.
To alleviate chatter in the controller, we approximate
the sign function using the hyperbolic tangent function:sign(s) = tanh λs , where λ > 0 is a scalar value
defining the sign function boundary thickness. Furthermore,
we perform thruster-level control by applying the formulaτ = Bt Ku(19)

where Bt ∈ R6×t represents the thruster allocation matrix
for a vehicle with t thrusters, u ∈ Rt represents a vector ofthruster control signals, and K ∈ Rt×t is a diagonal matrix
whose elements represent the nonlinear relationship between
a thruster’s control signal and resulting thrust output.
VI. E XPERIMENTAL S ETUP
We validated our proposed framework using a BlueROV2
Heavy with a mounted Reach Alpha 5 manipulator (see Fig.
1). This platform can be easily launched by a single person
without the use of launch and recovery systems. Angler was
deployed to a Raspberry Pi 4 onboard the BlueROV2 toreduce system latency and to avoid bandwidth limitations
imposed by the tether. We integrated the Reach Alpha 5
manipulator into the system by creating an open-source6
ROS 2 driver the the Reach Alpha 5. Finally, we designed
the system behavior tree with the ability to load a sequenceof waypoints for the system to navigate to and the ability to
execute that plan using the control architecture. A disarm
fallback state was also integrated into the behavior tree,
giving users the option to manually override the system in theevent of unexpected behavior. The behavior tree is presented
in Fig. 4.
All experiments were performed in the O.H. Hinsdale
Wave Research Laboratory with a water depth of 1.2 m.
6 https://github.com/Robotic-Decision-Making-Lab/alpha0ṡ = v̇e + Kp ve

(14)

?

When the desired error dynamics are achieved, s = ṡ =0 and the disturbances are rejected throughout the system
response. τ1 is now designed to enforce sliding motion:
τ1 = ρ sign(s)(15)

where ρ is a positive-definite matrix of switching gains andsign(s) is the sliding mode control sign function.
To prove the stability of the controller, take the Lyapunov
candidate1
V = sT M s(16)2TV̇ = s M ṡ(17)?

disarm!

is_armed?

navigate_to_waypoints

idle

!

is_setuparm

load_waypoints

move_to_startFig. 4: Our proposed behavior tree has been design to enable UVMS
task execution. Here, square nodes represent actions, ovals areconditions, ? represents a fallback node, → represents a sequencenode, and ! denotes a not-decorator.

«device» Dell XPS 13«device» Qualisys Motion Capture System

0.32

USB/IP

TCP«device» BlueROV2 Heavy«device» Raspberry Pi 4

«device» Reach Alpha 5«container» angler-robot«component» angler«component» alpha«component» blue«component» MAVROS
RS-232

MAVLINK«container» BlueOS Core
«component» ArduSub

End-Effector Position Error (m)«device» Logitech F310 Controller

0.3
0.28
0.26
0.24
0.22
0.2
0.18
0.16
Trial 1

Trial 2

Trial 3

Trial 4

Trial 5

Trial

Fig. 5: We deploy our framework using Docker onto a Raspberry
Pi 4 hosted by the BlueROV2 Heavy. This helps reduce latency
between the software framework and the onboard devices.

Fig. 6: The average end-effector position error across station keeping trials was observed to be 0.223 m ± 0.031 m, demonstrating
the stability of the control framework for extended periods of time.
Trial 2

Trial 1

Due to the minimal onboard sensing capabilities, we utilize a
Qualisys underwater motion capture system for localization.
The motion capture capture system provided an accuracyof 4 mm at the time of calibration, making it suitablefor ground-truth measurements. In the case of real-world
deployments, the motion capture system would be replacedby additional sensors, such as a Doppler Velocity Log andacoustic beacons. Our goal in these trials is to characterize
the error inherent in the implemented control architecture
given accurate localization. The complete deployment diagram is presented in Fig. 5.

Trial 4

Trial 3

Trial 5

LegendActual Trajectory
Reference TrajectoryVII. E XPERIMENTS AND R ESULTS
A majority of intervention tasks (e.g., control panel operation and valve turning) require a UVMS to maintain astationary pose (i.e., station-keeping) for extended periods oftime, making station-keeping one of the most critical capabilities for an autonomous platform. Therefore, we evaluate theability of our system to perform end-effector station-keeping
across five consecutive trials, each lasting one minute induration. The end effector tracking error observed acrosseach trial may be observed in Fig. 6. The mean error acrossall trials was 0.223 m ± 0.031 m, respectively, showing thatthe system was able to maintain a consistent position acrossall trials. The observed error can be attributed to steady-state
error in the ISMC controller and inaccuracies in the nonlinear
thrust-to-PWM mapping used for direct thruster control.
Waypoint navigation is another core capability that an autonomous framework should be able to demonstrate. This capability is required for intervention tasks like target retrieval
and object transportation. We test the proposed framework’s
ability to navigate to the waypoint ηee,1,d = [1.0, 1.0, 0.5]Tfrom an initial position across five consecutive trials. The
trajectories executed by the system are presented in Fig.
7. The average error between the end effector and desired
waypoint at the time of convergence across all trials was
0.398 m ± 0.099 m.

Fig. 7: The UVMS was instructed to navigate from an approximate
initial position of ηee,1 = [−1.0, 1.0, 0.5]T to the waypointηee,1,d = [1.0, 1.0, 0.5]T . This shows the ability of the framework
to converge on a distinct waypoint over an extended distance.

VIII. D ISCUSSION
We have presented Angler, a complete software framework for lightweight underwater vehicle manipulator systems(UVMS) that makes it easier to develop and deploy UVMS
algorithms. Angler provides interfaces to enable integrationof sensors, localization algorithms, controllers, and behavior
trees. Angler emphasizes flexibility with regards to the hardware platform and provides a pipeline for testing systems
in simulation and deploying those systems to hardware. We
have validated Angler by creating a state-of-the-art control
architecture for lightweight UVMS and successfully demonstrated core autonomy capabilities. This work is a first step in
improving the accessibility of underwater robotics research
to the general robotics community.
IX. ACKNOWLEDGEMENT
We would like to thank Hannah Kolano and Scott Chow
for their help throughout the experimentation process.

R EFERENCES[1] F. Nauert and P. Kampmann, “Inspection and maintenance of industrial infrastructure with autonomous underwater robots,” Frontiers inRobotics and AI, vol. 10, 2023.
[2] M. M. Zhang, W.-S. Choi, J. Herman, D. Davis, C. Vogt, M. McCarrin,
Y. Vijay, D. Dutia, W. Lew, S. Peters, and B. Bingham, “DAVE
Aquatic Virtual Environment: Toward a General Underwater Robotics
Simulator,” in IEEE Autonomous Underwater Vehicles Symposium(AUV), 2022, pp. 1–8.
[3] M. M. M. Manhães, S. A. Scherer, M. Voss, L. R. Douat, andT. Rauschenbach, “UUV Simulator: A Gazebo-based package forunderwater intervention and multi-robot simulation,” in OCEANS,
2016, pp. 1–8.
[4] J. J. Fernández, J. Pérez, A. Peñalver, J. Sales, D. Fornas, and
P. J. Sanz, “Benchmarking using UWSim, Simurv and ROS: An autonomous free floating dredging intervention case study,” in OCEANS,
2015, pp. 1–7.
[5] P. Cieślak, “Stonefish: An Advanced Open-Source Simulation Tool
Designed for Marine Robotics, With a ROS Interface,” in OCEANS,
2019.
[6] E. C. Gezer, M. Zhou, L. Zhao, and W. McConnell, “Working toward
the development of a generic marine vehicle framework: ROS-MVP,”in OCEANS, 2022, pp. 1–5.
[7] N. Palomeras, A. El-Fakdi, M. Carreras, and P. Ridao, “COLA2: A
Control Architecture for AUVs,” IEEE Journal of Oceanic Engineering, vol. 37, no. 4, pp. 695–716, 2012.
[8] S. Macenski, T. Foote, B. Gerkey, C. Lalancette, and W. Woodall,“Robot Operating System 2: Design, architecture, and uses in thewild,” Science Robotics, vol. 7, no. 66, 2022.
[9] G. Marani, S. K. Choi, and J. Yuh, “Underwater autonomous manipulation for intervention missions AUVs,” Ocean Engineering, vol. 36,
no. 1, pp. 15–23, 2009.
[10] P. J. Sanz, P. Ridao, G. Oliver, G. Casalino, Y. Petillot, C. Silvestre,
C. Melchiorri, and A. Turetta, “TRIDENT An European projecttargeted to increase the autonomy levels for underwater intervention
missions,” in OCEANS, 2013, pp. 1–10.
[11] P. Di Lillo, E. Simetti, F. Wanderlingh, G. Casalino, and G. Antonelli,“Underwater Intervention With Remote Supervision via Satellite Communication: Developed Control Architecture and Experimental Results
Within the Dexrov Project,” IEEE Transactions on Control Systems
Technology, vol. 29, no. 1, pp. 108–123, 2021.
[12] N. Palomeras, A. Peñalver, M. Massot-Campos, G. Vallicrosa, P. L.
Negre, J. J. Fernández, P. Ridao, P. J. Sanz, G. Oliver-Codina, and
A. Palomer, “I-AUV docking and intervention in a subsea panel,”in IEEE International Conference on Intelligent Robots and Systems(IROS), 2014, pp. 2279–2285.
[13] P. Cieslak, P. Ridao, and M. Giergiel, “Autonomous underwater
panel operation by GIRONA500 UVMS: A practical approach toautonomous underwater manipulation,” in IEEE International Conference on Robotics and Automation (ICRA), 2015, pp. 529–536.
[14] R. Pi, P. Cieślak, P. Ridao, and P. J. Sanz, “TWINBOT: Autonomous
Underwater Cooperative Transportation,” IEEE Access, vol. 9, pp.
37 668–37 684, 2021.
[15] W. J. Marais, S. B. Williams, and O. Pizarro, “Anisotropic DisturbanceRejection for Kinematically Redundant Systems With Applications on
an UVMS,” IEEE Robotics and Automation Letters, vol. 6, no. 4, pp.
7017–7024, 2021.
[16] ——, “Go With the Flow: Energy Minimising Periodic Trajectories
for UVMS,” in IEEE International Conference on Robotics andAutomation (ICRA), 2022, pp. 01–07.
[17] C. Barbălată, M. W. Dunnigan, and Y. Pétillot, “Dynamic coupling
and control issues for a lightweight underwater vehicle manipulator
system,” in OCEANS, 2014, pp. 1–6.
[18] C. Barbălată, M. W. Dunnigan, and Y. Petillot, “Coupled and Decoupled Force/Motion Controllers for an Underwater Vehicle-Manipulator
System,” Journal of Marine Science and Engineering, vol. 6, no. 3,
2018.
[19] Y. Wang, S. Wang, Q. Wei, M. Tan, C. Zhou, and J. Yu, “Developmentof an Underwater Manipulator and Its Free-Floating Autonomous
Operation,” IEEE Transactions on Mechatronics, vol. 21, no. 2, pp.
815–824, 2016.
[20] Y. Wang, M. Cai, S. Wang, X. Bai, R. Wang, and M. Tan, “Development and Control of an Underwater Vehicle–Manipulator System
Propelled by Flexible Flippers for Grasping Marine Organisms,” IEEE

Transactions on Industrial Electronics, vol. 69, no. 4, pp. 3898–3908,
2022.
[21] ArduPilot Development Team, “ArduPilot,” https://ardupilot.org/.
[22] J. Wang, S. Bai, and B. Englot, “Underwater localization and 3d
mapping of submerged structures with a single-beam scanning sonar,”in IEEE International Conference on Robotics and Automation (ICRA),
2017, pp. 4898–4905.
[23] H. Tugal, K. Cetin, X. Han, I. Kucukdemiral, J. Roe, Y. Petillot,
and M. S. Erden, “Sliding Mode Controller for Positioning of an
Underwater Vehicle Subject to Disturbances and Time Delays,” inIEEE International Conference on Robotics and Automation (ICRA),
2022, pp. 3034–3039.
[24] C. I. Sprague, Özkahraman, A. Munafo, R. Marlow, A. Phillips,
and P. Ögren, “Improving the Modularity of AUV Control Systems
using Behaviour Trees,” in Autonomous Underwater Vehicle Workshop(AUV), 2018, pp. 1–6.
[25] S. Bhat, I. Torroba, Özkahraman, N. Bore, C. I. Sprague, Y. Xie,
I. Stenius, J. Severholt, C. Ljung, J. Folkesson, and P. Ögren, “A
Cyber-Physical System for Hydrobatic AUVs: System Integration
and Field Demonstration,” in IEEE Autonomous Underwater Vehicles
Symposium (AUV), 2020, pp. 1–8.
[26] M. Colledanchise and P. Ögren, Behavior trees in robotics and AI: An
introduction. CRC Press, 2018.
[27] G. Antonelli, Underwater Robots. Springer International Publishing,
2018.
[28] T. I. Fossen, Handbook of Marine Craft Hydrodynamics and Motion
Control. John Wiley Sons, Ltd, 2011, ch. 2, pp. 15–44.
[29] S. Chiaverini, “Singularity-robust task-priority redundancy resolution
for real-time kinematic control of robot manipulators,” IEEE Transactions on Robotics and Automation, vol. 13, no. 3, pp. 398–410, 1997.
[30] C. A. Klein and C.-H. Huang, “Review of pseudoinverse control for
use with kinematically redundant manipulators,” IEEE Transactions
on Systems, Man, and Cybernetics, vol. SMC-13, no. 2, pp. 245–250,
1983.
[31] S. Moe, G. Antonelli, A. R. Teel, K. Y. Petterson, and J. Schrimpf,“Set-based tasks within the singularity-robust multiple task-priority
inverse kinematics framework: general formulation, stability analysis,
and experimental results,” Frontiers in Robotics and AI, vol. 3, no. 16,
2016.
[32] V. Utkin and J. Shi, “Integral Sliding Mode in Systems Operating
under Uncertainty Conditions,” in IEEE Conference on Decision andControl, vol. 4, 1996, pp. 4591–4596 vol.4.