Python DroneKit — место старта дрона

Я пробовал DroneKit Python и работал с некоторыми из предоставленных примеров. Получив некоторые знания о работе с DroneKit, я начал писать код на Python для выполнения одной миссии. Моя единственная проблема заключается в том, что начальное местоположение для моих миссий всегда по умолчанию равно Lat = -35.3632605, Lon = 149.1652287, хотя я установил следующее исходное местоположение:

start_location = LocationGlobal(51.945102, -2.074558, 10)

vehicle.home_location = start_location

Есть ли что-то еще в API, которое я упускаю, чтобы установить начальное местоположение дрона в среде моделирования?


person Kapi    schedule 15.08.2018    source источник


Ответы (2)


Проблема решена путем запуска DroneKit SITL с помощью следующей команды:

dronekit -sitl copter --home=51.945102,-2.074558,0,180

Теперь это запускает симуляцию дрона в нужном месте, а не в месте по умолчанию в Австралии!

person Kapi    schedule 17.08.2018

На самом деле вы можете запустить SITL с пользовательскими аргументами из скрипта Python, добавив аргументы в код запуска SITL, вот простой пример:

from dronekit_sitl import SITL
from dronekit import Vehicle, connect

sitl = SITL()
sitl.download('copter', '3.3', verbose=True)
sitl_args = ['-I0', '--model', 'quad', '--home=51.945102,-2.074558,0,180']
sitl.launch(sitl_args, await_ready=True, restart=True)
connection_string = 'tcp:127.0.0.1:5760'
print("Connecting to vehicle on: %s" % connection_string)
vehicle = connect(connection_string, wait_ready=True, baud=57600)
person Agustinus Baskara    schedule 19.08.2018
comment
Спасибо за помощь - похоже, это лучший способ установить стартовое местоположение, чем каждый раз запускать команду в окне терминала! - person Kapi; 20.08.2018