JP2010137289A - 情報処理装置及び情報処理方法、並びにコンピューター・プログラム - Google Patents

情報処理装置及び情報処理方法、並びにコンピューター・プログラム Download PDF

Info

Publication number
JP2010137289A
JP2010137289A JP2008312802A JP2008312802A JP2010137289A JP 2010137289 A JP2010137289 A JP 2010137289A JP 2008312802 A JP2008312802 A JP 2008312802A JP 2008312802 A JP2008312802 A JP 2008312802A JP 2010137289 A JP2010137289 A JP 2010137289A
Authority
JP
Japan
Prior art keywords
center
motion
gravity
link structure
link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008312802A
Other languages
English (en)
Inventor
Masakuni Nagano
雅邦 永野
Kenichiro Nagasaka
憲一郎 長阪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2008312802A priority Critical patent/JP2010137289A/ja
Publication of JP2010137289A publication Critical patent/JP2010137289A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】人型キャラクターやヒューマノイド・ロボットのさまざまな環境との接触を含む運動データを、安価な計算量で且つ実時間で生成する。
【解決手段】人型キャラクターやヒューマノイド・ロボットといった多リンク系の構造体を制御対象とし、各リンクの局所的運動だけでなく、系全体の対極的な運動に着目して、重心と外力との関係から、あらゆる環境との接触を考慮した一般接触運動の本質的な特性を、環境との接触状態を保つための制約式として導出し、この制約式と、与えられた環境との接触状態、及び将来の重心目標値とから、長期的な接触状態の安定性を担保した運動データを生成する。
【選択図】 図12

Description

本発明は、例えば人型キャラクターやヒューマノイド・ロボットなどのリンク構造体のための動作制御若しくは運動データの生成を行なうための情報処理を行なう情報処理装置及び情報処理方法、並びにコンピューター・プログラムに係り、特に、人型キャラクターやヒューマノイド・ロボットのさまざまな環境との接触を考慮した動作制御若しくは運動データの生成を行なう情報処理装置及び情報処理方法、並びにコンピューター・プログラムに関する。
近年、ヒューマノイド・ロボットの実現へ向けさまざまな研究がなされている。ヒューマノイド・ロボットが人間と同じ空間に共存し、協調して働いていくためには、人が行けるところには行くことができる機動性を備える必要がある。具体的には、人の生活環境に存在する路面の踏破、階段や梯子の昇降、狭隘部のすり抜け、ドアの開閉、片腕で体を支えながらの作業や移動、起き上がりや寝転びといった人や動物が行っている動作制御を不自由なく行なう必要がある。
他方、CPU(Central Processing Unit)やGPU(Graphic Processing Unit)といった画像処理ハードウェア技術の進展や、3次元レンダリング技術、力学シミュレーション技術の成熟に伴って、力学現象が高度にシミュレートされた仮想環境内における人型キャラクターの動作制御に関するニーズも高まってきている。
ヒューマノイド・ロボット並びに人型キャラクターのいずれの動作制御も、多リンク系の構造体を制御対象とする点で共通する。この種の多リンク系の運動を遂行するには、多リンク構造体のバランス維持を好適に行なうための制御器が必要である。
従来、脚式機構を持つ多リンク系における環境との接触状態維持のための指標、とりわけ、脚式移動ロボットの歩行制御では、ZMPによる安定度判別規範が用いられてきた。ZMP(Zero Moment Point)規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形の内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちZMPが存在する(例えば、非特許文献1を参照のこと)。例えば、脚式機構を持つ多リンク構造体の接地状態と非接地状態をともに考慮した安定運動パターンに関する実時間算出方法について幾つかの提案がなされている(例えば、特許文献1、非特許文献2を参照のこと)。
しかしながら、ZMP規範を用いた多リンク構造体の動作制御方法は、基本的に、接触する環境が単一平面(すなわち、単一法線平面)で構成され、法線方向の異なる平面群には接触しないなどの前提条件を設定したものであり、言い換えれば、さまざまな環境を考慮した一般的な接触状況下において多リンク構造体の安定した運動パターンを生成することはできないと思料される。
前提条件毎に安定化器を構成するという多リンク構造体の動作制御方法も想到される。しかしながら、このような方法では、シームレスな運動制御が困難になることや、見通しが悪くなることなどから、アプリケーション開発上問題が多い、と本発明者らは思料する。また、動作制御の実時間処理が困難な場合には、ロボットやゲームといったインタラクティビティを要求するアプリケーションには不向きである。
特許第3599244号公報 Vukobratovic, "On the stability of biped locomotion"(In IEEE Trans.On Biomedical) 杉原知道、中村仁彦共著「二脚ロボットの3次元跳躍運動計画のための境界条件緩和法拡張」(第12回ロボティクスシンポジア、pp.190−195,2007)
本発明の目的は、人型キャラクターやヒューマノイド・ロボットのさまざまな環境との接触を含む運動データを、安価な計算量で且つ実時間で生成することができる、優れた情報処理装置及び情報処理方法、並びにコンピューター・プログラムを提供することにある。
本発明は、上記課題を参酌してなされたものであり、請求項1に記載の発明は、リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化処理を行なう情報処理装置であって、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定部と、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定部と、
前記重心目標位置設定部が設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定部が設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定部と、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出部と、
を備え、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は0となることを表した変数係数2階の非斉次方程式であり、
前記重心運動算出部は、前記運動区間を複数の短期区間に分割して、前記変数係数2階の非斉次方程式を短期区間毎に定数係数2階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とする情報処理装置である。
ここで、前記重心運動算出部は、請求項2に記載の通り、前記運動区間全体をK個の短期区間に分割し、前記初期条件、前記終端条件、及び前記境界条件からなる2K+1の拘束条件を得るとともに、前記短期区間の境界における外力によるモーメントの総和に対して仮想的なモーメントによるオフセットを加えることによって変数を追加して、2K+1元連立方程式として、前記の定数係数2階の非斉次方程式における未定係数を決定することができる。
また、前記重心運動算出部は、請求項3に記載の通り、始端条件の重心位置並びに重心速度には前回の制御周期における重心位置及び重心速度を代入するようにしてもよい。
また、前記重心運動算出部は、請求項4に記載の通り、終端条件の重心位置には、例えば歩行運動であれば、数歩先の両足底の中心位置などを設定するようにしてもよい。
また、本願の請求項1に記載の情報処理装置は、請求項5に記載の通り、前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部をさらに備えていてもよい。
また、本願の請求項1に記載の情報処理装置は、請求項6に記載の通り、前記重心運動算出部は、前記運動区間全体の終端条件として重心位置に重心速度を加えるようにしてもよい。
また、本願の請求項7に記載の発明は、リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化処理を行なう情報処理方法であって、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定ステップと、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定ステップと、
前記重心目標位置設定ステップにおいて設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定ステップにおいて設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定ステップと、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出ステップと、
を有し、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は0となることを表した変数係数2階の非斉次方程式であり、
前記重心運動算出ステップでは、前記運動区間を複数の短期区間に分割して、前記変数係数2階の非斉次方程式を短期区間毎に定数係数2階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とする情報処理方法である。
また、本願の請求項8に記載の発明は、
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化部と、
前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部と、
を具備することを特徴とする情報処理装置である。
また、本願の請求項9に記載の発明は、
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化ステップと、
前記重心運動安定化ステップにおいて算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決ステップと、
を具備することを特徴とする情報処理方法である。
また、本願の請求項10に記載の発明は、リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化するための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定部、
前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定部、
前記重心目標位置設定部が設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定部が設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定部、
前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出部、
として機能させ、
前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は0となることを表した変数係数2階の非斉次方程式であり、
前記重心運動算出部は、前記運動区間を複数の短期区間に分割して、前記変数係数2階の非斉次方程式を短期区間毎に定数係数2階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
ことを特徴とするコンピューター・プログラムである。
また、本願の請求項11に記載の発明は、
リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化部、
前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部、
としてコンピューターを機能させるための、コンピューター可読形式で記述されたコンピューター・プログラムである。
本願の請求項10、11に係るコンピューター・プログラムは、コンピューター上で所定の処理を実現するようにコンピューター可読形式で記述されたコンピューター・プログラムを定義したものである。換言すれば、本願の請求項9、10に係るコンピューター・プログラムをコンピューターにインストールすることによって、コンピューター上では協働的作用が発揮され、本願の請求項1、7に係る情報処理装置と同様の作用効果を得ることができる。
本発明によれば、人型キャラクターやヒューマノイド・ロボットのさまざまな環境との接触を含む運動データを、安価な計算量で且つ実時間で生成することができる、優れた情報処理装置及び情報処理方法、並びにコンピューター・プログラムを提供することができる。
本願の請求項1、2、5乃至11に記載の発明によれば、人型キャラクターやヒューマノイド・ロボットといった多リンク系の構造体を制御対象とし、各リンクの局所的運動だけでなく、系全体の大局的な運動に着目して、重心と外力との関係から、あらゆる環境との接触を考慮した一般接触運動の本質的な特性を、環境との接触状態を保つための制約式として導出し、この制約式と、与えられた環境との接触状態、及び将来の重心目標値とから、複数法線面との接触状態の安定性を長期的に担保した運動データを生成することができる。
本願の請求項2に記載の発明によれば、前記重心運動算出部は、請求項2に記載の通り、前記運動区間全体をK個の短期区間に分割し、前記初期条件、前記終端条件、及び前記境界条件からなる2K+1の拘束条件を得るとともに、前記短期区間の境界における外力によるモーメントの総和に対して仮想的なモーメントによるオフセットを加えることによって変数を追加して、2K+1元連立方程式として、前記の定数係数2階の非斉次方程式における未定係数を決定することができる。
また、本願の請求項3に記載の発明によれば、始端条件の重心位置並びに重心速度には前回の制御周期における重心位置及び重心速度を代入することによって、現在の運動に滑らかに接続する重心軌道を得ることができる。
また、本願の請求項4に記載の発明によれば、終端条件の重心位置には、前記歩行運動における数歩先の両足底の中心位置などを設定することによって、重心軌道には数歩先に両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標を与えることができる。
また、本願の請求項6に記載に発明によれば、前記重心運動算出部は、前記運動区間全体の終端条件として重心位置に重心速度を加え、区間境界における外力によるモーメントの総和のオフセットを2つ考え、2K+2元連立方程式として未定係数を決定することができる。また、各区間の境界それぞれに独立のオフセット量をとる場合、変数の数が冗長となるが、最適化問題として取り扱うことで未定係数を決定することができる。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
以下、図面を参照しながら本発明の実施形態について詳解する。
本発明は、多リンク系の構造体の動作制御若しくは運動データの生成を行なう情報処理を行なう情報処理装置に関する。想定される制御対象は、人型キャラクターやヒューマノイド・ロボットである。以下では、単に「制御対象」若しくは「リンク構造体」と呼ぶときには、力学現象をシミュレートしたキャラクター・モデル、並びに、ヒューマノイド・ロボットの双方を指すものとする。
図1には、制御対象となる人型キャラクター若しくはヒューマノイド・ロボットの関節自由度モデルを示している。図示のモデルは、骨盤部には、移動手段としての2肢の脚体と、腰関節を介して上体が接続されている。上体には、2肢の腕部と、首関節を介して頭部が接続されている。左右の脚体は、それぞれ股関節3自由度と、膝関節1自由度と、足首関節2自由度の、計6自由度を備えている。また、左右の腕部は、それぞれ肩関節3自由度と、肘関節1自由度と、手首関節2自由度の、計6自由度を備えている。首関節及び腰関節は、ともにX、Y、Z軸回りに3自由度を有している。なお、図示のモデルの総重心位置pGは既知であるとする。
本発明では、図1に示した人型キャラクターやヒューマノイド・ロボットに代表されるリンク構造体についての、さまざまな環境との接触を含む運動データを、安価な計算量で且つ実時間で生成するものである。ここで言うさまざまな環境とは、法線方向の異なる平面群で構成される。そして、複数法線面との接触運動を扱うことから、図2に示すように、ヒューマノイド・ロボットの表面のうち、外界との接触が想定されている各部位には、触覚センサー群t1、t2、…、t17が取り付けられている。
図2には、1つの触覚センサー群の構成を示している。同図に示すように、1つの触覚センサー群tは、接触状態をそれぞれ独立して検出することができる複数の触覚センサーCSをアレイ状に配置して構成され、触覚センサー群tとしてはいずれの触覚センサーCSが接触状態にあるかによって、リンクi毎の接触点位置pciを特定することができる。
また、図3には、触覚センサーCSの構成を模式的に示している。触覚センサーCSは、2枚の極板P1及びP2で空隙Sを挟んだ構造をしており、一方の極板P1には電位Vccが印加され、他方の極板P2は接地されている。そして、一方の極板P1をパラレル・インターフェース(PIO)経由でマイクロ・コンピューターに入力し、極板間の接触状態すなわち触覚センサーCSに外力が作用しているか否かを判定することができる。但し、本発明の要旨は、特定の接触センサーの構成に限定されるものではない。
触覚センサー群t毎に、その近隣に1つのマイクロ・コンピューターを配置して、触覚センサー群を構成するすべての触覚センサーCSの検出信号を入力し、これらのオン/オフ状態を収集して、当該部位における外界との接触の有無並びに接触位置をホスト・コンピューターに送信するものとする。
また、図2に示したヒューマノイド・ロボットの骨盤部には、3軸の加速度センサーa1と3軸の角速度センサー(ジャイロ)g1が搭載されている。その近隣には、これらのセンサー値を計測するマイクロ・コンピューターが配備され、その計測結果をホスト・コンピューターに送信するものとする。
図5には、図2に示したヒューマノイド・ロボットにおける結線トポロジの構成例を示している。
ヒューマノイド・ロボットは、胴体部に、3軸の腰関節アクチュエーターa1、a2、a3、及び3軸の首関節アクチュエーターa16、a17、a18を持ち、これらはホスト・コンピューターに対しシリアル接続されている。各関節アクチュエーターは、シリアル・ケーブルを通じて、その位置制御目標値を受け取るとともに、現在の出力トルクや関節角度、関節角速度をホスト・コンピューターに送信する。
また、ヒューマノイド・ロボットは、左腕部に、3軸の肩関節アクチュエーターa4、a5、a6、1軸の肘関節アクチュエーターa7、及び2軸の手首関節アクチュエーターa8、a9を持ち、これらはホスト・コンピューターにシリアル接続されている。同様に、ヒューマノイド・ロボットの右腕部には、3軸の肩関節アクチュエーターa10、a11、a12、1軸の肘関節アクチュエーターa13、及び2軸の手首関節アクチュエーターa14、a15を持ち、これらはホスト・コンピューターにシリアル接続されている。
また、ヒューマノイド・ロボットは、左脚部に、3軸の股関節アクチュエーターa19、a20、a21、1軸の膝関節アクチュエーターa22、及び2軸の足首関節アクチュエーターa23、a24を持ち、これらはホスト・コンピューターにシリアル接続されている。同様に、右脚部には、3軸の肩関節アクチュエーターa25、a26、a27、1軸の肘関節アクチュエーターa28、及び2軸の足首関節アクチュエーターa29、a30を持ち、これらはホスト・コンピューターにシリアル接続されている。
各関節で使用されるアクチュエーターa1〜a30は、例えばDCブラシレス・モーターと減速機、並びに減速機の出力軸の回転位置を検出する位置センサー、トルク・センサーで構成され、外部から与えられた位置制御目標値に従って回転駆動するとともに、現在の出力トルクや、関節角度、関節角速度を出力する。
また、ヒューマノイド・ロボットの右脚部には、右足部触覚センサー群t1、右脛部触覚センサー群t2、右大腿部触覚センサー群t3が配設され、これらはホスト・コンピューターにシリアル接続されている。各々の触覚センサー群t1〜t3にはマイクロ・コンピューターが装備されており(前述)、それぞれ触覚センサー群における触覚センサーCSのオン/オフ状態を収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。同様に、左脚部には、左足部触覚センサー群t9、左脛部触覚センサー群t10、左大腿部触覚センサー群t11が配設され、それぞれ触覚センサー群における触覚センサーCSのオン/オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。
また、ヒューマノイド・ロボットの右腕部には、右手首触覚センサー群t4、右前腕部触覚センサー群t5、右上腕部触覚センサー群t6が配設され、それぞれ触覚センサー群における触覚センサーCSのオン/オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。同様に、左腕部には、左手首触覚センサー群t12、左前腕部触覚センサー群t13、左上腕部触覚センサー群t14が配設され、それぞれ触覚センサー群における触覚センサーCSのオン/オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。
また、ヒューマノイド・ロボットの胴体部の左右にはそれぞれ胴部触覚センサー群t7及びt15が取り付けられており、それぞれ触覚センサー群における触覚センサーCSのオン/オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。
また、ヒューマノイド・ロボットの頭部の左右にはそれぞれ頭部触覚センサー群t8及びt16が取り付けられており、それぞれ触覚センサー群における触覚センサーCSのオン/オフ状態を内部のマイクロ・コンピューターで収集して、シリアル・ケーブルを通じてホスト・コンピューターに送信する。
図1に示したヒューマノイド・ロボットに代表される多リンク構造体の動作制御若しくは運動データを生成する処理は、例えばコンピューターなどの情報処理装置上で所定のアプリケーションを実行するという形態で実現される。図6には、本発明を実現可能なコンピューターの構成例を示している。
CPU(Central Processing Unit)1は、オペレーティング・システム(OS)が提供するプログラム実行環境下で、ROM(Read Only Memory)2やハード・ディスク・ドライブ(HDD)11に格納されているプログラムを実行する。例えば、多リンク構造体の動作制御若しくは運動データを生成するための処理をCPU1が所定のプログラムを実行するという形態で実現することもできる。
ROM2は、POST(Power On Self Test)やBIOS(Basic Input Output System)などのプログラム・コードを恒久的に格納する。RAM(Random Access Memory)3は、ROM2やHDD11に格納されているプログラムをCPU1が実行する際にロードしたり、実行中のプログラムの作業データを一時的に保持したりするために使用される。これらはCPU1のローカル・ピンに直結されたローカル・バス4により相互に接続されている。
ローカル・バス4は、ブリッジ5を介して、PCI(Peripheral Component Interconnect)バスなどの入出力バス6に接続されている。
キーボード8と、マウスなどのポインティング・デバイス9は、ユーザにより操作される入力デバイスである。ディスプレイ10は、LCD(Liquid Crystal Display)又はCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。
HDD11は、記録メディアとしてのハード・ディスクを内蔵したドライブ・ユニットであり、ハード・ディスクを駆動する。ハード・ディスクには、オペレーティング・システムや各種アプリケーションなどCPU1が実行するプログラムをインストールしたり、データ・ファイルなどを保存したりするために使用される。例えば、多リンク構造体の動作制御若しくは運動データを生成する処理を実現するアプリケーション・プログラムをHDD11にインストールしたり、生成された運動データのファイルをHDD11に蓄積したりする。
通信部12は、例えば有線通信若しくは無線通信のLAN(Local Area Network)インターフェースである。例えば、多リンク構造体の動作制御若しくは運動データを生成する処理を実現するアプリケーション・プログラムを、ネットワーク経由でインストールすることができる。また、多リンク構造体の運動データをネットワーク経由でダウンロードしたり、あるいは、生成した運動データをネットワーク経由でアップロードしたりすることもできる。
本発明で想定する制御対象となるリンク構造体(図1を参照のこと)は、慣性系に固定された点を持たず、その運動に伴い環境との接触状態が推移し、リンク構造が大きく変化する。このため、強い非線形性を有し、その厳密な運動方程式は複雑な構造を成し、非常に見通しが悪くなる。そこで、本発明では、このような系の運動を安定化するために、複雑なダイナミクスを取り扱うのを止め、すなわち各リンクの局所的運動を取り扱うのではなく、系全体の大局的な運動に着目することにしている。
また、さまざまな環境との接触を考慮して多リンク構造体の動作制御若しくは運動データの生成を行なうという、一般接触運動安定化問題(運動計画問題)において、与えられた接触位置(並びに力)の予定に従いつつ、指定された時刻(現在からT秒後の将来時刻)に、指定された運動状態(運動目標)に達することを運動生成の達成目標とする。つまり、短期的運動目標ではなく、長期的運動目標の達成を目指すものである。より具体的には、与えられた接触位置(並びに)の予定に従いつつ、指定された時刻(現在からT秒後)に、指定された重心位置を達成するような重心軌道を求めることを目的とし、問題の定式化を行なう。なお、ここで設定した運動目標は、運動の種類や目的に応じて変化する。上記運動目標の1つである重心位置の他に、重心速度や運動量、角運動量などを想定しても良い。
まず、制御対象としてのリンク構造体の運動の本質的特性を捉えるために、リンク構造体における総重心と外力との関係を抽出する。系全体の運動量Pとその時間微分は下式(1)、(2)でそれぞれ与えられる。
但し、上式(1)、(2)において、mはリンク構造体の総重量、pGはリンク構造体の総重心位置である。また、系全体の運動量Pの時間微分を表した上式(2)は、外部から作用する力により、下式(3)のようにも表現される。
但し、上式(3)において、fallは外部からリンク構造体に作用する力の合計、fiはリンク構造体のi番目のリンクと環境との接触点に作用する力(外力)、gは重力加速度をそれぞれ表す。
また、リンク構造体の原点回りの角運動量L0の時間微分は、下式(4)のように表される。
上式(4)において、τallはリンク構造体に対して外部から作用するモーメントの合計であり、pciは環境とのi番目のリンクの接触点位置である。リンクi毎の接触点位置pciは、リンク構造体の動作計画上の点であり、目標とする運動データの1つとして扱われる。あるいは、制御対象としてのリンク構造体がヒューマノイド・ロボットの場合(図1を参照)、各接触点位置pciを、表面に貼設された触覚センサー群t1、t2、…、t17(図2を参照のこと)のセンサー出力として得ることもできる(但し、該当する接触点が接触し、接触へのアプローチが終了した場合)。また、制御対象が、力学現象をシミュレートしたキャラクター・モデルの場合には、リンクi毎の接触点位置pciは目標とする運動データの一部として与えられる。
一方、リンク構造体の原点回りの角運動量L0は各リンクj(の局所的運動から、下式(5)のように表現することもできる(但し、jは1からNまでの整数で、Nは多リンク構造体の総リンク数とする)。
但し、上式(5)において、L0jはj番目のリンクの原点回りの角運動量、pGiはj番目のリンクの重心位置、Pjはj番目のリンクの運動量、Rjはj番目のリンクの基準姿勢からの回転を表す回転行列、ωjはj番目のリンクの角速度ベクトルをそれぞれ表す。また、以下は、j番目のリンクの基準姿勢での慣性テンソルを表す。
上式(5)を質点集中モデルとして近似すると、同式の左辺第2項を無視することができ、下式(7)のようになる。
また、上式(7)を時間微分すると、下式(8)に示す通りとなる。
そして、上式(4)、(6)から、下式(9)が導かれる。
さまざまな環境との接触を考慮するとは、接触面の法線方向が単一でないことを意味する。ここでは、まず単一法線面内での接触運動について考察する。
単一法線面内の力は、その平面内の1点に加わる合力fとして集約することができる。このとき、上式(9)は下式(10)となる。
そして、上式(1)〜(3)から、下式(11)のようにまとめられる。
上式(11)は、力(外力)接触点を結ぶベクトルは、外力と平行、すなわち、外力の作用線が重心を通ることを意味する。したがって、外力により重心回りにモーメントが発生しない、といった物理的な解釈をすることができる。上式(11)中のpcは、質量集中モデルにおけるZMPを表すことになる。また、重心が上式(11)を満足することは、リンク構造体と環境との接触状態が変化しないことを意味し、上式(11)は単一法線面内での接触運動において接触状態を保つための制約式となる。
続いて、複数法線面との接触運動について考察する。
単一法線面での運動と異なり、接触平面の法線ベクトル方向が共通でない場合、偶力を発生することなく、1つの平面内の1点に加わる合力として、複数の接触力(外力)を集約することができない。したがって、上式(9)は、上式(1)〜(3)から、下式(12)のように整理することができる。
上式(12)は、リンク構造体の各接触点pciに作用する外力による重心回りのモーメントの合計は0となることを表す。すなわち、重心回りに外力によるモーメントが発生しないことを意味する。また、上式(12)を満足しつつ重心が運動することで、リンク構造体と環境との接触状態を保つことができる。したがって、式(12)を、複数法線面接触状況下においてリンク構造体が接触状態を保つための制約式と解釈することができる。
上式(11)、(12)は、リンク構造体の接触運動の本質的特性を、その重心と外力との関係から比較的単純な形で表現しており、厳密な運動方程式を取り扱うのに比べると見通しが良い。すなわち、リンク構造体の接触運動を規定するに際して、リンク構造体の重心の運動がリンク構造体全体の運動生成に大きな役割を果たすことを明示している。
但し、これら2式(11)、(12)は運動の安定性を規定するものではなく、あくまでもリンク構造体と環境との接触状態を保つための制約式でしかない、という点を十分留意されたい。本実施形態では、リンク構造体全体の運動の安定性確保は、長期的運動目標達成により実現する(後述)。
次に、上記のリンク構造体と環境との接触状態を保つための制約式(12)を満足するリンク構造体の全身運動パターンを実時間で算出するアルゴリズムについて説明する。
上式(12)を、y成分並びにx成分についてそれぞれ展開して書き下すと、下式(13)、(14)に示す通りとなる。
但し、上式(13)、(14)中において、リンク構造体の総重心位置pG、i番目の接触点位置pci、接触点pciに作用する力(外力)fiは、それぞれ下式(15)〜(17)とする。
x成分とy成分は同形となることから、以下では、紙面の節約のため、x方向の運動のみについて説明する。
上式(14)の解析解を得るために、本実施形態では、運動区間を比較的短期間毎に分割した時間区間を考える(運動区間を、接触点の切り替わりで複数の短い短期区間に分割する)。一般の運動は、このような短期区間が複数連なって構成されるものとしてモデル化することができる。図7には、一般の運動を複数の短期区間からなる区分割運動で表した様子を示している。同図では、一般接触運動の例として、2足のキャラクター・モデル若しくはヒューマノイド・ロボットを制御対象とした場合の歩行運動を採り上げている。ここで、2足歩行は、右脚を持ち上げた状態での左脚による単脚支持期(SSP)、右脚が接地した両脚支持期(DSP)、左脚を持ち上げた状態での右脚による単脚支持期(SSP)及び左脚が接地した両脚支持期(DSP)の4つの動作期間に分割される歩行周期を繰り返すことによって行なわれる。図示の例では、接触点の切り替わり、すなわち脚部の着床と離床を短期区間の境界としてモデル化している。同図中、cogxはx方向の重心軌道、f1、f2は左右の脚部の足底に作用する接触力を表している。
また、上式(14)の解析解を得るために、以下の2つの仮定を設ける。
(1)単一の短期区間内において、重心のz方向の運動変化は微小である。
(2)単一の短期区間において、接触力は線形な時間関数として表現される。
上式(14)は、リンク構造体の複数法線面に対する接触点位置pciと接触点pciに作用する力(外力)fiを入力とした、変数係数2階の非斉次方程式である。上記の2つの仮定により、この変数係数2階の非斉次方程式(14)は、定数係数2階の非斉次方程式となり、容易に解析解を得ることができる。図7に示した区分割運動の区間kにおける上式(14)の一般解は、下式(18)に示す通りとなる。
また、上式(18)を時間微分すると、下式(19)に示す通りとなる。但し、tは区間内の時間を表す。
上式(18)、(19)は、図7に示した短期区間k毎に表現され、それぞれの区間において、未定係数C1,k及びC2,kが決まれば、短期区間kにおけるリンク構造体の総重心位置のx成分xGが分かることを理解できよう。
上式(18)、(19)は、計画する運動区間全体にわたる変数係数2階の非斉次方程式を、図7示した短期区間k毎の定数係数2階の非斉次方程式として表現したものである。それぞれの短期区間kにおいて、その未定係数C1、C2を求める必要がある。
本発明の第1の実施例では、計画する運動区間全体の始端において、重心位置x0及び重心速度を初期境界条件として課す。また、計画する運動区間全体の終端においては、重心位置xKを終端境界条件として課す。さらに、複数の連続する短期区間においては、それぞれの期間において、その期間の終端と次に連なる期間の始端との連続条件として、上式(18)、(19)を用いて接続条件を表現する。
始端条件の重心位置並びに重心速度には、現在の運動に滑らかに接続する重心軌道を得るために、前回の制御周期における重心位置及び重心速度を代入する。また、終端条件の重心位置には、例えば歩行運動であれば、数歩先の両足底の中心位置などを設定する。これにより、重心軌道には数歩先に両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標が与えられることになる。短期区間の境界は、例えば、両脚支持期と単脚支持期の境界、すなわち、接触の切り替わりなどに設定すればよい。
これまでに述べた拘束は、運動区間をK個の短期区間に分割した場合、2K+1の拘束条件を与える。一方、計画する運動の全区間における未定係数の総数は2K個となり、上記2K+1個の拘束条件の他に1つ変数の追加が必要となる。図8A〜図8Cには、リンク構造体に作用する外力によるモーメントの総和に対して、仮想的なモーメントによるオフセットdを加える形で変数を追加する様子を示している。図中、実線は外力によるモーメントの総和を表し、点線は仮想モーメントによるオフセットを考慮した後のモーメントの総和を表している。図示のように、短期区間の境界において外力モーメントの総和に対して仮想的なオフセットdを加えることで、2K+1元連立方程式として未定係数を決定することになる。
変数の取り方はさまざま考えられ、図8で示したものはほんの一例に過ぎない。但し、この変数の取り方は、重心軌道算出問題の解の収束性に大きく寄与する。図8Aには3つの境界にオフセットdを加えた様子を示し、図8Bには2つの境界にオフセットdを加えた様子を示し、図8Cには1つの境界にオフセットdを加えた様子を示している。図9〜図11には、歩行運動3歩を行なう際に図8A〜図8Cのそれぞれに示した変数の取り方でxy各方向の重心軌道を生成した例をそれぞれ示している。図10に示す例では、多少重心軌道にオーバーシュートが発生し、図11では発散していることが分かる。
また、上記の説明では、計画する運動期間の終端における境界条件として、重心位置のみを設定する例を示したが、本発明の要旨は必ずしもこれに限定されるものではない。例えば拘束式が増えたときには、さらに重心速度を終端条件に加えても良い。重心速度を終端条件に加えた場合、区間境界における外力によるモーメントの総和のオフセットを2つ考え(例えば、d1、d2)、2K+2元連立方程式として未定係数を決定すればよい。また、各区間の境界それぞれに独立のオフセット量をとる場合、変数の数が冗長となる。その場合は、最適化問題として取り扱うことで未定係数を決定することができる。以上により、複数法線面における接触運動において、リンク構造体の各リンクと各法線面との接触状態を保ち、目的とする運動を実現するための重心運動を得ることができる。
第1の実施例における運動区間全体の始端における境界条件(初期拘束条件)、短期区間の境界における連続条件(境界連続条件)、運動区間全体の終端における境界条件(終端条件)の拘束式を、下式(20)〜(22)にそれぞれ示す。但し、同式は、外力によるモーメントの総和に1つのオフセットを与えたもの、すなわち、計画する運動期間の終端における境界条件として重心位置のみを設定したものである。
但し、上式(20)に示した初期拘束条件において、Tk、αkはそれぞれ、一短期区間の時間、オフセット量を課す境界の切り替えに用いるマスク係数である。
また、本発明の第2の実施例では、計画する運動区間全体の始端において、重心位置x0及び重心速度を初期境界条件として課し、且つ、複数の連続するそれぞれの短期区間の終端と次に連なる期間の始端との連続条件として上式(18)、(19)を用いて接続条件を表現することは上記第1の実施例と同様であるが、終端条件として重心位置xKに加えその速度も設定する点で相違する。第2の実施例における運動区間全体の始端における境界条件(初期拘束条件)、短期区間の境界における連続条件(境界連続条件)、運動区間全体の終端における境界条件(終端条件)の拘束式を、下式(23)〜(25)にそれぞれ示す。但し、オフセットを、外力によるモーメントの総和に2つ加えたものである。また、下式(23)中のTkは1つの短期区間の時間、αk、βkはオフセット量を課す境界の切り替えに用いるマスク係数、d1、d2はオフセット量を表す。また、下式(25)中の重心速度は、計画する運動全区間の終端における目標重心速度を表している。
上式(20)〜(22)を用いて、又は上式(23)〜(25)を用いて、短期区間k毎の定数係数C1,k及びC2,kを解くことができる。そして、このようにして得られた重心運動xG(t)、yG(t)を満足するように、全身のキネマティクス及びマスプロパティーを考慮して、リンク構造体の関節を駆動することになる。
例えば、本出願人に既に譲渡されている特開2007−108955号公報には、リンク構造体の重心操作空間において力と加速度を紐付けする操作空間慣性逆行列を求める方法について開示されており、上記のようにして得られた重心運動から重心操作空間における操作空間慣性逆行列を求め、さらに操作空間慣性逆行列を用いて定式化された動力学的な拘束条件と、運動学的な拘束条件とを連立させて解くことにより、人型リンク形の関節の運動を生成することができる。運動データを適用するリンク構造体に対し力制御を行なうときには、特開2007−108955号公報に開示されている操作空間制御を用いて全身協調方法を得ることができる。
また、本出願人に既に譲渡されている特開2004−306231号公報には、リンク構造体の全体重心位置などに関する等式拘束条件と、各関節の角速度リミット、可動各リミットなどに関する不等式拘束条件を与えるとともに、冗長自由度の駆動ストラテジーをエネルギー関数で規定して、このエネルギー関数を最小化するように状態変化量を求めてロボットの運動制御を行なう装置について開示されている。運動データを適用するリンク構造体に対し位置制御を行なうときには、特開2004−306231号公報一般化された逆キネマティクスを用いて全身協調方法を得ることができる。
図12には、これまで説明してきた方法によってリンク構造体の重心位置を求めるとともに、得られた重心位置を拘束条件とし、他の拘束条件とともに運動拘束を解決してリンク構造体の運動データ(各関節への制御周期毎の駆動指令値)を生成する運動データ生成システムの機能的構成を模式的に示している。
図示の運動データ生成システム20は、重心運動安定化部21と、運動拘束解決部22で構成される。このうち、複数法線面接触運動の安定化処理の本質を担うのは、重心運動安定化部21である。
後続の運動拘束解決部22は、重心運動安定化部21で算出された重心軌道に関する指令値を入力すると、その他の運動拘束条件と連立するように、リンク構造体の全身を協調駆動するための関節指令値を決定する。
重心運動安定化部21は、重心目標位置設定部21Aと、接触点目標値設定部21Bと、外力概算値決定部21Cと、重心運動算出部21Dで構成される。以下、各部についてそれぞれ説明する。
重心目標位置設定部21Aは、将来時刻T(運動区間の最後すなわちK番目の短期区間の終端)での重心目標位置、すなわち、上式(22)で示した運動区間全体における終端条件を設定する。
例えばリンク構造体が2足歩行型であり、計画する運動が歩行運動である場合には、重心目標位置設定部21Aは、数歩先の両足底の中心位置を重心目標位置に設定する。これにより、重心軌道には数歩先の両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標が与えられることになる。
接触点目標値設定部21Bは、リンク構造体と複数法線面からなる環境との接触状態、すなわち、力(外力)の作用点位置であるリンクi毎の接触点位置pciを設定する。
接触点目標値設定部21Bは、目標とする運動データの1つとして、リンク構造体の動作計画上の接触点の目標値を設定する。但し、リンク構造体がヒューマノイド・ロボット(図1を参照のこと)であり、該当する接触点が接触して接触へのアプローチが終了した場合には、表面に貼設された触覚センサー群t1、t2、…、t17(図2を参照のこと)のセンサー出力としてリンクi毎の接触点位置pciを得ることもできる。また、制御対象が、力学現象をシミュレートしたキャラクター・モデルの場合、接触点目標値設定部21Bには、目標とする運動データの一部としてリンクi毎の接触点位置pciが与えられる。
外力概算値決定部21Cは、重心目標位置設定部21Aが設定した将来時刻Tにおけるリンク構造体の重心目標位置と、接触点目標値設定部21Bが設定したリンク構造体のリンクi毎の接触点位置pciとから、各接触点位置pciに作用する外力fiの概略値を算出する。
各接触点位置pciに作用する外力fiによる重心回りのモーメントの合計は0となることから、制御対象とするリンク構造体の複数法線面との接触状態を保つための制約式として、リンク構造体の複数法線面に対する接触点位置pciと接触点pciに作用する力(外力)fiを入力とした上式(12)が導き出される。そして、この制約式(12)は、上式(13)、(14)で示したように、x成分とy成分に展開して記述することができるが、当該式(13)、(14)は変数係数2階の非斉次方程式である。
ここで、短期区間では重心pgのz方向の運動変化は微小であることと、短期区間では接触力は線形な時間関数として表現されることという2つの仮定を設定すると、計画する運動区間を例えば接触点の切り替わりで複数の短期区間に分割して、上記の変数係数2階の非斉次方程式を、短期区間毎に定数係数2階の非斉次方程式として扱うことができる。
重心運動算出部21Dは、複数法線面からなる環境との接触状態を保つようなリンク構造体の現在時刻における重心運動を算出する。本実施形態では、重心運動算出部21Dは、計画する運動区間全体の始端における重心位置x0及び重心速度の初期条件と、計画する運動区間全体の終端における重心位置xKの終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、上式(18)、(19)から現在時刻tにおけるリンク構造体の重心位置pGの運動を算出する。
始端条件の重心位置並びに重心速度には、現在の運動に滑らかに接続する重心軌道を得るために、前回の制御周期における重心位置及び重心速度を代入する。また、終端条件の重心位置には、例えば歩行運動であれば、数歩先の両足底の中心位置などを設定する。これにより、重心軌道には数歩先に両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標が与えられることになる。短期区間の境界は、例えば、両脚支持期と単脚支持期の境界、すなわち、接触の切り替わりなどに設定すればよい。
ここで、運動区間全体をK個の短期区間に分割した場合、上記の初期条件、終端条件、及び境界連続条件から2K+1の拘束条件が与えられる。これに対し、未定係数の総数は、短期区間毎の2階の未定係数すなわち2K個となることから、上記の拘束条件の他に変数を1つ追加する必要がある。そこで、本実施形態では、重心運動算出部21Dは、短期区間の境界における外力によるモーメントの総和に対して仮想的なモーメントによるオフセットdを加える形で変数を追加して、2K+1元連立方程式として、短期区間毎の定数係数2階の非斉次方程式(18)、(19)における未定係数を決定するようにしている。
運動拘束解決部22は、重心運動安定化部21で得られた次時刻の重心運動目標値を、他の運動拘束(例えば、リンク構造体の一部に発生する力、位置、速度、加速度、外界との接触拘束、関節の発生力、関節値、関節速度、関節加速度、可動範囲拘束など)を同時に満たすような関節駆動方法を決定して、関節指令値からなる運動データを生成して出力する。
但し、運動拘束解決部22において全身協調運動の関節指令値を決定するための処理は、例えば本出願人に既に譲渡されている特開2004−306231号公報若しくは特開2007−108955号公報(いずれも前述)に記載されている技術を適用して構成することができるので、本明細書では運動拘束解決部22に関する詳細な説明を省略する。運動データを適用するヒューマノイド・ロボットの関節駆動用アクチュエーターが力制御型であれば、特開2007−108955号公報に開示されている操作空間制御を用いて全身協調方法を得ることができ、同アクチュエーターが位置制御型であれば、特開2004−306231号公報一般化された逆キネマティクスを用いて全身協調方法を得ることができる。
図13には、図12に示した運動データ生成システム20において、リンク構造体の運動データを生成するための処理手順をフローチャートの形式で示している。
まず、重心目標位置設定部21Aにおいて、将来時刻T(運動区間を分割した最後の短期区間Kの終端)での重心目標位置pGを設定する(ステップS1)。
次いで、接触点目標値設定部21Bにおいて、将来時刻T(運動区間を分割した最後の短期区間Kの終端)における、リンク構造体の各リンクiが複数法線面からなる環境と接触する接触点位置pci、すなわち力の作用点を設定する(ステップS2)。
次いで、外力概略値決定部21Cにおいて、ステップS1で重心目標値として設定されて重心目標位置と、ステップS2で設定された接触点目標値とから、各リンクiの接触点位置pciに作用する外力fiの概略値を算出する(ステップS3)。
次いで、重心運動算出部21Dにおいて、計画する運動区間の初期条件、終端条件、及び、隣接する短期区間における境界連続条件とから構成される、2K+1元連立方程式を、ステップS1で設定された重心目標位置pG、ステップS2で設定された各リンクiの接触点目標値pci、及び、ステップS3で算出した外力概略値fiを基に解いて、現在時刻tにおける重心運動を算出する(ステップS4)。
次いで、運動拘束解決部22において、ステップS4で算出した重心軌道拘束、及び運動を構成するためのその他の運動拘束を設定する(ステップS5)。
次いで、運動拘束解決部22において、ステップS5で設定した種々の運動拘束が同時に満たされるような、関節指令値を決定する(ステップS6)。
そして、ステップS6で算出した全関節指令値を、各リンクを接続する関節アクチュエーターを駆動する運動データとして出力する(ステップS7)。
以上の処理を、制御周期毎に繰り返し、計画する運動区間の全体にわたり、複数法線面との接触状態の安定性を確保したリンク構造体の運動データを高速に生成することができる。
以下では、制御対象としてのリンク構造体が人型キャラクター若しくはヒューマノイド・ロボットであり、計画する運動が2足歩行運動である場合における、上述した運動データの生成方法の適用例について検証する。
図14には、2足2腕型のヒューマノイド・ロボットの歩行運動の概略を示している。また、図15には、検証に用いるヒューマノイド・ロボットの足部の足底形状を示している。図14中で、f1、f2は左右の脚部の足底に作用する接触力(床反力)を表している。各接触力f1、f2は左右の脚部の足底に配設された右足部触覚センサー群t1、左足部触覚センサー群t9から得ることができる。
計画する運動区間を、複数法線面からなる環境との接触点の切り替わりで分割すると、4つの短期区間から構成される。すなわち、歩行運動の場合、運動データ生成システム20は、2歩先までの未来における運動の安定化を目標とし、全身運動パターンを生成する。始端条件の重心位置並びに重心速度には、現在の運動に滑らかに接続する重心軌道を得るために、前回の制御周期における重心位置及び重心速度を代入する。また、終端条件の重心位置には、数歩先の両足底の中心位置などを設定する。これにより、重心軌道には数歩先に両足底の中心の直上に到達するような拘束が課せられ、運動の長期的運動目標が与えられることになる。
図16並びに図17には、単一法線面内での接触運動の一例として、歩行周期を0.6秒、歩幅を6cmに設定した場合のヒューマノイド・ロボットの歩行運動の結果をそれぞれ示している。但し、図16は、x方向の重心軌道(COG X)と(同図中の実線)、x方向のZMP軌道(ZMP X)を示し(同図中の点線)、図17には、y方向の重心軌道(COG Y)と(同図中の実線)、y方向のZMP軌道(ZMP Y)を示している(同図中の点線)。なお、本実施形態に係る運動データ生成システム20が直接ZMPを扱うことはないが、単一法線面内での運動データを生成する場合には運動生成の妥当性検証の指標として用いることを目的として運動期間の全区間においてZMPの算出を行ない、その結果を各図に併記した次第である。
図16及び図17に示した各方向のZMP軌道は、図15に示した足部形状とより判断すると、運動の全区間において十分に接地多角形内に存在しており、環境(この場合は床面)との安定した接触状態が保たれていることが分かる。また、重心軌道(COG X、COG Y)から計画する運動区間の全体において、重心の発散が見られない。したがって、安定な歩行運動が実行されていることが分かる。
また、図18には、複数法線面との接触運動の一例として、2足2腕型のヒューマノイド・ロボットの壁への寄りかかり運動を示している。同図中で、fは、ヒューマノイド・ロボットが壁へ寄りかからずに直立している際に足底に作用する接触力(床反力)を表している。また、f1、f2は、ヒューマノイド・ロボットが壁に寄りかかっている際に、左右の脚部の足底に作用する接触力(床反力)と、壁から手部に作用する接触力をそれぞれ表している。床に対する接触力f1は、左右の脚部の足底に配設された右足部触覚センサー群t1、及び、左足部触覚センサー群t9から得ることができる。また、壁に対する接触力f2は、右手首触覚センサー群t4、左手首触覚センサー群t12から得ることができる。
図示のヒューマノイド・ロボットの壁への寄りかかり運動は、まず、直立姿勢から始まり、次いで壁に両手を着き、徐々に壁に寄りかかり、壁に手をつけたまま直立姿勢に戻し、この運動を再度繰り返すというものである。そして、寄りかかりを2度行なった後、壁から両手を離脱させ、その後、再度両手を壁に接触させ、寄りかかり運動を先ほどの2回の寄りかかり運動より深く行ない、直立姿勢に戻る、という動作を動力学シミュレーション上で行なった。図19には、かかる動力学シミュレーションを行なった結果として得られた、ヒューマノイド・ロボットのx方向の重心軌道を示している。同図から、ヒューマノイド・ロボットの重心軌道は発散することなく良好に生成されていることを確認することができる。
図14乃至図19で示した検証実験からも分かるように、本実施形態にかかる運動データ生成システム20を用いることにより、ヒューマノイド・ロボットなどのリンク構造体のあらゆる環境との接触を含む運動に対し、安定な運動パターンを生成することができる。また、上式(20)〜(22)から分かるように、重心運動算出部21Dは、非常にシンプルな連立方程式を解くことで、複雑なダイナミクスを取り扱うことなく、安価な計算量で、複数法線面との接触を含んだ一般接触運動パターンを安定に生成することができる。これにより、人型キャラクターやヒューマノイド・ロボットといった多リンクからなるリンク構造体の、実世界や力学現象をリアルにシミュレートした仮想環境内におけるインタラクティビティを要するアプリケーションの世界を広げることが可能になる。
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
本発明は、例えば人型キャラクターやヒューマノイド・ロボットなどのリンク構造体のための動作制御若しくは運動データの生成に適用することができる。本発明によれば、人型キャラクターやヒューマノイド・ロボットといった多リンクからなるリンク構造体の、実世界や力学現象をリアルにシミュレートした仮想環境内におけるインタラクティビティを要するアプリケーションの世界を広げることが可能になる。
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
図1は、制御対象となるキャラクター・モデル若しくはロボットの関節自由度モデルを示した図である。 図2は、ヒューマノイド・ロボットの表面のうち、外界との接触が想定されている各部位に触覚センサー群が取り付けられている様子を示した図である。 図3は、触覚センサー群の構成を示した図である。 図4は、触覚センサーCSの構成を模式的に示した図である。 図5は、図2に示したヒューマノイド・ロボットにおける結線トポロジの構成例を示した図である。 図6は、本発明を実現可能なコンピューターの構成例を示した図である。 図7は、一般の運動を複数の短期区間からなる区分割運動で表した様子を示した図である。 図8Aは、リンク構造体に作用する外力によるモーメントの総和に対してオフセットdを加える形で変数を追加する様子を示した図である。 図8Bは、リンク構造体に作用する外力によるモーメントの総和に対してオフセットdを加える形で変数を追加する様子を示した図である。 図8Cは、リンク構造体に作用する外力によるモーメントの総和に対してオフセットdを加える形で変数を追加する様子を示した図である。 図9Aは、図8Aに示した変数の取り方で歩行運動3歩の運動を行なう際のx方向の重心軌道の生成例を示した図である。 図9Bは、図8Aに示した変数の取り方で歩行運動3歩の運動を行なう際のy方向の重心軌道の生成例を示した図である。 図10Aは、図8Bに示した変数の取り方で歩行運動3歩の運動を行なう際のx方向の重心軌道の生成例を示した図である。 図10Bは、図8Bに示した変数の取り方で歩行運動3歩の運動を行なう際のy方向の重心軌道の生成例を示した図である。 図11Aは、図8Cに示した変数の取り方で歩行運動3歩の運動を行なう際のx方向の重心軌道の生成例を示した図である。 図11Bは、図8Cに示した変数の取り方で歩行運動3歩の運動を行なう際のy方向の重心軌道の生成例を示した図である。 図12は、運動データ生成システムの機能的構成を示したブロック図である。 図13は、図12に示した運動データ生成システム20において、リンク構造体の運動データを生成するための処理手順を示したフローチャートである。 図14は、2足2腕型のヒューマノイド・ロボットの歩行運動の概略を示した図である。 図15は、検証に用いるヒューマノイド・ロボットの足部の足底形状を示した図である。 図16Aは、歩行周期を0.6秒、歩幅を6cmに設定した場合のヒューマノイド・ロボットの歩行運動の結果(x方向の重心軌道とx方向のZMP軌道)を示した図である。 図16Bは、歩行周期を0.6秒、歩幅を6cmに設定した場合のヒューマノイド・ロボットの歩行運動の結果(x方向の重心軌道とx方向のZMP軌道)を示した図(拡大図)である。 図17Aは、歩行周期を0.6秒、歩幅を6cmに設定した場合のヒューマノイド・ロボットの歩行運動の結果(y方向の重心軌道とy方向のZMP軌道)を示した図である。 図17Bは、歩行周期を0.6秒、歩幅を6cmに設定した場合のヒューマノイド・ロボットの歩行運動の結果(y方向の重心軌道とy方向のZMP軌道)を示した図(拡大図)である。 図18は、2足2腕型のヒューマノイド・ロボットの壁への寄りかかり運動を示した図である。 図19は、複数法線面に接触する動作を動力学シミュレーションを行なった結果として得られた、ヒューマノイド・ロボットのx方向の重心軌道を示した図である。
符号の説明
1…CPU
2…ROM
3…RAM
4…ローカル・バス
5…ブリッジ
6…入出力バス
7…入出力インターフェース
8…キーボード
9…ポインティング・デバイス(マウス)
10…ディスプレイ
11…HDD
12…通信部
20…運動データ生成システム
21…重心運動安定化部
21A…重心目標位置設定部
21B…接触点目標値設定部
21C…外力概算値決定部
21D…重心運動算出部
22…運動拘束条件解決部

Claims (11)

  1. リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化処理を行なう情報処理装置であって、
    計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定部と、
    前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定部と、
    前記重心目標位置設定部が設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定部が設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定部と、
    前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出部と、
    を備え、
    前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は0となることを表した変数係数2階の非斉次方程式であり、
    前記重心運動算出部は、前記運動区間を複数の短期区間に分割して、前記変数係数2階の非斉次方程式を短期区間毎に定数係数2階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
    ことを特徴とする情報処理装置。
  2. 前記重心運動算出部は、前記運動区間全体をK個の短期区間に分割し、前記初期条件、前記終端条件、及び前記境界条件からなる2K+1の拘束条件を得るとともに、前記短期区間の境界における外力によるモーメントの総和に対してオフセットを加えることによって変数を追加して、2K+1元連立方程式として、前記の定数係数2階の非斉次方程式における未定係数を決定する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記重心運動算出部は、始端条件の重心位置並びに重心速度には前回の制御周期における重心位置及び重心速度を代入する、
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記リンク構造体は、複数の可動脚を備えて歩行運動が可能であり、
    前記重心運動算出部は、終端条件の重心位置には、前記歩行運動における数歩先の両足底の中心位置などを設定する、
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部をさらに備える、
    ことを特徴とする請求項1に記載の情報処理装置。
  6. 前記重心運動算出部は、前記運動区間全体の終端条件として重心位置に重心速度を加える、
    ことを特徴とする請求項1に記載の情報処理装置。
  7. リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化処理を行なう情報処理方法であって、
    計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定ステップと、
    前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定ステップと、
    前記重心目標位置設定ステップにおいて設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定ステップにおいて設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定ステップと、
    前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出ステップと、
    を有し、
    前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は0となることを表した変数係数2階の非斉次方程式であり、
    前記重心運動算出ステップでは、前記運動区間を複数の短期区間に分割して、前記変数係数2階の非斉次方程式を短期区間毎に定数係数2階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
    ことを特徴とする情報処理方法。
  8. リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化部と、
    前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部と、
    を具備することを特徴とする情報処理装置。
  9. リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化ステップと、
    前記重心運動安定化ステップにおいて算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決ステップと、
    を具備することを特徴とする情報処理方法。
  10. リンク構造体の法線方向の異なる平面群からなる環境における複数法線面接触運動の安定化するための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
    計画する運動区間の終端に相当する将来時刻において目標となる前記リンク構造体の重心位置を設定する重心目標位置設定部、
    前記リンク構造体のリンク毎の力の作用点となる接触点位置を設定する接触点目標値設定部、
    前記重心目標位置設定部が設定した前記将来時刻における前記リンク構造体の重心目標位置と、前記接触点目標値設定部が設定した前記リンク構造体のリンク毎の接触点位置とから、各接触点位置に作用する外力の概略値を算出する外力概算値決定部、
    前記複数法線面からなる環境との接触状態を保つための制約式から前記リンク構造体の重心運動を算出する重心運動算出部、
    として機能させ、
    前記制約式は、前記リンク構造体の各リンクの接触点位置に作用する外力による重心回りのモーメントの合計は0となることを表した変数係数2階の非斉次方程式であり、
    前記重心運動算出部は、前記運動区間を複数の短期区間に分割して、前記変数係数2階の非斉次方程式を短期区間毎に定数係数2階の非斉次方程式として扱い、前記運動区間全体の始端における重心位置及び重心速度の初期条件と、前記運動区間全体の終端における重心位置の終端条件と、隣接する短期区間の境界毎の連続条件からなる連立方程式を解くことで、各短期区間における未定係数を決定した後、現在時刻における前記リンク構造体の重心位置の運動を算出する、
    ことを特徴とするコンピューター・プログラム。
  11. リンク構造体の法線方向の異なる平面群からなる環境において、各リンクと複数法線面との接触状態を保つための重心運動を算出する重心運動安定化部、
    前記重心運動安定化部が算出した重心運動を重心位置拘束として、前記リンク構造体に課された他の運動拘束条件とともに運動拘束を解決してリンク構造体の運動データを生成する運動拘束解決部、
    としてコンピューターを機能させるための、コンピューター可読形式で記述されたコンピューター・プログラム。
JP2008312802A 2008-12-09 2008-12-09 情報処理装置及び情報処理方法、並びにコンピューター・プログラム Pending JP2010137289A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008312802A JP2010137289A (ja) 2008-12-09 2008-12-09 情報処理装置及び情報処理方法、並びにコンピューター・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008312802A JP2010137289A (ja) 2008-12-09 2008-12-09 情報処理装置及び情報処理方法、並びにコンピューター・プログラム

Publications (1)

Publication Number Publication Date
JP2010137289A true JP2010137289A (ja) 2010-06-24

Family

ID=42347868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008312802A Pending JP2010137289A (ja) 2008-12-09 2008-12-09 情報処理装置及び情報処理方法、並びにコンピューター・プログラム

Country Status (1)

Country Link
JP (1) JP2010137289A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015087504A1 (ja) * 2013-12-10 2015-06-18 トヨタ自動車株式会社 移動ロボットの移動制御方法、および、移動ロボット
JP2016198873A (ja) * 2015-04-14 2016-12-01 トヨタ自動車株式会社 最適制御装置、最適制御方法及び最適制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015087504A1 (ja) * 2013-12-10 2015-06-18 トヨタ自動車株式会社 移動ロボットの移動制御方法、および、移動ロボット
JPWO2015087504A1 (ja) * 2013-12-10 2017-03-16 トヨタ自動車株式会社 移動ロボットの移動制御方法、および、移動ロボット
JP2016198873A (ja) * 2015-04-14 2016-12-01 トヨタ自動車株式会社 最適制御装置、最適制御方法及び最適制御プログラム

Similar Documents

Publication Publication Date Title
US9120227B2 (en) Human motion tracking control with strict contact force constraints for floating-base humanoid robots
JP5991857B2 (ja) ロボットの均衡制御装置及びその制御方法
JP6343559B2 (ja) 可変剛性の接合を有するロボットおよび最適化剛性の計算方法
Ayusawa et al. Motion retargeting for humanoid robots based on simultaneous morphing parameter identification and motion optimization
JP3615702B2 (ja) 脚式移動ロボットの動作制御装置及び動作制御方法、並びに、脚式移動ロボット
JP5034235B2 (ja) 制御システム及び制御方法、並びにコンピュータ・プログラム
US20130218345A1 (en) Walking robot and control method thereof
US20120316682A1 (en) Balance control apparatus of robot and control method thereof
JP2001157973A (ja) ロボットの歩行制御装置及び歩行制御方法
Kenwright Responsive biped character stepping: When push comes to shove
Kenwright Real-Time Reactive Biped Characters: Staying Upright and Balanced
Luo et al. Principle and method of speed control for dynamic walking biped robots
Cafolla et al. An experimental validation of a novel humanoid torso
Eldirdiry et al. Modeling biomechanical legs with toe-joint using simscape
Rone et al. Maneuvering and stabilization control of a bipedal robot with a universal-spatial robotic tail
Song et al. Development of a bipedal robot that walks like an animation character
Wu et al. Genetic algorithm trajectory plan optimization for EAMA: EAST Articulated Maintenance Arm
Teachasrisaksakul et al. Imitation of dynamic walking with BSN for humanoid robot
Hyon et al. Back handspring of a multi-link gymnastic robot—Reference model approach
Huang et al. An efficient energy transfer inverse kinematics solution
Potkonjak et al. General model of dynamics of human and humanoid motion: feasibility, potentials and verification
JP2010137289A (ja) 情報処理装置及び情報処理方法、並びにコンピューター・プログラム
Lim et al. Control design to achieve dynamic walking on a bipedal robot with compliance
Kim et al. Robust dynamic locomotion via reinforcement learning and novel whole body controller
Wyeth et al. Evolving a locus based gait for a humanoid robot