Skip to content

This repository features a ros2_control simulator for the BlueROV Heavy with an attached Reach Alpha 5 manipulator, using Thor Fossen’s methods for underwater vehicle dynamics and Featherstone's algorithm for the open chain structure.

Notifications You must be signed in to change notification settings

edxmorgan/uvms-simulator

Repository files navigation

Underwater Vehicle & Manipulator Simulator and Hardware Framework

A ros2_control framework for simulating and interfacing with the BlueROV Heavy and Reach Alpha 5 manipulator.


Features

  • 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.

Dynamics Foundation


Setup

Prerequisites

  1. Install ROS2:
    Follow the ROS2 Installation Guide.

  2. 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
  3. 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
  4. Install CasADi:
    Follow the CasADi Installation Instructions.

  5. Clone Additional Packages:

Installation Steps

  1. Clone the Repository:
    In your ROS2 workspace's src directory, clone the project:

    cd /absolute/path/to/your_ros2_workspace/src
    git clone https://github.com/edxmorgan/uvms-simulator.git
  2. 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
  3. Build the Workspace:
    Compile the project:

    colcon build
  4. 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.


Documentation & Use Cases


Resources & Contributing

Contributions are welcome! Please open an issue or submit a pull request.


License

This project is licensed under the MIT License.

About

This repository features a ros2_control simulator for the BlueROV Heavy with an attached Reach Alpha 5 manipulator, using Thor Fossen’s methods for underwater vehicle dynamics and Featherstone's algorithm for the open chain structure.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages