• 検索結果がありません。

―平成14年度卒業研究から―

ドキュメント内 情報教育研究センター年報 2002 (ページ 38-42)

コンピュータがものを動かし制御できることを体験させることは、情報化社会における隠れたコンピュータの活躍 を理解する上で意義深い。本研究はLEGOロボットが情報処理教育のためにどの程度の性能を持ち、実践に活用でき るかを、学生の卒業研究のなかで実験し、その教育的意義を考察したものである。

Testuo FUKUI

情報教育研究センター研究員 情報メディア学科助教授

Experiment on independent move of LOGO robot and instruction for information processing with it

1.はじめに

従来の情報処理教育、特にプログラミング教育は計 算上あるいは画面上の表現演習が主流であるが、現在 の情報化社会において、身の回りの隠れたコンピュー タがものをコントロールすることによって便利な生活 をもたらし、活躍していることを意識することは少な い。

もし、情報処理教育にものを制御する演習を取り入 れることができれば、隠れたコンピュータに対する価 値を身近に体験することができて意義深いと思われる。

最近、様々なロボットが作られ、2足歩行するもの も出てきて、生活にロボットというものが身近になっ てきている。しかし、ロボット製作はプログラミング が難しく、機械が難解な為、一部の人にしか作ること ができなかった。

そこで我々は、容易にロボット作りを体験できる

『LEGO MINDSTORMS』1),2)と呼ばれる部品のセッ トとこれを制御するための開発環境ソフトウェア(以 後、これらを総称してLEGOロボットと呼ぶ)を使い、

教育や実際的な目的でどの程度の性能を持っているか を調べたので報告する。

研究のねらいは次の3点である。

ò

LEGOロボットの動作性能を測る、

ò

2 実験テーマに応用し有用性を確かめる、

ò

LEGOロボットの教育的利点や効果を考察する。

実際には、平成14年度卒業研究指導において、当時 卒業学年である佐野祐子、中田亜希子の2名がLEGO ロボットをテーマ(文献3))に

ò

1、

ò

2の実験を行っ た。これらの指導の様子からò3として教育的意義を考 察したのが第5章である。

ねらいのò1

LEGOロボットの動作性能については、

次の3項目について測定実験を行った。これについて は第3章で報告する。

1.LEGOロボット用モーターによる直線移動の誤差 測定、

2.モーターパワー値に対応した速度特性の測定、

3.モーターパワー値に対応したロボットの制動距離 測定。

そして、ねらいのò2として、「エスカレーターの動 きに合わせた自立移動実験」を行った3)。第4章で報 告する。

2.LEGOロボットについて 2.1

LEGO MINDSTORMS

1)

『LEGO MINDSTORMS』とは1988年にLEGO社 とマサチューセッツ工科大学とが共同開発したLEGO ブロックキットの1種である4)

このキットには次の(a)〜(c)の特徴がある。

ò a

工具を使わず、LEGOブロックだけで、ボディを 作ることが可能であること。

ò b

マイクロコンピュータを内蔵した中心ブロック

(RCXと呼ぶ)があり、コントロールプログラム を自由に作成することができること。

ò c RCXには3入力(センサー類)・3出力(モーター

駆動など)があり、様々な動きをさせることが出来 ること。

2.2

LEGOロボットを完成させるまでの流れ LEGO MINDSTORMSで作るロボットは下記のよ

うな手順で作る。

手順1)計画(動きの内容と必要なボディ設計)

手順2)ロボットボディの組立 手順3)ロボットのプログラミング

(本研究ではROBOLAB5),6)を使用) 手順4)完成したプログラムをRCXに転送 手順5)実行

2.3 ロボットのプログラミング

基本的には、パソコンで作成したプログラムを赤外 線でRCXに転送(ダウンロード)する方式をとって いる。LEGOロボットを動かすためのプログラム開発 環境には様々な種類があり、それぞれに対してプログ ラム言語仕様が異なる。

代表的なものとして次の4つが知られている。

(i)

ROBOTICS INVENTION SYSTEM

2.01) (RIS2.0)

[解説]LEGO MINDSTORMSに付属しているシ ステムで、命令アイコンをマウスで配置しビジュア ルにプログラミングできる。Windowsで動作する。

(ii)

Not Quite C

4) (NQC)

[解説]C言語に似た文法を持つテキストベースの プログラミング言語。Windows,Mac,Linuxで動作 する。

(iii)

ROBOLAB

5),6)

[解説]RIS同様、命令アイコンを順に配置してビ ジュアルにマウスだけでプログラミングできる。

Windous,Macで動作する。

(iv)

leJOS

7)

[解説]最近作られた環境で、Java言語によってプ ログラミングする。Windows,Mac,Linuxで動作す る。

(iii)のROBOLABによる簡単なプログラムの例を図 1に示す。青信号(左端)がプログラム開始で、赤信 号(右端)の終了までに、モータA,Cを2.5秒間右回 転した後、停止するプログラムである。

図1.ROBOLABによるプログラムの例

3.LEGOロボットの性能測定3) 3.1 モーターによる直線移動の誤差測定

LEGOロボットがどの程度、正確な動きをするのか

を調べるために直線移動の誤差測定を行った。方法は、

ロボットを0.5秒〜5.0秒間、0.5秒刻みに前進させる ことにより、前後左右のずれを見た。

結果を表1に示す。表内の数値は、各モーター駆動 時間ごとの前進距離(単位:cm)および、横(x軸)方向 のずれ(単位:cm)を示している。数値はどれも10回

測定を行った平均値であり、±符号の値はその確率誤 差を示している。表1から、ロボットは約60cm進む 間に左方向に約1cmずれたことが判る。誤差として は、横方向が0.098〜0.439cm、前進方向が0.047〜0.

364cmとなり、縦・横方向共に約1〜4mmの誤差で あることが判る。

表1 モーターによる直線移動の誤差測定(単位:cm) モーター

駆動時間 前進距離 横方向のずれ 0.5秒 9.214±0.103 0.030±0.098 1.0秒 15.451±0.047 ‑0.174±0.099 1.5秒 21.385±0.061 ‑0.307±0.149 2.0秒 27.801±0.221 ‑0.607±0.119 2.5秒 34.130±0.171 ‑0.857±0.162 3.0秒 39.904±0.134 ‑0.514±0.279 3.5秒 45.285±0.129 ‑1.072±0.218 4.0秒 52.447±0.364 ‑0.872±0.439 4.5秒 56.812±0.125 ‑0.962±0.295 5.0秒 61.876±0.168 ‑0.955±0.282

3.2 モーターパワー値に対応した速度特性

モーターパワー値の大きさによって、どの程度ロ ボットの速度が変化するのかを測定した。ここで、

RCXのパワー値はパルス幅変調方式の幅を表すもの

で、プログラムでは5段階の値を指定できる。方法と しては、各モーターパワー値に対し、1m直進するの に要した時間を計測し、分速を出す。また計測で使用 したロボットはタイヤ大(直径81.6mm)とタイヤ小 (直径49.6mm)の2種類を使用して実験を行った。結 果は表2に示す (単位:m/分)。

次に述べるエスカレーターの動きに合わせた自立移 動実験ではロボットをエスカレーターのスピードとほ ぼ同じ速度で進入させなければならない。エスカレー ターのスピードは分速30mなので、表2よりモーター パワー値5が最適であると判る。

表2 モーターパワー値に対応した速度特性(単位:m/分) モーター 速さ(タイヤ大) 速さ(タイヤ小)

パワー5 30.125±1.869 26.882±1.259 パワー4 28.628±0.967 24.045±0.526 パワー3 22.242±0.349 19.670±0.625 パワー2 8.500±0.568 9.079±0.187 3.3 ロボットの制動距離測定

前節と同様にモーターパワー値に対応したロボット の制動距離の測定を行った。方法は、少し高さのある

台上にロボットを走らせ、段から落ちる直前に前輪の タッチセンサーによってロボットを止める。その時、

台より飛び出た距離を測定した。

結果を表3に示す (単位:cm)。±符号の値はその 確率誤差を示している。当然、モーターパワー値が大 きい程、制動距離が長くなっている。結果より、ロボッ トがエスカレーターのステップから2cm以上飛び出 さないようにするには、モーターパワー値2以下でな ければならないことが判る。

表3 ロボットの制動距離特性(単位:cm) モーターパワー値 制動距離

パワー5 7.84±0.24 パワー4 4.07±0.11 パワー3 3.45±0.25 パワー2 1.51±0.11

4.LEGOロボットの自立移動実験3) 4.1 実験の概要

測定結果の有効性を示す為に、エスカレーターの動 きに合わせた自立移動実験を行った。ロボットが上階 のエスカレーター下り側から出発して下り、廊下を 回って昇り側手前までの移動に成功した(図2)。実験 を行うにあたって注意すべき点は次の①〜④である。

①ステップ部前にある滑り止めの凸凹した部分

②エスカレーターステップ部のスピード

③エスカレーターステップ部の幅と高さ

④目的地までの誘導(ライントレース方式を採用)

図2 エスカレーター鳥瞰図

4.2 ロボットのボディ設計

注意点①〜④を踏まえて、実験で使用したロボット の設計に必要な条件は以下のようになる。

½

ステップ検知の為のタッチセンサー

¾指定した位置までライントレースを行う為のラ

イトセンサー

¿エスカレーターのステップの巻き込みを防ぐ為

の車輪の形状

À

曲線移動する為のロボットの形状 実際に使用したロボットを図3に示す。

図3 実験使用ロボット

4.3 ロボットの自立移動プログラムについて プログラムの流れをまとめると下記のようになる。

Step1)エスカレータのステップ部までエスカレー

タとほぼ同じスピード(モーターパワー値5)

で直進する。

Step2)ステップに乗ったら、スピードを(モーター

パワー値1に)下げる

Step3)ステップの段差をタッチセンサーで検知し

て止まる(凸凹による誤動作を防ぐために、

センサーを3回続けてチェック)

Step4)タッチセンサーが離れたら、

(ロボットが下 階に着いたと判断し)直進する

Step5)ライントレースを開始(エスカレーター出口

付近にある黒い誘導用ラインを検知し、ライ ンに沿って移動)

Step6)2つのセンサーが黒を1.5秒間検知したらロ

ボットは停止する(終点)

5.実験を通しての教育的考察

卒業研究生の努力もあって、エスカレータの動きに 合わせた自立移動実験は成功した。ライトセンサーは 実験場所の明かりに敏感で注意を要するが、前章で示 したように、LEGOロボットの性能は、実践的目的に も十分耐えうることが確かめられた。一見難しそうに 思われるロボットの組立も、LEGOロボットならば工 具や技能なしで容易に組み立てることができるため、

本学科のような技術教育を主目的としない文理融合型 の学科では最適である。しかも、プログラミング経験 があれば、ROBOLABはすぐに理解でき、取り組む ことができる。しかし、目的に合ったロボットの形状 をゼロから創造させるのは難しく、助言なしではやみ くもに試行錯誤を繰り返すだけで、論理的に解を見い だせないこともあった。

本実験の教育的意味としては、

●実物を作り、動かしていくので情報処理に対する興 味を持たせやすく、

●制御分野のプログラミングを題材にでき、

ドキュメント内 情報教育研究センター年報 2002 (ページ 38-42)