6
4

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 5 years have passed since last update.

ubuntu16.04にROS2 Bouncyをインストールする

Last updated at Posted at 2018-12-20

せしまるです。

ubuntu18.04…ではなくubuntu16.04の記事になります。

備忘録として+日本語ドキュメント少ないと感じたので。
基本的にここと同じ流れで書いていきます。

ROS2リポジトリ追加

使ったっけ?くらい記憶にないですが、公式ドキュメントには書いてあるので一応。

2019年1月22日追記
リポジトリ追加の一文が抜けていました。申し訳ございません。

console
$ sudo apt update
$ sudo apt install curl gnupg2 lsb-release
$ curl http://repo.ros2.org/repos.key | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

ツールのインストール

公式ドキュメントの「Install development tools and ROS tools」の部分です。
横に長いですが、$除いてコピペすれば実行できます。

console
$ sudo apt update && sudo apt install -y build-essential cmake git python3-colcon-common-extensions python3-pip python-rosdep python3-vcstool wget
$ sudo -H python3 -m pip install -U argcomplete flake8 flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes git+https://github.com/lark-parser/lark.git@0.7b pytest-repeat pytest-rerunfailures pytest pytest-cov pytest-runner setuptools
$ sudo apt install --no-install-recommends -y libasio-dev libtinyxml2-dev

それなりに時間かかるのでカップラーメンでも作って待ちましょう

ROS2コードの取得

ツールのインストールが終わったら、ROS2のコードを取得します。

まずはディレクトリを作成し、作成したディレクトリにソースを落としてきます。
私の環境では/home/user下にディレクトリを作っていますが、別の場所でも大丈夫です(場所によっては管理者権限が必要な場合があります)。

console
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws
$ wget https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos
$ vcs import src < ros2.repos

4行目が結構長いかな?

依存関係のインストール

コードの取得が完了したら次はこれです。

sudo rosdep initでエラー出たら、エラーと一緒にファイルパスが表示されるので、そのファイルを削除してから再度実行してみてください。

console
$ sudo rosdep init
$ rosdep update
$ rosdep install --from-paths src --ignore-src --rosdistro bouncy -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 python3-lark-parser rti-connext-dds-5.3.1 urdfdom_headers"

ビルド!

optionalは飛ばして仮面ライダービルドです!

ardent?はたしかament buildでしたが、bouncyはcolcon buildで行います。
こるこんこるこん…

console
~/ros2_ws$ colcon build --symlink-install --packages-ignore qt_gui_cpp rqt_gui_cpp

これめちゃくちゃ長いです。自環境では30分くらいかかったので、アニメでも見ながら気長に待ちましょう。

動作テストと.bashrc

ビルドが終わったら動作テスト!のまえに.bashrcに下記一行追記します。

source ~/ros2_ws/install/local_setup.bash

保存したらターミナルを立ち上げなおします。ついでにもう一つターミナルを立ち上げておきます。
それぞれT1、T2(ターミナル1、2)とします。

これからやるのは、T1でメッセージを送信(publish)して、T2で受信(Subscribe)するテストです。
うまく受信できればT2のコンソールにメッセージがぽんぽんでます。

まずT1で下記を実行します。

console
$ ros2 run demo_nodes_cpp talker

次にT2で下記を実行します。

console
$ ros2 run demo_nodes_py listener

実行結果

T1
[INFO] [talker]: Publishing: 'Hello World: 1'
[INFO] [talker]: Publishing: 'Hello World: 2'
[INFO] [talker]: Publishing: 'Hello World: 3'
…
// やめるまで続く
T2
// 実行したタイミングによるけど
[INFO] [listener]: I heard: [Hello World: 1]
[INFO] [listener]: I heard: [Hello World: 2]
[INFO] [listener]: I heard: [Hello World: 3]
…

感想

時間かかりすぎる。ビルド中とか本当に暇になりますw

それでは今回はこの辺で。
よいROS2ライフを?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?