Skip to content
Kouhei edited this page Mar 26, 2019 · 4 revisions

1. Installation

Install NodeJS 最新版のNodeJSをインストール

  1. sudo apt install -y nodejs npm

    nodejs, npmをインストール

  2. sudo npm install n -g 

    n packageをインストール

  3. sudo n stable 

    n packageを使ってnodeをインストール

  4. sudo apt purge -y nodejs npm 

    古いほうのnodejs, npm をアンインストール

  5. exec $SHELL -l

    再ログイン

  6. node -v

    バージョン確認

  7. roscd tms_nw_svr

  8. npm i 

    必要なモジュールをインストール

  9. roscd tms_nw_rp

  10. npm i 

    必要なモジュールをインストール

  11. cm

2. Commands

2.1 tms_nw_svr

  1. roscd tms_nw_svr
  2. node server

2.2 tms_nw_api

  1. rosrun tms_nw_api

2.3 tms_nw_rp

  1. roscd tms_nw_rp
  2. node server

3. Example

上位層のPCは基本的に別に用意することが望ましいが、最上位のROS-TMSはROSの通信を現在は利用していないため、システム的には下位層を持たないROS-TMSと同一のPCを利用することもできる。

実験においては、事前にデータベースのユーザー、タスク、ロボット等の情報を修正することで要求するサービスを実行不可にしておく必要がある。

  1. 2階層の場合  構成図 928室から957室またはB-senのサービスを利用する例
  • Floor-TMS 事前に下位層の各ROS-TMSのIPアドレスをtms_nw/resources/tms.jsonにセットしておく (tms.jsonはIPアドレスと名前だけでなくskype_idも記載されているためgitignoreに指定してある)

    roscd tms_nw_svr && node server

  • 928室

    roscore
    roslaunch tms_db_manager tms_db_manager.launch
    rosrun tms_ur_listener
    roslaunch rosbridge_server rosbridge_websocket
    roscd tms_ur_slack && node server
    roscd tms_nw_rp && node server
    

    slackではなく音声認識を利用したい場合にはtms_ur_listener_client.launch, tms_ur_speaker等をRaspberry Pi上で起動しておく

  • 957室

    roscore 
    roslaunch tms_db_manager tms_db_manager.launch
    rosrun tms_ts_ts task_scheduler.launch
    rosrun tms_nw_api tms_nw_api_server.py
    
  • B-sen

    roscore 
    roslaunch tms_db_manager tms_db_manager.launch
    rosrun tms_ts_ts task_scheduler.launch
    rosrun tms_nw_api tms_nw_api_server.py
    

957室とB-senでは,実行したいサービスに応じたノードを起動しておく

Slackのtms_urチャンネルまたはマイクに対して要求を行うことで、要求されたサービスが実行不可な場合に実行可能な環境が上位層へ問い合わせされ、957室、B-senで実行可能であれば接続して実行される。

  1. 3階層の場合 構成図 928室から太郎さんまたは次郎さんのサービスを利用する例
  • Floor-TMS、928室 2階層の場合と同様
  • 957室
    roscore 
    roslaunch tms_db_manager tms_db_manager.launch
    rosrun tms_ts_ts task_scheduler.launch
    rosrun tms_nw_api tms_nw_api_server.py
    roscd tms_nw_svr && node server
    
  • B-sen
    roscore 
    roslaunch tms_db_manager tms_db_manager.launch
    rosrun tms_ts_ts task_scheduler.launch
    rosrun tms_nw_api tms_nw_api_server.py
    roscd tms_nw_svr && node server
    

両環境ともにtms.jsonに下位層のIPアドレスを指定しておくこと

  • 太郎さん
    roscore 
    roslaunch tms_db_manager tms_db_manager.launch
    rosrun tms_ts_ts task_scheduler.launch
    rosrun tms_nw_api tms_nw_api_server.py
    
  • 次郎さん
    roscore 
    roslaunch tms_db_manager tms_db_manager.launch
    rosrun tms_ts_ts task_scheduler.launch
    rosrun tms_nw_api tms_nw_api_server.py
    
Clone this wiki locally