하나의 작업으로 시작하기: RCS 대 WMS의 연쇄
RCS 대 WMS 논쟁에서는 하나의 운송 작업에서 시작해 그 흐름을 따라가 보자.
승차 공유를 떠올려 보라. WMS는 승객, RCS는 배차 알고리즘, AMR은 운전자다. 승객이 말하는 것은 "A에서 B로 팔레트 하나 옮겨줘"뿐이다 — 어떤 차가 오는지, 어떤 경로인지, 교차로에서 누가 양보하는지, 승객은 그 어떤 것에도 손대지 않는다.
창고도 똑같다. WMS는 업무 문서의 주인이다 — 출고 주문에서 슬롯 A에서 20개를 피킹해 포장 스테이션으로 배달해야 한다. "운송 작업"을 생성한다: 출발지, 도착지, 화물 정보, 우선순위, 시간 창구. 그리고 RCS에 넘긴다. RCS는 플릿 디스패처의 일을 한다: 어느 AMR이 배터리가 충분하고, 출발지에 가장 가까우며, 대기 중인지. 경로를 계획한다. 두 로봇이 하나의 교차로를 두고 다투려 하면 RCS가 교통 정리를 하고 한쪽에 양보하라고 지시한다. AMR은 주어진 경로를 그냥 달리고, 장애물 앞에서 멈추고, 배터리가 부족해지면 충전기로 돌아간다.
세 개의 계층, 깔끔한 연쇄: WMS가 작업을 발행 → RCS가 로봇을 배차하고 경로를 관리 → AMR이 실행. 이것만 제대로 잡으면 책임 떠넘기기의 90%는 일어나지 않는다.
책임 분담 매트릭스: 누가 무엇을 맡는지, 모호함은 허용하지 않는다
RCS 대 WMS의 분담을 하나의 표로 정리했다. 프로젝트 킥오프 때 벽에 붙여라 — 최소 세 달치의 말싸움을 아낄 수 있다:
| 항목 | 담당 | 비고 |
|---|---|---|
| 업무 문서 (피킹 / 보충 / 크로스독) | WMS | 작업의 "왜" |
| 작업 생성 (출발지 / 도착지 / 우선순위) | WMS | 작업의 "무엇" |
| 어느 로봇이 일을 맡는지 | RCS | 배터리, 위치, 현재 부하로 스코어링 |
| 경로 계획 | RCS | 지도, 스테이션, 진입 금지 구역은 모두 RCS에 있다 |
| 교통 정리 (교차로 양보) | RCS | 멀티로봇 협조의 핵심 스킬 |
| 충전 스케줄링 | RCS | 어느 로봇이 언제, 얼마나 충전하는지 |
| 로봇 상태 모니터링 (배터리 / 고장) | RCS | 실시간 수집, 예외 보고 |
| 작업 완료 수신 | RCS → WMS | "이동 완료" — 그래야 WMS가 주문을 마감할 수 있다 |
| 예외 보고 (화물이 도착하지 않음) | RCS → WMS | WMS가 결정한다: 재배차할지 수동으로 할지 |
철칙 하나: WMS는 개별 AMR에 직접 명령을 내리지 않는다. WMS가 말하는 것은 "A에서 B로 물건을 옮기고 싶다"는 것. RCS가 "로봇 7호는 3번 통로로 가라"고 결정한다. 언젠가 WMS 벤더가 "경량 디스패처"를 만들어 로봇에 직접 명령을 보내면서, RCS도 같은 플릿을 배차하는 것을 본 적이 있다. 한 로봇이 모순되는 두 명령을 받고 제자리에서 40분간 빙글빙글 돌았다. 두 명의 상사, 한 대의 혼란스러운 로봇.

선정 기준선: 어느 규모가 독립형 RCS를 받을 만한가
이것이 가장 자주 묻는 질문이자, 가장 큰 가수요 지대다. 첫 한마디: AMR 5대 이하는 독립형 RCS가 필요 없다. 끝.
작은 창고의 5대 로봇은 교통 충돌을 거의 만들지 않는다. 벤더 내장 플릿 매니저로 충분하다. 거기에 여섯 자리 금액을 들여 독립형 RCS를 도입하는 것은 5명짜리 스타트업에 인사부를 고용하는 것과 같다 — 돈은 쓰고, 얻는 것은 없다.
기준선은 세 개의 선으로 긋는다 — 플릿 규모와 시나리오 복잡도다.
첫 번째 선: 플릿 규모. 5대 미만이면 벤더 내장 배차로 충분하다. 5대에서 20대 사이는 시나리오 복잡도에 따라 다르다. 20대를 넘으면 독립형 RCS는 거의 필수다. 다음 두 선이 더 중요하다.
두 번째 선: 멀티브랜드 플릿. 하나의 창고에 두 개 이상의 AMR 브랜드가 섞이면 독립형 RCS는 협상 불가다. 각 벤더의 디스패처는 자기 로봇하고만 대화한다 — 벤더 A의 시스템은 벤더 B의 로봇 교통 정리를 할 수 없다. VDA 5050 같은 표준 인터페이스로 각 플릿과 대화하는 중립적인 RCS를 마스터 디스패처로 두어야 한다. 단일 브랜드? 벤더 자체 디스패처가 서드파티 RCS보다 대개 더 잘 돌아간다 — 독자 프로토콜, 맞춤 튜닝이다.
세 번째 선: 작업 복잡도. 순수한 지점 간 이동은 단순한 배차면 된다. 하지만 멀티로봇 협업 (두 로봇이 하나의 초대형 화물을 릴레이), 동적 우선순위 선점, 충전-작업 통합 스케줄링 — 여기서 내장 디스패처는 한계에 부딪힌다. 좋은 RCS는 알고리즘으로 제값을 한다: 튜닝이 좋으면 플릿 가동률이 95% 이상을 유지한다. 튜닝이 나쁘면 20대의 로봇이 10대 분의 처리량을 낸다.
세 개의 선을 그었다, 하나의 프레임워크: 단일 브랜드 + 20대 미만 + 지점 간 이동 = 독립형 RCS는 건너뛰어라. 세 선 중 두 개에 해당하면 사라.
실전 이야기 하나: 인터페이스 책임이 흐릿해 양쪽이 책임을 미룬다
2023년, 중국 동부의 이커머스 창고: AMR 12대, WMS와 RCS는 두 벤더 제품. 고라이브 3주 후, 출고 작업이 계속 타임아웃됐다. WMS 벤더: "작업은 진작에 발행했다 — RCS가 느리다." RCS 벤더: "다섯 분 늦게 받았다 — WMS가 느리다."
두 주간의 말싸움. 나는 두 시스템 사이에 로깅 계층을 추가해 "작업 발행"과 "RCS 수신" 타임스탬프를 기록했다. 데이터가 진실을 말했다: 작업이 WMS에서 RCS로 이동하는 데 평균 4분 37초가 걸렸다. 범인은 미들웨어 메시지 큐다 — WMS 벤더가 "부하 평준화"를 위해 배치를 묶어 보냈고, RCS 측 인터페이스에는 배달 확인이 없었다. 어느 쪽도 거짓말을 하지 않았다. 양쪽 다 잘못이 있었다.
교훈: WMS-RCS 인터페이스 계약은 세 가지를 정의해야 한다 — 작업 발행의 실시간 요구사항 (예컨대 3초 이내), RCS의 배달 확인, 타임아웃-재시도 메커니즘. 이 세 가지를 기술 부록에 써넣으면, 다음 분쟁은 로그로 1분 만에 해결된다.
실전 이야기 둘: "교통 정리는 누가 하나" 정면 대립
2024년, 중국 남부의 3PL 창고: 6,000제곱미터에 AMR 18대, 가장 좁은 통로는 2.2미터. 어느 날 아침, 적재된 두 대의 AMR이 좁은 통로에서 정면으로 만났고, 둘 다 긴급 정지, 누군가 손으로 한 대를 옮길 때까지 20분간 데드락됐다. 그날 약 300건의 주문이 마감 시간을 놓쳤다.
사후 분석에서 찾았다: RCS의 교통 로직에 좁은 통로가 양방향으로 설정되어 있었다. 구현 때 누군가 넓은 통로 템플릿을 복사-붙여넣기한 탓이다. WMS는? 통로가 좁다는 것을 전혀 몰랐다 — WMS의 세계에는 지도가 존재하지 않는다.
직관에 반하는 결론: RCS 대 WMS의 가장 큰 지뢰는 "누가 배차하나"가 아니라 "누가 지도를 관리하나"다. 지도 — 통로 너비, 일방통행 대 양방통행, 진입 금지 구역, 충전기 위치 — 는 RCS의 핵심 자산이다. 하지만 지도의 변화 (어딘가에 놓인 팔레트, 정비 중인 통로)를 가장 먼저 눈치채는 것은 현장 사람들이다. 연쇄는 이렇게 되어야 한다: 현장 직원 → WMS (운영이 매일 쓰는 시스템) → RCS로 동기화. 너무 많은 프로젝트에서 WMS와 RCS가 각자 지도를 관리하고, 석 달이면 두 지도가 더 이상 맞지 않게 된다.
해결책: RCS의 지도를 유일한 진실의 원천으로 삼는다. WMS는 작업을 발행하고 지도에는 절대 손대지 않는다. 현장의 변화는 표준 프로세스로 24시간 이내에 동기화한다. 지도가 어긋난 날이 로봇이 데드락되는 날이다.
유지보수의 함정: 고라이브는 출발선일 뿐이다
RCS의 가장 큰 함정은 선정에 있지 않다 — 운영에 있다:
첫째, 충전 전략을 튜닝하는 사람이 없다. RCS 기본값은 대개 "20% 아래면 충전"이지만, 20대가 한꺼번에 배터리가 부족해지면 충전기 대기열이 납기를 날려버린다. 올바른 접근은 웨이브 기반 충전이다: 웨이브 사이의 틈에 대량 충전하고, 피크 중에는 로봇을 30% 이상으로 유지한다. 실제 웨이브 데이터에 맞춰 튜닝하라.
둘째, MTBF 수치를 읽는 사람이 없다. 벤더 데이터시트의 MTBF는 실험실 데이터다. 당신의 현장 실제 MTBF는 당신의 현장에서 측정하는 것이다. RCS는 각 로봇의 고장 이력을 모두 로그로 남긴다 — 매월 뽑아보라. MTBF가 가장 빨리 떨어지는 로봇은 곧 휠이나 LiDAR 교체가 필요하다. 고장 날 때까지 기다리면 예방 정비의 다섯 배에 달하는 다운타임 비용이 든다 — 세 프로젝트의 수리 청구서로 계산해 냈다.
셋째, RCS와 WMS의 업그레이드가 어긋난다. WMS가 업그레이드하면서 작업 인터페이스 필드를 바꾼다. RCS는 따라가지 않는다. 작업 발행이 에러를 토해내기 시작한다. 두 벤더라면 업그레이드 때마다 합동 통합 테스트가 필요하다 — 운영 SOP에 써넣어라. "하위 호환성" 약속은 절대 믿지 마라. 현장 실패율은 100%다.
그 돈이 아깝지 않은가? 이 하나의 숫자를 봐라
원래 질문으로 돌아가자 — RCS 대 WMS, AMR을 지휘하는 것은 누구인가? 계층형 지휘다: WMS는 비즈니스의 주인, RCS는 플릿의 주인. 한 문장으로: WMS가 "무엇을 옮길지"를 결정하고, RCS가 "어떻게 옮길지"를 결정한다.
독립형 RCS가 돈값을 하는지는 하나의 숫자로 귀결된다: 플릿 효율 = 실제 완료 작업 수 ÷ (로봇 대수 × 로봇당 이론 최대 작업 수). 전후 한 달씩 측정하라. 15% 이상 오르면 — 돈이 제대로 쓰인 것이다. 10% 미만이면 — 독립형 RCS는 애초에 필요 없었다. 벤더 내장 디스패처로 충분했고, 그 예산으로 로봇 두 대를 살 수 있었다.
Da Liu, 자동화 엔지니어 지음
영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.











