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をダウンロード。
パッケージの解凍を行う。
$ 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つ目のターミナルで見ることができる。
以下のように、コマンドでpublishすることもできる
自分の環境で起きた現象
実行できるのに不具合メッセージが出る場合
$ brew install console_bridge
colconのインストールを求められる場合
$ pip3 install -U colcon-common-extensions
最後に
ROS1のときから開発環境を作るのが大変でしたが、ROS2になっても相変わらずみたいです。
ローカル環境がごちゃごちゃになることを考えると、本格的に開発をし始める際には専用のUbuntuPC用意したほうが良さそうです。