This is a mockup AUV for ROS2-MVP framework development.
-
Tested environment
- ROS version: Jazzy
- Ubuntu: 24.04
-
Directory information
-
mvp2_test_robot_bringuplaunchincludes launch filesbringup_simulation.launch.pyis the main launch file to bring up the simulation environmentincludefolder include all files called in the main bringup simulation file.
configincludes all ros params *.yaml files which are called in the sub launch file in theincludefolder.
-
mvp2_test_robot_configinclude MVP configuration files. The files are in yaml format and was loaded in mvp code using yaml-cpp. -
mvp2_test_robot_descriptioninclude urdf files and rviz configuration files.
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.
-
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 stonefishmkdir buildcd buildcmake ..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.hfile. If so add#include <cstdint>in/stonefish/Library/include/sensors/Sample.hwill solve the problem.
-
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
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
datahas all the parts for the simualtormetadatacontains all stonefish settinsg for looks and materials.vehiclescontains all stonefish scenario files for vehicles.worldcontains the world scenario files which will call the files inmetadataandvehciles.includeandsrchave 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 frame work is our Guidance Navigation and Control framework.
The localization part uses the robot_localization package that is available here
- Installation
sudo apt install ros-jazzy-robot-localization
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 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
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
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
After all the software are downloaded or installed from the previous section you can compile your ROS2 workspace.
cd ~/ros2_wscolcon build
- 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