23 12月

Navio2リリース 

Navioオートパイロットの新バージョンとなるNavio2が発表されました!

Navio2Features

Copter

Navio2ThreeQuatersView

Navio2WithPaspberryPi

Navio2はコミュニティからのリクエストも受け様々な機能が向上しています。

【Navio2の新機能】

デュアルIMU : フライト性能と冗長性の向上のため、セカンドIMUチップを搭載しました

電源回路向上:Navio+から実装済みのトリプルOR接続ダイオード回路に加え、Navio2は過電圧、過電流保護機能を加え、ボードとRaspberryPiを保護します。

MS5611性能の向上:ノイズの発生を抑えるため、MS5611をI2Cバス上にのみ使用しています

PCA9685 PWMジェネレータをマイクロコントローラーに置き換え:以前のバージョンのNavioではPCA9685チップを PWM生成に使用していました。このチップはチャンネル毎に周波数をコントロールすることができませんでした。これは異なる周波数で動作するモータとサーボの場合の問題となります。この問題を解決するために出力チャンネルのグループ毎に周波数を設定できるマイクロコントローラに置き換えしました

PPM/SBUSはDMAの代わりにマイクロコントローラでデコーディング:Navio+ではPPMシグナルのサンプルにDMAを使用しており、これはシステムの負荷になっていました。Navio2ではPPM/SBUSを扱うマイクロコントローラを搭載したため、RaspberryPi2のプロセッサを別のタスクに使用することができます

AUX SPI:Navio2はRaspbeeryPiのAUX SPIコントローラーを使用する最初のHATです。二つのSPIコントローラーを使用することで、より効率的にセンサーを使用することができます。RaspbeeryPiベースのソリューションに2倍バンド幅を持つことで、より多くのデータをより早いスピードで処理できます

ADCポート:ボードの下にあるためNavio+でADCチャンネルを使用することはユーザーフレンドリーではありませんでした。Navio2ではDF13ポートでより簡単にアクセスできます

よりよいLinux統合:PWM、ADC、SBUS、PPMはLinux sysesで統合されどのプログラム言語からもより簡単にアクセスできます。

【他の小さな変更】

  • サーボヘッダーを右側に
  • よりよりLEDの可視性のためRGB LEDの位置を中央に
  • UARTポートのプルアップピンで3DRの無線接続が簡単に
  • 磁気の影響を押させるためナイロンスクリューに
  • カメラケーブル用スルーホール
  • ESDクランプでPWMチャンネルを保護

購入

Navio2のご購入はこちらから


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を設定できます

18 2月

マルチコプター制作ワークショップ DIY DRONE

IMG_4488

マルチコプター(ドローン)作成のワークショップを行いました。必要なハンダ付けや、機体の組み立て、送受信機やAPMの設定などなど、作業は多岐に渡ります。
数時間で機体はほぼ完成できました。あとは、飛ばし方の基本、安全管理、飛ばしながらPIDの設定などの講習を行います。

ぜひワークショップで自分のマルチコプターを作ってみたいという方、お気軽にお問い合わせください。

29 1月

ArduPilot自動PIDチューニング AutoTune APM

APMの自動PID調節機能はArduCopter3.1-rc5以降のバージョンで利用できます。「Stabilize P、Rate P、D」をオートチューン機能を使って自動的に値を設定することができます。

手順は、
0. MissionPlannerのPIDの値をすべてメモしておく。
1. MissionPlannerを使ってCH7をAutoTuneに割当ます。
2. MissionPlannerを使って、ModeをAltHoltに設定できるようにする。
3. Stablizeモードで離陸し、7m程上空でAltHoldモードに切り替える。
4. AutoTuneをオンにする。
5. 自動的にロール方向と、チルト方向にコプターが傾く動作をはじめる。
6. 自動調整動作が止まるまで待つ。PID調整中もコントロールは可能なので、流れるようならポジションを調節する。
7. 傾く動作が止まると、stablizeモードに戻して操作する。
8. 新しいPIDと、古いPIDはCH7のスイッチを使って切り替えが可能。
9. 新しいPIDがよければAutuTuneのスイッチがオンになったままの状態で、ランディングし、ディスアームドモードに変更することでコントローラーに書き込まれる。
10. 古いPIDがよければAutoTuneのスイッチをオフにして、ランディングすると、新しいPIDの値は書き込まれずに消去される。
11. MissionPlannerを立ち上げ、新しいPIDの値を確認する。

27 11月

ArduPilotファクトリーリセット方法

すべての設定を消去して、APMのファクトリーリセットを行いたい場合があると思います。

その場合はMissionPlannerのターミナルを起動し、APMに接続(Connect)し、コマンドラインから

setup

と入力し、エンターキー。次に、

reset

と入力します。本当に工場出荷状態に戻すか聞かれますのでYを押してリセットを行います。設定値などはすべて消えますので必要なパラメータはメモしておいてください。

再度ターミナルからAPMに接続し、

setup

次に

erase

とコマンドを入力します。これでリセット完了です。