使用pymavlink或dronekit-python进行地理围栏

时间:2017-11-18 09:14:07

标签: python arduino dronekit-python mavlink

我试图使用dronekit-python为直升机设置围栏。我在this document中找到了MAV_CMD_NAV_FENCE_CIRCLE_INCLUSION命令。

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

在阅读了ardupilotmega.py的源代码后,我发现有一个名为fence_point_send的函数,所以有人能告诉我如何使用它吗?如何使用python将what Misson Planner do设置为地理围栏?

1 个答案:

答案 0 :(得分:0)

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

  1. FENCE_ALT_MAX:车辆可以达到的最高海拔高度。
  2. FENCE_RADIUS:车辆可以移动的最大圆半径。
  3. 要更改代码中的参数,您应使用PARAM_SET之类的函数,并传递参数的名称和值。

    P.S:您可以使用GCS(如Mission Planner,APM Planner2或Mavproxy)完成所有这些工作。