
막힌 길에서 스스로 다음 경로를 판단할 수 있는가에 가깝다
장애물 자동회피, Local Replanning, Global Path, ACS 관제와 Fleet Traffic까지 실제 공장 적용 관점에서 정리한다.
AMR과 AGV의 차이를 검색하면 보통 "AGV는 Magnetic Tape를 따라가고 AMR은 LiDAR와 SLAM으로 자율주행한다"는 설명이 나온다. 입문 설명으로는 이해하기 쉽지만 실제 Robot을 설계하고 공장에 적용해 보면 이 기준만으로는 부족하다.
LiDAR를 사용하고 Map 안에서 자기 위치를 알고 있어도 정해진 Node와 Route만 따라가다가 장애물을 만나면 멈추는 Robot이 있다. 반대로 운영상 Node와 Lane을 사용하더라도, 길이 막혔을 때 허용된 영역 안에서 새로운 Trajectory를 계산하고 목적지까지 계속 이동하는 Robot도 있다.
장애물이 감지되면 멈추는 것은 AMR이 아닌 AGV 이며, 자기 위치를 아는가보다는 현재 Path가 막혔을 때 정해진 노선을 벗어나 새로운 Path를 만들고, 다시 목적지까지 이동할 수 있는지가 더 중요함
1. AGV와 AMR을 Sensor 종류로만 구분하면 안 된다
AGV라고 해서 반드시 Magnetic Tape만 사용하는 것은 아니다. Marker, Reflector, Laser Navigation, Virtual Path처럼 다양한 Guidance가 가능하다. 반대로 AMR이라고 해서 반드시 3D LiDAR나 Camera가 필요한 것도 아니다.
핵심은 Sensor가 무엇인가보다 그 Sensor 정보를 Navigation System이 어떻게 사용하는가에 있다.
| 기능 | AGV에 가까운 동작 | AMR에 가까운 동작 |
|---|---|---|
| Localization | 가능 | 가능 |
| LiDAR 사용 | 가능 | 가능 |
| Map 사용 | 가능 | 가능 |
| SLAM | 구현 가능 | 구현 가능 |
| Node / Waypoint | 가능 | 가능 |
| 장애물 대응 | 정지와 대기 중심 | 정지, 판단, 우회 가능 |
| 경로 재계획 | 제한적 | 핵심 기능 |
2. ANSI/RIA R15.08의 정의도 Path Planning을 기준으로 본다
A3가 공개한 R15.08 관련 설명에서는 AGV를 미리 정의된 Guidepath를 따르는 Mobile Platform으로, AMR을 미리 정의된 Guidepath 대신 Obstacle Avoidance와 Trajectory Planning을 이용해 Navigation할 수 있는 Mobile Platform으로 구분한다.
여기서 눈여겨볼 단어는 LiDAR나 SLAM이 아니라 Obstacle Avoidance와 Trajectory Planning이다.
3. SLAM을 사용한다고 바로 AMR이 되는 것은 아니다
SLAM은 Map을 만들고 동시에 Robot Pose를 추정하는 기술이다. 현재 위치를 잘 안다고 해서 목적지까지 어떤 경로로 갈지를 자동으로 결정하는 것은 아니다.
예를 들어 SLAM으로 만든 Map에서 Robot이 Node A → B → C → D만 따라가도록 만들 수 있다. B와 C 사이가 막혔을 때 정지하고 기다리기만 한다면 Navigation Policy는 자율적이라고 보기 어렵다.
4. 제가 생각하는 AMR다운 동작은 이런 흐름이다
Nav2도 Global Costmap과 Local Costmap을 나누고, 장애물 정보에 따라 Planner와 Controller가 경로를 계산하도록 구성한다. Path가 Invalid해졌을 때 다시 Planning하는 Behavior Tree도 공식적으로 제공한다.
5. 그렇다면 Node를 쓰면 AGV인가?
그렇지 않다. 실제 공장에서는 AMR도 Node와 Lane을 많이 사용한다. 좁은 통로, 교차로, Door, Elevator, Charging Station, Docking Station을 자유공간처럼 처리하면 오히려 운영이 더 어려워질 수 있기 때문이다.
따라서 Node와 Lane은 자율성을 없애는 요소라기보다 공장 운영규칙을 Robot Navigation에 넣는 방법으로 보는 것이 맞다.
6. 문제는 Robot 한 대가 아니라 Fleet가 되면서 시작된다
Robot 한 대만 놓고 보면 장애물을 발견했을 때 옆으로 피해 가는 것이 가장 자연스럽다. 하지만 공장에는 여러 대의 AMR가 동시에 움직이고 상위 ACS 또는 Fleet Management System이 전체 Traffic을 관리한다.
이때 Robot이 ACS가 예상하지 못한 경로로 자유롭게 이탈하면 상위 관제 입장에서는 문제가 생긴다.
7. ACS는 Robot의 현재위치만 보는 것이 아니다
ACS를 단순 Monitoring 화면으로 생각하면 안 된다. 실제 Fleet System은 Mission을 배정하고, Robot Route와 Resource를 관리하고, 여러 대가 같은 좁은 구간에 들어가지 않도록 Traffic을 조정할 수 있다.
Open-RMF의 Traffic Management도 Robot의 현재 위치만 받는 것이 아니라 예상 Itinerary를 Traffic Schedule에 등록하고, Delay나 Route Change가 생기면 Schedule을 갱신하는 구조를 사용한다.
8. Robot이 멋대로 우회하면 어떤 문제가 생길까?
| 문제 | 왜 발생하는가 |
|---|---|
| Route Reservation 불일치 | ACS가 예약한 Lane과 실제 Robot Path가 달라짐 |
| 교차로 충돌 예측 실패 | 다른 Robot이 같은 공간을 사용하도록 계획될 수 있음 |
| Deadlock | 여러 Robot이 서로 피하다가 진입도 후퇴도 어려운 상태가 될 수 있음 |
| ETA 오차 | 예상 Route와 실제 Route가 달라져 Mission Time 예측이 어려워짐 |
| 설비 Interlock 불일치 | Door, Elevator, Conveyor가 예상 Node 기준으로 동작할 수 있음 |
| 운영 Rule 위반 | One-way, Keepout, 작업자 통로를 Local Planner가 침범할 수 있음 |
9. 여러 AMR가 각각 알아서 피하면 더 복잡해진다
두 Robot이 마주 왔을 때 둘 다 같은 방향으로 회피하거나, 서로 양보하면서 반복적으로 경로를 바꾸면 Oscillation이 생길 수 있다.
좁은 통로에서는 뒤쪽 Robot까지 Queue가 쌓여 단순 Local Avoidance로 해결할 수 없는 Deadlock이 생긴다. 이런 문제는 Robot 한 대의 Local Planner보다 Fleet Traffic Layer에서 판단하는 것이 유리하다.
10. 그래서 실무에서는 완전자유형보다 Hybrid Architecture가 현실적이다
제가 생각하는 현실적인 구조는 ACS와 AMR가 역할을 나누는 방식이다.
즉 ACS는 전체 Mission과 Traffic Rule을 관리하고, AMR는 가까운 장애물에 빠르게 반응한다. 다만 AMR가 Nominal Route를 크게 벗어나는 Replanning을 했다면 그 정보를 ACS에 다시 알려 전체 Fleet Plan을 갱신해야 한다.
11. 허용된 우회영역을 정의하는 방법이 좋다
공장 전체를 Free Space로 두기보다 Lane 주변에 Local Avoidance가 가능한 Corridor를 정의하는 방법이 실무적으로 유용하다.
| Zone | 권장 Navigation Policy |
|---|---|
| 넓은 Open Area | Local Avoidance와 Replanning 허용 |
| 좁은 Aisle | Lane Reservation 우선, 무리한 우회 제한 |
| Intersection | ACS Traffic Priority 또는 Token 관리 |
| Docking Zone | 정의된 Approach Path 우선 |
| Elevator / Door | Resource Lock과 Interlock 우선 |
| Keepout / Human Zone | Planner 자체가 진입하지 못하도록 제한 |
Nav2에도 Keepout Zone을 Costmap에 적용해 Planner와 Local Controller가 진입하지 못하도록 하는 기능이 있다. 자율성을 주더라도 운영규칙을 Map에 넣을 수 있다는 의미다.
12. Local Avoidance와 Global Replanning을 구분해야 한다
장애물을 살짝 비켜가는 것과 전체 Route를 바꾸는 것은 영향범위가 다르다.
기존 Route 주변에서 사람이나 Cart를 피해 다시 원래 Path로 복귀한다.
다른 교차로와 Resource를 사용하므로 ACS Traffic Plan까지 갱신해야 한다.
이 둘을 같은 "장애물 회피"로 묶으면 ACS Interface를 설계하기 어렵다. Replan 수준에 따라 Robot 단독판단과 ACS 승인범위를 구분하는 것이 좋다.
13. AMR와 ACS 사이에 어떤 정보를 주고받아야 할까?
- 현재 Pose와 현재 Lane 또는 Node
- 현재 Mission과 Goal
- 계획된 Route 또는 Itinerary
- Blocked 상태와 장애물로 인한 Delay
- Local Detour 여부
- Global Replanning 요청
- 새 Route 적용 결과
- Resource Reservation 상태
- Traffic Hold와 Release Command
- Fault와 Manual Recovery 상태
14. AMR가 자유롭게 우회할수록 관제 통신이 더 중요해진다
AGV처럼 Route가 고정되어 있으면 ACS는 Node Progress만 봐도 다음 위치를 예측하기 쉽다. AMR가 Path를 자율적으로 바꾸기 시작하면 ACS도 Robot의 계획변화를 더 자주 알아야 한다.
즉 Autonomous Navigation을 강화하면 Robot Software만 복잡해지는 것이 아니라 ACS Protocol과 Fleet State Model도 같이 복잡해진다.
15. Navigation과 Safety는 반드시 분리해서 생각한다
장애물을 보고 우회하는 기능은 Navigation Function이고, 사람이 위험영역에 들어왔을 때 Safety-rated Sensor로 정지시키는 기능은 Safety Function이다.
일반 3D LiDAR가 Local Planner에 장애물을 넣어 Path를 바꿀 수 있어도 그것만으로 Safety Function이 되는 것은 아니다. 반대로 Safety LiDAR가 Protective Field 침입을 감지해 Robot을 정지시킨다고 해서 AMR의 Autonomous Navigation이 구현된 것도 아니다.
Navigation Layer와 Safety Layer가 동시에 같은 환경을 보더라도 책임과 검증기준은 다르다.
16. ISO 3691-4는 AGV와 AMR의 Marketing 경계를 정하는 규격이 아니다
ISO 3691-4:2023은 Driverless Industrial Truck과 그 System의 Safety Requirement를 다룬다. 공식 Scope에는 AGV와 AMR가 모두 Example로 포함된다.
따라서 "이 기능이 있으면 ISO상 AMR, 없으면 AGV"처럼 해석하면 안 된다. AMR과 AGV의 Navigation 차이를 설명할 때는 R15.08의 용어 정의가 더 직접적이고, ISO 3691-4는 Safety Requirement 관점에서 보는 것이 적절하다.
17. 결국 AMR은 자율성의 Spectrum으로 보는 것이 현실적이다
| Level | 동작 | 실무 해석 |
|---|---|---|
| 1 | 정해진 Route 추종, 장애물 시 Stop | 전형적인 AGV에 가까움 |
| 2 | Route 주변에서 작은 Local Avoidance | 부분적인 자율성 |
| 3 | Blocked Path에서 Local Replanning 후 복귀 | AMR 특성이 뚜렷함 |
| 4 | Global Route 재계획 + ACS Traffic 동기화 | Fleet 수준의 AMR Architecture |
현장에서는 Level 4가 항상 최선인 것도 아니다. 생산라인 옆 좁은 통로에서는 Route를 강하게 제한하는 편이 더 안정적일 수 있고, 넓은 물류공간에서는 자율우회가 생산성을 크게 높일 수 있다.
18. AMR 설계에서 중요한 것은 "얼마나 자유롭게 갈 수 있는가"보다 역할분담이다
Robot에 모든 판단을 맡기면 ACS가 Fleet 전체를 예측하기 어려워지고, ACS가 모든 움직임을 직접 지시하면 Robot의 Local Responsiveness와 자율성이 줄어든다.
결국 좋은 Architecture는 AMR가 즉시 판단해야 할 영역과 ACS가 전체 Fleet 관점에서 판단해야 할 영역을 명확히 나누는 것이다.
AMR과 AGV의 차이를 LiDAR, SLAM, Marker 같은 Sensor 기술로만 구분하기는 어렵다. 제가 더 중요하게 보는 기준은 Path가 막혔을 때 Robot이 환경을 판단해 새로운 Trajectory를 만들 수 있는가이다. 다만 공장에서는 자율회피가 강해질수록 ACS가 Route와 Traffic을 예측하기 어려워지므로, 실제 AMR은 Robot의 Local Autonomy와 상위 Fleet Control을 함께 설계해야 한다.
A3 - R15.08 AGV / AMR terminology
ISO 3691-4:2023 - Driverless industrial trucks and their systems
같이 보면 좋은 TerryPack 글
'【로봇-AMR 실무】' 카테고리의 다른 글
| 【모터 제어 실무】 BLDC, PMSM, Servo Motor 차이 | 구조, 제어방식과 선정 기준 (0) | 2026.10.12 |
|---|---|
| 【로봇-AMR 실무】 ROS란? | ROS1, ROS2 차이와 Node, Topic, Service 쉽게 정리 (0) | 2026.10.09 |
| 【로봇-AMR 실무】 SLAM이란? | LiDAR, Camera, IMU, Encoder는 어떻게 함께 쓰일까 (0) | 2026.10.08 |
| 【로봇 제어 실무】 엔코더 A상 B상 Z상이란? | PPR, CPR, 4체배, 회전방향과 RPM 계산 (0) | 2026.10.07 |
| 【로봇 설계 실무】 델타로봇 역기구학이란? | Workspace와 링크 길이 설계 방법 (0) | 2026.10.04 |