どのようにして動くことができますか?
自由度: 動きの幾何学
自由度 (DOF) は、オブジェクトがどのように移動できる独立した方法です。自由度を理解することは、ロボットが空間と相互作用する方法を理解する最初のステップです。
3D空間の位置には、3つの自由度が必要です:x(左右)、y(前後)、z(上下)。空間のポイントには、3つの自由度があります。
オリアンテーションには、さらに3つが追加されます:ロール(前方の軸を回転)、ピッチ(側の軸を回転)、ヨー(垂直軸を回転)。空間内の剛体は、6つの自由度があります:位置3つ+オリアンテーション3つ。
ロボットアーム&自由度:
- 6軸アーティキュレートアーム(工業ロボットのようなもの)は、各ジョイントが1つの自由度を追加しています。6つの自由度を持つエンドエフェクタは、ワークスペース内の任意の位置とオリアンテーションに到達できます:完全な空間の自由があります。
- 4軸SCARAロボットは、4つの自由度があります:平面上の任意の位置に位置し、回転できますが、ツールを傾けることはできません。平面上の表面でのピック&プレイスに適しています。
- 3軸カートエジアン/ガンリーロボットは、3つの自由度があります:ボックス状のボリューム内の任意の位置に到達できますが、ツールをオリアンテーションすることはできません。3Dプリンタに適しています。
6つの自由度を超える:7軸ロボットは冗長です:完全な空間の位置付けには必要な自由度よりも多くあります。余分な自由度は、オブジェクトを回避するように回ることができるようにします、例えば人間の腕が何か後ろに回るように伸びるようにします。冗長性は幾何学的な利点です。
自由度とタスク要件
工場では、次の3つのタスクにロボットが必要です:(A)自動車ボディパネル上の3Dカーブしたパスに接着剤を塗布する、(B)コナー・ベルトからチップを取り、平面の回路ボードに配置する、そして(C)複雑な3Dジョイントを多角度から溶接する。
ロボットの幾何学の二つの方向
運動学:動きのみを考慮する幾何学
運動学は、力に関する考慮をせずに動きを研究するものです。ロボティクスでは、関節角度とエンドエフェクタの位置との関係が純粋な幾何学です。
前向き運動学 (FK):関節角度すべてがわかっている場合、エンドエフェクタの位置と向きを計算できます。これは '簡単' な方向です。
2リンク平面アームの場合:関節1は角度 θ₁ で、関節2は角度 θ₂ であり、リンク長さ L₁ および L₂ があれば、エンドエフェクタは以下のようになります。
- x = L₁ cos(θ₁) + L₂ cos(θ₁ + θ₂)
- y = L₁ sin(θ₁) + L₂ sin(θ₁ + θ₂)
6軸アームの場合、FK はロータションとトランスレーションをそれぞれ表す 4x4 の行列で各関節が貢献します。6つの行列をすべて乗算してエンドエフェクタのポーズを得ます。それは機械的ですが、常に一意の答えを生み出します。
逆運動学 (IK):望ましいエンドエフェクタの位置と向きがわかっている場合、関節角度を計算する必要があります。これは '困難' な方向です。
IK は困難な理由は以下の通りです。
- 複数の解決策: 6軸アームは同じポイントに複数の構成で達成できます(ひじ上がり vs. ひじ下がり、ワristがひっくり返る vs. ひっくり返らない)。有効な解決策は8つ以上あります。
- 解決策なし: ターゲットがワークスペース外にある場合、関節角度はありません。
- 奇点: 特定のポーズでは、2つの関節軸が一致し、ロボットは DOF を失います:ギンバルロックです。奇点近くでは、カートエシアンの小さな動きが大きな関節速度が必要です。
逆運動学:なぜ困難か?
簡単な 2リンク平面アームに L₁ = L₂ = 1 メートルのリンク長さがあります。エンドエフェクタが (1.0, 1.0) に達する必要があります。
ベースからターゲットまでの距離は sqrt(1² + 1²) = sqrt(2) ≈ 1.414 m で、L₁ + L₂ = 2 m > 1.414 m のため、ポイントは達成可能です。
到達可能な範囲の形状
ワークスペース: ロボットのエンドエフェクタが達成できるすべての点の集合
ワークスペースエンクロージャーは、ロボットのジオメトリに完全に依存して形状が決まります。
6軸アーティキュレーテッドアーム: ワークスペースは、リンクが全て伸びている最大到達範囲の外部境界を持つ、ほぼ空の球です。内側の境界は、アームが自身を十分に折り込めないため、ベースの近くにあるポイントに到達できないため存在します。断面はドーナツのような形(トーラス)。
SCARA: ワークスペースは、水平方向にアームがスイープし、Z軸が垂直に移動することで、水平方向に広い到達範囲を持つ平面状のシリンダーになります。
カートシアン/ガンリ: ワークスペースは、各軸が1つの次元に線形に移動する箱のような形です。シンプルで予測可能で、プログラムが簡単ですが、ワークスペースの大きさにロボットが大きくなるため、ボリュームが大きくなります。
ワークスペースの奇点: 特定のポーズでは、ロボットがDOFを失います。完全に伸ばされたアーティキュレーテッドアーム(ワークスペースの外部境界に位置)は、エンドエフェクタを外部方向に移動できない奇点にあります。ワイスト奇点は、ワイストジョイント軸が一致する場合に発生します。奇点では、ジャコビアン行列がランクを失い、ロボットの有効なDOFが一時的に減少します。
巧みなワークスペースと到達可能なワークスペース: 到達可能なワークスペースは、少なくとも1つの方向でエンドエフェクタが到達できる範囲です。巧みなワークスペースは、任意の方向でエンドエフェクタが達成できる範囲です。巧みなワークスペースは、常に到達可能なワークスペースのサブセットであり、通常は小さい範囲です。
ワークスペースに基づくロボットの選択
工場セルには、L字型に三つのステーションが配置されています。ステーションAは左側、ステーションBは正面、ステーションCは右側にあり、若干高く(300mm)位置しています。ロボットはAから部品を取り、Bで作業を行い、Cに完成品を置くことが求められます:すべて単一のマウントポジションから行われます。
設定空間:ロボットの抽象的な幾何学
設定空間:モーションプランニングの舞台
設定空間(C-space)は、ロボティクスで最も強力な幾何学的抽象の1つです。ロボットの物理的な形状を考えるのではなく、N次元空間の単一のポイントとしてその全状態を表現します。
N本のジョイントを持つロボットの場合、C-spaceはN個の次元を持ち、ジョイント角の1つの軸ごとに1つです。ロボットのすべての可能なポーズは、C-spaceの単一のポイントです。モーション(ポーズの順列)はC-spaceの曲線です。
C-spaceの障害物:実世界の物理障害物は、C-spaceでの禁止領域になります。ロボットのジョイント角(θ₁, θ₂, ..., θN)に配置すると衝突が発生する場合、そのポイントはC-spaceの障害物内部にあります。実世界の箱のような単純な物体は、C-spaceで奇妙な形状の領域になります。
パスプランニング = 禁止領域の衝突フリー曲線の検索:開始構成(C-spaceのポイント)と目標構成(別のポイント)を与え、禁止領域に入らない連続した曲線を見つけてください。
アルゴリズム:
- A* (グリッドベース): C空間をグリッドに分割し、最短経路を検索。低次元(2-3 DOF)では効果的ですが、次元が増えるごとにグリッドサイズが指数関数的に増加します。
- RRT (高速探索ランダムツリー): C空間でランダムサンプルの木を構築し、未探索地域に向かって成長させます。高次元(6 DOF以上)で効果的。最適ではないが、可行可能な経路を見つけるのに速い。
- PRM (確率的ロードマップ): 環境同じで再度クエリを行う場合に適切なランダムな衝突しない構成を事前に計算したグラフを検索します。
幾何学的洞察:6-DOFロボットの経路計画問題は、6次元空間を通じて曲線を描く問題です。次元性は正確な解が不可能に至る:確率的方法(RRT、PRM)は実用的なアプローチです。
配置空間の思考
2リンク平面アーム(2 DOF)は、単一の四角形障害物がある部屋で動作します。ジョイント1は0°から360°、ジョイント2は0°から360°です。配置空間は、θ₁が一軸、θ₂がもう一軸の2Dの正方形です。