如何命令 Arducopter 进入guided_nogps 模式?我计划在 gps 被拒绝的环境中操作,虽然其他帖子表明这可以通过guided-nogps 实现,但我看不到如何设置该模式。使用 Dronekit (python) vehicle.mode = VehicleMode("Guided_NoGPS") 返回一个错误,表明没有这种模式。
Mavlink 也拒绝承认该模式。
我的设置是运行 Arducopter 的 Pixhawk 和 Raspberry Pi 伴侣。DroneKit-SITL 上的固件是 v3.5 dev 和 v3.4(我为此编译了自己的 v3.4 二进制文件)。
其他一切都很好(例如,通过 set_attitude_target 进行控制,感谢这篇文章如何通过 DroneKit 设置直升机姿态 - SET_ATTITUDE_TARGET 不工作) - 我只需要能够进入室内!
另外 - 在发布 Arducopter v3.4控制没有 GPS 的运动之前,我确实在这篇文章中注意到可能需要光流传感器。这个要求实现了吗?
再次感谢!
欢迎所有建议。
感谢斯奎尔特的帮助。我创建了一个函数来改变飞行模式(20):
def set_mode(flightmode):
# create the MAV_CMD_DO_SET_MODE command
msg = vehicle.message_factory.command_long_encode(
0, 0, # target system, target component
mavutil.mavlink.MAV_CMD_DO_SET_MODE, #command
0, #confirmation
flightmode,
0, 0, 0, 0, 0, 0 )
# send command to vehicle
vehicle.send_mavlink(msg)
消息正确接收但未成功(返回结果 3)。我不确定的一件事是参数 2,规范表明它是特定于平台的。我放了 0,因为我不确定如何处理 Arducopter。
再次,欢迎任何建议,非常感谢!