ロボット装置及びその制御方法、並びにコンピューター・プログラム
【課題】上体と非ホロノミック拘束を有する車輪移動機構を含む機体全体を協調させた力制御を行なう。
【解決手段】対向2輪を、ベース部に固定されたローカル座標系からみて鉛直軸回りの回転と前後方向の並進の運動のみが可能な系からなる、左右方向に並進運動できない等価運動モデルとしてスマートに扱う。ロボット全体は、上肢と併せて、分岐のある1つのマニピュレーターと等価となり、車輪と腕部を協調させて力制御を行ない、より効率的にタスクを遂行したり、車輪と腕部自由度を相補的に利用したりする。
【解決手段】対向2輪を、ベース部に固定されたローカル座標系からみて鉛直軸回りの回転と前後方向の並進の運動のみが可能な系からなる、左右方向に並進運動できない等価運動モデルとしてスマートに扱う。ロボット全体は、上肢と併せて、分岐のある1つのマニピュレーターと等価となり、車輪と腕部を協調させて力制御を行ない、より効率的にタスクを遂行したり、車輪と腕部自由度を相補的に利用したりする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車輪移動機構を備えたロボット装置及びその制御方法、並びにコンピューター・プログラムに係り、特に、対向2輪式などの横方向に並進運動できない非ホロノミック拘束を有する車輪移動機構を備えたロボット装置及びその制御方法、並びにコンピューター・プログラムに関する。
【0002】
さらに詳しくは、本発明は、上体と非ホロノミック拘束を有する車輪移動機構を備えたロボット装置及びその制御方法、並びにコンピューター・プログラムに係り、特に、上体と非ホロノミック拘束を有する車輪移動機構を含む機体全体を協調させた力制御を行なうロボット装置及びその制御方法、並びにコンピューター・プログラムに関する。
【背景技術】
【0003】
急激な高齢化社会の到来により、高齢者とそれを支える生産年齢人口の比率は現在(2005年)の1人:3.3人から、2015年には1人:2.4人に、さらに2025年には1人:2.1人になると見込まれている。このように、人口構成に占める比重が急速に高まっていく高齢者が、できる限り要介護状態とならず健康で活き活きと暮らせること、また、要介護状態となってもできる限り悪化を防ぎ、自立した生活を送ることができる社会とすることが急務となっている。
【0004】
このような高齢化社会の到来に伴い、高齢者介護施設や高齢者を抱える家庭では、高齢者の心身の補助を行なうことを目的としたメカトロ機器への要求が高まっている。また、自律歩行補助器、上肢のパワーアシストといった装着型の物理支援の他、自立して移動し、床上の物体を運んできてくれたり、掃除を行なってくれたりといった、エージェント型の物理支援への要求もある。
【0005】
ロボットの移動手段として、例えば脚式移動型と車輪型を挙げることができる。脚式移動ロボットは、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できる反面、関節数が増大して高コストであることや姿勢が不安定で歩行制御が難しいこと、といった欠点がある。例えば、ロボットが転倒した際、足が不自由な要介護者に危害を与えるおそれがある。これに対し、車輪型ロボットであれば、関節数を少なくして低コストに抑えることができ、且つ、姿勢が安定であり、転倒するおそれも少ない。
【0006】
車輪型の移動機構を、全方位型と、非ホロノミック(nonholonomic)型に大別することができる。非ホロノミックは、「力学系の拘束条件が可積分でないこと」、「ドリフトがあること」、「入力の数よりも多くの座標を制御できる」といった意味がある。非ホロノミック系の移動機構は、対向2輪など単純な構造で構成され、瞬間的に真横(左右)に進むことはできないが、低コストで製作することができる。例えば、対向2輪式の車輪移動機構は、実用的な移動手段として、多くの移動ロボットで採用されている(例えば、特許文献1、非特許文献1を参照のこと)。
【0007】
また、上述の物理支援を主用途とした場合、メカトロ機器は、人や複雑な実環境と柔軟且つ安全に物理接触しながら作業を遂行しなければならない。つまり、従来の産業ロボットが既知環境下で固定的動作を行なっていたのとは異なり、上記メカトロ機器は、未知の環境をセンシングし、時々刻々と変化する周囲環境から適切な外力を得て、目的の作業(タスク)が達成されるように、アクチュエーターの発生力を適切に調整しなければならない。また、機体の随所に作用し得る未知の外乱に対し、安全を考慮した柔軟な反応が望まれている。
【0008】
従来のロボットの多くは、関節駆動用のアクチュエーターに角度指令値を与え、指令値に追従するように関節を駆動する、位置制御型であった。位置制御型のロボットは、制御が容易な反面、力や加速度オーダーの「やわらかい」制御を苦手とする。これに対し、力制御型のロボットは、関節発生力を直接制御し、力を直接的に制御することから、力オーダーの、より柔軟な対人物理インタラクション・サービスが可能である。
【0009】
脚式ロボットに関しては、多自由度脚部関節を含む全身の関節を協調的に用いて、機体全体の随所における力インタラクションを行なう方法が幾つか提案されている(例えば、非特許文献2、3を参照のこと)。
【0010】
一方、対向2輪式の車輪移動機構を用いた全身協調型力インタラクション方法については、必ずしも明らかでない。例えば、移動ベースとアームを力オーダーで協調制御する車輪型ロボット装置について提案がなされているが(例えば、非特許文献4を参照のこと)、移動ベースには全方位移動体が用いられており、非ホロノミック性は現れない。
【0011】
対向2輪式のロボットにおいて全身協調制御系を構築することは、横には並進移動できない運動学的拘束(すなわち非ホロノミック拘束)を有していることを考慮しなければならないことから、単純な構造に反し、煩雑性を有している。また、車輪部の運動学と、上体の運動学は、その特徴が異なるため、両社の融合が図りにくい。本発明者は、かかる点が、対向2輪式ロボットにおける全身協調力制御の実現を難しくしていると思料する。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2007−257200号公報
【非特許文献】
【0013】
【非特許文献1】平田泰久、小菅一弘、浅間一、嘉悦早人、川端邦明共著「キャスタ特性を有した複数の人間協調型移動ロボットと人間との協調による単一物体の搬送」(日本ロボット学会誌Vol.21、No.7、pp.776−784、2003)
【非特許文献2】L.Sentis et al.“A Whole−body Control Framework for Humanoids Operating in Human Environments”(In Proc.IEEE Int.Conf.on Robotics and Automation,2006,pp.2641−2648)
【非特許文献3】K.Nagasaka et al.“Motion Control of a Virtual Humanoid that can Perform Real Physical Interactions with a Human”(In Proc.2008 IEEE/RSJ International Conference on Intelligent Robots and Systems,2008,pp.2303−2310)
【非特許文献4】x Khatib,O.,Yokoi,K.,Chang,K.,Ruspini,D.,Holmberg,R.Casal,A.“Vehicle/Arm Coordination and Multiple Mobile Manipulator Decentralized Cooperation”(Proc.of IEEE/RSJ Int.Conf.Intelligent Robots and Systems,IROS’96,1996,pp.546−553)
【発明の開示】
【発明が解決しようとする課題】
【0014】
本発明の目的は、上体と非ホロノミック拘束を有する車輪移動機構を備えた、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することにある。
【0015】
本発明のさらなる目的は、上体と非ホロノミック拘束を有する車輪移動機構を含む機体全体を協調させた力制御を行なうことができる、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することにある。
【0016】
本発明のさらなる目的は、全身のいたるところで、環境や人と力相互作用を行ない、柔軟な物理サービスを提供することができる、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することにある。
【課題を解決するための手段】
【0017】
本発明は、上記課題を参酌してなされたものであり、請求項1に記載の発明は、ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置であって、
前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節に置換した、前記ロボット装置全体を単一のマニピュレーター構造にモデル化した対向2輪等価モデルと、
前記上体部の各関節の角度及び角速度と前記車輪部の角度及び角速度からなるロボット装置の現在状態を観測し、前記ロボット装置の現在状態を前記対向2輪等価モデルに反映するロボット状態観測部と、
前記対向2輪等価モデルの制御演算を行なう制御部と、
前記制御部で算出された制御目標値の一部を前記車輪部の制御目標値に変換するトルク変換部と、
を具備することを特徴とするロボット装置である。
【0018】
また、本願の請求項2に記載の発明によれば、前記車輪等価関節は、前記ベース部の旋回方向回転自由度と前後方向並進自由度を有し、前記ロボット状態観測部は、観測した前記車輪部の角度又は角速度から、前記ベース部の位置及び姿勢を算出するように構成されている。
【0019】
また、本願の請求項3に記載の発明によれば、前記制御部は、前記ロボット装置の前記対向2輪等価モデルの各関節の目標関節力を算出し、前記変換部は、前記車輪等価関節への目標関節力を前記車輪部の目標関節力に変換するように構成されている。
【0020】
また、本願の請求項4に記載の発明によれば、前記制御部は、前記ロボット装置の運動目標を実現するために前記対向2輪等価モデルに作用する仮想的な力を算出し、前記仮想的な力と等価な目標関節力に変換するように構成されている。
【0021】
また、本願の請求項5に記載のロボット装置は、少なくとも一部の関節における関節駆動方向の作用力を検出する作用力検出手段を備えており、前記関節制御部は前記関節の力制御を行なうように構成されている。
【0022】
ここで、前記関節制御部は、本願の請求項6に記載されているように、目標関節力と、関節駆動方向の作用力と、関節駆動速度が与えられたときに、前記関節駆動用アクチュエーターが理想的に応答したことにより達成される関節加速度目標値の関係を規定した前記関節駆動用アクチュエーターの理想応答モデルに基づいて、前記関節駆動用アクチュエーターへの指示関節力を決定して、前記関節の力制御を行なうようにしてもよい。
【0023】
また、本願の請求項7に記載の発明は、ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置の制御方法であって、
前記ロボット装置の運動目標を設定するステップと、
各関節駆動用アクチュエーターの関節値及び関節速度を取得するステップと、
左右の車輪駆動用アクチュエーターの関節値を基に、前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節の関節値及び関節速度を計算して、前記ロボット装置の前記車輪部を前記車輪等価関節に置換してなる対向2輪等価モデルにおけるすべての関節値及び関節速度を設定するステップと、
前記運動目標を実現するための仮想力を求め、前記仮想力を実在力に変換して、前記対向2輪等価モデルにおける外力及びすべての関節への要求トルクを算出するステップと、
前記車輪等価関節への要求トルクを、前記車輪部の左右の駆動輪への要求トルクに変換するステップと、
得られた要求トルクに従って各関節についてトルク制御を行なうステップと、
を有することを特徴とするロボット装置の制御方法である。
【0024】
また、本願の請求項8に記載の発明は、ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置を制御するための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
前記上体部の各関節の角度及び角速度と前記車輪部の角度及び角速度からなるロボット装置の現在状態を観測し、前記ロボット装置の現在状態を、前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節に置換した対向2輪等価モデルに反映するロボット状態観測部、
前記対向2輪等価モデルの制御演算を行なう制御部、
前記制御部で算出された制御目標値の一部を前記車輪部の制御目標値に変換する変換部、
前記変換部で変換された前記車輪部の制御目標値に基づいて前記車輪部の関節駆動用アクチュエーターを制御するとともに、前記制御部で算出された制御目標値に基づいて前記車輪部以外の関節駆動用アクチュエーターを制御する関節制御部、
として機能させるためのコンピューター・プログラムである。
【0025】
本願の請求項8に係るコンピューター・プログラムは、コンピューター上で所定の処理を実現するようにコンピューター可読形式で記述されたコンピューター・プログラムを定義したものである。換言すれば、本願の請求項に係るコンピューター・プログラムをコンピューターにインストールすることによって、コンピューター上では協働的作用が発揮され、本願の請求項1に係るロボット装置と同様の作用効果を得ることができる。
【発明の効果】
【0026】
本発明によれば、上体と非ホロノミック拘束を有する車輪移動機構を含む機体全体を協調させた力制御を行なうことができる、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することができる。
【0027】
本発明に係る移動ロボットは、従来多く見られた位置制御型のロボットとは異なり、全身のいたるところで、環境や人と力相互作用を行ない、柔軟な物理サービスを提供することができる。
【0028】
本願の請求項1、7、8に記載の発明によれば、ロボット状態観測部は、対向2輪からなる移動部の車輪自由度、回転自由度と並進自由度で表現した等価な関節に置換することで、ロボット装置全体を枝分かれした単一のマニピュレーター構造からなる対向2輪等価モデル化して、ロボット装置の現在状態をこの対向2輪等価モデルに反映することができる。したがって、本願の請求項2乃至4に記載の発明によれば、かかる対向2輪等価モデルを用いて制御演算を行なうとともに、算出された制御目標値の一部を車輪の制御目標値に変換することによって、対向2輪式移動機構を有するロボット装置における、車輪を含む全身協調型力制御を実現することができる。
【0029】
また、本願の請求項1、7、8に記載の発明によれば、車輪移動型のロボット装置であっても、車輪と腕部を協調させて、より効率的にタスクを遂行したり、車輪と腕部自由度を相補的に利用すること(上肢にない自由度成分の力インタラクションを車輪自由度で行なったり、車輪自由度にない成分の運動を上肢自由度で行なったりすること)が可能である。すなわち、本願発明に係るロボット装置は、脚式移動ロボットに比較して単純な移動機構ながら、柔軟で多様なタスクが行なうことができる。
【0030】
また、本願の請求項5、6に記載の発明によれば、少なくとも一部の関節駆動用アクチュエーターは、減速器の出力軸にモーターの外トルクを検出するトルク・センサーを設置し、トルク指令値に従って関節駆動用のアクチュエーターを力制御する際に、アクチュエーターの理想応答モデルに基づいて、関節に対して指示する駆動力を決定する仮想化アクチュエーターであり、移動ロボットは環境や人との力相互作用を好適に行なうことが可能となる。
【0031】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【図面の簡単な説明】
【0032】
【図1A】図1Aは、本発明を適用することができる、対向2輪式の移動ロボットの外観を示した図である。
【図1B】図1Bは、本発明を適用することができる、対向2輪式の移動ロボットの外観を示した図である。
【図1C】図1Cは、本発明を適用することができる、対向2輪式の移動ロボットの外観を示した図である。
【図2】図2は、図1に示した移動ロボットの(車輪機構を陽にモデル化した)関節自由度構成を示した図である。
【図3】図3は、移動ベースの機構を説明するための図である。
【図4】図4は、実際の車輪機構が持つ自由度と車輪機構に加わる外力を示した図である。
【図5】図5は、図1に示した移動ロボットの車輪機構と等価な低次元モデル化した関節自由度構成を示した図である。
【図6】図6は、車輪機構を等価な低次元モデル化した場合のベース部が持つ自由度を示した図である。
【図7】図7は、移動ロボットの制御系の全体構成を模式的に示した図である。
【図8】図8は、左右の車輪の回転速度ωL、ωRから対向2輪と等価となるベース部の前進速度v及び旋回速度ωを算出する手順を説明するための図である。
【図9】図9は、旋回(ヨー)方向回転自由度を持つ関節EJ1と、前進方向並進自由度を持つ関節EJ2への要求トルクを、左右の車輪101L、101Rへの要求トルクに変換する手順を説明するための図である。
【図10】図10は、図7に示した移動ロボットの制御システムにおける処理手順を示したフローチャートである。
【図11A】図11Aは、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示した図である。
【図11B】図11Bは、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示した図である。
【図11C】図11Cは、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示した図である。
【図11D】図11Dは、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示した図である。
【図12】図12は、図11に示したシーケンス例における、首の位置変化を示した図である。
【図13】図13は、図11に示したシーケンス例における、首の姿勢変化を示した図である。
【図14】図14は、図11に示したシーケンス例における、ベース部の位置変化を示した図である。
【図15】図15は、図11に示したシーケンス例における、ベース部の姿勢変化を示した図である。
【発明を実施するための形態】
【0033】
本発明に係る移動ロボットは、従来多く見られた位置制御型のロボットと異なり、全身のいたるところで、環境や人と力相互作用を行ない、柔軟な物理的サービスを提供するものである。このため、体の任意部位における力、加速度、速度、位置の次元に関する運動指令が自在に与えられる必要がある。
【0034】
以下では、図面を参照しながら、車輪移動型のロボットに関する本発明の実施形態について詳解する。
【0035】
図1A〜図1Cには、本発明を適用することができる、対向2輪式の移動ロボットの外観を示している。また、図2には、この移動ロボットの関節自由度構成を図解している。
【0036】
図示の移動ロボットは、移動手段として、ベース部に、対向する2輪の駆動輪101R及び101Lを備え、それぞれピッチ回りに回転する駆動輪用アクチュエーター102R及び102Lによって駆動する。なお、図2中において、参照番号151、152、153は、実在しない劣駆動関節であり、移動ロボットの床面に対するX方向(前後方向)の並進自由度、Y方向(左右方向)の並進自由度、並びに、ヨー回りの回転自由度にそれぞれ相当し、移動ロボットが仮想世界を動き回ることを表現したものである。
【0037】
移動手段は、股関節を介して上体に接続される。股関節は、ピッチ回りに回転する股関節ピッチ軸アクチュエーター103によって駆動する。上体は、左右2肢の腕部と、首関節を介して接続される頭部で構成される。左右の腕部は、それぞれ肩関節3自由度、肘関節2自由度、手首関節2自由度の、計7自由度とする。肩関節3自由度は、肩関節ピッチ軸アクチュエーター104R/L、肩関節ロール軸アクチュエーター105R/L、肩関節ヨー軸アクチュエーター106R/Lによって駆動する。肘関節2自由度は、肘関節ピッチ軸アクチュエーター107R/L、肘関節ヨー軸アクチュエーター108R/Lによって駆動する。手首関節2自由度は、手首関節ロール軸アクチュエーター109R/L、手首関節ピッチ軸アクチュエーター110R/Lによって駆動する。また、首関節2自由度は、首関節ピッチ軸アクチュエーター111R/L、首関節ヨー軸アクチュエーター112R/Lによって駆動する。
【0038】
各軸のアクチュエーターには、関節角を計測するためのエンコーダー、トルクを発生するためのモーター、モーターを駆動するための電流制御型モーター・ドライバーの他、十分な発生力を得るための減速機が取り付けられている。また、アクチュエーターには、アクチュエーターの駆動制御を行なうマイクロコンピューターが併設されている(いずれも図示しない)。
【0039】
移動ロボット全体の動作は、ホスト・コンピューター(図示しない)によって統括的に制御される。ホスト・コンピューターは、各軸のマイクロコンピューターと通信可能であり、各軸のアクチュエーターのトルク目標値をホスト・コンピューターから与えることができるとともに、マイクロコンピューターは、アクチュエーターにおける現在の出力トルク、関節角度、関節角速度をホスト・コンピューターに送信することができる。そして、ホスト・コンピューター上では、全身協調のための制御演算が実行され、全関節へのトルク目標値が算出される。
【0040】
一般に、ロボットの関節部には、摩擦や慣性などのモデル化、同定が困難な未知の物理パラメータが存在する。これら未知パラメータに起因し、モーターの電流制御を行なっても、所定のトルクを発生することができず、また、発生したトルクに対して理論通りの応答を示さないことが良好な力制御の妨げとなる。かかる問題を解決するためには、例えば、本出願人に既に譲渡されている特願2008−119508号明細書に開示されている、発生トルク指令及び外トルクに対して理想的応答を行なう仮想化アクチュエーターを適用すればよい。
【0041】
同アクチュエーターは、減速器の出力軸にモーターの外トルクを検出するトルク・センサーを設置し、トルク指令値に従って関節駆動用のアクチュエーターを力制御する際に、アクチュエーターの理想応答モデルに基づいて、関節に対して指示する駆動力を決定するようにしている(ここで言う理想応答モデルは、トルク指令値と、外トルクと、関節角を時間微分して得られる関節角速度が与えられたときに、アクチュエーターが理想的に応答したことにより達成される関節角加速度目標値の関係を規定した、2次の微分方程式で構成される)。
【0042】
上記の理想化されたアクチュエーターをすべての関節に適用することによって、移動ロボットは環境や人との力相互作用を好適に行なうことが可能となる。但し、本発明の要旨は特定のアクチュエーターの構成方法に限定されるものではない。
【0043】
続いて、移動ベースの機構について、図3を参照しながら説明する。同図上段に示すように、ベース部には、対向2輪機構である左右の駆動輪101R/Lの他に、キャスター161が取り付けられ、ベース部は床面に対して常に水平を維持できる構成となっている。
【0044】
また、図3の下段には、このようなベース部を上部から俯瞰し、その可動方向を図解している。左右の駆動輪101R/Lが同一の回転速度及び同一の回転方向で回転することで、同図左に示すようにベース部は前後方向に移動することができる。左右の駆動輪101R/Lの回転速度が異なると、ベース部は右折又は左折する。左右の駆動輪101R/Lの回転方向が異なると、同図中央に示すように、ベース部はヨー回りに旋回する。このように、対向2輪機構は、前後並びに旋回方向には移動可能であるが、同図右に示すような、左右方向に移動することができない。
【0045】
図3の下段に示したように、対向2輪機構への入力は左右の駆動輪101R/Lの計2自由度であるが、2次元平面内での任意の位置(x;y)及び方位(ヨー回り)の計3自由度を制御することができる。このように入力の数よりも多くの座標を制御できる拘束は、非ホロノミック拘束と呼ばれる。
【0046】
図2に示した関節自由度構成は、実際の車輪機構と、同図中の参照番号151、152、153で示される並進自由度及び回転自由度を有する。これは、車輪に作用する外界からの力を変数とする、実構成に忠実な(車輪機構を陽にモデル化した)モデル化方法であるが、図4に示すように、対向2輪のXY各方向の並進自由度及びヨー回りの回転自由度と、車輪に加わる床反力Fn及び摩擦力Ftを考慮しなければならない。この結果、下式(1)に示すように、ベース部のモーション・サブスペースSoの変数の増大を招くという問題がある。但し、モーション・サブスペースの各列の6つの要素は、第0要素から順に、X軸回り回転(ロール)、Y軸回り回転(ピッチ)、Z軸回り回転(ヨー)、X軸方向並進、Y軸方向並進、Z軸方向並進の自由度を表すことが一般的である。
【0047】
【数1】
【0048】
そこで、本実施形態では、図5に示すように、対向2輪と等価な運動学モデルとして、車輪の代わりに、参照番号171で示すベース部ローカル座標系から見た旋回方向自由度(ヨー回り:EJ1)と、参照番号172で示す前進方向並進自由度(X:EJ2)の2自由度を有した、すなわち低次元モデル化した車輪等価関節を考える。図6には、図5に示すように低次元化したときの、車輪等価関節によって実現されるベース部の自由度を図解している。この低次元モデルは、ベース部に対し、下式(2)に示すような2自由度のモーション・サブスペースSoを有した車輪等価関節を定義することに相当する。
【0049】
【数2】
【0050】
ここで、上式(2)に示したモーション・サブスペースSoの第1列はベース部に固定された座標系から見たZ軸回り回転(ヨー)自由度(EJ1)を表し、第2列はX軸方向並進自由度(EJ2)を表している。
【0051】
上式(2)に示すモーション・サブスペースSoを定義することにより、移動ロボットのベース部は、図6に示すように、ベース部に固定されたローカル座標系からみて、鉛直軸回りの回転と、前後方向の並進の運動のみが可能な系となり、左右方向に並進運動できない対向2輪の拘束を低次元すなわちスマートに扱うことができるようになる。且つ、図5並びに図6に示す等価モデルによれば、移動ロボット全体は、上肢と併せて、分岐のある1つのマニピュレーターと等価となり、全身協調型の制御が扱い易くなる。
【0052】
本実施形態では、図2〜図4に示した対向2輪型の移動ロボットを、図5〜図6に示すような等価ロボットとみなして全身協調力制御を行ない、ベース部のヨー軸自由度(EJ1)及びX軸並進自由度(EJ2)と、左右の車輪回転自由度との観測量及び制御量の変換部を別途設けて、対向2輪型移動ロボットとしての全身協調力制御を実現するものである。
【0053】
図7には、移動ロボットの制御系の全体構成を模式的に示している。図示の制御システムは、ロボット状態観測部701と、対向2輪等価モデル702と、全身協調力制御部703と、理想関節制御部704と、車輪トルク変換部705で構成される。以下では、各機能ブロックの処理内容について詳解する。
【0054】
対向2輪等価モデル702は、図2〜図4に示した、現実の対向2輪型移動ロボットを、図5〜図6に示すような、拘束を低次元化した等価ロボットである(前述)。
【0055】
ロボット状態観測部701は、例えば、各軸のアクチュエーターに装備されたエンコーダー並びにマイクロコンピューターで構成される。ロボット状態観測部701では、全身協調力制御の前段階として、移動ロボットの実際の状態を、観測データに基づいて、図5〜図6に示した対向2輪等価ベースを有するロボットのモデルに反映する。基本的に、エンコーダーから得られる関節値、及び、関節値を微分して得られる関節速度を、対向2輪等価モデルの関節値と関節速度にそれぞれ設定すればよい。すなわち、i番目の関節アクチュエーターに装備されたエンコーダーの出力qi を関節値とすると、ロボット状態観測部701は、対向2輪等価ベース以外の各関節iについて、下式(3)、(4)のように状態を観測することができる。
【0056】
【数3】
【0057】
【数4】
【0058】
また、ロボット状態観測部701は、対向2輪と等価となるベース部のヨー軸及びX軸の位置及び関節速度については、左右の車輪回転自由度の観測量から変換、すなわち、両輪のエンコーダーの出力値から算出する。図8に示すように、車輪半径をr、車輪間距離を2W、左右の各車輪のエンコーダー値を数値微分して得られる各車輪の回転速度をωL、ωRとすると、左右の車輪の接地点での速度vL、vRはそれぞれ下式(5)、(6)に示す通りとなる。
【0059】
【数5】
【0060】
【数6】
【0061】
ベース部の前進速度をv、旋回速度をωとすると、これらは、左右の車輪の接地点での速度vL、vRを用いてそれぞれ下式(7)、(8)のように表される。ロボット状態観測部701は、これらを車輪等価関節の前進方向並進自由度EJ2及び旋回方向回転自由度EJ1の関節速度として設定する。
【0062】
【数7】
【0063】
【数8】
【0064】
ベース部の世界座標系における位置をxo、姿勢(方位角)をθとすると、これらの速度はそれぞれ下式(9)、(10)のように表される。
【0065】
【数9】
【0066】
【数10】
【0067】
これら速度を下式(11)、(12)に示すように数値積分すれば、サンプリング時刻jにおけるベース部の位置及び姿勢(x0j,θj)を得ることができる。
【0068】
【数11】
【0069】
【数12】
【0070】
上式において、Δtはサンプリング周期(例えば1ミリ秒周期)である。これは、デッドレコニング(あるいはオドメトリ)と呼ばれる手法でベース部の位置及び姿勢を得る方法である。その他、SLAM(Simultaneous Localization And Mapping)などの手法で自己位置を推定し、ベース部の位置及び姿勢を更新するようにしてもよい。
【0071】
全身協調力制御部703は、ロボットの全身協調運動を力制御すべく、仮想力算出部703Aが運動目標(タスク)を実現するための仮想力fvを求める第1の処理と、実在力算出部703Bがこの仮想力fvを実在力に変換する第2の処理を実行する。実在力算出部703Bが算出する実在力は、対向2輪等価モデルからなるロボットの各関節アクチュエーターのトルク、及び、ロボットに加わる外力である。
【0072】
図5〜図6に示した対向2輪等価モデルによれば、ロボット全体は枝分かれした単一のマニピュレーター構造からなる。かかるロボット全体の運動方程式が、下式(13)で表されるとする。
【0073】
【数13】
【0074】
上式(13)において、qは、剛体リンクが関節を介して連なったリンク構造物において、関節の値をすべて連ねてできるベクトルからなる関節空間であり、一般化変数とも呼ばれる。また、Hは関節空間に対する慣性行列、τは関節空間qに対応した関節力(一般化力)、bは重力・コリオリ力を表している。
【0075】
ここで、力制御系のロボット制御における重要な概念として、「操作空間(Operational Space)」と呼ばれる概念がある。操作空間は、ロボットに作用する力と発生する加速度の関係を記述するための空間である。ロボットの関節角を位置制御ではなく力制御する際にロボットと環境の接し方を拘束条件として用いるときに、操作空間が必須となる。
【0076】
タスクは、操作空間xに対して、定義されるとする。操作空間xは、関節空間qの時間微分値との関係がヤコビアンJを用いて、下式(14)に示す形に関係付けられる。
【0077】
【数14】
【0078】
上式(14)を、下式(15)のように変形する。
【0079】
対向2輪等価モデルの位置、速度、加速度に関する運動要求すなわちタスクは、操作空間xの加速度として与えられる。タスクを実現するために操作空間xに印加すべき仮想力fvは、下式(15)に示すような一種の線形相補性問題として定式化される。言い換えれば、仮想力算出部703Aが実行する第1の処理は、下式(15)に示した線形相補性問題を解いて、操作空間xに作用する仮想力fvを得ることである。
【0080】
【数15】
【0081】
但し、上式(15)中で、LiとUiはそれぞれ仮想力fvの第i成分の負の下限及び正の上限値(±∞を含む)とする。また、Λ-1は操作空間慣性逆行列と呼ばれ、下式(16)のように表される。
【0082】
【数16】
【0083】
また、上式(15)中で、cは操作空間バイアス加速度(すなわち、外力が作用しない場合に操作空間に作用する加速度)に相当し、下式(17)のように表される。
【0084】
【数17】
【0085】
なお、タスクを実現するための仮想力fvを線形相補性問題として解く方法の詳細については、本出願人に既に譲渡されている特願2007−272099号明細書を参照されたい。
【0086】
また、上記の線形相補性問題を解く上で、操作空間慣性逆行列Λ-1、及び操作空間バイアス加速度cを算出する必要がある。ここで、操作空間xに関する順運動学演算FWDを下式(18)のように表す。
【0087】
【数18】
【0088】
上式(18)に示した順動力学演算FWDによれば、リンク構造からなる対向2輪等価モデルに相当する関節空間qと、関節力τ、重力g、仮想力fvといったリンク構造物に作用する力情報から、リンク構造物の各点に発生する加速度を得ることができる。ここで、上式(18)において、順動力学演算FWDの入力パラメータのうち関節空間q及び仮想力fv以外をすべて0とする制約条件下では、重力、関節力、速度積に関連する力(コリオリ力など)が発生しない状況において操作空間に発生する加速度を求めることができる。すなわち、式(17)において、バイアス加速度c=0とすることができる。さらに、fv=ei、すなわち、i番目の操作空間にのみ単位仮想力を作用させる条件下で計算を実行すると、操作空間慣性逆行列Λ-1の第i列を求めることができることが分かる。よって、下式(19)の演算をすべての列iについて実行すれば操作空間慣性逆行列Λ-1全体を得ることができる。
【0089】
【数19】
【0090】
また、上式( 18)の順動力学演算FWDを外力f=0とし、関節に発生する力及び関節の速度、重力のみが作用するという制約条件下で実行することで、下式(20)に示すように操作空間バイアス加速度cを抽出することができる。
【0091】
【数20】
【0092】
要するに、上式(19)及び(20)を併せて、リンク構造物の力学モデルとしての一般化変数qを用いて順動力学演算FWDを実行することにより、操作空間における重要な物理量である操作空間慣性逆行列Λ-1と操作空間バイアス加速度cを求めることができる訳である。
【0093】
順動力学演算FWDは、当初は逆動力学演算(加速度から力を求める演算)を利用して構成する方法が一般的であったが、O(N3)の計算量を有し、自由度数が増すと演算量が嵩むという問題がある。その後、研究が進み、現在では、単一のCPUを用いてO(N)、複数のCPUを並列化してO(log(N))の計算量を達成することができるようになっている。単一のCPUを用いた例(O(N))として、Articulated Body(AB)法を用いた順運動学演算のFWDの構成方法を挙げることができる。AB法の詳細については、例えば、R.Featherstone著“Robot Dynamics Algorithms”(Kluwer Academic Publishers,1987)に記載されている。
【0094】
AB法は、リンク毎の再帰演算によって構成される。本実施形態では、AB法をイナーシャ情報算出、速度情報算出、力情報算出、加速度情報算出の4つの過程に分解し、対向2輪等価モデルのベース部を以下のように表す。
【0095】
イナーシャ情報算出:
ベースリンクのI0A(Articulated Body Inertia)を、下式(21)を実行することで求める。
【0096】
【数21】
【0097】
ここで、I0はベースリンクのイナーシャ、C0はベースリンクの子リンクのインデックス集合、iXjは座標系iから座標系jへの変換とする。
【0098】
速度情報算出:
ベースリンクの速度をv0、ベースリンクの関節値をq0とすると、下式(22)を実行することで、速度情報を求める。S0はベースリンクの関節の運動自由度を表す行列(モーション・サブスペース)である。
【0099】
【数22】
【0100】
力情報算出:
力情報としてベースリンクのバイアス力p0を、下式(23)を実行することで求める。
【0101】
【数23】
【0102】
ここで、fkはベースリンクに対するk番目の外力、F0はベースリンクに作用する外力のインデックス集合、τjはリンクjの関節力である。
【0103】
加速度情報算出:
加速度情報は、ベースリンクの加速度a0を、下式(24)、(25)を実行することで求める。
【0104】
【数24】
【0105】
【数25】
【0106】
ここで、X0はベースリンクの姿勢、gは重力加速度とする。
【0107】
なお、作空間慣性逆行列Λ-1、及び操作空間バイアス加速度cの高速な算出方法の詳細については、本出願人に既に譲渡されている特開2007−108955号公報を参照されたい。
【0108】
続いて、実在力算出部703Bが実行する、仮想力fvを実在力に変換する第2の処理では、以下の等式(26)が成立するよう、仮想力fvを、床反力などの外力feとアクチュエーターの発生力τaに変換する。
【0109】
【数26】
【0110】
上式(26)において、JvuとJvaはそれぞれ仮想力fvが作用する操作空間に関するヤコビアンの劣駆動関節成分及び駆動関節成分である。JeuとJeaはそれぞれ外力feが作用する操作空間に関するヤコビアンの劣駆動関節成分及び駆動関節成分である。Δfvは、仮想力のうち、実在力で実現不能な成分を表す。上式(26)は不定であり、一般には2次計画問題(QP)を解くことで、外力fe及びアクチュエーターの発生力τaを得ることができるが、その詳細については特願2007−272099号明細書(前述)を参照されたい。
【0111】
本実施形態に係る対向2輪等価ベースを有するロボットは、図5〜図6から分かるように、劣駆動関節はなく、車輪に作用する外力を変数としない(これに対し、現実のロボットは、図2に示すように劣駆動関節151〜153を有し、図4に示すように車輪に作用する外力Fn、Ftが作用する)。したがって、実在力算出部703Bが仮想力fvを実在力に変換する第2の処理では、上式(26)にfe=0、Δfv=0を代入することで、下式(27)のように簡略化される。
【0112】
【数27】
【0113】
このようにして、全身協調力制御部703では、対向2輪等価ベースの関節EJ1、EJ2を含む、すべての関節の要求トルクを算出する。続いて、車輪トルク変換部705は、対向2輪等価ベースの関節EJ1、EJ2への要求トルクを、左右の駆動輪101L、101Rへの要求トルクに変換する。
【0114】
図9に示すように、ヨー方向関節EJ1の関節力をMz、X方向関節EJ2の関節力をFx、左輪のトルクをτL、右輪のトルクをτR、車輪半径をr、車輪間間隔を2Wとすると、これらの間には、下式(28)に示す関係が成り立つ。
【0115】
【数28】
【0116】
上式(28)をτL、τRについて解くと、下式(29)に示す通りとなる。これらを左右の車輪101L、101Rへの要求トルクとすればよい。
【0117】
【数29】
【0118】
このようにして、上肢及び車輪のすべての関節への要求トルクが得られたので、後は、理想関節制御部704において、全関節に関して、該要求トルク値及び対向2輪等価モデルで仮定される関節イナーシャ、粘性抵抗を実現するよう、トルク制御することによって、車輪部を含んだ形で全身協調型の力制御が達成される。
【0119】
ロボットの関節部には、摩擦や慣性などのモデル化、同定が困難な未知の物理パラメータが存在し、これら未知パラメータに起因し、所定のトルクを発生することができず、また、発生したトルクに対して理論通りの応答を示さないことが良好な力制御の妨げとなることが懸念される。そこで、例えば、本出願人に既に譲渡されている特願2008−119508号明細書に開示されている、発生トルク指令及び外トルクに対して理想的応答を行なう仮想化アクチュエーターを適用すればよい(前述)。
【0120】
図10には、図7に示した移動ロボットの制御システムにおける処理手順をフローチャートの形式で示している。
【0121】
まず、全身協調力制御部703に、運動目標を設定する(ステップS1)。
【0122】
次いで、ロボット状態観測部701は、すべての関節駆動用アクチュエーターに装備されたエンコーダーから出力値を読み込み、関節値及び関節速度を計測する(ステップS2)。
【0123】
次いで、ロボット状態観測部701は、左右の車輪駆動用アクチュエーター102L、102Rのエンコーダー値を基に車輪等価関節EJ1、EJ2の関節値及び関節速度を計算して、対向2輪等価モデルにおけるすべての関節値及び関節速度を設定する(ステップS3)。
【0124】
次いで、全身協調力制御部703では、ロボットの全身協調運動を力制御すべく、仮想力算出部703Aが運動目標(タスク)を実現するための仮想力fvを求める第1の処理と、実在力算出部703Bがこの仮想力fvを実在力に変換する第2の処理を実行して、対向2輪等価モデルにおける外力及びすべての関節への要求トルクを算出する(ステップS4)。
【0125】
次いで、車輪トルク変換部705は、対向2輪等価ベースの関節EJ1、EJ2への要求トルクを、左右の駆動輪101L、101Rへの要求トルクに変換する(ステップS5)。
【0126】
このようにして、上肢及び車輪のすべての関節への要求トルクが得られた後に、理想関節制御部704において、全関節に関して、該要求トルク値及び対向2輪等価モデルで仮定される関節イナーシャ、粘性抵抗を実現するよう、トルク制御する(ステップS6)。理想関節制御部704は、例えば、特願2008−119508号明細書に開示されている仮想化アクチュエーターを適用する。
【0127】
移動ロボットの制御システムは、上記のステップS1〜S6からなる処理を例えば1ミリ秒という所定の制御周期で実行する。
【0128】
最後に、対向2輪型移動ロボットに対する本発明の適用例について説明する。
【0129】
図11A〜図11Dには、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示している。各図では、初期に外乱を与えた際,車輪と上体を協調させ、所定のコンプライアンスを以って指定位置・姿勢に復帰する様子を示している。
【0130】
また、図12〜図15には、このときの首及びベース部の位置、姿勢の変化を示している。
【0131】
各図から、対向2輪を有したロボットであっても、車輪と上体を協調させた、全身協調型の力インタラクションが行なえるようになることが分かる。安価な2輪ロボットでも、多様なタスクを遂行し、人及び環境に対して、柔軟に対応するロボットが実現可能となるという訳である。
【産業上の利用可能性】
【0132】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0133】
本明細書では、本発明を対向2輪型の移動ロボットに適用した実施形態を中心に説明してきたが、本発明の要旨はこれに限定されるものではない。
【0134】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【符号の説明】
【0135】
101…駆動輪
102…駆動輪用アクチュエーター
103…股関節ピッチ軸アクチュエーター
104…肩関節ピッチ軸アクチュエーター
105…肩関節ロール軸アクチュエーター
106…肩関節ヨー軸アクチュエーター
107…肘関節ピッチ軸アクチュエーター
108…肘関節ヨー軸アクチュエーター
109…手首関節ロール軸アクチュエーター
110…首関節ピッチ軸アクチュエーター
111…首関節ピッチ軸アクチュエーター
151、152、153…劣駆動関節
161…キャスター
701…ロボット状態観測部
702…対向2輪等価モデル
703…全身協調力制御部
703A…仮想力算出部、703B…実在力算出部
704…理想関節制御部
705…車輪トルク変換部
【技術分野】
【0001】
本発明は、車輪移動機構を備えたロボット装置及びその制御方法、並びにコンピューター・プログラムに係り、特に、対向2輪式などの横方向に並進運動できない非ホロノミック拘束を有する車輪移動機構を備えたロボット装置及びその制御方法、並びにコンピューター・プログラムに関する。
【0002】
さらに詳しくは、本発明は、上体と非ホロノミック拘束を有する車輪移動機構を備えたロボット装置及びその制御方法、並びにコンピューター・プログラムに係り、特に、上体と非ホロノミック拘束を有する車輪移動機構を含む機体全体を協調させた力制御を行なうロボット装置及びその制御方法、並びにコンピューター・プログラムに関する。
【背景技術】
【0003】
急激な高齢化社会の到来により、高齢者とそれを支える生産年齢人口の比率は現在(2005年)の1人:3.3人から、2015年には1人:2.4人に、さらに2025年には1人:2.1人になると見込まれている。このように、人口構成に占める比重が急速に高まっていく高齢者が、できる限り要介護状態とならず健康で活き活きと暮らせること、また、要介護状態となってもできる限り悪化を防ぎ、自立した生活を送ることができる社会とすることが急務となっている。
【0004】
このような高齢化社会の到来に伴い、高齢者介護施設や高齢者を抱える家庭では、高齢者の心身の補助を行なうことを目的としたメカトロ機器への要求が高まっている。また、自律歩行補助器、上肢のパワーアシストといった装着型の物理支援の他、自立して移動し、床上の物体を運んできてくれたり、掃除を行なってくれたりといった、エージェント型の物理支援への要求もある。
【0005】
ロボットの移動手段として、例えば脚式移動型と車輪型を挙げることができる。脚式移動ロボットは、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できる反面、関節数が増大して高コストであることや姿勢が不安定で歩行制御が難しいこと、といった欠点がある。例えば、ロボットが転倒した際、足が不自由な要介護者に危害を与えるおそれがある。これに対し、車輪型ロボットであれば、関節数を少なくして低コストに抑えることができ、且つ、姿勢が安定であり、転倒するおそれも少ない。
【0006】
車輪型の移動機構を、全方位型と、非ホロノミック(nonholonomic)型に大別することができる。非ホロノミックは、「力学系の拘束条件が可積分でないこと」、「ドリフトがあること」、「入力の数よりも多くの座標を制御できる」といった意味がある。非ホロノミック系の移動機構は、対向2輪など単純な構造で構成され、瞬間的に真横(左右)に進むことはできないが、低コストで製作することができる。例えば、対向2輪式の車輪移動機構は、実用的な移動手段として、多くの移動ロボットで採用されている(例えば、特許文献1、非特許文献1を参照のこと)。
【0007】
また、上述の物理支援を主用途とした場合、メカトロ機器は、人や複雑な実環境と柔軟且つ安全に物理接触しながら作業を遂行しなければならない。つまり、従来の産業ロボットが既知環境下で固定的動作を行なっていたのとは異なり、上記メカトロ機器は、未知の環境をセンシングし、時々刻々と変化する周囲環境から適切な外力を得て、目的の作業(タスク)が達成されるように、アクチュエーターの発生力を適切に調整しなければならない。また、機体の随所に作用し得る未知の外乱に対し、安全を考慮した柔軟な反応が望まれている。
【0008】
従来のロボットの多くは、関節駆動用のアクチュエーターに角度指令値を与え、指令値に追従するように関節を駆動する、位置制御型であった。位置制御型のロボットは、制御が容易な反面、力や加速度オーダーの「やわらかい」制御を苦手とする。これに対し、力制御型のロボットは、関節発生力を直接制御し、力を直接的に制御することから、力オーダーの、より柔軟な対人物理インタラクション・サービスが可能である。
【0009】
脚式ロボットに関しては、多自由度脚部関節を含む全身の関節を協調的に用いて、機体全体の随所における力インタラクションを行なう方法が幾つか提案されている(例えば、非特許文献2、3を参照のこと)。
【0010】
一方、対向2輪式の車輪移動機構を用いた全身協調型力インタラクション方法については、必ずしも明らかでない。例えば、移動ベースとアームを力オーダーで協調制御する車輪型ロボット装置について提案がなされているが(例えば、非特許文献4を参照のこと)、移動ベースには全方位移動体が用いられており、非ホロノミック性は現れない。
【0011】
対向2輪式のロボットにおいて全身協調制御系を構築することは、横には並進移動できない運動学的拘束(すなわち非ホロノミック拘束)を有していることを考慮しなければならないことから、単純な構造に反し、煩雑性を有している。また、車輪部の運動学と、上体の運動学は、その特徴が異なるため、両社の融合が図りにくい。本発明者は、かかる点が、対向2輪式ロボットにおける全身協調力制御の実現を難しくしていると思料する。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2007−257200号公報
【非特許文献】
【0013】
【非特許文献1】平田泰久、小菅一弘、浅間一、嘉悦早人、川端邦明共著「キャスタ特性を有した複数の人間協調型移動ロボットと人間との協調による単一物体の搬送」(日本ロボット学会誌Vol.21、No.7、pp.776−784、2003)
【非特許文献2】L.Sentis et al.“A Whole−body Control Framework for Humanoids Operating in Human Environments”(In Proc.IEEE Int.Conf.on Robotics and Automation,2006,pp.2641−2648)
【非特許文献3】K.Nagasaka et al.“Motion Control of a Virtual Humanoid that can Perform Real Physical Interactions with a Human”(In Proc.2008 IEEE/RSJ International Conference on Intelligent Robots and Systems,2008,pp.2303−2310)
【非特許文献4】x Khatib,O.,Yokoi,K.,Chang,K.,Ruspini,D.,Holmberg,R.Casal,A.“Vehicle/Arm Coordination and Multiple Mobile Manipulator Decentralized Cooperation”(Proc.of IEEE/RSJ Int.Conf.Intelligent Robots and Systems,IROS’96,1996,pp.546−553)
【発明の開示】
【発明が解決しようとする課題】
【0014】
本発明の目的は、上体と非ホロノミック拘束を有する車輪移動機構を備えた、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することにある。
【0015】
本発明のさらなる目的は、上体と非ホロノミック拘束を有する車輪移動機構を含む機体全体を協調させた力制御を行なうことができる、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することにある。
【0016】
本発明のさらなる目的は、全身のいたるところで、環境や人と力相互作用を行ない、柔軟な物理サービスを提供することができる、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することにある。
【課題を解決するための手段】
【0017】
本発明は、上記課題を参酌してなされたものであり、請求項1に記載の発明は、ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置であって、
前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節に置換した、前記ロボット装置全体を単一のマニピュレーター構造にモデル化した対向2輪等価モデルと、
前記上体部の各関節の角度及び角速度と前記車輪部の角度及び角速度からなるロボット装置の現在状態を観測し、前記ロボット装置の現在状態を前記対向2輪等価モデルに反映するロボット状態観測部と、
前記対向2輪等価モデルの制御演算を行なう制御部と、
前記制御部で算出された制御目標値の一部を前記車輪部の制御目標値に変換するトルク変換部と、
を具備することを特徴とするロボット装置である。
【0018】
また、本願の請求項2に記載の発明によれば、前記車輪等価関節は、前記ベース部の旋回方向回転自由度と前後方向並進自由度を有し、前記ロボット状態観測部は、観測した前記車輪部の角度又は角速度から、前記ベース部の位置及び姿勢を算出するように構成されている。
【0019】
また、本願の請求項3に記載の発明によれば、前記制御部は、前記ロボット装置の前記対向2輪等価モデルの各関節の目標関節力を算出し、前記変換部は、前記車輪等価関節への目標関節力を前記車輪部の目標関節力に変換するように構成されている。
【0020】
また、本願の請求項4に記載の発明によれば、前記制御部は、前記ロボット装置の運動目標を実現するために前記対向2輪等価モデルに作用する仮想的な力を算出し、前記仮想的な力と等価な目標関節力に変換するように構成されている。
【0021】
また、本願の請求項5に記載のロボット装置は、少なくとも一部の関節における関節駆動方向の作用力を検出する作用力検出手段を備えており、前記関節制御部は前記関節の力制御を行なうように構成されている。
【0022】
ここで、前記関節制御部は、本願の請求項6に記載されているように、目標関節力と、関節駆動方向の作用力と、関節駆動速度が与えられたときに、前記関節駆動用アクチュエーターが理想的に応答したことにより達成される関節加速度目標値の関係を規定した前記関節駆動用アクチュエーターの理想応答モデルに基づいて、前記関節駆動用アクチュエーターへの指示関節力を決定して、前記関節の力制御を行なうようにしてもよい。
【0023】
また、本願の請求項7に記載の発明は、ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置の制御方法であって、
前記ロボット装置の運動目標を設定するステップと、
各関節駆動用アクチュエーターの関節値及び関節速度を取得するステップと、
左右の車輪駆動用アクチュエーターの関節値を基に、前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節の関節値及び関節速度を計算して、前記ロボット装置の前記車輪部を前記車輪等価関節に置換してなる対向2輪等価モデルにおけるすべての関節値及び関節速度を設定するステップと、
前記運動目標を実現するための仮想力を求め、前記仮想力を実在力に変換して、前記対向2輪等価モデルにおける外力及びすべての関節への要求トルクを算出するステップと、
前記車輪等価関節への要求トルクを、前記車輪部の左右の駆動輪への要求トルクに変換するステップと、
得られた要求トルクに従って各関節についてトルク制御を行なうステップと、
を有することを特徴とするロボット装置の制御方法である。
【0024】
また、本願の請求項8に記載の発明は、ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置を制御するための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
前記上体部の各関節の角度及び角速度と前記車輪部の角度及び角速度からなるロボット装置の現在状態を観測し、前記ロボット装置の現在状態を、前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節に置換した対向2輪等価モデルに反映するロボット状態観測部、
前記対向2輪等価モデルの制御演算を行なう制御部、
前記制御部で算出された制御目標値の一部を前記車輪部の制御目標値に変換する変換部、
前記変換部で変換された前記車輪部の制御目標値に基づいて前記車輪部の関節駆動用アクチュエーターを制御するとともに、前記制御部で算出された制御目標値に基づいて前記車輪部以外の関節駆動用アクチュエーターを制御する関節制御部、
として機能させるためのコンピューター・プログラムである。
【0025】
本願の請求項8に係るコンピューター・プログラムは、コンピューター上で所定の処理を実現するようにコンピューター可読形式で記述されたコンピューター・プログラムを定義したものである。換言すれば、本願の請求項に係るコンピューター・プログラムをコンピューターにインストールすることによって、コンピューター上では協働的作用が発揮され、本願の請求項1に係るロボット装置と同様の作用効果を得ることができる。
【発明の効果】
【0026】
本発明によれば、上体と非ホロノミック拘束を有する車輪移動機構を含む機体全体を協調させた力制御を行なうことができる、優れたロボット装置及びその制御方法、並びにコンピューター・プログラムを提供することができる。
【0027】
本発明に係る移動ロボットは、従来多く見られた位置制御型のロボットとは異なり、全身のいたるところで、環境や人と力相互作用を行ない、柔軟な物理サービスを提供することができる。
【0028】
本願の請求項1、7、8に記載の発明によれば、ロボット状態観測部は、対向2輪からなる移動部の車輪自由度、回転自由度と並進自由度で表現した等価な関節に置換することで、ロボット装置全体を枝分かれした単一のマニピュレーター構造からなる対向2輪等価モデル化して、ロボット装置の現在状態をこの対向2輪等価モデルに反映することができる。したがって、本願の請求項2乃至4に記載の発明によれば、かかる対向2輪等価モデルを用いて制御演算を行なうとともに、算出された制御目標値の一部を車輪の制御目標値に変換することによって、対向2輪式移動機構を有するロボット装置における、車輪を含む全身協調型力制御を実現することができる。
【0029】
また、本願の請求項1、7、8に記載の発明によれば、車輪移動型のロボット装置であっても、車輪と腕部を協調させて、より効率的にタスクを遂行したり、車輪と腕部自由度を相補的に利用すること(上肢にない自由度成分の力インタラクションを車輪自由度で行なったり、車輪自由度にない成分の運動を上肢自由度で行なったりすること)が可能である。すなわち、本願発明に係るロボット装置は、脚式移動ロボットに比較して単純な移動機構ながら、柔軟で多様なタスクが行なうことができる。
【0030】
また、本願の請求項5、6に記載の発明によれば、少なくとも一部の関節駆動用アクチュエーターは、減速器の出力軸にモーターの外トルクを検出するトルク・センサーを設置し、トルク指令値に従って関節駆動用のアクチュエーターを力制御する際に、アクチュエーターの理想応答モデルに基づいて、関節に対して指示する駆動力を決定する仮想化アクチュエーターであり、移動ロボットは環境や人との力相互作用を好適に行なうことが可能となる。
【0031】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【図面の簡単な説明】
【0032】
【図1A】図1Aは、本発明を適用することができる、対向2輪式の移動ロボットの外観を示した図である。
【図1B】図1Bは、本発明を適用することができる、対向2輪式の移動ロボットの外観を示した図である。
【図1C】図1Cは、本発明を適用することができる、対向2輪式の移動ロボットの外観を示した図である。
【図2】図2は、図1に示した移動ロボットの(車輪機構を陽にモデル化した)関節自由度構成を示した図である。
【図3】図3は、移動ベースの機構を説明するための図である。
【図4】図4は、実際の車輪機構が持つ自由度と車輪機構に加わる外力を示した図である。
【図5】図5は、図1に示した移動ロボットの車輪機構と等価な低次元モデル化した関節自由度構成を示した図である。
【図6】図6は、車輪機構を等価な低次元モデル化した場合のベース部が持つ自由度を示した図である。
【図7】図7は、移動ロボットの制御系の全体構成を模式的に示した図である。
【図8】図8は、左右の車輪の回転速度ωL、ωRから対向2輪と等価となるベース部の前進速度v及び旋回速度ωを算出する手順を説明するための図である。
【図9】図9は、旋回(ヨー)方向回転自由度を持つ関節EJ1と、前進方向並進自由度を持つ関節EJ2への要求トルクを、左右の車輪101L、101Rへの要求トルクに変換する手順を説明するための図である。
【図10】図10は、図7に示した移動ロボットの制御システムにおける処理手順を示したフローチャートである。
【図11A】図11Aは、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示した図である。
【図11B】図11Bは、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示した図である。
【図11C】図11Cは、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示した図である。
【図11D】図11Dは、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示した図である。
【図12】図12は、図11に示したシーケンス例における、首の位置変化を示した図である。
【図13】図13は、図11に示したシーケンス例における、首の姿勢変化を示した図である。
【図14】図14は、図11に示したシーケンス例における、ベース部の位置変化を示した図である。
【図15】図15は、図11に示したシーケンス例における、ベース部の姿勢変化を示した図である。
【発明を実施するための形態】
【0033】
本発明に係る移動ロボットは、従来多く見られた位置制御型のロボットと異なり、全身のいたるところで、環境や人と力相互作用を行ない、柔軟な物理的サービスを提供するものである。このため、体の任意部位における力、加速度、速度、位置の次元に関する運動指令が自在に与えられる必要がある。
【0034】
以下では、図面を参照しながら、車輪移動型のロボットに関する本発明の実施形態について詳解する。
【0035】
図1A〜図1Cには、本発明を適用することができる、対向2輪式の移動ロボットの外観を示している。また、図2には、この移動ロボットの関節自由度構成を図解している。
【0036】
図示の移動ロボットは、移動手段として、ベース部に、対向する2輪の駆動輪101R及び101Lを備え、それぞれピッチ回りに回転する駆動輪用アクチュエーター102R及び102Lによって駆動する。なお、図2中において、参照番号151、152、153は、実在しない劣駆動関節であり、移動ロボットの床面に対するX方向(前後方向)の並進自由度、Y方向(左右方向)の並進自由度、並びに、ヨー回りの回転自由度にそれぞれ相当し、移動ロボットが仮想世界を動き回ることを表現したものである。
【0037】
移動手段は、股関節を介して上体に接続される。股関節は、ピッチ回りに回転する股関節ピッチ軸アクチュエーター103によって駆動する。上体は、左右2肢の腕部と、首関節を介して接続される頭部で構成される。左右の腕部は、それぞれ肩関節3自由度、肘関節2自由度、手首関節2自由度の、計7自由度とする。肩関節3自由度は、肩関節ピッチ軸アクチュエーター104R/L、肩関節ロール軸アクチュエーター105R/L、肩関節ヨー軸アクチュエーター106R/Lによって駆動する。肘関節2自由度は、肘関節ピッチ軸アクチュエーター107R/L、肘関節ヨー軸アクチュエーター108R/Lによって駆動する。手首関節2自由度は、手首関節ロール軸アクチュエーター109R/L、手首関節ピッチ軸アクチュエーター110R/Lによって駆動する。また、首関節2自由度は、首関節ピッチ軸アクチュエーター111R/L、首関節ヨー軸アクチュエーター112R/Lによって駆動する。
【0038】
各軸のアクチュエーターには、関節角を計測するためのエンコーダー、トルクを発生するためのモーター、モーターを駆動するための電流制御型モーター・ドライバーの他、十分な発生力を得るための減速機が取り付けられている。また、アクチュエーターには、アクチュエーターの駆動制御を行なうマイクロコンピューターが併設されている(いずれも図示しない)。
【0039】
移動ロボット全体の動作は、ホスト・コンピューター(図示しない)によって統括的に制御される。ホスト・コンピューターは、各軸のマイクロコンピューターと通信可能であり、各軸のアクチュエーターのトルク目標値をホスト・コンピューターから与えることができるとともに、マイクロコンピューターは、アクチュエーターにおける現在の出力トルク、関節角度、関節角速度をホスト・コンピューターに送信することができる。そして、ホスト・コンピューター上では、全身協調のための制御演算が実行され、全関節へのトルク目標値が算出される。
【0040】
一般に、ロボットの関節部には、摩擦や慣性などのモデル化、同定が困難な未知の物理パラメータが存在する。これら未知パラメータに起因し、モーターの電流制御を行なっても、所定のトルクを発生することができず、また、発生したトルクに対して理論通りの応答を示さないことが良好な力制御の妨げとなる。かかる問題を解決するためには、例えば、本出願人に既に譲渡されている特願2008−119508号明細書に開示されている、発生トルク指令及び外トルクに対して理想的応答を行なう仮想化アクチュエーターを適用すればよい。
【0041】
同アクチュエーターは、減速器の出力軸にモーターの外トルクを検出するトルク・センサーを設置し、トルク指令値に従って関節駆動用のアクチュエーターを力制御する際に、アクチュエーターの理想応答モデルに基づいて、関節に対して指示する駆動力を決定するようにしている(ここで言う理想応答モデルは、トルク指令値と、外トルクと、関節角を時間微分して得られる関節角速度が与えられたときに、アクチュエーターが理想的に応答したことにより達成される関節角加速度目標値の関係を規定した、2次の微分方程式で構成される)。
【0042】
上記の理想化されたアクチュエーターをすべての関節に適用することによって、移動ロボットは環境や人との力相互作用を好適に行なうことが可能となる。但し、本発明の要旨は特定のアクチュエーターの構成方法に限定されるものではない。
【0043】
続いて、移動ベースの機構について、図3を参照しながら説明する。同図上段に示すように、ベース部には、対向2輪機構である左右の駆動輪101R/Lの他に、キャスター161が取り付けられ、ベース部は床面に対して常に水平を維持できる構成となっている。
【0044】
また、図3の下段には、このようなベース部を上部から俯瞰し、その可動方向を図解している。左右の駆動輪101R/Lが同一の回転速度及び同一の回転方向で回転することで、同図左に示すようにベース部は前後方向に移動することができる。左右の駆動輪101R/Lの回転速度が異なると、ベース部は右折又は左折する。左右の駆動輪101R/Lの回転方向が異なると、同図中央に示すように、ベース部はヨー回りに旋回する。このように、対向2輪機構は、前後並びに旋回方向には移動可能であるが、同図右に示すような、左右方向に移動することができない。
【0045】
図3の下段に示したように、対向2輪機構への入力は左右の駆動輪101R/Lの計2自由度であるが、2次元平面内での任意の位置(x;y)及び方位(ヨー回り)の計3自由度を制御することができる。このように入力の数よりも多くの座標を制御できる拘束は、非ホロノミック拘束と呼ばれる。
【0046】
図2に示した関節自由度構成は、実際の車輪機構と、同図中の参照番号151、152、153で示される並進自由度及び回転自由度を有する。これは、車輪に作用する外界からの力を変数とする、実構成に忠実な(車輪機構を陽にモデル化した)モデル化方法であるが、図4に示すように、対向2輪のXY各方向の並進自由度及びヨー回りの回転自由度と、車輪に加わる床反力Fn及び摩擦力Ftを考慮しなければならない。この結果、下式(1)に示すように、ベース部のモーション・サブスペースSoの変数の増大を招くという問題がある。但し、モーション・サブスペースの各列の6つの要素は、第0要素から順に、X軸回り回転(ロール)、Y軸回り回転(ピッチ)、Z軸回り回転(ヨー)、X軸方向並進、Y軸方向並進、Z軸方向並進の自由度を表すことが一般的である。
【0047】
【数1】
【0048】
そこで、本実施形態では、図5に示すように、対向2輪と等価な運動学モデルとして、車輪の代わりに、参照番号171で示すベース部ローカル座標系から見た旋回方向自由度(ヨー回り:EJ1)と、参照番号172で示す前進方向並進自由度(X:EJ2)の2自由度を有した、すなわち低次元モデル化した車輪等価関節を考える。図6には、図5に示すように低次元化したときの、車輪等価関節によって実現されるベース部の自由度を図解している。この低次元モデルは、ベース部に対し、下式(2)に示すような2自由度のモーション・サブスペースSoを有した車輪等価関節を定義することに相当する。
【0049】
【数2】
【0050】
ここで、上式(2)に示したモーション・サブスペースSoの第1列はベース部に固定された座標系から見たZ軸回り回転(ヨー)自由度(EJ1)を表し、第2列はX軸方向並進自由度(EJ2)を表している。
【0051】
上式(2)に示すモーション・サブスペースSoを定義することにより、移動ロボットのベース部は、図6に示すように、ベース部に固定されたローカル座標系からみて、鉛直軸回りの回転と、前後方向の並進の運動のみが可能な系となり、左右方向に並進運動できない対向2輪の拘束を低次元すなわちスマートに扱うことができるようになる。且つ、図5並びに図6に示す等価モデルによれば、移動ロボット全体は、上肢と併せて、分岐のある1つのマニピュレーターと等価となり、全身協調型の制御が扱い易くなる。
【0052】
本実施形態では、図2〜図4に示した対向2輪型の移動ロボットを、図5〜図6に示すような等価ロボットとみなして全身協調力制御を行ない、ベース部のヨー軸自由度(EJ1)及びX軸並進自由度(EJ2)と、左右の車輪回転自由度との観測量及び制御量の変換部を別途設けて、対向2輪型移動ロボットとしての全身協調力制御を実現するものである。
【0053】
図7には、移動ロボットの制御系の全体構成を模式的に示している。図示の制御システムは、ロボット状態観測部701と、対向2輪等価モデル702と、全身協調力制御部703と、理想関節制御部704と、車輪トルク変換部705で構成される。以下では、各機能ブロックの処理内容について詳解する。
【0054】
対向2輪等価モデル702は、図2〜図4に示した、現実の対向2輪型移動ロボットを、図5〜図6に示すような、拘束を低次元化した等価ロボットである(前述)。
【0055】
ロボット状態観測部701は、例えば、各軸のアクチュエーターに装備されたエンコーダー並びにマイクロコンピューターで構成される。ロボット状態観測部701では、全身協調力制御の前段階として、移動ロボットの実際の状態を、観測データに基づいて、図5〜図6に示した対向2輪等価ベースを有するロボットのモデルに反映する。基本的に、エンコーダーから得られる関節値、及び、関節値を微分して得られる関節速度を、対向2輪等価モデルの関節値と関節速度にそれぞれ設定すればよい。すなわち、i番目の関節アクチュエーターに装備されたエンコーダーの出力qi を関節値とすると、ロボット状態観測部701は、対向2輪等価ベース以外の各関節iについて、下式(3)、(4)のように状態を観測することができる。
【0056】
【数3】
【0057】
【数4】
【0058】
また、ロボット状態観測部701は、対向2輪と等価となるベース部のヨー軸及びX軸の位置及び関節速度については、左右の車輪回転自由度の観測量から変換、すなわち、両輪のエンコーダーの出力値から算出する。図8に示すように、車輪半径をr、車輪間距離を2W、左右の各車輪のエンコーダー値を数値微分して得られる各車輪の回転速度をωL、ωRとすると、左右の車輪の接地点での速度vL、vRはそれぞれ下式(5)、(6)に示す通りとなる。
【0059】
【数5】
【0060】
【数6】
【0061】
ベース部の前進速度をv、旋回速度をωとすると、これらは、左右の車輪の接地点での速度vL、vRを用いてそれぞれ下式(7)、(8)のように表される。ロボット状態観測部701は、これらを車輪等価関節の前進方向並進自由度EJ2及び旋回方向回転自由度EJ1の関節速度として設定する。
【0062】
【数7】
【0063】
【数8】
【0064】
ベース部の世界座標系における位置をxo、姿勢(方位角)をθとすると、これらの速度はそれぞれ下式(9)、(10)のように表される。
【0065】
【数9】
【0066】
【数10】
【0067】
これら速度を下式(11)、(12)に示すように数値積分すれば、サンプリング時刻jにおけるベース部の位置及び姿勢(x0j,θj)を得ることができる。
【0068】
【数11】
【0069】
【数12】
【0070】
上式において、Δtはサンプリング周期(例えば1ミリ秒周期)である。これは、デッドレコニング(あるいはオドメトリ)と呼ばれる手法でベース部の位置及び姿勢を得る方法である。その他、SLAM(Simultaneous Localization And Mapping)などの手法で自己位置を推定し、ベース部の位置及び姿勢を更新するようにしてもよい。
【0071】
全身協調力制御部703は、ロボットの全身協調運動を力制御すべく、仮想力算出部703Aが運動目標(タスク)を実現するための仮想力fvを求める第1の処理と、実在力算出部703Bがこの仮想力fvを実在力に変換する第2の処理を実行する。実在力算出部703Bが算出する実在力は、対向2輪等価モデルからなるロボットの各関節アクチュエーターのトルク、及び、ロボットに加わる外力である。
【0072】
図5〜図6に示した対向2輪等価モデルによれば、ロボット全体は枝分かれした単一のマニピュレーター構造からなる。かかるロボット全体の運動方程式が、下式(13)で表されるとする。
【0073】
【数13】
【0074】
上式(13)において、qは、剛体リンクが関節を介して連なったリンク構造物において、関節の値をすべて連ねてできるベクトルからなる関節空間であり、一般化変数とも呼ばれる。また、Hは関節空間に対する慣性行列、τは関節空間qに対応した関節力(一般化力)、bは重力・コリオリ力を表している。
【0075】
ここで、力制御系のロボット制御における重要な概念として、「操作空間(Operational Space)」と呼ばれる概念がある。操作空間は、ロボットに作用する力と発生する加速度の関係を記述するための空間である。ロボットの関節角を位置制御ではなく力制御する際にロボットと環境の接し方を拘束条件として用いるときに、操作空間が必須となる。
【0076】
タスクは、操作空間xに対して、定義されるとする。操作空間xは、関節空間qの時間微分値との関係がヤコビアンJを用いて、下式(14)に示す形に関係付けられる。
【0077】
【数14】
【0078】
上式(14)を、下式(15)のように変形する。
【0079】
対向2輪等価モデルの位置、速度、加速度に関する運動要求すなわちタスクは、操作空間xの加速度として与えられる。タスクを実現するために操作空間xに印加すべき仮想力fvは、下式(15)に示すような一種の線形相補性問題として定式化される。言い換えれば、仮想力算出部703Aが実行する第1の処理は、下式(15)に示した線形相補性問題を解いて、操作空間xに作用する仮想力fvを得ることである。
【0080】
【数15】
【0081】
但し、上式(15)中で、LiとUiはそれぞれ仮想力fvの第i成分の負の下限及び正の上限値(±∞を含む)とする。また、Λ-1は操作空間慣性逆行列と呼ばれ、下式(16)のように表される。
【0082】
【数16】
【0083】
また、上式(15)中で、cは操作空間バイアス加速度(すなわち、外力が作用しない場合に操作空間に作用する加速度)に相当し、下式(17)のように表される。
【0084】
【数17】
【0085】
なお、タスクを実現するための仮想力fvを線形相補性問題として解く方法の詳細については、本出願人に既に譲渡されている特願2007−272099号明細書を参照されたい。
【0086】
また、上記の線形相補性問題を解く上で、操作空間慣性逆行列Λ-1、及び操作空間バイアス加速度cを算出する必要がある。ここで、操作空間xに関する順運動学演算FWDを下式(18)のように表す。
【0087】
【数18】
【0088】
上式(18)に示した順動力学演算FWDによれば、リンク構造からなる対向2輪等価モデルに相当する関節空間qと、関節力τ、重力g、仮想力fvといったリンク構造物に作用する力情報から、リンク構造物の各点に発生する加速度を得ることができる。ここで、上式(18)において、順動力学演算FWDの入力パラメータのうち関節空間q及び仮想力fv以外をすべて0とする制約条件下では、重力、関節力、速度積に関連する力(コリオリ力など)が発生しない状況において操作空間に発生する加速度を求めることができる。すなわち、式(17)において、バイアス加速度c=0とすることができる。さらに、fv=ei、すなわち、i番目の操作空間にのみ単位仮想力を作用させる条件下で計算を実行すると、操作空間慣性逆行列Λ-1の第i列を求めることができることが分かる。よって、下式(19)の演算をすべての列iについて実行すれば操作空間慣性逆行列Λ-1全体を得ることができる。
【0089】
【数19】
【0090】
また、上式( 18)の順動力学演算FWDを外力f=0とし、関節に発生する力及び関節の速度、重力のみが作用するという制約条件下で実行することで、下式(20)に示すように操作空間バイアス加速度cを抽出することができる。
【0091】
【数20】
【0092】
要するに、上式(19)及び(20)を併せて、リンク構造物の力学モデルとしての一般化変数qを用いて順動力学演算FWDを実行することにより、操作空間における重要な物理量である操作空間慣性逆行列Λ-1と操作空間バイアス加速度cを求めることができる訳である。
【0093】
順動力学演算FWDは、当初は逆動力学演算(加速度から力を求める演算)を利用して構成する方法が一般的であったが、O(N3)の計算量を有し、自由度数が増すと演算量が嵩むという問題がある。その後、研究が進み、現在では、単一のCPUを用いてO(N)、複数のCPUを並列化してO(log(N))の計算量を達成することができるようになっている。単一のCPUを用いた例(O(N))として、Articulated Body(AB)法を用いた順運動学演算のFWDの構成方法を挙げることができる。AB法の詳細については、例えば、R.Featherstone著“Robot Dynamics Algorithms”(Kluwer Academic Publishers,1987)に記載されている。
【0094】
AB法は、リンク毎の再帰演算によって構成される。本実施形態では、AB法をイナーシャ情報算出、速度情報算出、力情報算出、加速度情報算出の4つの過程に分解し、対向2輪等価モデルのベース部を以下のように表す。
【0095】
イナーシャ情報算出:
ベースリンクのI0A(Articulated Body Inertia)を、下式(21)を実行することで求める。
【0096】
【数21】
【0097】
ここで、I0はベースリンクのイナーシャ、C0はベースリンクの子リンクのインデックス集合、iXjは座標系iから座標系jへの変換とする。
【0098】
速度情報算出:
ベースリンクの速度をv0、ベースリンクの関節値をq0とすると、下式(22)を実行することで、速度情報を求める。S0はベースリンクの関節の運動自由度を表す行列(モーション・サブスペース)である。
【0099】
【数22】
【0100】
力情報算出:
力情報としてベースリンクのバイアス力p0を、下式(23)を実行することで求める。
【0101】
【数23】
【0102】
ここで、fkはベースリンクに対するk番目の外力、F0はベースリンクに作用する外力のインデックス集合、τjはリンクjの関節力である。
【0103】
加速度情報算出:
加速度情報は、ベースリンクの加速度a0を、下式(24)、(25)を実行することで求める。
【0104】
【数24】
【0105】
【数25】
【0106】
ここで、X0はベースリンクの姿勢、gは重力加速度とする。
【0107】
なお、作空間慣性逆行列Λ-1、及び操作空間バイアス加速度cの高速な算出方法の詳細については、本出願人に既に譲渡されている特開2007−108955号公報を参照されたい。
【0108】
続いて、実在力算出部703Bが実行する、仮想力fvを実在力に変換する第2の処理では、以下の等式(26)が成立するよう、仮想力fvを、床反力などの外力feとアクチュエーターの発生力τaに変換する。
【0109】
【数26】
【0110】
上式(26)において、JvuとJvaはそれぞれ仮想力fvが作用する操作空間に関するヤコビアンの劣駆動関節成分及び駆動関節成分である。JeuとJeaはそれぞれ外力feが作用する操作空間に関するヤコビアンの劣駆動関節成分及び駆動関節成分である。Δfvは、仮想力のうち、実在力で実現不能な成分を表す。上式(26)は不定であり、一般には2次計画問題(QP)を解くことで、外力fe及びアクチュエーターの発生力τaを得ることができるが、その詳細については特願2007−272099号明細書(前述)を参照されたい。
【0111】
本実施形態に係る対向2輪等価ベースを有するロボットは、図5〜図6から分かるように、劣駆動関節はなく、車輪に作用する外力を変数としない(これに対し、現実のロボットは、図2に示すように劣駆動関節151〜153を有し、図4に示すように車輪に作用する外力Fn、Ftが作用する)。したがって、実在力算出部703Bが仮想力fvを実在力に変換する第2の処理では、上式(26)にfe=0、Δfv=0を代入することで、下式(27)のように簡略化される。
【0112】
【数27】
【0113】
このようにして、全身協調力制御部703では、対向2輪等価ベースの関節EJ1、EJ2を含む、すべての関節の要求トルクを算出する。続いて、車輪トルク変換部705は、対向2輪等価ベースの関節EJ1、EJ2への要求トルクを、左右の駆動輪101L、101Rへの要求トルクに変換する。
【0114】
図9に示すように、ヨー方向関節EJ1の関節力をMz、X方向関節EJ2の関節力をFx、左輪のトルクをτL、右輪のトルクをτR、車輪半径をr、車輪間間隔を2Wとすると、これらの間には、下式(28)に示す関係が成り立つ。
【0115】
【数28】
【0116】
上式(28)をτL、τRについて解くと、下式(29)に示す通りとなる。これらを左右の車輪101L、101Rへの要求トルクとすればよい。
【0117】
【数29】
【0118】
このようにして、上肢及び車輪のすべての関節への要求トルクが得られたので、後は、理想関節制御部704において、全関節に関して、該要求トルク値及び対向2輪等価モデルで仮定される関節イナーシャ、粘性抵抗を実現するよう、トルク制御することによって、車輪部を含んだ形で全身協調型の力制御が達成される。
【0119】
ロボットの関節部には、摩擦や慣性などのモデル化、同定が困難な未知の物理パラメータが存在し、これら未知パラメータに起因し、所定のトルクを発生することができず、また、発生したトルクに対して理論通りの応答を示さないことが良好な力制御の妨げとなることが懸念される。そこで、例えば、本出願人に既に譲渡されている特願2008−119508号明細書に開示されている、発生トルク指令及び外トルクに対して理想的応答を行なう仮想化アクチュエーターを適用すればよい(前述)。
【0120】
図10には、図7に示した移動ロボットの制御システムにおける処理手順をフローチャートの形式で示している。
【0121】
まず、全身協調力制御部703に、運動目標を設定する(ステップS1)。
【0122】
次いで、ロボット状態観測部701は、すべての関節駆動用アクチュエーターに装備されたエンコーダーから出力値を読み込み、関節値及び関節速度を計測する(ステップS2)。
【0123】
次いで、ロボット状態観測部701は、左右の車輪駆動用アクチュエーター102L、102Rのエンコーダー値を基に車輪等価関節EJ1、EJ2の関節値及び関節速度を計算して、対向2輪等価モデルにおけるすべての関節値及び関節速度を設定する(ステップS3)。
【0124】
次いで、全身協調力制御部703では、ロボットの全身協調運動を力制御すべく、仮想力算出部703Aが運動目標(タスク)を実現するための仮想力fvを求める第1の処理と、実在力算出部703Bがこの仮想力fvを実在力に変換する第2の処理を実行して、対向2輪等価モデルにおける外力及びすべての関節への要求トルクを算出する(ステップS4)。
【0125】
次いで、車輪トルク変換部705は、対向2輪等価ベースの関節EJ1、EJ2への要求トルクを、左右の駆動輪101L、101Rへの要求トルクに変換する(ステップS5)。
【0126】
このようにして、上肢及び車輪のすべての関節への要求トルクが得られた後に、理想関節制御部704において、全関節に関して、該要求トルク値及び対向2輪等価モデルで仮定される関節イナーシャ、粘性抵抗を実現するよう、トルク制御する(ステップS6)。理想関節制御部704は、例えば、特願2008−119508号明細書に開示されている仮想化アクチュエーターを適用する。
【0127】
移動ロボットの制御システムは、上記のステップS1〜S6からなる処理を例えば1ミリ秒という所定の制御周期で実行する。
【0128】
最後に、対向2輪型移動ロボットに対する本発明の適用例について説明する。
【0129】
図11A〜図11Dには、頭部の位置及び姿勢に対しインピーダンス制御を施し、車輪を含む全身協調力制御を行なった際のシーケンス例(力学シミュレーション)を示している。各図では、初期に外乱を与えた際,車輪と上体を協調させ、所定のコンプライアンスを以って指定位置・姿勢に復帰する様子を示している。
【0130】
また、図12〜図15には、このときの首及びベース部の位置、姿勢の変化を示している。
【0131】
各図から、対向2輪を有したロボットであっても、車輪と上体を協調させた、全身協調型の力インタラクションが行なえるようになることが分かる。安価な2輪ロボットでも、多様なタスクを遂行し、人及び環境に対して、柔軟に対応するロボットが実現可能となるという訳である。
【産業上の利用可能性】
【0132】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0133】
本明細書では、本発明を対向2輪型の移動ロボットに適用した実施形態を中心に説明してきたが、本発明の要旨はこれに限定されるものではない。
【0134】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【符号の説明】
【0135】
101…駆動輪
102…駆動輪用アクチュエーター
103…股関節ピッチ軸アクチュエーター
104…肩関節ピッチ軸アクチュエーター
105…肩関節ロール軸アクチュエーター
106…肩関節ヨー軸アクチュエーター
107…肘関節ピッチ軸アクチュエーター
108…肘関節ヨー軸アクチュエーター
109…手首関節ロール軸アクチュエーター
110…首関節ピッチ軸アクチュエーター
111…首関節ピッチ軸アクチュエーター
151、152、153…劣駆動関節
161…キャスター
701…ロボット状態観測部
702…対向2輪等価モデル
703…全身協調力制御部
703A…仮想力算出部、703B…実在力算出部
704…理想関節制御部
705…車輪トルク変換部
【特許請求の範囲】
【請求項1】
ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置であって、
前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節に置換した、前記ロボット装置全体を単一のマニピュレーター構造にモデル化した対向2輪等価モデルと、
前記上体部の各関節の角度及び角速度と前記車輪部の角度及び角速度からなるロボット装置の現在状態を観測し、前記ロボット装置の現在状態を前記対向2輪等価モデルに反映するロボット状態観測部と、
前記対向2輪等価モデルの制御演算を行なう制御部と、
前記制御部で算出された制御目標値の一部を前記車輪部の制御目標値に変換する変換部と、
前記変換部で変換された前記車輪部の制御目標値に基づいて前記車輪部の関節駆動用アクチュエーターを制御するとともに、前記制御部で算出された制御目標値に基づいて前記車輪部以外の関節駆動用アクチュエーターを制御する関節制御部と、
を具備することを特徴とするロボット装置。
【請求項2】
前記車輪等価関節は、前記ベース部の旋回方向回転自由度と前後方向並進自由度を有し、
前記ロボット状態観測部は、観測した前記車輪部の角度又は角速度から、前記ベース部の位置及び姿勢を算出する、
ことを特徴とする請求項1に記載のロボット装置。
【請求項3】
前記制御部は、前記ロボット装置の前記対向2輪等価モデルの各関節の目標関節力を算出し、
前記変換部は、前記車輪等価関節への目標関節力を前記車輪部の目標関節力に変換する、
ことを特徴とする請求項1に記載のロボット装置。
【請求項4】
前記制御部は、前記ロボット装置の運動目標を実現するために前記対向2輪等価モデルに作用する仮想的な力を算出し、前記仮想的な力と等価な目標関節力に変換する、
ことを特徴とする請求項3に記載のロボット装置。
【請求項5】
少なくとも一部の関節における関節駆動方向の作用力を検出する作用力検出手段を備え、
前記関節制御部は前記関節の力制御を行なう、
ことを特徴とする請求項1に記載のロボット装置。
【請求項6】
前記関節制御部は、目標関節力と、関節駆動方向の作用力と、関節駆動速度が与えられたときに、前記関節駆動用アクチュエーターが理想的に応答したことにより達成される関節加速度目標値の関係を規定した前記関節駆動用アクチュエーターの理想応答モデルに基づいて、前記関節駆動用アクチュエーターへの指示関節力を決定して、前記関節の力制御を行なう、
ことを特徴とする請求項5に記載のロボット装置。
【請求項7】
ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置の制御方法であって、
前記ロボット装置の運動目標を設定するステップと、
各関節駆動用アクチュエーターの関節値及び関節速度を取得するステップと、
左右の車輪駆動用アクチュエーターの関節値を基に、前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節の関節値及び関節速度を計算して、前記ロボット装置の前記車輪部を前記車輪等価関節に置換してなる対向2輪等価モデルにおけるすべての関節値及び関節速度を設定するステップと、
前記運動目標を実現するための仮想力を求め、前記仮想力を実在力に変換して、前記対向2輪等価モデルにおける外力及びすべての関節への要求トルクを算出するステップと、
前記車輪等価関節への要求トルクを、前記車輪部の左右の駆動輪への要求トルクに変換するステップと、
得られた要求トルクに従って各関節についてトルク制御を行なうステップと、
を有することを特徴とするロボット装置の制御方法。
【請求項8】
ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置を制御するための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
前記上体部の各関節の角度及び角速度と前記車輪部の角度及び角速度からなるロボット装置の現在状態を観測し、前記ロボット装置の現在状態を、前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節に置換した対向2輪等価モデルに反映するロボット状態観測部、
前記対向2輪等価モデルの制御演算を行なう制御部、
前記制御部で算出された制御目標値の一部を前記車輪部の制御目標値に変換する変換部、
前記変換部で変換された前記車輪部の制御目標値に基づいて前記車輪部の関節駆動用アクチュエーターを制御するとともに、前記制御部で算出された制御目標値に基づいて前記車輪部以外の関節駆動用アクチュエーターを制御する関節制御部、
として機能させるためのコンピューター・プログラム。
【請求項1】
ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置であって、
前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節に置換した、前記ロボット装置全体を単一のマニピュレーター構造にモデル化した対向2輪等価モデルと、
前記上体部の各関節の角度及び角速度と前記車輪部の角度及び角速度からなるロボット装置の現在状態を観測し、前記ロボット装置の現在状態を前記対向2輪等価モデルに反映するロボット状態観測部と、
前記対向2輪等価モデルの制御演算を行なう制御部と、
前記制御部で算出された制御目標値の一部を前記車輪部の制御目標値に変換する変換部と、
前記変換部で変換された前記車輪部の制御目標値に基づいて前記車輪部の関節駆動用アクチュエーターを制御するとともに、前記制御部で算出された制御目標値に基づいて前記車輪部以外の関節駆動用アクチュエーターを制御する関節制御部と、
を具備することを特徴とするロボット装置。
【請求項2】
前記車輪等価関節は、前記ベース部の旋回方向回転自由度と前後方向並進自由度を有し、
前記ロボット状態観測部は、観測した前記車輪部の角度又は角速度から、前記ベース部の位置及び姿勢を算出する、
ことを特徴とする請求項1に記載のロボット装置。
【請求項3】
前記制御部は、前記ロボット装置の前記対向2輪等価モデルの各関節の目標関節力を算出し、
前記変換部は、前記車輪等価関節への目標関節力を前記車輪部の目標関節力に変換する、
ことを特徴とする請求項1に記載のロボット装置。
【請求項4】
前記制御部は、前記ロボット装置の運動目標を実現するために前記対向2輪等価モデルに作用する仮想的な力を算出し、前記仮想的な力と等価な目標関節力に変換する、
ことを特徴とする請求項3に記載のロボット装置。
【請求項5】
少なくとも一部の関節における関節駆動方向の作用力を検出する作用力検出手段を備え、
前記関節制御部は前記関節の力制御を行なう、
ことを特徴とする請求項1に記載のロボット装置。
【請求項6】
前記関節制御部は、目標関節力と、関節駆動方向の作用力と、関節駆動速度が与えられたときに、前記関節駆動用アクチュエーターが理想的に応答したことにより達成される関節加速度目標値の関係を規定した前記関節駆動用アクチュエーターの理想応答モデルに基づいて、前記関節駆動用アクチュエーターへの指示関節力を決定して、前記関節の力制御を行なう、
ことを特徴とする請求項5に記載のロボット装置。
【請求項7】
ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置の制御方法であって、
前記ロボット装置の運動目標を設定するステップと、
各関節駆動用アクチュエーターの関節値及び関節速度を取得するステップと、
左右の車輪駆動用アクチュエーターの関節値を基に、前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節の関節値及び関節速度を計算して、前記ロボット装置の前記車輪部を前記車輪等価関節に置換してなる対向2輪等価モデルにおけるすべての関節値及び関節速度を設定するステップと、
前記運動目標を実現するための仮想力を求め、前記仮想力を実在力に変換して、前記対向2輪等価モデルにおける外力及びすべての関節への要求トルクを算出するステップと、
前記車輪等価関節への要求トルクを、前記車輪部の左右の駆動輪への要求トルクに変換するステップと、
得られた要求トルクに従って各関節についてトルク制御を行なうステップと、
を有することを特徴とするロボット装置の制御方法。
【請求項8】
ベース部と、前記ベース部に取り付けられた、相互に対向するように駆動可能な対向2輪型の車輪部と、前記ベース部の上部に装備された、1以上の関節を連接して構成される上体部を有するロボット装置を制御するための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
前記上体部の各関節の角度及び角速度と前記車輪部の角度及び角速度からなるロボット装置の現在状態を観測し、前記ロボット装置の現在状態を、前記車輪部の自由度を前記ベース部の回転自由度と並進自由度で表現した車輪等価関節に置換した対向2輪等価モデルに反映するロボット状態観測部、
前記対向2輪等価モデルの制御演算を行なう制御部、
前記制御部で算出された制御目標値の一部を前記車輪部の制御目標値に変換する変換部、
前記変換部で変換された前記車輪部の制御目標値に基づいて前記車輪部の関節駆動用アクチュエーターを制御するとともに、前記制御部で算出された制御目標値に基づいて前記車輪部以外の関節駆動用アクチュエーターを制御する関節制御部、
として機能させるためのコンピューター・プログラム。
【図1A】
【図1B】
【図1C】
【図3】
【図7】
【図10】
【図11A】
【図11B】
【図11C】
【図11D】
【図12】
【図13】
【図14】
【図15】
【図2】
【図4】
【図5】
【図6】
【図8】
【図9】
【図1B】
【図1C】
【図3】
【図7】
【図10】
【図11A】
【図11B】
【図11C】
【図11D】
【図12】
【図13】
【図14】
【図15】
【図2】
【図4】
【図5】
【図6】
【図8】
【図9】
【公開番号】特開2010−188471(P2010−188471A)
【公開日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願番号】特願2009−35168(P2009−35168)
【出願日】平成21年2月18日(2009.2.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願日】平成21年2月18日(2009.2.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]