This repository contains the robot description and necessary launch files to describe and simulate the BlueROV2 (unmanned underwater vehicle) with Gazebo and its hydrodynamics plugins under ROS 2.
- ROS 2 Garden or newer with
ros_gz_bridge
(you may have to recompile it from sources) - simple_launch, installable through
apt install ros-${ROS_DISTRO}-simple-launch
- slider_publisher, installable through
apt install ros-${ROS_DISTRO}-slider-publisher
- pose_to_tf, to get the ground truth from Gazebo.
A legacy version using Ignition plugins is available in bluerov2_ignition
.
Clone the package in your ROS 2 workspace src
and compile with colcon
To run a demonstration with the vehicle, you can run a Gazebo scenario, such as an empty world with buoyancy and sensors setup:
ros2 launch bluerov2_description world_launch.py
and then spawn the robot with a GUI to control the thrusters:
ros2 launch bluerov2_description upload_bluerov2_launch.py sliders:=true
Basic control is available in the auv_control package
In this case spawn the robot without manual sliders and run e.g. a cascaded PID controller:
ros2 launch bluerov2_description upload_bluerov2_launch.py
ros2 launch bluerov2_control cascaded_pids_launch.py sliders:=true
BlueROV2 package is open-sourced under the Apache-2.0 license. See the LICENSE file for details.