マナビング基本情報技術者

光センサの出力差で左右モータの速度をどう変えるか

基本情報技術者試験 平成29年度秋期 午前 問4 / 基礎理論 › 計測・制御に関する理論

過去問にチャレンジ

平成29年度秋期 午前 問4

図のような黒色で描かれた円に沿って車が走るように、左右の後輪に独立に取り付けられたモータL及びRの回転速度を制御する。センサL及びRは反射型光センサであり、センサが黒色に掛かる比率が大きいと出力値が小さくなり、黒色に掛かる比率が小さいと出力値が大きくなる。この車を円に沿って走行させるためのモータ回転速度の制御方法として、適切なものはどれか。ここで、二つのセンサの出力値が一致するときには、二つのモータの回転速度を初期値に戻すものとする。

平成29年度秋期 午前 問4の図
平成29年度秋期 午前 問4の図
  1. ア

    上げる,下げる,上げる,下げる

  2. イ

    センサL出力値>センサR出力値のとき:モータL回転速度を上げる,モータR回転速度を下げる センサL出力値<センサR出力値のとき:モータL回転速度を下げる,モータR回転速度を上げる

  3. ウ

    下げる,上げる,上げる,下げる

  4. エ

    下げる,上げる,下げる,上げる

会話形式の解説

講師講師
この問題では、2個のセンサの出力値から黒線が車のどちら側に寄っているかを読み取ります。そのうえで、左右の後輪モータの速度差でどちらへ曲がるかを決めます。注目してほしいのは、黒に多く掛かるほど出力値が小さくなるというセンサの性質です。
受験者受験者
図では、センサLとセンサRが黒線の左右の縁に掛かる位置にありますね。私は最初、出力値が大きいほうに黒線があると思い込んでしまいました。
講師講師
問題文の条件で確かめましょう。センサが黒に掛かる比率が大きいと、出力値はどうなりますか。
受験者受験者
小さくなります。だとすると、センサLの出力値がセンサRより大きいときは、センサRのほうが黒に多く掛かっています。つまり、黒線は車の右側に寄っているということですね。
講師講師
そうです。その場合、線に戻るには右へ曲がればよいわけです。では、左右の車輪を別々のモータで動かす車は、どうすれば右へ曲がりますか。
受験者受験者
左の車輪を速くすれば右へ曲がる、と考えました。速く回る車輪の反対側へ曲がる、ということでしょうか。
講師講師
その通りです。左を速く、右を遅くすれば車は右へ向きを変えます。ですから、L>Rのときは「モータLを上げる、モータRを下げる」が正しい操作です。
受験者受験者
L<Rのときは逆で、黒線が左側にあるので「モータLを下げる、モータRを上げる」ですね。この組み合わせになっているのはイです。
講師講師
はい。どちらの場合も線に近づく向きに直せます。ほかの選択肢も確かめましょう。どちらの場合も「Lを上げる、Rを下げる」になっている選択肢はどうでしょうか。
受験者受験者
いつも右へ曲がる操作です。L<Rで線が左側にあるときも右へ曲がるので、線から離れてしまいます。
講師講師
そうです。反対に、どちらの場合も「Lを下げる、Rを上げる」の選択肢は、いつも左へ曲がります。L>Rで線が右側にあるときに戻れません。出力の大小が逆になっても操作が同じなので、制御として成り立たないわけです。
受験者受験者
残るのは、イとちょうど逆の操作をする選択肢ですね。L>Rで左へ、L<Rで右へ曲がるので、どちらの場合も線から離れる向きに進んでしまいます。
講師講師
その通りです。その操作では、ずれがどんどん大きくなっていきます。
受験者受験者
まとめると、出力値が小さい側に黒線があり、その側へ曲がるには反対側のモータを速くします。そして出力の大小が入れ替わったら、モータの操作も左右で入れ替わる、ということですね。
講師講師
はい。選択肢を見るときは、まずL>RとL<Rで操作が左右入れ替わっているかを確かめると、入れ替わっていない2つはその時点で外せます。残る2つは、L>Rの場合だけ考えれば区別できます。「出力値が小さい側に黒線がある」「速く回る車輪の反対側へ曲がる」の2点を問題文の条件から読み取れば、選択肢は絞れます。

まとめ

黒線の左右の縁に掛かる位置に置いた2個の反射型光センサの出力差を使い、左右の後輪モータの速度差で車の向きを直す制御を問う問題です。このセンサは黒に多く掛かるほど出力値が小さくなるので、出力値が小さい側に黒線があります。左右の車輪を別々のモータで動かす車は、速く回る車輪の反対側へ曲がります。そのため、L>Rのときはモータを「L上げ・R下げ」にして右へ、L<Rのときは「L下げ・R上げ」にして左へ曲がるイが正解です。出力の大小が入れ替わっても操作が変わらない選択肢と、線から離れる向きに曲がる選択肢は誤りです。

解答・解説

正解はイです

この問題のテーマ

黒線の両側に置いた2個の反射型光センサの出力差から、車が線のどちら側にずれたかを判断し、左右の後輪モータの速度差で進む向きを直す制御(ライントレース)を問う問題です。

解き方の考え方

図では、センサLとセンサRが黒線の左右の縁に1個ずつ置かれています。まず、出力値の大小から黒線がどちらのセンサ側に寄っているかを判断します。次に、車が線に戻るには左右どちらへ曲がればよいかを決めます。最後に、その向きへ曲がるには左右どちらのモータを速くすればよいかを考えます。2つの場合(L>R、L<R)で、それぞれ逆向きの操作になっていることを確かめます。

選択肢ごとの解説

  1. ×ア  上げる,下げる,上げる,下げる
    アの表は、L>RでもL<Rでも「Lを上げる、Rを下げる」で、どちらの場合も右へ曲がる操作です。L<Rのときは黒線が左側にあるので、さらに右へ曲がると線から離れてしまいます。ずれた向きによって操作を切り替えていないので、線に沿って走れません。
  2. ○イ  センサL出力値>センサR出力値のとき:モータL回転速度を上げる,モータR回転速度を下げる センサL出力値<センサR出力値のとき:モータL回転速度を下げる,モータR回転速度を上げる
    L>Rのときは、センサRのほうが黒に多く掛かっていて、黒線は車の右側に寄っています。イではLを上げてRを下げるので、車は右へ曲がって線に戻ります。L<Rのときは黒線が左側に寄っていて、イではLを下げてRを上げるので、車は左へ曲がります。どちらの場合も線に近づく向きに直せます。
  3. ×ウ  下げる,上げる,上げる,下げる
    ウの表は、イとちょうど逆の操作です。L>R(線が右側)のときにLを下げてRを上げると、車は左へ曲がります。L<R(線が左側)のときには右へ曲がります。どちらの場合も線から離れる向きに曲がるので、ずれが大きくなっていきます。
  4. ×エ  下げる,上げる,下げる,上げる
    エの表は、どちらの場合も「Lを下げる、Rを上げる」で、いつも左へ曲がる操作です。L>Rで線が右側にあるときも左へ曲がるので、線に戻れません。センサの出力の大小が逆になっても操作が同じなので、制御として成り立ちません。

補足

選択肢を見るときは、まずL>RとL<Rで操作が左右入れ替わっているかを確かめるとよいです。入れ替わっていないアとエは、その時点で外せます。残ったイとウは、L>Rの1つの場合だけ考えれば区別できます。

POINT

  • この問題のセンサは、黒に掛かる割合が大きいほど出力値が小さくなるので、出力値が小さい側に黒線があります。
  • 左右の車輪を別々のモータで動かす車は、速く回る車輪の反対側へ曲がります(左を速くすると右へ曲がります)。
  • 線に戻すには、黒線が寄っている側へ曲がる操作をします。
  • 正しい制御なら、2つのセンサの出力の大小が入れ替わったとき、モータの操作も左右で入れ替わります。

※出典:平成29年度秋期 基本情報技術者試験 午前 問4(一部改変)