ROBOT ENGINEERING NOTES

로봇과 AMR의
전장 설계부터 인증까지

회로 실무, 산업자동화, Functional Safety, ISO 규격과 로봇 인증을 실제 설계 관점에서 정리합니다.

회로 실무 AMR / AGV Functional Safety ISO 13849 EMC / CE
AMR ENGINEERING GUIDE →

【로봇-AMR 실무】 AMR과 AGV 차이 | 기존 설명과 다른, 실제 실무 중심의 차이점

AMR VS AGV PRACTICE
AMR과 AGV의 차이는 LiDAR나 SLAM보다
막힌 길에서 스스로 다음 경로를 판단할 수 있는가에 가깝다

장애물 자동회피, 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를 구분할 때 가장 중요하게 보는 기준은,
장애물이 감지되면 멈추는 것은 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이다.

중요한 해석 AMR이 항상 아무 곳이나 자유롭게 돌아다녀야 한다는 뜻은 아니다. 공장 운영정책 때문에 Node, Lane, One-way Zone을 사용할 수 있다. 중요한 것은 Robot이 환경변화를 보고 허용된 범위 안에서 경로를 다시 판단할 수 있느냐는 점이다.

3. SLAM을 사용한다고 바로 AMR이 되는 것은 아니다

SLAM은 Map을 만들고 동시에 Robot Pose를 추정하는 기술이다. 현재 위치를 잘 안다고 해서 목적지까지 어떤 경로로 갈지를 자동으로 결정하는 것은 아니다.

SLAM과 Navigation은 역할이 다르다
SENSORLiDAR / CameraEnvironment
STATELocalizationCurrent Pose
MAPSLAMMap + Pose
PLANGlobal PlannerRoute
AVOIDLocal PlannerObstacle
MOTIONControllerVelocity

예를 들어 SLAM으로 만든 Map에서 Robot이 Node A → B → C → D만 따라가도록 만들 수 있다. B와 C 사이가 막혔을 때 정지하고 기다리기만 한다면 Navigation Policy는 자율적이라고 보기 어렵다.

4. 제가 생각하는 AMR다운 동작은 이런 흐름이다

Blocked Path 대응
01Obstacle DetectPath Blocked
02Cost UpdateObstacle Map
03ReplanNew Path
04DeviationNominal Path 이탈
05BypassObstacle Avoidance
06RejoinGoal Continue

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가 예상하지 못한 경로로 자유롭게 이탈하면 상위 관제 입장에서는 문제가 생긴다.

자동회피가 어려운 실제 이유 Robot 자체에서는 우회경로가 안전해 보여도 ACS는 다른 Robot의 예약구간, 교차로 진입순서, 좁은 통로 점유, Elevator와 Door 사용, Load/Unload Timing까지 동시에 판단해야 한다.

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가 역할을 나누는 방식이다.

Hybrid Navigation Architecture
ACSMissionGoal Assignment
ACSGlobal RouteLane / Resource
AMRLocal PathTrajectory
AMRObstacle AvoidAllowed Zone
SYNCRoute UpdateReplan Report
ACSTraffic UpdateFleet Reconcile

즉 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를 바꾸는 것은 영향범위가 다르다.

LOCAL AVOIDANCE짧은 거리 우회

기존 Route 주변에서 사람이나 Cart를 피해 다시 원래 Path로 복귀한다.

GLOBAL REPLANNING다른 Lane으로 Route 변경

다른 교차로와 Resource를 사용하므로 ACS Traffic Plan까지 갱신해야 한다.

이 둘을 같은 "장애물 회피"로 묶으면 ACS Interface를 설계하기 어렵다. Replan 수준에 따라 Robot 단독판단과 ACS 승인범위를 구분하는 것이 좋다.

13. AMR와 ACS 사이에 어떤 정보를 주고받아야 할까?

ACS Interface에서 필요한 항목
  • 현재 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이 구현된 것도 아니다.

우회 가능한 장애물과 반드시 안전정지해야 하는 위험을 같은 Logic으로 처리하지 않는다.
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을 함께 설계해야 한다.

같이 보면 좋은 TerryPack 글

반응형
LIST