Skip to content

Latest commit

 

History

History
executable file
·
70 lines (51 loc) · 2.06 KB

File metadata and controls

executable file
·
70 lines (51 loc) · 2.06 KB

BlueAUVCommon

ROS2 package for BlueROV/BlueAUV control with PX4 autopilot. Provides EKF state estimation, hardware drivers (barometer, DVL), and offboard controller.

Modules

Module Description
ekfNode EKF state estimation fusing DVL, IMU, barometer data
barometer_node MS5837 pressure sensor driver (I²C)
controllerpx4bluerov2 PX4 offboard controller for 6DOF control
i2c I²C communication library for sensors
ms5837 Barometer driver wrapper

Overview

This package fuses sensor data from DVL, IMU, and barometers using an Extended Kalman Filter for underwater vehicle navigation. It interfaces with PX4 autopilot for 6DOF control via ROS2.

Quick Start

EKF State Estimation

# Real robot deployment
ros2 launch bluerov2common ekf_robot.launch.py

# Simulation mode
ros2 launch bluerov2common ekf_gazebo.launch.py simulation:=true

Individual Nodes

ros2 launch bluerov2common barometer.launch.py    # MS5837 depth sensor
ros2 launch bluerov2common dvl.launch.py          # Tritech Micron DVL
ros2 launch bluerov2common imu.launch.py          # Xsens MTI IMU

Key Topics

Topic Type Description
publisherPoseEkf PoseWithCovarianceStamped Estimated pose from EKF
desiredStateOfBluerov2 DesiredStateForRobot Control commands to controller

Configuration Files

  • config/px4_config.yaml - PX4 autopilot parameters (connection, sensors, safety)
  • config/ekfTUHHROS2.yaml - EKF noise covariance tuning
  • config/tritech_micron_config.yaml - DVL settings
  • config/xsens_mti_node.yaml - IMU calibration

Hardware Setup

Enable I²C and start pigpio daemon:

sudo bash scripts/giveRights.sh
./startpigpiod.sh
i2cdetect -y 1

Python Interface

Control PX4 offboard mode from Python:

from bluerov2common.scripts.vehicleCommands import OffboardControl
# engage_offboard_mode(), arm(), disarm()

External Documentation

https://constructor-robotics.github.io