WindowsでROS2をしてみる::ament
ament
新しいビルドシステムamentをWindowsで試してみる。 catkinではpythonもすべてCMakeLists.txt経由だったが、amentは直接setup.pyを叩いたりとコンパイル方法をパッケージごとに変えられるようになったらしい。
example package
チュートリアルはCreate an overlay
から試せば問題なかった。前半部はros2のソースコンパイルをしているっぽいので試したら危なそう。
チュートリアルの内容は、exampleパッケージをgitで取ってきてamentでbuildするといったもの。exampleにはいつもの序盤チュートリアルのC++やpythonコードが置かれている。 linuxとwindowsで同じコードをそのまま使えるのが嬉しい。
終盤にはCreate your own package
とあるがament_create_pkgコマンドがまだ無いらしく空白になっている。取りあえずはexampleから持ってきて書き換えればよさそう。
感想
普段c++なのでcmakeだけ見ているとほとんどcatkinから変わっていないようだった。c++とpython以外の言語向けのコンパイルオプション(windows対応するならやっぱりC#)が整備されてからが本番になりそう?
ament自体はいいとして、どうみてもshell向けにチュートリアルが書かれているのでコマンドプロンプト版のチュートリアルも書いておいてほしい。
開発環境をどう整備すればいいのかがよくわからない。どうせvisual studioを入れないといけないなら、ament in visual studioとかでビルドできるようになったら捗りそう。
Tips
- コマンドプロンプトはVSの物を使用する。Visual Studio 用開発者コマンド プロンプト
- 一旦自分のワークスペースの設定を終えたらros2のlocal_setup.batは呼ばずに
call my_workspace\install\setup.bat
を打つだけでいい。local_setup.batにはそのワークスペースの情報だけ書かれていて、setup.batには親ワークスペースの情報も入っていると書いてある。
メモ
ament
したらNo module named pyparsing
と出たのでpython -m pip pyparsing
する。ament build
に対するコマンドプロンプトのエラー
VisualStudioVersion is not set, please run within a Visual Studio Command Prompt. ament build: Could not determine Visual Studio Version
言われた通りVS版コマンドプロンプトを開いてやってみるとエラーが変わる。
ament build: Could not find 'cmake' executable
結局、ros2をソースからインストールするチュートリアルにあったようにchocoでCMakeを入れたら出来た。
Windows Development Setup · ros2/ros2 Wiki · GitHubここのInstalling some dependencies
の章にある。
バイナリインストールにはgitやcmakeを使わないので,chocoでgitとcmakeを入れるのをamentのチュートリアルに書いて欲しい.