(57)【要約】【課題】自走式掃除ロボットが掃除をする場合に、掃除面の種類に対応し、掃除面の表面方向特性に応じた掃除動作を実現できる制御装置を提供する。【解決手段】掃除面６と掃除部材８の間に発生している力とロボット本体部１０の手先取り付け部材３０の位置及び姿勢情報に基づき、掃除面６の掃除面種及び表面方向特性を推定して、ロボット本体部１０の掃除軌道を決定する。【選択図】図１
2010035981.tif 000002
【特許請求の範囲】
【請求項１】
移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットにおいて、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行う自走式掃除ロボット。
【請求項２】
前記掃除方向決定手段は、前記力検出部で検出した力のうち、前記掃除面に対して水平な成分と垂直な成分に基づき、前記掃除面の前記掃除方向を決定する請求項１に記載の自走式掃除ロボット。
【請求項３】
前記掃除面の掃除表面状態情報を有する掃除面種データベースと、
前記力検出部で検出した力に基づき、前記掃除面種データベースを参照して前記掃除面の種類を選択する掃除面種選択手段をさらに備える請求項１又は２に記載の自走式掃除ロボット。
【請求項４】
前記掃除面種データベースは、前記掃除表面状態情報として、フローリングの掃除表面状態情報と、畳の掃除表面状態情報と、絨毯の掃除表面状態情報とを有する請求項３に記載の自走式掃除ロボット。
【請求項５】
前記掃除面種データベースは、前記掃除表面状態情報として、フローリングの掃除表面状態情報と、畳の掃除表面状態情報と、絨毯の掃除表面状態情報を有するとともに、前記掃除面種選択手段は、前記掃除面種データベースの３種類の掃除表面状態情報のうち少なくとも２種類の内から前記掃除面の種類を選択する請求項３に記載の自走式掃除ロボット。
【請求項６】
前記掃除面種選択手段は、前記掃除面の摩擦係数の大きさに基づいて、前記掃除面種データベースの前記フローリングの掃除表面状態情報と前記畳の掃除表面状態情報と前記絨毯の掃除表面状態情報とのいずれか１つを選択する請求項４又は５に記載の自走式掃除ロボット。
【請求項７】
前記軌道生成手段は、前記力検出部で検出した力に基づき、掃除する領域を変更する軌道を生成する請求項１〜６のいずれか１つに記載の自走式掃除ロボット。
【請求項８】
移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御装置であって、
前記掃除手段と前記掃除面とに働く力を力検出部で検出して、前記力検出部から出力した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備え、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御装置。
【請求項９】
移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御方法であって、
前記掃除手段と前記掃除を行う面とに働く力を検出して出力する力検出部とを備え、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う面の掃除方向を決定する掃除方向決定手段とを備え、
前記掃除手段の、前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御方法。
【請求項１０】
移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御プログラムであって、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段として機能させるとともに、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように機能させるための、自走式掃除ロボットの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自走して掃除を自動的に行う自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムに関する。
【背景技術】
【０００２】
近年、家庭内の掃除を自動で行う家庭用自走式掃除ロボットが盛んに開発されるようになってきている。従来、人が行ってきた掃除では、畳又はフローリングの方向を人が考慮して掃除の方向を人が決定することが多い。このような掃除方法を考慮に入れたロボット装置の一例として、床選択スイッチで畳を選択した場合、床面から反射される光量を検知し、光量の時系列変化から畳の織目の方向を検出し、検出された織目の方向に基づいて走行させる自走式掃除機が提案されている（特許文献１参照。）また、一般の電気掃除機では、床面に応じて、吸口ブラシ位置を変更したり、吸引力を変更したりすることが行われているが、そのような掃除方法を考慮に入れたロボット装置の一例として、床面からの光を受光する受光センサを備え、受光センサによる検出結果を基に床材質のより正確な判別を実現し、きめ細かな掃除を可能とする自走式掃除機が提案されている（特許文献２参照。）
【０００３】
【特許文献１】特開２００７−３１９４８５号公報
【特許文献２】特開２００５−２１１３６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のような従来の技術においては、畳以外の掃除の場合を考慮していないという課題があった。また、光量を検出するため、自走式掃除用ロボットのように、人の不在時に使われることが想定される場合、光源を自走式掃除用ロボットに備える必要があるなど、光源を確保する必要があった。特許文献２のような従来の技術においては、掃除面の材質の判別は行っていたが、掃除方向については考慮されていないという課題があった。
【０００５】
本発明の目的は、このような課題に鑑みてなされたものであり、自走式掃除ロボットが掃除をする際に、掃除面と掃除手段との間に発生する力を検出することにより、掃除を行う面の材質に応じて掃除ノズル又は拭き掃除手段などの掃除手段の進行方向を変更することで、人間が行ってきた適切な掃除方向での掃除を実現できる、自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は以下のように構成する。
本発明の第１態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットにおいて、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行う自走式掃除ロボットを提供する。
このような構成により、掃除を行う面の表面方向特性を検出し、表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
【０００７】
本発明の第８態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御装置であって、
前記掃除手段と前記掃除面とに働く力を力検出部で検出して、前記力検出部から出力した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備え、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御装置を提供する。
【０００８】
本発明の第９態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御方法であって、
前記掃除手段と前記掃除を行う面とに働く力を検出して出力する力検出部とを備え、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う面の掃除方向を決定する掃除方向決定手段とを備え、
前記掃除手段の、前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御方法を提供する。
【０００９】
本発明の第１０態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御プログラムであって、
コンピュータを、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段として機能させるとともに、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように機能させるための、自走式掃除ロボットの制御プログラムを提供する。
このような構成により、掃除を行う面の表面方向特性を検出し、表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
【発明の効果】
【００１０】
以上述べたように、本発明の自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムによれば、自走しながら掃除を行う自走式自動掃除ロボットにおいて、掃除面に対して掃除を行う掃除手段と掃除を行う掃除面とに働く力から掃除面の種類の推定と掃除を行う面の表面方向特性を検出し、掃除面の種類に応じた表面方向特性に沿った方向に掃除を行うロボット制御が実現できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００１２】
本発明の第１態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットにおいて、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行う自走式掃除ロボットを提供する。
このような構成により、掃除を行う面の表面方向特性を検出し、表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
【００１３】
本発明の第２態様によれば、前記掃除方向決定手段は、前記力検出部で検出した力のうち、前記掃除面に対して水平な成分と垂直な成分に基づき、前記掃除面の前記掃除方向を決定する第１の態様に記載の自走式掃除ロボットを提供する。
本構成によって、掃除を行う面の種類に応じて表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
【００１４】
本発明の第３態様によれば、前記掃除面の掃除表面状態情報を有する掃除面種データベースと、
前記力検出部で検出した力に基づき、前記掃除面種データベースを参照して前記掃除面の種類を選択する掃除面種選択手段をさらに備える第１又は２の態様に記載の自走式掃除ロボットを提供する。
【００１５】
本発明の第４態様によれば、前記掃除面種データベースは、前記掃除表面状態情報として、フローリングの掃除表面状態情報と、畳の掃除表面状態情報と、絨毯の掃除表面状態情報とを有する第３の態様に記載の自走式掃除ロボットを提供する。
【００１６】
本発明の第５態様によれば、前記掃除面種データベースは、前記掃除表面状態情報として、フローリングの掃除表面状態情報と、畳の掃除表面状態情報と、絨毯の掃除表面状態情報を有するとともに、前記掃除面種選択手段は、前記掃除面種データベースの３種類の掃除表面状態情報のうち少なくとも２種類の内から前記掃除面の種類を選択する第３の態様に記載の自走式掃除ロボットを提供する。
【００１７】
本発明の第６態様によれば、前記掃除面種選択手段は、前記掃除面の摩擦係数の大きさに基づいて、前記掃除面種データベースの前記フローリングの掃除表面状態情報と前記畳の掃除表面状態情報と前記絨毯の掃除表面状態情報とのいずれか１つを選択する第４又は５の態様に記載の自走式掃除ロボットを提供する。
【００１８】
本発明の第７態様によれば、前記軌道生成手段は、前記力検出部で検出した力に基づき、掃除する領域を変更する軌道を生成する第１〜６のいずれか１つの態様に記載の自走式掃除ロボットを提供する。
【００１９】
本発明の第８態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御装置であって、
前記掃除手段と前記掃除面とに働く力を力検出部で検出して、前記力検出部から出力した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備え、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御装置を提供する。
【００２０】
本発明の第９態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御方法であって、
前記掃除手段と前記掃除を行う面とに働く力を検出して出力する力検出部とを備え、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う面の掃除方向を決定する掃除方向決定手段とを備え、
前記掃除手段の、前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段とを備えて、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように前記自走式掃除ロボットを制御する、自走式掃除ロボットの制御方法を提供する。
【００２１】
本発明の第１０態様によれば、移動体と、前記移動体を床面上で移動させる移動手段と、前記移動体に配置されかつ前記移動手段により前記移動体を移動させて前記床面の掃除面に対して掃除を行う掃除手段とを備える自走式掃除ロボットの制御プログラムであって、
コンピュータを、
前記掃除手段と前記掃除面とに働く力を検出して出力する力検出部と、
前記力検出部で検出した力に基づき、前記掃除手段を前記床面の前記掃除面に接触させて前記掃除面に沿って掃除を行う方向を決定する掃除方向決定手段と、
前記掃除方向決定手段により決定された前記掃除方向に沿った掃除軌道を生成する軌道生成手段として機能させるとともに、
前記移動手段により、前記軌道生成手段で生成された前記掃除軌道に沿って前記移動体を移動させて、前記掃除手段で前記掃除面に対する掃除を行うように機能させるための、自走式掃除ロボットの制御プログラムを提供する。
このような構成により、掃除を行う面の表面方向特性を検出し、表面方向特性に沿った方向に掃除を行うロボットの制御が実現できる。
【００２２】
（第１実施形態）
以下、本発明の第１実施形態にかかる、自走式掃除ロボット、自走式掃除ロボットの制御装置及び制御方法、並びに、自走式掃除ロボットの制御プログラムについて、図面を用いて詳細に説明する。
【００２３】
まず、本発明の前記第１実施形態にかかる自走式掃除ロボットの構成について説明する。
図１は、本発明の第１実施形態における自走式掃除ロボット１の概要を示す図である。図１において、自走式掃除ロボット１は、胴体部２と胴体部２に取り付けられたロボットアーム５とにより構成されて床面９上に置かれる移動体７０と、前記移動体７０を床面９上で移動させる移動手段７１と、前記移動体７０の前端部に配置されかつ前記移動手段７１により前記移動体７０を移動させて前記床面９の掃除面（掃除対象の領域又は面）に対して掃除を行う掃除手段の一例としての拭き掃除部材８とを備えて構成している。
【００２４】
移動手段７１は、一例として、胴体部２に全て配置されており、移動体７０を移動させるための駆動手段の一例としての一対のモータ４０と、胴体部２の後部に配置されかつ一対のモータ４０で正逆回転駆動される一対の車輪３（右車輪３ａ，左車輪３ｂ）と、胴体部２の前部に配置されかつ補助輪４とを備えている。
【００２５】
ロボットアーム５の基端は胴体部２の前端部に取り付けられているとともに、ロボットアーム５の先端には、力検出部の一例としての力センサ７を介して、拭き掃除部材８が取り付けられている。
【００２６】
自走式掃除ロボット１は、床面９、壁、又は、車などの汚れを拭き掃除部材８を用いて拭き掃除を行う自走式の掃除ロボットである。以下の説明では、一例として、床面９に対して掃除を行う場合を想定して説明する。
【００２７】
図２及び図３は、自走式掃除ロボット１の構成を示す図であって、自走式掃除ロボット１の動作を制御する制御装置１１と、制御装置１１の制御対象である掃除ロボット本体部１０の詳細構成を示す図である。このロボット本体部１０は、移動体７０と移動手段７１とを備えている。
【００２８】
制御装置１１は、一例として、一般的なパーソナルコンピュータにより構成されており、少なくとも、掃除方向決定部（掃除方向決定手段の一例）９１と、軌道生成部（軌道生成手段の一例）９４と、動作制御手段の一例としての動作制御部１３を備えて構成されている。
【００２９】
より具体的には、制御装置１１は、さらに、動作軌道データベース１４と動作軌道生成部９５を有する軌道生成部９４と、掃除面種データベース１５と掃除面種選択部（掃除面種選択手段の一例）１８とを有する掃除面種切替部１９と、領域判定部９０と、入出力ＩＦ（インターフェース）１６とで構成される。このうち、図２に示すように、動作制御部１３と、軌道生成部９４と、掃除面種切替部１９と、領域判定部９０と、掃除方向決定部９１とは、制御プログラム６として構成することが可能なものである。
【００３０】
入出力ＩＦ１６は、パーソナルコンピュータのＰＣＩバスなどの拡張スロットに接続された、例えばＤ／Ａボードと、Ａ／Ｄボードと、カウンタボードとなどを備えるように構成されている。
【００３１】
制御装置１１は、入力部の一例としての入出力ＩＦ１６を介して、ロボットアーム５の各リンクマニピュレータを駆動するモータドライバ１７と接続され、そのモータドライバ１７に制御信号を送る。
【００３２】
ロボット本体部１０の動作を制御する制御装置１１が実行されることにより、ロボットアーム５の各関節部及び一対の本体車輪３の後述するエンコーダ２１，４１よりそれぞれ出力される各関節角度情報及び各回転角度情報をそれぞれ検出し、さらに、後述する力検出部７より出力されるロボットアーム５の手先（手先取り付け部材３０）に発生している力情報が、入出力ＩＦ１６のカウンタボードを通じて制御装置１１に取り込まれ、取り込まれた各関節角度情報及び各回転角度情報と力情報に基づき、制御装置１１によって各関節部と一対の本体車輪３の回転動作での制御指令値が算出される。算出された各制御指令値は、入出力ＩＦ１６のＤ／Ａボードを通じて、ロボットアーム５の各関節部及び一対の本体車輪３を駆動制御するためのモータドライバ１７に与えられ、モータドライバ１７から送られた各制御指令値に従って、ロボットアーム５の各関節部のモータ２０及び一対の本体車輪３の２つのモータ４０がそれぞれ独立して駆動される。このモータドライバ１７と各関節部のモータ２０と一対の本体車輪３の２つのモータ４０とで駆動部の一例として機能する。また、エンコーダ２１及び４１は、角度情報を出力する角度検出部の一例として機能する。
【００３３】
胴体部２の前面部には、ロボットアーム５が台部を介して取り付けられて、移動体７０を構成している。車輪３は胴体部２の後部に２つ取り付けられており、モータドライバ１７からの制御指令値に従って、２つのモータ４０により一対の車輪３が同期して同じ正逆回転をすることで前進及び後退が可能となる。また、モータドライバ１７からの制御指令値に従って、２つのモータ４０により右車輪３ａと左車輪３ｂが異なった回転を行うことで、胴体部２は旋回運動が可能となる。掃除部材８が目標軌道を移動できるように、一対の車輪３ａ，３ｂは回転制御される。
【００３４】
ロボットアーム５は、一例として、６自由度の多リンクマニピュレータであり、手先取り付け部材３０と、手先取り付け部材３０が取り付けられている手首部３１を先端３２ａに有する前腕リンク３２と、前腕リンク３２の基端３２ｂに先端３３ａが回転可能に連結される上腕リンク３３と、上腕リンク３３の基端３３ｂが回転可能に連結支持され胴体部２の前面部に固定される台部３４とを備えている。
【００３５】
手首部３１は、図３に示すように、第４関節部２７と、第５関節部２８と、第６関節部２９との３つの回転軸を有しており、前腕リンク３２に対する手先取り付け部材３０の相対的な姿勢（向き）を変化させることができる。すなわち、図３において、第４関節部２７は、手首部３１に対する手先取り付け部材３０のΨｘ軸（縦軸）周りの相対的な姿勢を変化させることができる。第５関節部２８は、手首部３１に対する手先取り付け部材３０の、第４関節部２７のΨｘ軸とは直交するΨｙ軸（横軸）周りの相対的な姿勢を変化させる。第６関節部２９は、手首部３１に対する手先取り付け部材３０の、第４関節部２７のΨｘ軸と直交する手先先端方向の軸Ψｚ（横軸）周りの相対的な姿勢を変化させることができる。すなわち、手先取り付け部材３０は、前腕リンク３２の先端３２ａに対してΨｘ軸とΨｙ軸とΨｚ軸との３軸方向にそれぞれ独立して回転可能である。また、図２における、手先座標系３６と、これらのΨｘ軸とΨｙ軸とΨｚ軸とは必ずしも一致しない。手先座標系３６は、後述の通り絶対座標系３５を姿勢変化した座標系をハンド側に平行移動して、原点を手首位置に移動した仮想的なものであるのに対して、前記したΨｘ軸とΨｙ軸とΨｚ軸とは手先取り付け部材３０の物理的な回転軸であり、必ずしも３軸は直交しない。
【００３６】
前腕リンク３２の基端３２ｂは、上腕リンク３３の先端３３ａに対して第３関節部２６周りに回転可能とする。この第１実施形態では、第３関節部２６周りに回転可能とは、第５関節部２８のΨｙ軸と平行な横軸周りに回転可能であることを意味する。上腕リンク３３の基端３３ｂは、台部３４に対して第２関節部２５周りに回転可能とする。この第１実施形態では、第２関節部２５周りに回転可能とは、第５関節部２８のΨｙ軸（すなわち、第３関節部２６の横軸）と平行な横軸周りに回転可能であることを意味する。台部３４の上側可動部３４ａは、台部３４の下側固定部３４ｂに対して第１関節部２４周りに回転可能とする。この第１実施形態では、第１関節部２４周りに回転可能とは、絶対座標系３５のＺ軸周りに回転可能であることを意味している。
【００３７】
この結果、ロボットアーム５は、第１関節部２４から第６関節部２９の合計６個の軸周りに、それぞれ、独立して回転可能として、上記６自由度の多リンクマニピュレータを構成している。
【００３８】
各軸の回転部分を構成する各関節部には、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられ、かつ後述するモータドライバ１７により駆動制御される回転駆動装置の一例としてのモータ２０（実際には、ロボットアーム５の各関節部の内部に配設されている）と、モータ２０の回転軸の回転位相角（すなわち、関節角）を検出するエンコーダ２１（実際には、ロボットアーム５の各関節部の内部に配設されている）とを備える。よって、各関節部を構成する一方の部材に備えられたモータ１２の回転軸が、各関節部の他方の部材に連結されて上記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【００３９】
３５は、台部３４の下側固定部３４ｂに対して相対的な位置関係が固定された絶対座標系（ＸＹＺ軸）であり、３６は絶対座標系３５に対して相対的な位置関係が固定された手先座標系である。絶対座標系３５から見た手先座標系３６の原点位置Ｏｅ（ｘ，ｙ，ｚ）を、ロボットアーム５の手先取り付け部材３０の位置（すなわち、手先位置）とする。そして、絶対座標系３５から見た手先座標系３６の姿勢を、ロール角とピッチ角とヨー角とを使用して座標（φ，θ，ψ）で表現する。この座標（φ，θ，ψ）を、ロボットアーム５の手先姿勢（手先取り付け部材３０の姿勢）とし、手先位置及び姿勢ベクトルを、ベクトルｒ＝［ｘ、ｙ、ｚ、φ、θ、ψ］Ｔと定義する。ロール角、ピッチ角、ヨー角について図４Ａ〜図４Ｃを用いて説明する。まず、絶対座標系３５のＺ軸を回転軸として、座標系を角度φだけＺ軸周りに回転させた座標系を考える。（図４Ａ参照）。このときの座標軸を［Ｘ’、Ｙ’、Ｚ］とする。次に、この座標系を、Ｙ’軸を回転軸として、角度θだけＹ’軸周りに回転させる（図４Ｂ参照）。このときの座標軸を［Ｘ’’、Ｙ’、Ｚ’’］とする。最後に、この座標系を、Ｘ’’軸を回転軸として、角度ψだけＸ’’軸周りに回転させる（図４Ｃ参照）。このときの座標軸を［Ｘ’’、Ｙ’’’、Ｚ’’’］とする。このときの座標系の姿勢を、ロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは（φ，θ，ψ）となる。姿勢（φ，θ，ψ）の座標系が、原点位置を手先座標系３６の原点位置Ｏｅ（ｘ，ｙ，ｚ）に平行移動した座標系と、手先座標系３６が一致する場合、手先座標系３６の姿勢ベクトルは（φ，θ，ψ）であるとする。
【００４０】
ロボットアーム５の手先位置と、姿勢と、力とをそれぞれ制御する場合には、手先位置及び姿勢ベクトルｒ、及び、後述する手先に発生している手先力ベクトルＦを、後述する目標軌道生成部４５で生成された目標軌道、すなわち、手先位置及び姿勢目標ベクトルｒｄと目標力ベクトルＦｄとに動作制御部１３により追従させることになる。
【００４１】
掃除部材８は、例えばモップ、雑巾、又は、スポンジを想定し、床面又は壁面などを直接拭く部分である。掃除部材８は、掃除部材取り付け部８ａを介して手先取り付け部材３０に着脱可能に取り付けられて、一例として床面９の掃除面に軽く載せるようにしている。
【００４２】
力検出部７は、ロボットアーム５の手先取り付け部材３０と掃除部材８の間に発生する力を検出もしくは推定して、その情報を出力する。絶対座標（ｘ、ｙ、ｚ）の方向の力をそれぞれ（Ｆｘ，Ｆｙ，Ｆｚ）、絶対座標（ｘ、ｙ、ｚ）のそれぞれの軸周りの回転トルクを（Ｔｘ，Ｔｙ，Ｔｚ）とし、手先に発生している力を、ベクトルＦ＝[Ｆｘ，Ｆｙ，Ｆｚ，Ｔｘ，Ｔｙ，Ｔｚ］Ｔと定義する。一例として、力検出部７は、手先取り付け部材３０と掃除部材８の間にある６軸の力センサを想定するが、掃除方向が限定される場合（一例として図２４）などは６軸以下でもかまわない。ただし、少なくとも、掃除面に対して垂直の方向の力（掃除面に対して垂直な成分）と掃除面上の進行方向の力（掃除面に対して水平な成分）の検出ができる手段又は装置が必要となる。力検出部７からの出力は、入出力ＩＦ１６を介して、動作制御部１３と掃除面種データベース１５と領域判定部９０とに出力される。
【００４３】
また、力検出部７として、センサを用いず、手首部３１の第４関節部２７と第５関節部２８と第６関節部２９とにそれぞれ配置したモータ２０のモータ電流値などから推定する力推定部として構成するようにしてもよい。この場合、力検出部７による外力の推定は、次の方法で推定する。モータドライバ１７の電流センサ１７ａは、ロボットアーム５の各関節部を駆動するモータ２０を流れる電流値ｉ＝［ｉ１，ｉ２，ｉ３，ｉ４，ｉ５，ｉ６］Ｔを計測する。力検出部７には、モータドライバ１７の電流センサで計測された電流値ｉ＝［ｉ１，ｉ２，ｉ３，ｉ４，ｉ５，ｉ６］Ｔが、入出力ＩＦ９のＡ／Ｄボードを介して取り込まれる。また、各関節部の関節角の現在値ｑが、入出力ＩＦ１６のカウンタボードを介して力検出部７に取り込まれるとともに、後述する動作制御部１３からの関節トルク誤差補償出力τが力検出部７に取り込まれる。
【００４４】
力検出部７は、オブザーバーとして機能し、前記電流値ｉと、関節角の現在値ｑと、関節トルク誤差補償出力τとの各情報から、ロボットアーム５に加わる外力によって各関節部に発生するトルクτｅｘｔを算出する。そして、さらに、力検出部７は、Ｆｅｘｔ＝Ｊｖ（ｑ）−Ｔτｅｘｔにより、ロボットアーム５の手先における等価手先外力Ｆｅｘｔに換算して、換算後の等価手先外力Ｆｅｘｔを現在の手先力ベクトルＦとして、力検出部７から動作制御部１３と掃除面種データベース１５と領域判定部９０とに出力する。ここで、Ｊｖ（ｑ）は、後述する近似逆運動学計算部５４にて計算されるヤコビ行列である。
【００４５】
図５は制御装置１１の詳細構成を示す図である。制御装置１１は、前記したように、掃除方向決定部９１と、軌道生成部９４と、動作制御部１３とを備えて、拭き掃除部材８と床面９の掃除面とに働く力を検出して出力する力検出部７で検出した力に基づき、拭き掃除部材８を床面９の掃除面に接触させて掃除面に沿って掃除を行う方向を決定する掃除方向決定部９１と、掃除方向決定部９１により決定された掃除方向に沿った掃除軌道（目標軌道）を生成する軌道生成部９４とを備えて、一対のモータ４０などにより、軌道生成部９４で生成された掃除軌道に沿って移動体７０を移動させて、拭き掃除部材８で掃除面に対する掃除を行うように制御するものである。
【００４６】
より具体的に、制御装置１１は、さらに、前記したように、動作軌道データベース１４と動作軌道生成部９５とを有する軌道生成部９４と、掃除面種データベース１５と掃除面種選択部（掃除面種選択手段の一例）１８とを有する掃除面種切替部１９と、領域判定部９０と、動作制御部１３と、入出力ＩＦ（インターフェース）１６とで構成される。このうち、動作制御部１３は、目標軌道生成部４５と、力誤差計算部４６と、位置誤差計算部４７と、位置及び力制御方向選択部４８と、力誤差補償部４９と、関節トルク変換部５０と、位置誤差補償部５１と、動力学補償部５２と、順運動学計算部５３と、近似逆運動学計算部５４と関節トルク指令計算部５５とを備えて構成され、ロボット本体部１０の目標軌道、並びに、ロボット本体部１０の現在位置及び姿勢と力の情報から、動作制御部１３によりロボット本体部１０の動作制御のための指令値を出力する。
【００４７】
ロボット本体部１０からは、ロボットアーム５のそれぞれの関節部のエンコーダ２１により計測された関節角の現在値（関節角度ベクトル）ベクトルｑ＝［ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６,ｑｂ１,ｑｂ２］Ｔが出力され、入出力ＩＦ９のカウンタボードにより動作制御部１３の順運動学計算部５３に取り込まれる。ただし、ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６，ｑｂ１,ｑｂ２は、それぞれ、エンコーダ２１，４１から検出された、第１関節部２４と、第２関節部２５と、第３関節部２６と、第４関節部２７と、第５関節部２８と、第６関節部２９と、右車輪３ａと、左車輪３ｂとの関節角度である。
【００４８】
目標軌道生成部４５は、動作軌道データベース１４からの出力情報と、力検出部７からの力情報（現在の手先力ベクトル）Ｆと、後述する順運動学計算部５３からの手先位置及び姿勢ベクトルｒとを基に、目標とするロボット本体部１０の動作を実現するための目標軌道の情報、すなわち、ロボットアーム５の手先位置及び姿勢目標ベクトルｒｄ及び目標力ベクトルＦｄを出力する。目標とするロボット本体部１０の動作は、目的とする作業に応じて事前にそれぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）及び力（Ｆｄ０、Ｆｄ１、Ｆｄ２、・・・）が動作軌道データベース１４に与えられており、目標軌道生成部４５は、動作軌道データベース１４からの前記それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）及び力（Ｆｄ０、Ｆｄ１、Ｆｄ２、・・・）の情報と、順運動学計算部５３からの手先位置及び姿勢ベクトルｒと、力検出部７からの手先力ベクトルＦとを基に多項式補間を使用し、各ポイント間の軌道を補完し、目標軌道である手先位置及び姿勢目標ベクトルｒｄ及び目標力ベクトルＦｄを生成する。
【００４９】
順運動学計算部５３には、ロボット本体部１０のロボットアーム５の各関節部のエンコーダ２１により計測された各関節角の現在値ｑである関節角度ベクトルｑが、入出力ＩＦ９のカウンタボードを介して入力される。そして、順運動学計算部５３では、ロボット本体部１０のロボットアーム５の関節角度ベクトルｑから手先位置及び姿勢ベクトルｒへの変換の幾何科学的計算を行う。よって、順運動学計算部５３は、ロボット本体部１０のロボットアーム５の手先位置を検出する手先位置検出部の一例として機能する。順運動学計算部５３で計算された手先位置及び姿勢ベクトルｒは、目標軌道生成部４５と位置誤差計算部４７と掃除方向決定部９１と掃除面種選択部１８と領域判定部９０とに出力される。
【００５０】
近似逆運動学計算部５４では、ロボット本体部１０のロボットアーム５において計測される関節角度ベクトルｑに基づき、Ｊｖ（ｑ）の計算を行う。ただし、Ｊｖ（ｑ）は、
【００５１】
【数１】
2010035981.tif 000003
を満たすヤコビ行列である。ただし、ｖ＝［ｖｘ、ｖｙ、ｖｚ、λｘ、λｙ、λｚ］Ｔであり、（ｖｘ、ｖｙ、ｖｚ）は手先座標系３６でのロボットアーム５の手先の並進速度、（λｘ、λｙ、λｚ）は手先座標系３６でのロボットアーム５の手先の角速度である。
力誤差計算部４６は、目標軌道生成部４５から出力される目標力ベクトルＦｄと力検出手段７から出力される現在の手先に発生している手先力ベクトルＦとの差である力誤差出力ベクトルＦｅを計算し、位置及び力制御方向選択部４８に力誤差出力ベクトルＦｅを出力する。
【００５２】
位置誤差計算部４７は、目標軌道生成部４５から出力される手先位置及び姿勢目標ベクトルｒｄと順運動学計算部５３から出力される現在の手先位置及び姿勢ベクトルｒとの差である位置及び姿勢誤差出力ｒｅを計算し、位置及び力制御方向選択部４８に位置及び姿勢誤差出力ｒｅを出力する。
【００５３】
位置及び力制御方向選択部４８は、力制御を行う方向と位置制御を行う方向とを切り分けて、力誤差補償部４９と位置誤差補償部５１とにそれぞれ方向補正力誤差出力
【００５４】
【数２】
2010035981.tif 000004
（以下、簡略して記載するため、これを「∧Ｆｅ」と記載する。）と方向補正位置及び姿勢誤差出力
【００５５】
【数３】
2010035981.tif 000005
（以下、簡略して記載するため、これを「∧ｒｅ」と記載する。）とを出力する。
例えば、ｘ方向に力制御を行い、かつ、それ以外の方向は位置制御を行う場合には、
【００５６】
【数４】
2010035981.tif 000006
【００５７】
【数５】
2010035981.tif 000007
とすることで、ｘ方向に力制御を行うとともに、それ以外の方向に位置制御を行うことが出来る。
【００５８】
力誤差補償部４９は、位置及び力制御方向選択部４８から方向補正力誤差出力∧Ｆｅが入力され、方向補正力誤差出力∧Ｆｅが０に収束するようにロボット本体部１０を制御するための制御入力となる力誤差補償出力ＵＦｅを計算し、力誤差補償出力ＵＦｅが、関節トルク変換部５０に向けて出力される。
【００５９】
関節トルク変換部５０は、力誤差補償部４９から入力された力誤差補償出力ＵＦｅを各関節等価トルクτｆに変換して、各関節等価トルクτｆを関節トルク指令計算部５５に向けて出力する。
【００６０】
位置誤差補償部５１は、位置及び力制御方向選択部４８から方向補正位置及び姿勢誤差出力∧ｒｅが入力され、位置及び姿勢誤差補償出力Ｕｒｅが、動力学補償部５２に向けて出力される。
【００６１】
動力学補償部５２は、位置誤差補償部５１から入力された位置及び姿勢誤差補償出力Ｕｒｅを位置誤差補償に必要な各関節トルクτｒに変換して、各関節トルクτｒ関節トルク指令計算部５５に向けて出力する。
【００６２】
関節トルク変換部５０の出力である各関節等価トルクτｆ、及び、動力学補償部５２の出力である位置誤差補償に必要な各関節トルクτｒを関節トルク指令計算部５５により加算した関節トルク補償出力τが動作制御部１３の出力となり、ロボット本体部１０に出力される。
【００６３】
関節トルク補償出力τは、入出力ＩＦ１６のＤ／Ａボードを介してロボット本体部１０のモータドライバ１７に電圧指令値として与えられ、各関節部のモータ２０により各関節部が正逆回転駆動されて、ロボット本体部１０が動作する。
【００６４】
このように動作するロボット本体部１０で、掃除部材８を床面９に押し付けるように力制御を行いつつ、床面９上で掃除部材８を動かすことで、掃除動作を行うことが出来る。
【００６５】
動作軌道データベース１４から動作制御部１３に軌道が入力されたときの動作制御部１３の動作ステップについて、図２０のフローチャートに基づいて説明する。これらの動作ステップの機能は、制御プログラム１２（図２参照）としてコンピュータにそれぞれ実行させることが可能なものである。
【００６６】
ロボット本体部１０のロボットアーム５の関節部のそれぞれのエンコーダ２１により計測された関節角度データ（関節変数ベクトル又は関節角度ベクトルｑ）が、エンコーダ２１から入出力ＩＦ１６を介して制御装置１１に取り込まれる（ステップＳ２１）。
【００６７】
次いで、制御装置１１に取り込まれた関節角度データ（関節変数ベクトル又は関節角度ベクトルｑ）に基づいて、近似逆運動学計算部５４にて、ロボットアーム５の運動学計算に必要なヤコビ行列Ｊｖ等の計算を行う（ステップＳ２２）。
【００６８】
次いで、順運動学計算部５３にて、ロボット本体部１０のロボットアーム５の関節部のそれぞれのエンコーダ２１からの関節角度データ（関節変数ベクトル又は関節角度ベクトルｑ）から、ロボット本体部１０のロボットアーム５の現在の手先位置及び姿勢ベクトルｒを計算して、目標軌道生成部４５と、位置誤差計算部４７と、掃除方向決定部９１と、掃除面種選択部１８と、領域判定部９０と動作軌道生成部９５となどに出力する（ステップＳ２３）。
【００６９】
次いで、力検出部７は、ロボット本体部１０のロボットアーム５に取り付けられた力センサの出力情報を基に、ロボットアーム５の手先に発生している手先力ベクトルＦを計算して、目標軌道生成部４５と、力誤差計算部４６と、掃除方向決定部９１と、掃除面種選択部１８と、領域判定部９０となどに出力する（ステップＳ２４）。
【００７０】
次いで、後述する動作軌道生成部９５により生成されるロボット本体部１０の動作軌道と、ステップＳ２３で順運動学計算部５３により計算して求められた手先位置及び姿勢ベクトルｒと、力検出部７から入力された現在の手先力ベクトルＦとに基づき、目標軌道生成部４５は、ロボット本体部１０のロボットアーム５の手先位置及び姿勢目標ベクトルｒｄ及び目標力ベクトルＦｄを計算する（ステップＳ２５）。
【００７１】
次いで、力誤差計算部４６は、目標軌道生成部４５からの目標力ベクトルＦｄと力検出部７から出力される現在の手先力ベクトルＦとの差である誤差出力ベクトルＦｅを計算し、位置及び力制御方向選択部４８に誤差出力ベクトルＦｅを出力する（ステップ２６）。
【００７２】
次いで、位置誤差計算部４７は、目標軌道生成部４５からの手先位置及び姿勢目標ベクトルｒｄとステップＳ２３で順運動学計算部５３により計算して求められた現在の手先位置及び姿勢ベクトルｒとの差である位置及び姿勢誤差ｒｅを計算し、位置及び力制御方向選択部４８に位置及び姿勢誤差ｒｅを出力する（ステップ２７）。
【００７３】
次いで、位置及び力制御方向選択部４８は、力制御を行う方向と位置制御を行う方向とを切り分けて、力誤差補償部４９と位置誤差補償部５１とにそれぞれ方向補正力誤差出力∧Ｆｅと方向補正位置及び姿勢誤差出力∧ｒｅとを出力する（ステップ２８）。
【００７４】
次いで、力誤差補償部４９は、位置及び力制御方向選択部４８から入力された方向補正力誤差出力∧Ｆｅが０に収束するようにロボット本体部１０を制御するための制御入力となる、力誤差補償出力ＵＦｅを計算して、力誤差補償部４９から関節トルク変換部５０に力誤差補償出力ＵＦｅを出力する（ステップＳ２９）。力誤差補償部４９の具体例としては、ＰＩＤ補償器が考えられる。定数の対角行列である比例、微分、積分の３つのゲインを適切に調整することにより、力誤差が０に収束するように力誤差補償部４９の制御が働く。
【００７５】
次いで、関節トルク変換部５０は、力誤差補償部４９から入力された力誤差補償出力ＵＦｅを等価関節トルクτｆにそれぞれ変換して、各関節等価トルクτｆを関節トルク変換部５０から出力する（ステップＳ３０）。
【００７６】
次いで、位置誤差補償部５１は、位置及び力制御方向選択部４８から入力された方向補正位置及び姿勢誤差出力∧ｒｅが０に収束するようにロボットアーム５を制御するための制御入力となる、位置及び姿勢誤差補償出力Ｕｒｅを計算して、位置誤差補償部５１から動力学補償部５２に位置及び姿勢誤差補償出力Ｕｒｅを出力する（ステップＳ３１）。位置誤差補償部５１の具体例としては、ＰＩＤ補償器が考えられる。定数の対角行列である比例、微分、積分の３つのゲインを適切に調整することにより、位置誤差が０に収束するように位置誤差補償部５１の制御が働く。
【００７７】
次いで、動力学補償部５２は、位置誤差補償部５１から入力された位置及び姿勢誤差補償出力Ｕｒｅを位置誤差補償に必要な各関節トルクτｒに変換して、各関節トルクτｒ出力する（ステップＳ３２）。
【００７８】
次いで、ステップＳ３０で計算された等価関節トルクτｆとステップＳ３２で計算された位置誤差補償関節トルクτｒを関節トルク指令計算部５５で加算して関節トルク補償出力τとし、動作制御部１３から入出力ＩＦ１６を介してロボットアーム１０のモータドライバ１７に出力する（ステップＳ３３）。
【００７９】
次いで、関節トルク補償出力τは、入出力ＩＦ１６を通じ、モータドライバ１７に与えられ、モータドライバ１７は、それぞれの関節トルク補償出力τに基づき、関節部のそれぞれのモータ２０を流れる電流量をそれぞれ変化させる。このそれぞれの電流量の変化により、ロボット本体部１０のロボットアーム５のそれぞれの関節部の回転運動が発生して、ロボット本体部１０が動作を行なう（ステップＳ３４）。
【００８０】
以上のステップにより、ロボット本体部１０は動作軌道データベース１４から与えられた軌道に基づく動作を行うことが出来る。
【００８１】
掃除面種切替部１９は、掃除面種データベース１５と掃除面種選択部１８とを備えて構成され、ロボット本体部１０の目標軌道と、ロボット本体部１０の現在位置及び姿勢と力とから、掃除面の種類を選択する。
【００８２】
掃除面種データベース１５は、掃除面の種類を選択するための情報（掃除面の掃除表面状態情報の一例）を保持している。掃除面の種類は、力検出部７から入力される手先力ベクトルＦと順運動学計算部５３から入力されるロボットの手先位置及び姿勢ベクトルｒとを基に、選択できる。掃除面種データベース１５について図６〜図１５を用いて説明する。
【００８３】
まず、掃除面の種類の一例としての畳９ａの模式図を図６に示す。図６の（ａ）に示すように、畳９ａには織目９ｂが存在する。また、図７Ａに掃除部材８が図６の（ａ）に示す５個の矢印Ａ，Ａ’，Ｂ，Ｂ’，Ｃの各方向になぞり動作を行った場合の力検出部７から検出できる掃除部材８と畳表面との間に発生する摩擦力の平均摩擦係数を示す。ここで、矢印Ａは、畳９ａの織目９ｂに沿った方向に掃除部材８を移動させる（なぞり動作させる）場合を示し、矢印Ａ’は、矢印Ａとは逆方向に、畳９ａの織目９ｂに沿った方向に掃除部材８を移動させる（なぞり動作させる）場合を示す。矢印Ｂは、畳９ａの織目９ｂを直角に横切る方向に掃除部材８を移動させる（なぞり動作させる）場合を示し、矢印Ｂ’は、矢印Ｂとは逆方向に、畳９ａの織目９ｂを直角に横切る方向に掃除部材８を移動させる（なぞり動作させる）場合を示す。矢印Ｃは、畳９ａの織目９ｂを斜めに横切る方向に掃除部材８を移動させる（なぞり動作させる）場合を示す。摩擦係数は、なぞり動作時の力検出部７の出力のうち、掃除面上の進行方向の力を、掃除面の垂直抗力で割ることで、摩擦係数が力検出部７で算出できる。畳９ａの表面を矢印Ａ及び矢印Ａ’の方向に掃除部材８がなぞり動作を行った場合と、矢印Ｂ及び矢印Ｂ’の方向に掃除部材８がなぞり動作を行った場合では、掃除部材８と畳表面との間に発生する摩擦力の摩擦係数が異なり、矢印Ｂ及び矢印Ｂ’の方向のほうが大きい。また、それ以外の方向（例えば矢印Ｃ）の場合の摩擦係数は、矢印Ａの場合の摩擦係数と矢印Ｂの場合の摩擦係数の間の中間の値となる。また、矢印Ａと矢印Ａ’ のように、及び、矢印Ｂと矢印Ｂ’のように、平行してかつ逆向きに動かした場合の平均摩擦係数はほぼ同じとなる。図７Ｂに、掃除部材８が図６の（ａ）に示す矢印の各方向に掃除部材８がなぞり動作を行った場合の、力検出部７から検出できる掃除部材８と畳表面との間に発生する摩擦力の摩擦係数の時間変化を示す。矢印Ａ，矢印Ａ’，矢印Ｂ，矢印Ｂ及び矢印Ｃとも、同一方向へのなぞり動作中の時間変化は少ない。なお、ここでは畳９ａを例示したが、畳９ａに限らず、畳９ａと同じ構成材料であるイ草（藺草）を編んで形成している敷物又は座布団類にも、この情報は適用できる。
【００８４】
次に、掃除面の種類の別の例としてのフローリング９ｃの模式図を図８に示す。図８に示すように、フローリング９ｃには平行に溝９ｄがあるものがある。図８に示すような溝９ｄのあるフローリング９ｃ上を、矢印Ｅ，Ｅ’，Ｆ，Ｆ’，Ｇの各方向に掃除部材８がなぞり動作を行った場合の、力検出部７から検出できる掃除部材８とフローリング表面との間に発生する摩擦力のなぞり方向と時間とに対する変化を図９Ａ及び図９Ｂに示す。ここで、矢印Ｅは、フローリング９ｃの溝９ｄに沿った方向に掃除部材８を移動させる（なぞり動作させる）場合を示し、矢印Ｅ’は、矢印Ｅとは逆方向に、フローリング９ｃの溝９ｄに沿った方向に掃除部材８を移動させる（なぞり動作させる）場合を示す。矢印Ｆは、フローリング９ｃの溝９ｄを直角に横切る方向に掃除部材８を移動させる（なぞり動作させる）場合を示し、矢印Ｆ’は、矢印Ｆとは逆方向に、フローリング９ｃの溝９ｄを直角に横切る方向に掃除部材８を移動させる（なぞり動作させる）場合を示す。矢印Ｇは、フローリング９ｃの溝９ｄを斜めに横切る方向に掃除部材８を移動させる（なぞり動作させる）場合を示す。図９Ｂ〜図９Ｄに示すように、フローリング９ｃの表面を矢印Ｅ及び矢印Ｅ’の方向に掃除部材８がなぞり動作を行った場合は、掃除部材８が溝９ｄに当らないため、摩擦係数は動作中、常に小さい。矢印Ｆ，矢印Ｆ’及び矢印Ｇの方向では、掃除部材８が溝９ｄに当たるため、掃除部材８が引っ掛かりが生じ、摩擦係数が途中で変動する。また、矢印Ｅ及び矢印Ｅ’の方向では、図９Ｂに示すように、摩擦係数が途中で変動しないのに対して、矢印Ｆ，矢印Ｆ’及び矢印Ｇの方向では、図９Ｃ及び図９Ｄに示すように、摩擦係数が途中で増加するように大きく変動する。このため、平均摩擦係数は、矢印Ｅと矢印Ｅ’が小さく、矢印Ｆと矢印Ｆ’と矢印Ｇとが大きくなる。また、矢印Ｅと矢印Ｅ’、矢印Ｆと矢印Ｆ’のように、平行してかつ逆向きに動かした場合の平均摩擦係数は、ほぼ同じとなる。
【００８５】
次に、掃除面の種類のさらに別の例としての、柄のない絨毯９ｅの模式図を図１０Ａ及び図１０Ｂに示す。図１０Ｂは、図１０ＡのＡ方向から見た、絨毯９ｅの断面図である。図１０Ａで示すように、絨毯９ｅの一部の領域では、毛足９ｆが垂直ではなく、方向を持って織られている。図１０Ａに示すような絨毯９ｅ上を矢印Ｈ，Ｈ’，Ｉ，Ｉ’，Ｊの各方向に掃除部材８がなぞり動作を行った場合の力検出部７から検出できる掃除部材８と絨毯表面との間に発生する摩擦力の平均摩擦係数を図１１Ａに示す。ここで、矢印Ｈは、絨毯９ｅの毛足９ｆを起こす方向に掃除部材８を移動させる（なぞり動作させる）場合を示し、矢印Ｈ’は、矢印Ｈとは逆方向に、絨毯９ｅの毛足９ｆを寝かす方向（すなわち、毛足９ｆを起こす方向と平行かつ逆向きの方向）に掃除部材８を移動させる（なぞり動作させる）場合を示す。矢印Ｉは、絨毯９ｅの毛足９ｆを起こす方向又は毛足９ｆを寝かす方向とは直交する方向に掃除部材８を移動させる（なぞり動作させる）場合を示し、矢印Ｉ’は、矢印Ｉとは逆方向に、絨毯９ｅの毛足９ｆを起こす方向又は毛足９ｆを寝かす方向とは直交する方向に掃除部材８を移動させる（なぞり動作させる）場合を示す。矢印Ｊは、絨毯９ｅの毛足９ｆを起こす方向又は毛足９ｆを寝かす方向とは斜めに交差する方向に掃除部材８を移動させる（なぞり動作させる）場合を示す。絨毯９ｅでは、毛足９ｆを起こす方向に掃除部材８がなぞり動作を行った場合（図１０Ａの矢印Ｈ方向の場合）に最も摩擦係数が大きく、毛足９ｆを寝かす方向、すなわち、毛足９ｆを起こす方向と平行かつ逆向きに掃除部材８がなぞり動作を行った場合（図１０Ａの矢印Ｈ’方向の場合）に最も摩擦係数が小さくなる。それ以外の方向の場合（図１０Ａの矢印Ｉ，Ｉ’，Ｊ方向の場合）では、それらの摩擦係数の中間の値をとる。また、図１１Ｂに示すように、掃除部材８がなぞり動作中の摩擦係数の時間変化は、同一方向に掃除部材８がなぞり動作をしている際には摩擦係数はあまり変化がなく、平均摩擦係数と同じように矢印Ｈ方向が最も大きく、矢印Ｈ’方向が最も小さくなる。
【００８６】
以上のことを基に、掃除面種データベース１５の一例を図１２に示す。掃除面種データベース１５は、畳と、絨毯と、溝のあるフローリングとについて、掃除面の掃除表面状態情報の一例として、平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと直交する向きの平均摩擦係数との差μｔｄと、平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μｔａ，μｊａ，μｆａ，と、平均摩擦係数が最大となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μｔｐ，μｊｐ，μｆｐとをそれぞれ保持している。ただし、絨毯とフローリングについては、平均摩擦係数が最大値の場合の向きとそれと直交する向きの平均摩擦係数の差を特に規定しない。
【００８７】
掃除面種選択部１８は、力検出部７から入力される手先力ベクトルＦと順運動学計算部５３から入力されるロボット本体部１０の手先位置及び姿勢ベクトルｒと掃除面種データベース１５の情報とを基に、掃除面の種類を選択する。さらに、掃除面種選択部１８は、掃除面種選択部１８で選択した掃除面の種類の情報を掃除方向決定部９１と動作軌道生成部９５とに出力する。
【００８８】
掃除面種選択部１８での掃除面の種類の選択動作（掃除面種選択動作）ステップについて、図１３のフローチャートに基づいて説明する。
【００８９】
始めに、後述するロボット本体部１０の探索動作（掃除面種の情報を得るための移動動作）中の力検出部７から入力される手先力ベクトルＦと順運動学計算部５３から入力されるロボット本体部１０のロボットアーム５の手先位置及び姿勢ベクトルｒとを基に、なぞり動作の方向別の手先力Ｆｎｔを掃除面種選択部１８で算出して掃除面種選択部１８で記憶し（図１４参照）、さらに、なぞり動作の方向の力をなぞり面の垂直抗力で割ってなぞり動作方向別の摩擦係数μｎｔを掃除面種選択部１８で計算して掃除面種選択部１８で記憶する（図１５参照）（ステップＳ１）。
【００９０】
具体的には、図１４に示すように、では、時間ｔ＝１における方向１〜方向Ｎまでの手先力Ｆ１１〜ＦＮ１と、時間ｔ＝２における方向１〜方向Ｎまでの手先力Ｆ１２〜ＦＮ２と、時間ｔ＝３における方向１〜方向Ｎまでの手先力Ｆ１３〜ＦＮ３と、・・・・・・、時間ｔ＝Ｔにおける方向１〜方向Ｎまでの手先力Ｆ１Ｔ〜ＦＮＴとを掃除面種選択部１８で算出している。また、図１５に示すように、時間ｔ＝１における方向１〜方向Ｎまでの摩擦係数μ１１〜μＮ１と、時間ｔ＝２における方向１〜方向Ｎまでの摩擦係数μ１２〜μＮ２と、時間ｔ＝３における方向１〜方向Ｎまでの摩擦係数μ１３〜μＮ３と、・・・・・・、時間ｔ＝Ｔにおける方向１〜方向Ｎまでの摩擦係数μ１Ｔ〜μＮＴとを掃除面種選択部１８で算出している。ここで方向とは、後述する探索動作におけるなぞり動作軌道の各方向（図１７の点線の矢印方向を参照。）を指す。
【００９１】
次いで、各方向別に摩擦係数の平均値（平均摩擦係数）μ１〜μＮを掃除面種選択部１８で計算して記憶する（ステップＳ２）。これを、図１５に、方向１〜方向Ｎまでの平均摩擦係数μ１〜μＮとして示す。このとき、なぞり動作の開始直後と停止直前は、静止摩擦と動摩擦の切り替えにより摩擦係数が安定しないため、なぞり動作の開始直後と停止直前のデータは使用しない。
【００９２】
次いで、掃除面種選択部１８に記憶された各方向別に摩擦係数の平均値（平均摩擦係数）μ１〜μＮのうちから、平均摩擦係数が最大値の場合の方向を掃除面種選択部１８で抽出し、抽出した最大値の場合の方向でのなぞり動作中の摩擦係数のうち、最大の値と最小の値の差を掃除面種選択部１８で求める（ステップＳ３）。例えば、図１５において、平均摩擦係数が最大値の場合の方向が「方向２」であると掃除面種選択部１８で抽出したとき、抽出した最大値の場合の方向である「方向２」のなぞり動作中の時間ｔ＝１〜時間ｔ＝Ｔまでの摩擦係数のうち、最大の値と最小の値の差を掃除面種選択部１８で求める。
【００９３】
次いで、ステップＳ３で計算した差が、掃除面種データベース１５に記憶された、溝のあるフローリングでの平均摩擦係数が最大値の場合となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μｆｐ以上であるかどうかを掃除面種選択部１８で判定する（ステップＳ４）。
【００９４】
以下は、ステップＳ４で、ステップＳ３で計算した差が、フローリングの前記差μｆｐ以上であると掃除面種選択部１８で判定した場合は、ステップＳ５に進む。以下、ステップＳ５以降の動作について説明する。
【００９５】
ステップＳ５では、掃除面種選択部１８に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでのなぞり動作中の平均摩擦係数との差を掃除面種選択部１８で計算する。
【００９６】
次いで、ステップＳ５で計算した差が、掃除面種データベース１５に記憶された、溝のあるフローリングでの平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μｆａ以下であるかどうかを、掃除面種選択部１８で判定する（ステップＳ６）。
【００９７】
以下は、ステップＳ６で、ステップＳ５で計算した差が、前記差μｆａ以下であると掃除面種選択部１８で判定した場合には、ステップＳ７に進む。
【００９８】
ステップＳ７では、掃除面種を、「溝ありのフローリング」であると掃除面種選択部１８で決定し、面種が「フローリング」であるとの情報を、掃除面種選択部１８から掃除方向決定部９１と動作軌道生成部９５とに出力して、一連の掃除面種選択動作ステップを終了する。前述の通り、フローリングの溝と直交する方向になぞり動作を行った場合に、平均摩擦係数が最も大きくなるため、フローリングの溝の方向は、最大平均摩擦係数の向きと直交する向きである。
【００９９】
一方、ステップＳ６で、ステップＳ５で計算した差が、前記差μｆａより大きいと掃除面種選択部１８で判定した場合には、ステップＳ８に進む。
【０１００】
ステップＳ８では、ステップＳ５で計算した差が前記差μｆａより大きい場合については、掃除面種データベース１５に記憶された情報を参照しても掃除面種を選択できないため、掃除面種が不明であると掃除面種選択部１８で決定し、面種が不明であるとの情報を、掃除方向決定部９１と動作軌道生成部９５とに掃除面種選択部１８から出力して、一連の掃除面種選択動作ステップを終了する。
【０１０１】
以下は、ステップＳ４で、ステップＳ３で計算した差が、フローリングの前記差μｆｐより小さいと掃除面種選択部１８で判定した場合は、ステップＳ９に進む。以下、ステップＳ９以降の動作について説明する。
【０１０２】
ステップＳ９では、掃除面種選択部１８に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでの平均摩擦係数との差を掃除面種選択部１８で計算する。
【０１０３】
次いで、ステップＳ９で計算した差が、掃除面種データベース１５に記憶された、絨毯での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μｊａ以上であるかどうかを掃除面種選択部１８で判定する（ステップＳ１０）。
【０１０４】
以下は、ステップＳ１０で、ステップＳ９で計算した差が、前記差μｊａ以上であると掃除面種選択部１８で判定した場合には、ステップＳ１１に進む。
【０１０５】
ステップＳ１１では、掃除面種を絨毯であると掃除面種選択部１８で決定し、面種が絨毯であるとの情報を、掃除面種選択部１８から掃除方向決定部９１と動作軌道生成部９５とに出力して、一連の掃除面種選択動作ステップを終了する。毛並みの方向（例えば、毛足９ｆを起こす方向）は、最大平均摩擦係数の向きである。
【０１０６】
一方、ステップＳ１０で、ステップＳ９で計算した差が、前記差μｊａより小さいと掃除面種選択部１８で判定した場合には、ステップ１２に進む。
【０１０７】
ステップ１２では、ステップ９で計算した差が、掃除面種データベース１５に記憶された、畳での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μｔａ以下であるかどうかを掃除面種選択部１８で判定する。
【０１０８】
以下は、ステップ１２で、ステップ９で計算した差が、前記差μｔａより大きいと掃除面種選択部１８で判定した場合には、ステップＳ１３に進む。
【０１０９】
ステップＳ１３では、ステップ９で計算した差が前記差μｔａより大きい場合については、掃除面種データベース１５に記憶された情報を参照しても掃除面種を選択できないため、掃除面種を不明であると掃除面種選択部１８で決定し、面種が不明であるとの情報を、掃除面種選択部１８から掃除方向決定部９１と動作軌道生成部９５とに出力して、一連の掃除面種選択動作ステップを終了する。
【０１１０】
一方、ステップ１２で、ステップ９で計算した差が、前記差μｔａ以下であると掃除面種選択部１８で判定した場合には、ステップＳ１４に進む。以下、ステップＳ１４以降の動作について説明する。
【０１１１】
ステップＳ１４では、掃除面種選択部１８に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と直交する方向の平均摩擦係数の差を掃除面種選択部１８で計算する（ステップＳ１４）。ある１つの直交する方向が存在すると、その逆向きも直交するため、最大平均摩擦係数の方向とその方向と直交する方向とが２つある場合もあるが、その場合の差は、小さいほうの差を掃除面種選択部１８で選択する。
【０１１２】
次いで、ステップＳ１４で計算した差が、掃除面種データベース１５に記憶された、畳での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと直交する向きの平均摩擦係数との差μｔｄ以上であるかどうかを掃除面種選択部１８で判定する（ステップ１５）。
【０１１３】
以下は、ステップ１５で、ステップＳ１４で計算した差が、前記差μｔｄ以上であると掃除面種選択部１８で判定した場合には、ステップＳ１６に進む。
【０１１４】
ステップＳ１６では、掃除面種を畳と掃除面種選択部１８で決定し、面種が畳であるとの情報を、掃除方向決定部９１と動作軌道生成部９５とに掃除面種選択部１８から出力して、一連の掃除面種選択動作ステップを終了する。畳の織目方向とは、最大平均摩擦係数の方向と直交する方向である。
【０１１５】
以下はステップ１５で、ステップＳ１４で計算した差が、前記差μｔｄより小さいと掃除面種選択部１８で判定した場合には、ステップＳ１７に進む。
【０１１６】
ステップＳ１７では、ステップＳ１４で計算した差が前記差μｔｄより小さい場合については、掃除面種データベース１５に記憶された情報を参照しても掃除面種を選択できないため、掃除面種が不明であると掃除面種選択部１８で決定し、面種が不明であるとの情報を、掃除方向決定部９１と動作軌道生成部９５とに掃除面種選択部１８から出力して、一連の掃除面種選択動作ステップを終了する。
【０１１７】
以上のように、掃除面種選択部１８は、掃除面種データベース１５に記憶された情報を基に、掃除面種の情報を決定して、決定した結果の情報を、掃除方向決定部９１と動作軌道生成部９５とに出力する。
【０１１８】
掃除方向決定部９１は、掃除面種切替部１９から出力される掃除面種と、力検出部７から入力される手先力ベクトルＦと、順運動学計算部５３から入力されるロボット本体部１０の手先位置及び姿勢ベクトルｒとに基づき、掃除面種に適した掃除方向を決定する。決定した掃除方向は、動作軌道データベース１４に掃除方向決定部９１から出力する。掃除方向決定部９１により決定される「掃除面種に適した掃除方向」とは、畳では、織目に沿って往復する方向であり、絨毯では、往復動作のうちの往きの動作中に毛並みを起こして帰りの動作中に毛並みを整える方向であり、溝のあるフローリングでは、溝に平行に往復する方向などである。畳では織目の方向の判定、絨毯では毛並みの方向の判定、溝のあるフローリングでは溝の方向の判定は、前述の掃除面種データベース１５と同様に、なぞり動作を行ったときの摩擦係数から掃除方向決定部９１で判定できる。
【０１１９】
以下、掃除方向決定部９１での掃除方向決定動作ステップについて、図２５のフローチャートに基づいて説明する。
【０１２０】
始めに、後述するロボット本体部１０の探索動作（掃除方向の情報を得るための移動動作）中の力検出部７から入力される手先力ベクトルＦと順運動学計算部５３から入力されるロボット本体部１０のロボットアーム５の手先位置及び姿勢ベクトルｒとを基に、なぞり動作の方向別の手先力Ｆｎｔを掃除方向決定部９１で算出して掃除方向決定部９１に記憶する（図１４参照）、さらに、なぞり動作の方向の力を、なぞり面の垂直抗力で割って、なぞり動作方向別の摩擦係数μｎｔを掃除方向決定部９１で計算して掃除方向決定部９１に記憶する（図１５参照）（ステップＳ６１）。
【０１２１】
次いで、掃除方向決定部９１内に記憶された情報に基づき、各方向別に摩擦係数の平均値（平均摩擦係数）を掃除方向決定部９１で計算する（ステップＳ６２）。このとき、なぞり動作の開始直後と停止直前は、静止摩擦と動摩擦の切り替えにより摩擦係数が安定しないため、なぞり動作の開始直後と停止直前のデータは使用しない。
【０１２２】
次いで、掃除面種選択部１８から掃除方向決定部９１に入力された掃除面種の情報を基に、掃除面種が絨毯であるかどうかを掃除方向決定部９１で判定する（ステップＳ６３）。
【０１２３】
ステップＳ６３で、掃除面種が絨毯であると掃除方向決定部９１で判定した場合には、ステップＳ６４に進む。
【０１２４】
ステップＳ６４では、掃除方向決定部９１内に記憶された情報に基づき、平均摩擦係数が最大値の場合の方向を掃除方向決定部９１で抽出して、抽出された情報を、掃除方向決定部９１から動作軌道生成部９５に出力して、一連の掃除方向決定動作を終了する。前述の通り、毛並みの方向は、最大平均摩擦係数の向きである。
【０１２５】
一方、ステップＳ６３で、掃除面種が絨毯以外であると掃除方向決定部９１で判定した場合には、ステップＳ６５に進む。
【０１２６】
ステップＳ６５では、掃除面種選択部１８から掃除方向決定部９１に入力された掃除面種の情報を基に、掃除面種がフローリングであるかどうかを掃除方向決定部９１で判定する。
【０１２７】
ステップＳ６５で、掃除面種がフローリングであると掃除方向決定部９１で判定した場合には、ステップＳ６６に進む。
【０１２８】
ステップＳ６６では、掃除方向決定部９１内に記憶された情報に基づき、平均摩擦係数が最大値の場合の方向と直交する方向を掃除方向決定部９１で抽出して、抽出された情報を、掃除方向決定部９１から動作軌道生成部９５に出力して、一連の掃除方向決定動作を終了する。前述の通り、溝と直交する方向になぞり動作を行った場合に、最も平均摩擦係数が大きくなるため、溝の方向は、最大平均摩擦係数の向きと直交する向きである。
【０１２９】
一方、ステップＳ６５で、掃除面種がフローリング以外であると掃除方向決定部９１で判定した場合には、ステップＳ６７に進む。
【０１３０】
ステップＳ６７では、掃除面種選択部１８から掃除方向決定部９１に入力された掃除面種の情報を基に、平均摩擦係数が最小の方向を掃除方向決定部９１で抽出して、抽出された情報を、掃除方向決定部９１から動作軌道生成部９５に出力して、一連の掃除方向決定動作を終了する。このように平均摩擦係数が最小の方向を出力する理由は、以下の通りである。絨毯以外でかつフローリング以外の場合、畳の場合か、又は、面種不明の場合が相当するが、畳の場合、畳の織目方向は平均摩擦係数が最も小さくなる方向である。また、面種不明の場合、掃除面を傷つけないために、摩擦すなわち抵抗が小さい方向に掃除をするのが望ましいと考えられるため、平均摩擦係数が最小の方向を出力する。
【０１３１】
以上のように、掃除方向決定部９１は、掃除面種切替部１９から出力される掃除面種と、力検出部７から入力される手先力ベクトルＦと、順運動学計算部５３から入力されるロボット本体部１０の手先位置及び姿勢ベクトルｒとに基づき、掃除面にそれぞれ適した掃除方向を決定し、決定情報を動作軌道生成部９５に出力することが出来る。
【０１３２】
動作軌道生成部９５は掃除方向決定部９１から入力される掃除方向と、掃除面種選択部１８から入力される掃除面種情報を元に、動作軌道データベース１４から適切な掃除動作軌道を読み込み、ロボット本体部１０の手先位置及び姿勢の軌道を生成するし、目標軌道生成部４５に出力する。同時に生成した清掃動作を記憶する。さらに、後述する探索動作を行う時は動作軌道データベース１４から探索動作軌道を読み込み、目標軌道生成部４５に出力する。
【０１３３】
ここで、動作軌道データベース１４には、事前に、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）及び力（Ｆｄ０、Ｆｄ１、Ｆｄ２、・・・）が与えられている。その一例を図１６に示す。図１６は、それぞれの掃除面種に対して行うべき清掃動作を示す、動作軌道データベース１４の一例である。図１６における、掃除方向のプラス記号「＋」は、掃除方向決定部９１から、動作軌道生成部９５に入力された掃除方向を意味する。掃除方向のマイナス記号「−」は、プラスの方向と逆向きの方向を意味する。
【０１３４】
図１６の例では、畳掃除は、織目に沿って往復運動を行う形で掃除を行い、往復運動の往きと帰りでは、掃除面の差が無いため、同じ力（図１６の例では、５Ｎ）をかけて掃除を行う。絨毯掃除では、まず、往復運動の往きに、毛足９ｆを起こす方向に掃除し、次に、帰りに、毛足を元に戻す方向に掃除する。往きは、毛足を起こしながら掃除するため、掃除部材８の押付力を強目にして（図１６の例では、１０Ｎで）掃除し、帰りは、毛並みを整えるために、掃除部材の押付力を弱める（図１６の例では、５Ｎまで減少させる）。フローリング掃除では、フローリングの溝に平行な向きに往復運動して掃除を行い、往復運動の往きと帰りでは、掃除面の差が無いため、同じ力（図１６の例では、３Ｎ）をかけて掃除を行う。なお、掃除面種が不明の場合には、往復運動の往きと帰りでは、掃除面の差が無いと仮定して、同じ力（図１６の例では、５Ｎ）をかけて掃除を行う。
【０１３５】
また、動作軌道データベース１４には、掃除面種及び掃除面方向を判断するための情報を得るための探索動作の軌道も与えられている。探索動作軌道の一例を図１７に示す。
【０１３６】
図１７は、床面９に対して掃除を行うときの自走式掃除ロボット１を上空から見た図である。掃除部材８を掃除面である床面９に押付けながら、ロボット本体部２は静止したままで、ロボットアーム５を駆動して矢印の方向に掃除部材８でなぞり動作を行い、なぞり動作中の方向と、そのときの力検出部７からの出力である手先の力とを掃除面種選択部１８に入力することで、掃除面種選択部１８は掃除面種の判断が可能となり、動作中の方向とそのときの力検出部７からの出力である手先の力を、力検出部７から掃除方向決定部９１に入力することで、掃除方向決定部９１は掃除面種の判断が可能となる。
【０１３７】
領域判定部９０は、力検出部７から入力される手先力ベクトルＦと順運動学計算部５３から入力されるロボット本体部１０の手先位置及び姿勢ベクトルｒとを基に、領域の切り替わりを判定し、判定結果の情報を領域判定部９０から動作軌道データベース１４に出力する。領域判定部９０について、図１８Ａ及び図１８Ｂ、図１９を用いて説明する。
【０１３８】
図１８Ａは、６畳間の畳９ａの敷き方（１つの部屋の長方形の床に６枚の畳９ａを敷く敷き方）の一例である。矢印は、ロボット本体部１０の掃除部材８の軌跡を示している。図１８Ａのｙ軸と平行な向きの矢印に沿った移動軌跡β，β'，β''，β'''では、掃除部材８を掃除面に押し付け、拭き掃除を行い、ｘ軸と平行な向きの矢印に沿った移動軌跡α，α'，α''，α'''では、掃除部材８を掃除面に押し付けない状態で掃除面上で掃除部材８の移動のみを行うことで、畳９ａの織目９ｂに沿った拭き掃除を、掃除部材８で行っている状態を示している。しかし、図１８ＡのＡ点において、それまでに掃除していた畳（織目９ｂがｙ軸と平行な畳）９ａから別の畳（織目９ｂがｘ軸と平行な畳）９ａに切り替わることで、別の畳９ａでは、ｘ軸と平行な織目９ｂとは直交した方向に沿った掃除部材８の移動軌跡での拭き掃除となる。この拭き掃除中の摩擦係数の変化と、ｙ軸の正の方向に拭き動作中の摩擦係数の平均値（平均摩擦係数μ）と、時間との関係を、図１８Ｂに示す。図１８Ａの軌道で拭き掃除を行うと、掃除部材８を押し付けずに移動しているときは摩擦係数は０になり、実際に掃除部材８が掃除を行っているときは摩擦係数が増加し、さらに、Ａ点では織目９ｂと垂直に拭き掃除を行うため、より摩擦係数が増加するため、摩擦係数の変化は図１８Ｂの実線のようになる。図１８Ｂの実線が、右端近傍のＡ点に対応する時間となったときに、摩擦係数が大きく増加していることがわかる。また、ｙ軸の正の方向に拭き掃除を行っているときの平均摩擦係数は、図１８Ｂの「×」の記号で示される。
【０１３９】
図１９Ａは、絨毯９ｅ、及び、絨毯掃除中のロボット本体部１０の掃除部材８の軌跡を示している。図１９Ａのｙ軸と平行な向きの矢印に沿った移動軌跡β，β'，β''では、掃除部材８を掃除面に押し付け、拭き掃除を行い、ｘ軸と平行な向きの矢印に沿った移動軌跡α，α'，α''，α'''では、掃除部材８を掃除面に押し付けない状態で掃除面上で掃除部材８の移動のみを行うことで、絨毯９ｅの毛並みに沿った拭き掃除を行っている状態を示している。しかし、図１９ＡのＢ点において、絨毯９ｅからフローリング９ｃに切り替わることで、掃除面種が切り替わる。この拭き掃除中の摩擦係数の変化と、ｙ軸の正の方向に拭き動作中の摩擦係数の平均値（平均摩擦係数μ）と、時間との関係を、図１９Ｂに示す。図１９Ａの軌道で拭き掃除を行うと、掃除部材８を押し付けずに移動しているときは摩擦係数は０になり、実際に掃除部材８が掃除を行っているときは摩擦係数が増加し、特に、ｙ軸の正方向沿いに拭き掃除を行っているときがｙ軸の負方向に拭き掃除を行っているときよりも摩擦係数が大きい。さらに、Ｂ点では、絨毯９ｅが終わり、フローリング９ｃに対する拭き掃除を行うため、摩擦係数が絨毯掃除時より小さくなるため、摩擦係数の変化は、図１９Ｂの実線のようになる。図１９Ｂの実線が、右端近傍のＢ点に対応する時間となったときに、摩擦係数が相当小さくなっていることがわかる。また、ｙ軸の正の方向に拭き掃除を行っているときの平均摩擦係数は、図１９Ｂの「×」の記号で示される。
【０１４０】
そこで、領域判定部９０は、実際の拭き動作中の手先力ベクトルＦとロボット本体部１０の手先位置及び姿勢ベクトルｒとから、掃除の往復運動のうち、往きの方向に掃除時の平均摩擦係数を逐次計算し、記憶する。さらに、往きの方向に拭き掃除を行う際に、今回の平均摩擦係数と前回の平均摩擦係数の差を領域判定部９０で計算し、計算で得られた差が、事前に設定された閾値を越えた場合には、領域が変ったと領域判定部９０で判定し、判定した領域判定情報を領域判定部９０から動作軌道データベース１４に出力する。計算で得られた差が、事前に設定された閾値以下の場合には、領域が変っていないと領域判定部９０で判定し、判定した領域判定情報を領域判定部９０から動作軌道データベース１４に出力する。
【０１４１】
以上のロボット本体部１０の掃除動作を図２１のフローチャートに基づいて説明する。
まず、ロボット本体部１０が起動すると、始めに、動作軌道データベース１４から探索動作（一例としては、図１７の矢印のような移動動作）の軌道が動作制御部１３に出力される（ステップＳ４１）。
【０１４２】
次いで、ロボット本体部１０は、探索動作の軌道に基づき、ロボット本体部２は静止したままで、ロボットアーム５を駆動して掃除部材８を移動させて探索動作を行う（ステップＳ４２）。探索動作時は掃除時と違い、掃除面の方向特性に沿わない方向にも動作するため、掃除時に比べ、掃除面への押付力を小さく設定しておくと、掃除面への影響が小さく出来て、望ましい。探索動作中のロボットアーム５の手先位置及び姿勢ベクトルｒと、手先力ベクトルＦとは、動作制御部１３の順運動学計算部５３と、力検出部７とにより、それぞれ得られる。
【０１４３】
次いで、掃除面種選択部１８は、ロボット本体部１０の探索動作中のロボットアーム５の手先位置及び姿勢ベクトルｒと手先力ベクトルＦとに基づき、図１３の掃除面種選択動作ステップを行なうことにより、掃除面種の選択を行い、動作軌道データベース１４及び掃除方向決定部９１に選択結果を出力する（ステップＳ４３）。
【０１４４】
次いで、掃除方向決定部９１は、ロボット本体部１０の探索動作中の手先位置及び姿勢ベクトルｒと手先力ベクトルＦと掃除面種選択部１８の出力である掃除面種とに基づき、図２５の掃除方向決定動作ステップを行うことにより、掃除面に適した掃除方向の判定を行い、動作軌道データベース１４に判定結果を出力する（ステップＳ４４）。
【０１４５】
次いで、動作軌道データベース１４は、掃除面種判定結果及び掃除面に適した掃除方向の判定結果に基づき、ロボット本体部１０の掃除動作の軌道を動作制御部１３の目標軌道生成部４５に出力する（ステップＳ４５）。
【０１４６】
次いで、ロボット本体部１０は、掃除動作の軌道に沿って掃除部材８を、必要に応じてロボット本体部２と共に移動して掃除動作を行う（ステップＳ４６）。
【０１４７】
次いで、領域判定部９０は、ロボット本体部１０の探索動作中の手先位置及び姿勢ベクトルｒと手先力ベクトルＦとに基づき、領域の切り替り判定を行う（ステップＳ４７）。
【０１４８】
以下は、ステップＳ４７にて、領域の切り替りは発生していないと領域判定部９０で判断された場合について説明する。
【０１４９】
切り替りが発生していないと領域判定部９０で判定した場合は、ステップＳ４５〜Ｓ４７が繰り返されることによって、ロボット本体部１０は、掃除面種の方向特性に応じた掃除方向に掃除を継続することが出来る。
【０１５０】
以下は、ステップＳ４７にて、切り替りが発生したと領域判定部９０で判断された場合について説明する。
【０１５１】
次いで、領域判定部９０がステップＳ４７において領域の切替りが発生したと領域判定部９０で判断した場合は、領域判定部９０から動作軌道生成部９５に領域の切り替りが発生したことを領域判定部９０から出力する（ステップＳ４８）。
【０１５２】
次いで、動作軌道生成部９５は掃除動作を停止させる軌道を生成する。さらに記憶している直前の軌道を参照し、今までの軌道を逆戻りし切り替わる前の領域に移動する動作の軌道を生成する。動作軌道生成部９５は以上の軌道を動作制御部１３に出力する（ステップＳ４９）。
【０１５３】
次いで、ロボット本体部１０は、動作制御部１３に出力された切り替わる前の領域に移動する動作のための軌道に基づき、移動動作を行い、切り替わる前の領域に移動する（ステップＳ５０）。
【０１５４】
以上のステップＳ４５〜Ｓ５０が繰り返されることにより、ロボット本体部１０は掃除面種の方向特性に応じた掃除方向に掃除を継続することが出来る。
【０１５５】
図２１のフローチャートに基づいてロボット本体部１０が畳の上で動作したときのロボット本体部１０のロボットアーム５の手先の掃除部材８の移動軌道の一例を図２２に示す。図２２のＡ地点（掃除部材８が右側の畳９ａの右端縁の中央付近に位置している地点）において自走式掃除ロボット１が起動し、動作軌道生成部９５は探索軌道を出力し、自走式掃除ロボット１は探索動作を行う。同時に動作軌道生成部９５は出力した軌道を記憶する。（ステップＳ４１〜Ｓ４２）。掃除面種選択部１８が畳であることを選択し、掃除方向決定部９１が畳の織目方向を動作軌道生成部９５に出力することで、動作軌道生成部９５は、畳（右側の畳）の織目に沿った掃除動作軌道を出力する。それにより、自走式掃除ロボット１は、畳（右側の畳）の織目に沿った掃除を行いながら、移動する（ステップＳ４３〜Ｓ４６）。図２２の例では、畳（右側の畳）の織目に沿った方向（図２２の上下方向）に往復運動をしながら徐々に左方向に進行している。また、この掃除動作中に、領域判定部９０は領域の切り替り判定を行っている。自走式掃除ロボット１が掃除をしながら畳が切り替わる場所（右側の畳から左側の畳に切り替わる図２２のＢの地点）まで移動したとき、領域判定部９０は領域の切り替わりと判定する（ステップＳ４７〜Ｓ４８）。次に、動作軌道生成部９５は掃除を中止する軌道を生成する。動作軌道生成部９５は、さらに記憶していた直前の軌道を基に、元の領域内に戻る軌道を生成する。動作軌道生成部９５は、作成した軌道を動作制御部１３に出力する。その軌道に基づいて自走式掃除ロボット１はＢ地点からＣ地点への移動を行う（ステップＳ４９〜５０）。そして、再び、動作軌道データベース１４は畳（右側の畳）の織目に沿った掃除軌道を出力し、自走式掃除ロボット１は、左側の畳のＣ地点から右方向に移動して右側の畳の掃除動作を行う。
【０１５６】
以上の清掃動作を行うロボット１の起動から停止を図２８のフローチャートに基づいて説明する。
【０１５７】
まず、ロボット１が起動し、前述された清掃動作を行う（ステップＳ９０）。
次いで、電源の切断を行う（ステップＳ９１）。電源が切れるのは、例えば、タイマーで予め決められた時間が来たら切れてもよく、又は、一般的に人が電源ボタンを操作して電源が切れるのでもよい。
【０１５８】
以上のステップＳ９０〜Ｓ９１の動作により、ロボット１は起動から自動で清掃動作を行い、停止することができる。
【０１５９】
以上のように、本発明の前記第１実施形態にかかる掃除ロボット１によれば、掃除をする際に、掃除面と掃除部材８との間に発生する力を検出することにより、掃除を行う面の材質に応じて掃除の方向を変更することで、人間が行ってきた適切な掃除方向での掃除を実現できる自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムを提供することができる。
【０１６０】
また、本第１実施形態では掃除面切替部１９によって選択される掃除面種を絨毯とフローリングと畳との３種類からの選択としたが、必ずしも３種類から掃除面種を選択する必要はなく、このうちの少なくとも２種類から掃除面種を選択するようにしてもよい。
【０１６１】
（第２実施形態）
一例として、図２６にフローリングと絨毯の２種類から選択する場合のフローチャートを本発明の第２実施形態として示す。
【０１６２】
２種類から選択する場合の掃除面種選択部１８での掃除面種選択動作ステップについて、一例として、図２６のフローチャートに基づいて説明する。
【０１６３】
始めに、前述されたロボット本体部１０の探索動作（掃除面種の情報を得るための移動動作）中の力検出部７から入力される手先力ベクトルＦと順運動学計算部５３から入力されるロボット本体部１０のロボットアーム５の手先位置及び姿勢ベクトルｒを基に、なぞり動作の方向別の手先力Ｆｎｔを掃除面種選択部１８で算出して掃除面種データベース１５に記憶し（図１４参照）、さらに、なぞり動作の方向の力をなぞり面の垂直抗力で割ってなぞり動作方向別の摩擦係数μｎｔを掃除面種選択部１８で計算して掃除面種データベース１５に記憶する（図１５参照）（ステップＳ７１）。
【０１６４】
次いで、各方向別に摩擦係数の平均値（平均摩擦係数）μ１〜μＮを掃除面種選択部１８で計算して掃除面種データベース１５に記憶する（ステップＳ７２）。これを、図１５に、方向１〜方向Ｎまでの平均摩擦係数μ１〜μＮとして示す。このとき、なぞり動作の開始直後と停止直前は、静止摩擦と動摩擦の切り替えにより摩擦係数が安定しないため、なぞり動作の開始直後と停止直前のデータは使用しない。
【０１６５】
次いで、掃除面種選択部１８で計算して掃除面種データベース１５に記憶された各方向別に摩擦係数の平均値（平均摩擦係数）μ１〜μＮのうちから、平均摩擦係数が最大値の場合の方向を掃除面種選択部１８で抽出し、抽出した最大値の場合の方向でのなぞり動作中の摩擦係数のうち、最大の値と最小の値の差を掃除面種選択部１８で求める（ステップＳ７３）。
【０１６６】
次いで、ステップＳ７３で計算した差が、掃除面種データベース１５に記憶された、溝のあるフローリングでの平均摩擦係数が最大値の場合となる方向におけるなぞり動作中の摩擦係数の最大値と最小値の差μｆｐ以上であるかどうかを掃除面種選択部１８で判定する（ステップＳ７４）。
【０１６７】
以下は、ステップＳ７４で、ステップＳ７３で計算した差が、フローリングの前記差μｆｐ以上であると掃除面種選択部１８で判定した場合は、ステップＳ７５に進む。以下、ステップＳ７５以降の動作について説明する。
【０１６８】
ステップＳ７５では、掃除面種データベース１５に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでのなぞり動作中の平均摩擦係数との差を掃除面種選択部１８で計算する。
【０１６９】
次いで、ステップＳ７５で計算した差が、掃除面種データベース１５に記憶された、溝のあるフローリングでの平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μｆａ以下であるかどうかを、掃除面種選択部１８で判定する（ステップＳ７６）。
【０１７０】
以下は、ステップＳ７６で、ステップＳ７５で計算した差が、前記差μｆａ以下であると掃除面種選択部１８で判定した場合には、ステップＳ７７に進む。
【０１７１】
ステップＳ７７では、掃除面種を、「溝ありのフローリング」であると掃除面種選択部１８で決定し、面種が「フローリング」であるとの情報を、掃除面種選択部１８から動作軌道データベース１４と掃除方向決定部９１とに出力、一連の掃除面種選択動作ステップを終了する。前述の通り、フローリングの溝と直交する方向になぞり動作を行った場合に、平均摩擦係数が最も大きくなるため、フローリングの溝の方向は、最大平均摩擦係数の向きと直交する向きである。
【０１７２】
一方、ステップＳ７６で、ステップＳ７５で計算した差が、前記差μｆａより大きいと掃除面種選択部１８で判定した場合には、ステップＳ７８に進む。
【０１７３】
ステップＳ７８では、ステップＳ７５で計算した差が前記差μｆａより大きい場合については、掃除面種データベース１５に記憶された情報を参照しても掃除面種を選択できないため、掃除面種を不明と決定し、面種が不明であるとの情報を、動作軌道データベース１４と掃除方向決定部９１とに掃除面種選択部１８から出力して、一連の掃除面種選択動作ステップを終了する。
【０１７４】
以下は、ステップＳ７４で、ステップＳ７３で計算した差が、フローリングの前記差μｆｐより小さいと掃除面種選択部１８で判定した場合は、ステップＳ７９に進む。以下、ステップＳ７９以降の動作について説明する。
【０１７５】
ステップＳ７９では、掃除面種データベース１５に記憶された情報を基に、最大平均摩擦係数と、その最大平均摩擦係数の方向と平行かつその方向と逆向きでの平均摩擦係数との差を掃除面種選択部１８で計算する。
【０１７６】
次いで、ステップＳ７９で計算した差が、掃除面種データベース１５に記憶された、絨毯での平均摩擦係数の最大値とその平均摩擦係数が最大値の場合の向きと逆向きの平均摩擦係数との差μｊａ以上であるかどうかを掃除面種選択部１８で判定する（ステップＳ８０）。
【０１７７】
以下は、ステップＳ８０で、ステップＳ７９で計算した差が、前記差μｊａ以上であると掃除面種選択部１８で判定した場合には、ステップＳ８１に進む。
【０１７８】
ステップＳ１１では、掃除面種を絨毯であると掃除面種選択部１８で決定し、面種が絨毯であるとの情報を、掃除面種選択部１８から動作軌道データベース１４と掃除方向決定部９１とに出力して、一連の掃除面種選択動作ステップを終了する（ステップＳ８１）。毛並みの方向は、最大平均摩擦係数の向きである。
【０１７９】
一方、ステップＳ８０で、ステップＳ７９で計算した差が、前記差μｊａより小さいと掃除面種選択部１８で判定した場合には、ステップ８２に進む。
【０１８０】
ステップ８２では、掃除面種を不明であると掃除面種選択部１８で決定し、面種が不明であるとの情報を、掃除面種選択部１８から動作軌道データベース１４と掃除方向決定部９１とに出力して、一連の掃除面種選択動作ステップを終了する。
【０１８１】
以上のように、掃除面種の選択は、少なくとも２種類からの選択も可能となる。
【０１８２】
また、前記第１及び第２実施形態では掃除面切替部１９は掃除面種選択部１８と掃除面種データベース１５から構成し、掃除面種を推定するとしたが、これに限られるものではなく、図２７に示すように、ロボット本体部１０に掃除面種選択スイッチ１９Ｓを持ち、人が掃除面種選択スイッチ１９Ｓによって掃除面を決定して掃除面種の情報を掃除面切替部１９に入力する構成にしてもよい。このようにすれば、掃除面切替部１９では、掃除面種選択スイッチ１９Ｓから入力された掃除面種の情報を、動作軌道データベース１４と掃除方向決定部９１とに出力することにより、一連の掃除面種選択動作ステップを省略することができる。
【０１８３】
また、前記第１及び第２実施形態では、領域の切り替わりであると領域判定部９０で判定した後（ステップＳ４８）、掃除を中止して移動する（ステップＳ４９）としたが、領域の切り替わりと判定した後、再び、探索動作を行うことで、新しい掃除方向を探索するとしてもよい。このようにすれば、次々と領域が切替るような掃除面の掃除において、領域が切替っても適宜適切な掃除方向を選択でき、適切な掃除方向の掃除が可能となる。
【０１８４】
また、前記第１及び第２実施形態では、探索動作を起動時に行うとしたが、掃除中に適宜行うとしてもよい。このようにすれば、より適切な掃除方向での掃除を実現することができる。
【０１８５】
また、前記第１及び第２実施形態では、図１に示すように、ロボットアーム５を備えた拭き掃除ロボットに限らず、例えば図２３に示すように、ロボット胴体部２内に配置された吸引ポンプ駆動回路６０と回転ブラシ駆動装置６３とをそれぞれ駆動することによって、回転ブラシ駆動装置６３の駆動により吸引ノズル６２に取り付けられた回転ブラシ６４が回転させながら、吸引ポンプ駆動回路６０の駆動により吸引ポンプ６６により吸引を行い、吸引ノズル６２から吸引された塵が、ロボットアーム５に内蔵された吸引ホース６５を通って、ロボット胴体部２内に配置された塵袋６１に集められる吸引型の掃除ロボットとしてもよい。なお、回転ブラシ駆動装置６３には、回転ブラシ６４を床面９の掃除面に向けて押圧する機能も有するようにするのが好ましい。
【０１８６】
また、前記第１又は第２実施形態の掃除ロボット１は、図２４Ａ及び図２４Ｂに示すようにロボットアーム５を備えず、胴体部２の下部より吸引する掃除ロボットとしてもよい。
【０１８７】
なお、上記様々な実施形態及び変形例のうちの任意の実施形態又は任意の変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０１８８】
本発明は、自走式掃除ロボット、自走式掃除ロボットの制御装置及び方法、並びに、自走式掃除ロボットの制御プログラムは、自走式掃除ロボットが掃除をする際に、掃除面と掃除部材との間に発生する力を検出することにより、掃除を行う掃除面の材質に応じて掃除ノズル又は拭き掃除手段などの掃除手段の進行方向を変更することで、人間が行ってきた適切な掃除方向での掃除を実現できてとして有用である。
【図面の簡単な説明】
【０１８９】
【図１】本発明の第１実施形態における自走式掃除ロボットの構成の概要を示す図
【図２】本発明の前記第１実施形態における前記自走式掃除ロボットを構成するロボット制御装置と制御対象である掃除ロボット本体の詳細構成を示す図
【図３】本発明の前記第１実施形態における前記自走式掃除ロボットのロボットアームの手先の詳細構成を示す図
【図４Ａ】本発明の前記第１実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるロール角について説明するための説明図
【図４Ｂ】本発明の前記第１実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるピッチ角について説明するための説明図
【図４Ｃ】本発明の前記第１実施形態における前記ロボット制御装置により制御される前記ロボットアームの手先におけるヨー角について説明するための説明図
【図５】本発明の前記第１実施形態における前記ロボット制御装置の制御ブロック図
【図６】本発明の前記第１実施形態における前記ロボット制御装置により制御される前記ロボット本体部の掃除部材により掃除を行う掃除面が畳の場合、畳の表面の織目を説明する図
【図７Ａ】本発明の前記第１実施形態における前記ロボット本体部の掃除部材により図６の矢印方向のなぞり動作を行った場合の、畳表面の平均摩擦係数となぞり動作の方向との関係を示すグラフ
【図７Ｂ】本発明の前記第１実施形態における前記ロボット本体部の掃除部材により図６の矢印方向のなぞり動作を行った場合の、畳表面の摩擦係数と時間との関係を示すグラフ
【図８】本発明の前記第１実施形態における前記ロボット制御装置により制御される前記ロボット本体部の掃除部材により掃除を行う掃除面がフローリングの場合、フローリングの表面の溝を説明する図
【図９Ａ】本発明の前記第１実施形態における前記ロボット制御装置により制御される前記ロボット本体部の掃除部材による、フローリング表面の平均摩擦係数となぞり動作の方向との関係を示すグラフ
【図９Ｂ】本発明の前記第１実施形態における前記ロボット本体部の掃除部材により図８の矢印Ｅ及び矢印Ｅ’の方向のなぞり動作を行った場合の、フローリング表面の摩擦係数と時間との関係を示すグラフ
【図９Ｃ】本発明の前記第１実施形態における前記ロボット本体部の掃除部材により図８の矢印Ｆ及び矢印Ｆ’の方向のなぞり動作を行った場合の、フローリング表面の摩擦係数となぞり動作の方向との関係を示すグラフ
【図９Ｄ】本発明の前記第１実施形態における前記ロボット本体部の掃除部材により図８の矢印Ｇの方向のなぞり動作を行った場合の、フローリング表面の摩擦係数となぞり動作の方向との関係を示すグラフ
【図１０Ａ】本発明の前記第１実施形態における前記ロボット本体部の掃除部材により矢印の方向のなぞり動作を行った場合の、絨毯の毛並みを説明する図
【図１０Ｂ】図１０Ａの矢印Ｘ方向から見た絨毯の断面図
【図１１Ａ】本発明の前記第１実施形態における絨毯表面の平均摩擦係数となぞり動作の方向との関係を説明するグラフ
【図１１Ｂ】本発明の前記第１実施形態における絨毯表面の摩擦係数と時間との関係を説明するグラフ
【図１２】本発明の前記第１実施形態における掃除面種データベースを示す図
【図１３】本発明の前記第１実施形態における掃除面種選択部の動作ステップを表すフローチャート
【図１４】本発明の前記第１実施形態における前記自走式掃除ロボットで使用する掃除面種データベースにおけるなぞり動作の方向別の手先力Ｆｎｔ情報を説明する図
【図１５】本発明の前記第１実施形態における前記自走式掃除ロボットで使用する掃除面種データベースにおけるなぞり動作の方向別の摩擦係数μｎｔ情報を説明する図
【図１６】本発明の前記第１実施形態における前記自走式掃除ロボットで使用する動作軌道データベースを示す図
【図１７】本発明の前記第１実施形態における探索動作の動作軌道を示す図
【図１８Ａ】本発明の前記第１実施形態における畳掃除時の摩擦係数を説明するときに使用する、６畳間の畳の敷き方の一例及び前記自走式掃除ロボットによる掃除の軌道を示す図
【図１８Ｂ】図１８Ａにおいて、本発明の前記第１実施形態における畳掃除時の摩擦係数と時間との関係を示すグラフ
【図１９Ａ】本発明の前記第１実施形態における絨毯及びフローリング掃除時の摩擦係数説明するときに使用する、１つの部屋のフローリングの床の一部に絨毯がひかれた状態での前記自走式掃除ロボットによる掃除の軌道を示す図
【図１９Ｂ】図１９Ａにおいて、本発明の前記第１実施形態における絨毯及びフローリング掃除時の摩擦係数と時間との関係を示すグラフ
【図２０】本発明の前記第１実施形態における前記ロボット制御装置の動作制御部のロボット動作制御を行なうための動作ステップを表すフローチャート
【図２１】本発明の実施の形態における制御装置の制御部の動作ステップを表すフローチャート
【図２２】本発明の前記第１実施形態における前記ロボット制御装置によるロボットの動作軌道を示す図
【図２３】本発明の前記第１及び第２実施形態における前記掃除ロボットの構成の概要を示す図
【図２４Ａ】本発明の前記第１又は第２実施形態の変形例における前記掃除ロボット装置の構成の概要を示す図
【図２４Ｂ】本発明の前記第１又は第２実施形態の前記変形例における前記掃除ロボット装置の構成の概要を示す図
【図２５】本発明の前記第１実施形態における掃除方向決定部の動作ステップを表すフローチャート
【図２６】本発明の前記第２実施形態における掃除面種選択部の動作ステップを表すフローチャート
【図２７】本発明の前記第１又は第２実施形態の別の変形例におけるロボット制御装置の制御ブロック図
【図２８】本発明の前記第１又は第２実施形態の別の変形例におけるロボットの起動から停止までの動作ステップを表すフローチャート
【符号の説明】
【０１９０】
１    掃除ロボット
２    胴体部
３    車輪
３ａ  右車輪
３ｂ  左車輪
４    補助輪
５    ロボットアーム
７    力検出部
８    掃除部材
８ａ  掃除部材取り付け部
９    床面
１０  ロボット本体部
１１  制御装置
１２  制御プログラム
１３  動作制御部
１４  動作軌道データベース
１５  掃除面種データベース
１６  入出力ＩＦ
１７  モータドライバ
１８  掃除面種選択部
１９  掃除面種切替部
１９Ｓ  掃除面種選択スイッチ
２０  モータ
２１  エンコーダ
２４  第１関節部
２５  第２関節部
２６  第３関節部
２７  第４関節部
２８  第５関節部
２９  第６関節部
３０  手先取り付け部材
３１  手首部
３２  前腕リンク
３３  上腕リンク
３４  台部
３４ａ  上側可動部
３４ｂ  下側固定部
３５  絶対座標系
３６  手先座標系
４０  モータ
４１  エンコーダ
４５  目標軌道生成部
４６  力誤差計算部
４７  位置誤差計算部
４８  位置及び力制御方向選択部
４９  力誤差補償部
５０  関節トルク変換部
５１  位置誤差補償部
５２  動力学補償部
５３  順運動学計算部
５４  近似逆運動学計算部
５５  関節トルク指令計算部
６０  吸引ポンプ駆動回路
６１  塵袋
６２  吸引ノズル
６３  回転ブラシ駆動装置
６４  回転ブラシ
６５  吸引ホース
６６  吸引ポンプ
７０  移動体
７１  移動手段
９０  領域判定部
９１  掃除方向決定部
９２  掃除面種選択スイッチ
９４  軌道生成部
９５  動作軌道生成部
【図１】
2010035981.tif 000008
【図２】
2010035981.tif 000009
【図３】
2010035981.tif 000010
【図４Ａ】
2010035981.tif 000011
【図４Ｂ】
2010035981.tif 000012
【図４Ｃ】
2010035981.tif 000013
【図５】
2010035981.tif 000014
【図６】
2010035981.tif 000015
【図７Ａ】
2010035981.tif 000016
【図７Ｂ】
2010035981.tif 000017
【図８】
2010035981.tif 000018
【図９Ａ】
2010035981.tif 000019
【図９Ｂ】
2010035981.tif 000020
【図９Ｃ】
2010035981.tif 000021
【図９Ｄ】
2010035981.tif 000022
【図１０Ａ】
2010035981.tif 000023
【図１０Ｂ】
2010035981.tif 000024
【図１１Ａ】
2010035981.tif 000025
【図１１Ｂ】
2010035981.tif 000026
【図１２】
2010035981.tif 000027
【図１３】
2010035981.tif 000028
【図１４】
2010035981.tif 000029
【図１５】
2010035981.tif 000030
【図１６】
2010035981.tif 000031
【図１７】
2010035981.tif 000032
【図１８Ａ】
2010035981.tif 000033
【図１８Ｂ】
2010035981.tif 000034
【図１９Ａ】
2010035981.tif 000035
【図１９Ｂ】
2010035981.tif 000036
【図２０】
2010035981.tif 000037
【図２１】
2010035981.tif 000038
【図２２】
2010035981.tif 000039
【図２３】
2010035981.tif 000040
【図２４Ａ】
2010035981.tif 000041
【図２４Ｂ】
2010035981.tif 000042
【図２５】
2010035981.tif 000043
【図２６】
2010035981.tif 000044
【図２７】
2010035981.tif 000045
【図２８】
2010035981.tif 000046