2020年5月30日土曜日

Jetson Nanoマウス?③

前回の続き。今回は、作成した車体の紹介とテスト動画。今回で最終回。
まずは、システムの紹介。前回紹介の通り、Realsenseカメラを車体上部に搭載、迷路の壁の検出に使用している。
システム全体としては、カメラの画像をJetson Nanoで習得し、モーター制御ボードと通信し車輪を駆動する構成となる。また、HMIとやカメラのデータからの地図情報の取得、走行ナビゲーションは別のPCで実行している。(車体に画面やキーボードを乗せるのはイマイチなので、、、)


車体全景

システム概要 




紹介はこれくらいにして、実際の走行動画。まずはナビゲーションに必要な地図情報の取得。下記の動画の通り、カメラで撮影した壁の情報を2次元の点群に変換し、手動で走行しながら認識できた障害物(壁)を黒塗りのドット絵で保存する。



地図が作成できたらそれをもとに自動走行。下記の動画の通り、作成した地図に対し目標とする地点と車体の向きを指定すると、そこへ至るルートを計算されロボットが自律的に走行する。走行中は、認識できた壁情報と地図情報の整合性をチェックし自身の位置をほせいする。


以上、ここ数年のオープンソースライブラリのマイクロマウス活用事例の紹介。マイクロマウスだと、幾何的に壁の配置が決まっているし、赤外線センサ4つ程度で十分走れてしまうのだが、こんなやり方もありますよと。

2020年5月9日土曜日

Jetson Nanoマウス?②

 前回の続き。今回は、壁の認識方法について。
Turtlebot3のキットには、Lidarセンサと、ステレオカメラ(Realsenseカメラ)が付属している。このうちLidarは、測定レンジ的にそのままでは真横の壁も認識できないし、2次元でしか計測できないので工夫して使用するのも難しいと思い、カメラで壁を認識しようと思い立った。

 カメラでもそのままでは真横の壁も見えないわけだが、他の方もされているように迷路を上から見下ろすようにすれば、壁の上面の赤いところを視野に入れることができる。
 これを認識できないか、というわけで実験をしてみたのが以下の動画である。これは下記図の通りカメラで上から壁を見て、特定の高さ以上で、かつ赤いものつまり迷路壁上面のみを抽出したものである。
 マイクロマウスの競技の性質である、「ロボットの障害物は壁のみで、上面は赤である」という性質を利用し、3次元のカメラの画像を変換して検知した障害物を、高さ情報を消去して2D平面に圧縮し表示している。




動画の通り、赤い点(ハーフマウスの壁、ほんとはクラシックでやりたい、、、車体がそんなに小さくはつくれないので)と黒い点(床に引いた布)からなる生データのうち、コの字状にならんだ点のみ抽出できていることがわかる。

 これで、カメラのデータを変換して2DLidarのようなデータが得られ、LidarによるSLAMのようなことができるのでマウスっぽくなるかと。ちなみにカメラのデータをそのまま用いてSLAM(例えばこれ)をする技術もあるんですが、画像処理が結構重そうで、(よく見る実行環境がcorei7とかメモリ32GBとか、、、Jetson Nano(ARM4コア、4GBではさすがに実行できないよなぁ、、、)
重い環境認識処理自体と、処理後のデータそのものをなんとかしたかったわけである。

 壁の認識がそれっぽくやれたので次はシャーシを作って実際に走行させて、いろいろためしてみようと思う。

2020年5月6日水曜日

Jetson Nanonマウス?①

 突然なタイトルだが、昨今の世の中の情勢により、自宅で過ごすことが多く、何か面白いことできないかな~と思い遊びはじめてしまいました。

 ちなみに今年の大会に向け新作は作っており、それはまずまずいい仕上がりにはなっているものの、具体的にターゲットとする大会とその開催日が不明で、最後の仕上げみたいなのが着手できない感じである。。。

 経験上新作マウスを作る場合はGWくらいまでに基本的な調整を済ませて迷路を走れていないと大会でいい走りをするのが難しく、今年は世の情勢的にそれ以上のペースで開発ができているものの、その先いつ大会があるかわからないので他のネタを仕込もうかと思ったわけである。

 さて、前置きが長くなってしまったが、今回はJetson Nano積んだマウス的なのでSLAMで走行したら面白いんじゃないか?というお話。そういえば私の本業がこういう感じのロボットなのもありまして。
きっかけは、2019年の全日本大会で、副賞としてJetson Nanoをいただいていることである。

また、2018年全日本大会では、副賞としてTurtlebot3をいただいていることを思い出し、開発に着手した。

 これは、下記メーカー公式動画の通り、空間認識技術によって一度通ったルートを自動で走行できるロボットである。

 空間認識にはTOF方式の距離センサを回転させて空間のある平面上の各点の距離を計測する2次元Lidarセンサや、ステレオカメラによる三角測距で距離情報付きでRGB値が取得できるIntelのRealsenseカメラを用いる。それぞれのセンサの長所として、2次元Lidarセンサは特定の平面しか見れないが360度全方向監視できること、Realsenseカメラは全方向は見れない(今回のやつでは視野角70度くらい)が、3次元の物体の距離情報を得ることができるということがあげられる。

いただいたキットにはモーターからLidar/カメラ、バッテリなども含まれているので、マウスの迷路を走らせるならシャーシを小さくすればそれでいけると思っていたが、マウスの迷路のサイズと、付属センサの測距方法(TOF計測や三角測距)では、レンジが合わないという問題があった。
 TOF計測やカメラの三角測距では、良いものでも100mm以下での計測はあまり得意ではなく、クラッシックマウスでも迷路中央に車体があるとき真横の壁が見えないわけである。
 じゃあどうするのってことでやってみたらそれなりにうまくいく方法が見つかった。それはまた次回。

2019年12月8日日曜日

第40回全日本マイクロマウス大会

 令和初、今年で40回目を数える全日本マイクロマウス大会に参加。
記念すべき大会で、無事、マイクロマウス(旧ハーフ)で優勝することができました。
 ちなみに、昨年勝手に殿堂入りを宣言した田代杯ですが、そんな甘いことはもちろんなく出走させていただきました。こちらも、2016年に開始後4連覇ということで、とりあえず田代さん含め観客の皆さまに楽しんでもらえる走りが継続できているということで満足。

 今年はいろいろあって集中して開発時間を作るのが難しく、基本的にモーターの交換&ファンマウントの微改良とその他細かい修正で出走したわけだが、何とか形にすることができた。実は走行速度自体はほとんど上がっていない(上げた5走目が失敗した)が、4輪やら吸引やら導入してきたツケをようやく払い終えたと思う。

 地味にうれしいのが、数年ぶりに探索を1走目のみで完了できたこと。何年間か段差に引っかかってリタイヤばかりだったので。今年はファンマウントの固定方法を改良し、昨年まで基板の裏からねじ止めだったのを圧入固定でやり直して基板裏面の突起をなくして無事完走できるようになったわけで。
 それ以外にもモーターは特性を厳選したので左右で同じ電圧をかければまっすぐ進むので、昨年はフラフラだった5m/s直線も目測うまく走らせることができた。

 毎年相変わらず出走前に寿命が縮みそうになり、出走後は一気に今年1年の疲れがやってくるわけですが、今年はそれに加えて自社で大会を開催するというのもあり、エントリーの所属には書いてないけど会社の代表のようなプレッシャーもかかったわけで。なんとか跳ね返せたので良かったものの、競技後しばらく動けないくらいには体に来てしまった。

 しかし毎年の蓄積というのは選手だけではないようで。今年も何かがあったとしても、そのリカバリーも含めてスムーズに運営してくださる皆様には本当に頭が下がる。(実行委員長が閉会あいさつでおっしゃるまで、少なくとも該当競技に参加してない私は気づかなかったわけで。)
 今年は自分も別の大会の裏方をするようになったので、その苦労が少しはわかった気がする。次は自分の番なので見習わねばならない。

 最後に、今年の副賞。今年も実行委員会、協賛企業様のおかげでたくさんもらえました。昨年はMTLのエンコーダをいただき、今年はFaulhaberの1717モーターをいただいたわけで、、、これはもしかしてアレが作れるのでは、、、


(しかし、、、来年の41回大会で本当に開始40年なわけですが、大会後の皆さまの1年やり切った表情を見ると年齢はこの日を境に「数え」で進行していることにして、マイクロマウス40歳でいいのでは、、、大会もマウサーもこの日を境に1歳年齢を重ねてる気がする)

2019年7月12日金曜日

Zirconiaファイル更新

Zirconiaのファイル群を更新。bitbucketからサンプルコード落とせるようにしてもらったのでその方法の紹介とか、電池の選択肢が増えたので追記とか。

見てみたい方は、【こちら】からどうぞ。
リンク欄の、「OpensourceHalfmouse"Zirconia"Documents」からも参照できます。

原価で部品の頒布をはじめて2か月ほどたつが、これまでに15台が頒布された。
この中で1台でも大会に出ると嬉しいのだが。

2019年5月10日金曜日

天津大会②(3~4日目)

 だいぶ更新が遅れてしまいました。引っ越しでバタバタしていて。
今回は3~4日目。
3日目は午前に天津工業大学を訪問、午後に観光。
4日目は大会、5日目は帰国である。
 大会については同行のUさんのブログが詳しいので、自分は観光の様子でもメインにしておこうか。

◆3日目(5/7)
・天津工業大学訪問
 この日の送迎は、なんとBellaさんのTesra。人生でTesra車に乗るのは初めてである。
ちなみにお値段1800万円とか。

 天津工業大学は工業大学といいつつ総学生3万人、分野も理工系以外に人文学、経済学、外国語の大きい大学である(と、今日調べてみたらわかった)。
 今回訪問したのは、電気工学・自動化学系の学科で、1800人ほどの学生がいるそうだ。
学生は、制御、電気電子、光学を勉強しているのだそう。


 マイクロマウスは、この学校では課外活動という位置づけで、活動をしている学生、ならびに指導教員の方々に講演を行った。学生の教育活動として重視されているらしく、同様の活動にFreescale Cupもあるらしい。


その後、マウス活動の部室訪問。立派な迷路で調整ができるようだ。天津にある迷路は全て、Bellaさんの会社が販売したとのこと。


乱雑に置かれる工作機械と電子部品。OBの黒歴史とかがあるともう完全に日本のサークルの部室ですね。


そのほか、Freescale Cupの部室も訪問。大会前とのことで、それなりにロボットが動いていて、展示もしてくれた。



・昼食
 天津の火鍋のお店。火鍋とは、日本でいうしゃぶしゃぶ。
違いは、ほぼ味のついてないお湯(花でだしをとるそう?)に肉や野菜をいれて楽しむところ。写真の小皿にあるゴマダレでいただく。日本と違ってゴマの風味よりも香辛料がきいていた。ちなみに手前のお肉はなんとラム肉。昼ごはんから贅沢させていただきました。


・観光
 天津の繁華街「天津国際金融中心」(名前がそうなのかは知りませんが、以下モニュメントが何箇所か記載があったので。)と、有名な観光地「五大道」を回る。

天津国際金融中心の雰囲気。個人的には、前に台湾で行った西門に雰囲気が近いと思う。

その後は五大道を散策。ちょっと違うがイメージは神戸異人館街。清朝が植民地支配された時代の、欧米の建築物が保存されている。

街の雰囲気。こういうレンガ造りの建物が通りに並ぶ。

街の中心にはレンガ造りのオシャレな大きい建物が。

中に入ると、ステージや陸上競技場があり、市民の憩いの場になっているようだ。

あとは小話。自称世界で一番おいしい飲むヨーグルトがあったので、、、

144本(12×12)飲み干してしまいました。


◆4日目(5/8)

この日は大会。中国では天津市民の教育、海外の技術者育成の一環として扱われる。
日本以外にも、タイなどから選手が来ていた。

 会場の様子。クラシックとハーフ迷路、審査員席と日本の地区大会のような感じである。日本から同行されているNさんが審査員を務められていた。
 照明は普通で、特に問題はなかったが、壁は反射率が低く、センサの調整が必要であった。あとは、無茶苦茶路面が汚い。清掃がなされないため。

そのほか、会場でこんなポスターを掲示いただいてました。


 参加ロボットたち。クラシック34台とハーフ5台。あとは中学生の部もあったようだが、都合で見れず。
 見ての通り、日本の選手以外はほとんどBellaさんの会社のキットを使っており(中国以外の国も、キットの提供を受けている)、日本なら同一性問題で根こそぎアウトになりそうだ。
教育なので、全く問題ないけども。

 自分の出走はハーフの4番目。路面や壁の反射の違いに苦しみつつも、無事最短まで決めることができた。まあ、今回はルートが簡単だったのでOKですが、全日本のような迷路だったら(埃で)走れなかったでしょう。


 結果は優勝。5走目のUさんに最短ルートが出なかったので辛うじて。競技後Uさんにエキシビジョンで撃墜されてしまったので、なかなか厳しい。
 クラシックはUさんが優勝されたので、無事日本でタイトル総なめと。

(↓カメラのクオリティで勝てないのでUさんのブログより転載)

今回の日本の勝因は、、、やはり下の文字であらわされるものかと。
(帰りに車で送迎いただいていたら、偶然発見したお店)


 その後、Bellaさんの会社の方や現地の大学の指導者の方と晩御飯。お店は、百の味付けの餃子が楽しめる店とのこと。最後の晩御飯に餃子に招待いただいたのには意味があるようで、
・中国に来て餃子を食べていないのは、中国に来てないのと同じとのこと。
・中国の言葉に「長く会って短く別れる(親しい人とは会っている時間は長く、そうでない時間は短く)」というのがあり、初めに麺(長いもの)、終わりに餃子(短いもの)を食べる風習があるとか

なかなかに普段いけないような豪華な食事でした。

競技を受けて、ざっくばらんにやり取りしたが、覚えている内容は
・・「教育」が主目的のため、競技者が楽しむ、交流する空気が醸成されていない
 (海外から来た選手すら、日本のように出走中に話す機会がない、
 最短は1回走ったら終了など、個性的なことに挑戦する、それを評価する体制がない)
 ↑政府の支援を受けてやっている関係上、一度決めた競技ルールを変えるのは大変なんだそうだが。
・・ハーフのモーターや電池の情報が欲しい
 ↑中国からドローンを買って、ばらして入手している、という話をすると、電池の
容量が足りないのでは?という議論に。センサLEDはAD変換直前しか点灯しない、マイコンはわざとダウンクロックする、など日本では一般的な方法について伝えた。(逆にまだ向こうはそのレベル。前壁補正は使っていそうな選手がいたので、壁切れなどが今後実装されるだろうか?)

 そこそこ走れるキットから始めてしまう選手が多い関係で、自分でマウスを設計できる人もまだ一握り。ここからOBで続ける選手が出てくると、もっと中国で浸透し競技を楽しめるようになるのではないだろうか。

 以上、最後になりますが、招待いただいたBellaさん、Bellaさんのアシスタントで、滞在中常に同行いただいたHelenさん、通訳のNさん、そして日本から同行したNさん、Uさんに心からお礼申し上げます。中国本土に行くのはこれが初めてですが、おかげさまでとても良い旅となりました。

2019年5月6日月曜日

天津大会①(1~2日目)

 5/5~5/9まで、中国本土のマイクロマウス大会参加のため、天津に来ている。
同行しているのはNTFの2代目トップのNさんと中部支部副支部長のUさん。
 今回は1日目と2日目について。ちなみに大会は明後日5/8の午後に実施される。

◆1日目(5/5)
 この日は移動と、夕方からちょっぴり街の散策。そしてウェルカムディナー。
 ・移動
   特に可もなく不可もなく。先人たちの犠牲のおかげで工具は預け荷物に入れたので。
 ・街の散策
   天津のホテルのまわりを散策。まずは古文化街と呼ばれる古い街並みを保存した地区へ。本場の中華街とでもいったところか。

 地域の名物の泥人形。陶器のような作り方をしているらしい。ものによっては販売されているが、高いのだと10万くらいする。

 その後天津の街を散策。下写真の街を流れる川が、お祭りなどにも使われていて地域のよりどころらしい。写真の奥に見える輪っかは天津の目といわれる街のシンボル。

写真の通り、結構都会である。川を泳ぐ人もいた。冬にはこの川を泳ぐお祭りもあるとか。寒すぎるでしょう。



 ・ウェルカムディナー
   お招きいただいた天津のBellaさん並びに会社の方々、通訳の方と会食。写真の通り豪華でおいしい料理でもてなしいただいた。が、一緒にふるまわれた白酒 (中国酒、度数50%くらい)をたくさん飲むハメになり、その後はホテルで完全にダウンした。
(翌日Bellaさんに白酒王子とか名付けられてしまった。。。)



◆2日目(5/6)
 この日は午前に今回の招待ホストBellaさんの会社「Tianjin Qicheng Science & Technology Co. Ltd」訪問、
午後には国家元首も輩出した、地元の有名大学である南開大学に訪問させていただいた。
 両方で、マイクロマウスと自身の仕事について講演をさせていただいた。
(ま、私だけ午前は時間がなくてスキップで、1回しか講演していないんですが)

 ・Bellaさんの会社訪問
   会社の歴史や理念、活動を紹介いただき、こちらもマイクロマウスと自身の仕事について講演をさせていただいた。
   Bellaさんたちの活動の中ですごいなと思ったのが2つあって、1つは大会を開催するにあたり、日本よりはるかにクラス分けが多く、競技者の裾野を広げていること、
   もう一つは政府の支援を受けながら、マイクロマウスを通じて途上国の技術支援を行っていることである。

   クラス分けについては、例えば中学生の部というのが存在して、そこでは興味を持ってもらうことが優先で、マイクロマウスのハードは標準キットのみ使用可で、
   生徒たちは車体のカバーを設計し、3Dプリントするのと、マシンの調整をするだけでよくなっている。調整についても、マウス側のBluetoothでセンサデータを飛ばし、スマホアプリでモニタするようなことが標準で用意されていて、
   今や中学生にとってはPCより親しみやすい道具で開発できるようなコンテンツとして提供している。

   他国への支援については、これまでにタイ、インドネシア、インド、パキスタン、カンボジアの5か国に自社のエンジニアを派遣し、現地で学生や指導者にマイクロマウスの技術を伝達する会をひらいておられ、クラス分けと合わせて世代、国問わず幅広く参加者を増やす仕組みがあることがよく分かった。

   そのかいもあってか、現在天津大会の出場者は180台、天津内の20近い大学が参加と、日本の半分程度の規模の大会まで成長したのだそうだ。


 ・南開大学訪問
   国家元首も輩出した、天津有数の大学を訪問。初めに大学の博物館にて、大学の歴史を教えていただいた。ちょうど大学建学100周年の記念展示なんだとか。



   その後は現地のマイクロマウス指導者を相手にマイクロマウスの講演。事前の準備がとても大変(通訳してもらうために連休前に原稿まで作って提出)だったわけだが、
   熱心にスライドを写真に写される方がいたので、何かは伝わって参考にしてもらえるというところか。



   講演後は皆で集合写真。後ろの石像は国家元首で大学のOBである周 恩来のもの。その後は会食をして解散。




 明日はもう1つの大学訪問と観光、明後日は大会、その次の日は帰国である。
なかなかに分刻みなスケジュール(講演はもちろん食事も結構時間通り)で、結構忙しい。