|
|
Projects 2011/01/27 06:56
클라이언트의 정보를 보호하기 위해 과제 종료 1년이 지난 후에 의뢰처와 과제명 및 과제 내용을 소개합니다.
2011
- PJT Code: IrFinger
- PJT Code: VisionMid
- PJT Code: FOSIS
2010
- 스테레오 IMU 융합 보드 (의뢰처: 삼성종합기술원)
- 식사보조 시스템 개발 (의뢰처: 국립재활원) - PJT Code: WithSpoon
- 영상기반수평변위모니터링 시스템 개발 (의뢰처:지식경제부, 총괄: KAIST) - PJT Code:IBLD
- 실버캐어용 매개인터페이스 장치기술 개발 (의뢰처: 지식경제부, 총괄: ETRI) - PJT Code: W2atch
- 실외 환경에 강인한 도로기반 자율주행기술 개발 (의뢰처: 지식경제부, 총괄: ETRI) - PJT Code: ROTUS
- 차량용 다중 센서 융합 기술 개발 (의뢰처: 국토해양부, 총괄: 한국교통연구원) - PJT Code: uT
- 얼굴 검출 비전 모듈 개발 (의뢰처: ETRI) - PJT Code: EVIM
- Set Screw 홈 검출 비전 라이브러리 개발 (의뢰처: 삼성전자) - PJT Code: S-Hole
- 무선 열쾌적도 및 환기성능 측정 시스템 2차 (의뢰처: 서울시립대) - PJT Code: TCM2
- 차로 구별 uT 모형 제작 (의뢰처: 한국교통연구원) - PJT Code:MODEL
- 8ch 음성 신호 입력 보드 제작(의뢰처: 삼성종합기술원) - PJT Code: MCB
- ETRO 기능 개선 (의뢰처: ETRI) - PJT Code: ETRO-T
- 재활공학용 데이터 글로브 제작 (의뢰처:울산로보틱스) - PJT Code: eGlove
- 가속도, 엔코더 측정 장치 개발 (의뢰처: IS&T) - PJT Code: IST
2009
- ITS 표준 플랫폼 개발 (의뢰처: 경봉)
- GPU 프로그래밍을 이용한 실시간 Pre-viz 시스템 개발 (의뢰처: ETRI, 한국전자통신연구원)
- SIP 모듈 데모용 소프트웨어 개발(의뢰처: 삼성전자)
- 초소형 IMU 융합 영상 처리 보드 개발 (의뢰처: 삼성종합기술원)
- 초소형 IMU 융합 스테레오 영상 처리 보드 개발 (의뢰처: 삼성종합기술원)
- 감성 표현 모바일 로봇 Aruemi 개발 (의뢰처: ETRI)
- u-TSN 모듈 개발 4차년도 (의뢰처: 한국교통연구원)
- 열쾌적도 측정 시스템 개발(의뢰처:서울시립대)
2008
- myCortex-LM8962: ARM사의 최신 코어 Cortex-M3와 LAN,CAN 을 내장한 ARM 개발 보드
- myCortex-LMx08 : 저가형 Cortex-M3 평가 보드
- myNDS-Motion
- myUSB2UART: 초소형 USB2UART 변환 보드
- Chiron: Laparoscopic surgery Manipulator 설계 및 제작 (의뢰처: 국립암센터)
- Stereo Module: ARM9 기반 스테레오 카메라 (의뢰처: 삼성종합기술원)
- u-TSN 단말기 개발 3차년도: GPS 및 INS의 sensor fusion (의뢰처: 한국교통연구원)
- Multi touch sensor 보드 개발 (의뢰처:삼성종합기술원)
- 모출납 장치용 지폐 인식 장치 개발 (의뢰처:메카트로)
- 몰입형 CAVE 시스템 개발 (의뢰처: 한국기술교육대학교)
- 장대교량 풍진동 무선 계측 시스템 개발 (의뢰처:삼성물산 건설부)
- 반도체 공기청청용 모터 진동 계측 시스템 Vibrometer (의뢰처: Lot Vaccume)
2007
2006 이전
- Robaa-Checker : 2D 바코드 인쇄 품질 검사 장치 (의뢰처: 한화종합화학)
- myVision USB : USB 이미지 그래버 (image grabber). NTSC 영상을 PC로 받아들이는 장치 (자체개발)
- MRcode: 고속시에도 강인하게 검출되는 2D barcode symbol (자체개발)
- MRreader: 2D Barcode decoder (의뢰처: 마이크로로봇)
- myVision PCI
- myDSP2407
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/7
Projects/2009 2010/04/14 17:05
1. 과제 소개
- 발주처: 국토해양부 (총괄책임: 한국교통연구원)
- 개발 기간: 2008.6 - 2010.5 (22개월)
- 과제 제목: u-TSN 모듈 개발
- 과제 목적:
- GPS 정보와 관성 센서 데이터의 융합 알고리즘 개발
- 개별 차량의 이동 정보, 상태 추출
- 차량의 이동 정보 및 상호 통신이 가능한 UVS 단말기 개발
- 옥외 설치형 UIS 단말기 개발
- 위드로봇에 할당된 정부 출연금 규모: 7억 5천 42만원 (민간 부담금 합계 총 개발 금액 11억 516만원)
드디어 2년여에 걸친 uT 과제(u-Tranportation 기반 기술 개발)가 마무리되었습니다. 과제를 처음 시작할 때는 과연 잘 마무리 될까 걱정이 많았습니다만 위드로봇 팀장님들의 전사적인 도움으로 주목할 만한 결과가 나온 것 같습니다. 당 과제에서 위드로봇이 담당한 업무는 다음과 같습니다.
- 소형, 저가형, 고성능 IMU 개발 (uT-IMU)
- GPS와 IMU의 융합 알고리즘 개발 (GPS+IMU 융합 알고리즘)
- 돌발 상황 감지
- 차량에 탑재 가능한 UVS(Ubiquitous Vehicle Sensor) 개발
- 차량과 차량사이에 V2V(Vehicle to Vehicle) 통신 가능
- 차량과 노변 기지국 사이에 V2I(Vehicle to Infra structure) 통신 가능
- 주) 통신 모듈은 타 기관에서 개발하며, 이를 시스템 통합하는 업무를 담당
- 개별 차량의 이동 정보, 상태 실시간 추출
- 실외에 장착하여 u-교통 센터(UTC) 및 차량과 통신이 가능한 UIS(Ubiquitous Infra-structure Sensor) 개발
- V2I 통신 가능
- I2C(Infra-structure to UTC) 간의 통신 가능
2. uT-IMU
당 과제에서 주목할 만한 결과물은 관성 측정 유닛(Inertial Measurement Unit, IMU) 입니다. 위 조건을 보시면 "소형, 저가형, 고성능 IMU"라고 되어 있는데 이게 사실 모순 어법입니다. 작고, 싸면서 성능은 좋아야 한다니요... uT 과제의 목표 중에 하나가 과제가 성공적으로 완료되었을 경우 국내 모든 차량에 장착하는 것을 염두에 두고 있기에 IMU 가격은 1~2 만원대에 책정이 되야지만 가능한 수준입니다. 따라서 기존의 모듈을 구매하는 것은 검토 단계에서 제외되었으며 MEMS 센서를 제외한 모든 것은 위드로봇에서 개발하여 원가를 절감하며 성능은 최대한 끌어 올리는 쪽으로 가닥이 잡혔습니다.
개발 방향이 잡힌 후 수 많은 MEMS 센서들과 마이크로프로세서 및 ADC 들의 구매 및 테스트가 진행되었습니다. 현존하는 MEMS 센서는 거의 다 구매해 본 것 같습니다. 여러 번의 실패와 테스트 후에 약 10개월 만에 3축 가속도, 3축 각속도(자이로) 및 온도 센서가 내장되고 16비트 ADC로 값을 디지타이즈하여 i2c로 데이터를 출력하는 IMU가 개발되었습니다. 크기는 클립보다 살짝 큰 크기여서 여기저기에 적용이 쉽습니다.
16비트 ADC를 사용하기에 전원 회로가 잘 설계되어야 합니다. 저잡음 전원 회로 설계와 디지털 필터 구현 및 최적화 과정에 약 2개월이 더 소요되었습니다. 만들어진 IMU로 차량의 포즈를 실시간으로 파악하는 데모를 보시죠.
3. GPS+IMU 융합 알고리즘 개발
IMU의 개발 목적은 크게 네 가지입니다.
- GPS 신호에서 나온 차량 위치 데이터의 품질을 높히고,
- GPS 신호가 수신되지 않은 경우(지하, 터널, 건물 내부)에도 일정 시간 동안 위치 서비스를 제공하고,
- 교통 공학에서 필요한 정보를 획득하며,
- 돌발 상황(추돌, 전복, 급정거)을 자동으로 검출
GPS 신호은 인공 위성으로부터 RF로 수신하기 때문에 도로 주변에 높은 고층 건물이 하늘을 가리면 차량 위치에 많은 오차가 발생하게 됩니다. 이를 멀티 패스 페이딩이라고 부르는데요, 실제 차량의 네이게이터에서는 지도의 맵 매칭을 통해 이 문제를 해결하고 있습니다. 당 과제에서는 맵 매칭 하기 전의 데이터 품질을 높이는 방안으로 GPS와 IMU 융합, 즉 소위 말하는 센서 퓨전(sensor fusion) 기법을 통해 차량 위치 정밀도를 좀 더 증가시키는 방안을 연구했습니다.
전형적인 센서 퓨전은 Kalman filter를 쓰는 것입니다. 신호의 노이즈 모델이 zero-mean, normal distribution을 가지면 Kalman filter은 optimal filter로 동작합니다. 하지만 시스템 구성을 어떻게 하느냐에 따라 같은 kalman filter를 사용하더라도 성능은 천차만별이 됩니다. 전형적인 GPS와 IMU의 센서 퓨전은 IMU의 출력을 navigation algorithm을 돌려 navigation frame 좌표계로 변환한 뒤 GPS 정보와 합치는 방식입니다. 이렇게 하면 결과는 나옵니다만 만족할 만한 수준은 못됩니다. 위드로봇에서는 GPS+IMU 이외에도 OBD(On-Board Diagnostic) 정보를 이용하여 다음과 같이 총 5개의 모듈로 구성된 시스템을 제안하였습니다. 차량의 동적 상태를 판별하는 모듈(Vehicle Dynamic identification)이 있어 IMU 데이터로부터 차량의 주행 상태를 크게 3가지(정차-직선주행-회전)로 판별합니다. 이 판별된 데이터와 IMU 출력값을 이용하여 IMU의 bias를 제거하여 Land Vehicle Motion model에 넣어 줍니다. 두 개의 Kalman filter가 시리얼하게 동작하면서 각각 속도, 고도, 위치 정보를 추출합니다. 이 부분에 관련하여 총 3건의 특허가 출원이 되었습니다.
전형적인 GPS와 IMU의 융합 방식
위드로봇에서 제안한 GPS+IMU+OBD의 융합 방식
기존 방식과 가장 큰 차이점은 차량의 주행 모드를 자동으로 판별할 수 있다는 점입니다. 이를 이용하면 도로의 혼잡도를 좀 더 능동적으로 분석 가능합니다. 차량이 주행 중에 얼마나 정차했는지를 파악하는 정차 시간, 정차 횟수를 알 수 있으며, 전체 구간의 평균 속도가 아닌 실제 주행했을 때 직선 구간의 최고속은 얼마인지, 실 주행 평균 속도는 얼마인지 알 수 있어 기존 루프 검지기 방식에서는 얻을 수 없었던 데이터들을 획득할 수 있습니다. 또한 이 장치를 장착한 차량을 프루브 카(Probe car)로 투입하면 특정 시간 대의 특정 교통 흐름에 대한 데이터를 얻을 수 있습니다. 아울러 가감속 패턴을 분석하면 교통 신호 변경에 따른 CO2 배출 저감량에 얼마나 공헌하는지 정량적인 데이터도 얻을 수 있어 요즘 관심 받는 녹색 성장의 지표를 파악할 수 있겠죠.
어떻게 주행 모드가 얻어지는지 아래 자료로 설명드리겠습니다. 주로 실험한 지역은 일산 백석역 주변입니다. 연구단인 한국교통연구원(KOTI)가 일산이 있기 때문에 데모 지역은 일산 지역이 되었습니다.
데모 주행 지역(일산 백석역) 소개
(1)번이 출발지역입니다. 고양 우체국이 있어 차량을 손쉽게 정차할 수 있어 출발 지역으로 선정되었습니다.
(1) - (2)번은 일반 8차선 도로입니다. (2)번에서 우회전을 하구요, (2)-(3)번 도로 사이에는 신호등이 3개가 있어 데모 중에 신호 상황에 따라 정차하곤 합니다. (3)번 코너 지역이 주변에 고층 빌딩이 많아 멀티 패스 현상이 심하게 발생하는 곳입니다. (4)- (5)번은 차량 혼잡도가 높아 정차가 빈번하게 이뤄지는 곳이고, (5)번에서 우회전한 후 다시 (1)번에서 우회전하여 출발점으로 돌아오는 경우입니다.
이 지역을 주행하면 다음과 같은 정보를 얻을 수 있습니다.
전체 주행 경로
멀티 패스 현상이 심한 곳의 GPS 신호(붉은색)와 융합 결과(녹색)
우선 빨간색 점이 GPS 위성이 알려준 위치 정보입니다. 녹색점은 GPS와 IMU를 융합한 위치 정보이구요. 일반적으론 비슷하지만 (3)번 부분을 확대해 보면 차량은 직선 주행을 했음에도 불구하고 GPS 정보는 건물 안쪽으로 파고들어 주행하는 패턴을 보여줍니다. 반면 IMU와 융합된 결과는 약간 왜곡이 됐습니다만 차량의 직선 주행 양상을 보여주고 있습니다.
위 그림은 주행 패턴을 뽑은 그래프입니다. 녹색 선이 IMU에서 파악된 차량의 주행 속도 그래프입니다. 그리고 discrete하게 1-2-3 을 왔다갔다하는 그래프는 바로 주행 모드 그래프입니다. 1이면 정차, 2이면 직선 주행, 3이면 회전을 뜻합니다. 각각의 우회전 코스에서 회전하는 부분이 잘 검출되고 있는 것을 확인할 수 있습니다.
위 사진은 UVS를 장착한 차량의 사진입니다. 현재는 개발 편의상 꽤 크게 제작되어 있습니다만, 줄이면 17cm * 14 cm 정도로 줄일 수 있을 것으로 예상됩니다.
동영상으로 보시면 좀 더 이해가 빠릅니다. 아래 동영상은 일산 백석역 외곽을 주행한 경우로, 약 150초에서부터 끝까지는 GPS 신호를 받지 않고 IMU + OBD로만 주행한 경우입니다. GPS 도움 없이도 8분 이상 차량의 위치 정보가 잘 검출되는 모습을 확인할 수 있습니다.
두 번째 데모 동영상은 멀티 패스가 좀 더 심한 백석역 인근 내부 블록의 주행 모습입니다. 이 역시 GPS+IMU+OBD 융합 결과가 더 나은 결과를 보이며, 이 데모 동영상 역시 200초 이후부터는 GPS 신호를 단절시키고 IMU+OBD 만으로 주행한 결과로 총 6분여를 GPS 도움 없이 주행한 결과이기도 합니다.
세 번째 데모 동영상은 좀 더 재미있는 결과입니다. 쇼핑 센터 건물 내부 주차장으로 진입을 해도 차량의 위치 서비스가 가능함을 보여주는 데모입니다. 총 5분여를 주차장에서 돌아다녀도 차량 위치가 파악되는 모습을 확인하실 수 있습니다.
4. 돌발 상황 자동 감지
개발한 IMU를 이용하면 차량에 발생하는 돌발 상황을 자동으로 감지하여 주변 차량에게 V2V 통신을 통해 전파할 수 있습니다. 이 경우 후방에서 진입하는 차량에게는 전방에 있는 차량에 문제가 있으니 속도를 줄여 정차하라는 메시지를 multi-hop으로 전달할 수 있고, UTC 센터에도 전달하여 신고가 자동으로 이뤄질 수 있습니다. 또한 누가 가해차량인지, 피해 차량인지 판독할 수 있는 자료가 UVS 내에 있으므로, 보험 처리에도 도움이 됩니다.
돌발 상황은 추돌(전방, 후방, 우측, 좌측) 방향을 자동으로 감지하며, 차량이 전복되었을 경우 전복 상황임을 감지합니다. 또한 필요에 따라 급정차한 경우 급정지를 파악하여 V2V로 전달할 수 있습니다.
5. UVS/UIS 개발
이 부분은 당 과제의 최종 발표가 아직 이뤄지지 않았기에 당장은 공개할 수가 없습니다. 멀티 홉 데모, 데모 서비스 등은 5월 28일 과제가 최종 종료 된 후 공개하도록 하겠습니다.
6. 추후 활용 방안
* u-TSN 구축에 사용: 5차년도 사업 진행 시 UVS/UIS 사용
* 교통 흐름 측정용 Probe Car 제작에 사용
o 차량 주행 모드 판별 기능 및 기타 정보를 이용하면 원하는 교통 정보 취득 가능
* 도로 지하화에 대비
o 기존 상용 네비게이터에 개발 기술을 접목하면 터널, 지하도로에서도 위치 서비스 제공 가능
* 지하, 건물 내부 주차장의 응용 서비스
o 지하 주차장 여유 공간쪽으로 차량 유도 서비스
* 무인 차량 주행
o 차량의 자율 주행 서비스 구현
* 로봇의 Outdoor navigation
* 옥외에서 움직이는 로봇의 위치 파악(localization)
* 무인 항공기의 위치 제어
* 영상 흔들림의 stabilization
적지 않은 비용을 들여 개발한 결과물들이 여러 방안에 활용되길 바라며, 관심있는 기관들의 연락은 언제든지 환영입니다. withrobot @ withrobot.com 으로 메일 주시면 응대해 드리겠습니다.
7. 마무리 및 감사의 글
이 과제의 참여 제안을 처음 받았을 때가 위드로봇을 설립한지 4개월이 채 안되는 시점이었습니다. 시스템도 정비가 안되어있고, 이렇다할 성과물이 없는 상태에서 제안서 프리젠테이션 만으로 참여를 승인해 주신 강연수 연구단장님께 감사드립니다. 또한 초기에 과제 참여를 제안해 주신 경봉의 고중협 소장님께도 감사드립니다. 이전 과기부, 산자부, 정보통신부 과제는 많이 해봤으나 국토해양부 과제는 처음인지라 많은 실수가 있었음에도 해결책을 알려주신 건교평의 김승일 박사님, 평가 때마다 놓치고 있는 부분을 지적해 주신 건교평의 김태희 실장님께 감사드립니다. 또한 연구단의 2세부 책임 김태형 박사님, 1세부 책임 강경표 박사님도 많은 도움을 주신 덕분에 많은 어려움을 헤치고 어느 정도 성과를 만들어 낼 수 있었습니다. 2년 남짓 고생하신 uT 과제 2세부 기관에게도 감사의 뜻을 보내며 uT 과제에 참여한 모든 기관이 추후에도 좋은 성과가 있길 기원하겠습니다.
위드로봇 입장에서 이 uT 과제는 많은 명과 암을 동시에 주었습니다. 풍부한 재료비로 많은 테스트를 해 볼 수 있는 점은 큰 장점이었습니다. 하지만 과제 규모가 크다 보니 그만큼 많은 리소스가 투입이 되어야 했고, 체계적인 시스템이 갖춰지지 않은 상태에서 과제를 진행하다보니 uT 과제 덕분에 타 과제가 거의 멈춰있다싶이하는 현상이 발생하곤 했습니다. 이 홈페이지가 2009년에 제대로 업데이트가 안된 이유도 바로 이 과제 때문입니다. 위드로봇에서는 아마도 가장 힘들었던 프로젝트 TOP 10을 꼽으라면 항상 들어가는 프로젝트가 되지 않을까 싶네요.
tags : GNSS,
GPS,
IMU,
ins,
kalman filter,
sensor fusion,
u-Tranportation,
u-TSN,
UIs,
UT,
UVS,
국책과제,
센서융합
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/128
Projects/2009 2010/04/05 00:30
의뢰처
ETRI, 한국전자통신연구원
목표
PC 1대의 CPU에서 비실시간으로 동작하던 Augmented Reality 프로그램을 GPU로 포팅하여 실시간으로 동작하도록 구현한다.
수행기간
2009.2~2009.4
ETRI 디지털콘텐츠단 디지털액터연구팀으로부터 의뢰를 받은 이 과제는 영화제작 과정 중에서 가상의 CG 물체를 촬영한 영상에 합성하는 작업을 실시간으로 촬영과 동시에 합성하도록 하는 것이 목표입니다. 현재는 촬영과정과 합성과정이 분리되어 촬영을 마친 후에 오프라인에서 합성하는 과정을 하고 있습니다. 가상의 CG물체를 합성하기 위해서는 카메라 트랙킹이라는 과정이 필수적인데 연산량이 많아서 CPU만으로 실시간으로 처리하는 것이 어려웠습니다. 그래서 본 과제에서는 GPU를 이용해서 연산량이 많은 부분을 GPU로 포팅하여 고속으로 처리함으로써 실시간 동작이 가능하도록 하였습니다.
전체 시스템 구조는 아래와 같습니다.
카메라로부터 입력된 영상은 카메라 트랙킹 장치에서 카메라의 자세를 추정하고 합성결과 디스플레이 장치는 추정된 카메라 자세로부터 CG물체의 자세를 정하여 합성하게 됩니다. 여기서 GPU로 포팅한 카메라 트랙킹 장치의 블록다이어그램은 아래와 같습니다.
3개의 중요한 블럭으로 구성되어 있고 feature를 찾고 추적에 사용될 feature를 등록하는 블럭과 EKF(Extended Kalman Filter)를 이용해서 카메라의 자세를 추정하는 블럭으로 되어 있습니다.
수행 결과
1024x768 영상 1 frame에 소요되는 시간
- CPU : Intel Core2Quad G66-00 2.4GHz
- 2GB DDR2 RAM
- GPU : Nvidia Geforce GTX295
CPU에서 동작하던 코드를 GPU로 옮겨서 60배정도의 속도 향상이 있었습니다. 일반적인 코드의 최적화로는 도저히 상상할 수 없는 속도 향상을 경험할 수 있었습니다. 물론 알고리즘의 구조에 따라 향상 정도는 차이가 있겠습니다만, 영상 처리와 같이 일정 크기의 영상에 특정 mask pattern을 convolution하는 구조라면 GPU에서 대폭적인 성능 향상이 있습니다.
아래 동영상은 실제 CPU와 GPU를 이용해서 각각 트랙킹을 수행하는 것을 동영상으로 촬영한 것입니다. 위쪽 CPU로 tracking 하는 경우는 연산 속도가 따라오질 못해 30frame으로 계산하지 못해 frame drop이 심합니다. 반면 아래쪽 동영상은 GPU를 이용한 경우로 실시간으로 feature tracking이 이뤄지는 모습을 확인할 수 있습니다.
- CPU를 이용하여 트랙킹을 수행하는 영상
- GPU를 이용하여 트랙킹을 수행하는 영상
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/111
Projects/2009 2010/04/02 10:49
- 프로젝트명: 장대교량 풍진동 무선 계측 시스템 개발 (S-Bridge)
- 기간: 2008.11.15. ~ 2009.11.15.
- 발주처: 삼성물산 건설사업부
- 과업 내용: 인천대교 풍진동 측정 무선 계측 시스템 제작
장대교량 풍진동 무선 계측 시스템 개발을 삼성물산과 계약하고 5개월로 계약을 하고 시작했었습니다. 과업 범위를 듣고 쉽게 생각하고 약 5개월 예상으로 시작했습니다만 실제 종료는 2010년 1월이 넘어서야 끝난, 예상 기간보다 3배 가까이 늘어난 다사다난한 프로젝트였습니다. 흔히 언급하는 센서 네트워크 형태로 구성하면 되리라 생각했다가 건설 환경에서 발생하는 여러 이슈에 덜미를 잡혀 혼쭐난 과제입니다.
고생을 많이 했습니다만 길이로는 세계 6위 규모이고 우리나라에서는 가장 긴 다리를 건설하는데 일부 참여하여 안정성 확보를 위한 데이터 획득에 기여했다는데 의의를 두고 있습니다. 이 과제 덕분에 개통 전 인천 대교를 무료로 수 십번 왔다갔다 할 수 있었고, 걸어서도 왕복을 했으며, 다리 밑에까지 들어가 작업을 하는 흔하지 않은 경험을 할 수 있었으니까요. 나중에 아이들이 커서 인천대교를 지나갈 일이 있을 때면 이야기 거리도 생긴 셈이죠.
거대한 토목 공사 현장에서 땀흘리며 고생하시는 분들을 옆에서 지켜보면서 어떨 때는 그 규모에 놀라고, 어떨 때는 비효율에 치를 떨면서 여러 가지 생각이 많이 들었습니다. 항상 조그마하게 만드는 것이 미덕인 전자쟁이 생각의 폭을 넓히는 좋은 경험이었죠. 또한 이 과제 덕분에 좋은 분들을 많이 만나는 인연이 되었기에 결코 밑지지 않은 과제 였다고 생각합니다.
S-Bridge 소개
S-Bridge는 위드로봇 내부에서 "장대교량 풍진동 무선 계측 시스템 개발 프로젝트"를 부르는 프로젝트 코드 네임입니다. 위드로봇에서는 과제가 시작되면 공통적으로 부르는 짦은 코드 네임을 부여하는데 이 과제에서 제작하는 센서 시스템이 튼튼한 다리를 만드는데 기여했으면 하는 의지를 담아 Strong Bridge, Supper Bridge 의 약자로 S-Bridge 로 코드 네임을 지었습니다.
사장교? 현수교?
다리에서 일하려다보니 다리에 대해 좀 알아야하더군요. 우선 다리의 형태, 구조에 따른 분류를 공부해야 했습니다.
- 거더교: 가장 일반적인 다리로 교각 위에 대들보 형식으로 거더가 올라가 있는 다리입니다. 한강에 있는 일반 다리를 생각하시면 됩니다.
- 현수교: 거더교로 다리를 만들면, 모든 하중에 교각에 집중되기 때문에 교각을 촘촘이 설치해야 합니다. 그런데 강 위에 이렇게 교각을 촘촘히 설치하면 배들이 지나다닐 수 없습니다. 또한 물살이 빨라 교각을 설치하기 어려운 지역은 더욱 더 난감합니다. 이럴 경우 높다란 탑을 두 개 만들고 이 사이를 케이블로 연결합니다. 그 다음 다시 케이블 여러 개를 밑으로 떨어뜨린 후 이 끝은 다리에 연결하여 다리의 하중을 케이블로 지탱하는 구조로 만듭니다. 현수교로 유명한 다리는 금문교(Golden Gate Bridge)가 있죠.
- 사장교: 현수교처럼 다리를 케이블로 지탱하는 개념은 비슷하지만 주탑이 높다랗게 만들어지고, 이 주탑에 연결된 케이블이 바로 다리와 연결된다는 점이 차이점입니다. 일반적으로 경간이 4~500m 이내이면 사장교가 좀 더 경제성이 있고, 그 이상이면 현수교가 경제성이 있다곤 하지만 최근에는 여러 가지 공법이 개발되면서 꼭 이 말이 맞다곤 할 수 없게 되었습니다. 주관적인 관점에서 사장교가 현수교에 비해 미려하다는 의견이 많아 최근 장대교량에 사장교 형식으로 많이 건설되고 있습니다.
인천대교는 사장교 형식입니다. 주탑과 주탑 사이가 무려 800m나 되는 엄청난 다리죠. 실제 주탑 밑에서 위를 올려다 보면 정말 대단합니다. 문제는 800m 에 달하는 다리의 무게가 모두 케이블에 의해 주탑으로 연결되어 있기에 바람이 불면 풍압에 의해 다리를 흔들게 되고, 이게 케이블을 흔들어 주탑까지 흔들리게 된다는 점입니다. 따라서 (a) 다리를 만들고 있는 동안에 다리가 얼마나 흔들리고 있는지를 파악할 필요가 있으며 (b)만들어진 다음에도 다리의 흔들림을 계속적으로 모니터링할 필요가 있습니다. S-Brdige 과제는 (a)에 촛점이 맞춰진 과제입니다. 즉, 건설하는 동안 바람에 의해 다리가 얼마나 흔들리는지 데이터를 취득하여 추후 공사할 때 유용한 데이터로 활용하겠다는 것이죠.
과업 범위
- 무선으로 40개 노드의 연동이 가능한 무선 네트워크 시스템
- 저잡음 진동 측정 시스템
- 풍압 측정 시스템
이렇게 써놓고 보면 별 것 없이 수월하게 끝낼 수 있는 과제처럼 보입니다. 전형적인 센서 네트워크이니까요. 하지만 다음과 같은 문제점들이 위드로봇 뒤통수를 때렸습니다.
- 표준 Zigbee 스텍으로는 depth를 3 이상 가진 노드를 생성할 수 없어 일렬로 쭉 늘어 놓은 구조에서는 극도의 비효율적인 시스템이 된다. 또한 다리의 진동은 매우 느린 동역학 특성을 가지고 있어 각 센서의 싱크(sync)가 매우 중요하다.
- 쓸만한 저잡음 진동 측정 센서는 무지무지 고가이다. 센서 가격만 과제비의 절반을 넘어섬
- 풍압측정? 어떻게 측정하지? 풍속은 바람개비 달아서 측정하지만 풍압은? 센서가 있나?
해결책으로 A는 zigbee가 아닌 다른 방식으로 우회해서 문제를 해결했고, B는 일반 저가형 센서에 필터를 잘 설계하는 방식으로 도망갈 수 밖에 없었습니다. 그리고 풍압 측정은 기구 구조물를 잘 설계하여 풍압 측정 시스템을 만들고, 이를 평가할 수 있는 기관에 맡겨 풍압이 측정이 되는지 비교하여 허용 범위 오차내 들어옴을 확인 후 사용하였습니다. 이 부분은 클라이언트의 요청에 의해 자세히 공개할 수 없음을 이해해 주시기 바랍니다.
계측 현장 모습
만들어진 시스템은 크게 두 개의 블록으로 구성됩니다. 하나는 무선 노드 이구요, 나머지 하나는 센서 입니다. 센서는 다시 진동 측정용 센서와 풍압 측정용 센서 두 종류가 있어, 다리의 진동을 측정하고 싶으면, 무선 노드 + 진동 측정 센서로 구성하여 사용하고, 풍압을 측정하고 싶으면 무선 노드 + 풍압 측정용 센서로 구성하여 사용합니다. 일반적으로 20개 내외를 진동 측정용으로 경관 위에 쭉 늘어놓고, 풍압 측정용으로 다리 중앙에 위, 아래로 10개 내외를 배치하여 동시에 측정했습니다. 이렇게 해야 풍압이 다리의 진동에 미치는 영향을 알 수 있으니까요.
자, 사진으로 보시죠.
한 번 계측을 나가려면 난리 부르스를 쳐야 합니다. 40개가 넘는 노드들을 충전하고, 동작을 확인한 다음에 4개씩 각각 묶어 차로 옮겨야 하는데요, 이 작업만 반나절입니다. 나중에 이삿짐 꾸리는데 많은 도움이 될 것 같습니다.
준비가 다 되어 출격 준비를 앞두고 엘리베이터를 통해 진격하는 무선 노드들의 모습입니다.
공사 현장인 다리 위에 올라가면 항상 모자를 써야만 합니다. 저 모자가 없으면 출입이 안됩니다. ^^; 모자 받으러 다리를 몇 번 건넜었는지 모르겠습니다. 옆 사진은 늠름하게 모자를 쓰고 무선 노드들의 배치를 지휘하고 있는 플랫폼 팀장님의 모습입니다. 아직 솔로이니 관심 있는 분들은 품절되기 전에 연락주시기 바랍니다.
정확한 풍압 측정을 위해 다리 밑에도 노드들을 붙여야 합니다. 사진을 보시면 노드들이 다리 밑 부분에 붙어 있는 것을 보실 수 있습니다. 헉... 저 노드들을 다리 밑에 어떻게 붙였을까요? 꽤나 위험해 보이는 사다리를 타고 내려가 붙여야 하는데 처음에는 무지 겁납니다. 하지만 몇 번 하고 나면, 공사 현장에서 가장 시원하고, 편안 곳이 이 다리 밑 부분입니다. 점심 먹고 이곳에서 누워 바닷 바람을 쐬며 휴식을 취하곤 했습니다.
인천대교 밑에서 낮잠을 자본 개발자가 몇 명이나 될까요? ^^;
여러 개의 센서 노드가 모여있는 모습니다. 일반적으로는 이렇게 배치하지는 않고 각 노드가 약 30m씩 떨어지게끔 쭉 늘어놓고 실험합니다. 막상 제대로 늘어놓고 실험한 사진을 찍은게 없습니다. 정신없이 실험하다보면 매번 사진찍을 기회를 놓쳐서 말이죠.
사진 우측에 안테나가 삐죽 솟아있는 시스템이 중앙에 위치하여 노트북과 연결됩니다. 이 장치를 통해 중앙에서 각 노드들의 연결 상태들을 모니터링 할 수 있습니다. 한 방에 모든 노드들이 무선으로 붙어주면 좋은데, 매번 RF 전파 컨디션에 따라 안 붙는 녀석들이 있습니다. 그럼 무선으로 restart를 하던지, 뛰어가서 on/off를 하던지 해야 합니다.
그리고 노트북의 화면이 여름 땡볕 밑에서는 잘 보이지 않아 고생했습니다. 옥외에서 하는 실험은 일단 실내 실험에 비해 5배는 힘들고, 속도가 나질 않는 것 같습니다.
다리 중앙에 설치된 DGPS 입니다. sub meter 오차를 가지고 있으며, 이 장치로도 다리의 모니터링을 수행합니다.
글을 마감하며
과제가 종료되었습니다만 계약 조건에 의해 수행 결과는 아쉽게도 홈페이지에 공개할 수가 없습니다.
이 과제를 진행하며 별 생각없이 지나다니는 도로, 다리들이 얼마나 많은 사람들의 노고로 만들어 졌는지 생각해 보는 계기가 되었습니다. 건설 현장에서 고생하신 모든 분들께 박수를 보내며 과제가 많이 지연됨에도 많은 배려를 해 주신, 그 덕분에 마음 고생 많이 하신 삼성물산 김상범 박사님께도 감사드립니다.
또한 현존하는 센서 네트워크 기술이 아직도 해결해야 할 문제가 많음을 느꼈습니다. 통신 자체에는 관심을 가지고 있지 않은 위드로봇 입장에서는 이러한 기반 기술이 단단하게 만들어져 있어야 가져다 사용하는데 문제가 없는데 아직까지는 많은 문제가 있어 응용단에서 해결해야만 하는 어려움이 있었습니다.
이 과제가 계기가 되었는지 센서 네트워크 과제는 2010년 들어 다시 시작하게 되었습니다. 2010년 4Q쯤에 공개할 만한 내용물이 나올 것 같으니 그 때 다시 포스팅을 하겠습니다.
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/121
Projects/2008 2009/08/10 18:27
위드로봇에서는 국립암센터와 함께 복강경 로봇의 국산화 작업을 2008년에 일부 공동 진행하였습니다. 진작에 그 결과물을 홈페이지에 소개했어야 했는데, 이일 저일로 미루다보니 1년이 훨씬 넘은 이제서야 그 결과물을 공개하게 되네요.
복강경 로봇(laparoscopic robot)이라고 하면 로봇 전공자들도 조금은 생소해 할 것 같습니다. 수술용 로봇 분야 중 하나인데 아마도 가장 널리 알려진 수술용 로봇은 Intuitive Surgical 사에서 제작한 다빈치(Davinci) 일 것입니다. 많이 알고 계신 다빈치는 아래 사진처럼 생겼습니다.
연세 세브란스 병원에서 도입된 이후 메스컴에서 자주 기사화가 되다보니 많은 병원에서 '의료의 선진화'라는 명목으로 도입이 많이 되었습니다. 연세대 이우정 교수님 허락하에 실제 다빈치 로봇 수술하는 장면을 참관할 수 있었는데요, 매우 충격적이였습니다. 수술실하면 어두운 환경에서 피가 튀고 매우 진중한 분위기를 상상하겠지만, 로봇 수술실은 정 반대였습니다. 밝은 공간에 MP3 음악이 크게 틀어져 있고, 집도의는 마스터 조작기를 마치 게임하듯이 조작하고 있었죠. 위 사진처럼 환자 주변에 아무도 없는 것은 아니고 어시스트가 최소 1명 이상 붙어 있으면서 모니터로 수술 부위를 지속적으로 모니터링합니다.
로봇 수술을 하면 절개 부위를 최소화(minimal invasive surgery) 할 수 있기 때문에 환자의 회복이 빠르다는 장점이 있습니다. 하지만 시스템이 고가이고, 로봇 팔 끝단에 부착하는 수술도구들은 카운터가 내장되어 있어 일정 횟수 이상 사용하면 무조건 교체하게 되어 있습니다. 이른바 잉크젯 프린터의 잉크통처럼 일정 사용 횟수 후 교체를 해야 한다는 것이죠. 이 부분으로 소비되는 외화도 만만치 않고 환자에게 부담되는 비용도 꽤 큽니다.
꼭 위에서처럼 tele-surgery 개념을 도입한 robotic surgery가 아니더라도 로봇이 수술 분야에서 활용될 수 있는 예는 많습니다. 대표적으로 지금은 회사 자체가 다빈치를 만들 회사에 흡수 합병되어 단종되버린 이솝과 제우스라는 복강경 로봇이죠. 아래 사진은 제우스의 모습입니다. Intuitive Surgical 사는 조금이라도 싹수가 있어보이는 수술 로봇 회사는 흡수 합병뒤 단종시켜 버리는 전략을 취하고 있습니다. 아래 로봇도 꽤 쓰임새가 있었는데 단종시켜버리는 바람에 사라진 경우입니다.
위드로봇에서는 암센터와 함께 제우스, 이솝과 유사한, 아니 좀 더 개선한 복강경 수술 로봇을 설계하고 제작하였습니다. 각 축은 DC 모터를 사용하였으며, 필요 이상으로 토크가 크게 설계되어 있습니다. 기어비도 그렇구요. 추후 위드로봇에서 설계할 일이 있다면 이보다 훨씬 더 가벼운 복강경 로봇을 만들 수 있을 것 같습니다. 그 뒤 제작된 로봇에 제어기를 설계하고, 이 제어기를 통해 visual servoing을 구현하는 일까지 담당했습니다.
암센터의 연구진 요구에 따라 visual servoing은 MATLAB에서 동작할 수 있도록 하였고, 사실 실시간 영상 처리에 MATLAB이 그다지 적절한 플랫폼은 아닙니다만, 우여곡절 끝에 성공했습니다.
Image based visual servoing 방식으로 움직이며, 데모는 손바닥에 특정 패치를 붙이고, 이 패치가 카메라에 미리 정해놓은 위치대로 투영되도록 manipulator를 제어하는 형식입니다. position based visual servoing이 아니기에 kinematics에 오류가 있어도 goal 에 수렴하는 것을 확인할 수 있습니다. 아래 동영상을 보시죠.
이 기능을 이용하여 수술 시술자가 수술하는 동안 수술 도구 끝을 자동으로 추적하여 최적의 위치에서 영상을 보여주는 시스템이 구현될 예정입니다. 위드로봇의 역할은 일단 visual servoing을 할 수 있는 플랫폼을 제공하는 부분까지였습니다. 이번 과제에서는 MATLAB에서 모든 기능을 구현한 image based visual servoing을 아마도 세계 최초(?)로 했다는 점에 의의를 두려고 합니다. 2008년 당시에 MATLAB 플랫폼에서 image based visual servoing을 직접 시연한 논문이나 동영상은 찾아 볼 수가 없었거든요. 해당 기술이 잘 활용되어 성능은 뛰어나면서 저렴한 국산화 장비가 많이 개발되었으면 합니다.
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/107
Projects/2007 2008/02/20 14:31
연구 목적
- 촉감, 진동, 음성입출력을 지원하는 지능형 스타일러스 개발
연구 기간 및 의뢰 기관
- 2007.1 ~ 2007.10 (1차: 3개월, 2차 7개월), 한국전자통신연구소(ETRI)
시스템 구성
시스템 설명
기존의 터치 스크린 작업 시 사용하는 스타일러스는 단순한 플라스틱 막대기에 불과했습니다. 이러한 스타일러스에 9개의 핀으로 구성된 햅틱 장치를 부착하고, 음성 입출력 및 진동 모터를 내장하여 상황에 따른 여러 가지 촉감, 질감, 음향을 전달하여 보다 현실감 있는 시스템을 구성하고자 시작된 과제입니다. 제작된 시스템은 터치 스크린이 내장된 노트북에서 일반 터치펜처럼 사용되며 상황에 따른 다양한 형태의 느낌(multi-modal)을 전달합니다.
핵심 기술
- 실시간 무선 햅틱 장치 제어 기술
- 하나의 블루투스 코어에 무선통신 및 음성 입출력 스택 구현
- 저전력 시스템
동영상은 포커스 문제로 보시기에 조금 불편합니다.
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/44
Projects/2006 2008/02/12 16:43
MRcode
MRcode란 Withrobot Lab.에서 설계, 제안한 2D 바코드 심벌로 이동 중인 물체에 부착된 코드를 오류 없이 읽어야 하는 환경에 최적화된 바코드입니다. 한화종합화학에서 생산하는 내비게이션 바닥재 로바(Robaa)에 사용하는 MRcode는 V 0.5이며, 저장 가능한 실제 데이터 용량은 13비트 총 8196개의 심벌을 생성할 수 있습니다. 심벌이 여러 가지 오염원에 의해 에러가 발생한 경우 자체 내에 정정 기능을 가지고 있으며, 에러 정정 범위는 그룹 단위로 4 니블 (nibble)까지 가능합니다. 즉, 4 니블에 해당하는 데이터가 손실되어도 원래 기록되어 있는 데이터를 복원하는 것이 가능합니다.
MRcode V0.5
MRcode 심벌 내에 데이터를 구성하는 최소 단위는 엘리먼트(element)로 MRcode V0.5의 엘리먼트는 가로, 세로가 동일한 정사각형 형태를 가지고 있습니다. 가로 길이를 X 디멘전(Xdim), 세로 길이를 Y 디멘전(Ydim)이라고 명하며 단위는 mm 입니다. 네 귀퉁이에 있는 9개의 엘리먼트에 해당하는 크기를 가진 검은색 박스는 파인딩 패턴(finding pattern)이라고 부르며, MRcode의 위치와 방향을 검출하기 위해 사용됩니다. 네 개의 파인딩 패턴 중 중앙에 표시가 있는 패턴을 오리진 패턴(origin pattern)이라고 부르며, 이 점을 심벌의 원점으로 사용합니다.
MRcode 심벌의
엘리먼트와
파인딩
패턴
Robaa-checker
MRcode를 양산품에 적용할 때 MRcode 인쇄품질이 MRreader에서 원활하게 판독하기 위한 기준을 만족하는지 판별해야 할 필요가 있습니다. 한화종합화학의 내비게이션 마루 바닥재 로바(Robaa)에 적용한 MRcode의 인쇄 품질 상태를 실시간으로 검사하는 장치를 Robaa-checker라고 하며, 마루를 이송하는 컨베이어와 UV 광원, 카메라 및 영상 처리를 담당하는 중앙 제어기 등으로 구성되어 있습니다.
Robaa-checker의 제작 목적
내비게이션 바닥재 로바에 인쇄되어 있는 MRcode 심벌은 일반 주거 상태에서 육안으로는 보이지 않는 UV 형광 잉크로 마루 바닥재에 인쇄됩니다. MRreader는 UV 램프로 MRcode 심벌을 발광시켜 이를 카메라로 영상 취득한 후, myVision USB로 PC에 전달하여 영상 처리를 통해 로봇의 현재 위치를 파악하도록 되어 있습니다. Robaa-Checker는 로바 바닥재에 인쇄된 MRcode 심벌의 인쇄 상태가 MRreader에서 판독하는데 문제가 없는지를 판별함과 동시에, 현재 인쇄 상태를 통계적으로 분석하여 품질관리의 기초 데이터를 제공하는데 그 사용 목적이 있습니다.
MRreader에서 판독하는데 문제가 없는지를 판별하기 위해서 Robaa-Checker는 보다 엄격히 관리되는 광원으로 반복적으로 디코딩을 수행함과 동시에 각 엘리먼트의 밝기값과 크기를 함께 조사하여 그 결과를 통계적으로 판별하는 방식을 사용합니다. 따라서 Robaa-Checker에서 양품의 판정을 받은 바닥재는 MRreader의 원활한 동작을 보장해 주며, 이는 이를 이용한 로봇 시스템의 정상 동작을 보장하게 됩니다.
인쇄 품질에 대한 통계 데이터 취득을 위해 각 심벌의 잉크의 밝기 분포 및 바닥면의 밝기분포, 엘리먼트의 크기에 대한 측정을 수행하여, 생산된 제품의 단순한 양품, 불량품의 판정뿐만 아니라 생산 품질을 관리하는 기능을 제공하게 됩니다.
사양 요약
외형 치수

이송
장치
수치

Robaa checker 외형
모습
주
인터페이스
화면
부
인터페이스
화면

디버그 화면 관련 페이지
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/39
Projects/2007 2008/02/10 05:31
연구 목적
- 여러 대의 XGA 해상도 프로젝터 영상을 결합하여 인간의 시야각을 채울 수 있는 하나의 고해상도 영상처럼 보이는 타일드 디스플레이 기법을 활용하여 가상 현실 기반 몰입형 시스템을 제작합니다.
- 각 프로젝터의 출력 영상간의 연결 이음매가 두드러지지 않도록 심리스(seamless) 기법을 적용하여 관찰자의 높은 몰입감을 유지하도록 합니다.
- 한 대의 PC에서 모든 작업을 수행할 수 있도록 시스템을 최적화하여 저가 시스템을 구축합니다.
- 반도체 CMOS 제조 공정을 가상 현실에 구현하여 학습자의 이해를 돕는 교육용 컨텐츠를 구현합니다.
연구 기간
- 2007.3 ~ 2008.2: 과제 기간 4년 중 첫 해
시스템 구성
스크린: 굴곡형 스크린으로 한 면이 183cm x 137cm의 크기이며 가로 4면, 세로 2면으로 총 8면이 하나의 스크린을 구성합니다. 최대 해상도는 4096 x 1536 픽셀이며, 유효 해상도는 3200x 1200 픽셀입니다.
프로젝터 배치: 천정에 4대, 바닥에 4대 배치하며 렌즈 쉬프트 기능을 이용하여 대강 배치한 후 스크린과 프로젝션 영상을 손쉽게 일치시킬 수 있습니다.

8ch 리얼타임 랜더링 시스템: 1대의 PC에 2장의 그래픽 카드를 연결하고, 영상 분배기를 통해 총 8대의 프로젝트와 연결합니다. 한 대의 그래픽 카드에서는 2048 x 768 해상도의 영상을 실시간 랜더링합니다.
캘리브레이션
- 캘리브레이션 수행 전에는 아래 사진과 같이 영상이 뒤틀려있습니다.
- 기하학적인 보정 및 연결부분의 컬러 변화를 줄이기 위해 색상 보정이 필요하며 이를 캘리브레이션이라고 합니다. 아래 그림과 같이 검은색 실선으로 표시된 뒤틀어진 영상을 주황색 실선 부분처럼 만드는 것이 목표입니다. 이를 위해 각 영상 부분을 삼각형의 최소 단위로 분할한 후 각 삼각형의 변환 식을 찾는 방식으로 구현하였습니다.
구현
VSI(Virtual Silicon Island): 구현된 시스템을 이용하여 반도체 교육이 진행됩니다. 이를 위해 가상 반도체 섬(VSI)를 구현하였습니다. 섬에는 여러 건물이 있고, 각 건물에서는 반도체 제조 공정 교육을 참관할 수 있도록 되어 있습니다. 현재는 CMOS 제조 공정 교육 컨텐츠가 제작되었으며, 추후 플래시, 메모리 등의 제조 공정 교육 컨텐츠가 제작될 예정입니다. 아래 사진은 VSI의 전경입니다. 섬 중앙에 VSI 표지석이 보이고, 주변에 반도체 교육동이 배치되어 있습니다.
반도체 교육동으로 진입하면 여러 반도체 제조 공정을 학습할 수 있습니다. 타일드 디스플레이의 장점임 넓은 스크린을 이용하여 제조 공정에 사용되는 마스크와 제조 공정 및 다음 제조 공정을 한 화면에 펼쳐놓고 학습할 수 있습니다.
동영상
tags : CAVE,
Image Processing,
multi channel,
projector,
tiled display,
virtual reality,
Vision,
VSI,
가상현실,
영상처리,
프로젝터
Trackback 0
:
Trackback Address :: http://withrobot.com/trackback/38
|