Raspberry pi + Navio+ コントローラー セットアップ
RaspberryPiを使ってマルチコプタ、飛行機、ローバー(自動車)、船などを自立航行ロボット化できるNavio+シールドです
SDカードイメージのダウンロード
Emlidが用意しているリアルタイムLINUXのSDカードイメージをダウンロードします。RaspberryPi1用とRaspberryPi2用がそれぞれ用意されています。
SDカードイメージをSDカードに書き込む
OSXではコマンドラインから書き込むのが簡単です。
[code]
#SDカードのディスクを探す
diskutil list
#ディスクをアンマウント
diskutil unmountDisk /dev/disk4
#書き込み
sudo dd bs=1m if=<イメージファイル>.img of=/dev/<disk番号>
#ex. sudo dd bs=1m if=2014-09-09-wheezy-raspbian.img of=/dev/disk4
[/code]
Navio+ボードとRaspberryPiを接続
RaspberryPi2の場合はそのまま。RaspberryPi1に接続する場合はSDカードスロット側に合わせて接続します。
初期セットアップ
電源を投入して、ローカルネットワークに接続しsshアクセス、またはRaspberryPiに直接HDMIディスプレイとキーボードを接続して設定を行います
初期ユーザーはpi、パスワードはraspberryです。
[code]
#raspberry piのIPでアクセス ホスト名はnavio-rpi
ssh pi@192.168.1.111
[/code]
USBのWiFiドングルを接続し、Wifiの設定などを行います。
/etc/wpa_supplicant/wpa_supplicant.conf 編集
[code]
network={
ssid="yourssid"
key_mgmt=WPA-PSK
psk="yourpasskey"
}
[/code]
APMをインストール
RaspberryPiにログインし以下のコマンドを実行します。
[code]
wget http://emlid.com/files/APM/apm.deb
sudo dpkg -i apm.deb
[/code]
APM起動
コンソールで次のコマンドを入力します。
以下のIPアドレスはグランドステーションのIPアドレスを指定します。
-quadの部分は機体に合わせて変更してください。
[code]
sudo ArduCopter-quad -A udp:192.168.1.2:14550
[/code]
APMがRaspberryPi起動時に自動起動するように/etc/rc.localに次の行を書き込みます
[code]
sudo ArduCopter-quad -A udp:192.168.1.2:14550 -C /dev/ttyAMA0 > /home/pi/startup_log &
[/code]
グランドコントロールステーションに接続
ArdupilotPlannerをダウンロードして、IPを指定して接続し初期設定を行います。
コマンドラインからAPMにアクセスするにはMAVProxyを使用します。MAVProxyはコマンドベースのグランドステーションソフトウェアです
[code]
pip install mavlink mavproxy console wp
[/code]
[code]
>mavproxy.py –master 192.168.1.2:14550 –console
[/code]
あとはAPMやPhixhawkと同様にESC、モーター、送受信機、バッテリー、GPSなどを接続し、初期設定するとフライト可能です
映像転送(ビデオストリーム)設定
Navio+とRaspberryPi2を使えば映像転送は非常に簡単に実現できます。(ビデオストリームはRaspberryPi2を使用してください)
リアルタイムビデオをPC、タブレット、スマートフォンなどに転送できます。
カメラハードウェア
RaspberryPiカメラモジュールを使った方法を説明します。USB-WEBカメラも使用可能です。Raspberry PiカメラモジュールはRFノイズが発生し、GPSに影響を与えるため、ケーブルとカメラモジュールをアルミニウム・銅のフォイル/テープでシールしてください。
インストール
RaspberryPiにソフトウェアをインストールします。
[code]
sudo apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav
[/code]
モニタ
モニタ側にLinuxを使用している場合は次のコマンドを入力
[code]
sudo apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav
[/code]
アンドロイドタブレットを使用する場合はQtGStreamerHUDアプリをインストール
OSXを使用する場合はbrewでのインストールが簡単です
[code]
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install gstreamer gst-libav gst-plugins-ugly gst-plugins-base gst-plugins-bad gst-plugins-good
[/code]
Windowsの場合はgstreamer for Windowsをインストール。
映像転送起動
コンピューター側のgstを起動するとRaspberryPiからの映像待機状態となります。ストリームが届くと映像が表示されます
[code]
gst-launch-1.0 -v udpsrc port=9000 caps=’application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264′ ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=f
[/code]
RaspbeeryPi側IPを指定して次のコマンドを入力します。これも/etc/rc.localで自動起動するようにしておくとよいでしょう。
[code]
raspivid -n -w 1280 -h 720 -b 1000000 -fps 15 -t 0 -o – | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=10 pt=96 ! udpsink host=<remote_ip> port=9000
[/code]
-b と -fps フラグでビットレートとfpsを設定できます