A ros2_control framework for simulating and interfacing with the BlueROV Heavy and Reach Alpha 5 manipulator.
- Realistic Dynamics: Close to real simulation of underwater vehicle and manipulator behavior.
- Multi-Agent Support: Simulate multiple agents in a shared environment.
- Hardware-in-the-Loop Support: Interface with real blueROV heavy robot, including A50 DVL and reach alpha 5 manipulator.
- Internal Kalman Filter: Implements sensor fusion for robust state estimate.
-
Install ROS2:
Follow the ROS2 Installation Guide. -
Ensure
$ROS_DISTRO
is Set:
Confirm that the environment variable$ROS_DISTRO
is correctly set:echo $ROS_DISTRO
If not, set it to your ROS2 distribution (e.g.,
humble
):export ROS_DISTRO=humble
-
Install Required Dependencies:
Use your package manager to install dependencies:sudo apt-get install git-lfs \ ros-$ROS_DISTRO-hardware-interface ros-$ROS_DISTRO-xacro \ ros-$ROS_DISTRO-controller-manager ros-$ROS_DISTRO-joint-state-broadcaster \ ros-$ROS_DISTRO-joint-state-publisher-gui ros-$ROS_DISTRO-forward-command-controller \ ros-$ROS_DISTRO-ros2-control ros-$ROS_DISTRO-mavros ros-$ROS_DISTRO-mavros-msgs \ ros-$ROS_DISTRO-nav2-msgs ros-$ROS_DISTRO-force-torque-sensor-broadcaster ros-$ROS_DISTRO-tf-transformations
-
Install CasADi:
Follow the CasADi Installation Instructions. -
Clone Additional Packages:
-
Clone the Repository:
In your ROS2 workspace'ssrc
directory, clone the project:cd /absolute/path/to/your_ros2_workspace/src git clone https://github.com/edxmorgan/uvms-simulator.git
-
Install Dependencies:
From the root of your workspace, install any missing dependencies:cd /absolute/path/to/your_ros2_workspace rosdep install --from-paths src --ignore-src -r -y
-
Build the Workspace:
Compile the project:colcon build
-
Source the Setup File:
Update your environment:source install/setup.bash
Replace /absolute/path/to/your_ros2_workspace
with the actual absolute path to your ROS2 workspace.
- User Guide: User Documentation
- HIL Setup: Hardware-in-the-Loop Instructions
- Manual Control: For PS4 joystick control and coverage examples, clone uvms_simlab.
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.