ロボット工学は、人間の動作を模倣する機械を製造する科学と技術をユニークに組み合わせたものです。
2000 年代初頭、自動車製造工場では 90% のロボットが人間の代わりに反復作業を行っていました。 今ではロボットが家に掃除機をかけたり、レストランでサービスを提供したりすることもできるようになりました。
ロボットは通常、XNUMX 種類のコンポーネントで構成されます。 機械本体。 電気の骨格、そして最後にコードで作られた脳。
これらのコンポーネントにより、ロボットはデータ (多くの場合センサーから) を収集し、プログラムされたロジックを介して意思決定を行い、動作を適応させ、タスクを完了することができます。
ロボットには XNUMX 種類のプログラムがあります。 リモコン(RC)、 Artificial Intelligence (AI)、またはハイブリッド。
RC プログラムでは、コードの実行の開始および/または停止信号をロボットに与えることができる人間の介入が必要です。 プログラムはさまざまな種類のアルゴリズムで構成されており、それぞれが異なる機能を持っています。
アルゴリズムとは何ですか?
アルゴリズムは、ロボットが特定の命令を実行するために使用できる一連のコード行です。 開発者のアイデアをロボットが理解できる言語に翻訳します。
アルゴリズムは、疑似コード、フローチャート、 プログラミング言語、またはコントロールテーブル。
この記事では、これらのプログラムで使用される一般的なタイプのアルゴリズムについて説明します。
ロボット工学で使用されるアルゴリズムの種類
1.いつでもA*アルゴリズム
A* アルゴリズムは、XNUMX 点間の最適なパス、つまり最小コストでのパスを見つけるために使用されるパス探索アルゴリズムです。
Anytime A* アルゴリズムは柔軟な時間コストを備えており、最初に最適でないソリューションを生成してからそれを最適化するため、中断された場合でも最短パスを返すことができます。
これにより、ロボットは最初から計算を開始するのではなく、以前の計算に基づいて構築できるため、より迅速な意思決定が可能になります。
システムを教えてください。
これは、終了の基準がトリガーされるまで開始ノードから伸びる「ツリー」を形成することによって行われます。これは、より低コストのパスが利用可能であることを意味します。
2D グリッドは障害物で作成され、開始セルとターゲット セルがピンポイントで指定されます。
このアルゴリズムは、パラメーター g (開始ノードから問題のノードへの移動コスト) と h (問題のノードからターゲット ノードへの移動コスト) の合計である f によってノードの「値」を定義します。
アプリケーション
多くのゲームや Web ベースのマップは、最短経路を効率的に見つけるためにこのアルゴリズムを使用しています。 移動ロボットにも応用可能です。
次のような複雑な問題も解決できます。 ニュートン・ラフソン 数値の平方根を求めるために適用される反復。
また、空間内の物体の動きや衝突を予測するための軌道問題でも使用されます。
2. D* アルゴリズム
D*、Focused D*、および D* Lite は、XNUMX 点間の最短経路を見つけるためのインクリメンタル検索アルゴリズムです。
ただし、これらは A* アルゴリズムと新しい発見を組み合わせたもので、未知の障害物に関する情報をマップに追加できるようになります。
その後、火星探査車と同じように、新しい情報に基づいてルートを再計算できます。
システムを教えてください。
D* アルゴリズムの動作は A* の動作と似ており、アルゴリズムは最初に f、h を定義し、開いたリストと閉じたリストを作成します。
この後、D* アルゴリズムは、隣接ノードの g 値を使用して現在のノードの g 値を決定します。
各隣接ノードは現在の g 値を推測し、最も短い g 値が新しい g 値として適用されます。
アプリケーション
D* とそのバリアントは、モバイル ロボットや 自律車両 ナビゲーション。
このようなナビゲーション システムには、火星探査機オポチュニティとスピリットでテストされたプロトタイプ システムや、 DARPAアーバンチャレンジ.
3. PRMアルゴリズム
PRM (確率的ロードマップ) は、特定のマップ上の空きスペースと占有スペースに基づいて考えられるパスのネットワーク グラフです。
これらは、複雑な計画システムで使用され、障害物を回避する低コストの経路を見つけるためにも使用されます。
PRM は、ロボット デバイスが移動できる可能性があるマップ上の点のランダム サンプルを使用し、最短経路を計算します。
システムを教えてください。
PRM は構築フェーズとクエリフェーズで構成されます。
最初のフェーズでは、環境内で起こり得る動きを概算するロードマップがグラフ化されます。 次に、ランダムな構成が作成され、いくつかの近隣ノードに接続されます。
開始構成と目標構成は、クエリフェーズでグラフに接続されます。 パスは次のように取得されます。 ディクストラの最短道 クエリ。
アプリケーション
PRM はローカル プランナーで使用され、アルゴリズムによって XNUMX 点 (初期点と目標点) の間の直線パスが計算されます。
このアルゴリズムは、経路計画や衝突検出アプリケーションを改善するためにも使用できます。
4. ゼロモーメントポイント (ZMP) アルゴリズム
ゼロ モーメント ポイント (ZMP 技術) は、床の反力と反対の総慣性を維持するためにロボットが使用するアルゴリズムです。
このアルゴリズムは ZMP を計算する概念を使用し、それを二足歩行ロボットのバランスを取る方法に適用します。 滑らかな床面でこのアルゴリズムを使用すると、ロボットはまるで一瞬も存在しないかのように歩行できるようです。
ASIMO (ホンダ) などの製造会社がこの技術を使用しています。
システムを教えてください。
歩行ロボットの運動は角運動量方程式を用いて計画されます。 生成された関節動作により、ロボットの動的姿勢安定性が保証されます。
この安定性は、事前に定義された安定性領域の境界内のゼロモーメント点 (アルゴリズムによって計算) の距離によって定量化されます。
アプリケーション
ゼロ モーメント ポイントは、スロープや障害物を移動する際の iRobot PackBot などのロボットの転倒に対する安定性を評価するための指標として使用できます。
5. 比例積分微分 (PID) 制御アルゴリズム
比例積分微分制御 (PID) は、誤差値を計算することで機械コンポーネントの設定を調整するセンサー フィードバック ループを作成します。
これらのアルゴリズムは、XNUMX つの基本係数 (比例、積分、微分) をすべて組み合わせて、制御信号を生成します。
リアルタイムで動作し、必要に応じて修正を適用します。 これは以下で見ることができます 自己駆動車.
システムを教えてください。
PID コントローラーは、出力に対する比例、積分、微分の影響という XNUMX つの制御項を使用して、正確で最適な制御を適用します。
このコントローラは、所望の設定値と測定されたプロセス変数との差として誤差値を継続的に計算します。
次に、制御変数を調整することにより、経時的な誤差を最小限に抑えるための補正が適用されます。
アプリケーション
このコントローラーは、測定可能な出力、その出力の既知の理想値、および測定可能な出力に影響を与えるプロセスへの入力を持つプロセスを制御できます。
コントローラーは、温度、圧力、力、重量、位置、速度、および測定値が存在するその他の変数を制御するために業界で使用されています。
まとめ
以上がロボット工学で使用される最も一般的なアルゴリズムの一部でした。 これらすべてのアルゴリズムは非常に複雑で、物理学、線形代数、統計が組み合わされて動作や動きの計画に使用されています。
しかし、技術が進歩するにつれて、ロボットのアルゴリズムはさらに複雑になるでしょう。 ロボットはより多くのタスクを実行し、より自分自身で考えることができるようになります。
この記事を楽しんだら、 HashDork のウィークリーを購読する 最新の AI、ML、DL、プログラミング、未来の技術ニュースを電子メールで共有します。
コメントを残す