差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ssm:how-to-use [2014/07/22 18:50]
rpp
ssm:how-to-use [2015/02/24 17:34] (現在)
rpp [使い方]
ライン 1: ライン 1:
 ======使い方====== ======使い方======
 +  - まずssm-coodinatorを起動する。
 +  - 次にセンサ用のドライバプログラムを起動する。
 +  - それらのデータを利用するプログラムを起動する。
 +  - 気になったらlsssm等で登録されているセンサを確認する。
 +  - 詳細は「ユーティリティプログラム」の項を参照。
  
 +[[http://​www.roboken.iit.tsukuba.ac.jp/​platform/​man/​ssm/​|Doxygenにより生成されたマニュアル]]
 =====動作テスト===== =====動作テスト=====
  
ライン 19: ライン 25:
   $ ./​ssmReadSample   $ ./​ssmReadSample
  
-=====使い方===== +のプログラムを参考にプログラミングして下さい。
-# まずssm-coodinatorを起動する。\\ +
-# 次にセンサ用ドライバプログラムを起動する。\\ +
-# それらのデータを利用するプログラムを起動する。\\ +
-# 気になったらlsssm等で登録れてるセンサを確認する+
  
-==  ユーティリティプログラム ​ == +=====  ユーティリティプログラム  ​====== 
-===  ssm-coordinator ​ ===+====  ssm-coordinator  ​====
 SSMのメインプログラム SSMのメインプログラム
   $ ssm-coordinator   $ ssm-coordinator
-これを起動してから他のプログラムを立ち上げる+これを起動してから他のプログラムを立ち上げる
  
-===  lsssm  === +====  lsssm  ​==== 
-SSMに登録されているセンサの情報を表示。\\ +SSMに登録されているセンサの情報を表示。 
-SSMに正しく登録できているかこれで確認+ 
 +SSMに正しく登録できているかこれで確認
   $ lsssm   $ lsssm
    No. |  stream name   | suid | size[B] |  num  | cycle[s] | property[B] |    No. |  stream name   | suid | size[B] |  num  | cycle[s] | property[B] |
-   ---|----------------|------|---------|-------|----------|-------------|+    ​---|----------------|------|---------|-------|----------|-------------|
    000 |    spur_adjust |    0 |  40.00  |   239 |    0.005 |       ​0.00 ​    000 |    spur_adjust |    0 |  40.00  |   239 |    0.005 |       ​0.00 ​
    001 |    spur_global |    0 |  40.00  |  1199 |    0.005 |       ​0.00 ​    001 |    spur_global |    0 |  40.00  |  1199 |    0.005 |       ​0.00 ​
ライン 58: ライン 61:
  
  
-===  ssm-monitor ​ === +====  ssm-monitor  ​==== 
-SSMに登録されているセンサの書き込み状況を表示。\\ +SSMに登録されているセンサの書き込み状況を表示。 
-handlerを作成したときこれをviewerを作成しなくても書き込まれているかどうかを調べることができる。(もちろん書き込まれたデータが正しいかどうかは別の話)\\ + 
-読み込みについては確認することができないので注意!\\+handlerを作成したときこれをviewerを作成しなくても書き込まれているかどうかを調べることができる。(もちろん書き込まれたデータが正しいかどうかは別の話) 
 + 
 +読み込みについては確認することができないので注意! 
 Ctrl-Cで終了する。 Ctrl-Cで終了する。
   $ ssm-monitor   $ ssm-monitor
    No. |           ​stream name            | id | count |    tid      | data[B/​s] ​    No. |           ​stream name            | id | count |    tid      | data[B/​s] ​
    ​----+----------------------------------+----+-------+-------------+----------|    ​----+----------------------------------+----+-------+-------------+----------|
-   0 |                      spur_adjust |  0 |   200 |        3954 |    7.812k +     0 |                      spur_adjust |  0 |   200 |        3954 |    7.812k 
-   ​1 |                      spur_global |  0 |     0 |        3984 |    0.000  +     ​1 |                      spur_global |  0 |     0 |        3984 |    0.000  
-   ​2 |                    spur_odometry |  0 |   200 |        5822 |    7.812k +     ​2 |                    spur_odometry |  0 |   200 |        5822 |    7.812k 
-   ​3 |                        pws_motor |  0 |     0 |        3984 |    0.000  +     ​3 |                        pws_motor |  0 |     0 |        3984 |    0.000  
-   ​4 |                      scan_data2d |  2 |    40 |        1165 |  789.219k +     ​4 |                      scan_data2d |  2 |    40 |        1165 |  789.219k 
-   ​5 |                      scan_data2d |  1 |    40 |        1162 |    1.026M +     ​5 |                      scan_data2d |  1 |    40 |        1162 |    1.026M 
-   ​6 |                       ​sokuiki_fs |  1 |    40 |         826 |    2.198M +     ​6 |                       ​sokuiki_fs |  1 |    40 |         826 |    2.198M 
-   ​7 |                       ​sokuiki_fs |  2 |    40 |         829 |    1.651M +     ​7 |                       ​sokuiki_fs |  2 |    40 |         829 |    1.651M 
-   ​8 |                       ​sokuiki_bs |  2 |    40 |         829 |    1.651M+     ​8 |                       ​sokuiki_bs |  2 |    40 |         829 |    1.651M
    ​----+----------------------------------+----+-------+-------------+----------|    ​----+----------------------------------+----+-------+-------------+----------|
    
ライン 87: ライン 93:
  
  
-===  ssm-logger ​ === +====  ssm-logger  ​==== 
-SSMに登録されているセンサのデータを記録 +SSMに登録されているセンサのデータを記録 
- $ ssm-logger -n センサ名 -i センサのID -l 記録ファイル名 + 
- $ ssm-logger -l hoge.log -n hogehoge -i 0 +  ​$ ssm-logger -n センサ名 -i センサのID -l 記録ファイル名 
-複数記録したいときは複数起動する。\\ +  $ ssm-logger -l hoge.log -n hogehoge -i 0 
-終了するときはCtrl-C\\ + 
-基本的にシェルスクリプトを使う\\+複数記録したいときは複数起動する。 
 + 
 +終了するときはCtrl-C 
 + 
 +基本的にシェルスクリプトを使う。 
 + 
 + 
 +ストリームに書き込まれたデータを全て保存します。
  
-ストリームに書き込まれたデータを全て保存します。\\ 
 保存形式は順番は、 保存形式は順番は、
-1行目にストリームのテキスト情報\\ +1行目にストリームのテキスト情報 
-その後バイナリでプロパティデータ\\ + 
-タイムスタンプ、ストリームデータのセット\\+その後バイナリでプロパティデータ 
 + 
 +タイムスタンプ、ストリームデータのセット
 の順です。 の順です。
  
-==== スクリプトの例(logger.sh) ​==== +=== スクリプトの例(logger.sh) === 
-*起動 +==起動== 
-   ​./logger.sh ログディレクトリ +  ​ 
-*ファイル例+./logger.sh ログディレクトリ 
 + 
 +==ファイル例== 
 +  ​
     #!/bin/bash     #!/bin/bash
        
ライン 129: ライン 146:
    fi    fi
  
-最後の行に&​をつけると悲惨なことになるので注意+最後の行に&​をつけると悲惨なことになるので注意。 
 + 
 +==== ssm-player ​ ==== 
 +複数のセンサデータを同時に再生。
  
-=== ssm-player ​ === 
-複数のセンサデータを同時に再生。\\ 
 途中での速度変更や、ポーズ、逆再生もできる。 途中での速度変更や、ポーズ、逆再生もできる。
   $ ssm-player 記録ファイル名1 記録ファイル名2 記録ファイル名3 ...   $ ssm-player 記録ファイル名1 記録ファイル名2 記録ファイル名3 ...
ライン 138: ライン 156:
   $ ssm-player ログディレクトリ/​*.log   $ ssm-player ログディレクトリ/​*.log
  
-注意:\\ +注意:
-ssm-playerで再生する場合、\\ +
-タイムスタンプを参照してSSMに書き出すため、\\ +
-URG等に見られるセンサの計測→通信等による取得の時間遅れが0の状態になります。\\ +
-そのため、URGのデータの時刻がオドメトリより先に来る場合もあり、\\ +
-実際の動作と異なる場合があります。\\+
  
-==== オプション  ​====+ssm-playerで再生する場合、 
 + 
 +タイムスタンプを参照してSSMに書き出すため、 
 + 
 +URG等に見られるセンサの計測→通信等による取得の時間遅れが0の状態になります。 
 + 
 +そのため、URGのデータの時刻がオドメトリより先に来る場合もあり、 
 + 
 +実際の動作と異なる場合があります。 
 + 
 +=== オプション ​ ===
    ​引数    ​引数
    -x | --speed <​SPEED> ​           : 再生速度変更。負のときは逆再生される    -x | --speed <​SPEED> ​           : 再生速度変更。負のときは逆再生される
ライン 160: ライン 183:
  $ ssm-player -x 2 -s 10 -e 20 -l *.log  $ ssm-player -x 2 -s 10 -e 20 -l *.log
  
-==== コマンド  ​==== +=== コマンド ​ === 
-再生中に変更するときのコマンド +再生中に変更するときのコマンド。 
-そのうち追加するかも\\+ 
 +そのうち追加するかも。 
 再生中にキーを押してエンターを押すと反映される。 再生中にキーを押してエンターを押すと反映される。
    p | pause       : ポーズ    p | pause       : ポーズ
ライン 174: ライン 199:
    > ​              : コマ送り(0.1秒)    > ​              : コマ送り(0.1秒)
  
-"​+->"​のコマンドについては1文字毎に解析しているので、"​+++++\n"​のように連続して入力することも可能+"​+->"​のコマンドについては1文字毎に解析しているので、"​+++++\n"​のように連続して入力することも可能。 
 + 
 +==== ssm-date ​ ==== 
 +SSM時間を取得・書き込みするソフト。 
 + 
 +時間の一時停止・速度などをコントロールできる。
  
-=== ssm-date ​ === 
-SSM時間を取得・書き込みするソフト。\\ 
-時間の一時停止・速度などをコントロールできる。\\ 
 ssm-playerと併用して使用する(というかssm-playerを外部からコントロールするために作ったプログラムです)。 ssm-playerと併用して使用する(というかssm-playerを外部からコントロールするために作ったプログラムです)。
- $ ssm-date -g+  ​$ ssm-date -g 
 + 
 +=== オプション ​ === 
 +代表的なオプションだけを示す。
  
-==== オプション ​ ==== 
-代表的なオプションだけを示す。\\ 
 詳しくはhelpを参照 詳しくはhelpを参照
    ​引数    ​引数
ライン 194: ライン 222:
    -H | --long-help ​      : 詳細なヘルプを表示    -H | --long-help ​      : 詳細なヘルプを表示
  
-==== パネルへの登録  ​==== +=== パネルへの登録 ​ === 
-gnomeパネルなどに登録してくと、パネルをクリックするだけでssm-playerをコントロールできるようになるので便利。\\+gnomeパネルなどに登録してくと、パネルをクリックするだけでssm-playerをコントロールできるようになるので便利。 
 登録方法は、 登録方法は、
 #​Ubuntu画面上部のパネルを右クリック #​Ubuntu画面上部のパネルを右クリック
ライン 201: ライン 230:
 #​カスタムアプリケーションのランチャを選択 #​カスタムアプリケーションのランチャを選択
 #​コマンドに「ssm-date -g」と入力し、OKを押す #​コマンドに「ssm-date -g」と入力し、OKを押す
-これだけで、追加したアイコンをクリックするだけで\\+これだけで、追加したアイコンをクリックするだけで 
 ログの再生・一時停止を切り替えることができます。 ログの再生・一時停止を切り替えることができます。
  
-===  ssm-transporter ​ === +====  ssm-transporter  ​==== 
-複数PC間でセンサデータを共有するためのソフトウェア。\\+複数PC間でセンサデータを共有するためのソフトウェア。 
 別のPCに接続されているセンサを使えるようになります。 別のPCに接続されているセンサを使えるようになります。
  
  
-PCの接続は現在は1対1の通信のみ対応。\\ +PCの接続は現在は1対1の通信のみ対応。 
-センサは複数転送可能(なはず)です。\\ + 
-互いにファイルsend_sensors.server(send_sensor.client)に送りたいセンサの名前とIDを書いて、\\+センサは複数転送可能(なはず)です。 
 + 
 +互いにファイルsend_sensors.server(send_sensor.client)に送りたいセンサの名前とIDを書いて、 
 サーバ側は サーバ側は
   $ ssm-transporter   $ ssm-transporter
 クライアント側は クライアント側は
   $ ssm-transporter <​サーバのIP>​   $ ssm-transporter <​サーバのIP>​
-で起動する。\\+で起動する。 
 両方に同じセンサ名が書いてあると大変なことになるかも。 両方に同じセンサ名が書いてあると大変なことになるかも。
  
 なお、PC間ではNTP等で時刻同期をとることを推奨します。 なお、PC間ではNTP等で時刻同期をとることを推奨します。
  
-===  killssm ​ === +====  killssm  ​==== 
-ssmを使っているプログラム全てに対してシグナルを送る\\+ssmを使っているプログラム全てに対してシグナルを送る 
 デフォルトはSIGINT(Ctrl-Cと同じ入力)。 デフォルトはSIGINT(Ctrl-Cと同じ入力)。
   $ killssm   $ killssm
    
-===  psssm  === +====  psssm  ​==== 
-ssmを使用しているプログラムを全て表示\\+ssmを使用しているプログラムを全て表示 
 psコマンドのssm版です psコマンドのssm版です
   $ psssm   $ psssm
  
-===  topssm ​ === +====  topssm  ​==== 
-ssmを使用しているプログラムの負荷を表示\\+ssmを使用しているプログラムの負荷を表示 
 topコマンドのssm版です topコマンドのssm版です
  
-===  ssm-graph ​ === +====  ssm-graph  ​==== 
-SSMのプロセスのつながり方をDOT言語で出力するプログラムです。\\ +SSMのプロセスのつながり方をDOT言語で出力するプログラムです。 
-Graphviz等と組み合わせて使用してください。\\+ 
 +Graphviz等と組み合わせて使用してください。
  
  ex)  ex)
ssm/how-to-use.1406022603.txt.gz · 最終更新: 2014/07/22 18:50 by rpp
CC Attribution-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0