工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ラズベリーパイによるパン/チルトフェイストラッキング

少しの努力で、2つのサーボモーターを制御して、ウェブカメラがラズベリーパイを使用してリアルタイムで顔を追跡しながらパン/チルトできるようにすることは、最初は不可能ではないように思われるかもしれません。いくつかの注意深い調整とコードの最適化により、320×240でOpenCV顔検出を実行し、右プロファイル、左プロファイル、正面の顔を探し、1秒に1回よりも速くサーボを調整しながら、piが2つのサーボに追いつくことができました。 。

ステップ1:ハードウェアを入手します。

必要なもの:

ラズベリーパイ—モデルAは正常に機能します。新しいモデルA(マイナスネットワーク)と同じ仕様の元のモデルBがあります。
パン/チルトブラケット
2つのサーボ
GPIO Ribbin Cable
PiがサポートするWebカメラ— LogitechC210を使用しました

すでにラズベリーパイとウェブカメラを持っていると仮定すると、追加のハードウェアで約$ 25が実行されます

ステップ2:ラズベリーパイを準備します。

公式のRaspbianOS(ハードフロートバージョン)を使用していて、最新のものであることを確認してください。
ラズベリーパイをオーバークロックすることをお勧めします。私は800MHzにしました。高くなるほど顔認識は速くなりますが、パイの安定性が低下する可能性があります。

Python用のOpenCVをインストールします:sudo apt-get install python-opencv
Richard Hirstによるラズベリーパイ用の素晴らしいサーボブラスターサーボドライバーを入手してください:ここ

すべてのファイルをzipアーカイブとしてダウンロードし、piのどこかのフォルダーに抽出できます。
サーボブラスタードライバーをインストールするには、ターミナルとCDを開いて、サーボブラスターファイルを抽出したディレクトリに移動します。
runコマンド:make install_autostart

サーボブラスターが動かない場合は、サーボブラスターをタイムアウトにして、1秒後にサーボへの信号の送信を停止することをお勧めします。
これを行うには、/ etc / modulesに次の行を追加します。servoblasteridle_timeout=1000

次のコマンドでサーボブラスターを起動します:sudo modprobeservoblaster

次のタスクは、カメラを期待どおりに機能させることです。

まず第一に、これを見つけて指摘してくれたGmotoに感謝します。これは、すべてをスムーズに実行するための「pi」の最後のピースでした。すべてを正常に実行するには、uvcvideoモジュールのいくつかのパラメーターを調整する必要があります。
つまり、次のコマンドを実行します。

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

顔追跡プログラムを実行する場合は、再起動するたびに実行する必要があります。または、サーボブラスターのタイムアウト調整で行ったように、パラメーターを/ etc / modulesに追加します。

ステップ3:リグを組み立てる

指示に従ってパン/チルトブラケットを作成し、サーボを取り付けます。
カメラをブラケットの上部に取り付け(私はテープを使用しました)、ラズベリーパイのUSBポートに接続します。
私はUSBハブなしで電源を入れることはできますが、電源付きのUSBハブを入手してそれを実行することをお勧めします。

ステップ4:サーボを接続する

サーボブラスターは、サーボ0をGPIO 4に接続されているもの、サーボ1をGPIO-17に接続されているものと見なします。
サーボには3本のワイヤーがあり、1本はVin /正の赤、もう1本は茶色または黒です。はアース/ネガティブで、もう1つは制御です。
リボンケーブル(私の場合は、穴に詰まったコネクタワイヤ)を使用して、各サーボの制御ワイヤを正しいピンに接続します。このコードは、servo-0が左右の動きを制御し、servo-1がカメラの上下の動きを制御することを前提としています。このように接続してください。

サーボのVinはGPIOの5vピンから来て、サーボのグラウンドはGPIOのグラウンドピンから来るのは常識のようですが、私の場合は、ベース用のより大きなサーボ。大きなサーボは、パイが喜んで供給したよりも多くの電力を引き出しました。しかし、私は小さなチルトサーボに問題なく電力を供給することができました。また、サーボブラスターを作成したリチャードハーストは、GPIO5vで複数の小さなサーボを駆動できることを示唆しているようです。また、私のバージョンのpiには、これらの電源ピンに関連して後で削除されたヒューズがいくつかあることも学びました。私の本能は、新しいパイのそれらのピンから2つの小さなサーボに電力を供給することができると私に言います。できない場合は、次のことを行う必要があります。

重い5v-6v負荷を処理できるある種の外部電源が必要になります。私はarduinoに組み込まれているものを使用しましたが、5ボルトの電源ならどれでもかまいません。サーボの定格は最大6vです。コンピューターの電源装置の5vピン、5v-6vの壁の充電器、いくつかのバッテリーが並列に接続されています。あなたのボートを浮かぶものは何でも。外部ソースを入手したら、サーボからの正と負のラインを電源の正と負の側に接続し、次に外部電源からのアース(負)をラズベリーパイGPIOのアースピンに接続します。

ステップ5:プログラムを実行する

この記事にPythonスクリプトを添付しました。これは、PiFace.pyと呼ばれ、ターミナル内の場所にCDだけで実行し、次のように入力します:python PiFace.py

これが私の動作中のビデオです。

詳細:ラズベリーパイを使用したパン/チルトフェイストラッキング


製造プロセス

  1. DS18B20で温度を読み取る|ラズベリーパイ2
  2. ラズベリーパイの温度監視
  3. RASPBERRYPIによる温度測定
  4. ラズベリーパイで温度を監視する
  5. センサーデータとRaspberryPiマイクロプロセッサーの統合
  6. RPiを備えたライントラッキングセンサー
  7. ラズベリーパイで雷を検出する
  8. ラズベリーパイボール追跡
  9. tコブラープラス付きラズベリーパイ2ウォーターアラーム
  10. ラズベリーパイによるパン/チルトフェイストラッキング
  11. ラズベリーパイに最適なアクセサリー