ラインフォロワーロボットは、黒い線または白い線のいずれかの線をたどる非常に単純なロボットです。これらのタイプのロボットは、構築が非常に簡単で、ロボット工学を始めたばかりの初心者にとって、多くの場合、最初の選択肢です。基本的に、ラインフォロワーロボットには2つのタイプがあります。1つは黒い線に続く黒いラインフォロワーで、もう1つは白い線に続く白いラインフォロワーです。ラインフォロワーは実際にラインを感知してフォローします。アイデアは単純に聞こえますが、もう少し開発が進んでいますが、これに似たロボットは、工場のフロア管理ロボットや倉庫ロボットなどの多くのアプリケーションで実際に使用されています。
ラインフォロワーの概念
ラインフォロワーの働きの概念は光に関連しています。ここでは、黒と白の表面での光の動作を使用します。光が白い表面に当たると、ほぼ完全に反射され、黒い表面の場合、光は完全に吸収されます。この光の振る舞いは、ラインフォロワーロボットの構築に使用されます。
このArduinoベースのラインフォロワーロボットでは、フォトダイオードとも呼ばれるIR送信機とIR受信機を使用しました。それらは光の送受信に使用されます。 IRは赤外線を送信します。赤外線が白い表面に当たると、反射してフォトダイオードに捕らえられ、電圧変化が発生します。 IR光が黒い表面に当たると、光は黒い表面に吸収され、光線は反射されないため、フォトダイオードは光や光線を受け取りません。このArduinoラインフォロワーロボットでは、センサーが白い表面を感知すると、Arduinoは入力として1を取得し、黒い線を感知すると、Arduinoは入力として0を取得します。
ラインフォロワーロボットは興味深い初心者プロジェクトであるため、Arduino以外のさまざまな開発ボードを使用して構築しました。興味がある場合は、以下のリンクを使用してチェックすることもできます。
- 8051マイクロコントローラーを使用したラインフォロワーロボット
- RaspberryPiを使用したラインフォロワーロボット
- Texas MSP430Launchpadベースのラインフォロワー
- PICマイクロコントローラーを使用したシンプルなラインフォロワー
- ATmega16AVRマイクロコントローラーを使用したラインフォロワー
回路の説明
Arduinoラインフォロワーロボット全体は、センサーセクション、制御セクション、ドライバーセクションの3つのセクションに分けることができます。
センサーセクション:
このセクションには、IRダイオード、ポテンショメータ、コンパレータ(Op-Amp)、およびLEDが含まれています。ポテンショメータはコンパレータの1つの端子で基準電圧を設定するために使用され、IRセンサーはラインを検出してコンパレータの2番目の端子で電圧の変化を提供するために使用されます。次に、コンパレータは両方の電圧を比較し、出力でデジタル信号を生成します。このラインフォロワ回路では、2つのセンサーに2つのコンパレータを使用しています。LM358はコンパレータとして使用されます。LM358には2つの低ノイズオペアンプが組み込まれています。
制御セクション:
Arduino Pro Miniは、ラインフォロワーロボットのプロセス全体を制御するために使用されます。コンパレータの出力は、Arduinoのデジタルピン番号2と3に接続されています。Arduinoはこれらの信号を読み取り、ドライブラインフォロワーのドライバー回路にコマンドを送信します。
ドライバーセクション:
ドライバーセクションは、モータードライバーと2つのDCモーターで構成されています。Arduinoはモーターに十分な電圧と電流を供給しないため、モータードライバーはモーターの駆動に使用されます。そこで、モーターに十分な電圧と電流を得るためにモータードライバー回路を追加します。Arduinoはこのモータードライバーにコマンドを送信してから、モーターを駆動します。
Arduinoを使用したラインフォロワーロボットの動作
Arduinoを使用してラインフォロワーロボットを構築するのは興味深いことです。ラインフォロワーロボットは、センサーを使用して黒い線を感知し、信号をArduinoに送信します。次に、Arduinoはセンサーの出力に従ってモーターを駆動します。
このプロジェクトでは、2つのIRセンサーモジュール、つまり左センサーと右センサーを使用しています。左右のセンサーが白を感知すると、ロボットは前進します。
左側のセンサーが黒い線上にある場合、ロボットは左側を回します。
右側のセンサーが黒い線を感知した場合、ロボットは両方のセンサーが白い表面に来るまで右側を向きます。白い表面が来ると、ロボットは再び前進し始めます。
両方のセンサーが黒い線上に来ると、ロボットは停止します。
回路図
上の画像に、arduinoラインフォロワーロボットの完全な回路図を示します。ご覧のとおり、コンパレータの出力はArduinoのデジタルピン番号2と3に直接接続されています。また、モータードライバの入力ピン2、7、10、15はそれぞれArduinoのデジタルピン番号4、5、6、7に接続されています。また、1つのモーターはモータードライバー3と6の出力ピンに接続され、もう1つのモーターはピン11と14に接続されます。
プログラムの説明
プログラムでは、まず入力ピンと出力ピンを定義し、次にループで入力をチェックし、入力に従って出力を駆動モーターの出力ピンに送信します。入力ピンをチェックするために、「if」ステートメントを使用しました。完全なラインフォロワーロボットコードは、このページの下部にあります。
この行には、Arduinoを使用して読み取ったロボットに続く4つの条件があります。左センサーと右センサーの2つのセンサーを使用しました。
入力 |
出力 |
移動 ロボットの |
||||
左センサー |
右センサー |
左モーター |
右モーター |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
やめる |
0 |
1 |
1 |
0 |
0 |
0 |
右に曲がる |
1 |
0 |
0 |
0 |
1 |
0 |
左折してください |
1 |
1 |
1 |
0 |
1 |
0 |
フォワード |
上記の表に示す条件に従って、arduinoラインフォロワーコードを記述します。
必要なコンポーネント
Arduino
私たちのプロジェクトでは、マイクロコントローラーを使用して、ARDUINOであるシステムのプロセス全体を制御しました。Arduinoはオープンソースハードウェアであり、プロジェクト開発に非常に役立ちます。Arduino UNO、arduino mega、arduino pro mini、Lilypadなどの多くの種類のarduinoが市場に出回っています。ここでは、arduino pro miniが小さく、ブレッドボードと互換性があるため、このプロジェクトではarduino prominiを使用しました。ラインフォロワーロボットのarduinoコードを書き込むために、FTDIバーナーを使用しました。
L293Dモータードライバー
L293Dは、2つのモーターを駆動するための2つのチャネルを備えたモータードライバーICです。L293Dには、電流増幅用の2つのトランジスタダーリントンペアと、モーターに外部電源を供給するための独立した電源ピンが組み込まれています。
IRモジュール:
IRモジュールは、IR LED /フォトダイオードペア、ポテンショメータ、LM358、抵抗器、LEDで構成されるセンサー回路です。IRセンサーは赤外線を送信し、フォトダイオードは赤外線を受信します。
電源
Arduino、コンパレータ、モータードライバー用に5ボルトを得るために電圧レギュレーターを追加しました。また、9ボルトのバッテリーを使用して回路に電力を供給します。