발행일 : 2006.12.23 / BZ3 B3 면 기고자 : 이영완 게이츠,빌 컴퓨터 문명의 아이콘, 빌 게이츠 마이크로소프트 회장이 본지에 송년(送年) 특별기고를 해왔다. 그는 말한다. “우리는 지금 새로운 산업의 탄생 시점에 와 있다. 그것은 로봇의 출현이다. 로봇이 미래 세계를 바꿀 것이다. MS는 준비됐다. 당신은 어떤 준비를 하고 있는가?”
새로운 산업이 탄생 시점에 와 있다. 바로 로봇공학산업이다.이는 내가 폴 앨런(Paul Allen)과 함께 마이크로소프트를 만들었던 1970년대의 컴퓨터산업과 유사하다. 그 당시에는 값비싼 대형컴퓨터가 대기업ㆍ정부업무를 지원했다.대학ㆍ기업 연구소 연구자들은 정보화 시대를 열게 될 기본 구성요소들을 만들고 있었다. 인텔(Intel)은 8080 마이크로프로세서를 막 출시했고, 아타리(Atari)는 유명한 컴퓨터 게임기 퐁(Pong)을 판매하고 있었다. 컴퓨터 클럽 동호인들은 새 산업이 어디에 사용될지 알아내기 위해 고심했다.
■‘공상과학을 현실로’ 해답 찾기 시작
‘로봇’이라는 말은 체코 극작가 카렐 차펙(Karel Capek)이 1921년에 첫 사용하면서 알려졌지만 최근엔 영화나 TV·책을 통해 친숙한 존재가 됐다. 그러나 로봇이 공상과학영화에 등장하는 로봇과 같은 모습이 되려면 갈 길이 멀다.
우선 로봇이 주변 환경을 인식해 충분히 빠르고 정확하게 반응하도록 하기가 힘들다. 방(房)안 물체를 기준으로 방향을 정하거나 소리에 반응하고 말을 알아듣는 것처럼 인간이 너무나도 쉽게 할 수 있는 일을 로봇에게 하도록 하기는 참 힘들다. ‘열린 문’과 ‘창문’을 구별하기조차 로봇에게는 매우 어려운 일이 될 수도 있다.
하지만 연구자들은 해답을 찾아내기 시작했다. 가장 크게 도움되는 것 중 하나는 막강한 컴퓨터 연산능력이다. 1970년대에는 1메가헤르츠의 연산장치는 7000달러 이상이었지만 현재는 몇 센트면 구입할 수 있다. 저장장치 가격도 비슷한 속도로 감소했다. 컴퓨터 성능이 증가하면서 로봇 설계자들은 복잡한 문제 해결에 필요한 연산능력을 얻게 된다.
로봇개발의 또 다른 장벽은 물체와의 거리를 인식할 수 있게 하는 센서나 물체를 적당한 힘·정확도로 조작하는 데에 필요한 모터와 같은 하드웨어 가격이 비싸다는 것이다. 하지만 가격은 급강하 중이다. 로봇이 거리를 정확히 알아내는 데에 사용되는 레이저 거리계는 수년 전만 해도 1만달러 정도였지만 현재는 2000달러 정도면 구입할 수 있다.
이제 로봇 제작자들은 위성항법장치(GPS)칩·비디오카메라와 같은 다양한 기기를 적당한 가격에 추가할 수 있다. 이렇게 첨가되는 기능과 더욱 향상된 연산과 저장기능을 통해 현재의 로봇은 방을 청소하거나 폭탄을 제거하는 등 수년 전의 상업용 로봇으로는 불가능했던 일을 할 수가 있다.
■로봇산업의 BASIC을 만들어라
PC 초창기에 나는 이 산업을 키우고 상업적으로 쓸모 있는 제품을 만들기 위해서는 무언가가 필요하다는 사실을 알아냈다. 그것은 MS 베이직(BASIC)이었다. 1970년대에 개발된 이 프로그램 언어는 한 가지 하드웨어를 위해 만든 프로그램이 다른 곳에서도 작동하도록 공통된 토대를 만들었다. MS BASIC은 PC 혁명을 가능케 한 소프트웨어와 하드웨어 발전의 중요한 촉매역할을 했다.
나는 MS에 25년간 근무한 탠디 트로워(Tandy Trower)에게 장기간에 걸쳐 로봇공학에 관련된 사람들과 얘기해 보도록 했다. 이후 탠디는 리포트를 제출했다. 이를 읽고 나자 30년 전 PC 산업의 도약을 이끈 베이직과 같은 촉매제가 로봇산업도 필요하다는 것이 분명해졌다. 나는 서로 다른 하드웨어에서 작동하는 로봇프로그램을 만들게 했다.
탠디의 로봇공학팀은 MS의 최고 연구·전략책임자 크레이그 먼디(Criag Mundie)팀이 개발한 신기술들을 이용했다. 그 중 하나가 ‘병행성’(concurrency)이다. 로봇 설계자들은 ‘어떻게 하면 동시에 여러 개 센서에서 오는 데이터를 다루고 로봇의 모터에 적절한 지시를 내릴 수 있을지’ 고민해왔다. 통상 접근방법은 전통적인 ‘싱글스레디드 프로그램(single-threaded program)’으로, 우선 모든 센서의 데이터를 읽어 들인 다음 이를 처리해 로봇행동을 조절할 출력을 내보내고, 다시 처음으로 되돌아가는 식이었다. 이는 분명한 단점을 안고 있다. 로봇의 센서는 ‘가장자리에 서 있다’는 데이터를 보내고 있는데 프로그램은 아직도 이전의 센서 입력을 이용해 궤적을 계산하고 바퀴를 더 빨리 돌리도록 지시하고 있다면 새 정보를 처리하기도 전에 계단을 굴러 떨어져버릴 것이다.
대안은 데이터가 여러 개의 경로로 흘러가도록 ‘멀티스레디드 프로그램(multi-threaded program)’을 만드는 것이다. 하지만 경험 있는 개발자라면 누구나 이것이 프로그래밍 중 가장 어려운 일이라고 말할 것이다. 크레이그 팀이 병행성을 해결하기 위해 내놓은 답은 ‘병행 및 조정 실행시간(concurrency and coordination runtime·CCR)’이라고 부르는 것이다. CCR은 특정 기능을 수행하는 소프트웨어 코드의 나열인 기능 라이브러리로서, 동시작업을 조정할 수 있는 멀티스레디드 응용프로그램을 작성하기 쉽도록 만든 것이다. 로봇 설계자들은 CCR을 사용해 자신의 창조물이 센서 입력을 읽어 들이느라 너무 바빠서 바퀴에 출력을 내보내지 못하고 벽과 충돌할 가능성을 크게 줄일 수 있다.
크레이그 팀은 로봇프로그램의 작성을 쉽게 만들 ‘분산 소프트웨어 서비스(decentralized software services·DSS)’ 기술도 만들었다. DSS는 텍스트·이미지, 그리고 여러 개의 서버에서 불러들인 정보가 하나의 웹페이지를 이루듯 로봇의 센서 데이터를 읽거나 모터를 조정하는 등의 역할을 수행하는 프로그램의 각 성분을 조합할 수 있게 한다. DSS가 소프트웨어의 각 성분을 서로 독립적으로 운영하도록 하기 때문에 로봇의 일부분에 문제가 발생하면 전체를 재부팅할 필요 없이 그 부분만 종료시키고 재시작할 수 있다. 광대역 무선기술과 함께 이 기술로 멀리 떨어진 곳에서 웹브라우저로 쉽게 로봇을 감시하고 조정할 수 있게 된다.
이 기술들이 탠디 팀이 개발한 소프트웨어 개발 키트인 ‘MS 로보틱스 스튜디오(Microsoft Robotics Studio)’의 핵심이다.
■로봇은 PC처럼 한층 가까워 질 것
로봇들은 언제 우리 일상생활의 일부가 될까? 국제로봇연맹(IFR)에 따르면 2008년에는 전 세계에 700만대의 개인용 로봇이 사용될 것이라고 한다.
1970년대의 PC 산업과 마찬가지로 어떤 용도가 이 새로운 산업의 성장에 큰 역할을 할지는 예측할 수 없다. 아마 로봇들은 장애자들의 거동을 돕거나 군인·건설노동자·의료종사자의 힘과 능력을 증가시키게 될 것이다. 의료종사자들은 로봇을 이용해 수천 마일 떨어진 환자들을 진찰하고 치료할 수 있게 될 것이며 보안시스템과 구조작업에서도 로봇이 중심적인 역할을 할 것이다.
그렇지만 스타워즈에 나오는 인간형 로봇 C-3PO와 닮은 것은 찾아보기 힘들 것이다. 사실상 이동형 기계들이 더욱 흔해지면 로봇이 무엇인지 얘기하기가 매우 어려워질지도 모른다. 새로운 기계들이 고도로 전문화되고 흔해지면 그것을 로봇이라고 부르지 않을지도 모른다. 하지만 이 기기들이 소비자에게 부담 없는 가격이 되면 지난 30년간 PC가 그랬던 것처럼 우리가 일하고, 대화하고, 배우고, 즐기는 데에 큰 영향을 줄 것이다.
(번역 및 정리=이영완 산업부 기자(과학팀장) (블로그)ywlee.chosun.com)
*이 글은 미국의 과학대중지 ‘사이언티픽 아메리칸(Scientific American)’ 2007년 1월호에 게재될 예정이며, 사이언티픽 아메리칸 한국어판인 ‘사이언스 올제’의 도움을 받아 본지가 가장 먼저 단독 전재했습니다.
|
댓글목록