LORD-MicroStrain/microstrain_inertial

3DM-GX3-25 empty IMU topic

Opened this issue · 0 comments

Hello, I'm trying to use an IMU 3DM-GX3-25. It is old but I can still get data using SensorConnect. When I tried to use ROS2 driver and it did not show any error message, but the imu/data was not publishing. Is it a bug or this driver is not compatible with it?

I'm using the latest ROS2 branch of this repo.

  1. Udev rule
SUBSYSTEM=="tty", ATTRS{idVendor}=="199b", ATTRS{idProduct}=="3065", SYMLINK="microstrain", MODE="0666"
  1. Launch file (using one of the example file as a template)
import os
import ament_index_python
from launch import LaunchDescription
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.actions import IncludeLaunchDescription, ExecuteProcess
from launch_ros.actions import Node, SetRemap

_MICROSTRAIN_LAUNCH_FILE = os.path.join(ament_index_python.packages.get_package_share_directory('microstrain_inertial_driver'), 'launch', 'microstrain_launch.py')
_GX3_25_PARAMS_FILE = os.path.join(ament_index_python.packages.get_package_share_directory('microstrain_inertial_examples'), 'config', 'gx3_25', 'gx3_25.yml')
_RVIZ_DISPLAY_FILE = os.path.join(ament_index_python.packages.get_package_share_directory('microstrain_inertial_examples'), 'config', 'gx3_25', 'display.rviz')

def generate_launch_description():
  return LaunchDescription([
    # Microstrain node
    IncludeLaunchDescription(
      PythonLaunchDescriptionSource(_MICROSTRAIN_LAUNCH_FILE),
      launch_arguments={
        'configure': 'true',
        'activate': 'true',
        'params_file': _GX3_25_PARAMS_FILE,
        'namespace': '/',
      }.items()
    ),

    Node(
      package='tf2_ros',
      executable='static_transform_publisher',
      output='screen',
      arguments=[
          "--x", "10",
          "--y", "0",
          "--z", "0",
          "--roll", "0",
          "--pitch", "0",
          "--yaw", "0",
          "--frame-id", "map",
          "--child-frame-id", "odometer_link"
        ]
    ),

    Node(
      package='tf2_ros',
      executable='static_transform_publisher',
      output='screen',
      arguments=[
          "--x", "0",
          "--y", "0",
          "--z", "1",
          "--roll", "0",
          "--pitch", "0",
          "--yaw", "0",
          "--frame-id", "odometer_link",
          "--child-frame-id", "base_link"
        ]
    ),
    Node(
      package='tf2_ros',
      executable='static_transform_publisher',
      output='screen',
      arguments=[
          "--x", "0",
          "--y", "0",
          "--z", "0",
          "--roll", "0",
          "--pitch", "0",
          "--yaw", "0",
          "--frame-id", "base_link",
          "--child-frame-id", "gx3_25_link"
        ]
    ),

  ])
  1. Config file
microstrain_inertial_driver:
  ros__parameters:

    port : '/dev/microstrain'
    baudrate : 115200

    use_enu_frame : True

    frame_id : 'gx3_25_link'  # Frame ID of all of the filter messages. Represents the location of the CV7-INS in the tf tree

    publish_mount_to_frame_id_transform : False
  1. Launch log
[INFO] [launch]: All log files can be found below /home/robotian/.ros/log/2024-08-20-20-33-15-433277-robotian-81054
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [microstrain_inertial_driver_node-1]: process started with pid [81055]
[INFO] [static_transform_publisher-2]: process started with pid [81057]
[INFO] [static_transform_publisher-3]: process started with pid [81059]
[INFO] [static_transform_publisher-4]: process started with pid [81061]
[microstrain_inertial_driver_node-1] [INFO] [1724200395.654525500] [microstrain_inertial_driver]: Running microstrain_inertial_driver version: ros2-4.3.0
[microstrain_inertial_driver_node-1] [INFO] [1724200395.654637963] [microstrain_inertial_driver]: Using MIP SDK version: v1.0.0-283-g2c4cb6b
[microstrain_inertial_driver_node-1] [WARN] [1724200395.654655524] [microstrain_inertial_driver]: No relative position configured. We will not publish relative odometry or transforms.
[microstrain_inertial_driver_node-1] [WARN] [1724200395.654665120] [microstrain_inertial_driver]:   Please configure relative position to publish relative position data
[microstrain_inertial_driver_node-1] [INFO] [1724200395.654890653] [microstrain_inertial_driver]: Attempting to open serial port </dev/microstrain> at <115200>
[microstrain_inertial_driver_node-1] [INFO] [1724200395.655095905] [microstrain_inertial_driver]: Setting device to idle in order to configure
[microstrain_inertial_driver_node-1] [INFO] [1724200395.656826619] [microstrain_inertial_driver]: Main Connection Info:
[microstrain_inertial_driver_node-1]     #######################
[microstrain_inertial_driver_node-1]     Model Name:       3DM-GX3-25
[microstrain_inertial_driver_node-1]     Serial Number:    6223.39993
[microstrain_inertial_driver_node-1]     Firmware Version: 2.0.06
[microstrain_inertial_driver_node-1]     #######################
[static_transform_publisher-3] [INFO] [1724200395.657795071] [static_transform_publisher_PLVWFKpEnk8uqXiM]: Spinning until stopped - publishing transform
[static_transform_publisher-3] translation: ('0.000000', '0.000000', '1.000000')
[static_transform_publisher-3] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-3] from 'odometer_link' to 'base_link'
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658431561] [microstrain_inertial_driver]: Note: The device does not support publishing the topic ekf/dual_antenna_heading
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658462162] [microstrain_inertial_driver]: Note: The device does not support publishing the topic ekf/imu/data
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658476456] [microstrain_inertial_driver]: Note: The device does not support publishing the topic ekf/llh_position
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658491742] [microstrain_inertial_driver]: Note: The device does not support publishing the topic ekf/odometry_earth
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658506478] [microstrain_inertial_driver]: Note: The device does not support publishing the topic ekf/odometry_map
[static_transform_publisher-2] [INFO] [1724200395.658473246] [static_transform_publisher_7hbhihfw4hFKlam0]: Spinning until stopped - publishing transform
[static_transform_publisher-2] translation: ('10.000000', '0.000000', '0.000000')
[static_transform_publisher-2] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-2] from 'map' to 'odometer_link'
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658520399] [microstrain_inertial_driver]: Note: The device does not support publishing the topic ekf/status
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658533281] [microstrain_inertial_driver]: Note: The device does not support publishing the topic ekf/velocity
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658549253] [microstrain_inertial_driver]: Note: The device does not support publishing the topic ekf/velocity_ecef
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658562261] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_1/llh_position
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658575566] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_1/odometry_earth
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658588123] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_1/time
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658600303] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_1/velocity
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658612666] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_1/velocity_ecef
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658624551] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_2/llh_position
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658637029] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_2/odometry_earth
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658648921] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_2/time
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658665672] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_2/velocity
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658678058] [microstrain_inertial_driver]: Note: The device does not support publishing the topic gnss_2/velocity_ecef
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658707585] [microstrain_inertial_driver]: Note: The device does not support publishing the topic imu/pressure
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658726747] [microstrain_inertial_driver]: Note: The device does not support publishing the topic imu/wheel_speed
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658740975] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/ekf/aiding_measurement_summary
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658753158] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/ekf/gnss_dual_antenna_status
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658765100] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/ekf/gnss_position_aiding_status
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658777206] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/ekf/multi_antenna_offset_correction
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658807777] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/ekf/status
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658822685] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/gnss_1/fix_info
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658837959] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/gnss_1/rf_error_detection
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658850219] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/gnss_1/sbas_info
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658862131] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/gnss_2/fix_info
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658874490] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/gnss_2/rf_error_detection
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658886767] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/gnss_2/sbas_info
[microstrain_inertial_driver_node-1] [INFO] [1724200395.658899657] [microstrain_inertial_driver]: Note: The device does not support publishing the topic mip/sensor/overrange_status
[microstrain_inertial_driver_node-1] [INFO] [1724200395.661012773] [microstrain_inertial_driver]: Note: The device does not support the GPIO config command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.661042539] [microstrain_inertial_driver]: Note: The device does not support the PPS source command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.661055907] [microstrain_inertial_driver]: Note: The device does not support the odometer settings command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.661068205] [microstrain_inertial_driver]: Note: The device does not support the SBAS settings command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.661080887] [microstrain_inertial_driver]: Note: The device does not support the nmea message format command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.661234832] [microstrain_inertial_driver]: Note: Device does not support the RTK dongle config command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.661255663] [microstrain_inertial_driver]: Note: Device does not support Siangle Config command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662298509] [microstrain_inertial_driver]: Note: Device does not support the declination source command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662325720] [microstrain_inertial_driver]: Note: Device does not support GNSS antenna offsets
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662339631] [microstrain_inertial_driver]: Note: The device does not support the vehicle dynamics mode command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662355687] [microstrain_inertial_driver]: Note: The device does not support the heading source command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662368862] [microstrain_inertial_driver]: Note: The device does not support the filter autoinitialization command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662380796] [microstrain_inertial_driver]: Note: The device does not support the filter adaptive settings command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662392173] [microstrain_inertial_driver]: Note: The device does not support the filter aiding command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662403761] [microstrain_inertial_driver]: Note: The device does not support the filter speed lever arm command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662417210] [microstrain_inertial_driver]: Note: The device does not support the wheeled vehicle constraint command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662426913] [microstrain_inertial_driver]: Note: The device does not support the vertical gyro constraint command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662435725] [microstrain_inertial_driver]: Note: The device does not support the GNSS antenna calibration command.
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662444988] [microstrain_inertial_driver]: Note: The device does not support the next-gen filter initialization command.
[microstrain_inertial_driver_node-1] [WARN] [1724200395.662460174] [microstrain_inertial_driver]: Note: The device does not support the sensor to vehicle transformation or rotation euler command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662471325] [microstrain_inertial_driver]: Note: The device does not support the reference point lever arm command
[microstrain_inertial_driver_node-1] [INFO] [1724200395.662485126] [microstrain_inertial_driver]: Note: The settings were not saved as startup settings. Power cycling will remove changes from device
[microstrain_inertial_driver_node-1] [WARN] [1724200395.662515527] [microstrain_inertial_driver]: Device does not support the filter reset command
[static_transform_publisher-4] [INFO] [1724200395.662636783] [static_transform_publisher_FNPzkKvURUromXte]: Spinning until stopped - publishing transform
[static_transform_publisher-4] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-4] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-4] from 'base_link' to 'gx3_25_link'
[microstrain_inertial_driver_node-1] [INFO] [1724200395.667434979] [microstrain_inertial_driver]: Setting spin rate to <200.000000> hz
[microstrain_inertial_driver_node-1] [INFO] [1724200395.667478079] [microstrain_inertial_driver]: Resuming the device data streams
[microstrain_inertial_driver_node-1] [INFO] [1724200395.667794839] [microstrain_inertial_driver]: Node activated

Expected behavior
It is expected to see the imu/data topic.

Environment (please complete the following information):

  • OS: Ubuntu 22.04
  • Architecture: arm64
  • ROS Version: Humble
  • Version: ros2-4.3.0
  • Sensor(s): 3DM-GX3-25