Intro
Topics
-
/nekton/pressure: Returns the result from the pressure sensor in Pascals -
/nekton/imu: Returns the result from the IMU, including a quaternion for orientation and 3D vectors for linear and angular acceleration- Type: sensor_msgs/msg/Imu
-
/nekton/thrusters/id_<thruster_number>/input: Controls the power of the thruster; using a 0–100 range for now -
/nekton/sonar_forward: Contains 3D points (same height) where the sonar received returns- Type: Changed from sensor_msgs/msg/PointCloud2 to LaserScan
-
/nekton/camera_forward/camera_info -
/nekton/camera_forward/image_raw -
/data: generated or fused data not coming directly from sensors (e.g., estimated position from sensor fusion or post-processed camera output)
Setup
- Build project
cd ~/vip_ws
colcon build --symlink-install
source install/setup.bashSimulation
Gazebo will run in the background in order to use the GPU to run the physics simulation.
- Run hydrodynamics simulation
ros2 launch nekton_bringup test.launch- For testing sonar, run simulation with flat ground plane and add an obstacle (Also less resource-intensive, no hydrodynamics calculations)
launch world:=emptyros2 launch nekton_bringup odom_simulation.launch.py world:=sensor.worldRviz
- Visualize in RViz
rviz2 nekton.rviz
GUI
The current plan is to recreate similar functionality to the previous icefin software:
Nekton UI
- Artificial Horizon
- Buttons
- Alerts
- Camera feed
- Sonar feed
- Depth and altimeter visualization
- Thruster visualization
- Camera and Sonar Mosaicing




