2019年6月27日木曜日

[メモ] ROS2のインストール(Windows編)

こんにちは。

前回チュートリアル一通りやろう!と思ったけどそもそもまだ環境設定をしてなかったので、Windowsの設定を行ってみる。

https://index.ros.org/doc/ros2/Installation/Dashing/Windows-Install-Binary/

どうせなら最新を、ということでDashingを選択。

事前準備

Install Chocolatey

chocolateyってのを入れる必要があるらしい。

ここのInstalling Chocolateyを参考にインストールする。

Install OpenSSL

公式でのバージョンの指定が" Win64 OpenSSL v1.0.2."になっていたので、新しいバージョンもあったけど古いのを入れた。

環境変数のPathに”C:\OpenSSL-Win64\bin\”を追加するのを忘れない。

Python、Visual Studio のインストールはスキップ。(インストール済みだったので)

Install OpenCV

サンプルでOpenCV使うことがあるから入れとく模様。
https://github.com/ros2/ros2/releases/download/opencv-archives/opencv-3.4.6-vc16.VS2019.zip

Pathの追加しとくと捗る。C:\opencv\x64\vc16\bin

Install Dependencies

色々必要なものを入れる。ダウンロードしてきてから、以下のコマンドを実行。
$  choco install -y -s <PATH\TO\DOWNLOADS\> asio eigen tinyxml-usestl tinyxml2 log4cxx
<PATH\TO\DOWNLOADS¥>は実際にasioとかダウンロードしたところを指定すればOK。

途中で環境変数書き換わるメッセージがでるが、以下のコマンド打てば開きなおさなくてもいいよと表示されてた。便利~
$ refreshenv

さらにPython関係の設定。
$ python -m pip install -U catkin_pkg empy lark-parser lxml numpy opencv-python pyparsing pyyaml setuptools

RQt関係の設定もして、事前準備完了。
$ python -m pip install -U pydot PyQt5

ROS2 Setup & サンプルの実行


Downloading ROS2

事前準備意外と長かった、、こっからはすんなりいくはず。

ここからwindows用の最新のzipファイルをダウンロードする。とりあえずdebug版にしたら1GBくらいあった。。展開先はC:\dev\ros2を想定してるっぽいのでそこに展開する。

Set up the ROS2 environment

以下のコマンドを実行する。

$ call C:\dev\ros2\local_setup.bat

ROS1でubuntuで実行するときのsetup.bash的なやつかと思われる。
Warningが出るけど、”Install additional DDS implementations (optional)¶”を無視して出ているだけなので、とりあえず問題ない。


Try some Example



おなじみのtalker/listenerのサンプル試したら地味にはまってしまった。。

$ ros2 run demo_nodes_cpp talker
$ ros2 run demo_nodes_py listener

実行しようとすると
C:\>ros2 run demo_nodes_cpp talker
failed to create process.

となってさっぱり理由がわからなかったのでググったら似たような地雷を踏んだ人を発見。

ros2_script.pyの中のPythonのPathが実際にインストールされてるのと違ったので、ros2-script.pyの一行目を書き換えたらいちおーうまく動いた。ちなみにrelease版だとPathが違う模様、うーむ。。みんな踏んでない人はrelease版使ってるのかなあ。

ちなみに以下のエラーが出てるけど、何かミスったかなぁ。Windowsやっぱり使おうて思ったらちゃんと調べてみる。
C:\>ros2 run demo_nodes_cpp talker
Failed to load entry point 'test': No module named 'yaml'
Failed to load entry point 'launch': No module named 'yaml'
Failed to load entry point 'info': No module named 'rclpy._rclpy'


感想

思ったよりはサンプル動かすまで手順少なかったけど、それでもやっぱりちょっとめんどくさかった。わざわざWindows使う理由もないからMacかUbuntuでやろうかな。。


2019年6月26日水曜日

そろそろROS2始めたくなってきた

こんにちは。

今日昼間にROS2本の予約が開始されたのを知った。
https://www.amazon.co.jp/gp/bestsellers/books/500920/ref=zg_b_bs_500920_1

近藤さんの本、早く読みたい、楽しみ~。

だいぶ前にROS2について調べたときにチュートリアルとかないのかーと思って放置してて、久々に見てみたらチュートリアルがあったので、とりあえず一通りこれから見ていこうと思います。

https://index.ros.org/doc/ros2/Tutorials/

あえてUbuntuじゃなくてWindowsかMacでやってみよう。