タグ付けされた質問 「kinematics」

4
逆運動学の問題はどのように解決できますか?
ロボットアームの順運動学は簡単に解決できます。Denavit–Hartenberg変換行列を使用して各ジョイントを表現できます。 たとえば、ジョイントが線形アクチュエーターである場合、変換マトリックスを使用できます。私t h私thi^{th} ここで、拡張長は d iによって定義されますT私= ⎡⎣⎢⎢⎢10000100001000d私1⎤⎦⎥⎥⎥T私=[10000100001d私0001]T_i = \left[\begin{matrix} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&d_i\\ 0&0&0&1 \end{matrix} \right]d私d私d_i 一方、回転リンクは次のようになります。 ここで、 αは角度であり、そして Lは、リンクの長さです。T私= ⎡⎣⎢⎢⎢10000cosα私罪α私00− 罪α私cosα私0L001⎤⎦⎥⎥⎥T私=[100L0cos⁡α私−罪⁡α私00罪⁡α私cos⁡α私00001]T_i = \left[\begin{matrix} 1&0&0&L\\ 0&\cos\alpha_i&-\sin\alpha_i&0\\ 0&\sin\alpha_i&\cos\alpha_i&0\\ 0&0&0&1 \end{matrix} \right]αα\alphaLLL 我々は、すべての変換行列を乗算することにより、エンドエフェクタの位置と方向を見つけることができます:。∏ T私∏T私\prod{T_i} 問題は、逆問題をどのように解決するかです。 数学的には、所望のエンドエフェクタの位置のために、パラメータが見つける日間のI、α Iように、Π T iは = Mを。この方程式を解く方法は何ですか?MMMd私d私d_iα私α私\alpha_i∏ T私= M∏T私=M\prod{T_i} = M

3
逆運動学のヤコビ行列の計算
逆運動学を解析的に解くためのヤコビ行列を計算するとき、多くの場所からこの式を使用してヤコビ行列のジョイントの各列を作成できることを読みました。 Ji=∂e∂ϕi=[[a′i×(epos−r′i)]T[a′i]T]Ji=∂e∂ϕi=[[ai′×(epos−ri′)]T[ai′]T]\mathbf{J}_{i}=\frac{\partial \mathbf{e}}{\partial \phi_{i}}=\left[\begin{array}{c}{\left[\mathbf{a}_{i}^{\prime} \times\left(\mathbf{e}_{p o s}-\mathbf{r}_{i}^{\prime}\right)\right]^{T}} \\ {\left[\mathbf{a}_{i}^{\prime}\right]^{T}}\end{array}\right] ようにワールド空間における回転軸であり、R」は、ワールド空間内のピボットポイントであり、E_ {POSは}世界空間におけるエンドエフェクタの位置です。a′a′a'r′r′r'eposepose_{pos} ただし、ジョイントに複数のDOFがある場合、これがどのように機能するか理解できません。例として次のことを考えてください。 θθ\theta回転DOFあり、eeeエンドエフェクタであり、ggg、エンドエフェクタの目標であるP1P1P_1、P2P2P_2とP3P3P_3関節です。 まず、ダイアグラムの上記の式に基づいてヤコビ行列を計算する場合、次のような結果が得られます。 J=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢((0,0,1)×e⃗ )x((0,0,1)×e⃗ )y((0,0,1)×e⃗ )z001((0,0,1)×(e⃗ −P1→))x((0,0,1)×(e⃗ −P1→))y((0,0,1)×(e⃗ −P1→))z001((0,0,1)×(e⃗ −P2→))x((0,0,1)×(e⃗ −P2→))y((0,0,1)×(e⃗ −P2→))z001⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥J=[((0,0,1)×e→)x((0,0,1)×(e→−P1→))x((0,0,1)×(e→−P2→))x((0,0,1)×e→)y((0,0,1)×(e→−P1→))y((0,0,1)×(e→−P2→))y((0,0,1)×e→)z((0,0,1)×(e→−P1→))z((0,0,1)×(e→−P2→))z000000111]J=\begin{bmatrix} ((0,0,1)\times \vec { e } )_{ x } & ((0,0,1)\times (\vec { e } -\vec { P_{ 1 } } ))_{ x } & ((0,0,1)\times (\vec …

2
差動駆動ロボットの位置を計算する
インクリメンタルセンサーを備えた差動駆動ロボットの位置をどのように計算または更新しますか? 2つのディファレンシャルホイールのそれぞれには、1つのインクリメンタルセンサーが取り付けられています。両方のセンサーは、距離決定します。は、既知の時間間にホイールが回転しました。Δ R I G H TΔ LのEのFt△left\Delta leftΔのRのI Gh t△r私ght\Delta rightΔ トン△t\Delta t まず、両方の車輪の中心がロボットの位置をマークしていると仮定しましょう。この場合、次のように位置を計算できます。 x = xリットルのE ft+ xR I Gh t2y= yリットルのE ft+ yR I Gh t2バツ=バツleft+バツr私ght2y=yleft+yr私ght2 x = \frac{x_{left}+x_{right}}{2} \\ y = \frac{y_{left}+y_{right}}{2} 両方の車輪が直線で回転するという仮定の下でこれらの方程式を「導出」します(短い距離ではほぼ正しいはずです)。 ΔのXΔ トン= 12(ΔのリットルE FtΔ トン+ Δ R I Gh tΔ トン) cos(θ)Δ YΔ …

2
アッカーマンステアリングと運動学に関する標準的な二輪車/三輪車の違いは?
次の宿題の質問がありました。 アッカーマンステアリングを備えたロボットと運動学に関する標準的な自転車または三輪車の一般的な違いは何ですか? しかし、車のようなロボット(2つの固定後輪と2つの従属調整可能な前輪)は三輪車のようなロボット(1つの調整可能な前輪が中間)。 次に、2つの後輪の間の距離をゼロに近づけると、自転車が手に入ります。 そのため、これら3つの移動ロボットの違いはわかりません。不足しているものはありますか?

2
クローリングロボットのスムーズなサーボ動作
少し前に、それぞれ2自由度の2本の脚を持つ小型のクローラーロボットを作成したので、合計4つのRCサーボができました。脚の動きをプログラミングしているときに、脚の動きがかなり硬いことに気づきました。RCサーボの内部コントローラーが位置コマンドに対して非常に迅速に応答することは理にかなっていますが、クローラーをもう少しスムーズでリアルな動きにしたかったのです。 私の解決策は、サーボのパスを表す時間の3次関数を作成し、それらの位置を小さな時間増分で設定して、よりスムーズなモーションを実現することでした。基本的に私が行ったのは、時間間隔、サーボの開始位置と終了位置、およびサーボが移動する開始レートと終了レート(位置の微分)を使用して、3次方程式の係数を解くことです。aiaia_i 、a 1、a 2、およびa 3を解く:a0a0a_0a1a1a_1a2a2a_2a3a3a_3 r a t e (t )= p o s i t i o n ′(t )= a 1 + 2 a 2 t + 3 a 3 tposition(t)=a0+a1t+a2t2+a3t3position(t)=a0+a1t+a2t2+a3t3 position(t) = a_0 + a_1t + a_2t^2 + a_3t^3 rate(t)=position′(t)=a1+2a2t+3a3t2rate(t)=position′(t)=a1+2a2t+3a3t2 rate(t) = position'(t) = a_1 + …

2
Denavit-Hartenberg表現を使用する利点は何ですか?
キネマティックチェーンをモデリングし、特に各ボディにアタッチされたフレームを定義する場合、一般的にDenavit-Hartenbergパラメータを使用します。 この表現の利点は何ですか? 正規化された表現を持つことの興味を理解できますが、アルゴリズムのパフォーマンスに影響しますか?アルゴリズムを実装するのは簡単ではありません。たとえば、これはURDFなどの多くのロボット形式で行われるように、参照フレームを手で(つまり任意に)修正するだけでなく、これからどのような利益を期待できますか。
11 kinematics 

1
プログラミングロジックでリンクのパラメータと角度(運動学)を変換行列に変換するにはどうすればよいですか?
私は学部生としてロボット工学の研究を行っており、概念的な数学の大部分を理解しています。しかし、ロボットのフォワードキネマティクスを計算するコードを実際に実装することになると、行き詰まっています。私が見つけた本やウェブサイトがそれを説明する方法を単に得ていません。 次のようなリンクパラメーター(Denavit-Hartenbergパラメーター)を指定して、XYZ角度を計算したいと思います。 i123456αi−10−90∘0−90∘90∘−90∘ai−100a2a300di00d3d400θiθ1θ2θ3θ4θ5θ6iαi−1ai−1diθi1000θ12−90∘00θ230a2d3θ34−90∘a3d4θ4590∘00θ56−90∘00θ6\begin{array}{ccc} \bf{i} & \bf{\alpha_i-1} & \bf{a_i-1} & \bf{d_i} & \bf{\theta_i}\\ \\ 1 & 0 & 0 & 0 & \theta_1\\ 2 & -90^{\circ} & 0 & 0 & \theta_2\\ 3 & 0 & a_2 & d_3 & \theta_3\\ 4 & -90^{\circ} & a_3 & d_4 & \theta_4\\ 5 …

3
6軸ロボットで、エンドエフェクタの位置と方向の範囲を指定して、最適な関節の値を見つける方法
エンドエフェクターでツールを保持している6軸の多関節ロボットアームがある場合、希望するツールの位置と方向がある場合、ロボットがその位置に到達するための逆運動学方程式のソリューションは1つだけです。 (または、関節の範囲に応じて、最大16の異なるソリューション) しかし、ロボットがペンのようなものを持ち、ロボットがターゲット上のそのペンで特定のポイントをマークするようにしたい場合、マークされた表面に垂直である限り、ペンの向きを気にしません。 したがって、逆運動学方程式は無限に多くの解を持つことになります。 これらのソリューションの中から、現在の構成に最も近いジョイント構成を選択するにはどうすればよいですか? (または、すべての関節角度が最大値と最小値から最も離れているなど、他の同様の基準に従って最適である関節構成)

2
なぜ通常、ロボットアームの他の運動学的表現よりもDHパラメータを優先するのですか?
キネマティックキャリブレーションに関して、DHパラメータと他の表現の比較に特に興味があります。キネマティックキャリブレーションで見つけることができる最高の(最も明確な)情報源は、Bruno Siciliano、Lorenzo Sciavicco、Luigi Villani、Giuseppe Oriolo、第2.11章の本「Robotics:Modelling、Planning and Control」にあります。これには、DHパラメーターのアームの説明、キネマティクス方程式の乗算、各DHパラメーターによる偏微分、そして最小二乗近似(左の疑似逆行列)が必要で、その後反復します。 異なる表現(xyz +オイラー角など)の代わりにDHパラメーターが使用される根本的な理由はありますか?パラメーターが少ない(4対6またはそれ以上)ことを理解していますが、このようなキャリブレーション手順では、とにかく未知数よりもはるかに多くのデータを取得します。私が読んだすべてのロボット工学の教科書は、DHパラメータを提示し、「これがあなたが使うべきものです」と言っていますが、実際にはその理由を説明しません。おそらく、この議論はDenavitによる元の論文にありますが、追跡することはできません。

3
垂直関節軸のフォワードキネマティクス/ DHパラメータ
私は、DH規則を使用して、Kuka youBotのフォワードキネマティクスを計算しようとしています。 http://www.youbot-store.com/youbot-developers/software/simulation/kuka-youbot-kinematics-dynamics-and-3d-model アームジョイント1とアームジョイント5は回転し、世界のz軸を中心に回転します(空を指します)。 しかし、他の3つのジョイントはすべて回転しており、x軸を中心に回転します。 DH規約では、「ジョイント距離」は「共通法線」に沿っているとされています。しかし、私が誤解しない限り、唯一の一般的な法線はy軸であり、それも水平であり、関節距離はありません。 ジョイント1-ジョイント2にリンクオフセットを使用すると考えていましたが、ジョイント4-ジョイント5で問題が発生しました。リンクオフセットは前のz軸に沿っていると想定されており、その場合、水平方向のどこにも向いていません。しかし、リンク距離STILLも機能しません。これは、一般的な法線距離であり、確立された法線はx軸であり、水平でもあるためです。だから今、私は非常にねじ込まれていると感じています。簡単な解決策があると確信していますが、それを見ることができません。 それで、私は、関節の回転軸が垂直である場合、1-2と4-5の間のリンクに対してどのようにDH規則を使用するのかという質問だと思います。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.