京セラロボティクス事業部は同社が取り組む新規事業の1つとして、AIと3Dビジョンで協働ロボットを知能化する「京セラロボティックサービス」を開発、2023年11月にリリースしました。本件のクラウドサービス開発に際しては、AWSのマルチアカウント設計、AWS上でのサービス管理画面構築、Google Cloud上での機械学習基盤構築などに関する技術支援をクラスメソッドに要請しました。足かけ3年にわたるプロジェクトについて、サービス技術開発センターの巽さん、上村さん、小島さんにお話をうかがいました。
協働ロボットを知能化する「京セラロボティックサービス」を新規開発
1959年の創業以来、絶えることのないベンチャー精神で事業領域を拡大してきた京セラは、2019年にロボティクス事業開発部(現、ロボティクス事業部)を設立、独自のAI技術を活用した協働ロボットシステムの開発に着手しました。その成果としてリリースしたのが、クラウドで管理・運用し、サブスクリプション型で提供する「京セラロボティックサービス」です。
「今後、生産年齢人口の減少により、生産現場などにおける人手不足が顕著になると見込まれています。そこで、人と同じスペースを共有しながら作業ができる協働ロボットと、AIによる知能化に着目し、頻繁に“段取り替え”が発生する多品種少量生産工程でのロボット活用を目指して開発しました」(巽さん)
京セラロボティックサービスは、ロボットの制御やAIモデルによる推論を生産現場で実行する「AIコントローラー」と、ロボットの管理や遠隔からの指示、現場データを用いたAIモデルの学習などを行う「クラウドプラットフォーム」で構成されます。クラウドプラットフォームのバックエンドでは、ロボットエンジニアがティーチング(ロボットの動作設定)を実施し、AIエンジニアがモデルの生成と保全を担当しています。
「生産現場でAIモデルを安定して運用するためには、照明変動など、現場の環境変化に応じた対応が必要となります。本サービスでは、クラウドへの常時接続により収集した現場データから環境の変化を捉え、モデルを最適化する仕組みを実現しています。これにより、知能化ロボットの安定運用を実現しています」(巽さん)
AWSとGoogle Cloudのマルチクラウド開発でクラスメソッドに支援を要請
クラウドサービスの開発に際しては、AWSとGoogle Cloudの2つのクラウドプラットフォームを採用しました。データの管理やロボットへの指示を司る領域は、マネージドサービスの種類が豊富でスピーディに開発ができるAWS、機械学習・AIの領域はGPUリソースの有効利用が可能なGoogle Cloudというように、それぞれの得意領域を活かして開発する方針としました。
開発パートナーとしてクラスメソッドを採用し、AWSのマルチアカウント設計とセキュリティ・ガバナンス対応、サービス管理画面のAWS上への構築、機械学習基盤のGoogle Cloud上への構築、機械学習用合成画像生成ツールのGoogle Cloud移行などについて技術支援を要請しました。
「京セラロボティックサービスでは、機密情報を含む現場データをロボットからネットワーク経由でクラウドに転送して管理します。このため、セキュリティを最重要視しています。そこで、データプライバシーを担保するために、ユーザーごとにAWSアカウントを分けて論理的にデータを分離する方式を採用しました。
この方式で運用するためにはAWS Organizationsなどのサービスを用いて、複数アカウントの統合管理や自動化を実現する必要があります。AWSに関する深い知見が必須であることから、AWS Japanよりご紹介をいただき、クラスメソッドに依頼することとしました。
Google Cloudに関してもパートナーを探している中で、クラスメソッドのクラウドインフラやWebアプリケーションに関する高い技術力を評価し、支援を依頼しました」(巽さん)
AWSマルチアカウント管理基盤や機械学習基盤を3年がかりで構築
プロジェクトは2020年10月にスタートし、3年後の2023年11月に本サービスのリリースを迎えました。クラスメソッドの支援を受けて実施した主な案件は、以下の4つとなります。
(1)AWSマルチアカウント活用の設計、セキュリティ・ガバナンス対応
AWS Organizationsを用いてマルチアカウントを管理する基盤は、ユーザーにアプリケーションを提供する組織単位(Organizational Unit:OU)と管理用の組織単位から構成されます。
ユーザーにアプリケーションを提供する組織単位(Organizational Unit:OU)では、ユーザーごとにAWSアカウントを用意し、それぞれにサーバーレスで構成したアプリケーションやデータベース、オブジェクトストレージなどを保持する構成としています。管理用のOUは、インフラ全体の共用管理、セキュリティ、CI/CDと、機能ごとにアカウントを作成しました。
「AWS Control Towerも選択肢にありましたが、技術選定当時のControl Towerは我々にとってオーバースペックであり、また柔軟性に欠けるものでした。クラスメソッドと協議し、より柔軟性の高いAWS Organizationsの採用に至りました。その中でも管理用のアカウント構成がポイントで、AWSのベストプラクティスを参照しつつも、自分たちのドメインに最適な構成をクラスメソッドと議論しながら設計していきました」(巽さん)
(2)サービス管理画面の構築
「京セラロボティックサービス」ではお客様の運用担当者むけにiOS/iPad OSのアプリを準備しています。しかし、アプリだけではサービスに関する全ての運用をケアできないため、より多機能なWebサービスとしてサービス管理画面を実装しています。この領域では、クラスメソッドからフロントエンド、バックエンド、インフラの開発・構築について支援を受けています。システム基盤にはAmazon EKSを採用、フロントエンドはReactとNext.jsで開発し、バックエンドはGo言語を用いてマイクロサービス化しています。
「アプリケーションのポータビリティ(可搬性)を高めるためにアプリケーションをコンテナ化し、Kubernetesを採用しました。当初はお客様ごとに用意したAWSアカウントの中にクラスタを配置していました。しかし、アカウントが増えるたびにコストが膨らんでしまうことから、2023年にクラスタをお客様ごとのアカウントの外に構築する方針へ変更しました。マルチテナント化し、お客様ごとのアカウントにあるサービスやデータへAssume Roleで接続するアーキテクチャに切り替えました。
大きな変更となりましたが、クラスメソッドの支援もあり、既存のアプリケーションに大きな影響を与えることなく2カ月で切り替えることができました」(巽さん)
(3)機械学習基盤の構築
また、ユーザーが学習指示などを行なうためのWebアプリについても、クラスメソッドの支援を受けて構築を進めてきました。WebアプリではFirebaseを積極的に活用しており、開発工数の大幅短縮や運用負荷軽減を実現しています。
「機械学習ではGPUを大量に使用しますが、GPUを抱え込むと高コストになってしまいます。これを解決するためにGPUをオートスケールする要件があり、Google Kubernetes Engine(GKE)を活用しました。クラスメソッドからは、GPUのオートスケールやAWSからのデータ転送などに関する技術支援をいただきました」(上村さん)
(4)機械学習用合成画像生成ツールのクラウド化
高ロバスト(信頼性)なAIモデルの学習にはデータオーグメンテーション(データ拡張)が欠かせません。京セラロボティックサービスでは、3D CADデータから様々な条件で画像を自動生成する機械学習用合成画像生成ツールを開発しています。従来はこれをオンプレミス環境で運用してきましたが、本プロジェクトではGoogle Cloudへ移行するとともに、リアーキテクト(最新化)を実施しました。
「モノリシックな既存のアプリケーションを役割ごとに分割してコンテナ化し、GKE上で動作するアプリケーションとして再構築しました。さらにGPUの活用と並列処理により、処理時間を短縮できるようにしました。
アプリケーションの仕組みとしてはほぼ作り直しになるため、開発に9カ月を要しましたが、クラウド化により同時並行で多くのAIエンジニアが利用できるようになり、データ生成時間も短縮されました」(上村さん)
サービス品質を高めながら、クラウドのノウハウを社内に蓄積
例えば、複数AWSアカウントのセキュリティ管理では、リスクを検出するAWS Security Hubやインシデントを検知するAmazon GuardDutyを活用して運用しつつ、最適化について議論を重ねています。
「AWS Security HubやAmazon GuardDutyをマルチアカウントで運用するためには検出を集約するなどの最適化が必要となり、また、検出結果の対策方法も多岐に渡ります。これらにはAWSに対する高度な知見が必要となります。クラスメソッドには、運用の改善や対策について支援をいただいています」(小島さん)
また、Google Cloud上へのシステム構築がほぼ初めてだった開発チームには、3年間のプロジェクトを通してGoogle Cloudのノウハウも蓄積されていきました。
「私自身、AWSでの開発はあったものの、Google Cloudでの開発は初めてで、最初はAWSとの違いに戸惑いを覚えました。アーキテクチャの設計も試行錯誤を重ねながら進めていきましたが、クラスメソッドからGoogle Cloudならこのサービスがありますといった提案をいただき、非常に助かりました。
機械学習基盤の構築をサービスの要件定義と並行してアジャイルで進める中で、アーキテクチャの変更やAIモデル学習コードの変更にも柔軟に対応いただきました」(上村さん)
クラスメソッドの支援を受けて開発を進めたことで、近視眼的な開発にならず、サービス品質を高めることができたことも高く評価しています。
「自分たちだけで開発を進めると、既存の知見に頼ることになり、結果として視野が狭くなっていきます。クラスメソッドからの客観的なアドバイスやご提案をもとに議論を深めたことで、サービスの価値や開発チームの技術レベルの向上につながり、チームリーダーとしても嬉しく思っています」(巽さん)
本格的な市場展開に備えてさらなる機能強化やアーキテクチャの改善を継続
京セラロボティックサービスは、京セラ社内で利用が始まっています(2024年1月時点)。外部企業へのサービス展開に関しても、すでにいくつかの引き合いが寄せられており、本格導入に向けた準備が進んでいます。
今後は本格的な事業拡大に備えて、さらなる機能強化やアーキテクチャの改善に取り組む予定です。現在は、機械学習基盤のセキュリティ強化や、オペレーションの自動化による運用効率化に取り組んでおり、クラスメソッドとは週次の定例会でコミュニケーションを取りながら、新たな開発を進めています。
「これから益々マーケットニーズにあわせた機能追加やサービス改善が必要となります。クラスメソッドには開発チームの一員として、引き続きの協力を期待しています」(巽さん)
日進月歩の勢いで技術革新が進むAIやロボットの分野では、常に技術のアップデートが必要です。クラスメソッドは、最新の技術を通して京セラ ロボティクス事業部の挑戦を支援してまいります。