名前 | Aegis 2023 (2022年 RT出場機) |
マイコン | RX66T with e2 studio (RAM 64KB, ROM 512KB, ex-flash 8MB) |
モータ | Maxon DCX10L x2 |
エンコーダ | Maxon ENX EASY 1024ppr x2 |
ジャイロ | STMicro LSM6DSR (昔はL3GD20H) |
モータドライバ | Toshiba TB6641FTG |
バッテリー | LiHv 3S 300mAh (80C/160C) |
ファンユニット | 1103 ブラシレスDCモータ with 汎用BLDC ドライバ |
ラインセンサバー | 自作。 汎用フォトトランジスタ SCM-014TB x16 赤外線LED OSI3120641E x17 |
重量 | 130g |
名前の由来 | 漫画「そらのおとしもの(水無月すう作)」にでてくるヒロインの武装の名前かつ搭載システムの頭の良さに定評?のあるイージス艦かつ単語の響きがいい感じのため |
●概要
・シリコンシートタイヤにて高速全面ショートカット走行を実現した
・シャーシと基板を別体構造にし強度と運用性を上げた
●動画
NVSのライブ配信↓
反省会動画↓
●ブロック図
小さいので、DLして拡大して見てください。
●特徴
① 全面ショートカット走行(詳細は後述)
昨年度に引き続き、全面ショートカット走行を実装した。
② オドメトリ補正アルゴリズム(詳細は後述)
昨年度のアルゴリズムをベースにアルゴリズムを新規開発した。
③ RX66Tマイコン
計算性能を上げるため、RX66Tマイコンを採用した。160MHzのRXv3コア装備なので、最適化なしでショートカット走行のリアルタイム計算ができる。また、プログラムもe2studioスマートコンフィグレータをつかいまくることでデバイスドライバ周りで楽をしている。さらに内部プログラムはArduinoミドルウェアを自作しており、各種関数はかなりArduinoチックにプログラムできるようにした。E2Liteエミュレータに対応しており、ドライバまわりのデバッグでめっちゃ重宝している。
④ カーボン一体型シャーシ
基板に機械的な力が加わることや振動を防ぐため、基板とシャーシを別体にした。どうせならきちんと剛性確保しつつ軽量化するためCFRPにてシャーシを制作することにした。シャーシは写真に示すが、メイン基板だけでなくラインセンサー基板も載せる構造とし、高速でどこかに衝突してもラインセンサー基板に余計な応力がかからないようにした。そのため基板の断線の心配がない。さらにメイン基板は振動絶縁を狙ってOリングを挟んでいる。カーボン厚さは1.5mm。もうちょっと薄くしてみようかなと思う反面、衝突に対する強度を確保するためにこのままでもいいかなと思っていたりもする。CFRPの加工はカーボンラボ.jpに発注した。今回この構造にしたためか、基板トラブルがシーズンを通して1回も発生しなかった。
⑤ Maxon DCX10L (エンコーダ付き)
去年に引き続き、Maxonモータを利用している。今年は奮発してエンコーダ付きのものを採用した。ここだけの話、故障したり軸長調整のために発注しなおしており、15万円くらい吹き飛ばしている。会社勤め独身貴族の財力にものを言わせている。某ANKのアドバイスをきいて、シャフトをカスタムで伸ばした。
⑥ 高出力モータドライバ TB6641FTG
基板小型化のために、表面実装のモータドライバ、TB6641FTGを採用した。誰も使わないのか、半導体不足のこのご時世に結構在庫がある。パッケージがQFNなので、ホットプレートリフローではんだ付けした(手はんだできないこともないが)。素子サイズははやりのアナデバのDRVシリーズより大きいため、かなーり使う人を選ぶが、電圧電流とも申し分ない性能なので安心してマクソンモータをオーバードライブできる。あと安心の東芝製。
⑦ ジャイロセンサーモジュール
骨董品と化していたストロベリーリナックス製のMPU9250モジュールがディスコンになったため、新たに秋月電子の3軸ジャイロセンサーモジュールで、STMicro製のL3GD20Hを採用した。はずれがない代わりにあたりもなく、温度特性が悪い。ジャイロセンサーはMEMSモジュールなので、自分でのはんだ付けは避けたいゆえ、モジュールを使っている。温度センサつきなので、温度特性をマイコンにて補正している。温特補正の仕方は秘匿技術なので知りたい人は大会などできいてくれ。その後、レンジが2000dpsだと足りなくなったため、LSM6DSRに乗り換えた。こちらはホットプレートリフローではんだ付けしているが今のところ問題なく使えている様子。4000dpsレンジで使っている。温特はかなり良く、ほぼ補正がいらない。
⑧ シリアルフラッシュメモリ
制御データを保存している。今年は64Mbitと去年の倍の容量にした。冗談みたいに大容量なので、惜しみなくデータを保存できる。搭載しているのはMicrochipのSST26VF064B。去年から容量を倍にしたが、だいぶ余っている。ロボトレース5走の全リアルタイム制御データが保存できるため、大会に出れば出るほどデータ蓄積ができて強くなる。
⑨ BLDCユニット
汎用の4in1ドライバーを使っている。無理をさせてないせいか、シーズンぶっ通しで使っても壊れなかった。
⑩ FPCのラインセンサー基板
「そこまでやるか?」と言われそうだが、ラインセンサー基板をFPCで制作し実装した。前述のカーボン一体フレームのおかげで、ラインセンサー基板の剛性が一切不要となったため、どうせならやるかと奮起して実現する運びとなった。基板重量で4g軽くなったが、FPC10枚のために1.5万円ほど吹き飛ばしているためあまり推奨されない。普通は部品の実装面には補強板を入れるらしいのだが、軽量化のためにつけていない。カーボンフレームが補強版代わりとなっている。素子のはんだ付けで地獄を見たので、マネしたいひとはステンシルを絶対に発注すべき。
⑪ アルミ削りだしのモータマウンター
モータとホイールを接続する部品を、アルミ削りだしで制作した。発注先はPCBWayのCNCサービス。精度は確認していないが実力的に十分。いくつかタップを切ってもらってあるので、ナットレスですべての構造がつくようになった。なお、軽量化にはなっていない。
⑫ E2エミュレータLite対応
ルネサスマイコン用デバッガのE2Liteに対応させた。デバッグがめっちゃはかどって開発が高速化した。とりわけデバイスドライバ周りのデバッグでとても役に立った。ブロック図を見るとわかる通り、Aegisは通信周りですべてDMAを使っているため、割り込み処理などかなりしねることになっているので、デバッガ無しに開発はほぼ不可能であった。割り込みがイミフな挙動をしたりするので、コードでごまかしていたりする。DMAのおかげで無駄なCPU負荷が発生しなく助かっている。ちなみにE2Liteには亀の子基板を載せてあり、USB1本をPCにさすだけでデバッガとUART通信ができる。E2Liteの使い方が知りたい人は下記へ。
美少女アバターで覚えるルネサスマイコンデバッグ入門
● 全面ショートカット走行
昨年度と同様に、記録したコースのXY座標データをもとに、コースを可変窓移動平均することで出てくる仮想経路上を走るようにした。仮想ライントレースの方法も昨年と同様に、幾何情報から、実際のライントレースを再現する計算をしている。ちなみに、RX66Tの32kBのD-Flashに収めきるために、各点の差分情報を保存しており、1点あたり4byteで済んでいる。さらに言うと、上位数ビットが余るので、そこに各種フラグ情報をふんだんに含ませている。なお、所定条件を満たしたこぶは直線でつなぐような処理も入れているが、今回の全日本では活躍の場がなかった。
● オドメトリ補正アルゴリズム
詳細は2021年度の記事を参照のこと。簡単にいうと、ロボトレーサーの横ずれ量が0になるように座標情報に制御をかけている。が、その横ずれ量の計算式を見直して改善した。その結果、マップのほとんどの箇所でオドメトリ補正をかけることができるようになった。これにより、シリコンシートタイヤによる大きなオドメトリ誤差を黙らせながら走行している。しかしながら、自分のものよりもさらに良いアルゴリズムが某ブログに公開されているのでそちらを見た方が得。
● シリコンシートタイヤを手懐けるための新技術
2022年現在でマイクロマウスのブログを一通り巡回して同じことをしている人がいなかったため、オリジナルの新技術だと思われる。シリコンシートタイヤと全面ショートカットを両立するためのキモとなる技術なので非公開。
●2023年にやりたいこと
① 吸引機の開発
② より賢い経路計画
現在の可変窓移動平均による経路平滑化だと、こぶを直進したりうねうねを厳密にまっすぐ進んだりカーブで進んだりといった、アドバンストな走行ができない。そのため、抜本的に経路計画の方法を変更する必要がある。まぁそんな開発をしている余裕はないが。
●ギャラリー