mavrosの一般的なサービスの紹介(Prometheusがサービスを呼び出すことでロックを解除してオフボードをカットするのも不思議ではありません。PX4の公式オフボードサンプルコードもサービスを呼び出すことでオフボードでカットされます。元のサービスはMAVROSで記述されています!)

Prometheusがサービスを呼び出すことでオフボードのロックを解除してカットするのも不思議ではありません(999を入力してください)。PX4の公式オフボードサンプルコードもサービスを呼び出すことでオフボードをカットします。以前にサービスがどこに書かれていたのか興味がありました。 !!

 

私はそれを見つけました、そしてそれは本当にそうです。

https://gitee.com/maxibooksiyi/mavros/blob/master/mavros_msgs/srv/SetMode.srv

 

 

以下のこのブログ投稿を参照してください

https://blog.csdn.net/sinat_16643223/article/details/114060304

転載元:https//blog.csdn.net/zouxu634866/article/details/104112964

mavrosの一般的なサービスの紹介

常に蚊に刺されるシャオクス2020-01-3011:13:21498コレクション4

カテゴリ列:オフボード ロス

最終リリース:2020-01-30 11:13:21最初のリリース:2020-01-30 11:13:21

著作権表示:この記事はブロガーの元の記事であり、CC 4.0 BY-SAの著作権表示に従います。転載するには、元のソースへのリンクとこの文を添付してください。

この記事へのリンク:https//blog.csdn.net/zouxu634866/article/details/104112964

著作権

mavros、二つの最も一般的に使用されるサービスは、1がアンロックされ、もう一方はモード切替で、あります。もちろん、mavrosを介してウェイポイント情報変更するなど、他のサービスもありますが、それらは一般的に使用されていないため、以下では、前のブログのオフボードにあるロック解除とモード切り替えのみを紹介します。ソースコード分析はすでに導入されています。


これら2つのサービスの利用方法については、以前のブログを参照してください。ここでは繰り返しません。モード切り替えサービスで切り替えることができるモードを追加します。オフボードモードの他に、他のモードがあります。

mavrosソースコードはここで使用する必要があります:場所:

/ホーム/ zouxu / mavros _ws / src / mavros / mavros / src / lib

もちろん、この場所の前提は、あなたがいることである使用ソースインストール方法をするときインストールmavrosを。ありmavrosワークスペースmavros _wsをコンピュータに。あなたがこれを持っていない場合、あなたがダウンロードできるソースコードをgithubの上

次のディレクトリを開きます:uas_stringify.cpp

apmファームウェア用のモードがあります。px4のファームウェア部分のみを確認します。

//! PX4 custom mode -> string
static const cmode_map px4_cmode_map{
   
   {
	{ px4::define_mode(px4::custom_mode::MAIN_MODE_MANUAL),           "MANUAL" },
	{ px4::define_mode(px4::custom_mode::MAIN_MODE_ACRO),             "ACRO" },
	{ px4::define_mode(px4::custom_mode::MAIN_MODE_ALTCTL),           "ALTCTL" },
	{ px4::define_mode(px4::custom_mode::MAIN_MODE_POSCTL),           "POSCTL" },
	{ px4::define_mode(px4::custom_mode::MAIN_MODE_OFFBOARD),         "OFFBOARD" },
	{ px4::define_mode(px4::custom_mode::MAIN_MODE_STABILIZED),       "STABILIZED" },
	{ px4::define_mode(px4::custom_mode::MAIN_MODE_RATTITUDE),        "RATTITUDE" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_MISSION), "AUTO.MISSION" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_LOITER),  "AUTO.LOITER" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_RTL),     "AUTO.RTL" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_LAND),    "AUTO.LAND" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_RTGS),    "AUTO.RTGS" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_READY),   "AUTO.READY" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_TAKEOFF), "AUTO.TAKEOFF" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_FOLLOW_TARGET), "AUTO.FOLLOW_TARGET" },
	{ px4::define_mode_auto(px4::custom_mode::SUB_MODE_AUTO_PRECLAND), "AUTO.PRECLAND" },
}};

後でリストされているのは、切り替えることができるモードです。

おすすめ

転載: blog.csdn.net/sinat_16643223/article/details/114796332