mavlink id 76 COMMAND_LONG command = MAV_CMD_DO_SET_HOME (179)

Param (:Label)
Description
Units
1: Use Current
是否设置当前位置为返航点。不等于 0 或 1 的数值无效。
bool
2: Roll
返航点表面的滚转角。范围:-180~180 度。NAN 或 0 表示数值未设定。0.01 表示无滚转。
角度
3: Pitch
返航点表面的俯仰角。范围:-90~90 度。NAN 或 0 表示数值未设定。0.01 表示无俯仰角。
角度
4: Yaw
偏航角度。NaN 以使用默认航向。距离:-180~180 度。
角度
5: Latitude
纬度
角度
6: Longitude
经度
角度
7: Altitude
返航点的海拔高度


*如果height为0 为设置返航点模式
*
如果height大于0 为设置返航高度模式

返回command = MAV_CMD_REQUEST_MESSAGE
返回值 param1 179 执行命令id
返回值 param2 0或1 是否执行成功
返回值 param3 失败代码(0 无异常 1 无法初始化无人机飞行控制 2 返航点设置失败 3 返航高度设置失败)

python测试脚本

import time
from pymavlink import mavutil

timestamp = int(time.time() * 1000)
millis = int(time.time() * 1000)

master = mavutil.mavlink_connection('udpin:0.0.0.0:14550')
master.wait_heartbeat()
boot_time = time.time()

def set_home(height):
    master.mav.command_long_send(
        master.target_system,
        master.target_component,
        mavutil.mavlink.MAV_CMD_DO_SET_HOME,
        0,
        height, 0, 0, 0, 0, 0, 0
    )

set_home(70)
while True:
    msg = master.recv_match()
    if not msg:
        continue
    if msg.get_type() == 'COMMAND_LONG':
        print("\n\n*****Got message: %s*****" % msg.get_type())
        print("Message: %s" % msg)
        print("\nAs dictionary: %s" % msg.to_dict())
作者:admin  创建时间:2024-09-14 15:35
最后编辑:sfd  更新时间:2026-03-05 13:42
设置返航点。将返航点设置为当前位置或指定位置。返航点是系统默认返回并降落的位置。起飞时系统会自动设置位置(也可以使用此命令进行设置)。