Supported Sensors

Xsens MTi-G-700 Series

xsens-mt
V2.0.0-b.1
USB/Serial
60

Supported hardware versions

The driver interface communicates with the GPS/IMU sensor using the MT Software suite.

  • Define the node in the SDF Configurator
  • Copy the serial device path name into the SDF Configurator (default is /dev/ttyUSB0)
  • Run the Dynamic Driver interface

Sensor background and requirements

All MTi’s have a powerful multi-processor core design, capable of processing roll, pitch and yaw with extremely low latencies, as well as out putting calibrated 3D linear acceleration, rate of turn (gyro), (earth) magnetic field and atmospheric pressure (100-series only) data. The MTi-G-700 GPS/INS and MTi-G-710 GNSS/INS also offers 3D position and 3D velocity.

Sensor notes

  • Default baud rate is 115200, for the device and for the PolySync Core driver

Hardware requirements

  • An ECU with a USB or serial port
  • An ECU with PolySync Core installed

Configuring the PolySync driver

Adding the sensor to the SDF

Using the Configurator tool, add a sensor node to the SDF.

The Xsens ‘Node Interface’ name is xsens-mt.

Validating the sensor is properly configured

If you’re approaching a new PolySync system or need to validate an existing configuration you can use the following checklist to ensure the sensor is properly configured.

Setup checklist

  • The sensor is connected to a USB/serial port
  • The serial device path is configured (default is /dev/ttyUSB0)
  • Default baud rate is 115200, for the device and for the PolySync Core driver

Starting the PolySync driver

The configuration set in the Configurator is loaded from the SDF when the dynamic driver starts. It connects to the sensor through the USB port, requests the data, and waits for confirmation that the sensor configuration is valid.

  1. Power the ECU on
  2. Optionally follow the set up checklist
  3. Start your runtime
  4. Start the dynamic driver process

Starting the node manually on the command line

To start a dynamic driver node on the command line, the node must first be defined in the SDF using the Configurator application.

Each node defined in the Configurator has a unique node ID which points to the nodes configuration. This article explains how to find the node ID.

Command line flags and usage
$ polysync-core-dynamic-driver -n X

Each sensor supports an array of command line arguments. To see a full list of command line arguments, pass the -h help flag:

$ polysync-core-dynamic-driver -n X -h  |  less

There’s a lot of output so we recommend you pipe the output to less, but it’s not required.

Flag Required Description Arguments
-h No Show the help message N/A
-o No Reserved N/A
-w No Disable the hardware interface(s), allowing the node to run without hardware connected - also known as replay mode N/A
-n <N> Yes SDF node configuration identifier for the node SDF node ID from the Configurator, [0-65536]
-i <pal.so> No Use provided PAL interface file instead of what is stored in the SDF Path to the dyanmic driver interface PAL shared object library
-e No Export a JSON support string describing the interface, used by the SDF configuration tool N/A
-u No Allow updates to the SDF configuration during the normal runtime if needed (does not exit) N/A
-p <file.plog> No Use provided logfile in Record and Replay operations instead of the default File path to a PolySync plog logfile
-s <psync.sdf> No Use provided SDF instead of the default File path to an SDF file
-U No Update the node SDF configuration and exit N/A
-O No Check the node SDF configuration for required updates and exit option (returns exit status zero if no change required) N/A
-l No List all detected/available Xsens MT devices on the host N/A
-d No Enable additional debugging output in the interface N/A
-S No Set the XSens NMEA output string configuration Decimal value, zero disables NMEA output, 65535 (0xFFFF) enables all NMEA sentences
-P No Set the Xsens NMEA output sample period Integer sample period, resolution is 1115200 seconds
-F No Set the Xsens filter profile Integer profile number
-f No Get the Xsens filter profile N/A
DTC codes
DTC value DTC name Fault description Notes
304 DTC_NOINTERFACE Interface not available Activated when the sensor is not reachable at the serial port set in the Configurator; activated when the sensor becomes unreachable during runtime
Troubleshooting connection issues

If you see this error:

ERROR : XSENS_MT : XSENS_MT_pre_validate - no devices found

Verify the Xsens udev file got installed during installation.

$ ls /lib/udev/rules.d/92-xsens.rules
/lib/udev/rules.d/92-xsens.rules

Verify the user is part of the dialout group. This allows access to the USB device.

$ whoami
dev
$ sudo adduser dev dialout

Some Linux users reported that the MTi-G-710 model required additional steps to access the device through PolySync. Please follow the steps below to build and install the MT SDK libraries.

Install the dependency:

$ sudo apt-get install sharutils
$ cp $PSYNC_HOME/deps/MT_Software_Suite_Linux_4.7.tar.gz ~/Downloads
$ cd ~/Downloads/
$ tar xf MT_Software_Suite_Linux_4.7.tar.gz
$ cd MT_Software_Suite_Linux_4.7
$ sudo ./mtsdk_linux_4.7.sh

Accessing sensor data

When the dynamic driver node is operating in an OK state then data is being published to the global PolySync bus, and any node can subscribe to the high-level message type(s) output by the dynamic driver node.

There are several tools that PolySync provides to quickly validate that data exists on the bus.

Access sensor data with PolySync nodes that subscribe to the sensor’s output message types.

Input / output message types

The Xsens MT dynamic driver node outputs the following message types to the bus. You can enable and disable the publishing of specific message types in the Configurator.

Message API Docs Notes
Publishes ps_platform_motion_msg Sensor Data Model Publishing is enabled by default
Publishes ps_byte_array_msg Sensor Data Model Publishing is disabled by default
Publishes ps_imu_msg Sensor Data Model Publishing is disabled by default
Publishes ps_gps_msg Sensor Data Model Publishing is disabled by default
Publishes xsens_mt_temperature_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_utc_time_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_time_of_week_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_packet_counter_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_sample_time_fine_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_sample_time_coarse_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_quaternion_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_euler_angles_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_rotation_matrix_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_barometric_pressure_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_delta_velocity_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_delta_quaternion_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_acceleration_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_free_acceleration_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_acceleration_hr_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_rate_of_turn_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_rate_of_turn_hr_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_raw_acc_gyro_mag_temp_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_raw_acc_gyro_mag_temp_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_magnetic_field_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_position_ecef_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_position_latlon_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_altitude_ellipsoid_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_velocity_xyz_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_status_byte_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_status_word_msg XSens MT Data Model Publishing is enabled by default
Publishes xsens_mt_gps_dop_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_gps_sol_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_gps_time_utc_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_gps_sv_info_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_gnss_pvt_data_msg XSens MT Data Model Publishing is disabled by default
Publishes xsens_mt_gnss_satellite_info_msg XSens MT Data Model Publishing is disabled by default

Filtering incoming data for this sensor

An application that subscribes to a given message type is able to see data from more than one sensor or source.

Applications can filter for specific sensors and data sources in the message callback in C applications, or the messageEvent in C++ applications.

Filter incoming messages for this sensor with ps_sensor_kind value 60.

You can find all sensor descriptor values in this article.

Useful Xsens MT Resources