人とロボットの運動計算基盤

人のマルチスケール力学

人の運動を数学的に表現し理解することは、運動知能を研究する上での基礎です。

力学系としての人の大きな特徴は三つあります。 一つは可動部分やモータ(筋肉)の多さです。 この可動部分には、肩や膝等の関節だけでなく、胴体が空中を並進・回転する分も含まれます。 この胴体の並進・回転運動を直接駆動するモータは、当然ながら存在しません。 筋肉がどれだけ多くあろうとも、全ての可動部分の数に対してモータの数は原理的に不足するということを意味します。 これが二つめの特徴で、劣駆動性と呼ばれます。 モータが不足した可動部分は、外界との接触点を介して力を加え、その反作用で「押し返される」ことで間接的に駆動するわけですが、運動の過程で接触点の分布は頻繁に変わります。 これが三つめの特徴、構造可変性です。 以上の三つの性質を有するために、モータで発生した力とその結果起こる運動との因果関係は極めて複雑なものとなり、そのことが、人の運動を計算したり制御したりすることを極めて困難にしています。

このように難解な人の運動も、次のような部分構造に注目すると比較的理解しやすくなります。

    1. 重心の運動と外力の関係
    2. 重心まわりの回転運動と外力の関係
    3. モータの運動
    4. 外界との接触点

重心の運動と外力の関係は、人のマクロ力学と言えます。 一方、関節や外界との接触点で起こる現象はミクロ力学です。

マクロ・ミクロ力学系での制御問題は個別に考えるとして、本研究では両者を橋渡しするメゾ力学を対象とします。 全身のモータの運動から重心の運動を求めるのは簡単ですが、逆は簡単ではありません。

重心ヤコビ行列

ロボットアームのモータ速度と手先の速度は、マニピュレータ・ヤコビ行列というもので関係づけられます(Whitney 1969)。 これを応用し、モータ速度と重心の速度を関係づけるのが重心ヤコビ行列です(Boulicら1995、田宮ら1997、平野ら1998)。

アームと違い劣駆動構造可変系である人の重心ヤコビ行列を求めるには、工夫が必要です。 本研究では、系に課される、接地状態ごとに異なる拘束条件を整理してこの問題を解きました。 これを使えば、手先や足先の運動からモータの運動を逆算する逆運動学運動分解とも呼ばれます)と同じ方法で、望ましい重心の運動を実現するモータ速度を効率よく計算することができます。 この方法は現在、様々なロボットで採用されています。

【参考文献】

  • 杉原知道, 中村仁彦, 非駆動自由度の陰表現を含んだ重心ヤコビアンによる脚型ロボットの全身協調反力操作,日本ロボット学会誌, 2006, Vol.24, No.2, pp.222-231.第21回日本ロボット学会論文賞受賞

ロバスト逆運動学

人や人型ロボットの運動を設計するには、重心ヤコビ行列だけでは足りません。 胴体の姿勢や足先の運動、角運動量など他の様々な運動を表す行列が合わさり、全体として秩序ある運動が作られます。 これは上記の通り逆運動学の問題です。

人の逆運動学は、(1)変数(関節変位)の数がそもそも多い、(2)変数の数と方程式の数が必ずしも一致しない、(3)方程式の数が運動に伴って頻繁に変わる、(4)解があるとは限らない、などの性質から、陽な解を求めることはもちろん、反復計算を利用した数値解でさえ求めることが困難でした。 無策な数値解法を用いると、計算が破綻して無限ループに陥ったりプログラムが異常終了したりするなどの問題が起こります。

本研究では、Levenberg-Marquardt法(Levenberg 1944, Marquardt 1963)と呼ばれる最適化法に、要求されている運動の達成難しさに応じた反復計算調節機構を組み合わせ、どんな無茶な要求を与えても計算が破綻しない逆運動学の数値解法を提案しました。 さらにこれを拡張し、足はぴったり地面につけながら手先はできるだけ目標地点に向かって伸ばす、など、優先度の異なる要求が同時に課された場合の逆運動学(優先度付き逆運動学、花房ら1983)にも使える方法を開発しています。 これはHestenes-Powellの乗数法(Hestenes 1969、Powell 1969)が元になっています。

上記を実装した、人型ロボットの運動設計ソフトウェアを現在開発しています。

【参考文献】

  • 杉原知道, 乗数法による優先度付き逆運動学のロバスト解法, 第19回ロボティクスシンポジア, 有馬グランドホテル, 3A2, pp.215-220, 2014. 3.15.第19回ロボティクスシンポジア最優秀論文賞受賞
  • Tomomichi Sugihara, Solvability-Unconcerned Inverse Kinematics by the Levenberg-Marquardt Method, IEEE Transaction on Robotics, Vol.27, Issue.5, pp.984-991, 2011.
  • 杉原知道, Levenberg-Marquardt法による可解性を問わない逆運動学, 日本ロボット学会誌, Vol.29, No.3, pp.269-277, 2011.第27回日本ロボット学会論文賞受賞

衝突・接触を伴う系の順動力学

人やロボットの振る舞いを計算機の中の世界で再現(シミュレート)することは、実験の手間を省くという以上に、世界や身体で何が起こっているのかを定量的に理解するために有用なことです。 運動計算は、運動方程式すなわち力と加速度の関係を基礎とし、「力→加速度→速度→変位」という因果律の下に行います。 シミュレーションに必要なのは、ある力が働いたときにどういう加速度が発生し(順動力学)、それに伴って速度や変位がどう変化していくかを求める常微分方程式の数値解法です。

前述の通り、人の力学における大きな特徴は、可動部分やモータ(筋肉)の多さ、劣駆動性、構造可変性の三つです。 このうちシミュレーションで最も問題となるのは構造可変性、すなわち運動中に頻繁に起こる衝突や接触の扱いです。 ※可動部分の多さも別の問題をはらみますが、ここでは割愛します。

衝突・接触現象は、極めて短時間に物体の運動を劇的に変化させるものです。 このため、シミュレーション結果と実際に起こるであろう身体の振る舞いとの差を拡大する最大の原因となります。 現実世界ではおおかたの場合、衝突によって物体の運動エネルギーは消費されるので、運動は本来、安定な(放っておけば止まる)方向に向かいます。 しかし計算機の世界では避けられないわずかな数値誤差が、様々なおかしな挙動を引き起こし、最悪の場合には計算を破綻させます。

本研究では、数値誤差の及ぼす悪影響の緩和と安定なシミュレーションを目的とした、衝突・接触現象のモデル化と数値計算法を提案しました。 具体的には、衝突により局所的に起こる物体の変形と大局的な力積変化を融合して、各々の数値的な短所を補い合う方法です。

【参考文献】

  • 脇坂尚樹, 杉原知道, 剛体リンク系シミュレーションにおける衝突時刻推定の安定化効果, 第19回ロボティクスシンポジア, 有馬グランドホテル, 3A3, pp.221-226, 2014. 3.15.
  • 脇坂尚樹, 杉原知道, 接触拘束条件緩和と速度次元での侵入量補償による高速かつ安定な剛体リンク系順動力学計算, 第31回日本ロボット学会学術講演会, 首都大学東京, 2G2-04, 2013. 9. 5.
  • 杉原知道, 中村仁彦, ミクロ・マクロ衝突モデルの融合によるリンク系順動力学接触力計算の数値的悪条件緩和, 日本ロボット学会誌, Vol.26, No.7, pp.767-777, 2008.
  • T. Sugihara and Y. Nakamura, Balanced Micro/Macro Contact Model for Forward Dynamics of Rigid Multibody, 2006 IEEE International Conference on Robotics and Automation, pp.1880-1885, Orlando, May, 2006

Copyright (C) Motor Intelligence Lab, Osaka University Since 2010