Ardupilot Roverの製作【9】自立型の走行モード

目次

Section 1

自立型の走行モード

このArdupilot Roverの製作シリーズは、Ardupilot のRoverを製作し、ウェイポイントミッションを実行するところをゴールとしているのですが、今回はいよいよウェイポイントミッションのような自立型の走行モードを見ていきたいと思います。

自動で走行しますので、自己位置や目標地点を機体が把握する必要があり、基本的にはGPSなどのセンサーが必要となるモードが中心となります。

前回紹介した手動で制御する走行モードの範囲では、RCカーの延長というイメージが強かったのですが、自動走行ができることにより、自動ロボットのようなイメージとなり、それに伴ってプロポがなくても運用可能なモードが多いです。

実際に試してみないとどのような構成で、どの程度の品質で動作するのか分かりませんが、ローバーの場合飛行するモデルタイプとは異なり、テスト場所の安全対策が行いやすいので、色々試してみるには都合の良いと言えるでしょう。

とは言え、ローバーであっても暴走すると人や物を傷つけたり、ローバー本体が破損するなど、様々なトラブルが考えられますので、実験段階ではいつでも手動操縦に切り替えて制御できるよう、しっかりプロポを準備しましょう。

Section 2

Auto Mode

Auto Mode
https://ardupilot.org/rover/docs/auto-mode.html

Autoモードは設定したウェイポイントに沿って走行し、自動走行としては最もオーソドックスな形と言えるかも知れません。

上記リンクのドキュメントで様々なミッションの開始方法やMission Plannerからの制御方法が紹介されています。

このArdupilot Roverの製作シリーズでは、プロポにAutoモードのスイッチを設定してミッションを開始する方法でウェイポイントミッションが実行できるよう設定していきたいと思います。

Section 3

Circle Mode

Circle Mode
https://ardupilot.org/rover/docs/circle-mode.html

Circleモードは簡単に言うと設定された地点を中心にずっと周回を続けるモードのようです。

中心となる地点は車両の前方方向に、CIRC_RADIUSのパラメーターで設定された距離に置かれるようで、パラメーターで周回するスピードや半径、方向(時計回りか反時計回り)を設定できるとのこと。

Section 4

Dock Mode

Dock モードは静止したドッキングターゲットに向かって自動で車両が走行し、最終的にドッキングできるというモードのようです。

イメージとしては、ロボット掃除機が自動で充電ステーションに帰るような動作でしょうか。

Autoモードなどでウェイポイントを設定する、もしくはホームポイントに戻れば良いのではないかと思われるかも知れませんが、GPSなどでの位置推定はそこまで正確ではないので、恐らく充電ステーションにドッキングするなどの動作は難しいものと思います。

このモードで使用するにはRGBカメラを搭載したコンパニオンコンピューター、もしくはOpenMV Cameraと言うものが必要になるようで、センサーを繋いでFCのパラメーターを設定すれば利用できると言うタイプのものではないようです。

今回はまだローバーが走るという基本的な段階へも到達していませんので、まだまだ先の話になりますし、どのくらい安定して動作するのか分かりませんが、そういった機能もサポートされていると言う点では様々な活用の可能性を感じます。

Section 5

Follow Mode

Follow Mode
https://ardupilot.org/rover/docs/follow-mode.html

Followモードは指定されたオフセットで位置を公開している対象を追跡するモードです。

上記ドキュメントに動画が掲載されており、動画ではターゲットの車両をもう一台の車両が追跡しているのですが、非常に動作がイメージしやすいので気になる方は是非ご覧ください。

Section 6

Guided mode

https://ardupilot.org/rover/docs/guided-mode.html

GuidedモードはプロポではなくMission Plannerから地図上の地点を指定して、車両を制御するモードです。

PCやタブレットを操作して車両を動かすという意味では手動で制御する走行モードとも言えなくはないのですが、自己位置と目標地点へと自動で走行する動作する形になるので、今回は自立型の走行モードに分類しました。

プロポではなくPCから操作すると、一気にロボットっぽい雰囲気が味わえるかも知れませんね。

Section 7

Loiter Mode (for boats)

Loiter Mode
https://ardupilot.org/rover/docs/loiter-mode.html

Ardupilotのマルチコプターではお馴染みのLoiter Modeですが、Ardupilot Roverではボート用のモードとなっています。

説明を読むと、例えばボードの場合水の流れなどで自然に流されていってしまうところを、自動で設定した範囲内に止まってくれるモードとのこと。

ボートもマルチコプターのLoiter Modeのように、スティック操作で制御できるのかも知れないのですが、ボートを作った事がなく、少し調べても確認できませんでした。

今回は一旦自立型の走行モードとしましたが、もしかしたら手動で制御する走行モードかも知れませんので、ボートを作る方は追加で調査やテストを実施していただけたらと思います。

Section 8

RTL Mode

RTL Mode
https://ardupilot.org/rover/docs/rtl-mode.html

RTLモードは簡単に言うと自動帰還モードです。

例えばDJIのマルチコプターではRTH(Return-To-Home)、PX4ではReturn Modeなど、ファームウェアによって機能や呼び方が若干異なりますが、基本的には似た役割を担うモードであり、ArdupilotではRTL(Return-To-Launch)モードと呼ばれるようです。

RTLモードに変更されると、車両は方向転換し、最後にアームした位置に直接、自動で戻ろうとします。

アームした位置に帰ってきて欲しくない場合はMission Plannerなどでホームポイントを変更する事で、RTLモードの目的地を変更する事もできるようです。

Section 9

Smart RTL Mode

Smart RTL Mode
https://ardupilot.org/rover/docs/smartrtl-mode.html

Smart RTLモードは先程紹介したRTLモードの強化版と考えていただければよく、その名の通り、より賢い帰還を実現するモードです。

具体的には、他のモードで走行している間に通った経路をキャプチャし、選定した上で帰還ルートを作成し、Smart RTLモードに移行した際に活用するというもの。

特にローバーの場合は飛行するものとは違い、地上には多くの障害物が存在している方が普通なので、ある程度安全なルートを辿って戻ってきてくれるというのは嬉しい機能となります。

ただし、使用しているFCに搭載されているメモリ容量が小さいと経路のキャプチャでメモリーが一杯になってしまい、SmartRTL は利用できなくなってしまいます。

残念なことに、今回使用しているMateksys F405-STDで利用するように用意された標準的なファームウェアにこの機能が含まれていないので、工夫しないと利用できないようです。

Section 10

今回実際に設定した自立型の走行モード

今回製作しているCC02では、現時点でAUTOモードとRTLモードという自立型の走行モードの中では基本的な2つのモードを設定しました。

手動で制御する走行モードはローバーというモデルの特徴に最適化されたものが多かったのですが、自立型の走行モードはArdupilotの他のモデルでも動作や目的が共通する要素が多いです。

GCS(Mission PlannerやQGCなど)でミッションを作成する方法を学んだり、何か追加の開発を行って実際に動作を確認するなど、Ardupilotの経験を積む上でも、安全性の高いローバーは活躍しそうです。

今回はArdupilotのRoverで利用できる自立型の走行モードを簡単にご紹介しました。

利用できるモードが把握できたところで、次回は実際にモードを設定していきたいと思います。

ArdupilotHolybroMateksysRover

JACK によるブログ

DAYSCAPE ( DIYドローン オンラインショップ ) では、FPVドローン、産業開発ドローンの分野に関する商品の紹介やドローンの組み立て、使用方法などの情報発信を行っています。

ピックアップ