BTR2021の使い方

自分でもすっかり忘れているので,動作環境のまとめ.

ROS をベースに動作します.
各マシンの.bashrc の以下の設定の部分を確認しておきましょう.
以下は,Robotino 上の.bashrc の中身です.

export PATH="$PATH:~/ownCloud/2021/scripts/"
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
export ROS_HOSTNAME="robotino" # ← PCの名前,ros側からこの名前で接続できる必要があります.
export ROS_MASTER_URI="http://192.168.11.59:11311/" # ← Robotinoのroscore

自分のマシンで完結するのであれば,

export ROS_HOSTNAME='hostname'
export ROS_MASTER_URI="http://127.0.1.1:11311/"

となることが一般的ですが,意味を理解した上で設定して下さい.
※ヒント.PCの名前を引くには,/etc/hosts を触るのが一番手っ取り早いです.

まず,rosを動かすマシンの上で,roscore を動かしましょう.
おそらく,その端末は,roscore を動かすだけになります.

roscore

RefBox も動かしましょうか.
~/rcll-refbox/cfg/config.yaml のネットワーク周りやチーム名を適切に設定して下さい.

  game:
    teams: [Carologistics,BabyTigers]
    crypto-keys:
      Carologistics: randomkey
      BabyTigers: randomkey

RefBoxの接続用のROSを起動しましょう.
パスを通せているのであればrosRcllRefBox.sh の実行でOKです.

ryukoku@ubuntu:~$ cat ~/ownCloud/2021/scripts/rosRcllRefBox.sh 
#!/bin/bash
# Team: BabyTigers, Color: CYAN, Robot Number: 1
pushd ~/catkin_ws/src/ros-rcll_refbox_peer/launch
roslaunch rcll_refbox_peer.launch num_robots:=1 team_name:=BabyTigers robot_name:=kotora robot_number:=1 crypto_key:=randomkey
popd

上記を実行します.
メッセージの送信はしていないので,まだrefbox にロボットは現れません.
動作確認したければ,

while true; do rosservice call /rcll/send_beacon "[1,1,"btr"]" "[[2,2,"btr"],[[10,10,0],[0,0,0,0]]]"; done

で,RefBoxに表示されるはずです.

ROS対応版robviewの起動
GUIで作業するのであればrobviewを,インタプリタで作業するのであればrobview_interpreterを使います.

cd ~/ownCloud/2021/rvw2
robview -f `pwd`/ros.rvw2

なお,シミュレータ上のRobotino のIPアドレスは,「127.0.0.1:12080」です.
そこの自動切り替えスクリプトはまだ用意していませんので,GUIで変更して保存してからインタプリタを使うことを勧めます.
※テキストファイルなので,直接書き換えることも可能です.
そして,ROS対応版robview制御用のpythonの起動
こいつで,ROSのトピック(メッセージ)のやり取りをします.

cd ~/ownCloud/2021/python
python robotino.py

あとは,作成したROSプログラムを実行したら,robotino が動き出すはずです.
(量が多いなぁ…)
今の段階では,cpulimit で制限をかけていますので,
動作時だけ,それを止めて,動作確認を終えたら再度実行する というのを勧めます.
(そのうち,ROSプログラムの最初と最後にそれを記述する方式に変えたいなぁ)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*