(57)【要約】【課題】実時間制御において、複合的な目的を達成するとともに作業時間を短縮することが可能な自走式移動体の制御システムを提供する。【解決手段】自走式掃除機１００の制御システム１は、変位可能な本体１１０と、本体１１０に取り付けられ、本体１１０に対して変位可能なアーム１２０と、本体１１０を駆動するための車輪駆動用モータユニット１３３と、アーム１２０を駆動するための第１のサーボ１２７と第２のサーボ１２８と、コンピュータ２００とを備え、コンピュータ２００は、本体１１０の変位に関する因子とアーム１２０の変位に関する因子との両方の因子に基づいて本体１１０の挙動とアーム１２０の挙動とを評価する評価関数を利用して、本体１１０の挙動とアーム１２０の挙動とを制御するように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを最適制御する。【選択図】図５
2010092343.tif 000002
【特許請求の範囲】
【請求項１】
変位可能な本体と、
前記本体に取り付けられ、前記本体に対して変位可能な可動部材と、
前記本体を駆動するための第１の駆動部と、
前記可動部材を駆動するための第２の駆動部と、
前記第１の駆動部と前記第２の駆動部とを制御する制御部とを備え、
前記制御部は、前記本体の変位に関する因子と前記可動部材の変位に関する因子との両方の因子に基づいて前記本体の挙動と前記可動部材の挙動とを評価する評価関数を利用して、前記本体の挙動と前記可動部材の挙動とを制御するように前記第１の駆動部と前記第２の駆動部とを最適制御する、自走式移動体の制御システム。
【請求項２】
前記制御部は、前記本体が所定の目標変位に向かって動くように前記第１の駆動部を制御し、前記可動部材が所定の作業を行うように前記第１の駆動部と前記第２の駆動部とを制御する、請求項１に記載の自走式移動体の制御システム。
【請求項３】
前記制御部は、前記本体が所定の障害物を回避して動くように前記第１の駆動部を制御し、前記可動部材が所定の作業を行うように前記第１の駆動部と前記第２の駆動部とを制御する、請求項１または請求項２に記載の自走式移動体の制御システム。
【請求項４】
前記本体が回避する障害物と前記可動部材の作業の対象とを検知するための視覚センサと、
前記視覚センサによって検知された情報を処理するための視覚情報処理部とを備え、
前記制御部は、前記視覚情報処理部によって処理された情報に基づいて、前記本体が回避する障害物を認識する、請求項３に記載の自走式移動体の制御システム。
【請求項５】
前記制御部は、前記本体が回避する障害物と前記可動部材の作業の対象とを前記視覚センサが検知するときには、前記可動部材を前記視覚センサの視野外に移動させるように、前記第１の駆動部と前記第２の駆動部とを制御する、請求項４に記載の自走式移動体の制御システム。
【請求項６】
前記可動部材は、所定の作業を行うための作業部を有し、
前記制御部は、前記作業部の作業の対象と前記作業部との距離に基づいて、前記評価関数内のパラメータを変化させる、請求項１から請求項５までのいずれか１項に記載の自走式移動体の制御システム。
【請求項７】
前記可動部材は、所定の作業を行うための作業部を有し、
前記制御部は、前記作業部の作業の対象と前記本体との距離に基づいて、前記評価関数内のパラメータを変化させる、請求項１から請求項６までのいずれか１項に記載の自走式移動体の制御システム。
【請求項８】
前記可動部材は、所定の作業を行うための作業部を有し、
前記評価関数は、前記作業部の作業の対象と前記作業部との距離に基づき、望ましくない場合に大きくなるペナルティ項を有し、
前記ペナルティ項は、前記評価関数の積分内ペナルティ項と前記評価関数の積分外ペナルティ項とを含む、請求項１から請求項７までのいずれか１項に記載の自走式移動体の制御システム。
【請求項９】
前記制御部は、前記作業部の作業の対象と前記作業部との距離に基づいて前記ペナルティ項の重み係数を変化させる、請求項８に記載の自走式移動体の制御システム。
【請求項１０】
前記制御部は、前記作業部の作業の対象と前記作業部との距離が所定の値よりも大きい場合には、前記積分内ペナルティ項の重み係数を増大させ、前記積分外ペナルティ項の重み係数を減少させる、請求項９に記載の自走式移動体の制御システム。
【請求項１１】
前記制御部は、前記作業部の作業の対象と前記作業部との距離が所定の値よりも小さい場合には、前記積分内ペナルティ項の重み係数を減少させ、前記積分外ペナルティ項の重み係数を増大させる、請求項９または請求項１０に記載の自走式移動体の制御システム。
【請求項１２】
前記評価関数は、制御入力に対するペナルティ項を含み、
前記制御部は、前記作業部の作業の対象と前記作業部との距離が所定の値よりも大きい場合には、前記制御入力に対するペナルティ項の重み係数のうち、前記本体の変位に関する重み係数を減少させる、請求項９から請求項１１までのいずれか１項に記載の自走式移動体の制御システム。
【請求項１３】
前記評価関数は、前記本体の目標変位と前記本体との距離に基づき、望ましくない場合に大きくなるペナルティ項を有し、
前記ペナルティ項は、前記評価関数の積分内ペナルティ項と前記評価関数の積分外ペナルティ項とを含む、請求項１から請求項１２までのいずれか１項に記載の自走式移動体の制御システム。
【請求項１４】
前記可動部材は、所定の作業を行なうための作業部を有し、
前記ペナルティ項は、前記作業部の作業の対象と前記本体との距離に基づく重み係数を含み、
前記制御部は、前記作業部の作業の対象と前記本体との距離に基づいて前記重み係数を変化させる、請求項１３に記載の自走式移動体の制御システム。
【請求項１５】
前記制御部は、前記作業部の作業の対象と前記本体との距離が所定の値よりも大きい場合には、前記積分内ペナルティ項の前記重み係数を増大させ、前記積分外ペナルティ項の前記重み係数を減少させる、請求項１４に記載の自走式移動体の制御システム。
【請求項１６】
前記制御部は、前記作業部の作業の対象と前記本体との距離が所定の値よりも小さい場合には、前記積分内ペナルティ項の前記重み係数を減少させ、前記積分外ペナルティ項の前記重み係数を増大させる、請求項１４または請求項１５に記載の自走式移動体の制御システム。
【請求項１７】
前記評価関数は、制御入力に対するペナルティ項を含み、
前記制御部は、前記作業部の作業の対象と前記本体との距離が所定の値よりも大きい場合には、前記制御入力に対するペナルティ項の前記重み係数のうち、前記本体の変位に関する前記重み係数を減少させる、請求項１４から請求項１６までのいずれか１項に記載の自走式移動体の制御システム。
【請求項１８】
前記制御部は、前記第１の駆動部と前記第２の駆動部とをオンライン最適制御することが可能なアルゴリズムを利用する、請求項１から請求項１７までのいずれか１項に記載の自走式移動体の制御システム。
【請求項１９】
前記制御部は、前記本体が所定の目標変位に向かって動くように前記第１の駆動部を制御し、前記可動部材が所定の作業を行なうように前記第１の駆動部と前記第２の駆動部とを制御し、オンライン最適制御のフィードバック周期毎に、前記評価関数内の前記可動部材の作業の対象の位置と前記本体の目標変位とを更新する、請求項１８に記載の自走式移動体の制御システム。
【請求項２０】
前記可動部材は、前記本体に対して２以上の自由度によって変位可能であるように構成されている、請求項１から請求項１９までのいずれか１項に記載の自走式移動体の制御システム。
【請求項２１】
前記可動部材は、所定の作業を行なうための作業部を有し、
前記制御部は、前記本体が所定の目標変位に向かって動くように前記第１の駆動部を制御し、前記作業部が所定の作業を行なうように前記第１の駆動部と前記第２の駆動部とを制御し、
前記評価関数は、前記本体の目標変位と前記本体の変位との差に対する第１のペナルティ項と、前記作業部と前記作業部の作業の対象との距離に対する第２のペナルティ項とを含み、
前記第１のペナルティ項の重み係数は、前記第２のペナルティ項の重み係数と比較して、相対的に小さい、請求項１から請求項２０までのいずれか１項に記載の自走式移動体の制御システム。
【請求項２２】
前記可動部材は、所定の作業を行なうための作業部を有し、
前記制御部は、前記本体が所定の障害物を回避して動くように前記第１の駆動部を制御し、前記作業部が所定の作業を行うように前記第１の駆動部と前記第２の駆動部とを制御し、
前記評価関数においては、前記本体が回避する障害物は、前記作業部の作業の対象、または、前記作業部の作業の対象の近傍の点であるように設定される、請求項１から請求項２１までのいずれか１項に記載の自走式移動体の制御システム。
【請求項２３】
前記制御部は、掃除が必要な任意の場所に向かって前記本体が移動するように前記第１の駆動部を制御し、前記可動部材が掃除を行なうように前記第１の駆動部と前記第２の駆動部とを制御する、請求項１から請求項２２までのいずれか１項に記載の自走式移動体の制御システム。
【請求項２４】
前記制御部は、作業対象空間内に存在する物体の周辺に向かって前記本体が移動するように前記第１の駆動部を制御し、前記可動部材が掃除を行なうように前記第１の駆動部と前記第２の駆動部とを制御する、請求項１から請求項２２までのいずれか１項に記載の自走式移動体の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般的には自走式移動体の制御システムに関し、特定的には、例えば、自走式移動体本体を移動させながら、本体に取り付けられた可動部材を本体に対して変位させるように、複数の目的を同時に達成する自走式移動体の制御システムに関する。
【背景技術】
【０００２】
従来、最適制御によって制御される自走式移動体やロボット等がある。自走式移動体やロボットを最適制御することによって、例えば、障害物を回避しながら目標位置まで移動する、といった複合的な目的をバランスよく達成するための最適な行動が可能になる。したがって、最適制御は、自律行動する自走式移動体やロボットに適したアルゴリズムである。
【０００３】
例えば、特開２０００−３３０６０９号公報（特許文献１）には、勾配法のような膨大な計算時間を要する繰り返し計算を必要とせず、リアルタイムに最適解を生成する実時間（リアルタイム）最適制御方法について記載されている。
【０００４】
しかし、最適制御によって制御される自走式移動体やロボット等には、共通して、最適制御を行なうために必要な計算時間が長いという課題がある。そのため、例えば、オンラインでフィードバック制御を行なうことが困難である。
【０００５】
そこで、例えば、小林友明著、「移動ロボットの最適制御シミュレーション」、シミュレーション、日本シミュレーション学会、平成１７年３月１５日、第２４巻、第１号、Ｐ．45-49（非特許文献１）には、実時間でフィードバック制御が可能な最適制御アルゴリズムが記載されており、最適制御の実用性が高まっている。
【特許文献１】特開２０００−３３０６０９号公報
【非特許文献１】小林友明著、「移動ロボットの最適制御シミュレーション」、シミュレーション、日本シミュレーション学会、平成１７年３月１５日、第２４巻、第１号、Ｐ．45-49
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述の最適制御アルゴリズムを用いると、例えば、自走式移動体が目的の位置まで移動するといった簡単な目的を達成することができる。しかし、自走式移動体は、例えば掃除を行なうときには、自走式移動体が障害物を避けるという目的と、関節のあるアームを展開して家具の周辺を掃除するという目的と、壁沿いに移動するという目的との３つの目的を同時に達成しなければならない複雑な状況におかれる場合もある。このような複雑な状況において目的を達成するように制御を行なう場合には、上述の最適制御アルゴリズムを用いて、それぞれの目的を達成するために必要な計算時間を短縮したとしても、複数の目的のすべてを実時間制御で実行するためには、ハードウェアの条件によっては、例えばオンライン制御を行なうために充分なだけ、複数の目的のすべてを実行するために必要な合計の作業時間を短縮できない場合がある。
【０００７】
このため、実時間制御をするかしないかに関わらず、計算時間を短縮するための工夫や、精度の高い制御を行なうための工夫を行なうことが必要である。
【０００８】
計算時間を短縮するひとつの方法としては、上述のように、アルゴリズム自体に工夫をすることが考えられる。しかし、最適制御アルゴリズムにおいては、一般的に、計算時間と制御精度とは両立しえない関係にあり、計算時間を短縮すれば制御精度が低くなり、制御精度を高めようとすると計算時間が長くなってしまう。計算時間を節約するために計算精度を落とした場合には、最適解の導出に失敗する可能性が高くなる。また、上述のような複雑で複合的な目的を達成しようとすると、状況によっては、最終的な大目的を達成するために設定される複数の小目的どうしが干渉しあったり、それぞれの小目的の目的を満足する最適解の計算に失敗したりして、結果として自走式移動体が設計者の意図に反する挙動を示す場合がある。
【０００９】
したがって、アルゴリズム自体を工夫しても、計算精度を保ったままで、複数の目的のそれぞれを実行するために必要な計算時間を短縮することによって複数の目的をすべて実行するために必要な計算時間を短縮して、自走式移動体に複数の目的を同時に達成させるように実時間制御を行なうことは困難である。
【００１０】
そこで、この発明の目的は、実時間制御において、複合的な目的を達成するとともに作業時間を短縮することが可能な自走式移動体の制御システムを提供することである。
【課題を解決するための手段】
【００１１】
この発明に従った自走式移動体の制御システムは、変位可能な本体と、本体に取り付けられ、本体に対して変位可能な可動部材と、本体を駆動するための第１の駆動部と、可動部材を駆動するための第２の駆動部と、第１の駆動部と第２の駆動部とを制御する制御部とを備え、制御部は、本体の変位に関する因子と可動部材の変位に関する因子との両方の因子に基づいて本体の挙動と可動部材の挙動とを評価する評価関数を利用して、本体の挙動と可動部材の挙動とを制御するように第１の駆動部と第２の駆動部とを最適制御する。
【００１２】
本体は、第１の駆動部によって駆動される。本体に取り付けられた可動部材は、第２の駆動部によって駆動される。制御部は、第１の駆動部と第２の駆動部とをそれぞれ制御することによって、例えば、本体には移動をさせ、可動部材には所定の作業を行なわせるというように、自走式移動体に複合的な目的を達成させることができる。
【００１３】
実時間制御を行なうことによって自走式移動体に複合的な目的を達成させるためには、制御部は、第１の駆動部と第２の駆動部のそれぞれを実時間制御する必要がある。そこで、最適制御を行なうために用いられる評価関数として、本体の変位に関する因子と可動部材の変位に関する因子との両方の因子に基づいて本体の挙動と可動部材の挙動とを評価する評価関数を利用する。すなわち、例えば、まず初めに本体の変位に関する因子に基づいて本体の挙動を制御し、次に、可動部材の変位に関する因子に基づいて可動部材の挙動を制御する、というように、複数の制御を別々に、順に行なうのではなく、本体と可動部材の両方の変位に基づいて、本体と可動部材の両方の挙動を制御する。
【００１４】
このようにすることにより、自走式移動体に複合的な目的を達成させるために、本体と可動部材とを別々に、順に制御する場合と比較して、精度を保って、作業時間を短縮することができる。
【００１５】
このようにすることにより、実時間制御において、複合的な目的を達成するとともに作業時間を短縮することが可能な自走式移動体の制御システムを提供することができる。
【００１６】
また、最適制御において解の計算が困難な状況では、長い計算時間を必要とする場合があるが、例えば、状況に応じて評価関数内のパラメータを変化させることにより、最適制御における解の計算にかかる計算時間を短縮することができる。
【００１７】
この発明に従った自走式移動体の制御システムにおいては、制御部は、本体が所定の目標変位に向かって動くように第１の駆動部を制御し、可動部材が所定の作業を行うように第１の駆動部と第２の駆動部とを制御することが好ましい。
【００１８】
このようにすることにより、本体を所定の目標変位に向かって動かしながら可動部材に所定の作業を行わせるという複合的な目的を達成することができる。
【００１９】
この発明に従った自走式移動体の制御システムにおいては、制御部は、本体が所定の障害物を回避して動くように第１の駆動部を制御し、可動部材が所定の作業を行うように第１の駆動部と第２の駆動部とを制御することが好ましい。
【００２０】
このようにすることにより、本体が所定の障害物を回避して動きながら、可動部材が所定の作業を行うという複合的な目的を達成することができる。
【００２１】
この発明に従った自走式移動体の制御システムは、本体が回避する障害物と可動部材の作業の対象とを検知するための視覚センサと、視覚センサによって検知された情報を処理するための視覚情報処理部とを備え、制御部は、視覚情報処理部によって処理された情報に基づいて、本体が回避する障害物を認識することが好ましい。
【００２２】
このようにすることにより、制御部は、本体が回避する障害物と可動部材の作業の対象とを容易に認識することができる。
【００２３】
この発明に従った自走式移動体の制御システムにおいては、制御部は、本体が回避する障害物と可動部材の作業の対象とを視覚センサが検知するときには、可動部材を視覚センサの視野外に移動させるように、第１の駆動部と第２の駆動部とを制御することが好ましい。
【００２４】
このようにすることにより、制御部は、本体が回避する障害物と可動部材の作業の対象とを正確に認識することができる。
【００２５】
この発明に従った自走式移動体の制御システムにおいては、可動部材は、所定の作業を行うための作業部を有し、制御部は、作業部の作業の対象と作業部との距離に基づいて、評価関数内のパラメータを変化させることが好ましい。
【００２６】
例えば、作業部の作業の対象と作業部との距離が大きいときには、作業部の変位を重視せず、作業部を短時間で作業の対象に近づけることを重視するように制御し、一方、作業部の作業の対象と作業部との距離が小さいときには、作業部の変位を厳密に制御する。このようにすることにより、効率的に複合的な目標を達成することができる。また、最適制御における計算時間を短縮することができる。
【００２７】
この発明に従った自走式移動体の制御システムにおいては、可動部材は、所定の作業を行うための作業部を有し、制御部は、作業部の作業の対象と本体との距離に基づいて、評価関数内のパラメータを変化させることが好ましい。
【００２８】
例えば、作業部の作業の対象と本体との距離が大きいときには、本体の変位を重視せず、本体と本体に取り付けられた可動部材の作業部とを短時間で作業の対象に近づけることを重視するように制御し、一方、作業部の作業の対象と本体との距離が小さいときには、本体の変位を厳密に制御する。このようにすることにより、効率的に複合的な目標を達成することができる。また、最適制御における計算時間を短縮することができる。
【００２９】
このようにして最適制御における計算時間を短縮することによって、本体と可動部材とを別々に、順に制御する場合と比較して、精度を保って計算時間を短縮することができる。このようにして精度を保って計算時間を短縮することによって、例えば家電製品など、計算処理能力に限度のある組み込みシステムにおいて、オンライン最適制御を用いたシステムを実現することができる。また、精度を保って計算時間を短縮することによって、本来ならば計算時間のかかる複雑な制御モデルを利用することができるので、本体と可動部材とを別々に動かす必要がなくなる。そのため、本体と可動部材とを連動させて複合的な目的を達成する複雑なシステムを実現することができる。このようにして、簡単な構成の自走式移動体に、高い自由度と高い作業能力を持たせることができる。
【００３０】
例えば、自走式移動体としてアームを備える掃除ロボットを想定する場合には、アームによって家具の周辺や隙間、壁際などの狭い場所の掃除を正確な制御で行わせつつ、本体は掃除対象から一定の距離を隔てて移動し、また、動き回る障害物を回避し、さらに、何らかの上位の行動ルールによって作業領域を巡回するように制御することが考えられる。このような、本体とアームの両方の挙動に結果が左右される複雑な作業を破綻なくこなすことが可能になる。
【００３１】
この発明に従った自走式移動体の制御システムにおいては、可動部材は、所定の作業を行うための作業部を有し、評価関数は、作業部の作業の対象と作業部との距離に基づき、望ましくない場合に大きくなるペナルティ項を有し、ペナルティ項は、評価関数の積分内ペナルティ項と評価関数の積分外ペナルティ項とを含むことが好ましい。
【００３２】
このようにして、作業部の作業の対象と作業部との距離に応じて、本体の変位と可動部材の変位の一方を他方よりも重視して制御したり、可動部材の変位を偏差なく目標変位に近づけることを重視して制御したり、可動部材の変位を偏差なく目標変位に近づけることを重視せずに短時間で大きな変位をさせたりすることができる。このようにすることにより、効率的に複合的な目標を達成することができる。また、最適制御における計算時間を短縮することができる。
【００３３】
この発明に従った自走式移動体の制御システムにおいては、制御部は、作業部の作業の対象と作業部との距離に基づいてペナルティ項の重み係数を変化させることが好ましい。
【００３４】
作業部の作業の対象と作業部との距離に基づいてペナルティ項の重み係数を変化させることによって、作業部の作業の対象と作業部との距離に応じて、作業部の変位を偏差なく目標変位に近づけることを重視するように制御したり、あるいは、作業部の変位を偏差なく目標変位に近づけることを重視せずに短時間で大きな変位をさせたりすることができる。このようにすることにより、効率的に複合的な目標を達成することができる。
【００３５】
この発明に従った自走式移動体の制御システムにおいては、制御部は、作業部の作業の対象と作業部との距離が所定の値よりも大きい場合には、積分内ペナルティ項の重み係数を増大させ、積分外ペナルティ項の重み係数を減少させることが好ましい。
【００３６】
積分内ペナルティ項の重み係数を増大させ、積分外ペナルティ項の重み係数を減少させることによって、作業部の変位を偏差なく目標変位に近づけることを重視せずに、短時間で大きな変位をさせることができる。作業部の作業の対象と作業部との距離が所定の値よりも大きい場合には、このようにすることにより、効率的に作業部を作業の対象に近づけることができる。
【００３７】
この発明に従った自走式移動体の制御システムにおいては、制御部は、作業部の作業の対象と作業部との距離が所定の値よりも小さい場合には、積分内ペナルティ項の重み係数を減少させ、積分外ペナルティ項の重み係数を増大させることが好ましい。
【００３８】
積分内ペナルティ項の重み係数を減少させ、積分外ペナルティ項の重み係数を増大させることによって、作業部の変位を厳密に、偏差なく目標変位に近づけることを重視して制御することができる。作業部の作業の対象と作業部との距離が所定の値よりも小さい場合には、このようにすることにより、効率的に作業部に所定の作業を行わせることができる。
【００３９】
この発明に従った自走式移動体の制御システムにおいては、評価関数は、制御入力に対するペナルティ項を含み、制御部は、作業部の作業の対象と作業部との距離が所定の値よりも大きい場合には、制御入力に対するペナルティ項の重み係数のうち、本体の変位に関する重み係数を減少させることが好ましい。
【００４０】
制御入力に対するペナルティ項の重み係数のうち、本体の変位に関する重み係数を減少させることによって、本体を短時間で大きく変位させることができる。作業部の作業の対象と作業部との距離が所定の値よりも大きい場合には、このようにすることにより、効率的に本体と本体に取り付けられた可動部材の作業部とを作業の対象に近づけることができる。
【００４１】
この発明に従った自走式移動体の制御システムにおいては、評価関数は、本体の目標変位と本体との距離に基づき、望ましくない場合に大きくなるペナルティ項を有し、ペナルティ項は、評価関数の積分内ペナルティ項と評価関数の積分外ペナルティ項とを含むことが好ましい。
【００４２】
このようにして、本体の目標変位と本体との距離に応じて、本体の変位と可動部材の変位の一方を他方よりも重視して制御したり、本体の変位を偏差なく目標変位に近づけることを重視して制御したり、本体の変位を偏差なく目標変位に近づけることを重視せずに短時間で大きな変位をさせたりすることができる。このようにすることにより、効率的に複合的な目標を達成することができる。また、最適制御における計算時間を短縮することができる。
【００４３】
この発明に従った自走式移動体の制御システムにおいては、可動部材は、所定の作業を行なうための作業部を有し、ペナルティ項は、作業部の作業の対象と本体との距離に基づく重み係数を含み、制御部は、作業部の作業の対象と本体との距離に基づいて重み係数を変化させることが好ましい。
【００４４】
作業部の作業の対象と本体との距離に基づいてペナルティ項の重み係数を変化させることによって、作業部の作業の対象と本体との距離に応じて、本体の変位を偏差なく目標変位に近づけることを重視するように制御したり、あるいは、本体の変位を偏差なく目標変位に近づけることを重視せずに短時間で大きな変位をさせたりすることができる。このようにすることにより、効率的に複合的な目標を達成することができる。
【００４５】
この発明に従った自走式移動体の制御システムにおいては、制御部は、作業部の作業の対象と本体との距離が所定の値よりも大きい場合には、積分内ペナルティ項の重み係数を増大させ、積分外ペナルティ項の重み係数を減少させることが好ましい。
【００４６】
積分内ペナルティ項の重み係数を増大させ、積分外ペナルティ項の重み係数を減少させることによって、本体の変位を偏差なく目標変位に近づけることを重視せずに、短時間で大きな変位をさせることができる。作業部の作業の対象と本体との距離が所定の値よりも大きい場合には、このようにすることにより、効率的に、本体と本体に取り付けられた可動部材の作業部とを作業の対象に近づけることができる。
【００４７】
この発明に従った自走式移動体の制御システムにおいては、制御部は、作業部の作業の対象と本体との距離が所定の値よりも小さい場合には、積分内ペナルティ項の重み係数を減少させ、積分外ペナルティ項の重み係数を増大させることが好ましい。
【００４８】
積分内ペナルティ項の重み係数を減少させ、積分外ペナルティ項の重み係数を増大させることによって、本体の変位を厳密に、偏差なく目標変位に近づけることを重視して制御することができる。作業部の作業の対象と本体との距離が所定の値よりも小さい場合には、このようにすることにより、本体を厳密に作業の対象に近づけて、効率的に、作業部に所定の作業を行わせることができる。
【００４９】
この発明に従った自走式移動体の制御システムにおいては、評価関数は、制御入力に対するペナルティ項を含み、制御部は、作業部の作業の対象と本体との距離が所定の値よりも大きい場合には、制御入力に対するペナルティ項の重み係数のうち、本体の変位に関する重み係数を減少させることが好ましい。
【００５０】
制御入力に対するペナルティ項の重み係数のうち、本体の変位に関する重み係数を減少させることによって、本体を短時間で大きく変位させることができる。作業部の作業の対象と本体との距離が所定の値よりも大きい場合には、このようにすることにより、効率的に本体と本体に取り付けられた可動部材の作業部とを作業の対象に近づけることができる。
【００５１】
この発明に従った自走式移動体の制御システムにおいては、制御部は、第１の駆動部と第２の駆動部とをオンライン最適制御することが可能なアルゴリズムを利用することが好ましい。
【００５２】
このようにすることにより、制御部を本体上に配置する必要がなくなる。制御部を本体上に配置する必要がないので、本体の重量を軽くすることができる。
【００５３】
この発明に従った自走式移動体の制御システムにおいては、制御部は、本体が所定の目標変位に向かって動くように第１の駆動部を制御し、可動部材が所定の作業を行なうように第１の駆動部と第２の駆動部とを制御し、オンライン最適制御のフィードバック周期毎に、評価関数内の可動部材の作業の対象の位置と本体の目標変位とを更新することが好ましい。
【００５４】
オンライン最適制御のフィードバック周期毎に、評価関数内の可動部材の作業の対象の位置と本体の目標変位とを更新することによって、可動部材の作業の対象と本体の目標変位とが、フィードバック周期毎に移動する。本体は、このようにして移動させられる目標変位に追従するように変位するように制御される。また、可動部材は、このようにして移動させられる作業の対象を追うように変位するように制御される。このようにすることにより、本体と可動部材を滑らかに変位させることができる。
【００５５】
この発明に従った自走式移動体の制御システムにおいては、可動部材は、本体に対して２以上の自由度によって変位可能であるように構成されていることが好ましい。
【００５６】
このようにすることにより、可動部材を目標変位に向かって動かすことが容易になる。
【００５７】
この発明に従った自走式移動体の制御システムにおいては、可動部材は、所定の作業を行なうための作業部を有し、制御部は、本体が所定の目標変位に向かって動くように第１の駆動部を制御し、作業部が所定の作業を行なうように第１の駆動部と第２の駆動部とを制御し、評価関数は、本体の目標変位と本体の変位との差に対する第１のペナルティ項と、作業部と作業部の作業の対象との距離に対する第２のペナルティ項とを含み、第１のペナルティ項の重み係数は、第２のペナルティ項の重み係数と比較して、相対的に小さいことが好ましい。
【００５８】
このようにすることにより、本体の変位を目標変位に近づけることよりも、作業部の変位を目標変位に近づけることを重視して制御することができる。
【００５９】
この発明に従った自走式移動体の制御システムにおいては、可動部材は、所定の作業を行なうための作業部を有し、制御部は、本体が所定の障害物を回避して動くように第１の駆動部を制御し、作業部が所定の作業を行うように第１の駆動部と第２の駆動部とを制御し、評価関数においては、本体が回避する障害物は、作業部の作業の対象、または、作業部の作業の対象の近傍の点であるように設定されることが好ましい。
【００６０】
このようにすることにより、作業部が作業の対象に対して所定の作業を行うようにしながら、本体が作業部の作業の対象に近づきすぎないように制御することができる。
【００６１】
この発明に従った自走式移動体の制御システムにおいては、制御部は、掃除が必要な任意の場所に向かって本体が移動するように第１の駆動部を制御し、可動部材が掃除を行なうように第１の駆動部と第２の駆動部とを制御することが好ましい。
【００６２】
このようにすることにより、効率的に掃除を行うことが可能な自走式移動体の制御システムを提供することができる。
【００６３】
この発明に従った自走式移動体の制御システムにおいては、制御部は、作業対象空間内に存在する物体の周辺に向かって本体が移動するように第１の駆動部を制御し、可動部材が掃除を行なうように第１の駆動部と第２の駆動部とを制御することが好ましい。
【００６４】
このようにすることにより、効率的に掃除を行うことが可能な自走式移動体の制御システムを提供することができる。
【発明の効果】
【００６５】
以上のように、この発明によれば、実時間制御において、複合的な目的を達成するとともに作業時間を短縮することが可能な自走式移動体の制御システムを提供することができる。
【発明を実施するための最良の形態】
【００６６】
以下、この発明の実施の形態を図面に基づいて説明する。
【００６７】
図１は、この発明のひとつの実施の形態として、自走式掃除機の全体を示す斜視図である。図２は、図１に示す自走式掃除機の本体の内部を図１の矢印ＩＩで示す方向から見たときの斜視図であり、図３は、図１に示す自走式掃除機の本体の内部を図１の矢印ＩＩＩで示す方向から見たときの斜視図である。
【００６８】
図１に示すように、自走式掃除機１００として自走式掃除機１００の本体１１０の表面には、主に、本体１１０を床面上で変位可能であるように、すなわち、本体１１０の位置と姿勢とを変化させることが可能であるように支持する一対の車輪１３０と、可動部材の一例であるアーム１２０と、視覚センサとして広角カメラ１４０とが配置されている。自走式掃除機１００は、例えば、アーム１２０を除いておよそ一辺が２０ｃｍの立方体程度の大きさである。この実施の形態においては、アーム１２０は、本体１１０の正面側に取り付けられているものとする。
【００６９】
自走式掃除機１００は、アーム１２０の先端によって、作業対象空間の部屋の中で自走式掃除機１００の本体１１０が進入できないような狭い場所や入り組んだ形状の場所の清掃を重点的に行うことを目的とした自走式掃除機１００である。この実施の形態においては、例えば、１２〜２０畳程度の部屋を作業対象空間、すなわち、掃除される部屋とする。
【００７０】
広角カメラ１４０は、床面から１６０ｍｍ程度の高さを維持するよう取り付けられ、下方を向くように角度がつけられている。
【００７１】
図２と図３に示すように、本体１１０の内部には、本体１１０の駆動源としてバッテリ１５０と、第１の駆動部として車輪駆動用モータユニット１３３と、広角カメラ１４０に接続される映像用無線通信手段１４１と、集塵用ファンモータ１６２と、ダストカップ１６３とが配置されている。また、本体１１０の内部には、これらの各部材を制御するための制御回路部１７１と、電源通信回路部１７２とが配置されている。本体１１０の下部には、吸引用開口部１６１が形成されている。
【００７２】
図４は、アームの全体を示す斜視図である。
【００７３】
図４に示すように、アーム１２０は、第１のリンク部１２１と、第２のリンク部１２２と、第３のリンク部１２３と、第１のリンク部１２１を本体１１０に取り付ける第１の関節１２４と、第１のリンク部１２１と第２のリンク部１２２とを接続する第２の関節１２５と、第２のリンク部１２２と第３のリンク部１２３とを接続する第３の関節１２６と、第１の関節１２４を駆動する第１のサーボ１２７と、第２の関節１２５を駆動する第２のサーボ１２８とから構成されている。また、アーム１２０の先端部１２０ａ、すなわち、第３のリンク部１２３の先端には、作業部の一例である吸気口１２９が形成されている。吸気口１２９は、所定の作業として掃除を行なうために塵埃を吸引する。第１のサーボ１２７と第２のサーボ１２８は、アーム１２０を駆動するための第２の駆動部の一例である。
【００７４】
第１のリンク部１２１は、第１の関節１２４を介して本体１１０に対して変位可能であるように本体１１０に取り付けられている。第２の関節１２５は、アーム１２０全長の略中間点に位置する。第２のリンク部１２２は、第２の関節１２５を介して、第１の関節１２４に対して変位可能であるように取り付けられている。第３の関節１２６は、受動的に動作する弾性関節である。第３のリンク部１２３は、第３の関節１２６を介して、第２のリンク部１２２に対して受動的に変位可能であるように取り付けられている。このようにして、アーム１２０は、本体１１０（図１）に対して２以上の自由度で変位可能であるように構成されている。
【００７５】
アーム１２０の第１のリンク部１２１と第２のリンク部１２２と第３のリンク部１２３の内部には、空洞が形成されている。アーム１２０の内部の空洞には、可撓性のホース（図示しない）が収容されている。アーム１２０の内部に収容されているホースは、第３のリンク部１２３の先端に形成されている吸気口１２９と、本体１１０の吸引用開口部１６１（図３）とを接続する流路を形成している。第２の関節１２５と第３の関節１２６には切り欠きが形成されている。このようにすることにより、第２の関節１２５と第３の関節１２６においてアーム１２０が曲げられても、内部のホースがつぶされることを防いで流路を確保することができる。
【００７６】
以上のように構成された自走式掃除機１００においては、集塵用ファンモータ１６２が駆動されると、アーム１２０の先端の吸気口１２９からゴミや埃がアーム１２０の内部に吸引される。アーム１２０の内部に吸引されたゴミや埃は、アーム１２０の内部のホースを通って、吸引用開口部１６１から本体１１０の内部に流入する。本体１１０の内部に流入したゴミや埃といった塵埃は、本体１１０内の流路（図示しない）を通って、ダストカップ１６３に運ばれ、ダストカップ１６３内にためられる。
【００７７】
図５は、自走式掃除機の制御システムの制御関連の構成を示すブロック図である。
【００７８】
図５に示すように、自走式掃除機１００の制御システム１は、制御関連の構成として、自走式掃除機１００に配置される構成要素と、自走式掃除機１００とは別に配置されるコンピュータ２００とを備える。自走式掃除機１００に配置される構成要素は、広角カメラ１４０と、映像用無線通信手段１４１と、通信回路１７３を有する電源通信回路部１７２と、制御回路部１７１と、車輪駆動用モータユニット１３３と、第１のサーボ１２７と第２のサーボ１２８である。コンピュータ２００は、送受信手段２１０と視覚情報処理部２２０と制御プログラム２３０とを有する。コンピュータ２００は制御部の一例であり、例えば、パーソナルコンピュータが用いられる。
【００７９】
自走式掃除機１００の映像用無線通信手段１４１は、コンピュータ２００の送受信手段２１０に無線で信号を送信する。コンピュータ２００の送受信手段２１０は、自走式掃除機１００の通信回路１７３に無線で信号を送信する。このように、自走式掃除機１００とコンピュータ２００は、無線の送受信を行う。
【００８０】
広角カメラ１４０は、障害物や作業の対象物を検知して、映像用無線通信手段１４１に画像情報として信号を送信する。映像用無線通信手段１４１は、コンピュータ２００に広角カメラ１４０から受信した信号を無線で送信する。
【００８１】
コンピュータ２００の送受信手段２１０は、映像用無線通信手段１４１から送信された情報を受信する。コンピュータ２００の視覚情報処理部２２０は、映像用無線通信手段１４１から送信された情報に基づいて、広角カメラ１４０が検知した情報を処理し、広角カメラ１４０が検知した障害物や作業の対象物を認識する。コンピュータ２００の制御プログラム２３０は、後述するように、視覚情報処理部２２０によって認識された障害物や作業の対象物についての情報に基づいて、車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８を駆動する条件を計算する。コンピュータ２００は、制御プログラム２３０が計算した条件に関する情報を含む制御信号を、送受信手段２１０を介して自走式掃除機１００の通信回路１７３に無線で送信する。制御信号は、車輪１３０の回転角速度、アーム１２０の関節の回転角速度に関する指令を含む。
【００８２】
自走式掃除機１００の通信回路１７３は、コンピュータ２００から受信した制御信号を制御回路部１７１に送信する。制御回路部１７１は、受信した制御信号に基づいて、車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８を駆動する。このようにして、自走式掃除機１００の本体１１０の移動と回転と、アーム１２０の姿勢とが制御プログラム２３０の意図どおりにコントロールされる。
【００８３】
制御回路部１７１は、通信回路１７３を介して、自走式掃除機１００の位置と姿勢に関する情報と、アーム１２０の位置と姿勢に関する情報を制御プログラム２３０に無線でフィードバックする。
【００８４】
このように、自走式掃除機１００は、コンピュータ２００上で動かされる制御プログラム２３０で生成された命令を無線で受信することによって操作され、また逆に、広角カメラ１４０が検知した画像情報と自走式掃除機１００の変位とアーム１２０の変位に関する情報とを無線で制御プログラム２３０にフィードバックする。
【００８５】
次に、自走式掃除機１００の制御シーケンスについて説明する。
【００８６】
本発明の自走式掃除機１００の制御システム１は、移動手段として車輪１３０によって移動しつつ、本体１１０から伸びたアーム状の機構としてアーム１２０で、精度を要する何らかの作業を行う自走式掃除機１００について、状況に応じて評価規範となる関数（評価関数）の内容をリアルタイムに変化させることにより、作業時間の節約と制御精度の確保を可能にするものである。
【００８７】
自走式掃除機１００が掃除される部屋の全体をどのようなルールで掃除するかについては、自走車やロボットの既存の経路計画法によって達成するものとして、ここではその手段は問わない。以下に、より下位の制御方法として、上位の行動ルールで大まかな行動ルートを決められているという前提で、なるべく上位の行動ルールによって定められたルートに沿って走行しつつ、狭い場所や入り組んだ場所の掃除を精密に行うための制御について説明する。
【００８８】
まず、自走式掃除機１００は、広角カメラ１４０で掃除される部屋の内部を撮影する。広角カメラ１４０によって撮影された画像は、上述のように、コンピュータ２００に送信されて、コンピュータ２００が掃除をする対象物を認識する。
【００８９】
図６は、広角カメラが撮影した画像をコンピュータが認識する行程を順に示す図である。
【００９０】
図６の（Ａ）に示すように、床面３０１上の壁３０２際に、掃除の対象として円筒３０３が立てられている状態を想定する。この実施の形態においては、この場合には、自走式掃除機１００は、壁３０２際と円筒３０３の底辺に沿って掃除を行うものとする。広角カメラ１４０は、図６の（Ａ）に示す画像を撮影し、撮影された画像は、コンピュータ２００の視覚情報処理部２２０に送信される。
【００９１】
視覚情報処理部２２０は、自走式掃除機１００が掃除する対象物として、画面上に写った物体、すなわち、円筒３０３と、床面３０１との境界線を抽出する。画面上に複数の境界線が存在していることもあると考えられるが、そのような場合には、自走式掃除機１００から見て一番手前に位置する境界線を選択する。
【００９２】
次に、視覚情報処理部２２０は、図６の（Ｂ）に示すように、抽出された境界線を２次元マップに展開する。広角カメラ１４０は床面から１６０ｍｍ程度の高さを維持するよう取り付けられ、下を向くように角度がつけられている。そこで、広角カメラ１４０が取得した画像（カメラ画面）を処理することによって、画像に写っている境界線と自走式掃除機１００までの距離をある程度算出することができる。このことを利用して、視覚情報処理部２２０は、境界線を抽出されたカメラ画面から、図６の（Ｂ）に示すような境界線の２次元マップを生成する。
【００９３】
次に、視覚情報処理部２２０は、図６の（Ｃ）に示すように、２次元マップ内の境界線を５ｍｍ間隔で量子化して、アーム１２０が掃除するための目標点群を生成する。
【００９４】
また、自走式掃除機１００の制御システム１は、広角カメラ１４０で掃除される部屋を撮影することにより、自走式掃除機１００が回避する障害物の認識を行う。自走式掃除機１００は、動かない障害物（静的障害物）については、静的障害物の周辺を掃除の対象とする。一方、動く障害物（動的障害物）については、動的障害物を回避する、あるいは、動的障害物から距離を取るように制御されるものとする。カメラを利用した動体検知の手法は公知のものが多く存在するが、自走式掃除機１００の制御システム１においては、どの方式が用いられてもよい。視覚情報処理部２２０がカメラ画像上の障害物を動的障害物であると判断した場合にも、静的障害物の場合と同様に画像処理によって座標を抽出し、自走式掃除機１００と動的障害物との位置関係を明らかにしておく。
【００９５】
なお、広角カメラ１４０が掃除される部屋の内部を撮影するときには、アーム１２０が広角カメラ１４０の視界を遮らないように、アーム１２０が図１の状態にたたまれるように、第１のサーボ１２７と第２のサーボ１２８が駆動されることが好ましい。
【００９６】
図７は、自走式掃除機と、自走式掃除機の掃除の目標点群とを模式的に示す図である。
【００９７】
図７に示すように、自走式掃除機１００が掃除を行う作業空間には基準となる座標系Ｗが存在し、自走式掃除機１００は上位の制御により、ある時点で座標系｛Ｗ｝に基づく位置ｗＰ０（ｘ０，ｙ０）にあるものとする。自走式掃除機１００は、その位置で画像を撮影し、視覚情報処理部２２０が上述の処理によって掃除するための目標点群を生成する。このとき、自走式掃除機１００の位置を原点として、新しい座標系｛Ａ｝を生成する。新しい座標系｛Ａ｝は、自走式掃除機１００の正面とｙ軸の方向を合わせて生成される。この座標系｛Ａ｝は、生成された時点では自走式掃除機１００の変位、すなわち、自走式掃除機１００の位置と姿勢を基準とするが、その後は環境に拘束されて自走式掃除機１００とともには動かないものとする。座標系｛Ａ｝の生成後、自走式掃除機１００は座標系｛Ａ｝を仮のワールド座標系（基準とする座標系）として行動する。
【００９８】
上述のようにして生成されたアーム１２０が掃除する目標点群も座標系｛Ａ｝に基づいて表現される。掃除対象物近辺における自走式掃除機１００の掃除行動は座標系｛Ａ｝に基づいて制御される。
【００９９】
自走式掃除機１００の目標点群は、次の式（１）で表される。
【０１００】
【数１】
2010092343.tif 000003
【０１０１】
自走式掃除機１００の掃除行動においては、適切なタイミングで式（１）中のｉの値を増加させる。このようにすることにより、掃除の目標を逐次遷移させていくことができるので、複雑な形状にアーム１２０が追従するよう制御することができる。式（１）中のｉの値を増加させることによって、アーム１２０の掃除の目標点を図６の（Ｃ）と図７に示す点群の左から右へ、順番に適切なタイミングで変えていく。このようにすることにより、アーム１２０について、掃除する対象物に沿った滑らかな動きを実現することができる。
【０１０２】
アーム１２０を障害物に追従させる制御としては例えば、基本的には、小林友明著、「移動ロボットの最適制御シミュレーション」、シミュレーション、日本シミュレーション学会、平成１７年３月１５日、第２４巻、第１号、Ｐ．45-49（以下、文献１とする）に記載されている実時間最適制御アルゴリズムを利用する。このアルゴリズムは最適制御の一種である。通常の最適制御における解の計算においては多くの反復計算が必要になるという問題点があり、計算時間がかかるため実時間でのフィードバック制御は困難であった。これに対して、上述の実時間最適制御アルゴリズムは解計算のための反復回数を減らすことによって、瞬間的な解の精度をいくらか落としているものの、走行中も繰り返し再計算を行うことにより最終的には計算精度を確保しつつ計算のオンライン化を実現している。
【０１０３】
自走式掃除機１００では、この再計算のタイミングで、式（１）に示す目標点を遷移させることによって、制御上の目標点を一定時間間隔で変化させ、アーム１２０が目標点群に沿って動くように、つまり、アーム１２０が障害物の表面に沿って動くように指令値を与えている。
【０１０４】
図８は、自走式掃除機と、座標系｛Ａ｝と座標系｛Ｂ｝との関係を模式的に示す図である。
【０１０５】
図８に示すように、自走式掃除機１００は本体１１０に拘束された座標系｛Ｂ｝を持つものとする。座標系｛Ｂ｝は、その原点が左車輪１３２と右車輪１３１の中間に位置し、ｘ軸が自走式掃除機１００の直進時の進行方向と一致するように設定されている。座標系｛Ａ｝における座標系｛Ｂ｝の原点位置を（ｘ，ｙ）、座標系｛Ｂ｝のｘ軸と｛Ａ｝のｘ軸とがなす角をθ０として、それぞれ、自走式掃除機１００の位置と姿勢として扱う。
【０１０６】
図８に示すように、座標系｛Ｂ｝のｘ軸と第１のリンク部１２１とがなす角をθ１とし、これを第１の関節１２４において本体１１０と第１のリンク部１２１とが成す角度（以下、第１の関節１２４の角度）とする。また、第１のリンク部１２１の長手方向に沿って延びる線と第２のリンク部１２２とがなす角をθ２とし、これを第２の関節１２５において第１のリンク部１２１と第２のリンク部１２２とが成す角度（以下、第２の関節１２５の角度）とする。
【０１０７】
アーム１２０の第３の関節１２６は能動的には制御されないので、図示を省略している。この図においては、第２のリンク部１２２と、第３の関節１２６と、第３のリンク部１２３との全体が第２のリンク部１２２として表されているとする。なお、アーム１２０の付け根の第１の関節１２４は座標系｛Ｂ｝のｘ軸上に配置（レイアウト）されているものとする。
【０１０８】
次に、自走式掃除機１００の最適制御に用いられる評価関数について説明する。
【０１０９】
文献１に記載されている評価関数は移動ロボットの最適制御に関するもので、状態変数として移動ロボットの位置（ｘ座標，ｙ座標）と方位角（姿勢）を選択している。
【０１１０】
自走式掃除機１００の制御においては、自走式掃除機１００の本体１１０の位置（ｘ座標，ｙ座標）と方位角（姿勢）に加えて、アーム１２０に関するパラメータを状態変数に含めることにより、実時間最適制御によってアーム１２０の挙動をも制御することが可能になっている。また、アーム１２０を目的の変位、すなわち、目的の位置と姿勢に向かって動かすと同時に、本体１１０も実時間最適制御によってコントロールされるため、アーム１２０による作業の自由度が向上する。このようにして、複雑な挙動の清掃が可能になる。
【０１１１】
自走式掃除機１００の制御においては、状態変数ξとして、本体１１０の位置（ｘ，ｙ）と、本体１１０の姿勢θ０と、第１の関節１２４の角度θ１と、第２の関節１２５の角度θ２とを選択する。状態方程式もそれに合わせたものとする。状態変数ξを式（２）に示す。
【０１１２】
【数２】
2010092343.tif 000004
【０１１３】
システムへの入力ｕは、自走式掃除機１００の移動速度νと、回転角速度ωと、第１の関節１２４の角速度と、第２の関節１２５の角速度とする。第１の関節１２４の角速度は、次の（３）で表される。
【０１１４】
【数３】
2010092343.tif 000005
【０１１５】
また、第２の関節１２５の角速度は、次の（４）で表される。
【０１１６】
【数４】
2010092343.tif 000006
【０１１７】
入力ｕは、式（５）で表される。
【０１１８】
【数５】
2010092343.tif 000007
【０１１９】
この場合、状態方程式も状態の数と入力の数に合わせた５状態・４入力のものになる。状態方程式を式（６）に示す。
【０１２０】
【数６】
2010092343.tif 000008
【０１２１】
最適制御では評価関数を小さくするような入力ｕが生成され、これによって制御対象に目的に沿った挙動を取らせることができる。
【０１２２】
文献１で例に挙げられている評価関数は、主に本体１１０の位置と姿勢と、それらに対する目標とのギャップを小さくし、結果として、本体１１０を目標の位置と姿勢に近付けるという意図で設計されている。
【０１２３】
自走式掃除機１００の制御においては、本体１１０の位置と姿勢に加えて、吸気口１２９が配置されているアーム１２０の先端部１２０ａの位置と姿勢も評価関数に含む。
【０１２４】
状態変数ξには、座標系｛Ａ｝における自走式掃除機１００の位置と姿勢が含まれているが、アーム１２０の先端部１２０ａの位置と姿勢は含まれていない。このため、変換式を利用して状態変数ξから座標系｛Ａ｝におけるアーム１２０の先端部１２０ａの位置と姿勢を算出する。アーム１２０の先端部１２０ａの位置と姿勢は、第１のリンク部１２１と第２のリンク部１２２の長さ等も利用して幾何的に算出することが可能である。以下、アーム１２０の先端部１２０ａの位置を（ｘａｒｍ，ｙａｒｍ）、アーム１２０の先端部１２０ａの姿勢をθａｒｍとする。アーム１２０の先端部１２０ａの位置と姿勢とをまとめて、式（７）で表す。
【０１２５】
【数７】
2010092343.tif 000009
【０１２６】
アーム１２０の先端部１２０ａの位置（ｘａｒｍ，ｙａｒｍ）に対する目標値は、上述の画像処理で生成された、式（１）に示す目標値である。アーム１２０の先端部１２０ａの姿勢をθａｒｍに対する目標値は、別途、次の（８）として任意に設定するものとする。
【０１２７】
【数８】
2010092343.tif 000010
【０１２８】
これらをまとめて、式（９）で表す。
【０１２９】
【数９】
2010092343.tif 000011
【０１３０】
また、状態変数ξから自走式掃除機１００の位置と姿勢に関する要素のみを抜き出し、これを単にηと置く。ηに対する目標値ηfは、別途何らかの基準に基づいて設定する。例えば、より上位の制御ループで生成した自走式掃除機１００の本体１１０用の予定走行コースであってもよいし、画像処理によって得られた掃除目標点群から一定の距離オフセットを取った点群を作成し、式（１）に示す目標値と同様に、再計算のたびに遷移させてもいい。いずれにせよ、自走式掃除機１００が通ってほしい理想のコースを設定する。
【０１３１】
自走式掃除機１００の本体１１０の位置と姿勢に関する要素ηと、ηの目標値ηｆは、次の式（１０）で表される。
【０１３２】
【数１０】
2010092343.tif 000012
【０１３３】
この実施形態における評価関数Ｊは、評価関数Ｊを用いて評価する時間帯をｔ０（制御開始時刻）〜ｔ１（制御終了時刻）とすると、基本的な部分は次の式（１１）で表現される。
【０１３４】
【数１１】
2010092343.tif 000013
【０１３５】
積分項に含まれない第一項は、自走式掃除機１００の本体１１０とその目標値とのギャップによるペナルティ項であり、第二項はアーム１２０の先端部１２０ａとその目標値とのギャップによるペナルティ項である。以後、これらを積分外ペナルティ項と呼ぶ。
【０１３６】
積分項内の第一項と第二項も同様にそれぞれ本体１１０とアーム１２０に関するペナルティ項である。以後、これらを積分内ペナルティ項と呼ぶ。
【０１３７】
Ｐａ，Ｐｂはそれぞれ本体１１０とアーム１２０に関する積分外ペナルティ項の重み行列である。Ｑａ，Ｑｂも同様に、それぞれ本体１１０とアーム１２０に関する積分内ペナルティ項の重み行列である。これらの４つの行列は、いずれも３×３の対角行列であり、行列内の各要素が対応するη，ηfの各要素についての重みに相当する。このため、例えばＰａ１，Ｐａ２を他の要素より大きくすれば、自走式掃除機１００の本体１１０の位置を、アーム１２０の先端部１２０ａの位置と姿勢などに優先して、厳密に目標に近付けるなどの挙動として効果が現れる。逆に、Ｐａ１，Ｐａ２・・・を比較的小さめに設定すると、自走式掃除機１００の本体１１０の位置は厳密に制御されない代わりに、アーム１２０の先端部１２０ａの位置が正確に制御される。このようにすることにより、アーム１２０の先端部１２０ａの目標位置を優先して守るために、自走式掃除機１００の本体１１０は、ある程度目標位置から離れて動くこともある。
【０１３８】
積分項内の第三項は、入力の各要素が大きいときペナルティ項を発生するもので、なるべく少ないエネルギーで目的を達成するように制御するための項である。Ｖは入力の次元にあわせた４×４の対角行列であり、同様に各要素が対応するｕの要素についての重みとして機能する。このＶの要素を大きくしたり小さくしたりすることにより、自走式掃除機１００の本体１１０の速度やアーム１２０の動きについて、急激な変化が起こらないよう設定したり、本体１１０とアーム１２０のどちらを優先して動かすかを設定することもできる。
【０１３９】
各ペナルティ項の重み係数は、次の式（１２）のように表される。
【０１４０】
【数１２】
2010092343.tif 000014
【０１４１】
評価関数Ｊには、自走式掃除機１００の制御システム１が認識した障害物の座標に対するペナルティ項を盛り込んでもよい。この実施の形態における自走式掃除機１００の位置（ｘ，ｙ）を、次の式（１３）に示す文献１内の式（１０）以降で確認できるロボットの位置（ｘ，ｙ）と同等と考えると、式（１４）と式（１５）に示す文献１内の式（１４）、（１５）と同様にして、評価関数に複数の障害物によるペナルティ項を盛り込むことが可能である。
【０１４２】
【数１３】
2010092343.tif 000015
【０１４３】
【数１４】
2010092343.tif 000016
【０１４４】
【数１５】
2010092343.tif 000017
【０１４５】
文献１では、障害物の位置とロボットの位置が近づきすぎるとペナルティ項が大きくなるよう設定されている。この手法をこの実施の形態に利用すれば、自走式掃除機１００の本体１１０と障害物との距離を近づきすぎないようにする入力ｕが生成される。結果として、自走式掃除機１００は障害物を避けて走行することができるようになる。
【０１４６】
図９は、自走式掃除機と、自走式掃除機が目標点群から抽出する点を模式的に示す図である。
【０１４７】
図９に示すように、上述の画像処理で得られた目標点群から３〜４点を抽出し、これらの点を障害物として扱うことができる。抽出された点を黒で示し、抽出されていない点を白で示す。
【０１４８】
このようにすることにより、対象物にアーム１２０を近づけて掃除しつつも自走式掃除機１００の本体１１０が掃除対象物に近付き過ぎない制御が可能になる。また、状態変数ξを利用して第３の関節１２６の位置を計算し、自走式掃除機１００の本体１１０と同様に第３の関節１２６も障害物を避けるようにペナルティ項を設定すると、複雑な形状の障害物や隙間にアーム１２０が絡まりにくくなる効果が期待できる。
【０１４９】
アーム１２０の先端部１２０ａは清掃のため掃除対象物に近付ける必要があるので、アーム１２０の先端部１２０ａに対しては、静的障害物によるペナルティ項を設定しない。
【０１５０】
動的障害物が存在する場合も同様に、自走式掃除機１００の本体１１０と第３の関節１２６との距離についてペナルティ項を設定する。動的障害物周辺は掃除の対象としておらず、アーム１２０に衝突された場合、アーム１２０の関節に大きなトルクがかかり、破壊などの被害が発生し得る。そこで、静的障害物のケースでは設定しなかったアーム１２０の先端部１２０ａにも動的障害物によるペナルティ項を設定する。
【０１５１】
画像処理が行われると、次は、認識した掃除対象（目標点群）の形状に沿ってアーム１２０を動かす制御と、自走式掃除機１００の本体１１０を別途設定した本体１１０の目標位置と姿勢に近づける制御とを、文献１に記載されている実時間最適制御アルゴリズムを用いて、同時に行う。
【０１５２】
この実施の形態における制御の基本部分は文献１の制御に準じている。一定周期ΔＴ毎に現在の状態ξや障害物位置をフィードバックしながら再計算を行う点も同様である。
【０１５３】
この実施の形態では、アーム１２０の先端部１２０ａに関し、この周期ΔＴ毎に上述の目標点群から順番に目標点を選択して再設定する。画像処理によって得られた目標点群の左端をｉ＝０の点とし、右に進むにつれてｉ＝１，２，３…としていく。これを順番に、ΔＴ毎に目標点として与えることにより、自走式掃除機１００は静的障害物の形状に沿ってアーム１２０の先端部１２０ａを左から右へ掃引する。アーム１２０の先端部１２０ａの遷移による目標点の移動が短距離の場合、ΔＴが小さくても自走式掃除機１００の挙動が目標点の移動に充分追従する。目標点は約５ｍｍ間隔に設定してあるため、ひとたび障害物付近にアーム１２０の先端部１２０ａが届いていれば、その後の追従には問題ない。
【０１５４】
画像処理直後はアーム１２０が折りたたまれた状態にあり、ηとηfのギャップは大きい状態にある。また、距離的にも、認識された壁などの掃除対象と自走式掃除機１００の本体１１０の距離が離れている可能性がある。現在の状態から目標の状態が遠い場合、すなわち、例えばアーム１２０の先端と最初の目標位置が大きく離れている場合、どのような入力を生成しても評価関数の値Ｊが小さくならず、最適な入力ｕが生成できないという問題がある。その結果、自走式掃除機１００の本体１１０とアーム１２０の先端部１２０ａの位置の制御精度が落ちることもあり、静的障害物の周辺を清掃する自走式掃除機１００としての目標を達成できないことがある。
【０１５５】
そこで、この実施の形態では、アーム１２０の先端部１２０ａまたは本体１１０に関し、アーム１２０の先端部１２０ａの目標点との距離が一定以上である場合には、目標点を遷移させないことにより、アーム１２０や本体１１０の動きが目標に追従できず距離が離れ続けてしまうことを防いでいる。画像処理直後は静的障害物と距離が離れている場合が多いため、画像処理直後の時点において目標点と本体１１０との距離が３５ｃｍ以上ある場合（以下、フェーズ１とする）は、時間がΔＴ分経過しても目標点を次の目標点に遷移させない。なお、アーム１２０の長さは第１のリンク部１２１が約１３ｃｍ、第２のリンク部１２２が約１５ｃｍ、座標系｛Ｂ｝の原点から第１の関節１２４までが約５ｃｍであるので、アーム１２０を完全に伸ばした場合、自走式掃除機１００の本体１１０の基準点（座標系｛Ｂ｝の原点）とアーム１２０の先端との距離は３３ｃｍになる。
【０１５６】
また、このような目標から離れた状態にある場合、アーム１２０の先端部１２０ａの位置を重視して制御しても意味がなく、評価関数Ｊの中で大きな支配項になってしまい、本体１１０の姿勢変更や動的障害物回避など、評価関数Ｊ内の他のパラメータによる制御を阻害してしまうため、評価関数Ｊ内のアーム１２０の先端部１２０ａに関する積分外ペナルティ項に影響する重み行列Ｐｂの値を小さくする。積分内ペナルティ項に相当するＱｂを大きくすると目標位置と姿勢に偏差なく制御する際に悪影響があるが、目標位置と姿勢に対して離れた状態では偏差なく追従する必要はなく、Ｑｂを大きくすることにより、目標位置と姿勢との距離をなるべく早く縮める効果が得られる。そこで、フェーズ１では通常時よりＱｂを大きくする。
【０１５７】
この際にＶの本体１１０の移動に関係する要素ｖ１，ｖ２も小さくし、自走式掃除機１００の本体１１０が活発に移動するよう調整する。
【０１５８】
次に、目標点と本体１１０の間の距離が３５ｃｍ未満に収まった場合、アーム１２０の先端部１２０ａと目標点の距離によって制御パラメータを切り替える。
【０１５９】
アーム１２０の先端部１２０ａと目標点の距離が５ｃｍ以上の場合をフェーズ２とする。フェーズ２においてはＰｂ，Ｑｂはフェーズ１同様にそれぞれ小、大（ただし、Ｐｂは若干フェーズ１より大)とし、小さくしていたｖ１，ｖ２は元の大きさに戻す。このようにすることにより、アーム１２０も活発に動くようにする。また、このフェーズ２においても目標点の遷移は行わない。
【０１６０】
アーム１２０の先端部１２０ａと目標点の距離が５ｃｍ未満の場合をフェーズ３とする。フェーズ３では静的障害物周辺の清掃のため、アーム１２０の先端部１２０ａの位置と姿勢を厳密に制御しなくてはならない。このため、前述の理由によりＰｂは大きく、Ｑｂは小さくする。ｖ１，ｖ２についてはフェーズ２と同等とする。また、このフェーズにおいては時間ΔＴ経過後に目標点を遷移させる。
【０１６１】
アーム１２０の先端部１２０ａが静的障害物の周辺にごく近づいた場合でも、動的障害物の接近などなんらかの理由でまた距離が離れてしまう場合がある。このため、ΔＴのフィードバック周期毎に現在の状態がフェーズ１〜３のどれに相当するか再判定を行う。
【０１６２】
自走式掃除機１００の本体１１０位置と姿勢に対する重みＰａ、Ｑａに関しても、本体１１０の位置の目標に対する距離が大きいときはＰａを小さく、Ｑａを大きくする。一方、目標に対する距離が小さいときはＰａを大きく、Ｑａを小さくすることが望ましい。ただし、この実施の形態においてはアーム１２０の先端部１２０ａの制御を重視しており、掃除の達成という視点から、場合によっては本体１１０位置の制御精度を犠牲にしてでもアーム１２０の制御精度を優先する必要があるため、ＰａとＱａはＰｂとＱｂに対して比較的小さく設定されている。
【０１６３】
本体１１０の位置の目標に対する距離が大きいときには、Ｖの本体１１０の移動に関係する要素ｖ１，ｖ２も小さくし、自走式掃除機１００の本体１１０が活発に移動するよう調整する。
【０１６４】
各フェーズ毎の具体的なパラメータの例を次の式（１６）〜（１８）に示す。式（１６）はフェーズ１、式（１７）はフェーズ２、式（１８）はフェーズ３のパラメータの例を示す。なお、下記の例では、Ｐｂ３、Ｑｂ３がすべて０であるが、これはアーム１２０の先端部１２０ａの姿勢は問わないということを意味している。
【０１６５】
【数１６】
2010092343.tif 000018
【０１６６】
【数１７】
2010092343.tif 000019
【０１６７】
【数１８】
2010092343.tif 000020
【０１６８】
図９に示すように、掃除のためにアーム１２０が自走式掃除機１００の広角カメラ１４０の視界内に入ることによって、リアルタイムに目標点の位置が取得できない場合がある。掃除のためにアーム１２０が自走式掃除機１００の広角カメラ１４０の視界内に入る場合には画像処理を行わず、自走式掃除機１００が静的障害物は座標系｛Ａ｝上の同じ位置に存在するという前提で最初の画像処理のときに取得した目標点群の座標を利用する。状態変数に含まれる自走式掃除機１００の座標系｛Ａ｝内での自己位置（ｘ，ｙ，θ）は走行中の入力ｕの値や、エンコーダなどの手段で検知した車輪１３０の回転量をもとに更新する。この場合自走式掃除機１００の推定位置と姿勢と現実の位置と姿勢との間に若干の誤差は発生するが、再度画像処理を行った時点でリセットされるため、画像処理の間隔を１０〜２０秒、自走式掃除機１００の移動速度を最大１５［ｃｍ／ｓ］としているこの実施の形態においては誤差による問題は発生しない。
【０１６９】
フェーズ３において目標点を遷移させ、最初の画像処理で得られたすべての目標点を網羅した場合、近傍の静的障害物周辺の清掃が終了したと判断し、別の場所に移動して画像処理とフェーズ１〜３の制御とを再開する。別の場所への移動に関しては、例えば部屋の地図に基づいた経路計画など、上位の制御アルゴリズムによって行動を決定する。これを延々繰り返すことによって、部屋中の静的障害物周辺を清掃することができる。
【０１７０】
以上のように、自走式掃除機１００の制御システム１は、変位可能な本体１１０と、本体１１０に取り付けられ、本体１１０に対して変位可能なアーム１２０と、本体１１０を駆動するための車輪駆動用モータユニット１３３と、アーム１２０を駆動するための第１のサーボ１２７と第２のサーボ１２８と、車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御するコンピュータ２００とを備え、コンピュータ２００は、本体１１０の変位に関する因子とアーム１２０の変位に関する因子との両方の因子に基づいて本体１１０の挙動とアーム１２０の挙動とを評価する評価関数Ｊを利用して、本体１１０の挙動とアーム１２０の挙動とを制御するように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを最適制御する。
【０１７１】
本体１１０は、車輪駆動用モータユニット１３３によって駆動される。本体１１０に取り付けられたアーム１２０は、第１のサーボ１２７と第２のサーボ１２８によって駆動される。コンピュータ２００は、車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とをそれぞれ制御することによって、例えば、本体１１０には移動をさせ、アーム１２０には掃除を行なわせるというように、自走式掃除機１００に複合的な目的を達成させることができる。
【０１７２】
実時間制御を行なうことによって自走式掃除機１００に複合的な目的を達成させるためには、コンピュータ２００は、車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８のそれぞれを実時間制御する必要がある。そこで、最適制御を行なうために用いられる評価関数Ｊとして、本体１１０の変位に関する因子とアーム１２０の変位に関する因子との両方の因子に基づいて本体１１０の挙動とアーム１２０の挙動とを評価する評価関数Ｊを利用する。すなわち、例えば、まず初めに本体１１０の変位に関する因子に基づいて本体１１０の挙動を制御し、次に、アーム１２０の変位に関する因子に基づいてアーム１２０の挙動を制御する、というように、複数の制御を別々に、順に行なうのではなく、本体１１０とアーム１２０の両方の変位に基づいて、本体１１０とアーム１２０の両方の挙動を制御する。
【０１７３】
このようにすることにより、自走式掃除機１００に複合的な目的を達成させるために、本体１１０とアーム１２０とを別々に、順に制御する場合と比較して、精度を保って、作業時間を短縮することができる。
【０１７４】
このようにすることにより、実時間制御において、複合的な目的を達成するとともに作業時間を短縮することが可能な自走式掃除機１００の制御システムを提供することができる。
【０１７５】
また、最適制御において解の計算が困難な状況では、長い計算時間を必要とする場合があるが、例えば、状況に応じて評価関数Ｊ内のパラメータを変化させることにより、最適制御における解の計算にかかる計算時間を短縮することができる。
【０１７６】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、本体１１０が所定の目標変位に向かって動くように車輪駆動用モータユニット１３３を制御し、アーム１２０が掃除を行うように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御する。
【０１７７】
このようにすることにより、本体１１０を所定の目標変位に向かって動かしながらアーム１２０に掃除を行わせるという複合的な目的を達成することができる。
【０１７８】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、本体１１０が所定の障害物を回避して動くように車輪駆動用モータユニット１３３を制御し、アーム１２０が掃除を行うように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御する。
【０１７９】
このようにすることにより、本体１１０が所定の障害物を回避して動きながら、アーム１２０が掃除を行うという複合的な目的を達成することができる。
【０１８０】
また、自走式掃除機１００の制御システム１は、本体１１０が回避する障害物とアーム１２０の作業の対象とを検知するための広角カメラ１４０と、広角カメラ１４０によって検知された情報を処理するための視覚情報処理部２２０とを備え、コンピュータ２００は、視覚情報処理部２２０によって処理された情報に基づいて、本体１１０が回避する障害物を認識する。
【０１８１】
このようにすることにより、コンピュータ２００は、本体１１０が回避する障害物とアーム１２０の作業の対象とを容易に認識することができる。
【０１８２】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、本体１１０が回避する障害物とアーム１２０の作業の対象とを広角カメラ１４０が検知するときには、アーム１２０を広角カメラ１４０の視野外に移動させるように、車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御する。
【０１８３】
このようにすることにより、コンピュータ２００は、本体１１０が回避する障害物とアーム１２０の作業の対象とを正確に認識することができる。
【０１８４】
また、自走式掃除機１００の制御システム１においては、アーム１２０は、掃除を行うための吸気口１２９を有し、コンピュータ２００は、吸気口１２９の作業の対象と吸気口１２９との距離に基づいて、評価関数Ｊ内のパラメータを変化させる。
【０１８５】
例えば、吸気口１２９の作業の対象と吸気口１２９との距離が大きいときには、吸気口１２９の変位を重視せず、吸気口１２９を短時間で作業の対象に近づけることを重視するように制御し、一方、吸気口１２９の作業の対象と吸気口１２９との距離が小さいときには、吸気口１２９の変位を厳密に制御する。このようにすることにより、効率的に複合的な目標を達成することができる。また、最適制御における計算時間を短縮することができる。
【０１８６】
また、自走式掃除機１００の制御システム１においては、アーム１２０は、掃除を行うための吸気口１２９を有し、コンピュータ２００は、吸気口１２９の作業の対象と本体１１０との距離に基づいて、評価関数Ｊ内のパラメータを変化させる。
【０１８７】
例えば、吸気口１２９の作業の対象と本体１１０との距離が大きいときには、本体１１０の変位を重視せず、本体１１０と本体１１０に取り付けられたアーム１２０の吸気口１２９とを短時間で作業の対象に近づけることを重視するように制御し、一方、吸気口１２９の作業の対象と本体１１０との距離が小さいときには、本体１１０の変位を厳密に制御する。このようにすることにより、効率的に複合的な目標を達成することができる。また、最適制御における計算時間を短縮することができる。
【０１８８】
このようにして最適制御における計算時間を短縮することによって、本体１１０とアーム１２０とを別々に、順に制御する場合と比較して、精度を保って計算時間を短縮することができる。このようにして精度を保って計算時間を短縮することによって、例えば家電製品など、計算処理能力に限度のある組み込みシステムにおいて、オンライン最適制御を用いたシステムを実現することができる。また、精度を保って計算時間を短縮することによって、本来ならば計算時間のかかる複雑な制御モデルを利用することができるので、本体１１０とアーム１２０とを別々に動かす必要がなくなる。そのため、本体１１０とアーム１２０とを連動させて複合的な目的を達成する複雑なシステムを実現することができる。このようにして、簡単な構成の自走式掃除機１００に、高い自由度と高い作業能力を持たせることができる。
【０１８９】
例えば、自走式掃除機１００としてアーム１２０を備える掃除ロボットを想定する場合には、アーム１２０によって家具の周辺や隙間、壁際などの狭い場所の掃除を正確な制御で行わせつつ、本体１１０は掃除対象から一定の距離を隔てて移動し、また、動き回る障害物を回避し、さらに、何らかの上位の行動ルールによって作業領域を巡回するように制御することが考えられる。このような、本体１１０とアーム１２０の両方の挙動に結果が左右される複雑な作業を破綻なくこなすことが可能になる。
【０１９０】
また、自走式掃除機１００の制御システム１においては、アーム１２０は、掃除を行うための吸気口１２９を有し、評価関数Ｊは、吸気口１２９の作業の対象と吸気口１２９との距離に基づき、望ましくない場合に大きくなるペナルティ項を有し、ペナルティ項は、評価関数Ｊの積分内ペナルティ項と評価関数Ｊの積分外ペナルティ項とを含む。
【０１９１】
このようにして、吸気口１２９の作業の対象と吸気口１２９との距離に応じて、本体１１０の変位とアーム１２０の変位の一方を他方よりも重視して制御したり、アーム１２０の変位を偏差なく目標変位に近づけることを重視して制御したり、アーム１２０の変位を偏差なく目標変位に近づけることを重視せずに短時間で大きな変位をさせたりすることができる。このようにすることにより、効率的に複合的な目標を達成することができる。また、最適制御における計算時間を短縮することができる。
【０１９２】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、吸気口１２９の作業の対象と吸気口１２９との距離に基づいてペナルティ項の重み係数を変化させる。
【０１９３】
吸気口１２９の作業の対象と吸気口１２９との距離に基づいてペナルティ項の重み係数を変化させることによって、吸気口１２９の作業の対象と吸気口１２９との距離に応じて、吸気口１２９の変位を偏差なく目標変位に近づけることを重視するように制御したり、あるいは、吸気口１２９の変位を偏差なく目標変位に近づけることを重視せずに短時間で大きな変位をさせたりすることができる。このようにすることにより、効率的に複合的な目標を達成することができる。
【０１９４】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、吸気口１２９の作業の対象と吸気口１２９との距離が所定の値よりも大きい場合には、積分内ペナルティ項の重み係数Ｑｂを増大させ、積分外ペナルティ項の重み係数Ｐｂを減少させる。
【０１９５】
積分内ペナルティ項の重み係数Ｑｂを増大させ、積分外ペナルティ項の重み係数Ｐｂを減少させることによって、吸気口１２９の変位を偏差なく目標変位に近づけることを重視せずに、短時間で大きな変位をさせることができる。吸気口１２９の作業の対象と吸気口１２９との距離が所定の値よりも大きい場合には、このようにすることにより、効率的に吸気口１２９を作業の対象に近づけることができる。
【０１９６】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、吸気口１２９の作業の対象と吸気口１２９との距離が所定の値よりも小さい場合には、積分内ペナルティ項の重み係数Ｑｂを減少させ、積分外ペナルティ項の重み係数Ｐｂを増大させる。
【０１９７】
積分内ペナルティ項の重み係数Ｑｂを減少させ、積分外ペナルティ項の重み係数Ｐｂを増大させることによって、吸気口１２９の変位を厳密に、偏差なく目標変位に近づけることを重視して制御することができる。吸気口１２９の作業の対象と吸気口１２９との距離が所定の値よりも小さい場合には、このようにすることにより、効率的に吸気口１２９に掃除を行わせることができる。
【０１９８】
また、自走式掃除機１００の制御システム１においては、評価関数Ｊは、制御入力に対するペナルティ項を含み、コンピュータ２００は、吸気口１２９の作業の対象と吸気口１２９との距離が所定の値よりも大きい場合には、制御入力に対するペナルティ項の重み係数のうち、本体１１０の変位に関する重み係数ｖ１，ｖ２を減少させる。
【０１９９】
制御入力に対するペナルティ項の重み係数のうち、本体１１０の変位に関する重み係数ｖ１，ｖ２を減少させることによって、本体１１０を短時間で大きく変位させることができる。吸気口１２９の作業の対象と吸気口１２９との距離が所定の値よりも大きい場合には、このようにすることにより、効率的に本体１１０と本体１１０に取り付けられたアーム１２０の吸気口１２９とを作業の対象に近づけることができる。
【０２００】
また、自走式掃除機１００の制御システム１においては、評価関数Ｊは、本体１１０の目標変位と本体１１０との距離に基づき、望ましくない場合に大きくなるペナルティ項を有し、ペナルティ項は、評価関数Ｊの積分内ペナルティ項と評価関数Ｊの積分外ペナルティ項とを含む。
【０２０１】
このようにして、本体１１０の目標変位と本体１１０との距離に応じて、本体１１０の変位とアーム１２０の変位の一方を他方よりも重視して制御したり、本体１１０の変位を偏差なく目標変位に近づけることを重視して制御したり、本体１１０の変位を偏差なく目標変位に近づけることを重視せずに短時間で大きな変位をさせたりすることができる。このようにすることにより、効率的に複合的な目標を達成することができる。また、最適制御において解の計算にかかる計算時間を短縮することができる。
【０２０２】
また、自走式掃除機１００の制御システム１においては、アーム１２０は、所定の作業を行なうための吸気口１２９を有し、ペナルティ項は、吸気口１２９の作業の対象と本体との距離に基づく重み係数を含み、コンピュータ２００は、吸気口１２９の作業の対象と本体１１０との距離に基づいてペナルティ項の重み係数を変化させる。
【０２０３】
吸気口１２９の作業の対象と本体１１０との距離に基づいてペナルティ項の重み係数を変化させることによって、吸気口１２９の作業の対象と本体１１０との距離に応じて、本体１１０の変位を偏差なく目標変位に近づけることを重視するように制御したり、あるいは、本体１１０の変位を偏差なく目標変位に近づけることを重視せずに短時間で大きな変位をさせたりすることができる。このようにすることにより、効率的に複合的な目標を達成することができる。
【０２０４】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、吸気口１２９の作業の対象と本体１１０との距離が所定の値よりも大きい場合には、積分内ペナルティ項の重み係数Ｑａを増大させ、積分外ペナルティ項の重み係数Ｐａを減少させる。
【０２０５】
積分内ペナルティ項の重み係数Ｑａを増大させ、積分外ペナルティ項の重み係数Ｐａを減少させることによって、本体１１０の変位を偏差なく目標変位に近づけることを重視せずに、短時間で大きな変位をさせることができる。吸気口１２９の作業の対象と本体１１０との距離が所定の値よりも大きい場合には、このようにすることにより、効率的に、本体１１０と本体１１０に取り付けられたアーム１２０の吸気口１２９とを作業の対象に近づけることができる。
【０２０６】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、吸気口１２９の作業の対象と本体１１０との距離が所定の値よりも小さい場合には、積分内ペナルティ項の重み係数Ｑａを減少させ、積分外ペナルティ項の重み係数Ｐａを増大させる。
【０２０７】
積分内ペナルティ項の重み係数Ｑａを減少させ、積分外ペナルティ項の重み係数Ｐａを増大させることによって、本体１１０の変位を厳密に、偏差なく目標変位に近づけることを重視して制御することができる。吸気口１２９の作業の対象と本体１１０との距離が所定の値よりも小さい場合には、このようにすることにより、本体１１０を厳密に作業の対象に近づけて、効率的に、吸気口１２９に掃除を行わせることができる。
【０２０８】
また、自走式掃除機１００の制御システム１においては、評価関数Ｊは、制御入力に対するペナルティ項を含み、コンピュータ２００は、吸気口１２９の作業の対象と本体１１０との距離が所定の値よりも大きい場合には、制御入力に対するペナルティ項の重み係数のうち、本体１１０の変位に関する重み係数ｖ１，ｖ２を減少させる。
【０２０９】
制御入力に対するペナルティ項の重み係数のうち、本体１１０の変位に関する重み係数ｖ１，ｖ２を減少させることによって、本体１１０を短時間で大きく変位させることができる。吸気口１２９の作業の対象と本体１１０との距離が所定の値よりも大きい場合には、このようにすることにより、効率的に本体１１０と本体１１０に取り付けられたアーム１２０の吸気口１２９とを作業の対象に近づけることができる。
【０２１０】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とをオンライン最適制御することが可能なアルゴリズムを利用する。
【０２１１】
このようにすることにより、コンピュータ２００を本体１１０上に配置する必要がなくなる。コンピュータ２００を本体１１０上に配置する必要がないので、本体１１０の重量を軽くすることができる。
【０２１２】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、本体１１０が所定の目標変位に向かって動くように車輪駆動用モータユニット１３３を制御し、アーム１２０が掃除を行なうように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御し、オンライン最適制御のフィードバック周期毎に、評価関数Ｊ内のアーム１２０の作業の対象の位置と本体１１０の目標変位とを更新する。
【０２１３】
オンライン最適制御のフィードバック周期毎に、評価関数Ｊ内のアーム１２０の作業の対象の位置と本体１１０の目標変位とを更新することによって、アーム１２０の作業の対象と本体１１０の目標変位とが、フィードバック周期毎に移動する。本体１１０は、このようにして移動させられる目標変位に追従するように変位するように制御される。また、アーム１２０は、このようにして移動させられる作業の対象を追うように変位するように制御される。このようにすることにより、本体１１０とアーム１２０を滑らかに変位させることができる。
【０２１４】
また、自走式掃除機１００の制御システム１においては、アーム１２０は、本体１１０に対して２以上の自由度によって変位可能であるように構成されている。
【０２１５】
このようにすることにより、アーム１２０を目標変位に向かって動かすことが容易になる。
【０２１６】
また、自走式掃除機１００の制御システム１においては、アーム１２０は、掃除を行なうための吸気口１２９を有し、コンピュータ２００は、本体１１０が所定の目標変位に向かって動くように車輪駆動用モータユニット１３３を制御し、吸気口１２９が掃除を行なうように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御し、評価関数Ｊは、本体１１０の目標変位と本体１１０の変位との差に対する第１のペナルティ項と、吸気口１２９と吸気口１２９の作業の対象との距離に対する第２のペナルティ項とを含み、第１のペナルティ項の重み係数は、第２のペナルティ項の重み係数と比較して、相対的に小さい。
【０２１７】
このようにすることにより、本体１１０の変位を目標変位に近づけることよりも、吸気口１２９の変位を目標変位に近づけることを重視して制御することができる。
【０２１８】
また、自走式掃除機１００の制御システム１においては、アーム１２０は、掃除を行なうための吸気口１２９を有し、コンピュータ２００は、本体１１０が所定の障害物を回避して動くように車輪駆動用モータユニット１３３を制御し、吸気口１２９が掃除を行うように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御し、評価関数Ｊにおいては、本体１１０が回避する障害物は、吸気口１２９の作業の対象、または、吸気口１２９の作業の対象の近傍の点であるように設定される。
【０２１９】
このようにすることにより、吸気口１２９が作業の対象に対して掃除を行うようにしながら、本体１１０が吸気口１２９の作業の対象に近づきすぎないように制御することができる。
【０２２０】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、掃除が必要な任意の場所に向かって本体１１０が移動するように車輪駆動用モータユニット１３３を制御し、アーム１２０が掃除を行なうように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御する。
【０２２１】
このようにすることにより、効率的に掃除を行うことが可能な自走式掃除機１００の制御システム１を提供することができる。
【０２２２】
また、自走式掃除機１００の制御システム１においては、コンピュータ２００は、作業対象空間内に存在する物体の周辺に向かって本体１１０が移動するように車輪駆動用モータユニット１３３を制御し、アーム１２０が掃除を行なうように車輪駆動用モータユニット１３３と第１のサーボ１２７と第２のサーボ１２８とを制御する。
【０２２３】
このようにすることにより、効率的に掃除を行うことが可能な自走式掃除機１００の制御システム１を提供することができる。
【０２２４】
以上に開示された実施の形態はすべての点で例示であって制限的なものではないと考慮されるべきである。本発明の範囲は、以上の実施の形態ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての修正と変形を含むものである。
【図面の簡単な説明】
【０２２５】
【図１】この発明のひとつの実施の形態として、自走式掃除機の全体を示す斜視図である。
【図２】図１に示す自走式掃除機の本体の内部を図１の矢印ＩＩで示す方向から見たときの斜視図である。
【図３】図１に示す自走式掃除機の本体の内部を図１の矢印ＩＩＩで示す方向から見たときの斜視図である。
【図４】アームの全体を示す斜視図である。
【図５】自走式掃除機の制御システムの制御関連の構成を示すブロック図である。
【図６】広角カメラが撮影した画像をコンピュータが認識する行程を順に示す図である。
【図７】自走式掃除機と、自走式掃除機の掃除の目標点群とを模式的に示す図である。
【図８】自走式掃除機と、座標系｛Ａ｝と座標系｛Ｂ｝との関係を模式的に示す図である。
【図９】自走式掃除機と、自走式掃除機が目標点群から抽出する点を模式的に示す図である。
【符号の説明】
【０２２６】
１：自走式移動体の制御システム、１００：自走式掃除機、１１０：本体、１２０：アーム、１２７：第１のサーボ、１２８：第２のサーボ、１３０：車輪、１３１：右車輪、１３２：左車輪、１３３：車輪駆動用モータユニット、１４０：広角カメラ、１４１：映像用無線通信手段、２００：コンピュータ、２２０：視覚情報処理部。
【図１】
2010092343.tif 000021
【図２】
2010092343.tif 000022
【図３】
2010092343.tif 000023
【図４】
2010092343.tif 000024
【図５】
2010092343.tif 000025
【図６】
2010092343.tif 000026
【図７】
2010092343.tif 000027
【図８】
2010092343.tif 000028
【図９】
2010092343.tif 000029