23 7月

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カードスロット側に合わせて接続します。

52df1523b1429ee79abaf16e71f4f73c
IMG_5606

初期セットアップ

電源を投入して、ローカルネットワークに接続し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を設定できます