飛行の様子(動画)
このチュートリアルでは、以下の作業の習得を目的に、具体的な手順を示します。なお、ホスト PC として Ubuntu14.04 を使用します。
- 色マーカーを用意し、Phenox2を色マーカーに追従するように制御を行います。
飛行に際しては以下のことに注意してください。
- 屋内環境下で 3m x 3m以上、天井高さが2.5m以上の、障害物の無い平坦な地面をしたスペースを用意してください。
- 蛍光灯などの照明がよく当たるようにします。
- 空調などの風が起こる装置はあらかじめ切っておきます。
- 飛行中のPhenox2は足を捕まえて大きく傾けることで停止できることを常に頭に入れて下さい。
- 本チュートリアルでは、緑色の紙をマーカーとして地面に張り付けます。そのため、緑色でない床面を用意してください。
0. 色マーカーの準備
ホストPC上で以下URLから色マーカーのPDFファイルをA4サイズでダウンロード・印刷し、飛行スペースの中央の地面に貼り付けてください。
http://phenoxlab.com/static/colored_mark.pdf
また、色マーカーと似たような色は、飛行スペースに映らないようにします。(色フィルタ関数のパラメータの初期値では、まわりの床が白っぽい方が色マーカーを検出しやすくなっています。)
1. ssh接続によるPhenox2 へのログイン
まず、メイン回路が4ヶ所のシリコンリングに挟まっていることを確認してください。電源について を参考に、電池を使用した電源のセットアップを実行し、通信方法についてを参考に、ssh通信のセットアップと電源の投入を行い、ホストPCがssh通信を経由してPhenox2へのログインを完了したところまで進んでください。
2. プロジェクトの作成
チュートリアルプロジェクトをコピーし、カスタムプロジェクトを作成します。
phenox# cd /root/phenox/work/
phenox# cp -a tutorial_colormark myproject_colormark
3. プロジェクトのビルド
まずは、先ほどコピーした tutorial_colormark と同じ内容でmyproject_colormark をビルドしてみます。
phenox# cd /root/phenox/work/myproject_colormark
phenox# make clean all
これで、実行ファイル main
が作成されました。
4. プログラムの実行: 状態量の確認
このプログラムは以下の動作を行います。
- Phenox ライブラリの初期化
- ユーザーによって笛が鳴らされるまで待機
- 笛の音に反応して離陸
- ホバー状態に入り、色マーカーに追従するように飛行します。
それでは、まず、待機状態の Phenox の各種状態量を確認してみましょう。
以下のコマンドでプログラムを実行します。
phenox# ./main
プログラム開始時には Phenox2 がジャイロセンサーなどの初期化を行うので、必ず Phenox2 を安定した場所で静止させて、手に持つことはしないで下さい。開始から3秒程で初期化は完了し、 CPU0:Finished Initialization.
というメッセージが現れます。万が一、この間に手で持つなどした場合は、初期化が完了しません。その場合はCtrl-cでプログラムを停止し、"reboot"コマンドで再起動します。
5. プログラムの実行: Phenox2のメッセージ確認
色マーカーの真上にPhenox2をかざしたときに、色マーカーが出てきた旨のメッセージが出現することを確認ください。もしメッセージが出ない、あるいは出づらい場合は、main.c内のパラメータ("min_y,max_y,min_u,max_u,min_v,max_v")を変更してください。
逆に、色マーカーの無い飛行スペース上では、メッセージが出現しないことを確認ください。
6. プログラムの実行: 飛行
地面の環境整備が完了したら、Phenox2 を地面に貼り付けた色マーカーの真上に置き、Phenox2 の近くで笛を大きく吹いてください。離陸が始まります。笛の音を検出すると 3 秒間のスタートアップ状態の後、上昇 (PX_UP
) し、ホバー状態 (PX_HOVER
) となり, 高度方向、水平方向に状態を保つように飛行制御が行われます。
ホバー状態になったら、機体下向きの障害物として超音波センサが反応しないよう配慮しながら、緑色のマーカーを下向きカメラの視野に収まる範囲で動かしてみてください。Phenox2が追従することを確認できます。
7. プログラムの実行: 飛行状態の停止
Phenox2 の 飛行を止める場合は、Phenox2 の足の1つを手で掴み、大きく傾けて下さい。不安な方は手袋を着用することをお勧めします。この機能は、全てのユーザープログラムに明示されてはいないものの、飛行制御用CPUの機能として備わっています。
8. シャットダウン
シャットダウンさせる際は、"halt"コマンドを実行した後、電源スイッチをOFFにしてください。
phenox# halt