1
0

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.

【メモ】catkin buildでワークスペース作成

Posted at

#環境
Ubuntu18.04
ros-melodic

#はじめに
ROSの備忘録として、基本となるワークスペース作成関連をメモしました。公式docでは、バージョンがhydro、かつcatkin_makeを使っていたので、melodicでcatkin buildを使っていきます。
参考:

例)


(変更前)
$ sudo apt install ros-kinetic-desktop-full
(変更後)
$ sudo apt install ros-melodic-desktop-full

また、関連パッケージのインストールも忘れずにやりましょう。

$ sudo apt install python-rosinstall python-rosinstall-generator python-rosdep python-wstool
$ sudo apt install build-essential ninja-build liburdfdom-tools
$ sudo apt install libceres-dev libprotobuf-dev protobuf-compiler libprotoc-dev

#ワークスペース作成
ROSのワークスペースを作成します。

今回はcatkin buildを使用するので下記のコマンドでcatkin build用のパッケージをインストールしましょう。

$ sudo apt install python-catkin-tools 

いよいよワークスペース作成です。
今回はHOMEディレクトリ(~/)にsample_wsというワークスペースを作成します。

$ mkdir -p ~/sample_ws/src
$ cd ~/sample_ws
$ catkin init
$ catkin build

-pオプションをつけることで、/srcディレクトリも同時に作成しています。

次に、ワークスペースに移動し、catkin initコマンドでワークスペースを初期化しています。
catkin buildコマンドを使用する際はcatkin initを使用しなくても、catkin buildを使用する際に勝手に初期化してくれます。
これで、ワークスペースのビルドは完了です。

あとは、下記のコマンドでpathを通せば使えます。

$ source ~/sample_ws/devel/setup.bash

毎回、パッケージを追加後catkin buildして上記のコマンドでpathを通すのは面倒なので、以下のようにすると便利です。

$ echo "source ~/sample_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

1行目のコマンドによってbash起動時(端末を開いた時)に勝手にpathが読み込まれます。

$ emacs ~/.bashrc

とすれば、source~が追加されているのが確認できます。

ただし、端末を開いたままだと.bashrcの内容は読み込まれないので、catkin buildした後は

$ source ~/.bashrc

は忘れずに実行しましょう!!

パッケージの追加

パッケージの追加方法は様々あると思います。
1.wstoolを使ったやり方
2.git cloneで追加
3.パッケージの自作

##1. wstoolで追加
こちらを参考にします。
wstoolは.rosinstallというファイルを基にパッケージのインストールを行うツールです。

$ cd ~/sample_ws
# 初期化
$ wstool init src
(または以下で初期化とインストールを一括で行う)
$ wstool init src PATH_TO_ROSINSTALL_FILE.rosinstall

2回目以降は、

wstool merge -t src PATH_TO_ROSINSTALL_FILE.rosinstall

を使いましょう。

このままではリポジトリが登録されただけでパッケージはインストールされていません。

wstool update -t src

を実行することでインストールが行われます。

また、インストールしたパッケージに依存パッケージがある場合は、rosdepを使います。

$ rosdep update
$ rosdep install -y -r --from-paths src --ignore-src

このコマンドで依存パッケージをインストールしてくれます。

##2. git clone
.rosinstall ファイルがない場合はgit cloneでもインストールできます。

3. パッケージの自作

パッケージを自作したい場合は、catkin_create_pkgコマンドを使います。

$ cd ~/sample_ws/src/
$ catkin_create_pkg <YOUR_PACKAGE_NAME> <DEPEND_PACKAGE_NAME>

を実行することで作成できます。
YOUR_PACKAGE_NAME: 作成したいパッケージ名
DEPEND_PACKEGE_NAME: 作成するパッケージが依存するパッケージ(pyhtonをしようする場合はrospyなど)
依存パッケージに関しては、作成パッケージ内の'package.xml'を書き換えることで、作成後でも変更可能です。

####ビルド
上記のようにして、パッケージをインストール/作成したら、catkin buildでビルドしましょう。

$ catkin build <PACAGE_NAME>
source ~/.bashrc

これで完了です。

##(おまけ)buildの方法
###ワークスペース全体をビルド

catkin build

###特定パッケージのみビルド

catkin build <PACKAGE_NAME>

###現在のディレクトリのパッケージをビルド
catkin build --this

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?