산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

라즈베리 파이로 팬/틸트 얼굴 추적

약간의 노력으로 나는 라스베리 파이를 사용하여 실시간으로 얼굴을 추적하면서 웹캠이 팬/틸트할 수 있도록 두 개의 서보 모터를 제어하는 ​​것이 처음에는 불가능하지 않다는 것을 발견했습니다. 약간의 신중한 조정과 코드 최적화를 통해 320×240에서 OpenCV 얼굴 감지를 실행하면서 오른쪽 프로필, 왼쪽 프로필 및 정면 얼굴을 찾고 서보를 초당 한 번보다 빠르게 조정하면서 파이가 두 개의 서보를 따라갈 수 있도록 할 수 있었습니다. .

1단계:하드웨어 구입

필요한 것:

A raspberry pi — Model A는 잘 작동합니다. 새 Model A(네트워크 제외)와 동일한 사양을 가진 원래의 Model B가 있습니다.
팬/틸트 브래킷
2개의 서보
GPIO 리빈 케이블
Pi 지원 웹캠 — Logitech C210 사용

이미 라즈베리 파이와 웹캠이 있다고 가정하면 추가 하드웨어는 약 $25를 실행합니다.

2단계:라즈베리 파이를 준비합니다.

공식 RaspbianOS(하드 플로트 버전)를 사용 중이고 최신 버전인지 확인하세요.
라즈베리 파이를 오버클럭할 수 있습니다. 저는 800mhz로 했습니다. 높이 올라갈수록 안면 인식은 빨라지지만 파이가 덜 안정적일 수 있습니다.

Python용 OpenCV 설치:sudo apt-get install python-opencv
Richard Hirst의 멋진 raspberry pi용 서보블래스터 서보 드라이버 받기:여기

모든 파일을 zip 아카이브로 다운로드하고 파이의 어딘가에 압축을 풉니다.
서보 블래스터 드라이버를 설치하려면 터미널과 CD를 열어 서보 블래스터 파일을 추출한 디렉토리로 이동하십시오.
실행 명령:make install_autostart

서보블래스터가 시간 초과되도록 설정하고 서보가 움직이지 않는 경우 1초 후에 서보에 신호 전송을 중지할 수 있습니다.
이렇게 하려면 다음 줄을 /etc/modules에 추가하세요. 서보블래스터 idle_timeout=1000

다음 명령으로 서보블라스터를 시작하십시오:sudo modprobe servoblaster

다음 작업은 카메라가 예상대로 작동하도록 하는 것입니다.

우선, 이것을 찾아 지적해 준 Gmoto에게 감사드립니다. 모든 것이 원활하게 실행되도록 하는 "pi"의 마지막 부분이었습니다. 모든 것이 제대로 실행되도록 하려면 uvcvideo 모듈에서 일부 매개변수를 조정해야 합니다.
즉, 다음 명령을 실행하세요.

rmmod uvcvideo
modprobe uvcvideo nodrop=1 timeout=5000 quirks=0x80

얼굴 추적 프로그램을 실행할 계획이라면 재부팅할 때마다 실행해야 합니다. 또는 서보블래스터 시간 제한 조정에서 했던 것처럼 /etc/modules에 매개변수를 추가해야 합니다.

3단계:장비 조립

지침에 따라 팬/틸트 브래킷을 만들고 서보를 부착합니다.
카메라를 브래킷 상단에 부착하고(저는 방금 테이프를 사용했습니다) 라즈베리 파이 USB 포트에 연결합니다.
저는 USB 허브 없이도 전원을 공급할 수 있지만 전원이 공급되는 USB 허브를 사용하고 싶을 수도 있습니다.

4단계:서보 연결

Servoblaster는 서보-0을 GPIO 4에 연결된 것으로 간주하고 서보-1은 GPIO-17에 연결된 것으로 간주합니다.
서보에는 3개의 와이어가 있습니다. 하나는 Vin/positive, 하나는 갈색 또는 검은색입니다. 접지/음극이고 다른 하나는 제어입니다.
리본 케이블(내 경우에는 구멍에 끼인 일부 커넥터 와이어)을 사용하여 각 서보의 제어 와이어를 올바른 핀에 연결합니다. 이 코드는 서보-0이 좌우 이동을 제어하고 서보-1이 카메라의 상하 이동을 제어한다고 가정합니다. 이 방법으로 연결하십시오.

이제 서보용 Vin은 GPIO의 5v 핀에서 나오고 서보용 접지는 GPIO의 접지 핀에서 오는 것이 상식인 것 같지만 제 경우에는 작동하지 않았습니다. 기지를 위한 더 큰 서보. 큰 서보는 파이가 공급하고자 하는 것보다 더 많은 전력을 끌어들였습니다. 그러나 문제 없이 작은 틸트 서보에 전원을 공급할 수 있었습니다. 또한 서보블래스터를 만든 Richard Hirst는 GPIO 5v로 여러 개의 소형 서보를 구동할 수 있다고 암시하는 것 같습니다. 또한 내 버전의 파이에는 나중에 해당 전원 핀과 관련하여 제거된 퓨즈가 있다는 것도 알게 되었습니다. 내 본능에 따르면 새로운 파이의 해당 핀에서 두 개의 작은 서보에 전원을 공급할 수 있습니다. 할 수 없는 경우 다음을 수행해야 합니다.

무거운 5v-6v 부하를 처리할 수 있는 일종의 외부 전원이 필요합니다. 저는 arduino에 내장된 전원을 사용했지만 5ish 볼트 전원이 있어야 합니다. 서보는 최대 6v 정격입니다. 컴퓨터 전원 공급 장치의 5v 핀, 5v-6v 벽면 충전기, 병렬로 연결된 일부 배터리 당신의 배를 띄우는 것은 무엇이든. 외부 소스가 있으면 서보의 양극 및 음극 라인을 전원의 양극 및 음극에 연결한 다음 외부 전원의 접지(음)를 raspberry pi GPIO의 접지 핀에 연결하기만 하면 됩니다.

5단계:프로그램 실행

이 기사에 python 스크립트를 첨부했습니다. 이 스크립트를 PiFace.py라고 하여 터미널의 해당 위치로 CD를 실행하고 다음을 입력합니다. python PiFace.py

다음은 작동 중인 내 동영상입니다.

자세한 내용:라즈베리 파이를 사용한 팬/틸트 얼굴 추적


제조공정

  1. DS18B20으로 온도 읽기 | 라즈베리 파이 2
  2. Raspberry Pi의 온도 모니터링
  3. RASPBERRY PI로 온도 측정
  4. Raspberry Pi로 온도 모니터링
  5. 센서 데이터와 Raspberry Pi 마이크로프로세서의 통합
  6. RPi가 있는 라인 추적 센서
  7. Raspberry Pi로 번개 감지
  8. 라즈베리 파이 볼 추적
  9. t cobbler plus가 포함된 라즈베리 파이 2 물 경보기
  10. 라즈베리 파이로 팬/틸트 얼굴 추적