ROSでの超基本的なプログラム実行
はじめに
この記事では前回作成したプログラムの実行を行います。
最後に簡単な機能紹介もします。
環境
ROS : indigo
OS : Ubuntu14.04
言語 : python2.7
参考ページ : http://wiki.ros.org/ja/ROS/Tutorials/ExaminingPublisherSubscriber
プログラム実行
実行方法は人によってかなり違います。
今回は公式でも紹介されている王道です。
1つ目のコンソール
ROSを使うためにはMasterがいなければ話になりません。
roscoreを起動してください。
$ source ~/ros_ws/devel/setup.bash
$ roscore
エラーの場合は赤い文字が出るはずです。
おそらくROS_MASTER_URIの設定が間違っているのでしょう。
/etc/hostsの127.0.0.1のホスト名を覚えてください。
そして以下のコマンドによって再設定してください。
% export ROS_MASTER_URI=http://ホスト名:11311
2つ目のコンソール
talker.pyを実行していきましょう。
まずはcatkin_makeの後にsetup.bashを通します。
$ cd ~/ros_ws
$ catkin_make
$ source /devel/setup.bash
$ rosrun ros_start talker.py
以下のような表示が出るはずです。
[INFO] [WallTime: 1314931831.774057] hello world 1314931831.77
[INFO] [WallTime: 1314931832.775497] hello world 1314931832.77
[INFO] [WallTime: 1314931833.778937] hello world 1314931833.78
[INFO] [WallTime: 1314931834.782059] hello world 1314931834.78
[INFO] [WallTime: 1314931835.784853] hello world 1314931835.78
[INFO] [WallTime: 1314931836.788106] hello world 1314931836.79
3つ目のコンソール
最後にlistener.pyの実行
$ cd ~/ros_ws
$ rosrun ros_start listener.py
以下のような表示が出るはずです。
[ INFO] 1251943144.400553000: Received [Hello there! This is message [1]]
[ INFO] 1251943144.600712000: Received [Hello there! This is message [2]]
[ INFO] 1251943144.801003000: Received [Hello there! This is message [3]]
[ INFO] 1251943145.001407000: Received [Hello there! This is message [4]]
[ INFO] 1251943145.201229000: Received [Hello there! This is message [5]]
[ INFO] 1251943145.401417000: Received [Hello there! This is message [6]]
これがでればPublishされSubscribeまでできているということです。
ROSのプログラムを実行する一連の流れです。
覚えてほしい便利機能
実行した後にどのようにつながっているのか確認するコマンドがあります。
$ rqt_grath
これを行えばノード同士がどのように接続されているのかを可視化して理解することが出来るようになります。
複雑な開発を行ったときに何故かSubscribeしてくれない...
そんな時に私は研究の際非常に重宝しました。
ちなみに私が1台のサーバに対し5台のクライアントすべてにROSのPublisherとSubscriberの機能を持たせた時の画像がこちらです。
最大で10台まで接続した時には非常に助かりました。
こんなものもROSのプログラムを理解すれば簡単に作れます。
おわりに
これであなたもROSを使い放題です。
自分の目的にあったROSの使い方をしましょう。
目的に合わないのにも関わらずROSを使うのは無駄です。
次回はメッセージを利用したROS通信の解説を行う予定です。
Author And Source
この問題について(ROSでの超基本的なプログラム実行), 我々は、より多くの情報をここで見つけました https://qiita.com/Kohei_Koizumi/items/0e4e04d378e707a999d7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .