ROSの「トピック」について
ROSさんお手やわらかに:ROS入門編
前から気になっていたubuntuのドネーション、ようやく払うことができた。もっとも最低の16ドルだけど。
Paypalをしばらくぶりにのぞいたら、登録システムが変更になっており、100万円まではクレジットカードを登録するだけで送金できるようになっていた。以前は、本人確認のためクレジットカードに1ドルがチャージされ、これの明細にあるコードをPaypalに送ると初めてアカウントが有効になるともに1ドルが返却されるようになっていた。僕の場合は、なぜかこれがチャージされず、アカウントはあるものの送金できない状態のままだったのだ。なお、リミットを解除するためには身分証明書のスキャン画像をPaypalに送ればいいようだが、そんな大金を使う予定はないので、このままでいこう。
さて、例によってちんたら進んでいるROS入門だが、いよいよ(?)トピックのハナシに突入だ。こんなペースで年明けには自分でプログラムを作れるようになるんだろうか?
今回はチュートリアルのこのページに添って試していく。前回試したturtlesimを実際に動かしてみるようだ。
まず、下記にしたがってroscoreを起動
・端末を開く
・下記を実行して環境変数を設定
source ~/fuerte_workspace/setup.bash
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
・下記でroscoreを起動
roscore
次にturtlesimを起動
・端末を開く
・下記でturtlesimを起動
rosrun turtlesim turtlesim_node
もう一つ、turtlesimにコマンドを送る端末を起動
・端末を開く
・下記でテレオペレーションを起動
rosrun turtlesim turtle_teleop_key
最後の端末にカーソルを置いたまま、キーボードの矢印キーを操作するとturtlesim画面のカメをリモコンすることができる。ROSの仕組みを利用してコマンドが送られているのだ。ここまでのところで画面はこんな感じになっている。
シンプルな実験だが、ROSでのアプリケーションの体裁がよくわかる。turtlesim_nodeと言うノードにturtle_teleop_keyと言うノードがメッセージを送るよう接続されている。このメッセージをやりとりする接続を「トピック」と言うらしい。
turtle_teleop_keyはトピックを通じて、矢印キーの状態を「発行」し、turtlesim_nodeはこれを「引用」することでシミュレータ上のカメを動かすということか。
この関係をグラフィカルに表示するパッケージがrqt_graphだ。新しい端末を開き、まず下記でパッケージをインストールする。
sudo apt-get install ros-fuerte-rqt
これを実行したら、「いくつかのアーカイブが取得できません。apt-get update を実行するか --fix-missing オプションを付けて試してみてください。」というメッセージが出た。そこで下記を実行。
sudo apt-get update
その後、もう一度先のコマンドを実行したら正常終了した。下記のコマンドでノードを起動する。
rosrun rqt_graph rqt_graph
下記のようにノード間の接続状態が表示される。丸で囲まれているのがノードで矢印がトピックだ。
これをみると/teleop_turtleがturtle_teleop_keyのことのようだが名前が違うのはなぜだろう? まあ、これもそのうちわかってくるだろう。
« ノードを使ってみる | トップページ | 【昔語り1】ヒューレットパッカードの16進表示LED »
「ROSさんお手やわらかに」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
コメント