• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / Arduino / Arduino番外編 / 「ELEGOO UNO R3スマートロボットカーV3.0+」でライントレース(自動運転)をやってみた

「ELEGOO UNO R3スマートロボットカーV3.0+」でライントレース(自動運転)をやってみた

2019年10月27日 by STEMSHIP 1 コメント

前回の記事(「ELEGOO UNO R3スマートロボットカーV3.0+」で障害物回避(自動運転)をやってみた)に引き続き、今回はライントレースカーがどのような仕組みで動いているのか、簡単に説明したいと思います。

1.ライントレース(自動運転)の動作について

自動車業界のトレンドとして、自動運転があります。自動運転にはいくつかレベルがあり、現在はレベル1やレベル2の機能が搭載された車が増えてきています。その内の「車線逸脱防止支援システム(レーンキープアシスト)」の機能を簡素化しておもちゃの車に搭載したのが、今回の作成物です。

ライントレーサモードで動かしてみました!良い感じ😍#Arduino #elegoo #ライントレーサ pic.twitter.com/H56ZXxORtV

— STEMSHIP (@stemship) October 19, 2019

2.回路構成

この機能を構成するための主なパーツは下記のとおりです。
これらは、「ELEGOO UNO R3スマートロボットカーV3.0」に含まれています。

  • ライントラッキングモジュール(TCRT5000 ×3個)
  • モータドライバ(L298N)
  • DCモータ4個
  • Arduino-UNO-R3

TCRT5000は、 反射型フォトセンサ(フォトリフレクタ)  という素子で、赤外線LEDを出して、その反射光を検出する機能があります。

実際の車では、車線(白線・黄線)をカメラで認識して、そこから逸脱しないように、タイヤの向きを自動で制御します。もし、車線が認識できない場合は、前方を走行する車をカメラで追従して走行する車も出てきています。(wikipedia:車線逸脱防止支援システム)。今回のキットでは、安価に実現するために、黒線上を走行する仕様とし、黒線をフォトリフレクタで認識して、逸脱しないよう左右のモータ回転を制御します。黒い表面の光反射率は、白い表面の光反射率と異なることを利用しています。 フォトリフレクタの使用数は3個です。1個や2個だと、モータ制御が間に合わずに車線を逸脱しやすく、4個以上になると制御プログラムが複雑になるため、3個を選んだのだと思います。

3.プログラム構成

プログラムの概要は下記の図のとおりです。

  1. 真ん中のセンサが黒線上にある場合、車は直進します。
  2. 真ん中のセンサが黒線から外れており、右側のセンサが黒線上にある場合、 車は左寄りにずれていると判断し、右側に進みます。
  3. 真ん中のセンサと右側のセンサが黒線から外れており、左側ののセンサが黒線上にある場合、 車は右寄りにずれていると判断し、左側に進みます。

プログラムの流れは下記のフローチャートのとおりです。

簡単なアルゴリズムですが、ちゃんとトラッキングして走ってくれます。しかし、ガタガタ走行(愛らしいですが)で急なカーブや黒線がくねくね曲がっていると、脱線して停止してしまいます。より正確なトラッキングをするためには、PID制御などを使用する必要があります。これは高校数学レベルの知識(微分・積分)を理解している必要があります。PID制御については別の機会に記事にしたいと思います。

Filed Under: Arduino番外編 関連タグ:ELEGOO, ライントレース

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2023年3月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
2728293031  
« 10月    

Copyright © 2023 · STEMSHIP.COM