【文献】
米田 裕成 関山 浩介 長谷川 泰久 福田 敏男,重力モーメント考慮の姿勢制御によるマルチロコモーションロボットを用いての垂直梯子登り運動,日本機械学会論文集(C編),日本,75巻751号(2009-3),論文No.08-7035
【文献】
石黒 康裕 Yasuhiro Ishiguro Yasuhiro Ishiguro,人型ロボットの手足支持を用いたダイナミックな3次元的移動 Dynamic 3-dimensional Locomotion of a Humanoid Robot with Hand-foot Support Coordination,ロボティクス・メカトロニクス 講演会2014 講演論文集 Proceedings of the 2014 JSME Conference on Robotics and Mechatronics,一般社団法人 日本機械学会
(58)【調査した分野】(Int.Cl.,DB名)
基体と、該基体から延設された複数の可動リンクとを備え、各可動リンクの先端部と前記基体との間に設けられた関節の作動によって各可動リンクの先端部が前記基体に対して動くように構成された移動ロボットの制御装置であって、
前記移動ロボットに昇降対象の構造物を昇降させるとき、前記複数の可動リンクのうち、前記基体の上部から延設された1つ以上の可動リンクである上方側支持対象可動リンクの先端部と前記基体の下部から延設された1つ以上の可動リンクである下方側支持対象可動リンクの先端部とをそれぞれ該構造物に接触させて支持させ、且つ、前記上方側支持対象可動リンク及び下方側支持対象可動リンク以外の1つ以上の可動リンクである移動対象可動リンクの先端部をそれぞれ前記構造物から離反させた状態で、各移動対象可動リンクの先端部を目標支持位置姿勢に向かって移動させ、該目標支持位置姿勢にて該移動対象可動リンクの先端部を該構造物に接触させて支持させるという昇降用動作を含むように、該移動ロボットの各関節の作動を規定する動作目標を逐次決定する動作目標決定手段と、
前記決定された動作目標に応じて前記移動ロボットの各関節の作動を制御する関節制御手段と、
前記移動ロボットの前記昇降用動作における1つ以上の下方側支持対象可動リンクのそれぞれの先端部の実際の位置姿勢と前記動作目標における該下方側支持対象可動リンクの先端部の目標位置姿勢との偏差である位置姿勢偏差と、前記移動ロボットの前記昇降用動作における1つ以上の移動対象可動リンクのそれぞれの先端部の実際の位置姿勢と前記動作目標における該移動対象可動リンクの先端部の目標位置姿勢との偏差である位置姿勢偏差とのうちの少なくともいずれか一方を推定する偏差推定手段とを備え、
前記動作目標決定手段は、前記移動ロボットの前記昇降用動作における前記動作目標を逐次決定するとき、1つ以上の下方側支持対象可動リンクの先端部のそれぞれの前記基体に対する相対的な目標位置/姿勢、1つ以上の移動対象可動リンクのそれぞれの先端部を前記構造物に支持させようとする目標支持位置/姿勢とのうちの少なくともいずれかを前記推定された位置姿勢偏差に応じて調整するように前記動作目標を決定するように構成されていることを特徴とする移動ロボットの制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0007】
梯子もしくは脚立等の急勾配構造物の昇降をヒューマノイドロボットの如き移動ロボットに行わせる場合、基体の上部から延設された上方側支持対象可動リンクの先端部(例えば腕リンクのハンド部)と基体の下部から延設された下方側支持対象可動リンクの先端部(例えば脚リンクの足平部)とを急勾配構造物に接触させて支持させ、且つ、上記上方側支持対象可動リンク及び下方側支持対象可動リンクの以外の1つ以上の移動対象可動リンク(例えば、他の腕リンク及び脚リンクの一方又は両方)の先端部を急勾配構造物から離反させた状態で、該移動対象可動リンクの先端部を目標支持位置姿勢に向かって移動させ、該目標支持位置姿勢にて該移動対象可動リンクの先端部を該急勾配構造物に接触させて支持させるという昇降用動作が行われる。
【0008】
ここで、急勾配構造物での移動ロボットの昇降時においては、移動ロボットの全体重心が、通常、急勾配構造物から横方向に離れた位置に存在するため、重力に起因するモーメント(主にピッチ方向のモーメント等)が移動ロボットに作用しやすい。
【0009】
そのため、上記昇降用動作の実行中に、急勾配構造物に支持させた可動リンクの先端部の滑りが発生し、ひいては、移動ロボットの基体の実際の姿勢が、目標とする本来の姿勢からずれた姿勢になってしまう場合が多々ある。
【0010】
そして、このような場合には、急勾配構造物に支持させた下方側支持対象可動リンクの中間部、あるいは、移動対象可動リンク(特に基体の下部から延設される移動対象可動リンク)と急勾配構造物との間の干渉が発生しやすい。あるいは、移動対象可動リンクの先端部を、目標支持位置姿勢にて急勾配構造物に適切に支持させることができなくなる(例えば脚リンクの先端部の踏み外しを生じる)場合もある。
【0011】
本発明はかかる背景に鑑みてなされたものであり、梯子、脚立等の構造物の昇降を移動ロボットに行わせる場合に、可動リンクと構造物との干渉等を回避し得るように移動ロボットの運動を行うことを可能とする制御装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の移動ロボットの制御装置は、上記目的を達成するために、基体と、該基体から延設された複数の可動リンクとを備え、各可動リンクの先端部と前記基体との間に設けられた関節の作動によって各可動リンクの先端部が前記基体に対して動くように構成された移動ロボットの制御装置であって、
前記移動ロボットに昇降対象の構造物を昇降させるとき、前記複数の可動リンクのうち、前記基体の上部から延設された1つ以上の可動リンクである上方側支持対象可動リンクの先端部と前記基体の下部から延設された1つ以上の可動リンクである下方側支持対象可動リンクの先端部とをそれぞれ該構造物に接触させて支持させ、且つ、前記上方側支持対象可動リンク及び下方側支持対象可動リンク以外の1つ以上の可動リンクである移動対象可動リンクの先端部をそれぞれ前記構造物から離反させた状態で、各移動対象可動リンクの先端部を目標支持位置姿勢に向かって移動させ、該目標支持位置姿勢にて該移動対象可動リンクの先端部を該構造物に接触させて支持させるという昇降用動作を含むように、該移動ロボットの各関節の作動を規定する動作目標を逐次決定する動作目標決定手段と、
前記決定された動作目標に応じて前記移動ロボットの各関節の作動を制御する関節制御手段と、
前記移動ロボットの前記昇降用動作における1つ以上の下方側支持対象可動リンクのそれぞれの先端部の実際の位置姿勢と前記動作目標における該下方側支持対象可動リンクの先端部の目標位置姿勢との偏差である位置姿勢偏差と、前記移動ロボットの前記昇降用動作における1つ以上の移動対象可動リンクのそれぞれの先端部の実際の位置姿勢と前記動作目標における該移動対象可動リンクの先端部の目標位置姿勢との偏差である位置姿勢偏差とのうちの少なくともいずれか一方を推定する偏差推定手段とを備え、
前記動作目標決定手段は、前記移動ロボットの前記昇降用動作における前記動作目標を逐次決定するとき、1つ以上の下方側支持対象可動リンクの先端部のそれぞれの前記基体に対する相対的な目標位置/姿勢と、1つ以上の移動対象可動リンクのそれぞれの先端部を前記構造物に支持させようとする目標支持位置/姿勢とのうちの少なくともいずれかを前記推定された位置姿勢偏差に応じて調整するように前記動作目標を決定するように構成されていることを特徴とする(第1発明)。
【0013】
なお、本発明において、「位置姿勢」は、「位置」及び「姿勢」の組を意味する。また、「位置/姿勢」は、「位置」及び「姿勢」の少なくともいずれか一方(換言すれば、いずれか一方又は両方)を意味する。
【0014】
前記移動ロボットの昇降用動作においては、前記移動ロボットに作用する重力に起因するモーメントが該移動ロボットに作用しやすいために、前記構造物に支持させた前記下方側支持対象可動リンクの先端部、あるいは前記上方側支持対象可動リンクの先端部の滑りが発生しやすい。
【0015】
このような滑りが発生した場合に、前記下方側支持対象可動リンク又は移動対象可動リンクの先端部についての前記位置姿勢偏差(位置及び姿勢の少なくともいずれか一方についての偏差がゼロでない偏差)が発生し、該位置姿勢偏差が前記偏差推定手段により推定される。
【0016】
そして、前記動作目標決定手段は、前記移動ロボットの前記昇降用動作における前記動作目標を逐次決定するとき、1つ以上の下方側支持対象可動リンクの先端部のそれぞれの前記基体に対する相対的な目標位置/姿勢と、1つ以上の移動対象可動リンクのそれぞれの先端部を前記構造物に支持させようとする目標支持位置/姿勢とのうちの少なくともいずれかを前記推定された位置姿勢偏差に応じて調整するように前記動作目標を決定する。
【0017】
この場合、1つ以上の下方側支持対象可動リンクの先端部のそれぞれの前記基体に対する相対的な目標位置/姿勢を調整することで、結果的に、構造物に対する基体の位置/姿勢を調整できる。ひいては、構造物に対する基体の位置/姿勢が本来の適切な位置/姿勢から乖離するのを防止することが可能となる。
【0018】
また、1つ以上の移動対象可動リンクのそれぞれの先端部を前記構造物に支持させようとする目標支持位置/姿勢を調整することで、該移動対象可動リンクの先端部が、構造物に対する本来の適切な支持位置/姿勢から乖離した位置/姿勢で該構造物に支持されること、もしくは、該該移動対象可動リンクの先端部が、目標支持位置/姿勢に達したときに、構造物に対して非接触状態となってしまうことを防止することが可能となる。あるいは、該移動対象可動リンクの先端部が目標支持位置姿勢に達するまでの該先端部の移動軌道が、本来の適切な軌道から乖離するのを防止することが可能となる。
【0019】
従って、第1発明によれば、梯子、脚立等の構造物の昇降を移動ロボットに行わせる場合に、可動リンクと構造物との干渉等を回避し得るように移動ロボットの運動を行うことが可能となる。
【0020】
かかる第1発明では、前記偏差推定手段は、種々様々な手法で前記位置姿勢偏差を推定することが可能である。
【0021】
例えば、前記移動ロボットの基体の姿勢を検出するための姿勢センサが該移動ロボットに搭載されている場合には、前記偏差推定手段は、前記姿勢センサの出力により示される前記基体の姿勢の検出値と、前記動作目標における前記基体の姿勢の目標値との偏差だけ、前記動作目標の移動ロボットを、前記上方側支持対象可動リンクの先端部のそれぞれに前記構造物から作用する荷重の全体の作用中心点を回転中心として仮想的に回転させることにより得られる移動ロボットの各下方側支持対象可動リンクの先端部又は各移動対象可動リンクの先端部の位置姿勢を該下方側支持対象可動リンクの先端部又は該移動対象可動リンクの先端部の実際の位置姿勢として推定する手段を含む構成を採用できる(第2発明)。
【0022】
前記移動ロボットの昇降用動作において、重力に起因して移動ロボットに作用するモーメントに応じて、前記構造物に支持させた下方側支持対象可動リンクの先端部、あるいは、前記上方側支持対象可動リンクの先端部の滑りが発生した場合、該移動ロボットは、前記上方側支持対象可動リンクの先端部のそれぞれに前記構造物から作用する荷重の全体の作用中心点を回転中心として回転することで、下方側支持対象可動リンクの先端部、あるいは、前記上方側支持対象可動リンクの先端部の滑りが発生したものとみなすことができる。
【0023】
そして、この場合の移動ロボットの回転量は、前記姿勢センサの出力により示される前記基体の姿勢の検出値と、前記動作目標における前記基体の姿勢の目標値との偏差に一致もしくはほぼ一致する。
【0024】
そこで、第2発明では、前記偏差推定手段は、上記の如く前記下方側支持対象可動リンクの先端部又は前記移動対象可動リンクの先端部の実際の位置姿勢を推定する。この場合、前記下方側支持対象可動リンクの先端部又は前記移動対象可動リンクの先端部の実際の位置姿勢の推定値と目標位置姿勢とから前記位置姿勢偏差を推定できる。
【0025】
従って、第2発明によれば、前記位置姿勢偏差を推定するために必要となる前記下方側支持対象可動リンクの先端部又は前記移動対象可動リンクの先端部の実際の位置姿勢を、前記姿勢センサの出力を用いて適切に推定することができる。
【0026】
なお、前記上方側支持対象可動リンクの先端部のそれぞれに前記構造物から作用する荷重の全体の作用中心点の位置(前記回転中心の位置)は、任意の手法で特定すればよい。例えば、各上方側支持対象可動リンクの先端部に作用する荷重を検出するための力センサ(6軸力センサ等)が該上方側支持対象可動リンクに搭載されている場合には、該力センサの出力に基づいて、上記作用中心点(回転中心)の位置を特定できる。
【0027】
補足すると、前記位置姿勢偏差を推定するために必要となる前記下方側支持対象可動リンクの先端部又は前記移動対象可動リンクの先端部の実際の位置姿勢を推定する手法は、上記第2発明の手法に限られない。例えば、各下方側支持対象可動リンクの先端部に作用する荷重を検出するための力センサ(6軸力センサ等)が該下方側支持対象可動リンクに搭載されている場合には、該力センサの出力に基づいて、前記下方側支持対象可動リンクの先端部の実際の位置姿勢を推定することも可能である。
【0028】
さらに、例えば、いずれか1つの下方側支持対象可動リンクの先端部の実際の位置姿勢の推定値と、移動ロボットの各関節の変位量の検出値とから各移動対象可動リンクの先端部又は他の下方側支持対象可動リンクの先端部の実際の位置姿勢を推定することも可能である。
【0029】
上記第1発明又は第2発明は、前記移動ロボットが、前記基体の下部から延設された2つ以上の可動リンクと、前記基体の上部から延設された2つ以上の可動リンクとを備えており、前記昇降用動作が、前記基体の下部から延設された可動リンクのうちの一部の可動リンクを前記下方側支持対象可動リンク、前記基体の下部から延設された可動リンクのうちの残りの可動リンクを前記移動対象可動リンク、前記基体の上部から延設された可動リンクのうちの少なくとも1つの可動リンクを前記上方側支持対象可動リンクとして、前記移動対象可動リンクの先端部を移動させる昇降用動作である場合に好適である(第3発明)。
【0030】
すなわち、第3発明における前記昇降用動作では、前記基体の下部から延設された可動リンクのうちの一部の可動リンクだけが下方側支持対象可動リンクとなるため、該下方側支持対象可動リンクの先端部の滑りが発生しやすい。
【0031】
なお、上記「一部の可動リンク」というのは、基体の下部から延設された可動リンクの総数よりも少ない個数(1つ又は複数)の可動リンクを意味する。
【0032】
しかるに、前記動作目標決定部が、前記第1発明に関して説明した如く動作目標を決定することで、可動リンクと構造物との干渉等を回避し得るように移動ロボットの運動(構造物の昇降)を行うことを高い信頼性で行うことが可能となる。
【0033】
かかる第3発明では、前記動作目標決定手段は、前記推定された位置姿勢偏差が前記基体の下部が前記構造物に近づくように該基体の姿勢が傾斜することで発生する偏差である場合に、前記基体の下部から延設された可動リンクのうちの1つ以上の前記下方側支持対象可動リンクのそれぞれの前記基体に対する連結部と該下方側支持対象可動リンクの先端部との間の距離が、該下方側支持対象可動リンクについての前記位置姿勢偏差がゼロである場合よりも長くなるように前記基体に対する該下方側支持対象可動リンクの先端部の相対的な目標位置/姿勢を調整し、さらに、前記基体の下部から延設された可動リンクのうちの1つ以上の前記基体の下部から延設された可動リンクのうちの1つ以上の前記移動対象可動リンクのそれぞれの先端部の目標支持位置/姿勢が、該移動対象可動リンクについての前記位置姿勢偏差がゼロである場合よりも前記基体に近づくように、該目標支持位置/姿勢を調整するように構成されていることが好ましい(第4発明)。
【0034】
なお、前記位置姿勢偏差がゼロである場合というのは、前記偏差推定手段により推定した全ての可動リンク(下方側支持対象可動リンク又は移動対象可動リンク)についての位置及び姿勢の偏差がいずれもゼロである場合を意味する。
【0035】
この第4発明によれば、前記基体に対する下方側支持対象可動リンクの先端部の相対的な目標位置/姿勢を上記の如く調整することで、基体の下部が構造物から離反する方向に動かされることとなるため、構造物に対する基体の姿勢を本来の適切な姿勢に近づけることができる。
【0036】
さらに、前記基体の下部から延設された前記移動対象可動リンクの先端部の目標支持位置/姿勢を調整することで、該移動対象可動リンクの先端部が構造物に到達するときの該先端部の位置/姿勢を本来の適切な位置/姿勢に近づけることができる。また、該移動対象可動リンクの先端部が構造物に到達するまでの該先端部の移動軌道が、構造物に近づき過ぎないようにすることも可能となる。
【0037】
従って、可動リンクと構造物との干渉等を回避することを高い信頼性で適切に行うことができる。
【発明を実施するための形態】
【0039】
本発明の一実施形態を
図1〜
図4を参照して以下に説明する。
【0040】
図1を参照して、本実施形態の移動ロボット1は、一例として、人型のロボットである。この移動ロボット1(以降、単にロボット1ということがある)は、上体に相当する基体2と、基体2から延設された複数の可動リンクとしての左右一対の(2つの)脚リンク3,3及び左右一対の(2つの)腕リンク4,4と、頭部5とを備える。
【0041】
各脚リンク3は、基体2の下部から延設されている。各脚リンク3は、大腿部11、下腿部12、足平部13にそれぞれ相当する要素リンクを、基体2側から順番に、股関節14、膝関節15、足首関節16を介して連結して構成されている。
【0042】
そして、各脚リンク3の先端部たる足平部13と基体2との間の関節14,15,16は、本実施形態では、該脚リンク3の足平部13が、基体2に対して例えば6自由度の運動自由度を有するように構成されている。
【0043】
例えば、股関節14は、総計3軸の回転自由度を有するように3つの要素関節(図示省略)により構成される。膝関節15は、1軸の回転自由度を有するように単一の要素関節(図示省略)により構成される。足首関節16は、総計2軸の回転自由度を有するように2つの要素関節(図示省略)により構成される。なお、要素関節は、1軸の回転自由度を有する関節である。
【0044】
各腕リンク4は、基体2の上部から延設されている。各腕リンク4は、上腕部21、前腕部22、ハンド部23にそれぞれ相当する要素リンクを、基体2側から順番に、肩関節24、肘関節25、手首関節26を介して連結して構成されている。
【0045】
そして、各腕リンク4の先端部たるハンド部23と基体2との間の関節24,25,26は、本実施形態では、各腕リンク4のハンド部23が、基体2に対して例えば6自由度を有するように構成されている。
【0046】
例えば、肩関節24は、総計3軸の回転自由度を有するように3つの要素関節(図示省略)により構成される。肘関節25は、1軸の回転自由度を有するように単一の要素関節(図示省略)により構成される。手首関節26は、総計2軸の回転自由度を有するように2つの要素関節(図示省略)により構成される。
【0047】
また、各腕リンク4のハンド部23は、本実施形態では、物体の把持を行うことができるように構成されている。例えば、各ハンド部23は、適宜のクランプ機構、あるいは、人の手指と同様の動作を行い得る複数の指機構等により構成される。
【0048】
補足すると、本実施形態では、各脚リンク3は6自由度の運動自由度を有するように構成されているが、7自由度以上の運動自由度を有するように構成されていてもよい。このことは、各腕リンク4についても同様である。また、各脚リンク3及び各腕リンク4のそれぞれは、回転型の関節に限らず、直動型の関節を含んでいてもよい。
【0049】
頭部5は、基体2の上端部に首関節31を介して取り付けられている。首関節31は、1軸、2軸、又は3軸の回転自由度を有するように構成される。なお、頭部5は、省略されていてもよい。
【0050】
以上がロボット1の機構的な構成の概要である。
【0051】
次に、ロボット1に動作制御に関する構成を説明する。
【0052】
図2に示すように、ロボット1には、該ロボット1の動作制御を行う制御装置40と、各関節(要素関節)をそれぞれ駆動する関節アクチュエータ41と、各ハンド部23の把持動作を行わせるためのハンド部駆動アクチュエータ49と、所要の各種センサとが搭載されている。
【0053】
センサとしては、ロボット1の基体2の姿勢を検出するための姿勢センサ42と、ロボット1の各関節(要素関節)の変位量(回転角)を検出するための関節変位センサ43と、ロボット1の視覚センサとしてのカメラ44と、各脚リンク3の足平部13が接触対象の物体から受ける外力(並進力及びモーメント)を検出するための力センサ45と、各腕リンク4のハンド部23が接触対象の物体から受ける外力(並進力及びモーメント)を検出するための力センサ46とが搭載されている。
【0054】
姿勢センサ42は、例えばストラップダウン方式で基体2の姿勢(空間的な向き)を検出し得るように基体2に搭載されたセンサであり、3軸の角速度を検出するジャイロセンサと3軸の並進加速度を検出する加速度センサとから構成される。
【0055】
カメラ44は、例えばステレオカメラにより構成され、
図1に示す如く頭部5に搭載されている。なお、カメラ44の代わりに、又はカメラ44に加えて、例えば走査型のレーザ式測距センサ等の測距センサがロボット1に搭載されていてもよい。また、カメラ44は、基体2に搭載されていてもよい。
【0056】
関節変位センサ43は、要素関節毎に備えられ、ロータリエンコーダ、ポテンショメータ等の回転角センサにより構成される。
【0057】
力センサ45は、各脚リンク3毎に備えられ、例えば
図1に示す如く各脚リンク3の足首関節16と足平部13との間に介装された6軸力センサにより構成される。また、力センサ46は、各腕リンク4毎に備えられ、
図1に示す如く各腕リンク4の手首関節26とハンド部23との間に介装された6軸力センサにより構成される。
【0058】
関節アクチュエータ41は、要素関節毎に備えられ、電動モータあるいは油圧アクチュエータにより構成される。
【0059】
ハンド部駆動アクチュエータ49は、ハンド部23毎に備えられ、電動モータあるいは油圧アクチュエータにより構成される。なお、ハンド部駆動アクチュエータ49は、各ハンド部23毎に、複数のアクチュエータにより構成されていてもよい。
【0060】
制御装置40は、CPU、RAM、ROM、インターフェース回路等を含む電子回路ユニットにより構成され、上記の各センサの検出信号が入力される。
【0061】
この制御装置40は、実装されるプログラムを実行することにより実現される機能、又は、ハードウェア構成により実現される機能として、ロボット1の各関節の作動を規定する動作目標を逐次決定する動作目標決定部51と、該動作目標に応じて関節アクチュエータ41を制御する関節制御部52とを備える。
【0062】
動作目標決定部51が逐次決定する動作目標は、本実施形態では、各脚リンク3の足平部13及び各腕リンク4のハンド部23のそれぞれの目標位置姿勢と、基体2の目標位置姿勢と、頭部5の目標姿勢とから構成される。
【0063】
ここで、各足平部13等、ロボット1の任意の部位の位置は、該部位のあらかじめ定められた代表点の位置、該部位の姿勢は、該部位の空間的な向きを意味する。
【0064】
そして、ロボット1の任意の部位の目標位置姿勢は、該部位の位置の目標値(目標位置)と該部位の姿勢の目標値(目標姿勢)との組を意味する。
【0065】
なお、本実施形態では、各足平部13、各ハンド部23及び基体2の目標位置姿勢は、ロボット1の動作環境の床等に対して固定して設定されるグローバル座標系で見た位置及び姿勢の目標値として表現される。また、頭部5の目標姿勢は、基体2に対して固定して設定されるローカル座標系で見た頭部5の相対的な姿勢の目標値として表現される。
【0066】
また、動作目標決定部51が逐次決定する動作目標は、ロボット1の実際の動作状況に応じて基準の動作目標を適宜修正することで決定される。
【0067】
ここで、基準の動作目標は、ロボット1に所要の運動を行わせるための基本指針の動作目標である。この基準の動作目標は、本実施形態では、各脚リンク3の足平部13及び各腕リンク4のハンド部23のそれぞれの基準の目標位置姿勢の軌道と、基体2の基準の目標位置姿勢の軌道と、頭部5の基準の目標姿勢の軌道とから構成される。なお、軌道は、瞬時値(所定の制御処理周期毎の瞬時値)の時系列を意味する。
【0068】
該基準の動作目標は、ロボット1の実際の動作が、想定された環境下で該基準の動作目標通りに行われると仮定した場合に、該ロボット1が所要の運動を適切に行い得るように作成される。
【0069】
関節制御部52は、動作目標決定部51が決定した動作目標(瞬時値)から、ロボット1の逆運動学の演算処理によって、ロボット1の各関節(要素関節)の目標変位量(回転角の目標値)を逐次決定する。そして、各関節の実際の変位量(関節変位センサ43による検出値)を目標変位量に一致させるように関節アクチュエータ41をフィードバック制御する。
【0070】
さらに、関節制御部52は、各腕リンク4のハンド部23を後述する構造物に支持させる場合等に、該ハンド部23の把持動作を行わせるように、ハンド部駆動アクチュエータ49を制御する。
【0071】
なお、動作目標決定部51及び関節制御部52は、それぞれ本発明における動作目標決定手段、関節制御手段に相当する。また、動作目標決定部51は、本発明における偏差推定手段に相当する偏差推定部53としての機能を含んでいる。
【0072】
次に、本実施形態のロボット1の作動制御を具体的に説明する。以降の説明では、ロボット1に昇降対象の構造物の一例としての梯子を昇降させる(昇らせる又は降らせる)場合を主要例としてロボット1の作動制御を説明する。
【0073】
ロボット1に梯子を昇降させる場合、制御装置40は、カメラ44の撮像画像等を基に、昇降対象の梯子の位置及び姿勢等に関する構造物情報を取得する。この構造物情報は、梯子の位置及び姿勢、梯子の長さ及び幅、梯子における各踏ざんの位置、各踏ざんの形状、外径等を特定し得る情報である。
【0074】
なお、当該構造物情報の全部又は一部を、ロボット1の外部のサーバとの通信によって取得し、あるいは、ロボット1にあらかじめ記憶保持された地図データ等から取得することも可能である。
【0075】
そして、制御装置40は、動作目標決定部51により、ロボット1の基準の動作目標を生成する。
【0076】
この場合、動作目標決定部51は、ロボット1が梯子を昇降する動作を開始する前のタイミング、あるいは、梯子の昇降途中の所定のタイミング等において、取得した構造物情報に基づいて認識される梯子を、ロボット1に昇降させるための基準の動作目標(現在時刻以後の所定の期間分の基準の動作目標)を、あらかじめ定められた規則に従って生成する。
【0077】
この場合、動作目標決定部51が生成する基準の動作目標は、例えば、両方の腕リンク4,4のハンド部23,23と、一方の脚リンク3の足平部13とを梯子に接触させて支持させ、且つ、他方の脚リンク3の足平部13を梯子から離反させた状態(空中に浮かせた状態)で、該他方の脚リンク3の足平部13を目標支持位置姿勢に向かって移動させ、該目標支持位置姿勢にて該足平部13を梯子の踏ざんに接触させて支持させるという昇降用動作(以降、脚リンク移動昇降用動作という)と、両方の脚リンク3,3の足平部13,13と、一方の腕リンク4のハンド部23とを梯子に接触させて支持させ、且つ、他方の腕リンク4のハンド部23を梯子から離反させた状態(空中に浮かせた状態)で、該他方の腕リンク4のハンド部23を目標支持位置姿勢に向かって移動させ、該目標支持位置姿勢にて該ハンド部23を梯子の踏ざん(又は支柱)に接触させて支持させるという昇降用動作(以降、腕リンク移動昇降用動作という)とを含むように生成される。
【0078】
ここで、各足平部13の目標支持位置姿勢は、該足平部13を梯子に接触させて支持させるタイミングでの該足平部13の目標位置姿勢を意味する。このことは、各ハンド部23の目標支持位置姿勢についても同様である。
【0079】
本実施形態では、各足平部13の目標支持位置姿勢は、より詳しくは、該足平部13の底面を梯子の踏ざんに接地させた状態(載せた状態)での該足平部13の目標位置姿勢である。また、各ハンド部23の目標支持位置姿勢は、より詳しくは、該ハンド部23により梯子の踏ざん(又は支柱)を把持した状態での該ハンド部23の目標位置姿勢を意味する。
【0080】
以降の説明では、梯子に支持させる足平部13を有する脚リンク3を支持対象脚リンク3、移動させる足平部13を有する脚リンク3を移動対象脚リンク3という。そして、支持対象脚リンク3の足平部13と移動対象脚リンク3の足平部13とをそれぞれ、支持対象足平部13、移動対象足平部13ということがある。
【0081】
同様に、梯子に支持させるハンド部23を有する腕リンク4を支持対象腕リンク4、移動させるハンド部23を有する腕リンク4を移動対象腕リンク4という。そして、支持対象腕リンク4のハンド部23と移動対象腕リンク4のハンド部23とをそれぞれ、支持対象ハンド部23、移動対象ハンド部23ということがある。
【0082】
また、基準の動作目標における基体2の目標位置姿勢は、例えば、梯子の厚さ方向(梯子の支柱と踏みざんとにほぼ直交する方向)での基体2と梯子との間の距離がほぼ一定となり、また、基体2の体幹軸が、梯子の厚さ方向の表面(ロボット1の基体2寄りの面)とほぼ平行となる一定姿勢に保たれるように生成される。
【0083】
ただし、基体2の目標位置姿勢は、基体2と梯子との間の距離、あるいは、梯子に対する基体2の姿勢等が時間的に変化するように生成してもよい。
【0084】
また、基準の動作目標における頭部5の目標姿勢(基体2に対する相対的な目標姿勢)は、例えば基体2に対して一定の姿勢に維持されるように決定される。ただし、頭部5の目標姿勢は、基体2に対して頭部5の姿勢が時間的に変化するように生成してもよい。
【0085】
図3(a)は、ロボット1が基準の動作目標に従って梯子Aを昇る途中における脚リンク移動昇降用動作の一例形態を示している。図示例では、ロボット1は、両方の腕リンク4,4のハンド部23,23により梯子Aの1つの踏ざんa1を把持すると共に、ロボット1の一方の脚リンク3の足平部13を1つの踏ざんa2上に支持させた状態で、梯子から離反させた他方の脚リンク3の足平部13を踏ざんa2の1つ上の踏ざんa3上の目標支持位置姿勢に向かって移動させ、該他方の脚リンク3の足平部13を踏ざんa3上に支持させようとする状態を表している。
【0086】
また、
図3(a)では、基体2の基準の目標姿勢は、例えば基体2の体幹軸が鉛直方向を向く姿勢とされている。
【0087】
なお、
図3(a)(あるいは、後述の
図3(b))において、参照符号bを付したものは、梯子Aの両側の支柱のうちの片側の支柱を示している。また、
図3(a),(b)では、ロボット1の頭部5の記載を省略している。
【0088】
補足すると、ロボット1に梯子A等の構造物を昇降させる場合の基準の動作目標は、前記脚リンク移動昇降用動作及び腕リンク移動昇降用動作の代わりに、あるいは、脚リンク移動昇降用動作及び腕リンク移動昇降用動作に加えて、一方の腕リンク4のハンド部23と、一方の脚リンク3の足平部13とを梯子に接触させて支持させ、且つ、他方の腕リンク4のハンド部23と他方の脚リンク3の足平部13とを梯子から離反させた状態で、当該他方の腕リンク4のハンド部23と当該他方の脚リンク3の足平部13とをそれぞれの目標支持位置姿勢に向かって移動させ、各目標支持位置姿勢にて該ハンド部23及び該足平部13を梯子に接触させて支持させるという昇降用動作(以降、脚リンク・腕リンク移動昇降用動作という)を含んでいてもよい。
【0089】
また、基準の動作目標は、あらかじめ作成したものをロボット1の記憶装置に記憶保持しておいてもよい。あるいは、外部のサーバで基準の動作目標を作成し、その動作目標を、外部のサーバから随時、無線通信によってロボット1に転送するようにしてもよい。
【0090】
また、基準の動作目標は、ロボット1による梯子A等の構造物の昇降を行いながら、リアルタイムで逐次生成するようにしてもよい。
【0091】
なお、以降の本実施形態の説明は、脚リンク移動昇降用動作と腕リンク移動昇降用動作とをロボット1に行わせる場合を主要例として説明するが、脚リンク・腕リンク移動昇降用動作を行う場合についても補足的な説明を行う。
【0092】
上記脚リンク移動昇降用動作、腕リンク移動昇降用動作、及び脚リンク・腕リンク移動昇降用動作は、本発明における昇降用動作に相当する。なお、前記第3発明における昇降用動作に相当するものは、脚リンク移動昇降用動作、腕リンク移動昇降用動作、及び脚リンク・腕リンク移動昇降用動作である。
【0093】
そして、脚リンク移動昇降用動作では、両方の腕リンク4,4が本発明における上方側支持対象可動リンクに相当し、脚リンク3,3のうちの一方である支持対象脚リンク3と他方である移動対象脚リンク3とがそれぞれ本発明における下方側支持対象可動リンク、移動対象可動リンクに相当する。
【0094】
また、腕リンク移動昇降用動作では、両方の脚リンク3,3が本発明における下方側支持対象可動リンクに相当し、腕リンク4,4のうちの一方である支持対象腕リンク4と他方である移動対象腕リンク4とがそれぞれ本発明における上方側支持対象可動リンク、移動対象可動リンクに相当する。
【0095】
また、脚リンク・腕リンク移動昇降用動作では、両方の腕リンク4,4の一方である支持対象腕リンク4と両方の脚リンク3,3の一方である支持対象脚リンク3とがそれぞれ本発明における上方側支持対象可動リンク、下方側支持対象可動リンクに相当し、両方の腕リンク4,4の他方である移動対象腕リンク4と両方の脚リンク3,3の他方である移動対象脚リンク3とが本発明における移動対象可動リンクに相当する。
【0096】
次に動作目標決定部51は、基準の動作目標を用いて、ロボット1の実際の動作制御のための動作目標(関節制御部52に出力する動作目標)を所定の制御処理周期で逐次決定する。このとき、関節制御部52が、当該動作目標に従ってロボット1の各関節アクチュエータ41を制御する(ひいては各要素関節の変位量を制御する)と共に各ハンド部駆動アクチュエータ49を制御する(ひいては各ハンド部23の把持動作を制御する)ことで、ロボット1の実際の動作(梯子の昇降)が行われる。
【0097】
この場合、動作目標決定部51が各制御処理周期における動作目標を決定する処理は、以下に説明する如く実行される。
【0098】
ここで、ロボット1が動作目標に従って梯子の昇降を行っている状況を想定する。この状況において、
図3(a)に例示されるように、ロボット1の全体重心Gは、梯子Aから水平方向に離反した状態となる。このため、ロボット1には、その全体重心Gに作用する重力に起因するモーメント(主にピッチ方向のモーメント)が作用し易い。
【0099】
なお、本実施形態の説明において、ピッチ方向は、ロボット1のほぼ左右方向に延在する水平軸周りの方向、ロール方向は、ロボット1のほぼ前後方向に延在する水平軸周りの方向、ヨー方向はほぼ上下方向(鉛直方向)に延在する軸周りの方向である。
【0100】
そして、特に、ロボット1の両方の脚リンク3,3のうちの一方の脚リンク3(支持対象脚リンク3)の足平部13だけを梯子に支持させる前記脚リンク移動昇降用動作(又は前記脚リンク・腕リンク移動昇降用動作)においては、上記モーメントに起因して、支持対象ハンド部23及び支持対象足平部13の梯子に対する滑りが発生しやすい。
【0101】
なお、ロボット1の両方の脚リンク3,3の足平部13,13を梯子に支持させる前記腕リンク移動昇降用動作においても、上記モーメントに起因して、支持対象ハンド部23及び支持対象足平部13の梯子に対する滑りが生じる場合もある。
【0102】
そして、かかる滑りが発生すると、梯子に支持させたハンド部23(支持対象ハンド部23)に該梯子から作用する荷重の全体の作用中心点を支点(回転中心)として、ロボット1の全体の回転(主に、ピッチ方向の回転)が発生する。ひいては、ロボット1の全体の姿勢が動作目標の姿勢からずれることとなる。
【0103】
図3(b)は、例えば脚リンク移動昇降用動作の実行中に、支持対象ハンド部23,23及び支持対象足平部13の滑りが発生し、ひいては、ロボット1の回転が発生した状況を例示している。この図示例は、角度θだけ、ロボット1が動作目標の状態からピッチ方向に回転した状態である。ロボット1に梯子Aの如き構造物を昇降させる場合には、上記の如くロボット1が動作目標の状態から回転する状況がしばしば発生する。
【0104】
また、腕リンク4,4のうちの一方の腕リンク4,4のハンド部23だけを梯子A等の構造物に支持させる腕リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中には、ロボット1が動作目標の状態からロール方向あるいはヨー方向等に回転する状況が発生する場合もある。
【0105】
なお、脚リンク移動昇降用動作、腕リンク移動昇降用動作、脚リンク・腕リンク移動昇降用動作のいずれの昇降用動作でも、梯子A等の構造物に支持させたハンド部23もしくは足平部13等の弾性変形に応じて、ロボット1が動作目標の状態から回転する状況が発生する場合もある。
【0106】
このようにロボット1の回転が生じると、基体2の下部が梯子に近づくために、支持対象脚リンク3あるいは移動対象脚リンク3あるいは移動対象腕リンク4と梯子との干渉が生じやすくなる。
【0107】
そこで、本実施形態では、動作目標決定部51は、脚リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中に、支持対象足平部13の実際の位置姿勢と目標位置姿勢との偏差を逐次推定し、それに応じて、動作目標を基準の動作目標から適宜修正するように、各制御処理周期での動作目標を決定する。
【0108】
また、本実施形態では、動作目標決定部51は、腕リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中に、移動対象ハンド部23の実際の位置姿勢と目標位置姿勢との偏差を推定し、それに応じて動作目標を基準の動作目標から適宜修正するように、各制御処理周期での動作目標を決定する。
【0109】
具体的には、動作目標決定部51は、脚リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中の各制御処理周期において、
図4のブロック図に示す処理を実行することで、ロボット1の動作目標を基準の動作目標から修正するための操作量(以降、回転対応操作量という)を決定する。
【0110】
また、動作目標決定部51は、腕リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中の各制御処理周期において、
図5のブロック図に示す処理を実行することで、回転対応操作量を決定する。
【0111】
なお、脚リンク・腕リンク移動昇降用動作では、動作目標決定部51は、
図4及び
図5のブロック図に示す処理の一方又は両方を実行する。
図4及び
図5のブロック図に示す処理の両方を実行する場合には、それぞれの処理により決定した回転対応操作量を合成してなる操作量に応じて動作目標の修正が行われる。
【0112】
まず、
図4のブロック図に示す処理を説明する。
図4を参照して、動作目標決定部51は、脚リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中の各制御処理周期において、姿勢センサ42の出力により示される基体2の現在の姿勢の検出値と、各腕リンク4の力センサ46の出力により示される各ハンド部23の現在の荷重(各ハンド部23がこれを支持させた梯子から受ける並進力及びモーメント)の検出値と、前回の制御処理周期で決定した支持対象足平部13の目標位置姿勢である支持対象足平部前回目標位置姿勢と、前回の制御処理周期で決定した各ハンド部23の目標位置姿勢であるハンド部前回目標位置姿勢と、前回の制御処理周期で決定した基体2の目標姿勢である基体前回目標姿勢とを取得する。
【0113】
上記支持対象足平部前回目標位置姿勢と、ハンド部前回目標位置姿勢と、基体前回目標姿勢とは、現在時刻以前の最新の目標値を意味する。
【0114】
なお、2つの腕リンク4,4のうちの一方の腕リンク4のハンド部23だけを梯子に支持させる脚リンク・腕リンク移動昇降用動作を実行する場合には、ハンド部23の荷重の検出値と、ハンド部前回目標位置姿勢とに関しては、梯子に支持させている一方の腕リンク4についてのみ、ハンド部23の荷重の検出値と、ハンド部前回目標位置姿勢とを取得するようにしてもよい。
【0115】
そして、動作目標決定部51は、基体姿勢偏差算出部61の処理と回転中心決定部62の処理とを実行する。
【0116】
基体姿勢偏差算出部61の処理では、動作目標決定部51は、基体前回目標姿勢と基体2の現在の姿勢の検出値との偏差(回転角偏差)である基体姿勢偏差を算出する。
【0117】
なお、本実施形態では、各制御処理周期での基体の目標位置姿勢は、該制御処理周期の時刻での基体2の基準の目標位置姿勢に一致するように決定される。従って、基体姿勢偏差は、基体前回目標姿勢の代わりに、前回の制御処理周期の時刻での基体2の基準の目標姿勢を用いて算出してもよい。
【0118】
回転中心決定部62の処理では、動作目標決定部51は、各ハンド部23の荷重の検出値と各ハンド部23についてのハンド部前回目標位置姿勢とから、両ハンド部23,23にそれぞれ作用する荷重の全体(合成荷重)の作用中心点(荷重分布の重心点)の位置を算出し、その位置を、ロボット1の回転中心として決定する。
【0119】
この場合、脚リンク移動昇降用動作では、梯子に対する一方のハンド部23の接触面(把持箇所)と、他方のハンド部23の接触面(把持箇所)との間の点が回転中心として決定される。また、脚リンク・腕リンク移動昇降用動作では、両ハンド部23のうち、梯子に支持させたハンド部23の接触面内の点が回転中心として決定される。
【0120】
次に、動作目標決定部51は、支持対象足平部13の実際の位置姿勢である支持対象足平部実位置姿勢を推定する支持対象足平部実位置姿勢推定部63の処理を実行する。
【0121】
この支持対象足平部実位置姿勢推定部63の処理では、動作目標決定部51は、支持対象足平部前回目標位置姿勢を、回転中心決定部62の処理で決定した回転中心の周りに、基体姿勢偏差の回転角だけ、仮想的に回転させてなる位置姿勢を、支持対象足平部実位置姿勢として推定する。
【0122】
これにより、基体姿勢偏差が、回転中心決定部62の処理で決定した回転中心の周りのロボット1の回転によって発生したものとみなして、支持対象足平部実位置姿勢が推定される。
【0123】
次いで、動作目標決定部51は、支持対象足平部前回目標位置姿勢と支持対象足平部実位置姿勢の推定値との偏差(以降、支持対象足平部位置姿勢偏差という)を偏差演算部64で算出する。
【0124】
以上の基体姿勢偏差算出部61、回転中心決定部62、支持対象足平部実位置姿勢推定部63及び偏差演算部64の処理によって、支持対象足平部位置姿勢偏差の推定値が所定の制御処理周期で逐次算出される。
【0125】
なお、
図4のブロック図の処理では、基体姿勢偏差算出部61、回転中心決定部62、支持対象足平部実位置姿勢推定部63及び偏差演算部64によって、本発明における偏差推定手段に相当する偏差推定部53が構成される。そして、上記支持対象足平部位置姿勢偏差が本発明における位置姿勢偏差に相当する。
【0126】
動作目標決定部51は、以上の如く算出した支持対象足平部位置姿勢偏差の推定値を、ノイズ等に起因する高周波成分を除去するためのフィルタリング処理を実行するローパスフィルタ65に入力し、さらに、該ローパスフィルタ65の出力を、リミッタ66に入力することで、支持対象足平部位置姿勢偏差の推定値を所定の上限値及び下限値の間の範囲内に制限するリミット処理を実行する。
【0127】
そして、動作目標決定部51は、このようにローパスフィルタ65及びリミッタ66の処理を施した後の支持対象足平部位置姿勢偏差の推定値に応じて、ロボット1の動作目標を基準の動作目標から修正するための回転対応操作量(補正量)を決定する処理を操作量決定部67により実行する。
【0128】
操作量決定部67は、本実施形態では、各脚リンク3又は各腕リンク4と梯子との干渉が発生するのを防止しつつ、基体2の実際の姿勢が目標姿勢から乖離するのを抑制するように、1つ以上の可動リンクの先端部(足平部13又はハンド部23)の目標位置/姿勢(目標位置及び目標姿勢のうちの少なくともいずれか一方)を調整する(基準の動作目標から修正する)ための操作量を回転対応操作量として決定する。
【0129】
この場合、操作量決定部67は、支持対象足平部位置姿勢偏差の推定値に応じた量だけ、基体2に対する支持対象足平部13の相対位置/姿勢(相対位置及び相対姿勢のうちの少なくともいずれか一方)と、移動対象足平部13の目標支持位置/姿勢(目標支持位置及び目標支持姿勢のうちの少なくともいずれか一方)とのうちの少なくともいずれか一方を、基準の動作目標における位置/姿勢からずらすにように、回転対応操作量を決定する。
【0130】
そのため、操作量決定部67は、支持対象足平部13の目標位置/姿勢の補正量(現在の制御処理周期で決定する目標位置/姿勢の補正量)と、移動対象足平部13の到達目標の位置たる目標支持位置/姿勢の補正量とのうちの少なくともいずれか一方を、上記回転対応操作量として決定する。
【0131】
なお、かかる回転対応補正量は、支持対象足平部位置姿勢偏差の推定値から、あらかじめ定められた演算式又はマップ等により決定される。また、支持対象足平部位置姿勢偏差の推定値がゼロ(もしくはほぼゼロ)である場合には、該回転対応操作量はゼロとされる。
【0132】
例えば、
図3(b)に示すように、支持対象ハンド部23,23及び支持対象足平部13の滑りによって、基体2の下端部が、梯子Aにより近づくように、基体2が動作目標の姿勢からピッチ方向に傾いた状態を想定する。この状態では、支持対象足平部13の実際の位置は、目標位置よりも梯子Aの厚さ方向で奥側(ロボット1から見て奥側)にずれた状態となる。
【0133】
このような状態では、操作量決定部67は、支持対象脚リンク3と基体2との連結部(股関節14)と、支持対象足平部13との間の距離が基準の動作目標における当該距離よりも大きくなるように(ひいては、基体2の下端部を梯子Aから離すように)、支持対象足平部13の目標位置/姿勢の補正量(現在の制御処理周期での補正量)を決定する。該補正量は、支持対象足平部位置姿勢偏差の推定値の大きさ(位置偏差及び姿勢偏差の各成分の大きさ)の度合に応じて決定される。
【0134】
さらに操作量決定部67は、移動対象足平部13の到達目標の位置姿勢たる目標支持位置姿勢での足平部13を、基準の動作目標における目標支持位置姿勢での足平部13よりも基体2に近づけるように、移動対象脚リンク3の足平部13の目標支持位置/姿勢の補正量を決定する。該補正量は、支持対象足平部位置姿勢偏差の推定値の大きさ(位置偏差及び姿勢偏差の各成分の大きさ)の度合に応じて決定される。
【0135】
このように、支持対象足平部13の目標位置/姿勢の補正量と、移動対象足平部13の目標支持位置/姿勢の補正量とが回転対応操作量として、支持対象足平部位置姿勢偏差の推定値に応じて決定される。
【0136】
なお、支持対象足平部位置姿勢偏差の推定値の大きさ(位置偏差及び姿勢偏差の各成分の大きさ)の度合等によって、支持対象足平部13の目標位置/姿勢と、移動対象足平部13の目標支持位置/姿勢とのいずれか一方だけの補正量を決定する(他方の補正量をゼロとする)ようにしてもよい。
【0137】
また、脚リンク・腕リンク移動昇降用動作においては、支持対象足平部13の目標位置/姿勢と、移動対象足平部13の目標支持位置/姿勢とのうちの一方又は両方の補正量に加えて、あるいは、該一方又は両方の補正量の代わりに、移動対象腕リンク4の目標支持位置/姿勢の補正量を回転対応操作量として、支持対象足平部位置姿勢偏差の推定値に応じて決定することも可能である。
【0138】
次に、
図5のブロック図に示す処理を説明する。なお、この処理は、
図4のブロック図の処理と一部の処理だけが相違するので、
図4のブロック図の処理と同一の事項については、詳細な説明を省略する。
【0139】
図5を参照して、動作目標決定部51は、腕リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中の各制御処理周期において、姿勢センサ42の出力により示される基体2の現在の姿勢の検出値と、支持対象腕リンク4の力センサ46の出力により示される支持対象ハンド部23の現在の荷重の検出値と、前回の制御処理周期で決定した移動対象ハンド部23の目標位置姿勢である移動対象ハンド部前回目標位置姿勢と、前回の制御処理周期で決定した支持対象ハンド部23の目標位置姿勢である支持対象ハンド部前回目標位置姿勢と、前回の制御処理周期で決定した基体2の目標姿勢である基体前回目標姿勢とを取得する。
【0140】
上記支持対象ハンド部前回目標位置姿勢と、移動対象ハンド部前回目標位置姿勢と、基体前回目標姿勢とは、現在時刻以前の最新の目標値を意味する。
【0141】
そして、動作目標決定部51は、基体姿勢偏差算出部71の処理と回転中心決定部72の処理とを実行する。
【0142】
基体姿勢偏差算出部71の処理は、
図4の基体姿勢偏差算出部61の処理と同じである。
【0143】
また、回転中心決定部72の処理では、動作目標決定部51は、支持対象ハンド部23の荷重の検出値と支持対象ハンド部前回目標位置姿勢とから、支持対象ハンド部23に作用する荷重の全体の作用中心点(荷重分布の重心点)の位置を算出し、その位置を、ロボット1の回転中心として決定する。この場合、支持対象ハンド部23の接触面内の点が回転中心として決定される。
【0144】
次に、動作目標決定部51は、移動対象ハンド部23の実際の位置姿勢である移動対象ハンド部実位置姿勢を推定する移動対象ハンド部実位置姿勢推定部73の処理を実行する。
【0145】
この移動対象ハンド部実位置姿勢推定部73の処理では、動作目標決定部51は、移動対象ハンド部前回目標位置姿勢を、回転中心決定部72の処理で決定した回転中心の周りに、基体姿勢偏差の回転角だけ、仮想的に回転させてなる位置姿勢を、移動対象ハンド部実位置姿勢として推定する。
【0146】
これにより、基体姿勢偏差が、回転中心決定部72の処理で決定した回転中心の周りのロボット1の回転によって発生したものとみなして、移動対象ハンド部実位置姿勢が推定される。
【0147】
次いで、動作目標決定部51は、移動対象ハンド部前回目標位置姿勢と移動対象ハンド部実位置姿勢の推定値との偏差(以降、移動対象ハンド部位置姿勢偏差という)を偏差演算部74で算出する。
【0148】
以上の基体姿勢偏差算出部71、回転中心決定部72、移動対象ハンド部実位置姿勢推定部73及び偏差演算部74の処理によって、移動対象ハンド部位置姿勢偏差の推定値が所定の制御処理周期で逐次算出される。
【0149】
なお、
図5のブロック図の処理では、基体姿勢偏差算出部71、回転中心決定部72、移動対象ハンド部実位置姿勢推定部73及び偏差演算部74によって、本発明における偏差推定手段に相当する偏差推定部53が構成される。そして、上記移動対象ハンド部位置姿勢偏差が本発明における位置姿勢偏差に相当する。
【0150】
動作目標決定部51は、以上の如く算出した移動対象ハンド部位置姿勢偏差の推定値を、ノイズ等に起因する高周波成分を除去するためのフィルタリング処理を実行するローパスフィルタ75に入力し、さらに、該ローパスフィルタ75の出力を、リミッタ76に入力することで、移動対象ハンド部位置姿勢偏差の推定値を所定の上限値及び下限値の間の範囲内に制限するリミット処理を実行する。
【0151】
そして、動作目標決定部51は、このようにローパスフィルタ75及びリミッタ76の処理を施した後の移動対象ハンド部位置姿勢偏差の推定値に応じて、ロボット1の動作目標を基準の動作目標から修正するための回転対応操作量(補正量)を決定する処理を操作量決定部77により実行する。
【0152】
操作量決定部77は、
図4の操作量決定部67と同様に、各脚リンク3又は各腕リンク4と梯子との干渉が発生するのを防止しつつ、基体2の実際の姿勢が目標姿勢から乖離するのを抑制するように、1つ以上の可動リンクの先端部(足平部13又はハンド部23)の目標位置/姿勢(目標位置及び目標姿勢のうちの少なくともいずれか一方)を調整する(基準の動作目標から修正する)ための操作量を回転対応操作量として決定する。
【0153】
この場合、操作量決定部77は、移動対象ハンド部位置姿勢偏差の推定値に応じた量だけ、基体2に対する一方又は両方の支持対象脚リンク3の足平部13の相対位置/姿勢(相対位置及び相対姿勢のうちの少なくともいずれか一方)と、移動対象腕リンク4のハンド部23の目標支持位置/姿勢(目標支持位置及び目標支持姿勢のうちの少なくともいずれか一方)とのうちの少なくともいずれか一方を、基準の動作目標における位置/姿勢からずらすにように、回転対応操作量を決定する。
【0154】
なお、かかる回転対応補正量は、移動対象ハンド部位置姿勢偏差の推定値から、あらかじめ定められた演算式又はマップ等により決定される。また、移動対象ハンド部位置姿勢偏差の推定値がゼロ(もしくはほぼゼロ)である場合には、該回転対応操作量はゼロとされる。
【0155】
例えば腕リンク移動昇降用動作において、基体2が、移動対象腕リンク4側の下部が梯子に近づくようにヨー方向に回転することで、移動対象ハンド部位置姿勢偏差が発生したような状況で、移動対象腕リンク4と同じ側(右側又は左側)の片方の支持対象脚リンク3と基体2との連結部(股関節14)と、支持対象足平部13との間の距離が基準の動作目標における当該距離よりも大きくなるように(ひいては、基体2と、当該片方の支持対象脚リンク3との連結部を梯子Aから離すように)、支持対象足平部13の目標位置/姿勢の補正量(現在の制御処理周期での補正量)を決定する。該補正量は、移動対象ハンド部位置姿勢偏差の推定値の大きさ(位置偏差及び姿勢偏差の各成分の大きさ)の度合に応じて決定される
さらに操作量決定部67は、移動対象ハンド部23の到達目標の位置姿勢たる目標支持位置姿勢でのハンド部23を、基準の動作目標における目標支持位置姿勢でのハンド部23よりも基体2に近づけるように、移動対象ハンド部23の目標支持位置/姿勢の補正量を決定する。該補正量は、移動対象ハンド部位置姿勢偏差の推定値の大きさ(位置偏差及び姿勢偏差の各成分の大きさ)の度合に応じて決定される。
【0156】
このように、支持対象足平部13の目標位置/姿勢の補正量と、移動対象ハンド部23の目標支持位置/姿勢の補正量とが回転対応操作量として、移動対象ハンド部位置姿勢偏差の推定値に応じて決定される。
【0157】
なお、移動対象ハンド部位置姿勢偏差の推定値の大きさ(位置偏差及び姿勢偏差の各成分の大きさ)の度合等によって、支持対象足平部13の目標位置/姿勢と、移動対象ハンド部23の目標支持位置/姿勢とのいずれか一方だけの補正量を決定する(他方の補正量をゼロとする)ようにしてもよい。
【0158】
また、両方の脚リンク3,3の足平部13,13を梯子に支持させる腕リンク移動昇降用動作においては、両方の支持対象足平部13,13の目標位置/姿勢の補正量を回転対応操作量として決定することも可能である。
【0159】
また、脚リンク・腕リンク移動昇降用動作においては、支持対象足平部13の目標位置/姿勢と、移動対象ハンド部23の目標支持位置/姿勢とのうちの一方又は両方の補正量に加えて、あるいは、該一方又は両方の補正量の代わりに、移動対象脚リンク3の目標支持位置/姿勢の補正量を回転対応操作量として、移動対象ハンド部位置姿勢偏差の推定値に応じて決定することも可能である。
【0160】
補足すると、脚リンク・腕リンク移動昇降用動作においては、
図4及び
図5の両方の処理により回転対応操作量を決定する態様と、
図4及び
図5のいずれか一方の処理のみにより回転対応操作量を決定する態様とを採用できる。この場合、いずれの態様で回転対応操作量を決定するかは、例えば、支持対象足平部位置姿勢偏差もしくは移動対象ハンド部位置姿勢偏差の推定値の大きさ(位置偏差及び姿勢偏差の各成分の大きさ)の度合等に応じて選択することが可能である。
【0161】
動作目標決定部51は、脚リンク移動昇降用動作及び腕リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中に、上記のように操作量決定部67又は77により決定した回転対応操作量(補正量)を用いて基準の動作目標を修正することで、各制御処理周期における動作目標を逐次決定する。
【0162】
この場合、脚リンク移動昇降用動作、腕リンク移動昇降用動作及び脚リンク・腕リンク移動昇降用動作のいずれの昇降用動作においても、動作目標決定部51は、各制御処理周期での基体2の目標位置姿勢と頭部5の目標姿勢とを基準の動作目標に一致させる。
【0163】
また、動作目標決定部51は、脚リンク移動昇降用動作においては、各制御処理周期での両方の腕リンク4,4のハンド部23,23(支持対象ハンド部23,23)のそれぞれの目標位置姿勢を現状の位置姿勢(換言すれば、該ハンド部23,23を梯子に支持(把持)させたときの目標支持位置姿勢)に保持する。
【0164】
そして、脚リンク移動昇降用動作においては、動作目標決定部51は、各制御処理周期での支持対象足平部13の目標位置姿勢を、操作量決定部67で決定した回転対応操作量(補正量)によって、基準の動作目標における位置姿勢から補正してなる位置姿勢に決定する。
【0165】
さらに、脚リンク移動昇降用動作においては、動作目標決定部51は、現在時刻以後の移動対象足平部13の目標位置姿勢の軌道を、操作量決定部67で決定した回転対応操作量(補正量)によって、基準の動作目標における目標支持位置姿勢から補正してなる目標支持位置姿勢に向かって変化させるように各制御処理周期での移動対象脚リンク3の足平部13の目標位置姿勢を決定する。
【0166】
また、腕リンク移動昇降用動作においては、動作目標決定部51は、各制御処理周期での支持対象ハンド部23の目標位置姿勢を現状の位置姿勢(換言すれば、該ハンド部23を梯子に支持(把持)させたときの目標支持位置姿勢)に保持する。
【0167】
そして、腕リンク移動昇降用動作においては、動作目標決定部51は、現在時刻以後の移動対象腕リンク4のハンド部23の目標位置姿勢の軌道を、操作量決定部77で決定した回転対応操作量(補正量)によって、基準の動作目標における目標支持位置姿勢から補正してなる目標支持位置姿勢に向かって変化させるように各制御処理周期での移動対象ハンド部23の目標位置姿勢を決定する。
【0168】
さらに、腕リンク移動昇降用動作においては、動作目標決定部51は、各制御処理周期での補正対象の1つ又は2つの支持対象足平部13の目標位置姿勢を、操作量決定部77で決定した回転対応操作量(補正量)によって、基準の動作目標における位置姿勢から補正してなる位置姿勢に決定する。また、動作目標決定部51は、腕リンク移動昇降用動作において補正対象でない支持対象脚リンク3の足平部13の目標位置姿勢を、基準の動作目標における目標位置姿勢に一致させる。
【0169】
また、脚リンク・腕リンク移動昇降用動作においては、動作目標決定部51は、両方の腕リンク4,4のハンド部23,23うち、梯子に支持(把持)させた支持対象ハンド部23の目標位置姿勢を現状の位置姿勢(換言すれば、該ハンド部23を梯子に支持(把持)させたときの目標支持位置姿勢)に保持する。
【0170】
また、動作目標決定部51は、脚リンク・腕リンク移動昇降用動作において、
図5の操作量決定部77により移動対象ハンド部23の目標支持位置姿勢についての回転対応操作量を決定した場合には、現在時刻以後の移動対象ハンド部23の目標位置姿勢の軌道を、操作量決定部77で決定した回転対応操作量(補正量)によって、基準の動作目標における目標支持位置姿勢から補正してなる目標支持位置姿勢に向かって変化させるように各制御処理周期での移動対象ハンド部23の目標位置姿勢を決定する。
【0171】
また、動作目標決定部51は、脚リンク・腕リンク移動昇降用動作において、
図4の操作量決定部67により移動対象足平部13の目標支持位置姿勢についての回転対応操作量を決定した場合には、現在時刻以後の移動対象足平部13の目標位置姿勢の軌道を、操作量決定部67で決定した回転対応操作量(補正量)によって、基準の動作目標における目標支持位置姿勢から補正してなる目標支持位置姿勢に向かって変化させるように各制御処理周期での移動対象足平部13の目標位置姿勢を決定する。
【0172】
また、動作目標決定部51は、脚リンク・腕リンク移動昇降用動作において、
図4の操作量決定部67又は
図5の操作量決定部77により支持対象足平部13の目標位置姿勢についての回転対応操作量を決定した場合には、各制御処理周期における支持対象足平部13の目標位置姿勢を、操作量決定部67又は77で決定した回転対応操作量(補正量)によって、基準の動作目標における目標位置姿勢から補正してなる位置姿勢に決定する。
【0173】
また、脚リンク・腕リンク移動昇降用動作において、
図4の操作量決定部67及び
図5の操作量決定部77の両方により、支持対象足平部13の目標位置姿勢についての回転対応操作量を決定した場合には、動作目標決定部51は、支持対象足平部13の目標位置姿勢を、操作量決定部67,77の両方の回転操作量を合成してなる操作量によって、基準の動作目標における目標位置姿勢から補正してなる位置姿勢に決定する。
【0174】
なお、脚リンク移動昇降用動作、腕リンク移動昇降用動作及び脚リンク・腕リンク移動昇降用動作のいずれの昇降用動作においても、支持対象足平部13の目標位置姿勢についての回転操作量がゼロである場合には、該支持対象足平部13の目標位置姿勢は、基準の動作目標における目標位置姿勢に一致するように決定される。
【0175】
同様に、いずれの昇降用動作においても、移動対象足平部13の目標支持位置姿勢についての回転操作量がゼロである場合、あるいは、移動対象ハンド部23の目標支持位置姿勢についての回転操作量がゼロである場合には、それぞれ、移動対象足平部13の目標支持位置姿勢、移動対象ハンド部23の目標支持位置姿勢が、基準の動作目標における目標支持位置姿勢に一致するように決定される。
【0176】
また、ロボット1による梯子の昇降時に、脚リンク移動昇降用動作又は腕リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中の期間とそれ以外の期間とのいずれにおいても、前記回転対応操作量とは別の操作量(例えばコンプライアンス制御用の操作量等)をさらに算出し、当該別の操作量に応じた基準の動作目標の補正をさらに行うことで、各制御処理周期での動作目標を決定するようにしてもよい。
【0177】
本実施形態では、以上の如く決定される動作目標に従って、関節制御部52によりロボット1の各関節(要素関節)の変位量が関節アクチュエータ41を介して制御される。さらに、各ハンド部23を梯子に支持させる場合には、該ハンド部23により梯子を把持するように該ハンド部23の把持動作がハンド部駆動アクチュエータ49を介して制御される。
【0178】
この場合、脚リンク移動昇降用動作及び腕リンク移動昇降用動作(又は脚リンク・腕リンク移動昇降用動作)の実行中に、支持対象ハンド部23及び支持対象足平部13の滑り、あるいは、支持対象腕リンク4もしくは支持対象脚リンク3の弾性変形等によって、基体姿勢偏差が発生しても、1つ又は2つの支持対象足平部13の目標位置/姿勢と、移動対象足平部13もしくは移動対象ハンド部23の目標支持位置/姿勢とのうちの少なくともいずれか一方の補正量が回転対応操作量として、支持対象足平部位置姿勢偏差の推定値もしくは移動対象ハンド部位置姿勢偏差の推定値に応じて可変的に決定されることで、各脚リンク3又は各腕リンク4と梯子との干渉を防止することができる。
【0179】
例えば
図3(b)に示す状況で、基体2の姿勢の目標姿勢からの乖離を低減する(ひいては、基体2の下部が梯子に近づき過ぎるのが抑制される)ように支持対象脚リンク3が伸展されることとなる。
【0180】
さらに、目標支持位置姿勢に到達したときの移動対象足平部13が基体2に近づくように、該移動対象足平部13の目標支持位置/姿勢が修正される。ひいては、移動対象足平部13の実際の支持位置姿勢は、基準の動作目標で予定されていた適切な目標支持位置から乖離するのが防止される。あるいは、目標支持位置姿勢に移動した移動対象足平部13が梯子に対して非接地状態となる(踏み外す)ようなことが防止される。
【0181】
このため、各脚リンク3の下腿部12等が梯子の踏ざんに干渉することを防止することができる。ひいては、ロボット1が梯子を昇降することを円滑に行うことができる。
【0182】
なお、
図3(b)に示す状況に限らず、支持対象ハンド部23及び支持対象足平部13の滑り、あるいは、支持対象腕リンク4もしくは支持対象脚リンク3の弾性変形等によって、基体姿勢偏差が発生した場合には、各脚リンク3又は各腕リンク4と梯子との干渉を防止しつつ、ロボット1に梯子を昇降させることができる。
【0183】
また、本実施形態では、支持対象ハンド部23にそれぞれ作用する荷重の全体の作用中心点をロボット1の回転中心とし、この回転中心と基体姿勢偏差とに応じて支持対象足平部実位置姿勢あるいは移動対象ハンド部実位置姿勢を推定するので、その推定を簡易な演算処理で適切に行うことができる。
【0184】
次に、以上説明した実施形態に関連する変形態様をいくつか説明する。
【0185】
前記実施形態では、
図4のブロック図の処理において、前記回転中心と基体姿勢偏差とに応じて支持対象足平部実位置姿勢を推定するようにしたが、各脚リンク3に備えた力センサ45による足平部13の荷重検出値(並進力及びモーメントの検出値)に基づいて、支持対象足平部実位置姿勢を推定することも可能である。すなわち、支持対象脚リンク3の力センサ45による支持対象足平部13の荷重検出値から、該支持対象足平部13の梯子に対する接触位置及び姿勢が判るので、該支持対象足平部13の実際の位置及び姿勢を推定できる。
【0186】
さらに、該支持対象足平部13の実際の位置及び姿勢の推定値と、前記関節変位センサ43による各関節(要素関節)の変位量の検出値とから、移動対象足平部13もしくは移動対象ハンド部23の実際の位置及び姿勢を推定することも可能である。
【0187】
また、前記実施形態では、ロボット1が昇降する構造物として梯子を例にとって説明したが、該構造物は、脚立、急峻な傾斜を有する階段、凹凸を有する壁等であってもよい。
【0188】
また、前記実施形態では、各腕リンク4の先端部たるハンド部23を構造物(梯子)に支持させる場合に、該構造物の部分(前記実施形態では踏ざん)をハンド部23に把持させるようにしたが、例えば、各腕リンク4の先端部を構造物の部分に引っかけるようして該構造物に支持させるようにすることも可能である。
【0189】
また、前記実施形態では、
図4のブロック図の処理において、支持対象足平部位置姿勢偏差の推定値に応じて回転対応操作量を決定したが、移動対象ハンド部23又は移動対象足平部13についての位置姿勢偏差の推定値に応じて、あるいは、これらの位置姿勢偏差の推定値と、支持対象足平部位置姿勢偏差の推定値とに応じて回転対応操作量を決定してもよい。
【0190】
また、前記実施形態では、
図5のブロック図の処理において、移動対象ハンド部位置姿勢偏差の推定値に応じて回転対応操作量を決定したが、移動対象足平部13又は支持対象足平部13についての位置姿勢偏差の推定値に応じて、、又は、支持対象足平部13についての位置姿勢偏差の推定値に応じて、あるいは、これらの位置姿勢偏差の推定値と移動対象ハンド部位置姿勢偏差の推定値とに応じて回転対応操作量を決定してもよい。
【0191】
また、前記実施形態では、脚リンク移動昇降用動作、腕リンク移動昇降用動作、又は脚リンク・腕リンク移動昇降用動作において、構造物に支持させた支持対象ハンド部23の目標位置/姿勢を修正することは行わないものとしたが、その修正を、支持対象足平部位置姿勢偏差又は移動対象ハンド部位置姿勢偏差等に応じてさらに行うようにしてもよい。
【0192】
また、前記実施形態では、ロボット1として、2つの脚リンク3,3及び2つの腕リンク4,4を可動リンクとして有する人型のロボットを例示したが、本発明は、種々様々な形態のロボットに適用できる。例えば、平地の移動時に脚リンクとして機能する3つ以上の可動リンクを備えるロボット、あるいは、3つ以上の腕リンクを備えるロボット等につじても本発明を適用できる。