강좌 & 팁
안녕하세요. 조형깁니다.
오늘은 이전에 이야기를 마무리 하도록 하겠습니다. 로봇틱스에 많이 사용되는 센서 2탄!
저는 솔직히 센서 전문가가 절대 아닙니다. 그냥 전반적인 센서들을 소개하는 가벼운 수준으로
이야기를 읽어주시면 됩니다.
로봇에는 수많은 센서들이 사용됩니다. 하지만 여기서는 퍼셉션과 크게 연관되는 센서들만을
다루려고 합니다. 퍼셉션과 크게 연관되는 센서에는 다음과 같은 카테고리가 있습니다.
1) 비젼 센서 - Video Camera
2) 레이저 센서 - Lidar or laser-range-finder
3) 3D 레이저 센서 - Velodyne 센서
4) 레이다 센서 - Radar 센서
5) 로컬라이징 센서 - GPS with Gyro and IMU
이번에는 3D 레이저 센서인 벨로다인 센서와 레이다 센서에 대해서 알아보도록 하겠습니다.
3) 3D 레이저 센서
SICK과 같은 레이져 센서는 한 평면을 커버합니다. 보통 이놈을 가지고 SLAM을 할때는 센서를 20cm~30cm
높이에 설치를 하고 모바일 로봇이 실내환경을 이동하지요. 실 외에서 사용할때는 60cm~70cm 정도에
장착을 해서 사용을 합니다. 보통 SICK 레이저는 한 평면만을 커버하므로 몇 가지 한계점을 가지고
있습니다. 예를 들어, 지면이 평평해야 한다는 (Flat ground assumption) 가정을 하고 있지요. 그리고
삼차원 공간을 한 평면만을 가지고 인식해야하는 근본적인 한계점이 있습니다. 우리가 눈을 아주
게슴츠리 뜨고 수직으로 아주 좁은 Field of view를 가지고 세상을 본다고 상상해 보십시요 !
그래서 보통 이 2D SICK 센서를 덕지덕지 붙여서 무인차량의 퍼셉션 시스템을 구성하였더랬습니다.
그래서 나온 놈이 바로 3D 레이저 센서 벨로다인 센서입니다. 자 우선 벨로다인의 그림 먼저보시죠.
가장 좌측 상단에 있는 그림이 Velodyne HDL-64E 입니다. 이놈이 Boss (CMU Urban Challenge 우승 차량) 에서
사용하고 있는 놈입니다. 하단 중간에 보이는 다른 버젼의 벨로다인 센서도 있습니다. 우선 간단히 동작 원리
를 보면, 그림의 미러 안에 레이저 빔 총이 64개가 수직으로 배치되어 있다고 보시고 동시다발적으로 레이저를
쏩니다. 그림이 그려지시지요 ? 자 그럼 이제 센서의 대가리를 돌립니다. 10Hz로 돌아갑니다. 그럼 64개의 레이저
빔이 360도 환경을 긁어 엄청난 포인트 데이타를 출력해 냅니다. 보통 1초에 백만개의 포인트 데이타가 들어옵니다.
포인트 데이타는 결국 레이져 빔이 외부 물체를 맞고 돌아온 Time of Flight 를 계산한 depth 정보겠지요.
이 데이타가 아주 판타스틱한 visualization을 만들어 냅니다. 다음 Youtube 동영상을 보시면 쉽게 이해하실 겁니다.
http://www.youtube.com/watch?v=P99eKc2uNJU&feature=player_embedded#at=11
환상적이죠 ? 저 수많은 포인트 데이타로 다양한 일을 합니다. 예를 들어 ground plane을 추정하는 일부터
보행자 , 자동차 디텍션과 트랙킹을 수행하구요, 길 가에 curb를 디텍션하는 일도 하지요.
어찌보면 우리가 2개의 눈으로 (스테레오 비젼 시스템) 환경을 인식하는 것이 더 amazing 한
사실이지만 우리는 이것이 너무나 익숙해져 있어서 3d 데이타 포인트로 만들어낸 위와 같은 동영상에
더 현혹되지요. 벨로다인은 참 좋지만 너무나도 비쌉니다. 3년 전 대회때는 7천 만원 정도 한다고 하였는데,
지금은 얼마정도 하는지 모르겠네요. 그래서 아무나 쉽게 사용하지 못하는 단점이 있습니다. 저는 이놈을
언제라도 사용할 수 있는 환경에 있으니, 복 받은 놈이라고 생각합니다. ^^ 뭐 지금은 있어도 사용하지
않고 있지요.
한편으로 이것 때문에 고민입니다. 현실적인 연구를 할려면, 차동차에 실을 만한 센서를 사용해야 하겠지요
그래서 비젼 센서가 가장 각광을 받고 있구요... 레이다 센서도 자동차 업계에서는 많이 사용하고 있잖아요.
헌데 이 레이저는 좀 거시기합니다. 일단 가격이 비싸구요, 둘째로 부붐에 메카니컬한 요소가 많다는 것이지요.
모터가 들어가고 부품들이 회전하고 등등... 그러면 내구성이 떨어지겠지요. 자동차 회사들은 이것에 너무나
민간하지요. 그래서 일단 장벽이 큰 거 같습니다. 아주 현실적인 연구를 할려면 벨로다인과 같은 벌키 하고
너무 비싼 센서말고 비젼을 여러개 사용하고 레이다 같은 센서와의 퓨젼을 연구하는 것이 맞는 방향이겠지요.
사뭇 다른 관점은 연구 자체는 너무 현실적인 것에 초점을 맞추기 보다는 좀더 미래 지향적이고 새로운 무언가를
추구하는 것이 좋다는 관점이지요. 그래서 비젼 센서와 벨로다인 센서를 사용해서 좀더 정확하고 좀더 로버스트한
퍼셉션 알고리즘을 만드는 것이 좋겠다. 머 그런 관점.... 현재는 저는 이 관점을 따르고 있습니다. 하지만 좀 더
깊은 고민이 필요하다고 생각합니다. (선택의 문제요, 관점의 차이지요, 둘 다 좋은 것이죠. )
참고로 말씀드리면, 2007년 Urban Challenge 대회를 돌이켜보면, 참가자 11개 팀인가요, 그 중에 결승선을
넘긴 팀은 총 6개 팀인데요.... 그 중 5개의 팀이 CMU, Stanford, MIT, Cornell, UPenn 모두 벨로다인을 사용했습니다.
벨로다인 센서의 성능을 다시 한번 확인 했던 이벤트였습니다. 뭐 원래 이 센서를 만드는 회사가 원래
Grand Challenge의 참가팀이었습니다. 그래서 누구보다 필요성을 잘 알았고 이를 만들어 장사를 시작한 것이지요.
현재는 무인 로봇 시장뿐만아니라 지도제작과 환경을 모델링 분야에서 많이 사용되어 사업이 계속 확장되고
있는 것 같습니다.
4) Radar 센서
레이다 센서는 자동차 업계에서 예전부터 많이 사용해 오던 센서입니다. ACC와 같은 서비스에서 주로
사용을 하지요. Auto Cruise Control 에서 앞 차의 속도와 간격을 추정하여 ego 차량의 속도를 조절해
주는 기능이지요. 레이다 센서는 다른 것은 몰라도 차량(주로 메탈 성분이라)의 디텍션과 속도를 추정하는
일을 아주 정확하게 해 냅니다. 제가 레이다의 physical principle을 전혀 몰라서요, 그것이 도플러 쉬프트 효과를
이용한다는 것밖에 모르겠네요. 아무튼 차량의 디텍션과 정확한 속도 추정이 다른 센서들의 결과와 퓨전됩니다.
Boss에서 사용하는 Continental 사의 레이다 ARS300의 사진을 첨부합니다.
5) Localization sensor
로봇 차량이 현재의 자신의 위치를 알기 위해서 필요한 센서들입니다. 그래서 보통 GPS는 기본적으로
필요하겠지요. GPS는 (DGPS 사용함) 혼자 만으로는 아주 정확한 추정이 불가능해서 보통 IMU (Inertial Measurement Unit)
와 Gyro 같은 센서들과 함께 사용하여 그것 자체로 Sensor fusion system이라고 볼 수 있습니다. 요즘은
자동차 네비케이션 장치를 만드는 업체들도 저가의 GPS센서와 IMU센서를 퓨전하여 더욱 정확한 네비게이션
단말을 만들어 판매하는 추세이지요. ( 긴 터널에 들어가도 , 교모한 고가 도로를 주행해도 에러없이 정확히 길을
안내해 주는 기능이죠. 단지 센서 퓨전 시스템이지요. )
코넬의 Skynet 과 같은 로봇팀은 그들 스스로 그 시스템을 제작하여 사용하고 있었습니다. 하지만 이곳
CMU는 이런 상용시스템을 사서 사용하고 있습니다. Applanix 사의 시스템을 사용하고 있습니다. 이 시스템은
보통 항공기나 전투기에 들어가는 시스템 정도의 수준입니다. 실제 제가 이 놈을 사용해 보았는데요....
applanix 장치에서 추정되어 나온 로봇의 현재 위치는 놀랍도록 정확했습니다. 거의 그라운드 트루쓰 데이타
(참값) 라고 봐도 될 정도였습니다. 센서 사진입니다.
이상 저의 허접한 로봇에 사용되는 퍼셉션 센서들의 소개글이었습니다.
다음에는 Boss에 사용된 모든 센서들을 한번 망라해 보도록 하겠습니다.
그럼