Files
PX4-Autopilot/docs/en/sensor/microstrain.md
T
JoelJ18 4fa9aa205f
Build all targets / Scan for Board Targets (push) Has been cancelled
Build all targets / Build [${{ matrix.runner }}][${{ matrix.group }}] (push) Has been cancelled
Build all targets / Upload Artifacts (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_fmu-v5_default) (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_sitl_default) (push) Has been cancelled
Checks / build (check_format) (push) Has been cancelled
Checks / build (check_newlines) (push) Has been cancelled
Checks / build (module_documentation) (push) Has been cancelled
Checks / build (px4_fmu-v2_default stack_check) (push) Has been cancelled
Checks / build (px4_sitl_allyes) (push) Has been cancelled
Checks / build (shellcheck_all) (push) Has been cancelled
Checks / build (tests) (push) Has been cancelled
Checks / build (tests_coverage) (push) Has been cancelled
Checks / build (validate_module_configs) (push) Has been cancelled
Clang Tidy / build (push) Has been cancelled
MacOS build / build (px4_fmu-v5_default) (push) Has been cancelled
MacOS build / build (px4_sitl) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:22.04) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:24.04) (push) Has been cancelled
Container build / Set Tags and Variables (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
EKF Update Change Indicator / unit_tests (push) Has been cancelled
Failsafe Simulator Build / build (failsafe_web) (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v5x (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v6x (push) Has been cancelled
FLASH usage analysis / Publish Results (push) Has been cancelled
ITCM check / Checking nxp_tropic-community (push) Has been cancelled
ITCM check / Checking px4_fmu-v5x (push) Has been cancelled
ITCM check / Checking px4_fmu-v6xrt (push) Has been cancelled
MAVROS Mission Tests / build (map[mission:MC_mission_box vehicle:iris]) (push) Has been cancelled
MAVROS Offboard Tests / build (map[test_file:mavros_posix_tests_offboard_posctl.test vehicle:iris]) (push) Has been cancelled
Nuttx Target with extra env config / build (px4_fmu-v5_default) (push) Has been cancelled
Python CI Checks / build (push) Has been cancelled
ROS Integration Tests / build (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:humble ubuntu:jammy]) (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:jazzy ubuntu:noble]) (push) Has been cancelled
SITL Tests / Testing PX4 tailsitter (push) Has been cancelled
SITL Tests / Testing PX4 iris (push) Has been cancelled
SITL Tests / Testing PX4 standard_vtol (push) Has been cancelled
Docs - Crowdin - Upload Guide sources (en) / upload-to-crowdin (push) Has been cancelled
Docs - Deploy PX4 User Guide to AWS / build (push) Has been cancelled
Docs - Deploy PX4 User Guide to AWS / deploy (push) Has been cancelled
[Docs] MicroStrain driver documentation (#25376)
* Initial Draft

* prettier + parent INS doc addition

* Typo fixes and param description improvements

* LinkedFileMissingAnchor Fix

* External mag and optical flow doc update

* Reverting module.yaml

* Apply suggestion from @hamishwillee

---------

Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
2025-10-15 19:04:51 +11:00

11 KiB
Raw Blame History

MicroStrain (INS, IMU, VRU, AHRS)

MicroStrain by HBK provides high-performance inertial sensors engineered for reliability and precision in challenging environments. Widely used across industries like aerospace, robotics, industrial automation, and research, MicroStrain sensors are optimized for real-time, accurate motion tracking and orientation data.

CV7

The driver currently supports the following hardware:

  • MicroStrain CV7-AR: Inertial Measurement Unit (IMU) and Vertical Reference Unit (VRU)
  • MicroStrain CV7-AHRS: Inertial Measurement Unit (IMU) and Attitude Heading Reference System (AHRS)
  • MicroStrain CV7-INS: Inertial Measurement Unit (IMU) and Inertial Navigation System (INS).
  • MicroStrain CV7-GNSS/INS: Inertial Measurement Unit (IMU) and Inertial Navigation System (INS) combined with dual multiband (GNSS) receivers.

PX4 can use these sensors to provide raw IMU data for EKF2 or to replace EKF2 as an external INS. For more information, including user manuals and datasheets, please refer to the sensors product page.

Where to Buy

MicroStrain sensors can be purchased through HBK's official MicroStrain product page or through authorized distributors globally. For large orders, custom requirements, or technical inquiries, reach out directly to sales

Hardware Setup

Wiring

Connect the main UART port of the MicroStrain sensor to any unused serial port on the flight controller. This port needs to be specified while starting the device.

Mounting

The MicroStrain sensor can be mounted in any orientation. The default coordinate system uses X for the front, Y for the right, and Z for down, with directions marked on the device.

Firmware Configuration

PX4 Configuration

To use the MicroStrain driver:

  1. Include the module in firmware in the kconfig board configuration by setting the kconfig variables: CONFIG_DRIVERS_INS_MICROSTRAIN or CONFIG_COMMON_INS.

  2. Configure the driver mode by setting MS_MODE

  3. Reboot and start the driver

    • microstrain start -d <port>
    • To start the driver automatically when the flight controller powers on, set SENS_MS_CFG to the sensors connected port.

MicroStrain Configuration

  1. Rates:

    • By default, accel and gyro data are published at 500 Hz, magnetometer at 50 Hz, and barometric pressure at 50 Hz. This can be changed by adjusting the following parameters:

    • Global position, local position, attitude and odometry will be published at 250 Hz by default. This can be configured via:

    • For the CV7-GNSS/INS, the GNSS receiver 1 and 2 will publish data at 5Hz by default. This can be changed using:

    • The driver will automatically configure data outputs based on the specific sensor model and available data streams.

    • The driver is scheduled to run at twice the fastest configured data rate.

  2. Aiding measurements:

    ::: tip

    1. When optical flow aiding is enabled, the sensor uses the vehicle_optical_flow_vel output from the flight controller as a body-frame velocity aiding measurement.
    2. If the MicroStrain sensor does not support these aiding sources but they are enabled, sensor initialization will fail.

    :::

  3. Initial heading alignment:

    • Initial heading alignment is set to kinematic by default. This can be changed by adjusting

  4. GNSS Aiding Source Control (GNSS/INS only)

    • The Source of the GNSS aiding data can be configured using:

  5. Sensor to vehicle transform:

  6. IMU ranges:

    ::: tip Available range settings depend on the specific sensor and can be found in the corresponding user manual. By default, the ranges are not changed.

    :::

  7. GNSS Lever arm offsets:

Published Data

The MicroStrain driver continuously publishes sensor data to the following uORB topics:

For GNSS/INS devices, GPS data is also published to:

If used as an external INS replacing EKF2, it publishes:

otherwise the same data is published to the following topics

  • external_ins_global_position
  • external_ins_attitude
  • external_ins_local_position

::: tip Published topics can be viewed using the listener command. :::