如何命令Arducopter进入guided_nogps模式?我计划在一个gps拒绝的环境中运行,虽然其他帖子表明这可以使用guided-nogps,但我看不出如何设置该模式。使用Dronekit(python)vehicle.mode = VehicleMode(“Guided_NoGPS”)返回一个错误,表明没有这样的模式。
Mavlink也拒绝承认该模式。
我的设置是使用Raspberry Pi伴侣运行Arducopter的Pixhawk。固件是v3.5 dev,而DroneKit-SITL上的v3.4(我为此编译了自己的v3.4二进制文件)。
其他一切都很有效(例如通过set_attitude_target控制感谢这篇文章How to set copters Attitude via DroneKit -- SET_ATTITUDE_TARGET not working) - 我只需要能够进入室内!
另外 - 在Arducopter v3.4 Controlling movement without GPS发布之前,我在这篇文章中注意到可能需要光学流量传感器。这个要求是否成功了?
再次感谢!
欢迎所有建议。
感谢Squilter的帮助。我创建了一个更改flightmode(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,规范表明它是特定于平台的。因为我不知道如何处理Arducopter,我把0放了。
再次,欢迎任何建议,非常感谢!
答案 0 :(得分:1)
尝试将模式设置为20.这是模式的内部表示。看起来dronekit-python还不知道这个。
正常导航模式需要光流,而不是Guidance_nogps。但是,guided_nogps不允许发送速度或位置请求,只允许角度。
答案 1 :(得分:0)
我知道这个问题有点老了,但我找到了答案。更新MAVProxy和PyMAVLink的安装。
pip install -U pymavlink mavproxy
DroneKit会在没有新模式的情况下自动安装它们的旧版本。您希望 PyMAVLink> = 2.2.4 和 MAVProxy> = 1.6.1。