KO
검색
로봇공학에서 데이터 시각화가 그토록 중요한 이유

로봇공학에서 데이터 시각화가 그토록 중요한 이유

에이드리언 맥닐은 로봇공학을 위한 강력한 데이터 관리 및 시각화 소프트웨어를 제공하는 스타트업 Foxglove의 공동창업자이자 CEO입니다. Foxglove를 설립하기 전에는 자율주행 기업 Cruise에서 인프라와 개발 도구를 총괄했습니다.

맥닐은 개발자 생산성을 높이는 데 깊은 관심을 갖고 있으며, 개발자 피드백 사이클을 최적화하는 것이 로봇공학에서 빠른 혁신을 위해 결정적이라 생각합니다.

그에 따르면 로봇공학의 발전을 생각할 때 우리는 흔히 논리적이고 체계적인 과정을 떠올립니다. 이것이 쉽거나 단순하다고 가정하지는 않더라도, 최종 목표가 분명하고 목표에 도달하는 단계가 측정 가능하다는 점에서 상대적으로 객관적이라고 생각할 수 있습니다.

하지만 새로운 기술을 개발할 때는 그 기술을 테스트하고 문제를 해결하는 새로운 방법도 똑같이 필요하다는 점을 우리는 잊곤 합니다. 문제는 새로운 로봇 자체만이 아니라, 그 로봇을 만들기 위해 새로 고안해야 하는 완전히 새로운 도구와 프로세스에 관한 것입니다. 미지의 영역에 들어설 때와 마찬가지로, 이러한 도구와 프로세스는 아직 개발 중이며 제품과 그것을 만드는 사람들과 함께 발전하고 있습니다.

데이터 시각화는 이러한 도구들 중에서도 특히 중요합니다. 복잡하고 세부적인 데이터를 이해하기 쉬운 형식으로 보여줌으로써, 로봇이 어떻게 작동하고 어떻게 개선할 수 있는지에 대해 그만큼 복잡하고 세밀한 결정을 내릴 수 있게 합니다. 이러한 도구는 중요하지 않은 잡음을 억누르고 중요한 신호는 증폭합니다. 

“이는 로봇공학 데이터의 엄청나게 다차원적인 특성에 꼭 필요한 의미와 질서를 부여합니다. 우리가 원하는 정밀 과학으로서 로봇공학은 여전히 상당 부분 주관적인 작업이며, 수많은 인간의 판단이 우리를 최종 목표에 한 걸음씩 가까이 데려갑니다. 그 최종 목표는 로봇공학 기술을 통해 일상생활이 개선되고 풍요로워지는 세상입니다”

에이드리언 맥닐Foxglove 공동창업자 겸 CEO

전통적인 소프트웨어 개발 대 로봇공학 개발

로봇공학에서 데이터 시각화의 중요성을 제대로 이해하려면, 먼저 로봇공학 개발이 전통적인 소프트웨어 개발과 어떻게 다른지 알아야 합니다.

전통적인 소프트웨어 개발에서 문제의 근본 원인을 진단하는 것은 비교적 이분법적인 과정입니다. 코드는 특정 단계에서 해야 할 일을 하거나 하지 않거나 둘 중 하나입니다. 가능한 모든 시나리오에서 무엇이 일어나야 하는지에 대한 명확한 기대치가 있습니다. 

오류의 경로를 따라가고 경로의 각 단계에서 테스트를 실행함으로써 — 예를 들어 값을 기록하고, 예상 결과와 실제 결과를 비교하고, 특정 기능을 켜고 끄는 방식으로 — 엔지니어는 문제를 일으킨 코드 줄을 상당히 정확하게 찾아낼 수 있습니다.

반면 로봇공학 개발에서 문제를 디버깅하는 것은 좀처럼 이처럼 선형적이지 않습니다. 로봇 시스템에 무엇이 잘못되었는지 알아내는 과정은 보통 훨씬 더 복잡하며, 따라서 결론이 열려 있는 과정입니다. 예를 들어 자율주행 이동 로봇(AMR)이 다른 물체와 부딪힐 때, 명백한 '코드 경로'나 책임이 있는 단일 원인이 없습니다. 

이런 일이 일어난 원인은 무수히 많을 수 있으며, 사람이 장애물에 부딪히게 된 원인이 여러 가지일 수 있는 것과 마찬가지입니다. 장애물이 모퉁이 뒤에 있어서 AMR이 보지 못했을 수도 있고, 충돌을 피하기 위해 자신의 궤적을 잘못 계산했을 수도 있습니다. 원인이 소프트웨어와 무관할 수도 있습니다. AMR의 브레이크가 고장 났을 수도 있고, 카메라 시야가 잠시 무언가에 가려졌을 수도 있습니다.

정해진 단일 방법론적 절차가 존재하지 않으며, 문제의 근원은 여러 로봇공학 스택 계층을 가로지르는 일련의 상호 연관된 더 작은 문제들로 인해 생길 수 있습니다. 해결책은 흔히 조건부적이고 상황에 따라 달라지므로, 디버깅 과정에서는 화면에 보이는 문자 그대로의 코드만큼이나 맥락 정보도 고려해야 합니다.

로봇공학을 위한 데이터 시각화

이 디버깅의 어려움을 해결하려면 로봇 데이터의 다양한 측면을 살펴볼 수 있는 새로운 세대의 정교한 도구가 필요합니다. 바로 여기서 로봇 데이터 시각화가 도움이 됩니다.

자율주행차를 만드는 회사 Cruise의 초창기에 직원들은 적절한 도구 없이 로봇을 개발하는 것이 얼마나 고통스러운 일인지 직접 체험했습니다. 

데이터나 시뮬레이션 결과를 디버깅할 때 엔지니어들은 Ubuntu 기기에 전체 개발 환경을 설치한 다음, rviz, rqt 등 여러 오픈소스 도구를 소량씩 불러와야 했습니다. 그런 다음 엔지니어들은 로그 파일 재생을 수동으로 시작하고, 여러 창을 화면에서 재배치해 동시에 사용해야 했습니다. 

엔지니어들은 특정 워크플로를 위해 화면의 창 배치를 공들여 구성할 수 있었지만, 다른 워크플로를 위해 이를 바꾸거나 팀원의 컴퓨터에 복사하는 일은 귀중한 개발 시간을 잡아먹었습니다. 이 도구들은 각자의 작업은 수행했지만, 함께 사용하거나 더 큰 로봇 공학자 팀과 함께 쓰는 것은 애초에 설계 목적에 없었다는 점이 분명했습니다. 

도구 하나하나 사용하기도 불편했고, 서로 통합하기도 어려웠으며, 팀원들과 의미 있게 함께 쓸 수도 없었습니다. 로봇을 반복적으로 개선하는 능력은 심각하게 제약을 받았는데, 이는 팀의 재능 때문이 아니라 데이터에서 유용한 통찰을 빠르게 얻어내지 못했기 때문이었습니다.

이는 한 엔지니어 그룹이 이 워크플로를 개선할 기회를 발견한 해커톤 프로젝트로 이어졌습니다. 그들이 선보인 웹 기반 데이터 시각화 도구는 큰 호평을 받아 열띤 박수를 받았고, 결국 전담 팀을 갖춘 사내 도구로 발전했습니다. 

그 도구가 바로 Webviz였으며, 결국 다른 로봇 공학자들도 더 효율적으로 통합된 도구를 활용할 수 있도록 공개되었습니다. 시간이 지나면서 회사는 Webviz가 Cruise에 미친 영향을 깨닫고, 업계 전반의 공통된 로봇 공학 문제를 계속 해결하기 위해 Foxglove를 설립하기로 했습니다. 

“우리는 사용자가 로봇 데이터를 시각화하고 디버깅하도록 돕는 Foxglove Studio와, 데이터를 중앙 저장소에 저장하고 관리하도록 돕는 Foxglove Data Platform을 출시했습니다. 데이터 시각화를 통해 다양한 각도에서, 여러 가지 뷰를 사용하여, 서로 다른 워크플로를 위해 데이터를 빠르게 파악할 수 있으며, 이를 바탕으로 다음 개발 단계를 결정할 수 있습니다. 이런 방식으로 우리는 이진법으로 나뉘지 않는 상황을 탐구하고, 로봇 공학을 미래로 이끄는 데 필요한 인간의 판단을 내릴 수 있습니다”

애드리언 맥닐Foxglove 공동 창립자 겸 CEO

풍부한 인터랙티브 데이터 시각화는 로봇 공학의 발전에 필요한 보다 개방적인 탐구에 로봇 공학자들이 참여하도록 돕는 데 결정적인 역할을 합니다. 이를 통해 로봇 공학자들은 직관과 경험을 활용해 주어진 문제의 디버깅을 시작할 수 있습니다. 또한 작업 중 문제를 해결하는 데 똑같이 중요한 주관적 판단과 객관적 판단을 종합하는 데 도움이 됩니다. 

이를 통해 로봇이 현재 어떻게 작동하는지, 그리고 어떻게 개선할 수 있는지를 한눈에 이해하여 더 효율적으로 변경을 가할 수 있습니다.

다양한 데이터 시각화 도구는 서로 다른 과제를 해결할 때 각기 다른 판단을 돕습니다. 디버깅이나 분석 워크플로의 각 단계는 여러 도구를 조합함으로써 이점을 얻을 수 있습니다. 예를 들어 Foxglove Studio에서 사용자는 방대한 시각화 패널 모음에서 골라 맞춤형 디버깅 레이아웃을 만들 수 있습니다.

각 패널은 고유한 기능을 갖고 있습니다. 한 패널에서는 값을 표시하고, 다른 패널에서는 지도 위에 좌표를 표시하며, 세 번째 패널에서는 인터랙티브 장면에 3D 모델을 보여줄 수 있습니다. 로봇의 계획 스택을 디버깅하든 진단 정보를 추적하든, 이 작업에 맞는 시각화 도구가 있습니다.

풍부한 인터랙티브 데이터 시각화 덕분에 도구는 마침내 야망을 따라갈 수 있게 되었습니다. 이제 이전에는 뚫고 들어갈 수 없었던 데이터를 더 깊이 탐색하고, 분석하고, 의미를 부여할 수 있으며, 목표를 향한 진전을 가속할 수 있습니다.

로봇 공학과 데이터 시각화의 미래

겉보기에는 객관적이지만, 로봇공학의 발전에는 주관적이고 창의적인 결정이 적지 않습니다. 최종 결과는 «이제 로봇이 창고 바닥을 주행할 수 있다»처럼 구체적일 수 있지만, 연구자들이 이를 달성하는 수단은 끝없는 반복 과정이며 사람의 상당한 개입을 필요로 합니다. 

“로봇을 대중에게 성공적으로 선보이려면, 로봇공학을 전통적인 소프트웨어 개발보다 더 개방적인 분야로 인정해야 합니다. 이 분야에서는 서로 얽힌 문제가 더 많이 생기고, 상황에 따른 해법이 더 많으며, 따라서 더 다양한 도구가 필요합니다.”

애드리언 매크닐Foxglove 공동 창업자 겸 CEO

로봇공학을 개발할 때에는 여전히 해결해야 할 많은 과제가 있습니다. 부피가 큰 테스트 인프라, 예측하기 어려운 하드웨어 개발 일정, 확장 가능한 데이터 관리 등이 그렇습니다. 목록은 더 이어질 수 있습니다. 하지만 모든 로봇공학 분야에 큰 영향을 줄 개선 사항도 몇 가지 있는데, 예를 들어 뛰어난 데이터 시각화 도구가 그렇습니다.