問題タブ [inverse-kinematics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
121 参照

javascript - 逆運動学 JavaScript の z 軸の式

逆運動学 JavaScript の z 軸の式

x 軸の場合: x + Math.cos(angle) * segment_length;

y 軸の場合: y + Math.sin(angle) * segment_length;

z 軸の場合: z + ???

0 投票する
1 に答える
3575 参照

inverse-kinematics - 関節角度に制約がある最適な逆運動学アルゴリズム

インバース キネマティクス用の CCD アルゴリズムを実装しました。うまく機能しますが、制約があると失敗します。アームがターゲットに到達できない場合にターゲットに近づこうとするシステムを実装したいと考えています。

CCDアルゴリズムに制約を入れようとしました。つまり、回転角度が制約を上回ったり下回ったりすると、最大または最小に制限されます。たとえば、回転角度が 100 度で拘束が 90 度の場合、90 度回転し、それに基づいて他の角度を計算します。場合によっては機能しますが、ほとんどの場合は失敗します。

コンストレインを処理する 3D IK アルゴリズムを教えてください。

0 投票する
1 に答える
1304 参照

linear-algebra - Controlling orientation using a quaternion

To control a robotic arm, I have a controller with 6 dimensions (x, y, z position, and roll, pitch, yaw rotation). I am using a position (x, y, z) and quaternion (x, y, z, w) to represent the desired position and orientation of the robot's gripper.

I am using some libraries that people might not be familiar with (namely, geometry_msgs from ROS), so here is what I'm doing in pseudocode:

I am able to set the x, y, and z of the position part of the pose just fine. Technically, I am also able to set the quaternion just fine as well, but my problem is that controlling the quaternion is extremely non-intuitive, since rotation is not commutative. i.e., if I rotate 180 degrees about the x-axis, then the control of the rotation about the z-axis gets inverted.

Is there any way that I can control the rotation from a sort of "global reference frame," if that makes any sense? I would like it so that if I twist the joystick clockwise about z, the pose will rotate accordingly, instead of "sometimes rotating clockwise, sometimes rotating counterclockwise."

0 投票する
2 に答える
1952 参照

algorithm - Working of CCD algorithm for Inverse Kinematics

Lets say I've a robotic arm with joints at points A,B,C,D in a 3D space. Let D be the end effector(bottommost child) and A be the topmost parent. Let T be the target point anywhere in the space. The aim is to make the end effector reach the target with minimum rotations in top levels(parents).

What I initially thought:

1) Rotate the arm C by angle TCD. 2) Then rotate the arm B by new angle TBD. 3) Then rotate the arm A by new angle TAD.

But the end effector seems to point away from the target after step 2. What am I doing wrong and how can I fix it?

0 投票する
0 に答える
487 参照

c++ - Assimp を使用したスケルタル アニメーションのブレンド

私はゲームを作っていて、基本的なアニメーションが動作するようになったばかりです (万歳!)。アニメーションのブレンドを組み込むことで、それを改善しようとしています。しかし、メッシュやチュートリアルを見つけるのに苦労しています。さらに、スケルトン アニメーションが今後の方向性なのか、それともインバース キネマティクスのほうがよいアイデアなのか (おそらくミックスでしょうか?) は、完全にはわかりません。何かアドバイス?

0 投票する
1 に答える
12162 参照

python - Python 逆運動学パッケージ

arduinoと6つのサーボモーターを使用して、6自由度のロボットアームを構築しています。

シリアル通信を使った Python インターフェースを自作して、次のように書けるようにしmove_motor(angle1=45, angle2=37)ました。

今、私は IK の部分に取り組んでいます。腕の長さを設定する良いパッケージを探しています。それを与えると(x,y,z,theta)、各モーターの角度が返されます。

お得なパッケージはありますか?または、少なくとも私のニーズに合わせて遊ぶことができるものはありますか?

0 投票する
0 に答える
706 参照

c++ - 3DOF 脚逆運動学 C++

arduino 制御の四足動物に逆運動学を実装しようとしていますが、不正確な計算結果が得られました。何が問題なのかを確認するために、アルゴリズムを C++ に移植し、PC で実行しました。私の問題は、座標を変更する方向に関係なく、座標の変更によって同じ結果が得られると想定することです。ただし、x 軸と y 軸の遷移は、方向によって多少の違いがあります。私の数学の知識は少しほこりっぽいので、アルゴリズムをチェックしているときに何かを見逃したのかもしれません。逆運動学.jpg

結果の違いの原因は何ですか?

0 投票する
1 に答える
1479 参照

python - 順方向/逆運動学の計算 2-DOF python

プログラムは、次の式を使用して順運動学でエンドエフェクタのポイントを計算します。

x = d1cos(a1) + d2cos(a1+a2)

y = d1sin(a1) + d2sin(a1+a2)

ここd1で、 は最初のジョイントd2の長さ、 は 2 番目のジョイントの長さ、 はa1最初のジョイントa2の角度、 は 2 番目のジョイントの角度です。

この式で逆運動学を計算します

ここに画像の説明を入力

ここに画像の説明を入力

したがって、フォワード キネマティクスに必要な入力を入力することで、エンド エフェクタのポイントを取得する必要があります。インバース キネマティクスのフォワード キネマティクスで見つかったポイントと同じ入力を入力することで、入力した角度をフォワード キネマティクスの入力として取得する必要があります。しかし、私はそれらを取り戻しません。ここに私のコードがあります、

問題は、三角関数が導入されたときだと思います。それらのパラメーターはラジアンであると想定されており、答えは度です。どこかで私は2つを混同しています。どこにあるのかわかりません。ありがとう