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