どのように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 を介して制御する DroneKit を介してヘリコプターの姿勢を設定する方法 -- SET_ATTITUDE_TARGET が機能していません) - 屋内に入ることができる必要があるだけです!
また、Arducopter v3.4 Controlling Movement without GPSのリリース前に、この投稿で、オプティカル フロー センサーが必要になる可能性があることに気付きました。その要件は満たされましたか?
再度、感謝します!
すべてのアドバイスを歓迎します。
Squilter さん、ご協力ありがとうございます。フライトモードを変更する関数を作成しました (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 を付けました。
繰り返しますが、どんな提案も歓迎します。