Note: This tutorial assumes that you have completed the previous tutorials: Navigating the Wiki. |
Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
この先について。
Description: このチュートリアルでは、シミュレーションや実機でROSについてもっと知るためのオプションについて説明します。Tutorial Level: BEGINNER
Contents
初級者チュートリアルのこの時点で、すでにROSの基礎となる概念については理解できているはずです。
もしROSを実行するロボットがあれば、今の理解をもってすれば、ロボットによってサブスクライブされたりパブリッシュされているtopicをリストしたり、これらのtopicによって消費されているメッセージを特定したり、センサデータを処理し、実世界で動くnodeを書いたりできるはずです。
ROSの本当の関心は、ミドルウェアそれ自身のパブリッシュやサブスクライブなどではなく、世界中の開発者が、コードを共有するのに必要な基本的な機構をROSが与えることであるはずです。ROSの最も大切な特徴はこの大きなコミュニティにあります。
利用できるパッケージの数は圧倒的な量です。このチュートリアルでは、次にどうつながっていくかを話していきたいと思います。
シミュレータを起動する
実機のロボットを持っていても、何かコードを間違えたとき自分や高価なロボットを傷つけないように、まずはシミュレータからはじめるのは良いことです。
PR2 SimulatorやTurtlebot Simulatorからシミュレータを学ぶことができます。代わりに自分の持っているロボットを探して それのシミュレータがあるかどうかを探すこともできます。
この時点で、'teleop'パッケージを使ってシミュレーションされたロボット(例えば, turtlebot_teleop)のコントロールを試みたり、ROSの今までの知識を使って、topicを見つけたり、ロボットを動かすのに適切なメッセージを送るコードを書いたりしようとするでしょう。
RVizを使ってみる
RVizはロボットのセンサや内部状態を可視化するとても強力なツールです。user guideが始める際に参考になるでしょう。
TFを理解する
TFのパッケージはロボットで使われている異なる座標系フレームを変換し、これらの変換をずっと追跡します。どんなロボットを触る際にもTFの理解は欠かせません。チュートリアルをすることはとても大切です。
もし、ロボットをビルドしているなら、それはロボットのためのURDF modelを作ろうとしていることになるのかもしれません。もし、標準的なロボットを使っているなら、もうすでに他の人が作ってくれているかもしれません。それでも、 URDFパッケージになれることは大事なことでしょう。
さらに深くに触れる
現在、あなたはロボットに洗練された動きをさせようとしていると思います。そんなときには、以下のページが役に立つと思います。
actionlib - actionlibパッケージは優先使用可能なタスクを扱うのに標準的なインターフェースを提供します。これは、ROSの中で"higher-level"なパッケージで広く使われています。
navigation - 2D ナビゲーション: マップのビルディングと経路計画。
arm_navigation - ロボットの腕のコントロール。