Raspberry PiによるWeb遠隔無線制御カー

スマホやタブレットのWebブラウザを使って遠隔地から操作できる移動車を作った。

仕様

駆動方式左右独立クローラ
動力DCモータ2台
モータ制御方式PWM
電源リチュウムイオンバッテリ
装備USBカメラおよびLEDによる照明
操作方法無線LAN経由Webブラウザによる
大きさ長さ19cm 幅10.5cm 高さ14cm(すべて約:-p)
総重量約700g

主な部品

Raspberry PiModel B Rev1.0 BS1224
Raspberry Pi ケースRSコンポーネンツ ASM1900004_11
バッテリANKER Astro2
無線LANドングルPLANEX GW-USValue-EZ
カメラLogicool C270
モータユニットTAMIYA 70097 ツインモーターギヤーボックス
車体ベースAMIYA 70157 ユニバーサルプレート 2枚セット
車輪AMIYA 70100 トラック&ホイールセット
モータドライブ基板自作(下記のとおり)
その他アルミ版T=1mm M3金属製六角スペーサL=35mm M3ビス

バッテリ消費量の見積もり

使用したバッテリは3.7V/8400mAhなので変換効率90%で5Vで出力した場合、5600mAhとなる。Raspberry PiにWiFiドングルとWebカメラを接続して使用した場合、実測値によると600mA程度の消費電流なので、まったく走行させなかった場合、つまり無線ネットワークカメラと同等の状態では、9.3時間という計算になる。一方走行した場合は、上記に加えて走行した時間分だけ消費すると考えられる。使用したモータFA-130の適正電流は500mAなので、PWMのデューティーレシオ75%で制御したとすると左右2台分で750mAとなる。しかし、路面の状態等により一時的な過負荷が生じることやドライバーICでのロスなどを考慮し、2倍の1500mAで見積もってみる。すると、本体とWiFiドングルとWebカメラの分も合わせて全体で、2100mAを消費することなる。従って、連続して走行すると2.6時間という計算になる。

モータドライブ基板

モータドライバIC TA7291Pの使用条件(実測値)

Vcc = 5.0V
Vs  = 4.73V
Vref = 3.4V

組立

ソフトウェア

Raspberry PiのOSバージョン

2012-12-16-wheezy-raspbian

  1. $ uname -a
  2. Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux

WebIOPiをインストール

  1. $ wget http://webiopi.googlecode.com/files/WebIOPi-0.5.3.tar.gz
  2. $ tar xvzf WebIOPi-0.5.3.tar.gz
  3. $ cd WebIOPi-0.5.3/
  4. $ sudo ./setup.sh

mjpg-streamerをインストール

  1. $ sudo apt-get install subversion
  2. $ sudo apt-get install libjpeg-dev imagemagick
  3. $ svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer
  4. $ cd mjpg-streamer/mjpg-streamer
  5. $ make
  6. $ make install
  7. install --mode=755 mjpg_streamer /usr/local/bin
  8. install --mode=644 input_uvc.so output_file.so output_udp.so output_http.so input_testpicture.so input_file.so /usr/local/lib/
  9. install --mode=755 -d /usr/local/www
  10. install --mode=644 -D www/* /usr/local/www

PythonスクリプトとWebページを作成

cambot2.py

index.html

  1. $ mkdir cambot2
  2. $ nano cambot2.py
  3. $ nano index.html

Webブラウザ画面対応するWebブラウザはChrome、Safari、Opera

前進
後退
>右旋回
<左旋回
Search LightLED点灯・消灯
Right Speed Adj.右速度調整
Left Speed Adj.左速度調整

rc.localの最後に追加

  1. $ sudo nano rc.local
  2.  :
  3.  :
  4. (cd /home/pi/cambot2 ; sudo python cambot2.py) &
  5. export PLUGINPATH=/usr/local/lib
  6. sudo mjpg_streamer -i "$PLUGINPATH/input_uvc.so -f 25 -r 320x240 -d /dev/video0" -o "$PLUGINPATH/output_http.so -w /usr/local/www -p 8001" &
  7. exit 0

モータのノイズでRaspberry Piが誤動作しないための対策

電源周りのノイズ実測結果

CH-1:Raspberry Pi の5V電源(TP1-TP2間)の電圧
CH-2:サーボドライバのモータ供給電源の電圧Vs

モータを駆動しない場合

PWMのデューティーレシオ50%でモータを駆動した場合

PWMのデューティーレシオ75%でモータを駆動した場合

Raspberry Pi の5V電源に誤動作を及ぼすようなレベルのノイズや電圧低下は見られなかった。

CH-1:モータ出力電圧
CH-2:モータのPWM制御電圧Vref≒3.4V

使用感

参考MagPi Issue 9 - Feb 2013

2013年02月17日