如何通过 DroneKit 设置直升机姿态 -- SET_ATTITUDE_TARGET 不工作
How to set copters Attitude via DroneKit -- SET_ATTITUDE_TARGET not working
我的 Dronekit 可以与 SITL sim 一起正常工作,但是对于我的项目,我希望能够控制直升机的姿态。显然我可以在 ALT_HOLD 模式下通过 RC over ride 来做到这一点,但我不喜欢这种方法。
我一直在尝试使用 Mavlink 消息 SET_ATTITUDE_TARGET (#82),但是当我将消息发送到 sim 时,没有任何反应。我已经能够设置速度和位置,并且工作正常。
这是我的函数:
def att_msg_mode():
print "=========== Building Message"
veh1.mode = VehicleMode("ALT_HOLD")
msg = veh1.message_factory.set_attitude_target_encode(
0,
0, #target system
0, #target component
0b11100010, #type mask
[.9438,0,0,.17364], #q
0, #body roll rate
0, #body pitch rate
0, #body yaw rate
0) #thrust
time.sleep(1)
veh1.send_mavlink(msg)
veh1.flush()
print "=========== Message Sent"
有人能帮帮我吗?
无法直接设置姿态,因为直升机在引导模式或自动模式下都不支持该命令mode/missions)。 supported commands in guided mode is here and AUTO commands here 的列表。
你可以做的是 set the yaw. Another (hacky) approach that may work is setting the ROI 因为这会将相机(通常是整辆车)对准目标。
这听起来像是一个合理的要求 - 也许 create a request 解释为什么这对你有用?
SET_ATTITUDE_TARGET
现已实现,将与ArduCopter 3.4一起发布
SET_ATTITUDE_TARGET is now available to be used in guided_mode。
您甚至可以使用 mavproxy 态度命令对其进行测试。
我的 Dronekit 可以与 SITL sim 一起正常工作,但是对于我的项目,我希望能够控制直升机的姿态。显然我可以在 ALT_HOLD 模式下通过 RC over ride 来做到这一点,但我不喜欢这种方法。
我一直在尝试使用 Mavlink 消息 SET_ATTITUDE_TARGET (#82),但是当我将消息发送到 sim 时,没有任何反应。我已经能够设置速度和位置,并且工作正常。
这是我的函数:
def att_msg_mode():
print "=========== Building Message"
veh1.mode = VehicleMode("ALT_HOLD")
msg = veh1.message_factory.set_attitude_target_encode(
0,
0, #target system
0, #target component
0b11100010, #type mask
[.9438,0,0,.17364], #q
0, #body roll rate
0, #body pitch rate
0, #body yaw rate
0) #thrust
time.sleep(1)
veh1.send_mavlink(msg)
veh1.flush()
print "=========== Message Sent"
有人能帮帮我吗?
无法直接设置姿态,因为直升机在引导模式或自动模式下都不支持该命令mode/missions)。 supported commands in guided mode is here and AUTO commands here 的列表。
你可以做的是 set the yaw. Another (hacky) approach that may work is setting the ROI 因为这会将相机(通常是整辆车)对准目标。
这听起来像是一个合理的要求 - 也许 create a request 解释为什么这对你有用?
SET_ATTITUDE_TARGET
现已实现,将与ArduCopter 3.4一起发布
SET_ATTITUDE_TARGET is now available to be used in guided_mode。 您甚至可以使用 mavproxy 态度命令对其进行测试。