説明

軌道計画方法、軌道計画システム及びロボット

【課題】計算コストを抑えながら状態空間の探索に制約が生じることのない軌道計画方法及び軌道計画システムを提供する。
【解決手段】物体の状態を状態空間において探索木の根として定め、所定の時間間隔における力学的な関係から時間経過した後の該物体の次の状態を状態空間において探索木の枝として定める探索木作成部101を備える。さらに既知状態登録木を記憶する既知状態登録木記憶部105と、予め区分された状態空間の複数のセルから次の状態が属するセルを定め、該セルに属する状態が既知状態登録木の枝としてすでに登録されているかどうか判断し、登録されている場合に次の状態を破棄し、そうでない場合に次の状態を該既知状態登録木の枝として登録する既知状態登録木作成部103と、を備える。既知状態登録木の枝として登録された状態の中から目標状態までの距離がもっとも小さい状態を選択し、その状態から軌道を求める軌道作成部107を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の、目標状態に至る状態遷移系列を作成する、軌道計画方法、軌道計画システム及び上記軌道計画システムを備えたロボットに関する。
【背景技術】
【0002】
たとえば、ロボットのアームの制御において、軌道計画に基づいてアームのジョイント部のトルクを制御し、アームを目標の状態とする場合に、アームの位置及び角度のみの軌道計画では、ジョイント部のトルクを制御することはできない。ジョイント部のトルクを制御するには、アームの角度及び角速度を含む状態空間(位相空間)の軌道計画を作成する必要がある。
【0003】
状態空間の軌道計画を作成する方法として、状態空間における状態遷移を探索木として記述する方法がある。この方法において、根または枝から、所定数の枝を派生させ、それぞれの枝を探索することが考えられる。しかし、派生させる枝の数をNとし、木の深さをMとすると、木の深さMのレベルで探索の対象となる枝の数は、Nとなる。したがって、派生させる全ての枝を探索する場合には計算コストが膨大となる。
【0004】
そこで、探索木の枝の評価関数を定め、評価関数にしたがって選択した枝のみから枝を派生させる方法が提案されている(非特許文献1)。この方法によれば、計算コストは抑えられる。しかし、評価関数は、対象ごとに設計者が経験によって決める必要がある。評価関数によっては、状態空間上の探索を十分に行えない場合も生じうる。すなわち、この方法では、状態空間の探索に制約が生じうる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Pedro S. Huang: ”Planning For Dynamic Motions Using a Search Tree”, a graduate thesis of Toronto Univ., (1996).
【発明の概要】
【発明が解決しようとする課題】
【0006】
したがって、計算コストを抑えながら、状態空間の探索に制約が生じることのない、軌道計画方法及び軌道計画システムに対するニーズがある。
【課題を解決するための手段】
【0007】
本発明による軌道計画方法は、軌道計画システムによって、物体の状態を目標状態へ制御するための軌道を求める方法である。本方法は、該軌道計画システムの探索木作成部が、該物体の状態を、状態空間において探索木の根として定めるステップと、該探索木作成部が、所定の時間間隔における力学的な関係から、該時間間隔が経過した後の、該物体の次の状態を、状態空間において探索木の枝として定めるステップと、を含む。本方法は、さらに、該軌道計画システムの既知状態登録木作成部が、予め区分された状態空間の複数のセルから、該次の状態が属するセルを定め、該セルに属する状態が、既知状態登録木の枝としてすでに登録されているかどうか判断するステップと、該セルに属する状態が登録されている場合に、該次の状態を破棄するステップと、該セルに属する状態が登録されていない場合に、該セルに属する該次の状態を該既知状態登録木の枝として既知状態登録木記憶部に登録するステップと、を含む。本方法は、さらに、該軌道計画システムの軌道作成部が、探索が終了した後に、該既知状態登録木記憶部に該既知状態登録木の枝として登録された状態の中から、該目標状態までの距離がもっとも小さい状態を選択し、その状態から、該既知状態登録木の根側に遡って求めた一連の状態によって軌道を求めるステップ、を含む。
【0008】
本発明の方法によれば、既知状態登録木作成部が、探索木の枝を、セルを使用して既知登録木の枝に集約するので、計算コストを大幅に低減することができる。このように、本発明の方法によれば、計算コストを抑えつつ、状態空間の探索に制約が生じることのない、軌道計画方法が得られる。
【0009】
本発明の実施形態によれば、状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する。
【0010】
本実施形態によれば、たとえば、障害物が存在する範囲を、状態が属することのできる範囲から除外することにより、障害物を回避して物体を動作させることが可能となる。
【0011】
本発明の実施形態によれば、前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する。
【0012】
本実施形態によれば、たとえば、与えるトルクの上限値を定めることにより、計画される物体の動作が実現可能なものとなるようにすることができる。
【0013】
本発明の実施形態によれば、該探索木作成部が、部材の状態空間上の次の状態を、探索木の枝として求める際に、探索木の末端の全ての枝から次の状態に対応する枝を派生させる。
【0014】
本実施形態によれば、探索木の末端の全ての枝から次の状態に対応する枝を派生させ、このように派生させた探索木の全ての枝を対象として網羅的な探索を行うことができる。この結果、状態空間を一様に探索することができる。
【0015】
本発明の実施形態によれば、該探索木作成部が、部材の状態空間上の次の状態を、探索木の枝として求める際に、探索木の枝の内、選択した枝から次の状態に対応する枝を派生させる。
【0016】
本発明の実施形態によれば、評価関数などによって選択的な探索を行う場合にも、計算コストを大幅に低減することができる。
【0017】
本発明の実施形態によれば、該既知状態登録木作成部が、該次の状態が属するセルが該目標状態を含む場合には、該セルに属する状態が、該既知状態登録木の枝としてすでに登録されている場合にも、該次の状態を破棄せず、該セルに属する該次の状態を該既知状態登録木の枝として既知状態登録木記憶部に登録する。
【0018】
本実施形態によれば、さらに目標状態に近い最終状態を得ることができる。
【0019】
本発明の実施形態によれば、該既知状態登録木作成部が、該セルに属する状態が登録されていない場合に、該次の状態を該セルに属する状態として登録した後に、該次の状態と該目標状態との状態空間における距離を求め、該距離が、これまでに該既知状態登録木の枝として登録された状態の該目標状態との距離の最小値よりも小さければ、該次の状態を最終最良状態として記録し、該軌道作成部が、該目標状態までの距離がもっとも小さい状態として、該最終最良状態を選択する。
【0020】
本実施形態によれば、既知状態登録木記憶部に既知状態登録木の枝として登録された状態の中から、目標状態までの距離がもっとも小さい状態を効率的に選択し、軌道を求めることができる。
【0021】
本発明の実施形態によれば、該物体が、先端部を除く端部がジョイントによって接続された、1または複数の部材である。
【0022】
本実施形態によれば、先端部を除く端部がジョイントによって接続された、1または複数の部材である物体の軌道計画を、低い計算コストで、探索に制約を伴わずに求めることができる。
【0023】
本発明の実施形態によれば、該物体が、ロボットの部材である。
【0024】
本実施形態によれば、ロボットの部材の軌道計画を、低い計算コストで、探索に制約を伴わずに求めることができる。
【0025】
本発明の実施形態によれば、状態空間が位相空間である。
【0026】
本実施形態によれば、位相空間を使用することにより、効率的に軌道計画を求めることができる。
【0027】
本発明による軌道計画システムは、物体の状態を目標状態とするための軌道を求める。本システムは、該物体の状態を、状態空間において探索木の根として定め、所定の時間間隔における力学的な関係から、該時間間隔が経過した後の、該物体の次の状態を、状態空間において探索木の枝として定める探索木作成部を備える。本システムは、さらに、既知状態登録木を記憶する既知状態登録木記憶部と、予め区分された状態空間の複数のセルから、該次の状態が属するセルを定め、該セルに属する状態が、既知状態登録木の枝としてすでに登録されているかどうか判断し、該セルに属する状態が登録されている場合に、該次の状態を破棄し、該セルに属する状態が登録されていない場合に、該セルに属する該次の状態を該既知状態登録木の枝として該既知状態登録木記憶部に登録する、既知状態登録木作成部と、を備える。本システムは、さらに、探索が終了した後に、該既知状態登録木記憶部に該既知状態登録木の枝として登録された状態の中から、該目標状態までの距離がもっとも小さい状態を選択し、その状態から、該既知状態登録木の根側に遡って求めた一連の状態によって軌道を求める軌道作成部を備える。
【0028】
本発明のシステムによれば、既知状態登録木作成部が、探索木の枝を、セルを使用して既知登録木の枝に集約するので、計算コストを大幅に低減することができる。このように、本発明によれば、計算コストを抑えることにより、状態空間の探索に制約が生じることのない、軌道計画システムが得られる。
【0029】
本発明の実施形態によれば、状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する。
【0030】
本実施形態によれば、たとえば、障害物が存在する範囲を、状態が属することのできる範囲から除外することにより、障害物を回避して物体を動作させることが可能となる。
【0031】
本発明の実施形態によれば、前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する。
【0032】
本実施形態によれば、たとえば、与えるトルクの上限値を定めることにより、計画される物体の動作が実現可能なものとなるようにすることができる。
【0033】
本発明による軌道計画・制御システムは、上記の軌道系画システムと、該軌道計画システムが求めた軌道をフィードバック制御によって実現する軌道制御部とを備えた、軌道計画・制御システムである。
【0034】
本発明による軌道計画・制御システムにおいては、軌道計画システムによって計画された軌道を、フィードバック制御によってリアルタイムで実現することができる。
【0035】
本発明によるロボットは、本発明による軌道計画・制御システムを備えたロボットであって、該物体が、該ロボットの部材であり、該軌道にしたがって、該ロボットの部材を制御する。
【0036】
本発明によるロボットにおいては、ロボットの部材の軌道計画を、低い計算コストで、探索に制約を伴わずに求めることができる。また、計画された軌道を、フィードバック制御によってリアルタイムで実現することができる。
【図面の簡単な説明】
【0037】
【図1】本発明の一実施形態による軌道計画システム100の構成を示す図である。
【図2】二自由度倒立振子の構成を示す図である。
【図3】本実施形態による軌道計画法を説明するための流れ図である。
【図4】図3のステップS020及びステップS030の動作を説明するための図である。
【図5】分割された位相空間を示す図である。
【図6】図3のステップS050及びステップS060の動作を説明するための図である。
【図7】二自由度倒立振子の初期状態を示す図である。
【図8】二自由度倒立振子の目標状態を示す図である。
【図9】実験1によって得られた第1関節位相空間の軌道を示す図である。
【図10】実験1によって得られた第2関節位相空間の軌道を示す図である。
【図11】実験1において、探索木の枝として求められた全ての第1関節の状態の位置を第1関節位相空間上に示した図である。
【図12】実験1において、探索木の枝として求められた全ての第2関節の状態の位置を第2関節位相空間上に示した図である。
【図13】実験2によって得られた第1関節位相空間の軌道を示す図である。
【図14】実験2によって得られた第2関節位相空間の軌道を示す図である。
【図15】実験2において、探索木の枝として求められた全ての第1関節の状態の位置を第1関節位相空間上に示した図である。
【図16】実験2において、探索木の枝として求められた全ての第2関節の状態の位置を第2関節位相空間上に示した図である。
【図17】実験3によって得られた第1関節位相空間の軌道、及び実験3において、探索木の枝として求められた全ての第1関節の状態の位置を示した図である。
【図18】実験3によって得られた第2関節位相空間の軌道、及び実験3において、探索木の枝として求められた全ての第2関節の状態の位置を示した図である。
【図19】図1に示した軌道計画・制御システムの微細軌道データ作成部及び軌道制御部の構成を示す図である。
【図20】軌道制御の動作を説明するための流れ図である。
【図21】軌道データ作成部によって作成された5ミリ秒ごとの軌道データ(細い線)と微細軌道データ作成部によって作成された5ミリ秒ごとの軌道データ(太い線)とを示す図である。
【図22】微細軌道データ作成部によって作成された5ミリ秒ごとの軌道データ(濃い線)と軌道生成の際にトルクに5%のノイズを加えた場合の軌道データ(薄い線)とを示す図である。
【図23】図22に示したノイズを加えた場合に、PIDコントローラによる制御を適用した場合の軌道データを示す図である。
【図24】複数の関節によって接続された複数の部材から構成されるロボットを示す図である。
【発明を実施するための形態】
【0038】
図1は、本発明の一実施形態による軌道計画システム100の構成を示す図である。軌道計画システム100は、ロボットのアームなどの物体の状態を目標状態とするための、状態空間における軌道を求めるシステムである。軌道計画システム100は、状態空間上の物体の位置に対応する枝を備えた探索木を作成する探索木作成部101と、探索木の枝の内、所定のものを枝とする既知状態登録木を作成する既知状態登録木作成部103と、既知状態登録木を記憶する既知状態登録木記憶部105と、既知状態登録木から、物体の状態空間における軌道を作成する軌道作成部107、微細軌道データを作成する微細軌道データ作成部110及び微細軌道データに基づいて軌道を制御する軌道制御部120を備える。各構成部の機能の詳細については、後で説明する。
【0039】
図2は、二自由度倒立振子200の構成を示す図である。以下の実施形態においては、2次元平面内で運動する二自由度倒立振子200を物体として説明を行なう。二自由度倒立振子200は、第1リンク205と、第2リンク211と、第1リンク205を回転可能に固定点に接続する第1関節(ジョイント)201と、第1リンク205及び第2リンク211を回転可能に接続する第2関節207と、から構成される。
【0040】
二自由度倒立振子200の運動は、第1関節201及び第2関節207に与えるトルクによって定まり、第1リンク205のX軸に対する角度
【数1】

第2リンク211の第1リンク205に対する角度
【数2】

及びこれらの角速度
【数3】

によって表現される。そこで、本実施形態において、状態空間として以下の位相空間を採
用する。
【数4】

【0041】
図3は、本実施形態による軌道計画方法を説明するための流れ図である。
【0042】
図3のステップS010において、探索木作成部101が、二自由度倒立振子200の現在の状態及び目標状態を得る。ここで、状態とは、位相空間上の位置を意味する。
【0043】
図3のステップS020において、探索木作成部101が、位相空間において、現在の状態の位置を探索木の根として定める。
【0044】
図3のステップS030において、探索木作成部101が、位相空間において、所定の時間間隔後の次の状態の位置を、探索木の枝として定める。所定の時間間隔後の次の状態の位置は、運動方程式や動力学シミュレータによって定める。上述のように、二自由度倒立振子200の運動は、第1関節201及び第2関節207に与えるトルクによって定まるので、所定の時間間隔に第1関節201及び第2関節207に与えるトルクを定めれば、二自由度倒立振子200の、所定の時間間隔後の次の状態が定まる。そこで、所定の時間間隔に第1関節201及び第2関節207に与えるトルクを最大値と最小値との間で、所定の増分で変化させながら、それぞれの場合に対応する次の状態を求めてもよい。この場合に、トルクを最大値と最小値との間で、所定の増分で変化させながら、幅優先探索により網羅的に探索を行なってもよい。
【0045】
図4は、図3のステップS020及びステップS030の動作を説明するための図である。なお、図4は、簡単のために位相空間を2次元空間として表している。現在の状態にある、二自由度倒立振子200に所定の時間間隔に3個の異なるトルク
【数5】

を与えることにより、3個の異なる次の状態が定まる。探索木作成部101は、これらの
状態を探索木の枝とする。さらに、生成された枝が示すそれぞれの状態に対して、3個の
異なるトルク
【数6】

を与えることにより、3個の異なる、さらに次の状態が定まる。
【0046】
図3のステップS040において、既知状態登録木作成部103は、探索木の枝の内、所定のものを枝とする既知状態登録木を作成する。既知状態登録木を作成するため、位相空間を予め、分割しておく。
【0047】
図5は、分割された位相空間を示す図である。分割は、想定される角度及び角速度の範囲を等分割してもよい。以下において、分割された位相空間をセルと呼称する。
【0048】
探索木作成部101が、探索木を作成する場合に、上述のように、根または枝から派生させる枝の数をNとし、木の深さをMとすると、木の深さMのレベルで探索の対象となる枝の数は、Nとなる。そこで、既知状態登録木作成部103は、上述のセルを利用して、探索木作成部101が派生させた枝を集約する。具体的に、既知状態登録木作成部103は、図3のステップS040において、以下の処理を行う。
【0049】
既知状態登録木作成部103は、探索木作成部101が派生させた枝が表す次の状態が位相空間のどのセルに属するか定める。つぎに、既知状態登録木作成部103は、そのセルに属する状態が、既知状態登録木の枝としてすでに登録されているかどうか判断する。登録されていなければ、ステップS045に進む。登録されていれば、ステップS060に進む。
【0050】
図3のステップS045において、既知状態登録木作成部103は、探索木作成部101が派生させた枝が表す次の状態が身体制約及び環境制約を満たすかどうか判断する。身体制約とは、身体の部材に相当する第1及び第2のリンクが、たとえばお互いに衝突しないために設けられる角度または角速度の制約である。また、環境制約とは、身体の部材に相当する第1及び第2のリンクが、たとえば外部の障害物に衝突しないように設けられる角度または角速度の制約である。次の状態が身体制約及び環境制約を満たせば、ステップS050に進む。身体制約及び環境制約のいずれかを満たさなければ、ステップS060に進む。
【0051】
図3のステップS050において、既知状態登録木作成部103は、探索木作成部101が派生させた枝が表す次の状態を既知登録木の枝として登録する。
【0052】
既知状態登録木作成部103は、既知登録木の枝を登録する際に、その枝が表す状態と目標状態との距離を求め、該距離を、すでに存在する既知登録木の枝が表す状態と目標状態との距離の内、最短の距離と比較し、該距離の方が短ければ、該距離に対応する状態を最終最良状態として、該距離とともに既知状態登録木記憶部105に記憶させてもよい。
【0053】
図3のステップS060において、既知状態登録木作成部103は、探索木作成部101が派生させた枝が表す次の状態を破棄する。
【0054】
図6は、図3のステップS050及びステップS060の動作を説明するための図である。既知登録木の枝は、原則として1個のセル内には1本しか存在しない。探索木作成部101が、既知登録木の枝(図6の実線で示した円)がすでに存在するセルに新たな枝(図6の点線で示した円)を定めた場合には、その枝は破棄される。すなわち、位相空間上の位置が近い状態は集約される。このように、従来の探索木の枝を、セルを使用して既知登録木の枝に集約することによって、計算コストを大幅に低減することができる。
【0055】
なお、既知状態登録木作成部103は、探索木作成部101が派生させた枝が、目標状態の属するセルに属する場合には、そのセルに属する状態に対応する既知状態登録木の枝がすでに登録されていても、例外的に新しい枝をさらに登録するようにしてもよい。このようにすることにより、さらに目標状態に近い最終状態を得ることが可能となる。
【0056】
図3のステップS070において、探索木作成部101は、探索が終了したかどうか判断する。探索木作成部101は、探索木の所定の深さまでの探索を終えた場合、あるいは所定時間の推移まで探索を終えた場合に探索が終了したと判断してもよい。探索が終了したと判断された場合には、ステップS080に進む。探索が終了していないと判断された場合には、ステップS030に戻り、探索が継続される。
【0057】
図3のステップS080において、軌道作成部107は、既知状態登録木の枝が表す状態の中から、目標状態との位相空間上の距離が最も近い状態を選択し、この状態を最良状態とする(最終状態最適化の場合)。既知状態登録木作成部103が最終最良状態を求めている場合には、最終最良状態を最良状態とする。あるいは、軌道作成部107は、既知状態登録木の枝が表す状態の中から、目標状態との位相空間上の距離が所定値以下であり、探索木の深さが最も浅い枝に対応する状態を選択し、この状態を最良状態とする(到達時間最適化の場合)。軌道作成部107は、最良状態から現在の状態(初期状態)まで、既知登録木の枝の経路を求めることにより現在の状態から最良状態に至る軌道を求める。このようにして軌道計画が求まる。たとえば、ロボットは、このようにして求めた軌道計画にしたがってアームを制御することにより、アームの最終状態を最適化し、あるいは、目標状態への到達時間を最適化することができる。
【0058】
本発明による軌道計画方法について、本明細書では、説明を簡単にするために、物体を二自由度倒立振子としている。しかし、本発明の、既知状態登録木を使用する考え方は、任意の物体の状態空間における軌道計画方法に適用することができる。
【0059】
つぎに、図2に示した二自由度倒立振子200のシミュレーションによる制御実験について説明する。二自由度倒立振子200の第1リンク205のリンク長は、lであり、質量は、mであり、重心位置203はリンクの中央である。二自由度倒立振子200の第2リンク211のリンク長は、lであり、質量は、mであり、重心位置209はリンクの中央である。また、重力加速度をgとする。二自由度倒立振子200の運動方程式は以下のとおりである。
【数7】

関節角度と重力の関係に対する理解を容易にするために、以下のように座標を変更した。
【数8】

【0060】
図7は、二自由度倒立振子200の初期状態を示す図である。二自由度倒立振子200の初期状態の座標は以下のとおりである。
【数9】

【0061】
図8は、二自由度倒立振子200の目標状態を示す図である。二自由度倒立振子200の目標状態の座標は以下のとおりである。
【数10】

【0062】
実験は、図3に示した軌道計画方法の手順及び二自由度倒立振子200の運動をシミュレーションすることによって実行した。
【0063】
実験1
表1は、実験1のシミュレーションの設定を示す。上述の次の状態までの時間間隔が、表1のトルク切替タイムステップに相当する。
【表1】

【0064】
表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においては、第1関節及び第2関節に、それぞれ10個の異なるトルクを与えるので、100個の異なる次の状態が派生する。
【表2】

【0065】
図9は、実験1によって得られた第1関節位相空間の軌道を示す図である。第1関節は、1.3秒後に目標状態に到達している。図9において、初期状態の角度qの座標は、πであり、−πに等しい。
【0066】
図10は、実験1によって得られた第2関節位相空間の軌道を示す図である。第2関節は、1.3秒後に目標状態に到達している。
【0067】
図11は、実験1において、探索木の枝として求められた全ての第1関節の状態の位置を第1関節位相空間上に示した図である。
【0068】
図12は、実験1において、探索木の枝として求められた全ての第2関節の状態の位置を第2関節位相空間上に示した図である。
【0069】
図11及び図12から、位相空間上のほぼ全体が探索されていることがわかる。このことは、位相空間上の任意の状態を目標状態として軌道計画が得られることを意味する。
【0070】
ここで、トルク粒度及び位相空間の状態分割数は、図11及び図12において、状態の位置が第1関節位相空間及び第2関節位相空間の十分広い範囲に一様に分布するように調整しながら定める。
【0071】
実験2
表3は、実験2のシミュレーションの設定を示す。上述の次の状態までの時間間隔が、表3のトルク切替タイムステップに相当する。
【表3】

【0072】
表4は、第1関節及び第2関節のパラメータを示す。実験2においては、実験1の場合よりも最大トルクを小さくしている。第2関節には、トルクを与えない。表4において、最大トルク1.5 [Nm]、探索木作成時のトルク粒度10分割とは、探索木の新たな枝を派生させる際に、-1.5 [Nm]から1.5[Nm]までのトルクの範囲を10分割し、たとえば、 -1.35 [Nm],-1.05[Nm], -0.75[Nm]... 0.75[Nm], 1.05[Nm], 1.35 [Nm]というようにトルクを与えて、運動方程式から次の状態(角度及び角速度)を求めることを意味する。実験2においては、第1関節に10個の異なるトルクを与え、第2関節にト
ルクを与えないので、10個の異なる次の状態が派生する。
【表4】

【0073】
図13は、実験2によって得られた第1関節位相空間の軌道を示す図である。第1関節は、4.9秒後に目標状態に到達している。図13において、初期状態の角度qの座標は、πであり、−πに等しい。
【0074】
図14は、実験2によって得られた第2関節位相空間の軌道を示す図である。第2関節は、4.9秒後に目標状態に到達している。
【0075】
図15は、実験2において、探索木の枝として求められた全ての第1関節の状態の位置を第1関節位相空間上に示した図である。
【0076】
図16は、実験2において、探索木の枝として求められた全ての第2関節の状態の位置を第2関節位相空間上に示した図である。
【0077】
図15を図11と比較し、図16を図12と比較すると、探索されていない領域が増加している。これは、最大トルクを小さく設定した結果、最大トルクで到達可能な領域が縮小したためである。最大トルクで到達可能な領域に対しては一様な探索が行なわれている。
【0078】
実験3
実験3は、第1位相空間上の、角度が−90°(−π/2)乃至0°の領域の状態となることがないように軌道を定める点を除いて、実験2と同じ条件で行った。位相空間上の領域を制限するには、図3のステップS045に示した手順による。
【0079】
図17は、実験3によって得られた第1関節位相空間の軌道、及び実験3において、探索木の枝として求められた全ての第1関節の状態の位置を示した図である。図17によれば、第1位相空間上の、角度が−90°(−π/2)乃至0°の領域(図17のAで示した領域)の状態は選択されていない。
【0080】
図18は、実験3によって得られた第2関節位相空間の軌道、及び実験3において、探索木の枝として求められた全ての第2関節の状態の位置を示した図である。
【0081】
図17と図13及び図18と図14をそれぞれ比較すると、軌道は異なっているが、図17及び図18に示すように最終的に目標に到達している。
【0082】
計算コストの評価
表5は、実験1、実験2及び実験1と同じ条件で、既知状態登録木を使用しなかった場合の探索状態数及び計算時間を示す表である。既知状態登録木を使用しなかった場合には、上述のように、根または枝から派生させる枝の数をNとし、最深部の木の深さをMとすると、最深部において探索の対象となる枝(状態)の数は、Nとなる。実験1の条件によると、
N=10x10=100
M=5[s]/0.1[s]=50
となる。最深部以外の深さの枝の数を加えると、探索状態数は、以下のおとりである。
【数11】

計算時間は、Intel Core2 Duo T7500 搭載のうち1コアのみを使用して測定した。
【0083】
表5によると、既知状態登録木を使用しなかった場合の探索状態数は膨大となり、網羅的な全探索を行うことはできない。本実施形態の実験1によれば、従来技術では実現できなかった、網羅的な全探索を行うことが可能となる。このように本発明によれば、位相空間上の探索が制約を受けることはない。
【0084】
また、本発明の既知状態登録木は、網羅的な全探索を行う場合だけではなく、評価関数などを使用して選択的に探索木を探索する場合にも適用することができる。
【表5】

【0085】
軌道制御
つぎに、作成された軌道の制御について説明する。
【0086】
図19は、図1に示した軌道計画・制御システムの微細軌道データ作成部110及び軌道制御部120の構成を示す図である。
【0087】
微細軌道データ作成部110は、軌道作成部107の作成した軌道データ(100ミリ秒ごとの角度、角速度、トルク)から、微細軌道データ(5ミリ秒ごとの角度
【数12】

、角速度
【数13】

、トルク
【数14】

)を作成する。
【0088】
軌道制御部120は、PIDコントローラ121、サーボ・モータ123及び角度センサ125を含む。軌道制御部120のPIDコントローラ121は、微細軌道データの角度を実現するように5ミリ秒ごとにサーボ・モータを操作する。このようにして、リアルタイムの軌道制御を実現することができる。
【0089】
図20は、軌道制御の動作を説明するための流れ図である。
【0090】
図20のステップS110において、微細軌道データ作成部110は、軌道作成部107から軌道データを受け取る。受け取る軌道データは、100ミリ秒ごとの角度、角速度及びトルクである。
【0091】
図20のステップS120において、微細軌道データ作成部110は、100ミリ秒ごとの角度、角速度及びトルクである軌道データから、運動方程式を用いて、5ミリ秒ごとの角度
【数15】

、角速度
【数16】

及びトルク
【数17】

である微細軌道データを作成する。
【0092】
図20のステップS130において、軌道制御部120は、微細軌道データに基づいてフィードバック制御を行う。具体的に、軌道制御部120のPIDコントローラ121は、5ミリ秒ごとに、微細軌道データから求めたn時間間隔後の角度
【数18】

を目標値とし、現在の角度測定値
【数19】

を出力値として、該目標値と該出力値との偏差からPID制御によってトルク目標値
【数20】

を操作量として定める。nは整数であり、n時間間隔とは5nミリ秒である。フィードバックゲインが十分である場合にはn=1が最適である。フィードバックゲインが不十分である場合には、nは、1より大きな整数から選択する。ここで、ノイズがない場合には、PIDコントローラ121がサーボ・モータ123へ出力するトルク目標値
【数21】

は、微細軌道データに含まれる予測トルク値
【数22】

と一致する。予測トルク値
【数23】

は、実験2において説明したようにトルク限界を考慮して計算されているため、PIDコントローラ121によるトルク目標値もトルク限界を踏まえた値の周囲に収まる。
【0093】
図21は、軌道データ作成部107によって作成された100ミリ秒ごとの軌道データ(細い線)と微細軌道データ作成部110によって作成された5ミリ秒ごとの軌道データ(太い線)とを示す図である。100ミリ秒ごとの軌道データは、図14に示した軌道データと同じである。
【0094】
図22は、微細軌道データ作成部110によって作成された5ミリ秒ごとの軌道データ(濃い線)と軌道生成の際にトルクに5%のノイズを加えた場合の軌道データ(薄い線)とを示す図である。図22から明らかなように、ノイズによって軌道は変化する。
【0095】
図23は、図22に示したノイズを加えた場合に、PIDコントローラ121による制御を適用した場合の軌道データを示す図である。図23に示す軌道データは、図22に示すノイズがない場合の軌道データと同じである。すなわち、フィードバック制御によってノイズはキャンセルされ、微細軌道データ作成部110によって作成された軌道が実現される。図23の軌道における色の濃さは、PIDコントローラ121の操作量の大きさを示している。
【0096】
ロボットへの応用
ここでロボットとは、少なくとも1個以上の関節(ジョイント)で接続された部材を有し、部材の位置を制御することのできる機械装置を指す。
【0097】
図24は、肘軸、肩軸、腰軸、足首軸など複数の関節によって接続された複数の部材から構成されるロボットを示す図である。ロボットの付近には障害物が存在し、ロボットの腕に相当する部材は、障害物を避けながら目標に到達するように制御される。
【0098】
図24に示すようなロボットにおいて、手先目標または全身姿勢目標へ向けて上半身に相当する部材と下半身に相当する部材を協調して動作させることを考える。この場合には、位相空間上における現在状態から次状態への遷移を、ロボットの全身(全部材)の運動方程式を用いて予測すればよい。
【0099】
図24に示すようなロボットにおいて、多関節を同時に制御することを考える。この場合には、全ての関節の関節角度及び関節角速度を、関節数の2倍の次元を有する高次元位相空間上に写像して機械状態を記述すればよい。
【0100】
図24に示すようなロボットにおいて、身体制約(ロボット自体の制約)を満たす運動を計画する。身体制約として、トルク制約を設ける場合には、実験2で説明したように、次状態の推定に使用するトルクに限界を設定する。身体制約として、位置または速度限界を設ける場合には、図3のステップS045に関して説明したように、制約条件を満たさない次の状態を破棄する。この場合の結果は、実験3に関連して説明した。
【0101】
図24に示すようなロボットにおいて、障害物を回避する運動を計画する。図3のステップS045に関して説明したように、障害物と接触する場合に次の状態を破棄する。
【0102】
図24に示すようなロボットを、作成した軌道にしたがってリアルタイムで動作させることを考える。この場合には、微細軌道データ作成部110によって微細軌道データを作成し、微細軌道データに基づいて図19に示したPIDコントローラ121によるPID制御などのフィードバック制御によってサーボ・モータ123を操作し、作成した微細軌道に沿って部材が動作するようにする。
【0103】
上記のように、本発明による軌道計画方法及び軌道計画システムは、複数の関節で接続された複数の部材から構成されるロボットにおいて、手先目標または全身姿勢目標へ向けて上半身に相当する部材と下半身に相当する部材を協調して動作させる場合、多関節を同時に制御する場合、身体制約を満たす運動を計画する場合、障害物を回避する運動を計画する場合、作成した軌道にしたがってリアルタイムでロボットを動作させる場合に有効に使用することができる。
【符号の説明】
【0104】
101…探索木作成部、103…既知状態登録木作成部、105…既知状態登録木記憶部、107…軌道作成部、110…微細軌道データ作成部、120…軌道制御部

【特許請求の範囲】
【請求項1】
軌道計画システムによって、物体の状態を目標状態へ制御するための軌道を求める軌道計画方法であって、
該軌道計画システムの探索木作成部が、該物体の状態を、状態空間において探索木の根として定めるステップと、
該探索木作成部が、所定の時間間隔における力学的な関係から、該時間間隔が経過した後の、該物体の次の状態を、状態空間において探索木の枝として定めるステップと、
該軌道計画システムの既知状態登録木作成部が、予め区分された状態空間の複数のセルから、該次の状態が属するセルを定め、該セルに属する状態が、既知状態登録木の枝としてすでに登録されているかどうか判断するステップと、
該既知状態登録木作成部が、該セルに属する状態が登録されている場合に、該次の状態を破棄するステップと、
該既知状態登録木作成部が、該セルに属する状態が登録されていない場合に、該セルに属する該次の状態を該既知状態登録木の枝として既知状態登録木記憶部に登録するステップと、
該軌道計画システムの軌道作成部が、探索が終了した後に、該既知状態登録木記憶部に該既知状態登録木の枝として登録された状態の中から、該目標状態までの距離がもっとも小さい状態を選択し、その状態から、該既知状態登録木の根側に遡って求めた一連の状態によって軌道を求めるステップと、を含む軌道計画方法。
【請求項2】
状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する請求項1に記載の軌道計画方法。
【請求項3】
前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する請求項1または2に記載の軌道計画方法。
【請求項4】
該探索木作成部が、物体の状態空間上の次の状態を、探索木の枝として求める際に、探索木の末端の全ての枝から次の状態に対応する枝を派生させる請求項1から3のいずれかに記載の軌道計画方法。
【請求項5】
該探索木作成部が、物体の状態空間上の次の状態を、探索木の枝として求める際に、探索木の枝の内、選択した枝から次の状態に対応する枝を派生させる請求項1から3のいずれかに記載の軌道計画方法。
【請求項6】
該既知状態登録木作成部が、該次の状態が属するセルが該目標状態を含む場合には、該セルに属する状態が、該既知状態登録木の枝としてすでに登録されている場合にも、該次の状態を破棄せず、該セルに属する該次の状態を該既知状態登録木の枝として既知状態登録木記憶部に登録する請求項1から5のいずれかに記載の軌道計画方法。
【請求項7】
該既知状態登録木作成部が、該セルに属する状態が登録されていない場合に、該次の状態を該セルに属する状態として登録した後に、該次の状態と該目標状態との状態空間における距離を求め、該距離が、これまでに該既知状態登録木の枝として登録された状態の該目標状態との距離の最小値よりも小さければ、該次の状態を最終最良状態として記録し、該軌道作成部が、該目標状態までの距離がもっとも小さい状態として、該最終最良状態を選択する請求項1から6のいずれかに記載の軌道計画方法。
【請求項8】
該物体が、先端部を除く端部がジョイントによって接続された、1または複数の部材である請求項1から7のいずれかに記載の軌道計画方法。
【請求項9】
該物体が、ロボットの部材である請求項1から8のいずれかに記載の軌道計画方法。
【請求項10】
状態空間が位相空間である請求項1から9のいずれかに記載の軌道計画方法。
【請求項11】
物体の状態を目標状態とするための軌道を求める軌道計画システムであって、
該物体の状態を、状態空間において探索木の根として定め、所定の時間間隔における力学的な関係から、該時間間隔が経過した後の、該物体の次の状態を、状態空間において探索木の枝として定める探索木作成部と、
既知状態登録木を記憶する既知状態登録木記憶部と、
予め区分された状態空間の複数のセルから、該次の状態が属するセルを定め、該セルに属する状態が、既知状態登録木の枝としてすでに登録されているかどうか判断し、該セルに属する状態が登録されている場合に、該次の状態を破棄し、該セルに属する状態が登録されていない場合に、該セルに属する該次の状態を該既知状態登録木の枝として該既知状態登録木記憶部に登録する、既知状態登録木作成部と、
探索が終了した後に、該既知状態登録木記憶部に該既知状態登録木の枝として登録された状態の中から、該目標状態までの距離がもっとも小さい状態を選択し、その状態から、該既知状態登録木の根側に遡って求めた一連の状態によって軌道を求める軌道作成部と、を備えた軌道計画システム。
【請求項12】
状態が属することのできる状態空間の範囲を定めることにより、物体の動作を制限する請求項11に記載の軌道計画システム。
【請求項13】
前記所定の時間間隔における力学的な関係に制約条件を定めることにより、物体の動作を制限する請求項11または12に記載の軌道計画システム。
【請求項14】
状態空間が位相空間である請求項11から13のいずれかに記載の軌道計画システム。
【請求項15】
請求鋼11から14のいずれかに記載の軌道計画システムと、該軌道計画システムが求めた軌道をフィードバック制御によって実現する軌道制御部とを備えた、軌道計画・制御システム。
【請求項16】
請求項15に記載の軌道計画・制御システムを備えたロボットであって、該物体が、該ロボットの部材であり、該軌道にしたがって、該ロボットの部材を制御するロボット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図24】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2011−161624(P2011−161624A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−274005(P2010−274005)
【出願日】平成22年12月8日(2010.12.8)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】