4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ROSのpackage.xmlとは何者?

Posted at

はじめに

ROSの勉強中、package.xmlがどんな働きをしているのかが分からなかったので調べた事をメモ
※ 勘違いがあるかも

package.xmlについて

結論を先に書くと、以下2つの機能を提供する。

  • 第3者にパッケージに関する情報(作者や依存パッケージなど)を提供する。
  • ROSコマンドにパッケージに関する情報を提供する。

もう少し詳細に書くと

  • package.xmlをもつディレクトリがROSのパッケージのルートディレクトリとして認識される。
    • rospackコマンドで表示される依存パッケージ名などはこのファイルの記述が参照される。
    • roscdコマンドで移動する先もこのファイルの場所を元に実行される。
  • パッケージ名や作者、パッケージの依存関係などを記述する
    • 自分だけで使う分には一部記述を除いてCMakeLists.txtと違っいても良い。
    • ただしaptやgithub等で第3者に公開する場合、異なる記述があると使用者が混乱するので一致させる。
  • ビルドの依存関係の記述はなくてもcatkin_makeは通る。
    • ただしbuildtool_dependタグがないとビルドエラーになる。
    • またnameタグのパッケージ名がCMkakeLists.txtのproject(パッケージ名)と異なっていてもビルドエラーになる。
    • この2つのタグは自動生成されているはずなので触らないのが無難。
  • その他
    • export機能を使うと依存するパッケージにプラグインをエクスポートできる。
      • nodoletを使う場合はこの機能を利用するようだが使ったことがないので不明。

CMakeLists.txtと違っててもいい所が少し面倒。

参考サイト

ROS wiki catkin/package.xml
ROS講座97 CMakeList.txtとpackage.xmlの書き方
ROS (2)のpackage.xmlについて(1/2)

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?