Transcript Document

本日の内容④
自律制御ロボットの組立て、動作確認
•ソフトウェアの操作方法の説明
•順次と繰り返しのプログラム
授業で用いる制御ロボットについて
①
Beauto Racer(ビュート レーサー)
②
①.センサ=赤外線センサ
物や床の状況をみる
②.コンピュータ=PICマイコン
命令を覚えたり、行動を考える
③
③.アクチュエータ=モーター、LED
ロボットを動かす。
点灯・点滅する。
ロボットの組み立て
組み立て動画
※部品を落として、壊したりなくしたりしないよう
広い机の真ん中で組立てましょう。
ワークシート③ページでチェックしながら
進めてください。
ロボットの組み立て
奥まで押し込む。
パ
チッ
○
×
先にプッシュリベットを押し込むと、
基板に入れれなくなります。
押し込むのが
かたい場合は、
部品をセットし、
基板をひっく返し、
基板を押すと、
入れやすいです。
ロボットの組み立て
ロボットの組み立て
パチッ
ロボットの組み立て
ロボットの組み立て
モータの軸とタイヤが強く接触し、タイヤが回らない。
→ モータホルダからモータを取り外し、付けなおす。
タイヤが回らない。
うまく入っていない
金具が上向き
OK
手でタイヤが回るか、
確認をしてください。
ロボットの組み立て
パ
チッ
電池ホルダがある面
モータホルダ挿入の注意点
・モータの端子がはみ出している
→ モータホルダをはずし、
端子を戻してから基板に付けなおす。
モータの端子がはみ出している。
・モータホルダがきちんとつけられていない
→ モータホルダのつめを基板に引っ掛ける
部品のつめが
かかっていない
ロボットの組み立て
電源スイッチ
※電池の向きををまちがえないよう注意!
ロボットの動作確認
モータが回らない場合(原因と対応)
1.
2.
部品のつめが
かかっていない
モータの端子がはみ出している。
3. モータの端子の接触が悪い。
→ モータホルダを取り外し
モータの端子を起こし、付けなおす。
→ 裏側よりモータを少しずらしてみる。
接触がよくなる場合があります。
モータを少しずらす。
ロボットを動かしてみよう
ライントレースの用紙を広げて、輪のコースを走らせてみましょう
センサで黒いラインを認識し、
モータの駆動を制御しています。
※用紙はなるべく平らになるように手で伸ばしてください。
※ロボットが机から落ちないように注意!
ロボットのプログラミング
プログラミングには主に
・順次
・繰り返し
・分岐
の3つの手順があります。
順次処理のプログラム
開始
仕事1
仕事2
仕事3
終了
仕事を順番に並べ、一つずつ
実行するようなプログラムを
「順次」のプログラムといいます。
もっとも単純なプログラムです。
ソフトウェア BeautoBuilderRの起動
ダブル
クリック!
車型のアイコン「cl_edit_r.exe」を
ダブルクリックします。
BeautoBuilder Rの画面
パソコンとロボットを接続する
コネクタの接続
向きに注意
小さい方はパ
ソコンへ
電源はOFF
「接続中」になる
※ロボットをケーブルにつないだ状態で
グラグラ動かしたりすると、ケーブルの接触が
不安定になって通信が途切れることがあります。
前進のプログラミング(順次) 「1.5秒前進」
<ワークシート5ページ 課題1>
プログラムの書き込み
「書込」ボタンを
クリック!
書き込みが終わるま
で待つ
青いメーターが一瞬で右端まで届き、画面が消えたら書き込み終了。
書き込みに10秒以上かかる場合は失敗しているので、
「中断」をクリックし、一度ケーブルを抜き差しして書き込みなおす
プログラムの実行
USBよりロボットを抜きます。
ONにすると、すぐに1.5
秒間前進
机
の
真
ん
中
ON←OFF
電源スイッチをONにすると
すぐにプログラムが始まる
※ロボットが落ちないよう、
机の中央、または床の上で
プログラムを実行してください。
【まっすぐに行かない場合】モータ速度の調整
調整
調整
「設定」→「モーターの設定」を選択。
「OK」をクリック
右モーター
が速い。
左
右
左に曲がる場合、右モーターの数値を
2~3少なくする。「OK」をクリック。
設定を変更したら、もう一度「書き込み」を行ないます。
課題 15cm前進するプログラムを作ろう
プログラムをスタートしたら、
15cm前進するプログラムを
作りましょう。
15cm 前進
次の点を整理してプログラミング
しましょう。
スタート
①前進の時間をどう設定するか
<ワークシート5ページ 課題2>
前進のプログラム 時間の変更
① クリック
命令をクリックすると、
左下の「設定エリア」の
表示が変わります。
表示が
切り替わる
クリックすると
進む時間が変わる
他のブロックの動きを確認
前進以外のブロックでは、ロボットがどのように
動作するのか確かめてください。(5分間程度)
【作成例】他のブロックの動きを確認
前進や旋回のブロックを使用、
動作時間を変更する。
<ワークシート5ページ 課題3>
課題 1周するプログラムを作ろう
プログラムをスタートしたら、
1秒間前進して180度回り、
もう一度1秒前進して180度回り、
スタート地点に戻るプログラムを
作りましょう。
180度ター
ン!
1秒前進
1秒前進
次の点を整理してプログラミ
ングしましょう。
スタート&
ゴール
180度ター
ン!
①どの命令が必要なのか
②どういう順番でつなげるのか
③時間をどう設定するか
<ワークシート5ページ 復習1>
課題 解答例
180度ターンは旋回の命令を使います。
180度ターンを行なうには、旋回の秒数を
変えながら何度もプログラムを実行して、
正しい時間を調べる必要があります。
◆ロボットが速すぎて動作が安定しない
→「モーターの設定」で、動作が安定するまで
スピードを落としましょう。 (モータ速度「50」付近)
◆ロボットのモータが動かない
→モータの端子の曲げやモータホルダの取り付け
を確認しましょう。
→モータのスピードの設定が遅すぎると
動かなくなる場合があるため、
動くまでスピードを上げるように調整しましょう。
繰り返しのプログラミング
1周するプログラムを改造して、ロボットが5周 走るには?
<ワークシート6ページ 課題4>
一周目
同じ命令を5個並べると作成できますが、
手間がかかりプログラムも見づらくなります。
また、もし10周に増やしたい場合は、更に
手間がかかります。
このように同じ命令を何度も実行する場合
は、「繰り返し」を使います。
二周目
5周目まで続く…
5周
繰り返しブロックの使い方
繰り返しブロックは、「繰り返しの始まり」
と「終わり」の二つがセットになっています。
繰り返す回数を自由に設定できます。
繰り返し回数を設定
繰り返しブロックで挟まれた命令を
設定した回数だけ繰り返します。
5周する 繰り返しのプログラミング
課題1を5回繰り返
すプログラム
課題1で作成したプログラムに
繰り返しブロックを追加してみよう。
繰り返しの命令を活用すると、効率
よくプログラミングできます。
同じような命令がいくつも出てくる場
合は、共通する部分を繰り返しの命
令でうまくまとめてみよう。
繰り返しは
5回に設定
繰り返しプログラミングの応用
繰り返しの中で繰
り返しを使う
プログラム
「繰り返し」の中に「繰り返し」を
使うというような複雑な構造も
できます。
繰り返し命令の注意点
繰り返し命令は、「繰り返しの始まり」から「終わり」に
正しくつながらないと、おかしな動作になります。
繰り返しの途中で
止まってしまう
一度も繰り返さず
に終了してしまう
繰り返しのはじめがお
かしくなってしまう
課題 ジグザグに走るプログラム
ゴール
1秒
3回
2回
1回
スタート
プログラムをスタートしたら、
3回ジグザグに進んで、最後に
1秒前進するプログラムを作り
なさい。ただし、必ず繰り返し
を使い、前進・右旋回(0.5秒)
左旋回(0.5秒)はそれぞれ
一つしか使ってはいけません。
次の点を整理してプログラミングを
行いましょう。
①どの部分を繰り返すと良いのか
②どの部分を繰り返してはいけな
いのか
<ワークシート6ページ 課題5>
課題 解答例
最初に右旋回・左旋回の命令を
つなげて、それを繰り返しブロック
で囲みます。
前進は最後に一回だけなので、
繰り返しに入れないように注意。
【まとめ4】
①
ロボットは、
①センサ
②コンピュータ
③アクチュエータ
②
という要素を持っています。
③
①.センサ=赤外線センサ
物や床の状況をみる
②.コンピュータ=PICマイコン
命令を覚えたり、行動を考える
③.アクチュエータ=モーター、LED
ロボットを動かす。
点灯・点滅する。
本日の内容⑤
・分岐のプログラム
・様々なライントレースコースに
挑戦!!
開始
仕事1
仕事2
仕事3
終了
【順次】
分岐のプログラミング
条件によって処理の内容を変えたい
場合に、「分岐」を使います。
分岐
YES
仕事A
NO
仕事B
分岐ブロック
例えば、自動ドアで は、センサで感知し
ドアの前に人がいる場合、「開く」
ドアの前に人がいない場合、「閉じる」
という処理が行なわれています。
次にロボットのセンサを用いた分岐の
プログラミングを行ないます。
→ センサに指を近づけると
タイヤが回るプログラミング
<ワークシート7ページ 課題6>
ロボットのセンサとインターフェースについて
赤外線センサを搭載
赤外線センサは、赤外線を出す部分と
反射した赤外線を受ける部分を持ちます。
指
赤外線を出
す部分
赤外線を
受ける部分
反射した赤外線を受け
て物体を感知する
インターフェースが、赤外線センサのアナログ信号を、ロボット内のコンピュータが処理
するためにデジタル信号に変換しています。
※ インターフェースとは情報のやり取りを仲介するもの、その仕組みのこと
センサ‐インターフェースA‐コンピュータ‐インターフェースB‐アクチュエータという関係になります。
センサ値の計測
パソコンにロボットを接続するとセンサ
の値がセンサエリアに表示されます。
センサエリア
指でセンサを押さえて反応を確かめましょう。
●センサを指で押さえると、数値はいくつになる? →センサ値[
●指をはなすと、数値はいくつになる? → センサ値[
]
]
【赤外線センサ メモ】
センサと指の距離によって
センサ値が変化します。
物体が遠いと反射する赤外線が
減少し、受ける赤外線も減少する。
白熱灯や太陽光には赤外線が多く含ま
れるため、赤外線センサは、これらの外
光によって誤反応する場合があります。
指
指
赤外線を出
す部分
赤外線を
受ける部分
分岐ブロック 【しきい値の決定方法について】
・指を押さえているとき
センサ値=10付近
・指を離しているとき
センサ値=150付近
センサ値は、ノイズや電源の影響
で、実際には若干 変化します。
ノイズなどの影響を踏まえ、「指を
押さえているとき」と「指を離してい
るとき」の状態を分けるしきい値は
2つのセンサ値の真ん中にするよう
にします。
しきい値=80
しきい値
(10+150)÷2=80
10 ~ 80 ~ 150
+70 +70
左センサに指を近づけるとタイヤが回るプログラミング
しきい値は80
【 左センサ<80 】
タイヤが回る
止まる
・センサを押さえる(10付近)
前進
左センサが80よりも小さい→「はい」 タイヤ回る
・センサから離す(150付近)
左センサが80よりも大きい→「いいえ」 止まる
左センサに指を近づけるとタイヤが回るプログラミング
プログラムを繰り返すので
ループを使用する。(無限)
設定できたらプログラムを
実行してみましょう。
パソコンからロボットを抜き、
電源をONにします。
課題 左回りのライントレースを作成しなさい。
・左センサを使用します。
左回り
・左センサが白色のとき、前進
・左センサが黒色のライン上のとき、
どちらに曲がる?
ライントレース:ラインの計測
白・黒や濃淡の計測
白い
白
黒
黒い
黒色は光を吸収する性質が
あるため反射光が少なくなります。
●白色・黒色ではセンサの値は
いくらになりますか?
白色 → センサ値[
]
黒色 → センサ値[
]
●グラデーションのところでは
どのように数値が変化する?
ライントレース(左回り):分岐動作について
【カーブに来たとき】
左センサにラインが
かかれば、左に曲がる
左センサ=160 (黒)
ラインにかからない
場合、そのまま前進
左センサ=10 (白)
左センサが白の上(85より小さい)
→ 前進
左センサが黒の上(85より小さくない)
→ 左旋回
繰り返しの設定
同じ動作をずっと
繰り返しさせたいので、
Loopは「無限」の
繰り返しで設定する。
センサへの反応を早める方法
前進(1.5秒)または左旋回(1.5秒)
している間は、センサで検知されない。
センサへの反応を早める方法
前進(1.5秒)というブロック
実は、3つのブロックから出来ています。
「前進」+「3秒続ける」+「止まる」
前進(1.5秒)を「前進」のみにすることで
無駄な処理がなくなり、
センサへの反応を早めることが出来ます。
(左旋回も同様です。)
センサへの反応を早める方法
「前に進む」をチェックする
「左に曲がる」をチェックする
ライントレースのプログラミング(左回り)
左回り
ライントレースさせてみましょう
課題 解答例
右センサを使用
・右センサが白色のとき
→ 前進
・右センサが黒色のライン上のとき
→ 右旋回
課題 S字のライントレースを作成しなさい。
<ワークシート7ページ 課題8>
課題
ヒント
ライントレースを行なう際、ロボットには4つの状況があります。
左センサが白
左センサが白
左センサが黒
左センサが黒
右センサが白
右センサが黒
右センサが白
右センサが黒
⇒前進
⇒右旋回
⇒左旋回
⇒停止
課題
ヒント
左センサで計測してから、
右センサで計測するようになっています。
課題
答え①
白・白
白・黒
黒・白
黒・黒
前進
右旋回
左旋回
停止
課題
答え②
課題 白黒が逆転したライントレース(左・右周り)
<ワークシート8ページ 課題10>
ヒント 白黒が逆転したライントレース
左センサが白
左センサが白
左センサが黒
左センサが黒
右センサが白
右センサが黒
右センサが白
右センサが黒
⇒前進
⇒左旋回
⇒右旋回
⇒前進
解答例1 白黒が逆転したライントレース
白・白
白・黒
黒・白
黒・黒
前進
左旋回
右旋回
前進
解答例1 白黒が逆転したライントレース
解答例2 白黒が逆転したライントレース
黒
白
白
黒
「小さい値?」のとき
白の上 センサ値10=[はい]の方向へ
黒の上 センサ値160=[いいえ]の方向へ
黒
白
「大きい値?」に変更すると
黒の上 センサ値160=[はい]の方向へ
白の上 センサ値10=[いいえ]の方向へ
課題
自分でコースを考え、クリアするためのプログラムを作成しなさい。
黒のビニールテープや黒のマジック(2cm幅)は、認識可能です。
START
直線コース
黒いゴールエリアで
ストップする
GOAL
【まとめ5】
コンピュータは、順次や繰り返し・分岐などのプログラムによって
処理を行ない、我々の生活において計測や制御で重要な役割を
果たしています。
今後もコンピュータの発展に伴い、生活に役立つたくさんの
コンピュータ制御機器が出てくることでしょう。