LoginSignup
3
6

More than 5 years have passed since last update.

ROSパッケージ群ros_coreの中身

Posted at

はじめに

前回の記事でROSのインストールの際のメタパッケージ群の関係性についてまとめました.
今回は,ROSの中核をなすros_coreパッケージについて中身をまとめていきます.

ros_coreパッケージに含まれるもの

ros_coreメタパッケージには,いくつかのメタパッケージが含まれ,パッケージ・ビルドシステムを提供するros,ノード間通信を提供するros_comm,代表的なメッセージ型を提供するcommon_msgsros_comm_msgsがあります.これら以外に単独のパッケージとして,roslispcatkinなど多数が含まれています.
image.png

ros

説明としては,ROSのパッケージ・ビルドシステムということになるのですが,ビルドシステムとしてcatkinが採用されて久しいので,エンドユーザが意識して使うのはツールとしてのrosbashroscleanも?)ぐらいでしょうか.roscppなどクライアントライブラリからはroslibroslangが呼ばれています.

Core

1. mk
2. rosbuild
3. roslang
4. roslib

Tools

1. rosbash
2. rosboost_cfg
3. rosclean
4. roscreate
5. rosmake
6. rosunit

ros_comm

ROSの中核となるノード間通信を提供するパッケージです.C++とPythonのクライアントライブラリと,ツールやユーティリティの類が入っています.rosbagroslaunchのようなよく使われるもの以外にも,有用なツール(たとえばメッセージの同期ができるmessage_filters)があるので,初心者を脱してROSに対する理解を深める意味も含めて,見てみると良いと思います.

Client

1. roscpp
2. rospy

Tool

1. rosbag
2. rosgraph
3. roslaunch
4. rosmaster
5. rosmsg
6. rosnode
7. rosout
8. rosparam
9. rosservice
10. rostest
11. rostopic
12. topic_tools

Utilities

1. message_filters
2. roslz4
3. roswtf
4. xmlrpcpp

common_msgs

よく使われるROSメッセージを束ねたパッケージです.メッセージという名前ですが,トピック通信用のメッセージ型に限らず,サービス通信用のサービス型,アクション通信用のアクション型も定義されています.ROSのeco-systemの中でテストされ,使われてきた型ですので,独自の型を定義する前に一度確認すると良いですね.

1. actionlib_msgs
2. diagnostic_msgs
3. geometry_msgs
4. nav_msgs
5. sensor_msgs
6. shape_msgs
7. stereo_msgs
8. trajectory_msgs
9. visualization_msgs

ros_comm_msgs

下記2つのメッセージ型はros_commからの参照がある関係からか,ソースコード上まとめて(https://github.com/ros/ros_comm_msgs.git )管理されています.取り扱いはつぎの単独パッケージ群と同じです.
なお,rosgraph_msgsは,シミュレーション時刻やrosoutで使われるログ,トピックの統計情報(周期やメッセージ数)などをやり取りするためのLow-Levelメッセージ用の型です.エンドユーザには基本的に関係ないですね.

1. rosgraph_msgs
2. std_srvs

その他(単独パッケージ)

ビルドシステムとしてのcatkin,EigenやNumPyなどをcmake上でお手軽に使えるようにするcmake_modules,メッセージ関連のパッケージ,クライアントライブラリ関連のパッケージ,などがあります.

1. catkin
2. cmake_modules
2. gencpp
3. geneus
4. genlisp
5. genmsg
6. gennodejs
7. genpy
8. message_generation
9. message_runtime
10. rosbag_migration_rule
11. rosconsole_bridge
12. rosconsole
(melodic以降)
13. roscpp_core
15. roslisp
15. rospack
16. std_msgs

まとめ

ROSの中核をなすros_coreパッケージの中身を見てきました.

この記事の内容はROS Wikigithubを追っていけばわかることなのですが,入り組んでいてどこに何があるかわかりにくいと感じたので,構造を整理してまとめてみました.

3
6
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
3
6