Skip to content

Repository files navigation

MVP2 Test Robot

Introduction

This is a mockup AUV for ROS2-MVP framework development.

  • Tested environment

    • ROS version: Jazzy
    • Ubuntu: 24.04
  • Directory information

    • mvp2_test_robot_bringup

      • launch includes launch files
        • bringup_simulation.launch.py is the main launch file to bring up the simulation environment
        • include folder include all files called in the main bringup simulation file.
      • config includes all ros params *.yaml files which are called in the sub launch file in the include folder.
    • mvp2_test_robot_config include MVP configuration files. The files are in yaml format and was loaded in mvp code using yaml-cpp.

    • mvp2_test_robot_description include urdf files and rviz configuration files.

    Simulation Related Installation

    Stonefish Simulator

    We use Stonefish Simulator for our system development. Our configuration is tested with our forked Stonefish, which may sometimes lack behind the original repository. We will make sure we are up-to-date with the original repository.

    Installatin

    • Download the stonefish repository git clone https://github.com/patrykcieslak/stonefish.git

    • Download dependencies using sudo apt install

      • libglm-dev
      • libsdl2-dev
      • libfreetype6-dev
    • Fix a file in SDL2 library

      • cd /usr/lib/x86_64-linux-gnu/cmake/SDL2/
      • sudo nano sdl2-config.cmake
      • Remove space after "-lSDL2".
      • Save the file.
    • Build the stonefish

      • cd stonefish
      • mkdir build
      • cd build
      • cmake ..
      • make -jx(where x is the number of threads)
      • sudo make install
    • For more information about stonefish please check the original repository and the documentation.

    • you may need pcl library

      sudo apt install libpcl-dev
      
    • you may encounter build error in regarding Sample.h file. If so add #include <cstdint> in /stonefish/Library/include/sensors/Sample.h will solve the problem.

Stonefish ROS2 wrapper

Our code is tested with the forked Stonefish ROS2 wrapper. We will make sure we are up-to-date with the original Stonefish ROS2 wrapper. The original wrapper can be found here

  • Download the forked ROS2 wrapper
    git clone https://github.com/patrykcieslak/stonefish_ros2.git
    

World of stonefish

All the simulator files related to stonefish simulator are included in the world_of_stonefish repository. Sepcfically, the repository has stonefish scenario files and drivers that connects stonefish sensor messages into MVP compatible messages.

  • Download the repository

    git clone https://github.com/GSO-soslab/world_of_stonefish.git
    cd world_of_stonefish
    git checkout jazzy-devel
    
  • Directory information

    • data has all the parts for the simualtor
    • metadata contains all stonefish settinsg for looks and materials.
    • vehicles contains all stonefish scenario files for vehicles.
    • world contains the world scenario files which will call the files in metadata and vehciles.
    • include and src have source files for stonefish sensor drivers.
  • The usbl driver will need a customized acomm msgs which is available here

    https://github.com/GSO-soslab/acomms_msgs.git
    

MVP Framework in ROS2

MVP frame work is our Guidance Navigation and Control framework.

Robot localization

The localization part uses the robot_localization package that is available here

  • Installation
    sudo apt install ros-jazzy-robot-localization
    

MVP utilies

This package contains utilites scripts for localization and topic conversions.

  • installation
    git clone https://github.com/uri-ocean-robotics/mvp_utilities.git
    cd mvp_utilities
    git checkout jazzy-devel
    

MVP control

MVP control is the low-level controller we developed. It accepts desired pose and outputs thruster commands to control the vehice pose in a specific frame.

  • Installation

    git clone https://github.com/uri-ocean-robotics/mvp_control.git
    cd mvp_control
    git checkout jazzy-devel
    
  • Install gsl library

    sudo apt-get install libgsl-dev
    

MVP Message

Our MVP frame uses the MVP messages which has customized ROS message and services for the MVP framework.

  • Installation

    git clone https://github.com/uri-ocean-robotics/mvp_msgs.git
    cd mvp_msgs
    git checkout jazzy-devel
    

MVP mission

This is the high level guidance system. We are currently migrating our ROS1 mvp_mission into ROS2 version.

  • Installation
    git clone https://github.com/uri-ocean-robotics/mvp_mission.git
    cd mvp_mission
    git checkout jazzy-devel
    

Building the workspace

After all the software are downloaded or installed from the previous section you can compile your ROS2 workspace.

  • cd ~/ros2_ws
  • colcon build

Testing the robot with Stonefish

  • Launch the simulator
ros2 launch mvp2_test_robot_bringup bringup_simulation.launch.py

ros2 launch mauv_test_robot_bringup bringup_simulation.launch.py

ros2 launch mauv_test_robot_bringup bringup_simulation_mauv.launch.py

  • More information will be available after our MVP2 mission migration. test

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages