このチュートリアルでは、以下の作業の習得を目的に、具体的な手順を示します。なお、ホスト PC として Ubuntu14.04 を使用します。

  1. Phenox2 を電池から起動し、ssh 通信により接続します。
  2. ホストPCにPS3コントローラを接続し、ホストPCからPhenox2を操縦します。

飛行に際しては以下のことに注意してください。

  • 屋内環境下で 3m x 3m以上、天井高さが2.5m以上の、障害物の無い平坦な地面をしたスペースを用意してください。
  • 蛍光灯などの照明がよく当たるようにします。
  • 空調などの風が起こる装置はあらかじめ切っておきます。
  • 飛行中のPhenox2は足を捕まえて大きく傾けることで停止できることを常に頭に入れて下さい。

0. ホストPC上での準備

初めて本チュートリアルを実行する場合、ホストPC上で「joystick」パッケージ,「jstest-gtk」パッケージをインストールします。

hostpc@ sudo apt-get install joystick jstest-gtk

ホストPC上で、以下のリンクから手動操縦プログラム(phenox_manual)をダウンロードし、展開とビルドを実行してください。

hostpc@ wget http://phenoxlab.com/static/phenox_manual.tar.gz
hostpc@ tar zxvf phenox_manual.tar.gz
hostpc@ cd phenox_manual
hostpc@ make clean all

以下の写真のように、USBケーブルを介してホストPCにPSコントローラを接続すると、「/dev/input/js0」などとしてデバイスが認識されることを確認してください。 図 1 PS3コントローラとホストPC

図 1 PS3コントローラとホストPC

jstest-gtkを実行し、PS3コントローラの入力が効いている状態になっていることを確認してください。(ボタンが効かない場合、中央にあるロゴのボタンを押してみて下さい。)

hostpc@ jstest-gtk

1. ssh接続によるPhenox2 へのログイン

まず、メイン回路が4ヶ所のシリコンリングに挟まっていることを確認してください。電源について を参考に、電池を使用した電源のセットアップを実行し、通信方法についてを参考に、ssh通信のセットアップと電源の投入を行い、ホストPCがssh通信を経由してPhenox2へのログインを完了したところまで進んでください。

2. プロジェクトの作成

チュートリアルプロジェクトをコピーし、カスタムプロジェクトを作成します。

cd /root/phenox/work/
cp -a tutorial_manualnet myproject_manualnet

3. プロジェクトのビルド

まずは、先ほどコピーした tutorial_manualnet と同じ内容で myproject_manualnet をビルドしてみます。

phenox# cd /root/phenox/work/myproject_manualnet
phenox# make clean all

これで、実行ファイル main が作成されました。

4. プログラムの実行: 状態量の確認

このプログラムは以下の動作を行います。

  1. Phenox ライブラリの初期化
  2. TCPサーバを立ち上げ、ホストPCからのTCPクライアントの接続を待つ
  3. クライアントの接続が完了すると、ボタンの入力に応じて飛行制御を行う

以下のコマンドでプログラムを実行します。

phenox# ./main

プログラム開始時には Phenox2 がジャイロセンサーなどの初期化を行うので、必ず Phenox2 を安定した場所で静止させて、手に持つことはしないで下さい。開始から3秒程で初期化は完了し、 CPU0:Finished Initialization. というメッセージが現れます。万が一、この間に手で持つなどした場合は、初期化が完了しません。その場合はCtrl-cでプログラムを停止し、"reboot"コマンドで再起動します。

5.ホストPCでの手動操縦プログラムの実行

初期化の完了したPhenox2を、フロントカメラが前方を向くように、広く平坦な地面の上に置いてください。

ホストPCから、手動操縦プログラム(phenox_manual)を実行します。(「/dev/input/js0」の部分はユーザーの環境に応じて変更してください。)

hostpc@  cd phenox_manual
hostpc@ ./phenox_manual /dev/input/js0 192.168.2.1

正しく接続された場合は「connected to client.」というメッセージが表示されます。本チュートリアルでは、単純化のために3種類の入力(離陸、着陸、前後左右の移動)を用意しました。
- X・・・下降
- △・・・上昇
- 左スティック・・・degx,degyの制御
離陸させるには、△ボタンを押してください。3秒間のスタートアップの後、上昇を開始します。上昇から2秒程度経過後、水平方向の操縦が可能になるので、左スティックをゆっくりと動かしてみてください。。左右の動きで機体が左右に動き、上下の動きで機体が前後に動きます。
着陸させるには、Xボタンを押してください。即座に停止したい場合は、Phenox2 の足の1つを手で掴み、大きく傾けて下さい。

8. シャットダウン

シャットダウンさせる際は、"halt"コマンドを実行した後、電源スイッチをOFFにしてください。

phenox# halt