11/28/23

  • Install Virtuoso and all other ROS2 dependencies being built from source within one workspace (e.g. dev_ws)
    • This makes building Virtuoso simpler
~/mrg
└───vrx_ws 
└───dev_ws
│   └───build (auto-generated during a build)
│   └───install (auto-generated during a build)
│   └───log (auto-generated during a build)
│   └───src
│       └───Virtuoso
|       └───ublox_dgnss
|       └───urg_node

System Requirements

Hardware

  • 8 Gb of RAM
  • Nvidia Graphics Card, e.g. Nvidia GTX 650
  • Modern multi-core CPU, e.g. Intel Core i5
  • A gamepad (such as Logitech F310) is recommended for driving the WAM-V in simulated world

Software

  • Ubuntu Desktop 22.04 Jammy (64-bit)
  • ROS 2 Humble
  • Gazebo Garden
  • additional dependencies
sudo apt install python3-sdformat13 ros-humble-ros-gzgarden ros-humble-xacro

Install VRX

Set up the Virtual RobotX (VRX) Simulation https://github.com/osrf/vrx/wiki/installation_tutorial

  • Create vrx workspace and clone the vrx repo
mkdir -p ~/vrx_ws/src
cd ~/vrx_ws/src
git clone https://github.com/osrf/vrx.git
  • build workspace
cd vrx_ws
colcon build --merge-install
  • source the setup script
source install/setup.bash

Run VRX

  • Spawn a USV in Sydney Regatta environment (2023 RobotX venue)
    • This can take some time due to size of the environment
    • For initial launch, it will also download 3D models from the vrx collection on Fuel
ros2 launch vrx_gz competition.launch.py world:=sydney_regatta

picture 0

Install Virtuoso

  • Clone the repo
cd dev_ws/src
git clone git@github.com:gt-marine-robotics-group/Virtuoso.git

Install IMU and Lidar packages

Install remaining dependencies

  • Install all of Virtuoso’s dependencies that are not built from source
    • If sensor dependencies were skipped, you may see “some packages were not found”.
# cd into dev_ws
rosdep install --from-paths src/Virtuoso --ignore-src -r
  • If you get error: rosdep installation not initalized yet
sudo rosdep init
rosdep update

Build Virtuoso

  • Build the virtuoso_autonomy package and all of its dependencies
colcon build --packages-up-to virtuoso_autonomy
  • If not using physical sensors:
colcon build --packages-up-to virtuoso_autonomy --packages-ignore virtuoso_sensors
  • If you get error: Cmake cannot find package configuration file provided by “pcl_ros”, run:
sudo apt install ros-humble-pcl-ros

Running Virtuoso in Simulation

  • Launch VRX using the pre-built URDF in Virtuoso/utils/<competition>
    • These custom URDF files were built from .yaml files in Virtuoso/utils/urdf/... to configure the WAM-V simulation motors and sensors
# cd into mrg
source vrx_ws/install/setup.bash
ros2 launch vrx_gz competition.launch.py urdf:=dev_ws/src/virtuoso/utils/urdf/vrx/x_drive/usv.urdf

picture 0