マイコンの工作例として著者が大学時代に作成したものを紹介します。ArduinoとRaspberry Piを使用した簡単なプログラムとハードウェアで作成できるプロジェクトです。ぜひアイデアの1つとして参考にしてください。
著者が大学生の時に作成したので拙い物ですが、それなりに時間をかけて作ったので最後まで見てもらえると嬉しいです。
概要
机の上をアルコール消毒しながら自走するロボットを作成しました。簡単に言うとアルコール消毒版のルンバのようなものです。
コロナ禍ということもあり、あらゆるもののアルコール消毒が必要となっています。そこで飲食店等の運用を想像しながらアルコール消毒を自動化を目指し制作しました。
ロボットの動作動画
使用したもの
マイコン
- Arduino UNO
- Raspberry pi4
自走ロボットキット
ほぼ完成品のキットを使用しました。基本の動作はキットろ利用して付加価値をつけていきました。メカナムホイールを使用しており、自由度が高かったです。基本的なプログラムも付属していました。
メカナムホイールとは
特殊な形状をしたタイヤです。渦巻き状であることから、真横への移動や斜め方向の移動が可能になります。
センサ
机の上を走らせるため、落ちないように端を検知するセンサが必須でした。詳細については後で解説します。
・超音波距離センサ 1つ
・測距モジュール 4つ
・9軸センサ 1つ
サーボモーター
上部に搭載したアルコールスプレーを噴射するため、トリガーを引くサーボモーターが必要でした。
さらに前方の距離センサをサーボモーターで水平に180°動かすことで広い範囲の距離を測ることができました。
ロボット構成
ハードウェア構成
設計概要
ロボットは机の表面を走り、アルコールで消毒しながら布巾で拭き取る。手が近づくとアルコールを噴射するセンサーも搭載
アルコールスプレーを噴射する
上部にはアルコールが入ったスプレーボトルが設置されています。サーボモーターでトリガーを引くことで、机に吹きかけることや手を近づけると噴射します。
布巾で拭き取る
噴射されたアルコールを自走するロボットに取り付けた布巾で拭き取ります。それを広げることで机全体を消毒します。
障害物回避機能付きのメカナムホイールを使った移動システム
机全体を自走します。障害物があれば回避し、机から落ちないようにセンサを使って制御します。
自走システム
経路決定
まず机の端に沿って走ります。そうすることで各辺の長さを測ります。そして長い方の辺と並行に往復します。そのため転回する回数を少なくできます。
通信技術
ロボットのArduinoには前進や転回など動作を制御する簡単な関数がプログラムされています。それをサーバに設定したRaspberry Piから命令をすることで外部からロボットを動かします。
そうすることでRaspberry Piから動作をモニタリングすることができたり、複数台のロボットを一括で管理することができたりします。
センサ
ロボットが机から落ちないようにするには多くのセンサが必要になります。3種類のセンサが搭載されており、計測し続けルことで微調整しながら自走します。
前方の距離センサ
前方にはサーボモーターで水平に180°回転する距離センサが搭載されています。前方に障害物がないか幅広くチェックします。
4隅についた距離センサ
小型の距離センサが斜め下方向に付けてあります。机の端に到達すると距離の数値が変わるので検知することができます。机の端に沿って自走する時には距離が一定に保つようにロボットをコントロールしながら自走します。
9軸センサ
2種類の機能を持たせました。
- 転回をした際に正確に回転角度を図ります。モーターの駆動時間で転回をしようとすると電源電圧によって回転角度が変化してしまうので、計測しながら転回する必要がありました。
- ロボットの傾きを検知します。万が一机から脱輪した時には傾きを検知して止まります。ロボットが落下して壊れないようにするための措置です。
まとめ
制作した自走するロボットの紹介をしました。キットをベースに開発をしているので1から作るよりは簡単に作ることができました。キットやセンサを組み合わせてマイコンで制御することで、自分のアイデアを形にすることができます。
マイコンを使った組み込みシステムは、ハード面とソフト面を考えて設計しなければなりません。難しく物理的な制約もあるので大変ですが、完成した時の達成感と自慢できる映像を撮れることは嬉しいものです。手をつけてみることをお勧めします。
金銭面でもかなり大変なので頑張ってください。
コメント