Status: created working gazebol models of the AUV and competition accurate pool world.
Rulebook Edition 📖: Rulebook 5.1.4
Contains collection of ROS2 packages that provide AUV functionality targeted towards the SAUVC 2025 competition for AUV MARK I.
AUV MARK I uses ArduSub as the flight controller and mavros as the GCS.
AUV MARK I 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.
auv_autonomyBasic autonomous functionsauv_bringupLaunch filesauv_descriptionSDF filesauv_mlInference Nodeauv_interfacesInterfacesauv_sensingCamera Nodes
We are trying X0
