Intro
Update to Software Setup v1
Setup
Install Dependencies
- Install pip dependencies
pip3 install "ultralytics==8.3.176" "numpy<2.0" pandas --break-system-packages - Install apt dependencies ROS2 Jazzy
sudo apt install ros-jazzy-robot-localization ros-jazzy-tf-transformationsPontus Installation
- Install Pontus
cd mrg_ws/src
git clone https://github.com/gt-marine-robotics-group/Pontus.gitSimulation
- Launch odom simulation
ros2 launch pontus_bringup odom_simulation.launch.py
Example of Gazebo configured for Sonar Data Visualization
Sensor Visualization & Debugging
Gazebo
- Visualize simulated sonar hit locations
RViz
- Run RViz
rviz2
Perception
- Launch Perception nodes
ros2 launch pontus_perception perception.launch.py ros2 launch pontus_perception detection_services.launch.py auv:=simMapping/Localization
Uses perception outputs + robot state (DVL + EKF) to maintain a global estimate of the environment.
ros2 launch pontus_mapping mapping.launch.py Controls
RQT
- Run rqt
rqt- To display topics: Click plugins → topics → message publisher
-
Configure rqt to test position controller
- Select
command_modeand click the+icon to add the topic- Set to mode 7
- Add
cmd_posto test the position controller
Ex: set pos x to 2, cmd_vel will change until reaches x=2
- Select
Plotjuggler
- Install plotjuggler
sudo apt install ros-humble-plotjuggler-ros- Run plotjuggler
ros2 run plotjuggler plotjuggler-
When the window loads, click start, and select topics, then drag variables (e.g. /cmd/linear/x) onto the main plot area
-
Testing position controller

-
depth controller: linear z
- going against buoyancy
- looks at position moving away from where it should be and makes adjustment to push it down
-
not running SLAM
- Get position from DVL and
robot_localizationruns extended kalman filter
- Get position from DVL and
Autonomy
- Run autonomy nodes



