(57)【要約】  家庭内で掃除を行う掃除機の制御装置であって、ロボットアームの掃除動作に関する情報が記録された掃除動作データベース（１７）と、前記掃除動作の補正の種別を決定する補正動作種別決定部（２３）と、人の手（１６）の力を検出する力検出部（５３）と、ロボットアームの作業中に、人の手の力と補正種別に応じて、掃除動作を補正する掃除動作補正部（２０）とを備える。
2010016210.tif 000002
【特許請求の範囲】
【請求項１】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御装置であって、
前記ロボットアームに作用する人の力を検出する力検出手段と、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出された前記ロボットアームに作用する前記人の力に関する情報とをそれぞれ取得する情報取得部１００と、
前記情報取得部でそれぞれ取得した前記掃除動作に関する情報と前記人の力に関する情報とから前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備える掃除機の制御装置。
【請求項２】
前記補正動作種別決定手段は、前記掃除動作を補正する補正動作の種別を複数個決定し、
前記掃除動作補正手段は、前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の前記複数個の種別とに応じて、前記駆動装置を駆動制御して前記複数個の種別の補正動作に基づいて前記掃除動作を補正する請求項１に記載の掃除機の制御装置。
【請求項３】
前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部の前記掃除位置の情報と、前記掃除部から前記掃除面にかける力情報と、前記掃除部の掃除の方向に関する情報と、前記掃除部の吸引力の強さに関する情報と、前記掃除部の速度情報と、掃除を行わない領域に関する情報である掃除不可領域情報のうちの少なくとも１つの情報を有する請求項１に記載の掃除機の制御装置。
【請求項４】
前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部から前記掃除面にかける力情報と、前記掃除部の吸引力の強さに関する情報とを少なくとも有し、
前記掃除動作補正手段は、前記掃除動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記掃除面に作用させて前記掃除動作を行なう力制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除動作を前記ロボットアームで行っている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、補正動作前の前記掃除動作中の前記ロボットアームの剛性に比べて前記ロボットアームの剛性が高くなるような、前記ロボットアームの位置を制御する位置制御の下で、補正動作前の前記掃除動作に関する情報のうちの前記設定された力の大きさ又は方向を補正する請求項１に記載の掃除機の制御装置。
【請求項５】
前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部の前記掃除位置の情報と、前記掃除部の掃除の方向に関する情報と、前記掃除部の速度情報と、掃除を行わない領域に関する情報である掃除不可領域情報とを有し、
前記掃除動作補正手段は、前記掃除動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、駆動停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除作業を動作させている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、前記インピーダンス制御での前記掃除動作に関する情報の前記掃除動作を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項６】
前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記ロボットアームの機械インピーダンス設定値を設定する制御パラメータ管理手段と、
前記制御パラメータ管理手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの前記機械インピーダンスの値を制御するインピーダンス制御手段とをさらに備える請求項１〜５のいずれか１つに記載の掃除機の制御装置。
【請求項７】
前記インピーダンス制御手段は、前記補正動作の種別に基づき、前記ロボットアームの前記手先の並進方向及び回転方向の６軸の方向の機械インピーダンス設定値を個別に設定するとともに、
さらに、前記補正動作種別決定部で決定された前記補正動作の種別として、前記手先の前記掃除部の掃除の方向を補正するとき、制御パラメータ管理手段は、前記掃除の方向の剛性を、前記掃除の方向とは異なる方向の剛性よりも高くなるように前記機械インピーダンス設定値を設定する請求項６に記載の掃除機の制御装置。
【請求項８】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以下であり、かつ前記掃除面に平行な方向の力成分が第２の閾値以上である場合に、前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量が第３閾値以上である場合に、前記補正動作の種別として、掃除面の位置の移動の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に平行な方向に前記ロボットアームの前記手先の位置を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項９】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値より大きい場合に、前記補正動作の種別として、掃除面垂直方向の位置の移動の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向に前記ロボットアームの前記手先の位置を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１０】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値以下であり、かつ、前記掃除作業が拭き掃除である場合に、前記補正動作の種別として、力のかけ具合の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向への前記ロボットアームのかかる力を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１１】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値以下であり、かつ、前記掃除作業が吸引掃除である場合に、前記補正動作の種別として、吸引力の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向への前記吸引力を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１２】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１閾値未満であり、かつ、前記掃除面に平行な方向の力成分が第２閾値以上である場合に、前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量が第３閾値未満である場合に、前記補正動作の種別として、速度の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に平行な方向に前記ロボットアームの前記手先の位置の速度を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１３】
前記補正動作種別決定手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームにかかる前記人の力に基づき前記ロボットアームにかかる力の変位量を計測して、計測結果に基づき位置成分と姿勢成分の変位量を比較して、前記姿勢の変位量が前記位置成分の変位量よりも大きい場合には、前記補正動作の種別として、姿勢の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の姿勢を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１４】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記人の手により前記ロボットアームにかかる力が前記掃除面に平行であり、かつ、前記補正動作種別決定手段により検出されたある一定時間の前記掃除面に平行な方向の移動量が閾値以上の場合には、前記補正動作の種別として、掃除不可領域の設定の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の位置を移動させることで、前記掃除不可領域を設定する請求項１に記載の掃除機の制御装置。
【請求項１５】
前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記補正動作の種別に関する情報を表示する表示手段をさらに備える請求項１〜５，８〜１４のいずれか１つに記載の掃除機の制御装置。
【請求項１６】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御方法であって、
前記ロボットアームに作用する人の力を力検出手段で検出し、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正する掃除機の制御方法。
【請求項１７】
前記ロボットアームと、
前記ロボットアームを前記駆動装置で駆動制御する請求項１〜５，８〜１５のいずれか１つに記載の掃除機の制御装置と、
を備える掃除機。
【請求項１８】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御プログラムであって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正する掃除動作補正ステップとをコンピュータに実行させための掃除機の制御プログラム。
【請求項１９】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御用集積電子回路であって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備える掃除機の制御用集積電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、家庭内で掃除を行う掃除機の掃除動作を生成及び教示するための掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路に関する。
【背景技術】
【０００２】
近年、家庭用又はビルなどの業務用の自動掃除ロボットが製品化されている。家庭用自動掃除ロボットとして、自動掃除ロボットのセンサからの信号により、掃除領域を確認しつつ、自動で掃除を行う掃除ロボットが開示されている（特許文献１、特許文献２を参照）。さらに、業務用としては、ビル清掃用として、光学センサ又はビジョンカメラ等を用いて、自己位置を同定し、対象とする部屋又は床面を隈なく掃除するものがある（特許文献３、特許文献４を参照）。【０００３】
さらに、特許文献５では、人が発見した汚れ部分に、無線通信機能を持つマーカを置き、掃除ロボットマーカを捜索することにより、マーカを設置した部分のみ、迅速に掃除する方法が開示されている。【０００４】
また、特許文献６では、リモコンを用いて掃除機を遠隔制御することにより、操作性の良い掃除機が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３２３２１４号公報
【特許文献２】特開２００４−１４８０９０号公報
【特許文献３】特開平０８−１０６３２３号公報
【特許文献４】特開平０８−０６３２２９号公報
【特許文献５】特開２００７−８２６３９号公報
【特許文献６】特開平４−２９５３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、特許文献２、特許文献３、特許文献４においては、ロボットが自走しながら、床面を一斉に隈なく掃除を行うものであり、人間の手を介さずに掃除ができるという特徴はあるものの、使用者が食べ物などをこぼした場合など突発的に掃除をして欲しい場合の対応ができていない。【０００７】
さらに特許文献５では、マーカを使って突発的な汚れに対応しているが、家具又は部屋の隙間などの掃除、又は、床面の材質に合った掃除、汚れの多い部分又は少ない部分を識別して掃除するなど極め細やかな掃除を行うことができない。【０００８】
また、特許文献６では、リモコン操作により掃除機の走行方向の制御は可能だが、吸引力の制御又は拭き掃除時の力のかけ具合などを直感的に操作することができない。【０００９】
本発明の目的は、このような課題に鑑みてなされたものであり、作業者が簡単で短時間に極め細やかな掃除動作を掃除機に教示することが可能な掃除機の制御を実現できる、掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路を提供することにある。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明は以下のように構成する。【００１１】
本発明の第１態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御装置であって、
前記ロボットアームに作用する人の力を検出する力検出手段と、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出された前記ロボットアームに作用する前記人の力に関する情報とをそれぞれ取得する情報取得部と、
前記情報取得部でそれぞれ取得した前記掃除動作に関する情報と前記人の力に関する情報とから前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備えることを特徴とする掃除機の制御装置を提供する。【００１２】
本発明の第１６態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御方法であって、
前記ロボットアームに作用する人の力を力検出手段で検出し、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正することを特徴とする掃除機の制御方法を提供する。【００１３】
本発明の第１７態様によれば、前記ロボットアームと、
前記ロボットアームを前記駆動装置で駆動制御する第１〜１５のいずれか１つの態様に記載の掃除機の制御装置と、
を備えることを特徴とする掃除機を提供する。【００１４】
本発明の第１８態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御プログラムであって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正する掃除動作補正ステップとをコンピュータに実行させための掃除機の制御プログラムを提供する。【００１５】
本発明の第１９態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御用集積電子回路であって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備えることを特徴とする掃除機の制御用集積電子回路を提供する。
【発明の効果】
【００１６】
以上述べたように、本発明の掃除機の制御装置、掃除機によれば、補正動作種別決定手段と、力検出手段と、掃除動作補正手段と、制御手段とを有することにより、前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記ロボットアームに作用する前記人の力に関する情報とを利用して、人の力に応じて、掃除動作を簡単に補正することができる掃除機の制御が可能となる。【００１７】
また、本発明の掃除機の制御方法、掃除機の制御プログラム、及び、集積電子回路によれば、補正動作種別決定手段と、掃除動作補正手段と、制御手段とを有することにより、前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記ロボットアームに作用する前記人の力に関する情報とを利用して、力検出手段で検出されかつ情報取得部で取得した人の力に応じて、掃除動作を簡単に補正することができる掃除機の制御が可能となる。【００１８】
さらに、補正動作種別決定手段を有することにより、複数の掃除動作をボタンなどを使わずに自動で切り替えて補正することが可能となる。【００１９】
さらに、補正動作種別決定手段を有することにより、操作する人のスキルなどに応じて、一度に複数種別の補正を行うか、１種類の補正を行うかを切り替えることができる。【００２０】
また、制御パラメータ管理手段と制御部をさらに有することにより、補正動作の種別に応じて、ロボットアームの機械インピーダンス値を設定することで、ロボットアームの補正方向に応じて、機械インピーダンス値を変更させて制御したり、補正中の吸引力又は掃除面に対する力を弱めたり停止することができる。
【図面の簡単な説明】
【００２１】
本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。この図面においては、
【図１】図１は、本発明の実施形態における掃除機の構成の概要を示す側面図であり、
【図２Ａ】図２Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図２Ｂ】図２Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図３】図３は、本発明の前記実施形態における前記掃除機の制御装置と制御対象であるロボットアームを有する前記掃除機の詳細構成を示す図であり、
【図４】図４は、本発明の前記実施形態における前記掃除機の掃除動作データベースの動作情報の一覧表を説明する図であり、
【図５】図５は、本発明の前記実施形態における前記掃除機の掃除動作データベースのフラグに関する情報を説明する図であり、
【図６】図６は、本発明の前記実施形態における前記掃除機の補正パラメータのフラグに関する情報を説明する図であり、
【図７】図７は、本発明の前記実施形態における前記掃除機の前記制御装置の制御部の構成を示すブロック図であり、
【図８】図８は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除経路に関する図であり、
【図９】図９は、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図１０】図１０は、本発明の前記実施形態における前記掃除機の掃除不可領域データベース情報の一覧表を説明する図であり、
【図１１】図１１は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除経路に関する図であり、
【図１２Ａ】図１２Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図１２Ｂ】図１２Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図１２Ｃ】図１２Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図１２Ｄ】図１２Ｄは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図１３Ａ】図１３Ａは、本発明の前記実施形態における前記掃除機の座標系に関する図であり、
【図１３Ｂ】図１３Ｂは、本発明の前記実施形態における前記掃除機の座標系に関する図であり、
【図１３Ｃ】図１３Ｃは、本発明の前記実施形態における前記掃除機の座標系に関する図であり、
【図１４】図１４は、本発明の前記実施形態における前記掃除機の掃除動作種別決定部の動作ステップ（補正種別推定処理）を表すフローチャートであり、
【図１５】図１５は、本発明の前記実施形態における前記掃除機の人のかける力とその時刻の関係を示す図であり、
【図１６Ａ】図１６Ａは、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す側面図であり、
【図１６Ｂ】図１６Ｂは、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す平面図であり、
【図１６Ｃ】図１６Ｃは、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す平面図であり、
【図１７】図１７は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除動作種別決定部の動作ステップを表すフローチャートであり、
【図１８Ａ】図１８Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図１８Ｂ】図１８Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図１９】図１９は、本発明の前記実施形態における前記掃除機の前記制御装置の、人がかける力と吸引力の対応関係を示す図であり、
【図２０Ａ】図２０Ａは、本発明の前記実施形態における、前記掃除機の操作状態を示す図であり、
【図２０Ｂ】図２０Ｂは、本発明の前記実施形態における前記掃除機の操作状態を説明するときの吸引ノズルの拡大平面図であり、
【図２１】図２１は、本発明の前記実施形態における前記掃除機の周辺装置の表示部の画面を説明する図であり、
【図２２】図２２は、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す側面図であり、
【図２３】図２３は、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す側面図であり、
【図２４】図２４は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除動作補正部と補正動作種別決定部と動作選択部と掃除動作記憶部と掃除動作データベースと制御パラメータ管理部の動作ステップを表すフローチャートであり、
【図２５】図２５は、本発明の前記実施形態における前記掃除機の前記制御装置の制御部の動作ステップを表すフローチャートであり、
【図２６】図２６は、本発明の前記実施形態における前記掃除機の操作盤を示す図であり、
【図２７Ａ】図２７Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図２７Ｂ】図２７Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図２７Ｃ】図２７Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図２８Ａ】図２８Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図２８Ｂ】図２８Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図２８Ｃ】図２８Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図２９Ａ】図２９Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図２９Ｂ】図２９Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図２９Ｃ】図２９Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図２９Ｄ】図２９Ｄは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図３０Ａ】図３０Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図３０Ｂ】図３０Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図３０Ｃ】図３０Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図３０Ｄ】図３０Ｄは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図３１】図３１は、本発明の前記実施形態における前記掃除機の操作状態を示す平面図であり、
【図３２Ａ】図３２Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図３２Ｂ】図３２Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図３２Ｃ】図３２Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図であり、
【図３３】図３３は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除動作種別決定部の閾値に関する一覧表を示す図である。
【発明を実施するための形態】
【００２２】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００２３】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００２４】
本発明の第１態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御装置であって、
前記ロボットアームに作用する人の力を検出する力検出手段と、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出された前記ロボットアームに作用する前記人の力に関する情報とをそれぞれ取得する情報取得部と、
前記情報取得部でそれぞれ取得した前記掃除動作に関する情報と前記人の力に関する情報とから前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備えることを特徴とする掃除機の制御装置を提供する。
【００２５】
このような構成により、前記掃除動作に関する情報と人の力に関する情報とに応じて、ロボットアームの掃除動作を補正することができる。
【００２６】
本発明の第２態様によれば、前記補正動作種別決定手段は、前記掃除動作を補正する補正動作の種別を複数個決定し、
前記掃除動作補正手段は、前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の前記複数個の種別とに応じて、前記駆動装置を駆動制御して前記複数個の種別の補正動作に基づいて前記掃除動作を補正する第１の態様に記載の掃除機の制御装置を提供する。
【００２７】
このような構成により、前記掃除動作に関する情報と人の力に関する情報と前記補正動作の前記複数個の種別とに応じて、ロボットアームの掃除動作について、一度に複数種別の補正を行うことができる。
【００２８】
本発明の第３態様によれば、前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部の前記掃除位置の情報と、前記掃除部から前記掃除面にかける力情報と、前記掃除部の掃除の方向に関する情報と、前記掃除部の吸引力の強さに関する情報と、前記掃除部の速度情報と、掃除を行わない領域に関する情報である掃除不可領域情報のうちの少なくとも１つの情報を有することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００２９】
このような構成により、前記掃除機のロボットアームが行う掃除作業に応じて、それぞれの時間での、位置情報と、前記ロボットアームがかける力情報と、掃除の方向に関する情報と、吸引力の強さに関する情報と、速度情報と、掃除をしてほしくない領域に関する情報のうちの少なくとも１つの情報を補正することができる。
【００３０】
本発明の第４態様によれば、前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部から前記掃除面にかける力情報と、前記掃除部の吸引力の強さに関する情報とを少なくとも有し、
前記掃除動作補正手段は、前記掃除動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記掃除面に作用させて前記掃除動作を行なう力制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除動作を前記ロボットアームで行っている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、補正動作前の前記掃除動作中の前記ロボットアームの剛性に比べて前記ロボットアームの剛性が高くなるような、前記ロボットアームの位置を制御する位置制御の下で、補正動作前の前記掃除動作に関する情報のうちの前記設定された力の大きさ又は方向を補正することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００３１】
このような構成により、前記掃除動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記掃除面に作用させて前記掃除動作を行なう力制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除動作を前記ロボットアームで行っている最中に、前記力検出手段で検出しかつ情報取得部で取得した前記人の力に応じて、補正動作前の前記掃除動作中の前記ロボットアームの剛性に比べて前記ロボットアームの剛性が高くなるような、前記ロボットアームの位置を制御する位置制御の下で、補正動作前の前記掃除動作に関する情報のうちの前記設定された力の大きさ又は方向を補正することができる。
【００３２】
本発明の第５態様によれば、前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部の前記掃除位置の情報と、前記掃除部の掃除の方向に関する情報と、前記掃除部の速度情報と、掃除を行わない領域に関する情報である掃除不可領域情報とを有し、
前記掃除動作補正手段は、前記掃除動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、駆動停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除作業を動作させている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、前記インピーダンス制御での前記掃除動作に関する情報の前記掃除動作を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００３３】
このような構成により、前記掃除動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、駆動停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除作業を動作させている最中に、前記力検出手段で検出しかつ情報取得部で取得した前記人の力に応じて、前記インピーダンス制御での前記掃除動作に関する情報の前記掃除動作を補正することができる。
【００３４】
本発明の第６態様によれば、前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記ロボットアームの機械インピーダンス設定値を設定する制御パラメータ管理手段と、
前記制御パラメータ管理手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの前記機械インピーダンスの値を制御するインピーダンス制御手段とをさらに備えることを特徴とする第１〜５のいずれか１つの態様に記載の掃除機の制御装置を提供する。
【００３５】
このような構成により、補正動作の種別に基づいて、前記ロボットアームの機械インピーダンスの値を設定して制御することができる。
【００３６】
本発明の第７態様によれば、前記インピーダンス制御手段は、前記補正動作の種別に基づき、前記ロボットアームの前記手先の並進方向及び回転方向の６軸の方向の機械インピーダンス設定値を個別に設定するとともに、
さらに、前記補正動作種別決定部で決定された前記補正動作の種別として、前記手先の前記掃除部の掃除の方向を補正するとき、制御パラメータ管理手段は、前記掃除の方向の剛性を、前記掃除の方向とは異なる方向の剛性よりも高くなるように前記機械インピーダンス設定値を設定することを特徴とする第６の態様に記載の掃除機の制御装置を提供する。
【００３７】
このような構成により、補正の種別として手先の前記掃除部の掃除の方向を高剛性にすることで、補正すべき前記手先の前記掃除部の掃除の方向が確実に検出できてその方向に動かしやすくなり、前記手先の前記掃除部の掃除の方向とは異なる方向を低剛性にすることで、動かしにくくすることができる。
【００３８】
本発明の第８態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以下であり、かつ前記掃除面に平行な方向の力成分が第２の閾値以上である場合に、前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量が第３閾値以上である場合に、前記補正動作の種別として、掃除面の位置の移動の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に平行な方向に前記ロボットアームの前記手先の位置を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００３９】
本発明の第９態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値より大きい場合に、前記補正動作の種別として、掃除面垂直方向の位置の移動の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向に前記ロボットアームの前記手先の位置を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４０】
本発明の第１０態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値以下であり、かつ、前記掃除作業が拭き掃除である場合に、前記補正動作の種別として、力のかけ具合の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向への前記ロボットアームのかかる力を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４１】
本発明の第１１態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値以下であり、かつ、前記掃除作業が吸引掃除である場合に、前記補正動作の種別として、吸引力の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向への前記吸引力を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４２】
本発明の第１２態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１閾値未満であり、かつ、前記掃除面に平行な方向の力成分が第２閾値以上である場合に、前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量が第３閾値未満である場合に、前記補正動作の種別として、速度の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に平行な方向に前記ロボットアームの前記手先の位置の速度を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４３】
本発明の第１３態様によれば、前記補正動作種別決定手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームにかかる前記人の力に基づき前記ロボットアームにかかる力の変位量を計測して、計測結果に基づき位置成分と姿勢成分の変位量を比較して、前記姿勢の変位量が前記位置成分の変位量よりも大きい場合には、前記補正動作の種別として、姿勢の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の姿勢を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４４】
このような構成により、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の姿勢を補正するように前記駆動装置を確実に駆動制御することができる。
【００４５】
本発明の第１４態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記人の手により前記ロボットアームにかかる力が前記掃除面に平行であり、かつ、前記補正動作種別決定手段により検出されたある一定時間の前記掃除面に平行な方向の移動量が閾値以上の場合には、前記補正動作の種別として、掃除不可領域の設定の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の位置を移動させることで、前記掃除不可領域を設定することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４６】
このような構成により、前記掃除不可領域を簡単に設定することができて、掃除をして欲しくない領域については、掃除機による掃除動作を不要とすることができる。
【００４７】
本発明の第１５態様によれば、前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記補正動作の種別に関する情報を表示する表示手段をさらに備えることを特徴とする第１〜１４のいずれか１つの態様に記載の掃除機の制御装置を提供する。
【００４８】
このような構成により、補正動作の種別に関する情報を表示することができる。
【００４９】
本発明の第１６態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御方法であって、
前記ロボットアームに作用する人の力を力検出手段で検出し、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正することを特徴とする掃除機の制御方法を提供する。
【００５０】
このような構成により、ロボットアームの掃除動作に関する情報と前記ロボットアームに作用する前記人の力に関する情報とに基づき、前記掃除動作の補正種別を決定し、前記ロボットアームの作業中に、前記人の力と前記補正種別に応じて、前記掃除動作を提供することができる。
【００５１】
本発明の第１７態様によれば、前記ロボットアームと、
前記ロボットアームを前記駆動装置で駆動制御する第１〜１５のいずれか１つの態様に記載の掃除機の制御装置と、
を備えることを特徴とする掃除機を提供する。
【００５２】
本発明の第１８態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御プログラムであって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正する掃除動作補正ステップとをコンピュータに実行させための掃除機の制御プログラムを提供する。
【００５３】
このような構成により、前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作の補正種別を決定するステップと、人の力を検出するステップと、前記ロボットアームの作業中に、前記人の力と前記補正種別に応じて、前記掃除動作を補正するステップとを有するプログラムを提供することができる。
【００５４】
本発明の第１９態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御用集積電子回路であって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備えることを特徴とする掃除機の制御用集積電子回路を提供する。
【００５５】
このような構成により、家庭内で掃除を行うロボットアームを含む掃除機を制御する集積電子回路であって、前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作の補正種別を決定する補正動作種別決定手段と、前記ロボットアームの作業中に、人の力を検出する力検出手段で検出されかつ情報取得部で取得した前記人の力と前記補正種別とに応じて、前記掃除動作を補正する掃除動作補正手段とを有することを特徴とする掃除機の制御用集積電子回路を提供することができる。
【００５６】
以下、本発明の実施形態について図面を用いて詳細に説明する。
まず、本発明の前記実施形態における掃除機の一例としての掃除ロボット１の構成について説明する。図１は、本発明の前記実施形態における掃除ロボット１の概要を示す図である。図１において、掃除ロボット１は、床面１０上に置かれており、移動体の一例としての胴体部１９と、基端が胴体部１９に連結されたロボットアーム５と、ロボットアーム５の先端の手先３０に取り付けられて掃除面に接触する掃除部８，１８と、胴体部１９とロボットアーム５と掃除部８，１８とを駆動する駆動装置６５，６７，４３，６９と、胴体部１９内に内蔵されかつロボットアーム５を駆動制御する制御装置とを備えて構成され、駆動装置６５，６７，４３，６９を前記制御装置で駆動制御して家庭内で掃除作業を行うものである。
【００５７】
胴体部１９には、吸引ポンプ１３と、掃除部８（の一例としての吸引ノズル）を駆動する駆動装置の一例としての吸引ポンプ１３のモータ６７と、吸引した塵を溜める塵袋３と、胴体部１９を移動させるための一対の車輪６と、一対の車輪６を正逆回転駆動する車輪用駆動装置の一例としての一対のモータ６５と、ロボットアーム５を駆動するロボットアーム駆動装置の一例としての各関節部のモータ４３と、回転自在な補助輪７と、ボタンなどが配置された操作盤２６Ａなどのデータ入力ＩＦ２６と、表示手段の一例としての表示部１４とを備えるように構成されている。８はロボットアーム５の先端に着脱可能に取り付けられた掃除部の一例としての吸引ノズル、１１は吸引ノズル８内に回転可能に収納されて吸引ノズル８内の回転ブラシ用モータ６９により回転駆動されて床面１０の塵をかき上げる回転ブラシ、１２はロボットアーム５の内側に内蔵されて吸引ノズル８と吸引ポンプ１３と塵袋３とを連結する吸引ホース、１８はロボットアーム５の先端に吸引ノズル８に代えて着脱可能に取り付け可能な掃除部の別の例としての、床面１０の汚れをふき取るモップである。吸引ノズル８内の回転ブラシ用モータ６９は、掃除部８の一例としての吸引ノズル８を駆動する駆動装置の一例として機能する。３０はロボットアーム５の先端に配置されたハンドであり、吸引ノズル８を別部材のモップ１８に取り替えるための機構である。掃除ロボット１は、床面１０の塵などを吸引ノズル８で吸引する掃除作業、床面若しくは壁若しくは机、若しくは、車の外面などの汚れをモップ１８でふき取る作業、又は、鏡若しくは靴など力を入れてモップ１８で磨く作業を行う掃除ロボットである。
【００５８】
掃除ロボット１の操作手順の概要を説明する。
まず、図２Ａにおいて、人の手１６が掃除ロボット１の上部に配置されているデータ入力ＩＦ２６（例えば図２６の操作盤２６Ａの電源ボタン２６ａの「ＯＮ」を押すなど）により電源を入れる。
【００５９】
次に、塵などを吸引する場合は、掃除ロボット１のロボットアーム５の先端のハンド３０に吸引ノズル８を人の手１６で取り付けるとともに、拭き掃除又は磨く作業行う場合は、掃除ロボット１のロボットアーム５の先端のハンド３０にモップ１８を人の手１６で取り付ける。人の手１６で吸引ノズル８又はモップ１８を取り付ける際には、ボタンなどのデータ入力ＩＦ２６からのデータ入力（例えば図２６の操作盤２６Ａの、ハンド３０を開閉させるための開閉ボタン２６ｂの「開」を押すなど）により、ハンド３０を開く指示を、掃除ロボット１の後述する制御部２２へ指令を出し、ハンド３０を開く。その後、吸引ノズル８若しくはモップ１８をハンド３０に取り付け、データ入力ＩＦ２６からのデータ入力（例えば図２６の操作盤２６Ａの、ハンド３０を開閉させるための開閉ボタン２６ｂの「閉」を押すなど）により、ハンド３０を閉じる指示を制御部２２へ指令を出して、ハンド３０を閉じることにより、ハンド３０に吸引ノズル８若しくはモップ１８を取り付ける。なお、取り付けの際に、ロボットアーム５の先端を移動させて（例えば、開閉ボタン２６ｂの「開」を押すことにより、ロボットアーム５の先端のハンド３０が自動的に上向きの位置まで上昇させて）、ハンド３０の操作をしやすいように、図２Ｂのように、人の手１６の手元にくるように操作することができる。なお、例えば、開閉ボタン２６ｂの「閉」を押すことにより、ロボットアーム５の先端のハンド３０が自動的に下向きの掃除位置まで下降するようにすることもできる。
【００６０】
次に、掃除ロボット１の上部に配置されているデータ入力ＩＦ２６（例えば図２６の操作盤２６Ａの掃除スイッチ２６ｃのスタートボタンなど）を人の手１６で押すことにより、掃除ロボット１が作動し、後述する動作選択部２９で最適な掃除動作（例えば吸引若しくは拭き掃除動作）を選択して、その選択された掃除動作に基づく掃除作業（例えば、吸引若しくは拭き掃除作業）を開始させる。拭き掃除動作の際には、図１６Ａ、図１６Ｂ（図１６Ａを上方から見た図）に示すように、一対の車輪６及び補助輪７により、掃除ロボット１の胴体部１９が床面１０の掃除面（ｘｙ平面）を左右方向沿いに自走し、自走動作と同時に、ロボットアーム５の先端のモップ１８が、胴体部１９の前後方向沿いの中心軸沿いの位置を中心に左右方向に少しずつずれながら、例えば螺旋を描くような軌跡で拭き掃除動作を行う。また、吸引の掃除動作の際には、図１６Ｃに示すように、一対の車輪６及び補助輪７により掃除ロボット１の胴体部１９が床面１０の掃除面を左右方向沿いに自走し、自走動作と同時に、ロボットアーム５の駆動によりロボットアーム５の先端の吸引ノズル８が、自走方向と垂直な方向に動く（すなわち、左右方向と直交する前後方向沿いに往復移動する）ことで吸引掃除を行う。
【００６１】
なお、データ入力ＩＦ２６は、掃除ロボット１の上面に固定したが、遠隔操作が可能なリモコンでも良い。
【００６２】
次に、人は掃除面の汚れ具合を確認し、掃除ロボット１のロボットアーム５を人の手１６で直接把持して、掃除動作を補正したい方向（例えば、汚れ具合のひどい領域に向けて、ロボットアーム５の先端の吸引ノズル８又はモップ１８を移動させるように移動方向を変えたい方向）に力をかけることで、例えば、図１２Ａのように、掃除ロボット１のロボットアーム５又は掃除ロボット１の動作を補正する。すなわち、図１２Ａ及び図１２Ｂに示すように、胴体部１９の前後方向沿いに吸引ノズル８又はモップ１８を、例えばジグザグ方向に実線で示すように移動させて掃除動作を行なっているときに、図１２Ｃに示すように、例えばジグザグ方向に点線で示すように移動させるように、ロボットアーム５の先端部又は吸引ノズル８又はモップ１８に人の手１６で、矢印で示すように力をかけて、ロボットアーム５の先端の吸引ノズル８又はモップ１８を左方向に移動させる。このようにすることで、図１２Ｄに示すように、吸引ノズル８又はモップ１８が、胴体部１９の前後方向沿いの中心軸沿いの位置に対して、左側の領域において、吸引ノズル８又はモップ１８による掃除動作を例えばジグザグ方向に実線で示すように行なうことができる。
【００６３】
図３は、掃除ロボット１を構成する制御装置の構成要素を詳細に示す図であり、制御装置本体部４５と、動作を生成する動作生成装置１２と、制御対象であるロボットアーム５と、制御対象である胴体部１９と、周辺装置４７との詳細構成を示す図である。掃除ロボット１の前記制御装置は、制御装置本体部４５と、動作生成装置１２と、周辺装置４７とで大略構成されている。
【００６４】
制御装置本体部４５及び動作生成装置１２及び周辺装置４７は、それぞれ、一般的なパーソナルコンピュータにより構成される。
【００６５】
制御装置本体部４５は、動作生成装置１２の掃除動作補正手段の一例としての掃除動作補正部２０と補正動作種別決定手段の一例としての補正動作種別決定部２３と周辺装置４７のデータ入力ＩＦ２６とにそれぞれ接続された制御パラメータ管理手段の一例としての制御パラメータ管理部２１と、制御パラメータ管理部２１と周辺装置４７の入出力ＩＦ２４とに接続されたインピーダンス制御手段の一例としての制御部（インピーダンス制御部）２２とを備えるように構成される。
【００６６】
動作生成装置１２は、掃除動作データベース１７と、掃除不可領域データベース２８と、補正種別決定方法設定部２７と、掃除動作補正部２０と、補正動作種別決定部２３と、掃除動作記憶部１５と、動作選択部２９と、情報取得部１００とを備えるように構成される。掃除動作記憶部１５は、掃除動作データベース１７と掃除不可領域データベース２８と掃除動作補正部２０とに接続されている。掃除動作データベース１７と掃除不可領域データベース２８とは、それぞれ、掃除動作記憶部１５と掃除動作補正部２０と動作選択部２９とに接続されている。掃除動作補正部２０は、掃除動作データベース１７と掃除不可領域データベース２８と掃除動作記憶部１５と制御装置本体部４５の制御パラメータ管理部２１と補正動作種別決定部２３と周辺装置４７のデータ入力ＩＦ２６とが接続されている。補正動作種別決定部２３は、掃除動作補正部２０と補正種別決定方法設定部２７と周辺装置４７のデータ入力ＩＦ２６と制御装置本体部４５の制御パラメータ管理部２１とに接続されている。動作選択部２９は掃除動作データベース１７と掃除不可領域データベース２８とデータ入力ＩＦ２６と接続されている。補正種別決定方法設定部２７は、データ入力ＩＦ２６と補正動作種別決定部２３と接続されている。情報取得部１００は、補正動作種別決定部２３と、掃除動作データベース１７と掃除不可領域データベース２８と、制御部２２の力検出部５３と接続されている。よって、情報取得部１００は、掃除作業における掃除部８，１８の吸引力及び掃除部８，１８の掃除位置を含む掃除動作に関する情報と、力検出部５３で検出されたロボットアーム５に作用する人の力に関する情報とをそれぞれ取得可能としている。情報取得部１００で取得した情報は、補正動作種別決定手段２３に入力され、情報取得部１００でそれぞれ取得した掃除動作に関する情報と人の力に関する情報とから、後述するように、掃除動作を補正する補正動作の種別を補正動作種別決定手段２３で決定することができる。
【００６７】
周辺装置４７は、補正動作種別決定部２３と掃除動作補正部２０と制御装置本体部４５の制御パラメータ管理部２１と表示部１４と動作生成装置１２とに接続されたデータ入力ＩＦ２６と、一対の車輪６のモータ６５のそれぞれのエンコーダ６４と吸引ポンプ１３のエンコーダ６６と各関節部のモータ４３のエンコーダ４４とハンド駆動用のモータ６２のエンコーダ６１と回転ブラシ１１のモータ６９のエンコーダ６８とからそれぞれの角度情報が入力されるとともに制御部２２に接続された入出力ＩＦ２４と、一対の車輪６のモータ６５と吸引ポンプ１３のモータ６７と各関節部のモータ４３とハンド駆動用のモータ６２と回転ブラシ１１のモータ６９とにそれぞれ接続されたモータドライバ２５と、補正動作種別決定部２３に接続された表示部１４とを備えるように構成される。
【００６８】
入出力ＩＦ２４は、パーソナルコンピュータのＰＣＩバスなどの拡張スロットに接続された、例えばＤ／Ａボードと、Ａ／Ｄボードと、カウンタボードとなどを備えるように構成されている。
【００６９】
ロボットアーム５及び胴体部１９の動作を制御する動作生成装置１２と、制御装置本体部４５と、周辺装置４７とが、それぞれの動作を実行することにより、ロボットアーム５の各関節部の各関節角度情報であってかつ後述するエンコーダ４４より出力される各関節角度情報が、入出力ＩＦ２４を通じて制御装置本体部４５に取り込まれ、制御装置本体部４５は、取り込まれた各関節角度情報に基づき、ロボットアーム５の各関節部の回転動作での制御指令値を算出する。さらに、胴体部１９の各車輪６のモータ６５のエンコーダ６４より出力される各車輪６の位置情報（回転角度情報）が入出力ＩＦ２４を通じて制御装置本体部４５に取り込まれ、制御装置本体部４５は、取り込まれた各角度情報に基づき、胴体部１９の各車輪６のモータ６５の制御指令値を算出する。また、吸引ポンプ１３のモータ６７のエンコーダ６６より出力される吸引力が入出力ＩＦ２４を通じて制御装置本体部４５に取り込まれ、制御装置本体部４５は、取り込まれた吸引力に基づき、吸引ポンプ１３のモータ６７の制御指令値を算出する。さらに、回転ブラシ１１のモータ６９のエンコーダ６８より出力される回転力が入出力ＩＦ２４を通じて制御装置本体部４５に取り込まれ、制御装置本体部４５は、取り込まれた回転力に基づき、回転ブラシ１１のモータ６９の制御指令値を算出する。
【００７０】
算出されたロボットアーム５の各関節部のモータ４３の制御指令値は、入出力ＩＦ２４を通じてモータドライバ２５に与えられ、モータドライバ２５から送られた各制御指令値に従って、ロボットアーム５の各関節部のモータ４３がそれぞれ独立して駆動される。
【００７１】
また、算出された２つの車輪６それぞれの制御指令値は、入出力ＩＦ２４を通じてモータドライバ２５に与えられ、モータドライバ２５から送られた各制御指令値に従って、各車輪６のモータ６５がそれぞれ独立して駆動される。
【００７２】
また、モータドライバ２５により駆動制御されるハンド駆動装置の一例としてハンド駆動用のモータ６２と、ハンド駆動用のモータ６２の回転軸の回転位相角を検出するエンコーダ６１とをさらにハンド３０に備えて、例えば、モータ６２の回転軸を正方向に回転させることによりハンド３０を開いて、吸引ノズル８又はモップ１８を人の手１６で取り付け可能とする一方、モータ６２の回転軸を逆方向に回転させることによりハンド３０を閉じて、ハンド３０に取り付けられた吸引ノズル８又はモップ１８を固定するように構成することができる。このような場合、エンコーダ６１で検出されたモータ６２の回転軸の回転角度を基に、制御装置本体部４５の制御部２２のハンド制御部５４（図７に図示）からの制御信号（開閉指令信号）により、モータドライバ２５を介してハンド駆動用のモータ６２の回転を駆動制御して、ハンド駆動用のモータ６２の回転軸を正逆回転させることによりハンド３０を開閉させる。
【００７３】
また、算出された吸引ポンプ１３のモータ６７の制御指令値は、入出力ＩＦ２４を通じてモータドライバ２５に与えられ、モータドライバ２５から送られた制御指令値に従って、吸引ポンプ１３のモータ６７が駆動される。
【００７４】
また、算出された回転ブラシ１１のモータ６９の制御指令値は、入出力ＩＦ２４を通じてモータドライバ２５に与えられ、モータドライバ２５から送られた制御指令値に従って、回転ブラシ１１のモータ６９が駆動される。
【００７５】
ロボットアーム５は、６自由度の多リンクマニピュレータであり、ハンド３０と、ハンド３０が取り付けられている手首部３１を先端に有する前腕リンク３２と、前腕リンク３２の基端に先端が回転可能に連結される上腕リンク３３と、上腕リンク３３の基端が回転可能に連結支持される台部３４とを備えている。台部３４は、胴体部１９の前端面に連結されている。手首部３１は、第４関節部３８と、第５関節部３９と、第６関節部４０との３つの回転軸を有しており、前腕リンク３２に対するハンド３０の相対的な姿勢を変化させることができる。すなわち、図３において、第４関節部３８は、手首部３１に対するハンド３０の横軸周りの相対的な姿勢を変化させることができる。第６関節部４０は、手首部３１に対するハンド３０の、第４関節部３８の横軸及び第５関節部３９の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク３２の他端は、上腕リンク３３の先端に対して第３関節部３７周りに、すなわち、第４関節部３８の横軸と平行な横軸周りに回転可能とする。上腕リンク３３の他端は、台部３４に対して第２関節部３６周りに、すなわち、第４関節部３８の横軸と平行な横軸周りに回転可能とする。さらに、台部３４の上側可動部３４ａは、台部３４の下側固定部３４ｂに対して第１関節部３５周りに、すなわち、第５関節部３９の縦軸と平行な縦軸周りに回転可能としている。この結果、ロボットアーム５は、合計６個の軸周りに回転可能として前記６自由度の多リンクマニピュレータを構成している。
【００７６】
各軸の回転部分を構成する各関節部には、回転駆動装置の一例としてのモータ４３と、モータ４３の回転軸の回転位相角（すなわち関節角）を検出するエンコーダ４４とを備えている。モータ４３は、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられ、かつ後述するモータドライバ２５により駆動制御される（実際には、ロボットアーム５の各関節部の一方の部材の内部に配設されている）。また、エンコーダ４４は、モータ４３の回転軸の回転位相角（すなわち、関節角）を検出するために、一方の部材に備えられる（実際には、ロボットアーム５の各関節部の一方の部材の内部に配設されている）。一方の部材に備えられたモータ４３の回転軸が他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【００７７】
４６は胴体座標系であり、あらかじめ記憶されている作業経路（例えば図８に示す掃除領域（掃除面）ＲＡ内の掃除ロボット１の作業経路）の開始点Ｏｓからの胴体部１９の相対的な位置関係を示す。４１は胴体部１９の前端部に固定された台部３４の固定部３４ｂに対して相対的な位置関係が固定された台部座標系であり、４２はハンド３０に対して相対的な位置関係が固定された手先座標系である。
【００７８】
作業経路の開始点Ｏｓから見た胴体座標系４６の原点位置Ｏｄ（ｘ、ｙ）を胴体位置とする。さらに、台部座標系４１から見た手先座標系４２の原点位置Ｏｅ（ｘ、ｙ、ｚ）をロボットアーム５の手先位置（掃除部８，１８の先端の位置）とし、台部座標系４１から見た手先座標系４２の姿勢をロール角とピッチ角とヨー角とで表現した（φ、θ、ψ）をロボットアーム５の手先姿勢（掃除部８，１８の姿勢）とし、手先位置及び姿勢ベクトルをベクトルｒ＝［ｘ、ｙ、ｚ、φ、θ、ψ］Ｔと定義する。ロール角、ピッチ角、ヨー角について図１３Ａ〜図１３Ｃを用いて説明する。まず、絶対座標系３５のＺ軸を回転軸として、座標系を角度φだけ回転させた座標系を考える（図１３Ａ）。このときの座標軸を［Ｘ'、Ｙ'、Ｚ］とする。次に、この座標系を、Ｙ'を回転軸として角度θだけＺ軸周りに回転させる（図１３Ｂ参照）。このときの座標軸を［Ｘ’’、Ｙ'、Ｚ’’］とする。最後に、この座標系を、Ｘ’’軸を回転軸として、角度ψだけＸ’’軸周りに回転させる（図１３Ｃ参照）。このときの座標軸を［Ｘ’’、Ｙ’’’、Ｚ’’’］とする。このときの座標系の姿勢を、ロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは（φ，θ，ψ）となる。姿勢（φ，θ，ψ）の座標系が、原点位置を手先座標系４２の原点位置Ｏｅ（ｘ，ｙ，ｚ）に平行移動した座標系と、手先座標系４２が一致する場合、手先座標系４２の姿勢ベクトルは（φ，θ，ψ）であるとする。
【００７９】
ロボットアーム５の手先位置と姿勢とをそれぞれ制御する場合には、手先位置及び姿勢ベクトルｒを、後述する目標軌道生成部５５で生成された手先位置と姿勢目標ベクトルｒｄとに追従させることになる。
【００８０】
２６はデータ入力ＩＦ（インターフェース）であり、人（掃除作業者）がボタン又はキーボード又はマウス又はマイクなどの入力装置を使用して、掃除作業の開始、終了などの指令を掃除ロボット１に入力するインターフェースである。
【００８１】
表示部１４は、例えば胴体部１９上面に設置されたディスプレイ装置であり、後述する掃除動作又は補正するパラメータの種別などを表示部１４に表示する。
【００８２】
掃除動作データベース１７は、胴体部１９及びロボットアーム５の、ある時間における位置及び姿勢など掃除時の動作に関する情報（掃除動作に関する情報）を記憶して保持している。ここで、掃除動作に関する情報とは、前記ロボットアーム５が行う前記掃除作業に応じた、前記掃除部８，１８の前記掃除位置の情報と、前記掃除部８，１８から掃除面にかける力情報と、前記掃除部８，１８の掃除の方向に関する情報と、前記掃除部８，１８の吸引力の強さに関する情報と、前記掃除部８，１８の速度情報と、掃除を行わない領域ＲＢに関する情報である掃除不可領域情報のうちの少なくとも１つの情報を含むものである。
【００８３】
掃除動作データベース１７の詳細について説明する。
掃除動作データベース１７は、例えば、図４に示した胴体部１９及びロボットアーム５の動作に関する情報で、掃除作業を識別する作業ＩＤ番号と、その作業内の個々の動作を識別する動作ＩＤ番号と、その動作における胴体部１９の位置に関する情報と、ロボットアーム５の手先位置と姿勢とに関する情報と、ロボットアーム５が掃除面にかける力に関する情報と、吸引力の強さに関する情報と、ロボットアーム５の位置と姿勢と力と吸引力とのパラメータのうちのいずれの情報が有効か否かを示すフラグ（有効性を示すフラグ）に関する情報と、各動作が作用する時間に関する情報と、後述する掃除動作補正部２０で掃除動作データベース１７の動作情報を補正する際の補正すべきパラメータの種別に関する情報と、現在動作中かどうか、を示す進捗情報とを保持するように構成される。
【００８４】
掃除動作データベース１７の掃除作業を識別する作業ＩＤ番号は、複数種類の掃除作業がある場合に、互いに識別するために、それぞれの掃除作業に対して付された作業ＩＤ番号を表す情報である。
【００８５】
掃除動作データベース１７の掃除作業内の個々の動作を識別する動作ＩＤ番号は、１つの掃除作業が複数の掃除動作で構成されている場合に、１つの掃除作業内の個々の掃除動作を互いに識別するために、それぞれの掃除動作に対して付された動作ＩＤ番号を表す情報である。
【００８６】
掃除動作データベース１７の胴体部１９の位置に関する情報は、床面１０をＸＹ平面とするときの前述した胴体部１９の胴体位置の情報を表し、すなわち、作業経路の開始点Ｏｓから見た胴体座標系４６の原点位置Ｏｄ（ｘ、ｙ）とし、例えば図８に示す掃除ロボット１の作業経路を表すことができる。具体的には、図８のように、掃除ロボット１が掃除面をジグザグに走行して掃除動作を行なう場合の作業経路においては、胴体部１９の第１移動方向変更点（ｘ１、ｙ１）、第２移動方向変更点（ｘ２、ｙ２）、第３移動方向変更点（ｘ３、ｙ３）、第４移動方向変更点（ｘ４、ｙ４）などを記憶する。
【００８７】
掃除動作データベース１７の胴体部１９の位置に関する情報は、掃除動作データベース１７内に、予め設定しておくか、若しくは、掃除ロボット１に画像認識装置の一例としてカメラを搭載して、カメラで撮像した画像を画像認識処理部で画像認識処理して、画像認識により障害物を検知するか、又は、掃除ロボット１に超音波センサなどの障害物感知センサを搭載し、障害物感知センサで障害物を検知し、検知された障害物を避けるように掃除ロボット１の走行方向の経路（例えば図８の経路）を掃除方法記憶部２７で生成して、時間と共に、掃除方法記憶部２７に記憶する。
【００８８】
掃除動作データベース１７のロボットアーム５の手先位置と姿勢とに関する情報は、前述したロボットアーム５の手先位置と姿勢とを表し、原点位置Ｏｅと姿勢とから、（ｘ、ｙ、ｚ、φ、θ、ψ）と表す。
【００８９】
掃除動作データベース１７のロボットアーム５の位置及び姿勢・時間の情報は、例えば、図９に示すように、ロボットアーム５又は吸引ノズル８若しくはモップ１８を人の手１６で直接把持して、後述するインピーダンス制御モードにて、ロボットアーム５を移動させて、ある一定時間毎（例えば０．２ｍｓｅｃ毎）にロボットアーム５の手先位置と姿勢（図９の点線の経路）の情報を制御部２２で取得し（具体的に、制御部２２の説明でも記載しているように、順運動学計算部５８により各関節部のエンコーダ４４で計測された関節角を手先位置及び姿勢に変換してロボットアーム５の手先位置と姿勢の情報を取得し）、時間の情報と共に、掃除動作データベース１７に掃除動作記憶部１５で記憶する。なお、製品出荷時にメーカにてあらかじめ位置及び姿勢・時間の情報を同様の方法で生成し、掃除動作データベース１７に記憶しておいても良い。
【００９０】
掃除動作データベース１７に記憶されているロボットアーム５がかける力に関する情報は、ロボットアーム５が作業をする際に対象となる物体にかける力の情報を示し、ロボットアーム５のｘ、ｙ、ｚ方向にかける力をそれぞれｆｘ、ｆｙ、ｆｚとし、さらにφ、θ、ψ方向にかける力をfφ、fθ、fψとする。掃除動作データベース１７では、（fｘ、fｙ、fｚ、fφ、fθ、fψ）と表す。例えばfｚ＝５[Ｎ]である場合は、ｚ軸方向に５Ｎの力をかけて作業することを表し、床面１０を拭き掃除する際に、床面１０の垂直方向に力をかけて擦る場合などに使用するパラメータである。
【００９１】
掃除動作データベース１７の吸引力に関する情報は、ロボットアーム５が吸引作業をする際の吸引する力を示す。ロボットアーム５のｘ、ｙ、ｚ方向の吸引力をそれぞれｐｘ、ｐｙ、ｐｚとし、さらにφ、θ、ψ方向の吸引力をｐφ、ｐθ、ｐψとする。掃除動作データベース１７では、（pｘ、pｙ、pｚ、pφ、pθ、pψ）と表す。例えばｐの値が大きくなるにつれて吸引力が大きくなり、例えば、絨毯などの場合は吸引力が大きく設定（例えば「５」の値に設定）され、畳又は床などの場合は吸引力が小さく設定（例えば「２」の値に設定）される。
【００９２】
掃除動作データベース１７の、ロボットアーム５の位置と姿勢と力と吸引力とのパラメータのうちのいずれの情報が有効か否かを示すフラグ（有効性を示すフラグ）に関する情報、すなわち、図４の掃除動作データベース１７のフラグの情報は、各動作ＩＤが示すロボットアーム５の位置と姿勢と力と吸引力とのうちのいずれの情報が有効かを示す値であり、具体的には、図５で示した３２ビットの数値で表す。図５において、それぞれのビットで位置、姿勢、力、吸引力のそれぞれの値が有効の場合は「１」とし、無効の場合は「０」とする。例えば、０ビット目は位置のｘ座標の値が有効の場合は「１」とし、無効の場合は「０」とする。１ビット目は位置のｙ座標の値が有効の場合は「１」とし、無効の場合は「０」とする。２ビット目は位置のｚ座標の値が有効の場合は「１」とし、無効の場合は「０」とし、順次、３，４，５ビット目は姿勢のφ、θ、ψの有効性を表す。６ビット目〜１１ビット目は力のそれぞれの成分fｘ、fｙ、fｚ、fφ、fθ、fψが有効か無効かを表す。１２〜１７ビット目は吸引力のそれぞれの成分pｘ、pｙ、pｚ、pφ、pθ、pψが有効か無効かを示す。また、フラグは将来の拡張用に多め（３２ビット）に用意しているため、この例では、１８ビット目から３１ビット目は使用しないので、「０」を入れておくが、１８ビット目のみ、格納できる変数としても良い。図５では、０ビット目から１ビット目が「１」となり、８ビット目が「１」となっているので、動作情報のうち、位置のｘ、ｙ情報と力のｆｚ情報のみが有効であることを示し、動作情報のうち、ｚ、φ、θ、ψ及び力のｆｚ以外の値、及び、吸引力のそれぞれに、どういう値が記憶されていても無効であるとする。
【００９３】
掃除動作データベース１７の各動作が作用する時間に関する情報、すなわち、図４の掃除動作データベース１７の時間は、各動作を掃除ロボット１が実行するために必要な時間であり、この動作ＩＤに記憶された動作を、ここで記憶された時間をかけて掃除ロボット１が動作することを表す。この時間は、絶対時刻ではなく、前の動作からの相対時間を表す。すなわち、動作ＩＤが示す胴体部１９の位置及びロボットアーム５の位置及び姿勢に、胴体部１９及びロボットアーム５がそれぞれ移動するまでの時間を表す。
【００９４】
掃除動作データベース１７の、掃除動作補正部２０で掃除動作データベース１７の動作情報を補正する際の補正すべきパラメータの種別に関する情報、すなわち、図４の補正パラメータフラグは、後述する補正動作種別決定部２３で決定した種別に応じて、どのパラメータを補正するかを表す情報である。具体的には、図６に示した３２ビットの数値で表す。図６において、それぞれのビットで位置、姿勢、力、吸引力のそれぞれの値の補正が可能な場合は「１」とし、補正が不可能な場合は「０」とする。例えば、０ビット目は位置のｘ座標の値の補正が可能な場合は「１」とし、不可能な場合は「０」とする。１ビット目は位置のｙ座標の値の補正が可能な場合は「１」とし、不可能な場合は「０」とする。２ビット目は位置のｚ座標の値の補正が可能な場合は「１」とし、不可能な場合は「０」とする。順次、３，４，５ビット目は姿勢のφ、θ、ψの補正可能性を表す。同様に、６ビット目〜１１ビット目は力の補正可能性を表し、１２ビット目〜１７ビット目は吸引力のそれぞれの成分が補正可能性を表す。また、フラグは将来の拡張用に多め（３２ビット）に用意しているため、この例では、１８ビット目から３１ビット目は使用しないので、「０」を入れておくが、１８ビット目のみ、格納できる変数としても良い。
【００９５】
掃除動作データベース１７の、現在動作中かどうか、を示す進捗情報は、掃除ロボット１の現在動作中の動作であるかどうか、を示す情報で、動作中の場合は「１」を記録するとともに、動作中でない場合は「０」を記録する。具体的には、人は、データ入力ＩＦ２６を介して作業したい掃除作業を選択して、選択された情報がデータ入力ＩＦ２６から動作選択部２９に入力される。選択した作業のうちの一番目の掃除動作が掃除ロボット１で開始されると、動作選択部２９により、その作業を構成する複数の動作のうち、現在動作中の動作について「１」を掃除動作データベース１７に記憶するとともに、動作していない動作について「０」を掃除動作データベース１７に記憶する。なお、動作中か否かの情報は、制御部２２から指令した動作が終了したことの通知を掃除動作補正部２０を介して掃除動作記憶部１５に入力し、掃除動作記憶部１５にて掃除動作データベース１７に記憶する。
【００９６】
図３の動作選択部２９は、掃除動作データベース１７の作業一覧（例えば、図２６の掃除スイッチ２６ｃの中央に表示された「掃除方法１」及び「掃除方法２」というような作業表示）から最適な掃除作業を人がデータ入力ＩＦ２６を介して選択するとき、選択された作業のうち、現在、動作している動作ＩＤの進捗情報に「１」を設定して掃除動作データベース１７に記憶し、その他の動作については「０」を設定して掃除動作データベース１７に記憶する。
【００９７】
掃除不可領域データベース２８は、掃除ロボット１で掃除をしない領域に関する情報を記憶しており、具体的な情報については、図１０に示す。図１０において、掃除不可領域の位置（ｘ、ｙ）は、人が、掃除ロボット１により掃除をしてほしくない領域を表す。例えば、図１１の掃除可能面Ｒのうち、斜線の領域を掃除不可領域ＲＢとした場合は、その領域ＲＢを表すのに必要な座標（この例では、矩形領域の４個の角の座標（ｘｃ１，ｙｃ１）、（ｘｃ２，ｙｃ２）、（ｘｃ３，ｙｃ３）、（ｘｃ４，ｙｃ４）を記憶する。なお、それぞれの座標は、掃除を行う掃除領域ＲＡの作業経路のうち、掃除を開始する座標Ｏｓからの相対座標で表す。これらの掃除不可領域ＲＢを表す座標は、後述する掃除動作補正部２０で生成され、掃除不可領域データベース２８に記憶される。
【００９８】
補正動作種別決定部２３は、後述する掃除動作補正部２０にて、人がその手１６でロボットアーム５に力をかけることにより掃除動作の補正を行うことが可能な補正の種別を決定する。例えば、図１２Ｃのように、人がその手１６でロボットアーム５に横方向から力をかけると、ロボットアーム５の掃除面に対する平行な方向（例えば、掃除面が水平方向沿いの場合には水平方向を意味する。以下の説明では、説明を簡単にするため、単に「水平方向」と称する。）の位置を移動することで、掃除領域ＲＡを平行移動させることができる。この場合の補正動作の種別は、「掃除面の位置の移動」である。図２７Ａに示すようにロボットアーム５で床面１０を拭き掃除中に、図２７Ｂに示すように、人がその手１６でロボットアーム５の上方からロボットアーム５に下向きの力をかけると、後述する掃除動作補正部２０によって、図２７Ｃのように掃除時の力のかけ具合を強めに設定することができる。この場合の補正動作の種別は、「力のかけ具合」である。このように、補正動作種別決定部２３は、人の手によるロボットアーム５への力のかけ具合とロボットアーム５の手先位置などから、掃除動作の補正の種別を決定することができる。なお、詳細については後述する。
【００９９】
掃除動作補正部２０は、掃除動作データベース１７の位置と姿勢と時間との情報に基づいて掃除ロボット１が掃除動作中に、人が手１６でロボットアーム５に力をかけることにより、掃除動作データベース１７の掃除動作情報を補正する機能を持っている。詳細については、後述する。
【０１００】
掃除動作記憶部１５は、掃除動作補正部２０により補正した動作情報を掃除動作データベース１７若しくは掃除不可領域データベース２８に記憶する。
【０１０１】
次に、制御パラメータ管理部２１の詳細について説明する。
制御パラメータ管理部２１は、掃除動作補正部２０の動作補正指示に基づいて、ロボットアーム５のインピーダンス制御モードと、ハイブリッドインピーダンス制御モードと、力制御モードと、力ハイブリッドインピーダンス制御モードと、高剛性の位置制御モードとを切り替える設定、及び、それぞれの制御モード時の機械インピーダンス設定値の設定、及び、それぞれの制御モードで制御部２２のインピーダンス計算部５１で出力する手先位置及び姿勢目標補正出力ｒｄΔの設定、及び、制御部２２の目標軌道設定部５５への動作情報の設定を行う。
【０１０２】
さらに、制御パラメータ管理部２１は、掃除情報データベース１７に記憶されている胴体部１９の位置（作業経路の開始点Ｏｓから見た胴体座標系４６の原点位置Ｏｄ（ｘ、ｙ））から、掃除不可領域データベース２８の掃除不可領域ＲＢを除いた掃除領域ＲＡでの掃除経路を生成する。また、制御部２２からロボットアーム５の手先位置又は力の情報などの情報を制御パラメータ管理部２１で受けて、制御パラメータ管理部２１から掃除動作補正部２０へそれらの情報の通知を行う。また、データ入力ＩＦ２６によりハンド３０の開閉の指令が入力されると、データ入力ＩＦ２６からの入力情報が制御パラメータ管理部２１を介して制御部２２のハンド制御部５４へ入力されて、制御パラメータ管理部２１からハンド制御部５４へハンド３０の開閉指令を出す。
【０１０３】
位置制御モードは、後述する目標軌道生成部５５の手先位置及び姿勢目標ベクトル指令に基づいて、ロボットアーム５が作動するモードである。
【０１０４】
インピーダンス制御モードは、人などからロボットアーム５に加わる力に応じて、ロボットアーム５が作動するモードである。
【０１０５】
ハイブリッドインピーダンス制御モードは、位置制御モードでロボットアーム５が動作している最中に、人などからロボットアーム５に加わる力に応じて、ロボットアーム５が作動するモード（インピーダンス制御モード）であり、位置制御モードとインピーダンス制御モードを同時に行うモードである。例えば、掃除面の塵などを吸引する掃除作業中に、図１２Ｂのように、人の手１６でロボットアーム５を直接持って、掃除領域ＲＡを平行移動するなどの補正を行うモードである。
【０１０６】
力制御モードは、制御部２２へ予め与えられた力でロボットアーム５が掃除面に対して吸引ノズル８又はモップ１８を押し付けながら掃除動作する制御モードで、例えば、掃除面に対してロボットアーム５が、ある力をかけて汚れをふき取る掃除動作をする際に、ロボットアーム５の掃除面成分に使用する制御モードである。
【０１０７】
力ハイブリッドインピーダンス制御モードは、６軸の方向別にハイブリッドインピーダンス制御モードかインピーダンス制御モードかを切り替え、さらに、指定した力を作用させて動作する力制御モードで動作させる制御モードである。なお、力制御モードが設定された方向にインピーダンス制御モードを設定することはできない（力制御モードとインピーダンス制御モードは排他的な関係）。
【０１０８】
これらの制御モードは、掃除動作の際に、ロボットアーム５の方向及び姿勢別に、それぞれ、以下のように、適切な制御モードを設定して動作させる。
【０１０９】
例えば、掃除ロボット１が、図２２のように床面１０の掃除面に平行に円状に動作しながら、掃除面に垂直下向きに指定した力をかけて、拭き掃除をする場合には、力ハイブリッドインピーダンス制御モードを設定する。具体的には、（ｘ、ｙ、ｚ、φ、θ、ψ）の６軸のそれぞれに、以下の制御モードを設定する。すなわち、（ｘ、ｙ）成分がハイブリッドインピーダンス制御モードで動作し、（φ、θ、ψ）成分がインピーダンス制御モードで動作し、ｚ軸成分が力制御モードで動作する力ハイブリッドインピーダンス制御モードである。このように床面１０と平行な方向は、ハイブリッドインピーダンス制御モードとすることで、位置制御モードで動作している最中に、人などからロボットアーム５に加わる力に応じて、ロボットアーム５を移動させることができる。さらに、（φ、θ、ψ）成分をインピーダンス制御モードとすることで、停止している状態で人などからロボットアーム５に加わる力に応じて、ロボットアーム５の姿勢を変更することができるようになる。また、ｚ軸成分を力制御モードに設定することで、指定された力で押し付けながら動作することができるようになる。
【０１１０】
同様に、掃除ロボット１が、図２３のように掃除面に平行に円状に動作しながら、掃除面の塵を吸引して掃除する場合においても、力ハイブリッドインピーダンス制御モードを設定する。具体的には、（ｘ、ｙ）成分をハイブリッドインピーダンス制御モードで動作させ、（φ、θ、ψ）成分をインピーダンス制御モードで動作させ、ｚ軸成分を力制御モードで動作させる。
【０１１１】
高剛性位置制御モードは、掃除作業中の位置制御モードを、さらに高剛性にしたモードで、かつ、後述する位置誤差補償部５６でのゲインを大きくすることで実現し、人の手１６で力をロボットアーム５にかけると、ロボットアーム５を容易に移動させないようにすることができ、ロボットアーム５の手先位置の変化量により、人の手１６がかけた力を力検出部５３で検出することができる。
【０１１２】
機械インピーダンス設定値の設定パラメータとしては、慣性Ｍ、粘性Ｄ、剛性Ｋがある。機械インピーダンス設定値の各パラメータの設定は、補正値を使って、以下の評価式に基づいて行う。
【０１１３】
【数１】
2010016210.tif 000003
【０１１４】
【数２】
2010016210.tif 000004
【０１１５】
【数３】
2010016210.tif 000005
【０１１６】
前記式（１）〜（３）中のＫＭ、ＫＤ、ＫＫはゲインであり、それぞれ、ある定数値である。
【０１１７】
制御パラメータ管理部２１は、前記式（１）〜（３）に基づいて計算した機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋを制御部２２へそれぞれ出力する。
【０１１８】
前記式（１）〜（３）により、例えば、図１２Ｃのように、人が掃除面の領域を移動させるように補正させたい場合に、ｘ軸及びｙ軸以外の位置成分及び姿勢成分が簡単に動くと、前記補正作業を行うことが困難になる。そこで、ｘ軸及びｙ軸以外の位置成分及び姿勢成分についてのみ、制御パラメータ管理部２１で、上述の補正値を高く（具体的には約１０倍だけ高く）設定することで、粘性Ｄ及び剛性Ｋが大きくなるように設定されることになり、ロボットアーム５の動きに抵抗感又は硬さが生じ、ｘ軸及びｙ軸以外の位置成分及び姿勢成分について動きにくくなる。
【０１１９】
又は、別の方法として、後述するインピーダンス計算部５１から出力される手先位置及び姿勢目標補正出力ｒｄΔの各成分のうち、ｘ軸及びｙ軸以外の値を、制御パラメータ管理部２１で、全て０にする方法がある。これによって、ｘ軸及びｙ軸以外は、人の手１６の力で移動できなくなるため、誤操作を防ぐことができる。
【０１２０】
さらに、掃除動作補正部２０に、ロボットアーム５の手先位置と姿勢と、人のかけた力の情報（ロボットアーム５に作用する人の力に関する情報)とを制御パラメータ管理部２１から通知する必要がある。そのため、制御部２２からロボットアーム５の手先位置及び力の情報を制御パラメータ管理部２１が受けて、動作選択部２９と、掃除動作記憶部１５と、掃除動作補正部２０とへ制御パラメータ管理部２１から通知を行う。また、制御パラメータ管理部２１は、掃除動作補正部２０から入力された、位置と姿勢と時間となどの動作情報を制御部２２へ通知する。
【０１２１】
図７は制御部２２のブロック図を示す。制御部２２は、制御パラメータ管理部２１で設定された制御モードで動作し、さらに制御モードに応じて、慣性Ｍと粘性Ｄと剛性Ｋとの設定値に基づき設定されたロボットアーム５の機械インピーダンス設定値に、ロボットアーム５の機械インピーダンスの値を制御する。さらに、制御部２２は、吸引を行う掃除の場合には、指定された吸引力で吸引しながら、回転ブラシ１１を回転させる制御を行う。さらに、制御部２２は、拭き掃除の場合には、指定された力で掃除面を押し付ける制御を行う。さらに、制御部２２は、胴体部１９の底部に配置された一対の車輪６を制御して、胴体部１９を指定された位置に移動する制御を行う。
【０１２２】
次に、制御部２２の詳細について、図７により説明する。
制御部２２は、ロボットアーム５の各関節部のモータ４３の駆動をそれぞれ制御するロボットアーム制御部４９と、吸引ポンプ１３のモータ６７の駆動を制御する吸引ポンプ制御部２と、回転ブラシ１１のモータ６９の駆動を制御する回転ブラシ制御部９と、胴体部１９の車輪６のモータ６５の駆動を制御する車輪制御部４８とを備えるように構成される。ロボットアーム制御部４９は、位置誤差計算部５０とインピーダンス計算部５１と力検出手段の一例としての力検出部５３とハンド制御部５３と目標軌道生成部５５と位置誤差補償部５６と近似逆運動学計算部５７と順運動学計算部５８とを備えて構成している。位置誤差補償部５６と近似逆運動学計算部５７と順運動学計算部５８とで位置制御系５９を構成している。
【０１２３】
次に、ロボットアーム制御部４９について詳細に説明する。
ロボットアーム５からは、それぞれの関節部の関節軸のエンコーダ４４により計測された関節角の現在値（関節角度ベクトル）ベクトルｑ＝［ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６］Ｔが出力され、入出力ＩＦ２４により制御部２２に取り込まれる。ただし、ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６は、それぞれ、第１関節部３５、第２関節部３６、第３関節部３７、第４関節部３８、第５関節部３９、第６関節部４０の関節角度である。
【０１２４】
目標軌道生成部５５は、制御パラメータ管理部２１からの掃除動作の入力を受けて、目標とするロボットアーム５の動作を実現するための、手先位置及び姿勢目標ベクトルｒｄと、手先の力ベクトルｆｄと、それぞれの方向別にどのパラメータが有効かを示すフラグ（有効性を示すフラグ）とが出力される。目標とするロボットアーム５の動作は、目的とする掃除作業に応じて、掃除動作補正部２０から、制御パラメータ管理部２１を介して、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置及び姿勢（ｒｄ０、ｒｄ１、ｒｄ２、・・・）の情報と、力（ｆｄ０、ｆｄ１、ｆｄ２、・・・）の情報と、吸引力（ｐｄ０、ｐｄ１、ｐｄ２、・・・）の情報とが目標軌道生成部５５に与えられる。
【０１２５】
目標軌道生成部５５は、多項式補間を使用し、各ポイント間の軌道と、力と、吸引力とを補間し、手先位置及び姿勢目標ベクトルｒｄ及び力ベクトルｆｄ及び吸引力ｐｄを生成する。
【０１２６】
ハンド制御部５４は、制御パラメータ管理部２１から入力したハンド開閉指令により、ハンド駆動用のモータ６２を駆動してハンド３０を開閉するよう、ロボットアーム５のハンド駆動用のモータ６２へ指令を出す。
【０１２７】
力検出部５３は、力検出手段の一例として機能し、人などとロボットアーム５との接触によってロボットアーム５に加わる外力を検出する。力検出部５３には、モータドライバ４７の電流センサで計測された、ロボットアーム５の各関節部を駆動するモータ４３を流れる電流値ｉ＝［ｉ１，ｉ２，ｉ３，ｉ４，ｉ５，ｉ６］Ｔが入出力ＩＦ２４を介して取り込まれ、また、各関節部の各関節角の現在値ｑが入出力ＩＦ２４を介して取り込まれるとともに、後述する近似逆運動学計算部５７からの関節角度誤差補償出力ｕｑｅが取り込まれる。力検出部５３は、オブザーバーとして機能し、以上の電流値ｉと関節角の現在値ｑと関節角度誤差補償出力ｕｑｅとに基づいて、ロボットアーム５に加わる外力により各関節部に発生するトルクτｅｘｔを算出する。そして、Ｆｅｘｔ＝Ｊｖ（ｑ）−Ｔτｅｘｔ−［０，０，ｍｇ］Ｔによりロボットアーム５の手先における等価手先外力Ｆｅｘｔに換算して出力する。ここで、Ｊｖ（ｑ）は、
【０１２８】
【数４】
2010016210.tif 000006
【０１２９】
を満たすヤコビ行列である。ただし、ただし、ｖ＝［ｖｘ、ｖｙ、ｖｚ、ωｘ、ωｙ、ωｚ］Ｔであり、（ｖｘ、ｖｙ、ｖｚ）は手先座標系４２でのロボットアーム５の手先の並進速度、（ωｘ、ωｙ、ωｚ）は手先座標系４２でのロボットアーム５の手先の角速度である。また、ｍはロボットアーム５のハンド３０に取り付けられた掃除部８，１８の重さであり、ｇは重力加速度である。掃除部８，１８の重さｍの値は、掃除部８，１８を取り付ける前に人がデータ入力ＩＦ２６から力検出部５３に入力することもできるが、通常は、掃除部８，１８の重さｍは度々変更される値ではないため、予め設定した値とすることもできる。
【０１３０】
インピーダンス計算部５１は、ロボットアーム５に機械インピーダンス設定値への前記ロボットアーム５の機械インピーダンスの値の制御を実現する機能を果たす部分である。
【０１３１】
インピーダンス制御モードが指定された際には、インピーダンス計算部５１から手先位置及び姿勢目標補正出力ｒｄΔを出力する。力ハイブリッドインピーダンス制御モードに切り替えられた際には、フラグ（有効性を示すフラグ）で有効と指定された力成分が存在する場合には、制御パラメータ管理部２１で設定されたインピーダンスパラメータである慣性Ｍと粘性Ｄと剛性Ｋと、関節角の現在値ｑと、力検出部５３が検出した外力Ｆｅｘｔと、目標軌道生成部５５から出力されるｆｄとに基づいて、前記ロボットアーム５の機械インピーダンスの値がロボットアーム５に機械インピーダンス設定値に近づくようにする制御を実現するための手先位置及び姿勢目標補正出力ｒｄΔを、以下の式（４）によりインピーダンス計算部５１で計算し、インピーダンス計算部５１から出力する。
【０１３２】
手先位置及び姿勢目標補正出力ｒｄΔは、目標軌道生成部５５の出力する手先位置及び姿勢目標ベクトルｒｄに位置誤差計算部５０で加算され、手先位置及び姿勢補正目標ベクトルｒｄｍが位置誤差計算部５０で生成される。例えば、ｚ軸方向のみ、力をかけて掃除し、その他の成分は位置制御モードで動くようにするには、手先位置及び姿勢目標補正出力ｒｄΔのｚ成分以外を０に位置誤差計算部５０で設定する。
【０１３３】
【数５】
2010016210.tif 000007
【０１３４】
ただし、
【０１３５】
【数６】
2010016210.tif 000008
【０１３６】
【数７】
2010016210.tif 000009
【０１３７】
【数８】
2010016210.tif 000010
【０１３８】
であり、ｓはラプラス演算子である。
【０１３９】
順運動学計算部５８には、ロボットアーム５からのそれぞれの関節部の関節軸のエンコーダ４４により計測された関節角の現在値ｑである関節角度ベクトルｑが入出力ＩＦ２４を介して入力されて、ロボットアーム５の関節角度ベクトルｑから手先位置及び姿勢ベクトルｒへの変換の幾何科学的計算を順運動学計算部５８が行う。
【０１４０】
手先位置及び姿勢目標補正出力ｒｄΔは、目標軌道生成部５５の出力する手先位置及び姿勢目標ベクトルｒｄに位置誤差計算部５０により加算され、手先位置及び姿勢補正目標ベクトルｒｄｍが位置誤差計算部５０で生成される。さらに、ロボットアーム５において計測される関節角度ベクトルｑより順運動学計算部５８により計算される手先位置及び姿勢ベクトルｒと、手先位置及び姿勢補正目標ベクトルｒｄｍとの誤差ｒｅを位置誤差計算部５０から出力する。
【０１４１】
位置誤差補償部５６は、位置誤差計算部５０から誤差ｒｅが入力されて、誤差ｒｅから位置誤差補償出力ｕｒｅを位置誤差補償部５６で求め、位置誤差補償出力ｕｒｅが近似逆運動学計算部５７に向けて位置誤差補償部５６から出力される。
【０１４２】
近似逆運動学計算部５７では、近似式ｕｏｕｔ＝Ｊｒ（ｑ）−１ｕｉｎにより、逆運動学の近似計算を行う。ただし、Ｊｒ（ｑ）は、
【０１４３】
【数９】
2010016210.tif 000011
【０１４４】
の関係を満たすヤコビ行列、ｕｉｎは近似逆運動学計算部５７への入力、ｕｏｕｔは近似逆運動学計算部５７からの出力であり、入力ｕｉｎを関節角度誤差ｑｅとすれば、ｑｅ＝Ｊｒ（ｑ））−１ｒｅのように手先位置及び姿勢誤差ｒｅから関節角度誤差ｑｅへの変換式となる。したがって、位置誤差補償出力ｕｒｅが近似逆運動学計算部５７に入力されると、その出力として、関節角度誤差ｑｅを補償するための関節角度誤差補償出力ｕｑｅが近似逆運動学計算部５７から出力される。
【０１４５】
関節角度誤差補償出力ｕｑｅは、近似逆運動学計算部５７から出力されたのち、入出力ＩＦ２４を介してモータドライバ２５に電圧指令値として与えられ、各モータ４３により各関節軸が正逆回転駆動されてロボットアーム５が動作する。
【０１４６】
高剛性位置制御モードが設定された際に、定数の対角行列である比例、微分、積分の３つのゲインを予め設定された値に大きく設定することで（具体的には、通常の位置制御モード時の２倍程度の値に設定することで）、高剛性の位置制御を実現することができる。なお、前記ゲインを各成分毎に値を変えることで、例えば、ｚ軸方向のみ、高剛性で、その他の方向は通常の位置制御で動作するよう制御することができる。
【０１４７】
吸引ポンプ制御部２は、吸引を行う掃除の場合に、目標軌道生成部５５から入力された吸引力に応じて、吸引ポンプ１３のモータ６７を駆動制御する。拭き掃除を行う掃除の場合には、吸引ポンプ１３のモータ６７は駆動しない。吸引ポンプ１３のモータ６７が駆動されると、掃除面の塵が吸引ホース１２を伝って吸い込まれ、塵袋３に格納される。
【０１４８】
回転ブラシ制御部９は、目標軌道生成部５５から入力された吸引力に応じて、回転ブラシ１１のモータ６９を駆動制御して、回転ブラシ１１を回転させる制御を行う。
【０１４９】
車輪制御部４８は、目標軌道生成部５５から入力された胴体部１９の位置情報に基づき、一対の車輪６のモータ６５を駆動制御して胴体部１９を移動させるよう一対の車輪６の回転制御を行う。具体的には、一対の車輪６のそれぞれのモータ６５の駆動を車輪制御部４８によりそれぞれ独立して正逆回転制御して、胴体部１９を前進、後退、左右方向に移動可能としている。なお、図１などでは簡略化して一対の車輪６を図示しており、一対の車輪６の回転軸を図１のように胴体部１９の前後移動方向に対して直交する左右方向沿いに固定するだけではなく、一対の車輪６の回転軸を前後移動方向沿いになるように回転させたのち、正逆回転させて胴体部１９を左右方向に移動させることにより可能である。又は、左右方向移動用の別の一対の車輪を用意しておき、前後移動方向移動用の一対の車輪６と駆動を切り替えれるようにしてもよい。このような駆動機構は、公知のものを適宜採用することが可能である。
【０１５０】
以下、ロボットアーム５のロボットアーム制御プログラムの実際の動作ステップについて、図２５のフローチャートに基づいて説明する。
【０１５１】
ロボットアーム５の関節部のそれぞれのエンコーダ４４により計測された関節角度データ（関節変数ベクトル又は関節角度ベクトルｑ）が制御装置本体部４５に取り込まれる(ステップＳ５１)。
【０１５２】
次いで、逆運動学計算部５７にて、ロボットアーム５の運動学計算に必要なヤコビ行列Ｊｒ等の計算を行う (ステップＳ５２)。
【０１５３】
次いで、順運動学計算部５８にて、ロボットアーム５からの関節角度データ（関節角度ベクトルｑ）から、ロボットアーム５の現在の手先位置及び姿勢ベクトルｒを計算する（ステップＳ５３）。
【０１５４】
次いで、掃除動作補正部２０から送信された動作情報に基づき、目標軌道計算部５５は、ロボットアーム５の手先位置及び姿勢目標ベクトルｒｄ及び力目標ベクトルｆｄを計算する（ステップＳ５４）。
【０１５５】
次いで、力検出部５３は、モータ４３の駆動電流値ｉと、関節角度データ（関節角度ベクトルｑ）と、関節角度誤差補償出力ｕｑｅとから、ロボットアーム５の手先における等価手先外力Ｆｅｘｔを計算する（ステップＳ５５）。
【０１５６】
次いで、ステップＳ５６では、制御パラメータ管理部２１で設定された制御モードを設定する。高剛性位置制御モードのみの場合には、ステップＳ５７に処理を進める。一方、力ハイブリッドインピーダンス制御モード若しくはインピーダンス制御モード若しくはハイブリッドインピーダンス制御モードの場合には、ステップＳ５８へ処理を進める。
【０１５７】
ステップＳ５７（インピーダンス計算部５１での処理）では、制御パラメータ管理部２１において、高剛性位置制御モードが設定された場合には、インピーダンス計算部５１で、手先位置及び姿勢目標補正出力ｒｄΔを０ベクトルとする。その後、ステップＳ５９に進む。
【０１５８】
制御パラメータ管理部２１において、力ハイブリッドインピーダンス制御モード、若しくはインピーダンス制御モード若しくはハイブリッドインピーダンス制御モードが設定された場合には、制御パラメータ管理部２１において設定された機械インピーダンスパラメータの慣性Ｍと粘性Ｄと剛性Ｋと、関節角度データ（関節角度ベクトルｑ）と、力検出部５３により計算されたロボットアーム５に加わる等価手先外力Ｆｅｘｔとから、手先位置及び姿勢目標補正出力ｒｄΔが、インピーダンス計算部５１により計算される（ステップＳ５８）。
【０１５９】
次いで、位置誤差計算部５０では、手先位置及び姿勢目標ベクトルｒｄと手先位置及び姿勢目標補正出力ｒｄΔの和である手先位置及び姿勢補正目標ベクトルｒｄｍと、現在の手先位置及び姿勢ベクトルｒとの差である手先位置及び姿勢の誤差ｒｅが計算される（ステップＳ５９、ステップＳ６０）。ステップＳ６０では、位置誤差補償部５６の具体例としてはＰＩＤ補償器が考えられる。定数の対角行列である比例、微分、積分の３つのゲインを適切に調整することにより、位置誤差が０に収束するように制御が働く。ステップＳ５９では、そのゲインを、ある値まで大きくすることで、高剛性の位置制御を実現する。
【０１６０】
ステップＳ５９又はステップＳ６０に次いでステップＳ６１では、近似逆運動学計算部５７では、ステップＳ５２で計算したヤコビ行列Ｊｒの逆行列を近似逆運動学計算部５７で乗算することにより、位置誤差補償出力ｕｒｅを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力ｕｑｅに、近似逆運動学計算部５７により変換する。
【０１６１】
ステップＳ６１に次いで、関節角度誤差補償出力ｕｑｅが、近似逆運動学計算部５７から入出力ＩＦ２４を通じ、モータドライバ２５に与えられ、それぞれのモータ４３を流れる電流量を変化させることによりロボットアーム５のそれぞれの関節軸の回転運動が発生する（ステップＳ６２）。
【０１６２】
以上のステップＳ５１〜ステップＳ６２が制御の計算ループとして繰り返し実行されることにより、ロボットアーム５の動作の制御、すなわち、ロボットアーム５の機械インピーダンスの値を、前記適切に設定された設定値に制御する動作を実現することができる。
【０１６３】
次に、補正動作種別決定部２３と掃除動作補正部２０について詳細に説明する。
補正動作種別決定部２３は、掃除動作補正部２０にて、人の手１６でロボットアーム５に力をかけることで掃除動作の補正を行うことが可能な補正の種別を決定する。以下の７種類の補正の種別がある。
【０１６４】
１つ目の補正の種別は、「掃除面の位置の移動」である。具体的には、図１２Ａ又は図１２Ｂ(図１２Ａを上方から見た図)のように、ロボットアーム５で位置制御モードで床面１０を掃除中に、図１２Ｃのように人の手１６でロボットアーム５に横方向から力をかけると、掃除動作補正部２０によって、図１２Ｄのようにロボットアーム５の掃除面に対する水平方向の位置を移動することで、掃除領域ＲＡを平行移動することができる。
【０１６５】
２つ目の補正の種別は、拭き掃除時の床面１０に対する「力のかけ具合」である。これは、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、力のビットが「１」となっている場合に有効である。図２７Ａに示すように、ロボットアーム５で床面１０を拭き掃除中に、図２７Ｂのように、人の手１６でロボットアーム５に上方から下向きに力をかけると、掃除動作補正部２０によって、図２７Ｃのように拭き掃除時の力のかけ具合を強めに、逆に、人の手１６でロボットアーム５に下方から上向きに力をかけると、拭き掃除時の力のかけ具合を弱めに補正することができる。
【０１６６】
３つ目の補正の種別は、吸引の掃除時の床面１０に対する「吸引力」である。これは、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、吸引力のビットが「１」となっている場合に有効である。図２８Ａに示すように、ロボットアーム５で床面１０を吸引掃除中に、図２８Ｂのように、人の手１６でロボットアーム５に上方から下向きに力をかけると、掃除動作補正部２０によって、図２８Ｃのように、吸引掃除時の吸引力が強く設定され、逆に、人の手１６でロボットアーム５に下方から上向きに力をかけると、吸引掃除時の吸引力を弱く設定することができる。
【０１６７】
４つ目の補正の種別は、ロボットアーム５の手先（掃除部８，１８）の移動「速度」である。図２９Ａ又は図２９Ｂ（図２９Ａを上方から見た図）のように、ロボットアーム５で床面１０を掃除中に、図２９Ｃのように、ロボットアーム５の進行方向に反する方向に人の手１６でロボットアーム５に力をかけると、掃除動作補正部２０によって、図２９Ｄのように、掃除時の速度を減速させることができる。逆に、ロボットアーム５で床面１０を掃除中に、人の手１６がロボットアーム５の進行方向に合わせて人の手１６でロボットアーム５に力をかけると、掃除動作補正部２０によって、掃除時の速度を加速させることができる。
【０１６８】
５つ目の補正の種別は、「方向（姿勢）の変更」である。図３０Ａ又は図３０Ｂ（図３０Ａを上方から見た図）のように、ロボットアーム５で床面１０を掃除中に、人の手１６で、掃除部８，１８の長手方向を畳Ｔの目Ｔｍに沿うように位置を変更した状態で、図３０Ｃのように、ロボットアーム５のジグザグにする進行方向を変えたい方向に力をかけると、掃除動作補正部２０によって、図３０Ｄのように掃除時のロボットアーム５の進行方向を変更することができる。これは、ロボットアーム５の手先（掃除部８，１８）の姿勢（φ、θ、ψ）を変更することで実現できる。
【０１６９】
６つ目の補正の種別は、「掃除をして欲しくない領域」である。人１６Ａの手１６で図３１に示すように、ロボットアーム５を把持して、掃除をしてほしくない領域ＲＢの輪郭に沿って、ロボットアーム５（掃除部８，１８）に力をかけてロボットアーム５を移動させると、掃除動作補正部２０によって、図３１のように掃除をしてほしくない領域ＲＢを設定することができる。
【０１７０】
７つ目の補正の種別は、「掃除面垂直方向の移動」である。図３２Ａのように、ロボットアーム５で床面１０を掃除中に、図３２Ｂのように人の手１６でロボットアーム５に上方向に力をかけて、上方向にロボットアーム５を移動させると、掃除動作補正部２０によって、例えば、図３２Ｃに示すように、床面１０においてある台又はソファ１０Ｓなどの上面１０Ｓａを掃除部８，１８で掃除することができる。
【０１７１】
補正動作種別決定部２３は、前記の７種類の補正の種別のうち、１種類の補正の種別を決定する。具体的には、ボタンなどのデータ入力ＩＦ２６にて７種の補正の種別のうちの１つの補正の種別を選択するか、若しくは、力検出部５３で検出されて情報取得部１００で取得された人の手１６でロボットアーム５にかけた力と、掃除動作データベース１７に記憶されて情報取得部１００で取得されたロボットアーム５にかけた力と、補正の種別との関係情報（例えば、力のかかる向きと大きさと補正の種別との関係情報）とにより、補正動作種別決定部２３で種別を推定する。
【０１７２】
以下、補正の種別の推定方法の具体的な補正種別推定処理について、図１４のフローチャートを使って詳細に説明する。
【０１７３】
掃除ロボット１の電源ボタン２６ａを「ＯＮ」にした状態で、人の手１６でロボットアーム５を把持して力をロボットアーム５に加えていない場合は、ロボットアーム５は動かない。人の手１６でロボットアーム５に力を加えている場合は、インピーダンス制御モード（人の手１６の力を検出した方向にインピーダンス制御で移動させるモード）でロボットアーム５を移動させたい方向に移動させることができる。この場合、制御部２２の力検出部５３にて、ロボットアーム５に作用する力を検出し、力検出部５３で検出された力の情報が、情報取得部１００を介して、補正動作種別決定部２３に入力される（ステップＳ１）。
【０１７４】
次いで、ステップＳ２では、力検出部５３で検出しかつ情報取得部１００で取得された力の全ての成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、ある閾値（具体的には、図３３のＩＤ「１」の（fdｘ、fdｙ、fdｚ、fdφ、fdθ、fdψ））以下であるか否かを補正動作種別決定部２３で判断する。力検出部５３で検出しかつ情報取得部１００で取得された力の全ての成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、前記ある閾値以下であると補正動作種別決定部２３で判断した場合は、ロボットアーム５は動かず、補正はせず（ステップＳ２０）、補正動作の種別推定方法の補正種別推定処理を終了する。その場合の制御モードは、インピーダンス制御モードである。
【０１７５】
ステップＳ２にて、力検出部５３で検出しかつ情報取得部１００で取得された力のいずれかの成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分のうちのいずれかの成分）が、前記ある閾値（具体的には、図３３のＩＤ「１」の（fdｘ、fdｙ、fdｚ、fdφ、fdθ、fdψ））を越えると補正動作種別決定部２３で判断した場合は、ステップＳ３に進む。
【０１７６】
ステップＳ３では、さらに、現在の掃除ロボット１が掃除動作データベース１７で動作しているかどうか、を情報取得部１００を介して取得した情報を基に補正動作種別決定部２３で判定する。具体的には、動作選択部２９にて掃除作業を選択しておらず、かつ、掃除動作データベース１７の全ての作業ＩＤについて、進捗情報が「０」となっている、と補正動作種別決定部２３で判断する場合（掃除を開始していない状態）は、掃除動作データベース１７で動作していないと補正動作種別決定部２３で判定して、ステップＳ６に進む。動作選択部２９にて掃除作業を選択して掃除を開始しており、かつ、進捗情報が「１」となっていると補正動作種別決定部２３で判断している場合は、掃除動作データベース１７で動作していると補正動作種別決定部２３で判定して、ステップＳ４に進む。
【０１７７】
ステップＳ４では、人の手１６でロボットアーム５を把持して、ロボットアーム５の掃除動作を補正したい方向に力を加えるとき、力検出部５３でロボットアーム５に加えられた力を検出し、力検出部５３で検出されかつ情報取得部１００を介して取得した人の手１６からの力（fｘ、fｙ、fｚ、fφ、fθ、fψ）のそれぞれのある一定時間の変位量を補正動作種別決定部２３で計測し、位置成分（fｘ、fｙ、fｚ）と姿勢成分（fφ、fθ、fψ）のどちらの変位量が大きいかを補正動作種別決定部２３で計測する。具体的には、図１５に示すように、（fｘ、fｙ、fｚ、fφ、fθ、fψ）それぞれの時系列の力を補正動作種別決定部２３で計測し、ある一定時間（例えばｔｉｍｅ  １）に力がどれくらい変位したかを補正動作種別決定部２３で計測し、最も変位の大きかった成分を補正動作種別決定部２３で計測する。この例では、fφの変位が最も大きいので、姿勢成分が位置成分より力がかかっていると補正動作種別決定部２３で判断してステップＳ９へ進む。
【０１７８】
ステップＳ４にて姿勢の変位量が位置の変位量より大きいと補正動作種別決定部２３で判断する場合には、補正の種別は「方向（姿勢）の変更」の種別であると補正動作種別決定部２３で決定して、補正の種別推定処理を終了する（ステップＳ９）。その際の制御モードは、補正の種別を決定する前と同様の制御モード（力ハイブリッドインピーダンス制御モード）である。
【０１７９】
一方、ステップＳ４にて位置の変位量が姿勢の変位量以上であると補正動作種別決定部２３で判断する場合には、さらに、掃除面に垂直な方向の力成分（例えば地面に水平に設置された床面１０を掃除する場合はｆｚ）が、ある閾値（具体的には、図３３のＩＤ「１」のfdｚ）以上かどうか、を補正動作種別決定部２３で判定する（ステップＳ５）。
【０１８０】
ステップＳ５で、掃除面に垂直な方向の力成分が前記ある閾値より小さいと補正動作種別決定部２３で判定された場合は、さらに掃除面に水平な方向の力成分（例えば地面に水平に設定された床面１０を掃除する場合はｆｘ、ｆｙのいずれか若しくは両方）が、ある閾値（具体的には、図３３のＩＤ「１」のｆｄｘ、ｆｄｙ）以上であるかどうか、を補正動作種別決定部２３で判定する（ステップＳ１０）。
【０１８１】
ステップＳ１０にて、掃除面に水平な方向の力成分が前記ある閾値（具体的には、図３３のＩＤ「１」のｆｘ、ｆｙ）未満であると補正動作種別決定部２３で判断する場合は、補正なし（種別なし）と決定して、補正種別推定処理を終了する（ステップＳ１１）。補正なしの場合は補正を中止して掃除作業を行う。
【０１８２】
ステップＳ１０にて、掃除面に水平な方向の力成分が前記ある閾値以上であると補正動作種別決定部２３で判断する場合は、ステップＳ１２に進む。
【０１８３】
ステップＳ１２では、さらに補正動作種別決定部２３で算出された掃除面の水平方向の移動量が、ある閾値（具体的には、図３３のＩＤ「２」のｇｘ、ｇｙ）以上であると補正動作種別決定部２３で判断する場合は、補正の種別として「掃除面の位置の移動」の種別を補正動作種別決定部２３で決定して、補正種別推定処理を終了する（ステップＳ１４）。
【０１８４】
なお、掃除面の水平方向の移動量を補正動作種別決定部２３で算出するとき、具体的には、制御部２２から制御パラメータ管理部２１又は情報取得部１００を介して人の操作前のロボットアーム５の手先位置と操作中の手先位置を補正動作種別決定部２３に入力し、操作中の手先位置から操作前の手先位置を減じた値を移動量として補正動作種別決定部２３で算出することができる。また、掃除面に垂直な方向の移動量を補正動作種別決定部２３で算出するとき、具体的には、制御部２２から制御パラメータ管理部２１又は情報取得部１００を介して人の操作前のロボットアーム５の手先位置のｚ成分と操作中の手先位置のｚ成分を補正動作種別決定部２３に入力し、操作中の手先位置のｚ成分から操作前の手先位置のｚ成分を減じた値を移動量として補正動作種別決定部２３で算出することができる。
【０１８５】
ステップＳ１３にて、掃除面の水平方向の移動量が前記ある閾値未満であると補正動作種別決定部２３で判定された場合は、補正の種別として、掃除面に水平な方向の「速度」の種別を決定して、補正種別推定処理を終了する（ステップＳ１５）。
【０１８６】
また、ステップＳ５で、掃除面に垂直な力が前記ある閾値以上であると補正動作種別決定部２３で判定された場合は、さらに、補正動作種別決定部２３で算出された掃除面の垂直方向の移動量が、ある閾値より大きいか否かを補正動作種別決定部２３で判断する（ステップＳ１２）。
【０１８７】
ステップＳ１２において、掃除面の垂直方向の移動量が、ある閾値より大きいと補正動作種別決定部２３で判断する場合には、補正の種別して「掃除面垂直方向の移動」の種別を補正動作種別決定部２３で決定して、補正種別推定処理を終了する（ステップＳ１９６）。
【０１８８】
また、ステップＳ１２で掃除面の垂直方向の移動量が前記ある閾値以下であると補正動作種別決定部２３で判断する場合には、ステップＳ１６に進み、ステップＳ１６で、さらに、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、力のビットが「１」となっているか、吸引力のビットが「１」となっているかを補正動作種別決定部２３で判断する。
【０１８９】
ステップＳ１６において、現在動作中（掃除動作データベースの進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、力のビットが「１」となっていると補正動作種別決定部２３で判断する場合には、拭き掃除を意味するので、補正の種別として「力の補正」と決定し（ステップＳ１７）、補正種別推定処理を終了する。一方、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、吸引力のビットが「１」となっていると補正動作種別決定部２３で判断する場合は、吸引にて掃除をする場合を意味するので、補正の種別として「吸引力の補正」の種別であると決定し（ステップＳ１８）、補正種別推定処理を終了する。
【０１９０】
また、ステップＳ３において、掃除動作データベース１７で動作していないと補正動作種別決定部２３で判定された場合には、ステップＳ６に進み、ステップＳ６にて、さらに、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上であるか否かを補正動作種別決定部２３で判断する。
【０１９１】
ステップＳ６において、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上であると補正動作種別決定部２３で判断する場合には、補正の種別として「掃除をして欲しくない領域」の種別であると決定し（ステップＳ８）、補正種別推定処理を終了する。ステップＳ６で、人の手１６でロボットアーム５にかけている力が掃除面に対して水平ではない場合（例えば、垂直である場合）、又は、掃除面に水平な力であっても水平方向の移動量が前記ある閾値未満であると補正動作種別決定部２３で判断する場合は、補正の種別として「補正なし」と決定し（ステップＳ７）、補正種別推定処理を終了する。
【０１９２】
以上により、ボタンなどのデータ入力ＩＦ２６を使わずに、補正動作種別決定部２３により、補正の種別を切り替えることができる。
【０１９３】
補正動作種別決定部２３は、前記の７種類の種別のうち、１種類の種別を決定したが、２種類の補正の種別を同時に決定することもできる。
【０１９４】
図３の補正種別決定方法設定部２７は、補正動作種別決定部２３で決定する出力数を設定する。しかしながら、出力数は、データ入力ＩＦ２６を使って補正動作種別決定部２３で入力して、人が決定するようにしてもよい。
【０１９５】
補正動作種別決定部２３は、補正種別決定方法設定部２７で設定された出力数に従って、補正の種別を決定する。具体的には、出力数が１の場合は、図１４の補正の種別の推定方法のアルゴリズムで補正の種別を決定し、出力数が「２」の値の場合は、後述する図１７のアルゴリズムで補正の種別を決定する。これにより、掃除ロボット１を操作する人が操作に不慣れな場合は、出力数を１に設定することで、同時に２種類の補正ができないので、操作が簡単になる。逆に、操作に慣れてきて、同時に２種類の種別の補正を行いたい場合は、出力数を「２」の値に設定することで、補正を効率的に行なうことができるようになる。
【０１９６】
上述の補正動作種別決定部２３では、１種類の種別を出力するとしたが、２種類の種別を出力して補正する例として、図１８Ａに示すように、拭き掃除時に掃除動作データベース１７の力より強い力で、且つ、掃除面の拭き掃除を通常より高速に掃除したい場合である。この場合は、拭き掃除の力と速度の２種類の種別を同時に補正する。また、図１８Ｂでは、塵などを吸引する掃除をする際に、掃除面を平行に移動しながら、吸引力を強くする場合である。この場合は、掃除面の位置の移動と吸引力の２種類の種別を同時に補正する。
【０１９７】
２種類の種別を出力する補正動作の種別推定方法の補正種別推定処理を実行するための補正動作種別決定部２３のアルゴリズムについて、図１７のフローチャートを使って詳細に説明する。
【０１９８】
１種類の種別の場合と同様に、掃除ロボット１の電源ボタン２６ａを「ＯＮ」にした状態で、人の手１６でロボットアーム５を把持して力をロボットアーム５に加えていない場合は、ロボットアーム５は動かない。人の手１６でロボットアーム５に力を加えている場合は、インピーダンス制御モード（人の手１６の力を検出した方向にインピーダンス制御で移動させるモード）でロボットアーム５を移動させたい方向に移動させることができる。この場合、制御部２２の力検出部５３にて、ロボットアーム５に作用する力を検出し、力検出部５３で検出された力の情報が、情報取得部１００を介して、補正動作種別決定部２３に入力される（ステップＳ３１）。
【０１９９】
次いで、ステップＳ３２では、力検出部５３で検出しかつ情報取得部１００で取得された力の全ての成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、ある閾値（具体的には、図３３のＩＤ「１」の（fdｘ、fdｙ、fdｚ、fdφ、fdθ、fdψ））以下であるか否かを補正動作種別決定部２３で判断する。力検出部５３で検出しかつ情報取得部１００で取得された力の全ての成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、前記ある閾値以下であると補正動作種別決定部２３で判断した場合は、ロボットアーム５は動かず、補正はせず（ステップＳ５１）、補正動作の種別推定方法の補正種別推定処理を終了する。
【０２００】
ステップＳ３２にて、力検出部５３で検出しかつ情報取得部１００で取得された力のいずれかの成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、前記ある閾値（具体的には、図３３のＩＤ「１」の（fdｘ、fdｙ、fdｚ、fdφ、fdθ、fdψ））を越えると補正動作種別決定部２３で判断した場合は、ステップＳ３３に進む。
【０２０１】
ステップＳ３３では、さらに、現在の掃除ロボット１が掃除動作データベース１７で動作しているかどうか、を補正動作種別決定部２３で判定する。具体的には、動作選択部２９にて掃除作業を選択しておらず、かつ、掃除動作データベース１７の全ての作業ＩＤについて、動作選択部２９にて作業を選択しておらず進捗情報が「０」となっている、と補正動作種別決定部２３で判断する場合（掃除を開始していない状態）は、掃除動作データベース１７で動作していないと補正動作種別決定部２３判定して、ステップＳ３６に進む。動作選択部２９にて掃除作業を選択して掃除を開始しており、かつ、進捗情報が「１」となっていると補正動作種別決定部２３で判断している場合は、掃除動作データベース１７で動作していると補正動作種別決定部２３で判定して、ステップＳ３４に進む。
【０２０２】
ステップＳ３４では、人の手１６でロボットアーム５を把持して、ロボットアーム５の掃除動作を補正したい方向に力を加えるとき、力検出部５３でロボットアーム５に加えられた力を検出し、力検出部５３で検出されかつ情報取得部１００で取得された人の手１６からの力（fｘ、fｙ、fｚ、fφ、fθ、fψ）のそれぞれのある一定時間の変位量を補正動作種別決定部２３で計測し、位置成分（fｘ、fｙ、fｚ）と姿勢成分（fφ、fθ、fψ）のどちらの変位量が大きいかを補正動作種別決定部２３で計測する。具体的には、図１５に示すように、（fｘ、fｙ、fｚ、fφ、fθ、fψ）それぞれの時系列の力を補正動作種別決定部２３で計測し、ある一定時間（例えばｔｉｍｅ  １）に力がどれくらい変位したかを補正動作種別決定部２３で計測し、最も変位の大きかった成分を計測する。この例では、fφの変位が最も大きいので、姿勢成分が位置成分より力がかかっていると補正動作種別決定部２３で判断してステップＳ３９へ進む。
【０２０３】
ステップＳ３４にて姿勢の変位量が位置の変位量より大きいと補正動作種別決定部２３で判断する場合には、補正の種別は「方向（姿勢）の変更」の種別であると補正動作種別決定部２３で決定して、補正の種別推定処理を終了する（ステップＳ３９）。
【０２０４】
一方、ステップＳ３４にて位置の変位量が姿勢の変位量以上であると補正動作種別決定部２３で判断する場合には、さらに、掃除面に垂直な方向の力成分（例えば地面に水平に設置された床面１０を掃除する場合はｆｚ）が、ある閾値（具体的には、図３３のＩＤ「１」のfdｚ）以上かどうか、を補正動作種別決定部２３で判定する（ステップＳ３５）。このとき、同時に、掃除面に水平な方向の力成分（例えば地面に水平に設定された床面１０を掃除する場合はｆｘ、ｆｙのいずれか若しくは両方）が、ある閾値（具体的には、図３３のＩＤ「１」のｆｄｘ、ｆｄｙ）以上かどうか、を補正動作種別決定部２３で判定する（ステップＳ４０）。
【０２０５】
ステップＳ３５で、掃除面に垂直な方向の力成分が前記ある閾値より小さいと補正動作種別決定部２３で判定された場合は、垂直面の補正なし（種別なし）と決定して、補正種別推定処理を終了する（ステップＳ４５）。ステップＳ４０で、掃除面に水平な方向の力成分が前記ある閾値より小さいと補正動作種別決定部２３で判定された場合は、水平面の補正なし（種別なし）と決定して、補正種別推定処理を終了する（ステップＳ４１）。
【０２０６】
ステップＳ４０で、掃除面に水平な方向の力成分が前記ある閾値以上であると補正動作種別決定部２３で判定された場合は、ステップＳ４２に進む。
【０２０７】
ステップＳ４２では、さらに掃除面の水平方向の移動量が、ある閾値（具体的には、図３３のＩＤ「２」のｇｘ、ｇｙ）以上であるか否かを補正動作種別決定部２３で判定する。ステップＳ４２で、さらに掃除面の水平方向の移動量が前記ある閾値（具体的には、図３３のＩＤ「２」のｇｘ、ｇｙ）以上であると補正動作種別決定部２３で判定された場合は、補正の種別として「掃除面の位置の移動」の種別であると補正動作種別決定部２３で決定して、補正種別推定処理を終了する（ステップＳ４３）
【０２０８】
ステップＳ４２で、掃除面の水平方向の移動量が前記ある閾値未満であると補正動作種別決定部２３で判定された場合は、補正の種別として、掃除面に水平な方向の「速度」の種別であると決定して、補正種別推定処理を終了する（ステップＳ４４）。
【０２０９】
ステップＳ３５で、掃除面に垂直な力が前記ある閾値以上であると補正動作種別決定部２３でと判定された場合は、さらに、掃除面の垂直方向の移動量が、ある閾値より大きいか否かを補正動作種別決定部２３で判断する（ステップＳ４６）。
【０２１０】
ステップＳ４６で、掃除面の垂直方向の移動量が前記ある閾値より大きいと補正動作種別決定部２３で判断された場合は、補正の種別として「掃除面垂直方向の移動」の種別であると決定して、補正種別推定処理を終了する（ステップＳ５０）。
【０２１１】
ステップＳ４６では、掃除面の垂直方向の移動量が前記ある閾値以下であると補正動作種別決定部２３で判断された場合は、ステップＳ４７に進み、ステップＳ４７で、さらに、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、拭き掃除の場合に力のビットが「１」となっているか、吸引力のビットが「１」となっているかを補正動作種別決定部２３で判断する。
【０２１２】
ステップＳ４７において、現在動作中（掃除動作データベースの進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、力のビットが「１」となっていると補正動作種別決定部２３で判断する場合には、拭き掃除を意味するので、補正の種別として「力の補正」と決定し（ステップＳ４８）、補正種別推定処理を終了する。一方、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、吸引力のビットが「１」となっていると補正動作種別決定部２３で判断する場合は、吸引にて掃除をする場合を意味するので、補正の種別として「吸引力の補正」の種別であると決定し（ステップＳ４９）、補正種別推定処理を終了する。
【０２１３】
また、ステップＳ３３において、掃除動作データベース１７で動作していないと補正動作種別決定部２３で判定された場合には、ステップＳ３６に進み、ステップＳ３６にて、さらに、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上であるか否かを補正動作種別決定部２３で判断する。
【０２１４】
ステップＳ３６において、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上であると補正動作種別決定部２３で判断する場合には、補正の種別として「掃除をして欲しくない領域」の種別であると決定し（ステップＳ３８）、補正種別推定処理を終了する。ステップＳ３６で、人の手１６でロボットアーム５にかけている力が掃除面に対して水平ではない場合（例えば、垂直である場合）、又は、掃除面に水平な力であっても水平方向の移動量が前記ある閾値未満であると補正動作種別決定部２３で判断する場合は、補正の種別として「補正なし」と決定し（ステップＳ３６）、補正種別推定処理を終了する。
【０２１５】
以上により、ボタンなどのデータ入力ＩＦ２６を使わずに、補正動作種別決定部２３により、２種類以上の補正の種別を切り替えることができる。
【０２１６】
掃除動作補正部２０は、掃除動作データベース１７の位置と姿勢と時間とに基づいて動作中に、人の手１６でロボットアーム５に力をかけることで、掃除動作データベース１７の動作情報を補正する機能である。
【０２１７】
以下、掃除動作補正部２０の機能について説明する。    
人の手１６で、掃除ロボット１の上部に配置されているデータ入力ＩＦ２６（例えば操作盤２６Ａの電源ボタン２６ａなど）により電源を入れると、掃除動作補正部２０は、インピーダンス制御モードで動作するよう、制御パラメータ管理部２１へ指令を出す。
【０２１８】
次に、人の手１６で、動作選択部２９により、掃除動作データベース１７の掃除作業の一覧の中から所望の掃除作業を選択して、掃除動作開始の指示を行う。掃除動作補正部２０は、掃除動作データベース１７の中から選択された作業ＩＤの動作情報（具体的には、胴体部１９の位置及びロボットアーム５の位置と姿勢と時間と）に基づき胴体部１９及びロボットアーム５を力ハイブリッドインピーダンス制御モードで動作するように、制御パラメータ管理部２１へ指令を出す。
【０２１９】
力ハイブリッドインピーダンス制御モードの場合は、掃除動作データベース１７の動作ＩＤに対するフラグ（有効性を示すフラグ）のうち、フラグのビットが「１」になっているロボットアーム５の位置及び姿勢のそれぞれに対して、ハイブリッドインピーダンス制御モード（位置制御モードで動作している最中に、人などからロボットアーム５に加わる力に応じて、ロボットアーム５が作動するモード）が掃除動作補正部２０で設定され、吸引力又は力のフラグ（有効性を示すフラグ）のビットが「１」になっている成分は力制御モードが掃除動作補正部２０で設定される。位置及び姿勢の６成分のうち、ハイブリッドインピーダンス制御モードも力制御モードもいずれも設定されていない成分は、インピーダンス制御モードが掃除動作補正部２０で設定される。例えば、図４の作業ＩＤが「１」の場合は、塵を吸引する掃除をする作業を示しており、作業ＩＤが「１」の場合でかつ動作ＩＤが「１」の場合のフラグは１，２，１４ビット目のみ「１」であるので、ｘ軸及びｙ軸成分に対しては、ハイブリッドインピーダンス制御モードが掃除動作補正部２０で設定されるとともに、ｚ軸成分に対しては力制御モードが掃除動作補正部２０で設定され、姿勢成分に対してはインピーダンス制御モードが掃除動作補正部２０で設定される。図４の作業ＩＤが「２」の場合は、拭き掃除をする作業を示しており、作業ＩＤが「２」の場合でかつ動作ＩＤが「１」のフラグは１，２，８ビット目のみ「１」であるので、ｘ軸及びｙ軸成分にはハイブリッドインピーダンス制御モードが掃除動作補正部２０で設定され、ｚ軸成分には力制御モードが掃除動作補正部２０で設定され、姿勢成分にはインピーダンス制御モードが掃除動作補正部２０で設定される。
【０２２０】
制御パラメータ管理部２１は、掃除動作補正部２０から指令を受ける。すなわち、力ハイブリッドインピーダンス制御モードで掃除作業をするように掃除動作補正部２０から制御パラメータ管理部２１へ指令を出すと、図１６Ａ〜図１６Ｃに示すように、胴体部１９が指令した位置で掃除ロボット１が自走しながら、ロボットアーム５は、動作ＩＤの位置と姿勢と力若しくは吸引力とで掃除作業を開始する。
【０２２１】
次に、人が掃除面の汚れの状況などを確認して、図１２Ｃに示すように、もう少し横方向にロボットアーム５を平行移動させて掃除（吸引）させたい場合を例にとって説明する。
【０２２２】
図１２Ｃに示すように、人の手１６でロボットアーム５を直接把持して、掃除面に対して平行移動するように掃除面に平行に力をロボットアーム５にかける。
【０２２３】
補正動作種別決定部２３により、情報取得部１００で取得された、人の手１６がロボットアーム５にかけた力と掃除動作データベース１７に記憶された情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６で、掃除面と水平方向に力をロボットアーム５にかけて、ロボットアーム５をある閾値以上移動させているので、ステップＳ１４において、補正の種別として「掃除面の位置の移動」の種別であると補正動作種別決定部２３で決定する。
【０２２４】
図４の作業ＩＤが「１」の場合で動作ＩＤが「１」に示す作業の場合は、ｘ軸成分及びｙ軸成分は力ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム５を移動させながら、インピーダンス制御モードにより人の手１６でロボットアーム５にかけられた力を力検出部５３で検出して人の手１６でロボットアーム５に力をかけた方向にロボットアーム５をｘ軸方向及びｙ軸方向に移動させて、図１２Ｄのように掃除位置を補正することができる。
【０２２５】
なお、この例では、ｘ軸及びｙ軸の方向にのみ動作を補正したいので、補正動作種別決定部２３で補正の種別が決定されたタイミングで、補正動作種別決定部２３により、図６の補正パラメータフラグの０，１ビット目を「１」に設定するとともに、その他のビットを「０」に設定して、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ｘ軸及びｙ軸以外の移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部２３で変更して補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ロボットアーム５のｘ軸方向及びｙ軸方向の剛性を他の方向の剛性よりも低くして、人の手１６でロボットアーム５をｘ軸方向及びｙ軸方向に動かしやすくし、ｘ軸方向及びｙ軸方向以外の方向の剛性を高くして、人の手１６でロボットアーム５をｘ軸方向及びｙ軸方向以外の方向に動かしにくくするようにすることができる。これにより、ロボットアーム５のｘ軸成分及びｙ軸成分のみを補正したい場合に、ロボットアーム５のｚ軸成分の補正を誤って行なうことがないようにできる。また、ロボットアーム５のｘ軸及びｙ軸方向の補正中に、補正動作種別決定部２３により、ｚ軸成分の吸引の強さ若しくは掃除面にかける力を、補正前の動作時より弱く若しくは小さく（具体的には半分程度に）することもできる。又は、吸引又は力制御を停止するよう、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すこともできる。具体的には、掃除動作データベース１７のフラグの６〜１７ビット目を「０」に補正動作種別決定部２３で設定する。これにより、ｘ軸方向及びｙ軸方向にロボットアーム５を移動させて補正している最中に、ロボットアーム５に力をかけて床面１０を傷つけたり、塵以外のものを誤って吸い込むことを防ぐことができる。
【０２２６】
上述のように、人の手１６でロボットアーム５を把持して、掃除面と水平方向へ力をかけてロボットアーム５をΔｘ分及びΔｙ分だけｘ軸方向及びｙ軸方向に移動させた場合に、Δｘの値及びΔｙの値が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。
【０２２７】
掃除動作補正部２０では、選択された作業ＩＤの動作情報の全てのｘ座標の値からΔｘを減じ、さらに、全てのｙ座標の値から、Δｙを減じて補正した動作情報を、掃除動作補正部２０から制御パラメータ管理部２１へ送信する。制御パラメータ管理部２１は、Δｘ分及びΔｙ分の補正した座標でロボットアーム５が動作するように制御部２２へ指示する。これにより、図１２Ｄのような動作に補正される。次に、Δｘ及びΔｙ分だけ減じた動作情報を、掃除動作記憶部１５で掃除動作データベース１７に記憶する。
【０２２８】
次に、図３２Ｂのように、例えば、床面１０を掃除中に、床面１０に設置されたソファー１０Ｓなどの上面１０Ｓａを掃除させる場合は、人の手１６でロボットアーム５を直接把持して、掃除面に対して垂直方向に移動するように掃除面に垂直に力をロボットアーム５にかける。
【０２２９】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６がロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６でロボットアーム５に掃除面と垂直方向に力をかけてロボットアーム５をある閾値以上移動させているので、ステップＳ１９において、補正の種別として「掃除面の垂直方向の移動」の種別であると補正動作種別決定部２３で決定する。
【０２３０】
力ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム５を移動させながら、インピーダンス制御モードにより、人の手１６の力を力検出部５３で検出してロボットアーム５に人の手１６で力をかけた方向にロボットアーム５をｚ軸方向に移動させて、図３２Ｃのように掃除位置を補正することができる。
【０２３１】
なお、この例では、ｚ軸の方向にのみ動作を補正したいので、補正動作種別決定部２３で補正の種別が決定されたタイミングで、補正動作種別決定部２３により、図６の２ビット目を「１」に設定するとともに、それ以外のビットを「０」に設定して、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ｚ軸方向以外の移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部２３で変更して補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ｚ軸方向の剛性を他の方向の剛性よりも低くして、人の手１６でロボットアーム５をｚ軸方向に動かしやすくし、ｚ軸方向以外の剛性を高くして、人の手１６でロボットアーム５をｚ軸方向以外の方向に動かしにくくするようにすることができる。
【０２３２】
また、ロボットアーム５のｚ軸方向の動作を補正する際に、補正動作種別決定部２３により、ｚ軸成分の吸引の強さ若しくは掃除面にかける力を、補正前の動作時より弱く若しくは小さく（具体的には半分程度に）することもできる。又は、吸引又は力制御を停止するよう、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すこともできる。具体的には、掃除動作データベース１７のフラグの６〜１７ビット目を「０」に補正動作種別決定部２３で設定する。これにより、ｚ軸方向にロボットアーム５を移動させている最中に、ロボットアーム５に力をかけたり吸引することで床面１０を傷つけたり、塵以外のものを誤って吸い込むことを防ぐことができる。
【０２３３】
上述のように、人の手１６でロボットアーム５を把持して、掃除面と垂直方向へ力をかけてロボットアーム５をΔｚ分だけｚ軸方向に移動させた場合に、Δｚの値が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。
【０２３４】
掃除動作補正部２０では、選択された作業ＩＤの動作情報の全てのｚ座標の値からΔｚを減じて補正した動作情報を、掃除動作補正部２０から制御パラメータ管理部２１へ送信する。制御パラメータ管理部２１は、Δｚ分の補正した座標でロボットアーム５が動作するように制御部２２へ指示する。これにより、図３２Ｃのような動作に補正される。次に、Δｚ分減じた動作情報を、掃除動作記憶部１５で掃除動作データベース１７に記憶する。
【０２３５】
図３０Ｂのように、例えば、畳Ｔの目Ｔｍに逆らって掃除している場合に、畳Ｔの目Ｔｍに沿って掃除するように掃除部８，１８の長手方向を変更させて掃除させる場合は、図３０Ｃのように、人の手１６でロボットアーム５を直接把持して、掃除部８，１８の長手方向を変更したい方向にロボットアーム５のを移動させます。
【０２３６】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６がロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６でロボットアーム５に掃除部８，１８の長手方向を変更したい方向に移動させようと力をかけているので、ステップＳ９において、補正の種別として「方向（姿勢）の変更」の種別であると補正動作種別決定部２３で決定する。
【０２３７】
力ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム５を移動させながら、インピーダンス制御モードにより、人の手１６でロボットアーム５にかけた力を力検出部５３で検出して人の手１６でロボットアーム５に力をかけた方向にロボットアーム５をφ軸方向に回転させて、図３０Ｄのように掃除方向を補正することができる。
【０２３８】
なお、この例では、φ軸の方向にのみ動作を補正したいので、補正動作種別決定部２３で補正の種別が決定されたタイミングで、補正動作種別決定部２３により、図６の補正パラメータフラグの３ビット目を「１」に設定するとともに、それ以外のビットを「０」に設定して、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。これにより、φ軸方向以外の移動ができないように補正動作種別決定部２３で設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部２３で変更して補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、φ軸方向の剛性を他の方向の剛性より低くして、人の手１６でロボットアーム５をφ軸方向に動かしやすくし、φ軸方向以外の剛性を高くして、人の手１６でロボットアーム５をφ軸方向以外の方向に動かしにくくするようにすることができる。
【０２３９】
また、ロボットアーム５のφ軸方向の補正中に、補正動作種別決定部２３により、ｚ軸成分の吸引の強さ若しくは掃除面にかける力を、補正前の動作時より弱く若しくは小さく（具体的には半分程度に）することができる。又は、吸引又は力制御を停止するよう、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すこともできる。具体的には、掃除動作データベース１７のフラグの６〜１７ビット目を「０」に補正動作種別決定部２３で設定する。これにより、φ軸方向に移動させている最中に、ロボットアーム５に力をかけて床面１０を傷つけたり、塵以外のものを誤って吸引することを防ぐことができる。
【０２４０】
上述のように、人の手１６でロボットアーム５を把持して、掃除面と垂直方向へ力をかけてロボットアーム５をΔφ分だけφ軸方向に回転させた場合に、Δφの値が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。
【０２４１】
掃除動作補正部２０では、選択された作業ＩＤの動作情報の全てのφ座標の値からΔφを減じて補正した動作情報を、掃除動作補正部２０から制御パラメータ管理部２１へ送信する。制御パラメータ管理部２１は、Δφ分の補正した座標でロボットアーム５が動作するように制御部２２へ指示する。これにより、図１２Ｅのような動作に補正される。次に、Δφ分だけ減じた動作情報を、掃除動作記憶部１５で掃除動作データベース１７に記憶する。
【０２４２】
以上により、掃除動作補正部２０は、掃除動作データベース１７の位置と姿勢と時間とにより、力ハイブリッドインピーダンス制御モードで動作している状態で、人の手１６でロボットアーム５に力をかけることで、生成された位置を方向別に補正することができるようになる。
【０２４３】
次に、図２７Ｂのように、拭き掃除時の掃除面に対する力を変更する場合は、人の手１６でロボットアーム５を直接把持して、掃除面に対して垂直方向に力をロボットアーム５にかける。
【０２４４】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６がロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６で掃除面と垂直方向に力をロボットアーム５にかけて、ロボットアーム５をある閾値以上移動させていないので、ステップＳ１７において、補正の種別として「力の補正」の種別であると補正動作種別決定部２３で決定する。
【０２４５】
補正動作種別決定部２３で補正の種別が「力の補正」であると決定したタイミングで、力ハイブリッドインピーダンス制御モードから高剛性位置制御モードで動作するよう補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。補正動作種別決定部２３から制御パラメータ管理部２１への指令時に、高剛性位置制御モードでは、方向別に位置制御時の高剛性を補正動作種別決定部２３で設定することができるため、例えば図４の掃除動作データベース１７の作業ＩＤ「２」でかつ動作ＩＤ「１」の動作のフラグは、０、１、８ビットが「１」に設定されているので、ｚ軸方向は力制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するため、ｚ軸方向のみ高剛性位置制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するよう、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。
【０２４６】
次に、図２７Ｂに示すように、ロボットアーム５が拭き掃除中に、汚れのひどい部分でロボットアーム５が動作している最中に、人の手１６でロボットアーム５を直接把持して、掃除面を強めに拭き掃除をしたい場合には、人の手１６で掃除面に向かってロボットアーム５（例えば、ロボットアーム５モップ１８）に下方向に力をかける。高剛性位置制御モードでは、掃除時のハイブリッドインピーダンス制御モードのうち、方向別設定された位置制御モードを、さらに高剛性にしたモードで、かつ、位置誤差補償部５６でのゲインを大きく（具体的には、掃除時の位置制御モードの２倍程度に）することで実現し、人の手１６でロボットアーム５に力をかけると、ロボットアーム５を容易に移動させないようにすることがで、人の手１６でロボットアーム５にかけた力を力検出部５３で検出することができる。制御部２２の力検出部５３で検出された力を掃除動作補正部２０に通知する。掃除動作補正部２０に通知された力を、掃除動作記憶部１５で掃除動作データベース１７に記憶することで、汚れている部分のみを強めに拭き掃除するよう動作を補正することができる。人が補正を終了したい場合は、ロボットアーム５を把持して力をロボットアーム５にかけることを止める。人の手１６でロボットアーム５に力をかけない場合は、図１４のステップＳ２により、力の全ての成分が閾値以下になるので、補正動作種別決定部２３により、補正の種別として「補正なし」であると決定する（図１４のステップＳ２０）。掃除動作補正部２０は、「補正なし」の情報を受けて、高剛性の位置制御モードからハイブリッドインピーダンス制御モードで制御するよう、補正動作種別決定部２３から制御パラメータ管理部２１に指令を出す。これにより、補正後の掃除動作データベース１７で掃除を行う。
【０２４７】
以上により、掃除動作補正部２０は、掃除動作データベース１７の力の情報により、ハイブリッドインピーダンス制御モードで動作している状態で、人の手１６が力をかけることで、補正された力で掃除するように補正することができるようになる。
【０２４８】
次に、図２８Ｃのように、掃除面に対する吸引力を変更する場合は、人の手１６でロボットアーム５を直接把持して、掃除面に対して垂直方向に力をロボットアーム５にかける。
【０２４９】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６でロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６で掃除面と垂直方向に力をロボットアーム５にかけて、ロボットアーム５をある閾値以上移動させていないので、ステップＳ１８において、補正の種別として、「吸引力の補正」の種別であると補正動作種別決定部２３で決定する。
【０２５０】
補正動作種別決定部２３により補正の種別として「吸引力の補正」であると決定したタイミングで、力ハイブリッドインピーダンス制御モードから高剛性位置制御モードで動作するよう補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。補正動作種別決定部２３から制御パラメータ管理部２１への指令時に、高剛性位置制御モードでは、方向別に位置制御時の高剛性を補正動作種別決定部２３で設定することができるため、例えば図４の掃除動作データベース１７の作業ＩＤ「１」でかつ動作ＩＤ「１」の動作のフラグは、０、１、１４ビットが「１」に設定されているので、ｚ軸方向は吸引制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するため、ｚ軸方向のみ高剛性位置制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するように補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。
【０２５１】
次に、図２８Ｂに示すように、ロボットアーム５が吸引掃除中に、汚れのひどい部分でロボットアーム５が動作している最中に、人の手１６でロボットアーム５を直接把持して、掃除面を強めに吸引したい場合には、人の手１６で掃除面に向かってロボットアーム５（例えば、ロボットアーム５のモップ１８）に下方向に力をかける。高剛性位置制御モードでは、通常の位置制御モードをさらに高剛性にしたモードで、かつ、位置誤差補償部５６でのゲインを大きくすることで実現し、人の手１６でロボットアーム５に力をかけると、ロボットアーム５を容易に移動させないようにすることができ、人の手１６でロボットアーム５にかけた力を力検出部５３で検出することができる。制御部２２の力検出部５３で検出された力を掃除動作補正部２０に制御パラメータ管理部２１を介して通知し、掃除動作補正部２０は、掃除動作データベース１７のｚ軸方向の吸引力を、掃除動作データベース１７（又は、掃除動作補正部２０の記憶部）内に記憶された図１９に示す変換表を使用して、力から吸引力に変換する。例えば、人がロボットアーム５にかけた力が４.５［Ｎ］の場合には、変換表より、力が４〜５［Ｎ］に対応して吸引力が「４」と変換されるため、吸引力「４」を掃除動作記憶部１５で掃除動作データベース１７に記憶することで、汚れている部分のみを強めに吸引して掃除するよう動作を補正することができる。人が補正を終了したい場合は、ロボットアーム５を人の手１６で把持して人の手１６でロボットアーム５に力をかけることを止めればよい。すなわち、人の手１６でロボットアーム５に力をかけない場合は、図１４のステップＳ２により、力の全ての成分が閾値以下になるので、補正動作種別決定部２３により、補正の種別として「補正なし」であると決定する（図１４のステップＳ２０）。掃除動作補正部２０は、補正の種別として「補正なし」であるとの決定を受けて、高剛性の位置制御モードからハイブリッドインピーダンス制御モードで制御するよう、制御パラメータ管理部２１に指令を出す。これにより、補正後の掃除動作データベース１７で掃除を行う。
【０２５２】
以上により、掃除動作補正部２０は、掃除動作データベース１７の吸引力により、ハイブリッドインピーダンス制御モードで動作している状態で、人の手１６でロボットアーム５に力をかけることで、補正された吸引力で掃除するように補正することができるようになる。
【０２５３】
次に、図２９Ｄのように、掃除の速度を変更する場合は、人の手１６でロボットアーム５を直接把持して、加速したい場合は、掃除の進行方向と同じ向きに人の手１６でロボットアーム５に力をかけ、減速したい場合は、掃除の進行方向に逆らう向きに人の手１６でロボットアーム５に力をかける。その際に、ロボットアーム５の手先位置の速度を変えても良いが、位置はある閾値以上動かさないように人の手１６でロボットアーム５に力をかける。
【０２５４】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６でロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６で掃除面に水平な方向に力をロボットアーム５にかけて、ロボットアーム５をある閾値以上移動させていないので、図１４のステップＳ１５により、補正の種別として、掃除面に水平な方向の「速度」の種別であると補正動作種別決定部２３で決定する。
【０２５５】
ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム５を移動させながら、インピーダンス制御モードにより、人の手１６でロボットアーム５にかけた力を力検出部５３で検出して、人の手１６でロボットアーム５に力をかけた方向に、ロボットアーム５をｘ軸方向及びｙ軸方向に移動させる。掃除動作データベース１７で例えば作業ＩＤと動作ＩＤとで示されたロボットアーム５の位置（ｘ１、ｙ２、ｚ１）から、次の動作ＩＤのロボットアーム５の位置（ｘ２、ｙ２、ｚ２）まで移動するのにかかる時間をｔ１とすると、ロボットアーム５の速度を人の手１６の力で変更した場合（図２９Ｃ参照）には、すなわち、位置（ｘ１、ｙ２、ｚ１）から位置（ｘ２、ｙ２、ｚ２）までに移動するのにかかる時間がｔ１からｔ２に変更された場合には、時間ｔ２の値が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。掃除動作補正部２０では、選択された作業ＩＤの動作情報について、ｔ１の時間からｔ２の時間に変更して、掃除動作補正部２０から制御パラメータ管理部２１へ送信する。制御パラメータ管理部２１において、補正した時間であるｔ２で動作するように制御パラメータ管理部２１から制御部２２へ指示する。これにより、図２９Ｄのような動作に補正される。次に、時間ｔ２を、掃除動作記憶部１５で掃除動作データベース１７に記憶する。
【０２５６】
以上により、掃除動作補正部２０は、掃除動作データベース１７の位置と姿勢と時間との情報により、力ハイブリッドインピーダンス制御モードで動作している状態で、人の手１６でロボットアーム５に力をかけることで、ロボットアーム５の動作速度を補正することができるようになる。
【０２５７】
図３１に示すように、掃除ロボット１に掃除をして欲しくない領域ＲＢを、ロボットアーム５を使って設定する場合を例にとって説明する。
【０２５８】
人の手１６で掃除ロボット１の上部に配置されているデータ入力ＩＦ２６（例えば操作盤２６Ａの電源ボタン２６ａなど）により電源を入れると、掃除動作補正部２０は、インピーダンス制御モードで動作するよう、制御パラメータ管理部２１へ指令を出す。動作選択部２９にて作業を選択していない状態で、図３１に示すように、人１６Ａの手１６がロボットアーム５（掃除部８，１８）を直接把持して、掃除面に対して平行移動するようにロボットアーム５を移動させて、掃除をして欲しくない領域ＲＢの輪郭に沿って、ロボットアーム５を移動させる。図２０Ａは掃除面を上方から見た図で、掃除をして欲しくない領域ＲＢを斜線の領域とすると、人の手１６がロボットアーム５を移動させて、矢印のように、掃除をして欲しくない領域ＲＢの輪郭にロボットアーム５を沿わせて、移動させる。その際、ロボットアーム５の手先（ハンド３０）に取り付けた掃除部の一例としての吸引ノズル８の上面の中央先端にマーク６３が付与されており（図３１、図２０Ａ及び図２０Ｂ参照）、掃除をして欲しくない方向にマーク６３を向けて移動させる。
【０２５９】
補正動作種別決定部２３により、図１４に示した補正種別推定処理を実行して掃除動作データベース１７で動作していないと判定し（ステップＳ２，Ｓ３，Ｓ６）、さらに、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上の場合は、ステップＳ８において、補正の種別として「掃除をして欲しくない領域」の種別であると決定する。
【０２６０】
インピーダンス制御モードにより、人の手１６でロボットアーム５にかけた力を力検出部５３で検出して人の手１６でロボットアーム５に力をかけた方向にロボットアーム５をｘ軸方向及びｙ軸方向に移動させて、図２０Ａのように、位置（ｘ１、ｙ１）、位置（ｘ２、ｙ２）、位置（ｘ３、ｙ３）、位置（ｘ４、ｙ４）の順にロボットアーム５の吸引ノズル８を移動させると、これらの位置情報が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。掃除動作補正部２０は、その指令を受けて、これらの位置情報が掃除不可領域ＲＢの情報として、掃除動作記憶部１５により掃除不可領域データベース２８に記憶する。これらの４つの位置が掃除不可領域ＲＢの頂点の情報であることは、例えば、ある一定間隔で人が移動させたロボットアーム５の手先位置を取得して、取得した手先位置の座標をつなげて領域を生成し、それを掃除不可領域ＲＢとすることができる。補正種別決定方法設定部２７で、どのような形の領域とするかを決定する機能を追加し、例えば、「矩形」と設定されている場合は、９０度近くの角度で移動方向が変われば、その位置を頂点の情報として記憶し、「ランダム」と設定された場合は、ある一定間隔で人が移動させたロボットアーム５の手先位置を取得して、取得した手先位置の座標をつなげて生成し、それを掃除不可領域ＲＢとすることができる。
【０２６１】
なお、この例では、ｘ軸及びｙ軸の方向にのみロボットアーム５の動作を補正したいので、補正動作種別決定部２３で、補正の種別が決定されたタイミングで、図６の補正パラメータフラグの０，１ビット目を「１」に設定するとともに、その他のビットを「０」に設定して、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ロボットアーム５がｘ軸方向及びｙ軸方向以外の軸方向への移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を変更して補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ｘ軸方向及びｙ軸方向の剛性を低くして、人の手１６でロボットアーム５をｘ軸方向及びｙ軸方向に動かしやすくし、ｘ軸方向及びｙ軸方向以外の軸方向の剛性を高くして、人の手１６でロボットアーム５をｘ軸方向及びｙ軸方向以外の方向に動かしにくくするようにできる。
【０２６２】
以上により、掃除動作補正部２０は、人の手１６が力をかけることで、掃除をしてほしくない領域の設定を行うことができるようになる。
【０２６３】
表示部１４には、図２１に示すように、表示部１４の画面を左右２画面１４ａ，１４ｂに分割して表示し、左側の画面１４ａに、掃除動作データベース１７で記述されたロボットアーム５の動作が映像若しくは写真若しくはテキストで表示される。さらに、右側の画面１４ｂには、補正動作種別決定部２３にて推定された補正の種別の情報を映像若しくは写真若しくはテキストで表示する。この図２１の例では、人の手１６で掃除面に垂直に力をロボットアーム５にかけて、力のかけ具合を補正するような動作をすると、補正動作種別決定部２３が、補正の種別として「力の補正」の種別であると決定したタイミングで、右側の画面１４ｂに力の補正をしている映像と現在の力の強弱を表示する。
【０２６４】
なお、この例では、映像若しくは写真若しくはテキストとしたが、動作を説明する音声などでも良い。
【０２６５】
以上の掃除動作補正部２０と補正動作種別決定部２３と動作選択部２９と掃除動作記憶部１５と掃除動作データベース２０と制御パラメータ管理部２１の動作ステップ（すなわち、掃除ロボット１を駆動開始してから掃除作業を開始するまでの間に行う、掃除作業及び掃除動作の設定処理）について、図２４のフローチャートに基づいて説明する。
【０２６６】
人の手１６でデータ入力ＩＦ２６により、掃除ロボット１の電源をオンする（ステップＳ１２１）。
【０２６７】
次いで、掃除動作補正部２０が、インピーダンス制御モードで制御するように制御パラメータ管理部２１へ指令を出す（ステップＳ１２２）。
【０２６８】
次に、掃除不可領域ＲＢの補正かどうか、を補正動作種別決定部２３により判定する（ステップＳ１３０）。掃除不可領域ＲＢの補正であると補正動作種別決定部２３により判定された場合は、掃除動作補正部２０にて補正を行い（ステップＳ１３３）、その補正の情報を掃除動作記憶部１５により掃除動作データベース１７に記憶する（ステップＳ１３４）。その後、ステップＳ１２３に進む。
【０２６９】
ステップＳ１３０で掃除不可領域ＲＢの補正ではないと補正動作種別決定部２３により判定された場合、又は、ステップＳ１３４を実行した後、動作選択部２９により、人が、表示部１４に表示された掃除作業の一覧から１つの掃除作業をデータ入力ＩＦ２６を介して選択し、掃除動作データベース１７の進捗情報に、選択された現在の掃除作業を設定する（ステップＳ１２３）。
【０２７０】
次いで、掃除動作補正部２０は、制御パラメータ管理部２１へ力ハイブリッドインピーダンス制御モードで動作するよう指令を出し、人の手１６でロボットアーム５を床面１０などの掃除面まで誘導し、データ入力ＩＦ２６（例えば、掃除スイッチ２６ｃのスタートボタン）にて、掃除作業開始の指令を行う（ステップＳ１２４）。
【０２７１】
次いで、人が補正したい方向に力をかけると、補正動作種別決定部２３により補正動作の種別を推定して決定する（ステップＳ１２５）。
【０２７２】
次いで、ステップＳ１２５で、補正の種別として、掃除面にかける力又は吸引力の種別であると補正動作種別決定部２３で決定した場合は、掃除面に垂直な方向に対して高剛性の位置制御モードで動作するよう、掃除動作補正部２０から制御パラメータ管理部２１へ指令を出す（ステップＳ１２６，Ｓ１２７）。
【０２７３】
次いで、人の手１６でロボットアーム５を把持して、補正したい方向に人の手１６でロボットアーム５に力をかけることで、掃除動作補正部２０が動作情報を補正する（ステップＳ１２８）。
【０２７４】
一方、ステップＳ１２５で、補正の種別として掃除面にかける力又は吸引力の種別以外であると決定した場合は、制御モードは力インピーダンス制御モードで変更せず、補正したい方向に人の手１６でロボットアーム５に力をかけることで、掃除動作補正部２０が動作情報を補正する（ステップＳ１２６，Ｓ１２８）。
【０２７５】
次いで、ステップＳ１２８で補正された掃除動作情報は、掃除動作記憶部１５により、掃除動作データベース１７に記憶されて、一連の掃除作業及び掃除動作の設定処理を終了する（ステップＳ１２９）。
【０２７６】
一方、ステップＳ１２５で、補正動作種別決定部２３により、補正の種別として「補正なし」であると決定した場合は、一連の掃除作業及び掃除動作の設定処理を終了する（ステップＳ１２６，Ｓ１３１）。
【０２７７】
掃除作業及び掃除動作の設定処理終了後は、設定された掃除作業及び掃除動作に基づき、掃除ロボット１により掃除を行う。
【０２７８】
以上の動作ステップＳ１２１〜ステップＳ１３１，ステップＳ１３２，ステップＳ１３３及びステップＳ５１〜ステップＳ６２により、力ハイブリッドインピーダンス制御で動作中に、ハイブリッドインピーダンス制御モード若しくは高剛性位置制御にて、掃除動作を補正することで、ロボットアーム５による掃除作業が実現する。
【０２７９】
また、補正動作種別決定部２３により、複数の掃除動作をボタンなどを使わずに人の手１６でロボットアーム５に力をかけるだけで、自動で切り替えて補正することが可能となる。
【０２８０】
さらに、補正動作種別決定部２７により、ロボットアーム５の操作に慣れた人又は熟練した人は、一度の補正で２種類の補正を同時に行い、逆に、操作に不慣れな人は、一度に１種類の補正を行うことができる。
【０２８１】
また、制御パラメータ管理部２１と制御部２２とを有することにより、補正動作の種別に応じて、ロボットアーム５の機械インピーダンス値を適宜設定することで、ロボットアーム５の補正方向に応じて、機械インピーダンス値を変更させて制御したり、補正中の吸引力又は力を弱めたり停止することができるので、掃除動作の補正中に、床面１０を傷つけたり、塵以外のものを誤って吸い込むことを防ぐことができる。
【０２８２】
なお、前記実施形態において、掃除動作補正部２０は、補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６でロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、補正の種別の推定を行った後で、すぐに掃除動作の補正を行ったが、人の手１６で誤ってロボットアーム５に力をかけて、人の意図しない補正の種別を選択してしまう事を防ぐために、補正動作種別決定部２３で推定後、ある一定時間後に補正を開始しても良い。この場合、補正が始まるまでは、人は意図した補正種別を選択するまで、何度でも操作することができる。
【０２８３】
また、前記実施形態において、動作選択部２９と動作記憶部１５と掃除動作補正部２０と補正動作種別決定部２３と補正種別決定方法設定部２７と制御パラメータ管理部２１と制御部２２となどのそれぞれ、又は、そのうちの任意の一部は、それ自体がソフトウェアで構成することができる。よって、例えば、本明細書の前記実施形態の制御動作を構成するステップを有するコンピュータプログラムとして、記憶装置（ハードディスク等）などの記録媒体に読み取り可能に記憶させ、そのコンピュータプログラムをコンピュータの一時記憶装置（半導体メモリ等）に読み込んでＣＰＵを用いて実行することにより、前記した各ステップを実行することができる。
【０２８４】
さらに、前記様々な実施形態及び変形例のうちの任意の実施形態又は任意の変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０２８５】
本発明は、家庭用ロボットなど人とロボットが協調して作業を行う際の掃除機のロボットアームの動作の制御を行う掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路として有用である。また、家庭用ロボットに限らず、産業用ロボット、又は、生産設備等における可動機構を有する掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路としても適用が可能である。【０２８６】
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【図１】
2010016210.tif 000012
【図２Ａ】
2010016210.tif 000013
【図２Ｂ】
2010016210.tif 000014
【図３】
2010016210.tif 000015
【図４】
2010016210.tif 000016
【図５】
2010016210.tif 000017
【図６】
2010016210.tif 000018
【図７】
2010016210.tif 000019
【図８】
2010016210.tif 000020
【図９】
2010016210.tif 000021
【図１０】
2010016210.tif 000022
【図１１】
2010016210.tif 000023
【図１２Ａ】
2010016210.tif 000024
【図１２Ｂ】
2010016210.tif 000025
【図１２Ｃ】
2010016210.tif 000026
【図１２Ｄ】
2010016210.tif 000027
【図１３Ａ】
2010016210.tif 000028
【図１３Ｂ】
2010016210.tif 000029
【図１３Ｃ】
2010016210.tif 000030
【図１４】
2010016210.tif 000031
【図１５】
2010016210.tif 000032
【図１６Ａ】
2010016210.tif 000033
【図１６Ｂ】
2010016210.tif 000034
【図１６Ｃ】
2010016210.tif 000035
【図１７】
2010016210.tif 000036
【図１８Ａ】
2010016210.tif 000037
【図１８Ｂ】
2010016210.tif 000038
【図１９】
2010016210.tif 000039
【図２０Ａ】
2010016210.tif 000040
【図２０Ｂ】
2010016210.tif 000041
【図２１】
2010016210.tif 000042
【図２２】
2010016210.tif 000043
【図２３】
2010016210.tif 000044
【図２４】
2010016210.tif 000045
【図２５】
2010016210.tif 000046
【図２６】
2010016210.tif 000047
【図２７Ａ】
2010016210.tif 000048
【図２７Ｂ】
2010016210.tif 000049
【図２７Ｃ】
2010016210.tif 000050
【図２８Ａ】
2010016210.tif 000051
【図２８Ｂ】
2010016210.tif 000052
【図２８Ｃ】
2010016210.tif 000053
【図２９Ａ】
2010016210.tif 000054
【図２９Ｂ】
2010016210.tif 000055
【図２９Ｃ】
2010016210.tif 000056
【図２９Ｄ】
2010016210.tif 000057
【図３０Ａ】
2010016210.tif 000058
【図３０Ｂ】
2010016210.tif 000059
【図３０Ｃ】
2010016210.tif 000060
【図３０Ｄ】
2010016210.tif 000061
【図３１】
2010016210.tif 000062
【図３２Ａ】
2010016210.tif 000063
【図３２Ｂ】
2010016210.tif 000064
【図３２Ｃ】
2010016210.tif 000065
【図３３】
2010016210.tif 000066
【手続補正書】
【提出日】平成22年3月1日(2010.3.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、家庭内で掃除を行う掃除機の掃除動作を生成及び教示するための掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路に関する。
【背景技術】
【０００２】
近年、家庭用又はビルなどの業務用の自動掃除ロボットが製品化されている。家庭用自動掃除ロボットとして、自動掃除ロボットのセンサからの信号により、掃除領域を確認しつつ、自動で掃除を行う掃除ロボットが開示されている（特許文献１、特許文献２を参照）。さらに、業務用としては、ビル清掃用として、光学センサ又はビジョンカメラ等を用いて、自己位置を同定し、対象とする部屋又は床面を隈なく掃除するものがある（特許文献３、特許文献４を参照）。
【０００３】
さらに、特許文献５では、人が発見した汚れ部分に、無線通信機能を持つマーカを置き、掃除ロボットマーカを捜索することにより、マーカを設置した部分のみ、迅速に掃除する方法が開示されている。
【０００４】
また、特許文献６では、リモコンを用いて掃除機を遠隔制御することにより、操作性の良い掃除機が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３２３２１４号公報
【特許文献２】特開２００４−１４８０９０号公報
【特許文献３】特開平０８−１０６３２３号公報
【特許文献４】特開平０８−０６３２２９号公報
【特許文献５】特開２００７−８２６３９号公報
【特許文献６】特開平４−２９５３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、特許文献２、特許文献３、特許文献４においては、ロボットが自走しながら、床面を一斉に隈なく掃除を行うものであり、人間の手を介さずに掃除ができるという特徴はあるものの、使用者が食べ物などをこぼした場合など突発的に掃除をして欲しい場合の対応ができていない。
【０００７】
さらに特許文献５では、マーカを使って突発的な汚れに対応しているが、家具又は部屋の隙間などの掃除、又は、床面の材質に合った掃除、汚れの多い部分又は少ない部分を識別して掃除するなど極め細やかな掃除を行うことができない。
【０００８】
また、特許文献６では、リモコン操作により掃除機の走行方向の制御は可能だが、吸引力の制御又は拭き掃除時の力のかけ具合などを直感的に操作することができない。
【０００９】
本発明の目的は、このような課題に鑑みてなされたものであり、作業者が簡単で短時間に極め細やかな掃除動作を掃除機に教示することが可能な掃除機の制御を実現できる、掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路を提供することにある。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明は以下のように構成する。
【００１１】
本発明の第１態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御装置であって、
前記ロボットアームに作用する人の力を検出する力検出手段と、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出された前記ロボットアームに作用する前記人の力に関する情報とをそれぞれ取得する情報取得部と、
前記情報取得部でそれぞれ取得した前記掃除動作に関する情報と前記人の力に関する情報とから前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備えることを特徴とする掃除機の制御装置を提供する。
【００１２】
本発明の第１６態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御方法であって、
前記ロボットアームに作用する人の力を力検出手段で検出し、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正することを特徴とする掃除機の制御方法を提供する。
【００１３】
本発明の第１７態様によれば、前記ロボットアームと、
前記ロボットアームを前記駆動装置で駆動制御する第１〜１５のいずれか１つの態様に記載の掃除機の制御装置と、
を備えることを特徴とする掃除機を提供する。
【００１４】
本発明の第１８態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御プログラムであって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正する掃除動作補正ステップとをコンピュータに実行させための掃除機の制御プログラムを提供する。
【００１５】
本発明の第１９態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御用集積電子回路であって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備えることを特徴とする掃除機の制御用集積電子回路を提供する。
【発明の効果】
【００１６】
以上述べたように、本発明の掃除機の制御装置、掃除機によれば、補正動作種別決定手段と、力検出手段と、掃除動作補正手段と、制御手段とを有することにより、前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記ロボットアームに作用する前記人の力に関する情報とを利用して、人の力に応じて、掃除動作を簡単に補正することができる掃除機の制御が可能となる。
【００１７】
また、本発明の掃除機の制御方法、掃除機の制御プログラム、及び、集積電子回路によれば、補正動作種別決定手段と、掃除動作補正手段と、制御手段とを有することにより、前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記ロボットアームに作用する前記人の力に関する情報とを利用して、力検出手段で検出されかつ情報取得部で取得した人の力に応じて、掃除動作を簡単に補正することができる掃除機の制御が可能となる。
【００１８】
さらに、補正動作種別決定手段を有することにより、複数の掃除動作をボタンなどを使わずに自動で切り替えて補正することが可能となる。
【００１９】
さらに、補正動作種別決定手段を有することにより、操作する人のスキルなどに応じて、一度に複数種別の補正を行うか、１種類の補正を行うかを切り替えることができる。
【００２０】
また、制御パラメータ管理手段と制御部をさらに有することにより、補正動作の種別に応じて、ロボットアームの機械インピーダンス値を設定することで、ロボットアームの補正方向に応じて、機械インピーダンス値を変更させて制御したり、補正中の吸引力又は掃除面に対する力を弱めたり停止することができる。
【図面の簡単な説明】
【００２１】
本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。
【図１】図１は、本発明の実施形態における掃除機の構成の概要を示す側面図である。
【図２Ａ】図２Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図２Ｂ】図２Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図３】図３は、本発明の前記実施形態における前記掃除機の制御装置と制御対象であるロボットアームを有する前記掃除機の詳細構成を示す図である。
【図４】図４は、本発明の前記実施形態における前記掃除機の掃除動作データベースの動作情報の一覧表を説明する図である。
【図５】図５は、本発明の前記実施形態における前記掃除機の掃除動作データベースのフラグに関する情報を説明する図である。
【図６】図６は、本発明の前記実施形態における前記掃除機の補正パラメータのフラグに関する情報を説明する図である。
【図７】図７は、本発明の前記実施形態における前記掃除機の前記制御装置の制御部の構成を示すブロック図である。
【図８】図８は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除経路に関する図である。
【図９】図９は、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図１０】図１０は、本発明の前記実施形態における前記掃除機の掃除不可領域データベース情報の一覧表を説明する図である。
【図１１】図１１は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除経路に関する図である。
【図１２Ａ】図１２Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図１２Ｂ】図１２Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図１２Ｃ】図１２Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図１２Ｄ】図１２Ｄは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図１３Ａ】図１３Ａは、本発明の前記実施形態における前記掃除機の座標系に関する図である。
【図１３Ｂ】図１３Ｂは、本発明の前記実施形態における前記掃除機の座標系に関する図である。
【図１３Ｃ】図１３Ｃは、本発明の前記実施形態における前記掃除機の座標系に関する図である。
【図１４】図１４は、本発明の前記実施形態における前記掃除機の掃除動作種別決定部の動作ステップ（補正種別推定処理）を表すフローチャートである。
【図１５】図１５は、本発明の前記実施形態における前記掃除機の人のかける力とその時刻の関係を示す図である。
【図１６Ａ】図１６Ａは、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す側面図である。
【図１６Ｂ】図１６Ｂは、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す平面図である。
【図１６Ｃ】図１６Ｃは、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す平面図である。
【図１７】図１７は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除動作種別決定部の動作ステップを表すフローチャートである。
【図１８Ａ】図１８Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図１８Ｂ】図１８Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図１９】図１９は、本発明の前記実施形態における前記掃除機の前記制御装置の、人がかける力と吸引力の対応関係を示す図である。
【図２０Ａ】図２０Ａは、本発明の前記実施形態における、前記掃除機の操作状態を示す図である。
【図２０Ｂ】図２０Ｂは、本発明の前記実施形態における前記掃除機の操作状態を説明するときの吸引ノズルの拡大平面図である。
【図２１】図２１は、本発明の前記実施形態における前記掃除機の周辺装置の表示部の画面を説明する図である。
【図２２】図２２は、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す側面図である。
【図２３】図２３は、本発明の前記実施形態における前記掃除機の前記制御装置の動作状態を示す側面図である。
【図２４】図２４は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除動作補正部と補正動作種別決定部と動作選択部と掃除動作記憶部と掃除動作データベースと制御パラメータ管理部の動作ステップを表すフローチャートである。
【図２５】図２５は、本発明の前記実施形態における前記掃除機の前記制御装置の制御部の動作ステップを表すフローチャートである。
【図２６】図２６は、本発明の前記実施形態における前記掃除機の操作盤を示す図である。
【図２７Ａ】図２７Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図２７Ｂ】図２７Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図２７Ｃ】図２７Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図２８Ａ】図２８Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図２８Ｂ】図２８Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図２８Ｃ】図２８Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図２９Ａ】図２９Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図２９Ｂ】図２９Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図２９Ｃ】図２９Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図２９Ｄ】図２９Ｄは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図３０Ａ】図３０Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図３０Ｂ】図３０Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図３０Ｃ】図３０Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図３０Ｄ】図３０Ｄは、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図３１】図３１は、本発明の前記実施形態における前記掃除機の操作状態を示す平面図である。
【図３２Ａ】図３２Ａは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図３２Ｂ】図３２Ｂは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図３２Ｃ】図３２Ｃは、本発明の前記実施形態における前記掃除機の操作状態を示す側面図である。
【図３３】図３３は、本発明の前記実施形態における前記掃除機の前記制御装置の掃除動作種別決定部の閾値に関する一覧表を示す図である。
【発明を実施するための形態】
【００２２】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００２３】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００２４】
本発明の第１態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御装置であって、
前記ロボットアームに作用する人の力を検出する力検出手段と、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出された前記ロボットアームに作用する前記人の力に関する情報とをそれぞれ取得する情報取得部と、
前記情報取得部でそれぞれ取得した前記掃除動作に関する情報と前記人の力に関する情報とから前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備えることを特徴とする掃除機の制御装置を提供する。
【００２５】
このような構成により、前記掃除動作に関する情報と人の力に関する情報とに応じて、ロボットアームの掃除動作を補正することができる。
【００２６】
本発明の第２態様によれば、前記補正動作種別決定手段は、前記掃除動作を補正する補正動作の種別を複数個決定し、
前記掃除動作補正手段は、前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の前記複数個の種別とに応じて、前記駆動装置を駆動制御して前記複数個の種別の補正動作に基づいて前記掃除動作を補正する第１の態様に記載の掃除機の制御装置を提供する。
【００２７】
このような構成により、前記掃除動作に関する情報と人の力に関する情報と前記補正動作の前記複数個の種別とに応じて、ロボットアームの掃除動作について、一度に複数種別の補正を行うことができる。
【００２８】
本発明の第３態様によれば、前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部の前記掃除位置の情報と、前記掃除部から前記掃除面にかける力情報と、前記掃除部の掃除の方向に関する情報と、前記掃除部の吸引力の強さに関する情報と、前記掃除部の速度情報と、掃除を行わない領域に関する情報である掃除不可領域情報のうちの少なくとも１つの情報を有することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００２９】
このような構成により、前記掃除機のロボットアームが行う掃除作業に応じて、それぞれの時間での、位置情報と、前記ロボットアームがかける力情報と、掃除の方向に関する情報と、吸引力の強さに関する情報と、速度情報と、掃除をしてほしくない領域に関する情報のうちの少なくとも１つの情報を補正することができる。
【００３０】
本発明の第４態様によれば、前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部から前記掃除面にかける力情報と、前記掃除部の吸引力の強さに関する情報とを少なくとも有し、
前記掃除動作補正手段は、前記掃除動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記掃除面に作用させて前記掃除動作を行なう力制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除動作を前記ロボットアームで行っている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、補正動作前の前記掃除動作中の前記ロボットアームの剛性に比べて前記ロボットアームの剛性が高くなるような、前記ロボットアームの位置を制御する位置制御の下で、補正動作前の前記掃除動作に関する情報のうちの前記設定された力の大きさ又は方向を補正することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００３１】
このような構成により、前記掃除動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記掃除面に作用させて前記掃除動作を行なう力制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除動作を前記ロボットアームで行っている最中に、前記力検出手段で検出しかつ情報取得部で取得した前記人の力に応じて、補正動作前の前記掃除動作中の前記ロボットアームの剛性に比べて前記ロボットアームの剛性が高くなるような、前記ロボットアームの位置を制御する位置制御の下で、補正動作前の前記掃除動作に関する情報のうちの前記設定された力の大きさ又は方向を補正することができる。
【００３２】
本発明の第５態様によれば、前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部の前記掃除位置の情報と、前記掃除部の掃除の方向に関する情報と、前記掃除部の速度情報と、掃除を行わない領域に関する情報である掃除不可領域情報とを有し、
前記掃除動作補正手段は、前記掃除動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、駆動停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除作業を動作させている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、前記インピーダンス制御での前記掃除動作に関する情報の前記掃除動作を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００３３】
このような構成により、前記掃除動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、駆動停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除作業を動作させている最中に、前記力検出手段で検出しかつ情報取得部で取得した前記人の力に応じて、前記インピーダンス制御での前記掃除動作に関する情報の前記掃除動作を補正することができる。
【００３４】
本発明の第６態様によれば、前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記ロボットアームの機械インピーダンス設定値を設定する制御パラメータ管理手段と、
前記制御パラメータ管理手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの前記機械インピーダンスの値を制御するインピーダンス制御手段とをさらに備えることを特徴とする第１〜５のいずれか１つの態様に記載の掃除機の制御装置を提供する。
【００３５】
このような構成により、補正動作の種別に基づいて、前記ロボットアームの機械インピーダンスの値を設定して制御することができる。
【００３６】
本発明の第７態様によれば、前記インピーダンス制御手段は、前記補正動作の種別に基づき、前記ロボットアームの前記手先の並進方向及び回転方向の６軸の方向の機械インピーダンス設定値を個別に設定するとともに、
さらに、前記補正動作種別決定部で決定された前記補正動作の種別として、前記手先の前記掃除部の掃除の方向を補正するとき、制御パラメータ管理手段は、前記掃除の方向の剛性を、前記掃除の方向とは異なる方向の剛性よりも高くなるように前記機械インピーダンス設定値を設定することを特徴とする第６の態様に記載の掃除機の制御装置を提供する。
【００３７】
このような構成により、補正の種別として手先の前記掃除部の掃除の方向を高剛性にすることで、補正すべき前記手先の前記掃除部の掃除の方向が確実に検出できてその方向に動かしやすくなり、前記手先の前記掃除部の掃除の方向とは異なる方向を低剛性にすることで、動かしにくくすることができる。
【００３８】
本発明の第８態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以下であり、かつ前記掃除面に平行な方向の力成分が第２の閾値以上である場合に、前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量が第３閾値以上である場合に、前記補正動作の種別として、掃除面の位置の移動の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に平行な方向に前記ロボットアームの前記手先の位置を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００３９】
本発明の第９態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値より大きい場合に、前記補正動作の種別として、掃除面垂直方向の位置の移動の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向に前記ロボットアームの前記手先の位置を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４０】
本発明の第１０態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値以下であり、かつ、前記掃除作業が拭き掃除である場合に、前記補正動作の種別として、力のかけ具合の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向への前記ロボットアームのかかる力を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４１】
本発明の第１１態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値以下であり、かつ、前記掃除作業が吸引掃除である場合に、前記補正動作の種別として、吸引力の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向への前記吸引力を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４２】
本発明の第１２態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１閾値未満であり、かつ、前記掃除面に平行な方向の力成分が第２閾値以上である場合に、前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量が第３閾値未満である場合に、前記補正動作の種別として、速度の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に平行な方向に前記ロボットアームの前記手先の位置の速度を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４３】
本発明の第１３態様によれば、前記補正動作種別決定手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームにかかる前記人の力に基づき前記ロボットアームにかかる力の変位量を計測して、計測結果に基づき位置成分と姿勢成分の変位量を比較して、前記姿勢の変位量が前記位置成分の変位量よりも大きい場合には、前記補正動作の種別として、姿勢の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の姿勢を補正するように前記駆動装置を駆動制御することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４４】
このような構成により、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の姿勢を補正するように前記駆動装置を確実に駆動制御することができる。
【００４５】
本発明の第１４態様によれば、前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記人の手により前記ロボットアームにかかる力が前記掃除面に平行であり、かつ、前記補正動作種別決定手段により検出されたある一定時間の前記掃除面に平行な方向の移動量が閾値以上の場合には、前記補正動作の種別として、掃除不可領域の設定の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の位置を移動させることで、前記掃除不可領域を設定することを特徴とする第１の態様に記載の掃除機の制御装置を提供する。
【００４６】
このような構成により、前記掃除不可領域を簡単に設定することができて、掃除をして欲しくない領域については、掃除機による掃除動作を不要とすることができる。
【００４７】
本発明の第１５態様によれば、前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記補正動作の種別に関する情報を表示する表示手段をさらに備えることを特徴とする第１〜１４のいずれか１つの態様に記載の掃除機の制御装置を提供する。
【００４８】
このような構成により、補正動作の種別に関する情報を表示することができる。
【００４９】
本発明の第１６態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御方法であって、
前記ロボットアームに作用する人の力を力検出手段で検出し、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正することを特徴とする掃除機の制御方法を提供する。
【００５０】
このような構成により、ロボットアームの掃除動作に関する情報と前記ロボットアームに作用する前記人の力に関する情報とに基づき、前記掃除動作の補正種別を決定し、前記ロボットアームの作業中に、前記人の力と前記補正種別に応じて、前記掃除動作を提供することができる。
【００５１】
本発明の第１７態様によれば、前記ロボットアームと、
前記ロボットアームを前記駆動装置で駆動制御する第１〜１５のいずれか１つの態様に記載の掃除機の制御装置と、
を備えることを特徴とする掃除機を提供する。
【００５２】
本発明の第１８態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御プログラムであって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正する掃除動作補正ステップとをコンピュータに実行させための掃除機の制御プログラムを提供する。
【００５３】
このような構成により、前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作の補正種別を決定するステップと、人の力を検出するステップと、前記ロボットアームの作業中に、前記人の力と前記補正種別に応じて、前記掃除動作を補正するステップとを有するプログラムを提供することができる。
【００５４】
本発明の第１９態様によれば、移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御用集積電子回路であって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備えることを特徴とする掃除機の制御用集積電子回路を提供する。
【００５５】
このような構成により、家庭内で掃除を行うロボットアームを含む掃除機を制御する集積電子回路であって、前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作の補正種別を決定する補正動作種別決定手段と、前記ロボットアームの作業中に、人の力を検出する力検出手段で検出されかつ情報取得部で取得した前記人の力と前記補正種別とに応じて、前記掃除動作を補正する掃除動作補正手段とを有することを特徴とする掃除機の制御用集積電子回路を提供することができる。
【００５６】
以下、本発明の実施形態について図面を用いて詳細に説明する。
まず、本発明の前記実施形態における掃除機の一例としての掃除ロボット１の構成について説明する。図１は、本発明の前記実施形態における掃除ロボット１の概要を示す図である。図１において、掃除ロボット１は、床面１０上に置かれており、移動体の一例としての胴体部１９と、基端が胴体部１９に連結されたロボットアーム５と、ロボットアーム５の先端の手先３０に取り付けられて掃除面に接触する掃除部８，１８と、胴体部１９とロボットアーム５と掃除部８，１８とを駆動する駆動装置６５，６７，４３，６９と、胴体部１９内に内蔵されかつロボットアーム５を駆動制御する制御装置とを備えて構成され、駆動装置６５，６７，４３，６９を前記制御装置で駆動制御して家庭内で掃除作業を行うものである。
【００５７】
胴体部１９には、吸引ポンプ１３と、掃除部８（の一例としての吸引ノズル）を駆動する駆動装置の一例としての吸引ポンプ１３のモータ６７と、吸引した塵を溜める塵袋３と、胴体部１９を移動させるための一対の車輪６と、一対の車輪６を正逆回転駆動する車輪用駆動装置の一例としての一対のモータ６５と、ロボットアーム５を駆動するロボットアーム駆動装置の一例としての各関節部のモータ４３と、回転自在な補助輪７と、ボタンなどが配置された操作盤２６Ａなどのデータ入力ＩＦ２６と、表示手段の一例としての表示部１４とを備えるように構成されている。８はロボットアーム５の先端に着脱可能に取り付けられた掃除部の一例としての吸引ノズル、１１は吸引ノズル８内に回転可能に収納されて吸引ノズル８内の回転ブラシ用モータ６９により回転駆動されて床面１０の塵をかき上げる回転ブラシ、１２はロボットアーム５の内側に内蔵されて吸引ノズル８と吸引ポンプ１３と塵袋３とを連結する吸引ホース、１８はロボットアーム５の先端に吸引ノズル８に代えて着脱可能に取り付け可能な掃除部の別の例としての、床面１０の汚れをふき取るモップである。吸引ノズル８内の回転ブラシ用モータ６９は、掃除部８の一例としての吸引ノズル８を駆動する駆動装置の一例として機能する。３０はロボットアーム５の先端に配置されたハンドであり、吸引ノズル８を別部材のモップ１８に取り替えるための機構である。掃除ロボット１は、床面１０の塵などを吸引ノズル８で吸引する掃除作業、床面若しくは壁若しくは机、若しくは、車の外面などの汚れをモップ１８でふき取る作業、又は、鏡若しくは靴など力を入れてモップ１８で磨く作業を行う掃除ロボットである。
【００５８】
掃除ロボット１の操作手順の概要を説明する。
まず、図２Ａにおいて、人の手１６が掃除ロボット１の上部に配置されているデータ入力ＩＦ２６（例えば図２６の操作盤２６Ａの電源ボタン２６ａの「ＯＮ」を押すなど）により電源を入れる。
【００５９】
次に、塵などを吸引する場合は、掃除ロボット１のロボットアーム５の先端のハンド３０に吸引ノズル８を人の手１６で取り付けるとともに、拭き掃除又は磨く作業行う場合は、掃除ロボット１のロボットアーム５の先端のハンド３０にモップ１８を人の手１６で取り付ける。人の手１６で吸引ノズル８又はモップ１８を取り付ける際には、ボタンなどのデータ入力ＩＦ２６からのデータ入力（例えば図２６の操作盤２６Ａの、ハンド３０を開閉させるための開閉ボタン２６ｂの「開」を押すなど）により、ハンド３０を開く指示を、掃除ロボット１の後述する制御部２２へ指令を出し、ハンド３０を開く。その後、吸引ノズル８若しくはモップ１８をハンド３０に取り付け、データ入力ＩＦ２６からのデータ入力（例えば図２６の操作盤２６Ａの、ハンド３０を開閉させるための開閉ボタン２６ｂの「閉」を押すなど）により、ハンド３０を閉じる指示を制御部２２へ指令を出して、ハンド３０を閉じることにより、ハンド３０に吸引ノズル８若しくはモップ１８を取り付ける。なお、取り付けの際に、ロボットアーム５の先端を移動させて（例えば、開閉ボタン２６ｂの「開」を押すことにより、ロボットアーム５の先端のハンド３０が自動的に上向きの位置まで上昇させて）、ハンド３０の操作をしやすいように、図２Ｂのように、人の手１６の手元にくるように操作することができる。なお、例えば、開閉ボタン２６ｂの「閉」を押すことにより、ロボットアーム５の先端のハンド３０が自動的に下向きの掃除位置まで下降するようにすることもできる。
【００６０】
次に、掃除ロボット１の上部に配置されているデータ入力ＩＦ２６（例えば図２６の操作盤２６Ａの掃除スイッチ２６ｃのスタートボタンなど）を人の手１６で押すことにより、掃除ロボット１が作動し、後述する動作選択部２９で最適な掃除動作（例えば吸引若しくは拭き掃除動作）を選択して、その選択された掃除動作に基づく掃除作業（例えば、吸引若しくは拭き掃除作業）を開始させる。拭き掃除動作の際には、図１６Ａ、図１６Ｂ（図１６Ａを上方から見た図）に示すように、一対の車輪６及び補助輪７により、掃除ロボット１の胴体部１９が床面１０の掃除面（ｘｙ平面）を左右方向沿いに自走し、自走動作と同時に、ロボットアーム５の先端のモップ１８が、胴体部１９の前後方向沿いの中心軸沿いの位置を中心に左右方向に少しずつずれながら、例えば螺旋を描くような軌跡で拭き掃除動作を行う。また、吸引の掃除動作の際には、図１６Ｃに示すように、一対の車輪６及び補助輪７により掃除ロボット１の胴体部１９が床面１０の掃除面を左右方向沿いに自走し、自走動作と同時に、ロボットアーム５の駆動によりロボットアーム５の先端の吸引ノズル８が、自走方向と垂直な方向に動く（すなわち、左右方向と直交する前後方向沿いに往復移動する）ことで吸引掃除を行う。
【００６１】
なお、データ入力ＩＦ２６は、掃除ロボット１の上面に固定したが、遠隔操作が可能なリモコンでも良い。
【００６２】
次に、人は掃除面の汚れ具合を確認し、掃除ロボット１のロボットアーム５を人の手１６で直接把持して、掃除動作を補正したい方向（例えば、汚れ具合のひどい領域に向けて、ロボットアーム５の先端の吸引ノズル８又はモップ１８を移動させるように移動方向を変えたい方向）に力をかけることで、例えば、図１２Ａのように、掃除ロボット１のロボットアーム５又は掃除ロボット１の動作を補正する。すなわち、図１２Ａ及び図１２Ｂに示すように、胴体部１９の前後方向沿いに吸引ノズル８又はモップ１８を、例えばジグザグ方向に実線で示すように移動させて掃除動作を行なっているときに、図１２Ｃに示すように、例えばジグザグ方向に点線で示すように移動させるように、ロボットアーム５の先端部又は吸引ノズル８又はモップ１８に人の手１６で、矢印で示すように力をかけて、ロボットアーム５の先端の吸引ノズル８又はモップ１８を左方向に移動させる。このようにすることで、図１２Ｄに示すように、吸引ノズル８又はモップ１８が、胴体部１９の前後方向沿いの中心軸沿いの位置に対して、左側の領域において、吸引ノズル８又はモップ１８による掃除動作を例えばジグザグ方向に実線で示すように行なうことができる。
【００６３】
図３は、掃除ロボット１を構成する制御装置の構成要素を詳細に示す図であり、制御装置本体部４５と、動作を生成する動作生成装置１２と、制御対象であるロボットアーム５と、制御対象である胴体部１９と、周辺装置４７との詳細構成を示す図である。掃除ロボット１の前記制御装置は、制御装置本体部４５と、動作生成装置１２と、周辺装置４７とで大略構成されている。
【００６４】
制御装置本体部４５及び動作生成装置１２及び周辺装置４７は、それぞれ、一般的なパーソナルコンピュータにより構成される。
【００６５】
制御装置本体部４５は、動作生成装置１２の掃除動作補正手段の一例としての掃除動作補正部２０と補正動作種別決定手段の一例としての補正動作種別決定部２３と周辺装置４７のデータ入力ＩＦ２６とにそれぞれ接続された制御パラメータ管理手段の一例としての制御パラメータ管理部２１と、制御パラメータ管理部２１と周辺装置４７の入出力ＩＦ２４とに接続されたインピーダンス制御手段の一例としての制御部（インピーダンス制御部）２２とを備えるように構成される。
【００６６】
動作生成装置１２は、掃除動作データベース１７と、掃除不可領域データベース２８と、補正種別決定方法設定部２７と、掃除動作補正部２０と、補正動作種別決定部２３と、掃除動作記憶部１５と、動作選択部２９と、情報取得部１００とを備えるように構成される。掃除動作記憶部１５は、掃除動作データベース１７と掃除不可領域データベース２８と掃除動作補正部２０とに接続されている。掃除動作データベース１７と掃除不可領域データベース２８とは、それぞれ、掃除動作記憶部１５と掃除動作補正部２０と動作選択部２９とに接続されている。掃除動作補正部２０は、掃除動作データベース１７と掃除不可領域データベース２８と掃除動作記憶部１５と制御装置本体部４５の制御パラメータ管理部２１と補正動作種別決定部２３と周辺装置４７のデータ入力ＩＦ２６とが接続されている。補正動作種別決定部２３は、掃除動作補正部２０と補正種別決定方法設定部２７と周辺装置４７のデータ入力ＩＦ２６と制御装置本体部４５の制御パラメータ管理部２１とに接続されている。動作選択部２９は掃除動作データベース１７と掃除不可領域データベース２８とデータ入力ＩＦ２６と接続されている。補正種別決定方法設定部２７は、データ入力ＩＦ２６と補正動作種別決定部２３と接続されている。情報取得部１００は、補正動作種別決定部２３と、掃除動作データベース１７と掃除不可領域データベース２８と、制御部２２の力検出部５３と接続されている。よって、情報取得部１００は、掃除作業における掃除部８，１８の吸引力及び掃除部８，１８の掃除位置を含む掃除動作に関する情報と、力検出部５３で検出されたロボットアーム５に作用する人の力に関する情報とをそれぞれ取得可能としている。情報取得部１００で取得した情報は、補正動作種別決定手段２３に入力され、情報取得部１００でそれぞれ取得した掃除動作に関する情報と人の力に関する情報とから、後述するように、掃除動作を補正する補正動作の種別を補正動作種別決定手段２３で決定することができる。
【００６７】
周辺装置４７は、補正動作種別決定部２３と掃除動作補正部２０と制御装置本体部４５の制御パラメータ管理部２１と表示部１４と動作生成装置１２とに接続されたデータ入力ＩＦ２６と、一対の車輪６のモータ６５のそれぞれのエンコーダ６４と吸引ポンプ１３のエンコーダ６６と各関節部のモータ４３のエンコーダ４４とハンド駆動用のモータ６２のエンコーダ６１と回転ブラシ１１のモータ６９のエンコーダ６８とからそれぞれの角度情報が入力されるとともに制御部２２に接続された入出力ＩＦ２４と、一対の車輪６のモータ６５と吸引ポンプ１３のモータ６７と各関節部のモータ４３とハンド駆動用のモータ６２と回転ブラシ１１のモータ６９とにそれぞれ接続されたモータドライバ２５と、補正動作種別決定部２３に接続された表示部１４とを備えるように構成される。
【００６８】
入出力ＩＦ２４は、パーソナルコンピュータのＰＣＩバスなどの拡張スロットに接続された、例えばＤ／Ａボードと、Ａ／Ｄボードと、カウンタボードとなどを備えるように構成されている。
【００６９】
ロボットアーム５及び胴体部１９の動作を制御する動作生成装置１２と、制御装置本体部４５と、周辺装置４７とが、それぞれの動作を実行することにより、ロボットアーム５の各関節部の各関節角度情報であってかつ後述するエンコーダ４４より出力される各関節角度情報が、入出力ＩＦ２４を通じて制御装置本体部４５に取り込まれ、制御装置本体部４５は、取り込まれた各関節角度情報に基づき、ロボットアーム５の各関節部の回転動作での制御指令値を算出する。さらに、胴体部１９の各車輪６のモータ６５のエンコーダ６４より出力される各車輪６の位置情報（回転角度情報）が入出力ＩＦ２４を通じて制御装置本体部４５に取り込まれ、制御装置本体部４５は、取り込まれた各角度情報に基づき、胴体部１９の各車輪６のモータ６５の制御指令値を算出する。また、吸引ポンプ１３のモータ６７のエンコーダ６６より出力される吸引力が入出力ＩＦ２４を通じて制御装置本体部４５に取り込まれ、制御装置本体部４５は、取り込まれた吸引力に基づき、吸引ポンプ１３のモータ６７の制御指令値を算出する。さらに、回転ブラシ１１のモータ６９のエンコーダ６８より出力される回転力が入出力ＩＦ２４を通じて制御装置本体部４５に取り込まれ、制御装置本体部４５は、取り込まれた回転力に基づき、回転ブラシ１１のモータ６９の制御指令値を算出する。
【００７０】
算出されたロボットアーム５の各関節部のモータ４３の制御指令値は、入出力ＩＦ２４を通じてモータドライバ２５に与えられ、モータドライバ２５から送られた各制御指令値に従って、ロボットアーム５の各関節部のモータ４３がそれぞれ独立して駆動される。
【００７１】
また、算出された２つの車輪６それぞれの制御指令値は、入出力ＩＦ２４を通じてモータドライバ２５に与えられ、モータドライバ２５から送られた各制御指令値に従って、各車輪６のモータ６５がそれぞれ独立して駆動される。
【００７２】
また、モータドライバ２５により駆動制御されるハンド駆動装置の一例としてハンド駆動用のモータ６２と、ハンド駆動用のモータ６２の回転軸の回転位相角を検出するエンコーダ６１とをさらにハンド３０に備えて、例えば、モータ６２の回転軸を正方向に回転させることによりハンド３０を開いて、吸引ノズル８又はモップ１８を人の手１６で取り付け可能とする一方、モータ６２の回転軸を逆方向に回転させることによりハンド３０を閉じて、ハンド３０に取り付けられた吸引ノズル８又はモップ１８を固定するように構成することができる。このような場合、エンコーダ６１で検出されたモータ６２の回転軸の回転角度を基に、制御装置本体部４５の制御部２２のハンド制御部５４（図７に図示）からの制御信号（開閉指令信号）により、モータドライバ２５を介してハンド駆動用のモータ６２の回転を駆動制御して、ハンド駆動用のモータ６２の回転軸を正逆回転させることによりハンド３０を開閉させる。
【００７３】
また、算出された吸引ポンプ１３のモータ６７の制御指令値は、入出力ＩＦ２４を通じてモータドライバ２５に与えられ、モータドライバ２５から送られた制御指令値に従って、吸引ポンプ１３のモータ６７が駆動される。
【００７４】
また、算出された回転ブラシ１１のモータ６９の制御指令値は、入出力ＩＦ２４を通じてモータドライバ２５に与えられ、モータドライバ２５から送られた制御指令値に従って、回転ブラシ１１のモータ６９が駆動される。
【００７５】
ロボットアーム５は、６自由度の多リンクマニピュレータであり、ハンド３０と、ハンド３０が取り付けられている手首部３１を先端に有する前腕リンク３２と、前腕リンク３２の基端に先端が回転可能に連結される上腕リンク３３と、上腕リンク３３の基端が回転可能に連結支持される台部３４とを備えている。台部３４は、胴体部１９の前端面に連結されている。手首部３１は、第４関節部３８と、第５関節部３９と、第６関節部４０との３つの回転軸を有しており、前腕リンク３２に対するハンド３０の相対的な姿勢を変化させることができる。すなわち、図３において、第４関節部３８は、手首部３１に対するハンド３０の横軸周りの相対的な姿勢を変化させることができる。第６関節部４０は、手首部３１に対するハンド３０の、第４関節部３８の横軸及び第５関節部３９の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク３２の他端は、上腕リンク３３の先端に対して第３関節部３７周りに、すなわち、第４関節部３８の横軸と平行な横軸周りに回転可能とする。上腕リンク３３の他端は、台部３４に対して第２関節部３６周りに、すなわち、第４関節部３８の横軸と平行な横軸周りに回転可能とする。さらに、台部３４の上側可動部３４ａは、台部３４の下側固定部３４ｂに対して第１関節部３５周りに、すなわち、第５関節部３９の縦軸と平行な縦軸周りに回転可能としている。この結果、ロボットアーム５は、合計６個の軸周りに回転可能として前記６自由度の多リンクマニピュレータを構成している。
【００７６】
各軸の回転部分を構成する各関節部には、回転駆動装置の一例としてのモータ４３と、モータ４３の回転軸の回転位相角（すなわち関節角）を検出するエンコーダ４４とを備えている。モータ４３は、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられ、かつ後述するモータドライバ２５により駆動制御される（実際には、ロボットアーム５の各関節部の一方の部材の内部に配設されている）。また、エンコーダ４４は、モータ４３の回転軸の回転位相角（すなわち、関節角）を検出するために、一方の部材に備えられる（実際には、ロボットアーム５の各関節部の一方の部材の内部に配設されている）。一方の部材に備えられたモータ４３の回転軸が他方の部材に連結されて、前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【００７７】
４６は胴体座標系であり、あらかじめ記憶されている作業経路（例えば図８に示す掃除領域（掃除面）ＲＡ内の掃除ロボット１の作業経路）の開始点Ｏｓからの胴体部１９の相対的な位置関係を示す。４１は胴体部１９の前端部に固定された台部３４の固定部３４ｂに対して相対的な位置関係が固定された台部座標系であり、４２はハンド３０に対して相対的な位置関係が固定された手先座標系である。
【００７８】
作業経路の開始点Ｏｓから見た胴体座標系４６の原点位置Ｏｄ（ｘ、ｙ）を胴体位置とする。さらに、台部座標系４１から見た手先座標系４２の原点位置Ｏｅ（ｘ、ｙ、ｚ）をロボットアーム５の手先位置（掃除部８，１８の先端の位置）とし、台部座標系４１から見た手先座標系４２の姿勢をロール角とピッチ角とヨー角とで表現した（φ、θ、ψ）をロボットアーム５の手先姿勢（掃除部８，１８の姿勢）とし、手先位置及び姿勢ベクトルをベクトルｒ＝［ｘ、ｙ、ｚ、φ、θ、ψ］Ｔと定義する。ロール角、ピッチ角、ヨー角について図１３Ａ〜図１３Ｃを用いて説明する。まず、絶対座標系３５のＺ軸を回転軸として、座標系を角度φだけ回転させた座標系を考える（図１３Ａ）。このときの座標軸を［Ｘ'、Ｙ'、Ｚ］とする。次に、この座標系を、Ｙ'を回転軸として角度θだけＺ軸周りに回転させる（図１３Ｂ参照）。このときの座標軸を［Ｘ’’、Ｙ'、Ｚ’’］とする。最後に、この座標系を、Ｘ’’軸を回転軸として、角度ψだけＸ’’軸周りに回転させる（図１３Ｃ参照）。このときの座標軸を［Ｘ’’、Ｙ’’’、Ｚ’’’］とする。このときの座標系の姿勢を、ロール角度φ、ピッチ角度θ、ヨー角度ψとし、このときの姿勢ベクトルは（φ，θ，ψ）となる。姿勢（φ，θ，ψ）の座標系が、原点位置を手先座標系４２の原点位置Ｏｅ（ｘ，ｙ，ｚ）に平行移動した座標系と、手先座標系４２が一致する場合、手先座標系４２の姿勢ベクトルは（φ，θ，ψ）であるとする。
【００７９】
ロボットアーム５の手先位置と姿勢とをそれぞれ制御する場合には、手先位置及び姿勢ベクトルｒを、後述する目標軌道生成部５５で生成された手先位置と姿勢目標ベクトルｒｄとに追従させることになる。
【００８０】
２６はデータ入力ＩＦ（インターフェース）であり、人（掃除作業者）がボタン又はキーボード又はマウス又はマイクなどの入力装置を使用して、掃除作業の開始、終了などの指令を掃除ロボット１に入力するインターフェースである。
【００８１】
表示部１４は、例えば胴体部１９上面に設置されたディスプレイ装置であり、後述する掃除動作又は補正するパラメータの種別などを表示部１４に表示する。
【００８２】
掃除動作データベース１７は、胴体部１９及びロボットアーム５の、ある時間における位置及び姿勢など掃除時の動作に関する情報（掃除動作に関する情報）を記憶して保持している。ここで、掃除動作に関する情報とは、前記ロボットアーム５が行う前記掃除作業に応じた、前記掃除部８，１８の前記掃除位置の情報と、前記掃除部８，１８から掃除面にかける力情報と、前記掃除部８，１８の掃除の方向に関する情報と、前記掃除部８，１８の吸引力の強さに関する情報と、前記掃除部８，１８の速度情報と、掃除を行わない領域ＲＢに関する情報である掃除不可領域情報のうちの少なくとも１つの情報を含むものである。
【００８３】
掃除動作データベース１７の詳細について説明する。
掃除動作データベース１７は、例えば、図４に示した胴体部１９及びロボットアーム５の動作に関する情報で、掃除作業を識別する作業ＩＤ番号と、その作業内の個々の動作を識別する動作ＩＤ番号と、その動作における胴体部１９の位置に関する情報と、ロボットアーム５の手先位置と姿勢とに関する情報と、ロボットアーム５が掃除面にかける力に関する情報と、吸引力の強さに関する情報と、ロボットアーム５の位置と姿勢と力と吸引力とのパラメータのうちのいずれの情報が有効か否かを示すフラグ（有効性を示すフラグ）に関する情報と、各動作が作用する時間に関する情報と、後述する掃除動作補正部２０で掃除動作データベース１７の動作情報を補正する際の補正すべきパラメータの種別に関する情報と、現在動作中かどうか、を示す進捗情報とを保持するように構成される。
【００８４】
掃除動作データベース１７の掃除作業を識別する作業ＩＤ番号は、複数種類の掃除作業がある場合に、互いに識別するために、それぞれの掃除作業に対して付された作業ＩＤ番号を表す情報である。
【００８５】
掃除動作データベース１７の掃除作業内の個々の動作を識別する動作ＩＤ番号は、１つの掃除作業が複数の掃除動作で構成されている場合に、１つの掃除作業内の個々の掃除動作を互いに識別するために、それぞれの掃除動作に対して付された動作ＩＤ番号を表す情報である。
【００８６】
掃除動作データベース１７の胴体部１９の位置に関する情報は、床面１０をＸＹ平面とするときの前述した胴体部１９の胴体位置の情報を表し、すなわち、作業経路の開始点Ｏｓから見た胴体座標系４６の原点位置Ｏｄ（ｘ、ｙ）とし、例えば図８に示す掃除ロボット１の作業経路を表すことができる。具体的には、図８のように、掃除ロボット１が掃除面をジグザグに走行して掃除動作を行なう場合の作業経路においては、胴体部１９の第１移動方向変更点（ｘ１、ｙ１）、第２移動方向変更点（ｘ２、ｙ２）、第３移動方向変更点（ｘ３、ｙ３）、第４移動方向変更点（ｘ４、ｙ４）などを記憶する。
【００８７】
掃除動作データベース１７の胴体部１９の位置に関する情報は、掃除動作データベース１７内に、予め設定しておくか、若しくは、掃除ロボット１に画像認識装置の一例としてカメラを搭載して、カメラで撮像した画像を画像認識処理部で画像認識処理して、画像認識により障害物を検知するか、又は、掃除ロボット１に超音波センサなどの障害物感知センサを搭載し、障害物感知センサで障害物を検知し、検知された障害物を避けるように掃除ロボット１の走行方向の経路（例えば図８の経路）を掃除方法記憶部２７で生成して、時間と共に、掃除方法記憶部２７に記憶する。
【００８８】
掃除動作データベース１７のロボットアーム５の手先位置と姿勢とに関する情報は、前述したロボットアーム５の手先位置と姿勢とを表し、原点位置Ｏｅと姿勢とから、（ｘ、ｙ、ｚ、φ、θ、ψ）と表す。
【００８９】
掃除動作データベース１７のロボットアーム５の位置及び姿勢・時間の情報は、例えば、図９に示すように、ロボットアーム５又は吸引ノズル８若しくはモップ１８を人の手１６で直接把持して、後述するインピーダンス制御モードにて、ロボットアーム５を移動させて、ある一定時間毎（例えば０．２ｍｓｅｃ毎）にロボットアーム５の手先位置と姿勢（図９の点線の経路）の情報を制御部２２で取得し（具体的に、制御部２２の説明でも記載しているように、順運動学計算部５８により各関節部のエンコーダ４４で計測された関節角を手先位置及び姿勢に変換してロボットアーム５の手先位置と姿勢の情報を取得し）、時間の情報と共に、掃除動作データベース１７に掃除動作記憶部１５で記憶する。なお、製品出荷時にメーカにてあらかじめ位置及び姿勢・時間の情報を同様の方法で生成し、掃除動作データベース１７に記憶しておいても良い。
【００９０】
掃除動作データベース１７に記憶されているロボットアーム５がかける力に関する情報は、ロボットアーム５が作業をする際に対象となる物体にかける力の情報を示し、ロボットアーム５のｘ、ｙ、ｚ方向にかける力をそれぞれｆｘ、ｆｙ、ｆｚとし、さらにφ、θ、ψ方向にかける力をfφ、fθ、fψとする。掃除動作データベース１７では、（fｘ、fｙ、fｚ、fφ、fθ、fψ）と表す。例えばfｚ＝５[Ｎ]である場合は、ｚ軸方向に５Ｎの力をかけて作業することを表し、床面１０を拭き掃除する際に、床面１０の垂直方向に力をかけて擦る場合などに使用するパラメータである。
【００９１】
掃除動作データベース１７の吸引力に関する情報は、ロボットアーム５が吸引作業をする際の吸引する力を示す。ロボットアーム５のｘ、ｙ、ｚ方向の吸引力をそれぞれｐｘ、ｐｙ、ｐｚとし、さらにφ、θ、ψ方向の吸引力をｐφ、ｐθ、ｐψとする。掃除動作データベース１７では、（pｘ、pｙ、pｚ、pφ、pθ、pψ）と表す。例えばｐの値が大きくなるにつれて吸引力が大きくなり、例えば、絨毯などの場合は吸引力が大きく設定（例えば「５」の値に設定）され、畳又は床などの場合は吸引力が小さく設定（例えば「２」の値に設定）される。
【００９２】
掃除動作データベース１７の、ロボットアーム５の位置と姿勢と力と吸引力とのパラメータのうちのいずれの情報が有効か否かを示すフラグ（有効性を示すフラグ）に関する情報、すなわち、図４の掃除動作データベース１７のフラグの情報は、各動作ＩＤが示すロボットアーム５の位置と姿勢と力と吸引力とのうちのいずれの情報が有効かを示す値であり、具体的には、図５で示した３２ビットの数値で表す。図５において、それぞれのビットで位置、姿勢、力、吸引力のそれぞれの値が有効の場合は「１」とし、無効の場合は「０」とする。例えば、０ビット目は位置のｘ座標の値が有効の場合は「１」とし、無効の場合は「０」とする。１ビット目は位置のｙ座標の値が有効の場合は「１」とし、無効の場合は「０」とする。２ビット目は位置のｚ座標の値が有効の場合は「１」とし、無効の場合は「０」とし、順次、３，４，５ビット目は姿勢のφ、θ、ψの有効性を表す。６ビット目〜１１ビット目は力のそれぞれの成分fｘ、fｙ、fｚ、fφ、fθ、fψが有効か無効かを表す。１２〜１７ビット目は吸引力のそれぞれの成分pｘ、pｙ、pｚ、pφ、pθ、pψが有効か無効かを示す。また、フラグは将来の拡張用に多め（３２ビット）に用意しているため、この例では、１８ビット目から３１ビット目は使用しないので、「０」を入れておくが、１８ビット目のみ、格納できる変数としても良い。図５では、０ビット目から１ビット目が「１」となり、８ビット目が「１」となっているので、動作情報のうち、位置のｘ、ｙ情報と力のｆｚ情報のみが有効であることを示し、動作情報のうち、ｚ、φ、θ、ψ及び力のｆｚ以外の値、及び、吸引力のそれぞれに、どういう値が記憶されていても無効であるとする。
【００９３】
掃除動作データベース１７の各動作が作用する時間に関する情報、すなわち、図４の掃除動作データベース１７の時間は、各動作を掃除ロボット１が実行するために必要な時間であり、この動作ＩＤに記憶された動作を、ここで記憶された時間をかけて掃除ロボット１が動作することを表す。この時間は、絶対時刻ではなく、前の動作からの相対時間を表す。すなわち、動作ＩＤが示す胴体部１９の位置及びロボットアーム５の位置及び姿勢に、胴体部１９及びロボットアーム５がそれぞれ移動するまでの時間を表す。
【００９４】
掃除動作データベース１７の、掃除動作補正部２０で掃除動作データベース１７の動作情報を補正する際の補正すべきパラメータの種別に関する情報、すなわち、図４の補正パラメータフラグは、後述する補正動作種別決定部２３で決定した種別に応じて、どのパラメータを補正するかを表す情報である。具体的には、図６に示した３２ビットの数値で表す。図６において、それぞれのビットで位置、姿勢、力、吸引力のそれぞれの値の補正が可能な場合は「１」とし、補正が不可能な場合は「０」とする。例えば、０ビット目は位置のｘ座標の値の補正が可能な場合は「１」とし、不可能な場合は「０」とする。１ビット目は位置のｙ座標の値の補正が可能な場合は「１」とし、不可能な場合は「０」とする。２ビット目は位置のｚ座標の値の補正が可能な場合は「１」とし、不可能な場合は「０」とする。順次、３，４，５ビット目は姿勢のφ、θ、ψの補正可能性を表す。同様に、６ビット目〜１１ビット目は力の補正可能性を表し、１２ビット目〜１７ビット目は吸引力のそれぞれの成分が補正可能性を表す。また、フラグは将来の拡張用に多め（３２ビット）に用意しているため、この例では、１８ビット目から３１ビット目は使用しないので、「０」を入れておくが、１８ビット目のみ、格納できる変数としても良い。
【００９５】
掃除動作データベース１７の、現在動作中かどうか、を示す進捗情報は、掃除ロボット１の現在動作中の動作であるかどうか、を示す情報で、動作中の場合は「１」を記録するとともに、動作中でない場合は「０」を記録する。具体的には、人は、データ入力ＩＦ２６を介して作業したい掃除作業を選択して、選択された情報がデータ入力ＩＦ２６から動作選択部２９に入力される。選択した作業のうちの一番目の掃除動作が掃除ロボット１で開始されると、動作選択部２９により、その作業を構成する複数の動作のうち、現在動作中の動作について「１」を掃除動作データベース１７に記憶するとともに、動作していない動作について「０」を掃除動作データベース１７に記憶する。なお、動作中か否かの情報は、制御部２２から指令した動作が終了したことの通知を掃除動作補正部２０を介して掃除動作記憶部１５に入力し、掃除動作記憶部１５にて掃除動作データベース１７に記憶する。
【００９６】
図３の動作選択部２９は、掃除動作データベース１７の作業一覧（例えば、図２６の掃除スイッチ２６ｃの中央に表示された「掃除方法１」及び「掃除方法２」というような作業表示）から最適な掃除作業を人がデータ入力ＩＦ２６を介して選択するとき、選択された作業のうち、現在、動作している動作ＩＤの進捗情報に「１」を設定して掃除動作データベース１７に記憶し、その他の動作については「０」を設定して掃除動作データベース１７に記憶する。
【００９７】
掃除不可領域データベース２８は、掃除ロボット１で掃除をしない領域に関する情報を記憶しており、具体的な情報については、図１０に示す。図１０において、掃除不可領域の位置（ｘ、ｙ）は、人が、掃除ロボット１により掃除をしてほしくない領域を表す。例えば、図１１の掃除可能面Ｒのうち、斜線の領域を掃除不可領域ＲＢとした場合は、その領域ＲＢを表すのに必要な座標（この例では、矩形領域の４個の角の座標（ｘｃ１，ｙｃ１）、（ｘｃ２，ｙｃ２）、（ｘｃ３，ｙｃ３）、（ｘｃ４，ｙｃ４）を記憶する。なお、それぞれの座標は、掃除を行う掃除領域ＲＡの作業経路のうち、掃除を開始する座標Ｏｓからの相対座標で表す。これらの掃除不可領域ＲＢを表す座標は、後述する掃除動作補正部２０で生成され、掃除不可領域データベース２８に記憶される。
【００９８】
補正動作種別決定部２３は、後述する掃除動作補正部２０にて、人がその手１６でロボットアーム５に力をかけることにより掃除動作の補正を行うことが可能な補正の種別を決定する。例えば、図１２Ｃのように、人がその手１６でロボットアーム５に横方向から力をかけると、ロボットアーム５の掃除面に対する平行な方向（例えば、掃除面が水平方向沿いの場合には水平方向を意味する。以下の説明では、説明を簡単にするため、単に「水平方向」と称する。）の位置を移動することで、掃除領域ＲＡを平行移動させることができる。この場合の補正動作の種別は、「掃除面の位置の移動」である。図２７Ａに示すようにロボットアーム５で床面１０を拭き掃除中に、図２７Ｂに示すように、人がその手１６でロボットアーム５の上方からロボットアーム５に下向きの力をかけると、後述する掃除動作補正部２０によって、図２７Ｃのように掃除時の力のかけ具合を強めに設定することができる。この場合の補正動作の種別は、「力のかけ具合」である。このように、補正動作種別決定部２３は、人の手によるロボットアーム５への力のかけ具合とロボットアーム５の手先位置などから、掃除動作の補正の種別を決定することができる。なお、詳細については後述する。
【００９９】
掃除動作補正部２０は、掃除動作データベース１７の位置と姿勢と時間との情報に基づいて掃除ロボット１が掃除動作中に、人が手１６でロボットアーム５に力をかけることにより、掃除動作データベース１７の掃除動作情報を補正する機能を持っている。詳細については、後述する。
【０１００】
掃除動作記憶部１５は、掃除動作補正部２０により補正した動作情報を掃除動作データベース１７若しくは掃除不可領域データベース２８に記憶する。
【０１０１】
次に、制御パラメータ管理部２１の詳細について説明する。
制御パラメータ管理部２１は、掃除動作補正部２０の動作補正指示に基づいて、ロボットアーム５のインピーダンス制御モードと、ハイブリッドインピーダンス制御モードと、力制御モードと、力ハイブリッドインピーダンス制御モードと、高剛性の位置制御モードとを切り替える設定、及び、それぞれの制御モード時の機械インピーダンス設定値の設定、及び、それぞれの制御モードで制御部２２のインピーダンス計算部５１で出力する手先位置及び姿勢目標補正出力ｒｄΔの設定、及び、制御部２２の目標軌道設定部５５への動作情報の設定を行う。
【０１０２】
さらに、制御パラメータ管理部２１は、掃除情報データベース１７に記憶されている胴体部１９の位置（作業経路の開始点Ｏｓから見た胴体座標系４６の原点位置Ｏｄ（ｘ、ｙ））から、掃除不可領域データベース２８の掃除不可領域ＲＢを除いた掃除領域ＲＡでの掃除経路を生成する。また、制御部２２からロボットアーム５の手先位置又は力の情報などの情報を制御パラメータ管理部２１で受けて、制御パラメータ管理部２１から掃除動作補正部２０へそれらの情報の通知を行う。また、データ入力ＩＦ２６によりハンド３０の開閉の指令が入力されると、データ入力ＩＦ２６からの入力情報が制御パラメータ管理部２１を介して制御部２２のハンド制御部５４へ入力されて、制御パラメータ管理部２１からハンド制御部５４へハンド３０の開閉指令を出す。
【０１０３】
位置制御モードは、後述する目標軌道生成部５５の手先位置及び姿勢目標ベクトル指令に基づいて、ロボットアーム５が作動するモードである。
【０１０４】
インピーダンス制御モードは、人などからロボットアーム５に加わる力に応じて、ロボットアーム５が作動するモードである。
【０１０５】
ハイブリッドインピーダンス制御モードは、位置制御モードでロボットアーム５が動作している最中に、人などからロボットアーム５に加わる力に応じて、ロボットアーム５が作動するモード（インピーダンス制御モード）であり、位置制御モードとインピーダンス制御モードを同時に行うモードである。例えば、掃除面の塵などを吸引する掃除作業中に、図１２Ｂのように、人の手１６でロボットアーム５を直接持って、掃除領域ＲＡを平行移動するなどの補正を行うモードである。
【０１０６】
力制御モードは、制御部２２へ予め与えられた力でロボットアーム５が掃除面に対して吸引ノズル８又はモップ１８を押し付けながら掃除動作する制御モードで、例えば、掃除面に対してロボットアーム５が、ある力をかけて汚れをふき取る掃除動作をする際に、ロボットアーム５の掃除面成分に使用する制御モードである。
【０１０７】
力ハイブリッドインピーダンス制御モードは、６軸の方向別にハイブリッドインピーダンス制御モードかインピーダンス制御モードかを切り替え、さらに、指定した力を作用させて動作する力制御モードで動作させる制御モードである。なお、力制御モードが設定された方向にインピーダンス制御モードを設定することはできない（力制御モードとインピーダンス制御モードは排他的な関係）。
【０１０８】
これらの制御モードは、掃除動作の際に、ロボットアーム５の方向及び姿勢別に、それぞれ、以下のように、適切な制御モードを設定して動作させる。
【０１０９】
例えば、掃除ロボット１が、図２２のように床面１０の掃除面に平行に円状に動作しながら、掃除面に垂直下向きに指定した力をかけて、拭き掃除をする場合には、力ハイブリッドインピーダンス制御モードを設定する。具体的には、（ｘ、ｙ、ｚ、φ、θ、ψ）の６軸のそれぞれに、以下の制御モードを設定する。すなわち、（ｘ、ｙ）成分がハイブリッドインピーダンス制御モードで動作し、（φ、θ、ψ）成分がインピーダンス制御モードで動作し、ｚ軸成分が力制御モードで動作する力ハイブリッドインピーダンス制御モードである。このように床面１０と平行な方向は、ハイブリッドインピーダンス制御モードとすることで、位置制御モードで動作している最中に、人などからロボットアーム５に加わる力に応じて、ロボットアーム５を移動させることができる。さらに、（φ、θ、ψ）成分をインピーダンス制御モードとすることで、停止している状態で人などからロボットアーム５に加わる力に応じて、ロボットアーム５の姿勢を変更することができるようになる。また、ｚ軸成分を力制御モードに設定することで、指定された力で押し付けながら動作することができるようになる。
【０１１０】
同様に、掃除ロボット１が、図２３のように掃除面に平行に円状に動作しながら、掃除面の塵を吸引して掃除する場合においても、力ハイブリッドインピーダンス制御モードを設定する。具体的には、（ｘ、ｙ）成分をハイブリッドインピーダンス制御モードで動作させ、（φ、θ、ψ）成分をインピーダンス制御モードで動作させ、ｚ軸成分を力制御モードで動作させる。
【０１１１】
高剛性位置制御モードは、掃除作業中の位置制御モードを、さらに高剛性にしたモードで、かつ、後述する位置誤差補償部５６でのゲインを大きくすることで実現し、人の手１６で力をロボットアーム５にかけると、ロボットアーム５を容易に移動させないようにすることができ、ロボットアーム５の手先位置の変化量により、人の手１６がかけた力を力検出部５３で検出することができる。
【０１１２】
機械インピーダンス設定値の設定パラメータとしては、慣性Ｍ、粘性Ｄ、剛性Ｋがある。機械インピーダンス設定値の各パラメータの設定は、補正値を使って、以下の評価式に基づいて行う。
【０１１３】
【数１】
2010016210.tif 000067
【０１１４】
【数２】
2010016210.tif 000068
【０１１５】
【数３】
2010016210.tif 000069
【０１１６】
前記式（１）〜（３）中のＫＭ、ＫＤ、ＫＫはゲインであり、それぞれ、ある定数値である。
【０１１７】
制御パラメータ管理部２１は、前記式（１）〜（３）に基づいて計算した機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋを制御部２２へそれぞれ出力する。
【０１１８】
前記式（１）〜（３）により、例えば、図１２Ｃのように、人が掃除面の領域を移動させるように補正させたい場合に、ｘ軸及びｙ軸以外の位置成分及び姿勢成分が簡単に動くと、前記補正作業を行うことが困難になる。そこで、ｘ軸及びｙ軸以外の位置成分及び姿勢成分についてのみ、制御パラメータ管理部２１で、上述の補正値を高く（具体的には約１０倍だけ高く）設定することで、粘性Ｄ及び剛性Ｋが大きくなるように設定されることになり、ロボットアーム５の動きに抵抗感又は硬さが生じ、ｘ軸及びｙ軸以外の位置成分及び姿勢成分について動きにくくなる。
【０１１９】
又は、別の方法として、後述するインピーダンス計算部５１から出力される手先位置及び姿勢目標補正出力ｒｄΔの各成分のうち、ｘ軸及びｙ軸以外の値を、制御パラメータ管理部２１で、全て０にする方法がある。これによって、ｘ軸及びｙ軸以外は、人の手１６の力で移動できなくなるため、誤操作を防ぐことができる。
【０１２０】
さらに、掃除動作補正部２０に、ロボットアーム５の手先位置と姿勢と、人のかけた力の情報（ロボットアーム５に作用する人の力に関する情報)とを制御パラメータ管理部２１から通知する必要がある。そのため、制御部２２からロボットアーム５の手先位置及び力の情報を制御パラメータ管理部２１が受けて、動作選択部２９と、掃除動作記憶部１５と、掃除動作補正部２０とへ制御パラメータ管理部２１から通知を行う。また、制御パラメータ管理部２１は、掃除動作補正部２０から入力された、位置と姿勢と時間となどの動作情報を制御部２２へ通知する。
【０１２１】
図７は制御部２２のブロック図を示す。制御部２２は、制御パラメータ管理部２１で設定された制御モードで動作し、さらに制御モードに応じて、慣性Ｍと粘性Ｄと剛性Ｋとの設定値に基づき設定されたロボットアーム５の機械インピーダンス設定値に、ロボットアーム５の機械インピーダンスの値を制御する。さらに、制御部２２は、吸引を行う掃除の場合には、指定された吸引力で吸引しながら、回転ブラシ１１を回転させる制御を行う。さらに、制御部２２は、拭き掃除の場合には、指定された力で掃除面を押し付ける制御を行う。さらに、制御部２２は、胴体部１９の底部に配置された一対の車輪６を制御して、胴体部１９を指定された位置に移動する制御を行う。
【０１２２】
次に、制御部２２の詳細について、図７により説明する。
制御部２２は、ロボットアーム５の各関節部のモータ４３の駆動をそれぞれ制御するロボットアーム制御部４９と、吸引ポンプ１３のモータ６７の駆動を制御する吸引ポンプ制御部２と、回転ブラシ１１のモータ６９の駆動を制御する回転ブラシ制御部９と、胴体部１９の車輪６のモータ６５の駆動を制御する車輪制御部４８とを備えるように構成される。ロボットアーム制御部４９は、位置誤差計算部５０とインピーダンス計算部５１と力検出手段の一例としての力検出部５３とハンド制御部５３と目標軌道生成部５５と位置誤差補償部５６と近似逆運動学計算部５７と順運動学計算部５８とを備えて構成している。位置誤差補償部５６と近似逆運動学計算部５７と順運動学計算部５８とで位置制御系５９を構成している。
【０１２３】
次に、ロボットアーム制御部４９について詳細に説明する。
ロボットアーム５からは、それぞれの関節部の関節軸のエンコーダ４４により計測された関節角の現在値（関節角度ベクトル）ベクトルｑ＝［ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６］Ｔが出力され、入出力ＩＦ２４により制御部２２に取り込まれる。ただし、ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６は、それぞれ、第１関節部３５、第２関節部３６、第３関節部３７、第４関節部３８、第５関節部３９、第６関節部４０の関節角度である。
【０１２４】
目標軌道生成部５５は、制御パラメータ管理部２１からの掃除動作の入力を受けて、目標とするロボットアーム５の動作を実現するための、手先位置及び姿勢目標ベクトルｒｄと、手先の力ベクトルｆｄと、それぞれの方向別にどのパラメータが有効かを示すフラグ（有効性を示すフラグ）とが出力される。目標とするロボットアーム５の動作は、目的とする掃除作業に応じて、掃除動作補正部２０から、制御パラメータ管理部２１を介して、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置及び姿勢（ｒｄ０、ｒｄ１、ｒｄ２、・・・）の情報と、力（ｆｄ０、ｆｄ１、ｆｄ２、・・・）の情報と、吸引力（ｐｄ０、ｐｄ１、ｐｄ２、・・・）の情報とが目標軌道生成部５５に与えられる。
【０１２５】
目標軌道生成部５５は、多項式補間を使用し、各ポイント間の軌道と、力と、吸引力とを補間し、手先位置及び姿勢目標ベクトルｒｄ及び力ベクトルｆｄ及び吸引力ｐｄを生成する。
【０１２６】
ハンド制御部５４は、制御パラメータ管理部２１から入力したハンド開閉指令により、ハンド駆動用のモータ６２を駆動してハンド３０を開閉するよう、ロボットアーム５のハンド駆動用のモータ６２へ指令を出す。
【０１２７】
力検出部５３は、力検出手段の一例として機能し、人などとロボットアーム５との接触によってロボットアーム５に加わる外力を検出する。力検出部５３には、モータドライバ４７の電流センサで計測された、ロボットアーム５の各関節部を駆動するモータ４３を流れる電流値ｉ＝［ｉ１，ｉ２，ｉ３，ｉ４，ｉ５，ｉ６］Ｔが入出力ＩＦ２４を介して取り込まれ、また、各関節部の各関節角の現在値ｑが入出力ＩＦ２４を介して取り込まれるとともに、後述する近似逆運動学計算部５７からの関節角度誤差補償出力ｕｑｅが取り込まれる。力検出部５３は、オブザーバーとして機能し、以上の電流値ｉと関節角の現在値ｑと関節角度誤差補償出力ｕｑｅとに基づいて、ロボットアーム５に加わる外力により各関節部に発生するトルクτｅｘｔを算出する。そして、Ｆｅｘｔ＝Ｊｖ（ｑ）−Ｔτｅｘｔ−［０，０，ｍｇ］Ｔによりロボットアーム５の手先における等価手先外力Ｆｅｘｔに換算して出力する。ここで、Ｊｖ（ｑ）は、
【０１２８】
【数４】
2010016210.tif 000070
【０１２９】
を満たすヤコビ行列である。ただし、ただし、ｖ＝［ｖｘ、ｖｙ、ｖｚ、ωｘ、ωｙ、ωｚ］Ｔであり、（ｖｘ、ｖｙ、ｖｚ）は手先座標系４２でのロボットアーム５の手先の並進速度、（ωｘ、ωｙ、ωｚ）は手先座標系４２でのロボットアーム５の手先の角速度である。また、ｍはロボットアーム５のハンド３０に取り付けられた掃除部８，１８の重さであり、ｇは重力加速度である。掃除部８，１８の重さｍの値は、掃除部８，１８を取り付ける前に人がデータ入力ＩＦ２６から力検出部５３に入力することもできるが、通常は、掃除部８，１８の重さｍは度々変更される値ではないため、予め設定した値とすることもできる。
【０１３０】
インピーダンス計算部５１は、ロボットアーム５に機械インピーダンス設定値への前記ロボットアーム５の機械インピーダンスの値の制御を実現する機能を果たす部分である。
【０１３１】
インピーダンス制御モードが指定された際には、インピーダンス計算部５１から手先位置及び姿勢目標補正出力ｒｄΔを出力する。力ハイブリッドインピーダンス制御モードに切り替えられた際には、フラグ（有効性を示すフラグ）で有効と指定された力成分が存在する場合には、制御パラメータ管理部２１で設定されたインピーダンスパラメータである慣性Ｍと粘性Ｄと剛性Ｋと、関節角の現在値ｑと、力検出部５３が検出した外力Ｆｅｘｔと、目標軌道生成部５５から出力されるｆｄとに基づいて、前記ロボットアーム５の機械インピーダンスの値がロボットアーム５に機械インピーダンス設定値に近づくようにする制御を実現するための手先位置及び姿勢目標補正出力ｒｄΔを、以下の式（４）によりインピーダンス計算部５１で計算し、インピーダンス計算部５１から出力する。
【０１３２】
手先位置及び姿勢目標補正出力ｒｄΔは、目標軌道生成部５５の出力する手先位置及び姿勢目標ベクトルｒｄに位置誤差計算部５０で加算され、手先位置及び姿勢補正目標ベクトルｒｄｍが位置誤差計算部５０で生成される。例えば、ｚ軸方向のみ、力をかけて掃除し、その他の成分は位置制御モードで動くようにするには、手先位置及び姿勢目標補正出力ｒｄΔのｚ成分以外を０に位置誤差計算部５０で設定する。
【０１３３】
【数５】
2010016210.tif 000071
【０１３４】
ただし、
【０１３５】
【数６】
2010016210.tif 000072
【０１３６】
【数７】
2010016210.tif 000073
【０１３７】
【数８】
2010016210.tif 000074
【０１３８】
であり、ｓはラプラス演算子である。
【０１３９】
順運動学計算部５８には、ロボットアーム５からのそれぞれの関節部の関節軸のエンコーダ４４により計測された関節角の現在値ｑである関節角度ベクトルｑが入出力ＩＦ２４を介して入力されて、ロボットアーム５の関節角度ベクトルｑから手先位置及び姿勢ベクトルｒへの変換の幾何科学的計算を順運動学計算部５８が行う。
【０１４０】
手先位置及び姿勢目標補正出力ｒｄΔは、目標軌道生成部５５の出力する手先位置及び姿勢目標ベクトルｒｄに位置誤差計算部５０により加算され、手先位置及び姿勢補正目標ベクトルｒｄｍが位置誤差計算部５０で生成される。さらに、ロボットアーム５において計測される関節角度ベクトルｑより順運動学計算部５８により計算される手先位置及び姿勢ベクトルｒと、手先位置及び姿勢補正目標ベクトルｒｄｍとの誤差ｒｅを位置誤差計算部５０から出力する。
【０１４１】
位置誤差補償部５６は、位置誤差計算部５０から誤差ｒｅが入力されて、誤差ｒｅから位置誤差補償出力ｕｒｅを位置誤差補償部５６で求め、位置誤差補償出力ｕｒｅが近似逆運動学計算部５７に向けて位置誤差補償部５６から出力される。
【０１４２】
近似逆運動学計算部５７では、近似式ｕｏｕｔ＝Ｊｒ（ｑ）−１ｕｉｎにより、逆運動学の近似計算を行う。ただし、Ｊｒ（ｑ）は、
【０１４３】
【数９】
2010016210.tif 000075
【０１４４】
の関係を満たすヤコビ行列、ｕｉｎは近似逆運動学計算部５７への入力、ｕｏｕｔは近似逆運動学計算部５７からの出力であり、入力ｕｉｎを関節角度誤差ｑｅとすれば、ｑｅ＝Ｊｒ（ｑ））−１ｒｅのように手先位置及び姿勢誤差ｒｅから関節角度誤差ｑｅへの変換式となる。したがって、位置誤差補償出力ｕｒｅが近似逆運動学計算部５７に入力されると、その出力として、関節角度誤差ｑｅを補償するための関節角度誤差補償出力ｕｑｅが近似逆運動学計算部５７から出力される。
【０１４５】
関節角度誤差補償出力ｕｑｅは、近似逆運動学計算部５７から出力されたのち、入出力ＩＦ２４を介してモータドライバ２５に電圧指令値として与えられ、各モータ４３により各関節軸が正逆回転駆動されてロボットアーム５が動作する。
【０１４６】
高剛性位置制御モードが設定された際に、定数の対角行列である比例、微分、積分の３つのゲインを予め設定された値に大きく設定することで（具体的には、通常の位置制御モード時の２倍程度の値に設定することで）、高剛性の位置制御を実現することができる。なお、前記ゲインを各成分毎に値を変えることで、例えば、ｚ軸方向のみ、高剛性で、その他の方向は通常の位置制御で動作するよう制御することができる。
【０１４７】
吸引ポンプ制御部２は、吸引を行う掃除の場合に、目標軌道生成部５５から入力された吸引力に応じて、吸引ポンプ１３のモータ６７を駆動制御する。拭き掃除を行う掃除の場合には、吸引ポンプ１３のモータ６７は駆動しない。吸引ポンプ１３のモータ６７が駆動されると、掃除面の塵が吸引ホース１２を伝って吸い込まれ、塵袋３に格納される。
【０１４８】
回転ブラシ制御部９は、目標軌道生成部５５から入力された吸引力に応じて、回転ブラシ１１のモータ６９を駆動制御して、回転ブラシ１１を回転させる制御を行う。
【０１４９】
車輪制御部４８は、目標軌道生成部５５から入力された胴体部１９の位置情報に基づき、一対の車輪６のモータ６５を駆動制御して胴体部１９を移動させるよう一対の車輪６の回転制御を行う。具体的には、一対の車輪６のそれぞれのモータ６５の駆動を車輪制御部４８によりそれぞれ独立して正逆回転制御して、胴体部１９を前進、後退、左右方向に移動可能としている。なお、図１などでは簡略化して一対の車輪６を図示しており、一対の車輪６の回転軸を図１のように胴体部１９の前後移動方向に対して直交する左右方向沿いに固定するだけではなく、一対の車輪６の回転軸を前後移動方向沿いになるように回転させたのち、正逆回転させて胴体部１９を左右方向に移動させることにより可能である。又は、左右方向移動用の別の一対の車輪を用意しておき、前後移動方向移動用の一対の車輪６と駆動を切り替えれるようにしてもよい。このような駆動機構は、公知のものを適宜採用することが可能である。
【０１５０】
以下、ロボットアーム５のロボットアーム制御プログラムの実際の動作ステップについて、図２５のフローチャートに基づいて説明する。
【０１５１】
ロボットアーム５の関節部のそれぞれのエンコーダ４４により計測された関節角度データ（関節変数ベクトル又は関節角度ベクトルｑ）が制御装置本体部４５に取り込まれる(ステップＳ５１)。
【０１５２】
次いで、逆運動学計算部５７にて、ロボットアーム５の運動学計算に必要なヤコビ行列Ｊｒ等の計算を行う (ステップＳ５２)。
【０１５３】
次いで、順運動学計算部５８にて、ロボットアーム５からの関節角度データ（関節角度ベクトルｑ）から、ロボットアーム５の現在の手先位置及び姿勢ベクトルｒを計算する（ステップＳ５３）。
【０１５４】
次いで、掃除動作補正部２０から送信された動作情報に基づき、目標軌道計算部５５は、ロボットアーム５の手先位置及び姿勢目標ベクトルｒｄ及び力目標ベクトルｆｄを計算する（ステップＳ５４）。
【０１５５】
次いで、力検出部５３は、モータ４３の駆動電流値ｉと、関節角度データ（関節角度ベクトルｑ）と、関節角度誤差補償出力ｕｑｅとから、ロボットアーム５の手先における等価手先外力Ｆｅｘｔを計算する（ステップＳ５５）。
【０１５６】
次いで、ステップＳ５６では、制御パラメータ管理部２１で設定された制御モードを設定する。高剛性位置制御モードのみの場合には、ステップＳ５７に処理を進める。一方、力ハイブリッドインピーダンス制御モード若しくはインピーダンス制御モード若しくはハイブリッドインピーダンス制御モードの場合には、ステップＳ５８へ処理を進める。
【０１５７】
ステップＳ５７（インピーダンス計算部５１での処理）では、制御パラメータ管理部２１において、高剛性位置制御モードが設定された場合には、インピーダンス計算部５１で、手先位置及び姿勢目標補正出力ｒｄΔを０ベクトルとする。その後、ステップＳ５９に進む。
【０１５８】
制御パラメータ管理部２１において、力ハイブリッドインピーダンス制御モード、若しくはインピーダンス制御モード若しくはハイブリッドインピーダンス制御モードが設定された場合には、制御パラメータ管理部２１において設定された機械インピーダンスパラメータの慣性Ｍと粘性Ｄと剛性Ｋと、関節角度データ（関節角度ベクトルｑ）と、力検出部５３により計算されたロボットアーム５に加わる等価手先外力Ｆｅｘｔとから、手先位置及び姿勢目標補正出力ｒｄΔが、インピーダンス計算部５１により計算される（ステップＳ５８）。
【０１５９】
次いで、位置誤差計算部５０では、手先位置及び姿勢目標ベクトルｒｄと手先位置及び姿勢目標補正出力ｒｄΔの和である手先位置及び姿勢補正目標ベクトルｒｄｍと、現在の手先位置及び姿勢ベクトルｒとの差である手先位置及び姿勢の誤差ｒｅが計算される（ステップＳ５９、ステップＳ６０）。ステップＳ６０では、位置誤差補償部５６の具体例としてはＰＩＤ補償器が考えられる。定数の対角行列である比例、微分、積分の３つのゲインを適切に調整することにより、位置誤差が０に収束するように制御が働く。ステップＳ５９では、そのゲインを、ある値まで大きくすることで、高剛性の位置制御を実現する。
【０１６０】
ステップＳ５９又はステップＳ６０に次いでステップＳ６１では、近似逆運動学計算部５７では、ステップＳ５２で計算したヤコビ行列Ｊｒの逆行列を近似逆運動学計算部５７で乗算することにより、位置誤差補償出力ｕｒｅを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力ｕｑｅに、近似逆運動学計算部５７により変換する。
【０１６１】
ステップＳ６１に次いで、関節角度誤差補償出力ｕｑｅが、近似逆運動学計算部５７から入出力ＩＦ２４を通じ、モータドライバ２５に与えられ、それぞれのモータ４３を流れる電流量を変化させることによりロボットアーム５のそれぞれの関節軸の回転運動が発生する（ステップＳ６２）。
【０１６２】
以上のステップＳ５１〜ステップＳ６２が制御の計算ループとして繰り返し実行されることにより、ロボットアーム５の動作の制御、すなわち、ロボットアーム５の機械インピーダンスの値を、前記適切に設定された設定値に制御する動作を実現することができる。
【０１６３】
次に、補正動作種別決定部２３と掃除動作補正部２０について詳細に説明する。
補正動作種別決定部２３は、掃除動作補正部２０にて、人の手１６でロボットアーム５に力をかけることで掃除動作の補正を行うことが可能な補正の種別を決定する。以下の７種類の補正の種別がある。
【０１６４】
１つ目の補正の種別は、「掃除面の位置の移動」である。具体的には、図１２Ａ又は図１２Ｂ(図１２Ａを上方から見た図)のように、ロボットアーム５で位置制御モードで床面１０を掃除中に、図１２Ｃのように人の手１６でロボットアーム５に横方向から力をかけると、掃除動作補正部２０によって、図１２Ｄのようにロボットアーム５の掃除面に対する水平方向の位置を移動することで、掃除領域ＲＡを平行移動することができる。
【０１６５】
２つ目の補正の種別は、拭き掃除時の床面１０に対する「力のかけ具合」である。これは、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、力のビットが「１」となっている場合に有効である。図２７Ａに示すように、ロボットアーム５で床面１０を拭き掃除中に、図２７Ｂのように、人の手１６でロボットアーム５に上方から下向きに力をかけると、掃除動作補正部２０によって、図２７Ｃのように拭き掃除時の力のかけ具合を強めに、逆に、人の手１６でロボットアーム５に下方から上向きに力をかけると、拭き掃除時の力のかけ具合を弱めに補正することができる。
【０１６６】
３つ目の補正の種別は、吸引の掃除時の床面１０に対する「吸引力」である。これは、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、吸引力のビットが「１」となっている場合に有効である。図２８Ａに示すように、ロボットアーム５で床面１０を吸引掃除中に、図２８Ｂのように、人の手１６でロボットアーム５に上方から下向きに力をかけると、掃除動作補正部２０によって、図２８Ｃのように、吸引掃除時の吸引力が強く設定され、逆に、人の手１６でロボットアーム５に下方から上向きに力をかけると、吸引掃除時の吸引力を弱く設定することができる。
【０１６７】
４つ目の補正の種別は、ロボットアーム５の手先（掃除部８，１８）の移動「速度」である。図２９Ａ又は図２９Ｂ（図２９Ａを上方から見た図）のように、ロボットアーム５で床面１０を掃除中に、図２９Ｃのように、ロボットアーム５の進行方向に反する方向に人の手１６でロボットアーム５に力をかけると、掃除動作補正部２０によって、図２９Ｄのように、掃除時の速度を減速させることができる。逆に、ロボットアーム５で床面１０を掃除中に、人の手１６がロボットアーム５の進行方向に合わせて人の手１６でロボットアーム５に力をかけると、掃除動作補正部２０によって、掃除時の速度を加速させることができる。
【０１６８】
５つ目の補正の種別は、「方向（姿勢）の変更」である。図３０Ａ又は図３０Ｂ（図３０Ａを上方から見た図）のように、ロボットアーム５で床面１０を掃除中に、人の手１６で、掃除部８，１８の長手方向を畳Ｔの目Ｔｍに沿うように位置を変更した状態で、図３０Ｃのように、ロボットアーム５のジグザグにする進行方向を変えたい方向に力をかけると、掃除動作補正部２０によって、図３０Ｄのように掃除時のロボットアーム５の進行方向を変更することができる。これは、ロボットアーム５の手先（掃除部８，１８）の姿勢（φ、θ、ψ）を変更することで実現できる。
【０１６９】
６つ目の補正の種別は、「掃除をして欲しくない領域」である。人１６Ａの手１６で図３１に示すように、ロボットアーム５を把持して、掃除をしてほしくない領域ＲＢの輪郭に沿って、ロボットアーム５（掃除部８，１８）に力をかけてロボットアーム５を移動させると、掃除動作補正部２０によって、図３１のように掃除をしてほしくない領域ＲＢを設定することができる。
【０１７０】
７つ目の補正の種別は、「掃除面垂直方向の移動」である。図３２Ａのように、ロボットアーム５で床面１０を掃除中に、図３２Ｂのように人の手１６でロボットアーム５に上方向に力をかけて、上方向にロボットアーム５を移動させると、掃除動作補正部２０によって、例えば、図３２Ｃに示すように、床面１０においてある台又はソファ１０Ｓなどの上面１０Ｓａを掃除部８，１８で掃除することができる。
【０１７１】
補正動作種別決定部２３は、前記の７種類の補正の種別のうち、１種類の補正の種別を決定する。具体的には、ボタンなどのデータ入力ＩＦ２６にて７種の補正の種別のうちの１つの補正の種別を選択するか、若しくは、力検出部５３で検出されて情報取得部１００で取得された人の手１６でロボットアーム５にかけた力と、掃除動作データベース１７に記憶されて情報取得部１００で取得されたロボットアーム５にかけた力と、補正の種別との関係情報（例えば、力のかかる向きと大きさと補正の種別との関係情報）とにより、補正動作種別決定部２３で種別を推定する。
【０１７２】
以下、補正の種別の推定方法の具体的な補正種別推定処理について、図１４のフローチャートを使って詳細に説明する。
【０１７３】
掃除ロボット１の電源ボタン２６ａを「ＯＮ」にした状態で、人の手１６でロボットアーム５を把持して力をロボットアーム５に加えていない場合は、ロボットアーム５は動かない。人の手１６でロボットアーム５に力を加えている場合は、インピーダンス制御モード（人の手１６の力を検出した方向にインピーダンス制御で移動させるモード）でロボットアーム５を移動させたい方向に移動させることができる。この場合、制御部２２の力検出部５３にて、ロボットアーム５に作用する力を検出し、力検出部５３で検出された力の情報が、情報取得部１００を介して、補正動作種別決定部２３に入力される（ステップＳ１）。
【０１７４】
次いで、ステップＳ２では、力検出部５３で検出しかつ情報取得部１００で取得された力の全ての成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、ある閾値（具体的には、図３３のＩＤ「１」の（fdｘ、fdｙ、fdｚ、fdφ、fdθ、fdψ））以下であるか否かを補正動作種別決定部２３で判断する。力検出部５３で検出しかつ情報取得部１００で取得された力の全ての成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、前記ある閾値以下であると補正動作種別決定部２３で判断した場合は、ロボットアーム５は動かず、補正はせず（ステップＳ２０）、補正動作の種別推定方法の補正種別推定処理を終了する。その場合の制御モードは、インピーダンス制御モードである。
【０１７５】
ステップＳ２にて、力検出部５３で検出しかつ情報取得部１００で取得された力のいずれかの成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分のうちのいずれかの成分）が、前記ある閾値（具体的には、図３３のＩＤ「１」の（fdｘ、fdｙ、fdｚ、fdφ、fdθ、fdψ））を越えると補正動作種別決定部２３で判断した場合は、ステップＳ３に進む。
【０１７６】
ステップＳ３では、さらに、現在の掃除ロボット１が掃除動作データベース１７で動作しているかどうか、を情報取得部１００を介して取得した情報を基に補正動作種別決定部２３で判定する。具体的には、動作選択部２９にて掃除作業を選択しておらず、かつ、掃除動作データベース１７の全ての作業ＩＤについて、進捗情報が「０」となっている、と補正動作種別決定部２３で判断する場合（掃除を開始していない状態）は、掃除動作データベース１７で動作していないと補正動作種別決定部２３で判定して、ステップＳ６に進む。動作選択部２９にて掃除作業を選択して掃除を開始しており、かつ、進捗情報が「１」となっていると補正動作種別決定部２３で判断している場合は、掃除動作データベース１７で動作していると補正動作種別決定部２３で判定して、ステップＳ４に進む。
【０１７７】
ステップＳ４では、人の手１６でロボットアーム５を把持して、ロボットアーム５の掃除動作を補正したい方向に力を加えるとき、力検出部５３でロボットアーム５に加えられた力を検出し、力検出部５３で検出されかつ情報取得部１００を介して取得した人の手１６からの力（fｘ、fｙ、fｚ、fφ、fθ、fψ）のそれぞれのある一定時間の変位量を補正動作種別決定部２３で計測し、位置成分（fｘ、fｙ、fｚ）と姿勢成分（fφ、fθ、fψ）のどちらの変位量が大きいかを補正動作種別決定部２３で計測する。具体的には、図１５に示すように、（fｘ、fｙ、fｚ、fφ、fθ、fψ）それぞれの時系列の力を補正動作種別決定部２３で計測し、ある一定時間（例えばｔｉｍｅ  １）に力がどれくらい変位したかを補正動作種別決定部２３で計測し、最も変位の大きかった成分を補正動作種別決定部２３で計測する。この例では、fφの変位が最も大きいので、姿勢成分が位置成分より力がかかっていると補正動作種別決定部２３で判断してステップＳ９へ進む。
【０１７８】
ステップＳ４にて姿勢の変位量が位置の変位量より大きいと補正動作種別決定部２３で判断する場合には、補正の種別は「方向（姿勢）の変更」の種別であると補正動作種別決定部２３で決定して、補正の種別推定処理を終了する（ステップＳ９）。その際の制御モードは、補正の種別を決定する前と同様の制御モード（力ハイブリッドインピーダンス制御モード）である。
【０１７９】
一方、ステップＳ４にて位置の変位量が姿勢の変位量以上であると補正動作種別決定部２３で判断する場合には、さらに、掃除面に垂直な方向の力成分（例えば地面に水平に設置された床面１０を掃除する場合はｆｚ）が、ある閾値（具体的には、図３３のＩＤ「１」のfdｚ）以上かどうか、を補正動作種別決定部２３で判定する（ステップＳ５）。
【０１８０】
ステップＳ５で、掃除面に垂直な方向の力成分が前記ある閾値より小さいと補正動作種別決定部２３で判定された場合は、さらに掃除面に水平な方向の力成分（例えば地面に水平に設定された床面１０を掃除する場合はｆｘ、ｆｙのいずれか若しくは両方）が、ある閾値（具体的には、図３３のＩＤ「１」のｆｄｘ、ｆｄｙ）以上であるかどうか、を補正動作種別決定部２３で判定する（ステップＳ１０）。
【０１８１】
ステップＳ１０にて、掃除面に水平な方向の力成分が前記ある閾値（具体的には、図３３のＩＤ「１」のｆｘ、ｆｙ）未満であると補正動作種別決定部２３で判断する場合は、補正なし（種別なし）と決定して、補正種別推定処理を終了する（ステップＳ１１）。補正なしの場合は補正を中止して掃除作業を行う。
【０１８２】
ステップＳ１０にて、掃除面に水平な方向の力成分が前記ある閾値以上であると補正動作種別決定部２３で判断する場合は、ステップＳ１２に進む。
【０１８３】
ステップＳ１２では、さらに補正動作種別決定部２３で算出された掃除面の水平方向の移動量が、ある閾値（具体的には、図３３のＩＤ「２」のｇｘ、ｇｙ）以上であると補正動作種別決定部２３で判断する場合は、補正の種別として「掃除面の位置の移動」の種別を補正動作種別決定部２３で決定して、補正種別推定処理を終了する（ステップＳ１４）。
【０１８４】
なお、掃除面の水平方向の移動量を補正動作種別決定部２３で算出するとき、具体的には、制御部２２から制御パラメータ管理部２１又は情報取得部１００を介して人の操作前のロボットアーム５の手先位置と操作中の手先位置を補正動作種別決定部２３に入力し、操作中の手先位置から操作前の手先位置を減じた値を移動量として補正動作種別決定部２３で算出することができる。また、掃除面に垂直な方向の移動量を補正動作種別決定部２３で算出するとき、具体的には、制御部２２から制御パラメータ管理部２１又は情報取得部１００を介して人の操作前のロボットアーム５の手先位置のｚ成分と操作中の手先位置のｚ成分を補正動作種別決定部２３に入力し、操作中の手先位置のｚ成分から操作前の手先位置のｚ成分を減じた値を移動量として補正動作種別決定部２３で算出することができる。
【０１８５】
ステップＳ１３にて、掃除面の水平方向の移動量が前記ある閾値未満であると補正動作種別決定部２３で判定された場合は、補正の種別として、掃除面に水平な方向の「速度」の種別を決定して、補正種別推定処理を終了する（ステップＳ１５）。
【０１８６】
また、ステップＳ５で、掃除面に垂直な力が前記ある閾値以上であると補正動作種別決定部２３で判定された場合は、さらに、補正動作種別決定部２３で算出された掃除面の垂直方向の移動量が、ある閾値より大きいか否かを補正動作種別決定部２３で判断する（ステップＳ１２）。
【０１８７】
ステップＳ１２において、掃除面の垂直方向の移動量が、ある閾値より大きいと補正動作種別決定部２３で判断する場合には、補正の種別して「掃除面垂直方向の移動」の種別を補正動作種別決定部２３で決定して、補正種別推定処理を終了する（ステップＳ１９６）。
【０１８８】
また、ステップＳ１２で掃除面の垂直方向の移動量が前記ある閾値以下であると補正動作種別決定部２３で判断する場合には、ステップＳ１６に進み、ステップＳ１６で、さらに、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、力のビットが「１」となっているか、吸引力のビットが「１」となっているかを補正動作種別決定部２３で判断する。
【０１８９】
ステップＳ１６において、現在動作中（掃除動作データベースの進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、力のビットが「１」となっていると補正動作種別決定部２３で判断する場合には、拭き掃除を意味するので、補正の種別として「力の補正」と決定し（ステップＳ１７）、補正種別推定処理を終了する。一方、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、吸引力のビットが「１」となっていると補正動作種別決定部２３で判断する場合は、吸引にて掃除をする場合を意味するので、補正の種別として「吸引力の補正」の種別であると決定し（ステップＳ１８）、補正種別推定処理を終了する。
【０１９０】
また、ステップＳ３において、掃除動作データベース１７で動作していないと補正動作種別決定部２３で判定された場合には、ステップＳ６に進み、ステップＳ６にて、さらに、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上であるか否かを補正動作種別決定部２３で判断する。
【０１９１】
ステップＳ６において、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上であると補正動作種別決定部２３で判断する場合には、補正の種別として「掃除をして欲しくない領域」の種別であると決定し（ステップＳ８）、補正種別推定処理を終了する。ステップＳ６で、人の手１６でロボットアーム５にかけている力が掃除面に対して水平ではない場合（例えば、垂直である場合）、又は、掃除面に水平な力であっても水平方向の移動量が前記ある閾値未満であると補正動作種別決定部２３で判断する場合は、補正の種別として「補正なし」と決定し（ステップＳ７）、補正種別推定処理を終了する。
【０１９２】
以上により、ボタンなどのデータ入力ＩＦ２６を使わずに、補正動作種別決定部２３により、補正の種別を切り替えることができる。
【０１９３】
補正動作種別決定部２３は、前記の７種類の種別のうち、１種類の種別を決定したが、２種類の補正の種別を同時に決定することもできる。
【０１９４】
図３の補正種別決定方法設定部２７は、補正動作種別決定部２３で決定する出力数を設定する。しかしながら、出力数は、データ入力ＩＦ２６を使って補正動作種別決定部２３で入力して、人が決定するようにしてもよい。
【０１９５】
補正動作種別決定部２３は、補正種別決定方法設定部２７で設定された出力数に従って、補正の種別を決定する。具体的には、出力数が１の場合は、図１４の補正の種別の推定方法のアルゴリズムで補正の種別を決定し、出力数が「２」の値の場合は、後述する図１７のアルゴリズムで補正の種別を決定する。これにより、掃除ロボット１を操作する人が操作に不慣れな場合は、出力数を１に設定することで、同時に２種類の補正ができないので、操作が簡単になる。逆に、操作に慣れてきて、同時に２種類の種別の補正を行いたい場合は、出力数を「２」の値に設定することで、補正を効率的に行なうことができるようになる。
【０１９６】
上述の補正動作種別決定部２３では、１種類の種別を出力するとしたが、２種類の種別を出力して補正する例として、図１８Ａに示すように、拭き掃除時に掃除動作データベース１７の力より強い力で、且つ、掃除面の拭き掃除を通常より高速に掃除したい場合である。この場合は、拭き掃除の力と速度の２種類の種別を同時に補正する。また、図１８Ｂでは、塵などを吸引する掃除をする際に、掃除面を平行に移動しながら、吸引力を強くする場合である。この場合は、掃除面の位置の移動と吸引力の２種類の種別を同時に補正する。
【０１９７】
２種類の種別を出力する補正動作の種別推定方法の補正種別推定処理を実行するための補正動作種別決定部２３のアルゴリズムについて、図１７のフローチャートを使って詳細に説明する。
【０１９８】
１種類の種別の場合と同様に、掃除ロボット１の電源ボタン２６ａを「ＯＮ」にした状態で、人の手１６でロボットアーム５を把持して力をロボットアーム５に加えていない場合は、ロボットアーム５は動かない。人の手１６でロボットアーム５に力を加えている場合は、インピーダンス制御モード（人の手１６の力を検出した方向にインピーダンス制御で移動させるモード）でロボットアーム５を移動させたい方向に移動させることができる。この場合、制御部２２の力検出部５３にて、ロボットアーム５に作用する力を検出し、力検出部５３で検出された力の情報が、情報取得部１００を介して、補正動作種別決定部２３に入力される（ステップＳ３１）。
【０１９９】
次いで、ステップＳ３２では、力検出部５３で検出しかつ情報取得部１００で取得された力の全ての成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、ある閾値（具体的には、図３３のＩＤ「１」の（fdｘ、fdｙ、fdｚ、fdφ、fdθ、fdψ））以下であるか否かを補正動作種別決定部２３で判断する。力検出部５３で検出しかつ情報取得部１００で取得された力の全ての成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、前記ある閾値以下であると補正動作種別決定部２３で判断した場合は、ロボットアーム５は動かず、補正はせず（ステップＳ５１）、補正動作の種別推定方法の補正種別推定処理を終了する。
【０２００】
ステップＳ３２にて、力検出部５３で検出しかつ情報取得部１００で取得された力のいずれかの成分（fｘ、fｙ、fｚ、fφ、fθ、fψの６成分）が、前記ある閾値（具体的には、図３３のＩＤ「１」の（fdｘ、fdｙ、fdｚ、fdφ、fdθ、fdψ））を越えると補正動作種別決定部２３で判断した場合は、ステップＳ３３に進む。
【０２０１】
ステップＳ３３では、さらに、現在の掃除ロボット１が掃除動作データベース１７で動作しているかどうか、を補正動作種別決定部２３で判定する。具体的には、動作選択部２９にて掃除作業を選択しておらず、かつ、掃除動作データベース１７の全ての作業ＩＤについて、動作選択部２９にて作業を選択しておらず進捗情報が「０」となっている、と補正動作種別決定部２３で判断する場合（掃除を開始していない状態）は、掃除動作データベース１７で動作していないと補正動作種別決定部２３判定して、ステップＳ３６に進む。動作選択部２９にて掃除作業を選択して掃除を開始しており、かつ、進捗情報が「１」となっていると補正動作種別決定部２３で判断している場合は、掃除動作データベース１７で動作していると補正動作種別決定部２３で判定して、ステップＳ３４に進む。
【０２０２】
ステップＳ３４では、人の手１６でロボットアーム５を把持して、ロボットアーム５の掃除動作を補正したい方向に力を加えるとき、力検出部５３でロボットアーム５に加えられた力を検出し、力検出部５３で検出されかつ情報取得部１００で取得された人の手１６からの力（fｘ、fｙ、fｚ、fφ、fθ、fψ）のそれぞれのある一定時間の変位量を補正動作種別決定部２３で計測し、位置成分（fｘ、fｙ、fｚ）と姿勢成分（fφ、fθ、fψ）のどちらの変位量が大きいかを補正動作種別決定部２３で計測する。具体的には、図１５に示すように、（fｘ、fｙ、fｚ、fφ、fθ、fψ）それぞれの時系列の力を補正動作種別決定部２３で計測し、ある一定時間（例えばｔｉｍｅ  １）に力がどれくらい変位したかを補正動作種別決定部２３で計測し、最も変位の大きかった成分を計測する。この例では、fφの変位が最も大きいので、姿勢成分が位置成分より力がかかっていると補正動作種別決定部２３で判断してステップＳ３９へ進む。
【０２０３】
ステップＳ３４にて姿勢の変位量が位置の変位量より大きいと補正動作種別決定部２３で判断する場合には、補正の種別は「方向（姿勢）の変更」の種別であると補正動作種別決定部２３で決定して、補正の種別推定処理を終了する（ステップＳ３９）。
【０２０４】
一方、ステップＳ３４にて位置の変位量が姿勢の変位量以上であると補正動作種別決定部２３で判断する場合には、さらに、掃除面に垂直な方向の力成分（例えば地面に水平に設置された床面１０を掃除する場合はｆｚ）が、ある閾値（具体的には、図３３のＩＤ「１」のfdｚ）以上かどうか、を補正動作種別決定部２３で判定する（ステップＳ３５）。このとき、同時に、掃除面に水平な方向の力成分（例えば地面に水平に設定された床面１０を掃除する場合はｆｘ、ｆｙのいずれか若しくは両方）が、ある閾値（具体的には、図３３のＩＤ「１」のｆｄｘ、ｆｄｙ）以上かどうか、を補正動作種別決定部２３で判定する（ステップＳ４０）。
【０２０５】
ステップＳ３５で、掃除面に垂直な方向の力成分が前記ある閾値より小さいと補正動作種別決定部２３で判定された場合は、垂直面の補正なし（種別なし）と決定して、補正種別推定処理を終了する（ステップＳ４５）。ステップＳ４０で、掃除面に水平な方向の力成分が前記ある閾値より小さいと補正動作種別決定部２３で判定された場合は、水平面の補正なし（種別なし）と決定して、補正種別推定処理を終了する（ステップＳ４１）。
【０２０６】
ステップＳ４０で、掃除面に水平な方向の力成分が前記ある閾値以上であると補正動作種別決定部２３で判定された場合は、ステップＳ４２に進む。
【０２０７】
ステップＳ４２では、さらに掃除面の水平方向の移動量が、ある閾値（具体的には、図３３のＩＤ「２」のｇｘ、ｇｙ）以上であるか否かを補正動作種別決定部２３で判定する。ステップＳ４２で、さらに掃除面の水平方向の移動量が前記ある閾値（具体的には、図３３のＩＤ「２」のｇｘ、ｇｙ）以上であると補正動作種別決定部２３で判定された場合は、補正の種別として「掃除面の位置の移動」の種別であると補正動作種別決定部２３で決定して、補正種別推定処理を終了する（ステップＳ４３）
【０２０８】
ステップＳ４２で、掃除面の水平方向の移動量が前記ある閾値未満であると補正動作種別決定部２３で判定された場合は、補正の種別として、掃除面に水平な方向の「速度」の種別であると決定して、補正種別推定処理を終了する（ステップＳ４４）。
【０２０９】
ステップＳ３５で、掃除面に垂直な力が前記ある閾値以上であると補正動作種別決定部２３でと判定された場合は、さらに、掃除面の垂直方向の移動量が、ある閾値より大きいか否かを補正動作種別決定部２３で判断する（ステップＳ４６）。
【０２１０】
ステップＳ４６で、掃除面の垂直方向の移動量が前記ある閾値より大きいと補正動作種別決定部２３で判断された場合は、補正の種別として「掃除面垂直方向の移動」の種別であると決定して、補正種別推定処理を終了する（ステップＳ５０）。
【０２１１】
ステップＳ４６では、掃除面の垂直方向の移動量が前記ある閾値以下であると補正動作種別決定部２３で判断された場合は、ステップＳ４７に進み、ステップＳ４７で、さらに、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、拭き掃除の場合に力のビットが「１」となっているか、吸引力のビットが「１」となっているかを補正動作種別決定部２３で判断する。
【０２１２】
ステップＳ４７において、現在動作中（掃除動作データベースの進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、力のビットが「１」となっていると補正動作種別決定部２３で判断する場合には、拭き掃除を意味するので、補正の種別として「力の補正」と決定し（ステップＳ４８）、補正種別推定処理を終了する。一方、現在動作中（掃除動作データベース１７の進捗情報が「１」）の動作のフラグ（有効性を示すフラグ）において、吸引力のビットが「１」となっていると補正動作種別決定部２３で判断する場合は、吸引にて掃除をする場合を意味するので、補正の種別として「吸引力の補正」の種別であると決定し（ステップＳ４９）、補正種別推定処理を終了する。
【０２１３】
また、ステップＳ３３において、掃除動作データベース１７で動作していないと補正動作種別決定部２３で判定された場合には、ステップＳ３６に進み、ステップＳ３６にて、さらに、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上であるか否かを補正動作種別決定部２３で判断する。
【０２１４】
ステップＳ３６において、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上であると補正動作種別決定部２３で判断する場合には、補正の種別として「掃除をして欲しくない領域」の種別であると決定し（ステップＳ３８）、補正種別推定処理を終了する。ステップＳ３６で、人の手１６でロボットアーム５にかけている力が掃除面に対して水平ではない場合（例えば、垂直である場合）、又は、掃除面に水平な力であっても水平方向の移動量が前記ある閾値未満であると補正動作種別決定部２３で判断する場合は、補正の種別として「補正なし」と決定し（ステップＳ３６）、補正種別推定処理を終了する。
【０２１５】
以上により、ボタンなどのデータ入力ＩＦ２６を使わずに、補正動作種別決定部２３により、２種類以上の補正の種別を切り替えることができる。
【０２１６】
掃除動作補正部２０は、掃除動作データベース１７の位置と姿勢と時間とに基づいて動作中に、人の手１６でロボットアーム５に力をかけることで、掃除動作データベース１７の動作情報を補正する機能である。
【０２１７】
以下、掃除動作補正部２０の機能について説明する。    
人の手１６で、掃除ロボット１の上部に配置されているデータ入力ＩＦ２６（例えば操作盤２６Ａの電源ボタン２６ａなど）により電源を入れると、掃除動作補正部２０は、インピーダンス制御モードで動作するよう、制御パラメータ管理部２１へ指令を出す。
【０２１８】
次に、人の手１６で、動作選択部２９により、掃除動作データベース１７の掃除作業の一覧の中から所望の掃除作業を選択して、掃除動作開始の指示を行う。掃除動作補正部２０は、掃除動作データベース１７の中から選択された作業ＩＤの動作情報（具体的には、胴体部１９の位置及びロボットアーム５の位置と姿勢と時間と）に基づき胴体部１９及びロボットアーム５を力ハイブリッドインピーダンス制御モードで動作するように、制御パラメータ管理部２１へ指令を出す。
【０２１９】
力ハイブリッドインピーダンス制御モードの場合は、掃除動作データベース１７の動作ＩＤに対するフラグ（有効性を示すフラグ）のうち、フラグのビットが「１」になっているロボットアーム５の位置及び姿勢のそれぞれに対して、ハイブリッドインピーダンス制御モード（位置制御モードで動作している最中に、人などからロボットアーム５に加わる力に応じて、ロボットアーム５が作動するモード）が掃除動作補正部２０で設定され、吸引力又は力のフラグ（有効性を示すフラグ）のビットが「１」になっている成分は力制御モードが掃除動作補正部２０で設定される。位置及び姿勢の６成分のうち、ハイブリッドインピーダンス制御モードも力制御モードもいずれも設定されていない成分は、インピーダンス制御モードが掃除動作補正部２０で設定される。例えば、図４の作業ＩＤが「１」の場合は、塵を吸引する掃除をする作業を示しており、作業ＩＤが「１」の場合でかつ動作ＩＤが「１」の場合のフラグは１，２，１４ビット目のみ「１」であるので、ｘ軸及びｙ軸成分に対しては、ハイブリッドインピーダンス制御モードが掃除動作補正部２０で設定されるとともに、ｚ軸成分に対しては力制御モードが掃除動作補正部２０で設定され、姿勢成分に対してはインピーダンス制御モードが掃除動作補正部２０で設定される。図４の作業ＩＤが「２」の場合は、拭き掃除をする作業を示しており、作業ＩＤが「２」の場合でかつ動作ＩＤが「１」のフラグは１，２，８ビット目のみ「１」であるので、ｘ軸及びｙ軸成分にはハイブリッドインピーダンス制御モードが掃除動作補正部２０で設定され、ｚ軸成分には力制御モードが掃除動作補正部２０で設定され、姿勢成分にはインピーダンス制御モードが掃除動作補正部２０で設定される。
【０２２０】
制御パラメータ管理部２１は、掃除動作補正部２０から指令を受ける。すなわち、力ハイブリッドインピーダンス制御モードで掃除作業をするように掃除動作補正部２０から制御パラメータ管理部２１へ指令を出すと、図１６Ａ〜図１６Ｃに示すように、胴体部１９が指令した位置で掃除ロボット１が自走しながら、ロボットアーム５は、動作ＩＤの位置と姿勢と力若しくは吸引力とで掃除作業を開始する。
【０２２１】
次に、人が掃除面の汚れの状況などを確認して、図１２Ｃに示すように、もう少し横方向にロボットアーム５を平行移動させて掃除（吸引）させたい場合を例にとって説明する。
【０２２２】
図１２Ｃに示すように、人の手１６でロボットアーム５を直接把持して、掃除面に対して平行移動するように掃除面に平行に力をロボットアーム５にかける。
【０２２３】
補正動作種別決定部２３により、情報取得部１００で取得された、人の手１６がロボットアーム５にかけた力と掃除動作データベース１７に記憶された情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６で、掃除面と水平方向に力をロボットアーム５にかけて、ロボットアーム５をある閾値以上移動させているので、ステップＳ１４において、補正の種別として「掃除面の位置の移動」の種別であると補正動作種別決定部２３で決定する。
【０２２４】
図４の作業ＩＤが「１」の場合で動作ＩＤが「１」に示す作業の場合は、ｘ軸成分及びｙ軸成分は力ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム５を移動させながら、インピーダンス制御モードにより人の手１６でロボットアーム５にかけられた力を力検出部５３で検出して人の手１６でロボットアーム５に力をかけた方向にロボットアーム５をｘ軸方向及びｙ軸方向に移動させて、図１２Ｄのように掃除位置を補正することができる。
【０２２５】
なお、この例では、ｘ軸及びｙ軸の方向にのみ動作を補正したいので、補正動作種別決定部２３で補正の種別が決定されたタイミングで、補正動作種別決定部２３により、図６の補正パラメータフラグの０，１ビット目を「１」に設定するとともに、その他のビットを「０」に設定して、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ｘ軸及びｙ軸以外の移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部２３で変更して補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ロボットアーム５のｘ軸方向及びｙ軸方向の剛性を他の方向の剛性よりも低くして、人の手１６でロボットアーム５をｘ軸方向及びｙ軸方向に動かしやすくし、ｘ軸方向及びｙ軸方向以外の方向の剛性を高くして、人の手１６でロボットアーム５をｘ軸方向及びｙ軸方向以外の方向に動かしにくくするようにすることができる。これにより、ロボットアーム５のｘ軸成分及びｙ軸成分のみを補正したい場合に、ロボットアーム５のｚ軸成分の補正を誤って行なうことがないようにできる。また、ロボットアーム５のｘ軸及びｙ軸方向の補正中に、補正動作種別決定部２３により、ｚ軸成分の吸引の強さ若しくは掃除面にかける力を、補正前の動作時より弱く若しくは小さく（具体的には半分程度に）することもできる。又は、吸引又は力制御を停止するよう、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すこともできる。具体的には、掃除動作データベース１７のフラグの６〜１７ビット目を「０」に補正動作種別決定部２３で設定する。これにより、ｘ軸方向及びｙ軸方向にロボットアーム５を移動させて補正している最中に、ロボットアーム５に力をかけて床面１０を傷つけたり、塵以外のものを誤って吸い込むことを防ぐことができる。
【０２２６】
上述のように、人の手１６でロボットアーム５を把持して、掃除面と水平方向へ力をかけてロボットアーム５をΔｘ分及びΔｙ分だけｘ軸方向及びｙ軸方向に移動させた場合に、Δｘの値及びΔｙの値が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。
【０２２７】
掃除動作補正部２０では、選択された作業ＩＤの動作情報の全てのｘ座標の値からΔｘを減じ、さらに、全てのｙ座標の値から、Δｙを減じて補正した動作情報を、掃除動作補正部２０から制御パラメータ管理部２１へ送信する。制御パラメータ管理部２１は、Δｘ分及びΔｙ分の補正した座標でロボットアーム５が動作するように制御部２２へ指示する。これにより、図１２Ｄのような動作に補正される。次に、Δｘ及びΔｙ分だけ減じた動作情報を、掃除動作記憶部１５で掃除動作データベース１７に記憶する。
【０２２８】
次に、図３２Ｂのように、例えば、床面１０を掃除中に、床面１０に設置されたソファー１０Ｓなどの上面１０Ｓａを掃除させる場合は、人の手１６でロボットアーム５を直接把持して、掃除面に対して垂直方向に移動するように掃除面に垂直に力をロボットアーム５にかける。
【０２２９】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６がロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６でロボットアーム５に掃除面と垂直方向に力をかけてロボットアーム５をある閾値以上移動させているので、ステップＳ１９において、補正の種別として「掃除面の垂直方向の移動」の種別であると補正動作種別決定部２３で決定する。
【０２３０】
力ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム５を移動させながら、インピーダンス制御モードにより、人の手１６の力を力検出部５３で検出してロボットアーム５に人の手１６で力をかけた方向にロボットアーム５をｚ軸方向に移動させて、図３２Ｃのように掃除位置を補正することができる。
【０２３１】
なお、この例では、ｚ軸の方向にのみ動作を補正したいので、補正動作種別決定部２３で補正の種別が決定されたタイミングで、補正動作種別決定部２３により、図６の２ビット目を「１」に設定するとともに、それ以外のビットを「０」に設定して、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ｚ軸方向以外の移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部２３で変更して補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ｚ軸方向の剛性を他の方向の剛性よりも低くして、人の手１６でロボットアーム５をｚ軸方向に動かしやすくし、ｚ軸方向以外の剛性を高くして、人の手１６でロボットアーム５をｚ軸方向以外の方向に動かしにくくするようにすることができる。
【０２３２】
また、ロボットアーム５のｚ軸方向の動作を補正する際に、補正動作種別決定部２３により、ｚ軸成分の吸引の強さ若しくは掃除面にかける力を、補正前の動作時より弱く若しくは小さく（具体的には半分程度に）することもできる。又は、吸引又は力制御を停止するよう、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すこともできる。具体的には、掃除動作データベース１７のフラグの６〜１７ビット目を「０」に補正動作種別決定部２３で設定する。これにより、ｚ軸方向にロボットアーム５を移動させている最中に、ロボットアーム５に力をかけたり吸引することで床面１０を傷つけたり、塵以外のものを誤って吸い込むことを防ぐことができる。
【０２３３】
上述のように、人の手１６でロボットアーム５を把持して、掃除面と垂直方向へ力をかけてロボットアーム５をΔｚ分だけｚ軸方向に移動させた場合に、Δｚの値が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。
【０２３４】
掃除動作補正部２０では、選択された作業ＩＤの動作情報の全てのｚ座標の値からΔｚを減じて補正した動作情報を、掃除動作補正部２０から制御パラメータ管理部２１へ送信する。制御パラメータ管理部２１は、Δｚ分の補正した座標でロボットアーム５が動作するように制御部２２へ指示する。これにより、図３２Ｃのような動作に補正される。次に、Δｚ分減じた動作情報を、掃除動作記憶部１５で掃除動作データベース１７に記憶する。
【０２３５】
図３０Ｂのように、例えば、畳Ｔの目Ｔｍに逆らって掃除している場合に、畳Ｔの目Ｔｍに沿って掃除するように掃除部８，１８の長手方向を変更させて掃除させる場合は、図３０Ｃのように、人の手１６でロボットアーム５を直接把持して、掃除部８，１８の長手方向を変更したい方向にロボットアーム５のを移動させます。
【０２３６】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６がロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６でロボットアーム５に掃除部８，１８の長手方向を変更したい方向に移動させようと力をかけているので、ステップＳ９において、補正の種別として「方向（姿勢）の変更」の種別であると補正動作種別決定部２３で決定する。
【０２３７】
力ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム５を移動させながら、インピーダンス制御モードにより、人の手１６でロボットアーム５にかけた力を力検出部５３で検出して人の手１６でロボットアーム５に力をかけた方向にロボットアーム５をφ軸方向に回転させて、図３０Ｄのように掃除方向を補正することができる。
【０２３８】
なお、この例では、φ軸の方向にのみ動作を補正したいので、補正動作種別決定部２３で補正の種別が決定されたタイミングで、補正動作種別決定部２３により、図６の補正パラメータフラグの３ビット目を「１」に設定するとともに、それ以外のビットを「０」に設定して、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。これにより、φ軸方向以外の移動ができないように補正動作種別決定部２３で設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を補正動作種別決定部２３で変更して補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、φ軸方向の剛性を他の方向の剛性より低くして、人の手１６でロボットアーム５をφ軸方向に動かしやすくし、φ軸方向以外の剛性を高くして、人の手１６でロボットアーム５をφ軸方向以外の方向に動かしにくくするようにすることができる。
【０２３９】
また、ロボットアーム５のφ軸方向の補正中に、補正動作種別決定部２３により、ｚ軸成分の吸引の強さ若しくは掃除面にかける力を、補正前の動作時より弱く若しくは小さく（具体的には半分程度に）することができる。又は、吸引又は力制御を停止するよう、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すこともできる。具体的には、掃除動作データベース１７のフラグの６〜１７ビット目を「０」に補正動作種別決定部２３で設定する。これにより、φ軸方向に移動させている最中に、ロボットアーム５に力をかけて床面１０を傷つけたり、塵以外のものを誤って吸引することを防ぐことができる。
【０２４０】
上述のように、人の手１６でロボットアーム５を把持して、掃除面と垂直方向へ力をかけてロボットアーム５をΔφ分だけφ軸方向に回転させた場合に、Δφの値が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。
【０２４１】
掃除動作補正部２０では、選択された作業ＩＤの動作情報の全てのφ座標の値からΔφを減じて補正した動作情報を、掃除動作補正部２０から制御パラメータ管理部２１へ送信する。制御パラメータ管理部２１は、Δφ分の補正した座標でロボットアーム５が動作するように制御部２２へ指示する。これにより、図１２Ｅのような動作に補正される。次に、Δφ分だけ減じた動作情報を、掃除動作記憶部１５で掃除動作データベース１７に記憶する。
【０２４２】
以上により、掃除動作補正部２０は、掃除動作データベース１７の位置と姿勢と時間とにより、力ハイブリッドインピーダンス制御モードで動作している状態で、人の手１６でロボットアーム５に力をかけることで、生成された位置を方向別に補正することができるようになる。
【０２４３】
次に、図２７Ｂのように、拭き掃除時の掃除面に対する力を変更する場合は、人の手１６でロボットアーム５を直接把持して、掃除面に対して垂直方向に力をロボットアーム５にかける。
【０２４４】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６がロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６で掃除面と垂直方向に力をロボットアーム５にかけて、ロボットアーム５をある閾値以上移動させていないので、ステップＳ１７において、補正の種別として「力の補正」の種別であると補正動作種別決定部２３で決定する。
【０２４５】
補正動作種別決定部２３で補正の種別が「力の補正」であると決定したタイミングで、力ハイブリッドインピーダンス制御モードから高剛性位置制御モードで動作するよう補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。補正動作種別決定部２３から制御パラメータ管理部２１への指令時に、高剛性位置制御モードでは、方向別に位置制御時の高剛性を補正動作種別決定部２３で設定することができるため、例えば図４の掃除動作データベース１７の作業ＩＤ「２」でかつ動作ＩＤ「１」の動作のフラグは、０、１、８ビットが「１」に設定されているので、ｚ軸方向は力制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するため、ｚ軸方向のみ高剛性位置制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するよう、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。
【０２４６】
次に、図２７Ｂに示すように、ロボットアーム５が拭き掃除中に、汚れのひどい部分でロボットアーム５が動作している最中に、人の手１６でロボットアーム５を直接把持して、掃除面を強めに拭き掃除をしたい場合には、人の手１６で掃除面に向かってロボットアーム５（例えば、ロボットアーム５モップ１８）に下方向に力をかける。高剛性位置制御モードでは、掃除時のハイブリッドインピーダンス制御モードのうち、方向別設定された位置制御モードを、さらに高剛性にしたモードで、かつ、位置誤差補償部５６でのゲインを大きく（具体的には、掃除時の位置制御モードの２倍程度に）することで実現し、人の手１６でロボットアーム５に力をかけると、ロボットアーム５を容易に移動させないようにすることがで、人の手１６でロボットアーム５にかけた力を力検出部５３で検出することができる。制御部２２の力検出部５３で検出された力を掃除動作補正部２０に通知する。掃除動作補正部２０に通知された力を、掃除動作記憶部１５で掃除動作データベース１７に記憶することで、汚れている部分のみを強めに拭き掃除するよう動作を補正することができる。人が補正を終了したい場合は、ロボットアーム５を把持して力をロボットアーム５にかけることを止める。人の手１６でロボットアーム５に力をかけない場合は、図１４のステップＳ２により、力の全ての成分が閾値以下になるので、補正動作種別決定部２３により、補正の種別として「補正なし」であると決定する（図１４のステップＳ２０）。掃除動作補正部２０は、「補正なし」の情報を受けて、高剛性の位置制御モードからハイブリッドインピーダンス制御モードで制御するよう、補正動作種別決定部２３から制御パラメータ管理部２１に指令を出す。これにより、補正後の掃除動作データベース１７で掃除を行う。
【０２４７】
以上により、掃除動作補正部２０は、掃除動作データベース１７の力の情報により、ハイブリッドインピーダンス制御モードで動作している状態で、人の手１６が力をかけることで、補正された力で掃除するように補正することができるようになる。
【０２４８】
次に、図２８Ｃのように、掃除面に対する吸引力を変更する場合は、人の手１６でロボットアーム５を直接把持して、掃除面に対して垂直方向に力をロボットアーム５にかける。
【０２４９】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６でロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６で掃除面と垂直方向に力をロボットアーム５にかけて、ロボットアーム５をある閾値以上移動させていないので、ステップＳ１８において、補正の種別として、「吸引力の補正」の種別であると補正動作種別決定部２３で決定する。
【０２５０】
補正動作種別決定部２３により補正の種別として「吸引力の補正」であると決定したタイミングで、力ハイブリッドインピーダンス制御モードから高剛性位置制御モードで動作するよう補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。補正動作種別決定部２３から制御パラメータ管理部２１への指令時に、高剛性位置制御モードでは、方向別に位置制御時の高剛性を補正動作種別決定部２３で設定することができるため、例えば図４の掃除動作データベース１７の作業ＩＤ「１」でかつ動作ＩＤ「１」の動作のフラグは、０、１、１４ビットが「１」に設定されているので、ｚ軸方向は吸引制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するため、ｚ軸方向のみ高剛性位置制御モードで動作し、その他の方向はハイブリッドインピーダンス制御モードで動作するように補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出す。
【０２５１】
次に、図２８Ｂに示すように、ロボットアーム５が吸引掃除中に、汚れのひどい部分でロボットアーム５が動作している最中に、人の手１６でロボットアーム５を直接把持して、掃除面を強めに吸引したい場合には、人の手１６で掃除面に向かってロボットアーム５（例えば、ロボットアーム５のモップ１８）に下方向に力をかける。高剛性位置制御モードでは、通常の位置制御モードをさらに高剛性にしたモードで、かつ、位置誤差補償部５６でのゲインを大きくすることで実現し、人の手１６でロボットアーム５に力をかけると、ロボットアーム５を容易に移動させないようにすることができ、人の手１６でロボットアーム５にかけた力を力検出部５３で検出することができる。制御部２２の力検出部５３で検出された力を掃除動作補正部２０に制御パラメータ管理部２１を介して通知し、掃除動作補正部２０は、掃除動作データベース１７のｚ軸方向の吸引力を、掃除動作データベース１７（又は、掃除動作補正部２０の記憶部）内に記憶された図１９に示す変換表を使用して、力から吸引力に変換する。例えば、人がロボットアーム５にかけた力が４.５［Ｎ］の場合には、変換表より、力が４〜５［Ｎ］に対応して吸引力が「４」と変換されるため、吸引力「４」を掃除動作記憶部１５で掃除動作データベース１７に記憶することで、汚れている部分のみを強めに吸引して掃除するよう動作を補正することができる。人が補正を終了したい場合は、ロボットアーム５を人の手１６で把持して人の手１６でロボットアーム５に力をかけることを止めればよい。すなわち、人の手１６でロボットアーム５に力をかけない場合は、図１４のステップＳ２により、力の全ての成分が閾値以下になるので、補正動作種別決定部２３により、補正の種別として「補正なし」であると決定する（図１４のステップＳ２０）。掃除動作補正部２０は、補正の種別として「補正なし」であるとの決定を受けて、高剛性の位置制御モードからハイブリッドインピーダンス制御モードで制御するよう、制御パラメータ管理部２１に指令を出す。これにより、補正後の掃除動作データベース１７で掃除を行う。
【０２５２】
以上により、掃除動作補正部２０は、掃除動作データベース１７の吸引力により、ハイブリッドインピーダンス制御モードで動作している状態で、人の手１６でロボットアーム５に力をかけることで、補正された吸引力で掃除するように補正することができるようになる。
【０２５３】
次に、図２９Ｄのように、掃除の速度を変更する場合は、人の手１６でロボットアーム５を直接把持して、加速したい場合は、掃除の進行方向と同じ向きに人の手１６でロボットアーム５に力をかけ、減速したい場合は、掃除の進行方向に逆らう向きに人の手１６でロボットアーム５に力をかける。その際に、ロボットアーム５の手先位置の速度を変えても良いが、位置はある閾値以上動かさないように人の手１６でロボットアーム５に力をかける。
【０２５４】
補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６でロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、図１４のフローチャートに示した補正種別推定処理で補正の種別を推定して決定する。ここでは、人の手１６で掃除面に水平な方向に力をロボットアーム５にかけて、ロボットアーム５をある閾値以上移動させていないので、図１４のステップＳ１５により、補正の種別として、掃除面に水平な方向の「速度」の種別であると補正動作種別決定部２３で決定する。
【０２５５】
ハイブリッドインピーダンス制御モードにより、位置制御モードでロボットアーム５を移動させながら、インピーダンス制御モードにより、人の手１６でロボットアーム５にかけた力を力検出部５３で検出して、人の手１６でロボットアーム５に力をかけた方向に、ロボットアーム５をｘ軸方向及びｙ軸方向に移動させる。掃除動作データベース１７で例えば作業ＩＤと動作ＩＤとで示されたロボットアーム５の位置（ｘ１、ｙ２、ｚ１）から、次の動作ＩＤのロボットアーム５の位置（ｘ２、ｙ２、ｚ２）まで移動するのにかかる時間をｔ１とすると、ロボットアーム５の速度を人の手１６の力で変更した場合（図２９Ｃ参照）には、すなわち、位置（ｘ１、ｙ２、ｚ１）から位置（ｘ２、ｙ２、ｚ２）までに移動するのにかかる時間がｔ１からｔ２に変更された場合には、時間ｔ２の値が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。掃除動作補正部２０では、選択された作業ＩＤの動作情報について、ｔ１の時間からｔ２の時間に変更して、掃除動作補正部２０から制御パラメータ管理部２１へ送信する。制御パラメータ管理部２１において、補正した時間であるｔ２で動作するように制御パラメータ管理部２１から制御部２２へ指示する。これにより、図２９Ｄのような動作に補正される。次に、時間ｔ２を、掃除動作記憶部１５で掃除動作データベース１７に記憶する。
【０２５６】
以上により、掃除動作補正部２０は、掃除動作データベース１７の位置と姿勢と時間との情報により、力ハイブリッドインピーダンス制御モードで動作している状態で、人の手１６でロボットアーム５に力をかけることで、ロボットアーム５の動作速度を補正することができるようになる。
【０２５７】
図３１に示すように、掃除ロボット１に掃除をして欲しくない領域ＲＢを、ロボットアーム５を使って設定する場合を例にとって説明する。
【０２５８】
人の手１６で掃除ロボット１の上部に配置されているデータ入力ＩＦ２６（例えば操作盤２６Ａの電源ボタン２６ａなど）により電源を入れると、掃除動作補正部２０は、インピーダンス制御モードで動作するよう、制御パラメータ管理部２１へ指令を出す。動作選択部２９にて作業を選択していない状態で、図３１に示すように、人１６Ａの手１６がロボットアーム５（掃除部８，１８）を直接把持して、掃除面に対して平行移動するようにロボットアーム５を移動させて、掃除をして欲しくない領域ＲＢの輪郭に沿って、ロボットアーム５を移動させる。図２０Ａは掃除面を上方から見た図で、掃除をして欲しくない領域ＲＢを斜線の領域とすると、人の手１６がロボットアーム５を移動させて、矢印のように、掃除をして欲しくない領域ＲＢの輪郭にロボットアーム５を沿わせて、移動させる。その際、ロボットアーム５の手先（ハンド３０）に取り付けた掃除部の一例としての吸引ノズル８の上面の中央先端にマーク６３が付与されており（図３１、図２０Ａ及び図２０Ｂ参照）、掃除をして欲しくない方向にマーク６３を向けて移動させる。
【０２５９】
補正動作種別決定部２３により、図１４に示した補正種別推定処理を実行して掃除動作データベース１７で動作していないと判定し（ステップＳ２，Ｓ３，Ｓ６）、さらに、人の手１６でロボットアーム５にかけている力が掃除面に水平であり、かつ、ある一定時間の水平方向の移動量が、ある閾値以上の場合は、ステップＳ８において、補正の種別として「掃除をして欲しくない領域」の種別であると決定する。
【０２６０】
インピーダンス制御モードにより、人の手１６でロボットアーム５にかけた力を力検出部５３で検出して人の手１６でロボットアーム５に力をかけた方向にロボットアーム５をｘ軸方向及びｙ軸方向に移動させて、図２０Ａのように、位置（ｘ１、ｙ１）、位置（ｘ２、ｙ２）、位置（ｘ３、ｙ３）、位置（ｘ４、ｙ４）の順にロボットアーム５の吸引ノズル８を移動させると、これらの位置情報が、制御部２２と制御パラメータ管理部２１とを経由して、掃除動作補正部２０に送信される。掃除動作補正部２０は、その指令を受けて、これらの位置情報が掃除不可領域ＲＢの情報として、掃除動作記憶部１５により掃除不可領域データベース２８に記憶する。これらの４つの位置が掃除不可領域ＲＢの頂点の情報であることは、例えば、ある一定間隔で人が移動させたロボットアーム５の手先位置を取得して、取得した手先位置の座標をつなげて領域を生成し、それを掃除不可領域ＲＢとすることができる。補正種別決定方法設定部２７で、どのような形の領域とするかを決定する機能を追加し、例えば、「矩形」と設定されている場合は、９０度近くの角度で移動方向が変われば、その位置を頂点の情報として記憶し、「ランダム」と設定された場合は、ある一定間隔で人が移動させたロボットアーム５の手先位置を取得して、取得した手先位置の座標をつなげて生成し、それを掃除不可領域ＲＢとすることができる。
【０２６１】
なお、この例では、ｘ軸及びｙ軸の方向にのみロボットアーム５の動作を補正したいので、補正動作種別決定部２３で、補正の種別が決定されたタイミングで、図６の補正パラメータフラグの０，１ビット目を「１」に設定するとともに、その他のビットを「０」に設定して、補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ロボットアーム５がｘ軸方向及びｙ軸方向以外の軸方向への移動ができないように設定することができる。さらに、インピーダンス制御モード時の機械インピーダンス設定値を変更して補正動作種別決定部２３から制御パラメータ管理部２１へ指令を出すことで、ｘ軸方向及びｙ軸方向の剛性を低くして、人の手１６でロボットアーム５をｘ軸方向及びｙ軸方向に動かしやすくし、ｘ軸方向及びｙ軸方向以外の軸方向の剛性を高くして、人の手１６でロボットアーム５をｘ軸方向及びｙ軸方向以外の方向に動かしにくくするようにできる。
【０２６２】
以上により、掃除動作補正部２０は、人の手１６が力をかけることで、掃除をしてほしくない領域の設定を行うことができるようになる。
【０２６３】
表示部１４には、図２１に示すように、表示部１４の画面を左右２画面１４ａ，１４ｂに分割して表示し、左側の画面１４ａに、掃除動作データベース１７で記述されたロボットアーム５の動作が映像若しくは写真若しくはテキストで表示される。さらに、右側の画面１４ｂには、補正動作種別決定部２３にて推定された補正の種別の情報を映像若しくは写真若しくはテキストで表示する。この図２１の例では、人の手１６で掃除面に垂直に力をロボットアーム５にかけて、力のかけ具合を補正するような動作をすると、補正動作種別決定部２３が、補正の種別として「力の補正」の種別であると決定したタイミングで、右側の画面１４ｂに力の補正をしている映像と現在の力の強弱を表示する。
【０２６４】
なお、この例では、映像若しくは写真若しくはテキストとしたが、動作を説明する音声などでも良い。
【０２６５】
以上の掃除動作補正部２０と補正動作種別決定部２３と動作選択部２９と掃除動作記憶部１５と掃除動作データベース２０と制御パラメータ管理部２１の動作ステップ（すなわち、掃除ロボット１を駆動開始してから掃除作業を開始するまでの間に行う、掃除作業及び掃除動作の設定処理）について、図２４のフローチャートに基づいて説明する。
【０２６６】
人の手１６でデータ入力ＩＦ２６により、掃除ロボット１の電源をオンする（ステップＳ１２１）。
【０２６７】
次いで、掃除動作補正部２０が、インピーダンス制御モードで制御するように制御パラメータ管理部２１へ指令を出す（ステップＳ１２２）。
【０２６８】
次に、掃除不可領域ＲＢの補正かどうか、を補正動作種別決定部２３により判定する（ステップＳ１３０）。掃除不可領域ＲＢの補正であると補正動作種別決定部２３により判定された場合は、掃除動作補正部２０にて補正を行い（ステップＳ１３３）、その補正の情報を掃除動作記憶部１５により掃除動作データベース１７に記憶する（ステップＳ１３４）。その後、ステップＳ１２３に進む。
【０２６９】
ステップＳ１３０で掃除不可領域ＲＢの補正ではないと補正動作種別決定部２３により判定された場合、又は、ステップＳ１３４を実行した後、動作選択部２９により、人が、表示部１４に表示された掃除作業の一覧から１つの掃除作業をデータ入力ＩＦ２６を介して選択し、掃除動作データベース１７の進捗情報に、選択された現在の掃除作業を設定する（ステップＳ１２３）。
【０２７０】
次いで、掃除動作補正部２０は、制御パラメータ管理部２１へ力ハイブリッドインピーダンス制御モードで動作するよう指令を出し、人の手１６でロボットアーム５を床面１０などの掃除面まで誘導し、データ入力ＩＦ２６（例えば、掃除スイッチ２６ｃのスタートボタン）にて、掃除作業開始の指令を行う（ステップＳ１２４）。
【０２７１】
次いで、人が補正したい方向に力をかけると、補正動作種別決定部２３により補正動作の種別を推定して決定する（ステップＳ１２５）。
【０２７２】
次いで、ステップＳ１２５で、補正の種別として、掃除面にかける力又は吸引力の種別であると補正動作種別決定部２３で決定した場合は、掃除面に垂直な方向に対して高剛性の位置制御モードで動作するよう、掃除動作補正部２０から制御パラメータ管理部２１へ指令を出す（ステップＳ１２６，Ｓ１２７）。
【０２７３】
次いで、人の手１６でロボットアーム５を把持して、補正したい方向に人の手１６でロボットアーム５に力をかけることで、掃除動作補正部２０が動作情報を補正する（ステップＳ１２８）。
【０２７４】
一方、ステップＳ１２５で、補正の種別として掃除面にかける力又は吸引力の種別以外であると決定した場合は、制御モードは力インピーダンス制御モードで変更せず、補正したい方向に人の手１６でロボットアーム５に力をかけることで、掃除動作補正部２０が動作情報を補正する（ステップＳ１２６，Ｓ１２８）。
【０２７５】
次いで、ステップＳ１２８で補正された掃除動作情報は、掃除動作記憶部１５により、掃除動作データベース１７に記憶されて、一連の掃除作業及び掃除動作の設定処理を終了する（ステップＳ１２９）。
【０２７６】
一方、ステップＳ１２５で、補正動作種別決定部２３により、補正の種別として「補正なし」であると決定した場合は、一連の掃除作業及び掃除動作の設定処理を終了する（ステップＳ１２６，Ｓ１３１）。
【０２７７】
掃除作業及び掃除動作の設定処理終了後は、設定された掃除作業及び掃除動作に基づき、掃除ロボット１により掃除を行う。
【０２７８】
以上の動作ステップＳ１２１〜ステップＳ１３１，ステップＳ１３２，ステップＳ１３３及びステップＳ５１〜ステップＳ６２により、力ハイブリッドインピーダンス制御で動作中に、ハイブリッドインピーダンス制御モード若しくは高剛性位置制御にて、掃除動作を補正することで、ロボットアーム５による掃除作業が実現する。
【０２７９】
また、補正動作種別決定部２３により、複数の掃除動作をボタンなどを使わずに人の手１６でロボットアーム５に力をかけるだけで、自動で切り替えて補正することが可能となる。
【０２８０】
さらに、補正動作種別決定部２７により、ロボットアーム５の操作に慣れた人又は熟練した人は、一度の補正で２種類の補正を同時に行い、逆に、操作に不慣れな人は、一度に１種類の補正を行うことができる。
【０２８１】
また、制御パラメータ管理部２１と制御部２２とを有することにより、補正動作の種別に応じて、ロボットアーム５の機械インピーダンス値を適宜設定することで、ロボットアーム５の補正方向に応じて、機械インピーダンス値を変更させて制御したり、補正中の吸引力又は力を弱めたり停止することができるので、掃除動作の補正中に、床面１０を傷つけたり、塵以外のものを誤って吸い込むことを防ぐことができる。
【０２８２】
なお、前記実施形態において、掃除動作補正部２０は、補正動作種別決定部２３により、情報取得部１００でそれぞれ取得された、人の手１６でロボットアーム５にかけた力と掃除動作データベース１７の情報とにより、補正の種別の推定を行った後で、すぐに掃除動作の補正を行ったが、人の手１６で誤ってロボットアーム５に力をかけて、人の意図しない補正の種別を選択してしまう事を防ぐために、補正動作種別決定部２３で推定後、ある一定時間後に補正を開始しても良い。この場合、補正が始まるまでは、人は意図した補正種別を選択するまで、何度でも操作することができる。
【０２８３】
また、前記実施形態において、動作選択部２９と動作記憶部１５と掃除動作補正部２０と補正動作種別決定部２３と補正種別決定方法設定部２７と制御パラメータ管理部２１と制御部２２となどのそれぞれ、又は、そのうちの任意の一部は、それ自体がソフトウェアで構成することができる。よって、例えば、本明細書の前記実施形態の制御動作を構成するステップを有するコンピュータプログラムとして、記憶装置（ハードディスク等）などの記録媒体に読み取り可能に記憶させ、そのコンピュータプログラムをコンピュータの一時記憶装置（半導体メモリ等）に読み込んでＣＰＵを用いて実行することにより、前記した各ステップを実行することができる。
【０２８４】
さらに、前記様々な実施形態及び変形例のうちの任意の実施形態又は任意の変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０２８５】
本発明は、家庭用ロボットなど人とロボットが協調して作業を行う際の掃除機のロボットアームの動作の制御を行う掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路として有用である。また、家庭用ロボットに限らず、産業用ロボット、又は、生産設備等における可動機構を有する掃除機の制御装置及び制御方法、掃除機、掃除機の制御プログラム、及び、集積電子回路としても適用が可能である。
【０２８６】
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御装置であって、
前記ロボットアームに作用する人の力を検出する力検出手段と、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出された前記ロボットアームに作用する前記人の力に関する情報とをそれぞれ取得する情報取得部と、
前記情報取得部でそれぞれ取得した前記掃除動作に関する情報と前記人の力に関する情報とから前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備える掃除機の制御装置。
【請求項２】
前記補正動作種別決定手段は、前記掃除動作を補正する補正動作の種別を複数個決定し、
前記掃除動作補正手段は、前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の前記複数個の種別とに応じて、前記駆動装置を駆動制御して前記複数個の種別の補正動作に基づいて前記掃除動作を補正する請求項１に記載の掃除機の制御装置。
【請求項３】
前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部の前記掃除位置の情報と、前記掃除部から前記掃除面にかける力情報と、前記掃除部の掃除の方向に関する情報と、前記掃除部の吸引力の強さに関する情報と、前記掃除部の速度情報と、掃除を行わない領域に関する情報である掃除不可領域情報のうちの少なくとも１つの情報を有する請求項１に記載の掃除機の制御装置。
【請求項４】
前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部から前記掃除面にかける力情報と、前記掃除部の吸引力の強さに関する情報とを少なくとも有し、
前記掃除動作補正手段は、前記掃除動作に関する情報に基づいて、予め設定された力を前記ロボットアームから前記掃除面に作用させて前記掃除動作を行なう力制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除動作を前記ロボットアームで行っている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、補正動作前の前記掃除動作中の前記ロボットアームの剛性に比べて前記ロボットアームの剛性が高くなるような、前記ロボットアームの位置を制御する位置制御の下で、補正動作前の前記掃除動作に関する情報のうちの前記設定された力の大きさ又は方向を補正する請求項１に記載の掃除機の制御装置。
【請求項５】
前記掃除動作に関する情報は、前記ロボットアームが行う前記掃除作業に応じた、前記掃除部の前記掃除位置の情報と、前記掃除部の掃除の方向に関する情報と、前記掃除部の速度情報と、掃除を行わない領域に関する情報である掃除不可領域情報とを有し、
前記掃除動作補正手段は、前記掃除動作に関する情報に基づいて、前記ロボットアームの位置を制御する位置制御モードで動作している最中に、駆動停止している前記ロボットアームに対して前記人から前記ロボットアームに加わる力に応じて前記ロボットアームが作動するインピーダンス制御モードを前記ロボットアームが移動可能なｘｙｚ軸方向のそれぞれの軸別に設定して前記掃除作業を動作させている最中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力に応じて、前記インピーダンス制御での前記掃除動作に関する情報の前記掃除動作を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項６】
前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記ロボットアームの機械インピーダンス設定値を設定する制御パラメータ管理手段と、
前記制御パラメータ管理手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの前記機械インピーダンスの値を制御するインピーダンス制御手段とをさらに備える請求項１〜５のいずれか１つに記載の掃除機の制御装置。
【請求項７】
前記インピーダンス制御手段は、前記補正動作の種別に基づき、前記ロボットアームの前記手先の並進方向及び回転方向の６軸の方向の機械インピーダンス設定値を個別に設定するとともに、
さらに、前記補正動作種別決定部で決定された前記補正動作の種別として、前記手先の前記掃除部の掃除の方向を補正するとき、制御パラメータ管理手段は、前記掃除の方向の剛性を、前記掃除の方向とは異なる方向の剛性よりも高くなるように前記機械インピーダンス設定値を設定する請求項６に記載の掃除機の制御装置。
【請求項８】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以下であり、かつ前記掃除面に平行な方向の力成分が第２の閾値以上である場合に、前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量が第３閾値以上である場合に、前記補正動作の種別として、掃除面の位置の移動の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に平行な方向に前記ロボットアームの前記手先の位置を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項９】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値より大きい場合に、前記補正動作の種別として、掃除面垂直方向の位置の移動の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向に前記ロボットアームの前記手先の位置を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１０】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値以下であり、かつ、前記掃除作業が拭き掃除である場合に、前記補正動作の種別として、力のかけ具合の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向への前記ロボットアームのかかる力を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１１】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１の閾値以上であり、かつ、前記補正動作種別決定手段で検出された前記ロボットアームの前記手先の位置の前記掃除面に垂直な方向の移動量が第４の閾値以下であり、かつ、前記掃除作業が吸引掃除である場合に、前記補正動作の種別として、吸引力の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に垂直な方向への前記吸引力を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１２】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記掃除面に垂直な方向の力成分が第１閾値未満であり、かつ、前記掃除面に平行な方向の力成分が第２閾値以上である場合に、前記補正動作種別決定手段により検出された前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量が第３閾値未満である場合に、前記補正動作の種別として、速度の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記掃除面に平行な方向に前記ロボットアームの前記手先の位置の速度を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１３】
前記補正動作種別決定手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームにかかる前記人の力に基づき前記ロボットアームにかかる力の変位量を計測して、計測結果に基づき位置成分と姿勢成分の変位量を比較して、前記姿勢の変位量が前記位置成分の変位量よりも大きい場合には、前記補正動作の種別として、姿勢の補正の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の姿勢を補正するように前記駆動装置を駆動制御する請求項１に記載の掃除機の制御装置。
【請求項１４】
前記補正動作種別決定手段は、前記ロボットアームの前記手先の位置の前記掃除面に平行な方向の移動量を検出するとともに、
前記補正動作種別決定手段は、前記人の手により前記ロボットアームにかかる力が前記掃除面に平行であり、かつ、前記補正動作種別決定手段により検出されたある一定時間の前記掃除面に平行な方向の移動量が閾値以上の場合には、前記補正動作の種別として、掃除不可領域の設定の種別であると決定し、
さらに、前記掃除動作補正手段は、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記ロボットアームの前記手先の位置を移動させることで、前記掃除不可領域を設定する請求項１に記載の掃除機の制御装置。
【請求項１５】
前記補正動作種別決定手段で決定した前記補正動作の種別に基づき、前記補正動作の種別に関する情報を表示する表示手段をさらに備える請求項１〜５，８〜１４のいずれか１つに記載の掃除機の制御装置。
【請求項１６】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御方法であって、
前記ロボットアームに作用する人の力を力検出手段で検出し、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する前記人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定し、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正する掃除機の制御方法。
【請求項１７】
前記ロボットアームと、
前記ロボットアームを前記駆動装置で駆動制御する請求項１〜５，８〜１５のいずれか１つに記載の掃除機の制御装置と、
を備える掃除機。
【請求項１８】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御プログラムであって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を補正動作種別決定手段で決定するステップと、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を掃除動作補正手段で補正する掃除動作補正ステップとをコンピュータに実行させための掃除機の制御プログラム。
【請求項１９】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端の手先に取り付けられて掃除面に接触する掃除部と、前記移動体と前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して家庭内で掃除作業を行う掃除機の制御用集積電子回路であって、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と力検出手段で検出しかつ情報取得部で取得した前記ロボットアームに作用する人の力に関する情報とを用いて、前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出しかつ前記情報取得部で取得した前記ロボットアームに作用する前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備える掃除機の制御用集積電子回路。
【請求項２０】
移動体と、基端が前記移動体に連結されたロボットアームと、前記ロボットアームの先端に取り付けられて掃除面に接触する掃除部と、前記ロボットアームと前記掃除部とを駆動する駆動装置とを備える掃除機の前記駆動装置を駆動制御して掃除作業を行う掃除機の制御装置であって、
前記ロボットアームに作用する人の力を検出する力検出手段と、
前記掃除作業における前記掃除部の吸引力及び前記掃除部の掃除位置を含む掃除動作に関する情報と前記力検出手段で検出された前記ロボットアームに作用する前記人の力に関する情報とをそれぞれ取得する情報取得部と、
前記情報取得部でそれぞれ取得した前記掃除動作に関する情報と前記人の力に関する情報とから前記掃除動作を補正する補正動作の種別を決定する補正動作種別決定手段と、
前記ロボットアームの前記掃除作業中に、前記力検出手段で検出した前記人の力と前記補正動作種別決定手段で決定された前記補正動作の種別とに応じて、前記駆動装置を駆動制御して前記掃除動作を補正する掃除動作補正手段とを備える掃除機の制御装置。
【請求項２１】
前記移動体は吸引ポンプを備え、前記駆動装置は前記吸引ポンプを駆動して、前記掃除動作の吸引力を制御する請求項２０に記載の掃除機の制御装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2010016210.tif 000076
【図２Ａ】
2010016210.tif 000077
【図２Ｂ】
2010016210.tif 000078
【図３】
2010016210.tif 000079
【図４】
2010016210.tif 000080
【図５】
2010016210.tif 000081
【図６】
2010016210.tif 000082
【図７】
2010016210.tif 000083
【図８】
2010016210.tif 000084
【図９】
2010016210.tif 000085
【図１０】
2010016210.tif 000086
【図１１】
2010016210.tif 000087
【図１２Ａ】
2010016210.tif 000088
【図１２Ｂ】
2010016210.tif 000089
【図１２Ｃ】
2010016210.tif 000090
【図１２Ｄ】
2010016210.tif 000091
【図１３Ａ】
2010016210.tif 000092
【図１３Ｂ】
2010016210.tif 000093
【図１３Ｃ】
2010016210.tif 000094
【図１４】
2010016210.tif 000095
【図１５】
2010016210.tif 000096
【図１６Ａ】
2010016210.tif 000097
【図１６Ｂ】
2010016210.tif 000098
【図１６Ｃ】
2010016210.tif 000099
【図１７】
2010016210.tif 000100
【図１８Ａ】
2010016210.tif 000101
【図１８Ｂ】
2010016210.tif 000102
【図１９】
2010016210.tif 000103
【図２０Ａ】
2010016210.tif 000104
【図２０Ｂ】
2010016210.tif 000105
【図２１】
2010016210.tif 000106
【図２２】
2010016210.tif 000107
【図２３】
2010016210.tif 000108
【図２４】
2010016210.tif 000109
【図２５】
2010016210.tif 000110
【図２６】
2010016210.tif 000111
【図２７Ａ】
2010016210.tif 000112
【図２７Ｂ】
2010016210.tif 000113
【図２７Ｃ】
2010016210.tif 000114
【図２８Ａ】
2010016210.tif 000115
【図２８Ｂ】
2010016210.tif 000116
【図２８Ｃ】
2010016210.tif 000117
【図２９Ａ】
2010016210.tif 000118
【図２９Ｂ】
2010016210.tif 000119
【図２９Ｃ】
2010016210.tif 000120
【図２９Ｄ】
2010016210.tif 000121
【図３０Ａ】
2010016210.tif 000122
【図３０Ｂ】
2010016210.tif 000123
【図３０Ｃ】
2010016210.tif 000124
【図３０Ｄ】
2010016210.tif 000125
【図３１】
2010016210.tif 000126
【図３２Ａ】
2010016210.tif 000127
【図３２Ｂ】
2010016210.tif 000128
【図３２Ｃ】
2010016210.tif 000129
【図３３】
2010016210.tif 000130
【国際調査報告】
2010016210.tif 000131
2010016210.tif 000132
2010016210.tif 000133
2010016210.tif 000134