RoboCup Logistics League – RefBox の使い方(まとめ)
動画の詳細は,こちらです.
仮想マシンのキーボードはドイツ語配列になっていますので,ご注意を.
「y」と「z」が入れ替わっていて,「/」は「SHIFT」+「7」です.
「Actives」を押して,「Type to search」に「settings」を入れて設定のプログラムを呼び出し,
「Region & Language」の「Input Sources」に「English(US)」(Japaneseでも可)を追加することをお勧めします.
審判用のプログラムとして,RefBox,Front End,Web Shopの三つがあります.
- RefBox … 審判のプログラムそのもの.競技結果はのログとして保存できます.世界大会では,MPSの制御も行います.
- Front End … RefBox を扱うためのインターフェース.以前は,RefBox-Shellを使っていました.試合の開始・終了などもここから指示を出します.
- Web Shop … 試合中の注文内容を手動で与えるプログラム.競技見学者が競技に参加できるように作った仕組み.RefBox自身が注文を出すこともできます.
■動作確認方法
web shop → webサーバ(httpd)の動作確認.
mongoDB → mongod の動作確認.
MySql → mysqld の動作確認.
sudo systemctl status httpd sudo systemctl status mongod sudo systemctl restart mongod
※sudo コマンドは,管理者権限でコマンドを実行します.実行したユーザのパスワードを聞かれますので,「refbox」と入力しましょう.
それぞれ「Active: active(running)」(緑色)の項目があればOKです.
動画では,「CTRL+C」で終了するように言っていますが,個人的には「q」(quit)で十分かと思います.
もし,何らかのエラーが出ている場合は,そのサービスを再起動してみましょう.
sudo systemctl restart mongod
■ Front End の使い方
rcll-refbox-frontend にあります.
cd ~/rcll-refbox-frontend npm run serve
起動すると,接続方法(URL)が表示されます.
ブラウザで,「http://localhost:8080/」で接続しましょう.
※RefBox を起動していないので,「no connection」のメッセージが出ます.
■ refbox
rcll-refbox にあります.
cd ~/rcll-refbox
rcll-refbox/cfg に設定ファイルがあります.
これを変更して,config.yaml にコピーします.
■ config.yaml
全チャレンジ共通の話
確認すべきところ
mongodb/enable: true (152行目)
challnges/enable: true (183行目)
webshop/enable: true (266行目)
challenges/field/width: 5
challenges/field/height: 5
challenges/mirror: false
challenges/production-time: 1020
変更すべきところ
game/tames: [【チーム名】] 【160行目】
name: TEAMNAME_CHALLENGE_DIFFICULTY 【184行目】
チャレンジごとの設定
challenges/orders/customize: false ← webshop を使う場合
challenges/publish-routes/enable: true ← Navigation Challengeの場合.それ以外の時はfalse
challenges/machines: [BS, CS1, RS1, RS2] ← 使うMPSを残す
challenges/rs1-colors: ← RS1を使う場合,色を2つ書く
challenges/rs2-colors: ← RS2を使う場合,色を2つ書く
challenges/ring-space: ← RSのコスト
■ front end
接続(地球のマーク)を押して,「localhost:1234」(もしくは,refboxのIPアドレス)を入力します.
つながると,refbox 側に「new client connection」のログが出ます.
「Add Team Cyan」を押して,チーム名を入れます.
「PRE_GAME」(PHASE)のところから「SETUP」を選び,「再生ボタン」を押すと,MPSの配置結果が表示されます.
■ web shop
Production Challenge では,注文をweb shopから行います.
roslaunch opencart_refbox refbox_controller.launch
ブラウザで「localhost/opencart/」にアクセスします.
※おそらくセキュリティの設定の関係で,他のIPからのアクセスは不可です.
注文入力時のアカウントは,ブラウザに保存されている「spectator.audience@gmail.com」を使って下さい(新規作成はできない感じです).
opencart-admin: admin: admin
opencart-user: spectator.audience@gmail.com: pass
mysql-root: root: Ro0t.123
gmail: spectator.audience@gmail.com: rcll.demo
rcll-webshop のgitより.
これで,注文すると,refbox の方に反映されます.
当然ながら,RefBox がProduction Phaseにならないと,反映されませんので,要注意.
■ 競技が終わったら
PHASEを「POST_GAME」にします.
RefBoxが得点を表示すると共に,「Shutting down」とでるので,「CTRL+C」で終了します.
rcll-refbox/etc/scripts/dump_reports.bash を使ってログを書き出します.
cd ~/rcll-refbox/etc/exripts ./dump_reports.bash 【チーム名】
※./drop_reports.bash で,mongoDBに残っているログを破棄します.
コメントを残す