こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
概要
ホワイトボードに張り付くクリーナーロボット「白板忍者(white_sweeper)」の開発を行いました。Androidアプリから操作することで、立ち上がる必要がなく、腕を動かさなくて良くなります。さらに、なにより楽しく操作できるといった利点があります。コードはGitHubで公開しています(アプリコード(GitHub))。
システム全体像
以下に示すのがシステムの概要図です。
左側に文字の書かれたホワイトボードと,文字を消す忍者の役割をするロボットがあります。ロボットには2つの車輪と強力なネオジム磁石がついており、鉛直方向の過酷な環境でも動作可能です。
ロボットはRaspberry Piと有線接続され、GPIO通信されています。Raspberry Piは右側に示すスマートフォンと無線通信によって、ボタン操作が可能です。
実装
ロボット開発
2つの車輪で駆動し、強力なネオジウム磁石によって鉛直方向の移動が可能となっている。
GPIOによるロボット制御
Raspberry PiのGPIOの書き込みによってモータを制御します。
通信方法
以下に示すのが通信方法の概要図です。
Androidアプリの5つのボタンを押したときと離したときにパラメータを含めてAPIコールを呼び出し、Raspberry Piサーバと通信します。
Raspberry Piサーバでは、パラメータによって適切なGPIO制御を行う関数を呼び出します。PythonのFast APIで実装されています。
追加予定の機能
自動消去機能
Androidアプリでラジコンのように操作していますが、自動でホワイトボードの文字を検知し消去する機能を追加予定です。実装は、前方に光センサを複数取り付け、ライントレーサーをすることで消すことができると考えます。
転落防止機能
ホワイトボードの端にいる状態で進むと転落してしまう恐れがあるため、端を検知し進めないような機能を追加予定です。