11/28/23
Recommended File Structure
- 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
- See ROS Setup
 
 - Gazebo Garden
- See Gazebo
 
 - additional dependencies
 
sudo apt install python3-sdformat13 ros-humble-ros-gzgarden ros-humble-xacroInstall 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.bashRun 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
Install Virtuoso
- Clone the repo
 
cd dev_ws/src
git clone git@github.com:gt-marine-robotics-group/Virtuoso.gitInstall IMU and Lidar packages
Note: you can skip this step if you are not using a physical sensor
Install Ublox-Dgnss
- This package is only used for communicating with the physical IMU we have and not needed for simulation
 
- You may also need to create a udev rule as directed in their README.md
 cd dev_ws/src git clone https://github.com/aussierobots/ublox_dgnssInstall urg_node
- This package is only used for communicating with the physical Hokuyo lidar and not needed for simulation
 # cd into dev_ws/src git clone -b ros2-devel https://github.com/ros-drivers/urg_node.git
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 updateBuild Virtuoso
- Build the 
virtuoso_autonomypackage 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-rosRunning Virtuoso in Simulation
- Launch VRX using the pre-built URDF in 
Virtuoso/utils/<competition>- These custom URDF files were built from 
.yamlfiles inVirtuoso/utils/urdf/...to configure the WAM-V simulation motors and sensors 
 - These custom URDF files were built from 
 
# 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




