ROSとは
- ロボットを動かすために作られたオープンソースライブラリ
- 処理の単位をNodeといった形で分割し, Nodeの集合によってシステムが構成される
- Node間ではトピックと呼ばれるタグが付けられたメッセージで通信している
- メッセージの出力をPublisher, メッセージの受け取りをSubscriberが行う.
- Nodeの実行はSubscriberでメッセージを受け取ったときに行われる
新しいノードの作成方法
catkinコマンドが利用できるディレクトリで以下のコマンドを実行
# Set the node name to PKG_NAME
catkin create pkg PKG_NAME
-p Nodeを作成するディレクトリを設定
-a 作成者を設定 基本的にメールアドレスを設定
-d パッケージの説明
他コマンドはCreate Packagesを確認してください.
Debug
ノードの振る舞いの確認
-
rosrun rqt_graph rqt_graph
: ノードとトピックの確認 -
rosnode info hogehoge
: hogehogeノードの送受信状態, Service一覧の確認 -
roslaunch --nodes hogepackage hoge.launch
: launchファイルの起動するノードの確認
デバックツール
- GDB
- OProfile
- Valgrind Home
テスト
Rosノードのテストを行う場合, Python標準のunittestでテストを実装し、rostestラッパーを使用します.
テストの実装が完了したらpackage.xmlファイルに<build_depend>rostest</build_depend>
を追加します.
<test_depend>
は利用しないでください.
README.md
READMEファイルには以下の項目を記載することを推奨します.
- Title
- Overview
- Reference
- BasicUsage
- Node
- parameter
- Subscribed Topics
- Published Topics
フォルダ構成
参考
ROS公式
ROS開発者マニュアル(日本語訳)
【Python3】unittest使い方まとめ