Wiki

Package Summary

The driver package for the 221e MUltiSEnsor (MUSE) device

  • Maintainer: Elisa Tosello <elisa.tosello AT 221e DOT com>, Roberto Bortoletto <roberto.bortoletto AT 221e DOT com>
  • Author: Elisa Tosello <elisa.tosello AT 221e DOT com>, Roberto Bortoletto <roberto.bortoletto AT 221e DOT com>
  • License: BSD
  • Source: git https://github.com/221eROS/muse_v2_driver.git (branch: main)

Introduction

This package provides the official ROS driver for the 221e Multisensor InerTial CHamaleon (MITCH) V2 device.

Package available for:

Installation

Install ROS and create a Catkin workspace

a. Ubuntu 20.04:

b. Windows 10:

Tips for Windows:

To set up the catkin_make tools in Visual Studio 2019:

{
  "configurations": [
    {
      "name": "x64-Debug",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "buildRoot": "C:\\catkin_ws\\build",
      "installRoot": "C:\\catkin_ws\\install",
      "cmakeCommandArgs": "DCATKIN_DEVEL_PREFIX=C:\\catkin_ws\\devel",
      "ctestCommandArgs": ""
    }
  ]
}

In this way, Cmaking and building your project from Visual Studio will be equal to a catkin_make outside the Visual Studio environment. You can also open the Command Line directly from the Visual Studio Tools button.

Install lib221e

lib221e is the C++ library for the 221e Communication Protocol. Follow the installation instructions available here.

Clone mitch_v2_driver in your Catkin Workspace

a) Ubuntu:

$ cd ~/catkin_ws/src/
$ git clone https://github.com/221eROS/muse_v2_driver.git
$ catkin_make

b) Windows:

$ cd c:\catkin_ws\src
$ git clone https://github.com/221eROS/muse_v2_driver.git
$ cd ..
$ catkin_make

Usage

Device connection

Switch on your MUSE V2 device. From your catkin workspace, launch the following command to connect to your sensor and enable its ROS node:

$ roslaunch muse_v2_driver muse_v2.launch

Among others, this launch file allows you to set:

Device shutdown

Assuming the ROS node of your MUSE V2 sensor is active [step 3.1], launch the following command to switch off your device:

$ roslaunch muse_v2_driver shutdown.launch

Configuration

Get configuration parameters. Assuming the ROS node of your MUSE V2 sensor is active [step 3.1], launch the following command from your catkin workspace:

$ roslaunch muse_v2_driver get_configuration_params.launch

It will output the configuration parameters of your device:

By default, launch/get_configuration_params.launch enables the request of all parameters. You can freely enable/disable each parameter transmission by setting to true/false its corresponding argument in this launch file.

Set configuration parameters. To change the configuration parameters of your MUSE V2 sensor, you can edit the muse_v2_config.yaml file in the config folder. The following parameters can be configured:

Assuming the ROS node of your MUSE V2 sensor is active [step 3.1], launch the following command to write the new parameters on your device:

$ roslaunch muse_v2_driver set_configuration_params.launch

Calibration

Get calibration params. Assuming the ROS node of your MUSE V2 sensor is active [step 3.1], launch the following command from your catkin workspace:

$ roslaunch muse_v2_driver get_calibration_params.launch

It will output the calibration parameters of your device:

Such parameters will be stored in config/muse_v2_calib.txt. By default, the launch file enables the request of all parameters. You can freely enable/disable each parameter retrieval by setting to true/false its argument in launch/get_calibration_params.launch.

Memory

Assuming the ROS node of your MUSE V2 sensor is active [step 3.1], the following command lets you retrieve log data from your device memory:

$ roslaunch muse_v2_driver logger.launch

According to the flagged parameter, the device will output:

Focusing on the log files,

Log files are stored in the config folder.

Data acquisition

Published Topics

imu/data (sensor_msgs/Imu) imu/acceleration (geometry_msgs/Vector3Stamped) imu/angular_velocity (geometry_msgs/Vector3Stamped) imu/mag (geometry_msgs/Vector3Stamped) imu/quaternion (geometry_msgs/QuaternionStamped) imu/rpy (geometry_msgs/Vector3Stamped)

Start acquisition. We assume that the ROS node of your MUSE V2 device is active [step 3(a)]. To start raw data transmission, launch the following command from your catkin workspace:

$ roslaunch muse_v2_driver start_transmission.launch

By default, start_transmission.launch starts to publish the following data:

You can freely enable/disable each data publisher by setting to true/false its corresponding argument. The launch file also enables to choose the desired sampling frequency (Default: 150 Hz - Admitted range: [1-150] (Hz)).

Plots. While streaming raw data, you can plot them by means of

$ roslaunch muse_v2_driver plot.launch

To enable the activation of one or more plots, you should set to true its corresponding argument.

Raw data subscriber. While streaming raw data, you can subscribe to the publisher node and publish data back on your terminal. Assuming your transmission node is active, launch the following command from your catkin workspace:

$ roslaunch muse_v2_driver raw_data_subscriber.launch

Stop acquisition. If your acquisition node is active and you want to stop data transmission:

$ roslaunch muse_v2_driver stop_transmission.launch

Miscellaneous

Get battery charge and voltage. Assuming the ROS node of your MUSE V2 sensor is active [step 3.1], type the following command from your catkin workspace:

$ roslaunch muse_v2_driver battery.launch

The node will send back the battery charge, its voltage, or both depending on whether the arguments charge and voltage are set to true.

Example

The following example shows how to ask a 221e MUSE V2 sensor to stream raw data and enable the 3D visualization of the IMU plot.

$ roslaunch muse_v2_driver muse_v2.launch

$ roslaunch muse_v2_driver start_transmission.launch

$ roslaunch muse_v2_driver plot.launch imu:=true

IMU RViz output example

It displays the orientation of the IMU using a box as well as and coordinate axes. The acceleration can also be visualized using a vector.

Wiki: muse_v2_driver (last edited 2022-01-21 10:49:47 by TechTeam221e)