Link Search Menu Expand Document

Table of Contents

  1. Voxl IIM Server
  2. Configuration
  3. Usage
  4. Published Format

Voxl IIM Server

The Voxl IIM Server receives and publishes data from the tdk-iim 46234 and 46230 IMUs on the pipe imu_iim.

Configuration

The Voxl IIM server uses the configuration file located at: /etc/modalai/voxl-iim-server.conf. The config file contains the following fields:

  • bus integer, default = 1
  • imu_sample_rate_hz integer (hz), default = 1000
  • imu_baud_rate_hz integer (baud), default = 921600
  • imu_fsr_gyro integer (dps), default = 480
  • imu_fsr_accel integer (g), default = 8

Usage

The server runs as a service in the background which can be started/stopped with systemctl start/stop voxl-iim-server. To check the satus of the server run voxl-inspect-services and find the voxl-iim-server. The data can be viewed by running the command voxl-inspect-imu imu_iim or by going to the IMUs tab under debug in the portal and selecting the desired IMU imu_iim.

Published Format

IMU data is published to the pipes in an imu_data_t struct which consists of the following:

  • struct imu_data_t:
  • uint32_t magic_number Set to IMU_IMAGE_MAGIC_NUMBER for frame syncing
  • float accl_ms2[3] XYZ acceleration in m/s^2
  • float gyro_rad[3] XYZ gyro rotation in rad/s
  • float temp_c temp in C, IMU_INVALID_TEMPERATURE_VALUE if no thermometer
  • uint64_t timestamp_ns timestamp in nanoseconds, uses system clock_monotonic