今回はリモコンで動くロボット作りの授業で使っている題材について説明していきます。
自律型と操縦型の違い
本題に入る前に解説です。
ロボットには動かし方によって大きく二つの分類分けができます。
自律型ロボット
ロボットプログラミングの教室で作るロボットは、基本的には自律型と呼ばれるロボットになります。
自律型のロボットとは、センサーを駆使しして周りの状況をロボット自身が判断し、その都度ロボットが次の行動を決めながら「自動で動いていく」ロボットのことをいいます。想定外の動きには弱く、何が起こるか考えながら、実際にはどう判断をさせれば良いか、どう動かせば良いかを考えることがロボットプログラミングにおける試行錯誤の練習になる要素といえます。
プログラムを作ってロボットにダウンロードして、あとはスイッチを押したら、想定通りに動いてくれるかどうかを観察して、問題があったり改善点が見つかったら修正していく、という流れがロボットプログラミングの授業の基本的な流れです。
操縦型ロボット
対して、操縦型のロボットは、人が操縦した通りに動くロボットです。人が判断するため、例外処理などはあまり考えなくても済みます。その代わりに、操作ミスなどが発生することもあり、操縦しやすい工夫や安全装置的な発想は考える要素になります。
ロボットではありませんが、車の自動運転と今のハンドル操作がわかりやすい区別になると思います。あまり例として使われませんが・・・
授業で使っている操縦型ロボットのサンプル
操縦型といっても、直接操作して動かすロボットと遠隔操作で動くロボットでも区別できます。
直接操作できるロボット

見た目はわかりにくいのですが、色で動かし方を変えることができる「クレーン」です。
上の部分が回転するのと、糸を巻き取る部分があるので、その二つを操作できるように、カラーセンサーが取り付けられています。
プログラム

プログラムの例ですが、別にこれでなくても良いとしています。
特にスピードを変える部分は、

こんな感じで動くのを作ってくれていた子もいました。
白色を見せている間、ずっとスピードが上がっていく感じですが、連続して読まれないように音で待ち時間を作っています。
音に関しては、色を読ませた時に音を出すことは、処理が正しくできていることを人に伝える大事なメッセージであることは説明しています。
このように、操縦型はプログラム自体は簡単なのですが、別に何も考えずに良いものができるわけではありません。少しでも操縦する人の立場に立ってどうするか、という場面を想像する必要は自律型のプログラムを作る時と大きく変わりません。
遠隔操作ができるロボット
LEGOのキットを使っている場合、Inventorが一番簡単に遠隔操作を実装できます。

リモコン用のパーツが用意されていてそれを自由に配置でき、それに応じたプログラミングブロックが自動で追加されます。
これで動かしていたのが、

戦車型のロボットです。
左右のタイヤのスピードさをレバーで表現し、発射ボタンで砲台のパーツの後ろのボタンを押せるようにしています。
砲台の角度も変更できます。
プログラム

色で動かしていたと同じように作ることもできます。

せっかくのレバーなので、レバーの動かす位置に応じてスピードも変わるように変更できます。
性能が上がっているはずなのにプログラムが簡単になるということもあります。このような構造を考えるのもプログラミングスキルの一つだと思います。

「遊び」の部分を実装した変更バージョンです。
小さい値の時には反応せずに止まっているままにします。
タブレットで作れば、タブレットがそのままリモコンに早変わりします。Inventor自体はもう生産中止になってしまいましたが、Spikeにこの機能が移植されればもっと使える人が増えると思います。
発展型
エキスパートコースの子が、ハンドル、アクセルペダル、サイドレバーを作っています。これでステアリングで左右に切り返すことができる車を動かせるように作っていました。


ハブ内のジャイロセンサーを駆使してハンドルの回転や、ペダルの傾きを読み取って動くようになっています。とても贅沢な使い方ですが、応用編としてやってくれるのあればこれくらいは・・・
今後の発展
カメラとモニタの設置
カメラを載せて画面を見ながら運転してみたいと言うことで、「llano ワイヤレスhdmi 無線 送受信機セット」というのを購入してみました。
ドローンのカメラはかなりの低遅延のようですが、電波法的に厳しいようですね。アマチュア無線の免許を持っていれば良かったのですが、ないものは仕方ないので合法な中で低遅延でいけそうなものを探していました。
教室内で良いとするので短距離通信で画質もそこそこでOKとなると何かありそうな気はしていましたがChatGPTではなかなか良さそうなものを紹介してもらえずでした。5万円前後の商品は流石に・・・
結局、Amazonのサイトを漁ってモニター周りの装置を利用できないかと辿り着きましたが、実例が探せず、実験的な導入です。
車のオリジナル化
まずは車がこちらで用意した説明書のままだったので、オリジナルに変えてみようと話しています。こ
れで完全オリジナルになりますからね。

前輪はステアリング機構、後輪はディファレンシャルを搭載して実際の車の仕組みに似せています。
できればmicro:bitに作り替えて、ハンドルやアクセルもmicro:bit同士の仕組みに変えられないかどうかも話をしています。また、3Dプリンタでその周辺のパーツも作っていって、小型化、軽量化、低コスト化なども目指していこうか、など。
個人的な思惑ですが、形になればRoboRAVEに持っていけるのでは、と考えています。本人も競技側に出る気になってくれていますし、前回優勝チームと対決してもらうのも盛り上がりそうな・・・など。
というわけで、日記というか雑談というか、教室の裏の話ばっかりだったので授業のことをまとめてみました。今後は何か一つのテーマで一つの記事にしていこうと思っています。
体験授業を実施中です
枚方ロボットプログラミング学習塾では無料で体験授業を実施しております。
興味を持たれた方はお気軽にお申し込みください。事前の問い合わせも可能です。

メール(info@hrktrpg.com)への問合せもお待ちしております。