DroneKit教程(五):使用自定义MAVLink指令

本文是DroneKit教程的一部分,详细介绍了如何使用自定义MAVLink指令来控制无人机,包括使用SET_POSITION_TARGET_LOCAL_NED设置速度和MAV_CMD_CONDITION_YAW设置航向。同时,讲解了MAVLink的命令类型、参考系概念以及如何生成和发送MAVLink指令。
摘要由CSDN通过智能技术生成

DroneKit教程(五):使用自定义MAVLink指令

DroneKit的实质是通过发送和接受MAVLink消息,向飞控发送控制指令、从飞控获取各种状态信息。DroneKit的所有内置功能都是基于MAVLink实现的。DroneKit内置了simple_takeoff和simple_goto指令,以及部分云台的指令;如果要使用到DroneKit中没有的指令,则需要自定义MAVLink消息并发送。

编程示例

使用SET_POSITION_TARGET_LOCAL_NED设置速度

from pymavlink import mavutil

def send_nav_velocity(self, velocity_x, velocity_y, velocity_z):
    # 生成SET_POSITION_TARGET_LOCAL_NED命令
    msg = self.vehicle.message_factory.set_position_target_local_ned_encode(
                    0,       # time_boot_ms (not used)
                    0, 0,    # target system, target component
                    mavutil.mavlink.MAV_FRAME_BODY_NED,   # frame
                    0b0000111111000111, # type_mask (only speeds enabled)
                    0, 0, 0, # x, y, z positions (not used)
                    velocity_x, velocity_y, velocity_z, # x, y, z velocity in m/s
                    0, 0, 0, # x, y, z acceleration (not used)
                    0, 0)    # yaw, yaw_rate (not used) 
    
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值