아두이노 코딩-160: 아두이노 비전센서 Pixy 및 Pan/Tilt 메카니즘

in #kr6 years ago (edited)

라즈베리 파이 보드에서는 OpenCV 라이브러리 모듈과 Pi카메라를 사용하여 Computer Vision 코딩에 의해서 컬러 볼(Ball) 인식 및 tracking이 가능하다.

noname01.png

이 tracking 되는 데이터를 이용하면 RC카의 좌우 모터를 제어할 수 있는 신호 생성이 가능하므로 만약 밸런싱 로봇과 인터페이스가 이루어진다면 간단한 자율주행 밸런싱 로봇의 탄생도 가능해 보인다. 하지만 아직 라즈베리 파이 보드와 블루투스 보드 HC-06이 장착된 아두이노 보드 사이의 코딩 기술이 베타 버전 상태에 머무르고 있다.

noname02.png

두 보드 사이의 통신이 까다로운 이유는 라브베리 보드의 OpenCV 가 파이선 3.5 버전과 바인딩되어 동작하는 반면에 블루투스를 지원하는 Bluez가 파이선 버전 3.5에서는 아직 원활한 코딩이 어려워 미해결 상태로 남아 있다.

라즈베리 파이 보드에서의 Picamera 와 OpenCV 조합에 대한 대안으로서 카네기 멜론 대학에서 보급된 Pixy 라는 컴퓨터 비전 보드가 있다. 필자도 일년전에 Pixy 카메라와 팬 /틸트 메카니즘을 구입해서 조립하여 PixyMon 소프트웨어로 색상별 학습을 시켜본 경험이 있다. 현재 업그레이드 된 Pixy 2 버전이 판매 중이며 뭔가 업데이트 된 내용이 있을지도 모르겠다.

noname03.png

Pixy 보드도 자체적으로 PiCamera 처럼 영상을 처리할 뿐만 아니라 색채 내지는 색상 개념을 사용하여 사물 인식을 위한 Computer Vision 소프트웨어 기술을 제공한다.

Pixy 보드는 구매 시에 Pixy보드를 설치하기 위한 DC 모터 구동 Pan/Tilt 메카니즘을 반드시 함께 구입할 필요가 있다. Pixy보드를사용하기 위해서는 반드시 Pan/Tilt 메카니즘과 함께 설치되어야만 색상 학습(Teaching)에 따른 시각적인 tracking 작업이 가능해지기 때문이다.

특히 Pixy 보드와 Pan/Tilt 메카니즘 Pixy 보드와 아두이노 우노 보드와 인터페이스 작업은 아래의 인터넷 주소를 참고로 하자.
https://docs.pixycam.com/wiki/doku.php?id=wiki:v1:my_arduino_isn-27t_receiving_data_from_pixy

Pixy 보드에 연결되어야 할 기본 배선으로서 Pixy보드와 PC 연결을 위한 USB 케이블과 아울러 Pixy보드와 아두이노 보드를 연결하기 위한 SPI 인터페이스 리본 케이블 배선이 그것이다.

조립 가이드라인을 따라하다 보면 두 개의 모터에서 나오는 3개짜리 배선 다발을 커넥터에 꽂아야 하는데 두 개를 구분하기가 어렵게 되어 있다. 일단 배선 후 나중에 문제가 있으면 두 배선 다발을 바꾸도록 한다.

noname04.png

다음은 Pixy보드를 탑재한 Pan/Tilt 메카니즘을 Radio Shack 홀더에 집게로 고정하였다. 이는 컬러 학습 후 오브젝트를 움직이면 tracking 코드가 실행되어 상당히 빠른 속도로 pan/Tilt 메카니즘이 움직이며 이때에 안정적으로 균형을 잡아주는 역할을 하게 된다. 고정 홀더가 없을 경우 오브젝트를 급격하게 움직일 경우 Pan/Tilt 메카니즘이 균형을 잃고 토끼처럼 점프하거나 넘어질 수도 있다.

일단 아두이노를 작동시키기 이전에 PixyMon소프트웨어를 깔아 Pixy 보드를 PC에서 인식시키고 컬러 학습을 시켜보기로 한다.
PixyMon 소프트웨어는 아래의 인터넷 주소에서 다운 받아 설치하자.

http://cmucam.org/projects/cmucam5/wiki/Install_PixyMon_on_Windows_Vista_7_8

PixyMon을 사용한 학습은 다음 편에 다룰 예정입니다.

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60385.11
ETH 2889.75
USDT 1.00
SBD 3.65