これはマイクロマウスアドベントカレンダー2024、16日目の記事です。
前回の記事はコヒロさんの「昇圧について」です。
ステッピングモーターでマウスを作っていたころはLT1170 というコントローラを使って昇圧回路を作っていましたが、最近は昇圧よりもLiPoを直列に増やすほうが楽ちんですね…。
ただ、昇圧回路自体は設計していて楽しいものなので、マイクロマウス以外で使う機会があれば、ぜひ作ってみてください。
ロボスイープ
ロボスイープはいわずとしれたマイクロマウス系新競技です。
全日本大会で公開されたでも動画をKurokawaさんが撮影して公開してくださっています。
スピードだけではなく、ボール検出や、投擲、複数台連携などの要素のある競技です。
最近ロボスイーパーを作り始めたので、(まだ未完成ですが)本記事では特にアーム部分についてお話ししたいと思います。
アーム
アームはマイクロマウスとロボスイーパーの最大の違いと言っていいでしょう。ボールをつかみ、相手側迷路に投げる機能が必要になります。三菱電機の開発したムブアイは以下のようなアームを持っています。
- 2関節
- 遠心ファンによる吸引でボールをキャッチ
- 人間と同じように関節の力でボールを投げる
関節を構成する2個のサーボモータにはフタバのRS204MD(6,500円)、吸引ファンのモーターにはDCX10S(シャフトを8.6mmに延長した特注品)を使っているとのことです。
めちゃくちゃ豪華ですね。
ロボスイープは複数台での出走が想定されているので、こんなお高いパーツで作るのは個人では厳しいです。
なので、なるべく安い部品で作ってみようと思います。
なお、今回様々な部品を3Dプリンタで製造しています。3DプリンタにはBambu Lab A1 mini + 0.2mmノズルを使用しています。
動画
先に動画を見てもらったほうが分かりやすいと思うので、まずはこちらをご覧ください。
コンセプト
ムブアイのアームはとても良くできていて、とても参考になります。しかし同じような構成では面白くありませんので、少しだけオリジナリティを混ぜてみようと思います。
- アームの関節は1軸。前におろす/上にあげるの動作のみ
- ボールは遠心ファンで吸引する
- ばねを使ってボールを打ち出す
吸引ファン
ファンはムブアイを参考に何度か実験を繰り返し、直径45mm、高さ22mmとしました。下図は遠心ファンの断面です。
ドローン用の1020モーターを使って回転させます。
このモーターは定格3.7-4.2Vで、本ロボスイーパーではLiPo2Sを使用する予定なので、PWMを使って出力を絞っています。電源電圧7.4V時に、Duty比35%でボールをつかむことができています。
ボールの検出
吸引ファンがボールをとらえたかどうかは、ファンモーターの消費電流をもとに以下のように判断します。
- モーターを起動させる。
- モーターの回転数が上がるまで1秒待機
- 1秒間、25ms間隔で消費電流の平均値を計測
- 消費電流を監視し、直近10回分の計測値の平均が先の平均値の95%を下回ったら「つかんだ」と判断
購入部品一覧
| 部品 | 型番 / リンク | 備考 |
|---|---|---|
| ファンモーター | ドローン用 1020モーター | |
| バネ圧縮用サーボ | SG90 | |
| アーム用サーボ | MG90S | |
| バネ | A-516 | |
| 電流計測IC | INA219 | ファンモーターの消費電流を計測 |
投擲機構
先述の通り、ボールはバネの力で打ち出します。
圧縮バネをラック&ピニオンで圧縮し、貯めた力を一気に解放してボールにぶつけます。ボールにぶつかる部品「ストライカー」はボールの中心を45度の角度で打つようになっています。
サーボモーターは180度の範囲でしか動作しないため、リロードギアは逆回転で元の位置に戻す必要があります。そのため、リロードラックがワンウェイ動作するよう、リロードラックとストライカーは別体になっています。
制御基板
まだ試作段階なので、市販されている/ウチに死蔵されているモジュールとユニバーサル基板で制御基板を作りました。
外観
主要部品
| 部品 | 型番 / リンク | 備考 |
|---|---|---|
| マイコン | Arduino Nano 互換品 | |
| 電流計測 | INA219モニターモジュール | 本品の電流検出抵抗は100mΩなので、100mΩ抵抗を並列に追加して50mΩ化している |
| ファンモータードライバ | 2SK4017 | TB67H450にすればよかった… |
| 電源 | 小型高効率DCDCコンバーター可変電源キット |
構成図
プログラム
PC側のコードはPythonを使用しています。
プログラムはほぼぜんぶAI(Sonnet4.5)に書かせました。自分ではコメント以外書いてません。
課題
- ファンモーターのPWM周波数が低い(2kHz)
- アーム上げ下げがガタつく。安いサーボ + Arduinoではこれが限界か?
- ファン高速回転時の振動が大きい
- 耐久性が不安
- ファンモーターのPWMを0%にしてから停止するまで時間がかかる
- 本当に大会が開催されるか不安でモチベーションが上がらない
おわりに
約380日遅刻しました。 申し訳ありません。
ロボスイープはマイクロマウスよりもさらに幅広い技術が必要であり、作るだけでいろいろと勉強になります。大会の規模が大きくなるのはまだまだこれからだと思いますが、みなさんもぜひ挑戦してください。
次の記事はtanihoさんの「俺が考えた最強の書き込み基板 LazuliWriter を作った」です。




