Package Summary
Released
Documented
The ros_mscl package provides a driver for the LORD/Microstrain inertial products.
- Maintainer status: developed
- Maintainer: Rob Fisher <rob.fisher AT parker DOT com>, Melissa Gill <melissa.gill AT parker DOT com>
- Author: Brian Bingham, Parker Hannifin Corp
- License: MIT
- External website: https://github.com/LORD-MicroStrain/microstrain_inertial
- Source: git https://github.com/LORD-MicroStrain/microstrain_inertial.git (branch: ros)
Package Summary
Released
Documented
The ros_mscl package provides a driver for the LORD/Microstrain inertial products.
- Maintainer status: developed
- Maintainer: Rob Fisher <rob.fisher AT parker DOT com>, Melissa Gill <melissa.gill AT parker DOT com>
- Author: Brian Bingham, Parker Hannifin Corp
- License: MIT
- External website: https://github.com/LORD-MicroStrain/microstrain_inertial
- Source: git https://github.com/LORD-MicroStrain/microstrain_inertial.git (branch: ros)
Contents
Overview
ROS driver for all of Microstrain's current G and C series products.
The interface makes use of MSCL (Microstrain Communication Library) from Microstrain to communicate with the device. Includes the following applications:
Supported Devices
Show EOL distros:
ROS Nodes
microstrain_inertial_driver
ROS node that advertises IMU/GPS data, and exposes services to interact with the device.Published Topics
imu/data (sensor_msgs/Imu)- Raw IMU data. Available for 3DM-GQ7, 3DM-GX5-45, 3DM-GX5-25, and 3DM-GX5-15
- IMU GPS correlation timestamp. Available for 3DM-GQ7, and 3DM-GX5-45. GQ7 Manual: GPS Timestamp (0xFF,0xD3)
- Magnetometer data. Available for 3DM-GQ7, 3DM-GX5-45, and 3DM-GX5-25. GQ7 Manual: Scaled Mag (0x80,0x06)
- Provides GPS fix information for GNSS1 receiver. Available for 3DM-GQ7 and 3DM-GX5-45. TODO NED/ENU
- Provides odometry from the GNSS1 receiver. Available for 3DM-GQ7 and 3DM-GX5-45. TODO NED/ENU. TODO LAT/LON and ECEF
- Provides a time reference based on the GNSS1 receiver. Available for 3DM-GQ7 and 3DM-GX5-45.
- Provides additional aiding status information for the GNSS1 receiver. Available for 3DM-GQ7 and 3DM-GX5-45. GQ7 Manual: GNSS Position Aiding Status (0x82,0x43)
- Provides GPS fix information for GNSS2 receiver. Available for 3DM-GQ7. TODO NED/ENU
- Provides odometry from the GNSS2 receiver. Available for 3DM-GQ7. TODO NED/ENU. TODO LAT/LON and ECEF
- Provides a time reference based on the GNSS2 receiver. Available for 3DM-GQ7.
- Provides additional aiding status information for the GNSS2 receiver. Available for 3DM-GQ7. GQ7 Manual: GNSS Position Aiding Status (0x82,0x43)
- Provides status information of a 3DM-RTK if connected to a 3DM-GQ7. Available for 3DM-GQ7.
- Provides status of Extended Kalman Filter running on the device. More information on the specific values can be found in the GQ7 User Manual. Available for 3DM-GQ7, 3DM-GX5-45, 3DM-GX5-25, and 3DM-GX5-15.
- Provides odometry based on the output of the EKF running on the device. Available for 3DM-GQ7, and 3DM-GX5-45. TODO ENU/NED. TODO LAT/LON ECEF
- Provides the heading based on the output of the EKF running on the device. Available for 3DM-GQ7, 3DM-GX5-45, and 3DM-GX5-25.
- Provides heading state of the EKF running on the device. Available for 3DM-GQ7, 3DM-GX5-45, and 3DM-GX5-25
- Provides filtered IMU data based on the output of the EKF running on the device. Available for 3DM-GQ7, 3DM-GX5-45, 3DM-GX5-25, and 3DM-GX5-15.
- Provides additional status information about the Dual Antenna Solution if used. Available for 3DM-GQ7.
- Provides odometry based on the output of the EKF running on the device. Available for 3DM-GQ7, and 3DM-GX5-45. TODO ENU/NED. TODO LAT/LON ECEF TODO Relative config
Services
get_basic_status (std_srvs/Trigger)- Prints basic device info to the screen. Available for 3DM-GQ7, 3DM-GX5-45, 3DM-GX5-25, and 3DM-GX5-15.
- Prints a more comprehensive list of device info to the screen. Available for 3DM-GQ7, 3DM-GX5-45, 3DM-GX5-25, and 3DM-GX5-15.
- Prints a different variety of device info to the screen. Available for 3DM-GQ7, 3DM-GX5-45, 3DM-GX5-25, and 3DM-GX5-15.
- Tares the orientation of the device. Available for 3DM-GQ7, 3DM-GX5-45, and 3DM-GX5-25.
- TODO
- TODO
- Sets the rotation of the sensor in relation to the vehicle frame. Available for TODO
- Gets the ration of the sensor in relation to the vehicle frame. Available for TODO
- Sets the translation of the sensor in relation to the vehicle frame. Available for TODO
- Gets the translation of the sensor in relation to the vehicle frame. Available for TODO
- Gets the translation and rotation of the sensor in relation to the vehicle frame. Available for TODO
- Sets a specified acceleration bias to the sensor. Available for TODO
- Gets the acceleration bias set on the sensor. Available for TODO
- Sets a specified gyro bias to the sensor. Available for TODO
- Gets the gyro bias set on the sensor. Available for TODO
- Captures gyro bias data for 10 seconds and updates the bias settings on the device. Available for TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- Restarts the Extended Kalman Filter running on the device. Available for 3DM-GQ7, 3DM-GX5-45, 3DM-GX5-25, 3DM-GX5-15.
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- Sets a specified acceleration noise to the sensor. Available for TODO
- Gets the acceleration noise set on the sensor. Available for TODO
- Sets a specified gyro noise to the sensor. Available for TODO
- Gets the gyro noise set on the sensor. Available for TODO
- Sets a specified magnetometer noise to the sensor. Available for TODO
- Gets the magnetometer noise set on the sensor. Available for TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
Parameters
port (string, default: /dev/ttyACM0)- Serial port used to communicate with the device.
- Serial port used to send RTCM corrections to the device and receive NMEA messages from the device. Currently only supported by the 3DM-GQ7
- Baud rate to use when opening the serial devices used by this node. Note that the same baudrate will be used for both the main port and the aux port.
- Rate that the node will poll the port in HZ
- Maximum number of tries to check if the port exists before exiting with an error. If set to -1, the node will poll forever until the device exists.
- Controls if the driver should setup and configure the device. If set to false, the driver will not do ANY configuration of the device.
- Controls if the settings configured by the driver will be saved to the devices' non-volatile memory which will persist through power cycles.
- Controls if the driver creates a raw binary file containing all requested channels from the device. The file will be named <Model Number>_<Serial Number>_<Year>_<Month>_<Day>_<Hour>_<Minute>_<Sec>.bin
- Controls whether the driver will add additional factory support channels to the binary file produced. Useful when requesting support from the manufacturer, but this increases bandwidth usage considerably, so use with caution.
- The directory to store the raw data file. Should not have a trailing /
- Frame ID to use with the IMU data.
- Frame ID to use with the GNSS1 data.
- Frame ID to use with the GNSS2 data.
- Frame ID to use with the filter data. The node will also produce a transform between this and filter_child_frame_id when publish_relative_position is set to true
- Child frame ID used with filter data. The node will also produce a transform between the filter_frame_id and this frame when publish_relative_position is set to true
- Frame ID to use with the NMEA data.
- Controls if the driver outputs data with respect to the ENU frame.
- Controls if the driver uses the device generated timestamp (if available) for timestamping messages as well as providing a TimeReference message.
- Controls whether the driver will publish IMU data. If device_setup is set to true, this will also enable the channels required to receive IMU data.
- Rate in hertz that the device will produce IMU data. Up to TODO
- 3x3 matrix that contains the static IMU covariance values for orientation
- 3x3 matrix that contains the static IMU linear values for linear velocity
- 3x3 matrix that contains the static IMU covariance values for angular velocity
- Controls if the driver will publish GPS time of week. Useful if you need to provide external information synced to GPS time of week.
- Controls whether the node will publish data from GNSS antenna 1. If device_setup is set to true, this will also enable the channels required to receive GNSS1 data.
- Rate in hertz that the device will produce GNSS1 data. Up to TODO
- Antenna 1 lever arm offset vector in meters. For GQ7 this is in the vehicle frame with respect to IMU origin. For all other models this is in the IMU frame with respect to IMU origin
- Controls whether the node will publish data from GNSS antenna 2. If device_setup is set to true, this will also enable the channels required to receive GNSS2 data.
- Rate in hertz that the device will produce GNSS2 data. Up to TODO
- Antenna 2 lever arm offset vector in meters. This is in the vehicle frame with respect to IMU origin.
- Whether to enable the RTK dongle interface.
- Whether to subscribe to RTCM corrections and provide them to the filter
- The topic to subscribe to when receiving RTCM corrections from the ROS network.
- Whether to publish NMEA messages received from the GQ7 aux port.
- Controls whether the node will publish data from the EKF running on the device. If device_setup is set to true, this will also enable the channels required to receive filter data
- Rate in hertz at which the device will produce filter data. Up to TODO
- Selects the method that the sensor2vehicle frame translation will be passed into the device. 0 = None, 1 = Euler Angles, 2 = Matrix, 3 = Quaternion.
- Euler transform between the sensor frame and vehicle frame
- Matrix transform between the sensor frame and vehicle frame
- Quaternion transform between the sensor frame and vehicle frame
- Controls if the Kalman filter is reset after the settings are configured.
- Controls if the Kalman filter will auto-init or require manual initialization
- Declination source. 1 = None, 2 = Magnetic Label, 3 = Manual
- Manual declination source. Used if filter_declination_source is set to 3
- Heading source. 0 = None, 1 = Magnetic, 2 = GNSS Velocity
- Dynamics mode. 1 = Portable, 2 = Automotive, 3 = Airborne (<2Gs), 4 = Airborne High G (<4Gs)
- Controls whether the node will subscribe to a topic that will receive boolean messages to either enable or disable velocity ZUPT messages being sent to the device on an interval.
- Topic that we will listen to for velocity ZUPT start and stop commands.
- Controls whether the node will subscribe to a topic that will receive boolean messages to either enable or disable angular ZUPT messages being sent to the device on an interval.
- Topic that we will listen to for angular ZUPT start and stop commands.
- Adaptive filter settings. 0 = Off, 1 = Conservative, 2 = Moderate, 3 = Aggressive
- Max duration of measurement rejection prior to recovery in milliseconds.
- Controls whether the filter uses GNSS position and velocity as an aiding measurement.
- Controls whether the filter uses GNSS heading as an aiding meas3rement.
- Controls whether the filter uses altimeter data as an aiding measurement.
- Controls whether the filter uses odometer data as an aiding measurement.
- Controls whether the filter uses magnetometer data as an aiding measurement.
- Controls whether the filter uses external heading as an aiding measurement.
- Controls whether the node should listen for external GPS time from the ROS network.
- The topic that the node will listen to for external GPS time.
- Current number of GPS leap seconds
- The topic that the node will listen to for external speed measurements. Only enabled if filter_enable_odometer_aiding is true. Not available when hardware odometer is enabled.
- Controls whether the GQ7 will be configured to accept odometer data through the GPIO pins.
- Odometer scaling used with the hardware odometer
- Odometer uncertainty used with the hardware odometer
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- Controls whether the driver should configure the GPIO pins
- Init Condition Source. 0 = Auto, 1 = Manual Heading, 2 = Manual Attitude, 3 = Manual
- Bit field that controls auto heading alignment. Bit 0 is for Dual-antenna GNSS. Bit 1 is for GNSS kinematic. Bit 2 is for Magnetometer
- Reference Frame. 1 = WGS84 ECEF, 2 = WGS84 LLH
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO
- TODO