• HandSpan Newsletter 4th.pdf(출처: http://withrobot.com/handspan/)

  • 주요 내용 요약
    • 차량 전방을 주시할 수 있는 카메라로 차선과 노면 표식점을 인식하여 확장 디지털 지도 EDM과 비교하여 위치를 찾아냄
    • 이 정보를 GPS 및 IMU 정보와 융합하여 최종적으로 차량 위치 파악
  • 금주의 동영상
    • 2015년 4월 2일 성수동 대형 마트 실내 주차장에서 GPS 신호가 수신되지 않는 지역에서 차량 위치 추정 데모
    • https://youtu.be/w6iFzKqlmlY







저작자 표시
신고
Posted by getcome



  • getcome의 요약
    • 절대 위치를 파악해야 하는 관점에서는 사전에 정밀한 지도 확보가 필수다. HandSpan 과제팀은 도로 속성 정보를 가지고 있는 EDM을 통해 보다 저렴한 센서로도 보다 정밀한 위치를 파악하고 있다.
    • 이러한 정밀지도는 추후 유지보수 비용이 기존 디지털 지도에 비해 매우 높다. 따라서 지도의 생성 및 수정 내용을 자동화하여 비용 절감에 힘써야 보급이 쉽게 될 것이다.
  • 금주의 동영상
    • 2015년 4월 2일 뚝섬역과 성수역 구간의 고가 철로 밑에서 주행한 동영상
    • GPS 수신이 불량한 지역임에도 불구하고 차로 수준의 정밀도가 잘 나오고 있음을 동영상으로 확인할 수 있음





저작자 표시
신고
Posted by getcome

  • 169004.pdf

     (출처: http://www.iitp.kr)
  • getcome의 요약
    • GPS의 대체 기술을 개발하는 것을 미국에서는 “국가 안보를 위한 돌파 기술(Breakthrough Technologies for National Security)”로 보고 있다.
    • 기사 내용대로라면 정밀한 INS를 만드는 일로 볼 수 있는데, 기존 방식과 다른 점이 무엇인가를 파악하는 것이 핵심
    • 절대 위치를 알려주는 소스로 기존의 radio frequency의 핑거 프린트를 만들어서 시도할 것으로 보인다.
    • 현재 위드로봇에서 진행 중인 HandSpan 과제의 내용도 관련이 있다.
저작자 표시
신고
Posted by getcome
2010년 작업2011.01.28 12:09
목차
1. 위드로봇의 골칫거리 IMU
2. 그래, IMU 만들자! 팔자! <- 여길 보고 계십니다.
3. myIMU6-USB 제작 및 동작 테스트
4. 양산 및 이벤트

자, 그럼 어떻해야 위드로봇 IMU를 구매해서 편하게 쓰실 수 있을까요? INS을 만들어 시장에 내놓으면 되겠죠. 그런데 잠깐 조사해 보니... 와우. INS 시스템은 외산 일색인데 수 백만원을 웃도는 가격으로 판매가 되고 있습니다. 그리고 다른 장비들과 비슷하게 만들다면... 굳이 위드로봇이 또 만들 이유는 없죠. 융합 알고리즘을 패키징하는데 꽤 많은 노력을 들여야만 하고, 그렇게 되면 제품 단가가 올라갈텐데 비슷한 가격대라면 고객들은 아무래도 검증된 유명 회사의 제품을 구매하시겠죠.

단가를 떨어뜨리는 방법은 가능한 리스크를 줄여 위드로봇에서도 부담없이 만들어 판매할 수 있는 구조밖에는 없습니다. 차분히 앉아 현재 상황을 다시 되돌아보기로 했습니다.

2010년 5월까지 사용했던 INS 시스템 개념도


위 블록 다이어그램이 2010년 상반기까지 위드로봇 맴버들의 머리속에 있던 INS 시스템 개념도입니다. 고객들이 사용하고자 하는 embedded system이 있을 것이고, 이 시스템에서는 이미 기존의 GPS 신호를 수신하고 있겠죠. 위드로봇에서 만들 IMU를 이 시스템과 연결하고(아마도 i2c가 될 것입니다), 융합 알고리즘을 embedded system에서 동작시켜 보다 정확한 위치 정보를 얻는 구조입니다.

위 블록 다이어그램대로라면 다음 문제를 해결해야 합니다.
  1. IMU 를 기존 사용 중인 임베디드 시스템에 손쉽게 연결할 수 있는 디바이스 드라이버를 제공해야 한다. (-> WinCE, Linux, 기타 OS 등의 디바이스 드라이버를 몽창 다 만들어야 하나? 아님 WinCE 정도만 만들면 되나? 드라이버를 제공한다고 해도 분명 이런저런 사용법 문의에 대응해야 하는데 다들 바빠서 이를 지원할 의사를 가진 맴버가 없다)
  2. Fusion Algorithm을 사용자가 손쉽게 사용할 수 있도록 패키징을 해야 하며, OS 별로 제공해야 한다 (-> 이 또한 위드로봇 맴버들 중 아무도 하고 싶어하지 않은 작업입니다)
자, 그럼 비슷해 보일지 모르지만 아래와 같이 개념을 바꾸면 어떻게 될까요?

융합 칩을 만들어 융합 알고리즘은 이 칩에서 담당하고, 기존 시스템에서는 GPS 신호와 동일한 인터페이스로 사용 가능하게 만듭니다.



FusionChip 하드웨어를 만들어 융합 알고리즘을 여기다 넣어 고객에게 공급합니다. 고객 입장에서는 기존 GPS 인터페이와 동일하게 인코딩된 데이터를 UART를 통해 받기에 이게 이전 GPS 일반 데이터인지, IMU와 융합되어 개선된 데이터인지 구별할 필요가 없어지게 됩니다. 위드로봇에서는 개선된 GPS 신호를 편의상 GPS+ 신호라 부르기로 하였습니다. 이 구조면 기존 고객들 입장에서는 technical support를 요청할 일이 없어집니다. 기존 GPS 사용법과 동일하니까요. OS가 뭐든, 프로세서가 뭐든 상관없어집니다. 위드로봇 입장에서는 FusinChip만 잘 설계하여 제공하면 되는 셈입니다.

자, 위 구조라면 이제 맘 놓고 IMU를 판매할 수 있습니다. 이젠 안 만들 이유가 없네요. 여기까지 보신 분들이 '뭐야? 외부에 칩 하나 달아서 융합 알고리즘을 밖으로 빼내는 걸 생각하는데 그렇게 오래걸렸단 말이야?' 하실 것입니다. 그런데 콜롬부스 달걀처럼 듣고 나면 누구나 생각할 수 있는 아이디어지만 위 블록 다이어그램을 도출하는데 2년이 걸렸으며 2년간 여기저기 아디이어를 물으러 다녔지만 별 수확이 없었던 것이 사실입니다.

FusionChip은 회사에 여유가 있으면 ASIC을 하면 좋겠지만 당장은 RISK가 너무 크기에 적절한 one-chip micom을 이용하여 만들기로 하였습니다. 만만한 녀석들이 Cortex-M3 또는 M4 코어를 가지고 있는 녀석들이겠죠. 핵심은 FusionChip은 가능한 작게, 그리고 저렴하게 공급해야 하는데 이럴려면 코드를 쥐어짜서 다이어트를 해야죠. 문제는 꽤 차수가 높은 kalman filter는 쥐어짜는데 한계가 있기에 정 줄여야 하면 matrix 연산이 아닌 수식 자체를 다 풀어 헤치는 수 밖에 없습니다. 그런데... 이게 만만치 않은 작업입니다. 모여서 회의한 결과 한 달 이상이 소요될 것으로 파악되었습니다. 이 작업은 플랫폼 팀장님이 맡으셔서 하기로 했구요.

IMU도 설계에 착수합니다. 앞서 보여드린 uT 결과물(myIMU-DX)은 벌써 2년전에 제작한 모델인지라 그 사이에 성능 및 크기를 개선할 수 있는 여지가 많아졌습니다. 개발 시간이 추가로 들어가겠지만 이번에도 또 작게 만들어 보기로 합니다. 이름부터 정해야겠죠? 3축 가속도, 3축 자이로 센서가 들어간 IMU라는 것을 잘 표현하기 위해 myIMU6-USB로 정했습니다. 추후 지자기 센서까지 포함된 myIMU9-USB도 만들어 보겠다는 의지가 이름에 살짝 묻어있는 것이죠. USB 스텍도 잘 만들어 두었으니 이번에도 쓸 계획이구요.

그 사이에 IMU 회로도가 쓱삭쓱삭 나왔고, 아트워크가 끝났습니다. 크기는? 앞서 공개한 myARS-USB와 동일하게 만들기로 하였습니다. 핀도 똑같구요. 즉 소비자 입장에서는 동일한 인터페이스 보드로 myARS-USB와 myIMU6-USB를 사용하실 수 있는 것입니다.

순풍에 돛 단듯 쭉쭉 진행되던 myIMU6-USB는 역시나 역풍에 맞닥드리게 되는데요... 바로 칩 수급입니다. 이번에는 좀 큰맘 먹고 수량을 늘려 발주를 냈으나, 무려 28주라는 장납기를 받기에 이릅니다. 어떻할까요. 28주면 7달 뒤인데... 7달 뒤에 다시 먼지털고 프로젝트를 시작할까요?

또 이렇게 고민 보따리는 늘어만 갑니다만... 해결을 했습니다~

다음 이야기: 3. myIMU6-USB 제작 및 동작 테스트 (2월 초 포스팅 예정)

저작자 표시
신고
Posted by getcome
2010년 작업2011.01.05 15:39

3축 가속도와 3축 자이로 센서를 조합한 후 각각의 센서 출력을 내주는 장치를 IMU(Inertial Measurement Unit)이라고 부릅니다. 보통 움직이는 물체의 관성량을 측정해서 물체의 이동 방향, 현재 포즈(pose), 현재 위치 등을 파악하는데 사용하죠. 항공기의 기체 자세를 파악하는데 많이 사용하였고, 최근에는 게임에 적극적으로 활용되고 있습니다.

위드로봇에서는 국토해양부 국책 과제 "u-Transportation 기반 기술 사업"에서 차량의 위치를 GPS가 있건/없건 정확하게 파악해야 하는 과업을 수행한 바 있습니다. 이 때 약 1년간 국내에서 입수가 가능한 모든 가속도, 자이로 센서를 수급하여 일일히 그 성능을 비교하며 IMU에 적합한 MEMS 센서들을 찾았습니다. 이렇게 만들어진 IMU와 GPS, OBD 신호를 융합하여 GPS 신호가 수신될 때는 좀 더 정밀한 위치를 알려주고, GPS가 수신되지 않는 경우에도 일정 시간 동안은 GPS 오차 범위 내에서 차량의 위치를 알려줄 수 있는 시스템을 제작하여 데모를 보였었죠. 이렇게 IMU를 제작한 때가 2007년 ~ 2008년 사이었습니다. 이 당시만해도 자이로 센서가 무척 비쌌으며(자이로 센서 한 축짜리가 개당 6만원이 넘었었습니다), 1축 자이로만 시장에 풀려있었기에 3축 자이로 센서를 구축하려면 물리적으로 조합을 잘 해야만 했습니다. 그래서인지 상용 제품은 제일 싼 제품이 50만원이 넘곤 했습니다. 과제에서는 차량마다 장착한다는 전제조건을 깔고 있어 10만원 안팎의 시스템이 만들어져야만 했고, 그러다 보니 위드로봇 입장에서는 직접 만들어야만 하는 이슈로 변질되었습니다. 원래 과제 제안서에는 IMU를 만드는 일은 거의 비중이 없는 일처럼 되어있었습니다만, 결국 일 년간 열심히 IMU를 만들어야만 했습니다.

uT 과제에서 만들어진 IMU 입니다. 1축 자이로 센서를 X-Y-Z 축으로 배치하기 위해 나름 이런저런 아이디어를 냈고, 고생 꽤나 했습니다.


약 10개월간의 고생 끝에 나름 작고 성능도 괜찮은 IMU가 만들어졌고, 국토해양부에서는 국가 R&D 전시회가 있을 때마다 이 성과물을 전시해 달라고 요청이 들어왔었습니다. 전시를 몇 번 한 적이 있었는데 그 때마다 IMU와 데모를 보시고들 다들 구매 의사를 밝혀왔었습니다. 아마도 외산 장비는 구매도 힘들고 technical support를 받기 힘들뿐더러 꽤나 괜찮게 동작하는 것으로 보이는 동영상 데모를 보니 '이거다' 싶어하시는 것 같았습니다.  하지만 매번 구매 의사에 죄송하다는 말로 거절할 수 밖에 없었습니다.

이런 곳에서 하루 종일 서 있다가 질문하시는 분들이 오시면 답을 하곤 했습니다. 몇 번 전시회를 나가서 어느 정도 편해질 때도 됐습니다만, 아직도 전시회에 나가는 일은 낯설고 힘든 작업입니다

다 만들어졌고, 잘 동작한다면 파는데 무슨 문제가 있냐고 물어보시지만...

엄밀히 말하면 IMU가 필요하신 분들은 IMU가 아닌 AHRS 또는 INS를 필요로 하는 것입니다. AHRS는 ARS(Attitude Reference System)에 Heading 정보가 추가된 형태로 Attitude Heading Reference System의 약자입니다. INS은 Internal Navigation System의 약자로 IMU 정보와 기타 절대값 위치 정보를 융합하여 움직이는 물체의 위치, 속도 등을 파악하는 시스템이구요. 통상적으로 INS = GPS + IMU 로 구성하곤 하죠. 문제는 위 수식의 "+" 에 있습니다. GPS 신호와 IMU를 말 그대로 자알~ 합쳐야 하는데 통상적으로 이러한 이기종간의 데이터를 융합하는데 많이 쓰이는 방식이 Kalman filter 입니다. 정리해 보면 IMU는 3축 가속도, 3축 각속도를 출력하는 센서 덩어리일 뿐이고, 실제 사용자들이 원하는 정보는 위치 또는 각도 정보이기에 IMU에 무엇가 - kalman filter 던 particle filter 건, 아니면 DCM 이건 - 조작을 취해야 한다는 것입니다. 같은 개념이지만 분야에 따라 차량 쪽에서는 dead reckoning(DR) 이라고 부르는 것이 일반적입니다.

이 분이 Rudolf E Kalman입니다. 제어 분야에서 좀 잘 나가는 분들은 모두 이름 끝에 ~man 이 붙어있습니다. 소시적 제어공학을 열심히 공부할 때 영어 이름에 나도 man을 붙이면 논문이 잘 써질까해서 영문 이름의 개명을 심각히 고민하던 적이 있습니다. 지금요? 제어분야에서 멀어진지 오래됐습니다요.


노이즈 모델이 정규분포를 가지고 시스템이 선형 시스템이라면 kalman filter가 최적이라는 것이 수학적으로 증명되었기에 융합 알고리즘 동네에서는 한마디로 kalman filter가 대장 노릇을 하죠. non-linear 시스템일 경우 particle filter 기법들이 쓰이곤 합니다만, 이것도 extended kalman filter와 비교하면 수학적 완결성 측면에서는 비교가 안됩니다. kalman filter가 20년 전에도 대세였고, 아직도 대세입니다(Kalman filter가 왜 필터인지, Kalman 보다 앞서 더 훌륭한 논문이 있었음에도 불구하고 모든 영광을 Kalman이 가져가게 되었지는지 등의 뒷 이야기도 꽤 흥미진진합니다. 나중에 이 이야기 보따리를 풀어 놓도록 하죠). 또한 냅다 IMU의 출력값을 kalman filter에 넣는다고 잘 동작하는 것이 아닙니다. 적용 시스템에 알맞는 pre-processing이 꽤 필요하죠.

정리해 보면 위드로봇에서 만든 것은 센서 덩어리인 IMU인데 IMU를 구매하시겠다는 분들은 사실은 IMU가 아니라 INS 또는 AHRS를 필요로 한다는데 문제가 있는 것이죠. 물론 Kalman filter를 기반으로한 INS 알고리즘은 나름 훌륭히 만들어져 있으니 제공을 하려면 할 수는 있으나 이를 패키징하는 방법 및 기술 지원에 있어 여러가지로 복잡한 부분이 많다는 점이 문제입니다.

어쨌건 "IMU 하나 산다고 해서 지금 해결하려고 하는 움직이는 물체의 위치를 잘 파악하려는 작업이 해결될 것이라는 생각은 너무나도 순진한(조금 과격하게 표현하면 무식한) 생각"이라는 것입니다. 그런데 다들 동영상 보시고 위드로봇의 IMU를 이용하면 되겠구나 생각하셔서 구매하신다면 그건 말 그대로 "낚인 것" 이라는 것이죠.


이 와중에 지원팀 ioyoi 양이 사고를 하나 칩니다. 양산되어 수 백개씩 쌓여있는 IMU의 사진을 덜컥 찍어 홈페이지에 올린 후, "좀 있으면 팔꺼에요~"라고 올린 것입니다. 그 다음부터 문의 전화, 문의 메일 폭주~~.

이 사진이 문제의 사진입니다. IMU 200여개의 사진을 찍어 올리니 저가형 IMU를 찾던 분에게는 눈이 번쩍 떠지는 사진이었겠죠.



하지만 문의 전화 주신 분들과 잠깐 통화해 보면 역시나 IMU 만 제공해서는 고객들이 원하는 결과를 얻을 수 없음을 금방 알 수 있습니다. 결국 그 다음 솔루션(INS)까지 제공하지 않으면서 IMU를 판매하는 것은 '열심히 공부해서 한 번 잘 써봐~'하고 놀리는 것 밖에는 안됩니다.

위드로봇 내부에서 회의를 몇 번이나 열었습니다만 '융합 솔류션 내지 기타 다른 technical support 기획없이 IMU를 외부에 판매하는 것은 끝도 없을 문의에 일일이 대응해야 하는 대재앙을 불러올 것이다'라는 결론을 내리고 판매 불가 방침을 결정합니다.

이게 2008년도 결론이었습니다. 그리고 2009년, 2010년, 끊임없이 "IMU 안팔아요?" 문의는 계속됩니다. 한 두번이면 모르겠습니다만 지속적으로 문의가 들어오기에 고민을 안할 수가 없습니다. 만들어 놓고도 팔 수 없는 이 고통을 누가 알까요?

다음 이야기:  2. 그래, IMU 만들자! 팔자!
저작자 표시
신고
Posted by getcome
2010년 작업2011.01.05 15:10

자, 동작 테스트도 끝났기에 이제 신나게 찍어내면 됩니다. 정말 그럴까요? 일반 모듈이라면 그렇게 해도 괜찮지만 myARS와 같은 제품군들은 제품별로 캘리브레이션을 해야만 합니다. 그러면... 정밀한 지그(zig)와 함께 편리하게 테스트할 장비가 있어야지 양산이 가능합니다. 그렇지 않다면 균일한 품질 관리가 힘들어지죠.

그럼 또 추가로 일이 생기는 부분은 캘리브레이션 지그를 만드는 일입니다. 또 일이군요. T_T; 이번에는 기구 설계 및 가공 분야이니 서보틱스 팀장님이 도와주실 차례입니다. 우선 설계는 뚝딱뚝딱 플랫폼 팀장님이 하신 후 서보틱스 팀장님이 손질을 한 후 가공 업체에 맡겼습니다. 물론 지원팀에게는 영수증 한 바구니를 선물로 주고요. 일정은 또 다시 예상했던 것보다 늘어납니다. 비용도 늘어나구요. 지원팀 팀장의 한숨은 깊어지지만 납땜 해 놓은 녀석을 만지작거리다 보면 고객들이 좋아할 것 같아 그나마 위안이 됩니다.

myARS-USB 캘리브레이션 지그 설계



캘리브레이션 지그를 만들고 있는 동안 PCB 자삽 업체에서는 열심히 제작을 해서 제작이 완료되었다고 택배로 PCB를 보내주었습니다.

myARS-USB 양산된 모습입니다. 아, 여기까지 오기 위해 꽤나 고생했습니다



지그도 그 사이에 만들어졌네요. 메뉴얼, 홈페이지도 모두 준비 완료되었습니다.

{양산을 위해 제작한 지그입니다. 이 녀석을 이용해 캘리브레이션을 각 모듈별로 수행한 후 판매합니다.}

이제 열심히 테스트해서 불량품을 골라야겠죠?
그럼, 끝인가요? 네. 위드로봇이 할 일은 끝났습니다. 열심히 다양한 분야에 활용해 주시는 일만 남았죠.

여기까지 출시 전에 본 글을 재빨리 발견하고 읽어주신 분들을 위한 혜택이 있습니다. 판매를 위해 원가를 계산해 보니 이전 myARS(8만 6천원 판매) 모델에 비해 대폭 상승했습니다. 이전 모델에 비해 USB를 지원하고, 초소형이며, 센서들의 성능이 개선된 것을 고려하면 상승 요인을 이해해 주실지 모르겠습니다만, 어쨌건 신제품이랍시고 비싸게 받으면 다들 욕하시겠죠. 하지만 앞서 쭉 설명했듯이 이런저런 개발 과정 중에 대폭 비용이 증가하여 개발비를 산정해 보니 꽤 나왔습니다. 이런저런 고민을 하다가 출시 전 사전에 주문해 주시는 분들께는 이전 myARS보다 더 저렴한 가격으로 제공하되 출시가 되면 원래 가격으로 환원되는 이벤트를 진행하여 호시탐탐(?) myARS가 재출고 되길 기다리신 분들께는 더 저렴한 가격으로 더 좋은 모듈을 사용하실수 있는 기회를 제공해 드리기로 하였습니다.

판매가는 119,000원(VAT 별도)로 책정되었으며, 출시 전 주문해 주시는 불들께는 30% 할인된 84,000원(VAT 별도)으로 판매합니다. 이벤트는 2월 22일까지만 진행하며 배송은 2월 22일부터 시작할 예정입니다. 이렇게하면 기존 myARS를 구매하시던 분은 기존 제품보다 성능 좋은 제품을 더 저렴하게 구매하실 수 있는 기회가 제공되는 셈입니다. 앞으로 myIMU6-USB, myAHRS-USB 등의 제품이 출시될 예정인데, 최대한 저렴하게 공급할 수 있도록 여러 가지 이벤트를 준비하도록 하겠습니다.

myARS-USB 출시 이벤트

여기까지 지겨운 개발기를 읽어주신 분들께 감사드리며, world best급 제품을 내놓기 위한 기획은 계속됩니다. 많은 관심 부탁드립니다.

참고 자료 링크

p.s. 다음 개발기는 3축 가속도, 3축 자이로 센서로 구성된 myIMU6-USB 입니다.

저작자 표시
신고
Posted by getcome
2010년 작업2011.01.05 14:58
목차
1. 제품 기획
2. 제품 기획 II
3. 회로 설계 및 PCB 제작
4. 펌웨어 테스트
<- 현재 여길 보고 계십니다.
5. 양산 및 이벤트

자, PCB가 들어왔으니 이제 떨리는 마음으로 전원을 인가하여 JTAG이 붙는지 테스트를 해야 합니다. 혹시 모를 불상사를 위해 파워 서플라이의 전류를 최소로 셋팅해 놓고, 전압 다시 한번 체크한 후 심호흡 크게 한 번 합니다. 15년 넘게 수없이 많은 보드를 만들어도 이 순간만큼은 떨립니다.

자.... 연결하고... 소비 전류 체크. OK, 불꽃 놀이할 염려는 없고... 그 다음은 클록 발진... 에구, 스코프 프루브가 끼고 들어갈 공간도 없네요. 어쨌건 어렵사리 클록 발진도 OK. 오예. 여기까지면 80% 성공입니다. 자, 이제 JTAG을 붙여볼까요? 휴~~~. 붙습니다. 95% 성공입니다. 아, 그 동안의 스트레스가 사라집니다. 이 맛으로 계속 개발을 하는 것이겠죠.

나머지 5%는 이제 각 function별 코드를 넣어 실수한 부분은 없는지 확인하는 부분이죠.

기존 myARS에 비해 달라진 점은 가속도 센서를 더 좋은 모델로 선정했다는 점입니다. 노이즈 특성이나, 감도 측면에서 더 좋은 모델을 선정하였는데, 그러다보니 펌웨어 부분에서 수정해야 할 부분이 많아졌습니다. 더군다나 인터페이스를 USB, UART, i2c를 동시에 지원하다보니 인터페이스를 지원하는 부분도 꽤나 신경써야 할 부분이 많아졌구요.

한 문장으로 줄여보면...
이전 myARS의 펌웨에어서 건질 부분이 거의 없으며 몽창 다 새로 작성해야 한다는 점입니다.

다행히 플랫폼 팀장님이 뉴질랜드 출장 중 짬짬이 모듈 단위로 작성을 해서 귀국을 했습니다. 크리스마스가 지나고 모든 프로젝트 맴버가 다시 한 자리에 모이자 엄청난 가속이 붙기 시작합니다.

하루가 지나니 가속도, 자이로 센서값이 들어오고...
하루가 지나니 UART가 동작하기 시작하고...
또 하루가 지나니 칼만 필터가 돌기 시작합니다.
이 정도면 동작을 확인해 볼 수 있습니다. 펌웨어를 합쳐서 동작시켜 봅시다.

빵판에 대충 연결합니다. 맨 왼쪽은 myUSB2UART로 UART 신호를 PC로 넣어주는 역할입니다. 아직 USB 기능까지 myARS-USB에 넣지 않은 상태에서 실험했습니다.



아래 동영상은 위 셋트를 이용해서 찍은 동영상입니다.



myARS-USB의 UART 출력 테스트를 위해 myUSB2UART로 연결하여 PC에서 각도값을 받은 후 출력하는 모습입니다. 자알~ 돌죠?

보다 정량적으로 분석하기 위해서는 정확하게 몇 도 움직였는지 알려줄 장치가 필요합니다. 위드로봇에서는 한 바퀴 회전하면 2000 pulse가 나오는 장치를 만들어 이를 다시 4체배로 정밀도를 높인 장치를 만들어 myARS-USB의 출력 정밀도를 검증합니다.

삼각대에 붙여 사용합니다. 회전량을 0.045도 해상도로 분석이 가능합니다.



이 장치로 분석을 한 결과는 다음과 같습니다. 보시면 일반적인 적분 형식으로 추정하는 것에 비해 엔코더 값을 잘 추종하는 모습을 확인할 수 있습니다.

파란색: myARS-USB 출력 녹색: 자이로 적분 빨간색: 엔코더 정보(true value)


가속도 센서만으로 중력 가속도 값의 변화량을 이용해 기울기를 측정하는 경우는 물체의 빠른 가감속에 의한 가속도 변화량이 계산에 나쁜 영향을 미칩니다. myARS-USB는 이 경우에도 자이로 센서 데이터를 이용하여 94% 정도 오차를 줄여줍니다. 아래 데이터의 녹색이 이러한 노이즈가 포함된 가속도 센서의 출력값이며 파란색이 myARS-USB의 출력값입니다.


이제 메뉴얼 만들고, 양산 준비를 해야 할 것 같습니다. 특징을 정리해 보면 다음과 같습니다.
  • 칼만 필터를 이용한 5IMU 센서 융합
  • -피치(roll-pitch) 각도 출력
  • 3축 가속도 센서, 2축 자이로 센서, 온도 센서 raw data 출력
  • 100Hz 데이터 출력 속도
  • 40Hz dynamic bandwidth
  • UART/i2c/USB 인터페이스 지원
  • DATA READY 인터럽트 출력
  • 단일 커맨드를 이용한 손쉬운 영점 보정 기능
  • Start-up calibration필요없는 fully static fusion algorithm(전원투입시 정지 해 있을 필요 없음)

19.94mm x 14.84mm x2.62mm 의 초소형 모듈입니다.


 핀 번호
이름
핀 번호
이름
 1  INT  12  VDD
 2  SLEEP  11  nRST
 3  i2c_SCL  10  No connection
 4  i2c_SDA   9  UART_TX
 5  USB_DM   8
 UART_RX
 6  USB_DP   7
 GND

i2c를 사용하고 싶으면 3번, 4번 핀을 이용하면 됩니다.
AVR이나 기타 마이컴을 이용해 UART로 데이터를 수신하려면 8번, 9번 핀을 이용하면 됩니다.
PC의 USB로 바로 데이터를 받고 싶으시면 5번, 6번 핀을 USB와 연결하면 됩니다. 다른 부품없이 USB 커넥터만 연결하면 되는데 아무래도 납땜하기 어려우므로 별도의 인터페이스 보드를 제작하여 판매할 계획입니다.

다시 팀장들이 모여 빠진 것은 없는지, 추후 해야 할 일은 무엇인지 점검하는 회의를 가졌습니다. 그랬더니 아직도 해야 할 일이 많다는 것을 확인할 수 있네요. 메뉴얼 새롭게 만들어야지, 홈페이지 업데이트 해야지, 동영상 찍어서 편집해야지 등등...

그리고 그 동안 myARS 품절에 많은 문의를 해 주신 분들께 뭔가 혜택을 드리는 것이 좋겠다는 의견이 나왔습니다. 그래서~~ 이벤트를 준비하기로 했습니다.

다음 이야기: [myARS-USB] 양산 및 이벤트 (마지막회)










저작자 표시
신고

'2010년 작업' 카테고리의 다른 글

[myIMU6-USB] 위드로봇의 골칫거리 IMU  (0) 2011.01.05
[myARS-USB] 양산 및 이벤트  (0) 2011.01.05
[myARS-USB] 펌웨어 테스트  (0) 2011.01.05
[myARS-USB] 회로 설계 및 PCB 제작  (0) 2010.12.07
[myARS-USB] 제품기획 II  (0) 2010.12.07
[myARS-USB] 제품 기획  (0) 2010.12.06
Posted by getcome
2010년 작업2010.12.07 07:33
목차
1. 제품 기획
2. 제품 기획 II
3. 회로 설계 및 PCB 제작 <- 현재 여길 보고 계십니다.
4. 펌웨어 테스트
5. 양산 및 이벤트

회로는 크게 바뀔 부분은 없을 것으로 생각했습니다만, USB 인터페이스가 필요하고 USB 브릿지 칩을 쓸 수 없다보니 USB IP를 내장한 프로세서를 사용해야 합니다. 작으면서 속도도 꽤 빠르면서 USB 기능을 가지고 있는 Cortex-M3 모델들을 찾다보니 꽤나 시간을 많이 허비했습니다. 그런데 기껏 찾아놓으니 문제는 MOQ 입니다. 크기가 작은 모델이다보니 선정한 모델을 국내에서는 사용하는 곳이 아예 없다는 군요. 국내 대리점이 수입해 본 적이 없는 모델이라는 것입니다. 따라서 대량으로 사기 전에는 수급하기가 꽤 까다롭게 되었습니다. myARS-USB가 말 그대로 와앙~창 팔린다면야 구매하는 것이 뭐가 걱정이겠습니까만 누가 장담할 수 있을까요? 안 팔리면 그대로 재고품이고 극단적인 경우는 쓰레기가 될 수도 있습니다. 흠... 고민고민...

센서들도 문제입니다. 작으면서 고성능 모델들을 선정하다보니 가속도 센서같은 경우는 국내에서는 쓰지 않는 모델이어서 1~2천개로는 수입이 안된다고 하네요. 또 고민고민...
 
클록, 수동 소자들도 극단적으로 가장 작은 제품들을 선정해야 하다보니 가격도 두 배, 세 배 비쌉니다. 또 고민고민...

PCB도 기본 4층이고, 어쩌면 6층까지 갈지도 모르는 상황이 되었습니다. 이럼 PCB 가격도 다시 두 배, 세 배 비싸지는데... 또 고민고민...

일은 진도가 안나가고 계속 고민한 쌓여가는 모드로 전환되었습니다. 이대로 진행하면 원래 예상했던 프로젝트 비용보다 세 배 이상 비용이 소진되며, 어마어마한 재고를 떠 안는 어쩌면 대재앙이 될 수도 있는 프로젝트로 변질되어 갑니다. 하지만 그렇다고 이제와서 다시 예전의 myARS를 다시 만들어 팔기에는 그동안 쏟은 시간이 아깝고, 기획이 아깝습니다.

사기업에서 시간은 돈입니다. 왜 프로젝트는 항상 생각보다 훠~~~얼씬 지연될까요? 생각했던 것 보다 빨리 끝나는 프로젝트가 없을까요?



이 고민에 기름을 붓는 플랫폼 팀장님의 의견 - "이번 기회에 실드캔을 적용해서 아주 깔끔하게 만들어 봅시다." 실드캔 제작 업체 접촉하여 견적을 받아보니 이건 뭐 기본 양산 물량이 1만개 이상 수준에 금형 제작비에... 이 정도면 고민 수준을 넘어서 프로젝트 존폐가 눈앞에서 아른거립니다. 프로젝트 소요 비용이 초기 예상치의 4배를 넘어섰습니다. 일년 내내 myARS-USB 팔아도 이익은 커녕 개발비 회수하기도 힘듭니다. 안그래도 사무실을 확장 이전에서 불필요한 경비는 가능한 줄이는 분위기에 몇 천만원짜리 계산서를 던지면 재무팀에게 비수를 꽂는 격입니다.

이 단계에 도달하면 위드로봇 맴버들은 위드로봇 연구실의 전형적인 의사결정 트리를 적용합니다.
 1. 이 일을 하면 우리는 행복할까? -> 잘 모르겠다. 하지만 만들어져서 잘 동작하면 이쁜 녀석이 될 것 같고, 그럼... 기분은 좋을 것 같다.
 2. 이 일을 하지 않으면 나중에 후회할까? -> 뭐, 후회까지야. 하지만 비슷한 제품이 나와서 잘 팔린다면... 배가 좀 아프겠지. 그리고 속상하겠지. 아, 결국 후회하는 것이구나.
 3. 이 개발이 나중에도 자주 쓰일까? ->  실드캔 제작 공정은 몇 번 쓰게 될 것 같다. 그리고 작게 만들면서 발생하는 문제는 언제가는 경험하게 될 과정일 것 같다.
 4. 돈은 되냐? -> 개발비만 회수하는데 2년은 걸릴 것 같다. 즉 이거 팔아서 돈은 못 번다.

ROI가 2년이면 대부분의 회사에서는 reject 감입니다. 특히나 위드로봇처럼 영세한 소기업에서는 더더욱 그렇죠. 비지니스 측면에서는 "돈은 되냐?" 라는 질문이 가장 먼저 나와야 합니다. 전형적인 경영 교과서에 나오는 회사의 존립 이유는 영리 추구니까요. 하지만 돈을 되냐라는 질문을 맨 먼저 앞세우기에는 아직까지 위드로봇 맴버들은 자존심이 상합니다. 돈이 안되도 행복하다면 개발할 수 있는 엔지니어의 놀이터를 만들고자 설립한 회사니까요.

행복한 엔지니어의 즐거운 놀이터 위드로봇~~.


우선 순위가 높은 1, 2, 3번 질문은 통과했고, 돈은 안될 것 같다고 하니 이 risk를 떠 안아야 할 사람은... 대표 이사겠죠.  장고 모드로 돌입했습니다만 항상 마지막 결론은 같습니다. 위드로봇 맴버들을 믿고 지원하는 것이죠. 대신 자금 투자 시점에서부터 양산까지의 기간을 최소화하자는 부탁을 했습니다. 목표는 1월 중순까지 양산 완료!

다시 호떡집에 불이 난 듯 프로젝트는 진행되기 시작합니다.
플랫폼 팀장님은 회로도 그리고, 아트워크 시작하고, PCB 제작.
임베디드 팀장님은 소프트웨어 쥐어짜서 가능한 빠르고 작게 만드는 작업 시작.
지원팀은 디바이스 소싱 업체에 연락하여 단가 네고를 위한 애교 작전 시작.
또한 메탈캔 제작을 위해 금형 파고 실드캔 양산하고~.

일주일간 이래저래 바쁘게 움직인 결과 아트워크가 완료되었고 다시 일주일이 지나니 PCB가 제작완료되었습니다. 그 사이에 실드캔 금형도 만들어져 입고가 되었네요.

위드로봇 팀장님들의 노고로 뚝딱뚝딱 만들어진 PCB. 4 x 4 형식으로 배열하였습니다.


이 와중에 펌웨어 코딩을 담당한 플랫폼 팀장님은 뉴질랜드에서 진행되는 프로젝트 때문에 2주 이상 장기 해외 출장을 가게 되었습니다. 결국 출장 중에서도 짬짬히 코딩을 해야 겠다는 말을 남기고 홀연히 출국합니다. 코딩을 뉴질랜드에서 하면 Designed by New Zealand 가 되는건가요? 어쨌건 프로젝트 일정을 지연시키는 사건들은 끊임없이 발생하기 마련인가 봅니다. 프로젝트의 여유 버퍼 관리... 너무나도 중요한데 아직까지도 내공이 덜 쌓여서 좀 더 많은 학습이 필요해 보입니다.

어쨌건 지원팀의 고생 덕분에 부품들이 수급이 되었고, 테스트용으로 몇 개 조립을 해 봅니다. 이건 뭐 부품들이 깨알보다도 작아서 납땜하다가 눈이 빠지겠습니다. 납땜하다가 품질 좋은 확대경을 사달라는 요청이 들어왔습니다. 이놈의 프로젝트는 돈 잡아먹는 귀신이군요. 우여곡절 끝에 어렵사리 샘플 PCB가 완성되었습니다.

우선 테스트를 위해 3장만 납땜했습니다. 하도 작게 만들어 via를 뚫을 곳이 없어 고생했다는 아트워크 업체로부터 원성을 들어야 했습니다. 납땜할 때 부품이 깨알보다 더 작아 무지 고생해야 합니다.



메탈캔까지 한 번 씌우고 사진 한 방~. 와우 보기만해도 이쁩니다.

랜더링한 이미지와 거의 흡사하게 나왔습니다. 대만족~


드디어 엔지니어들이 가장 떨리고 좋아하는 시간... 첫 번째 전원을 넣어 볼 단계까지 진행되었습니다. 첫날밤 만큼이나 떨리는 순간... 과연 한 방에 동작할 것인가, 아니면 불꽃 놀이를 하며 장렬히 myARS-USB 1차 버전은 전사할 것인가? 기대하시라~ 개봉 박두~

다음 이야기: [myARS-USB] 펌웨어 테스트

저작자 표시
신고
Posted by getcome

티스토리 툴바