前期3回目のテキストができました。
今回は、床面の明るさの差をステアリングに直結する1)「P制御」というライントレースを組み込みました。
これを使うことで、ラインに沿って滑らかにトレースすることができます。スピードはあまり速くできませんが、そのあとの動きに精密さが必要とされるときに便利です。
そのあとは、2)Aモーターを使ったアームの開閉と、3)壁を使ったお尻のバンパーを使った位置合わせをしています。
今回も盛りだくさんですが、これで基本のテクニックは教えてしまったので、あとは工夫次第です。
ぼくのロボットでは、2つ目のサンゴを入れるまでで50秒。あと残り1分間でどの得点を取りに行くか考えてください。アームで廃棄物の箱を開けに行くのも、スタート地点に戻ってゴールのポイントをゲットするのも自由です。
1)「P制御」のライントレース
まず目標とする明るさを設定し、その明るさとの差をステアリングに入力してやります。床の明るさが目標とする明るさと同じなら引き算の答えが0になって、まっすぐ進みます。
目標とする明るさより明るい場合は引き算の答えが+になるので右方向にステアリングが切れます。明るさがかけ離れているほど、ハンドルを切る大きさが大きくなります。
目標とする明るさより暗い場合は引き算の答えがーになるので左方向にステアリングが切れます。
このマイブロックでは、Bモーターの進んだ角度で止まりたいのでbというパラメーターを追加しました。
2)アームの上げ下げ
Aに繋げているモーターは、一見、どちらに回せばアームが上がるのか分かりません。
正直、ぼくも当てずっぽうです。分からないときは試せばいいのです。適当に90度ほど回すようにプログラミングしてみて、そのテストの結果で確かめればいいだけです。プログラミングでは、どうプログラミングしたら理想の動きができるのかよく分からないときがありますが、面倒がらずに自分で試してみることが大事です。実験を繰り返して理解を深めていけばいいのです。ぼくのロボットの場合は+方向で下がるということが分かりました。
3)お尻で位置合わせ
ロボットの向きを確実に合わせるのには、P制御のライントレースの他に物理的な方法も使えます。
車体を押し付けてやればいいのです。今回は以下のようなバンパーを取り付けて、確実にお尻を押し付けて向きをそろえます。
プログラム自体は超単純なので、テキストを見てください。
フルパワーで数秒バック。が定番です。
今回で、ロボットの基本の動きはマスターできました。あとは、自分の作戦を立てて1点でも多くのポイントが取れるようにがんばってください。