지금까지 모바일과 웹이라는 가상의 공간에서 서버/플랫폼 엔지니어링은 많은 서비스를 만들어왔습니다. 네이버랩스에는 가상이 아닌, 실제 공간에서의 특별한 도메인이 하나 더 있습니다. 바로 로봇입니다. 특히 네이버랩스가 만드는 서비스 로봇은 두뇌에 해당하는 컴퓨터가 본체에 있지 않은 ‘브레인리스(Brainless) 로봇’으로, 본체와 연결되는 클라우드 시스템이자 똑똑한 '브레인'을 갖는 것이 매우 중요합니다.
브레인리스 로봇 기술. 로봇의 두뇌에 해당하는 컴퓨터를 클라우드로 분리하고, 초저지연 통신으로 많은 로봇들을 효율적으로 운영할 수 있다.
현재 네이버랩스는 2021년 완공 예정인 네이버 제 2사옥에 투입될 브레인리스 로봇들, 다양한 로봇 서비스와 브레인 시스템을 준비하고 있습니다. 로봇이라는 낯선 도메인과 클라우드 기술 사이에서 세상에 없던 문제들을 발견하고, 해결해야 하는 새로운 도전입니다. 네이버 최초의 로봇 브레인을 만들어가고 있는 플랫폼 엔지니어링 팀을 만나보았습니다.
Q. 로봇의 서버는 무엇이 특별한가요?
박현재(로봇 서버 개발) | 어떤 서비스나 플랫폼에서든 도전적인 과제를 셋팅하고 고민하여 설계하고, 코드로 구현하고, 검증하고, 다시 재설계하는 개발 과정은 동일합니다. 그러나 도메인에 로봇이 더해지면 클라우드에 구축된 서버는 안정적이면서도 저지연성, 실시간성이 필수로 요구됩니다. 즉 브레인리스 로봇에서 센서 데이터를 받아 서버에서 처리하고, 로봇에 다시 명령을 내리는 것을 짧은 시간에 정확하게, 끊김없이 할 수 있어야 합니다. 또한 실제 공간에서 로봇이 움직이기 위해 필요한 엘레베이터, 게이트 등 다양하고 생소한 클라이언트와 연결이 필요하기 때문에 기존에 없던 문제를 해결해야하는 경우가 정말 많습니다.
"네이버랩스의 서버 엔지니어에게는 한 가지의 매개체가 더 있는데, 바로 로봇입니다"
브레인 시스템의 초기 버전, 카페 딜리버리 로봇 AROUND C 시범운영에 쓰인 robot management system.
김창수(로봇 서버 개발) | 또 하나, 로봇 서버가 특별한 이유는 로봇이라는 생소한 도메인과 가상 공간이 아닌 실제 세계에 존재하기 때문에 보다 견고한 아키텍처, 안정성의 기준이 높다는 것입니다. 로봇 서버에서는 다양한 정보를 통해 주변의 사람과 사물을 빠르게 파악하고 매 순간 최적의 경로를 계산해야하며, 심지어 서버 문제가 발생했다 하더라도 최대한 안전한 행동을 선택해야 하죠.
Q. 로봇에서 브레인을 클라우드로 분리하는 것, 왜 필요할까요?
"잘 생각해보면 로봇이 해야할 일이 너무 많습니다. 간단한 동작 하나에도 로봇은 순간적으로 많은 연산이 필요합니다."
김창수 | 특히 사람과 상호작용하는 서비스 로봇의 경우에는 작은 연산 하나가 사람의 안전과 직결되기 때문에 더욱 중요합니다. 너무 세면 부상의 위험이 있고, 너무 약한 파워는 작업에 실패할 수 있게 되죠. 그래서 로봇은 작업을 수행하는 중간마다 적절한 힘의 세기나 행동을 계속해서 계산합니다. 이러한 순간적인, 빠른 연산을 위해 로봇 하드웨어의 연산장치는 점점 고성능을 요구하고 이에 따라 배터리 또한 커지게 됩니다. 이러한 작업을 클라우드에서 수행하며 네트워크를 통해 연결한다면? 로봇 본체는 더 가벼워지고, 무거운 배터리 또한 필요없겠죠.
이번엔 다수의 로봇이 서비스를 제공하는 상황을 보겠습니다. 개별 로봇이 고려해야할 것이 훨씬 많습니다. 다른 로봇과 내가 얼마나 떨어져 있는지, 속도는 어떤지, 어떻게 협업해야 하는지 모두 알 수 있어야 안정적인 서비스가 가능합니다. 이 때 로봇의 서버는 중앙의 클라우드에서 로봇들을 보다 효율적으로, 보다 똑똑하게 컨트롤하는 역할을 합니다. 로봇 대신 복잡한 연산을 처리하고 빠르게 로봇에 전달합니다. 모든 상황을 지켜보며 로봇들의 위치를 파악하고 멀티 로봇이 효율적일 수 있도록 이동, 속도, 위치를 모두 제어하죠. 덕분에 로봇은 더 경량화 되고, 작아질 수 있고요.
물론 이런 것들은 매우 어려운 작업입니다. 하지만 모든 제품은 경량화와 효율화를 추구하는 방향으로 진화하여 대중화되기에, 결국 로봇도 이런 모습을 갖출 것이라 생각합니다. 실제로 가장 흔하게 볼 수 있는 로봇청소기 또한 이런 과정을 밟아나가고 있구요.
"이는 로봇 자체의 진화만으로는 불가능합니다. 잘 구축된 로봇 서버, 즉 브레인과 함께 달성할 수 있다고 생각해요."
Q. 잘 만든 브레인 시스템의 의미는?
박현재 | 웹과 앱의 시대를 생각해보면 클라우드 시장이 커지면서, 새로운 서비스가 나올 수 있는 허들이 굉장히 낮아졌습니다. 클라우드가 잘 구축되면서 서비스 개발에서 서버 개발 및 관리에 대한 고민 대신 비즈니스나 서비스 자체에 집중할 수 있었어요. 로봇에서도 보편적이고 안정적인 로봇 서버 시스템을 제공할 수 있다면, 서버에 대한 개발의 부담 없이 여러 분야에서 로봇이 적용될 수 있을 것입니다.
우리는 전세계 많은 로봇 사업자가 서버 고민 없이 비즈니스/서비스에 집중할 수 있는 환경을 구축하고 있는 셈이죠. 이것이 로봇 시장 자체가 확대될 수 있는 트리거가 될 것이라 생각하고 있어요.
Q. 로봇이 대중화될 미래, 서버 엔지니어의 역할은?
김창수 | 서버 엔지니어는 로봇을 직접 다루지는 않습니다. 다만 로봇 엔지니어와 함께 긴밀하게 협업하며 서버-로봇이 잘 상호작용할 수 있도록 하는 일을 하고 있습니다. 다시말해 로봇 엔지니어는 사람과 로봇 사이를 이어주는 길을 만든다면, 플랫폼/서버 엔지니어는 서버와 로봇 사이의 길을 만드는 역할을 합니다. 두 길이 하나로 합쳐져,
"로봇-사람-서버를 자연스럽게 잇는 것이 서버 개발자의 역할이자 우리가 준비하고 있는 클라우드 로봇 시스템이 아닐까 합니다."
박현재 | 로봇의 분야에서도 크게 보면 플랫폼/서버 엔지니어의 업무는 다른 회사와 다른 점이 없습니다. 일반적인 SW 개발 업무입니다. 도전적인 과제에 전방위적으로 고민하고, 설계하고, 코드로 구현하고, 검증하고, 다시 재설계하는 등... 다만 도메인이 로봇이기에 HW/로봇과 SW/Cloud-native 기술 사이에서 기존에는 없던 새로운 문제를 발견하고 해결하고 있습니다. 더 쉽게 얘기하자면 건물과 상호작용하는 시스템을 잘 구축하는 것, 또 다른 로봇 서비스 개발자가 이용하기 쉽고 확장성 있는 시스템을 개발해야 한다고 생각해요.
Q. 외부에 있는, 미래의 동료들에게 한마디
김창수 | 네이버랩스에서의 서버 엔지니어는 가상의 공간이 아닌 실제 세계에 존재하는 사용자와의 매개체를 만듭니다. 그리고 그것이 실제 세상과 상호작용하는 것을 볼 수 있죠. 이는 일반적인 서버 개발에서는 쉽게 해볼 수 없는 도전이라 생각해요. 그래서 더 많은 분들과 함께 도전하고 싶어요.
박현재 | 네이버랩스에서의 도전은 다 처음보는 도전이고, 다 어려워요. 그렇지만 어려운 문제를 푸는 재미가 있습니다. 항상 지금이 최선인지 힘들게 고민하지만 모든 과정을 경험할 수 있는 것이 큰 장점이라 생각해요. 좋은 동료들로 구성된 멋진 팀과 클라우드 기반의 안정적인 시스템을 전체적으로 고민하고 설계하고 싶다면, 이곳입니다. 함께해요!
|
네이버랩스의 인재상은 passionate self-motivated team player입니다. 어쩌면 '자기주도적 팀플레이어'라는 말은 형용모순(形容矛盾)일 지도 모릅니다. 하지만 우린 계속 시도했고, 문화는 계속 쌓여갑니다. 다양한 분야의 전문가들이 경계없이 협력하고 스스로 결정하며 함께 도전하는 곳의 이야기를 전합니다. How to work at NAVER LABS |