20章ツール
効率的なソフトウェア開発には開発者向けの良いツールが必要です。お気に入りのエディター、バージョン管理システム、あるいはテストフレームワークなしではどうしようもありません。ロボットのソフトウェア開発をするときも、これらのツールは当然頼りにしますが、いくつか新しいツールも使用します。これらのROS固有の開発ツールは、ロボットアプリケーションを扱うのを手助けするよう設計されています。そこには開始や停止、内部の調査(イントロスペクション)、そしてテストを含んでいます。
本章では、一般的に使用されるROSツールを説明します。そして、個々のツールを使うタイミングと使用方法について説明します。rosbag
、rqt_bag
、rqt_graph
、rqt_plot
は、21章のデバッグの説明で扱いますので、省きます。
20.1 マスターとその仲間:roscore
まず、本書の前のほう(「2.2 roscore」)でroscore
を紹介し、その後、いろいろなところでこのツールを使用してきました。しかし、このツールが何を行っているかを正確に理解することは役に立ちます。roscore
の起動時、それはROSシステムを立ち上げる最初のステップですが、これは、実際には次の3つの異なるツールを起動しています。
- マスター
- ネームサービスを扱います。
- パラメーターサーバー
- キー/バリュー形式のパラメーターデータを保持します(「20.2 パラメーター:rosparam」参照)。
rosout
ノード- 他のすべてのノードからのデバッグメッセージを集約します(「21.1.4 /rosoutと/rosout_agg」参照)。
起動時にROSノードが最初に行うことは、マスターと通信して自分自身を登録することです。これが、マスターなしでノードを開始しようとすると、次のような警告が出る理由です。 ...
Get プログラミングROS ―Pythonによるロボットアプリケーション開発 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.