システム概要
このシステムは巻き寿司を製造する玩具を工場の製造ラインに見立てて、寿司の製造過程・検品結果を記録するシステムです。
- 一覧画面にはこのように製造数や良品・不良品の数、製造した寿司の内容一覧が表示されます。
- 製造した寿司の詳細画面では、寿司の情報を閲覧したり、製造過程の動画を視聴したりすることができます。
アーキテクチャ
本システムはSORACOMとAWSを組み合わせて構築しています。
開発
本システムは、業務時間の合間にIoTチーム(+本部長)が協力して開発しました。
製造ライン
既にお気づきだと思いますが、巻き寿司の製造ラインは既製品の玩具を使用しています。
ただ、本物のご飯や具材を展示するのは衛生上よろしくないので、偽物のご飯・海苔・具材を手作りしています。
もの | 材料 |
---|---|
ご飯 | 3Dプリンタで作成した円柱 |
海苔 | 黒っぽいリボン |
具材 | 3Dプリンタで作成した円盤にビーズを貼り付けている |
本物と同様に正確な製造ができる材料を見つけ出すのが大変でした。
Raspberry Pi
寿司の検品部分はRaspberry PiでPythonスクリプトを動作させることで実現しています。
検品そのものはGCPのVision APIを使用しています。様々なパターンの寿司を50枚程度撮影して学習させるだけで、良品と不良品を正確に判定できています。
学習した画像の中に「台座に何も載っていない(まだ寿司が来ていない)」ときの写真も含めています。これにより数秒おきに写真を撮影しVision APIで判定し、寿司の到着と検品を1つのAPIで実現できています。
サーバーレス
Raspberry PiはSORACOM Funnelを経由してAWS IoT Coreに検品結果のJSONを送信しています。これを受けてAWS Lambdaが起動し、SORACOM APIを使用してソラカメの動画をエクスポートします。
エクスポートは寿司の検品時間から逆算して、各カメラの前を通過したであろうタイミングを時間指定しています。エクスポートした動画はS3に順次格納していきます。エクスポートには十数秒がかかるので、3つの動画を並列してエクスポートしている点もポイントです。
Rails
Webシステムの部分は普段の業務で使い慣れているRails + AdminLTEで実装しました。
AWS LambdaからSQSを経由して検品結果のJSONを受け取っています。ここは shoryuken というgemを利用して実現しています。
検品結果を受信すると、Action Cableを活用してリロードなしで画面へ反映するようにしています。
当日の様子
おかげさまで、展示ブースは大盛況でした。デモの実物はもちろん、プロジェクターでデモの様子を投影することで、多くの来場者の目を引けたようです。
まとめ
IoTチームはこういったSORACOMとAWSを組み合わせたIoTシステムを、スピーディに構築することを得意としています。
「DXやIoTといった取り組みをしたいけど何をしたら良いかわからない」とお悩みな方はぜひ こちらのフォーム よりご相談ください。