PR

【mbotプログラミング】直角カーブに対応するライントレース

サブスク会員限定講座
この記事は約9分で読めます。

【課題#2】直角カーブに対応するライントレース

この課題では、mBotのライントレースにおいて、直角カーブのコースに対応した制御プログラムを作成します。

mBotのライントレースセンサーは、H/W構造上、直角カーブの検出(右折するか左折するかの判断)は困難です。

このような場合でも、逆走せずにライン追従する制御方法をご紹介します。

先生や親御さんへ

この課題は、プログラミング教育の必修化に伴い、子どもたちに楽しくプログラミングを教えるために作成した教材です。

未経験の先生や、家庭で子どもと一緒にプログラミングを学びたい親御さん向けに、ロボットプログラミングを通じて、子どもたちの論理的思考力や創造性を伸ばすきっかけとなれば幸いです。


チャレンジ課題の一覧はこちら

かにロボ
かにロボ

ライントレース用の黒色ラインの作成には、反射の少ない黒色マスキングテープがお勧めです。
(黒色マジックペンでは、反射してセンサーが黒色を認識しないことがあります)

この課題で学べること

  1. センサーの限界とその克服方法:センサーの弱点を理解し、その課題を解決する創造的なプログラム設計を習得します
  2. 複雑なプログラム構造への対応:複数の条件を組み合わせた、より高度な条件分岐による制御ロジックを学びます
  3. 問題解決力の強化:逆走や予期せぬ動作発生時のプログラム修正を体験し、トラブル対応のスキルを養います。

課題の概要

mBotのライントレースセンサーは、通常の曲線ではスムーズにライン追従動作が可能ですが、直角カーブが現れるとその検出が困難になります

直角カーブを含むライントレースのコース

困難な理由

直角カーブに差し掛かった際、mBotに搭載された2つのライントレースセンサーがほぼ同時に「黒]⇒「白」へ変化するため、右折なのか左折なのかの判断がつきません。

この結果、ロボットは逆走するなど不適切な動作を行う可能性があります。

目標

この課題では、直角カーブでもライン追従動作を正確に行える制御プログラムを構築します。

逆走せず、効率よくラインを追従する動きを実現することがゴールです。

使用するツール

  1. mBot
  2. PC
    • 『mBlock』をインストールしたもの
  3. ライントレース用コース
    • 反射の少ない黒色マスキングテープで作成するのがおススメ

制御方法の概要

ベースとするプログラム

直角カーブに対応するプログラムのベースとなるのは、通常の曲線カーブに対応する次のプログラムとします。

ライントレースセンサーの検出値(0~3)に応じて、直進右回転左回転後退を行います。

※ループ処理は省略

ライントレースセンサーの検出値に関しては、以下の記事を参照ください。

課題に対する具体策

方向転換の正誤判定

直角カーブでは、ライントレースセンサーがほぼ同時に「黒]⇒「白」へ変化するため、事前に右折なのか左折なのかを判断することができません。これは、mBotのライントレースセンサーの限界と言えます。

そのため、『「黒]⇒「白」の変化時に右折なのか左折なのかを判断する』のではなく、『右折/左折後に、この選択が正しかったのかを判断する』ことが対策の一つとなります。

タイトルとURLをコピーしました