WindowsでROS2をしてみる::ament

ament

新しいビルドシステムamentをWindowsで試してみる。 catkinではpythonもすべてCMakeLists.txt経由だったが、amentは直接setup.pyを叩いたりとコンパイル方法をパッケージごとに変えられるようになったらしい。

github.com

example package

チュートリアルCreate an overlayから試せば問題なかった。前半部はros2のソースコンパイルをしているっぽいので試したら危なそう。

チュートリアルの内容は、exampleパッケージをgitで取ってきてamentでbuildするといったもの。exampleにはいつもの序盤チュートリアルC++pythonコードが置かれている。 linuxwindowsで同じコードをそのまま使えるのが嬉しい。

終盤にはCreate your own packageとあるがament_create_pkgコマンドがまだ無いらしく空白になっている。取りあえずはexampleから持ってきて書き換えればよさそう。

感想

  • 普段c++なのでcmakeだけ見ているとほとんどcatkinから変わっていないようだった。c++python以外の言語向けのコンパイルオプション(windows対応するならやっぱりC#)が整備されてからが本番になりそう?

  • ament自体はいいとして、どうみてもshell向けにチュートリアルが書かれているのでコマンドプロンプト版のチュートリアルも書いておいてほしい。

  • 開発環境をどう整備すればいいのかがよくわからない。どうせvisual studioを入れないといけないなら、ament in visual studioとかでビルドできるようになったら捗りそう。

Tips

メモ

  • 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のチュートリアルに書いて欲しい.