windows10にROS2をインストールする
公式wikiを見ながら、win10にインストール作業をしました。
事前条件
”Visual Studio 14.0 2015 Update 3”が入っていて、かつC++も選択してインストールしていること
pythonは2017_12_10時点で最新の3.6.2ではなく3.5の代ではないと途中のtrolliusをインストールするところで入らないのでダウングレードする必要があります!
そして自分はpyenvとか使ってないから一回環境ぶち壊れたよ!(^o^)ノ
ダウングレードする場合は
conda install python=3.5
Chocolateyのインストール
Windowsのキーを押し検索で” vs2015 x64 native tools command prompt”のアプリを探し、右クリックして[管理者として実行]を選択。
以下のコマンドを張り付けて実行
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
そしたら警告が出てきました
警告1.
WARNING: It's very likely you will need to close and reopen your shell
before you can use choco.
インストールしたあと使いたかったら再起動しろと。わかりました。
警告2.
WARNING: You can safely ignore errors related to missing log files when
upgrading from a version of Chocolatey less than 0.9.9.
'Batch file could not be found' is also safe to ignore.
'The system cannot find the file specified' - also safe.
これは無視できるらしい
警告3.
警告: Not setting tab completion: Profile file does not exist at
'C:\Users\\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
これはファイルがないよと言ってますが、別に使わない?ので無視
コマンドラインで "choco -v" でバージョン確認
0.10.8
一応アップデートする
choco upgrade chocolatey
依存関係のインストール
コマンドは vs2015 x64 native tools command promptで実行する
・gitインストール
choco install -y git
環境変数いじったよって言われる
・cmakeインストール
choco install -y cmake
環境変数に ”C:\Program Files\CMake\bin” を追加
・python入れてない人は
choco install -y python
Boostインストール
以下からBoostをダウンロード
https://sourceforge.net/projects/boost/files/boost-binaries/1.61.0/boost_1_61_0-msvc-14.0-64.exe/download?use_mirror=jaist
exeでインストールしたあと、環境変数を追加
BOOST_ROOT : C:\local\boost_1_61_0
BOOST_LIBRARYDIR : C:\local\boost_1_61_0\lib64-msvc-14.0
またpathにも追加
C:\local\boost_1_61_0\lib64-msvc-14.0
開発者ツールのインストール
pip install vcstool choco install -y curl
依存関係をインストールする
Release 2017-04-04-1 · ros2/choco-packages · GitHub
ここに行き、一つずつクリックして以下をダウンロード
・asio.1.10.6.nupkg
・eigen.3.3.3.nupkg
・tinyxml-usestl.2.6.2.nupkg
・tinyxml2.4.0.1.nupkg
以下でインストール。”PATH\TO\DOWNLOADS\” はダウンロードしたフォルダ名に書き換える
choco install -y -s <PATH\TO\DOWNLOADS\> asio eigen tinyxml-usestl tinyxml2
以下pipでインストール
pip install -U setuptools pip pip install EmPy pyparsing pyyaml pip install nose coverage mock pytest pytest-cov pytest-runner pip install flake8 flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes pep8 pydocstyle pyflakes
↓python3.6は対応していないので注意(trollius 2.1 : Python Package Index)
pip install trollius
choco install -y cppcheck
C:\Program Files\CppcheckをPATHに追加する。
opencvインストール
公式wikiとはちょっとPathを変えてますが以下になります。
Visual Studio 2015:
https://github.com/ros2/ros2/releases/download/release-beta2/opencv-2.4.13.2-vc14.VS2015.zip
解凍して移動→C:\dev\opencv\opencv-2.4.13.2-vc14.VS2015
環境変数を追加
setx -m OpenCV_DIR C:\dev\opencv\opencv-2.4.13.2-vc14.VS2015
C:\dev\opencv\opencv-2.4.13.2-vc14.VS2015\x64\vc14\bin をPATHに追加
OpenSSLインストール
以下からWin64 OpenSSL v1.0.2をダウンロードします。Win32またはLightバージョンはダウンロードしないでください。
Shining Light Productions - Win32 OpenSSL
exe起動。基本的に進むのみをクリック。最後の寄付はチェックを外してfinish。
setx -m OPENSSL_CONF C:\OpenSSL-Win64\bin\openssl.cfg
また、C:\OpenSSL-Win64\bin\をPATHに追加。
ソースの取得
C:直下にファイルを作って移動する
md \dev\ros2\src cd \dev\ros2
ros2.reposクローンを作成するリポジトリを定義するファイルを取得
curl -sk https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos -o ros2.repos
次に、vcs、ros2.reposにリストされているリポジトリをインポートする
vcs import src < ros2.repos
ROS 2コードの作成
フォルダツリーを構築してビルド。”--build-tests”オプションを追加してテストできる
結構時間かかります
cd C:\dev\ros2 python src\ament\ament_tools\scripts\ament.py build python src\ament\ament_tools\scripts\ament.py build --build-tests
実行
一回vs2015 x64 native tools command promptを再起動して以下実行
> call install\local_setup.bat > ros2 run demo_nodes_py talker ↓以下実行結果↓ C:\dev\ros2>ros2 run demo_nodes_py talker [INFO] [talker]: Publishing: "Hello World: 0" [INFO] [talker]: Publishing: "Hello World: 1" [INFO] [talker]: Publishing: "Hello World: 2" [INFO] [talker]: Publishing: "Hello World: 3" [INFO] [talker]: Publishing: "Hello World: 4" [INFO] [talker]: Publishing: "Hello World: 5" [INFO] [talker]: Publishing: "Hello World: 6" [INFO] [talker]: Publishing: "Hello World: 7" [INFO] [talker]: Publishing: "Hello World: 8" [INFO] [talker]: Publishing: "Hello World: 9" [INFO] [talker]: Publishing: "Hello World: 10" [INFO] [talker]: Publishing: "Hello World: 11" [INFO] [talker]: Publishing: "Hello World: 12" [INFO] [talker]: Publishing: "Hello World: 13" [INFO] [talker]: Publishing: "Hello World: 14" [INFO] [talker]: Publishing: "Hello World: 15" [INFO] [talker]: Publishing: "Hello World: 16" [INFO] [talker]: Publishing: "Hello World: 17" [INFO] [talker]: Publishing: "Hello World: 18" [INFO] [talker]: Publishing: "Hello World: 19" [INFO] [talker]: Publishing: "Hello World: 20" [INFO] [talker]: Publishing: "Hello World: 21" [INFO] [talker]: Publishing: "Hello World: 22" [INFO] [talker]: Publishing: "Hello World: 23" [INFO] [talker]: Publishing: "Hello World: 24" [INFO] [talker]: Publishing: "Hello World: 25"
とりあえずインストールと実行は完了しました。
「参考」
Windows Development Setup · ros2/ros2 Wiki · GitHub
Troubleshooting