0

使用 ArduCopter 作为 SITL 运行dronekit-python。在 set_position_local_ned_encode 中指定速度(仅)时,无人机会移动几秒钟并停止。

示例代码 (guided_set_speed_yaw.py) 和一个非常小的测试程序都会发生这种情况,该程序仅在适当的 init 之后执行 set_position。所有示例的所有其他部分似乎都可以正常工作。

全部在 Fedora 上运行。我不认为这被列为错误,或与此相关的任何问题。任何想法或指针表示赞赏。

4

2 回答 2

2

ArduCopter 3.3-rc9 增加了 3 秒的速度超时。这是为了防止丢失的连接导致飞走。要继续朝同一个方向飞行,只需重复发送同一个数据包即可。

于 2015-09-04T18:27:02.983 回答
0

对于未来的读者,Ardupilot的确切定义:

从 Copter 3.3 开始,速度命令应该每秒重新发送一次(如果没有收到命令,车辆将在几秒钟后停止)。在 Copter 3.3 之前,命令是持久的,只有在收到下一个移动命令时才会中断。

通过Dronekit

从 Copter 3.3 开始,如果在大约 3 秒内没有收到新消息,车辆将停止移动。在 Copter 3.3 之前,消息只需要发送一次,并且速度保持有效,直到收到下一个运动命令。示例代码适用于这两种情况!

于 2018-10-18T14:41:27.900 回答