INSIGHT

[박정훈의 ROgistics] 물류로봇 이해를 위한 넓고 얕은 지식 : 소프트웨어

by 박정훈

2019년 02월 20일

물류로봇을 '기계'가 아닌 '작업자'로 만드는 핵심, 소프트웨어

수십 대의 로봇이 막힘없이 작업 가능한 비결, 'Fleet Management Software'

끊임 없이 변화하는 물류창고 환경, ‘매핑’과 ‘내비게이션’은 어떻게?

 

글. 박정훈 CJ미래경영연구원 수석연구원

 

(아마존의 물류로봇 키바, 출처: 아마존)

 

지난 번 다루었던 AGV(Automated Guided Vehicle)형 물류로봇에 대한 하드웨어 기술에 이어, 물류로봇이 단순한 기계가 아닌 ‘일을 하는 작업자’로서 제대로 된 업무를 수행하게끔 하는 소프트웨어 부분에 대하여 알아보자. 겉모양만으로는 바퀴 달린 선반에 불과한 그들을 미래 물류작업 주체로 만드는 지능, 즉 소프트웨어는 어떻게 구성되어 있으면 무슨 역할을 하고 있을까. 본고에서는 AGV로봇의 작동 운영 원리에 대해 쉽게 이해하기 위하여, 다수의 로봇들이 어떻게 일사분란하게 협업 하는지(로봇군집관리), 시시각각 복잡하게 변화하는 창고 내 환경에서 어떻게 길을 찾아다니는지(매핑/내비게이션) 2가지 핵심 소프트웨어 분야에 대해 이야기하고자 한다.

 

로봇군집(기단機團) 관리 소프트웨어

 

AGV의 경우 1:1로 사람을 추종하여 협업하는 형태의 로봇을 제외하고는 대부분의 경우 특정구역 내에서 집단으로 작동한다. 아마존(Amazon社)의 키바(KIVA), 그레이오렌지(GreyOrange社)의 버틀러(Butler) 등 대표적인 AGV로봇들의 운영 모습을 떠올려보자. 간단히, 유튜브에서 관련영상을 찾아보면 수십~수백 대의 로봇들이 일사 분란하게 움직이고 있는 모습을 쉽게 찾아볼 수 있을 것이다. 로봇이니까. 당연히 알아서 잘 움직이는 것이겠지 라고 생각했다면 완벽한 오판이다. 특히, 1대도 아니고 수백 대의 로봇이 이리저리 잘 돌아다니기 위해서는 개별 로봇의 성능을 떠나(개별로봇의 동작도 물론 중요하지만) 로봇 ‘집단’이 효율적으로 동작하게끔 하는 별도의 통제기능*이 필요한 것이다.

 * 개별 로봇 차원에서의 자율주행은 지정된 도착지에 도달하기 위한 경로를 탐색하고, 이동하는 과정에서 장애물을 회피하는 등의 기능을 수행. 그러나 많은 수의 로봇들이 각자 기본적인 자율주행 기능으로만 움직인다면 로봇끼리 서로를 피하기 위해 우왕좌왕(?) 하는 모습을 곳곳에서 연출할 것. 따라서 집단적인 로봇의 경로를 효율적으로 통제하고 최적화하는 별도 기능이 요구됨.

 

로봇간의 충돌방지, 혼잡 회피 등만 생각한다면 아마 도로에 있는 신호등이나 교통경찰의 역할을 생각하면 된다. 단 이 정도 수준의 통제도 기존의 사람 기반의 작업장에서는 크게 신경 쓰며 알고리듬까지 활용해 통제해 본 적 없는 영역이다. 사람은 당연히 서로 잘 피해서 다니고, 지게차가 오면 반사적으로 피하는 등 매우 일상적인 동작을 스스로 하기 때문이다. 그러나 로봇은 이러한 기본적인 부분들에도 일종의 지능을 심어주지 않으면 효율적인 동작을 할 수 없다.

 

어지간한 개별 AGV 로봇(최근 주목받는 자율주행형 AMR: Autonomous Mobile Robot)에는 자체적인 센서 및 충돌방지 프로그램을 내장하고 있다. 때문에 특정 구역 내에서 작업 중이던 AGV가 다른 동료 AGV를 만난다면, 일단 정지하여 장애물이 사라진 후 다시 작동을 할 것이다. (최근 기술들에 기준하면 몇 미터 전쯤에서 옆으로 비켜갈 수도 있기는 하다.) 허나 이러한 방식으로 돌아다니게 내버려 둔다면 정지/이동의 반복이 잦아지고, 이에 따라 전체적인 로봇의 종합적 이동 효율이 매우 저하될 수 있다. 따라서 AGV 군집 전체의 움직임을 계획하는 과정에서 또는 더 나아가 여러 로봇들이 움직이는 경로에 대해 실시간으로 무엇인가 최적의 통제를 할 필요가 있는 것이다.

 

특정 기간 시간당 작업의 양과 작업의 위치 등이 결정된다면, 해당 데이터를 바탕으로 가급적 로봇이 교차하지 않고 전체가 물 흐르듯 원활하게 이동하는 동선을 지정해줘야 한다. 이는 우리가 경영과학 시간에 분명히 배웠던, 하지만 어렴풋이 생각해내기도 어려운 네트워크 이론 등에 기초한 여러 복잡한 알고리듬을 소프트웨어에 반영함으로써 구현이 가능하다. 즉, Fleet이라 할 수 있는 로봇 기단(機團)에 대한 전체적인 이동 경로를 조화롭게 통제할 수 있는 작업반장 수준의 지능을 소프트웨어가 제공해주어야 하는 것이다. 1차적으로 여기까지가 Fleet Management Software가 반드시 필요한 이유 내지는 ‘하는 일’의 절반 정도에 해당된다.

▲ Fleet Management Software에 의한 AGV로봇 군집 작업 시뮬레이션. 독일 Kollmorgen社 FMS 시뮬레이션 예시(좌 / 출처: NDC Solutions)와 AGV 군집제어 시뮬레이션 예시(우 / 출처: inlab.fib.upc.edu)

 

다음으로 물류 업무 생산성 측면에서 정말 중요한 부분인 ‘작업의 분배와 통제’에 관한 소프트웨어 영역이 있다. 앞에서 보았듯 최적의 동선을 로봇에게 지시하기 위해서는 작업 스케줄링을 위한 전체 작업 대상 총량에 대한 정보가 필요하다. 즉 출하 오더를 기반으로 여러 군데 산재해 있는 재고를 어떤 로봇이 얼마만큼, 또는 몇 번을 이동시켜 출하할 것인지 하는 계획이 필요한 것이다.

 

전통적인 창고작업을 떠올려보자. 창고 내 피킹 작업을 시작하기 전에 무슨 일이 일어나는가? 그렇다. 가장 먼저 발생하는 사건은 ‘주문 정보’의 도착이다. 이커머스 물류센터의 경우, 각 주문별로 출하오더가 개별적으로 생성될 수도 있겠고, 출하 도착지가 또 다른 DC(distribution Center)나 TC(Transfer Center)인 경우에는 다른 특정한 기준에 의해 묶음주문으로 변환이 될 수도 있을 것이다. 어쨌건 ‘주문 정보’가 ‘출하 오더’로 변환이 되면 우리는 그 정보를 받아서 제품별/랙별 피킹 오더로 다시 환산하여 재정리하게 된다. 그리고 이 전체적인 피킹 오더를 적치구역이나 작업 담당자별로 배분하여 작업을 개시시킨다. 물류 초심자를 위해 부연하자면 바로 이것이 물류센터 스텝들의 책임 업무이다. 이야기는 길었으나 간단히 말하자면, AGV 로봇들에게도 바로 이 물류센터 관리자의 오더가 필요한 것이다. Fleet Management Software에서 스텝의 ‘두뇌’ 역할을 해주어야 AGV 군단의 생산성을 높게 끌어올릴 수 있다.

 

이 두뇌 역할이 사실상 Fleet Management Software의 핵심이다. 현재 기존 로봇기술 기반 기업들이 AGV와 함께 소프트웨어의 개발 및 제공도 더불어 하고 있는데, 집단적인 로봇의 움직임 최적화는 당분간 기존 로봇내지 IT기업들이 주도할 것으로 보인다. 중장기적으로 봤을 때, 물류업체들이 작업 노하우를 활용하여 한 차원 고도화 시킬 여지가 남아 있는 부분은 바로 ‘작업 분배/통제’ 영역이다. 따라서 물류기업으로서 로봇영역에서 차별적 역량을 노리고 있다면 오랜 기간 축적된 현장작업 노하우를 지식정보화하고, 인공지능 기반으로 솔루션화하는 방향에 주목해 볼 필요가 있겠다.

 

Dematic의 Fleet Management Software, ‘E’tricc®’의 2대 기능

 

1. ‘Dynamic Routing’ (동적 경로계획)

  - 교행 혼잡도 등 물류센터 내 로봇 교통 상황에 기반 한 실시간 이동경로 업데이트

2. ‘Look-for-Work logic’

  - 각 AGV 로봇별로 작업할당량을 지속 재검토하고 생산성 극대화할 수 있도록 피킹 오더를 실시간 업데이트

 


Fleet Management Software는 상기 두 가지 핵심 기능 외에도 AGV 로봇의 적정 전력 충전량을 모니터링 해 필요 시 충전소로 이동 명령을 내리는 ‘전력관리 기능’, 물류센터 내 각종 주요 ‘위치 정보 관리’ 기능 등 전체적인 로봇군집 운영을 위한 역할을 종합적으로 수행한다. 충전의 경우, 특정한 충전소에서 로봇을 도킹시켜서 충전하는 방식도 있지만 최근에는 바닥에 매립된 전력선을 이용하여 무선으로 충전(Floor-mounted charging) 하는 방식도 많이 사용된다. 이 경우 Fleet Management Software는 저전력 로봇이 작업진행 중에 무선충전 라인을 따라가도록 작업을 배분함으로써 로봇가동률을 더욱 극대화시키는 일을 수행한다.

 

또 한 가지 고려해야 할 부분이 있으니, 물류센터에 AGV 로봇을 도입하게 되면 기존에 사용하던 각종 물류 IT시스템들과 로봇 운영시스템 등을 연동해야 하는 문제에 직면할 것이다. 과거에는 새로운 시스템 도입 시 이와 같은 연동문제도 그 자체로 하나의 중요 프로젝트가 될 정도로 노력과 비용이 드는 문제였으며, 연동운영 초기에는 시스템 에러도 다수 발생했다. 그러나 다행히도 현재 제공되는 대부분의 Fleet Management Software들은 기존 WMS(Warehouse Management Systems)나 WCS(Warehouse Control Systems)와의 인터페이스를 제공(Customize 방식 구축 서비스도 대다수 제공 중)하여 안정적인 호환 및 연동사용이 가능하다. 더 나아가 기존 자동화설비/장비 운영시스템 소프트웨어나 ERP*와의 통합도 지원하고 있는 추세이다.

 * ERP Enterprise Resource Planning의 약자. 흔히 '전사적 자원관리'라고 함. 기업 전체를 경영자원의 효과적 이용이라는 관점에서 통합적으로 관리하고 경영의 효율화를 기하기 위한 수단. 좁은 의미에서는 통합적인 컴퓨터 데이터베이스를 구축해 회사의 자금, 회계, 구매, 생산, 판매 등 모든 업무의 흐름을 효율적으로 자동 조절해주는 전산 시스템을 뜻하기도 함. (출처: 시사상식사전)

 

Fleet Management Software 주요 기능

 

1. 통행 규칙 설정/관리: 2대 이상의 로봇이 마주쳤을 때, 어떤 규칙으로 교행 하는지.

2. 각 AGV가 수행해야 할 작업의 배분: 재고위치와 로봇간의 근접성 및 자원가용성 기반 작업할당

3. 전력 관리: 로봇 충전상황에 따라 적정 시기에 충전토록 관리

4. 로봇 동작 통제 위한 파라미터 가이드: 보관랙 및 출하장 위치 등 정보 관리

(출처: USPS, ‘autonomous mobile robots and the postal service’, RARC Report, 2018)

 

매핑 / 내비게이션(Mapping and Navigation)

 

‘유도대차’라는 별명을 가지던 AGV가 현재와 같이 ‘로봇’으로 불리게 된 가장 큰 계기는 바로 자율주행이 적용된 AGV, 지금은 많은 사람들이 AMR(Autonomous Mobile Robot)로 지칭하고 있는 ‘AGV 로봇’의 등장이라 할 수 있다. 전통적인 구세대 AGV는 레일이나 자기테이프 등 특정한 가이드에 의해 이동이 유도되는 고정경로 방식의 순회이동을 해왔다. 그러나 우리가 알고 있는 신세대 AGV들은 반자율주행(바닥에 새겨진 QR코드와 같은 마커를 가이드로 하여 그리드 내를 주행) 또는 완전자율주행 방식을 따르며, 경로 상에서 자유로이 왔다 갔다 할 수 있다.

 

이렇게 AGV로봇이 자유롭게 이동하기 위해서는 전용의 ‘지도’와 ‘내비게이션’을 가져야 한다. 나아가 물류센터에서는 재고의 입출고 상황, 보관위치 변경 등에 따른 지형지물의 변화가 수시로 발생하기 때문에 로봇이 새로운 길을 탐색하는 활동도 지속적으로 업데이트 돼야 한다. 이러한 지속적인 정보 업데이트를 로컬라이징(Localizing)이라 일컫는데, 물류센터에서 근무하는 로봇들에게는 특히 이 로컬라이징 능력이 높게 요구된다. 밤새 재고가 대량으로 입고되는 바람에 통로에 물건이 쌓여있다면, (사람이 아닌)로봇입장에서는 물리적 근무환경이 완전히 바뀌는 정도의 변화라는 점을 감안해야 한다.

 

AGV 로봇의 로컬라이제이션 시스템*(매핑 과정을 의미)에서 주로 사용되는 간단한 방법으로 ‘레이저 가이던스(Laser Guidance)’ 방식이 있다. 이 방식에서는 벽이나 기둥과 같은 위치 변화가 없는 곳에 레이저 리플렉터(reflector)를 부착하며 AGV는 리플렉터에 레이저빔을 방사하여 주변 환경과 자기위치를 인지하면서 매핑을 해나간다. 단, 기둥이 매우 적거나 내부 개방도가 높은 환경 등 리플렉터를 부착하기에 적합하지 않은 여건을 가진 경우라면 다른 방식의 접근이 필요하다.

 * 매핑/네비게이션 부분은 “USPS, ‘autonomous mobile robots and the postal service’, RARC Report, 2018”보고서를 바탕으로 정리하였음.

 

또 다른 로컬라이징 방식으로는 ‘Teach and Repeat’을 들 수 있다. 이는 레이저 가이던스보다 한 층 복잡한 방법으로서, 사람이 직접 로봇을 수동으로 조정하면서 경로를 가르치는 형태다. 로봇이 이동하게 될 수많은 경로에 대하여 작업자가 직접 교시(Teach)하는 동안 로봇에 내장된 센서는 기본적인 경로를 매핑하게 된다. 이후 입력된 경로에 따라 비전 센서 등을 함께 활용하여 자율주행을 수행한다. 단, 이 방식은 장애물 회피에 대한 경로 재설정의 유연성이 낮다는 단점이 있다.

 

현재까지 가장 진화된 내비게이션 방식은 ‘Dynamic Path Planning(동적경로계획)’이다. 이 방식 역시 ‘Teach and Repeat’ 방식과 같이 사람이 수동으로 로봇을 조정*하여 가능 이동경로들을 매핑하지만, 특정 경로만 기억하는 것이 아니라 경로 상의 모든 시설들까지 모두 매핑한다는 차이점이 있다. 일단 직접교시에 의해 디지털 지도가 만들어지면, 사람이 직접 환경구성물에 적절한 정보를 입력한다. 입력되는 내용은 특정 구조물이나 설비가 고정적인지 또는 임시 설치물인지, 각 작업구역이 지도상 어디에 해당하는지, 운행 중 정지해야 할 위치는 어디인지 등의 정보들이다. 이렇게 정보가 풍부해진 지도를 이용하여 AGV는 여러 가능 이동경로를 탐색하고, 주행 중 길이 막힌 경우에 대체 경로까지 탐색하게 된다.

 * ‘Teach and Repeat’, ‘Dynamic Path Planning’ 등 로봇을 수동조정 하여 매핑 실시하는 경우 1대의 로봇만 이용하여 매핑이 가능하며 다른 로봇들은 매핑된 정보를 공유하여 사용함.


▲ AGV 로봇 실주행 시 매핑/네이게이션 모니터링 화면 예시. 매핑된 디지털 지도를 기반으로 자율 주행 중이며, 오른쪽 화면의 붉은 점이 로봇의 위치. 각 표지물/시설물을 센싱하여 자기위치 인식하는 방식. (출처: Cross Company, Omron Adept AMR Case)

 

이상 물류로봇의 작동원리에 대한 기본적인 이해를 위하여 AGV 로봇 기동을 관장하는 소프트웨어의 구성과 역할을 살펴보았다. 이외에도 사실 더 많은 프로그램과 복잡한 애플리케이션 구조가 존재하지만, 이상의 내용들을 통하여 핵심적인 구동원리에 대한 이해에는 어느 정도 도움이 되리라 생각한다. 한 단계 더 세부적인 내용은 이어지는 글에서 다뤄보도록 하겠다.



박정훈

CJ미래경영연구원 SCM/Robotics 연구분야 수석. 가차없이 다가오는 Rogistics(Robotics+Logistics) 시대를 대비합니다.




다음 읽을거리
추천 기사

잠시만 기다려 주세요...