LoginSignup
0
0

Windows10へのROS2セットアップ

Last updated at Posted at 2023-11-04

WindowsへのROS2(iron)をインストールしたときの実際の課題を中心にまとめています。

ROS2をインストールする

基本的には公式のInstallationを参考にインストールを実施した。
https://docs.ros.org/en/iron/Installation.html

ちなみに、コマンドの実行はコマンドプロンプト(cmd)を管理者権限で使用した。

Pythonのインストール

Chocolateyを使ってPythonをインストールした。しかしすでにより新しいVerが入っていたので強制インストールでを実施

choco install -y python --version 3.8.3 --force

Visual C++再頒布パッケージのインストール

Chocolateyで以下を実行

choco install -y vcredist2013 vcredist140

OpenSSLをインストール

Win64 OpenSSL v1.1.1n OpenSSLインストーラをダウンロードしてインストール

環境変数にOPENSSL_CONFを追加

setx /m OPENSSL_CONF "C:\Program Files\OpenSSL-Win64\bin\openssl.cfg"

環境変数のPathに以下を追加
C:\Program Files\OpenSSL-Win64\bin\

Visual Studio2019のインストール

リンクからインストーラをダウンロードしてDesktop development with C++をインストール。更新パッケージもインストール。

OpenCVをインストール

リンクからzipダウンロードしてC:¥opencvとして展開。

環境変数を以下で追加

setx /m OpenCV_DIR C:\opencv

環境変数PathにもC:\opencv\x64\vc16\binを追加。zipの展開の階層が間違っていたので、上記のパスにbinがくるように注意する。

依存関係のインストール

CMake

choco install -y cmake

とPathへC:\Program Files\CMake\bin追加

Python関連パッケージ

リンクから以下をダウンロード

  • asio.1.12.1.nupkg
  • bullet.3.17.nupkg
  • cunit.2.1.3.nupkg
  • eigen-3.3.4.nupkg
  • tinyxml-usestl.2.6.2.nupkg
  • tinyxml2.6.0.0.nupkg
    以下のコマンドを実行
choco install -y -s C:\Users\<UserName>\Downloads asio cunit eigen tinyxml-usestl tinyxml2 bullet

pipとsetuptoolsをアップデート

choco install -y -s C:\Users\<UserName>\Downloads asio cunit eigen tinyxml-usestl tinyxml2 bullet

パッケージを追加インストール

python -m pip install -U catkin_pkg cryptography empy importlib-metadata jsonschema lark==1.1.1 lxml matplotlib netifaces numpy opencv-python PyQt5 pillow psutil pycairo pydot pyparsing==2.4.7 pyyaml rosdistro

その他

libxml2,iconv,zlibの3点セットをダウンロード
7zが入ってなかったので64bit版をダウンロードしてインストール
全部をc:\xmllintに展開(この時xmllint直下にbinフォルダすべてを上書き保存
環境変数PathにC:\xmllint\binを追加

Qt5のインストール

Qt公式から5.12.Xの最新版オフラインインストーラをダウンロードしインストール。
Qt5は商用利用不可なので要注意。
最後に以下を実行

setx /m Qt5_DIR C:\Qt\Qt5.12.12\5.12.12\msvc2017_64
setx /m QT_QPA_PLATFORM_PLUGIN_PATH C:\Qt\Qt5.12.12\5.12.12\msvc2017_64\plugins\platforms

Graphvizをインストール

ここからGranphvizのWindows最新EXE Installerをダウンロードしてインストール。インストーラの最後に環境変数登録をするか聞かれたのでcurrent userの環境変数を登録にチェックをいれた。

ROS2のインストール

ここまできてようやくROS2を公式からダウンロード
今回はIronのWindows-releaseパッケージros2-iron-20230912-windows-release-amd64.zipを選択
公式に従ってC:\dev\ros2_ironにzipを展開

DDSのインストール

通信ミドルウェアDDSをインストール。RTI Connext DDS 5.3.1をインストール。

環境設定

これはコマンドプロンプト開きなおす度に必要。
DDSとROS2の両方を動作準備するため以下の2行のコマンドの実行が必要

call "C:\Program Files\rti_connext_dds-5.3.1\resource\scripts\rtisetenv_x64Win64VS2017.bat"
call C:\dev\ros2_iron\local_setup.bat

サンプルを実行

これで晴れて動作確認。2つのコマンド画面を開いて以下の2つのコマンドをそれぞれ実施

ros2 run demo_nodes_cpp talker
ros2 run demo_nodes_py listener

talker側のPublishメッセージをlistener側で受け取れていればOK。

トラブルシュート

  • Packagingの参照切れ
    ModuleNotFoundError: No module named 'packaging'

解決法1:Packagingを再入手してみる

pip install packaging
Requirement already satisfied: packaging in c:\python38\lib\site-packages (23.2)

上記の表示がでて問題ないことを確認

解決法2:パスの確認

ROS2のインストールフォルダC:\dev\ros2_iron\Lib\site-packagesを見てみるとpackagingが存在しない
where pythonでpython.exeの場所を確認すると、

where python
C:\Python311\Scripts\python.exe

ここから..\Lib\site-packagesをたどっていくとpackagingがあることを確認。

xcopy c:\Python311\Lib\site-packages\packaging c:\dev\ros2_iron\Lib\site-packages\. /E /H /C /I
  • その他のPythonライブラリ参照切れ
    いずれも以下を実行して解決
pip install <ライブラリ名>
0
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
0
0