2016/12/11

ROSチュートリアル1-ノードを知る-

LSD-SLAMをカメラでやる前に,ROSチュートリアルを進めます.
LSD-SLAMついでにやろうと思ったんだけど結構つらそうだから.
いくつか飛ばして,


Understanding ROS Nodesの部分から

ノードの概念については
ROS(Robot Operation System)について
を参考にしてください.

まず,必要なパッケージのインストールをします.導入時にインストールされてるかもしれないけど一応
$ sudo apt-get install ros-<distro>-rqt
$ sudo apt-get install ros-<distro>-rqt-common-plugins
$ sudo apt-get install ros-<distro>-ros-tutorials
<distro>の部分はrosのバージョンが入る.
indigoとかjadeとか自分に合うものにしよう.


$ roscore
$ rosrun turtlesim turtlesim_node
亀が出てくる

$ rosrun turtlesim turtle_teleop_key
プログラムが起動するのでそのうえで矢印を押すと亀が動く

$ rqt_graph
実行中ノード,トピックが表示される
teleop_turtleという名前空間で/tekeop_turtleというノードが起動しており
turtlesimという名前空間で/turtlesimというノードが起動しているはず
さらに/tekeop_turtleから/turtlesimへ/turtle1/cmd_velというトピックを介してデータが出力されているはず

これを詳しく見ていく.まずノードについて,
$ rosnode list
とすると起動しているノードが表示される.
/teleop_turtle
/turtlesim
/rosout
が確認できるはずである.

ここで
$ rosnode info /rosout
などとすると/rosoutについて情報が得られる

また,実行するときに
$ rosrun turtlesim turtlesim_node __name:=my_turtle
とすると
$ rosnode list
で出てくる名前が
/tekeop_turtle
/my_turtle
/rosout
となる.
ノードの名前は変更可能である.

本当に/my_turtleが起動しているか確かめるなら
$ rosnode ping my_turtle
としてpingが行われている表示がされるならOKである.

次回はトピックについてやります.

0 件のコメント:

コメントを投稿