2

我一直在尝试 DroneKit Python,并一直在使用提供的一些示例。在了解了使用 DroneKit 的一些知识后,我开始编写一些 python 代码来执行单个任务。我唯一的问题是我的任务的起始位置始终默认为Lat = -35.3632605, Lon = 149.1652287- 即使我已将主位置设置为以下:

start_location = LocationGlobal(51.945102, -2.074558, 10)

vehicle.home_location = start_location

为了在模拟环境中设置无人机的起始位置,我错过了 api 中的其他内容吗?

4

2 回答 2

0

您实际上可以通过将 args 添加到 SITL 启动代码中来使用 python 脚本中的自定义 args 启动 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)
于 2018-08-19T05:55:54.310 回答
0

通过使用以下命令启动 DroneKit SITL 解决了问题:

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

现在开始在所需位置而非澳大利亚的默认位置模拟无人机!

于 2018-08-17T20:32:47.613 回答