Up カメラの回転によるカメラ映像の変化 作成: 2021-05-20
更新: 2021-05-20


    カメラを2軸サーボのカメラマウントに装着し,そのカメラマウントを GoPiGo に装着する。

    カメラ映像の画面サイズを,640 × 480 とする。
    カメラ映像を,<カメラの1m前方の平面>の画像で考える。

    カメラを水平に deg 度回転するとき,画像の中心座標 (0, 0) にあった像は,座標 (x, 0) になる。
    この対応 : deg ↔x を,ここで調べる。


    装備

    作業
    1. カメラ映像は,MJPG-streamer を用いる
        システム使用手順
      1. PC から Raspberry Pi に ssh 接続
      2. Apache を起動
          $ sudo systemctl start apache2
      3. MJPG-streamer を,デーモンで起動 (画像サイズ 640 × 480):
          ~ $ ./mjpg.sh 640 480 1 50 &
      4. カメラ映像のストリーミングのページに,PC のブラウザで http 接続


    2. python のインタラクティブシェルで,サーボを操作
        $ python >>> import gopigo3 >>> GPG = gopigo3.GoPiGo3() >>> GPG.set_servo(GPG.SERVO_1, 1500) (このときカメラが正面を向くように,カメラマウントの向きを調節) (以下,数値をいろいろ変えて,対応 deg ↔ x を確定する  ── サーボが回り過ぎないよう,数値は 1000 〜 2000 ) (終了プロセス) >>> GPG.reset_all() >>> quit() $

    3. ストリーミング停止
      1. MJPG-streamer を停止:
          $ sudo pkill mjpg
      2. Apache を停止:
          $ sudo systemctl stop apache2


    結果
      対応 deg ↔ x は,おおよそつぎのようになった:
        servo deg x
        1500 0 0
        +100 +10 -100
        +200 +20 -200
        +300 +30 -300