about program
電子技術研究部
大会でよく使う制御の一つであるライントレースをマスターしましょう。
プログラムを作るうえで一番最初に考えることは順序だててアルゴリズムを考えることです。
その中で「フローチャート」というアルゴリズムを図を使って見やすくしたものがあります。ではどういうものか体験してみましょう。
身近にあるのアルゴリズムを考えてみましょう。
と、その前にお手本のライントレースを見てみましょう。
下図に簡単にまとめましたがこれにはループ・スイッチの機能があります。



次は実際に自分でライントレースのフローチャートを考えてみましょう。
ライントレースは左図のように黒線に沿ってロボットを動かすことを言います。またライントレースにはいろいろなやり方がありその中でこのページでは二種類紹介します。今から紹介するのはON、OFF制御といいます。これは黒になったらこう、白になったらこうなど1か2みたいな感じでおこなうからです。
WROのコースでも黒線がとても多いのでマスターしましょう。


それでは上図のフローチャートをもとにマインドストームでつくるとこうなります。
「光センサーの値が25以上?」というのは目標値です。黒線の値が約8~19で白が55~70でON、OFF制御の場合、中間より少し黒寄りにするとよいです。

参考動画
これが一つ目のプログラムです。二つ目はP制御といい比例を使ったプログラムを作ります。今回はステアリングを使ってステアリングの値を変えていきます。ほかに左右のモーターのパワーを調整するのもありますが今回は省略します。
まずはP制御がどういうものかを説明します。
![].png](https://static.wixstatic.com/media/02d233_90f6a07b7ada4719a353879eac53f3e9~mv2.png/v1/fill/w_600,h_364,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/%5D.png)

ライントレースのプログラム

このプログラムは光センサーは一つでやっていますが次は二つでやります。
二つの時は「目標値ー計測した値」ではなく
「右の光センサーの値 - 左の光センサーの値」
に変えることでできます。プログラム上にある黄色い線でつながっているものは「データワイヤー」といい数値などをほかのブロックに伝えるときに使うものです。光センサーブロックのように下に凸の形から出しへこんでいるところに入れられます。二つの時も今回はステアリングを使います。ではやってみましょう!

青色のブロックはメモなので無視していいです。ですがプログラミングを作るうえで自分だけがわかるプログラムを作るのではなく誰でもがわかるものを作ることが大切です。なのでメモなどを残すことも一つの手です。
数学ブロック等のデーター操作ブロックの説明は応用編でやります。