このチュートリアルは以下の作業の習得を目的としています。なお、ホストPCとしてUbuntu14.04を使用します。
- サンプルコードを実行し、PythonコードでPhenoxを飛行させるための基本的な方法を例示します。
- PythonコードでPhenoxを飛行させる際、安全上注意すべき点を確認します。
本チュートリアルの前にPythonでのプログラム実行を完了していることが前提となっています。また飛行に際しては以下のことに注意してください。
- 屋内環境下で 3m x 3m 以上の、障害物の無い、平坦な地面をしたスペースを用意してください。
- 空調などの風が起こる装置はあらかじめ切っておきます。
1. Phenox2 へログイン
プロジェクトのビルドを参考に、Phenox2にsshでroot
としてログインしてください。
2. プログラムの実行: 状態量の確認
このプログラムは以下の動作を行います。
- Phenoxライブラリの初期化
- ユーザーによって笛が鳴らされるまで待機
- 笛の音に反応して離陸
- ホバー状態に入り、その場静止をするように飛行制御
まず待機状態のPhenoxの各種状態量を確認してみましょう。以下のコマンドでプログラムを実行します。
cd /root/phenox/work/tutorial_python
python ./autohover.py
プログラム開始時にはPhenox2がジャイロセンサーなどの初期化を行うので、必ずPhenox2を安定した場所で静止させて、手に持つことはしないで下さい。開始から3秒程で初期化は完了し、 CPU0:Finished Initialization.
というメッセージが現れます。
初期化が完了すると状態量が表示されます。状態量の数字は、それぞれ px_selfstate
構造体のメンバー変数 (degx
, degy
, degz
, vision_tx
, vision_ty
, vision_tz
, height
)を表しています。状態量の表示が開始されたら、Phenox2 を持ち上げて、動かし、各状態量が変化することを確認してみてください。また本チュートリアルでは確認できませんが、C言語版チュートリアルであるPhenoxの飛行で触れられているように、地面上に特徴点があることが安定した飛行の条件となるため、床面の環境を確認してください。
3. プログラムの実行: 飛行
地面の環境整備が完了したら、Phenox2を地面の上に置き、Phenox2の近くで笛を大きく吹いてください。離陸が始まります。笛の音を検出すると3秒間のスタートアップ状態の後、上昇 (PX_UP
) し、ホバー状態 (PX_HOVER
) となり, 高度方向、水平方向に状態を保つように飛行制御が行われます。ホバー状態から笛の音を再び検出するか、Phenox2の足を掴んで大きく傾けることで、Phenox2の飛行を止めることができます。