This is the main working repository for the USV (Unmanned Surface Vehicle) VantTec Platform. Official documentation here.
- usv_comms: ROS package that allows the USV software to interface with the Digi XBee Hardware for communication with the ground control station.
- usv_control: ROS package for the implementation of the control algorithms for the USV.
- usv_missions: ROS package where the algorithms to solve the different RoboBoat 2024 challenges are implemented.
- usv_perception: ROS package for the perception algorithms used in the USV.
- sbg_driver: ROS package that allows the USV to interface with SBG's IMU.
- usv_libs: Control library.
- velodyne: ROS package for the Velodyne LIDAR.
- zed_ros_wrapper: ROS package for the Stereolabs ZED Camera.
- Nvidia CUDA
- ZED SDK
- Gazebo Sim - Garden
- TensorRT
- The following dependencies:
# To install dependencies automatically:
rosdep install --from-paths src -y --ignore-src
sudo apt-get install libpcap-dev libgeographic-dev ros-humble-perception-pcl ros-humble-pcl-msgs ros-humble-vision-opencv ros-humble-xacro ros-humble-tf-transformations libgz-sim7-dev libignition-transport12-dev libignition-msgs9-dev python3-sdformat13
sudo add-apt-repository ppa:borglab/gtsam-release-4.1
sudo apt install libgtsam-dev libgtsam-unstable-dev
Enter the following commands into your Ubuntu 22 terminal:
# Clone repository and its submodules
cd
git clone http://github.com/vanttec/vanttec_usv.git
cd vanttec_usv
git submodule update --init --recursive
# Build the usv_interfaces package
colcon build --packages-select usv_interfaces
# Set environment variables with install/setup.bash file
source install/setup.bash
Run mission #2:
ros2 launch usv_control usv_control_sim_launch.py
ros2 launch usv_missions obstacle_launch.py
ros2 run usv_utils obstacle_viewer_node
ros2 run usv_control obstacle_avoidance_node
ros2 run usv_missions mission_handler_node
Move the boat around:
ros2 launch usv_control usv_control_sim_launch.py
ros2 launch usv_control teleop_launch.py