布留川氏の「UnityではじめるROS 人工知能ロボットプログラミング実践入門」を読みました。

とても具体的な内容でわかりやすかったです。だいぶROSの雰囲気がわかりました。

この本では、Windows にUbuntu のエミュレーターWSL2を入れ、そこにROSの環境が入ったDockerを展開してROSの環境を整えるのですが、とても簡単にできてびっくりでした。

しかし、ROS2はWindowsでも対応とのこと、ROS2+Unity の環境をそのままWindows11に作れないかを試したくなりました。

そこで、公式のHP[公式 Foxy]を参考にして試しました。かなりてこずりましたが、talkerとlistener のテストをクリアして、カメが表示されるところまでいけました。しかし、一部のros2コマンドでエラーが出るなど、不具合が残っています。ここではそこまでをとりあえず覚書として記録しておきます。

これからインストールするという人は、公式の最後の方で(Alternative)ROS2 Build Installation from aka.ms/rosとして紹介されている方をお勧めします。こちらの方が迷うところが少なく、ros2コマンドも使えています。こちらは、後でまとめたいと思います。

Install Chocolatey

まず、Chocolatey のインストール。
これはHPの右上の「Try It Now」から進めた。コマンドをコピペして、コマンドプロンプトに張り付けて実行しインストールできた。
コマンドプロンプトは、管理者権限で開いている(PowerShellを使ったりもしていたがコマンドプロンプトの方が良さそう)。

Install Pytohn

Python 3.8.3 を直接入れる想定だが、すでにPythonは入っている。バージョンを合わせるために、conda で仮想環境「ros2」を作って、そこにPython3.8.3を入れた。以下、「ros2」に入って実行。

Install Visual C++ Redistributables

以下のコマンドで問題なし。

Install OpenSSL

これも問題なし。

Install Visual Studio

Visual Studio 2019を入れるとのことだがすでに入っていたのでOK。

Install OpenCV

本家の説明通り、OpenCv3.4.6をgithubからDLして、解凍して”C:\opencv” にコピー。
以下のコマンドを実行。

Install dependencies

以下はできた。

指示通り、”C:\Program Files\CMake\bin” をユーザー環境変数のPathに加えた。

ちなみに、Windows11 の場合の環境変数の設定までの行き方は、

設定>システム>バージョン情報>システムの詳細設定>環境変数

次は、本家の方法ではうまくできなかったので、こちらの情報を参考にした。

リンク先よりもこっちのgithubの方がバージョンがそろっているので、こっちからファイルをDLして、”C:\tools” に入れた。
そして、以下を実行

画面表示の一部。

なんどもこの手続きを試しているので、もうinstallされていると言われている。

さらにpipでいろいろいれる。問題なし。

RQt dependencies

これもインストールは問題なし(ros2という仮想環境で入れている。後でQtのエラーが出るが、この仮想環境で入れていることが問題なのか。。?)

Downloading ROS2

ここのgithubから、
ros2-foxy-20230322-windows-release-amd64.zip
をDLし、解凍。”C:\dev\ros2_foxy”に配置。
この中身はこんな感じ。

Environment setup

このコマンドはros2を有効にするためのもののようで、新規のコマンドプロンプトに対して実行すると、ros2 のコマンドが使えるようになる。

例えば、以下でhelpを表示できる。

表示はされるが、yaml のモジュールがないと言われているのが気になる。

ROS2の通信テスト

コマンドプロンプトを開いて、

すると、talker がPublishを始める。

もう一つコマンドプロンプトを開いて、

これで、以下のように、listenerがメッセージを受け取れればOK。できた。

TatleSimのテスト

ROSでおなじみのカメの画像は出せるのか。

ここからは、nakanishi_lab のQiita記事を参考にした。ただし、local_setup.bat のパスは、ここまでで作った環境に合わせて”call C:dev\ros2_foxy_local_setup.bat”記述。

workspace の作成

Build

※colconは、仮想環境ros2に入っていないと実行できない。
※上の3行目、Visual Studio 2019をインストールしなおしたら、パスが変わったようだ。
今自分の環境では以下でうまくいく(call “C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat” x86_amd64)。
※上の4行目を実行したときのメッセージ。Failedと出ている。Qt5が見つからないのでパスをくれと言っている。

いろいろと気になるが、いったん進めてみる。Turtlesimの起動。

※追記:管理者権限でコマンドプロンプトを開くとカメができないようだ。普通に開く。

最後のコマンドを通すには、環境変数の設定が必要だった。ユーザー変数に以下のパスを加えた。

情報源はこちら

やっとカメが表示された。

ちなみに、起動するたびにカメのデザインが変わるという、ちょっとにくい演出がある。

ただし、ros2のコマンドでエラーがでるので、うまくいっていないと思いう。