Sensor Sharing Manager

SensorSharingManager (SSM) is a program that allows multiple processes to utilize sensor data obtained in a time series.

Multiple processes may access such sensor data as a ring buffer in shared memory gets constructed by SSM. In addition, various sensor data can be correlated among each other by using frequently-updated data (e.g. odometry data) and timestamp information. SSM herewith supports multi-sensor data processing upon non-real-time OS. This page provides the overview of SSM and its utility program.

Pages for further reference

Downloads

Installation

SSM can simply be installed by downloading, unzipping, and “make”-ing the downloaded file by following steps.

 tar xzvf <downloaded_file>
 cd <unzipped_directory>
 make clean
 make
 sudo make install

The commands above copies the binary files under SSM/bin, the library files under /usr/local/lib, and the header files under /usr/local/include.

SSM Features

Features:

  • Simple structure/interface
  • Available in user-specified data size
  • Maintains a certain size of data log
  • High-speed access by utilizing shared memory, without having to wait for context switching
  • n output for every sensor input
  • Time-specified data access
  • Almost data collision occurs unless ancient data is being accessed

Restrictions:

  • Data size cannot be modified during the operation
  • Limited data size due to the Linux shared memory constraints
  • Data structure must be defined for both writing and reading the memory
  • Minimum access rate must be defined
  • Time-specified access may be slowed down with access rate irregularity
  • Timestamp is fixed to double type

SSM Structure

The program used in the SSM system is divided into the following three types:

  • SSM: Simultaneously manages the sensors (e.g. registering and listing)
  • Sensor Drivers: Reads and writes the data from each sensor to SSM
  • User Programs: Reads and processes the data from SSM
Plugin Error: attach file not found: ssm_system.png

Packaged Software Programs

  • ssm: Launches the sensor management program
  • lsssm: Lists all the sensors registered in SSM
  • ssmlogger: Records the data for sensors currently registered in SSM as separate log files
  • ssmmultiplayer: Simultaneously plays the recorded sensor data
  • ssmtransport: Shares the sensor data in SSM with other PC