- SOLUTIONS
- DRIVE AV
The CA-USB-MTI is an USB Cable used to connect the MTi to any USB port. Under Windows 7 and Windows XP, the Xsens USB driver will be automatically installed if not already installed. In order to lock the CAMP-MTi to the casing (this will prevent vibration of the push-pull sleeve to be transferred to the casing and MEMS sensors), screw the round nut clockwise.
NVIDIA DRIVE Hyperion™ is a reference architecture for NVIDIA’s Level 2+ autonomy solution consisting of a complete sensor suite and AI computing platform, along with the full software stack for autonomous driving, driver monitoring, and visualization. The DRIVE Hyperion Developer kit can be integrated into a test vehicle, enabling AV developers to develop, evaluate, and validate AV technology. Software is updated to DRIVE Hyperion using the NVIDIA DRIVE OTA over-the-air update infrastructure and services.
The xsensdriver package provides mtnode.py, a generic ROS node publishing the data streamed by an XSens motion tracker (MT, MTi, MTi-G.) from third, fourth or fifth generation. The Xsens MTi driver uses Public Xsens Device API for scanning, connecting, packet parsing and log file handling. The implemention of this driver is done in C/C, so you can build and run it on a different platforms. Download xsemtig, a LabVIEW Serial Plug and Play (project-style) instrument driver for a GPS aided MEMS based Inertial Measurement Unit (IMU) and static pressure sensor from xsens, model(s):. Find instrument drivers that are available for this instrument for use in LabVIEW, LabWindows/CVI, or Measurement Studio. Rosrun xsensdriver mtdevice.py -configure -output-mode=coapvs -output-settings=tqMAG The above command should result in something like this Configuring mode and settings Ok 4. Roslaunch xsensdriver xsensdriver.launch 5. Rostopic echo /imu/data Then it should display header: seq: 166 stamp: secs: nsecs: 314651012 frameid.
Xsens Mti Driver
DRIVE Hyperion is designed for:
- Autonomous vehicle (AV) developers focusing on Level 2+ autonomy and up.
It is ideal for the following objectives:
- DRIVE AV perception evaluation
- DRIVE IX evaluation
- Data collection for AV perception neural network training
- Data collection for mapping
- On-road testing
Details
With DRIVE Hyperion, software is configured for data acquisition (of various sensors), data logging (using storage devices), visualization (using displays inside the vehicle), vehicle interface (using a drive-by-wire interface), and software updates (using a modem). This allows developers to experience, evaluate, and develop using NVIDIA DRIVE applications and DRIVE Software.
The DRIVE Hyperion Developer Kit features specific types and configurations of sensors to enable application development for Level 2+ autonomy and up.
Xsens Driver Msgs
- 7x external cameras (Sekonix/On Semi AR0231)
- 2x front cameras (120 FOV and 60 FOV) for Euro NCAP safety and basic L2 features
- 3x side (120 FOV) and back cameras (60 FOV) for advanced highway L2+ features
- 2x cross-traffic (120 FOV) cameras for urban development
- 1x in-cabin (55 FOV) camera for driver monitoring features (On Semi AR0144)
- 8x radars (Continental ARS430)
- 1x front centered radar for basic L2 features
- 4x corner radar for advanced highway L2+ features
- 1x rear radar for high-speed automatic lane changes
- 2x cross-traffic radars for urban development
- 1x IMU (inertial measurement unit) for self-calibration and egomotion (Xsens)
Refer to the DRIVE Hyperion Developer Kit Quick Start Guide (PDF) for details.
Developing with DRIVE Hyperion
The DRIVE Hyperion Developer Kit is available exclusively for members of the NVIDIA DRIVE Developer Program for DRIVE AGX. Your company or university must have current legal agreements on file. Please contact your NVIDIA Representative (or contact us) to ensure that the necessary agreements have been signed before requesting to join the program. Users may only join with a corporate or university email address; register for the NVIDIA DRIVE Developer Program for DRIVE AGX.
You will need:
- The DRIVE Hyperion Developer Kit
- A compatible car to install the kit
- Refer to the DRIVE Hyperion Developer Kit Quick Start Guide (PDF) included in your box for an overview of the hardware.
- Refer to the Hardware Installation Guide for detailed information on installing the NVIDIA DRIVE Hyperion Developer Kit.
- Watch the instructional videos for a detailed look at the process: NVIDIA Hyperion Developer Kit videos.
- DRIVE Software available through our NVIDIA DRIVE Developer Program for DRIVE AGX
Steps:
- Calibration: Use the calibration tools to adjust the sensors before using any software. Refer to DRIVE Calibration for details.
- Run the Pre-flight Checker tool. Refer to DriveWorks SDK Reference/Tools/Sensor Tools in the DRIVE Software Documentation.
- Execute an NVIDIA Roadrunner sample. Consult the Roadrunner* Users Guide (DRIVE AV) included in the DRIVE Software Documentation.
* Roadrunner is NVIDIA’s autonomous driving application developed using the DriveWorks SDK.
Xsens_driver Install
Development Tasks | Getting Started |
---|---|
Sensor data collection (for neural network development or map development) |
|
Experience DRIVE AV: self-calibration, perception, mapping, and localization |
|
Experience DRIVE IX: driver monitoring |
|
Update software on DRIVE AGX over the air |
|
Additional Development Resources:
Xsens Driver /imu/data
Documentation (PDF)
- All NVIDIA DRIVE documentation can be found here: https://developer.nvidia.com/drive/documentation
- Quick Start Guide: DRIVE Hyperion Developer Kit Quick Start Guide (PDF)
DRIVE Developer Kit accessories and sensors
Blogs
Contents
Overview
The official ROS driver for Xsens industrial Motion Trackers (MTi) can be found in the Linux installation package of the MT Software Suite (versions 2019.0 and later). Extract the downloaded installation package, execute the mtsdk_linux-x##_####.#.sh and locate the xsens_ros_mti_driver folder.
Full documentation for the ROS node and XDA library is available at:
[MTSDK folder]/doc/xsensdeviceapi/doc/html/index.html
Supported devices
This ROS driver is actively supported and maintained in order to be compatible with the latest generation MTi's.
Xsens_mti_driver
- MTi 1-series
- MTi 10-series
- MTi 100-series (including MTi-G-710)
- MTi 600-series
Workflow
The MTi node only receives data from an MTi device and publishes it to ROS, it is not capable of configuring a device. Topics will be filled with zero-values if the MTi is not configured to output that specific data type. To configure (the output data of) an MTi you can either use MT Manager, Xsens Device API (XDA), Low Level Communication Protocol or by extending the MTi node.
The Xsens MTi driver uses Public Xsens Device API for scanning, connecting, packet parsing and log file handling. The implemention of this driver is done in C/C++, so you can build and run it on a different platforms. You can also configure an MTi using Public XDA by extending XdaInterface class, for more information about how to do that have a look at the 'Public XDA receive data example', found in the MT SDK folder of the MT Software Suite.
Requirements
- MT SDK from Xsens MT Software Suite 2019.0.1 or later
- ROS Kinetic or Melodic
- C/C++ Compiler: GCC 5.4.0 or MSVC 14.0
- C++11
Running the Xsens MTi node
- Configure your MTi device to output desired data (e.g. orientation output) using MT Manager or the MT SDK example codes.
Copy xsens_mti_driver folder from your MT SDK directory into your catkin workspace 'src' folder. Make sure the permissions are set to o+rw on your files and directories. For details on creating a catkin workspace environment refer to Creating a workspace for catkin.
- Build xspublic from your catkin workspace:
- Build Xsens MTi driver package:
- Source workspace:
- Launch the Xsens MTi driver. Display example (orientation data should be enabled):
- Simple example:
Configuring the Xsens MTi node
To change the configuration of the Xsens MTi node you can edit the xsens_mti_node.yaml file. The following parameters can be configured:
- Device settings for finding a defined MTi device
- Log file recording option
- Publishers queue size
- Message publishers
Published topics
imu/data (sensor_msgs/Imu)
quaternion, angular velocity and linear accelerationimu/acceleration(geometry_msgs/Vector3Stamped)
calibrated linear accelerationimu/angular_velocity(geometry_msgs/Vector3Stamped)
calibrated angular velocityimu/mag(geometry_msgs/Vector3Stamped)
calibrated magnetic fieldimu/dq (geometry_msgs/QuaternionStamped)
integrated angular velocity from sensor (in quaternion representation)imu/dv(geometry_msgs/Vector3Stamped)
integrated linear acceleration from sensorimu/time_ref (sensor_msgs/TimeReference)
timestamp from devicefilter/quaternion (geometry_msgs/QuaternionStamped)
quaternion from filterfilter/free_acceleration (geometry_msgs/Vector3Stamped)
linear acceleration from filterfilter/twist(geometry_msgs/TwistStamped)
velocity and angular velocityfilter/positionlla (geometry_msgs/Vector3Stamped) (MTSS2019.3.2 and later)
filtered position output in latitude (x), longitude (y) and altitude (z) as Vector3filter/velocity (MTSS2019.3.2 and later)
filtered velocity output as Vector3temperature (sensor_msgs/Temperature)
temperature from devicepressure (sensor_msgs/FluidPressure)
barometric pressure from devicegnss(sensor_msgs/NavSatFix)
raw 4 Hz latitude, longitude, altitude and status data from GNSS receivertf(geometry_msgs/TransformStamped)
transformed orientation
Troubleshooting
The published topics do not reach the expected data output rate (e.g. 400 Hz).
We have noticed that the ROS node can cause a high CPU load, leading to lower data output rates. This issue has been fixed in ROS nodes available in MTSS2019.3.2 and later. We recommend migrating to the latest version.
If you have connected the MTi via a USB interface, we recommend enabling the low latency mode using setserial. See this page for more details.
The MTi-1 (Motion Tracker Development Board) is not recognized.
Support for the Development Board is present in recent kernels. (Since June 12, 2015). If your kernel does not support the Board, you can add this manually:
The device is recognized, but I cannot ever access the device.
Make sure you are in the correct group (often dialout or uucp) in order to access the device. You can test this with:
If you aren't in the correct group, you can fix this in two ways:
- Add yourself to the correct group. You can add yourself to it by using your distributions user management tool, or call:
- Be sure to replace dialout with the actual group name if it is different. After adding yourself to the group, either relogin to your user, or add the current terminal session to the group:
- Use udev rules. Alternatively, put the following rule into /etc/udev/rules.d/99-custom.rules:
- Change $GROUP into your desired group (e.g. adm, plugdev, or usb).
The device is inaccessible for a while after plugging it in.
When having problems with the device being busy the first 20 seconds after plugin, purge the modemmanager application.
RViz doesn't show an MTi model.
It is a known issue with urdfdom in ROS Melodic. A workaround is to unset/modify the LC_NUMERIC environment variable:
Bug Reports & Feature Requests
We appreciate the time and effort spent submitting bug reports. Please note that Xsens cannot support any ROS packages other than the ROS driver included in the MT Software Suite.
Please visit us at BASE. BASE is our online support platform where you can find knowledge base articles, frequently asked questions and an active community forum where you can get in touch with our engineers and product specialists.