2

どのように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 を付けました。

繰り返しますが、どんな提案も歓迎します。

4

2 に答える 2

1

モードを 20 に設定してみてください。これは、モードの内部表現です。Dronekit-python はこれをまだ認識していないようです。

オプティカル フローは、guided_nogps ではなく、通常のガイド モードに必要です。ただし、guided_nogps では、速度または位置のリクエストを送信できず、角度のみを送信できます。

于 2016-11-30T17:45:42.853 に答える