2016-06-30 3 views
0

私のヘリコプターは特定の高度で打ち上げに戻りたいと思っています。今はArduPilot SITLのすべてを走っています。最初私はsimple_gotoを使用することを試みた()DroneKit - RTLの高度を設定する

vehicle.commands.download() 
vehicle.commands.wait_ready() 
finish_location = deepcopy(vehicle.home_location) 
finish_location.alt = flight_altitude 
vehicle.simple_goto(finish_location) 

simple_goto()は、他の場所のために正常に動作が、私はvehicle.home_locationを使用する場合、それはヘリコプターが高度-7.5mに下降して生じます。より多くのヘリコプターは下降しているだけで、finish_locationには飛ばない。

は、だから私はそれは良い作品が、私は私の希望flight_altitudeパラメータにRTLの高度を設定する方法を見つけることができませんRTLモード

self.vehicle.mode = VehicleMode("RTL") 

を使用しようとしました、それはデフォルトの15メートルで実行されます。

答えて

0

以下のコードは正常に動作します。

vehicle.commands.download() 
vehicle.commands.wait_ready() 
finish_location = deepcopy(vehicle.home_location) 
finish_location.alt = flight_altitude 
vehicle.simple_goto(finish_location) 

が動作しない理由を

vehicle.commands.download() 
vehicle.commands.wait_ready() 
target_location = LocationGlobalRelative(0, 0, 0) 
target_location.lat = vehicle.home_location.lat 
target_location.lon = vehicle.home_location.lon 
target_location.alt = target_altitude 

それでも私は理解していません。

0

RTL高度を設定する方法は、パラメータを使用する方法です。 あなたはそれが同じ高度で返すようにしたい場合は、ドキュメントを見てみましょう0

vehicle.parameters['RTL_ALT'] = 0 
vehicle.mode = VehicleMode("RTL") 

にパラメータを設定します。 http://ardupilot.org/copter/docs/parameters.html#rtl-alt-rtl-altitude

関連する問題