2011년 12월 21일 수요일

로봇용 소프트웨어 플랫폼 최신 동향 관련



* kldp.org에 올린 글


로봇용 소프트웨어 플랫폼 최신 동향 관련



* 로봇용 소프트웨어 플랫폼 최신 동향 관련
본 글은
현재는 로봇 쪽에 종사하지 않더라도
로봇 쪽 소프트웨어 개발에 관심있는 분을 위해 써 보는 글입니다.
로봇이 어쩌구 시장 전망이 저쩌구 하는 이야기는 집어치우고,
'범용 서비스 로봇'이라는 놈을 가정할 경우
이것을 위해 필요한 소프트웨어 개발 분야가 있다고 할 수 있습니다.
물론 로봇의 하드웨어 플랫폼은 별도로 개발되어 있다고 가정하고요.
다른 말로 상위제어 부분이라고 하겠죠.
최근 수년간 동향을 보면,
이 상위제어 부분에 대해서 여러 나라와 단체에서 각자 표준화를 시도해오고 있습니다.
물론 최종 승자가 누가 될지 모르겠지만,
이전의 컴퓨터 세계에서도 그랬듯이
유력한 소수의 소프트웨어 표준만이 살아남아
미래의 로봇산업을 지배하게 될 것으로 추측됩니다.
따라서 이 소프트웨어 표준을 선점하는 것이 아주 중요한 문제가 되겠지요.
뭐든지 간에 플랫폼, 인프라를 선점해야 그 산업을 장악할 수 있으니까요.
신기하게도,
우리나라는 이 일을 상당히 일찍부터 시작했습니다.
정보통신부가 있을 때 RUPI 과제를 2006년부터 아주 진지하게 시작해 들어갔으니까요.
세계적으로도 정말 빠른 편인 것 같습니다.
그런데 약간 삽질을 좀 한 것 같아요.
같은 성격의 과제를, 정통부 RUPI[루피]와 산자부 SPIRE 과제로 각각 따로 진행해서 문제가 되었었죠.
중복투자니까요.
그러다가 참여정부 말기에, 이런 문제점을 해결하기 위해 서바이벌 형식으로 경쟁을 붙이다가
정권이 바뀌고 말았는데 실용정부에서는 서바이벌 형태를 취하지 않고
통합 형태로 모양새를 좋게 만든 모양입니다.
그래서 지경부 OPROS[오프로스] 과제가 되어서 계속 진행되어 왔죠.
이제 2011년도 끝나가니, 개발 이력도 대충 5년 넘어가는 거죠.
목표했던 왠만한 건 다 구현되었고
세계적으로도 이정도로 방대하게 구현된 것이 잘 없어서 자랑할 만 했고
안정성 확보 및 실용화 단계로 접어들고 있는데
복병이 나타납니다.
미국에서 갑툭튀한 Willow Garage[윌로우 개라지]라는 회사에서
ROS 라는 놈을 발표한거죠.
윌로우 개라지는 구글의 초기 개발자가 로봇에 집중해 보겠다고 창업한 회사인데
회사의 창업 목적이 로봇 소프트웨어 표준을 만들겠다는 거였나 봅니다.
자체 로봇 하드웨어 플랫폼도 개발해서 ROS를 심고 발표한 건 좋은데
심각한 일은 2010년도에 벌어집니다.
이 회사가 (로봇 벤쳐로는) 엄청난 자본을 수혈받고
자신들의 로봇과 ROS를 세계 각국의 로봇 연구실에 확 뿌려버린 겁니다.
한국에서는 고만고만한 중소기업들이랑 국책연구소 몇 팀이 달라붙어서
열심히 깨작깨작 하고 있는데
미국넘들은 실리콘밸리의 위엄으로 융단폭격 형태를 취한 것 같이 느껴졌습니다.
아무튼 이후로 ROS가 점점 덩치를 불리더니
서구권의 여러 업체들이 ROS를 적용하고 결과를 보여주고 하면서
순식간에 주도권을 잡아버린거죠.
2010년도 접어들면서 우리나라 OPROS에서도 가만히 보고 있다가
2011년도 들어와서 기존의 계획을 대폭 보완하면서
ROS에 대항해 나가겠다고 하는 모양입니다.
============================================================
OPROS, ROS 등
이와 비슷한 다른 개발건들은....
일본의 RTM 이라는 과제가 있었는데,
우리나라처럼 정부지원 받아서 학계에서 하는 거였나 본데
진행과정이 아주 개판이라 성과가 별로 안좋았나 봅니다.
2009년인가 2010년인가 그때 쯤에 지원과제 종료되어 버리고
지원을 못받게 되자 소스코드 오픈해서 오픈소스화 합니다. (OpenRTM으로 전환)
이전에는 소스코드 비공개였는데 바꿀 수 밖에 없었던거죠.
이후에 개발이 잘 되고 있는지는 잘 모르겠지만
개발범위도 OPROS에 비해서 좁고 제한적이라 아마 거의 죽은 놈 취급해도 될 듯 하고요.
유럽에서는 OROCOS[오로코스?]라는 놈이 있는데
이놈도 독자적으로 하다가 윌로우 개라지의 ROS와 협력하는 쪽으로 방향을 잡았나 봅니다.
시스템은 ROS로 하고 그 위에 올라타는 알고리즘 같은걸 하는 쪽으로 방향을 잡은거죠.
ROS의 경우는 처음부터 BSD 라이센스로 오픈이었는데
OPROS도 그 영향 때문인지 2009년에 결단을 내려서 LGPL 라이센스로 완전 오픈했고요.
이외에도 다른 자질구레한 것들도 많던데
생략...
============================================================
아무튼 이런 성격의 소프트웨어 플랫폼들은
일반 OS 또는 RTOS 위에 올라타는 미들웨어 성격이 강하다고 할 수 있는데
ROS는 철저하게 리눅스 위주로 개발되었고
OPROS는 윈도우 개발자들이 많은 한국 현실(?)을 감안해서 윈도우 환경 위주로 주로 개발되었습니다.
하지만 그렇다고 다른 OS에 포팅되지 않은 건 당연히 아니고 다 크로스 되긴 했죠.
최근에는 안드로이드 OS 등이 나오면서 그쪽으로도 올라타는 모양입니다.
(ROS는 안드로이드 포팅 완료, OPROS는 아직 미구현이지만 몇 달 안에 된다고 함)

ROS는 하드웨어와 연결되는 디바이스 다루는 하부 구조 부분은 좀 약한 편인듯 하고
그보다 상위단의 알고리즘이나 각종 툴, 시뮬레이션 개발용 툴들에 집중하는 듯 하고
OPROS는 하부 구조 부분도 처음부터 상당히 중시하고,
또 개발환경(IDE)나 RAD 개념의 도구들도 개발범위에 들어가 있었습니다.
다만 OPROS는 알고리즘 부분이 좀 약한것 같아요.
거 왜 영상처리라던가, 네비게이션, 로봇 기구 모델링 및 실시간 동역학이라던가 등등 그런거요.
아무튼 OPROS는 이제 ROS를 철저하게 경쟁자로 인식하고
ROS의 장점들도 막 흡수하기로 맘을 먹었나봐요.
또 가능하다면 ROS 쪽과 협력을 추진하겠다는 계획도 있나본데
잘 성사가 될지는 아직 미지수...
이와 별도로 OPROS, ROS와는 좀 성격이 다른
MS의 MSRDS도 있쟎아요.
이넘은 하드웨어 구동 보다는 시뮬레이션 쪽에 비중이 큰 넘 같고
철저하게 닷넷 개발환경에만 맞춰져 있고 또 독점소프트웨어라는 점이 특징이죠.
MS 답게 커리큘럼이나 각종 라이브러리가 빵빵하고 해서
로보틱스 학습 교재로 미는 모양인데
다만 이걸로 로봇 제품을 개발하겠다는 경우는 못 본 것 같습니다.
============================================================
현재까지 보면
기술적 수준이 가장 높은 것은 단연 ROS 쪽인데
소프트웨어의 아키텍춰가 더 우월하다는 소리는 아니고
그걸 이용한 어플리케이션이 가장 수준이 높은 결과물들이 많이 나왔습니다.
세계적으로 돈을 뭉텅뭉텅 쓰면서 확 뿌리고
최고의 개발자들이 달라붙어서 하기 때문이겠죠.
OPROS는 이전의 RUPI 영향 때문에
로봇의 알고리즘 보다는
통신망을 활용한 서비스 개념이 강했기 때문에,
로보틱스 이론의 고급 알고리즘 부분은 굉장히 취약하지만
특이하게 서버-클라이언트 원격 제어 및 관리 개념이 초기부터 있었습니다.
이걸로 실제 구현도 하고 시범서비스도 하고 했었지요.
ROS는 무거운 우분투 리눅스 위에 올라타고 아키텍쳐가 덩치가 큰 편인지 몰라도
좀 반응이 느리고, 또 컴퓨팅 파워를 많이 소모하는데도 불구하고
서버-클라이언트 개념은 초기부터 가지고 있지 않았었던 것 같아요.
이제 와서 클라우드로 원격 서버에서 상위 알고리즘을 돌려서
로봇 클라이언트한테 지령을 줘서 동작을 하겠다는 둥 말을 하기 시작하더군요.
(참고로, 윌로우 개라지가 개발한 PR2라는 로봇의 경우
로봇의 모터의 소모전력은 170와트 미만인데, 내장된 컴퓨터의 소모전력은 500와트 정도라고 합니다.
상위 알고리즘 돌리는데 컴퓨팅 리소스가 엄청나게 필요한가 봅니다.)
아무튼 면면을 대략 살펴보면 일장일단이 있고
OPROS가 ROS의 결과물들에 비해서는 좀 쫄리는게 확실합니다만
그렇다고 내세울게 전혀 없는건 아니라는 것 같습니다.
개인적인 바램은 OPROS가 ROS와 서로 융합했으면 하는 생각도 듭니다.
============================================================
우리나라가 OPROS를 중요한 과제로 일찍부터 시작했던 것은 정말 잘한 일인 듯 싶습니다.
이제 구현도 어느정도 되었고 하니 2012년부터는 상당히 공격적으로 움직이면 좋겠습니다.
다른나라에도 막 뿌리고 말이죠...
다만 예산이 너무 적더군요.
연간 45억 정도 투입되는 것 같은데 (이중에 정부 지원자금은 80~90% 정도 되겠죠)
윌로우 개라지는 같은 금액을 그냥 한 번 로봇을 뿌리는데 쓰더군요.
2010년에 자사 로봇 11대를 세계 각국의 연구실에 그냥 공짜로 주고
그걸로 연구개발 속도 높이자 하는 기사가 떴었는데,
그 공짜로 뿌린 로봇 가격만 4백만불(약44억원) 이었으니까요.
(로봇 1대 가격이 대략 36만불 정도였다는 이야기이고
2011년 최신 버전의 PR2 로봇은 20만불 이라고 합니다.)
달리말해 미국의 일개 작은 벤쳐회사가 개발에 쓰는 돈보다
한국의 국책사업으로 한국 로봇업계가 다 달라붙어서 개발하는 돈이 훨씬 적다는 거죠.
아 뭐 이런건 당연한 거라고 해야겠지만...
우리는 미국이 아니니깐.
아무튼 개발에 투입되는 리소스가 부족하기 때문에
주도권 잡기 상당히 힘든 것은 분명합니다.
ROS 쪽과 협력하지 않으면 OPROS는 결국 갈라파고스화되어 고사하게 되겠지요...
============================================================
이러한 로봇의 소프트웨어 플랫폼을 개발해서 왜들 주도권을 잡으려고 할까?
나름대로 큰 시장이 열릴 것으로 기대되기 때문인 것은 확실합니다.
OPROS 과제 보고서를 보면
뭐 관련산업까지 합쳐서 '300조 시장' 이라고 좀 뻥을 쳐서 표현을 했던데
그정도까지는 안되더라도 큰 시장이 열리는 건 아무도 부인 안하는 것 같아요.
단적인 예를 들어볼 수 있는게....
산업용 로봇 시장이 포화상태에 접어들어
(주요 수요자인 자동차 생산라인이 과잉상태가 되었기 때문에)
상당기간 정체 상태였다고 합니다만
신흥경제권 쪽에서 신호가 오는 모양입니다.
애플 아이폰 조립해 주는 폭스콘의 경우
지난번에 열악한 노동환경으로 공장 종업원의 연쇄 자살 사건이 일어나
큰 파문이 일었는데
그 폭스콘의 혼하이 그룹 회장이
'생산라인에 50만대의 로봇을 투입해서 인간을 대체하겠다'
라는 위엄어린 선언(?)을 해 버리죠.
그냥 대륙의 뻥인가 싶었는데
이번에 보니, 이미 로봇 10만대 투입되어 있고
2013년까지 10만대 더 투입한답니다.
기존의 소형 제품 조립라인의 로봇들은 기껏해야 부분적으로 적용되는 수준이었는데
(사출물 취출, 나사 조임, 물류 팔렛트 이송 정도..)
로봇을 제대로 적용하기 위해서 FMS 개념 즉
원자재 창고 -> 생산라인 전부 -> 출고 창고 까지 모든 과정에 로봇을 깔아놓고
생산을 사실상 무인화한다는 겁니다.
기존의 미국 등에서 시도했던 무인화 공장들이 실패했던 원인은
원재료의 재고량을 극단적으로 줄여서 재고부담을 최소화 하겠다는 식의
탁상머리에서 나온 산업공학이 목표였기 때문이라고 할 수 있는데
FMS 개념은 그보다는 좀 달라서
공장에서 사용되는 지그(Jig) 등의 유연하지 못한 부속들을 없애고
로봇과 공구들 만으로 모든 작업을 해 낸다는 겁니다.
생산하는 아이템이 달라지면 소프트웨어만 손보고요.
산업공학적인 목표가 수정되고, 더 새로운 개념이 시도되는 시점이기 때문에
산업용 로봇 수요가 다시 증가곡선을 타고 있습니다.
그 외에도 뭐 군사용 로봇이라던가
(아프간 전쟁에 아이로봇 제품이 연간 5천대 가량 투입되었다고 하네요)
로봇의 제어/지능이 가까운 미래에 더 향상되고
로봇 가격이 절감되는 시점에 등장할 범용 서비스 로봇 시장이 발생한다면
할만한 사업이 되는 거죠.
이런 모든 로봇의 기반 소프트웨어 플랫폼이
마치 PC의 윈도우즈 처럼 쫙 깔린다고 생각하면 엄청난 사업이 되는 거겠죠.
============================================================
현재 우리나라 소프트웨어 개발자들중 대다수는
서버, 웹개발 쪽인 것 같고
어플리케이션 개발자가 좀 있고
SI 쪽은 뭐 막장 개념이라고들 하고요..
로봇 쪽에 관심이 있다면 이런 동향에 촉각을 곤두세워 보는 것도 어떨까 싶습니다.
제가 로봇 개발 업체에서 일해본 바로는
함께 일하던 개발자들이 아직 Guru나 고수급은 별로 없습니다.
컴퓨터 공학을 제대로 공부한 인력도 적은 편이고요.
대부분 전자공학,기계공학 전공자 출신들이 하는 경우가 많죠.
아무래도 컴퓨터공학적인 깊이가 좀 떨어질 수 밖에 없는 것 같습니다.
실력이 뛰어난 개발자가 로봇 쪽에도 좀 더 투신하기를 바라는 마음에서 써 본 글입니다.
사실 대우는 뭐 .... ㅎㅎㅎ
현대중공업 말고는 대우 좋은 곳은 없다고 보셔도 될 듯..
아 뭐 그래도 꿈과 희망이 아직은 남아있는 분야 아닌가 해요.
* 참고할 만한 곳
한국 OPROS ::: http://www.opros.or.kr
미국 ROS ::: http://www.ros.org
미국 Willow Garage ::: http://www.willowgarage.com
유럽 OROCOS ::: http://www.orocos.org
일본 OpenRTM ::: http://www.openrtm.org
MSRDS ::: http://msdn.microsoft.com
월, 2011/12/19 - 5:59오전 | 재밌는 글 잘읽었습니다. 여러가지 생각이 들게 (점수:1)
재밌는 글 잘읽었습니다.
여러가지 생각이 들게 만드는 스토리네요.
Just do it!
월, 2011/12/19 - 8:36오전 | OPROS에는 (점수:4 흥미로움)
Willow Garage의 PR2 처럼 판매가능한 견고한 로봇 플랫폼이 있나요?
OPROS를 잘 알진 못하지만 소프트웨어 개발 스택인 것 같은데, 사실 회사도 아니고 대학들이 PR2를 원한 이유는 통합 소프트웨어 플랫폼은 아니었습니다. 견고한 손이 달린 움직이는 로봇이 필요했죠. 이게 대학 연구실이나 일반 랩에서는 쓸만한걸 만들기가 힘드니까요. Tooling 은... 저라면 아마 거의 없는 걸 더 원했을 지도 모르겠습니다. 원하는 대로 소프트웨어를 짜는데 종종 방해가 되니까요.
PR2가 사실 갑자기 튀어나온 녀석도 아닙니다. 스탠포드에서 만들던 PR1 의 확장판이죠. PR1이 2006년부터인가 만들어졌고 ROS도 그때 만들던 것을 Willow Garage에서 이어받은 걸로 알고 있습니다. MIT 나 Stanford 등에서 팔달린 로봇을 1960년대 후반부터 만들기 시작했던 걸 생각하면 노하우는 충분한 셈이죠. 단지 대학원생들이나 스타트업에서 만들다 보니 tooling에 신경을 안썼을 뿐이라고 봐야겠습니다.
지금 이걸로 재미난 일들을 많이 하고 있는데, Berkeley에서는 빨래를 개고 있고
http://www.youtube.com/watch?v=Thpjk69h9P8
MIT 에서는 빵을 굽고 있습니다
http://www.youtube.com/watch?v=duXFIKswTOM
빨래 개는 일의 경우 정해진 시퀀스로 개는 건 아니고, 빨래가 접힌 경우 어디를 집어야 옷감이 펼쳐지는지 등을 확률적 모델링으로 추론합니다. 중간에 빨래를 돌려가면서 모양을 파악한 다음 어디를 집어야 하는지를 계산하기도 하구요.
Berkeley 동영상의 저 대머리 젊은 교수 Pieter Abbeel 세미나에서 기억에 남는 말중 하나가, 자신이 로봇으로 빨래 개는 일에 관심을 두는 이유는, PR2가 현재 나온게 2억짜리인데, 이게 대중화되어 여러 분야에 쓰이기로는 너무 비싸다, 그래서 자신과 같은 사람들이 로봇으로 이런 everyday task도 할 수 있다는 것을 보여주면 예를들면 foxconn 을 설득해서 한대당 500만원짜리를 찍어내도록 할 수도 있지 않겠느냐, 고 하더군요. 저는 연구를 할때 이런 적으로 생각해본적이 별로 없어서, 얘네는 생각의 스케일이 다르구나를 느낄 수 있었습니다.
월, 2011/12/19 - 11:29오전 | 그렇군요 진짜 스케일이 다르네요 멋집니다. 역쉬 (점수:1)
그렇군요 진짜 스케일이 다르네요 멋집니다.
역쉬 로봇 개발(초기 접근)에 제일 걸림돌은
하드웨어 실제 플랫폼인거같네요
월, 2011/12/19 - 10:24오전 | 3PO나 R2D2같은것도 나오겠군요 (점수:1)
3PO나 R2D2같은것도 나오겠군요
피할 수 있을때 즐겨라!
http://snowall.tistory.com
월, 2011/12/19 - 11:01오전 | 좋은 정보 글 감사합니다. 관심은 많지만 아직 (점수:1)
좋은 정보 글 감사합니다.
관심은 많지만 아직 접해보지 못한 이야기네요
간간히 이런글 올려주시면 감사하겠습니다.
월, 2011/12/19 - 11:16오전 | 오~ 재미있습니다. (점수:1)
좋은 글 잘 읽었습니다 ^^
월, 2011/12/19 - 11:40오전 | Robotics는 Rigid Body (점수:1)
Robotics는 Rigid Body Dynamics에서 끝납니다.
길게 쓰셨는데...
4발로 걷는 로봇은 이미 실용화 단계에 있습니다. 미국 국방부에서 개발중입니다.
두발로 걷는 로봇은 혼다가 가장 앞서 있는데 2020년에는 사람 축구 선수와 시합을 해서 이길정도로 만들거라고 했는데 지켜봐야 지요.
사람의 몸이 만드는 모든 동작을 위치와 시간의 미분 방정식으로 구현하면 진짜 사람같이 움직이는 로봇을 만들 수가 있는 거지요.
3차원 게임들에 사용하는 물리 엔진 (Physics engine)은 중학교 물리 교과서 공식 베껴다 쓰는 수준이고, 오차와 다루는 변수들이 많을 수록 캐드, 전문 시뮬레이션 프로그램이 됩니다.
진자가 두개가 되면 비선형으로 움직입니다. 여기서 부터 Chaos가 시작된다고도 하더군요. 물리학책에 써있습니다. 사람의 팔은 두개의 진자, 손은 4개의 진자로 이루어져 있지요. 여기에 팔은 회전, 어깨는 360도로 회전하니, 이 시스템이 만들 수 있는 상태를 나타내는 운동 미분 방정식을 찾기가 어렵습니다.
월, 2011/12/19 - 8:32오후 | 이 글을 보고 나니 이 뉴스가 눈에 (점수:1)
월, 2011/12/19 - 10:56오후 | 재밌는이야기 (점수:1)
재밌는 이야기 잘 읽고 갑니다 ^^
화, 2011/12/20 - 5:53오전 | 정말 잘 읽었습니다. (점수:2)
정말 잘 읽었습니다.
화, 2011/12/20 - 9:05오전 | 잘 읽었습니다. (점수:1)
익명 사용자의 아바타
익명 사용자
로봇 소프트웨어 쪽으로 전공을 하고 있는 저와 관심 분야가 매우 비슷한 것 같습니다.
개인적으로 말씀을 더 나누고 싶은데, 혹시 이메일 연락처 하나 알 수 있을까요?
화, 2011/12/20 - 11:55오전 | 제 이메일은.... (점수:1)
저의 닉네임에 naver.com 으로 보내주시면 됩니다.
저도 로봇 학계나 업계에서 무슨 대단한 입지를 가진 사람은 아니기 때문에
깊숙한 정보까지는 알지 못하지만, 혹시 도움이 될만한 사항이 있다면 언제든지 연락 주십시오.
감사합니다.
======================================
Mechanical Engineer
Find DYMAXION KIM at Google+
======================================
화, 2011/12/20 - 11:06오전 | 로봇쪽 SW에 투신하려거든... (점수:1 통찰력있음)
익명 사용자의 아바타
익명 사용자
요 몇년간 로봇쪽 SW 플랫폼 개발에 참여했던 한 사람으로서 짧게 댓글 남깁니다.
로봇쪽 연구&개발인력들은 대부분 기계,전자,제어쪽 인력으로 SW에 대한 이해도가 상당히 낮은편입니다. 따라서 어느 정도 실력만 있으면 일정부분 기여할 수 있습니다만... SW에 대해 함께 논의할만한 동료가 거의 없고, SW 결과물을 거의 인정해주지 않기 때문에 조직내에서 인정 받기가 쉽지 않습니다. 로봇하는 사람들 대부분이 워낙 눈에 보이는 것만 좋아하기 때문에(단적인 예로 로봇쪽 논문에서는 동영상이 거의 필수라고 하더군요) SW는 인정받기가 정말 힘듭니다.
혹시 그쪽으로 진출하고자 하시는 분은 이런 점도 고려하시면 좋을 것 같습니다.
화, 2011/12/20 - 1:35오후 | 간만에 보는 정말 멋진 서베이 글이군요! 고맙습니다. (점수:2)
간만에 보는 정말 멋진 서베이 글이군요! 고맙습니다. ;-)
@dymaxion++
----
use perl;
Keedi Kim

댓글 없음:

댓글 쓰기