差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| articles:note_on_ik [2021/10/23 19:23] – [始点と終点の補間] Takashi Suehiro | articles:note_on_ik [2024/09/02 12:18] (現在) – [逆運動学解の選択] Takashi Suehiro | ||
|---|---|---|---|
| 行 8: | 行 8: | ||
| その場合,以下の点に注意する必要がある. | その場合,以下の点に注意する必要がある. | ||
| - 複数損愛する逆運動学解のどれを選択するか | - 複数損愛する逆運動学解のどれを選択するか | ||
| - | - 始点と終点を関節角で補完してしまうと中間点が想定と異なることがある | + | - 始点と終点を関節角で補間してしまうと中間点が想定と異なることがある |
| - 関節角の可動範囲,制限を考慮して逆運動学を選択する必要がある | - 関節角の可動範囲,制限を考慮して逆運動学を選択する必要がある | ||
| 行 18: | 行 18: | ||
| たとえば図1のようにロボットの正面 | たとえば図1のようにロボットの正面 | ||
| - | ((第一関節がゼロ度が正面と考えている)) | + | (第一関節がゼロ度のときの方向) |
| 左側にあるA地点では点線より実線の解を採用したくなるかもしれない | 左側にあるA地点では点線より実線の解を採用したくなるかもしれない | ||
| ((人間の腕のイメージに引きずられているがロボットにとって「良い」かどうかは分からない)). | ((人間の腕のイメージに引きずられているがロボットにとって「良い」かどうかは分からない)). | ||
| 行 26: | 行 26: | ||
| 図2のようにアームは一旦真っ直ぐに伸びた特異姿勢を通過することになる. | 図2のようにアームは一旦真っ直ぐに伸びた特異姿勢を通過することになる. | ||
| - | 図2と図3の違いは大きくないようにも見えるが,図4のように始点と終点が近い場合はより際立つ. | + | これに対してB地点での解として点線のものを採用した場合には図3のように特異姿勢を通過しない比較的素直な動作となる. |
| - | ここで図3のようにB地点で点線の解を採用すれば特異姿勢を通過しない素直な軌道を生成することができる. | + | |
| - | [{{ articles: | + | 図2と図3の違いはあまり大きくないようにも見えるが,図4のように始点と終点が近い場合はより際立つことになる. |
| - | [{{ articles: | + | |
| - | [{{ articles: | + | [{{ articles: |
| - | [{{ articles: | + | [{{ articles: |
| + | [{{ articles: | ||
| + | [{{ articles: | ||
| 行 40: | 行 42: | ||
| 複数ある解のどれとどれを採用すればよいのかその選択は簡単ではない. | 複数ある解のどれとどれを採用すればよいのかその選択は簡単ではない. | ||
| - | たとえば3自由度アームの位置決めでも4通りの解があり,6自由度アームで位置・姿勢を制御する場合には8通りの解がある | + | たとえば3自由度アームの位置決めでも4通りの解があり,6自由度アームで位置・姿勢を制御する場合には8通りの解がある. |
| - | ((特異姿勢を通過しない同じ領域の解に同一ラベルを付けるのは良いアイデアではあるが | + | |
| - | そのラベルがどの場面で採用すると自然な姿勢になるのかを判断するのも簡単ではない.)). | + | |
| ===== 始点と終点の補間 ===== | ===== 始点と終点の補間 ===== | ||
| - | [{{ articles: | + | [{{ articles: |
| 一般に逆運動学計算で始点と終点の関節パラメタを求めて動作させても, | 一般に逆運動学計算で始点と終点の関節パラメタを求めて動作させても, | ||
| 関節パラメタで補間して動作させるとその軌道は図5のように必ずしも直線にはならない. | 関節パラメタで補間して動作させるとその軌道は図5のように必ずしも直線にはならない. | ||
| 行 56: | 行 55: | ||
| 途中で解の選択を誤れば手先の軌道は前節の図4のようにその瞬間に大きく異なる軌道を通過することになる. | 途中で解の選択を誤れば手先の軌道は前節の図4のようにその瞬間に大きく異なる軌道を通過することになる. | ||
| - | + | ここで述べたのぞみの軌道の生成や前述解の選択の問題は,始点を初期解とした[[articles: | |
| - | ===== アームの可動域の問題 ===== | + | [[articles: |
| - | + | ||
| - | 前述の2つの問題は,始点を初期解とした[[articles: | + | |
| - | [[articles: | + | |
| これは逐次的な解法が特異姿勢を乗り越えることが出来ないという欠点を逆にうまく利用していることになっている. | これは逐次的な解法が特異姿勢を乗り越えることが出来ないという欠点を逆にうまく利用していることになっている. | ||
| - | しかし,ここで述べるアームの可動域の問題はそれらを超えた本質的な問題となる. | + | ===== アームの可動域の問題 |
| - | + | ||
| - | たとえば図でアームの根本の回転軸の可動範囲が | + | |
| - | ±170°,すなわち後ろ側20°の範囲は通過できないとする. | + | |
| - | これが2自由度のアームの場合はどうやってもここを通過してC地点からD地点に行くことはできない. | + | |
| - | 0°を通過するように根本を大きく回転させる必要がある. | + | |
| - | しかし[[]]でやった3自由度アームの場合は,根本の回転軸を前に向けたまま後ろに | + | |
| - | アームを回すことができる | + | |
| - | + | ||
| + | アームの可動域の問題は前述の2つとはまた異なる視点の問題となる. | ||
| + | 一般に逆運動学解を求めるときには関節の可動域を考慮しないことが多い. | ||
| + | もちろん実際問題としては解を求めた後に可動域内かどうかをチェックする. | ||
| + | しかし,始点と終点がともに可動域内にあったとしても,軌道の途中が | ||
| + | 可動域内かどうかは保証がない. | ||
| + | 例として[[articles: | ||
| + | アームをを考えてみよう.図6, | ||
| + | 「正面」というのはアームのx軸方向であり$\theta_1 = 0$のときの第1リンクのx軸方向と一致している. | ||
| + | 図の中心にある円内の矢印は第1リンクのx軸方向を示している. | ||
| + | 逆運動学解を求めるときは可動範囲を考慮していなかったが, | ||
| + | たとえば図6のようにでアームの根本の回転軸($\theta_1$)の可動範囲が | ||
| + | ±170°,すなわち後ろ側20°の範囲は通過できないとする | ||
| + | ((±180°としても真後ろを通過できないので同じことではあるが | ||
| + | わかりやすいように可動範囲を狭めている)). | ||
| + | このような制約は実際のアームとしてはありふれたものである. | ||
| + | 図6ではA地点,B地点の逆運動学解として$\theta_1$に対して | ||
| + | [[articles: | ||
| + | 式(4),すなわち第1リンクのx軸方向にアームを向けた素直な解を採用している. | ||
| + | この解を用いた場合には図6のように大回りをすることになる | ||
| + | ((これは可動範囲だけの問題ではなく,関節角度で補間した場合にも同様に大回りの軌道になりやすい.)). | ||
| + | しかし[[articles: | ||
| + | すなわち,根本の回転軸を前に向けたまま後ろにアームを回す姿勢を用いた場合には, | ||
| + | 図7のように始点から終点へと無駄なく移動することができる. | ||
| + | 解の選択という意味では,図6のA地点から図7のb地点への移動というイメージしにくい軌道を考えることもできる. | ||
| + | [{{ articles: | ||
| + | [{{ articles: | ||
| + | この問題は逆運動学の数値解法を用いても解決できないし, | ||
| + | 分解運動制御などの逐次漸近的動作では大回りの解すら得ることが出来ない. | ||