サポートセンターにアクセス サポートセンターにアクセス ディストリビューターを検索 ディストリビューターを検索 お問い合わせ お問い合わせ

AMRナビゲーション スポットライト - プランニングとコントロール

ブログ 2024年10月4日

AMRナビゲーション・スポットライト・シリーズの第7回目のブログへようこそ。ここをクリックして 前回のブログ知覚と地図作成に利用できるさまざまなセンサーについて説明しています。

もしあなたが家庭で一緒に行動しているのであれば、かなりの数の自律移動ロボットを所有していることだろう。 自律移動ロボットをかなり組み立てていることだろう。AMRのさまざまなローカライゼーション・オプションについても、十分理解されていることでしょう。 AMRのさまざまなローカリゼーションオプション, センサーの配置, タイミングと同期, インターフェイスそして ロボットがローカリゼーションデータをどのように使用するか

しかし、AからBへ移動するロボットを実際にどのようにプログラムするのか?それがここで議論していることだ。計画と制御の入門の時間だ。

 

ロボットのプランニングとコントロールとは?

心配しないでください、私たちはAIの反乱について話しているのではありません(起こらないとは約束できませんが)。AMRナビゲーションに関して言えば、プランニングとは、ロボットが出発点から目的地までのルートを計画する能力のことです。

ロボット制御とは、AMRが計画されたルートをどのように受け取り、それを使ってロボットをルートに沿って物理的に動かす制御コマンド(制御スキームとも呼ばれる)を計算するかということです。

 

ロボットプランニングの仕組みは?

衛星ナビと同じように、ルートプランニングにはルートを計算するアルゴリズムが含まれる。そのためには、アルゴリズムがいくつかのことを知っている必要がある:

  • ロボットがどこにいるのか(通常はロボットの位置情報スタックから取得する)。
  • ゴールがある場所(通常はあらかじめプログラムされている)。
  • 環境のどこに障害物があるか。

障害物に関するデータは通常、ロボットが出発する前に作成されたマップファイルを通じて提供される。しかし、SLAMのようなアルゴリズムを使って、移動しながら地図を作成できるロボットもある。

プランニング・アルゴリズムによって、最適なルートを定義する際に優先するものは異なる。最短ルートを重視するものもあれば、最も安全なルート(例えば、すべての既知の障害物から最も遠いルート)を重視するものもある。高度なシステムによっては、エネルギー効率に基づいてルートを最適化することもできる。

どのようなマッピング方法を使うにせよ、ロボットが計画するルートは一般的に、一連のウェイポイントに到達する形式をとります。各ウェイポイントは、AMRにとって望ましいポーズ、つまり状態であり、位置、姿勢、方位などの特定の組み合わせを意味します。

 

ロボットの操縦方法

制御理論と制御システム設計は非常に技術的なトピックであり、説明するためには非常に多くの方程式に頼らざるを得ない。そのような複雑さを避けるために、このブログでは重要なポイントを要約することに全力を尽くします。

その過程で、私たち自身のプロトタイプ・コントロール・システムがどのように機能するかを紹介することで、私たちが話していることをイメージしやすくします。

 

ステップ1:ロボットのモデリング

ほとんどのコントローラーは、制御を必要とするもの(この場合はロボット)の数学的モデルを必要とする。制御の専門用語では、これを「プラント」と呼ぶ。このモデルは、ロボットコントローラーからの入力(コントローラーがロボットに与えるコマンド)が、ロボットの状態、つまりポーズをどのように変化させるかを記述する。このように描くことができる:

 

プラント入力の状態変化

 

私たちのロボット(ClearPath Jackal)の場合、プラントには2つの要素があります。 ROS2コントローラー.ジャッカルは差動速度駆動のロボットプラットフォームで、左右の駆動輪の速度を変えることで動きを制御します。左右の速度が同じであればロボットは直進し、速度が異なればロボットは旋回します。ROS2コントローラーは、制御スタックからのROSコマンドをこれらの速度差に変換します。つまり、ジャッカルの場合、上の図は実際には次のようになります:

 

OxTS ジャッカル・プラント・コントロール

 

ドローン、自動車駆動、微分速度駆動プラットフォームなど、一般的なロボットのタイプに対応する一般的なシンプルな数学モデルがあり、計画・制御モデルの出発点として役立ちます。そして、そのモデルをあなたのロボットやナビゲーションのニーズに合わせてカスタマイズすることができます。

 

ステップ2:コントローラーの追加

モデルができたら、次はコントローラを追加します。コントローラーは、ロボットに入力を与えるビットで、あらかじめ決められた望ましい状態に基づいて行います。AMRナビゲーションでは、その望ましい状態とは通常、計画された経路上の次のウェイポイントです。

この分野にすでに足を踏み入れている人なら、オープンループとクローズドループのコントローラーに出会ったことがあるかもしれない。自律移動ロボットには、クローズドループコントローラーが圧倒的に最適です。

オープンループ・コントローラーとは、出力が入力に影響を与えないコントローラーのことである。簡単な例としては、サーモスタットのないヒーターがある。ヒータースイッチがオンである限り、ヒーターは熱を発生する。出力(部屋の温度)は入力(ヒーターがオンになっているかどうか)に影響しないので、部屋がどんなに熱くなってもヒーターは動き続ける。

オープンループコントローラーがAMRの制御に適していない理由は明らかだろう。コントローラーは、ロボットに現在位置から目的の位置まで移動するよう指示するが、正しい経路からの逸脱や物体や人との衝突など、途中で起きたことには何も反応しない。

その代わり、AMRはクローズドループ・コントローラーが最も効果的だ。さっそく見ていこう。

 

クローズドループコントローラ

クローズドループコントローラには、状態推定器またはオブザーバと呼ばれるコンポーネントが追加されます。状態推定器は基本的に、望ましい状態と測定された状態の間に誤差(または差)があるかどうかをコントローラに伝えます。誤差がある場合、コントローラはフィードバックに基づいて入力を調整し、補正します。

先ほどのヒーターを考えてみると、サーモスタットはクローズド・ループ・コントローラーとして機能する。ヒーターをオンにし、部屋の温度を測定する。希望の温度と室温の差(誤差)がゼロになると、ヒーターはオフになる。

クローズドループコントローラーは次のようになる:

 

 

クローズドループコントローラにはさまざまな種類がありますが、最も一般的なタイプの1つは比例・積分・微分(PID)で、エンジニアがロボット用に手動で設定します。PIDコントローラを使用するAMRは、状態誤差の大きさに比例した割合で入力を調整することができますが、積分および微分要素のおかげで、ロボットにとって安全な方法で調整され(例えば、ロボットのバランスを崩す可能性のある急ブレーキや旋回を制限することによって)、目標をオーバーシュートする可能性を低減します。

 

最適コントローラー

現代の制御システムの多くは(私たちのシステムも含め)最適化アルゴリズムを使用している。最適制御理論は、ロボット工学、宇宙工学、経済学など、さまざまな分野に応用されている数学の大きな一分野ですが、私たちの目的には、最適化アルゴリズムもまた、コントローラーが特定の目標を達成する入力を見つけることを可能にするというだけで十分です。

その目標は、「望ましい状態に到達するまでの状態誤差を最小にする制御スキームを見つける」というような単純なもので、基本的にはエンジニアがPIDコントローラーに対して行うような手動調整を自動化するものである。あるいは、もっと複雑なものにすることもできる。"状態誤差を最小にし、かつ望ましい状態に到達するために使用されるエネルギーを最小にする制御スキームを見つける"。

最適コントローラの顕著な例は、線形2次レギュレータ(LQR)コントローラです。LQRコントローラは、状態フィードバックと(モデルから得られる)ロボットの動きに関する知識を組み合わせて、ロボットの将来の状態を予測し、その予測に基づいて入力を最適化します。一般的ではありますが、LQRや予測モデルを使用する他のコントローラは、そのアルゴリズムを実行するために計算能力を必要とします。

 

OxTS プロトタイプ

私たちのプランニングとコントロールがどのように機能しているかは、すでにお見せしたとおりです。これがその全容だ:

 

 

ご覧のように、システムにはリニア二次レギュレータ(LQR)コントローラがあり、前進速度と操舵速度をROS2コマンドとしてロボットに伝えるために、最適化を行っています。前述のように、ジャッカルはこれらのコマンドを、ロボットを動かすために必要なモーターの差動速度コマンドに変換します。

ここでの隠し味は、補助装置である慣性航法システム(INS)だ。

OxTS 特にINSデバイスは、全地球的な位置から方位、ピッチ、ロールに至るまで、正確な姿勢推定を行うのに非常に優れている。その上 OxTS GADインターフェースにより、AMRの知覚センサーを含む追加センサーをプラグインすることができ、屋内空間やGNSS信号が制限されるその他のエリアにおいて、よりロバストな状態推定を提供することができます。

また、我々のINSは拡張カルマンフィルターを搭載しており、INSとその補助センサーからの誤った計測値をフィルタリングし、信頼性を向上させている。

そのデータがLQRコントローラーにフィードバックされ、LQRコントローラーはジャッカルが進むべき方向に進むように入力を更新する。

テスト段階(コンピュータでシミュレートしたロボットを使用)では、PIDコントローラとLQRコントローラの両方を評価しました。PIDコントローラは単一入力/出力であるため、前進速度用と操舵速度用の2つのコントローラを使用する必要がありました。このため、PIDの設定はチューニングが難しく、確実に動作させるのが難しかった。対照的に、LQRコントローラーは多入力多出力であるため、両方のステアリング速度に対して必要なコントローラーは1つだけだった。また、最適化アルゴリズムを実行する際、ジャッカルのダイナミクスを完全にモデル化して動作させることができる。その結果、シミュレーションで再現可能なレベルの性能を得ることがはるかに容易になり、その性能は実際のロボットでも再現された。

 

自律型ロボットナビゲーション ソリューション概要

AMRは、ロボットの位置と向きを記録するだけでなく、屋内でも屋外でも動作するツールである。

このソリューション概要では、自律移動ロボットのローカライゼーションのソースを決定する際に、お客様に検討いただくことをお勧めする点について説明します。

ソリューション概要をお読みください。適切なロボットローカリゼーションソリューションがAMRプロジェクトにどのように役立つのか、プロジェクトに着手する前に自問自答すべき重要な質問を含めてご覧いただけます。

AMRソリューション概要

このブログを楽しんでいただき、AMRの旅を始めたばかりの方のお役に立てれば幸いです。

現在、AMRエンジニアのために何ができるのか、さらに詳しくお知りになりたい方は、こちらをご覧ください、 応募ページを見る.

また、具体的なプロジェクトについてご相談がある場合は、以下のフォームからお問い合わせください。私たちは、最新かつ最高のロボット工学プロジェクトについて話し合うことを常に楽しみにしています。

次回のブログは、意思決定と安全性についての紹介です。



トップへ戻る

トップへ戻る

米国・アッシュバーン