ラズパイでAGVを制御する(その2)【サンプルコード付き】ラズパイで製造業のお手軽IoT活用(9)(1/4 ページ)

小型ボードコンピュータ「Raspberry Pi(ラズパイ)」を使って、低コストかつ現場レベルでIoT(モノのインターネット)を活用する手法について解説する本連載。第9回では、前回紹介したラズパイで制御するAGVについて、その構造や制御プログラムについて説明する。サンプルコードもあるよ!

» 2021年07月08日 10時00分 公開
※本記事はアフィリエイトプログラムによる収益を得ています

 近年、工場などで用いられるAGV(Automatic Guided Vehicle:無人搬送車)について、より高度な走行制御を行うための取り組みが進んでいます。そこで、AGVの制御に小型ボードコンピュータの「Raspberry Pi(ラズベリーパイ、略してラズパイ)」を活用する目的や方法について2回に分けて解説しています。

⇒連載「ラズパイで製造業のお手軽IoT活用」バックナンバー

 今回は前回の続きとして、具体的なサンプルを使って、ラズパイで制御するAGVの構造や制御プログラムについて解説していきます。

システム構成

 まず、車輪にモーターを付けた2階建てのAGV模型に、モータードライバ経由で4つの車輪からの正転/逆転の信号を8箇所、ラズパイのGPIOピンに接続しています。図1に、カメラやモータードライバ基板、車輪駆動用の9V電池を搭載する1階部分と、ラズパイと超音波センサー、ラズパイの電源となるモバイルバッテリーを搭載する2階部分から成るAGV構成図を示しました。

図1 図1 AGV構成図(クリックで拡大)

 このAGVの制御は、ラズパイのLinuxOS上に実装した、Python言語で記述したソフトウェアプログラムで行います。ソフトウェア構成図は図2のようになっています。

図2 図2 ソフトウェア構成図

制御の流れ

 次に制御の流れについて説明します。今回は走行パターンとして次の2種類を用意しています(図3、4)。

走行パターン1:障害物を検知した自動走行

 障害物を検知すると障害物を避けて自動走行する

  • ①前進→②障害物を検知→③停止→④後退→⑤右左折→⑥前進、①〜⑥を繰り返す
図3 図3 障害物を検知する走行パターン1(クリックで拡大)

走行パターン2:QRコードを認識した自動走行

 QRコードを認識して自動走行をする

  • 右左折の走行制御
    • ①前進→②QRコード読み取り(右折または左折)→③走行(右折または左折)→④前進
  • 停止の走行制御
    • ①前進→②QRコード読み取り(停止)→③停止
図4 図4 QRコードを認識する走行パターン2(クリックで拡大)

QRコード認識におけるAGV制御のポイント

1.カメラでQRコードを読み取りOpenCVで画像認識を行う

2.画像認識結果で走行を制御する

  • 前進→8箇所の車輪の正転・逆転信号をONにする
  • 右折→車輪の右側前輪と右側後輪の2箇所の正転信号をONにする
       車輪の左側前輪と左側後輪の2箇所の逆転信号をONにする
  • 左折→車輪の右側前輪と右側後輪の2箇所の逆転信号をONにする
       車輪の左側前輪と左側後輪の2箇所の正転信号をONにする
  • 停止→8箇所の車輪の正転・逆転信号をOFFにする
       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.