わんちゃん今宵は良い夜に_2

メリークリスマス。またお会いしましたね。

この記事はWMMCAdventCalendar

adventar.org

の25日目の記事です。

昨日は、「ぼく」さんの「 ${Title}_2」でした。 いやークリスマスですね~。 っていっても話すネタはなにもないのですが......
そういえば、クリスマスといえば、「クリスマスマーケット」というものに行ってみたいとずっと思っていました。 あ、話終わりです以上です。いったことないので、いつか行けるといいなと思います(小並感)

目次

0. はじめに

1. エラーの殺し方

2. URDFだるかった

3. 最後に

0.はじめに

昨日の話に引き続き、犬型ロボットのお話ですが、ソフトは全然進んでいなくてぇ~
特にお話しすることもないのですよね。(ここ重要)

なので、Champ Setup Assistantを動かす際に引っかかったエラー(そんなにむずく無いので恐縮ですが)の解決方法と、URDF作成のお話を 軽く述べて終わります。
ちなむと、Champ SetupAssistantはROSのプランニングフレームワークであるMoveit!のそれと同じようなやつです。 github.com

1.エラーの殺し方

①Python2.7問題
⇒もともと、このパッケージはubuntu18.04におけるROSディストリビューション、Melodicを前提としていました。 しかし、Python2系統がサポート終了にあたり、MelodicからNoeticに上がる際python2系統のパッケージは使えなくなってしまいました。 直すのが簡単であれば、大元のpython2.7をいじればいいのですが、複雑なパッケージになってくると、 有志によるbridgeパッケージみたいなのがないと正直しんどいです。(自分みたいな雑魚にはきついよぉ)
話は戻って、このパッケージはnoetic対応をサポートしてくれたらしいのですが、色々とpython2の名残が残っていたので、うまく回避します。 話は単純で、roslaunch実行時に下記のエラーが出たら、pythonにpython3へのシンボリックリンクを張ればよいだけです。

/usr/bin/env: `python': 
そのようなファイルやディレクトリはありません

シンボリックリンクを自分で張らなくとも、それをやってくれるパッケージがあるので それをインストールすればいいだけです。楽。

$ sudo apt install python-is-python3



②Rviz関連のpythonを直す
⇒さて、setup_assistantを実行しようとしても今度は下記のエラーが出てきてうまくいきません

AttributeError: 'module' object has no attribute 'VisualizationFrame'

でも大丈夫。ちょっと調べたら回答出てきました。

answers.ros.org

ようするに、パッケージ内の「rviz_widget.py」を開いて、下記の画像のように直せばよいってことです。

③Ansible系統のエラー
⇒これもpython2.7の名残です。 .haskeyモジュールが今は使われていないらしいので、 下記を参考に「urdf_parser.py」を直しました

til.swfz.io

④そういえば、シバンなおしてねえや
⇒関係ありそうなpythonのシバンをpython3に直しておきました。 効果があったかは不明ですが、これを最後に動いたので書いておきました。

2.URDFだるかった

URDFを作成するのはめちゃくちゃだるかったです。
まず、URDF用のメッシュデータを作成します。 SolidWorksのCADアセンブリを作成後、リンクごとに分解し、拡張子をアセンブリ方式から部品の「.sldprt」に変えて保存します。 それを「参照ジオメトリ/座標」から、リンクごとの座標を決めて保存します。 そこで、「オプション/設定/エクスポート」から、単位をmm⇒mに変えつつ、エクスポート時の座標を先ほど作った座標にしておきます。 また、できるだけモデルを軽くするために、表面だけでメッシュデータを作成しました。

で、URDFなんですが、横着して、CHAMPパッケージのchamp_description内のxacroを自分用に色々改変して作成し、 github.com

$ ./gen_urdf

でURDFを作成しました。これでも結構大変でした普通に。


二度とやりません。

最終的に、4足ロボットを「PS4コントローラで操縦」「LiDARを使ってSLAMで指定位置まで行かせる」ことを確認できました。
今後は、実機にこれを適用するつもりです。 下記は、GazeboでのSLAMの様子です。(3倍速です)

3.最後に

これで今年のWMMCAdventCalendarは終了です。 色々な記事を毎日(?)楽しめたおかげで、12月は日付を超えるのが楽しみで仕方なかったです。
ご協力いただきました皆様、ありがとうございました!!! 来年以降の後輩の活躍を祈りつつ、名残惜しいですが最後の主催を終わらせていただきます
では、よいお年を!!!