小型ロボット & AI画像認識による商品選別

,

小型ロボットアームとAI画像認識を組み合わせ、カメラにて撮影した画像から商品を識別し、所定の位置に配置するシステムです。

システム構成

ハードウェア

  • 小型ロボットアーム Dobot Magician
  • シングルボードコンピューター NVIDIA Jetson Nano 2GB (Ubuntu)
  • Bluetooth USBアダプタ Class2 エレコム LBT-UAN05C2/N
  • スマホ用Bluetoothカメラリモコン AB Shutter 3
  • Webカメラ ロジクール ウェブカメラ C270
    →ピントが商品に合いやすいよう若干改造済み

ソフトウェア

  • NVIDIA JetPack 4.3 L4T 32.3.1
  • Python 3.6.9
  • TensorFlow 2.0.0 GPU
  • OpenCV 3.4.9

エッジAIによる画像認識

NVIDIA Jetson Nano 2GBはRaspberry Piのようなシングルボードコンピュータですが、GPUを搭載しているため単体でもエッジAIに利用することが可能です。学習モデルの作成もJetson Nanoにて行います。
今回は商品それぞれの画像を撮影し、撮影画像を回転させるなどによりAI学習用データを1商品につき40枚程度準備して、学習モデルを作成しています。
どの画像が何の商品であるのかを人が教える「教師あり学習」です。そのため、カメラに商品を写すと何の商品であるか識別することが可能です。

各商品毎に判定結果と確率が表示されている

学習データには商品を回転した画像も含まれているため、どの方向に配置しても商品を認識することができます。

今回は市販のWEBカメラを利用しており設置したカメラの高さだと商品にピントが合わず認識率が低かったため、WEBカメラを改造しピントが合うよう調整しています。

小型ロボットアーム Dobot Magician

Dobot Magicianは、もともとは教育用ロボットアームですが、その性能の高さから業務用としても活用されています。日本国内でも多くの事例があります。

小型とはいえ、500gまでの物を運搬可能です。今回はエアポンプにより吸引するアタッチメントを利用していますが、マジックハンドのようなアタッチメントもあり物を掴むこともできます。

Dobot Magicianには専用のコントロールソフトがあるのですが、そちらはWindowsやMacにて動作します。今回はシングルボードコンピュータ Jetson Nanoを利用しOSはLinux(Ubuntu)のため、Pythonにてプログラムしています。
まだ、動作の最適化が行えていないため、1つの動作が完了するとアームがスタート位置に戻る動作をします。

デモ用のシステムのため、ロボットアームとコンピュータの電源をONしたあとはマウスやキーボードは操作せず、スマホ用のBluetoothリモートシャッターのボタンを押すとデモがスタートするようにしています。

ちなみに、リモートシャッターボタンを押すと、コンピューターではVolume Upキーとして認識されます。

デモ動画