(57)【要約】【課題】ロボット動作計画時の非参照状態変数の存在に伴うマルコフ性の欠如を補償し、時間的コスト及び計算機コストの削減を行うロボット制御方法及びプログラムを提供する。【解決手段】外部指示により設定される指示入力値ｕ０に応じた興奮度ｕを興奮性神経素子１１を用いて生成する興奮度生成手順と、この興奮度生成手順で生成された興奮度ｕに基づいて、非参照状態変数に関する非ホロノミックロボット２０への制御入力値ｙを制御入力値設定部１２を用いて設定する入力値設定手順と、この入力値設定手順で設定された制御入力値ｙに基づいて、興奮度生成手順で生成された興奮度ｕを漸減的に抑制する制御を、状態フィードバック値生成部１３及び疲労性神経素子１４を用いて行う興奮度抑制手順とを循環的に実施する。【選択図】図１
2006110675.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて非ホロノミックなロボットの動作計画を行うに際し、当該ロボットの運動を支配する複数のパラメータのうち１以上を参照から除外して、残りのパラメータに対応した複数の状態変数を離散的な状態空間に構成した場合において、その参照されない１以上のパラメータに対応した１以上の非参照状態変数の存在に伴うマルコフ性の欠如を補償して、前記ロボットが適正に制御されるようにするためのロボット制御方法であって、
前記ロボットの動作に関して事前に離散化表現された複数の動作要素の各継続時間毎に、
外部指示により設定される指示入力値に応じた興奮度を興奮性神経素子を用いて生成する興奮度生成手順と、
この興奮度生成手順で生成された前記興奮度に基づいて、前記非参照状態変数に関する前記ロボットへの制御入力値を所定の関数を適用して設定する入力値設定手順と、
この入力値設定手順で設定された前記制御入力値に基づいて、前記興奮度生成手順で生成された前記興奮度を漸減的に抑制する制御を行う興奮度抑制手順と、を循環的に実施することにより、
前記ロボットから各動作要素の終了時刻に出力される前記非参照状態変数の変位量を、当該各動作要素の開始時刻における当該変位量に収束させるよう制御する、
ことを特徴とするロボット制御方法。
【請求項２】
前記興奮度抑制手順は、
前記入力値設定手順で設定された前記制御入力値に応じて前記ロボットから出力される前記非参照状態変数の変位量から状態フィードバック値を生成して、当該状態フィードバック値を第１の抑制性入力として前記興奮性神経素子に与える手順である、
ことを特徴とする請求項１に記載のロボット制御方法。
【請求項３】
前記興奮度抑制手順は、
微積分の関係を有する２以上の前記非参照状態変数が存在する場合、前記入力値設定手順で設定された前記制御入力値に応じて前記ロボットから出力される対応数の前記非参照状態変数の各変位量から、それぞれ対応数の状態フィードバック値を生成して、当該各状態フィードバック値の総和を第１の抑制入力として前記興奮性神経素子に与える手順である、
ことを特徴とする請求項１に記載のロボット制御方法。
【請求項４】
前記興奮度抑制手順は、
前記入力値設定手順で設定された前記制御入力値に応じた疲労度を疲労性神経素子を用いて生成して、当該疲労度を第２の抑制性入力として前記興奮性神経素子に与える手順をさらに含む、
ことを特徴とする請求項２又は３に記載のロボット制御方法。
【請求項５】
前記興奮度抑制手順と並行しつつ、前記入力値設定手順で設定された前記制御入力値に応じて前記ロボットから出力される前記非参照状態変数の変位量を当該制御入力値にフィードバックして、当該変位量を一定値に維持する制御をフィードバック制御アルゴリズムを用いて行うフィードバック手順をさらに実施する、
ことを特徴とする請求項４に記載のロボット制御方法。
【請求項６】
微積分の関係を有する２以上の前記非参照状態変数が存在する場合、
第１の制御過程として、微分階数が最も高い第１の前記非参照状態変数を制御対象とした前記複数の動作要素の中から、当該第１の非参照状態変数の変位量に関して時間積分値が等しく方向が逆の２つの前記動作要素を選択することにより、当該２つの動作要素の各変位波形を連結してなる第１の連結波形に関して新たな前記動作要素を構成し、
第２の制御過程として、前記第１の非参照状態変数よりも微分階数が１つ低い第２の前記非参照状態変数を制御対象とした前記複数の動作要素の中から、当該第２の非参照状態変数の変位量に関して前記第１の連結波形と時間積分値が等しく方向が逆の前記動作要素を選択することにより、当該動作要素の変位波形を前記第１の連結波形の積分値に連結してなる第２の連結波形に関して新たな前記動作要素を構成し、
第３以降の制御過程として、前記第２の非参照状態変数よりも微分階数が１つ以上低い第３以降の前記非参照状態変数が存在するときは、前記第２の制御過程と同様な操作により、選択に係る前記動作要素の変位波形を第２以降の連結波形に順次連結してなる第３以降の連結波形に関してそれぞれ新たな前記動作要素を構成する
ことを特徴とする請求項１、２、３、４又は５に記載のロボット制御方法。
【請求項７】
コンピュータに、請求項１乃至６の何れか１つに記載のロボット制御方法における興奮度生成手順、入力値設定手順、及び興奮度抑制手順を循環的に実行させる、
ことを特徴とするロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御方法及びプログラムに関し、詳しくは、コンピュータを用いて非ホロノミックなロボットの動作計画を行う際に、１以上の非参照状態変数が存在する場合でもロボットが適正に制御されるようにするロボット制御方法、及びその実施に直接使用されるロボット制御プログラムに係わる。
【背景技術】
【０００２】
各種移動体として広く使用されている４輪自動車、航空機、船舶や、或いはマニピュレータ搭載型人工衛星などは、ロボット工学における制御の観点から見た場合には、制御入力数以上の運動自由度を得ることの可能な非ホロノミックなロボットであると言える。以下に、コンピュータにより制御される非ホロノミックロボットの例として、４輪車移動ロボット及び水平多関節ロボットを挙げて説明する。
【０００３】
図１０は、非ホロノミック移動体としての４輪車移動ロボットの動作態様を示す図であり、図１１は、非ホロノミックマニピュレータとしての水平多関節ロボットの構成図である。
【０００４】
図１０に示す４輪車移動ロボット１は、構造的に真横方向への直接移動ができず、コンピュータ（図示せず）による前後進制御及び前輪方向制御の２つの制御入力から、２次元平面上における前後位置変位及び左右位置変位、並びに方向転回変位の３つの運動自由度を得ることが可能なものである。このため、４輪車移動ロボット１に、図示のように、動作開始点Ｓからその近傍の目標点Ｔに向けて、方向転回を伴う平面移動を行わせようとする場合には、その過程で、前後進動作を伴う切り返し動作を行わせる必要がある。
【０００５】
この場合、動作開始点Ｓ及び目標点Ｔとの間の各距離を各周回半径とする図示の第１及び第２の中心点Ｏ１及びＯ２を想定して、２つの円弧及び直線の各接点上に第１及び第２の切り返し点Ｋ１及びＫ２を設定することにより、これら円弧及び直線からなる軌道上を４輪車移動ロボット１に追従させる制御を行うことができる。この追従制御は、例えば、Ａ＊アルゴリズムなどのような決定論的なグラフ計算により行うことが可能とされるが、これは環境中に力学的外乱が存在しない場合に限られ、それが存在する場合には適用不可能となる。
【０００６】
一方、図１１に示す水平多関節ロボット２は、水平可動要素として、上腕部３、下腕部４、及び手先部５を有し、水平関節要素として、基体６と上腕部３とを連結する肩関節部７と、上腕部３と下腕部４とを連結する肘関節部８と、下腕部４と手先部５とを連結する手首関節部９とを有して構成されたものである。ここで、肩関節部７及び手首関節部９にはアクチュエータ（図示せず。網掛けにて表示）が装備されるが、それが肘関節部８には装備されない場合、この種の水平多関節ロボット２を位置制御するには、下腕部４の慣性や肘関節部８の摩擦トルクなどを考慮した特殊な制御アルゴリズムが必要となる。
【０００７】
以上のような非ホロノミック特性をもつ移動体やマニピュレータの先端位置を、コンピュータを用いて随意に制御することは、ブロケット（Brockett）の定理から、状態フィードバック制御のみでは不可能であることが知られている。状態フィードバック制御とは、ロボットに対する制御入力量を、当該ロボットの位置変数のみを引数として記述した関数により決定する制御手法をいう（上記ブロケットの定理及び状態フィードバック制御の更なる詳細については、下記の非特許文献１を参照）。
【非特許文献１】中村仁彦、「非ホロノミックロボットシステム  第２回  幾何学的な非ホロノミック拘束の下での運動計画」、日本ロボット学会誌、Ｖｏｌ．１１、Ｎｏ．５、ｐ．６５５−６６２、１９９３年７月
【０００８】
上記状態フィードバック制御の不適用性のため、非ホロノミックなロボットの制御に際しては、制御入力量を記述する関数の引数に時間変数をもつものを利用するのが通常である。また、高い自由度を持つホロノミックなロボット（例えば、多くの関節を持つマニピュレータや蛇型ロボットなど）を、障害物が存在する環境内で行動させる場合にも、上記状態フィードバック制御に加え、時間変数を引数に持つ関数を併用することが必須となる。しかし、このような関数を制御理論的に決定することは一般に難しい。
【０００９】
ここで、上記時間変数を引数とした制御入力関数の決定には、動作計画の手法が有効であることが知られている。動作計画とは、グラフ理論を応用することにより、離散的なグラフの各ノード及びトランジッションを、それぞれロボットの位置及び動作に対応させてグラフ探索計算を行い、そのロボットが目標位置に到達可能な履歴を算出することである。このとき、ロボットの動作は、上記グラフ探索計算が可能となるよう、短い時間単位に区切られた（離散表現された）複数の動作要素に分解した状態で記述される。
【００１０】
上記動作計画に関し、図１０に示した４輪車移動ロボット１では、そのための探索計算に際して、決定論的なグラフ計算が適用されることが多いが、これは、その４輪車移動ロボット１の動作要素が、円弧のように幾何学表現が可能なものであることを前提としたものである。しかし、現実の移動体では、ドリフト走行などの力学的外乱が生じることがあり、この外乱までも考慮した軌道を幾何学的に表現することは事実上困難であるため、上記決定論的なグラフ計算は現実的ではない。また、その外乱の程度が大きい場合に、円弧のような幾何学的形状からなる軌道上を追従制御させることも同様に困難である。このような場合、例えば動的計画法など、外乱の存在を考慮しうる確率論的な動作計画を適用するのが有効である。
【００１１】
また、図１１に示した水平多関節ロボット２は、その機構内に、下腕部４の慣性や肘関節部８の摩擦トルクなどの不確定要素を含んでいるため、この場合にも、それら不確定要素を考慮しうる動作計画を適用するのが有効である。
【００１２】
ところで、以上のロボットの動作計画に際して動作要素を作成する上で重要なのは、その動作計画におけるグラフ探索計算が決定論的なものによる場合には、グラフ探索計算を行う状態空間で表現されるロボットの動作が決定性を持っているようにすることであり、これに対し、そのグラフ探索計算が確率論的なものによる場合には、表現されるロボットの動作がマルコフ性（詳細は後述）を満たしていることである。特に、ロボットの動作においては、センサの誤差や環境の持つ外乱などの不確定要素が多く存在するため、後者の条件を扱う方がより現実的であり、前者の条件を満たすことができるロボットは、既述のごとく、数学的な表現により純粋な力学的モデルが記述可能な一部のロボットに限られている。但し、何れの手法を適用する場合でも、グラフ理論における離散的な状態空間を利用するのが通常である。
【００１３】
なお、上述したマルコフ性とは、離散的な状態空間で表現された環境中において、ある状態にある行動主体（ロボット）が、同様にして離散的に表現されたある行動をとった場合に、その結果として観測される状態遷移の確率が、行動主体がそれまでたどってきた状態遷移の履歴によらず、それぞれの状態毎によってのみ決定される性質を言う（上記マルコフ性の更なる詳細については、下記の非特許文献２を参照）。
【非特許文献２】Hajime Kimura, Shigenobu Kobayashi,“Efficient Non-Linear Control by Combining Q-learning with Local Linear Controllers,”Proceedings of 16th International Conference on Machine Learning, pp. 210-219, June 1999.
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ここで、ロボットの動作計画を実際に行う場合において、上述のマルコフ性を満たす状態空間を作成するには、ロボットの運動を支配すると考えられる位置、速度、加速度、負荷の大きさ、障害物の位置などのパラメータを状態変数として全て参照して、十分な解像度の離散的な空間を構成し、確率論的な要素として残るのが、センサ精度の限界とそれに伴って生じる環境の不確定性程度にとどめることが望ましい。しかし、ロボットは通常の機械に比べ運動の自由度が高いため、これに応じて、動作計画用の状態空間構成に必要な状態変数の数も自ずと多くなる。
【００１５】
このとき、状態変数の数が多い場合に顕著な問題となるのが、その数の増加に伴って指数関数的に増大する離散的状態数であり、このことは、グラフ探索計算にかかる時間的コストや、その計算に要するコンピュータのメモリ容量（計算機コスト）の指数関数的な増大をもたらす。特に、動的計画法のような確率論的な手法によりグラフ探索計算を行う場合、その計算に必要なマルコフ状態遷移モデルの獲得に必要な時間的コストは膨大なものとなる。また、動的計画法をベースとした強化学習においては、ロボットを実際の環境で動作させながら、そのマルコフ状態遷移モデルの獲得と確率論的なグラフ探索計算とを同時に行うものが多いが、こうした強化学習においても、離散的状態数の爆発的な増加は、その学習に要する時間的資源の爆発的な増加をまねく。これらの問題は、「状態空間爆発」又は「次元の呪い」として一般に知られている。
【００１６】
以上の問題から、実際のロボットの動作計画時には、本来参照すべき状態変数の参照を断念して、マルコフ性が満たされない状態空間を構成するか、或いは、参照すべき状態変数は全て参照しながらも、解像度の低い状態空間を使用することで、上記次元の呪いの問題を解こうとする手法の応用が試みられてきたが、前者はもちろん、後者においても、解像度が不十分であることから生じる非マルコフ性の問題が発生するケースが多かった（その適用例については、下記の非特許文献３を参照）。
【非特許文献３】Hiroshi Kawano, Tamaki Ura,“Motion Planning Algorithm for Non-Holonomic Autonomous Underwater Vehicle in Disturbance using Reinforcement Learning and Teaching Method,”Proceedings of IEEE/ASME International Conference on Robotics and Automation, pp. 4032-4038, May 2002.
【００１７】
また、解像度の低い状態空間と線形フィードバック制御則とを併用した動作計画を行う場合もあるが、こうした手法が、動作計画に使用される状態空間のマルコフ性を保証するという裏付はなく、未だ実用的な信頼を得られないのが現状である（例えば、前述の非特許文献２を参照）。
【００１８】
ここにおいて、本発明の解決すべき主要な目的は、次のとおりである。
即ち、本発明の第１の目的は、ロボットの動作計画を行うに際して１以上の非参照状態変数の存在に伴うマルコフ性の欠如を補償することの可能なロボット制御方法及びプログラムを提供せんとするものである。
【００１９】
本発明の第２の目的は、ロボットの動作計画時のグラフ探索計算に要する時間的コスト及び計算機コストを大幅に削減することの可能なロボット制御方法及びプログラムを提供せんとするものである。
【００２０】
本発明の他の目的は、明細書、図面、特に特許請求の範囲の各請求項の記載から、自ずと明らかとなろう。
【課題を解決するための手段】
【００２１】
本発明は、ロボットの動作計画を行う際に、動作計画用状態空間のマルコフ性を満たすために必要な状態変数が状態空間において参照されない場合でも、動作要素の開始時刻と終了時刻とにおいて、その状態変数の値が一定値に制御されていれば、所要のマルコフ性が十分に保たれ、かつ、そのような制御が、興奮性と疲労性とを持った神経素子モデルに対する状態変数のフィードバックを行って、その神経素子モデルの出力を用いてロボットの動作要素を構成することにより実現でき、また、場合により、そのような神経素子モデルによる制御と状態フィードバック制御アルゴリズムとが併用できることを、本願発明者が実験により見出したことに基づく。
【００２２】
このため、まず、本発明方法においては、コンピュータ内に設定された神経素子モデルが、ロボットの動作に関して事前に離散化表現された複数の動作要素の各継続時間毎に、（１）外部指示により設定される指示入力値に応じた興奮度を興奮性神経素子を用いて生成する興奮度生成手順と、（２）この興奮度生成手順で生成された興奮度に基づいて、非参照状態変数に関するロボットへの制御入力値を所定の関数を適用して設定する入力値設定手順と、（３）この入力値設定手順で設定された制御入力値に基づいて、興奮度生成手順で生成された興奮度を漸減的に抑制する制御を行う興奮度抑制手順とを循環的に実施する。以上の手順を採用することにより、本発明方法では、ロボットから各動作要素の終了時刻に出力される非参照状態変数の変位量が、当該各動作要素の開始時刻における当該変位量に収束するよう制御し、この制御により、１以上の非参照状態変数の存在に伴うマルコフ性の欠如を補償する。
【００２３】
また、本発明プログラムにおいては、上記本発明方法における（１）〜（３）の連続した手順を、所定の言語によりコンピュータ読み取り可能に記述して構成し、上記本発明方法の実施時には、同プログラムをコンピュータに導入して使用する。
【発明の効果】
【００２４】
以上のように、本発明によれば、ロボットから各動作要素の終了時刻に出力される非参照状態変数の変位量を、当該各動作要素の開始時刻における当該変位量に収束させるよう制御したことから、動的計画法のような確率論的なグラフ探索計算を適用する場合に、１以上の非参照状態変数の存在に伴うマルコフ性の欠如を補償することが可能となり、その結果、参照すべき状態変数の数を減少させることができるようになる。
【００２５】
これに伴い、本発明によれば、ロボットの動作計画時のグラフ探索計算に要する時間的コスト及び計算機コストを大幅に削減することが可能となり、これにより、その計算速度に対する要求の厳しさが大幅に緩和されるようになる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態につき、添付図面を参照しつつ、まず、その原理を図６〜図９に基づいて説明し、次いで、第１〜第４実施形態（図１〜図５）を順に挙げて説明する。
【００２７】
（原理）
図６（ａ）及び（ｂ）は、それぞれ、本発明により構成される動作要素の各継続時間におけるロボットへの制御出力値の時間変化と、これに伴いロボットから出力される非参照状態変数の変位量の時間変化とを表す図である。
【００２８】
同図（ｂ）に示すように、ロボット動作計画用の状態空間がマルコフ性を満たすために必要な拘束条件は、本願発明者の実験的検証によれば、「動作要素の開始時刻ｔ０と終了時刻ｔｅとにおいて、非参照状態変数の変位量ｘの値が等しく、かつ、その値が全ての動作要素において共通の値である」ことである。この拘束条件を満たしさえすれば、その他の時刻において非参照状態変数の変位量ｘのとる値に対する拘束はないが、同図に示すように、動作要素の開始時刻ｔ０付近では増加し、その終了時刻ｔｅ付近で減少するようにすれば、その形態は最も簡易なものとなる。なお、その変化の仕方については、図示のように滑らかでなくともよい。
【００２９】
同図（ａ）に示す制御出力値ｙは、以上の拘束条件に即した非参照状態変数の変位量ｘを得るためにロボットに与えられるものであり、本発明では、この制御出力値ｙを所定のアルゴリズムを用いて生成する手法を提供する。
【００３０】
図７に、以上の拘束条件を満たす動作要素に基づく動作計画を非ホロノミック移動体としての水中航行ロボットに適用した場合の動作を示す。ここで、同図（ａ）は、水中航行ロボットの方位角速度を非参照状態にした場合、同図（ｂ）は、同水中航行ロボットの方位角速度及び方位角を共に非参照状態にした場合、同図（ｃ）は、２次元デカルト位置座標のうち水中航行ロボットの進行方向に垂直な軸上の座標系のみを非参照状態にした場合をそれぞれ示す。
【００３１】
本来、この種の水中航行ロボット１ａの動作計画においては、その２次元デカルト位置座標、前進速度、方位角、及び方位角速度を状態変数として状態空間を構成しなければ、マルコフ性を満たすことができない。しかし、同図（ａ）に示すように、動作要素の切り替え時における方位角速度を常に一定値０に制御し、その他の時刻では特に固定しないようにすれば、水中航行ロボット１ａは自由に旋回運動を行うことができる。また、同図（ｂ）に示すように、動作要素の切り替え時に、方位角速度及び方位角を常に一定値０となるよう制御すれば、水中航行ロボット１ａは、このような条件下で切り返し動作を行いながら目標地点まで航行を行うことができる。さらに、同図（ｃ）に示すように、動作要素の切り替えを進行方向軸上のみで行い、その他の変数は自由な値をとることができるようにしても、水中航行ロボット１ａの運動性能が大きく妨げられることはない。
【００３２】
次に、図８に、以上の拘束条件を満たす動作要素に基づく動作計画を非ホロノミックマニピュレータとしての水平多関節ロボットに適用した場合の動作の遷移（（ａ）→（ｂ）→（ｃ）→（ｄ））を示す。ここで、同図に示す水平多関節ロボットの構成は、既に図１１に示したそれと同一であるものとする。
【００３３】
本来、この種の水平多関節ロボット２の動作計画においては、その肩関節部７、肘関節部８、及び手首関節部９の各関節角、並びにそれらの関節角速度を状態変数として状態空間を構成しなければ、マルコフ性を満たすことができない。しかし、グラフ探索計算を行うコンピュータの性能上の問題から、肘関節部８の角速度を参照できない場合、肩関節部７のアクチュエータのトルクを適切に制御すれば、肘関節部８の回転速度を、動作要素の切り替え時点で常に一定値０に制御することができ、かつ、ある一定量の変位を肘関節部８に与えることができる。
【００３４】
即ち、同図（ａ）に示すように、動作要素の開始時に、肩関節部７において高いトルクＴを発生させると、肘関節部８の座標系で見た場合、同肘関節部８の静止摩擦力により与えられる摩擦トルクよりも大きな回転トルクが、下腕部４に生じる慣性力Ｍによって肘関節部８に働き、同図（ｂ）に示すように、肩関節部７の回転とは逆方向の回転加速度Ｒが肘関節部８に発生する。その後、同図（ｃ）に示すように、動作要素の終了時点までに肩関節部７のトルクＴを低くすると、肘関節部８の座標系で見た場合、同肘関節部８の摩擦トルクよりも下腕部４の慣性力Ｍに伴う回転トルクが低くなり、肩関節部７の回転と同方向の回転加速度Ｒが肘関節部８に発生して、その肘関節部８の回転が減速される。そして、同図（ｄ）に示すように、動作要素の終了時点までに肘関節部８の回転は停止して、その後は肩関節部８の一定速回転が行われる。
【００３５】
この際、肩関節部７が発生するトルクＴと肘関節部８の角度変位量との関係は、双方の関節部７，８の角度によって決定されるため、実際の動作計画においては、このような角度に関する動作要素を複数用意すればよい。
【００３６】
ここで、以上に説明した拘束条件を満たす動作要素を実現するには、指示入力値ｕ０に対する興奮度ｕ及び疲労度ｖを内部パラメータとして持つ、以下の数理モデルで表現される神経素子モデルを適用することが有効である。
【００３７】
【数１】
2006110675.tif 000003
ここで、定数は、ｂ＞０，ｋｆ＞０，τｕ＞０，τｖ＞０であり、
ｙは、制御対象への入力値である。
【００３８】
このような神経素子モデルは、単体で使用した場合、指示入力値ｕ０として外部から正の値のインパルス入力が与えられたときに、一定時間正の値を出力した後に、その出力値を減少させていく性質がある。ここで、式１において、興奮度ｕは、第一式の右辺にある項の和で示される神経素子モデルへの入力値が正であるときに、その値が増加するものである。また、疲労度ｖは、神経素子モデルの出力値ｙ（制御対象への入力値ｙ）が正であるときに、その値が増加するものであり、負の符号をかけて入力される。さらに、この神経素子モデルの出力値ｙは、興奮度ｕに正比例した値である。
【００３９】
即ち、神経素子モデルに対して外部から正の指示入力値ｕ０が入力された場合、興奮度ｕの値は増加を始めるが、それに伴い出力値ｙが増加するため疲労度ｖの値も増加する。この結果、興奮度ｕの値の増加が抑制されて、ついには減少に転じる。
【００４０】
この神経素子モデルを２つ用い、それらの出力を互いに抑制しあうように結合すると、出力値ｙの値が自発的に発振する発振器として利用することが可能であり、一般にＣＰＧ（Central Pattern Generator）と呼ばれている。図９に、その回路を示すと共に、以下に、その数理モデルを示す。
【００４１】
【数２】
2006110675.tif 000004
ここで、定数は、ｂ＞０，ｋ１＞０，ｋ２＞０，τｕ＞０，τｖ＞０である。
【００４２】
図９及び式２に示すように、興奮度ｕ１及びｕ２は、互いの神経素子モデルへ負の係数をかけてフィードバックされ、各神経素子モデルの興奮が相手の神経素子モデルの興奮を抑制するよう機能するため、２つの神経素子モデルは交互に興奮するようになる。そこで、これら２つの神経素子モデルの出力値ｙ１及びｙ２の和を全体の出力値ｙとすると、この出力値ｙの値が振動するようになる。以上のようなＣＰＧ回路は、ロボット工学の分野では、歩行のような周期的な運動パターンを生成する際に使用されることが多い（上記ＣＰＧ回路及びその適用形態の更なる詳細については、下記の非特許文献４を参照）。
【非特許文献４】Kiyoshi Matsuoka,“Mechanism of Frequency and Pattern Control in the Neural Rhythm Generators,”Biological Cybernetics, Vol. 56, pp. 345-353, 1987.
【００４３】
本発明では、上記ＣＰＧ回路を構成する２つの神経素子モデルのうちの一方を、直接制御対象の非ホロノミックロボットとすることで、所要の動作要素を構成する。即ち、相手の神経素子モデルの興奮度をフィードバックすることに代えて、ロボットの動作計画計算における非参照状態変数の変位量ｘに負の状態フィードバックをかけて自身に入力するものである。以下に、本発明を具現化した第１〜第４実施形態について説明する。
【００４４】
（第１実施形態）
図１は、本発明の第１実施形態に係るロボット制御方法の実施に使用される神経素子モデルの構成図である。
【００４５】
同図に示すように、この第１実施形態に係るロボット制御方法の実施に際しては、コンピュータ（図示せず）内にソフトウェア的に設定された神経素子モデルαが使用される。この神経素子モデルαは、それぞれソフトウェア的に実現される興奮性神経素子１１、制御入力値設定部１２、状態フィードバック値設定部１３、及び疲労性神経素子１４を有して構成され、上記コンピュータが非ホロノミックロボット２０の動作計画を行う際に、当該非ホロノミックロボット２０の運動を支配すると考えられる位置、速度、加速度、負荷の大きさ、障害物の位置などの複数のパラメータのうち１以上を参照から除外して、残りのパラメータに対応した複数の状態変数を離散的な状態空間に構成した場合でも、非ホロノミックロボット２０が上記コンピュータにより適正に制御されるよう、当該非参照状態変数の存在に伴うマルコフ性の欠如を補償するよう機能する。
【００４６】
ここで、興奮性神経素子１１は、当該神経素子モデルαを内包する上記コンピュータからの指示（外部指示）により設定される指示入力値ｕ０を興奮性入力（図示の白丸は当該興奮性入力を表す）として入力することにより、当該指示入力値ｕ０に応じた興奮度ｕを生成する手順を実施する（興奮度生成手順）。そして、同興奮性神経素子１１は、その生成した興奮度ｕを制御入力値設定部２２に与える。
【００４７】
制御入力値設定部１２は、興奮性神経素子１１から与えられた興奮度ｕに基づいて、非参照状態変数に関する非ホロノミックロボット２０への制御入力値ｙを一次関数ｙ＝ｋｆｕ（ｋｆ：正の値からなる比例定数）を適用して設定する手順を実施する（入力値設定手順）。そして、同制御入力値設定部１２は、その設定した制御入力値ｙを非ホロノミックロボット２０に与えると同時に、同制御入力値ｙを、疲労性神経素子１４に対する抑制性入力（図示の黒丸は当該抑制性入力を表す。以下同じ）として当該疲労性神経素子１４に与える。
【００４８】
状態フィードバック値生成部１３は、制御入力値設定部１２から与えられた制御入力値ｙに基づいて、興奮性神経素子１１で生成された興奮度ｕを漸減的に抑制する制御を行うために、当該制御入力値ｙに応じて非ホロノミックロボット２０から出力される非参照状態変数の変位量ｘから状態フィードバック値ｋｐｘ（ｋｐ：正の値からなる比例定数）を生成する手順を実施する（興奮度抑制手順の一部）。そして、同状態フィードバック値生成部１３は、その生成した状態フィードバック値ｋｐｘを、興奮性神経素子１１に対する第１の抑制性入力として当該興奮性神経素子２１に与える。
【００４９】
疲労性神経素子１４は、制御入力値設定部１２から与えられた制御入力値ｙに基づいて、興奮性神経素子１１で生成された興奮度ｕを漸減的に抑制する制御を行うために、当該制御入力値ｙに応じた疲労度ｖを生成する手順を実施する（興奮度抑制手順の一部）。そして、同疲労性神経素子１４は、その生成した疲労度ｖに正の値からなる内部比例定数ｂを乗じて得た値（以下、この値を疲労度ｂｖと言い換える）を、興奮性神経素子１１に対する第２の抑制性入力として当該興奮性神経素子１１に与える。
【００５０】
以上のように構成された神経素子モデルαを、状態フィードバック値ｋｐｘをＦｅｅｄとして数理モデルにより表現すれば、以下のようになる。
【００５１】
【数３】
2006110675.tif 000005
即ち、この神経素子モデルαの実際の動作に際しては、外部から正の指示入力値ｕ０がインパルス入力されるのに伴い、興奮性神経素子１１における興奮度ｕの値が上昇して、制御入力値設定部１２から出力される制御入力値ｙが上昇し、これに伴い、非ホロノミックロボット２０から出力される非参照状態変数の変位量ｘが上昇すれば、状態フィードバック値生成部１３から負の状態フィードバックをかけて興奮性神経素子１１に与えられる状態フィードバック値ｋｐｘも上昇して、これにより、当該興奮性神経素子１１における興奮度ｕを抑制することになる。また、制御入力値設定部１２から疲労性神経素子１４に対して抑制性入力として与えられる制御入力値ｙに基づく疲労度ｂｖも、興奮性神経素子１１における興奮度ｕを抑制するよう作用する。
【００５２】
この結果、以上に説明した興奮度生成手順、入力値設定手順、及び興奮度抑制手順を循環的に実施することで、非ホロノミックロボット２０から各動作要素の終了時刻に出力される非参照状態変数の変位量ｘが、当該各動作要素の開始時刻における当該変位量に収束する。このとき、各動作要素の開始時刻における変位量は、最も簡易には０であってよく、これにより、ロボット動作計画用の状態空間がマルコフ性を満たすために必要な拘束条件、即ち「動作要素の開始時刻と終了時刻とにおいて、非参照状態変数の変位量ｘの値が等しく（０であり）、かつ、その値が全ての動作要素において共通の値である」との拘束条件が満たされるようになる。
【００５３】
なお、制御出力値ｙの具体例を挙げれば、先に示した図７の水中航行ロボット１ａの動作計画において、同図（ｂ）のように方位角及び方位角速度を非参照状態変数とする場合には、それは舵の切り角であるし、また、図８に示した水平多関節ロボット２の動作計画において、肘関節部８の回転角速度を非参照状態変数とする場合には、それは肩関節部７におけるアクチュエータのトルクＴとなる。
【００５４】
また、制御入力値設定部１２において与えられる関数（ｙ＝ｋｆｕ）についての条件は、それが純粋増加関数であることであり、従って、例示したような一次関数以外にも、設計者の随意により三次関数その他を適用することができる。
【００５５】
（第２実施形態）
図２は、本発明の第２実施形態に係るロボット制御方法の実施に使用される神経素子モデルの構成図である。
【００５６】
同図に示す神経素子モデルβは、上述した第１実施形態における神経素子モデルαの構成要素である興奮性神経素子１１、制御入力値設定部１２、状態フィードバック値設定部１３、及び疲労性神経素子１４に、フィードバック制御器１５と、これに伴う加算器１６とを追加したものである。
【００５７】
即ち、フィードバック制御器１５は、前述した状態フィードバック値生成部１３及び疲労性神経素子１４による興奮度抑制手順と平行しつつ、制御入力値設定部１２による入力値設定手順で設定された制御入力値ｙに応じて非ホロノミックロボット２０から出力される非参照状態変数の変位量ｘを、加算器１６を介しながら当該制御入力値ｙにフィードバックして、当該変位量ｘを一定値に維持する制御を所定のフィードバック制御アルゴリズムを用いて行う手順を実施する（フィードバック手順）。
【００５８】
ここで、上記フィードバック制御アルゴリズムの制御目標値は、各動作要素の開始時刻及び終了時刻において、非参照状態変数の変位量ｘがとるべき値と同じである（最も簡易には）。また、このとき使用するフィードバック制御則としては、通常のＰＩＤ制御の他、より精度の高い適応制御やロバスト制御などを適用してもよい。これにより、第１実施形態における神経素子モデルαのアルゴリズムに比べ、動作要素の切り替え時における非参照状態変数の変位量ｘの精度を向上させることが可能となる。
【００５９】
（第３実施形態）
図３は、本発明の第３実施形態に係るロボット制御方法の実施に使用される神経素子モデルの構成図である。
【００６０】
同図に示す神経素子モデルγは、上述した第２実施形態における神経素子モデルβの構成要素である興奮性神経素子１１、制御入力値設定部１２、状態フィードバック値設定部１３、疲労性神経素子１４、及びフィードバック制御器１５（加算器１６）から、状態フィードバック値設定部１３を排除したものである。
【００６１】
即ち、フィードバック制御器１５におけるフィードバック制御アルゴリズムは、非ホロノミックロボット２０から出力される非参照状態変数の変位量ｘを目標値付近に安定化させる能力を持っており、かつ、興奮性神経素子１１及び疲労性神経素子１４は、インパルス応答として自己の出力を０に収束させる能力を持っているので、第２実施形態におけるほどの精度は得られないものの、この第３実施形態のような構成であっても、動作要素実現のための所要の機能が得られることになる。
【００６２】
（第４実施形態）
図４は、本発明の第４実施形態に係るロボット制御方法の実施に使用される神経素子モデルの構成図である。
【００６３】
同図に示す神経素子モデルδは、前述した第１実施形態における神経素子モデルαの構成要素である興奮性神経素子１１、制御入力値設定部１２、状態フィードバック値設定部１３、及び疲労性神経素子１４から、疲労性神経素子１４を排除したものである。
【００６４】
即ち、非ホロノミックロボット２０から出力される非参照状態変数の変位量ｘに基づく状態フィードバック値が、状態フィードバック値設定部１３を通じて興奮性神経素子１１に与えられれば、疲労性神経素子１４を持たなくても、第３実施形態におけるそれと同様な機能が得られるようになる。
【００６５】
以上、第１〜第４実施形態につき説明したが、非ホロノミックロボット２０から出力される非参照状態変数の変位量ｘが、各動作要素の開始時刻と終了時刻との間でどれだけ変化するか、その非ホロノミックロボット２０の運動性能に大きく関係してくる。例えば、水中航行ロボット１ａの動作計画における非参照状態変数が方位角速度である場合、それら各動作要素の開始時刻と終了時刻とにおいて、方位角速度が０に固定されているとすれば、その時刻間における当該方位角速度の値がどれだけ激しい変化をするかによって、水中航行ロボット１ａの旋回角度や旋回半径の変化の度合いも決定される。ここで、この非参照状態変数の変化量の度合いを左右するのは、指示入力値ｕ０である。
【００６６】
この指示入力値ｕ０は、その波形の条件として、各動作要素の開始時刻直後に０から正の値に変化し、当該各動作要素の終了時刻までに０に減じられればよいが、最も簡易には、その動作要素の開始時刻直後に立ち上がりを開始するインパルス入力やステップ入力を適用することができる。これは、非ホロノミックロボット２０から出力される非参照状態変数の変位量ｘが、各動作要素の終了時刻付近で目標値（０）に収束することを促進する上で重要である。
【００６７】
ここで、上記指示入力値ｕ０の与え方を調整することで、非ホロノミックロボット２０の運動性能（例えば、上記水中航行ロボット１ａにおける旋回角度や旋回半径）を調整することができる。即ち、指示入力値ｕ０をインパルス入力で与えるならば、インパルス振幅値を調整し、それをステップ入力で与えるならば、ステップ振幅値及びステップ継続時間を調整すればよい。
【００６８】
なお、非ホロノミックロボット２０の運動性能を調整するには、動作要素全体の時間量を調整することも有効である。即ち、指示入力値ｕ０を与える時間が長くなれば、動作要素の終了時刻までに非参照状態変数の変化量も大きくなり、それが一定値に収束するまでの時間も長くなるため、それに応じて動作要素全体の時間量を増やすことが必要である。
【００６９】
ところで、非参照状態変数の中に、例えば、ある座標と関節回転角度の位置との組み合せや速度と加速度との組み合せなどのように、微積分の関係を有する２以上の非参照状態変数が存在する場合、第１，第２及び第４実施形態に対しては、状態フィードバック値生成部１３による興奮度抑制手順において、制御入力値設定部１２による入力値設定手順で設定された制御入力値ｙに応じて非ホロノミックロボット２０から出力される対応数の非参照状態変数の各変位量ｘ，ｘ，…から、それぞれ対応数のフィードバック値を生成して、当該各状態フィードバック値の総和を第１の抑制入力として興奮性神経素子に与える手順をとるようにする。このようにすることで、それら複数の非参照状態変数の各変位量ｘ，ｘ，…の値が、その動作時刻と終了時刻にて同時に一定値０に維持される動作要素を実現することができる。
【００７０】
また、非参照状態変数の中に微積分の関係を有する２以上の非参照状態変数が存在する場合、第１〜第４実施形態の全てに対し、以下に示すような動作要素の構成法を適用することができる。
【００７１】
図５（ａ）〜（ｃ）は、第１〜第４実施形態において２以上の非参照状態変数が微積分の関係を有する場合の動作要素の構成法を示す図である。
【００７２】
まず、同図（ａ）に示すように、第１の制御過程として、微分階数が最も高い第１の非参照状態変数（ｘの２階微分。例えば、加速度）を制御対象とした複数の動作要素の中から、当該第１の非参照状態変数の変位量に関して時間積分値が等しく方向が逆の２つの動作要素を選択することにより、当該２つの動作要素の各変位波形を連結してなる第１の連結波形に関して、その継続時間が２ｔｅとなる新たな動作要素を構成する。
【００７３】
次に、同図（ｂ）に示すように、第２の制御過程として、第１の非参照状態変数よりも微分階数が１つ低い第２の非参照状態変数（ｘの１階微分。第１の非参照状態変数が加速度の場合には、速度）を制御対象とした複数の動作要素の中から、当該第２の非参照状態変数の変位量に関して第１の連結波形と時間積分値が等しく方向が逆の動作要素を選択することにより、当該動作要素の変位波形を第１の連結波形の積分値に連結してなる第２の連結波形に関して、その継続時間が４ｔｅとなる新たな動作要素を構成する。
【００７４】
そして、同図（ｃ）に示すように、第３以降の制御過程として、第２の非参照状態変数よりも微分階数が１つ以上低い第３以降の非参照状態変数（第２の非参照状態変数が速度である場合には、位置）が存在するときは、第２の制御過程と同様な操作により、選択に係る動作要素の変位波形を第２以降の連結波形に順次連結してなる第３以降の連結波形に関してそれぞれ新たな動作要素を構成する。
【００７５】
以上のような過程をとることにより、連結された結果できあがった動作要素は、自動的に、２以上の非参照状態変数が動作要素の開始時刻と終了時刻とで一定値０に維持されるようになり、例えば、位置、速度、及び加速度の全てを同時に非参照状態変数とする際の動作要素を簡易に構成することができる。
【００７６】
なお、以上の第１〜第４実施形態で説明した興奮度生成手順、入力値設定手順、興奮度抑制手順などの各手順を、所定の言語によりコンピュータ読み取り可能に記述すれば、当該各手順を循環的に実行させるロボット制御プログラムが得られるようになる。
【００７７】
以上、本発明の実施の形態について説明したが、本発明は、必ずしも上述した手法及び手順にのみ限定されるものではなく、前述した効果を有する範囲内において、適宜、変更実施することが可能なものである。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１実施形態に係るロボット制御方法の実施に使用される神経素子モデルの構成図である。
【図２】本発明の第２実施形態に係るロボット制御方法の実施に使用される神経素子モデルの構成図である。
【図３】本発明の第３実施形態に係るロボット制御方法の実施に使用される神経素子モデルの構成図である。
【図４】本発明の第４実施形態に係るロボット制御方法の実施に使用される神経素子モデルの構成図である。
【図５】第１〜第４実施形態において２以上の非参照状態変数が微積分の関係を有する場合の動作要素の構成法を示す図である。
【図６】本発明により構成される動作要素の各継続時間におけるロボットへの制御出力値の時間変化と、これに伴いロボットから出力される非参照状態変数の変位量の時間変化とを表す図である。
【図７】本発明により構成される動作要素を非ホロノミック移動体としての水中航行ロボットに適用した場合の３例の動作を示す図である。
【図８】本発明により構成される動作要素を非ホロノミックマニピュレータとしての水平多関節ロボットに適用した場合の動作の遷移を示す図である。
【図９】ＣＰＧ回路の構成図である。
【図１０】非ホロノミック移動体としての４輪車移動ロボットの動作態様を示す図である。
【図１１】非ホロノミックマニピュレータとしての水平多関節ロボットの構成図である。
【符号の説明】
【００７９】
α，β，γ，δ…神経素子モデル
１…４輪車移動ロボット
１ａ…水中航行ロボット
２…水平多関節ロボット
３…上腕部
４…下腕部
５…手先部
６…基体
７…肩関節部
８…肘関節部
９…手首関節部
１１…興奮性神経素子
１２…制御入力値設定部
１３…状態フィードバック値生成部
１４…疲労性神経素子
１５…フィードバック制御器
１６…加算器
２０…非ホロノミックロボット
【図１】
2006110675.tif 000006
【図２】
2006110675.tif 000007
【図３】
2006110675.tif 000008
【図４】
2006110675.tif 000009
【図５】
2006110675.tif 000010
【図６】
2006110675.tif 000011
【図７】
2006110675.tif 000012
【図８】
2006110675.tif 000013
【図９】
2006110675.tif 000014
【図１０】
2006110675.tif 000015
【図１１】
2006110675.tif 000016