Status: created working gazebol models of the AUV and competition accurate pool world.
Rulebook Edition 📖: Rulebook 6.1.0
Contains collection of ROS2 packages that provide AUV functionality targeted towards the SAUVC 2026 competition for AUV MARK II.
AUV MARK II uses ArduSub as the flight controller and mavros as the GCS.
AUV MARK II runs in Gazebo Garden using the standard buoyancy, hydrodynamics and thruster plugins. The connection between ArduSub and Gazebo is provided by ardupilot_gazebo.
Check out the installation file.
The project assumes that you are using zsh like a sane human.
To edit a BehaviorTree using Groot, install these dependencies:
sudo apt install qtbase5-dev libqt5svg5-dev libzmq3-dev libdw-devGet the source code for Groot
cd ~/auv_ws
rosdep install --from-paths src --ignore-src -r -y
cd ~/auv_ws/src/
vcs import . < auv_ros2/third_parties.repos
cd ~/auv_ws
colcon build --symlink-installLaunch MAVProxy when the robot is connected via ethernet.
mavproxy.py --master=udp:0.0.0.0:14550 --out=udp:0.0.0.0:14660To launch the simulation environment:
ros2 launch auv_bringup sim_launch.py world:=pool mavros:=FalseLaunch MAVProxy in a 2nd Terminal:
mavproxy.py --master tcp:127.0.0.1:5760 --sitl 127.0.0.1:5501 --out 127.0.0.1:14550 --out 127.0.0.1:14551 --out udp:0.0.0.0:14550 --consoleYou can use MAVProxy to send commands directly to ArduSub:
arm throttle
rc 3 1450
rc 3 1500
mode alt_hold
disarm
RC channels:
- RC 3 -- vertical
- RC 4 -- yaw
- RC 5 -- forward
To launch the simulation environment:
ros2 launch auv_bringup sim_launch.py world:=poolLaunch the forward executable in a 2nd Terminal:
ros2 run auv_autonomy forwardTo launch the cameras connected to jetson
ros2 launch usb_cam cameras.launch.pyTo check camera feed
rviz2and add image and choose the correct topic.
- If things don't work, make sure that all the required environment variables are set as given above. Make sure to
zsh. - Please ensure that you do all of the initialization steps one after the another. Otherwise, things may not work.
