شما کف یک انبار را اداره میکنید که در آن حدود 24 ربات متحرک خودران (AMR) جعبهها را از راهروهای انبارش به چهار سلول بستهبندی کوبات میبرند. هر سفارش یک سفر 240 m است — 200 m از راهروهای ویژهٔ ربات، 40 m از محدودهٔ مشترکی که افراد در آن کار میکنند — و یک برداشت (pick) در یکی از سلولها. مدل، دقیقه به دقیقه و بر پایهٔ استانداردهای منتشرشده و فرمولهای درسی، صفها، ازدحام، بنبستها، فاصلههای توقف، انرژی باتری و توان شارژر، و اثر نسخههای نرمافزار بر توقفها را محاسبه میکند. این مدلی از اصول عملیاتی است: نرمافزار ربات را اجرا نمیکند و اعداد عمومیاند، نه مربوط به محصولی خاص. فقط شبیهسازی آموزشی — سایتهای واقعی از ارزیابی ریسک خودشان پیروی میکنند.
چه چیزی یاد میگیرید
چرا اغلب شارژرها، نه رباتها، گلوگاهاند — و چگونه شارژ فرصتی و شارژ فقط تا مرحلهٔ جریان ثابت پیش از اوج انرژی ذخیره میکنند.
بنبستها در تقاطعها چگونه شکل میگیرند، چرا رزرو ناحیههای پیش رو پیش از ورود از آنها جلوگیری میکند، و چرا ربات هرگز نباید در جایی که افراد حضور دارند سریعتر از آنچه میدان ایمنیاش میتواند متوقفش کند حرکت کند.
عرضهٔ کاناری چگونه چند ربات بهروزشده را با بقیهٔ ناوگان مقایسه میکند، چه زمانی باید به نسخهٔ قبل برگشت، و چرا بهروزرسانیها در موجها عرضه میشوند.
شبیهساز
زمان 0 min
▶در حال حرکت با مأموریت
⚙در سلول کوبات
⇥در انتظار سلول
·بیکار
⚡در حال شارژ
⌛در انتظار شارژر
↻در حال بهروزرسانی نرمافزار
!متوقف (ارتباط یا مکانیابی)
⛔گرفتار در بنبست
∅باتری خالی، یدککشیشده
✓ناحیهٔ بدون فرد
⚠افراد در ناحیه، سرعت درون میدان
⛔سرعت بیش از حد میدان در محل حضور افراد
☺فرد در سلول کوبات
✕شارژر خارج از سرویس
کنترلها
رباتهای ذخیره از انبار فعال میشوند؛ رباتهای پارکشده برق مصرف نمیکنند. هر ربات در سرویس به ازای هر ساعت یک رباتساعت هزینه دارد.
ناحیهٔ A به روی افراد بسته است، پس رباتها میتوانند سریع حرکت کنند. اگر افراد وارد آن شوند، سرعت باید دوباره با میدان تشخیص فرد سازگار شود.
اینجا همیشه افراد کار میکنند. فاصلهٔ توقف در این سرعت باید درون میدان تشخیص فرد 1.3 m جا شود.
آزاد: رباتها فقط بهصورت محلی از هم دوری میکنند — سریع، اما دو ربات یا بیشتر ممکن است برای همیشه راه یکدیگر را ببندند. رزرو ناحیه: ربات فقط وقتی وارد تقاطع میشود که ناحیههای پیش رویش برای او رزرو شده باشند — بدون بنبست، با انتظاری کوتاه در هر عبور.
همین حالا همهٔ رباتهای گرفتار در بنبست را آزاد میکند. به ازای هر ربات آزادشده 2 دقیقهٔ اپراتور هزینه دارد؛ جلوی تشکیل بنبستهای جدید را نمیگیرد.
رباتی که کاری را با این مقدار شارژ یا کمتر تمام کند، به صف شارژر میرود. مقدار پایینتر از باتری بیشتر استفاده میکند، اما رباتی که بیش از حد منتظر بماند ممکن است باتریاش کاملاً خالی شود.
شارژرها تا حدود 70 % توان کامل میدهند؛ بالاتر از آن جریان بهتدریج کم میشود. توقف در سطح پایینتر شارژر را زودتر آزاد میکند.
رباتهای بدون کار بهجای بیکار ماندن به هر شارژر آزادی میروند، و به محض اینکه سفارشی در انتظار باشد و 20 % بالاتر از سطح ارسال برای شارژ باشند، دوباره سر کار برمیگردند.
سرعت ابزار وقتی کسی داخل سلول نیست. یک جعبهٔ 10 قلمی با سرعت 1 m/s به 25 s زمان نیاز دارد.
حد توان و نیرو: دستی که میان ربات و جعبه گیر میافتد نباید بیش از 140 N نیرو حس کند (حد شبهایستا، بهصورت محافظهکارانه)، که اینجا حداکثر 0.67 m/s را مجاز میکند.
جابهجا کردن لغزنده جدیدترین بیلد منتشرشده را روی همان سهم از ناوگان عرضه میکند (نخستین رباتها به ترتیب)؛ بقیه v1 را اجرا میکنند. بیلدی که بعداً منتشر شود فقط وقتی نصب میشود که لغزنده را دوباره جابهجا کنید. هر رباتی که نسخهاش عوض شود 4 دقیقه از سرویس خارج است.
شاخصها
جعبههای بستهبندیشده
360/h
عادی
زمان تحویل سفارش
0.0min
عادی
رباتهای در دسترس
100%
عادی
حاشیهٔ توقف در محل حضور افراد
0.27m
عادی
سفارشهای در انتظار
0
حاشیهٔ سرعت کوبات (حد توان و نیرو)
0.17 m/s
میانگین شارژ باتری
67 %
کمترین شارژ باتری
42 %
رباتهای منتظر شارژر
0
رباتهای در حال شارژ
0
رباتهای با باتری خالی (یدککشیشده)
0
رباتهای گرفتار در بنبست
0
بنبستهای تشکیلشده
0
توقفهای ناوبری (ارتباط یا مکانیابی)
0
توقف به ازای هر رباتساعت، جدیدترین بیلد
0.0 /h
توقف به ازای هر رباتساعت، بقیهٔ ناوگان
0.0 /h
ناوگان روی جدیدترین بیلد
0 %
ناوگان روی v2.0
0 %
رباتهای در حال بهروزرسانی
0
تنظیم سرعت ناحیهٔ A
1.5 m/s
زمان اپراتور صرفشده برای رباتها
0 min
رباتساعتهای مصرفشده
0 h
رباتهای در سرویس
24
رباتهای در حال حرکت
0
سرعت واقعی در ناحیهٔ A
1.50 m/s
انتظار در هر عبور از تقاطع
0.0 s
توان مصرفی ناوگان
0.00 kW
توان تحویلی شارژرها
0.00 kW
سلولهای کوبات مشغول
0 %
روند
سناریوهای بحران
سطح 1 · نیمی از شارژرها پیش از اوج سفارشها از کار میافتند
شیفت صبح، 24 ربات در سرویس، حدود 3.7 سفارش در دقیقه. ناوگان پس از شبی پرکار، شیفت را با میانگین شارژ 60 % آغاز میکند. در دقیقهٔ 15 یک خرابی برقی چهار شارژر از شش شارژر را تا پایان شیفت از کار میاندازد. در دقیقهٔ 90 اوج سفارشها آغاز میشود (+25 % به مدت دو ساعت). جریان سفارشها را حفظ کنید، با ناوگان شارژشده وارد اوج شوید، نگذارید باتری هیچ رباتی کاملاً خالی شود، و در بودجهٔ رباتساعت شیفت بمانید.
میانگین زمان تحویل در طول اوج و پس از آن ≤ 3.5 min
میانگین شارژ ناوگان هنگام آغاز اوج دستکم 49 %
باتری هیچ رباتی کاملاً خالی نشود
حداکثر 97 رباتساعت برای شیفت
فاصلهٔ توقف همیشه درون میدان در محل حضور افراد
کوبات هرگز سریعتر از حد توان و نیرو در حضور فرد
سطح 2 · راهرویی بسته میشود، رباتها قفل میشوند و گروهی وارد ناحیهٔ A میشود
حدود 4.2 سفارش در دقیقه، 24 ربات، کنترل ترافیک روی حرکت آزاد. در دقیقهٔ 10 یک راهرو برای چیدمان دوبارهٔ قفسهها بسته میشود: تقاطعهای کمتر، رودرروییهای بیشتر و بدون مسیر جایگزین. در دقیقهٔ 60 یک گروه نگهداری به مدت 40 دقیقه وارد ناحیهٔ A ویژهٔ ربات میشود. سفارشها را با زمان اپراتور اندک در جریان نگه دارید، در جایی که افراد حضور دارند هر فاصلهٔ توقف را درون میدان ایمنی نگه دارید، و وقتی ناحیهٔ A خالی شد آن را دوباره با سرعت کامل اجرا کنید.
میانگین زمان تحویل ≤ 6 min
ناحیهٔ A پس از خروج گروه دوباره با میانگین ≥ 1.4 m/s
حداکثر 1 بنبست تشکیل شود
حداکثر 20 دقیقهٔ اپراتور برای رباتها
فاصلهٔ توقف همیشه درون میدان در محل حضور افراد
کوبات هرگز سریعتر از حد توان و نیرو در حضور فرد
سطح 3 · عرضهٔ کاناری نرمافزار ناوبری جدید
دیشب قفسههای راهروها دوباره چیده شدند و رباتهای روی نرمافزار فعلی (v1) آنجا بیشتر موقعیت خود را گم میکنند؛ هر بار گم کردن به یک اپراتور نیاز دارد. نسخهٔ v2.0 این مشکل را رفع میکند و هماکنون روی 10 % ناوگان بهصورت کاناری اجرا میشود. به کاناری زمان کافی برای ارزیابی بدهید، آن را با بقیهٔ ناوگان مقایسه کنید، دربارهٔ گسترش یا برگرداندن تصمیم بگیرید، و ناوگان را به یک بیلد خوب برسانید — مرحلهبهمرحله، بیآنکه همزمان رباتهای زیادی را از کار خارج کنید.
کاناری در 12 دقیقهٔ نخست در حال اجرا ماند (≥ 5 % ناوگان روی v2.0)
خروج از v2.0 معیوب از دقیقهٔ 30 تا 49 (بهطور میانگین ≤ 1 % ناوگان روی آن)
hotfix در 10 دقیقهٔ نخستش حداکثر روی 20 % ناوگان
hotfix بهسرعت عرضه شود: پس از انتشار بهطور میانگین ≥ 55 % ناوگان روی آن
دستکم 90 % ناوگان در پایان روی جدیدترین بیلد
دستکم 60 % رباتها در همهٔ زمانها در دسترس
فاصلهٔ توقف همیشه درون میدان در محل حضور افراد
کوبات هرگز سریعتر از حد توان و نیرو در حضور فرد
مبنا — مدل پشت اعداد
هر رابطهای که شبیهساز به کار میبرد، با منبعش. ثابتهایی که بهعنوان فرض علامت خوردهاند کالیبراسیونهای نمونهایاند.
قانون لیتل: همهٔ سفارشهایی که هنوز بستهبندی نشدهاند — در انتظار یا سوار بر ربات — تقسیم بر نرخی که جعبهها واقعاً بستهبندی میشوند، زمان تحویل را به دست میدهد.
lead time W = L / X, L = orders waiting + orders on a robot, X = totes packed per minute (smoothed, τ = 10 min)[5]
با افزایش شمار رباتهایی که راهروها را به اشتراک میگذارند، سرعت کم میشود (رابطهٔ خطی سرعت–چگالی گرینشیلدز).
v_eff = v · max(0.1, 1 − n_moving / N_jam), N_jam = 120 robots (80 with an aisle closed)[7][9]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
بدون رزرو، ممکن است هر یک از دو ربات منتظر فضایی بماند که دیگری اشغال کرده است — انتظار چرخهای. شمار برخوردها با مجذور تعداد رباتهای در حال حرکت افزایش مییابد.
free traffic: P(new deadlock in a minute) = 1 − e^(−κ·n_moving²/n_I), κ = 0.00001 (× 300 with an aisle closed, n_I = 6 → 4); a robot behind joins with p = 0.5 (≤ 8); the fleet manager re-plans with p = 0.2/min (0.03/min with no detour)[8][10]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
رزرو ناحیه: ربات فقط وقتی وارد میشود که ناحیههای پیش رویش برای او رزرو شده باشند (همه با هم، با ترتیبی ثابت)، و این انتظار چرخهای را حذف میکند؛ آنگاه هر تقاطع مانند صفی تکسروری با زمان عبور ثابت رفتار میکند.
zone reservation: a robot enters only when the zones ahead are granted to it → no circular wait; each crossing W = ρτ / (2(1 − ρ)), ρ = λ_I·τ, τ = 2 s, 6 crossings per task[8][6][9]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
هر جا ممکن است افراد حضور داشته باشند، فاصلهٔ توقف — مسافت زمان واکنش بهعلاوهٔ ترمز — باید درون میدان تشخیص فرد جا شود.
d_stop = v·t_r + v²/(2a) + C ≤ F (t_r = 0.3 s, a = 0.8 m/s², C = 0.1 m, F = 1.3 m ⇒ v ≤ 1.17 m/s where people can be)[1][2]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
حد توان و نیرو: بیشترین سرعتی که در آن تماس با دست زیر نیروی مجاز میماند، محاسبهشده از جرم کاهشیافتهٔ دست و ربات و سفتی دست. حد شبهایستا حتی برای تماس کوتاه هم به کار میرود، که محافظهکارانه است.
v ≤ F / √(μ·k), μ = (1/m_H + 1/m_R)⁻¹, m_R = M/2 + m_L; hand: F = 140 N (quasi-static limit, used conservatively), k = 75 N/mm, m_H = 0.6 kg; M = 24 kg, m_L = 3 kg ⇒ v ≤ 0.67 m/s[3][4]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
هر جعبهٔ کالا به زمان گرفتن بهعلاوهٔ دو حرکت دستیابی برای هر قلم نیاز دارد؛ با حضور فرد در سلول، کوبات با سرعت همکارانه کار میکند. رباتها به ترتیب رسیدن به سلولها سرویس میگیرند، ثانیه به ثانیه در هر دقیقه.
tote time = 10 items × (1.5 s + 2 × 0.5 m / v_cobot); v_cobot = collaborative speed while a person is in the cell; 4 cells, served in order of arrival within the minute[3]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
توان حرکت: بار ثابت الکترونیک، مقاومت غلتشی، و انرژی ترمزی که در هر توقف و حرکت دوباره هدر میرود.
P = 60 W + C_rr·m·g·v/η + 0.03/m · v · ½mv²·(1 − r)/η (C_rr = 0.012, m = 500 kg, η = 0.75, r = 0.5)[12]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
شارژرها تا حدود 70 % شارژ توان کامل میدهند، سپس جریان بهتدریج کم میشود (جریان ثابت، سپس ولتاژ ثابت).
P_charge = 0.8 kW up to 70 % SoC, then × (1 − 0.9·(SoC − 70)/30); battery 0.8 kWh; stranded at 1 %[11][10]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
ربات وقتی ارتباطش با مدیر ناوگان بیش از زمان واچداگ خاموش بماند متوقف میشود؛ واچداگ کوتاهتر قطعیهای کوتاه Wi-Fi بسیار بیشتری را میگیرد.
P(link silent > W in a robot-minute) = 0.224·e^(−W/0.1 s); watchdog W: v1 0.5 s, v2.0 0.15 s, v2.1 0.5 s; stop 2 min[13]مقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
مقایسهٔ کاناری: توقفها به ازای هر رباتساعت برای رباتهای روی جدیدترین بیلد در برابر بقیهٔ ناوگان.
stops per robot-hour, canary vs control: 60·stops / robots (smoothed τ = 10 min); update or rollback = 4 min out of service[13]
دیگر ثابتهای این مدل
task 200 m in zone A + 40 m in the shared area · 6 intersections · 4 cobot cells, a person inside 25 % of minutes · 6 chargers · shift-start charge stratified over mean ± 27.5 % · v1 mislocalises 0.6 % per driving minute in re-racked aisles (others 0.04 %), 6-min stop + 3 operator-min · clearing a deadlock 2 operator-min per robot · tow 15 operator-minمقادیر نمایشیاند، نه مقادیر یک سایت یا محصول واقعی. سایتهای واقعی میدانها، سرعتها و حدود را بر پایهٔ ارزیابی ریسک خود و دادههای سازنده تعیین میکنند.
تصادفیبودن: یک مولد mulberry32 با seed؛ توزیعهای بهکاررفته — یکنواخت، نمایی (وارون CDF)، نرمال (Box–Muller)، پواسون (Knuth). seed نمایش داده میشود و قابل اشتراک است.
M. Harchol-Balter — Performance Modeling and Design of Computer Systems (M/G/1 Pollaczek–Khinchine mean wait; M/D/1) — Cambridge University Press, 2013
B. D. Greenshields — A Study of Traffic Capacity (linear speed–density relation) — Highway Research Board Proceedings 14:448–477, 1935