Help us understand the problem. What is going on with this article?

ROS catkin buildの簡単な使い方

Catkin buildの使い方

Q これはなんですか?

A これはROS Catkin buildの使い方の簡単な説明です.

そして,catkin buildの公式ドキュメントはこちらです.
さらに,自分用のメモでもあります.

Catkin buildとは?

catkin buildとはROSのパッケージをビルドするための新しいコマンドです.

catkin buildが新しいコマンドということは当然,古いコマンドもあるわけです.

古いコマンドはcatkin_makeというコマンドで,このコマンドは並列ビルドができなかったり

catkin_ws/srcにいないとコマンドが有効でなかったりしました.

そこで,catkin_makeに代わる新しいコマンドが開発されました.このコマンドはcatkin_makeでは

できなかった種々のことができるようになりました.

もちろん,デフォルトで並列ビルドで,どのディレクトリにいてもcatkin buidを実行することが可能です.

注意点として,catkin_makeでビルドしたパッケージはcatkin buildではビルドできないということがあります.そのため,catkin buildに移行する場合は,一旦,srcデレクトリをどこかへ退避して,

catkin buildの流儀でcatkin_wsを作り直す必要があります.

では,その使用方法を見ていきましょう.

インストール

catkin buildはデフォルトではROSに含まれていません.そこで,下記のコマンドでインストールしましょう.

sudo apt install python-catkin-tools

ワークスペースの初期化

catkin_makeでは,一般的にcatkin_wsと名付けられるワークスペースの初期化にcatkin_init_workspaceというコマンドを用いていましたが,catkin buildでは,そのような初期化コマンドは必要なくcatkin buildを実行したときに,ワークスペースが初期化されていなければ自動的に初期化が実行されます.

具体的には,ワークスペースの作成から初期化までは下記のコマンドを用いて行います.

source /opt/ros/melodic/setup.bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin build
source devel/setup.bash

陽に初期化を行う場合は下記のコマンドを使用して行うことができます.

source /opt/ros/melodic/setup.bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin init

パッケージのビルド

全体をビルド

catkin_makeのcatkin_makeコマンドに相当するもので
ワークスペースにある全てのパッケージをビルドします.
ワークスペース内ならどこの階層にいてもいいので
下記のコマンドを打つだけです.どこにいてもいいと言うのがcatkin_makeと違って便利なところです.

catkin build

一部のパッケージをビルド

毎回,全てのパッケージをビルドするのは時間もかかりますし,ムダも多くなります.そこで,特定のパッケージだけビルドを行いたいということもあると思います.その場合は下記のコマンドを利用します.

catkin build package_name

catkin buildの後ろにビルドしたいパッケージ名を付け加えるだけでした.とても簡単ですね.

また,いちいち,パッケージの名前なんか,覚えてられないよ.
とにかく今いるところをビルドしたいんだ!ということも多いかと思います.そのような場合は,下記のコマンドを使用してください.

catkin build --this

なんのことは無い,引数に--thisをつけるだけです.
これが最も使用頻度が高いコマンドになるのではないでしょうか.

パッケージの追加

特筆すべきことは無く,catkin_ws/src以下にパッケージを入れるだけです.

ココらへんはcatkin_makeと変化ありません.

catkin listと打つと,パッケージ一覧が表示されます.

パッケージのパスの読み込み

roslaunchなどのコマンドでパッケージ名をタブ補完するためには,各パッケージにパスが通っている必要があります.catkin buildしたあとに下記のコマンドを打つことによって各パッケージのパスが新しく追加されたり更新されたりします.

cd ~/catkin_ws/
source devel/setup.bash

ワークスペースの掃除

catkin_ws/src以外のディレクトリを消したいという場合にcatkin cleanコマンドは便利です.develやlogsディレクトリが無くなります.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした