今回はさらにマニアックな深堀の備忘録。ロボットが首を動かして人の顔を追尾するようにする。
用意するもの
- raspberry pi(3B+)
- カメラ(picamerav2.1)
- arduino UNO(互換品)
- サーボ2個(SG90)
- 好みで頭っぽい物(昭和のロボ型扇風機の頭)
()内は今回使う物。この辺は各自の環境で読み替えていただいたらヨロシ。前回までができてることが前提。
まずはラズパイのOpenCVをインストールする。2019/10/20現在ではraspbianはBuster、OpenCVは4になってる。この環境で問題なく動く。
Install OpenCV 4 on Raspberry Pi 4 and Raspbian Buster - PyImageSearch
In this tutorial, you will learn how to install OpenCV 4 on the Raspberry Pi 4 and Raspbian Buster. You will learn how t...
↑ここを参考にすればOpenCVが問題なくインストールできるのでおススメ。
済んだら、顔検知ができるようにしていく。
Automatic Vision Object Tracking
A pan/tilt servo device helping a camera to automatically track color objects using vision. By MJRoBot (Marcelo Rovai).
Real-Time Face Recognition: An End-to-End Project
We will learn step by step, how to use a PiCam to recognize faces in real-time. By MJRoBot (Marcelo Rovai).
↑2つの記事を組み合わせるとジロジロ見てくるようにできる。
以下コード
sketch
python
分かる方、いいように変えて使ってください。
arduinoとの連携だと、今の所カクカク動かすのが限界。将来的に2ケタくらいのサーボを一括制御したいので、arduinoとのシリアル通信でやってみたけど逆に難度が上がっててめんどい。微調整も上手くいかないし。
2つまでだとラズパイのGPIO制御で動かせるはずなので、首は直接制御で胴から下はarduinoとかに切り替えてみようかと思う。
次回は直接制御かな。
コメント