Overview
Angler is an autonomy framework implemented using ROS 2 that is designed to support development, testing, and sim-to-real deployment of lightweight underwater vehicle manipulator systems (UVMS). This is accomplished through the following features:
- Custom whole-body controllers: Angler supports the development and integration of custom whole-body UVMS controllers using angler_control.
- High-level autonomy with behavior trees: High-level autonomy capabilities needed to perform complex intervention tasks are supported using behavior trees. Angler implements several primitive behaviors from which more complex intervention behaviors can be constructed using angler_behaviors.
- Localization and vehicle control: Angler supports system localization and vehicle-specific integration using its sibling project, Blue.
- Simulation using Gazebo: Vehicle models and configurations have been created for Gazebo.
- CI/CD pipelines: Angler implements CI/CD pipelines to help you deploy your
software in the same environment that you performed development and testing
in. Docker images are built for the
amd64
andarm64
CPU architectures so that you can easily deploy your software to a variety of hardware platforms. - Development environment: Angler provides a development environment that includes all of the tools you need to develop software for UVMS, such as ROS 2, Gazebo, linters, and formatters. This helps you avoid spending resources setting up your development environment and focus on writing your robotics algorithms 😀
Recommended workflow​
Angler is designed to be flexible and modular, enabling you to make changes according to the needs of your project. However, our commitment to flexibility does not compromise our effort to ensure that the provided system caters to a wide range of use cases. With this in mind, we recommend the following workflow for using Angler:
Supported Systems​
Angler has been integrated and tested on the following systems:
BlueROV2 Heavy Alpha
The BlueROV2 Heavy Alpha modifies the Blue Robotics BlueROV2 Heavy by moving the thrusters located on the upper chassis to the lower chassis. This modification facilitates the integration of a Reach Robotics Reach Alpha 5 manipulator, a popular lightweight 5 degree-of-freedom manipulator. This configuration was first proposed by Reach Robotics to enable intervention tasks.