Micromouse를 다시 들여다보니: 개론
on
하루 종일 일에 매달려 있다 문득 마이크로 마우스 생각이 떠올랐다. 마이크로 마우스가 나름 개인/동아리 단위로 재미있게 만들던 시절이 있었다. 사실 마이크로프로세서를 재미있게 활용할 수 있는 좋은 응용분야였던 것 같은데, 어느 시점 이후로는 인기가 시들해졌던 것 같다.
당시 유행하던 스타일은 대부분 스테핑 모터를 썼고 16bit micro controller를 썼다. PC를 사용해서 펌웨어(?)를 빌드하기 편한 x86 기반의 마이크로 컨트롤러를 사용했던 기억이 있다. 사실 그외의 것들은 만드는 사람들 마음이라 각양 각색이었고 오래된 마우스들 중에는 초음파 센서를 사용하던 것도 있었다. 대부분은 적외선 포토 다이오드/TR을 사용하고 있었다.
그 이후로 컴퓨터 기술이 눈부시게 발달했기 때문에 지금은 엄청나게 좋은 마우스가 나오지 않을까 해서 찾아보니
- 마우스의 크기가 엄청 작아졌다.
CPU 크기가 줄어들었고 대개의 embedded processor의 경우는 자체적으로 플래쉬와 약간의 램을 내장하고 있어서 크기가 엄청나게 줄었고 저전력에 DC 모터를 사용하고 있으니 배터리 전압도 높을 이유가 없고 불필요한 힛싱크/모터 드라이버가 필요없어져서 획기적으로 작아졌다. 더구나 PCB 제작 비용이 저렴해졌기 때문에 전체 하드웨어의 크기가 매우 작아졌다.
- 2차 이후의 주행 속도가 엄청나게 빨라졌다.
diagonal turn이 매우 훌륭했던 것 같다. 가속도 매우 빠르고.
- 무엇보다도 마이크로 컨트롤러의 능력이 좋아졌다.
CPU 뿐 아니라 자체 내장하고 있는 서브 모듈들 (타이머/ADC/DAC/USB/..)이 매우 훌륭하다. 대부분 8비트 CPU이긴 하지만 길찾기 로보트를 만들기엔 더 없이 훌륭하다. 요즘처럼 딥러닝으로 사물을 인식해야할 정도의 능력보단 센서 정보를 빨리 받고 모터만 잘 제어하면 그만이기 때문이다.
ATMEGA만 봐도 입력 전압의 변동폭도 크고 (꼭 5V 일 필요가 없다), 8bit 16MHz/20MHz 정도니까 충분히 빠르고 (옛날엔 2.5MHz짜리 Z80 같은 마이크로 프로세서를 사용하기도 했었다) USB로 쉽게 프로그래밍할 수 있으니까 좋고 온라인상의 자원도 풍부하다.
- 자이로 센서 채용은 기본인 듯 하다.