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プログラムの最初と最後にそれを記述する方式に変えたいなぁ)
コメントを残す