パスタ自動調理ロボットP-Roboの開発におけるROSの活用事例
TechMagic株式会社
横内浩平 曽根大樹

Copyright © 2022 TechMagic K.K. All Rights Reserved.

自己紹介

横内浩平
開発本部 副本部長 兼 CPO

曽根大樹
開発本部 部長

大手自動車メーカーを経て2019年11月 Techmagic入社
メカトロ設計者として、P Roboに参画
2020年7月よりP Roboのプロジェクトマネージャーに着任。

ロボットによるファクトリーオートメーション、野菜の自動収穫ロボット等の開発を経てTechMagicにジョイン。P Roboのシステム開発、惣菜盛り付けロボットの開発を担当
ROSユーザー5年目

2Copyright © 2022 TechMagic K.K. All Rights Reserved.

アジェンダ

TechMagicについて

パスタ自動調理ロボットP-Roboとは？

P-Roboのロボットシステム

ROSを製品開発に用いたPros&Cons

3
Copyright © 2022 TechMagic K.K. All Rights Reserved.

TechMagicについて
2018年創業のフードテックベンチャー (CEO 白木, CTO 但馬)

パーソナル
ミール

4
Copyright © 2022 TechMagic K.K. All Rights Reserved.

TechMagicについて
TechMagicが目指す調理ロボット

5
Copyright © 2022 TechMagic K.K. All Rights Reserved.

パスタ調理ロボットP-Roboとは？

具材供給機
麺供給機構
麺搬送機

ソース供給機

冷蔵庫
専用アーム
ロボット

洗浄機

回転加熱器

フライパン
冷凍庫

ゆで機

盛付台

●
●
●
●

世界初 パスタ自動調理ロボット
1食目80秒, 2食目以降45秒間隔で提供
盛付以外の工程を完全自動化
4つのフライパンで連続調理

6
Copyright © 2022 TechMagic K.K. All Rights Reserved.

パスタ調理ロボットP-Roboとは？
エビノスパゲティ @丸ビルへのプロダクト導入 (2022/ 6/30)

7Copyright © 2022 TechMagic K.K. All Rights Reserved.

P-Roboのロボットシステム
システムアーキテクチャ

8
Copyright © 2022 TechMagic K.K. All Rights Reserved.

P-Roboのロボットシステム
システムアーキテクチャ

フロントエンド

UI
注文

WEB層

REST API
バックエンドビジネスロジック、データストア
レシピ

ROBOT層

システム制御注文結果

WS/gRPC

調理結果

動作計画、状態管理、ロジック制御、監視、調理工程の抽象化等

動作条件

modbus/OPC-UA/etc

動作結果

デバイス制御DEVICE層

デバイス制御当初はアームドライバにROSを用いてたが、動作速度の観点で市販のモーションコントローラーに変更

アクチュエータ/センサ

9
Copyright © 2022 TechMagic K.K. All Rights Reserved.

P-Roboのロボットシステム
ロボット層の役割と構想

UI

フロントエンド
注文

WEB層

レシピ

システム制御注文結果

ビジネスロジック、データストア

バックエンドROBOT層REST API

WS/gRPC

調理結果

動作計画、状態管理、ロジック制御、監視、調理工程の抽象化等

動作条件

modbus/OPC-UA/etc

動作結果

デバイス制御DEVICE層

デバイス制御アクチュエータ /センサ

ロボット層の役割●

各デバイスが特定の動作・調理工程に責務を負い、ロボット層は調理に対して責務を負う●

各調理工程（材料投入、加熱など）をつなげて、 調理としてのシーケンスを制御する●

抽象的に表現されたレシピをロボットの動作に変換するなど、拡張性を設ける●

ROSを用いて各デバイスの IFをWrapし、共通IFで抽象的に調理制御を扱う

10
Copyright © 2022 TechMagic K.K. All Rights Reserved.

P-Roboのロボットシステム
ロボット層の役割と構想

ロボット層
Commander（コントローラー）

搬送

加熱

材料投入

調理工程単位でROSのMsgで共通IFを定義して、低レイヤーと分離したい茹で各工程の実現方法はROSでWrapして抽象化

デバイス層
搬送機構A

OR

搬送機構B

加熱方法A

OR

加熱方法B

調理工程単位で抽象化して、装置の構成に関わらず調理を制御できるようなモジュラーデザインのシステム構成を目指していきたい（まだ模索中）
11
Copyright © 2022 TechMagic K.K. All Rights Reserved.

P-Roboのロボットシステム
Smachを用いた装置のシーケンス制御

長場 景子, 「 スパゲティ 45秒ごとに出てくる快速調理、ロボ導入のプロント新業態大解剖」, 日経Robotics
https://xtech.nikkei.com/atcl/nxt/mag/rob/18/00004/00075/

4つのフライパンで同時（平行）に調理するシーケンスを実装したい
今回はSmachを用いてシーケンスを状態機械として実装
12
Copyright © 2022 TechMagic K.K. All Rights Reserved.

P-Roboのロボットシステム
Smachを用いた装置のシーケンス制御

おそらく世界で一番高度なSmachのステートマシンができあがった（※TechMagic調べ）（このステートマシンのおかげで1食45秒を達成）
13
Copyright © 2022 TechMagic K.K. All Rights Reserved.

ROSを製品開発に用いたPros&Cons
良かった点

●

●

●

●

トライ＆エラーが容易で開発が早い○

既存のコードが再利用できるため開発工数が少ない○

要件が固まってなくてもとりあえず手早く作ってデモできる

モジュール毎に開発分担できる○ノードを境界としたマイクロサービス○

ROS開発者間の共通の前提知識をあてにできる

他のシステムとの連携が容易○

新しいデバイス○

フロントエンド、バックエンド

○

画像処理

計算機の構成が自由○ノードを分散可能14
Copyright © 2022 TechMagic K.K. All Rights Reserved.

ROSを製品開発に用いたPros&Cons
課題点●

長期運用すると通信関連の不具合が発生する○

ROSマスターへの接続管理○

時折、アクションのレスポンスが異常に遅くなる（アクションの状態遷移がなぜかうまくいかないときがある。原因は調査中...）●●アクションサーバーをたくさん起動するとリソースの消費が激しい○スレッドの複数起動によるメモリの消費○

ソケットの接続数の増大

デプロイメント関連○●

Dockerのベストプラクティス（1プロセス1コンテナ）との親和性が低い

非ROS・ロボティクスユーザーの学習ハードルが少し高い

15
Copyright © 2022 TechMagic K.K. All Rights Reserved.

さいごに...
恵比寿に自社店舗をオープンしました！

https://www.koumi-menbou.com/
16
Copyright © 2022 TechMagic K.K. All Rights Reserved.

さいごに...
恵比寿に自社店舗をオープンしました！

お近くに来た際はぜひ！

17
Copyright © 2022 TechMagic K.K. All Rights Reserved.