自動車部品工場の目視検査工程にAIを導入する
アイシンは、カーナビやオートマチック(AT)車用のトランスミッションといった自動車の主要な部品を製造、販売している自動車部品メーカーだ。トヨタグループの中核企業のひとつとして世界中の自動車メーカーに対し部品を供給しており、2021年度の売上高は約4兆円。AT車用トランスミッションのシェアでは世界トップを誇る巨大企業である。
アイシンの取り組みは、日本経済を担う製造業のなかでも基幹とされている自動車産業において重要な役割を果たしており、日本のみならず世界にも大きな影響を与える。そして、そのアイシンは現在、自社の工場と生産設備におけるデジタルトランスフォーメーション(DX)を推し進め、独自のスマートファクトリーの実現に向け邁進している。
そうした取り組みのひとつが、工場における目視検査工程の自動化だ。組立工程における取り付けミスや欠品がないか、また部品に傷が付いていないか、といった品質に関わる問題をカメラで撮影し、AIによって判定させようというものである。
アイシンの萩尾氏は、その狙いを次のように話した。
「私たちは製造ラインの各工程で、製品に欠陥がないか検査するための検査装置と、そのための検査アプリの導入をすべてまとめて担当するチームです。従来の画像処理技術では検出するのが難しいケースがあるため、AIによる検査装置を導入していくことになりました」(萩尾氏)
製造業では以前から、AIではなく人間がアルゴリズムを作成するルールベースの画像処理技術による検査の自動化が進んでていた。最近ではAIが急速に進化し、特に画像認識に関しては時に人間を上回る認識精度を見せるまでになった。なおかつ、AIによる検査は良品画像と不良品画像を用意し、それらを教師データとしてAIに学習させることでAIが自ら欠陥を認識するアルゴリズムを作り出せる。つまり、人間がアルゴリズムを作成するよりも、高精度かつ低コストで検査の自動化を実現できるのだ。
この自動検査のためのAIを、アイシンではJetson Xavier NX上で動作させている。Jetson Xavier NXは、手のひらサイズの小型コンピューターでありながらGPUを搭載しており、AIに必要な強力な演算性能を持つ。今回のように製造ラインにおける目視検査工程へのAI導入、いわゆるエッジコンピューティングには最適なデバイスだ。
一般的にAIによる画像認識を安定して実行しようとすると、高性能なCPUやGPUを搭載したコンピューター、またはAI専用の半導体を搭載したデバイスが必要になる。また、工場の製造ラインのように予定外の停止が大きな損失につながる環境では、コンピューターやデバイスの安定動作のために高品質な部品が必要となり、価格も高くなりがちだ。
しかし、実際の検査システムにかけられるコストは限られたものだと、アイシンの戸田氏は言う。
「人手による検査の多くが、他の作業をやりながら同時に行われています。その検査作業を自動化しようとすると、工数が少ないのであまり投資ができません。だから自動化のためのデバイスは安価である必要があります」(戸田氏)
AIを高速で動作させ、かつ安定的に動作し続けられるコンピューターは、100万円単位の価格になる。それに比べてJetson Xavier NXは、1台当たり数万円程度のため圧倒的に安価だ。価格だけを見れば、選択の余地はないと言える。だが、製造ラインへのJetson Xavier NXによるAIの導入には、価格以外のハードルも存在する。それは、ソフトウェアの開発・導入・管理にかかるコストだ。
膨大な数のライン導入に不可欠だったKubernetes
アイシンでは、製造ラインにおける目視検査工程の自動化のため、NVIDIAのJetson Xavier NXでAIを動作させることを計画した。しかし、世界の生産拠点には多くの工場があり、その中にはさらに多くの製造ラインが存在する。それらすべてのラインにJetson Xavier NXを設置してアプリケーションソフトをインストールし、さらにデータを取得してAIに学習させるとなると、担当部署の限られたメンバーだけではとても対応しきれない。
従来の自動化は、対象ラインにおける担当の生産技術者や関連部署の要求をしっかり聞き、それに全て応える検査システムを撮像系から判定アルゴリズム構築まで順番に終わらせていくウォータフォール型の体制で開発してきた。そのため、ひとつのラインに検査装置を導入するのに、少なくとも2~3年はかかっていたのだ。せっかく安価なデバイスを導入しても、従来の開発体制や運用体制のままでは、社内に浸透させることができないのは明白だった。
「ラインが多すぎて我々だけでは自動化できないので、製造現場の担当者が自主的にできるようなものを入れてかないと展開が進まない、という危機感がありました」(戸田氏)
製造現場の担当者だけでも導入できるインフラ整備。そのためには、共通のハードやアプリを用意し、アプリ開発体制をウォーターフォール型からアジャイル型(実現可能なところを開発して、使えるものからどんどん現場に投入していく手法)にし、またデバイス上のアプリを管理したり、投入したりすることも、一括かつ自動的に行えるようにする必要がある。そこでたどり着いたのが「Docker」と「Kubernetes(K3S)」だ。
「Jetson Xavier NXの環境構築の工数を下げるために、Dockerという同一サーバー上で複数のアプリを分離して実行する「コンテナ型」の技術を採用しました。さらに、コンテナを管理するなら、Kubernetesという管理ツールを使うと良いという話になりました。ただし、Kubernetesの知見がまったくなかったので、同じ部署の久野から菱洋エレクトロの中村さんに相談したんです」(萩尾氏)
Dockerは、クラウドコンピューティングにおいてメジャーなコンテナ型仮想化環境構築のためのオープンソースソフトだ。Dockerを利用すれば、サーバー上で同じ設定の仮想環境を簡単に複製したり、仮想環境のソフトウェアをアップデートしたり、といったことが容易になる。
Kubernetesは、そのDockerなどのコンテナと、コンテナ内部を統合的に管理できるツールだ。複数のコンテナを同時にバージョンアップしたり、設定を変更したり、それを一斉に現場に導入したり、といったことができる。
萩尾氏のアイデアは、このDockerとKubernetesによるソフトウェアの統合的な管理をJetson Xavier NXというエッジコンピューティングデバイスの管理に利用できないか、というもの。
菱洋エレクトロの中村は、Jetsonの登場時からアイシンの久野氏と付き合いがあり、これまでにもJetsonシリーズをアイシンに納入してきた。そのため、Jetsonに関する相談を受けたのも当然の流れだった。
「KubernetesはIT業界ではよく知られてますが、OT(Operational Technology=工場など機械設備の運用にフォーカスした情報技術のこと)での事例はまだありませんでした。そこでグループ会社(スタイルズ)の矢野さんに相談したところ、エッジコンピューティングのオーケストレーション(一体的に管理すること)はコンセプトとして画期的かつ実現可能だというので、萩尾さんたちに紹介しました」(中村)
DockerもKubernetesも、従来はクラウドコンピューティングのためのソフトウェア管理プラットフォームとして開発され、広く利用されてきた。しかし、近年では軽量型のKubernetesとして「K3S」が開発され、エッジコンピューティングやIoTのソフトウェアの管理プラットフォームとしても利用できるようになっていた。
ただし、工場におけるいわゆるOT環境での利用は、ほとんど事例がないという。中村もそのことはよく知っていたため、グループ会社でKubernetesのエキスパートである矢野氏にすぐに相談した。
「今回はKubernetesを使うためのノウハウを萩尾さんにレクチャーさせていただいて、それをもとに萩尾さんたち自らが欲しいシステムを作るというやり方でした。一時期は毎週2~3日の勉強会を開催していましたが、萩尾さんはすごい吸収力で学ばれていました」(矢野氏)
こうしてKubernetesを用いてJetson Xavier NXをネットワーク経由で管理することで、AIによる目視検査自動化を安価に導入できるプラットフォームが完成した。そして、このプラットフォームの実現には、AI化やコスト削減に留まらない、さらなるメリットがいくつもあったという。
ソフトウェア開発環境の近代化が工場全体を進化させる
KubernetesとJetson Xavier NXによる検査プラットフォームの大きなアドバンテージのひとつが、検査システムのソフトウェアのマイクロサービス化(多数の小さなサービスを組み合せて構築する設計のこと)だ。
従来の工場における検査などのアプリケーションは、ユーザーインターフェースや画像認識、判定のアルゴリズム、カメラやセンサーなどのデバイスの認識まで、1つの開発言語で開発し、1つの実行ファイルにするモノリシック(ひとかたまりとして構築する設計のこと。マイクロサービスの対義語)なシステム構造にしてきた。
しかし、モノリシックなプログラムは、何かエラーが生じるとプログラム全体が停止してしまうため、デバッグに時間をかける必要があるほか、できるだけバグの発生を抑えるためプログラムのアップデート自体に慎重にならざるを得ない。
「モノリシックで作ると、画面表示に関する部分がエラーで落ちてしまうと検査の判定部分には問題がなくても全体が止まってしまうんです。だから画面の表示をちょっと直すだけでもなかなかできませんでした」(久野氏)
しかし、DockerとKubernetesの機能を活かすために新たな検査システムのプラットフォームには、機能ごとにソフトウェアを分けて構成する、いわゆるマイクロサービス型のシステム構造を導入した。これによって検査システムのある特定の機能だけをアップデートさせることが容易になり、またアップデートした機能にエラーが生じても全体が止まらず他の機能は有効のままラインを動かし続けることが可能となった。
「マイクロサービスだったら、画面が落ちても検査そのものには何も問題ない」(久野氏)
「ユーザーインターフェイスはJavaScriptで作って、AIはPythonが楽だからPythonで、デバイスのコントロールはやっぱりC++が速いからC++でと、機能ごとに適した言語で開発できる」(萩尾氏)
ITの世界では、複数の言語で開発された複数のソフトウェアがひとつのOS上で動作することは当たり前だが、製造業、とりわけOTでソフトウェアをマイクロサービス化している例は珍しい。少なくとも社内では、これまでに事例がないという。
また、AIを動かすデバイスが故障した際の対処も容易になった。例えば、ライン上のJetson Xavier NXが壊れたら、現場の担当者がストックから予備のデバイスを持ってきて置き換えるだけでいい。デバイスの電源が入れば、あとはネットワーク経由でソフトウェアが自動的に復元され、すぐにラインを再開できる。また、Jetson Xavier NX自体が安価なので、あらかじめ冗長構成にしておき、常に予備機をホットスタンバイしておけばほぼダウンタイムなしでラインを動かし続けることも可能だ。
「今回のプロジェクトの最初にあったのは、ソフトウェアエラーでラインがちょこちょこ止まる『チョコ停』という現象ができるだけ起きないようにしたい、ということです」(萩尾氏)
製造業において、工場の製造ラインの停止は生産性低下に直結する。また、自動車のような複雑な工業製品は、高度なサプライチェーンのもとに成り立っており、その製造においては部品レベルから緻密なスケジュールのもとで運用されている。つまり、ひとつの部品の製造ラインの停止が、最終製品自体の製造スケジュールにまで影響することもある。
「止まらないシステム、というのはスマートファクトリーの実現において大事なキーワードでした」(久野氏)
そして「止まらないライン」の実現において、Kubernetesは最適な選択だったと矢野は強調する。
「止まらないということが、Kubernetesの強いところです。Kubernetesには自分で復旧する機能があるので運用や監視の担当者の数を最小限にできます」(矢野氏)
最後に、Rancher導入の大きなメリットがもうひとつある。それは、将来への大きな可能性だ。
「Rancherにはカタログという機能があって、それはソフトウェアを登録しておくと現場でデバイスに自由にインストールできる、スマートフォンのアプリストアのようなことができます。それで現場の担当者が現場のニーズに合わせ、現場の判断で導入できるようになることを期待しています」(萩尾氏)
「作っている製品の出来栄えがデジタルデータで取れるようになると、現場は設備や環境などの製造条件のバラツキが製品の出来栄えにどう影響が出てくるのか分析したくなるものです。そういう原因系のデータと結果系のデータを結び付けて解析できるようなアプリを提供することにより、これまで以上に現場主導のデータ分析&改善ができるよう、現場力向上を推進したい。それを実現するには、まだまだいろいろ準備が必要ですが」(戸田氏)
これまでの製造業と製造現場におけるソフトウェアの考え方は「止まらないこと」「事故を起こさないこと」を重視するあまり、保守的な傾向が強かった。例えば、モノリシックなソフトウェアアーキテクチャであったり、数年かけてシステムを導入するウォーターフォール型の開発体制であったり。だが、そうした安定性や安全性の価値はそのままで、さらなる効率化や生産性向上が求められるようになっている。
これまでは現場における職人的な技術や運用における工夫などによって、製品の精度向上や工程の効率化を実現してきた。しかし、人手不足などが原因でそれも限界が近づいている。今後は、新しい技術を新しいハードウェアと新しいソフトウェアによって導入し、新しい考え方で製造現場の改善に取り組んでいく必要がある。なぜなら世界中の製造業がデジタル技術の導入によって進化しているからだ。
こうした世界の潮流のなかでアイシンが強くあり続けるために、製造現場におけるDXが必要だ。そして今回の製造ラインでのAI検査実現にあたって、Jetson Xavier NXとKubernetes(K3S)、Rancherの導入、それに端を発したソフトウェアのマイクロサービス化、開発体制のアジャイル化は、同社のDXの大きな一歩となるはずだ。
本プロジェクトをきっかけに、アイシンは、開発者と利用者がそれぞれの業務に専念できるサイクルをつくり、「進化し続ける工場」を目指していく。
※本記事に使用している写真は全て、撮影時のみマスクを外しています