Skip to content

vortexntnu/vortex-freya-sim

 
 

Repository files navigation

Get started

This is a fork of the VRX/WAMV sim. To get started:

  1. Make sure ROS2 Humble and Gazebo Garden is installed. For ROS2, just follow the official docs.
    For Gazebo Garden:

    sudo apt-get update && sudo apt-get install lsb-release curl gnupg
    
    sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
    
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
    
    sudo apt-get update && sudo apt-get install gz-garden
    
  2. Install additional dependencies

    sudo apt install python3-sdformat13 ros-humble-ros-gzgarden ros-humble-xacro
    
  3. Lastly, clone and build this repo.

    ⚠️ Note that you must build with colcon build --merge-install, and that using --symlink-install will not work!

  4. After building, you may run the default example sim using ros2 launch vrx_gz competition.launch.py world:=sydney_regatta

Virtual RobotX (VRX)

This repository is the home to the source code and software documentation for the VRX simulation environment, which supports simulation of unmanned surface vehicles in marine environments.

  • Designed in coordination with RobotX organizers, this project provides arenas and tasks similar to those featured in past and future RobotX competitions, as well as a description of the WAM-V platform.
  • For RobotX competitors this simulation environment is intended as a first step toward developing tools prototyping solutions in advance of physical on-water testing.
  • We also welcome users with simulation needs beyond RobotX. As we continue to improve the environment, we hope to offer support to a wide range of potential applications.

Now supporting Gazebo Sim and ROS 2 by default

We're happy to announce with release 2.0 VRX has transitioned from Gazebo Classic to the newer Gazebo simulator (formerly Ignition Gazebo).

  • Gazebo Garden and ROS 2 are now default prerequisites for VRX.
  • This is the recommended configuration for new users.
  • Users who wish to continue running Gazebo Classic and ROS 1 can still do so using the gazebo_classic branch of this repository.
    • Tutorials for VRX Classic will remain available on our Wiki.
    • VRX Classic will transition from an officially supported branch to a community supported branch by Spring 2023.

The VRX Competition

The VRX environment is also the "virtual venue" for the VRX Competition. Please see our Wiki for tutorials and links to registration and documentation relevant to the virtual competition.

VRX Ubuntu CI

Getting Started

  • Watch the Release 2.3 Highlight Video.
  • The VRX Wiki provides documentation and tutorials.
  • The instructions assume a basic familiarity with the ROS environment and Gazebo. If these tools are new to you, we recommend starting with the excellent ROS Tutorials
  • For technical problems, please use the project issue tracker to describe your problem or request support.

Reference

If you use the VRX simulation in your work, please cite our summary publication, Toward Maritime Robotic Simulation in Gazebo:

@InProceedings{bingham19toward,
  Title                    = {Toward Maritime Robotic Simulation in Gazebo},
  Author                   = {Brian Bingham and Carlos Aguero and Michael McCarrin and Joseph Klamo and Joshua Malia and Kevin Allen and Tyler Lum and Marshall Rawson and Rumman Waqar},
  Booktitle                = {Proceedings of MTS/IEEE OCEANS Conference},
  Year                     = {2019},
  Address                  = {Seattle, WA},
  Month                    = {October}
}

Contributing

This project is under active development to support the VRX and RobotX teams. We are adding and improving things all the time. Our primary focus is to provide the fundamental aspects of the robot and environment, but we rely on the community to develop additional functionality around their particular use cases.

If you have any questions about these topics, or would like to work on other aspects, please contribute. You can contact us directly (see below), submit an issue or, better yet, submit a pull request!

Contributors

We continue to receive important improvements from the community. We have done our best to document this on our Contributors Wiki.

Contacts

Releases

No releases published

Packages

 
 
 

Languages

  • C++ 78.3%
  • Python 18.0%
  • CMake 1.6%
  • GLSL 1.2%
  • Other 0.9%