SEARCH
MENU

構造変化を伴うリンク系の動力学計算法とヒューマンフィギュアの運動計算


初出:日本ロボット学会誌,1998 年 16 巻 8 号 p. 1152-1159

本ページでは,これまでに日本ロボット学会誌に掲載された論文の中から注目度の高い論文をHTML形式で紹介しています.HTMLへの変換時に著者紹介,キーワードなど一部の情報は省略しています.また,レイアウトはオリジナル論文とは異なります.

PDF形式のオリジナル記事はこちらでご覧になれます.引用する際は,本Webページではなくオリジナル論文を引用してください.


【学術・技術論文】

構造変化を伴うリンク系の動力学計算法とヒューマンフィギュアの運動計算

中村仁彦,山根克,永嶋史朗

 

 This paper discusses the dynamics computation of structure–varying kinematic chains which imply mechanical link systems whose structure may change from open kinematic chain to closed one and vice versa. The proposed algorithm can handle and compute dynamics and motions of any rigid link systems in a seamless manner without switching among algorithms. The computation is developed on the foundation of the dynamics computation algorithms developed in robotics, which is inherently superior in efficiency due to explicit use of the generalized coordinates to those used in the general purpose motion analysis software. The structure–varying kinematic chains are commonly found in computing human and animal motions. The established computation will provide the general algorithmic foundation of the computation of motion and control of humanoid robots and CG human figures.

  Structure–Varying Kinematic Chains, Closed Kinematic Chains, Human Figures, Humanoid Robots, Dynamics Computation

 

 

1  はじめに

 ヒューマノイドロボットの研究の進展に伴い,その制御,行動生成,シミュレーションなどを効率的に行うことが求められてきている.またコンピュータグラフィクス(CG)の分野においても,マルチメディア技術の発展とともにダイナミックな動画を簡単に制作できる環境が望まれている.これらに共通して必要とされるのは,動力学的な整合性を考慮して様々な運動を作り出す技術である.例えば,ヒューマノイドロボットの歩行では動力学を考慮した制御は安定歩行に重要なだけでなく,アクチュエータの性能を効率的に利用することでエネルギー消費の低減や軽量化に貢献する.また人間が見て自然な動作を生成する上でも動力学の計算は必要である.一方,CGではモーションキャプチャで得られる限られた運動データをもとにストーリーに応じて多様な運動を生成することが求められるが,モーションキャプチャデータを単純に運動学的に変更するだけでは不自然な動きになってしまう.ここでも動力学を考慮した運動生成が求められる.

動力学を用いた人間の運動生成についてはいくつかの研究がある. Ko[1]は,歩行運動において逆動力学計算により安定性を解析し,外力が働くときや重い荷物を持ったときのモーションキャプチャデータからのずれを計算し,自然な運動の生成を試みている.解析には動力学を用いているものの,動きの修正は運動学的なもので,力学シミュレーションは行っていない.またWooten[2]は,人間の高飛び込みにおける運動をシミュレーションし,実際の人間の運動に近い結果を得ている.しかし,地面や他の人間との干渉は考慮していないため,多様な運動や複数の人間がかかわる運動に応用することは難しい.

 

 

 

 

Figure  1: Example of structure changing

 

本論文では,ヒューマノイドロボットやCG上の人間などをリンク機構として表現した数理モデルをヒューマンフィギュアと呼び,力学的な運動生成の基礎となる運動計算法を扱う.従来から研究されてきたリンク系の運動計算法は,比較的単純で一定の構造を持った系を主な対象としていた.それらと比較すると,人間などの生物を含む力学系の大きな特徴として以下のようなものが挙げられる. 

    • 構造可変:   Fig. 1  のように,人の「物をつかむ」,「歩く」などの運動では開リンクから閉リンクへ,さらに再び開リンクへというようにリンク構造が変化する.

    • 閉リンク機構を含む多自由度機構:人間の数理モデルは,手足の指を除いたとしても40以上の自由度を持つ.また,両手で物をつかんだり,別の人間と手をつないだりした場合には複雑な閉リンク機構にもなり得る.

 したがって,ヒューマンフィギュアの運動計算法は構造可変性を容易に取り扱うことができ,かつ計算量も可能な限り少ないことが望ましい.

閉リンク機構の効率的な動力学計算の研究は従来から行われている.現在広く利用されている汎用的な動力学解析ソフトウェアでは,全リンクの位置・姿勢を一般化座標にとり,これと関節などに応じた拘束条件を組み合わせて運動方程式を求めている[3]このような方法は汎用性が高く任意の機構や関節に対応できる反面,扱う変数が非常に多く膨大な計算量が必要で,複雑な機構の解析には長い時間がかかるという欠点がある.

動力学計算の効率化のために,閉ループを仮想的に切断して木構造開リンク機構に変換することが考えられている.遠山ら[4]は,前記の方法をもとにした漸化式形式の運動方程式を応用した効率的な順動力学計算法を提案している.一方,中村[5]は駆動関節の一般化座標に関するヤコビアンを用いる逆動力学計算法を提案している.このアルゴリズムは開リンク機構の効率的な逆動力学計算法を利用し,効率的に計算することができるが,実際の計算では機構の特殊性に頼る部分があり,一般的な閉リンク機構に適用するのは困難である.

構造可変性の取り扱いを容易にするためには,リンク機構の表現法が重要である.リンク機構の表現には行列を用いることが提案されている [3, 6]この方法は,一つの機構モデルのなかでの構造変化の扱いは比較的容易だが,複数の機構が結合する場合には行列のマージなどの作業が必要である.また,計算のたびに隣り合ったリンクや閉ループを探索しなければならない.現状では,構造変化を考慮した機構表現法の研究は見当たらず,構造の変化に伴う処理はオーバーヘッドとなる.

本論文では,まず中村[5]によるパラレルメカニズムの逆動力学計算法を任意の閉リンク機構に適用する方法について述べる.次に,ポインタによるリンク構造表現法と仮想リンクによる閉リンク機構表現法を導入する.そして,あらゆるリンク結合を閉ループの生成と考えることで,構造変化を統一的かつ容易に取り扱う方法を示す.最後に,構造変化を伴う力学シミュレーションの例を示す.

 

一般的な閉リンク機構の動力学

 2.1  パラレルメカニズムの逆動力学[5]

閉リンク機構をいくつかの関節で仮想的に切断した仮想開リンク機構を考える.この開リンク機構が  個の関節  を持っているとして,そのすべてが駆動されていると仮定し,実際の閉リンク機構に要求されたのとまったく同じ運動を行わせるのに必要な駆動トルク  を計算する.このとき,Newton–Euler[7]などの開リンク機構の効率的な逆動力学計算法を適用する.

 を,以下の2式により  個の駆動関節  の駆動トルク  に変換する.

            (1)

              (2)

 ここで,閉リンク機構全体の自由度を  とし,  を閉リンク機構の状態を表す一般化座標,  をそれに対応する一般化力とすれば,  以下に示すヤコビアンである.

                      (3)

                        (4)

 

具体的な計算手順としては,まず仮想開リンク機構の逆動力学計算を行って  を計算し,式(1により一般化力  に変換する.そして,式(2を解いて駆動関節トルク  を計算する.機構に駆動冗長性がある場合は,ここで駆動トルクの配分を最適化することができる[8]

パラレルメカニズムでは,機構の並列性を利用して    を計算することができる.また,平面機構など単純な機構ではこれらが定数行列になることがあり,その物理的な意味から直観的に得ることができる.しかし,一般的な閉リンク機構に対しては  の計算方法がこれまで知られておらず,式(1  式(2による逆動力学計算法を適用することができなかった.

 

2.2  一般的閉リンク機構の  計算法

 任意な閉リンク機構に適用可能な  計算法を以下に示す.閉ループを一つの関節で仮想的に切断することを考える.このとき,閉ループは2本のリンク列に分けられる.切断点の速度・角速度が一致することから,次式を満たす  が計算できる.

         (5)

 ここで  は全関節数, は全関節角である.  式(5は閉ループの拘束を表す.  の成分は,開リンク機構における関節角に対する手先位置のヤコビアンと同様の手順で計算できる.

機構中のループ数を  として, を縦に並べて  を作る.

        (6)

 

   本の行のうち独立なものが  本あるとし,それらを集めて  を作ると,すべての閉ループによる  個の独立な拘束条件が得られる.

         (7)

  個の関節に対し  個の拘束条件があるので,機構全体の自由度  は次式で求められる.

            (8)

  から  本の独立な列ベクトルを集めて  を作り,残りを集めて  とする.  の成分は次式を満たすようにあらかじめ順序づけられているとしても一般性を失わない.

       (9)

 ここで  はそれぞれ  対応する  の成分を集めたベクトルである.  式(9より

    (10)

 となる.定義より  は正則行列なので,式(10

        (11)

 と変形できる.ここで  は次式で定義される    に関するヤコビアンである.

             (12)

  式(11により  から全関節の運動  が決定される.このことから  を一般化座標と定めることができる.

   から以下のように作られる.   Fig. 2  に方法を図示する. 

    •  の第  行:   番目の関節が一般化座標でなく,   番目にあたるときは   の第  行とする.    番目の関節が一般化座標で,    番目にあたるときは  番目の要素が1それ以外は0の単位行ベクトルとする.

    •  の第  行:   番目の関節について  と同様の操作を行う.

 以上のように,開リンク機構のヤコビアンと同様に求められる  をもとに,機構全体の自由度やトルク変換に必要なヤコビアン  一般の閉リンク機構に対して計算することができる.これにより,文献[5]の効率的な逆動力学計算アルゴリズムを一般の閉リンク機構に適用することが可能となった.

 

 

 

 

Figure  2: Forming  from

 

 

2.3  加速度の関係式

  式(11)を時間微分すると次のような加速度の関係式が得られる.

                      (13)

 

2.4 節で述べる順動力学計算で得られた一般化座標の加速度  からそれ以外の関節の加速度  を求めるときにこの計算を行う必要がある.    は与えられるので,ここでは式(13の右辺第2  の計算方法を示す.

 式(12から,

          (14)

 となる.ここで  より

                (15)

 である.  式(10式(15を用いて式(14を変形し,整理すると次式が得られる.

       (16)

 

 は,  から  対応する成分を取り出すことによって得られる.また  の各閉ループに対応する成分は,シリアルリンクマニピュレータの計算法 [9]と同様に求められる.

 

2.4  一般的な閉リンク機構の順動力学

 開リンク機構の順動力学計算法[3, 7]はいくつか提案されているが,閉リンク機構に応用するのは困難である.そのなかで,「単位ベクトル法」は計算量が  と大きいものの,比較的容易に閉リンク機構へ拡張できる[5].本節では,閉リンク機構に単位ベクトル法を適用した順動力学計算法について述べる.

閉リンク機構の運動方程式は,開リンク機構と同様に以下のように書ける.

                (17)

 ここで  は入力一般化力,  は慣性行列,  は速度依存項や重力項をまとめたものである.開リンク機構の場合は,全関節角が一般化座標になり,関節トルクが入力一般化力となる.したがって式(17から全関節の加速度が直接得られる.一方,閉リンク機構では駆動トルクと一般化力とはベクトルの次元さえも異なることがある.駆動トルクを一般化力に変換し,一般化座標の加速度を求め,これから全関節の加速度を計算するという手順になる.

具体的な計算手順をまとめる.ここでは  を駆動トルクとして与える.

 

    1.   式(2により一般化力  に変換する.

    2.   として2.12.2節の手順で逆動力学計算を行い,得られた一般化力    とする.このとき,一般化座標でない関節の加速度  は,  式(13に代入することにより,2.3節で計算手順が示された  として与えられることが分かる.

    3.   について,以下の計算を行う. 

        (a)  要素が1その他の要素が0の単位ベクトル  用いて  とする.他の関節の加速度  式(13これを代入して求める.

        (b) 2.12.2 節の手順で逆動力学計算を行い,得られた一般化力    とする.

        (c) 次式で計算される  を慣性行列  の第  列とする.

      (18)

 

 

    4.  (1) (2) (3)  を用いて,次式により一般化座標の加速度を計算する.

            (19)

 

    5.   式(13を用いて  を計算することにより,全関節の加速度が得られる.ここで  (2)で計算したものを使う.

 

 

2.5  浮遊リンク機構の順動力学

 遊リンク系は,  Fig. 3  のようにベースと慣性座標系の間に6自由度の受動対偶を考えることで,ベースが固定されたリンク系と同様に順動力学を計算することができる.このとき,6自由度の自由関節を六つの1自由度関節に分解せず,1個の関節として扱うと動力学を効率的に計算することができる.

 

 

 

 

Figure  3: Base–free kinematic chain

 

 

リンク機構の表現

 3.1  ポインタによる開リンク連鎖表現

 本研究で採用した動力学計算アルゴリズムは,リンク列をベースリンクからエンドリンクへ(順方向)«,およびエンドリンクからベースリンクへ(逆方向)たどっていく漸化式形式で表現されている.このような計算を効率的に行うために,開リンク連鎖を他のリンクへの矢印となる「ポインタ」によって表現する.この方法では関節で接続されているリンクを探索する必要がない.また,リンク構造を表現するのに必要なデータの量はリンク数に比例し,多数のリンクが存在する系でもデータの量は比較的少ない.さらに,このポインタ表現はC++を用いたプログラムの構造とも一致しており,効率的で実装が容易である.

はじめに,各リンクに対してベースリンク側につながっている「親(Parent)リンク」を指定し,それを指す「親ポインタ」を定める.次に,エンドリンク側につながっているリンクを「子Child)リンク」とし,それを指す「子ポインタ」を定める.エンドリンク側につながっているリンクが複数ある場合には,そのうちの一つを「子リンク」とし,残りはその「兄弟(Brother)リンク」として,「兄弟ポインタ」によって線形リスト状に追加していく.ポインタの付け方を  Fig. 4  にまとめる.

 

 

 

 

Figure  4: Three pointers to describe open–link structure

 

順方向計算を行う関数では,自分に関する処理が終了した後,BrotherChildに対して同じ関数を再帰的に呼び出す.また,逆方向計算を行う関数では, BrotherChildに対して再帰呼び出しを行った後,自分に関する処理を行う. Parent ポインタは,親リンクのデータを参照するときに利用する.このように,ポインタによる機構表現は漸化式形式で表現されたアルゴリズムC++でインプリメントするのに適している.

 

3.2  閉リンク連鎖表現

 閉リンク機構ではリンク列が閉じているため,リンクの親子関係が決められない.そこで,  Fig. 5  のように閉ループを仮想的に切断して開リンク機構と同様に記述し,切断関節の両側にあったリンクのいずれかを「実体(Real)リンク」とする「仮想(Virtual)リンク」を作って実体リンクのない側のエンドリンクとして追加する.ただし,仮想リンクは運動学パラメータのみを持ち,力学パラメータはすべて0とする.このとき,仮想リンクと実体リンクを対応付けるために,仮想リンクから実体リンクを指す「実体ポインタ」を導入する.

 

 

 

 

Figure  5: Describing closed loop by virtual link

 

 

 

 

 

Figure  6: Example of describing link structure

 

以上“Parent”, “Child”, “Brother”, “Real”4種類のポインタを定義することによって,閉リンク機構を含む任意のリンク機構を,動力学計算に便利な形で記述することができる.閉リンク機構を記述した例を  Fig. 6  に示す.この方法の特徴をまとめると以下のようになる. 

    • リンクの接続関係が明確で,漸化式形式の動力学計算のインプリメントが容易である.

    • 閉ループと仮想リンクが11に対応し,閉リンクの判別が容易である.

    • 動力学計算における仮想切断点を閉リンク連鎖表現の仮想切断点,すなわち仮想リンクとその親リンクとの間の関節に一致させることで,動力学計算時のリンクのインデックスが容易になる.

    • 閉リンク機構の表現は一意ではない.

 

 

構造可変リンク系

 4.1  構造可変リンク系とは

 構造可変リンク系とは,運動の途中においてリンクとリンクが結合したり,関節が切断されてリンクが分離したりする物理的なリンク連鎖の変化が許されるリンク系をいう.例えば,手で鉄棒をつかむ運動では手と鉄棒の間に新しい関節が生じる.また2足歩行においては,左右の足が地面との結合/分離を繰り返していると考えることができる.このように人間や動物の運動では構造変化が頻繁に発生するため,ヒューマンフィギュアの運動計算では構造変化をなるべく容易に取り扱うことができる必要がある.本章では,構造変化を自動的に扱うための手法を提案する.

 

4.2  リンクの結合

 構造変化のうち,まず二つのリンクが結合する場合を考える.   Fig. 7  のように,リンクの結合により閉ループが生成される場合は,仮想リンクを新たに作り,データに追加すればよい.処理の手順は以下のようになる. 

    1.  Link4 の仮想リンクLink4vを生成する.

    2.  Link4v Link3 の子リンクとする.

 リンク構造表現の変化を  Fig. 8  に示す.

 

 

 

 

Figure  7: Example of link connection

 

 

 

 

 

Figure  8: Link structure description before and after connection

 

これらの処理は,結合すべきリンクさえ指定すればプログラムで自動的に行うことができるので,計算途中にオンラインでリンク結合を処理することが可能である.

  Fig. 9  のように浮遊リンク系が他のリンク系と結合する場合にはさらに考慮が必要となる.  Fig. 9 BaseLink1という2リンクからなる1関節の浮遊リンク系のLink1と第2リンク系である地面(Ground)が結合し,新しい関節ができる場合である.このとき,結合後の構造が物理的には開リンク機構であることを考慮すると,結合前のデータを  Fig. 10  のように変更するのが妥当であると考えられる.ここで,Parent ポインタに付記した Rotate Freeはそれぞれ回転関節,自由関節を表す.しかし,この変更はBaseLink1の親子関係の逆転を伴い,隣り合う関節の位置関係を表すDenavit–Hartenberg パラメータや動力学パラメータを変更しなければならない.これは原理的に困難な問題ではないが,リンク構造が頻繁に変化するヒューマンフィギュアの歩行動作などのシミュレーションでは計算のオーバーヘッドとなる.

 

 

 

 

Figure  9: Open chain generated by link connection

 

 

 

 

 

Figure  10: Apparently possible change of link structure description

 

 

 

 

 

Figure  11: Pseudo-closed-link structure

 

そこで,結合により閉リンク機構ができる場合とまったく同様に仮想リンクを作り, BaseGroundの間の6自由度対偶を閉ループ内に含む閉リンク機構とみなす.このような閉リンク機構を擬似閉リンク機構と呼ぶことにする.  Fig. 9 の結合後の構造に対する擬似閉リンク機構とそのリンク構造表現を  Fig. 11  に示す.

擬似閉リンク機構を考えて構造変化を処理する手法は以下のような特徴を持つ. 

    • リンクの親子関係を逆転させる必要がない.

    • リンク結合後の構造が開リンクであるか閉リンクであるかを問わず,同じ手順で処理することができる.

    • 結合後の構造が物理的に開リンク機構となる場合は,擬似閉リンクとして計算した場合には計算量が多くなる.しかし,自由関節は一つの6自由度対偶として扱うことができるため,計算量の増加分は通常の1自由度対偶6個の計算量よりもはるかに小さい.

 

 

4.3  構造変化後の速度境界条件

 リンクとリンクが結合・切断する瞬間において,二つのリンクの相対速度が0でない場合には衝突現象が起こり,構造変化の前後で関節速度が不連続に変化する.爆発を伴う切断を除いて,多くの切断においては相対速度を0としてよい.結合においては,むしろ非零の相対速度を持つことが多いと考えられる.動作解析の数値積分において,構造変化直後の速度を境界条件として与えることが必要である.以下では速度境界条件の計算法を示す.

結合する二つのリンクがそれぞれリンク機構12に属しているとする.結合前のそれぞれの一般化座標を 結合点  の一般化座標に対するヤコビアンをそれぞれ  とし,両者の慣性行列を  とする.

それぞれのリンク機構に結合点において力積  が加わり,構造変化の前後で一般化座標の速度が  だけ変化したとする.また,結合点に  自由度の新しい関節  ができたとし,結合により生成された仮想リンクの  関するヤコビアンを  とする.

力積と運動量変化の関係から

              (20)

 が成り立つ.また,作用反作用の法則から

         (21)

 結合後は仮想リンクとその実体リンクの速度が一致することから,結合後の機構の関節速度について以下の関係が成り立つ.

          (22)

 結合により機構が受ける力積は,新しい関節  の可動方向成分を持たない.例えば,新しく回転関節が生成される場合には,その軸回りのモーメントを与えることはできない.この条件は以下のように表される.

        (23)

 

 式(20 ««23)を  について解くと,一般化座標の速度の変化が計算される.

  (24)

     (25)

 ただし,

           (26)

        (27)

                           (28)

 であり,  66列の単位行列である.

なお,結合した二つのリンクが固定される場合,すなわち  の場合は,  式(22  は現れず,  式(23は不要になる.そのときの解は式(24 «25)において  としたものとなる.

一つの機構のなかでリンクの結合が発生する場合は,一般化座標と慣性行列は一致するがヤコビアン    は異なる.また,式(20の代わりに次式を用いる.

                  (29)

 同様に一般化座標の速度の変化を求めると以下のようになる.

               (30)

 ただし,

         (31)

        (32)

                                   (33)

 

 

4.4  関節の切断

 関節が切断される [3]場合を考える.仮想関節のある関節での切断は,結合とまったく逆の操作により処理することができる.  Fig. 7 の結合後の構造において,Link3Link4の間の関節を切断するためには以下の操作を行う. 

    1.  Link4v をリンク構造から切り離す.

    2.  Link4v を消去する.

 

ヒューマンフィギュアは基本的には腰あるいは胴部をベースとする浮遊開リンク機構となる.これが手や足先で他のリンク系と結合,切断することによって構造変化が起こる.したがって,一般にヒューマンフィギュアにおける関節の切断は仮想リンクのある場所に限られると考えてよい.

一般のリンク系の構造変化に対応するために,仮想リンクが存在しない場所での切断も扱えることが必要である.この場合も4.2 節のように自由関節を導入することで困難なく扱うことができる.  Fig. 7 の結合後の構造において,Link1 Link3 の間の関節が切断される場合を考えよう.このときは,Link3Link1から切り離してBaseの子リンクとし,Base Link3の間の関節はFreeとすればよい.切断後のリンク構造表現を  Fig. 12  に示す.仮想リンクLink4vによってLink3Link4のつながりが表現されているので,Link2—Link4—Link3の連鎖は維持される.

 

 

 

 

Figure  12: Link structure and its description after cutting

 

 

 

 

 

Figure  13: Example of human model

 

 

4.5  球面関節

   Fig. 13  に人間の関節構成をモデル化したものの一例を示す.このモデルは12個の球面関節と4個の回転関節の計40自由度を持つ.このように人間の関節には球面関節としてモデル化できるものが多い.マニピュレータでは通常回転軸が1点で交わる三つの回転関節で球面関節を実現する.しかし,ヒューマンフィギュアのように球面関節が多数存在する場合には,球面関節を一つの関節として扱った方が計算量の点で有利である.実際, Fig. 13 のモデルをすべて回転関節で構成したとすれば 41個のリンクが必要になるが,球面関節を利用すればリンク数は17個となる.また,リンク構造の記述も容易である.

 

 

  Example of dynamics simulation of human figure: high bar 

 

 

  Example of dynamics simulation of human figure: swing 

 

球面関節を用いる場合の問題は数値積分である.オイラー角のような特異点を持つ座標系を用いずに相対的な姿勢の変化(角速度)を数値積分する方法は自明ではない.ここでは有限の三次元回転を扱うRodriguesの式[10]を無限小回転の数値積分として用いる.以下に一次近似積分(オイラー法)として数値積分する方法を示す.

リンク  の親リンクに対する相対角速度を ,相対姿勢  とすると, 秒後の相対姿勢  は次式で計算される.

                               (34)

 ただし,

                 (35)

                        (36)

     (37)

                            (38)

 

であり,  33列の単位行列である.

 

構造変化を伴う運動の解析例

 前章までに述べた閉リンク順動力学計算法,および構造可変力学系の動力学計算法により,いくつかの簡単な系について力学シミュレーションを行い,計算法の妥当性を検証した.

なお,(株)富士通研究所により開発された Firstsight [4] を開発環境とし,そのなかのLSIの一つとしてすべてのアルゴリズムをプログラミングした.画面表示などには標準装備のLSIを利用した.

 

5.1  鉄棒

 関節の切断の例として,両手で鉄棒につかまっていた人間が片手を離す様子を   Fig. 4.5  に示す.ヒューマンフィギュアのリンク構造は腕・脚にそれぞれ4自由度を持つ16自由度系とし,鉄棒と両手の間にはおのおの1自由度の回転関節を置いている.ある瞬間に右手と鉄棒の間の関節を切断する指示を出すと,片手だけで鉄棒を持った状態になる.

 

5.2  ブランコ

   Fig. 4.5  はブランコが壊れてヒューマンフィギュアが落下する様子をシミュレーションしたものである.モデルは鉄棒の場合と同じ16自由度系で,ブランコは左右の棒が上部に3自由度の球面関節を持っている.また,両手と左右の棒の間には3自由度の球面関節,両太ももとブランコの板の間に横方向の並進関節があり,合計30自由度系となっている.初めに板が左の棒からはずれ,その後両太ももが板から滑り落ちる.

 

おわりに

 本研究で得られた成果は以下の通りである. 

    1.  従来パラレルメカニズムなどの特定の閉リンク機構に適用されてきた効率的な動力学計算法[5]を,任意な閉リンク機構に適用することを可能にした.

    2.  リンク機構を隣り合うリンクへのポインタと仮想リンクによって表現することを提案した.この表現法は,データ量が少なく,C++による上記アルゴリズムの実装に適している.

    3.  リンク結合後の構造が開リンクであるか閉リンクであるかによらず,あらゆる状況におけるリンク構造の変化を統一的に扱うことができることを示した.これにより,構造変化を伴うリンク系の力学計算をシームレスに処理することが可能となった.

    4.  リンク構造変化後の速度境界条件の存在とその計算法を示した.

    5.  人間や生物の自由度の多くが球面関節の3自由度対偶で表されることに注目し,これを陽に扱うことにでリンク数を減らすことができることを明らかにした.さらに,球面関節の数値積分法としてRodriguesの式[10]を用いる方法を示した.

    6.  提案した計算法を実装し,ヒューマンフィギュアを含み,構造変化を伴う動力学シミュレーションに適用することで,本論文で述べた手法の有効性を示した.

 

本研究で提案した手法は,歩行などの構造変化を伴う運動の動力学計算を容易かつ高速に行うことができ,力学的に自然な運動の生成やヒューマノイドの制御およびシミュレーションなどに応用が可能である.

 

本研究は平成89年度情報処理振興事業協会(IPA)創造的ソフトウェア育成事業「人間/生物を含むモーションコンテンツ制作支援環境の開発」の援助を受けた.

 

 

References

 [1] H. Ko and N.I. Badler: “Animating Human Locomotion with Inverse Dynamics,” IEEE Transactions on Computer Graphics, vol.16, no.2, pp.50–59, 1996.

 [2] W.L. Wooten and J.K. Hodgins: “Animation of Human Diving,” Computer Graphics Forum, vol.15, no.1, pp.3–13, 1996.

 [3] Farid M.L. Amirouche: Computational Methods in Multibody Dynamics. Prentice – Hall, 1992.

 [4] 遠山,渡部,田野:閉ループを持つ機構の効率的な順動力学解法1報:漸化式形式の順動力学解法日本ロボット学会誌,vol.14, no.2, pp.279–286, 1996.

 [5] 中村仁彦:パラレルメカニズムの動力学日本ロボット学会誌,vol.10, no.6, pp.709–714, 1992.

 [6] 杉本浩一:閉ループ機構の運動方程式の導出"日本ロボット学会誌,vol.15, no.3, pp.460–467, 1997.

 [7] R. Featherstone: Robot Dynamics Algorithm. Kluwer, 1987.

 [8] Y. Nakamura and M. Ghodoussi: “Dynamics Computation of Closed-Link Robot Mechanisms with Nonredundant and Redundant Actuators,” IEEE Transactions on Robotics and Automation, vol.5, no.3, pp.294–302, 1989.

 [9] 中村,横小路,花房,吉川:ロボットマニピュレータの運動学と動力学の統合化計算計測自動制御学会論文集,vol.23, no.5, pp.71–78, 1987.

 [10] J.J. Craig: Introduction to Robotics: Mechanics and Control, Addison-Wesley, 1986.

 

 

 

中村仁彦(Yoshihiko Nakamura

1954922日生. 1977年京都大学工学部精密工学科卒業.1982年同大学大学院博士課程退学.同年より1987年まで同大学助手.1987年より19913月までカリフォルニア大学サンタバーバラ校助教授,準教授.同年4月より東京大学工学部機械情報工学科に勤務,現在教授.工学博士.運動学的冗長性,閉リンク機構の駆動冗長性,複数のロボット機構の協調,宇宙ロボットの制御,非ホロノミックな拘束を受ける機械の運動制御,外科手術用ロボットなどに興味をもつ.計測自動制御学会,システム制御情報学会,日本機械学会,日本コンピュータ外科学会,IEEEASMEどの会員.

 

山根 克(Katsu Yamane

197481日生. 1997年東京大学工学部機械情報工学科卒業,同大学院工学系研究科機械情報工学専攻入学,現在に至る.構造可変力学系の運動計算,ヒューマノイドの力学シミュレーション,CGにおける力学的運動生成などに興味を持つ.

 

永嶋史朗(Fumio Nagashima

1959823日生. 1983年慶應義塾大学工学部機械工学科卒業.1988年(株)富士通研究所入社.ロボット,特に宇宙ロボットのシミュレータの開発,月面ローバの運動解析,宇宙空間での作業支援地上系の研究開発に従事.現在,ペリフェラルシステム研究所自律システム研究部に所属.工学博士.日本機械学会の会員.

 

 



[1] 東京大学大学院工学系研究科機械情報工学専攻

[2] 株式会社富士通研究所

[3] 動力学計算における仮想的切断ではなく,構造変化を起こす物理 的な切断をいう.

[4] 視覚的にプログラミングを行うことのできるアプリケー ション開発環境. GUIOpenGLによる三次元モデル表示,動力学計算などの モジュールがソフトウェアLSI”として装備されており,プログラマは必要な“LSI”を配線エディタ 上で配線するだけでアプリケーションを開発することができる.