布留川氏の「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のコマンドでエラーがでるので、うまくいっていないと思いう。
コメントを残す