--- // 導入前の試算ガイド:配膳ロボットを、導入前に自分の店でシミュレーション(LP。LOG の記事ではない) // 伝えること:導入前に、自分の店(提案先の店)で何が起きるかが分かる。その試算と3Dの店での確かめを頼める // 数字は試算(public/sim/serving-robot.html)からビルドのときに読む(src/lib/servingSim.ts)。3Dの店の数字は LOG364・LOG367 の記録から // 動画と画像は public/site/srl/(Unity の記録動画から切り出した短いループと、試算と同じ描き方の平面図) import Base from '../layouts/Base.astro'; import { SITE, AUTHOR, PUBLISHER } from '../lib/seo'; import { headline as H, twoRobots, staffTable, plans, buyLarge, robotMonthRent, savedPerStaff, COST, CONDITIONS, min1, man, minStaff, STORES } from '../lib/servingSim'; const title = '配膳ロボットを、導入前に自分の店舗でシミュレーション ― 試算と3Dの店舗で確かめる'; const seoTitle = '配膳ロボットの導入前シミュレーション|自分の店舗で試算と3D'; const yen = (v: number) => Math.round(v).toLocaleString('ja-JP'); const manAbs = (v: number) => man(Math.abs(v)).replace(/^[+−]/, ''); const conds = CONDITIONS.toLocaleString('ja-JP'); // 導入前に分かること(いくらかかるか) const cost2 = robotMonthRent(2); const savedPeak = savedPerStaff(2); const savedShift = savedPerStaff(COST.shiftH); const walkCut = Math.round((1 - H.same.walk_km_per_staff / H.base.walk_km_per_staff) * 100); const description = `配膳ロボットの導入前シミュレーション。自分の店舗で何人で回るか・どこで止まるか・月いくらかかるかを、導入前に確かめる。${conds}条件の試算と、店舗を3D(Unity)で建てて走らせた記録から。2台入れても店舗が回る人数が減らない条件が${twoRobots.total}のうち${twoRobots.none}。飲食店と、提案するメーカー・販売会社向け。`; const path = '/serving-robot-one-less-staff'; const url = SITE + path; const today = '2026-10-24'; const jsonLd = [ { '@context': 'https://schema.org', '@type': 'Article', headline: title, description, url, mainEntityOfPage: url, image: [SITE + '/og/serving-robot-one-less-staff.jpg'], inLanguage: 'ja', datePublished: today, dateModified: today, author: AUTHOR, publisher: PUBLISHER, articleSection: '導入前の試算ガイド', keywords: '配膳ロボット, 導入 シミュレーション, 導入前 試算, 人手不足, 飲食店, ファミレス, 人件費, 省力化投資補助金, Unity, サービスロボット, 提案', about: [{ '@type': 'Thing', name: '配膳ロボット' }, { '@type': 'Thing', name: '導入前の試算' }], isPartOf: { '@type': 'CollectionPage', name: 'サービスロボット導入シミュレーション', url: SITE + '/series8' }, hasPart: { '@type': 'WebApplication', name: '配膳ロボットの導入試算', url: SITE + '/sim/serving-robot', applicationCategory: 'BusinessApplication', operatingSystem: 'Web', offers: { '@type': 'Offer', price: 0, priceCurrency: 'JPY' } }, }, { '@context': 'https://schema.org', '@type': 'BreadcrumbList', itemListElement: [ { '@type': 'ListItem', position: 1, name: 'Pixels to Motors', item: SITE + '/' }, { '@type': 'ListItem', position: 2, name: 'サービスロボット導入シミュレーション', item: SITE + '/series8' }, { '@type': 'ListItem', position: 3, name: '配膳ロボットの導入前シミュレーション', item: url }, ], }, ]; // 02 ① の切り替えの図に渡す(店 × 混み具合 × ロボット0〜3台の最少のスタッフ) const staffData = staffTable.map((s) => ({ k: s.key, n: s.label, t: s.tables, c: s.crowd.map((c) => ({ a: c.arr, s: c.staff })) })); const P5 = '通路を狭めた効率重視の店舗'; // 試算のデータの名前(「80cmに」)は通路を0.95mにする前のもの。LP ではこの名前で呼ぶ const planMax = Math.max(...plans.map((p) => p.from)); // 最初の画面の右側:分割と全面を切り替える(分割4枚 → Unity の編集画面 → コード・図面・費用の3分割 → 試算の画面)。全面には元が大きい画像だけを使う const p1 = plans.find((p) => p.key === 'fam_p1')!; const p1Store = STORES.fam_p1, p1Arr = p1Store.arrivals[1]; const p1Staff0 = minStaff('fam_p1', 0, p1Arr)!, p1Staff2 = minStaff('fam_p1', 2, p1Arr)!; const MENU = [ { n: '01', id: 'trouble', t: '導入後のつまずき' }, { n: '02', id: 'know', t: '導入前に分かること' }, { n: '03', id: 'shape', t: 'なぜ自分の店舗でやるのか' }, { n: '04', id: 'sim', t: 'まず、近い店舗で試す' }, { n: '05', id: 'flow', t: '頼むときの流れ' }, { n: '06', id: 'roles', t: '立場ごとの使い方' }, { n: '07', id: 'limits', t: 'この試算で言えないこと' }, ]; ---

配膳ロボットの導入を考える飲食店と、
提案するメーカー・販売会社の方へ

配膳ロボットを、
導入前に自分の店舗で
シミュレーション

店舗の図面と人数から、何人で回るか・どこで止まるか・月いくらかかるかを出します。

自店の条件で試算を相談する

導入後のつまずきの多くは、導入前に分かる

試算と3Dの店舗で、実際に出たつまずきです。どれも、店舗の形と使い方の決め方で結果が変わりました。

3Dの店舗を斜めから見たところ。席は客で埋まっている
試算で入れたのに、人が減らない2台入れても、{twoRobots.total}条件のうち{twoRobots.none}条件で、店舗が回る最少のスタッフは同じ。ロボットが運ぶのは料理だけで、片付けと案内は人に残るため。
3Dの店舗の入口とレジのまわりに、客とスタッフとロボットが固まっている
3Dの店舗で会計の列で、ロボットが止まる会計に並ぶ客がロボットの通り道に立ち、レジのまわりで112回止まった。列と通り道を離すと31回に。
料理の受け渡し口の横で、ロボット2台が待ったまま、スタッフが料理を運んでいく
3Dの店舗で人が先に運び、ロボットが遊ぶ料理が出てくるカウンター(受け渡し口)の横にいるスタッフが先に運び、ロボットが運んだ料理は約3割。ロボットに先に割り当てる決まりにして約7割に。

導入前に分かる3つのこと

何人で回るか

店舗と混み具合を選ぶと、ロボット0〜3台ごとに、店舗が回る最少のスタッフが出ます。標準ファミレスの普通の混み具合では、何台入れても3人のまま。大型店や焼肉の食べ放題では、1人減る混み具合があります。

「店舗が回る」は、席が空いているのに片付けや案内が追いつかずに待つ時間が、平均10分未満のこと。ロボットは料理を運ぶだけで、1往復で3卓まで回る前提です。

{staffData.map((s) => )}

どこで止まるか

試算の店舗を3D(Unity)で建て、スタッフ・客・ロボットを動かして、止まった回数と場所を数えます。直し方を決めたら、同じ店舗でもう一度走らせて確かめます。

細い通路の入口で、ロボットどうしが鉢合わせ79→0回
レジのまわりでロボットが止まる112→31回
同じ店舗を、真上・正面・横・斜めの4つの視点で同時に見る。左上の枠(キッチンのモニター)に、ロボットとスタッフがいま何をしているか、止まった回数が出ます。

月いくらかかるか

ロボット2台を月額で借りると月{manAbs(cost2)}万円。1人減って浮く人件費は月{manAbs(savedPeak)}万円で、差し引きは月{man(savedPeak - cost2)}万円です。条件と、人件費以外で変わることも並べます。

  • 昼と夜に4時間ずつ減らせたら{man(savedShift - cost2)}万円/月
  • 買って補助金を使う大型店({buyLarge.from}人 → {buyLarge.to}人){man(buyLarge.net)}万円/月
  • 人数そのままで、1人が歩く距離約{walkCut}%減

1人減ったときの、ひと月の差し引き

{man(savedPeak - cost2)}万円/月
ロボット2台の費用{manAbs(cost2)}万円
浮く人件費(1人){manAbs(savedPeak)}万円
ロボットは1台 月{yen(COST.rent)}円・保守{yen(COST.maint)}円・充電{yen(COST.charge)}円。人件費は混む2時間 × 1日2回 × 30日 × 時給{yen(COST.wage)}円(2026年度の最低賃金の全国平均・社会保険などは入れていない)。補助金は省力化投資補助金(カタログ注文型)で、補助率は1/2以下。条件があり、使う製品が対象かはカタログと公募要領で確かめます。

答えは、店舗の形で変わる

同じ2台でも、入店待ちの縮み方は店舗ごとに違います。近い店舗の数字は、自分の店舗の答えになりません。

{plans.map((p) => (
{`${p.key
{p.key === 'fam_p5' ? P5 : p.name.replace(/店$/, '店舗')} {p.tables}卓・スタッフ{p.staff}人・1時間{p.arrivals}組 {min1(p.from)}→{min1(p.to)}分
))}

数字は入店待ち(ロボット0台 → 2台)。スタッフは試算の初めの人数、混み具合は普通。寸法はすべて仮の値です。

まず、近い店舗で試す

条件を選ぶと、その場で数字が変わります。自分の店舗の形で出すときは、下の流れで頼めます。

試算を全画面で開く 1つの条件につき40回計算した平均です(全{conds}条件)。

頼むときに送るのは、図面と人数と混む時間

  1. 図面と条件を送る店舗の図面(写真と寸法でも)、卓の数、スタッフの人数、混む時間、ロボットの使い方
  2. 図面に起こす卓・通路・受け渡し口・レジ・待機場所を、試算と3Dの店舗で使える形にする
  3. 試算するロボット0台から何台までで、店舗が回る最少の人数・待ち時間・費用を出す
  4. 3Dの店舗で走らせる通路・レジ・受け渡し口で、止まる所と回数を数える
  5. 結果と直し方を返す下の4つをまとめてお返しする

受け取るもの

  • 何人で回るかロボットの台数ごとの、店舗が回る最少の人数と待ち時間の表
  • どこで止まるか3Dの店舗で止まった所の図と、走らせた動画
  • どう直すか待機場所・通路・会計の列・ロボットの使い方の直し方
  • いくらかかるか月額と購入の費用、浮く人件費、補助金の目安

店舗は「入れるか」を、提案する側は「どう入れるか」を決める

飲食店の経営者・事業責任者

  • 入れるか、何台か、どの使い方か
  • 人件費と補助金で、費用が合うか
  • どの店舗から入れるか

配膳ロボットのメーカー・販売会社

  • 提案先の店舗での、人数と費用の根拠
  • 導入前に、通路・待機場所・会計の列を決める
  • 導入後の「止まる」相談を減らす

この試算で言えないこと

  • 数字は、公開されている導入事例とメーカーの仕様をもとにした仮の前提です。実際の店舗で測った値ではありません。
  • ロボットなしでは、3Dの店舗と試算の料理の待ちが平均0.2〜0.4分の差で合いました。ロボットを入れたときの差は、原因を分けて調べている途中です(LOG367)。
  • 実際の店舗で数えた値が入るほど、前提を直して合わせていきます。数えるための観察シートも公開しています。

図面と人数を送ってもらえれば、同じ試算でお返しします。

次は、
あなたの店舗で。

提案先の店舗での試算や、3Dの店舗での確かめの相談も受け付けています。

  • 店舗の図面写真と寸法でも
  • スタッフの人数と、混む時間
  • ロボットの使い方料理だけ・下げ膳にも など
自店・提案先の条件で試算を相談する