AMR 자동 도킹의 성공은 로봇이 충전기 앞에 멈춘 장면이 아니라 staging pose 진입, dock 검출, 저속 접근, 물리 접촉, 충전 전류 확인과 재시도 종료까지 모두 통과한 상태입니다. 시작 위치·각도·바닥·조명·배터리 상태를 바꿔 반복 성공률과 복구 시간을 측정해야 합니다.
아래에서는 용어의 차이를 실제 시스템 경계, 실패 조건과 검증 순서로 나눠 살펴봅니다.
자동 도킹은 주행·정밀 정렬·전기 체결이 이어지는 작업이다
AMR이 충전기 근처까지 자율 이동하는 능력은 AMR과 AGV 비교 글의 일반 주행 범위입니다. 도킹은 그 뒤 수 cm 수준의 정렬, 접점 또는 무선 충전 결합과 실제 충전 시작 확인까지 포함합니다.
충전기 앞에 정지했다고 success를 반환하면 접점 미체결과 전류 미인가를 놓칩니다. 접근·검출·제어·접촉·충전·이탈 상태를 나누고 각 단계의 센서와 종료 조건을 명시해야 합니다.
Docking Server는 도크 종류와 위치를 plugin으로 분리한다
Nav2 Docking Server 공식 문서는 충전 도크와 컨베이어·팔레트 같은 비충전 도킹을 plugin으로 추상화합니다. 도크 database는 위치와 유형을 관리하고 plugin은 검출·접촉·충전 판정 방식을 구현합니다.
현장에 접점 구조와 접근 방향이 다른 충전기가 섞이면 plugin type과 dock instance를 분리합니다. 하나의 pose tolerance로 모든 기구를 처리하면 검출은 성공해도 접점 압력과 충전 판정이 달라질 수 있습니다.
Staging pose는 전역 주행과 정밀 접근의 인계 지점이다
Nav2 Docking Server 사용 튜토리얼은 도크 pose에서 일정 offset의 staging pose로 이동한 뒤 검출과 정밀 접근을 시작하는 절차를 설명합니다. 이 위치는 센서가 표식을 보고 회전 여유를 확보할 수 있어야 합니다.
너무 멀면 표식이 작거나 가려지고, 너무 가까우면 횡오차와 yaw를 고칠 거리가 부족합니다. 시작 위치 분포와 localization 오차를 포함해 staging pose 허용 영역과 도달 시간을 시험합니다.
| 단계 | 입력 | 성공 조건 |
|---|---|---|
| Staging | dock ID·map pose | 허용 거리·yaw 안 도착 |
| 검출 | tag·vision·저장 pose | 신선한 refined pose |
| 접근 | odom·controller·안전 센서 | 접촉 임계 안 진입 |
| 충전 | BatteryState·접점 신호 | 전류·상태 지속 확인 |
도크 검출은 pose 정확도와 신선도를 함께 봐야 한다
AprilTag·반사판·LiDAR 형상·카메라 모델 등 검출 방식은 조명과 시야에 따라 오차가 달라집니다. 저장된 database pose만 사용하는 방식은 단순하지만 충전기 이동과 map 오차를 정밀 접근에 그대로 전달합니다.
검출 성공률뿐 아니라 횡·종·yaw 오차, update rate, latency와 dropout 지속시간을 측정합니다. 접근 중 refined pose가 끊겼을 때 마지막 값을 얼마 동안 사용할지와 즉시 이탈할 조건도 정해야 합니다.
정밀 접근은 map보다 odom과 상대 pose가 안정적일 수 있다
전역 map localization은 staging까지 유용하지만 근거리에서는 map jump가 제어를 흔들 수 있습니다. docking controller는 odom 고정 프레임과 검출된 상대 dock pose를 사용해 짧은 접근을 안정화할 수 있습니다.
카메라·base·접점 사이 extrinsic은 로봇 캘리브레이션 글의 TCP·핸드아이와 같은 원리로 오차를 관리해야 합니다. 검출 표식 위치와 실제 전기 접점 중심의 offset을 실측해 보정합니다.
접촉 성공과 충전 성공은 다른 판정이다
기구 tolerance 안에 들어오거나 모터 effort가 급증하면 접촉을 추정할 수 있지만 전기 접점이 실제로 연결됐다는 뜻은 아닙니다. 반대로 충전 전류가 순간 보였어도 흔들림으로 곧 끊길 수 있습니다.
isDocked와 isCharging 신호를 분리하고 충전 전류·전압·charger status가 일정 시간 유지되는지 확인합니다. 접촉 뒤 제한 시간 안에 충전이 시작되지 않으면 안전하게 이탈하고 접점을 손상시키지 않는 재시도를 수행합니다.
충전 상태는 배터리 잔량보다 전류 방향과 지속시간으로 확인한다
SOC는 느리게 변하고 추정 오차가 있어 도킹 직후 판정에 적합하지 않을 수 있습니다. BatteryState current의 부호 규칙, charger enable, 접점 신호와 팩 전압 변화를 조합해 충전 시작을 확인합니다.
BMS가 온도·SOC 때문에 충전을 제한하는 상황은 접점 실패와 구분해야 합니다. 충전기와 로봇 로그에 동일한 시험 ID와 시간을 남겨 물리 미체결, 통신, BMS 제한과 charger fault를 나눕니다.
재시도는 더 세게 밀기가 아니라 pose를 다시 만드는 절차다
충전이 확인되지 않으면 짧게 후퇴해 접점을 분리하고 도크 pose를 다시 검출한 뒤 접근합니다. 같은 궤적을 그대로 반복하면 동일한 횡오차와 기구 간섭이 재현되므로 재검출·재정렬이 실제로 수행돼야 합니다.
max retries뿐 아니라 전체 시간, 접촉 횟수와 누적 충격을 제한합니다. 접점 변형, 센서 상실, 장애물 진입과 BMS fault에서는 재시도하지 않고 운영자 또는 다른 도크로 승격합니다.
시작 pose와 환경 조건을 조합해 캡처 영역을 측정한다
정면 한 위치의 반복 시험은 실제 운용 범위를 보여주지 않습니다. staging 기준 거리, 좌우 offset, yaw, 접근 방향을 grid로 바꾸고 하중·타이어 마모·바닥 마찰·조명과 함께 시험합니다.
각 조합에서 staging 성공, 검출, 접촉, 충전과 재시도 횟수를 단계별로 기록하면 도킹 캡처 영역이 보입니다. 경계에서의 실패율과 시간이 운영 스케줄에 허용되는지 판단합니다.

반복 성능은 성공률뿐 아니라 시간·충격·접점 열화로 본다
전체 성공률이 높아도 특정 yaw나 낮은 조명에서 실패가 몰릴 수 있습니다. 조건별 first-attempt success, 최종 success, staging·접근·충전 확인 시간과 error code를 분리합니다.
접촉 속도와 peak effort, 위치 오차, 접점 온도·마모와 충전 중 단절도 기록합니다. 수백 회 반복에서 점차 시간이 늘거나 재시도가 많아지면 기구 정렬 또는 접점 오염의 열화 신호일 수 있습니다.
도킹 실패는 플릿과 충전 운영으로 전파된다
VDA 5050 플릿 인터페이스 글처럼 상위 시스템은 도킹 상태, 오류, 재시도와 사용 불가 도크를 알아야 다른 작업과 충전기를 배정할 수 있습니다. success boolean 하나만 보내면 반복 실패가 작업 지연으로 숨습니다.
배터리 임계가 낮은 로봇이 도킹에 실패했을 때 재작업을 계속할지 안전 위치에 정지할지, 다른 도크로 갈 에너지가 있는지 정책을 둡니다. 도크 고장과 로봇 고장을 구분해 여러 로봇이 같은 불량 도크에 줄 서는 일을 막습니다.
| 지표 | 단위 | 운영 의미 |
|---|---|---|
| 1차 성공률 | % | 정렬·접점 기본 안정성 |
| 최종 성공률 | % | 재시도 포함 가용성 |
| 도킹 시간 | s·P95·최대 | 충전 회전율 |
| 접촉·단절 | 횟수·peak·event | 마모·불안정 연결 |
인수 시험은 충전·이탈·재부팅까지 닫아야 한다
도킹 server와 센서 노드는 Lifecycle 상태 복구 뒤에도 현재 도크와 충전 상태를 올바르게 복원해야 합니다. 도킹 중 프로세스 재시작, 충전 중 전원·통신 단절과 undock 요청을 시험합니다.
Nav2 DockRobot action 문서의 success·error code·num retries를 보존하고, 물리 충전기 로그와 일치시키면 자동화 경로부터 전기 체결까지 하나의 인수 기록으로 남길 수 있습니다.

AMR 자동 도킹 성능 시험에서 자주 묻는 질문
충전기 앞에 정확히 서면 도킹 성공인가요?
아닙니다. 물리 접촉 또는 정렬 조건과 실제 충전 전류·상태가 일정 시간 확인돼야 충전 도킹 성공으로 볼 수 있습니다.
도킹 pose는 map 프레임만 사용하면 되나요?
Staging에는 map이 유용하지만 근거리 정밀 접근은 odom과 상대 검출 pose가 더 안정적일 수 있습니다. 시스템 구조에 맞춰 검증해야 합니다.
재시도 횟수는 많을수록 좋은가요?
접점 충격과 배터리·시간을 늘릴 수 있습니다. 재검출과 재정렬이 가능한 오류에만 제한적으로 사용해야 합니다.
SOC가 올라가면 충전 성공으로 판정해도 되나요?
SOC는 반응이 느릴 수 있습니다. 충전 전류, charger status와 접점 신호를 지속시간 조건과 함께 확인하는 편이 좋습니다.
도킹 성공률은 몇 회 시험해야 하나요?
한 숫자로 정할 수 없습니다. 시작 pose·환경·하중·배터리·접점 상태의 조합을 포함해 목표 신뢰수준과 허용 실패율에 맞는 반복 수를 정해야 합니다.
자동 도킹은 저속이어도 물리 접촉과 전기 에너지를 다룹니다. 접점 정격, 충전기·BMS 제조사 요구와 현장 안전 절차를 적용해야 합니다.