週末科学実験講座
「アルゴリズムを学んでロボットカーを制御しよう」報告書
11月19日(土)から12月17日(土) にかけて、毎週土曜日に全5回(各2時間)の週末科学実験講座をFiveBridge 会議室(仙台市青葉区北目町4-7 HSG ビル3階)において実施し、小学生5人が受講した。以下に、本講座の報告をする。
目的
本講座はロボットカーを走らせるアルゴリズム作成をとおして、課題解決能力を養うことを目的とし、小学校高学年向けの2時間× 5回の講座です。本講座では、、ロボットカーがコースを自動で認識して決められたコースから外れずにコールするためのアルゴリズムを作成するを 通じて、「アルゴリズムとは何か?」ということを学びます。 各会の目的は次のとおりです。
第1回:「アルゴリズムとは何か?」を学ぶ
ロボットカーが決められたコースをゴールするまでの手順(アルゴリズム)を、パソコンを使わず手動 で行うことで、そもそも「アルゴリズムとは何か?」を学びます。
第2回:パソコンを用いてロボットカーの車輪を制御する
ロボットカーの車輪の動きを制御するために、ON/OFFのディジタル信号をパソコンでロボットに入 力する方法を学びます。
第3回:ロボットカーの複雑な動きを実現するためにコンピュータプログラミングを学ぶ
コンピュータプログラミング開発環境LabVIEWを用いて、ロボットカーを自在に動かすプログラム作成 方法を学びます。
第4回:ロボットカーがコースを認識1 するために必要な光センサーの特性を学ぶ
はじめに光センサーの特性を理解するために、色の測定実験を行います。その特性に基づいて、 ロボットカーがコースを認識するためのアルゴリズムを考えます。
第5回:ロボットカーがコースを完走するためのアルゴリズムを構築する
光センサーでコースを認識してコースを完走できるためのアルゴリズムを作成します。またさらに、 より速くゴールできるようにロボットカーのスピードを調節するアルゴリズムの構築に挑戦します。
活動内容
1日目 アルゴリズムを考える
アルゴリズムの難しさを実感してもらうために、1日目は簡単なコース上でコントローラカーを動かして、その 「手順」であるアルゴリズムを考えてもらいました。そのあと、考えたアルゴリズム通りにコースを見ずに ロボットカーを動かしてみた結果、予想通り目的地から遠く離れました。これを通して、受講者はアルゴリズム の作成の上で、様々な問題点に直面しなければならないことを実感してもらいました。
2日目 パソコンを用いたロボットカーの動かし方を学ぶ
2日目はパソコンを使ってロボットカーを動かせるように前回のコントローラのスイッチ操作をディジタル
信号に変えて、パソコンに入力しました。そのディジタル信号に対してロボットカーがどのように動くかを
確認してもらいました。ここで、測定及び制御に優れたLabVIEW開発環境を利用してDAQを制御装置として
使用しました。そのため、LabVIEWの必要最低限の基本的な知識を学んでもらいました。
スイッチ操作からディジタル信号に変換することは簡単でしたが、LabVIEWの使い方がまだなれていない
生徒にとって最初は苦しい状況でしたが、繰り返して練習した結果DAQの使い方及びロボットの動きを
設定することができるようになりました。
3日目 ロボットカーをより複雑な動きを実現するためにプログラミングを学ぶ
これまでの知識ではロボットカーの単独な動きしか実現できないため、決められたコースを走行すること が困難となります。ここで、今回はロボットカーをより複雑な動きが実現できるようにLabVIEWのプログラ ミングを学んでもらいました。そして、一日目のアルゴリズムを入力して走行試験を行ってもらいました。 走行試験では、二人一組でプログラムの作成及び時間の測定などをしてもらいました。お互いが積極的に相 談しながらアルゴリズムを考えて、また、時間の変数を繰り返し調節した結果、一日目よりロボットカーの 動きが大幅に改善できましたが、タイヤについているモータの強さや走行中、摩擦係数の不一致などにより 、目的地まで辿り付けることはまだ難しかったです。
4日目 ロボットカーがコースを認識できるように光センサーの特性を学ぶ
4日目はコースが認識できるように光センサーを導入しました。そのため、光センサーの特性を知る必要が
あります。光センサーの原理について説明し、また、DAQへのデータ収録方法を学んでもらい、光センサー
から値を取得して色の測定実験を行ってもらいました。
今回、生徒にとってデータの読み取りが難しく、また、測定項目である色の種類が多かったため、とても
時間がかかってしまいました。しかし、光センサーの特徴をちゃんと理解して、コース認識にはどのように
使えば良いかを考えられるのは重要です。
5日目 コースを走行させるアルゴリズムを完成する
5日目は光センサーをロボットカーに取り付けて、ロボットカーがコースを認識して、走行するように アルゴリズムを改善しました。また、ロボットカーの動力をPWM制御によって、調節してゴールまでの 時間が短縮できるように繰り返しパラメータを設定してもらいました。結果として、コースの一周に要する 平均時間が21.24秒でした。また、最短記録を出したチームは、一周8.2秒まで短縮することができました。 その時のパラメータは以下のようなりました。
・左モータの強さ:75%
・右モータの強さ:77%
・前進する時の動力:50%
まとめ
自分が作成したアルゴリズムによるロボットカーの動きを観測することで、受講生全員、自らのアルゴ リズムの問題点を見つけることができ改善することができた。さらに、改善を繰り返すことでより良いア ルゴリズムを構築することができました。また、授業中に受講生同士が積極的に議論する場面も見られ、 更なる改善が成された。最終的には講師が想定したコースタイムよりも大幅に上回り、本講座の目的であ る問題解決能力を十分に養うことができた。
反省点
コンピュータプログラミング開発環境LabVIEW の習得に課題
*原因:本講座は週一回開講のため、一週間の間にLabVIEW の使い方を忘れてしまう
*解決:コンピュータプログラミングを含む講座の場合、講座の開講日程は連続で行うべき