1

我正在尝试使用dronekit-python 为直升机设置围栏。我MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION此文档中找到了命令。

但是当我使用vehicle.message_factory.command_long_send(实际上是command_long_send文件 ardupilotmega.py 中的 MAVLink 类中的函数)时它不起作用,我也找不到mavutil.mavlink.MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION(所以我直接使用整数 5003)。

看了ardupilotmega.py的源码,发现里面有个函数叫fence_point_send,谁能告诉我怎么用?如何像Misson Planner 对python 所做的那样设置地理围栏?

4

1 回答 1

0

您应该使用此命令MAV_CMD_DO_FENCE_ENABLE来启用或禁用地理围栏。地理围栏有两个参数。

  1. FENCE_ALT_MAX:车辆可以达到的最大高度。
  2. FENCE_RADIUS :车辆可以移动的最大圆半径。

要更改代码中的参数,您应该使用PARAM_SET之类的函数并传递参数的名称和值。

PS:您可以使用诸如 Mission Planner、APM Planner2 或 Mavproxy 之类的 GCS 来完成所有这些工作。

于 2018-02-01T23:40:05.497 回答