F23 - Software

  • Jetson Orin Nano and ROS2 Humble migration

    • 3 docker containers
      • Container for ROS2 ‘Isaac’: Provides ROS2 Humble support on ARM.
      • Container for processing ZED2i camera’s stereo image feed and IMU data.
      • Container for x86_64 emulation to run sonar driver.
  • Creation of new simulation environment with Gazebo Garden

    • Based on Nekton simulation.
    • Provides simplified model of vehicle with hydrodynamics and full suite of sensors (IMU, camera, sonar).
  • New ROS packages created

    • Localization ROS node
      • Uses robot_localization package to generate odometry data for IMU.
      • Can be extended to include information from SLAM or other sources.
    • Control package
      • A node that receives commanded body velocities and uses PID to generate body accelerations.
      • A node that converts body accelerations to required individual thruster commands.
  • Blueview P900 sonar driver implementation

    • Handles communication between sonar and computer.
    • Teledyne sonar SDK - x86 only and limited ROS integration.
    • Created ROS2 wrapper node:
      • Uses SDK to retrieve 16bit mono images in R- θ format from the sonar.
      • Node can be run in a QEMU-enabled docker container, allowing ARM-based Jetson Orin to run the x86-based SDK.
    • A 2nd node running outside the container (for improved performance) can subscribe to the sonar image and convert it to a more standard point cloud format.