로봇 플릿 운영 라이브 모델

당신은 자율이동로봇(AMR) 약 24대가 보관 통로에서 협동로봇 포장 셀 네 곳으로 토트를 나르는 창고의 운영 책임자입니다. 주문 하나는 240m 이동입니다 — 로봇 전용 통로 200m, 사람이 함께 일하는 공유 구역 40m — 그리고 셀에서 한 번의 피킹. 모델은 대기열, 혼잡, 교착, 정지 거리, 배터리 에너지와 충전기 전력, 소프트웨어 버전이 정지에 주는 영향을 공개된 표준과 교과서 공식으로 매분 계산합니다. 운영 원리 모델이라 로봇 소프트웨어를 실제로 돌리지 않으며, 숫자는 특정 제품이 아닌 일반값입니다. 교육용 시뮬레이션이며, 실제 현장은 자체 위험성 평가를 따릅니다.

배우게 될 것

시뮬레이터

0분 경과
운영 중인 로봇 24 · 포장한 토트 360/h · 주문 처리 시간 0.0 min · 가용 로봇 100% · 구역 A (로봇 전용) 1.5 m/s · 공유 구역 1.0 m/s (Δ 0.27 m) · 자유 주행 (근거리 회피), 교착에 갇힌 로봇 0 · 협동로봇 셀 0%, 셀 안에 사람 있음 0 · 충전기 0/6 (고장 난 충전기 0), 충전기 대기 로봇 0 · 평균 배터리 잔량 67% · v1 24, v2.0 0, v2.1 0 · 로봇 1시간당 정지, 최신 빌드 0.0/h, 로봇 1시간당 정지, 나머지 로봇 0.0/h⁨24⁩ · ⁨360/h⁩ · ⁨로봇⁩························⁨✓ 1.5 m/s⁩⁨구역 A (로봇 전용)⁩⁨사람 없음⁩⁨⚠ 1.0 m/s⁩ · ⁨Δ 0.27 m⁩⁨공유 구역⁩⁨⛔ 0⁩ · ⁨자유 주행 (근거리 회피)⁩⁨0%⁩ · ⁨협동로봇 셀⁩⚙⚙⚙⚙⁨⚡ 0/6⁩ · ⁨⌛ 0⁩ · ⁨충전기⁩······⁨소프트웨어: v1 · v2.0 · v2.1⁩⁨v1 24⁩ · ⁨v2.0 0⁩ · ⁨v2.1 0⁩⁨0.0/h 최신⁩ · ⁨0.0/h 나머지⁩
  • 작업 주행 중
  • 협동로봇 셀에서 작업 중
  • 셀 대기
  • 대기 (할 일 없음)
  • 충전 중
  • 충전기 대기
  • 소프트웨어 업데이트 중
  • 정지 (통신·위치 추정)
  • 교착에 갇힘
  • 방전, 견인
  • 사람 없는 구역
  • 사람 있음, 속도가 필드 안
  • 사람 있는 곳에서 필드보다 빠름
  • 셀 안에 사람 있음
  • 고장 난 충전기

조작

대기 로봇은 보관소에서 깨어나고, 주차한 로봇은 전력을 쓰지 않습니다. 운영 중인 로봇은 한 시간에 1로봇시간의 비용이 듭니다.

구역 A는 사람 출입이 금지라 빨리 달릴 수 있습니다. 사람이 들어오면 속도가 다시 사람 감지 필드 안에 들어와야 합니다.

이곳에는 늘 사람이 일합니다. 이 속도의 정지 거리가 1.3m 사람 감지 필드 안에 들어와야 합니다.

자유 주행: 로봇끼리 근처에서만 피함 — 빠르지만 둘 이상이 서로를 영영 막을 수 있음. 구역 예약: 앞쪽 구역이 자기 몫으로 예약된 뒤에만 교차로에 들어감 — 교착이 없고, 교차로마다 잠깐 기다림.

지금 교착에 걸린 로봇을 모두 풀어 줍니다. 풀어 준 로봇 한 대에 운영자 2분이 들고, 새 교착이 생기는 것은 막지 못합니다.

작업을 마친 로봇의 잔량이 이 값 이하면 충전 대기열에 들어갑니다. 낮출수록 배터리를 더 쓰지만, 너무 오래 기다린 로봇은 방전될 수 있습니다.

충전기는 약 70%까지 최대 전력을 보내고, 그 위에서는 전류가 줄어듭니다. 낮게 멈추면 충전기가 더 빨리 비워집니다.

할 일이 없는 로봇이 놀며 기다리지 않고 빈 충전기로 가며, 주문이 쌓이고 잔량이 충전 기준보다 20% 이상 많으면 바로 일하러 나갑니다.

셀 안에 아무도 없을 때의 툴 속도. 물건 10개짜리 토트 하나에 1m/s에서 25초가 걸립니다.

동력·힘 제한: 토트에 끼인 손이 140N(준정적 한계, 보수적으로 적용) 넘게 받으면 안 되므로, 여기서는 최대 0.67m/s까지만 허용됩니다.

슬라이더를 움직이면 지금까지 나온 최신 빌드가 그 비율만큼의 로봇(앞 번호부터)에 깔리고, 나머지는 v1을 씁니다. 나중에 나온 빌드는 슬라이더를 다시 움직여야 깔립니다. 버전이 바뀌는 로봇은 4분 동안 운행에서 빠집니다.

지표

포장한 토트
360/h
정상
주문 처리 시간
0.0min
정상
가용 로봇
100%
정상
사람 있는 곳의 정지 여유
0.27m
정상
대기 주문0
협동로봇 속도 여유 (동력·힘 제한)0.17 m/s
평균 배터리 잔량67 %
최저 배터리 잔량42 %
충전기 대기 로봇0
충전 중인 로봇0
방전돼 견인된 로봇0
교착에 갇힌 로봇0
생긴 교착0
주행 정지 (통신·위치 추정)0
로봇 1시간당 정지, 최신 빌드0.0 /h
로봇 1시간당 정지, 나머지 로봇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 %

추이

포장한 토트: — /h6000

위기 시나리오

레벨 1 · 주문 피크 전에 충전기 절반이 고장

아침 근무, 로봇 24대 운영, 분당 주문 약 3.7건. 바쁜 밤을 보낸 탓에 로봇들은 평균 60% 잔량으로 근무를 시작합니다. 15분에 전기 고장으로 충전기 6대 중 4대가 근무가 끝날 때까지 멈춥니다. 90분에는 주문 피크가 시작됩니다 (두 시간 동안 +25%). 주문이 계속 흐르게 하고, 충전된 상태로 피크에 들어가고, 방전되는 로봇이 없게 하고, 근무 시간의 로봇 예산을 지키세요.

  • 피크 중·후 평균 주문 처리 시간 3.5분 이하
  • 피크 시작 때 로봇 평균 잔량 49% 이상
  • 방전되는 로봇 없음
  • 근무 전체 97로봇시간 이하
  • 사람 있는 곳에서 정지 거리가 늘 필드 안
  • 사람이 셀 안에 있을 때 협동로봇이 동력·힘 제한보다 빠르지 않음

레벨 2 · 통로가 닫히고 로봇이 엉키고, 작업자가 구역 A로 들어온다

분당 주문 약 4.2건, 로봇 24대, 교통 제어는 자유 주행입니다. 10분에 랙 재배치로 통로 하나가 닫힙니다: 교차로가 줄고, 마주치는 일이 늘고, 돌아갈 길이 없습니다. 60분에는 정비 작업자들이 40분 동안 로봇 전용 구역 A에 들어갑니다. 운영자 시간을 적게 쓰면서 주문을 흐르게 하고, 사람이 있는 곳에서는 모든 정지 거리를 안전 필드 안에 두고, 구역 A가 비면 다시 최고 속도로 돌리세요.

  • 평균 주문 처리 시간 6분 이하
  • 작업자가 나간 뒤 구역 A 평균 속도 설정 1.4m/s 이상
  • 교착 1건 이하
  • 로봇에 쓴 운영자 시간 20분 이하
  • 사람 있는 곳에서 정지 거리가 늘 필드 안
  • 사람이 셀 안에 있을 때 협동로봇이 동력·힘 제한보다 빠르지 않음

레벨 3 · 새 주행 소프트웨어의 카나리 배포

어젯밤 통로 랙을 재배치해서, 지금 소프트웨어(v1)를 쓰는 로봇은 그곳에서 위치를 더 자주 잃고 그때마다 운영자가 필요합니다. 새 버전 v2.0이 이를 고쳤고, 이미 로봇의 10%에서 카나리로 돌고 있습니다. 판단할 만큼 카나리를 지켜보고, 나머지 로봇과 비교해 확대할지 되돌릴지 정하고, 한 번에 너무 많은 로봇을 빼지 않으면서 단계적으로 좋은 빌드로 옮기세요.

  • 처음 12분 동안 카나리 유지 (v2.0 로봇 5% 이상)
  • 30–49분에 결함 있는 v2.0에서 빠짐 (평균 1% 이하)
  • 핫픽스 첫 10분 동안 로봇의 20% 이하에만 배포
  • 핫픽스를 제때 확대: 배포 뒤 평균 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]설명용 값이며 실제 현장이나 제품의 값이 아닙니다. 실제 현장은 자체 위험성 평가와 제조사 자료로 필드·속도·한계를 정합니다.
로봇은 플릿 관리 서버와의 통신이 워치독 시간보다 오래 끊기면 멈춥니다. 워치독이 짧을수록 짧은 와이파이 끊김에 훨씬 자주 걸립니다.
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]설명용 값이며 실제 현장이나 제품의 값이 아닙니다. 실제 현장은 자체 위험성 평가와 제조사 자료로 필드·속도·한계를 정합니다.
카나리 비교: 최신 빌드를 쓰는 로봇과 나머지 로봇의 로봇 1시간당 정지 횟수를 견줍니다.
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 생성기. 사용 분포 — 균등, 지수(역CDF), 정규(Box–Muller), 포아송(Knuth). 시드는 화면에 표시되고 공유됩니다.

출처

  1. ISO 3691-4:2023 Industrial trucks — Safety requirements and verification — Part 4: Driverless industrial trucks and their systems (personnel detection, zones, speed) — ISO/TC 110/SC 2, 2023
  2. ISO 13855:2024 Safety of machinery — Positioning of safeguards with respect to the approach of the human body (minimum distance S = K·T + C; replaces the 2010 edition) — ISO/TC 199, 2024
  3. ISO/TS 15066:2016 Robots and robotic devices — Collaborative robots (Annex A: body-region limits; transient contact speed v = F/√(μk), μ = (1/m_H + 1/m_R)⁻¹, m_R = M/2 + m_L) — ISO/TC 299, 2016
  4. ISO 10218-2:2025 Robotics — Safety requirements — Part 2: Industrial robot applications and robot cells (collaborative applications; takes over the ISO/TS 15066 body-region data) — ISO/TC 299, 2025
  5. J. D. C. Little — A Proof for the Queuing Formula: L = λW — Operations Research 9(3):383–387, 1961
  6. M. Harchol-Balter — Performance Modeling and Design of Computer Systems (M/G/1 Pollaczek–Khinchine mean wait; M/D/1) — Cambridge University Press, 2013
  7. B. D. Greenshields — A Study of Traffic Capacity (linear speed–density relation) — Highway Research Board Proceedings 14:448–477, 1935
  8. E. G. Coffman, M. Elphick, A. Shoshani — System Deadlocks (the four necessary conditions; prevention by ordered resource allocation) — ACM Computing Surveys 3(2):67–78, 1971
  9. I. F. A. Vis — Survey of research in the design and control of automated guided vehicle systems (fleet sizing, zone control, deadlocks, battery management) — European Journal of Operational Research 170(3):677–709, 2006
  10. M. De Ryck, M. Versteyhe, F. Debrouwere — Automated guided vehicle systems, state-of-the-art control algorithms and techniques (traffic, deadlock avoidance, battery charging strategies) — Journal of Manufacturing Systems 54:152–173, 2020
  11. BU-409: Charging Lithium-ion (constant current to about 70 % state of charge, then constant voltage while the current tapers) — Battery University
  12. T. D. Gillespie — Fundamentals of Vehicle Dynamics (rolling resistance F = C_rr·m·g; kinetic energy lost in braking) — SAE International, 1992
  13. The Site Reliability Workbook — Ch. 16 Canarying Releases (canary vs control, multi-stage rollout, rollback) — Beyer, Murphy, Rensin, Kawahara, Thorne (eds.), O'Reilly, 2018

이 일을 하는 사람들

교육용 모델입니다 — 실제 운영 결정에 쓰지 마세요. 실제 현장은 모든 상수를 자기 장비와 데이터로 보정합니다.