2016-10-06 7 views
0

私は、次のリンクのサンプルコードmavlinkメッセージを使ってPX4オートパイロットを取り外す方法は?

http://android.dronekit.io/first_app.html

と私はAPI VehicleApi.getApi(this.drone).ARM(true)を設定するに従ってください。 vehicleState.isFlying()が自動的にtrueになります。

誰でもこの問題が何であるか教えていただけますか?

は何が必要なのである: 1.離陸、土地

私はdronekit-アンドロイドは、モード変更をサポートしていないいくつかのウェブサイトから読み取ります。その場合、離陸して着陸するためにmavlinkメッセージをどのように送信する必要がありますか? これまでのところ、PX4ボードにmavlinkメッセージを正常に送信できます。

返信いただきありがとうございます。

ありがとうございます。

BR SeanH

答えて

0

あなたはdronekit-アンドロイドのコードの一部もののトレースする場合は、isFlyingは、以下のコードでhereに設定されていることがわかります。

boolean isFlying = systemStatus == MAV_STATE.MAV_STATE_ACTIVE || ...; 

MAV_STATE_ACTIVEは、システムがアクティブで、すでに空中かもしれませんhere状態

を定義しました。モータが作動している。

従ってisFlyingisFlyingだからといって、それは空中ではなく、モーターの電源が入っているということです。これは、あなたがその時点で車両を文字通り武装させているため、VehicleApi.getApi(this.drone).arm(true);に電話をしたときに発生します。

離陸の場合は、ControlApiを使用します。 ControlApi.getApi(drone).takeOff(desired_altitude, listener)と使用する土地についてVehicleApi.getApi(drone).setVehicleMode(VehicleMode.COPTER_LAND, listener)

あなたが見ているサンプルコードは非常に古いです。私はgithubからsample appに従うことをお勧めします。

0

私は以前にアンドロイドドローンキットを試していませんでした。srcフォルダがgithubで2年以上更新されていないことに気付きました。 Pythonでpymavlinkと呼ばれ、のpython-dronekitに使用される強力なライブラリがありますので

私のアドバイスは、あなたがのpython-dronekitを使用します。必要に応じてハイパーアプリケーションを構築することができますが、最初に離陸してPythonに移植しようとします。

関連する問題