デジビBlog 開発Blog

「高松商店」IoT化事例のご紹介

投稿日:2017-05-15 更新日:

こんにちは、デジタルビジネス事業推進室の高松です。

「デジタルビジネス事業推進室」では、IoTやAI、RPAといった新しい要素技術を活用したビジネス化の検証をしています。
今回は、弊社のちょっと変わったIoT活用事例をご紹介させて頂きます。

概要

まず初めに、皆さん、「高松商店」はご存知でしょうか?
ご存知ない方は、こちらの高松商店の紹介記事をご覧頂くことをお勧めします!

高松商店を簡単にご紹介すると「社内で飲料やお菓子を販売しているサービス」です。
名前の通り、私が運用をしています。

今回ご紹介したいのは、IoTとRPAを使った、「高松商店」の在庫自動チェック・自動発注システムです。

高松商店では、現在、1日に150点くらいの商品が売れております。
商品を補充しやすいようにストックカート(よくスーパーにある台車)を売り場に置いているのですが、カート満載の在庫も 1週間くらい空になってしまうため、しょっちゅう在庫切れが発生しておりました。

「これはもう自動発注しかない!」と思い立ったのが、企画の発端です。

「こんな感じでやってみよう!」といつも通り軽いノリでシステム構築を行いました。

こちらは、高松商店の飲料在庫をストックしているストックカートです。

本気でこれくらいだと4日で空になります。。

このストックカートに、重量センサーと画像センサーを設置して、在庫量をチェックできるようにしました。
(写真の上部に画像センサーと下部に重量センサーがついてます。)

センサー連携機能

重量センサーはこちらです。

まぁ、見てわかるとおり、体重計です。
体重計をカスタマイズした重量センサーを作成しました。重量センサーについては改めて後述します。

重量センサーから取得した情報は、以下のようにintra-martで確認できます。

左上のポートレットに「重量センサーごとの積み上げ重量」、右上に現在の重量を表示しています。
(AWS上サーバで、夜間は止めているためグラフに谷間があります。)

重量については、Maxに積んで200Kgくらいになります。
驚いたことに、500mlのペットボトルを取ったのを認識できるくらいの精度が出ます。

画像センサーはこんな感じです。

画面破損で廃棄予定のスマホを転用しました。

1時間に1回、取得した画像データをオンラインストレージ経由でintra-martに送信しています。
画像センサーから取得した情報は、Forma画面で確認できるようにしています。

この画面から、在庫画像の確認と、画像解析による在庫量チェックが可能です。
画像解析では在庫の空き領域(写真の緑色部分の面積)を数値化しています。

画像処理はIM-LogicDesignerからopenCVを呼び出して実行します。

RPAによる自動化

本システムではRPA(ロボティック・プロセス・オートメーション)も使ってチェック業務を自動化しています。
先ほどご紹介したチェック画面を、ロボットに定期チェックさせて、在庫量が減った時には「仕入れ依頼ワークフロー」を流すところを自動化しています。

RPAで在庫チェックする様子は、次のような感じです。
下記の操作は人が実行しているのではなく、予め記録しておいた動きを、RPAが自動実行してくれます。

動画ではデモ用に画面を表示していますが、実際はintra-martのジョブスケジューラから定期的にRPAを実行しているため、普段私が画面を見ることはありません

RPAをintra-martから呼び出す仕組みは、IM-LogicDesignerを使ってます。

画面やジョブスケジューラからの処理フロー実行がGUIだけで設定できます。
本当にロジックデザイナーは便利ですね。

同様に、RPAを使って、ネットスーパーから定番商品を購入するところも自動化しています。
勝手に大量注文されてしまうと困るので、間に私の承認をはさむようにしています。
フローはこんな感じ。とてもシンプルですね。

このように、RPAを使うと、日々のルーチンワークを簡単に自動化できるのがいいですね。
煩わしい作業が不要になり、働き方改革を実感しました。

先日リリースしたIM-RPAにより、intra-martからRPAを呼び出すこともできるため、ほとんどコーディングなしで自動化を実現できました。
IM-RPAについては、こちらをご覧ください

システム構成

さて、下記が今回のシステムの概要です。

システムを支える各センサーは以下の通りです。

①重量センサー
ストックカートの重さを測る仕組みですが、今回は安価な重量センサーを作るため、体重計をカスタマイズ(?)して実現しました。

こちらは開発中の体重計です。

「なんで体重計?」と思われた方!
世の中これだけIoTで盛り上がっているのに、汎用的に使える重量センサーはほとんどない状況です。(あっても非常に高価です。)

となると、自前で用意するしかないわけですが、重量センサーをロードセルから組み立てて作るには、専門的な技術が必要になります。

体重計は、このロードセルが4つも付いていて、当然組み込みもしっかりできているため、基盤部分を差し替えるだけで重量センサーに早変わり!という訳です。
体重計は、某ショッピングサイトで千円ちょっとで売っているものを4つ購入して、重量センサーに改造しました。

ストックカートに乗せた様子がこちらです。

なかなかシュールな絵ですよね。個人的にこういうの好きです。

ここで測定した重量情報は、ADCでデジタル変換しすぐ上にあるRaspberryPiに送られ、ラズパイからRESTでintar-martに送付しています。

ここら辺の仕様に興味がある方は、ぜひお問い合わせください。
ちなみに、体重計のカスタマイズにあたっては、ここで書ききれないくらい苦労をしたので、また改めて機会を頂いてご紹介したいと思います。

②画像センサー
重量センサーと比べると、簡単というか、あり合わせのデバイスで実現しています。
スマホアームで画面割れスマホを固定し、スマホアプリでインターバル撮影しているだけです。
撮影した画像は、オンラインストレージ経由で自動的にintra-martサーバに同期される仕組みです。

逆にソフトウェア面では工夫をしました。

この画面なんて、よくできていると思いませんか?
RPAに自動発注させる前にも、この画面で私が最終チェックをします。
画像データ一覧から、過去の画像も取得できるため、重量データと合わせてどのように在庫が減ったか、かなり正確に把握できます。

最後に

色々がんばって構築した自動発注システムですが、運用当初は、頻繁に在庫切れ申請が来てチェックが大変だったり、在庫切れの時に申請が来なかったりしました。

しかし、そういった課題も、運用しながらパラメータを調整することで、今はほぼ自動的に運用できています。

若干大掛かりですが、日々の在庫チェックを気にすることがなくなり、作業の負荷は確実に減ったと実感しています。
重量や画像解析で在庫量管理を自動化するソリューションはどこでもニーズがありそうですよね。
流通業や小売り業の方にぜひお勧めしたい仕組みです。

この高松商店自動発注システムですが、今のところRPAが注文してくれる商品が固定なので、暇を見つけFormaで注文する商品を選べるようにしたいと思っています。
できたらまたご紹介させて頂きますね。

-デジビBlog, 開発Blog
-, ,

執筆者:


  1. […] る時はこまめに様子を見れるのですが、今は社外常駐してるため、気を抜くとすぐ空になっています。 また、以前の記事でご紹介した在庫カメラも、冷凍庫の中まではわかりません。。 […]

  2. […] ちなみに本店(赤坂)で導入しているスマホによるカメラシステムは、豊洲支店ではセキュリティ上利用できず、仕方なくWAN経由で写真を送っています。 […]

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

「高松商店」のデジタル化事例のご紹介~その2~

こんにちは。デジタルビジネス推進室の高松です。 高松商店のデジタル化について、前回の続きでご紹介させていただきます。 アイスボタンを作りました 高松商店では、アイスも100円でお買い求め頂けます。 し …

no image

Accel Platformのつくりかた。

先日開催させていただきました弊社イベントEnterprise Web Solution 2013のテクニカルセッションにおいて、「Accel Platformのつくりかた。」という題名で、i …

no image

IM-Workflow パラメータチューニング

IM-Workflowは、パッチにより様々なパラメータが追加されています。 特にパッチ4と先日リリースしたパッチ5での効果が大きいので、以下にご紹介致します。 XMLキャッシュ パッチ4からの機能です …

no image

「im-J2EE Framework」仕様書

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 技術者向け資料が新しく公開されました …

no image

「印影機能」をさくっと試してみる

今日は IM-Workflow Ver.7.2 のパッチ6で追加された「印影機能」を動かしてみます。 「印影機能」は、以下の準備が必要です。 ワークフローパラメータで「印影の使用可否」を「使用する」に …