カメラを2軸サーボのカメラマウントに装着し,そのカメラマウントを GoPiGo に装着する。
カメラ映像の画面サイズを,640 × 480 とする。
カメラ映像を,<カメラの1m前方の平面>の画像で考える。
カメラを水平に deg 度回転するとき,画像の中心座標 (0, 0) にあった像は,座標 (x, 0) になる。
この対応 : deg ↔x を,ここで調べる。
装備
作業
- カメラ映像は,MJPG-streamer を用いる
システム使用手順
- PC から Raspberry Pi に ssh 接続
- Apache を起動
$ sudo systemctl start apache2
- MJPG-streamer を,デーモンで起動 (画像サイズ 640 × 480):
~ $ ./mjpg.sh 640 480 1 50 &
- カメラ映像のストリーミングのページに,PC のブラウザで http 接続
- python のインタラクティブシェルで,サーボを操作
$ python
>>> import gopigo3
>>> GPG = gopigo3.GoPiGo3()
>>> GPG.set_servo(GPG.SERVO_1, 1500)
(このときカメラが正面を向くように,カメラマウントの向きを調節)
(以下,数値をいろいろ変えて,対応 deg ↔ x を確定する
── サーボが回り過ぎないよう,数値は 1000 〜 2000 )
(終了プロセス)
>>> GPG.reset_all()
>>> quit()
$
- ストリーミング停止
- MJPG-streamer を停止:
- Apache を停止:
$ sudo systemctl stop apache2
結果
対応 deg ↔ x は,おおよそつぎのようになった:
servo |
deg |
x |
1500 |
0 |
0 |
+100 |
+10 |
-100 |
+200 |
+20 |
-200 |
+300 |
+30 |
-300 |
|