20章ツール

効率的なソフトウェア開発には開発者向けの良いツールが必要です。お気に入りのエディター、バージョン管理システム、あるいはテストフレームワークなしではどうしようもありません。ロボットのソフトウェア開発をするときも、これらのツールは当然頼りにしますが、いくつか新しいツールも使用します。これらのROS固有の開発ツールは、ロボットアプリケーションを扱うのを手助けするよう設計されています。そこには開始や停止、内部の調査(イントロスペクション)、そしてテストを含んでいます。

本章では、一般的に使用されるROSツールを説明します。そして、個々のツールを使うタイミングと使用方法について説明します。rosbagrqt_bagrqt_graphrqt_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.