速報:AWRにROS2をインストールしました。
前言撤回
最初はROSから始めたいと過去の記事に書きましたが、舌の根も乾かぬうちにROSからROS2に切り替えることにしました。
理由は、ROSはpython2系に対応しておりpython3系は対応していない、ということです。
python3系を使うには対応しているROS2を使わざるを得ない、ということになりました。
このことはROSインストール前に判ってはいましたが、python2系とpython3系の違いによる影響が判らなかったので、まずはROSを入れ、AWRのアプリを入れて影響を調べてから考えようと思っていました。
昨日、AWRの標準ソフトを入れ、影響を調べました。
その結果、影響は極めて大きい、ということが判りました。
まず、AWRの標準ソフトが正常にインストールできません。
AWRはpython3.7.2を前提にしておりインストールにおいてもpython3系のモジュール関係をインストールしようとしますが、これがことごとくエラーに(ダウンロードされない)なります。
これらのエラーをすべて無視して、AWRをパソコンから制御するためのソフトであるwebServer.pyを走らせようとするとpython2系とpython3系の文法の違いによってsyntax errorが発生します。
なんとかsyntax errorをなくすようにコードの変更をやってみましたが、変更しきれないようなところもあり、よし、ROS2へ切り替えだ、となった次第です。
さてどうなることやら。
Ubuntu MateへのROSインストールは本当に楽です。
ROSをアンインストールし、ROS2をインストールしました。
これも下の記事を参考にしてやりましたが、至って簡単でした。
まずは、ROSのアンインストール。
記事はROS2のアンインストールですが、dashingの記載をmelodicにすればOKです。
次にROS2のインストール。
この記事はMacへのROS2のインストールについて書いてありますが、Ubuntu Mate 18.04へのROS2 Dashingのインストールと見れば問題がなく、この記事に書いてある手順で無事にROS2のインストールを行うことができました。
この記事にある動作テストまでを行い、正常動作を確認することができました。
次は、Raspberry Pi3のpythonのバージョン設定です。
ROS2はpython3.5に対応しています。
AWRの標準ソフトはpython3.7.2を前提としています。
同じpython3系なので問題なく動いて欲しいというのが本音ですが、python3系は、python3.6から変わったようで3.5との違いの影響が判りません。
Ubuntu Mate 18.04には標準でpython3.6が入っています。
今回はpython3.7.2を追加でインストールし、python3.7.2が標準として動くように設定しました。
ここまでは順調です。
次は、AWRの標準ソフトのインストール
最後はAWRの標準ソフトのインストールです。
パッケージをダウンロードし、その中にあるsetupファイルを実行します。
インストールはpython2の時よりは順調に進みましたが、それでも幾つかのwarningAが発生していました。
一部のソフトが入らなかったようです。
気にしないでAWRをパソコンから動かすためのソフトであるwebServer.pyを起動しました。
結果は、ライブラリがない、というエラーで停止。
流石にsyntax errorはでませんがライブラリーがないとは、インストールの時のwarningに関係があるんだろうなと、調べてみると、UbuntuとOpenCVは相性が悪いようで、この関係のライブラリーが入っていない模様です。
これはちょっと時間がかかりそうです。
ROSで遊ぶためにはOpenCVは必要なので調べて対応したいと思います。
ということで、すっきり、とはいきませんが、前には進んでいます。
今日はここまで。
では、また。