(57)【特許請求の範囲】
【請求項１】
基体と、複数の関節と、該複数の関節のうちの一つ以上の関節の作動によって前記基体に対して動くように該基体に連結された可動リンクと、各関節を駆動する関節アクチュエータとを備える移動ロボットの制御装置であって、
前記移動ロボットの前記複数の関節のそれぞれの負荷を検出する関節負荷検出手段と、
前記可動リンクのうち、少なくとも前記移動ロボットに作用する重力に抗する接触反力を受けるように外界物に接触された可動リンクである接触可動リンクの運動を休止させた状態において、該移動ロボットのいずれかの関節について前記関節負荷検出手段により検出された負荷の大きさと、該負荷の検出値に基づき推定される該関節の駆動用のアクチュエータの所定時間後の温度予測値とのうちのいずれかである負荷評価量が所定の閾値を超えた場合に、前記複数の関節のそれぞれについての負荷評価量が定常的に前記所定の閾値以下に収まることを必要条件として、前記接触可動リンクを前記外界物に接触させたまま該接触可動リンクの運動を休止した状態で該必要条件を満たし得る該移動ロボットの前記複数の関節のそれぞれの目標変位量を決定し、該目標変位量に応じて該移動ロボットの各関節の駆動用の関節アクチュエータを制御する関節制御手段とを備えることを特徴とする移動ロボットの制御装置。
【請求項２】
請求項１記載の移動ロボットの制御装置において、
前記関節制御手段は、前記移動ロボットの各部のうち前記所定の動作状態において外界物に接触させる接触部位の位置と、該接触部位に作用する接触反力と、前記移動ロボットの重心位置とに関する制約条件下で、前記必要条件を満たし得る該移動ロボットの前記複数の関節のそれぞれの目標変位量を決定するように構成されていることを特徴とする移動ロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脚式移動ロボットの等の移動ロボットの制御装置に関する。
【背景技術】
【０００２】
特許文献１に見られる如き脚式移動ロボット等、基体に関節を介して連結された可動リンク（脚リンク、腕リンク等）を備える移動ロボットが従来より一般に知られてる。
【０００３】
この種の移動ロボットでは、想定された環境下で該移動ロボットの所望の動作を行わせ得るように作成した動作指令に応じて、各関節の変位量を電動モータ等により構成される関節アクチェータを介して制御することが一般に行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３８１３１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
移動ロボットを、種々様々な環境下で動作させる場合、特に移動ロボットの運動を休止させた状態（例えば動作の指示待ちの待機状態）において、移動ロボットのいずれかの関節の負荷が定常的に大きなものとなる状況が発生しやすい。
【０００６】
例えば、不整地での作業を行う移動ロボットの運動休止状態において、該移動ロボットの脚リンクの接地箇所の地面の形状が当初の形状からくずれたような場合、あるいは、該地面の形状が想定形状から乖離していたような場合には、移動ロボットの全体姿勢が本来の予定された姿勢から定常的にずれてしまうため、いずれかの関節の負荷が定常的に大きなものとなってしまう場合がある。
【０００７】
そして、このように移動ロボットのいずれかの関節の負荷が定常的に大きなものに維持されてしまうような状況が発生すると、該関節の駆動用の関節アクチュエータのエネルギー消費量が累積的に大きくなって、該関節アクチュエータが過剰に昇温し、該関節アクチュエータの能力低下あるいは損傷を生じる虞れがある。ひいては、移動ロボットの正常な動作制御を行うことができなくなる虞がある。
【０００８】
本発明はかかる背景に鑑みてなされたものであり、移動ロボットのいずれかの関節の負荷が過大な状態で継続して、該関節の駆動用のアクチュエータが高温になるのを防止することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の移動ロボットの制御装置は、かかる目的を達成するために、基体と、複数の関節と、該複数の関節のうちの一つ以上の関節の作動によって前記基体に対して動くように該基体に連結された可動リンクと、各関節を駆動する関節アクチュエータとを備える移動ロボットの制御装置であって、
前記移動ロボットの前記複数の関節のそれぞれの負荷を検出する関節負荷検出手段と、
前記可動リンクのうち、少なくとも前記移動ロボットに作用する重力に抗する接触反力を受けるように外界物に接触された可動リンクである接触可動リンクの運動を休止させた状態において、該移動ロボットのいずれかの関節について前記関節負荷検出手段により検出された負荷の大きさと、該負荷の検出値に基づき推定される該関節の駆動用のアクチュエータの所定時間後の温度予測値とのうちのいずれかである負荷評価量が所定の閾値を超えた場合に、前記複数の関節のそれぞれについての負荷評価量が定常的に前記所定の閾値以下に収まることを必要条件として、前記接触可動リンクを前記外界物に接触させたまま該接触可動リンクの運動を休止した状態で該必要条件を満たし得る該移動ロボットの前記複数の関節のそれぞれの目標変位量を決定し、該目標変位量に応じて該移動ロボットの各関節の駆動用の関節アクチュエータを制御する関節制御手段とを備えることを特徴とする（第１発明）。
【００１０】
なお、本発明における各関節の「負荷」は、該関節の駆動に必要な力（並進力又はトルク）又はエネルギー量（例えば電力）を意味する。
【００１１】
かかる第１発明によれば、前記関節制御手段は、前記負荷評価量が所定の閾値を超えた場合に、前記負荷評価量が前記所定の閾値以下に収まることを必要条件として、該必要条件を満たし得る該移動ロボットの各関節の目標変位量を決定し、該目標変位量に応じて該移動ロボットの各関節の駆動用の関節アクチュエータを制御する。
【００１２】
これにより、いずれかの関節についての前記負荷評価量が、前記所定の閾値を超える状態に定常的に維持されてしまうような状況が発生するのを防止できる。ひいては、関節アクチュエータが過剰に高温になるのを防止できる。
【００１３】
従って、第１発明によれば、移動ロボットのいずれかの関節の負荷が過大な状態で継続して、該関節の駆動用のアクチュエータが高温になるのを防止することができる。
【００１５】
また、前記可動リンクのうち、少なくとも前記移動ロボットに作用する重力に抗する接触反力を受けるように外界物に接触された可動リンクである接触可動リンクの運動を休止させた状態では、各接触可動リンクに作用する接触反力がほぼ一定となるので、前記移動ロボットの姿勢状態によっては、該接触可動リンクのいずれかの関節についての前記負荷評価量が前記所定の閾値を定常的に超える状況が発生しやすい。
【００１６】
従って、このような動作状態にて、前記関節制御手段による関節アクチュエータの制御（前記負荷評価量が所定の閾値を超えた場合の制御）を実行することで、関節の負荷が定常的に過大なものとなるのを効果的に防止できる。
【００１８】
さらに、本発明によれば、前記関節制御手段が決定する各関節の目標変位量は、前記接触可動リンクを前記外界物に接触させたまま実現可能な目標変位量であって、該目標変位量での前記接触可動リンクの運動休止状態で前記必要条件を満たし得る目標変位量であるので、各関節の実際の変位量を該目標変位量に遷移させ、最終的には該目標変位量にて前記接触可動リンクを運動休止状態にすることで、前記接触可動リンクの前記外界物への接触状態を維持したまま、前記必要条件を定常的に満たし得る状態に移動ロボットの姿勢状態を遷移させることができることとなる。
【００１９】
このため、前記所定の動作状態での移動ロボットの近辺の地形状況もしくは地質状況が不明もしくは不確かな状況であっても、移動ロボットの姿勢状態を、前記必要条件を定常的に満たし得る状態（前記目標変位量により規定される状態）に円滑に遷移させることが可能となる。
【００２０】
また、上記第１発明では、前記関節変位量制御手段は、前記移動ロボットの各部のうち前記所定の動作状態において外界物に接触させる接触部位の位置と、該接触部位に作用する接触反力と、前記移動ロボットの重心位置とに関する制約条件下で、前記必要条件を満たし得る該移動ロボットの各関節の目標変位量を決定するように構成されていることが好ましい（第２発明）。
【００２１】
これによれば、前記接触部位の位置と、該接触部位に作用する接触反力と、前記移動ロボットの重心位置とに関する制約条件を付加することで、前記必要条件を満たしつつ、移動ロボットの姿勢の安定性を確保し得る適切な前記目標変位量を決定できる。
【００２２】
なお、本発明において、前記必要条件を満たす各関節の目標変位量を決定する処理の手法としては、例えば該必要条件を満たし得る各関節の目標変位量を探索的に決定する手法（目標変位量の値を仮設定する処理と、その仮設定値の妥当性を評価する処理と、その評価結果に応じて目標変位量の値の仮設定値を更新する処理とを繰り返すことで、各関節の適切な目標変位量を決定する手法）を採用できる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態における移動ロボットの概略構成を示す図。
【図２】実施形態の移動ロボットの制御に関する構成を示すブロック図。
【図３】図２に示す制御装置の制御処理を示すフローチャート。
【図４】図３のＳＴＥＰ７の処理で使用する評価関数の例を示すグラフ。
【図５】図３のＳＴＥＰ９の処理による関節の変位量の遷移形態の例を示すグラフ。
【図６】（ａ），（ｂ）は、図３のＳＴＥＰ４の判断結果が肯定的となる一例の状況での移動ロボットの状態を示す図、（ｃ），（ｄ）は、（ａ），（ｂ）に示す状態で決定される各関節の目標変位量により規定される移動ロボットの状態を示す図。
【図７】（ａ）は、図３のＳＴＥＰ４の判断結果が肯定的となる他の例の状況での移動ロボットの状態を示す図、（ｂ）は（ａ）に示す状態で決定される各関節の目標変位量により規定される移動ロボットの状態を示す図。
【発明を実施するための形態】
【００２４】
本発明の一実施形態を以下に図１〜図７を参照して説明する。
【００２５】
図１を参照して、本実施形態の移動ロボット１は、一例として、人型のロボットである。この移動ロボット１（以降、単にロボット１ということがある）は、上体に相当する基体２と、基体２に連結された複数の可動リンクとしての左右一対の（２つの）脚リンク３，３及び左右一対の（２つの）腕リンク４，４と、頭部５とを備える。
【００２６】
基体２は、その下部を形成する下側基体６と上部を形成する上側基体７とこれらを連結する関節機構部８とにより構成されている。関節機構部８は、例えばヨー軸及びピッチ軸の総計２軸の回転自由度を有するように２つの関節（図示省略）により構成される。
【００２７】
なお、本実施形態の説明では、特にことわらない限り、「関節」は、１軸の回転自由度を有する関節を意味する。このような関節は、１つの軸周りに相対回転し得る２つの部材を備える構造のものであり、公知の構造のものを採用できる。
【００２８】
また、本実施形態の説明では、ヨー軸、ピッチ軸、ロール軸は、それぞれ図１に示すようにロボット１が起立した状態での該ロボット１の上下方向の軸（Ｚ軸）、左右方向の軸（Ｙ軸）、前後方向の軸（Ｘ軸）を意味する。
【００２９】
各脚リンク３は、基体２のうちの下側基体６から延設されている。各脚リンク３は、大腿部１１、下腿部１２、足平部１３にそれぞれ相当する要素リンクを、基体２側から順番に、股関節機構部１４、膝関節機構部１５、足首関節機構部１６を介して連結して構成されている。
【００３０】
そして、各脚リンク３の先端部たる足平部１３と基体２との間の関節機構部１４，１５，１６は、本実施形態では、該脚リンク３の足平部１３が、基体２に対して例えば６自由度の運動自由度で動くように構成されている。
【００３１】
例えば、股関節機構部１４は、ヨー軸、ピッチ軸及びロール軸の総計３軸の回転自由度を有するように３つの関節（図示省略）により構成される。膝関節機構部１５は、例えばピッチ軸（１軸）の回転自由度を有するように単一の関節（図示省略）により構成される。足首関節機構部１６は、例えばピッチ軸及びロール軸の総計２軸の回転自由度を有するように２つの関節（図示省略）により構成される。
【００３２】
各腕リンク４は、基体２のうちの上側基体７から延設されている。各腕リンク４は、上腕部２１、前腕部２２、ハンド部２３にそれぞれ相当する要素リンクを、基体２側から順番に、肩関節機構部２４、肘関節機構部２５、手首関節機構部２６を介して連結して構成されている。
【００３３】
そして、各腕リンク４の先端部たるハンド部２３と基体２との間の関節機構部２４，２５，２６は、本実施形態では、各腕リンク４のハンド部２３が、基体２に対して例えば８自由度の運動自由度で動くように構成されている。
【００３４】
例えば、肩関節機構部２４は、２つのヨー軸と、ピッチ軸及びロール軸との総計４軸の回転自由度を有するように４つの関節（図示省略）により構成される。肘関節機構部２５は、例えばピッチ軸又はロール軸（１軸）の回転自由度を有するように単一の関節（図示省略）により構成される。手首関節機構部２６は、例えばヨー軸、ピッチ軸及びロール軸の総計３軸の回転自由度を有するように３つの関節（図示省略）により構成される。
【００３５】
また、各腕リンク４のハンド部２３は、本実施形態では、物体の把持を行うことができるように構成されている。例えば、各ハンド部２３は、適宜のクランプ機構（１軸の関節による開閉機構等）、あるいは、人の手指と同様の動作を行い得る複数の関節付きの指機構等により構成される。
【００３６】
頭部５は、基体２の上端部に首関節機構部３１を介して取り付けられている。首関節機構部３１は、例えば１軸、２軸、又は３軸の回転自由度を有するように、１つ又は２つ又は３つの関節により構成される。
【００３７】
補足すると、各脚リンク３は例えば６自由度よりも大きい運動自由度を有するように構成されていてもよい。また、各腕リンク４は、例えば８自由度よりも小さい運動自由度、あるいは、８自由度よりも大きい運動自由度を有するように構成されていてもよい。
【００３８】
また、基体２の関節機構部８は、例えば３軸の回転自由度、あるいは１軸の回転自由度を有するように構成されていてもよい。また、各脚リンク３及び各腕リンク４のそれぞれ、あるいは基体２は、回転型の関節に限らず、直動型の関節を含んでいてもよい。
【００３９】
また、基体２は、関節機構部８を持たない一体構造のもの（下側基体６と上側基体７とを一体化した構造のもの）であってもよい。
【００４０】
また、ハンド部２３は、物体を把持する機能を持たない構造のものであってもよい。
【００４１】
また、ロボット１は、頭部５及び首関節機構部３１を持たない構造のものであってもよい。
【００４２】
以上が本実施形態のロボット１の機構的な構造の概要である。
【００４３】
次に、ロボット１の動作制御に関する構成を説明する。
【００４４】
図２に示すように、ロボット１には、該ロボット１の動作制御を行う制御装置４０と、各関節をそれぞれ駆動する関節アクチュエータ４１と、所要の各種センサとが搭載されている。
【００４５】
関節アクチュエータ４１は、各関節毎に備えられ、対応する関節に図示しない減速機等を介して駆動力を伝達することで、該関節を駆動する。各関節アクチュエータ４１は、本実施形態では電動モータにより構成される。なお、関節アクチュエータ４１は、ハンド部２３の駆動用のアクチュエータを含んでいる。
【００４６】
センサとしては、ロボット１の下側基体６及び上側基体７の一方、例えば、下側基体６の姿勢（空間的な向き）を検出するための姿勢センサ４２と、ロボット１の各関節の変位量（回転角）を検出するための関節変位センサ４３と、各関節アクチュエータ（電動モータ）４１の通電電流を検出する電流センサ４４と、各脚リンク３の足平部１３が接触対象の物体から受ける外力（並進力及びモーメント）を検出するための力センサ４５と、各腕リンク４のハンド部２３が接触対象の物体から受ける外力（並進力及びモーメント）を検出するための力センサ４６とがロボット１に搭載されている。
【００４７】
姿勢センサ４２は、例えばストラップダウン方式で下側基体６の姿勢（空間的な向き）を検出し得るように下側基体６に搭載されたセンサであり、３軸の角速度を検出するジャイロセンサと３軸の並進加速度を検出する加速度センサとから構成される。
【００４８】
関節変位センサ４３は、各関節毎に備えられ、ロータリエンコーダ、ポテンショメータ等の回転角センサにより構成される。
【００４９】
電流センサ４４は、各関節アクチュエータ４１を構成する電動モータのコイルの通電路に備えられている。
【００５０】
力センサ４５は、各脚リンク３毎に備えられ、例えば図１に示す如く各脚リンク３の足首関節機構部１６と足平部１３との間に介装された６軸力センサにより構成される。また、力センサ４６は、各腕リンク４毎に備えられ、例えば図１に示す如く各腕リンク４の手首関節機構部２６とハンド部２３との間に介装された６軸力センサにより構成される。
【００５１】
なお、ロボット１には、上記以外のセンサが搭載されていてもよい。例えばロボット１の視覚センサとしてのカメラ、外界環境の測定用の各種センサ等がロボット１に搭載されていてもよい。
【００５２】
制御装置４０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、インターフェース回路等を含む電子回路ユニットにより構成され、上記の各センサの検出信号が入力される。
【００５３】
この制御装置４０は、実装されるプログラムを実行することにより実現される機能、又は、ハードウェア構成により実現される機能として、ロボット１の動作指令を取得する動作指令取得部５１と、該動作指令等に応じてロボット１の各関節の目標変位量（回転角の目標値）を逐次決定し、該目標変位量に実際の変位量（関節変位センサ４３による検出値）を追従させるように各関節アクチュエータ４１を制御する関節制御部５２と、各関節の負荷を検出する負荷検出部５３とを備える。
【００５４】
本実施形態におけるロボット１は、遠隔操作によって動作するロボットであり、図示しない外部のサーバ等から、ロボット１の動作指令が制御装置４０に送信される。そして、動作指令取得部５１は、その動作指令をサーバ等との無線通信によって取得して記憶保持する。
【００５５】
該動作指令は、例えば、ロボット１の動作モード、ロボット１の各脚リンク３の足平部１３の空間的な位置及び姿勢の軌道、各腕リンク４のハンド部２３の空間的な位置及び姿勢の軌道、基体２の空間的な位置及び姿勢（詳しくは、下側基体６及び上側基体７の一方の位置及び姿勢、並びに、関節機構部８の変位量の軌道）、基体２（上側基体７）に対する頭部５の相対姿勢の軌道を指示する指令データ等により構成される。
【００５６】
なお、上記軌道は、瞬時値の時系列を意味する。
【００５７】
関節制御部５２は、基本的には、動作指令取得部５１が取得した動作指令に従ってロボット１を動作させるように、ロボット１の各関節の目標変位量の軌道を決定し、その目標変位量に応じて各関節の駆動用の関節アクチュエータ４１を制御する。
【００５８】
この関節制御部５２は、本発明における関節制御手段としての機能を含んでいる。この場合、関節制御部５２は、ロボット１の所定の動作状態としての待機状態（ロボット１の運動休止状態）において、各関節の負荷が過大な状態に維持されることがないようにするための制御処理（以降、待機時負荷軽減制御処理という）を実行する。
【００５９】
本実施形態では、上記待機状態は、より詳しくは、脚リンク３，３及び腕リンク４，４のいずれかを、ロボット１に作用する重力に抗する接触反力を受けるように（ロボット１の重量を支えるように）地面等の外界物に接触させて、ロボット１の運動を休止させた状態である。
【００６０】
負荷検出部５３は、本発明における関節負荷検出手段に相当する。ここで、本実施形態では、各関節アクチュエータ４１は、電動モータであるので、その通電電流が、各関節アクチュエータ４１が対応する関節に付与する駆動力（トルク）に応じたものとなる。そこで、本実施形態では、負荷検出部５３は、各関節アクチュエータ４１毎の電流センサ４４の出力を取得し、その出力から認識される該関節アクチュエータ４１の駆動力（トルク）を、該関節アクチュエータ４１に対応する関節の負荷として検出する。
【００６１】
次に、制御装置４０の制御処理（特に本発明に関連する制御処理）を説明する。
【００６２】
制御装置４０は、図３のフローチャートに示す処理を実行する。
【００６３】
制御装置４０は、ＳＴＥＰ１において、動作指令に基づくロボット１の動作の実行中であるか否かを判断する。そして、ＳＴＥＰ１の判断結果が肯定的である場合には、制御装置４０は、ＳＴＥＰ３において、動作指令に基づくロボット１の動作制御を実行（継続）する。
【００６４】
ＳＴＥＰ１の判断結果が否定的である場合には、制御装置４０は、さらにＳＴＥＰ２において、新たに実行すべき動作指令をあるか否かを判断する。そして、ＳＴＥＰ２の判断結果が肯定的である場合には、制御装置４０は新たな動作指令に基づくロボット１の動作制御をＳＴＥＰ３で実行する。
【００６５】
なお、ＳＴＥＰ３では、制御装置４０は関節制御部５２により、動作指令に従ってロボット１の動作（運動）を行うように、ロボット１の各関節に対応する関節アクチュエータ４１が制御される。
【００６６】
ＳＴＥＰ１，２の両方の判断結果が否定的となる場合は、ロボット１の待機状態（ロボット１の運動休止状態）である。この待機状態は、動作指令に基づくロボット１の動作の終了時又は中断時に該動作指令により指定された該ロボット１の姿勢状態で、ロボット１の各関節の変位量が一定もしくくはほぼ一定に保たれる状態である。
【００６７】
この場合には、制御装置４０は、さらにＳＴＥＰ４の判断処理を実行する。この判断処理では、制御装置４０の負荷検出部５３によって、負荷検出部５３により各関節の負荷（各関節に対応する関節アクチュエータ４１の駆動力（駆動トルク））が各関節アクチュエータ４１に対応する電流センサ４４の出力に基づいて検出される。そして、制御装置４０は、ロボット１の関節のうち、いずれかの関節についての負荷の検出値の大きさ（絶対値）が所定の閾値を超えているか否かを判断する。なお、本実施形態では、各関節の負荷の大きさが本発明における負荷評価量として用いられる。
【００６８】
上記閾値は、関節の負荷の大きさが該所定の閾値を超えた状態が定常的に継続した場合に、該関節の駆動用の関節アクチュエータ４１（電動モータ）のコイル等の温度が過剰に高温になり、ひいては、該関節アクチュエータ４１の出力低下もしくは損傷を生じる虞があるものとしてあらかじめ実験等に基づいて設定された閾値である。
【００６９】
補足すると、上記閾値は、負荷の検出値が正極性である場合と負極性である場合とで各別の値に設定してもよい。また、関節アクチュエータ４１の性能もしくは仕様が、駆動対象の関節がどの部位の関節であるかで異なるような場合には、関節アクチュエータ４１の性能もしくは仕様の種別毎に、上記閾値を設定してもよい。
【００７０】
ここで、ロボット１の外界の状態、あるいは、待機状態の開始時の状況等によっては、ロボット１の待機状態でのいずれかの関節の負荷の大きさが上記閾値を超えてしまうことが発生する場合がある。
【００７１】
例えば、動作指令に基づくロボット１の動作（移動を含む）が不整地等で行われていた場合には、待機状態でのロボット１の接地場所の地形の崩れ等に起因して、該地形が、動作指令で想定されている地形との一致度合が低いものとなる場合がある。このような状況では、ロボット１の待機状態での全体姿勢が、動作指令で予定されていた本来の姿勢から乖離した状態となるために、いずれかの関節の負荷の大きさが上記閾値を超える場合がある。
【００７２】
図６（ａ），（ｂ）は、このような状況の一例である。なお、図６（ａ）はロボット１を側面側（ロボット１の右側）から見た図、図６（ｂ）はロボット１を正面側から見た図である。
【００７３】
この例でのロボット１の待機状態は、その脚リンク３，３及び腕リンク４，４の４つの可動リンクのそれぞれの先端部を、ロボット１に作用する重力に抗する接触反力を受けるように外界物としての地面に着地（接触）させて、ロボット１の運動を休止させた状態である。
【００７４】
図６（ａ），（ｂ）に示す例では、ロボット１の左側の脚リンク３Ｌ及び腕リンク４Ｌのそれぞれの先端部を着地（接触）させる地面ＡＬと、ロボット１の右側の脚リンク３Ｒ及び腕リンク４Ｒのそれぞれの先端部を着地（接触）させる地面ＡＲとの間に想定外の段差が発生している（左側の地面ＡＬの方が右側の地面ＡＲよりも高い）ために、基体２が右側に偏った状態となっている。この場合、右側の脚リンク３Ｒあるいは腕リンク４Ｒのいずれかの関節の負荷が大きなものとなりやすい。なお、Ｒ、Ｌはロボット１の右側、左側を示す参照符号である。
【００７５】
また、例えばロボット１が梯子もしくは脚立等を昇降している状況で、なんらかのトラブル回避のために、ロボット１の昇降動作を直ちに中断して、ロボット１を待機状態にしたような場合には、該待機状態でのロボット１の全体姿勢が、ロボット１に作用する重力のうちの多くをロボット１の腕リンク４，４で支えるような姿勢となる場合がある。
【００７６】
図７（ａ）は、このような状況の一例である。この図示例では、ロボット１が梯子Ｂを昇る（もしくは降る）途中で、該ロボット１の昇降動作を中断して、当該途中の動作状態の姿勢にてロボット１が待機状態となっている。該待機状態は、脚リンク３，３及び腕リンク４，４の４つの可動リンクのそれぞれの先端部を、ロボット１に作用する重力に抗する接触反力を受けるように外界物としての梯子Ｂに接触（支持）させて、ロボット１の運動を休止させた状態である。
【００７７】
このような場合には、ロボット１の腕リンク４のいずれかの関節の負荷が大きなものとなりやすい。
【００７８】
このように、ロボット１の外界の状態、あるいは、待機状態の開始時の状況等によっては、ロボット１の待機状態でのいずれかの関節の負荷の大きさが定常的に上記閾値を超えてしまう場合がある。
【００７９】
補足すると、図６（ａ），（ｂ）あるいは図７（ａ）に例示したロボット１の待機状態は、脚リンク３，３及び腕リンク４，４の４つの可動リンクのそれぞれの先端部を外界物に接触させた状態であるが、ロボット１の待機状態は、脚リンク３，３と腕リンク４，４とのうちの一部の可動リンク（例えば脚リンク３，３だけ）を外界物に接触させた状態であってもよい。また、待機状態において外界物に接触させる接触部位は、脚リンク３の先端部（足平部１３）あるいは腕リンク４の先端部（ハンド部２３）に限らず、脚リンク３の途中部（例えば膝部）あるいは腕リンク４の途中部（例えば肘部）等のロボット１の他の部位であってもよい。
【００８０】
図３の説明に戻って、ＳＴＥＰ４の判断結果が否定的である場合（いずれの関節についても、負荷の検出値の大きさが所定の閾値以下に収まっている場合）には、制御装置４０は、ＳＴＥＰ５において、ロボット１の現在の待機状態の姿勢を保つように、関節制御部５２により各関節アクチュエータ４１を制御する。この場合、各関節の変位量は一定もしくはほぼ一定の変位量に保たれる。
【００８１】
なお、ＳＴＥＰ１，２のいずれかの判断結果が肯定的となり、あるいは、ＳＴＥＰ４の判断結果が否定的となる状況では、ＳＴＥＰ１からの処理が所定の制御処理周期で繰り返される。
【００８２】
一方、ＳＴＥＰ４の判断結果が肯定的である場合には、制御装置４０は、ＳＴＥＰ６〜９の処理により構成される待機時負荷軽減制御処理を関節制御部５２により実行する。
【００８３】
すなわち、制御装置４０の関節制御部５２は、まず、ＳＴＥＰ６において、ロボット１の動作に関する拘束条件を設定する。
【００８４】
本実施形態では、関節制御部５２は、拘束条件として、例えば、ロボット１の目標重心位置（ロボット１の全体重心の目標位置）と、ロボット１の重量を支えるために外界の地面等に接触させる接触部位の目標位置、各接触部位に作用する接触反力（並進力及びトルク）の目標値とを設定する。
【００８５】
この場合、接触部位は、ロボット１が待機状態となるときに、外界に対して接触させるべき部位として設定された部位である。そして、各接触部位の現在の実際の位置（外界の地面等に対して固定されたグローバル座標系で見た位置）が、該接触部位の目標位置として設定される。
【００８６】
例えば、図６（ａ），（ｂ）に示す状況、あるいは、図７（ａ）に示す状況では、左右の脚リンク３Ｌ，３Ｒの先端部（足平部１３）と左右の腕リンク４Ｌ，４Ｒの先端部（ハンド部２３）が接触部位である。そして、これらの各脚リンク３の先端部及び各腕リンク４の先端部の実際の位置が各接触部位の目標位置として設定される。
【００８７】
なお、図６（ａ），（ｂ）に示す状況、あるいは、図７（ａ）に示す状況では、左右の脚リンク３Ｌ，３Ｒ及び左右の腕リンク４Ｌ，４Ｒが本発明における接触可動リンクに相当する。
【００８８】
この場合、各接触部位の実際の位置は、グローバル座標系で見たロボット１の代表部位（例えば下側基体６等）の位置及び姿勢と、関節変位センサ４３の出力に基づく各関節の変位量の検出値とから推定される。
【００８９】
また、グローバル座標系で見たロボット１の代表部位の位置及び姿勢は、例えば姿勢センサ４２の出力に基づくストラップダウン演算の処理（慣性航法処理）、各関節の変位量の検出値の履歴、ＧＰＳ（グローバル・ポジショニング・システム）、ランドマーク等を利用して推定することができる。
【００９０】
なお、各接触部位の実際の位置を推定するために、各接触部位の接触反力の検出値を利用してもよい。また、各接触部位の実際の位置を推定する演算処理は、ロボット１の適宜の部位に対して設定したローカル座標系を用いて行うようにしてもよい。
【００９１】
前記拘束条件のうちの目標重心位置（グローバル座標系で見た位置）は、ロボット１に作用する重力に抗する接触反力がいずれかの接触部位に偏り過ぎないように設定される。例えば、図６（ａ），（ｂ）に示す状況では、水平面に投影した目標重心位置（水平方向での目標重心位置）が、４つの接触部位（脚リンク３，３の先端部及び腕リンク４，４の先端部）の目標位置により規定される支持多角形の中心位置もしくはその近辺の位置になるように目標重心位置が設定される。
【００９２】
また、例えば図７（ａ）に示す状況では、脚リンク３，３の先端部のそれぞれにおいて重力に抗する上向き成分の接触反力を発生させやすいようにするために、目標重心位置が脚リンク３，３の先端部の直上側により近づき、且つ、脚リンク３，３がより伸展することとなるように目標重心位置が設定される。
【００９３】
また、前記拘束条件のうち、各接触部位の接触反力の目標値は、例えば、目標重心位置に作用する重力と、各接触部位に作用する接触反力の目標値の合力の並進力成分とが釣り合い、且つ、各接触部位に作用する接触反力の目標値の合力が目標重心位置の周りに発生するモーメントがゼロになるように設定される。
【００９４】
次いで、ＳＴＥＰ７において、関節制御部５２は、ＳＴＥＰ６で設定した拘束条件と、各関節の変位量（回転角）の可変範囲とを制約条件として、各関節の負荷の大きさが前記閾値以下に収まるという必要条件を満たし得る各関節の目標変位量（到達目標の変位量）を探索する最適化処理（以降、ロボット最適姿勢探索処理という）を実行する。
【００９５】
なお、各関節の変位量の可変範囲は、該変位量のあらかじめ定められた許容上限値と許容下限値との間の範囲である。
【００９６】
上記ロボット最適姿勢探索処理は、所定の評価関数の値が、極小となるようなロボット１の各関節の目標変位量の組み合わせを探索することで、前記制約条件と必要条件とを満たし得る各関節の目標変位量の組み合わせを決定する処理である。
【００９７】
より詳しくは、ロボット最適姿勢探索処理では、ロボット１の各関節の目標変位量を、前記目標重心位置と各接触部位の目標位置と各関節の変位量の可変範囲とを満たし得る範囲で仮設定する処理と、該目標変位量の仮設定値と各接触部位の接触反力の目標値とからロボット１の幾何学的なリンクモデル（ロボット１の各要素リンクに質量が設定されたモデル）を用いる力学演算によって各関節の負荷を算出する処理と、該負荷の算出値を用いて前記評価関数の値を算出する処理と、該評価関数の値を極小値又はそれに近い値に近づけるように各関節の目標変位量の更新量を設定する処理とが繰り返される。
【００９８】
なお、この場合、本実施形態では、首関節機構部３１の各関節の目標変位量と、ハンド部２３の各関節の目標変位量とは現在の実際の変位量に維持される。従って、これらの目標変位量の更新量はゼロとされる。換言すれば、目標変位量の更新の対象は、基体２の関節機構部８の関節、並びに、各脚リンク３及び各腕リンク４の関節の目標変位量である。
【００９９】
そして、評価関数の値が極小値もしくはそれに近い値に達したと判断される場合（例えば評価関数の値が所定値以下となった場合、あるいは、評価関数の値がほぼ一定値に収束した場合、あるいは、上記処理の繰り返しが所定回数以上に達した場合等）における各関節の目標変位量の仮設定値の組み合わせが、探索結果の目標変位量として決定される。
【０１００】
より具体的には、上記評価関数としては、例えば、ロボット１の各関節（目標変位量の更新対象の各関節）毎に以下の式（１ａ），（１ｂ）により定義される評価関数Cost[i]（図４のグラフで示す関数）を用いることができる。なお、[i]は、目標変位量の更新対象の各関節を区別する識別符号である。以降、識別符号[i]に対応する関節を関節ｉという。
【０１０１】
｜τ[i]−τ0[i]｜≦｜FR[i]｜である場合
Cost[i]＝０    ……（１ａ）
｜τ[i]−τ0[i]｜＞｜FR[i]｜である場合
Cost[i]＝0.5×W[i]×(((τ[i]−τ0[i])−FR[i])／PR[i])2    ……（１ｂ）
ここで、τ[i]は関節ｉの負荷（トルク）、τ0[i]は関節ｉの負荷の許容範囲内の最適基準値、W[i]は関節ｉに対応する評価関数の重み係数の設定値である。
【０１０２】
また、FR[i]、PR[i]は、次式（２ａ），（２ｂ）により定義されるパラメータR[i]の値に応じて次式（３），（４）により設定されるパラメータである。
【０１０３】
τ[i]＞τ0[i]である場合
R[i]＝τmax[i]−τ0[i]    ……（２ａ）
τ[i]≦τ0[i]である場合
R[i]＝τmin[i]−τ0[i]    ……（２ｂ）
FR[i]＝α×R[i]    ……（３）
PR[i]＝R[i]−FR[i]＝(１−α)×R[i]    ……（４）
ここで、τmax[i]、τmin[i]はそれぞれ、関節ｉの負荷の許容範囲の上限値、下限値の設定値、αはR[i]の大きさに対するFR[i]の大きさの比率の設定値（「０」と「１」との間の定数値）である。
【０１０４】
なお、τ0[i]及びαの値は、関節ｉの負荷τ[i]が｜τ[i]−τ0[i]｜≦FR[i]という条件を満たす大きさの負荷である場合に、関節ｉに対応する関節アクチュエータ４１の温度が過剰に高温になる（許容上限の温度を超える）ことが無いように、あらかじめ実験等に基づいて設定される。
【０１０５】
本実施形態では、目標変位量の更新対象の各関節ｉの評価関数Cost[i]の値が該関節ｉに対応してあらかじめ設定された所定の閾値以下（ゼロに近い値）になるように、公知の探索処理手法によって、各関節ｉの目標変位量を決定する。この場合、各関節ｉの評価関数Cost[i]の値の閾値は、Cost[i]の値が閾値以下となる関節ｉの負荷τ[i]が前記ＳＴＥＰ４の判断処理における閾値以下の大きさとなるように設定される。
【０１０６】
そして、上記探索処理手法としては、評価関数Cost[i]の勾配Grad[i]（これは次式（５）により表される）を利用した手法、例えば「gradient descent method」等の手法を使用することができる。
【０１０７】
Grad[i]＝W[i]×((τ[i]−τ0[i])−FR[i])／PR[i]2    ……（５）
なお、探索処理手法としては、最急降下法、ニュートン法等の他の手法を採用することもできる。
【０１０８】
補足すると、目標変位量の更新対象の各関節ｉの評価関数Cost[i]の値の総和（合計値）が所定の閾値以下になるように、各関節ｉの目標変位量を決定するようにしてもよい。あるいは、目標変位量の更新対象の各関節ｉの評価関数Cost[i]の値の総和（合計値）と、各関節ｉの評価関数Cost[i]とが各々所定の閾値以下になるように、各関節ｉの目標変位量を決定するようにしてもよい。
【０１０９】
また、待機状態での接地部位が、脚リンク３，３の先端部と腕リンク４，４の先端部とのうちの一部である場合（例えば脚リンク３，３の先端部だけが接地部位である場合）には、接地部位でない可動リンク（脚リンク３又は腕リンク４）の関節については目標変位量を一定としてもよい。
【０１１０】
かかるＳＴＥＰ７のロボット最適姿勢探索処理によって、ＳＴＥＰ６で設定した拘束条件と、各関節の変位量（回転角）の可変範囲との制約条件の基で、各関節の負荷の大きさが前記閾値以下に収まるという必要条件を満たし得る各関節の目標変位量（以降、負荷軽減最適変位量という）の組が探索される。
【０１１１】
制御装置４０の関節制御部５２は、次に、ＳＴＥＰ８において、ロボット１の各関節の変位量を現在の変位量から、ＳＴＥＰ７で決定した負荷軽減最適変位量に遷移させるための各関節の変位量（制御処理周期の毎の目標変位量）の軌道を決定する。
【０１１２】
この場合、各関節の変位量を滑らかに遷移させるために、例えば図５のグラフで例示する如く、各関節の変位加速度（角加速度）が連続的に変化するようにして、各関節の変位量の軌道が決定される。
【０１１３】
次いで、ＳＴＥＰ９において、関節制御部５２は、ＳＴＥＰ８で決定した軌道で各関節の実際の変位量を遷移させるように、関節アクチュエータ４１を制御する。
【０１１４】
これにより、ロボット１の各関節の変位量は、ＳＴＥＰ７のロボット最適姿勢探索処理によって決定された負荷軽減最適変位量に遷移する。その結果、ロボット１の各関節の負荷は、前記閾値以下に収まる。ひいては、各関節の駆動用の関節アクチュエータ４１が過剰に昇温するのが防止され、ロボット１の待機状態を持続できることとなる。
【０１１５】
例えば、図６（ａ），（ｂ）に示した状況で、ＳＴＥＰ６〜９の制御処理を実行することで、ロボット１の全体姿勢は、図６（ｃ），（ｄ）に示す如き状態に遷移する。この場合、ロボット１の全体重心がロボット１の右側又は左側に偏り過ぎない状態になることで、各脚リンク３及び各腕リンク４の各関節の負荷が過大になるのが防止される。
【０１１６】
また、例えば図７（ａ）に示した状況で、ＳＴＥＰ６〜９の制御処理を実行することで、ロボット１の全体姿勢は、図７（ｂ）に示す如き状態に遷移する。この場合、ロボット１の全体重心の水平方向の位置が、脚リンク３，３の足平部１３（接地部位）の直上により近づき、また、脚リンク３，３がより伸展することで、各脚リンク３及び各腕リンク４の各関節の負荷が過大になるのが防止される。
【０１１７】
以上の如く本実施形態によれば、ロボット１の待機状態において、いずれかの関節の負荷の大きさが前記閾値を超える状態に維持されるのを防止できる。そのため、いずれかの関節アクチュエータ４１が過剰に昇温するのが防止され、各関節アクチュエータ４１の能力低下あるいは損傷が生じるのを防止できる。
【０１１８】
次に、以上説明した実施形態に関連する変形態様をいくつか説明する。
【０１１９】
前記実施形態では、各関節の負荷として、該関節の駆動用の関節アクチュエータ４１の駆動力（トルク）を検出するようにしたが、例えば各関節アクチュエータ４１の消費電力（単位時間当たりのエネルギー消費量）を、対応する関節の負荷として検出するようにしてもよい。
【０１２０】
また、前記実施形態では、検出した負荷の大きさを負荷評価量として用いて、該負荷の大きさが所定の閾値を超えているか否かを判断するようにした。ただし、例えば、負荷の検出値に基づいて、関節アクチュエータ４１の所定時間後の温度予測値を推定し、その温度予測値を負荷評価量として用いてもよい。
【０１２１】
この場合、温度予測値は、例えば、あらかじめ実験等に基づいて構築した昇温予測モデル（数式モデル）を用いて推定することができる。
【０１２２】
一例として、次式（６）により各関節アクチュエータ４１の所定時間ｔ後の温度予測値Ｔを推定することができる。
【０１２３】
Ｔ＝ｆ×ｔ＋Ｔ0    ……（６）
ここで、ｆは関節アクチュエータ４１に対応する関節の負荷の検出値に応じて可変的に設定される係数値、Ｔ0は適宜の温度センサによる関節アクチュエータ４１の現在の温度の検出値、あるいは、適宜の温度推定モデルに基づく関節アクチュエータ４１の現在の温度の推定値である。
【０１２４】
なお、例えば、関節アクチュエータ４１の現在の温度の検出値（又は推定値）と、該関節アクチュエータ４１に対応する負荷の検出値（現在値）とから、あらかじめ作成したマップに基づいて、所定時間後に関節アクチュエータ４１の温度予測値が所定の閾値を超えるか否かを判断するようにすることも可能である。
【０１２５】
また、前記実施形態では、負荷検出部５３は、各関節の負荷として、関節アクチュエータ４１が出力する駆動力（トルク）を検出するようにしたが、該関節アクチュエータ４１（電動モータ）の消費電力を各関節の負荷として検出するようにしてもよい。
【０１２６】
また、前記実施形態では、拘束条件として、ロボット１の重量を支えるために外界の地面等に接触させる接触部位の目標位置に加えて、ロボット１の目標重心位置と、各接触部位に作用する接触反力（並進力及びトルク）の目標値とを設定するようにしたが、ロボット１の目標重心位置の代わりに、ロボット１の全体重心の位置の許容範囲を設定したり、あるいは、各接触部位に作用する接触反力（並進力及びトルク）の目標値の代わりに、該接触反力の許容範囲を設定し、これらの許容範囲を制約条件として用いて、各関節の負荷軽減最適変位量を決定するようにしてもよい。
【０１２７】
また、前記実施形態において、前記ＳＴＥＰ４の判断結果が肯定的となった場合の他、例えば、全ての関節アクチュエータ４１の総消費電力が所定の閾値を超えた場合に、負荷評価量と該総消費電力がそれぞれ所定の閾値以下に収まるように、各関節の負荷軽減最適変位量を決定するようにしてもよい。
【０１２８】
また、前記ＳＴＥＰ７で各関節の負荷軽減最適変位量を決定する場合に、ロボット１の可動リンク同士の干渉、あるいは、周囲の外界物とのロボット１との干渉を回避するための制約条件をさらに加味するようにしてもよい。
【０１２９】
あるいは、前記ＳＴＥＰ８において、各関節の変位量を負荷軽減最適変位量に遷移させる軌道を決定する場合に、ロボット１の可動リンク同士の干渉、あるいは、周囲の外界物とのロボット１との干渉を回避する軌道を探索的な処理により決定するようにしてもよい。
【０１３０】
また、各関節の変位量を負荷軽減最適変位量に遷移させるのに要する時間を、その遷移における各関節の変位量の変化量等に応じて可変的に設定するようにしてもよい。
【０１３１】
また、前記実施形態では、ＳＴＥＰ６〜９の処理を、ロボット１の全体の運動を休止した待機状態で行うようにしたが、ロボット１に作用する重力に抗する接触反力を受ける可動リンク以外の可動リンクを動かす状態で、ＳＴＥＰ６〜９の処理を実行するようにしてもよい。例えば、２つの脚リンク３，３の先端部を着地させて、該脚リンク３，３の運動を休止し、且つ、頭部５あるいは、腕リンク４（両方または一方）を動かした状態で、ＳＴＥＰ４の判断結果が肯定的である場合に、ＳＴＥＰ６〜９の処理を実行するようにしてもよい。
【０１３２】
また、各関節の負荷軽減最適変位量を決定する処理（ＳＴＥＰ７の処理）では、ロボット１の外界物への接触部位を変更し、もしくは増やすようにしてもよい。例えば、ロボット１の基体２の近くに壁が存在することが判っているような場合には、該基体２を壁に接触させて寄りかからせるように（ロボット１に作用する重力に抗する接触反力を発生するように）、各関節の負荷軽減最適変位量を決定するようにしてもよい。
【０１３３】
また、前記実施形態では、ＳＴＥＰ６〜９の処理をロボット１に搭載した制御装置４０で実行するようしたが、一部の処理（例えばＳＴＥＰ６〜８の処理）をロボット１の外部のサーバで実行するようにしてもよい。
【符号の説明】
【０１３４】
１…移動ロボット、２…基体、３…脚リンク（可動リンク）、４…腕リンク（可動リンク）、５…頭部（可動リンク）、４０…制御装置、４１…関節アクチュエータ、５２…関節制御部（関節制御手段）、５３…負荷検出部（関節負荷検出手段）。
【図１】
0006333688.tif 000002
【図２】
0006333688.tif 000003
【図３】
0006333688.tif 000004
【図４】
0006333688.tif 000005
【図５】
0006333688.tif 000006
【図６】
0006333688.tif 000007
【図７】
0006333688.tif 000008