この記事では、公式のウィキから来http://wiki.ros.org/ROS/Tutorials/CreatingPackage
- どのようなパッケージには、尾状花が含まれています
- これは、パッケージ情報を記述するpackage.xmlファイルが含まれている必要があります。
- CMakeLists.txtファイルが尾状花の使用を持っている必要があります。
- 各パッケージには、独自のフォルダを持っている必要があります。
次のように単純なパケット構造は、次のとおりです。
my_package / CMakeLists.txt のpackage.xml
- パッケージ尾状花作業領域(作業領域)がされている
パッケージが別々に構成してもよいが、尾状花尾状花パケットワークスペースで作業することをお勧め。
次のように典型的な尾状花ワークスペースのファイル構造は次のとおりです。
workspace_folder / - WORKSPACE のsrc / -ソース空間の CMakeLists.txt - 'トップレベル' cmakeのファイル、尾状花によって提供さ package_1 / CMakeLists.txt - package_1ためCMakeLists.txtファイル のpackage.xml - package_1のマニフェストパッケージ ... package_n / CMakeLists.txt - package_nためCMakeLists.txtファイル のpackage.xml - package_nのマニフェストパッケージ
続行する前に、尾状花ワークスペースを作成する方法を見てみましょう。
- 尾状花ワークスペースを作成します。
ROSは、このコマンド尾状花を使用して、インストール後にインストールすることができ、
$ソース/opt/ros/kinetic/setup.bash
尾状花はcatkin_wsために、次のコマンド名を使用してワークスペースを作成します。
$ます。mkdir -p〜/ catkin_ws / srcに $ CD〜/ catkin_ws / $ catkin_make
それは、ビルド、develのを見ることができ、LSは表示するコマンドを使用、SRCサブディレクトリが浮上しています。
その後、実行します。$ソースのdevel / setup.bashの $エコー$ ROS_PACKAGE_PATH
次の値を返します。
/ホーム/スパイ/ catkin_ws / srcの場合:/ opt / ROS /運動/共有
図から分かるように、環境変数がすでにワークスペースディレクトリが含まれています。
- 尾状花パッケージを作成し
使用することができますcatkin_create_pkgを次のように尾状花パッケージを作成するコマンドを、コマンドの構文は次のとおりです。
#これは一例であり、これを実行しようとしないでください [depend3] <パッケージ名> [depend1] [depend2]#のcatkin_create_pkgを
たとえば、次のコマンドを実行します。
$ CD〜/ catkin_ws / srcに $ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
std_msgs rospy roscppとのbeginner_tutorialsという名前のパッケージの依存関係の作成
次のように出力を:作成したファイルbegginner_tutorials / CMakeLists.txt 作成したファイルbegginner_tutorials / package.xmlの 作成したフォルダのbegginner_tutorials /含める/ begginner_tutorials フォルダbegginner_tutorials / srcの作成 /ホーム/少/ catkin_ws / SRC / begginner_tutorialsで正常に作成されたファイル。package.xmlの中の値を調整してください。
図から分かるように、コマンドが自動的にいくつかのファイルが作成されます。CMakeLists.txtとpackage.xmlのこれらのファイルを含みます。
- コンパイル尾状花パッケージ
次のコマンドを使用して、
$ CD〜/ catkin_ws $ catkin_make
すべてのパッケージが自動的に作成したばかりのbeginner_tutorialsパッケージを含めて、コンパイルされます。
catkin_makeコマンドは、実際に、参照してくださいより多くの情報catkin_make cmakeのコマンドを呼び出す尾状花/コマンド/ catkin_make - パッケージの依存関係
- 依存は
catkin_create_pkgコマンドを使用してパッケージを作成するとき、あなたはこれらの依存関係rospackコマンドを表示することができます依存関係を指定することができます。
$ rospack depends1 begginner_tutorials
戻り値:
roscpp rospy std_msgs
これらはあなたがたpackage.xmlを表示することができ、package.xmlの中に格納されている情報に依存します。
- 間接的に依存する
自分の依存関係が存在する可能性がある依存関係は、これらは、例えば、パケット、間接的依存と呼ばれ、その依存関係がありrospy:
Rospack depends1 rospy $ genpy roscpp rosgraph rosgraph_msgs roslib std_msgs
- すべてに頼る
rospackを使用すると、すべての依存関係を表示するコマンドを依存します
$のrospackはbegginner_tutorials依存 cpp_common rostime roscpp_traits roscpp_serialization 尾状花 genmsg genpy message_runtime gencpp geneus gennodejs genlisp message_generation rosbuild rosconsole std_msgs rosgraph_msgs xmlrpcpp roscpp rosgraph ros_environment rospack roslib rospy
- 依存は
- カスタムパッケージ情報は
、より詳細な情報を、パッケージをカスタマイズするカスタムのpackage.xmlを通じてメタ情報とすることができる、参照してくださいpackage.xmlの
同じ時間に、CMakeLists.txtは、パッケージをコンパイルするために使用される、ファイルもカスタマイズすることができます。