MacOSとROS 2のインストール

Updated on: 2019-04-16

トップに戻る

セミナー中に開発環境としてMacOSを利用するためのインストール方法を説明します。 そして、MacOS上でROS 2をインストール方法も説明します。

用意するもの

依存ソフトウェアのインストール

  1. Homebrew

    他のソフトウェアをインストールするために必要です。 下記の実行でインストールします。

    1
    
    $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    インストールを確認するために、下記を実行します。

    1
    
    $ brew doctor
    

    問題が報告されば、ROS 2のインストール手順を進む前に直してください。

  2. brewを利用して他の依存ソフトウェアをインストールします。

    Python 3、OpenCV等ROS 2が利用する様々なソフトウェアライブラリを下記のコマンドでインストールします。

    1
    2
    3
    
    $ brew install python3
    $ brew install asio tinyxml2
    $ brew install tinyxml eigen pcre poco
    

    ROS 2にOpenCVを利用するデモがあります。デモのために下記でOpenCVをインストールします。

    1
    
    $ brew install opencv
    

    DDSセキュリティを利用する場合はOpenSSLが必要です。

    1
    
    $ brew install openssl
    

    RVizを利用する場合はQt等が必要です。

    1
    
    $ brew install qt freetype assimp
    

    ログ機能を利用するために log4cxx が必要です。

    1
    
    $ brew install log4cxx
    

    rqtの依存パッケージをインストールします。

    1
    2
    3
    4
    
    $ 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
    

    SROS(セキュアROS)の必要なパッケージをインストールします。

    1
    
    $ python3 -m pip install lxml
    
  3. ROS 2のコマンドラインツールの依存ソフトウェアをインストールします。

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

システム整合性保護(System Integrity Protection、SIP)の無効設定

注意:SIPの無効化は基本的に必要ではないようになったが、有効の場合は不具合が発生することがあります。動作に問題が発生する場合のみに無効設定を行ってください。

SIPにより子プロセスは親プロセスから環境変数の値が継承できません。 ROS 2をインストールするために無効にすることが必要です。 csrutilコマンドで無効にできます。

まずは有効になっているかどうか確認します。

1
2
$ csrutil status
System Integrity Protection status: enabled.

「enabled」と書いている場合のみに下記の手順で無効にします。

  1. リカバリOSに再起動します。

    MacOSを再起動して、起動し始める時点から__Command__{:style=”border: 1px solid black”}と__R__{:style=”border: 1px solid black”}を押します。

  2. ユティリティ−メニューから「Terminal」を起動します。

  3. 下記のコマンドを実行します。

    1
    
    $ csrutil disable
    
  4. パソコンを通常のMacOSに再起動します。

  5. 下記でSIPが無効になったことを確認します。

    1
    2
    
    $ csrutil status
    System Integrity Protection status: disabled.
    

ROS 2のインストール

  1. リリースページからMacOS用の最新パッケージをダウンロードします。 (現在の最新版はros2-crystal-20190408-macos-amd64.tar.bz2です。)

  2. 新しいデレクトリにパッケージを解凍します。

    1
    2
    3
    4
    
    $ mkdir -p ~/ros2_install
    $ cd ~/ros2_install
    $ tar -xvf ~/Downloads/ros2-crystal-20190408-macos-amd64.tar.bz2
    [省略]
    
  3. 環境変数を設定します。

    現在のシェルのみの環境を変更したがる場合には、下記を実行してください。

    1
    
    $ source ~/ros2_install/ros2-osx/setup.bash
    

    ROS 2の環境変数をbashのセッションが毎回新しいシェルを起動する度に自動的に追加するのであれば, 以下が便利です:

    1
    2
    
    $ echo "source ~/ros2_install/ros2-osx/setup.bash" >> ~/.bashrc
    $ source ~/.bashrc
    

以上、開発環境の構築が完了しました。