大失敗!リモコンCAM-PROGRAM ROBOTにカメラを搭載しようとしたが…

2020年5月5日

前回の記事(WEBカメラで動画ストリーミングをやってみる)で、USBカメラから動画をブラウザ上に表示することに成功しました。

今度は、これをリモコン化したカムロボット(CAM-PROGRAM ROBOT をリモコン化してみた!)に載せて、カムロボに視覚を与えようと思います。

そうすれば、ブラウザ上に移った動画を見ながら、たとえ、カムロボが見えない場所にあっても操作ができるようになるというわけです。

前回の記事では、コマンドを打つことでストリーミングを可能にしましたが、このままでは扱いづらくてしようがないですね。

そこで、起動及び停止用シェルを作成し、操作を楽にするとともに、カムロボ用の HTML に組み込んでみましょう。

スポンサーリンク

起動及び停止shellの準備

始めに、起動及び停止shellを作成します。

起動用shell

参考記事を基に、起動用shell mjpg_streamer_start.sh を作成しました。

!/bin/bash
if pgrep mjpg_streamer > /dev/null
then
echo "mjpg_streamer already running"
else
LD_LIBRARY_PATH=/opt/mjpg-streamer/ /opt/mjpg-streamer/mjpg_streamer -i "/opt/mjpg-streamer/input_uvc.so -d /dev/video0 -r 640x480 -f 10 -y -n" -o "/opt/mjpg-streamer/output_http.so -w /opt/mjpg-streamer/www -p 8080" > /dev/null 2>&1&
echo "mjpg_streamer started"
fi

停止用shell

停止用shell mjpg_streamer_stop.sh も用意します。

!/bin/bash
if pgrep mjpg_streamer
then
kill $(pgrep mjpg_streamer) > /dev/null 2>&1
echo "mjpg_streamer stopped"
else
echo "mjpg_streamer not running"
fi

自動起動する場合は、/etc/rc.local の exit 0 の前行に、この shell を起動する一文を挿入すれば良いわけですが、今回は行いません。


カムロボへのカメラ搭載

USBカメラを、CAM-PROGRAM ROBOT に搭載しました。

そして、HTML に、カメラ表示の一文を追加します。

<img width="640" height="480" src="https://192.168.XXX.XXX:8080/?action=stream"/>

これを、以下のコードの直前の行に設定します。

</body> 

始めに先ほど作成した起動用shellを動かして、mjpg_streamer を起動します。

そして、 CAM-PROGRAM ROBOT を起動しましょう。 以下、実行結果です。

CAM-PROGRAM ROBOT をコントロールするボタンの下にストリーミング映像が表示されました。

これで画面を見ながらカムロボを操作することが可能になりましたね。

さて、実験は終了しました。最後は、モバイルバッテリーにて動作させれば終了です。

いよいよ、カメラ搭載の CAM-PROGRAM ROBOT が起動します。

ところが・・・

PANASONIC充電式リチウム電池 QE-PL102 で実行しようとすると、USBカメラが点灯するのですが、数秒後、カメラが消灯してしまいます。

この電池、定格出力 DC5V 1A で、バッテリー容量:3.7V/2700mAh(10Wh)です。

これは、電源の問題だろうと勝手に当たりを付けまして、BUFFALO の iBUFFALO に変更して実施してみました。

すると、ラズパイのみの時は問題なく稼働しますが、USBカメラを接続してから、しばらく経つとラズパイの電源が落ちてしまいます。

こちらの電池は、定格出力 DC5.0V/2.1A、バッテリー容量:DC3.63V/5200mAh なんですが、この体たらくです。

USBカメラが電源を食い過ぎて、ラズパイとUSBカメラを同時に起動できないんです!

ということで、現在、この設定でのカメラ付きリモコン戦車の稼働は宙に浮いてしまいました。

ラズパイカメラを購入して対応するかどうか考えています!

最後に

うーん、いい所まで行ったものの、最後は電源の問題で画面上からのロボット操作は失敗しました。

最後に言ったラズパイカメラを購入すれば、この問題は解決できると思います。

正規のカメラは高いけど、中国製のカメラなら何とかなると思います。

カメラ購入後、再チャレンジ…ですね。

■ラズパイでリモコン挑戦した記事は多々あります。

※参考
ブラウザから操作できるライブ(監視)カメラを作る(Mjpg-streamer 編)!

スポンサーリンク
この記事を書いた人

60爺

60路を越え、RaspberryPi と出会い、その関係でブログ開設(2017/2~)となりました。始めてみると、コツコツやるのが性に合ってしまい、漢字の記事から家の補修・将棋・windows10関係・別名・言い方などジャンルを拡大して今に至ってます。まだまだ、元気なので新たな話題を見つけて皆様に提供できればと思っています。「プロフィールはこちら