実験種別2 mindstorms を使ったプログラムとロボット制御実験種別2...

7
実験種別2 Mindstorms を使ったプログラムとロボット制御 1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ まな機能が付けられている。これを可能にしているのがコンピュータを使ったプログラム である。コンピュータを人間の思い通り動かすためにはコンピュータが理解できるプログ ラム言語を使って、コンピュータに命令を予め記憶させておくことが必要である。コンピ ュータ言語には、有名なものでC言語, Fortran, Java など数多く用意されているが、基本的 には文字を使った言語体系となっている。 本実験ではプログラムの構造の理解を行い、その具体的な命令を実際のプログラムを使 って自らの手で作り上げるため、オブジェクト型言語の世界標準である LabVIEW を元に した NXT ソフトウエアを使ったプログラムを利用する。コンピュータ言語はソフトウエア というイメージが強いが、ハードウエアと一緒に使うことによって、その性能を十二分に 発揮することが可能となる。そこで、本実験では LEGO 社の Mindstorms NXT という LEGO ブロックを元としたロボットシステムを用いて、プログラムの開発を行う。 図1 Mindstorms を使ったロボットの例 2. 何故 Mindstorms なのか? このテーマを行うにあたり、環境共生学科の学生として「何故こんな LEGO ブロックで遊 ぶようなテーマなのだろう?」と思うかも知れません。まずはこの疑問について答える必 要があります。 環境共生学科の分野は多岐に渡り、機械による自動化をしないと大変になることがあり

Upload: others

Post on 28-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 実験種別2 Mindstorms を使ったプログラムとロボット制御実験種別2 Mindstormsを使ったプログラムとロボット制御 1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ

実験種別2 Mindstormsを使ったプログラムとロボット制御

1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ

まな機能が付けられている。これを可能にしているのがコンピュータを使ったプログラム

である。コンピュータを人間の思い通り動かすためにはコンピュータが理解できるプログ

ラム言語を使って、コンピュータに命令を予め記憶させておくことが必要である。コンピ

ュータ言語には、有名なものでC言語,Fortran, Javaなど数多く用意されているが、基本的には文字を使った言語体系となっている。 本実験ではプログラムの構造の理解を行い、その具体的な命令を実際のプログラムを使

って自らの手で作り上げるため、オブジェクト型言語の世界標準である LabVIEWを元にした NXTソフトウエアを使ったプログラムを利用する。コンピュータ言語はソフトウエアというイメージが強いが、ハードウエアと一緒に使うことによって、その性能を十二分に

発揮することが可能となる。そこで、本実験では LEGO社のMindstorms NXTという LEGOブロックを元としたロボットシステムを用いて、プログラムの開発を行う。

図1 Mindstormsを使ったロボットの例

2. 何故 Mindstorms なのか?

このテーマを行うにあたり、環境共生学科の学生として「何故こんな LEGO ブロックで遊

ぶようなテーマなのだろう?」と思うかも知れません。まずはこの疑問について答える必

要があります。

環境共生学科の分野は多岐に渡り、機械による自動化をしないと大変になることがあり

Page 2: 実験種別2 Mindstorms を使ったプログラムとロボット制御実験種別2 Mindstormsを使ったプログラムとロボット制御 1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ

ます。例えば、明日の天気を予報するときに、日本全国の温度・湿度・風速・気圧などの

基本的なデータが必要となることは想像できると思います。数十年前までインターネット

などはありませんでしたので、各地域の気象関係者が自ら測定して、気象庁などに電話な

どで連絡をしていました。現在でも百葉箱などで測定が行われていますが、これらのデー

タは現在機械による自動計測を行い、インターネットを使った通信によって1時間に一度、

多いときは1秒に一度、管理するコンピュータに送信されます。そのさまざまな基礎デー

タを元に、コンピュータを使った解析が行われ、明日の天気を予想します。データの観測

点数,データの測定回数の向上に伴い、天気予報の精度は着実に上がってきています。

一例をあげましたが、環境を議論する上で、様々な基礎データを取る(サンプリングす

る,モニタリングする)ことが重要となります。都市部の温度や湿度などを測定すること

は比較的容易ですが、南極・北極のオゾン層に関する測定などは人間の手で連続して絶え

ず行うことは困難を極めます。このため、機械や測定装置による環境モニタリングが現在

では広く取り入れられています。

自分の考えている基礎データに関する環境モニタリング装置が無い場合は、専用の装置

をまず作製することが重要となります。このとき、工学部としては機械の原理,機械を動

かすプログラム技術の理解が重要となります。とはいえ、いきなり大がかりな装置を動か

すことも現実的ではありませんし、C言語などのプログラミング言語を習得する時間も残

念ながらありません。そこで、機械動作を理解し組み上げ、それをプログラミングによっ

て自在に扱うことが可能となる Mindstroms を利用して、専用のロボット,プログラミング

技術の習得を仮想的に行うことを目的としています。環境共生学科の限られた時間割の枠

組みで、学生の皆さんが全てを理解しうる教材として、様々な検討の末に Mindstroms を選

択しました。

Mindstroms で使われているプログラミング言語は、C言語などのテキストベースの言語

とは大きく異なりますが、基本的なプログラミング言語の構造は同じです。興味のある人

は、より高度なプログラミング言語にチャレンジしてみることをお勧めします。

3. Mindstorms について

Mindstormsは、タッチ,サウンド,光,超音波センサーを備え、インタラクティブサーボモーターを使った駆動が可能なロボットを自由に作り上げることが可能な、ソフトウエ

アだけでなくハードウエアについても学ぶことが可能な新しいコンピュータシステムであ

る。 Mindstormsを駆動させるプログラムは、直感的で分かりやすい言語体系をしており、初心者でもブロックを組み立てつつプログラムを作れば、比較的複雑なプログラムを作り上

げることが可能である。また、様々なセンサーならびにモーターを使うことによって、よ

り複雑なシステムを作り上げることができる。Mindstromsを駆動させるプログラムは、一般的に普及している C言語などの言語体系としては大きく異なる。しかしながら、コンピ

Page 3: 実験種別2 Mindstorms を使ったプログラムとロボット制御実験種別2 Mindstormsを使ったプログラムとロボット制御 1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ

ュータプログラムの概念としては基本的に同じである。 個人個人のコンピュータにサイトライセンスされたプログラムをインストールし、一人

一台のMindstormsを実験期間中配布する。必要に応じて、さらに多くの部品も提供することも予定している。詳しい資料は当日配布する。

図2 NXT とそのセンサーとモーター

4. 実験の方法 実験は2週にわたって行われる。実験前に、環境共生学実験のホームページ

http://www.env.saitama-u.ac.jp/exp/

を参考にして、NXTソフトウエアを各自のノートパソコンにインストールしておき、プ

ログラムが正常に立ち上がるかの確認を行っておく。NXTとはMindstormsシステムを動作させるコンピュータシステムとそのプログラムを指している。Mac版とWindows(XP, Vista, 7対応)版を用意している。また、自分のノートパソコンが BlueTooth機能に対応している場合、NXTとの接続が無線化できるため、便利となる。 一週目に、Mindstormsの概要の説明,各種センサー・モーターの利用方法を説明した後、別途配布された資料を元に、課題としてMindstormsを組み立てつつ、プログラムを作製して、プログラムがどのように書かれており制御ができているかなどを理解する。一週目で

作製するプログラミングは以下の課題Aのすべてを作製し,課題Bより5個を選択して作

製する。 課題A(一緒に作製していく)

1. 揺れを感知するロボット 2. 拍手の回数で仕事を別けられたロボット 3. モーターで距離計測 4. レバーでスピードをコントロール 5. 電子楽器テルミンの作製

課題B(好みに合わせて5つ作製する) 1. シンプルな車

Page 4: 実験種別2 Mindstorms を使ったプログラムとロボット制御実験種別2 Mindstormsを使ったプログラムとロボット制御 1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ

2. ギアでスピードとパワーを変えた車 3. テーブルの端で止まる車 4. 音に反応する車 5. つかず離れずの車 6. 尺取り虫 7. 自動ドア 8. 明るさで開いたり閉じたりする花

その後、各自に配布されたMindstormsの返却に関する確認を行った上で、貸し出しを行う。実験レポート課題として「クリケット」ロボットを作製する。 2週目では、はじめに自分でどのようなロボットを組み立て、プログラムを作製するか

の仕様を自分で決めて、その開発についての口頭発表を行う。このため、仕様については

予め自分で決めて発表に望めるようにしておくこと。発表を通して、プログラム・ロボッ

トの仕様の不足分を補い、仕様に合わせてプログラムを作製する。プログラム上のテクニ

ックなど不明な点がある場合は、逐次質問をすること。 なお、昨年、同じ班で同じロボットが出来上がるという事態を受けて、作製するロボット・プログラムでは、自分自身のオリジナルであり複数のセンサー,モーターを使うことを条件とする。ネット上で見たことのあるロボットを作製した場合は、カンニング扱いとする。

Page 5: 実験種別2 Mindstorms を使ったプログラムとロボット制御実験種別2 Mindstormsを使ったプログラムとロボット制御 1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ

5.プログラムの一例 課題Aの「6.電子楽器テルミンの作製」のプログラム作成例を示す。テルミンとは世

界最古の電子楽器であり、NXTが音を発することが出来ることを利用する。入力側とし

て、超音波センサーと光センサーを利用する。光センサーの入力値を音の強度にする,す

なわち暗いと音を小さくして、明るいと音が小さくなる。超音波センサーの前に手などを

かざして距離を測定して、距離を dとすると、4000-3d2のトーン周波数を発生する。音の

発生間隔は 0.05秒で繰り返し、トーン周波数を NXTに表示させるプログラムとなる。

図3 テルミンのプログラム図

図4 テルミン動作中の NXT

以上のように、複数のセンサーを利用することによって自由なプログラムを作成すること

Page 6: 実験種別2 Mindstorms を使ったプログラムとロボット制御実験種別2 Mindstormsを使ったプログラムとロボット制御 1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ

が可能である。

6.レポート課題 自分のプログラムを作り上げることが本実験の目的であるため、従来のようなレポート

を作成する必要はない。自分の作り上げたロボットについて仕様をまとめたパンフレット

をA4表裏1枚で作り上げる。ロボット・プログラムの特徴,機能など、写真などを使い

つつ、作ったものを十分にアピールできるような仕様書を作り上げ、この仕様書(裏表両

面印刷したものを提出),プログラム(電子データ,メールにて別途送付),貸し出したを

合わせてレポート課題として提出すること。また参考資料などあれば、同時に提出しても

良く、加点対象となる。 なお、貸し出したMindstormsをバラバラにして、次の人が使いやすい形にして返却する。その時に、部品の個数チェックリストのチェックを行うこと。この作業には60分程度か

かる。 もし無くしてしまったパーツがあるようであれば、正直に申し出ること。

7.その他 一般的に成果発表には以下の3つの方法がある 1.スライドを使ったプレゼンテーション発表 2.紙媒体を使ったレポート報告 3.ポスターによる発表 1については1年次の情報処理演習中で行っており、2については対となっている実験,

「色素増感型太陽電池の作製」や工学基礎実験などの他の実験で採用されている。しかし

ながら、思ったより3のポスターを使った発表が多い。このため、限られた紙面で、他の

人が興味を持つような見栄えのする発表練習をする一環として、本レポート課題はA4表

裏1枚のパンプレット形式としている。発表範囲が限られているため、充分相手に内容を

伝えることが最も難しい手段にもかかわらず、世の中では伝える手段として最も広く取り

入れられている。 なお、このような形式を取っていて直接学生に関係するものとしては、就職活動時に企

業に提出するエントリーシート(通称:ES)があります。書類選考として提出するもの

で、限られたスペースの中に充分本人の能力・魅力が適切に書かれているかを問われます。

今回の実験では、与えられたMindstormという環境は全く同じですが、皆さんの個性と能力によって最終的な形態が大きく異なってきます。皆さんの個性と、それをうまく相手に

伝えるプレゼンテーション能力が大きく問われます。

Page 7: 実験種別2 Mindstorms を使ったプログラムとロボット制御実験種別2 Mindstormsを使ったプログラムとロボット制御 1. 実験の目的と概要 我々の身の回りの製品,例えば携帯電話などは完全に電子・機械化されており、さまざ

器具及び材料一覧

個人に配られるもの 共通として準備されているもの

・ロボット組み立て作製図例 ・教育用Mindstorms NXT基本セット ・インテリジェントブロック ・サーボモーター2つ ・タッチセンサー ・光センター ・サウンドセンサー ・超音波センサー ・USBケーブル ・その他パーツ431個 ・教育用Mindstorms NXT拡張セット(希望者のみ) ・ユーザーガイド ・教育用 NXTソフトウエア Ver2.0(指定の URLよりダウンロードしておくこと) ・バッテリー充電用ACアダプター

・入門用 LEGO MINDSTORMS NXT ・LEGO MINDSTORMS NXTオレンジブック ・LEGO MINDSTORMS NXTグレーブック ・LEGO MINDSTROMS NXT歩行用ロボット作製入門 ・レゴブロックと ROBOLABで学ぶエンジニアリングアプローチ ・輪ゴム