myCortex-LM8962 보드와 연결하여 2.8인치 컬러 TFT LCD에 여러 가지 그래픽을 출력할 수 있는 장치를 제작하였습니다. 추가로 터치 스크린을 가지고 있어 GUI 구성시 터치 버튼을 구현할 수 있으며, 3축 가속도 센서 인터페이스도 내장하여 모션을 이용한 다양한 실험도 진행할 수 있습니다. SD 카드 인터페이스도 내장해 두어 필요에 따라서는 요즘 유행하는 LCD 액자로 만들어 사용할 수도 있겠네요.
사용자 삽입 이미지

일단 이 제품의 1차 목표는 간단한 게임 툴입니다. LCD 밑에 있는 총 6개의 스위치를 게임 컨트롤러처럼 사용할 수 있으며, 가속도 센서, 진동모터, 부저 등을 이용해 간단한 아케이드 게임을 만들 수 있을 겁니다. 제공하는 간단한 예제는 "굴려굴려" 입니다. 보드를 이리저리 움직이면 화면 속의 공이 그 방향으로 굴러갑니다. 간단한 물리 엔진을 넣어 많이 기울이면 가속이 그만큼 빨리 되고, 살짝 기울이면 천천히 굴러갑니다.

myCortex-LM8962 보드는 뒷면에 붙습니다. 전면에는 LCD와 게임 제어용 스위치만 노출시키는 편이 좋기에 배치를 이 둘에 우선하다보니 전체 형상이 덕분에 이상하게 되었습니다만, 어쨌건 쓰기에 큰 불편함은 없습니다. 아래 사진이 뒷면 모습니다. SD 카드 인터페이스도 내장하고 있고, FAT32 파일 시스템도 지원하기 때문에 평소에는 전자액자로도 사용할 수 있습니다.
사용자 삽입 이미지
개발자들을 위해 간단한 GUI용 API 함수군들도 같이 소개합니다. 이들을 이용하면 간단히 GUI 화면을 구성하고, 터치 스크린을 사용하실 수 있습니다. 아마 학부생들 졸업 작품용으로 쓰면 꽤 재미있는 아이디어가 많이 나오지 않을까 싶네요.

아래 동영상은 간단한 데모를 시연하는 예입니다.
첫번째 - 텍스트 출력
두번째 - 이미지 파일 출력
세번째 - 터치 스크린의 캘리브레이션
네번째 - 터치 스크린 기능을 이용해 그림 그리기 (시작점과 끝점을 별도의 색깔로 표시해 두었는데, 동영상에서는 조금 이상하게 보일 수도 있습니다)
다섯번째 - 굴려굴려 데모 (가속도 센서를 이용한 게임)



디바이스마트에서 9월 20일 공개강좌를 하게 되었는데 이 때 이 보드를 가지고 Cortex-M 프로파일군의 개발 환경 및 개발 과정을 시연할 예정입니다. 많은 관심 부탁드립니다.


신고
Posted by getcome
2008년 작업2008.08.13 04:28
Machine Vision을 다루는 연구자들에게 stereo는 계륵과도 같은 존재입니다. 영상에서 3차원 공간 정보를 얻자니 한 장의 scene 에서는 어렵고 결국 두 장 이상의 이미지가 필요합니다. 서로 다른 카메라를 쓰자니 lens distortion 때문에 camera calibration이 필히 들어가야하고, 이걸 피하자고 한 대의 카메라로 structure from motion쪽으로 방향을 틀자니 이쪽도 feature tracking, weak camera calibration 등 만만치 않은 일들이 산적해 있습니다. 차라리 레이저 스캐너나 초음파 센서쪽으로 도망가는 편이 속 편할지도 모릅니다.

그러다 보니 stereo matching 자체가 research topic이 아닌 경우는 기존의 상용 제품군을 찾기 마련입니다. Point grey사의 bumble bee는 이런 니치 마켓에 기가막히게 안착한 제품으로 국내의 스테레오 비전 시스템 시장에 메이저 모델로 군림하고 있습니다. 연구비에 좀 여유가 있다 싶으면 모두들 이 제품을 사곤 하지요. 하지만 3백만원이 넘는 고가여서 부담이 됩니다.

위드로봇에서는 저가형 고성능 임베디드 스테레오 영상 처리 시스템을 구현하고자 DualEye 를 제작하였습니다. ARM9 프로세서가 장착된 Smart-I V1.0의 확장 보드 형태로 설계되어 있습니다. 이 임베디드 프로세서에서 기본적인 calibration, rectification을 수행하며, 필요에 따라 stereo matching 알고리즘 여러 종류(SAD, SSD, NCC, Census) 를 선택적으로 사용할 수 있습니다. 카메라는 1.3M화소급 CMOS 카메라가 두 개 장착되어 있으며, 640x480 영상을 30fps 속도(좌측 15fps, 우측 15fps)로 취득할 수 있습니다

사용자 삽입 이미지
사용자 삽입 이미지

아래 사진은 좌측, 우측 카메라서에서 얻은 영상과 영상에서 매칭 알고리즘 결과를 depth map으로 출력한 경우입니다. 밝은색일수록 가깝고, 어두운 색일수록 먼 곳을 의미합니다.
오른쪽 아래 그림은 신뢰도를 같이 표시한 부분으로 파란색으로 표시된 부분은 특징점이 부족하여 신뢰도가 떨어지는 부분을 표시한 것입니다.
사용자 삽입 이미지

조만간 이 시스템으로 다양한 데모 동영상을 만들어 공개하도록 하겠습니다.


신고
Posted by getcome
2008년 작업2008.04.04 10:59
사용자 삽입 이미지


14비트 AD를 내장하고 SPI 인터페이스로 연결되는 myGyro300SPImyCortex-LM8962 보드로 동작 테스트한 동영상입니다.

PC와 연결하기 위해 myUSB2UART를 사용했으며, USB 전원만으로 모든 보드가 동작합니다. 간단한 테스트를 위해 빵판 보드에 납땜했으며, 보드 납땜에는 20분 정도 소요된 것 같습니다. 테스트 프로그램은 python으로 제작했으며 다양한 위젯을 미리 만들어 둔 덕분에 손쉽게 테스트 프로그램도 작성되었습니다. 4월 중에 다양한 센서 인터페이스 제품군이 양산될 것 같습니다. 가속도 센서, 자이로 센서, 지자기 센서, GPS등을 조합한 제품군이 설계, 제조 중이므로 좀 더 있으면 다양한 제품군이 완성될 것 같습니다.


withrobot Lab. 관련 글 링크


신고
Posted by getcome
2008년 작업/Color-Eye2008.04.03 04:50
임베디드 비전 보드인 Smart-I를 이용하여 특정 색상을 추적하고, 그 위치로 팬-틸트 유닛을 이동하여 색상을 추적하는 시스템을 구현하였습니다. 특정 색상을 찾는 시스템이기에 Color-Eye라이는 이름을 붙였습니다. 이전에도 이러한 동일한 시스템이 많이 있었습니다만, NTSC 카메라에 이미지 그래버를 붙이고, PC에서 영상 처리는 수행하는 것이 일반적인 구성이었습니다. 오늘 소개하는 시스템은 모든 과정이 임베디드 시스템(Smart-I)에서 구현된 시스템으로 가격은 기존 시스템에 비해 1/10, 크기 역시 1/10 이하로 줄어드는 효과가 있습니다.
사용자 삽입 이미지


CMOS 센서로 부터 영상을 입력받고 영상에서 사용자가 지정한 색상을 실시간(30fps)으로 찾고, 색상을 추적하기 위해 pan-tilt를 제어하는 역할까지 smart-I 에서 수행합니다. 즉, PC는 전혀 사용하지 않습니다.

재미있는 데모를 구성하기 위해 원운동을 하는 돼지에 색종이를 매달고, 이 색상을 추적하도록 데모 셋트를 구성해 봤습니다.
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

이 데모 셋트는 물건너 피츠버그에서 개최되는 RoboBusiness2008에 출품하게 되었습니다. 미국에 가서 위드로봇의 기술을 잘 홍보해 주었으면 합니다.
자, 동영상으로 감상해 보시죠.


신고
Posted by getcome
2008년 작업/V-yond2008.03.17 17:41
사용자 삽입 이미지

2008년도 V-yond 프로젝트에는 Smart-I를 이용해서 제스쳐 인식을 넣기로 결정하였습니다. 당장 테스트가 불편하니 Wiimote를 이용해서 테스트 플랫폼을 구현해 보았습니다. Wiimote를 이용한 테스트 플랫폼이 궁금하신 분은 앞서 소개한 글을 참조하시기 바랍니다.


중앙에 관찰 물체가 있고, IR 펜의 움직임에 따라 확대, 축소, 각 축 방향으로의 회전이 가능합니다. 당장은 마우스 커서가 잘 눈에 띄지 않고, 절대 위치라는 점이 좀 불편합니다.
일단 성능을 점검하기 위한 테스트 플랫폼으로 활용하고, 추후 정식으로 Smart-I를 이용해 제작이 완료되면 다시 소개하겠습니다.
신고
Posted by getcome
연초에 주문해 두었던 장비들이 들어왔습니다.
시차를 두고 주문했습니다만, 같은 날 들어오게 되어 정신이 없군요.

첫 번째 장비는 RVDS 입니다. ARM9까지는 비교적 저렴한 multi-ICE로 버텨왔습니다만 올해 ARM11 개발을 앞두고 더 이상 multi-ICE로는 버틸 수 없어 RVDS로 갈아타기 위해 질렀습니다. 가격은 개발 장비들이 그렇듯이 부담스러울 정도로 비쌉니다. 두 번째 장비는 TI사의 Davinci 개발 보드입니다. TI와는 C6414와 C6713을 마지막으로 빠이빠이 할 줄 알았는데, 꼭 집어 다빈치로 개발해 달라는 요청이 간간히 들어와 다시 TI의 코드 컴포저와 친해져야 할 것 같습니다.
사용자 삽입 이미지
각각 1box씩 포장되어 배달되었습니다. 앞이 있는 녀석이 RVDS, 뒤에 붉은색 포장이 Davinci 개발 보드입니다. 비싼 RVDS부터 뜯어볼까요.

사용자 삽입 이미지
안에는 다시 CD가 들어있는 박스와 JTAG ICE가 들어있는 박스가 있습니다.
사용자 삽입 이미지

multi-ICE에 비하면 RealView ICE는 무척 커졌습니다. 실제로 하드웨어 레벨에서 내부 보드를 교체할 수 있도록 되어 있는데, S3C2410을 사용하고 있습니다.
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
이제 이것으로 열심히 디버깅을 해야 할 텐데 랩 전체적으로 너무 일이 많아서 걱정입니다. 차분하게 디버깅하며 코딩할 날을 고대해 봅니다.

다음에는 DaVinci 개발 보드입니다.
사용자 삽입 이미지

구성물 역시 유사합니다. 코드 컴포저가 들어있는 DVD와 개발 보드, 각종 케이블 및 리모콘이 들어있습니다. 개발 보드에 MSP430 프로세서가 추가되어 있고, 이 프로세서에서 적외선 리모콘 정보를 수신할 수 있도록 되어 있어 리모콘으로 데모를 동작시킬 수 있도록 만들어 두었습니다.
사용자 삽입 이미지

보드는 기존의 Spectrum Digital사에서 제작하는 형식과는 달리 여기저기 상당히 공들여 설계해 놔서 확장이 손쉽게 되어 있습니다.
사용자 삽입 이미지

자, 이제 새로운 개발 장비도 들어왔고 했으니 재미있는 데모를 만들어 보여드리는 일만 남았군요. 진행 상황이 있는대로 블로그에 기록 남기겠습니다.

p.s. : 실험 끝났습니다.(관련글로 이동)
신고
Posted by getcome
32비트 임베디드 시장에서 절대 강자로 굴림하고 있는 ARM사에서 새로운 코어가 나왔습니다. 이전까지는 ARM7, ARM9이 많이 사용되었는데, 그 다음 타자로 ARM11이 기다리고 있었습니다만 아예 훌쩍 뛰어넘어서 내부 코어를 ARMv5로 교체하고 많은 부분을 개선한 후 새로운 이름 "Cortex" 라는 이름으로 등장했습니다.
Cortex는 인간 두뇌의 대뇌피질을 뜻하는 단어로 인간의 이성적인 판단이 이루어지는 부분입니다. ARM 사에서는 자신들이 만든 프로세서가 임베디드 시스템에서 두뇌에 해당하는 부분이라고 생각해서 이런 멋진 이름을 붙인 것 같습니다.

제품군은 크게 A, R, M profile로 나눠 집니다. A profile 제품은 high-end 제품군, R profile은 real time 제품군, M profile은 cost-effective 제품군입니다. 아직까지 A, R은 상품화된 프로세서를 만나기 어렵습니다. M profile은 기존의 ARM7을 대치하는 제품인데 ST와 Luminary Micro에서 상품화에 성공하여 판매하고 있군요.

Withrobot Lab.의 임베디드 팀에서는 Luminary Micro 제품군 중에서 가장 고성능, 다기능을 가지고 있는 LM3S8962 보드를 제작하였습니다. 제품 이름은 myCortex-LM8962 입니다. 크기는 가로 45mm x 세로 55mm 이며, 랜 커넥터를 내장하고 있어 바로 이더넷과 연결이 가능하도록 하였습니다.
사용자 삽입 이미지

이더넷 커넥터를 내장해서 바로 인터넷에 연결 가능한 myCortex-LM8962 보드


프로세서의 대부분의 핀은 외부 커넥터로 뽑아두어 다른 인터페이스 보드와 손쉽게 연결하여 기능을 테스트할 수 있도록 하였습니다. 현재 이 보드를 지원하기 위한 전용 JTAG 보드도 완성이 되어 테스트가 끝난 상태입니다.
신학기와 더불어 멋지게 런칭할 계획이었습니다만...
글쎄 미국 본사에서 칩이 sold out 되었다는군요. 4월이 되어야만 추가 생산을 한다니 어쩔 수 없이 그 동안은 프로그램이나 작성하면서 기다려야 겠습니다. 다행인 것은 샘플 칩 5개를 확보해 두었기 때문에 그동안은 심심하지 않을 것 같습니다.
사용자 삽입 이미지

myCortex-LM8962 보드

진행 상황은 이곳 블로그에 남기고, 제품이 완성되면 withrobot.com 홈페이지에 올려놓을 예정입니다. 많은 관심 부탁드립니다.
Cortex-M3에 관한 좋은 문서는 withrobot.com 홈페이지에 있습니다. 다음 링크를 참조하세요.
http://www.withrobot.com/entry/An-Introduction-to-the-ARM-Cortex-M3-Processor
신고
Posted by getcome
사용자 삽입 이미지

Cortex-M3 보드를 개발하던 중 UART를 기존에 myMAX232 케이블로 연결하는 방식은 이제 아무래도 불편해 졌다는 생각이 들었습니다. 최근 출시되는 노트북에는 COM 포트가 더 이상 장착되지 않고, 그러다보니 USB2Serial을 이용해 COM 포트를 만들 후 다시 여기에 myMAX232 케이블을 연결하자니 비효율적이라는 생각이 들더군요. 그래서 직접 USB를 임베디드의 UART에 연결하는 보드를 제작해 보았습니다. 물론 이런 보드들은 무척 많이 나와있고, withrobot Lab.에서도 FT2232EB 보드와 같이 듀얼 USB2Serial 변환 보드도 있었습니다. 제품의 컨셉은 "작게" 입니다. 최대한 작게 만들면 얼마나 작게 만들 수 있을까 시도해 봤습니다. 그 결과가 USB mini-B 커넥터 보다 조금 큰 형태인 15mm x 17mm 안에 집어 넣을 수 있었습니다. 크기가 작다고 해서 기능이 빠진 것은 아닙니다. 흐름 제어용 신호도 사용할 수 있도록 외부 커넥터로 빼 놓았고, USB 전원을 임베디드 보드에 공급하는 기능도 있습니다. 단순하게 USB 파워를 by-pass 하는 방식으로 설계했다간 임베디드 보드 쪽에서 뭔가 실수해서 단락이 되면 노트북까지 날라가겠죠. 전류의 역류를 막고 750mA 이상의 전류를 임베디드 보드에서 끌어가면 전원을 차단하게 하는 전원 보호 회로도 집어 넣었습니다. 어차피 USB 버스 파워가 500mA 이하에서만 사용이 가능하므로 USB 파워를 이용해 750mA까지 사용할 일은 없으므로 이 이상을 쓰는 경우라면 별도의 전원을 사용해야 하므로 이 이상의 전류가 흐를 경우는 정상 상태가 아니라고 판단하여 전류를 차단합니다.
사용자 삽입 이미지

100원 동전보다 더 작은 보드 안에 USB 신호를 UART도 바꿈과 동시에 전원 공급 및 전원 보호 회로가 내장되어 있으며, 보드 옆면에는 각종 신호선이 배치되어 있어 다른 보드와 다양한 연결이 가능하다.


이런 기능을 다 집어넣는 보드 중에서는 세계에서 제일 작은 USB2UART가 아닐까 싶네요. 이제 Withrobot Lab.에서 제작하는 보드는 전원 및 UART 커넥터도 myUSB2UART가 연결되도록 지원할 예정입니다. 첫번째 작품은 아마 myCortex-LM8963 보드가 될 것 같네요. 현재 메뉴얼 제작 중이며, 단품으로도 판매할 예정입니다. 구매가 필요하신 분들은 이곳에 접속해 보시기 바랍니다.
신고

'2008년 작업 > myUSB2UART' 카테고리의 다른 글

초소형 USB2UART 변환 보드  (1) 2008.02.08
Posted by getcome
2007년 과제/Smart-I2007.11.16 10:36
Smart-I V1.0 beta 보드가 성공적으로 동작하여 주문을 받기 시작했습니다.

우선 초두 물량이 1100 셋트가 들어와 제작에 들어가는데, 일부 클라이언트에서는 카메라의 초점 거리 변경을 요구해 왔습니다. 현재 사용하고 있는 CMOS 카메라의 경우는 30cm ~ inf. 까지로 조절이 되어 있는데, 7cm 안팎에서 접사하는 형식으로 조절을 요청해 왔습니다.

결국 카메라의 초점을 조절해야 하는데, calibration chart를 보면서 수동으로 조절하는 수 밖에는 없습니다. 문제는 조절한 후 설정된 위치에 렌즈를 고정해야 하는데... 어떤 방법으로 해야 하나 고민하다가 플랫폼 팀장님이 평소 자전거탈 때 사용하던 나사 고정형 록타이트를 사용하는 것이 어떻겠냐는 의견을 제시했습니다.

찾아보니 현재 문제를 해결하는데 아주 좋은 해결책인것 같습니다. 문제는 정량 도포인데, 정량 토출 자동 시스템이 100만원이 넘는군요. 흠... 하루면 조절이 다 끝날 것 같고, 그 다음에는 별로 쓸일이 없을 것 같은데, 하루를 위해 100만원짜리 공구를 구매하는 것은 좀 그렇습니다. 아직 결정은 못했습니다만, 아마 초절정 저렴 솔루션인 "주사기 바늘"로 가지 않을까 싶습니다. ^^;

록타이트사에서는 나사 고정형 접착제로 크게 네 가지 모델이 있는데, 각각 접착력에 따라 보라, 녹색, 청색, 적색으로 나뉘어져 있습니다. 순서대로 강도가 쎄지기 때문에 한 번 붙고 절대 떨어지면 안되는 모델일 경우는 적색으로, 일단 고정은 해 두지만 추후 필요에 따라 변경을 해야 할지도 모르는 경우는 보라색을 사용하면 됩니다.

사용자 삽입 이미지

록타이트-나사고정제


이번 과제에서는 222 타입을 주문했습니다. 주사기 바늘은 동네 문방구에서 구매하던지 아니면 의사인 동생에게 부탁을 해 봐야겠네요. ^^;

일단 오늘 나사고정제는 주문을 넣었습니다. 잘 되면 다시 결과를 블로그에 올리겠습니다.

잘 되야 될텐데~~~.
신고
Posted by getcome
2007년 과제/MIC2007.11.06 15:53
블루투스 모듈 내부에 내장되어 있는 오디오 앰프를 이용해서 스피커를 울릴려고 했는데, 테스트해 보니 너무 소리가 작습니다. 이어폰에 연결해서 테스트할 때는 몰랐는데, 막상 8ohm짜리 스피커를 하나 연결해서 출력하려고 했더니 모기 소리보다도 작게 나오네요... 흠... 프로그램적으로 뭔가 바꾸면 될 것 같기도 한데, 어차피 내장 앰프 출력에 기대하기는 무리수 인 것 같네요.

부랴부랴 부품통을 뒤져보니 학부때 사용했던 LM386이 있습니다. 간만에 보는 DIP 타입 패키지입니다. 게인 적당히 설정한 후 후딱 납땜해 보니 증폭은 그럭저럭 됩니다만 노이즈가 꽤 심합니다. ETRI에 납품 일자는 이틀밖에 안 남았고, 어떻하든 해결해야 하니 PCB를 뜨면 노이즈가 없어지지 않을까 싶어 조그맣게 PCB를 만들었습니다.
사용자 삽입 이미지

실패로 끝난 저가형 오디오 앰프 보드

PCB를 하루만에 급행으로 뽑아내고 테스트를 하려고 오디오 신호를 인가하는 순간... 컥... 스피커를 울리는 굉음... 캐패시터도 그렇고 모든 것들이 아날로그 회로에 적합하지 않았지만 그래도 이정도로 엉망인 성능을 보여줄 주는 몰랐습니다. 배신 때리는 LM386을 버려둔 채 ETRI에 데모를 하러 갔고, 스피커 출력은 좀 더 시간을 주십사 부탁을 했습니다.

자, 좀 더 시간을 받아서 차분하게 설계할 수 있었는데... 어떤 칩으로 할까요? 그래봤자 일주일 이내에 PCB까지 뽑아내야 하니 이런저런 칩을 선정해서 수급하기란 어려운 일입니다. 다시 이드의 만능 부품 상자를 뒤져야죠. 오호라~. 몇 년전 휴머노이드에서 음성을 출력할 때 사용했던 TI사의 TPA2000 칩이 한 reel로 남아있네요. 보드도 만들어서 잘 사용했던 기억이 있어 그때 만들었던 보드가 어디 없나 뒤져봤지만 3년이 지난 과거일인지라 보드는 못 찾았습니다. 그럼... 또 PCB를 뜨는 수 밖에... T_T;

PCB 발주내고, PCB 받고, 납땜하고, 심호흡 크게 한 번 한 후, 블루투스 모듈과 페어링을 한 후 PC에서 음악을 출력해 보았습니다. 히힛~. 깨끗한 음질로 출력됩니다.

사용자 삽입 이미지

성공한 Class-D급 오디오 앰프


자, 모두 11개를 시집보내야 합니다. 세어 볼까요?
사용자 삽입 이미지

오디오 앰프 떼거지들


마지막으로 동영상 데모도 올립니다. PC에서 클릭하면 Bluetooth로 전달되고, bluetooth 모듈은 다시 이 오디오 앰프와 연결되어 스피커에서 출력됩니다. 생각해보니, 블루투스 무선 스피커 모듈을 만든 셈이 되었군요. 남은 부품들을 긁어모아서 무선 스피커 셋트나 하나 만들어야겠습니다.


신고
Posted by getcome

티스토리 툴바