Streaming data Sharing Manager(以降SSM)は、時系列で得られるセンサデータを複数のプロセスで扱いやすくするための一種のリングバッファです。
これにより非リアルタイムOS上でも時刻の整合性を保ったままセンサデータを扱う事ができます。SSMは共有メモリを簡単に使うためのプロトコル・管理ソフトです。
センサのハンドラーやビューアなどのユーザプログラムは自分で用意する必要があります。
こんな感じのシステム構成
この内オレンジ色の部分がSSMのライブラリで用意されているものです。
この図から分かる様に、SSMは各プロセスから共有メモリにセンサデータを書き込み・読み込みの部分だけの機能しか持っていません。
緑色の部分の、実際にセンサのデータをSSMに登録するセンサハンドラーやSSMから読み込んで表示するビューアなどは、自分で作成する必要があります。
SSMは竹内氏によって論文で発表され、そのときはSensorSharingManagerという名前で発表しています。
これは山彦の標準的な考え方である、オブジェクト指向的な考え方で作成されており、これまでラックの中で行っていたことをPC内部で簡単に再現できるようにしたものです。
当初SSMはセンサデータのみの共有を目的として作成されましたが、使いやすく(竹内氏公認で)改造され、現在はセンサデータ以外のものも共有することによって本来の目的・仕様とはかけ離れてしまいました。
その為、内部的には名前を別にしようという話があり、SSMは現在の名前に変更されました。
実際に竹内氏もすでにSensorSharingManagerという名称は使用してないそうです。
ロボ研内部では、必ずStreaming data Sharing Managerという言葉を使用して下さい。
(SH-SpurとYP-Spurの関係と同様に、名前を変えることで管理をしているのが竹内氏ではなくロボ研であるということが明確になるといった理由もあります。)
ただし、Streaming data Sharing Managerは論文で発表されていないため、外部論文で引用するときはSensorSharingManagerという名前を使用した方が良いかもしれません。
ここでの言葉は所謂ロボ研語です!
外部で使用するときは注意してください。
(もちろん内部でも通じないときがあります。山彦シンポジウムでは特に注意!)
パソコンとセンサをつなぐインターフェース。
例)scip2awdはURGのドライバです。
センサから得た情報をSSMに登録するためのプログラム。
ドライバと役割を明確に区別するためにハンドラと呼ぶ。
人によってはドライバと言うことがあるが、その人にはハンドラという言葉を教えてあげよう。
例)URGハンドラはURGのドライバであるscip2awdを使用してセンサと通信し、得た情報をSSMに書き込む。
日付 | 報告者 | タイトル | 内容 | 対応状況 |
---|---|---|---|---|
2014.10.27 | SKI | (例)SSMのXXXXX関数がXXXXXXの環境で正常に動作しない | (例)SSMのXXXXX関数がXXXXXXXをオンにしていると必ずエラーコード-1が返ってくる | 済 / 未 |