【问题标题】:Python DroneKit - Drone start locationPython DroneKit - 无人机起始位置
【发布时间】:2018-08-15 20:26:34
【问题描述】:

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

start_location = LocationGlobal(51.945102, -2.074558, 10)

vehicle.home_location = start_location

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

【问题讨论】:

    标签: dronekit-python


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      您实际上可以通过将 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)
      

      【讨论】:

      • 感谢您的帮助 - 设置开始位置似乎比每次都在终端窗口上运行命令更好!
      猜你喜欢
      • 1970-01-01
      • 2017-10-05
      • 2018-09-04
      • 2017-09-11
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      相关资源
      最近更新 更多