アーカイブ / Robotics
6本の脚長から可動台の姿勢候補を求める代数解法
Forward kinematics by elimination templates
Forward kinematics by elimination templatesの原論文から掲載した図です。細部はクリックして拡大できます。
原論文の図の説明を読む
Figure 2: Sparse pattern of the elimination template M ^ \widehat{M} : blue dots represent non-zero elements
概要
- 6本の脚長と両側の取付点座標から、可動台の位置と向きの候補を求める。
- 293×362の消去テンプレートを使い、69候補から元の式の残差によって40解を選ぶ。
- 著者の合成データ実験で、MATLAB実装の平均処理時間は6.2ミリ秒。実機での候補選択は別途検証が要る。
補足:編集した模式図で仕組みを確認する
VISUAL EXPLAINER
図でつかむ、Forward kinematics by elimination templatesの仕組み
- 01脚長と取付点座標
- 02距離条件を多項式化
- 03消去行列を分解
- 04姿勢候補を選別
原論文の説明をもとにした模式図です。処理の細部は省略しています。
研究の背景
スチュワート・ゴフ機構は、固定された基台と動く台を、長さを変えられる6本の脚で結ぶ装置である。脚長と両側の取付点の配置から、動く台の位置と向きを求める問題を順運動学という。現在の姿勢を把握するための計算だ。
6本の脚が並列につながるため、距離の条件は互いに絡んだ非線形の式になる。一般形では複素数解も数えて40解があり、与えた脚長から姿勢が一意に決まるとは限らない。
手法
入力は6本の脚長と、基台・可動台それぞれの取付点座標である。各脚について「動かした後の取付点間の距離が脚長に等しい」という条件を立て、回転と移動を未知数とする多項式に直す。例えば同時刻の脚長を代入し、それらを同時に満たす台の位置と向きを探す。
係数から293×362の消去テンプレートを作り、PLU分解という行列の分解で69×69の行列対を組み立てる。次にQZ分解で行列対の固有ベクトルを計算し、姿勢候補を取り出す。69候補を元の式へ戻して残差の小さい40解を選ぶ。複素数解も含むため、実機で扱う姿勢には実数かどうかの確認が要る。
新規性
著者が示す手順は、一般形のスチュワート・ゴフ機構の順運動学を、293×362の疎な消去テンプレートから作る69×69の行列対の固有ベクトル計算に移すものだ。消去テンプレートとは、多項式の係数を整理して未知数を消去するための行列を指す。
基台と可動台の平面性や対称性、追加センサーを仮定しない。得られる69候補には29個の偽解が含まれるため、元の式に代入した残差で40解を選ぶ工程まで含めている。
従来手法との違い
本文が挙げるニュートン法などは、初期値を使って解を局所的に探す方法である。提案法は多項式から行列対を作り、一般形で知られる複素数解を含む40解を求める。ただし、既存の姿勢算出法との同一条件での速度比較は示されていない。
著者は複数の自動テンプレート生成器を試し、一つで293×362のテンプレートを構成した。他の生成器は妥当な時間内に構成できなかったと記すが、所要時間の数値は示していない。
実験結果
著者はMATLAB実装を使い、取付点座標と脚長を乱数で設定した合成データで、一般形の6-6、可動台側の取付点が二つ重なる6-5、基台側が平面の6P-6を評価した。各構成1万試行で、40解の式への残差を集約した常用対数誤差の中央値は順に−9.86、−9.76、−9.12だった。
平均処理時間はテンプレート構成0.4ミリ秒、PLU分解4.2ミリ秒、QZ分解1.6ミリ秒、合計6.2ミリ秒と報告される。脚長に模擬誤差を加えた評価では、各箱ひげ図が千試行を集約し、回転角と並進ベクトルの向きの角度誤差を調べた。著者は誤差の増加に対して推定結果が連続的に変化し、6P-6ではやや悪化したと述べる。
応用の可能性
編集上の応用案 · 論文が実証した用途とは区別しています。
編集上の応用案:6本脚の可動台で、脚長の記録から姿勢候補を照合する。入力は基台と可動台の各脚の取付点座標、および同時刻の6本の脚長とする。出力は位置と向きの候補、各候補を元の距離条件に戻した際の残差の一覧だ。
学習用データと学習ラベルは不要だが、対象装置の取付点座標と脚長の計測値は要る。実数候補が複数残る場合に現在姿勢を選ぶ手順は、可動範囲や直前の姿勢を使って別途設計する。
応用先の候補からNauhに相談できます。
導入時の検証
導入時の検証案 · 対象データでの再評価が必要です。
導入時の検証案:対象装置の両側の取付点座標と、同時刻の6本の脚長を集め、基準姿勢が分かる静止状態を数点用意する。学習用データと学習ラベルは不要だが、精度の照合には各点の基準位置と向きが要る。脚長センサーの読み値は、解法に入力する長さへ換算する。
既存の姿勢算出手順を基準に、処理時間と基準姿勢からの位置・角度のずれを測る。脚長を繰り返し計測し、元の6本の距離条件の残差、実数候補の数、現在姿勢を選べた割合を記録する。取付点座標を実測値に合わせた後も同じ項目を確認する。
限界と課題
著者は、基台と可動台がともに平面状の6P-6P構成を提案法の退化例と記している。また、行列対から得る69候補には29個の偽解があり、元の式への代入による選別が必要だ。40解には複素数解も含まれ、すべてが実機の姿勢を表すわけではない。
編集上の検証事項は、脚長と取付点座標の計測誤差が候補選別に及ぼす影響、複数の実数候補から現在姿勢を特定する方法、対象装置の制御周期内に計算が終わるかである。示された実験は合成データによるもので、実機での性能は未確認だ。
出典
元のタイトル・要旨を確認する(英語)
Forward kinematics of a general Stewart-Gough platform by elimination templates
The paper proposes an efficient algebraic solution to the problem of forward kinematics for a general Stewart-Gough platform. The problem involves determining all possible postures of a mobile platform connected to a fixed base by six legs, given the leg lengths and the internal geometries of the platform and base. The problem is known to have 40 solutions (whether real or complex). The proposed algorithm consists of three main steps: (i) a specific sparse matrix of size 293x362 (the elimination template) is constructed from the coefficients of the polynomial system describing the platform's kinematics; (ii) the PLU decomposition of this matrix is used to construct a pair of 69x69 matrices; (iii) all 40 solutions (including complex ones) are obtained by computing the generalized eigenvectors of this matrix pair. The proposed algorithm is numerically robust, computationally efficient, and straightforward to implement - requiring only standard linear algebra decompositions. MATLAB, Julia, and Python implementations of the algorithm will be made publicly available.
論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-10-01




