インバースキネマティックソルバーでの特異点問題


9

私はこの問題に何日も苦労しています。私は誰かが問題が何であるかについてのヒントを私に与えることができることを本当に望みます。

ロボットは5軸で構成されています。最初の軸はz軸を中心に回転し、他の4つの軸はy軸を中心に回転します。そして、ソルバーは基本的に動作します。

これが私がこれまでに行ったことです:

  1. ヤコビアンマトリックス(位置のみがここで追跡されるため、並進部分のみで操作性係数を計算します。実際には、結合されたヤコビアンマトリックスでも試してみました。並進部分だけでなく回転部分もです。しかし、ぎくしゃくした動きがありました。とにかく):

  2. 次に、減衰係数は次のとおりです。

    ここに画像の説明を入力してください

  3. 次に、減衰係数が疑似逆計算に統合されます。

ここに画像の説明を入力してください

ご覧のとおり、これは減衰最小二乗法を使用した古典的な疑似逆運動学ソルバーです。2番目の(問題の)動きによる操作性の要因は次のとおりです ここに画像の説明を入力してください 。操作性はビデオの冒頭で低下します。しかし、なぜ?私の知る限り、この操作性係数は軸の線形依存性を示します。私にとって、軸は最初の部分では線形に依存していないようです。

このぎくしゃくした動きは私を夢中にさせます。最初のアニメーションでわかるように、ソルバーは正常に動作しているようです。ここで何が欠けていますか?


1
ロボット工学へようこそ、ジョー!これは素晴らしい質問ですが、残念ながら質問に答えるのに十分な詳細があるとは思いません。システムが特異点になると、ある軸が180度回転するように、ある運動軸が乱暴に振れると予想します(90度が特異点の場合)。ここではそのような動作は見られません。私がこのように何か使用して、実装の問題、のであればと思いましてatanの代わりにatan2など、あなたがしてもらえ編集あなたの質問を使用しているコードを投稿しますか?
チャック

1
@チャックさん、「荒々しいスイング」が見えるように質問を編集しました。(2.更新されたアニメーション
Joe

回答:


1

他の人がすでに指摘したように、あなたが与えた説明には特異な動作はないはずなので、IKアルゴリズムの実装に問題があるはずです。

これで2つの選択肢があります。コードのデバッグを開始するか、これまでに記述されたコードの大部分を容易に使用できる2つのサブ問題に問題を簡単に分解できるという事実を利用したい場合があります。

目的の3Dターゲット与えられた場合、最初のジョイントの目的の値が次のようになることは簡単です:。バツdydzdθ1d=アークタンydバツd

マニピュレータの最初の関節をに駆動する制御則は、次のように簡単です。θ1d

θ1˙=K1θ1dθ1

次に、、軸を中心とした回転を説明する行列とします。RSOθ1dz

R=cosθ1dθ1d0θ1dcosθ1d0001

介して、新しいターゲットをし、新しいIK 2D平面問題を確立します中平面。Rバツd0zd1=RTバツdydzdTバツz

この時点で、残りの4自由度マニピュレーターのヤコビアンを使用してを解くことができます。バツdzd1


サブ問題で問題を分解する必要はないと思います。単位ベクトルの宣言は、すでに説明したことをすでに示しているためです。
ジョー

内訳は、投稿の冒頭で報告したように、スムーズに機能するコードの一部である4 DOFヤコビアンを再利用できるようにするための単なる提案です。
Ugo Pattacini、

0

最初の手首軸にアルゴリズム的特異点を導入したと思います。90度「下」に達すると、91度ではなく、0度から-269度に戻ろうとするように見えます。

もちろん、これはコードを見なくても推測にすぎません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.