7
6

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.

ROS2をMacで動かす

Last updated at Posted at 2019-09-12

ROS2の開発環境構築の際に、かなり手間取ったのでメモとして残します。

最初に断っておきますが、この記事では自分がうまくいったインストール手順を書いています。
この手順で万人がうまくいくとは限りません。

必要ソフトウェアのインストール

以下手順でライブラリをインストール。

$ brew install python3
$ brew install asio tinyxml2
$ brew install tinyxml eigen pcre poco

$ brew install opencv

DDSセキュリティ、RVizを利用する場合は以下が必要。

$ brew install openssl

$ brew install qt freetype assimp

更に必要なソフトウェアをインストール。

$ brew install log4cxx

$ brew install sip pyqt5
$ ln -s /usr/local/share/sip/Qt5 /usr/local/share/sip/PyQt5
$ brew install graphviz
$ python3 -m pip install pygraphviz pydot

$ python3 -m pip install lxml

$ python3 -m pip install catkin_pkg empy lark-parser pyparsing pyyaml setuptools argcomplete

ROS2のインストール

以下ページから最新のROS2をダウンロード。

ROS2 リリースページ

パッケージの解凍を行う。

$ mkdir -p ~/ros2_ws
$ cd ~/ros2_ws
$ tar -xvf ~/"ダウンロードしたROS2のファイル"

ROS2の環境設定

現在開いているターミナルのみで使いたい場合。

$ source ~/ros2_ws/ros2-osx/setup.bash

ターミナルが起動するたびに勝手に設定した場合。

$ echo "source ~/ros2_ws/ros2-osx/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

サンプルプログラムの実行

1つ目のターミナル

$ cd ~/ros2_ws
$ ros2 run demo_nodes_cpp talker

2つ目のターミナル

$ ros2 topic echo /rosout

1つ目のターミナルで送られたpublishが2つ目のターミナルで見ることができる。

1.png

以下のように、コマンドでpublishすることもできる

2.png

自分の環境で起きた現象

実行できるのに不具合メッセージが出る場合

$ brew install console_bridge

colconのインストールを求められる場合

$ pip3 install -U colcon-common-extensions

最後に

ROS1のときから開発環境を作るのが大変でしたが、ROS2になっても相変わらずみたいです。
ローカル環境がごちゃごちゃになることを考えると、本格的に開発をし始める際には専用のUbuntuPC用意したほうが良さそうです。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?