如何使用DroneKit库设置MAV_CMD_NAV_WAYPOINT航点的飞行速度?
降低Pixhawk任务飞行速度的解决方案
完全可以降低无人机任务飞行速度,有两种实用方法,其中你提供的代码参数确实可以调整,具体如下:
1. 单独设置单个航点的通过速度
你当前使用的MAV_CMD_NAV_WAYPOINT命令中,第4个参数(对应代码里的第7个位置,索引从0开始数是param3)就是该航点的期望通过空速(单位:m/s)。你现在代码里这个参数设为0,飞机会自动使用全局默认任务速度。
只需把这个参数改成你需要的速度值即可,比如要设为3m/s,修改后的代码如下:
cmds.add(Command( 0, 0, 0, mavutil.mavlink.MAV_FRAME_GLOBAL_RELATIVE_ALT, mavutil.mavlink.MAV_CMD_NAV_WAYPOINT, 0, 0, 3, 0, 0, 0, point4.lat, point4.lon, 14))
注:如果每个航点需要不同速度,就逐个修改对应航点的param3参数;如果所有航点速度一致,更推荐用下面的全局设置方法。
2. 设置全局任务默认速度
如果想让所有后续航点都统一使用指定速度,可以在任务列表开头添加MAV_CMD_DO_CHANGE_SPEED命令,一次性设置全局任务速度,示例代码如下:
# 设置全局任务空速为3m/s(param1=0表示空速,param2=3是目标速度) cmds.add(Command(0, 0, 0, mavutil.mavlink.MAV_FRAME_GLOBAL_RELATIVE_ALT, mavutil.mavlink.MAV_CMD_DO_CHANGE_SPEED, 0, 0, 0, 3, 0, 0, 0, 0, 0))
参数说明:
- param1:0=空速,1=地速
- param2:目标速度(单位:m/s)
- param3:油门百分比(设为0则使用自动油门)
注意事项
- 速度不要设置低于无人机的最小稳定飞行速度(多旋翼一般2-3m/s,固定翼根据机型而定),避免失速风险。
- 两种方法同时使用时,单个航点设置的速度会覆盖全局默认速度。
内容的提问来源于stack exchange,提问作者Jephtah Jephtah
相关产品推荐
相关产品推荐

