軌道計画方法、軌道制御方法、軌道計画システム及び軌道計画・制御システム
【課題】物体の種々の初期状態から目標状態までの軌道を、探索に制約を伴わずに少ない計算コストで求めることのできる軌道計画システム、及び求めた軌道にしたがって目標状態までの軌道を制御することのできる軌道計画・制御システムを提供する。
【解決手段】軌道計画システムは、状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め区分された状態空間の複数のセルのそれぞれに一つの枝を有する探索木を予め作成する探索木作成部(101)と、該探索木を記憶する探索木記憶部(103)と、該物体の現在の状態を求め、該現在の状態に対応する該探索木の枝を求め、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求める軌道作成部(105)と、を備える。軌道計画・制御システムは、さらに目標状態までの軌道を制御する軌道制御部(107)を備える。
【解決手段】軌道計画システムは、状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め区分された状態空間の複数のセルのそれぞれに一つの枝を有する探索木を予め作成する探索木作成部(101)と、該探索木を記憶する探索木記憶部(103)と、該物体の現在の状態を求め、該現在の状態に対応する該探索木の枝を求め、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求める軌道作成部(105)と、を備える。軌道計画・制御システムは、さらに目標状態までの軌道を制御する軌道制御部(107)を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の、目標状態に至る状態遷移系列を作成する、軌道計画方法、軌道計画システム、作成された軌道にしたがって軌道を制御する軌道制御方法及び軌道計画・制御システムに関する。
【背景技術】
【0002】
機械の状態(姿勢・速度)は、位相空間上の位置、機械の運動は位相空間上の経路として定めることができる。機械を初期状態から目標状態へと制御したい場合がある。具体例は、以下のとおりである。
【0003】
第一の具体例は、二足型ロボットがバランスを崩した場合である。この場合の初期状態は、バランスを崩した直後の姿勢・速度であり、目標状態は安定姿勢(直立姿勢かつ速度0など)である。
【0004】
第二の具体例は、航空機がバランスを崩し失速した場合である。この場合の初期状態は、バランスを崩した直後の姿勢・速度であり、目標状態は、翼とボディを水平にして等速で前進する状態である。
【0005】
その他の具体例として、バイクが走行中に石に当たった際にバランスを崩し、姿勢を修正したい場合や、自動車がスリップした場合等がある。
【0006】
機械を初期状態から目標状態へ制御する場合に、PID制御やポテンシャル法を使用すると、機械がバランスを崩した後の状態によっては適切に機能しないという問題がある。この問題は、これらの制御方法は、位相空間上の目標状態までの機械状態遷移において広い範囲の初期状態を取れないことに起因している。また、PID制御やポテンシャル法では、機械が目標状態へ到達するまでの時間を規定することが困難であり、短時間での目標状態復帰が困難である。
【0007】
状態空間の軌道計画を作成する方法として、状態空間における状態遷移を探索木として記述する方法がある。この方法において、根または枝から、所定数の枝を派生させ、それぞれの枝を探索することが考えられる。しかし、派生させる枝の数をNとし、木の深さをMとすると、木の深さMのレベルで探索の対象となる枝の数は、NMとなる。したがって、派生させる全ての枝を探索する場合には計算コストが膨大となる。
【0008】
そこで、探索木の枝の評価関数を定め、評価関数にしたがって選択した枝のみから枝を派生させる方法が提案されている(非特許文献1)。この方法によれば、計算コストは抑えられる。しかし、評価関数は、対象ごとに設計者が経験によって決める必要がある。評価関数によっては、状態空間上の探索を十分に行えない場合も生じうる。すなわち、この方法では、状態空間の探索に制約が生じうる。
【0009】
上記の方法を含め探索木を使用する従来の方法は、リアルタイムの軌道計画作成及び制御に使用するには計算コスト(計算時間)が大きすぎた。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】Pedro S. Huang:”Planning For Dynamic Motions Using a Search Tree”, a graduate thesis of Toronto Univ., (1996).
【発明の概要】
【発明が解決しようとする課題】
【0011】
したがって、物体、すなわち機械の種々の初期状態から目標状態までの軌道を、探索に制約を伴わずに少ない計算コストで求めることのできる軌道計画方法、軌道計画システム、及び求めた軌道にしたがって目標状態までの軌道を制御することのできる軌道制御方法及び軌道計画・制御システムに対するニーズがある。
【課題を解決するための手段】
【0012】
本発明の第1の態様による軌道計画方法は、軌道計画システムによって、物体の状態を目標状態へ制御するための軌道を求める軌道計画方法である。本方法は、探索木作成部が、状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成するするステップと、軌道作成部が、該物体の現在の状態を求めるステップと、該軌道作成部が、該現在の状態に対応する該探索木の枝を求めるステップと、該軌道作成部が、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求めるステップと、を含む。
【0013】
本態様の軌道計画方法によれば、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成しておき、その探索木上の経路として物体の軌道を求めるので、物体の種々の初期状態から目標状態までの軌道を、探索に制約を伴わずに少ない計算コストで求めることができる。
【0014】
本態様の軌道計画方法の実施形態によれば、状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する。
【0015】
本実施形態によれば、たとえば、障害物が存在する範囲を、状態が属することのできる範囲から除外することにより、障害物を回避して物体を動作させることが可能となる。
【0016】
本態様の軌道計画方法の実施形態によれば、前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する。
【0017】
本実施形態によれば、たとえば、与えるトルクの上限値を定めることにより、計画される物体の動作が実現可能なものとなるようにすることができる。
【0018】
本態様の軌道計画方法の実施形態によれば、該物体が、先端部を除く端部がジョイントによって接続された、1または複数の部材である。
【0019】
本実施形態によれば、先端部を除く端部がジョイントによって接続された、1または複数の部材である物体の軌道計画を、低い計算コストで、探索に制約を伴わずに求めることができる。
【0020】
本態様の軌道計画方法の実施形態によれば、該物体が、ロボットの部材である。
【0021】
本実施形態によれば、ロボットの部材の軌道計画を、低い計算コストで、探索に制約を伴わずに求めることができる。
【0022】
本態様の軌道計画方法の実施形態によれば、状態空間が位相空間である。
【0023】
本実施形態によれば、位相空間を使用することにより、効率的に軌道を求めることができる。
【0024】
本発明の第1の態様による軌道制御方法は、本発明の第1の態様のいずれかの軌道計画方法によって求めた前記探索木上の経路にしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする。
【0025】
本態様の軌道制御方法によれば、種々の初期状態から目標状態までの軌道制御を少ない計算コストで実施することができる。
【0026】
本態様の軌道制御方法の実施形態によれば、前記物体の現在の状態に近い探索木の枝を定めることによって前記探索木上の新たな経路を求め、前記探索木上の従来の経路または該新たな経路のいずれかにしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする。
【0027】
本実施形態によれば、物体の現在状態が当初の経路、すなわち軌道から外れた場合でも、新たな経路を求めるための計算コストが小さいのでリアルタイムに対応することができる。
【0028】
本発明の第2の態様による軌道計画システムは、物体の状態を目標状態へ制御するための軌道を求める軌道計画システムである。本態様による軌道計画システムは、状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成する探索木作成部と、該探索木を記憶する探索木記憶部と、該物体の現在の状態を求め、該現在の状態に対応する該探索木の枝を求め、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求める軌道作成部と、を備える。
【0029】
本態様の軌道計画システムによれば、探索木作成部が、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成しておき、軌道作成部が、その探索木上の経路として物体の軌道を求めるので、物体の種々の初期状態から目標状態までの軌道を、探索に制約を伴わずに少ない計算コストで求めることができる。
【0030】
本態様の軌道計画システムの実施形態によれば、状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する。
【0031】
本実施形態によれば、たとえば、障害物が存在する範囲を、状態が属することのできる範囲から除外することにより、障害物を回避して物体を動作させることが可能となる。
【0032】
本態様の軌道計画システムの実施形態によれば、前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する。
【0033】
本実施形態によれば、たとえば、与えるトルクの上限値を定めることにより、計画される物体の動作が実現可能なものとなるようにすることができる。
【0034】
本態様の軌道計画システムの実施形態によれば、状態空間が位相空間である。
【0035】
本実施形態によれば、位相空間を使用することにより、効率的に軌道を求めることができる。
【0036】
本発明の第2の態様による軌道計画・制御システムは、本発明の第2の態様のいずれかの軌道計画システムと、該軌道計画システムが求めた、前記探索木上の経路にしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする軌道制御部とを備えている。
【0037】
本態様の軌道計画・制御システムによれば、物体の種々の初期状態から目標状態までの軌道制御を少ない計算コストで実施することができる。
【0038】
本発明の第2の態様によるロボットは、本発明の第2の態様による軌道計画・制御システムを備えたロボットであって、該物体が、該ロボットの部材であり、前記探索木上の経路にしたがって、該ロボットの部材を制御する。
【0039】
本態様のロボットによれば、該ロボットの部材の種々の初期状態から目標状態までの軌道制御を少ない計算コストで実施することができる。
【図面の簡単な説明】
【0040】
【図1】本発明の一実施形態による軌道計画・制御システムの構成を示す図である。
【図2】二自由度倒立振子の構成を示す図である。
【図3】探索木作成部が位相空間上に探索木を作成する手順を示す流れ図である。
【図4】図3のステップS1020及びステップS1030の動作を説明するための図である。
【図5】複数の区域に分割された位相空間を示す図である。
【図6】図3のステップS1050及びステップS1060の動作を説明するための図である。
【図7】軌道作成部及び軌道制御部による軌道作成及び軌道制御手順を説明するための流れ図である。
【図8】位置・速度誤差フィードバック制御を説明するための流れ図である。
【図9】図7のステップS2020の動作を説明するための図である。
【図10】図7のステップS2080の動作を説明するための図である。
【図11】二自由度倒立振子の初期状態を示す図である。
【図12】二自由度倒立振子の目標状態を示す図である。
【図13】実験による、二自由度倒立振子の第1関節の角度q1及び第2関節の角度q2の遷移を示す図である。
【図14】別の実験による、二自由度倒立振子の第1関節の角度q1及び第2関節の角度q2の遷移を示す図である。
【発明を実施するための形態】
【0041】
図1は、本発明の一実施形態による軌道計画・制御システム100の構成を示す図である。軌道計画・制御システム100は、状態空間上の物体の状態に対応する枝を備えた探索木を作成する探索木作成部101と、探索木作成部101によって作成された探索木を記憶する探索木記憶部103と、探索木記憶部103に記憶された探索木を使用して目標状態までの軌道を作成する軌道作成部105と、軌道作成部105によって作成された軌道を使用して軌道制御を行う軌道制御部107と、物体の位置を検出する位置センサ109と、物体の運動を定めるアクチュエータ111と、を備える。各構成部の機能の詳細については、後で説明する。
【0042】
図2は、二自由度倒立振子200の構成を示す図である。以下の実施形態においては、2次元平面内で運動する二自由度倒立振子200を物体として説明を行なう。二自由度倒立振子200は、第1リンク205と、第2リンク211と、第1リンク205を回転可能に固定点に接続する第1関節(ジョイント)201と、第1リンク205及び第2リンク211を回転可能に接続する第2関節207と、から構成される。第1リンク205及び第2リンク211の重心を、それぞれ符号203及び209によって示す。
【0043】
二自由度倒立振子200の運動は、第1関節201及び第2関節207に与えるトルクによって定まり、第1リンク205のX軸に対する角度
【数1】
第2リンク211の第1リンク205に対する角度
【数2】
及びこれらの角速度
【数3】
によって表現される。そこで、本実施形態において、状態空間として以下の位相空間を採用する。
【数4】
【0044】
図3は、探索木作成部101が位相空間上に探索木を作成する手順を示す流れ図である。
【0045】
図3のステップS1010において、探索木作成部101は物体の目標状態を得る。
【0046】
図3のステップS1020において、探索木作成部101は、位相空間において物体の目標状態を探索木の根として定める。
【0047】
図3のステップS1030において、探索木作成部101が、位相空間において、所定の時間間隔前、すなわち、時刻
の状態を探索木の枝として定める。所定の時間間隔前の状態は、運動方程式や動力学シミュレータによって定める。上述のように、二自由度倒立振子200の運動は、第1関節201及び第2関節207に与えるトルクによって定まるので、所定の時間間隔に第1関節201及び第2関節207に与えるトルクを定めれば、二自由度倒立振子200の、所定の時間間隔前の状態が定まる。そこで、所定の時間間隔に第1関節201及び第2関節207に与えるトルクを最大値と最小値との間で、所定の増分で変化させながら、それぞれの場合に対応する時間間隔前の状態を求めてもよい。この場合に、トルクを最大値と最小値との間で、所定の増分で変化させながら、幅優先探索により網羅的に探索を行なってもよい。
【0048】
図4は、図3のステップS1020及びステップS1030の動作を説明するための図である。図4において、円形は状態を示し、黒い円形は目標状態を示す。また、点線の矢印は計算の順序を示す。なお、図4は、簡単のために位相空間を2次元空間として表している。黒い丸で示す目標状態にある、二自由度倒立振子200に、目標状態に至るまでの所定の時間間隔に3個の異なるトルク
【数5】
が与えられたとして、3個の異なる所定の時間間隔前の状態が計算される。探索木作成部101は、これらの状態を探索木の枝とする。さらに、生成された枝が示すそれぞれの状態に対して、3個の異なるトルク
【数6】
が与えられたとして、3個の異なる、さらに所定の時間間隔前の状態が計算される。
【0049】
ここで、位相空間を予め複数の区域に分割しておく。
【0050】
図5は、複数の区域に分割された位相空間を示す図である。分割は、想定される角度及び角速度の範囲を等分割してもよい。以下において、複数の区域のそれぞれをセルと呼称する。
【0051】
図3のステップS1040において、探索木作成部101は、所定の時間間隔前の状態の属するセルにすでに探索木の枝が登録されているかどうか判断する。すでに探索木の枝が登録されていれば、ステップS1060に進む。探索木の枝が登録されていなければ、ステップS1045に進む。
【0052】
図3のステップS1045において、探索木作成部101は、探索木作成部101が派生させた枝が表す所定の時間間隔前の状態が位相空間上の制約条件を満たすかどうか判断する。位相空間上の制約条件とは、物体である機械の性能または外部の障害物などにより、状態が存在することのできない位相空間の領域に対応する制約条件である。所定の時間間隔前の状態が位相空間上の制約条件を満たせば、ステップS050に進む。所定の時間間隔前の状態が位相空間上の制約条件を満たさなければ、ステップS060に進む。
【0053】
図3のステップS1050において、探索木作成部101は、探索木作成部101が派生させた枝が表す所定の時間間隔前の状態を探索木の枝として登録する。
【0054】
図3のステップS1060において、探索木作成部101は、探索木作成部101が派生させた枝が表す所定の時間間隔前の状態を破棄する。
【0055】
図6は、図3のステップS1050及びステップS1060の動作を説明するための図である。図6において、円形は状態を示し、黒い円形は目標状態を示す。また、実線の矢印は状態の遷移を示し、点線の矢印は計算の順序を示す。実線で示される状態の遷移の方向と点線で示される計算の順序の方向は逆である。探索木の枝は、原則として1個のセル内には1本しか存在しない。探索木作成部101が、探索木の枝がすでに存在するセルに新たな枝を定めた場合には、その枝(状態)は破棄される。すなわち、位相空間上の位置が近い状態はセルごとに集約される。このように、従来の探索木の枝を、セルを使用して集約することによって、計算コストを大幅に低減することができる。
【0056】
図3のステップS1070において、探索木作成部101は、探索が終了したかどうか判断する。探索木作成部101は、探索木の所定の深さまでの探索を終えた場合、あるいは所定時間の推移まで探索を終えた場合に探索が終了したと判断してもよい。探索が終了したと判断された場合には、処理が終了する。探索が終了していないと判断された場合には、ステップS1030に戻り、探索が継続される。
【0057】
図7は、軌道作成部105及び軌道制御部107による軌道作成及び軌道制御手順を説明するための流れ図である。
【0058】
図7のステップS2010において、軌道作成部105は、物体の現在状態を得る。具体的に、軌道作成部105は、第1ジョイント201及び第2ジョイント207に設けられた角度センサからの情報に基づいて、二自由度倒立振子200の現在状態を得る。ここで、角度センサは、図1の位置センサ109に相当する。
【0059】
図7のステップS2020において、軌道作成部105は、現在状態が属するセルを特定し、同じセルに属する探索木上の状態、すなわち枝を特定する。
【0060】
図9は、図7のステップS2020の動作を説明するための図である。図9において、円形は状態、斜線を付した円形は現在状態、黒い円形は目標状態を示す。また、実線の矢印は状態の遷移を示す。斜線で示した現在状態の属するセルに属する探索木の枝が特定される。
【0061】
図7のステップS2030において、軌道作成部105は、特定された探索木上の状態(枝)から目標状態(根)までの経路を特定する。図9において、特定された経路を太い線で表した。
【0062】
図7のステップS2040において、軌道制御部107が、軌道作成部105によって特定された経路に対して、位置・速度誤差フィードバック制御を行う。位置・速度誤差フィードバック制御については後で詳細に説明する。
【0063】
図7のステップS2050において、軌道作成部105は、物体の次の現在状態を得る。
【0064】
図7のステップS2060において、軌道作成部105は、次の現在状態が属するセルを特定し、同じセルに属する探索木上の状態、すなわち枝を特定する。
【0065】
図7のステップS2070において、軌道作成部105は、特定された探索木上の状態(枝)から目標状態(根)までの経路を特定する。
【0066】
図7のステップS2080において、軌道作成部105は、従来特定した経路と新たに特定した経路に対し、位置・速度誤差フィードバック制御を用いたシミュレーションを行い、両経路について最終状態を得る。
【0067】
図10は、図7のステップS2080の動作を説明するための図である。図10において、円形は状態、斜線を付した円形は位置センサ109によって検出された現在状態、黒い円形は目標状態を示す。また、実線の矢印は状態の遷移を示す。ノードAは、従来特定した経路上の状態であり、ノードBは、新たに特定した経路上の状態である。
【0068】
図7のステップS2090において、軌道作成部105は、従来の経路及び新たな経路の、シミュレーションによって得られた最終状態を比較し、最終状態が目標状態に近い方の経路を選択する。図10は、ノードBを含む、太い線で示す経路が選択された様子を示す。
【0069】
図7のステップS2100において、軌道制御部107が、軌道作成部105によって選択された経路に対して、位置・速度誤差フィードバック制御を行う。
【0070】
図7のステップS2110において、軌道制御部107が、選択された経路の末端に到達したかどうか判断する。選択された経路の末端に到達していれば、処理を終了する。選択された経路の末端に到達していなければ、ステップS2050に戻る。
【0071】
図7に示した軌道作成及び軌道制御手順の計算コストは非常に小さい。具体的に、図7のステップS2050乃至ステップS2110の計算は、0.01秒以内で実施することができた。計算は、インテルCore i7-640Mプロセッサ(2.8GHz)を単スレッドで利用して実施した。また、図7に示した軌道作成及び軌道制御手順によれば、物体の現在状態が当初の経路、すなわち軌道から外れた場合でも、新たな経路を求めるための計算コストが小さいのでリアルタイムに対応することができる。
【0072】
ここで、位置・速度誤差フィードバック制御について説明する。
【0073】
図8は、位置・速度誤差フィードバック制御を説明するための流れ図である。
【0074】
図8のステップS3010において、軌道制御部107は、探索木の枝より、nステップ先の短期目標状態Splan(t+n)を取得する。
【0075】
図8のステップS3020において、軌道制御部107は、現在状態Scur(t)より、ランダムなトルク(計画済のトルクTplanを中心とした一定区間内の一様乱数から選択したトルクTcomp)をかけてnステップ経過した後の状態Spred(t+n)を求める。
【0076】
図8のステップS3030において、軌道制御部107は、Spred(t+n)とSplan(t+n)の誤差を計算する。具体的に上記誤差は以下の式で表せる。
【数7】
ここで、qは、物体である機械の位置・姿勢であり、wpは位置・姿勢に対する重み、wvは速度に対する重みである。
【0077】
図8のステップS3040において、軌道制御部107は、所定回数の誤差計算を終えたかどうか判断する。所定回数は、例として200回である。所定回数の誤差計算を終えていれば、ステップS3050に進む。所定回数の誤差計算を終えていなければ、ステップS3020に戻る。
【0078】
図8のステップS3050において、軌道制御部107は、誤差最小となるTplan+Tcompを求め、トルク目標値として機械のアクチュエータへ送信し、1ステップ経過するまで同じトルクを維持し、処理を終了する。
【0079】
本発明による軌道計画方法について、本明細書では、説明を簡単にするために、物体を二自由度倒立振子としている。しかし、本発明の、探索木を時間の経過と逆方向の順序で予め求めておく考え方は、任意の物体の状態空間における軌道計画方法に適用することができる。
【0080】
つぎに、図2に示した二自由度倒立振子200のシミュレーションによる制御実験について説明する。二自由度倒立振子200の第1リンク205のリンク長は、l1であり、質量は、m1であり、重心位置203はリンクの中央である。二自由度倒立振子200の第2リンク211のリンク長は、l2であり、質量は、m2であり、重心位置209はリンクの中央である。また、重力加速度をgとする。二自由度倒立振子200の運動方程式は以下のとおりである。
【数8】
関節角度と重力の関係に対する理解を容易にするために、以下のように座標を変更した。
【数9】
【0081】
図11は、二自由度倒立振子200の初期状態を示す図である。二自由度倒立振子200の初期状態の座標は以下のとおりである。
【数10】
【0082】
図12は、二自由度倒立振子200の目標状態を示す図である。二自由度倒立振子200の目標状態の座標は以下のとおりである。
【数11】
【0083】
実験は、図7に示し軌道作成及び軌道制御の手順ならびに二自由度倒立振子200の運動をシミュレーションすることによって実行した。
【0084】
表1は、実験のシミュレーションの設定を示す。上述の前の状態までの時間間隔が、表1のトルク切替タイムステップに相当する。
【表1】
【0085】
表2は、第1関節及び第2関節のパラメータを示す。表2において、第1関節の最大トルク2 [Nm]、探索木作成時のトルク粒度10分割とは、探索木の新たな枝を派生させる際に、-2 [Nm]から2 [Nm]までのトルクの範囲を10分割し、たとえば、 -1.8 [Nm], -1.4[Nm], -1.0[Nm]... 1.0[Nm], 1.4[Nm], 1.8 [Nm]というようにトルクを与えて、運動方程式から次の状態(角度及び角速度)を求めることを意味する。実験においては、第1関節及び第2関節に、それぞれ10個の異なるトルクを与えるので、100個の異なる次の状態が派生する。ここで、最大トルクの値を調整することにより物体の動作を制限することもできる。
【表2】
【0086】
図13は、実験による、二自由度倒立振子200の第1関節201の角度q1及び第2関節207の角度q2の遷移を示す図である。図13の横軸は秒単位の時間を表す。図13の縦軸は、ラジアン単位の角度を表す。角度q1の初期値は、−πであり、角度q2の初期値は、0である。角度q1及び角度q2は、初期状態から約1.3秒で目標状態に遷移している。
【0087】
図14は、別の実験による、二自由度倒立振子200の第1関節201の角度q1及び第2関節207の角度q2の遷移を示す図である。図14の横軸は秒単位の時間を表す。図14の縦軸は、ラジアン単位の角度を表す。角度q1の初期値は、−πであり、角度q2の初期値は、0である。別の実験においては、制御開始から10秒経過ごとに、二自由度倒立振子200の状態を乱す外乱が加えられた。その他の条件は、上記の実験と同じである。角度q1及び角度q2は、外乱が加えられてから2秒以内に目標状態に遷移している。
【0088】
このように、本発明の軌道計画・制御方法及び軌道計画・制御システムによれば、探索木による網羅的な探索をリアルタイムで実施することができる。したがって、二足型ロボット、航空機、自動車などの機会が不安定な状態に陥った場合に安定な状態に回復させるためのリアルタイムな制御に使用することもできる。
【符号の説明】
【0089】
101…探索木作成部、103…探索木記憶部、105…軌道作成部、107…軌道制御部、109…位置センサ、111…アクチュエータ
【技術分野】
【0001】
本発明は、物体の、目標状態に至る状態遷移系列を作成する、軌道計画方法、軌道計画システム、作成された軌道にしたがって軌道を制御する軌道制御方法及び軌道計画・制御システムに関する。
【背景技術】
【0002】
機械の状態(姿勢・速度)は、位相空間上の位置、機械の運動は位相空間上の経路として定めることができる。機械を初期状態から目標状態へと制御したい場合がある。具体例は、以下のとおりである。
【0003】
第一の具体例は、二足型ロボットがバランスを崩した場合である。この場合の初期状態は、バランスを崩した直後の姿勢・速度であり、目標状態は安定姿勢(直立姿勢かつ速度0など)である。
【0004】
第二の具体例は、航空機がバランスを崩し失速した場合である。この場合の初期状態は、バランスを崩した直後の姿勢・速度であり、目標状態は、翼とボディを水平にして等速で前進する状態である。
【0005】
その他の具体例として、バイクが走行中に石に当たった際にバランスを崩し、姿勢を修正したい場合や、自動車がスリップした場合等がある。
【0006】
機械を初期状態から目標状態へ制御する場合に、PID制御やポテンシャル法を使用すると、機械がバランスを崩した後の状態によっては適切に機能しないという問題がある。この問題は、これらの制御方法は、位相空間上の目標状態までの機械状態遷移において広い範囲の初期状態を取れないことに起因している。また、PID制御やポテンシャル法では、機械が目標状態へ到達するまでの時間を規定することが困難であり、短時間での目標状態復帰が困難である。
【0007】
状態空間の軌道計画を作成する方法として、状態空間における状態遷移を探索木として記述する方法がある。この方法において、根または枝から、所定数の枝を派生させ、それぞれの枝を探索することが考えられる。しかし、派生させる枝の数をNとし、木の深さをMとすると、木の深さMのレベルで探索の対象となる枝の数は、NMとなる。したがって、派生させる全ての枝を探索する場合には計算コストが膨大となる。
【0008】
そこで、探索木の枝の評価関数を定め、評価関数にしたがって選択した枝のみから枝を派生させる方法が提案されている(非特許文献1)。この方法によれば、計算コストは抑えられる。しかし、評価関数は、対象ごとに設計者が経験によって決める必要がある。評価関数によっては、状態空間上の探索を十分に行えない場合も生じうる。すなわち、この方法では、状態空間の探索に制約が生じうる。
【0009】
上記の方法を含め探索木を使用する従来の方法は、リアルタイムの軌道計画作成及び制御に使用するには計算コスト(計算時間)が大きすぎた。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】Pedro S. Huang:”Planning For Dynamic Motions Using a Search Tree”, a graduate thesis of Toronto Univ., (1996).
【発明の概要】
【発明が解決しようとする課題】
【0011】
したがって、物体、すなわち機械の種々の初期状態から目標状態までの軌道を、探索に制約を伴わずに少ない計算コストで求めることのできる軌道計画方法、軌道計画システム、及び求めた軌道にしたがって目標状態までの軌道を制御することのできる軌道制御方法及び軌道計画・制御システムに対するニーズがある。
【課題を解決するための手段】
【0012】
本発明の第1の態様による軌道計画方法は、軌道計画システムによって、物体の状態を目標状態へ制御するための軌道を求める軌道計画方法である。本方法は、探索木作成部が、状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成するするステップと、軌道作成部が、該物体の現在の状態を求めるステップと、該軌道作成部が、該現在の状態に対応する該探索木の枝を求めるステップと、該軌道作成部が、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求めるステップと、を含む。
【0013】
本態様の軌道計画方法によれば、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成しておき、その探索木上の経路として物体の軌道を求めるので、物体の種々の初期状態から目標状態までの軌道を、探索に制約を伴わずに少ない計算コストで求めることができる。
【0014】
本態様の軌道計画方法の実施形態によれば、状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する。
【0015】
本実施形態によれば、たとえば、障害物が存在する範囲を、状態が属することのできる範囲から除外することにより、障害物を回避して物体を動作させることが可能となる。
【0016】
本態様の軌道計画方法の実施形態によれば、前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する。
【0017】
本実施形態によれば、たとえば、与えるトルクの上限値を定めることにより、計画される物体の動作が実現可能なものとなるようにすることができる。
【0018】
本態様の軌道計画方法の実施形態によれば、該物体が、先端部を除く端部がジョイントによって接続された、1または複数の部材である。
【0019】
本実施形態によれば、先端部を除く端部がジョイントによって接続された、1または複数の部材である物体の軌道計画を、低い計算コストで、探索に制約を伴わずに求めることができる。
【0020】
本態様の軌道計画方法の実施形態によれば、該物体が、ロボットの部材である。
【0021】
本実施形態によれば、ロボットの部材の軌道計画を、低い計算コストで、探索に制約を伴わずに求めることができる。
【0022】
本態様の軌道計画方法の実施形態によれば、状態空間が位相空間である。
【0023】
本実施形態によれば、位相空間を使用することにより、効率的に軌道を求めることができる。
【0024】
本発明の第1の態様による軌道制御方法は、本発明の第1の態様のいずれかの軌道計画方法によって求めた前記探索木上の経路にしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする。
【0025】
本態様の軌道制御方法によれば、種々の初期状態から目標状態までの軌道制御を少ない計算コストで実施することができる。
【0026】
本態様の軌道制御方法の実施形態によれば、前記物体の現在の状態に近い探索木の枝を定めることによって前記探索木上の新たな経路を求め、前記探索木上の従来の経路または該新たな経路のいずれかにしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする。
【0027】
本実施形態によれば、物体の現在状態が当初の経路、すなわち軌道から外れた場合でも、新たな経路を求めるための計算コストが小さいのでリアルタイムに対応することができる。
【0028】
本発明の第2の態様による軌道計画システムは、物体の状態を目標状態へ制御するための軌道を求める軌道計画システムである。本態様による軌道計画システムは、状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成する探索木作成部と、該探索木を記憶する探索木記憶部と、該物体の現在の状態を求め、該現在の状態に対応する該探索木の枝を求め、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求める軌道作成部と、を備える。
【0029】
本態様の軌道計画システムによれば、探索木作成部が、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成しておき、軌道作成部が、その探索木上の経路として物体の軌道を求めるので、物体の種々の初期状態から目標状態までの軌道を、探索に制約を伴わずに少ない計算コストで求めることができる。
【0030】
本態様の軌道計画システムの実施形態によれば、状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する。
【0031】
本実施形態によれば、たとえば、障害物が存在する範囲を、状態が属することのできる範囲から除外することにより、障害物を回避して物体を動作させることが可能となる。
【0032】
本態様の軌道計画システムの実施形態によれば、前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する。
【0033】
本実施形態によれば、たとえば、与えるトルクの上限値を定めることにより、計画される物体の動作が実現可能なものとなるようにすることができる。
【0034】
本態様の軌道計画システムの実施形態によれば、状態空間が位相空間である。
【0035】
本実施形態によれば、位相空間を使用することにより、効率的に軌道を求めることができる。
【0036】
本発明の第2の態様による軌道計画・制御システムは、本発明の第2の態様のいずれかの軌道計画システムと、該軌道計画システムが求めた、前記探索木上の経路にしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする軌道制御部とを備えている。
【0037】
本態様の軌道計画・制御システムによれば、物体の種々の初期状態から目標状態までの軌道制御を少ない計算コストで実施することができる。
【0038】
本発明の第2の態様によるロボットは、本発明の第2の態様による軌道計画・制御システムを備えたロボットであって、該物体が、該ロボットの部材であり、前記探索木上の経路にしたがって、該ロボットの部材を制御する。
【0039】
本態様のロボットによれば、該ロボットの部材の種々の初期状態から目標状態までの軌道制御を少ない計算コストで実施することができる。
【図面の簡単な説明】
【0040】
【図1】本発明の一実施形態による軌道計画・制御システムの構成を示す図である。
【図2】二自由度倒立振子の構成を示す図である。
【図3】探索木作成部が位相空間上に探索木を作成する手順を示す流れ図である。
【図4】図3のステップS1020及びステップS1030の動作を説明するための図である。
【図5】複数の区域に分割された位相空間を示す図である。
【図6】図3のステップS1050及びステップS1060の動作を説明するための図である。
【図7】軌道作成部及び軌道制御部による軌道作成及び軌道制御手順を説明するための流れ図である。
【図8】位置・速度誤差フィードバック制御を説明するための流れ図である。
【図9】図7のステップS2020の動作を説明するための図である。
【図10】図7のステップS2080の動作を説明するための図である。
【図11】二自由度倒立振子の初期状態を示す図である。
【図12】二自由度倒立振子の目標状態を示す図である。
【図13】実験による、二自由度倒立振子の第1関節の角度q1及び第2関節の角度q2の遷移を示す図である。
【図14】別の実験による、二自由度倒立振子の第1関節の角度q1及び第2関節の角度q2の遷移を示す図である。
【発明を実施するための形態】
【0041】
図1は、本発明の一実施形態による軌道計画・制御システム100の構成を示す図である。軌道計画・制御システム100は、状態空間上の物体の状態に対応する枝を備えた探索木を作成する探索木作成部101と、探索木作成部101によって作成された探索木を記憶する探索木記憶部103と、探索木記憶部103に記憶された探索木を使用して目標状態までの軌道を作成する軌道作成部105と、軌道作成部105によって作成された軌道を使用して軌道制御を行う軌道制御部107と、物体の位置を検出する位置センサ109と、物体の運動を定めるアクチュエータ111と、を備える。各構成部の機能の詳細については、後で説明する。
【0042】
図2は、二自由度倒立振子200の構成を示す図である。以下の実施形態においては、2次元平面内で運動する二自由度倒立振子200を物体として説明を行なう。二自由度倒立振子200は、第1リンク205と、第2リンク211と、第1リンク205を回転可能に固定点に接続する第1関節(ジョイント)201と、第1リンク205及び第2リンク211を回転可能に接続する第2関節207と、から構成される。第1リンク205及び第2リンク211の重心を、それぞれ符号203及び209によって示す。
【0043】
二自由度倒立振子200の運動は、第1関節201及び第2関節207に与えるトルクによって定まり、第1リンク205のX軸に対する角度
【数1】
第2リンク211の第1リンク205に対する角度
【数2】
及びこれらの角速度
【数3】
によって表現される。そこで、本実施形態において、状態空間として以下の位相空間を採用する。
【数4】
【0044】
図3は、探索木作成部101が位相空間上に探索木を作成する手順を示す流れ図である。
【0045】
図3のステップS1010において、探索木作成部101は物体の目標状態を得る。
【0046】
図3のステップS1020において、探索木作成部101は、位相空間において物体の目標状態を探索木の根として定める。
【0047】
図3のステップS1030において、探索木作成部101が、位相空間において、所定の時間間隔前、すなわち、時刻
の状態を探索木の枝として定める。所定の時間間隔前の状態は、運動方程式や動力学シミュレータによって定める。上述のように、二自由度倒立振子200の運動は、第1関節201及び第2関節207に与えるトルクによって定まるので、所定の時間間隔に第1関節201及び第2関節207に与えるトルクを定めれば、二自由度倒立振子200の、所定の時間間隔前の状態が定まる。そこで、所定の時間間隔に第1関節201及び第2関節207に与えるトルクを最大値と最小値との間で、所定の増分で変化させながら、それぞれの場合に対応する時間間隔前の状態を求めてもよい。この場合に、トルクを最大値と最小値との間で、所定の増分で変化させながら、幅優先探索により網羅的に探索を行なってもよい。
【0048】
図4は、図3のステップS1020及びステップS1030の動作を説明するための図である。図4において、円形は状態を示し、黒い円形は目標状態を示す。また、点線の矢印は計算の順序を示す。なお、図4は、簡単のために位相空間を2次元空間として表している。黒い丸で示す目標状態にある、二自由度倒立振子200に、目標状態に至るまでの所定の時間間隔に3個の異なるトルク
【数5】
が与えられたとして、3個の異なる所定の時間間隔前の状態が計算される。探索木作成部101は、これらの状態を探索木の枝とする。さらに、生成された枝が示すそれぞれの状態に対して、3個の異なるトルク
【数6】
が与えられたとして、3個の異なる、さらに所定の時間間隔前の状態が計算される。
【0049】
ここで、位相空間を予め複数の区域に分割しておく。
【0050】
図5は、複数の区域に分割された位相空間を示す図である。分割は、想定される角度及び角速度の範囲を等分割してもよい。以下において、複数の区域のそれぞれをセルと呼称する。
【0051】
図3のステップS1040において、探索木作成部101は、所定の時間間隔前の状態の属するセルにすでに探索木の枝が登録されているかどうか判断する。すでに探索木の枝が登録されていれば、ステップS1060に進む。探索木の枝が登録されていなければ、ステップS1045に進む。
【0052】
図3のステップS1045において、探索木作成部101は、探索木作成部101が派生させた枝が表す所定の時間間隔前の状態が位相空間上の制約条件を満たすかどうか判断する。位相空間上の制約条件とは、物体である機械の性能または外部の障害物などにより、状態が存在することのできない位相空間の領域に対応する制約条件である。所定の時間間隔前の状態が位相空間上の制約条件を満たせば、ステップS050に進む。所定の時間間隔前の状態が位相空間上の制約条件を満たさなければ、ステップS060に進む。
【0053】
図3のステップS1050において、探索木作成部101は、探索木作成部101が派生させた枝が表す所定の時間間隔前の状態を探索木の枝として登録する。
【0054】
図3のステップS1060において、探索木作成部101は、探索木作成部101が派生させた枝が表す所定の時間間隔前の状態を破棄する。
【0055】
図6は、図3のステップS1050及びステップS1060の動作を説明するための図である。図6において、円形は状態を示し、黒い円形は目標状態を示す。また、実線の矢印は状態の遷移を示し、点線の矢印は計算の順序を示す。実線で示される状態の遷移の方向と点線で示される計算の順序の方向は逆である。探索木の枝は、原則として1個のセル内には1本しか存在しない。探索木作成部101が、探索木の枝がすでに存在するセルに新たな枝を定めた場合には、その枝(状態)は破棄される。すなわち、位相空間上の位置が近い状態はセルごとに集約される。このように、従来の探索木の枝を、セルを使用して集約することによって、計算コストを大幅に低減することができる。
【0056】
図3のステップS1070において、探索木作成部101は、探索が終了したかどうか判断する。探索木作成部101は、探索木の所定の深さまでの探索を終えた場合、あるいは所定時間の推移まで探索を終えた場合に探索が終了したと判断してもよい。探索が終了したと判断された場合には、処理が終了する。探索が終了していないと判断された場合には、ステップS1030に戻り、探索が継続される。
【0057】
図7は、軌道作成部105及び軌道制御部107による軌道作成及び軌道制御手順を説明するための流れ図である。
【0058】
図7のステップS2010において、軌道作成部105は、物体の現在状態を得る。具体的に、軌道作成部105は、第1ジョイント201及び第2ジョイント207に設けられた角度センサからの情報に基づいて、二自由度倒立振子200の現在状態を得る。ここで、角度センサは、図1の位置センサ109に相当する。
【0059】
図7のステップS2020において、軌道作成部105は、現在状態が属するセルを特定し、同じセルに属する探索木上の状態、すなわち枝を特定する。
【0060】
図9は、図7のステップS2020の動作を説明するための図である。図9において、円形は状態、斜線を付した円形は現在状態、黒い円形は目標状態を示す。また、実線の矢印は状態の遷移を示す。斜線で示した現在状態の属するセルに属する探索木の枝が特定される。
【0061】
図7のステップS2030において、軌道作成部105は、特定された探索木上の状態(枝)から目標状態(根)までの経路を特定する。図9において、特定された経路を太い線で表した。
【0062】
図7のステップS2040において、軌道制御部107が、軌道作成部105によって特定された経路に対して、位置・速度誤差フィードバック制御を行う。位置・速度誤差フィードバック制御については後で詳細に説明する。
【0063】
図7のステップS2050において、軌道作成部105は、物体の次の現在状態を得る。
【0064】
図7のステップS2060において、軌道作成部105は、次の現在状態が属するセルを特定し、同じセルに属する探索木上の状態、すなわち枝を特定する。
【0065】
図7のステップS2070において、軌道作成部105は、特定された探索木上の状態(枝)から目標状態(根)までの経路を特定する。
【0066】
図7のステップS2080において、軌道作成部105は、従来特定した経路と新たに特定した経路に対し、位置・速度誤差フィードバック制御を用いたシミュレーションを行い、両経路について最終状態を得る。
【0067】
図10は、図7のステップS2080の動作を説明するための図である。図10において、円形は状態、斜線を付した円形は位置センサ109によって検出された現在状態、黒い円形は目標状態を示す。また、実線の矢印は状態の遷移を示す。ノードAは、従来特定した経路上の状態であり、ノードBは、新たに特定した経路上の状態である。
【0068】
図7のステップS2090において、軌道作成部105は、従来の経路及び新たな経路の、シミュレーションによって得られた最終状態を比較し、最終状態が目標状態に近い方の経路を選択する。図10は、ノードBを含む、太い線で示す経路が選択された様子を示す。
【0069】
図7のステップS2100において、軌道制御部107が、軌道作成部105によって選択された経路に対して、位置・速度誤差フィードバック制御を行う。
【0070】
図7のステップS2110において、軌道制御部107が、選択された経路の末端に到達したかどうか判断する。選択された経路の末端に到達していれば、処理を終了する。選択された経路の末端に到達していなければ、ステップS2050に戻る。
【0071】
図7に示した軌道作成及び軌道制御手順の計算コストは非常に小さい。具体的に、図7のステップS2050乃至ステップS2110の計算は、0.01秒以内で実施することができた。計算は、インテルCore i7-640Mプロセッサ(2.8GHz)を単スレッドで利用して実施した。また、図7に示した軌道作成及び軌道制御手順によれば、物体の現在状態が当初の経路、すなわち軌道から外れた場合でも、新たな経路を求めるための計算コストが小さいのでリアルタイムに対応することができる。
【0072】
ここで、位置・速度誤差フィードバック制御について説明する。
【0073】
図8は、位置・速度誤差フィードバック制御を説明するための流れ図である。
【0074】
図8のステップS3010において、軌道制御部107は、探索木の枝より、nステップ先の短期目標状態Splan(t+n)を取得する。
【0075】
図8のステップS3020において、軌道制御部107は、現在状態Scur(t)より、ランダムなトルク(計画済のトルクTplanを中心とした一定区間内の一様乱数から選択したトルクTcomp)をかけてnステップ経過した後の状態Spred(t+n)を求める。
【0076】
図8のステップS3030において、軌道制御部107は、Spred(t+n)とSplan(t+n)の誤差を計算する。具体的に上記誤差は以下の式で表せる。
【数7】
ここで、qは、物体である機械の位置・姿勢であり、wpは位置・姿勢に対する重み、wvは速度に対する重みである。
【0077】
図8のステップS3040において、軌道制御部107は、所定回数の誤差計算を終えたかどうか判断する。所定回数は、例として200回である。所定回数の誤差計算を終えていれば、ステップS3050に進む。所定回数の誤差計算を終えていなければ、ステップS3020に戻る。
【0078】
図8のステップS3050において、軌道制御部107は、誤差最小となるTplan+Tcompを求め、トルク目標値として機械のアクチュエータへ送信し、1ステップ経過するまで同じトルクを維持し、処理を終了する。
【0079】
本発明による軌道計画方法について、本明細書では、説明を簡単にするために、物体を二自由度倒立振子としている。しかし、本発明の、探索木を時間の経過と逆方向の順序で予め求めておく考え方は、任意の物体の状態空間における軌道計画方法に適用することができる。
【0080】
つぎに、図2に示した二自由度倒立振子200のシミュレーションによる制御実験について説明する。二自由度倒立振子200の第1リンク205のリンク長は、l1であり、質量は、m1であり、重心位置203はリンクの中央である。二自由度倒立振子200の第2リンク211のリンク長は、l2であり、質量は、m2であり、重心位置209はリンクの中央である。また、重力加速度をgとする。二自由度倒立振子200の運動方程式は以下のとおりである。
【数8】
関節角度と重力の関係に対する理解を容易にするために、以下のように座標を変更した。
【数9】
【0081】
図11は、二自由度倒立振子200の初期状態を示す図である。二自由度倒立振子200の初期状態の座標は以下のとおりである。
【数10】
【0082】
図12は、二自由度倒立振子200の目標状態を示す図である。二自由度倒立振子200の目標状態の座標は以下のとおりである。
【数11】
【0083】
実験は、図7に示し軌道作成及び軌道制御の手順ならびに二自由度倒立振子200の運動をシミュレーションすることによって実行した。
【0084】
表1は、実験のシミュレーションの設定を示す。上述の前の状態までの時間間隔が、表1のトルク切替タイムステップに相当する。
【表1】
【0085】
表2は、第1関節及び第2関節のパラメータを示す。表2において、第1関節の最大トルク2 [Nm]、探索木作成時のトルク粒度10分割とは、探索木の新たな枝を派生させる際に、-2 [Nm]から2 [Nm]までのトルクの範囲を10分割し、たとえば、 -1.8 [Nm], -1.4[Nm], -1.0[Nm]... 1.0[Nm], 1.4[Nm], 1.8 [Nm]というようにトルクを与えて、運動方程式から次の状態(角度及び角速度)を求めることを意味する。実験においては、第1関節及び第2関節に、それぞれ10個の異なるトルクを与えるので、100個の異なる次の状態が派生する。ここで、最大トルクの値を調整することにより物体の動作を制限することもできる。
【表2】
【0086】
図13は、実験による、二自由度倒立振子200の第1関節201の角度q1及び第2関節207の角度q2の遷移を示す図である。図13の横軸は秒単位の時間を表す。図13の縦軸は、ラジアン単位の角度を表す。角度q1の初期値は、−πであり、角度q2の初期値は、0である。角度q1及び角度q2は、初期状態から約1.3秒で目標状態に遷移している。
【0087】
図14は、別の実験による、二自由度倒立振子200の第1関節201の角度q1及び第2関節207の角度q2の遷移を示す図である。図14の横軸は秒単位の時間を表す。図14の縦軸は、ラジアン単位の角度を表す。角度q1の初期値は、−πであり、角度q2の初期値は、0である。別の実験においては、制御開始から10秒経過ごとに、二自由度倒立振子200の状態を乱す外乱が加えられた。その他の条件は、上記の実験と同じである。角度q1及び角度q2は、外乱が加えられてから2秒以内に目標状態に遷移している。
【0088】
このように、本発明の軌道計画・制御方法及び軌道計画・制御システムによれば、探索木による網羅的な探索をリアルタイムで実施することができる。したがって、二足型ロボット、航空機、自動車などの機会が不安定な状態に陥った場合に安定な状態に回復させるためのリアルタイムな制御に使用することもできる。
【符号の説明】
【0089】
101…探索木作成部、103…探索木記憶部、105…軌道作成部、107…軌道制御部、109…位置センサ、111…アクチュエータ
【特許請求の範囲】
【請求項1】
軌道計画システムによって、物体の状態を目標状態へ制御するための軌道を求める軌道計画方法であって、
探索木作成部が、状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成するするステップと、
軌道作成部が、該物体の現在の状態を求めるステップと、
該軌道作成部が、該現在の状態に対応する該探索木の枝を求めるステップと、
該軌道作成部が、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求めるステップと、を含む軌道計画方法。
【請求項2】
状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する請求項1に記載の軌道計画方法。
【請求項3】
前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する請求項1または2に記載の軌道計画方法。
【請求項4】
該物体が、先端部を除く端部がジョイントによって接続された、1または複数の部材である請求項1から3のいずれかに記載の軌道計画方法。
【請求項5】
該物体が、ロボットの部材である請求項1から4のいずれかに記載の軌道計画方法。
【請求項6】
状態空間が位相空間である請求項1から5のいずれかに記載の軌道計画方法。
【請求項7】
請求項1から6のいずれかに記載の軌道計画方法によって求めた前記探索木上の経路にしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする軌道制御方法。
【請求項8】
前記物体の現在の状態に近い探索木の枝を定めることによって前記探索木上の新たな経路を求め、前記探索木上の従来の経路または該新たな経路のいずれかにしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする請求項7に記載の軌道制御方法。
【請求項9】
物体の状態を目標状態へ制御するための軌道を求める軌道計画システムであって、
状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成する探索木作成部と、
該探索木を記憶する探索木記憶部と、
該物体の現在の状態を求め、該現在の状態に対応する該探索木の枝を求め、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求める軌道作成部と、を備える軌道計画システム。
【請求項10】
状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する請求項9に記載の軌道計画システム。
【請求項11】
前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する請求項9または10に記載の軌道計画システム。
【請求項12】
状態空間が位相空間である請求項9から11のいずれかに記載の軌道計画システム。
【請求項13】
請求項9から12のいずれかに記載の軌道計画システムと、該軌道計画システムが求めた、前記探索木上の経路にしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする軌道制御部とを備えた、軌道計画・制御システム。
【請求項14】
請求項13に記載の軌道計画・制御システムを備えたロボットであって、該物体が、該ロボットの部材であり、前記探索木上の経路にしたがって、該ロボットの部材を制御するロボット。
【請求項1】
軌道計画システムによって、物体の状態を目標状態へ制御するための軌道を求める軌道計画方法であって、
探索木作成部が、状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成するするステップと、
軌道作成部が、該物体の現在の状態を求めるステップと、
該軌道作成部が、該現在の状態に対応する該探索木の枝を求めるステップと、
該軌道作成部が、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求めるステップと、を含む軌道計画方法。
【請求項2】
状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する請求項1に記載の軌道計画方法。
【請求項3】
前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する請求項1または2に記載の軌道計画方法。
【請求項4】
該物体が、先端部を除く端部がジョイントによって接続された、1または複数の部材である請求項1から3のいずれかに記載の軌道計画方法。
【請求項5】
該物体が、ロボットの部材である請求項1から4のいずれかに記載の軌道計画方法。
【請求項6】
状態空間が位相空間である請求項1から5のいずれかに記載の軌道計画方法。
【請求項7】
請求項1から6のいずれかに記載の軌道計画方法によって求めた前記探索木上の経路にしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする軌道制御方法。
【請求項8】
前記物体の現在の状態に近い探索木の枝を定めることによって前記探索木上の新たな経路を求め、前記探索木上の従来の経路または該新たな経路のいずれかにしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする請求項7に記載の軌道制御方法。
【請求項9】
物体の状態を目標状態へ制御するための軌道を求める軌道計画システムであって、
状態空間において、該目標状態を根とし、該目標状態に至るまでの状態を枝として、予め複数の区域に分割された状態空間の該複数の区域のそれぞれに一つの枝を有する探索木を予め作成する探索木作成部と、
該探索木を記憶する探索木記憶部と、
該物体の現在の状態を求め、該現在の状態に対応する該探索木の枝を求め、該現在の状態に対応する該探索木の枝から該根までの探索木上の経路を、物体の軌道として求める軌道作成部と、を備える軌道計画システム。
【請求項10】
状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する請求項9に記載の軌道計画システム。
【請求項11】
前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する請求項9または10に記載の軌道計画システム。
【請求項12】
状態空間が位相空間である請求項9から11のいずれかに記載の軌道計画システム。
【請求項13】
請求項9から12のいずれかに記載の軌道計画システムと、該軌道計画システムが求めた、前記探索木上の経路にしたがって、前記物体の軌道を制御することによって前記物体の状態を前記目標状態とする軌道制御部とを備えた、軌道計画・制御システム。
【請求項14】
請求項13に記載の軌道計画・制御システムを備えたロボットであって、該物体が、該ロボットの部材であり、前記探索木上の経路にしたがって、該ロボットの部材を制御するロボット。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−164061(P2012−164061A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−22742(P2011−22742)
【出願日】平成23年2月4日(2011.2.4)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願日】平成23年2月4日(2011.2.4)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]