[정소영의 AI이야기] 서빙로봇은 어떻게 내 식탁을 찾아올까
얼마 전 칼국수집에 들렀다. 식당에선 바퀴 달린 로봇이 네모난 액정에 동그란 눈을 달고 서빙을 하고 있었다. 주방에서 로봇의 선반에 음식을 올리고 테이블 번호를 입력하면 로봇이 해당 테이블로 서빙을 했다. 서빙로봇을 보니 낯설고 또 신선했다. 로봇이 움직일 때마다 어른, 아이 할 것 없이 로봇으로 시선이 갔다. 종종 식당에 손이 모자라 주문이나 계산이 늦어지는 경험을 한다. 그런데 로봇이 무거운 그릇을 대신 나르니 직원은 손님에게 더 집중할 수 있다. 서빙로봇은 어디에 부딪히는 실수 없이 식사를 하는 내내 열심히 돌아다니며 일을 했다. 식당 내에는 테이블과 의자도 많고 돌아다니는 사람도 있는데, 서빙로봇은 어떻게 저렇게 식당 내부를 자유자재로 돌아다닐 수 있을까? 
실내에서 자율주행을 하는 서빙로봇이나 로봇청소기 등은 SLAM(Simultaneous Localization And Mapping) 알고리즘을 기반으로 자율주행을 한다. SLAM은 센서를 이용하여 주변 공간 지형을 인식하고, 이를 지도로 생성하는 동시에 해당 지도에서의 상대적인 내 위치를 정확히 추정하는 기술이다. 주변 공간을 인식할 때는 영상 등이 획득한 센서값을 이용하여 지도를 생성하게 되는데, 이때 사용되는 주요 센서는 카메라, 그리고 깊이정보까지 얻을 수 있는 RGB-D 카메라, 레이저로 대상물을 조사해 반사되는 빛을 분석함으로써 거리를 측정하는 센서인 라이다(LiDAR) 등이 있다. 상호작용하는 이 센서들은 주변 정보를 3차원 정보로 측정해 지도를 생성할 수 있게 해준다. 만약 공간 자체가 밋밋해 지도로 만들 만한 특징점이 없다면 인공 표식을 주변환경에 부착하여 이를 인식하게 한다. 마치 길을 찾을 때 랜드마크를 기준으로 찾으면 쉬운 것처럼 인공 표식으로 랜드마크를 만들어 로봇이 공간을 더 잘 인식할 수 있게 하는 것이다. 이런 인공 표식 등의 도움을 받아 로봇은 SLAM 기술로 정확하게 서빙을 하기 위한 준비를 한다. 마치 사람이 서빙을 하기 전 테이블의 위치와 주방의 위치 등을 익히듯 로봇도 SLAM 알고리즘을 이용해 식당 내 벽의 위치, 테이블의 위치 등을 지도로 만들어 익히고, 그 지도 내에 자신이 어디에 위치하는지 확인하는 것이다.
◇스스로 지도 생성 후 위치파악, 주행 준비 완료
이렇게 지도를 만들고 로봇이 자신의 위치까지 파악했다면, 스스로 주행할 준비가 끝난다. 주행준비를 마친 서빙로봇에게는 한 가지 도전이 남아 있다. 실제 세상은 지도처럼 고정된 공간이 아니다. 식당이라면 테이블의 위치가 변경될 수도 있고, 지나가는 사람이 로봇을 보지 못하고 앞을 가로막을 수도 있다. 이런 다양한 예외상황 속에서도 안정적으로 주행을 하기 위해 다양한 센서 정보를 융합하여 대응한다. 가까운 위치에 물체가 감지된다면 정지하거나 이를 회피하는 것이다. 서빙로봇은 테이블까지 음식을 안전하게 전달하기 위해 SLAM으로 구축한 지도상에서 최적의 경로를 계산하여 목적지까지 빠르게 이동하되, 갑자기 나타난 장애물을 감지하고 이에 대해 적절한 대응을 해내는 것이다. 
코로나19의 대유행으로 인해 비대면 서비스가 빠르게 자리잡아 가고 있다. 비대면 서비스에서 중심적인 역할을 하게 될 로봇들이 세상을 어떻게 변화시켜 나갈지 기대된다.
어떤 게 SLAM 기술을 활용하여 음식점에서 노동력을 대체해
서빙로봇