メインコンテンツに移動
デベロッパーのためのクラウド活用方法

ミニチュア工場を使って外観検査の自動化とデジタルツインによる工場状態の可視化をしてみる

2023-07-03 | Author : 渡邉 聡

はじめに

こんにちは。ソリューションアーキテクトの渡邉です。2023 年 4 月に 4 年ぶりにオンサイトでの開催となった AWS Summit Tokyo に参加された方も多くいらっしゃるかと思います。私は AWS EXPO の Manufacturing / IoT ブースでミニチュアファクトリーの展示をおこなっていたのですが、おかげさまで多くの方に来場いただき、デモを見ていただいたりお話をすることが出来ました。この記事では、現地へ参加できなかった人や、ゆっくりと見る時間が取れなかった皆様に、あらためてデモの詳細についてご紹介したいと思います。
このデモは、工場 DX を進める上でよくあるユースケースのうち、製品の外観検査の自動化と、工場状態の可視化にフォーカスしたものとなっており、記事の中でデモでの AWS サービスの活用ポイントをご紹介したいと思います。

デモではクラウド機能を工場側に拡張させ、機械学習推論をエッジ側で動作させることで、自動化した外観検査を実現する様子をご覧いただけるようになっています。また、工場装置のデータをクラウド側に収集しデジタルツインに投影することでミニチュア工場の状態をリモートでニアリアルタイムにわかりやすく可視化し、異常箇所の特定を容易にする様子もご覧いただけるようにもなっています。
デモで使用している装置やソフトウェアも実際の製造現場で使用されているものと同等なものを使用しているため、製造現場への導入イメージも持っていだだきやすいものとなっています。


X ポスト » | Facebook シェア » | はてブ »

A demo setup displaying an AWS IoT digital twin factory dashboard on a large monitor, accompanied by a physical model of factory machinery and a laptop on a table. The dashboard shows real-time data and 3D simulation, illustrating how IoT solutions can monitor and manage industrial operations.

デモアーキテクチャ

このデモの前身は 2021 年に公開させていただいた ブログ のデモ装置となります。その後、製造関連の AWS サービスも多くリリースさせていただいてきており、旧来のデモで作り込んでいた部分も新たにリリースされてきたサービスに置き換えることで、より簡単に工場ワークロードの課題を解決できるようになったり、新しい手法によるデータ活用も試みています。
工場の外観検査自動化とデジタルツインを示す日本語のデモアーキテクチャ図。AWS IoT Greengrass、AWS IoT SiteWise、AWS IoT TwinMaker、Amazon Managed Grafana、Amazon Lookout for Vision などのサービス構成を可視化し、各種デバイスとの連携やシステム全体のデータフローを解説している。

デモ動画

まずは、デモ動画をご用意したので早速ご覧ください。

ご注意

本記事で紹介する AWS サービスを起動する際には、料金がかかります。 builders.flash メールメンバー特典の、クラウドレシピ向けクレジットコードプレゼントの入手をお勧めします。
* ハンズオン記事およびソースコードにおける免責事項 »

builders.flash メールメンバー登録S 技術陣によるベストプラクティスを毎月無料で試すことができます

builders.flash メールメンバー登録で、毎月の最新アップデート情報とともに、AWS を無料でお試しいただけるクレジットコードを受け取ることができます。 
今すぐ登録 »

エッジ AI サービスによる外観検査の自動化

これまで主に人の目によって行われてきている外観検査を機械学習などを使った機械的な検査装置に置き換えることで外観検査の省力化への期待は勿論、人間の目による判定では判定基準が曖昧になりやすく誤った判定をしてしまう可能性があるところを長時間にわたる安定した判定を継続できるという点でも期待されています。

2021 年にご紹介したデモは、Amazon SageMaker を用い Autoencoder (自己符号化器) という手法で、大量の良品画像から学習した機械学習モデルに対して推論画像を読み込ませ、そこから推論 (復元) した画像と元画像の差分を見て異常を判定するというものになっていました。また、推論はエッジ側で動作させることで、短いタクトでの検査を実現し、クラウドとの接続に関係なく推論実行できるというものにもなっていました。ただし、これを実現するには機械学習に関する深い知識もさることながら、検査画像の撮影環境を常に一定になるように整え、学習用の画像も大量のバリエーションを準備したりと検査精度を上げるためには多くの調整を必要としました。

今回の新しいデモでは、外観検査に特化した AI サービスである Amazon Lookout for Vision を用い、旧来のデモをアップデートしています。Lookout for Vision を用いることで深い機械学習の知識がなくとも機械学習モデルを簡単に作成でき、高度な画像判定を実現できます。旧来デモの作成タイミングでも Lookout for Vision はサービス提供されていましたが、そのタイミングではエッジでの検査をサポートしていなかったため、上記のように独自の機械学習推論の仕組みを適用していました。その後 2021 年 12 月に Lookout for Vision でもエッジでの推論をサポートし、さらには 2022 年の 8 月には画像の分類とセグメンテーションをサポートする機能もリリースされ機能強化されてきています。これらアップデートにより製品製造の現場への適用がより進めやすくなってきており、デモの機械学習推論部分も Lookout for Vision でアップデートすることとしました。

今回のデモでは、良品と 2 種類の不良品を準備しました。学習に使用した画像は、良品 25 枚、不良品 23 枚と少ない画像登録からスタートし、推論結果の Confidence (信頼度) が一定を下回った画像を用いて再学習を行うことでモデルの精度を高めていくものとしています。これらのサイクルを簡単に実現できるように推論時に Confidence が一定を下回った画像を Amazon S3 にアップロードし Lookout for Vision に自動で登録されるような仕組みもデモでは実装しています。しかし、不良のパターンが単純なものだったためか、実際のデモ装置ではこの辺りのサイクルを回すまでもなく精度の高いモデルが出来上がってしまいました。

Lookout for Vision で作成した機械学習モデルを用いてエッジでの機械学習推論を行う場合、デバイスソフトウェアのデプロイ、管理を実現する AWS IoT Greengrass を用います。カメラで撮影を行った画像を用いて推論を行うにはこの AWS IoT Greengrass 上で動作するコンポーネントの実装が一部必要になってきます。今回のデモでは以前 builders.flash 内の記事 ( AWS でアクセサリー検査装置をつくってみよう ) でご紹介したエッジ推論プログラムを拡張し適用しています。実際にどのようなコードで実現しているかは、記事の中で具体的なソースコードと利用方法をご覧いただけますので是非ご参照ください。

今回のデモでは、先の builders.flash の構成と同じく、NVIDIA Jetson AGX Xavier をエッジデバイスとして使用しています。今回のデモの推論は 1 推論あたりおおよそ 200 ms から 300 ms ほどで推論できています。また、エッジでの推論となっていますので、旧来のデモと同じようにクラウドとの接続に関係なく推論し続けることができる環境となっています。

Lookout for Vision では クラウド推論の場合は AWS コンソールで異常検出の状態を確認できますが、エッジ推論を使った場合、コンソールで異常検出の状態を確認できません。そこで、デモではエッジでの推論状態を独自にクラウド送信することで推論状況の可視化を実現しています。実現している方法については次項をご覧ください。

Lookout for Vision でのラベリング

Screenshot of Amazon Lookout for Vision showing the visual inspection and analysis of factory product images, categorizing them as normal or anomalous for digital twin factory status monitoring.

Lookout for Vision でのラベリング (Normal)

Screenshot of the Amazon Lookout for Vision interface showing categorized images used to detect anomalies in a manufacturing process. The view includes filters for normal and anomalous images from a digital twin factory dataset, visualizing detected anomalies and their labels, with sample images displaying colored markers indicating defects.

Lookout for Vision でのラベリング (Anomaly)

工場状態の可視化

工場装置の状態と外観検査の推論結果は製造設備データの収集、蓄積、可視化を実現する AWS IoT SiteWise に送信し、Amazon Managed Grafana を用いてダッシュボードを作成しています。工場装置をコントロールしている PLC の状態は、株式会社たけびしのデバイスエクスプローラ OPC サーバーを用いて産業用プロトコルの OPC-UA を使った収集を行っています。AWS IoT SiteWise のコンポーネントを AWS IoT Greengrass にデプロイすることで、 OPC-UA データを簡単にクラウド側に収集することができます。エッジ装置での外観検査の結果も AWS IoT Greengrass の持つStream Manager 機能を用いて AWS IoT SiteWise にデータを収集するようにしています。

OPC-UA データソースからのデータ収集では、AWS IoT SiteWise の設定で対象ノードの範囲や、サブスクライブ (値の変化があった場合のみデータ取得) もしくはポーリング (定期的にデータ取得) のいずれかの取得方法を柔軟に設定できるようになっています。今回のデモの PLC では、装置の稼働状態を示す値のほか、良品数のカウントなど状態の変化が定期的ではないデータも扱っています。Grafana のグラフ表現方法や定期的なメトリクス演算の有無などデータの活用方法に合わせてデータの取得方法を細かく設定しています。

デモのダッシュボードでは、この PLC データを活用してミニチュア工場の設備総合効率 (OEE) も確認できるようになっています。 OEE の算出には、PLC から取得できる良品の生産数、ベルトコンベアの稼働状況などの情報と、良品生産にかかる時間などの AWS IoT SiteWise 内の属性値として定義した値を用いて、稼働率、性能、品質の値をメトリクス計算し、これらを掛け合わせることで OEE を算出しています。

AWS IoT SiteWise 内の属性値をメトリクス計算

Screenshot showing a demo factory model status dashboard in AWS IoT SiteWise, displaying various metrics and statuses related to SiteWise and L4V gateway current status, product counts, quality, performance, and availability.

AWS IoT SiteWise メトリクス定義

Screenshot of the AWS IoT SiteWise console in Japanese showing the details of a demo factory model, property definitions, and highlighted average throughput per second of product creation. This image visualizes digital twin factory status and parameter configuration, including the average time for producing quality products in a digital factory environment.

AWS IoT SiteWise 属性値の設定

デモダッシュボードの仕組み

A dashboard interface displaying real-time visualization of a factory status using a digital twin, with a highlighted example of embedding HTML content for panel customization in Japanese (埋め込んだHTML).

Text パネルの設定

A digital dashboard showing a factory digital twin visualization with production statistics, equipment status, visual inspection confidence, anomaly images, and real-time operational data.

Amazon Managed Grafana によるデモダッシュボード

AWS IoT TwinMaker によるデジタルツインの構築

デジタルツインの定義はベンダーやお客様によって大きく異なりますが、AWS IoT TwinMaker は、現実世界のシステムをモデル化し、取り込んだデータを仮想空間上に投影することで、現実世界のシステムの状況の理解を助けるデジタルツインの作成を支援するサービスとなっています。今回は AWS IoT TwinMaker を使ってダッシュボードにデジタルツインを表示しデモ装置の状態をより分かりやすくなるようにしています。

AWS IoT TwinMaker によるデジタルツインの構築にあたって、最初に 3D モデルを作成する必要があります。AWS IoT TwinMaker では glTF (Graphics Language Transmission Format) 形式の 3D アセットをサポートしており、今回はこの形式の 3D アセットをオープンソースの統合型 3DCG 制作ソフトウェアである blender を使用して作成しました。私自身趣味で 3D プリンターを用いて物作りなどもしていたりするためこの手のソフトウェアを使っての作業は慣れていたというのもあるのですが、デモ装置自体がいくつかのブロック形状の組み合わせというのもあり、日曜大工作業で 1 日で作り上げることができています。

A screenshot of a digital twin factory simulation modeled in Blender, showing a detailed virtual factory floor with robotic arms, conveyor belts, and control panels within the Blender 3D interface.

視覚表現の開発

作成した 3D モデルを blender のエクスポート機能を使ってglTF 2.0 形式で出力し AWS IoT TwinMaker リソースとしてアップロードしています。アップロードした 3D モデルを AWS IoT TwinMaker のシーン開発機能に取り込むことでデータと 3D モデルの紐付けを行いながら視覚表現の開発することができます。
A screenshot of a digital twin factory interface displaying a 3D visualization of a factory layout and components, with various equipment labeled in Japanese and a navigational UI panel on the left.

AWS IoT TwinMaker で 3D モデルの状態を変化させること容易に

AWS IoT TwinMaker に 3D モデルを取り込むと、blender での作成時に各オブジェクトをコレクション分けした状態がそのまま取り込まれるため、個別のオブジェクト選択も容易になります。AWS IoT TwinMaker を使ったデジタルツインには、入力した装置のデータに基づき、3D モデルに対してアイコンを使って状態を表示したり、装置のデータに基づいて 3D モデルの色を変えたり、モーションインジケーター を用いて対象オブジェクトの動作状態を分かりやすく表現できるようにもなっています。

今回のデモでは、ベルトコンベアとグリッパーアームの動作状況をモーションインジケーターで表現し、製品の配給レーンと、不良品の排出レーンの状況を対象の 3D モデルの色を変えることで表現しています。また、現在アクティブではない装置については、3D ビューには表示しないようにも設定しています。

このように収集した装置データに合わせて 3D モデルの状態を変化させることが AWS IoT TwinMaker を用いることで簡単に実現できます。また、今回のデモには適用していませんが、オブジェクトに 注釈をつけてデータをオーバーレイ することができるアップデートも出ています。これらを組み合わせることで、設備のモニタリングがより効率化され設備状況の可視化が容易になります。

AWS IoT TwinMaker のシーンを Amazon Managed Grafana 上に適用する際の注意点

今回デモを作成していく上で、AWS IoT TwinMaker のシーンを Amazon Managed Grafana 上に適用する場合に注意点がありました。それは、ダッシュボードに自動リフレッシュを適用している場合の TwinMaker Scene Viewer の動作となります。自動リフレッシュが設定されていて、グラフのタイムレンジが長く設定されている場合、ダッシュボードのリフレッシュのたびに指定期間の時系列データを取得してタイムレンジの頭からデジタルツインの動作を毎回再現しようとします。デジタルツイン上に適用しているデータによってはこの仕様によって同じ期間のデータが何度も再生されることで違和感が出てきます。

この挙動を回避するためには、TwinMaker Scene Viewer のパネルだけ、Query optionsRelative time で取得するデータ期間を短く (1m など) することで、同じ期間のデータを繰り返し再生される状況を回避できるようになり違和感なく表示できるようになります。

2023 年 4 月現在の サービス提供リージョン の状況に合わせ、今回のデモ環境はオレゴンリージョンで作成しました。接続するサービスによっては、AWS IoT TwinMaker だけリージョンを分けるという構成も検討できる場合もありますので、既になんらかのデータを集めていてデジタルツインも追加したいという場合は是非 AWS IoT TwinMaker をお試しください !

Screenshot of the AWS IoT TwinMaker Digital Twin Factory Dashboard interface in Japanese, showing a 3D model of a factory layout with various panel controls, time range options, and interface elements highlighted.

デモ装置作成に関する情報

AWS Summit Tokyo のデモ展示の際も多くのお客様に興味を持っていただき、色々ご質問をいただきました。その中で、実際にこのデモと同じものを作成し、自社の工場をシミュレートし適用を進めていきたいといった話や、ソリューション開発していくにあたって同じようなデモを作りたいという話も多くいただきました。

このデモの工場装置部分はドイツのフィッシャーテクニックのトレーニングキットを使用しています。日本では販売代理店経由で購入できます。具体的に、今回のデモでは Conveyor Belt 24VVacuum Gripper Robot 24VSorting Line With Color Detection 24V を加工して使用しています。これらのキットはすべてデータシートが公開されているので、これらを参照し、三菱電機の PLC FX5UC に独自に書いたラダープログラムを適用して装置全体をコントロールしています。ラダープログラムは初心者ではあったのですが、試行錯誤の上なんとか思うように装置全体を動かせるようになりました。物理的なものをプログラムで動かすのはとても楽しいですね。

工場装置以外の物理装置もすべて自作

また、工場装置以外の物理装置もすべて自作しています。例えば手動外観検査用のボタンボックスは箱とボタンを秋葉原で購入してきてドリルで穴あけをして作成しました。配給レーンはレゴブロックで組み立てていますし、製品として流すブロックも良いものが見つからず最終的には木材を切って色を塗って作りました。

A close-up of a digital twin factory control panel featuring four multicolored control buttons (blue, red, yellow, and green) on a black base, surrounded by electronic components and wires.

自作したボタンボックス

A LEGO model representing a digital twin factory demonstration for AWS Industrial, featuring a LEGO figure and AWS Industrial branded gears.

レゴブロックで作成した配給レーン

今回のデモの振り返り

実は今回のデモ装置を作るのにかかった工数のほとんどがここまでの物理的な装置の作成でした。PLC のラダープログラムもそうですが、物理的な機器の配置や配線が最も大変だったかもしれません。試行錯誤もあったので明確な工数は出せませんが、物理的な装置の作成でおおよそトータルで 1 週間ほどかかっているかなと思います。

一方でエッジ装置のプログラミングやダッシュボードの作成は、既存のリソースを使っている部分もありますが、こちらは機械学習モデルの作成と合わせても 1 日で終わっています。慣れている作業だから早いと言われれはそれまでですが、物理的な作業は試行錯誤するにも壊して作ってでそれだけで時間がとられる一方でクラウドや IT 部分はスピーディーに試行錯誤できるというところも今回のデモ作成で実感しました。

Top-down view of a digital twin factory model featuring various electronic components, wiring, control boards, colorful gears, and push buttons, set up on a wooden surface. The setup includes red, blue, black, and green plastic parts and numerous connecting cables, illustrating an advanced industrial automation system.

さいごに

デモとして AWS サービスの活用どころを皆様にお見せできたという達成感はもちろんですが、こうして装置全体を作ってみると、工場データの収集方法への工夫やサービスの使い方など改めて多くの気付きがあり、とても有意義なデモ作成でした。
AWS Summit Tokyo の会場に足を運んでくださりフィードバックくださった皆さまありがとうございました。

筆者プロフィール

渡邉 聡
アマゾン ウェブ サービス ジャパン合同会社
デジタルトランスフォーメーション本部 プロトタイピングソリューションアーキテクト
趣味は DIY で棚や机の作成から、料理から手芸まで興味のあるものは何でも作ってみます。最近は電子工作と 3D プリンターによるものづくりにはまっています。
A portrait photo of an individual wearing glasses and a dark sweater, standing in front of a blurred office background with abstract patterns and glass walls.