VDA 5050 3.0은 공장과 창고에서 서로 다른 제조사의 AGV·AMR을 중앙 플릿 제어가 같은 메시지 구조로 주문하고 상태를 읽도록 만든 통신 인터페이스입니다. 로봇의 주행 알고리즘이나 안전 인증을 통일하는 표준은 아닙니다. 3.0에서는 자유 주행 로봇을 위한 zone과 path sharing이 추가돼 중앙 교통 관리와 차량 내부 경로 계획의 역할을 더 세밀하게 나눌 수 있습니다.
VDA 5050은 차량과 플릿 제어 사이의 언어다
중앙 제어는 운송 주문과 즉시 행동을 보내고 차량은 위치, 배터리, 오류와 주문 진행 상태를 돌려줍니다. 제조사마다 다른 API를 프로젝트별로 연결하는 부담을 줄이는 것이 목적입니다.
VDA 공식 3.0.0 문서는 intralogistics의 mobile robot과 fleet control 사이 작업·상태 데이터 교환 인터페이스라고 범위를 정합니다.

통신 구조는 MQTT 주제와 JSON 메시지를 사용한다
플릿 제어와 차량은 order, state, instantActions, visualization, factsheet 같은 주제로 메시지를 교환합니다. JSON 스키마가 필드와 자료형을 정의해 서로 다른 구현이 같은 구조를 읽게 합니다.
브로커 연결, 인증서, 네트워크 분리와 메시지 보존 정책은 현장 아키텍처에서 설계해야 합니다. JSON이 맞는다고 지연과 보안이 자동 해결되지는 않습니다.
주문은 node와 edge의 연결로 표현한다
node는 정차·행동·의사결정 지점을, edge는 두 node 사이 이동 구간을 나타냅니다. 플릿 제어는 순서가 있는 그래프 형태로 차량에 주문을 보냅니다.
차량이 아직 확정하지 않은 미래 구간과 즉시 실행 가능한 base를 구분해 주문을 갱신합니다. 잘못된 갱신 ID와 순서가 들어오면 차량은 실행을 거부하거나 오류를 보고해야 합니다.

state는 위치보다 실행 맥락을 함께 보낸다
차량은 현재 주문, 마지막 node, 주행 여부, action 상태, 오류, 배터리와 안전 상태를 보고합니다. 중앙 제어는 이 상태로 다음 주문과 교통 우선순위를 결정합니다.
상태 주기가 너무 느리면 혼잡 판단이 늦고 너무 빠르면 네트워크와 브로커 부하가 커집니다. 프로젝트 지연 예산과 차량 수를 기준으로 주기를 정합니다.
3.0의 zone은 자유 주행 구역 규칙을 전달한다
기존 node·edge 방식은 중앙이 비교적 구체적인 통로를 제시하기 좋습니다. 자유 주행 AMR은 넓은 영역 안에서 자체적으로 세부 경로를 계획하므로 중앙이 금지·방향·승인·비용 규칙을 zone으로 전달합니다.
VDA의 3.0 발표는 restricted, one-way와 명시적 승인 같은 구역 규칙을 설명합니다. 차량이 zone을 지원하는지 factsheet와 통합 시험으로 확인해야 합니다.
path sharing은 차량의 계획을 중앙에 보이게 한다
차량이 zone 안에서 계산한 경로를 중앙 제어와 공유하면 플릿 제어는 다른 차량의 예상 이동과 교통 영향을 판단할 수 있습니다. 중앙이 모든 세부 궤적을 직접 만드는 방식과 다릅니다.
공유 경로가 실제 실행과 얼마나 자주 동기화되는지, 장애물로 재계획할 때 어떤 버전이 유효한지 정해야 합니다. 낡은 경로를 교통 관리에 사용하면 충돌과 교착 판단이 틀릴 수 있습니다.
다종 플릿에서는 지원 기능의 교집합을 본다
한 차량은 zone과 path sharing을 지원하고 다른 차량은 node·edge만 지원할 수 있습니다. 플릿 제어는 차량별 capabilities와 protocol feature를 읽어 사용할 주문 구조를 선택해야 합니다.
버전 3.0 지원이라는 표시만으로 모든 선택 기능이 구현됐다고 가정하지 않습니다. 오류 코드, action, 지도와 위치 정확도까지 시나리오별 상호운용 시험을 합니다.
| 기능 | 플릿 제어 역할 | 차량 역할 | 통합 확인 |
|---|---|---|---|
| order | node·edge와 action 전달 | 검증·실행·상태 보고 | 갱신·취소·중복 |
| zone | 구역 규칙·승인 관리 | 구역 내 자체 경로 계획 | 지원 유형·버전 |
| path sharing | 교통 관점에서 경로 수집 | 예정 경로와 변경 공유 | 갱신 주기·유효성 |
| state/error | 작업·교통·복구 판단 | 현재 상태·오류 제공 | 코드 의미·지연 |
지도와 좌표계는 현장 합의가 필요하다
메시지에 mapId와 위치가 있어도 원점, 축 방향, 층, 지도 버전과 정밀도를 프로젝트가 맞춰야 합니다. 서로 다른 지도에서 같은 숫자를 보내면 중앙 화면은 정상처럼 보여도 실제 위치가 다릅니다.
지도 배포와 전환 중 차량이 어느 버전을 쓰는지, 엘리베이터와 층 이동에서 좌표가 어떻게 이어지는지 시험합니다.
VDA 5050은 안전 기능을 대신하지 않는다
중앙이 정지 action을 보낼 수 있어도 네트워크 지연과 단절이 있습니다. 사람과 장애물 감지, 제동과 비상 정지는 차량의 독립 안전 시스템이 담당해야 합니다.
피지컬 AI 안전에서처럼 일반 통신과 기능 안전의 책임을 분리합니다. 교통 규칙 위반과 물리적 안전 정지를 같은 오류 하나로 처리하지 않습니다.
다종 플릿의 어려움은 주변 설비에서 드러난다
도어, 컨베이어, 리프트와 충전기는 VDA 5050 차량 메시지만으로 통합되지 않을 수 있습니다. 어느 시스템이 설비를 예약하고 실패를 복구하는지 정해야 합니다.
물류 AI의 WMS·WES 우선순위와 플릿 주문이 충돌하지 않도록 작업 ID와 책임 계층을 연결합니다.
도입 시험은 정상 주문보다 예외를 먼저 늘린다
차량 오프라인, 브로커 재시작, 주문 갱신 충돌, blocked node, 낮은 배터리, 지도 변경과 수동 이동을 시험합니다. 정상 A-B 운송만 통과하면 실제 교대의 복구 능력을 알 수 없습니다.
공식 저장소의 스키마 검증과 함께 실제 두 제조사 차량·플릿 조합으로 end-to-end 시험을 합니다. 공식 GitHub의 release와 issue도 사용 버전에 맞춰 추적합니다.
| 시험 상황 | 기대 동작 | 실패 위험 | 기록 |
|---|---|---|---|
| 주문 갱신 | base 이후 horizon 교체 | 중복·역순 실행 | order/update ID |
| 통신 단절 | 차량 안전 상태·재접속 | 맹목 주행·상태 유실 | 마지막 메시지·복구 시간 |
| zone 변경 | 새 규칙과 버전 적용 | 구역 불일치 | zoneSet/map ID |
| 차량 재계획 | path sharing 갱신 | 낡은 교통 예측 | 경로 버전·시각 |
| 설비 오류 | 대기·우회·사람 호출 | 교착·작업 유실 | action·error·상위 작업 |
표준 도입의 성과는 연결 수보다 운영성으로 본다
새 차량을 붙이는 데 걸린 시간, 공급사별 커스텀 코드, 장애 복구 시간과 플릿 교체 가능성을 측정합니다. 메시지가 오간다는 것과 안정적으로 운영된다는 것은 다릅니다.
RaaS 계약에서도 VDA 5050 버전, 선택 기능, 업데이트 책임과 데이터 접근을 명시하면 공급사 변경 위험을 줄일 수 있습니다.
VDA 5050 3.0에서 자주 묻는 질문
VDA 5050을 쓰면 모든 AMR이 같은 경로로 움직이나요?
아닙니다. 주문과 상태 통신을 맞추는 규격이며 세부 경로는 중앙 또는 차량이 프로젝트 구조에 따라 계산합니다.
3.0에서 기존 node·edge 방식이 없어졌나요?
아닙니다. 기존 방식은 유지되고 자유 주행 차량을 위한 zone과 path sharing이 추가됐습니다.
VDA 5050은 안전 통신 표준인가요?
차량과 플릿 사이 운영 통신 인터페이스입니다. 제동·사람 감지·비상 정지는 독립 안전 시스템과 적용 표준이 필요합니다.
MQTT 브로커만 설치하면 연동이 끝나나요?
지도·좌표·action 의미·선택 기능·주변 설비·보안과 예외 복구를 함께 맞춰야 합니다.
2.x 차량과 3.0 플릿을 함께 쓸 수 있나요?
구현의 하위 호환과 지원 기능에 따라 다릅니다. 차량별 버전과 capabilities를 확인하고 혼합 시나리오를 시험해야 합니다.
마지막 확인: 2026년 7월 23일. 기준 문서는 VDA 5050 Version 3.0.0, March 2026입니다. 선택 기능과 구현 범위는 공급사별로 다르므로 공식 스키마 검증과 실제 상호운용 시험이 필요합니다.