로봇청소기 해킹

1980년대 인공지능기술이 유행할 때 과학자들은 20세기가 끝날 무렵 일본에서 제조된 스마트 청소기가 미국에서 제조된 스마트 탱크를 압도할 것이라고 농담을 하곤 했다. 하지만 21세기를 넘어 3년이 지나도 여전히 마루를 휘저으며 청소하는 로봇청소기는 미국에서 제작하고 있다.

국방성에 운송용 로봇을 납품하고 있는 매사추세츠주의 아이로봇(iR.obot)이 제작한, 아주 영리하지는 않지만 고집 센 바닥 청소기 ‘룸바’는 불룩한 프리스비를 닮았는데 가사 일에 싫증나고 200달러를 기꺼이 투자할 용의가 있는 사람들에게 먼지와 나뭇조각, 애완용 동물의 털과 조그마한 쓰레기를 긁어모은다. 룸바는 방을 1인치 단위로 나누어 커버하도록 설계되어 있는 크레이지 퀼트 패턴(crazy-quilt pattern)으로 1시간의 청소 주기 동안 적어도 한번은 벽이나 가구에 부딪혀 가볍게 튕겨나간다. 필자의 집에 있는 룸바는 때로는 필자를 놀라게도 하며 애완용 동물의 시선을 끌기도 한다.

하지만 적어도 한 명의 가전제품 해커는 이 룸바의 유혹을 뿌리칠 수 없었다. 취미생활자와 과학자들은 센서와 컴퓨팅 장치를 탑재하여 확실하게 방 청소를 할 수 있는 로봇을 개발하느라 많은 시간과 비용을 투자한다. 컴퓨터 보안 컨설턴트인 제이크 럭은 룸바에게서 멀티 센서가 탑재되어 있는 완벽한 사전제작 로봇 플랫폼을 목격했다. 물론 바닥청소용 브러시가 있지만 수선하기에 좀더 간편해 질 필요가 있다.

럭은 존 요아니디스(AT&T연구소의 네트워크 및 모바일 장치의 대가)와 함께 룸바를 연구실로 가져올 때까지 룸바를 분해한 적이 없었다. 룸바의 후드 아래는 쓸데없는 기계부품이 장착되어 있지 않는 간단하면서도 안정적인 설계로 되어 있다.

예를 들어, 룸바가 무언가에 부딪혔을 때 이를 룸바에게 알려주는 스프링식 범퍼 위의 플라스틱 탭은 보통 정교한 마이크로스위치가 수행하는 일을 담당한다. 범퍼가 반동되면 탭 중 하나가 LED와 광트랜지스터 사이의 경로로 헤집고 들어간다. 두 개의 탭으로 CPU는 범퍼의 일부가 장애물에 부딪혔다는 것을 알게 된다. 발광장치와 탐지기로 구성된 다른 뱅크는 룸바가 계단 끝으로 향하는지 그리고 얼마나 가까운 거리를 유지하며 벽을 끼고 나가는지를 룸바에게 알려준다(룸바는 ‘가상벽’을 두어 조그마한 박스로 적외선을 발사, 룸바를 울타리에 가둔다. 룸바 위의 센서는 룸바가 바닥 위의 적외선 라인을 넘어가지 못하도록 하는 소프트웨어를 작동시킨다).럭과 요아니디스가 그들의 분해 작업 지침을 웹에 게시했을 때 룸바 설계자로부터 축하의 이메일을 받았다. 하지만 룸바해킹에서 뜨거운 반향을 얻지는 못했다. 럭의 생각은 이 200달러짜리 진공청소기는 해커들의 관심 밖에 있는 일, 즉 집안일만 잘하는데 그들이 관심을 가질 리가 만무하다는 것이었다.



아이로봇의 전 엔지니어인 필 매스는 “룸바가 일을 잘 하기 때문에 해킹하기를 원치 않는다는 것은 궁극적으로는 칭찬이죠” 라고 웃으며 말한다. 매스가 만족해하는 건 당연하다. 그는 룸바에게 지칠 줄 모르는 성실성을 심어 주는 수천 줄의 코드를 만들고 수정하는데만 3년이란 시간을 보냈다.

룸바의 전자 및 기계시스템을 만든 팀의 일원인 매스와 크리스 케이시 그리고 엘리엇 맥은 룸바가 로봇 애호가들의 호기심을 자극하기를 바랬다(소니의 로봇강아지인 아이보는 해킹소동을 일으켰지만, 소니는 코드분해 내용을 실은 웹 사이트가 등장하면서 디지털 밀레니엄 저작권법을 인용하면서 이러한 추세에 반격을 가했다). 수십 달러어치의 금속, 실리콘 그리고 플라스틱으로 믿을만한 소비재 가전제품을 설계하는 데는 해킹을 쉬우면서도 어렵게 하는 결정이 필요하다.

예를 들면, 해킹과 비용절감 본능은 휠에 동력을 제공하고 메인보드에 센서 데이터를 전송하는 모듈 커넥터에 집중된다고 케이시는 말한다. 로봇을 조립하는 중국기업이 부품으로 내부 회로를 만드는 건 훨씬 비용이 저렴하다. 그리고 취미생활자가 그런 회로를 탑재하는 일은 너무도 쉽다.

한편, 소프트웨어를 파악하기란 불가능하다. 소프트웨어는 마이크로 제어 칩에 있는 ROM에 내장되고 이 칩은 메인보드에 부착된다. 이렇게 파묻힌 소프트웨어는 럭과 요아니디스 그리고 룸바를 리모콘으로 조정하기 원하는 다른 해커들에게 딜레마로 작용한다.

또한 CPU는 룸바의 원시적 센서로부터 유해성 정보를 이끌어내기 위해 난해한 신호처리 트릭을 사용한다. CPU를 잘라내어 버릴 경우, 해커들은 이 로봇의 제어시스템을 처음부터 다시 재건해야 한다. 즉 매스의 3년간의 연구를 창문 밖으로 던져 버리는 것이다. 한편 룸바의 외부 충돌 등의 프로그램화된 반응은 대부분 룸바가 의자의 두 다리 사이를 끊임없이 왔다 갔다 하지 않도록 의사난수화(pseudorandomiazed) 되어 있다. 만약 A센서로부터 신호를 받으면 룸바는 B방향으로 움직이고 또 다시 같은 신호를 받게 되면 C방향으로 움직인다.

이러한 룸커버리지 알고리듬으로 룸바는 청소임무를 훌륭히 수행하게 되지만 CPU로 가는 센서의 신호를 스푸핑(spoofing-속임수) 통제하고자 하는 이 해커는 성미가 까다로운 야생마를 길들이기 위해 고심하고 있다. 그는 룸바를 비슷한 방향으로 움직일 수는 있지만 정확한 내비게이션이 힘들었다. 룸바는 가상벽 센서에 훨씬 더 예측 가능한 반응을 보인다고 매스는 말한다. 룸바는 적외선 광선이 보이지 않을 때까지 되돌아간다. 그래서 이 신호를 스푸핑하는 것이 아마도 최선의 방법이 될 것이다.

하지만 이렇게 해서 룸바를 통제할 수 있게 된다면 무슨 소용이 있는가? 맥은 그러나 여기에 매우 많은 가능성이 있다고 주장한다. 청소장비가 제거된 룸바는 코너나 가구 뒤편에 갇히지 않고 자유롭게 돌아다니는 다양한 용도의 플랫폼이다. 그리고 페이로드 용량 또한 상당하다. 두툼한 대형 페이퍼백의 절반정도 크기의 물체를 사출 성형된 외피 안쪽에 집어넣을 수 있다. 우리 집 룸바에 5파운드의 밀가루 백을 실었는데도 기동성에 아무런 저하가 없었다. 케이시에 따르면 전력소비는 25와트 정도. 럭은 2~3대의 웹캠과 이미지 처리 소프트웨어를 탑재한 랩탑을 이용해 볼 생각이다. 아마도 자그마한 로봇 팔이 부착될 것이다.

필자의 경우엔 자동차 언더코팅을 다시 해야 하는지 여부를 조사할 수 있도록 룸바에 캠코더와 스포트라이트를 장착해 볼까 생각 중이다. 요아니디스는 여러 대의 룸바를 연결하여 더 넓은 공간을 청소할 수 있도록 하거나 죽음의 로봇경기에서 아이로봇 해킹작품과 겨뤄볼 예정이다. 충성스런 로봇강아지와 충성스런 로봇청소기의 대결이라! 이만하면 충분한 볼거리가 아닐까?

<저작권자 ⓒ 서울경제, 무단 전재 및 재배포 금지>