(57)【要約】【課題】制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よくロボットに行わせることができるロボット制御装置を提供すること。【解決手段】ロボットの制御対象を複数の方向に変位させることが可能なロボット制御装置であって、力検出部により外力が検出された場合、前記複数の前記方向のうち前記外力の方向と異なる方向に前記制御対象を変位させる変位動作を前記ロボットに行わせる、ロボット制御装置。【選択図】図６
2018015855.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの制御対象を複数の方向に変位させることが可能なロボット制御装置であって、
力検出部により外力が検出された場合、前記複数の前記方向のうち前記外力の方向と異なる方向に前記制御対象を変位させる変位動作を前記ロボットに行わせる、
ロボット制御装置。
【請求項２】
前記ロボットに所定の作業を行わせる場合、当該所定の作業に応じた前記変位動作を前記ロボットに行わせる、
請求項１に記載のロボット制御装置。
【請求項３】
第１対象物と、前記第１対象物が嵌合する第２対象物とを嵌合させる作業を前記所定の作業として前記ロボットに行わせる、
請求項２に記載のロボット制御装置。
【請求項４】
前記変位動作には、前記外力のうちの並進力に基づいて前記制御対象を並進させる第１動作と、前記並進力に基づいて前記制御対象を回転させる第２動作と、前記外力のうちの回転モーメントに基づいて前記制御対象を並進させる第３動作と、前記回転モーメントに基づいて前記制御対象を回転させる第４動作とのうちの少なくとも１つが含まれる、
請求項１から３のうちいずれか一項に記載のロボット制御装置。
【請求項５】
前記第１動作と、前記第２動作と、前記第３動作と、前記第４動作との一部又は全部に基づく動作を前記変位動作として前記ロボットに行わせる、
請求項４に記載のロボット制御装置。
【請求項６】
デジタルフィルターの行列演算で求められた結果に基づいて前記変位動作を前記ロボットに行わせる、
請求項１から５のうちいずれか一項に記載のロボット制御装置。
【請求項７】
請求項１から６のうちいずれか一項に記載のロボット制御装置によって制御される、
ロボット。
【請求項８】
請求項１から６のうちいずれか一項に記載のロボット制御装置と、
請求項７に記載のロボットと、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御装置、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
力検出部により検出された外力に基づいてロボットを制御する技術の研究や開発が行われている。
【０００３】
これに関し、ロボットが被加工物を回転体に押し付けて被加工物を研磨する際、回転体に押し付けられた被加工物が回転体から受ける力やモーメントの変化に基づいて、被加工物を動かす目標の軌道や速度を補正する加工ロボットシステムが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−４１９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような加工ロボットシステムは、被加工物に対して回転体から摩擦力が作用した場合、当該摩擦力に応じて被加工物を回転させてしまう。すなわち、当該場合において、当該加工ロボットシステムは、被加工物を回転体に押し付けた状態を保持することができない。その結果、当該加工ロボットシステムは、被加工物を精度よく加工することが困難な場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、ロボットの制御対象を複数の方向に変位させることが可能なロボット制御装置であって、力検出部により外力が検出された場合、前記複数の前記方向のうち前記外力の方向と異なる方向に前記制御対象を変位させる変位動作を前記ロボットに行わせる、ロボット制御装置である。
この構成により、ロボット制御装置は、力検出部により外力が検出された場合、複数の方向のうち外力の方向と異なる方向に制御対象を変位させる変位動作をロボットに行わせる。これにより、ロボット制御装置は、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボットに精度よく行わせることができる。
【０００７】
また、本発明の他の態様は、ロボット制御装置において、前記ロボットに所定の作業を行わせる場合、当該所定の作業に応じた前記変位動作を前記ロボットに行わせる、構成が用いられてもよい。
この構成により、ロボット制御装置は、ロボットに所定の作業を行わせる場合、当該所定の作業に応じた変位動作をロボットに行わせる。これにより、ロボットは、所定の作業に応じた変位動作に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボットに精度よく行わせることができる。
【０００８】
また、本発明の他の態様は、ロボット制御装置において、第１対象物と、前記第１対象物が嵌合する第２対象物とを嵌合させる作業を前記所定の作業として前記ロボットに行わせる、構成が用いられてもよい。
この構成により、ロボット制御装置は、第１対象物と、第１対象物が嵌合する第２対象物とを嵌合させる作業を所定の作業としてロボットに行わせる。これにより、ロボット制御装置は、第１対象物と第２対象物とを嵌合させる作業に応じた変位動作に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボットに精度よく行わせることができる。
【０００９】
また、本発明の他の態様は、ロボット制御装置において、前記変位動作には、前記外力のうちの並進力に基づいて前記制御対象を並進させる第１動作と、前記並進力に基づいて前記制御対象を回転させる第２動作と、前記外力のうちの回転モーメントに基づいて前記制御対象を並進させる第３動作と、前記回転モーメントに基づいて前記制御対象を回転させる第４動作とのうちの少なくとも１つが含まれる、構成が用いられてもよい。
この構成により、ロボット制御装置は、力検出部により外力が検出された場合、複数の方向のうち外力の方向と異なる方向に制御対象を変位させる変位動作であって第１動作と、第２動作と、第３動作と、第４動作とのうちの少なくとも１つが含まれる変位動作をロボットに行わせる。これにより、ロボット制御装置は、第１動作と、第２動作と、第３動作と、第４動作とのうちの少なくとも１つが含まれる変位動作に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボットに精度よく行わせることができる。
【００１０】
また、本発明の他の態様は、ロボット制御装置において、前記第１動作と、前記第２動作と、前記第３動作と、前記第４動作との一部又は全部に基づく動作を前記変位動作として前記ロボットに行わせる、構成が用いられてもよい。
この構成により、ロボット制御装置は、第１動作と、第２動作と、第３動作と、第４動作との一部又は全部に基づく動作を変位動作としてロボットに行わせる。これにより、ロボット制御装置は、第１動作と、第２動作と、第３動作と、第４動作との一部又は全部に基づく動作に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボットに精度よく行わせることができる。
【００１１】
また、本発明の他の態様は、ロボット制御装置において、デジタルフィルターの行列演算で求められた結果に基づいて前記変位動作を前記ロボットに行わせる、構成が用いられてもよい。
この構成により、ロボット制御装置は、デジタルフィルターの行列演算で求められた結果に基づいて変位動作をロボットに行わせる。これにより、ロボット制御装置は、デジタルフィルターの行列演算で求められた結果に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボットに精度よく行わせることができる。
【００１２】
また、本発明の他の態様は、上記に記載のロボット制御装置によって制御される、ロボットである。
この構成により、ロボットは、力検出部により外力が検出された場合、当該複数の方向のうち外力の方向と異なる方向に制御対象を変位させる変位動作を行う。これにより、ロボットは、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よく行うことができる。
【００１３】
また、本発明の他の態様は、上記に記載のロボット制御装置と、上記に記載のロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、力検出部により外力が検出された場合、当該複数の方向のうち外力の方向と異なる方向に制御対象を変位させる変位動作をロボットに行わせる。これにより、ロボットシステムは、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボットに精度よく行わせることができる。
【００１４】
以上により、ロボット制御装置、及びロボットシステムは、力検出部により外力が検出された場合、当該複数の方向のうち外力の方向と異なる方向に制御対象を変位させる変位動作をロボットに行わせる。これにより、ロボット制御装置、及びロボットシステムは、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボットに精度よく行わせることができる。
また、ロボットは、力検出部により外力が検出された場合、当該複数の方向のうち外力の方向と異なる方向に制御対象を変位させる変位動作を行う。これにより、ロボットは、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よく行うことができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】第１対象物Ｏ１と第２対象物Ｏ２とのチャンファーレスな嵌合作業において第１対象物Ｏ１が第２対象物Ｏ２と接触する前のタイミングにおける第１対象物Ｏ１及び第２対象物Ｏ２の様子の一例を示す図である。
【図３】第１対象物Ｏ１と第２対象物Ｏ２とのチャンファーレスな嵌合作業において第１対象物Ｏ１が第２対象物Ｏ２と接触した直後のタイミングにおける第１対象物Ｏ１及び第２対象物Ｏ２の様子の一例を示す図である。
【図４】第１対象物Ｏ１と第２対象物Ｏ２とのチャンファーレスな嵌合作業において従来の力制御によって図４に示した第１対象物Ｏ１が回転させられた後のタイミングにおける第１対象物Ｏ１及び第２対象物Ｏ２の様子の一例を示す図である。
【図５】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図６】ロボット制御装置３０の機能構成の一例を示す図である。
【図７】ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【図８】式（１）に示した運動方程式をインパルス・インバリアンス法によって変換したデジタルフィルターの一例を示す図である。
【図９】式（８）の一例を示す図である。
【図１０】式（９）を示す図である。
【図１１】この一例における力制御において、部位ＰＰ１に第２対象物Ｏ２から力検出座標系ＦＣにおけるＺ軸の正方向に向かって力Ｆ２が作用した様子の一例を示す図である。
【図１２】図１１に示した第１対象物Ｏ１を方向Ａ２に向かって並進させた後の第１対象物Ｏ１及び第２対象物Ｏ２の様子の一例を示す図である。
【図１３】第１対象物Ｏ１が嵌合部Ｈ１に嵌合した様子の一例を示す図である。
【図１４】実施形態の変形例に係るロボットシステム２の構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００１７】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、ロボット制御装置３０を備える。
【００１８】
ロボット２０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボット、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。
【００１９】
アームＡは、エンドエフェクターＥと、マニピュレーターＭと、力検出部２１を備える。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００２０】
エンドエフェクターＥは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２１】
マニピュレーターＭは、６つの関節を備える。また、当該６つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭを備えるアームＡは、６軸垂直多関節型のアームである。アームＡは、支持台Ｂと、エンドエフェクターＥと、マニピュレーターＭと、マニピュレーターＭが備える６つの関節それぞれのアクチュエーターとによる連携した動作によって６軸の自由度の動作を行う。なお、アームＡは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００２２】
マニピュレーターＭが備える６つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭが備える６つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２３】
力検出部２１は、エンドエフェクターＥとマニピュレーターＭとの間に備えられる。力検出部２１は、例えば、力センサーである。力検出部２１は、制御対象に作用した外力を検出する。制御対象は、この一例において、エンドエフェクターＥ、又はエンドエフェクターＥにより把持された物体のことである。以下では、一例として、エンドエフェクターＥにより予め把持された第１対象物Ｏ１が制御対象である場合について説明する。第１対象物Ｏ１については、後述する。当該外力には、第１対象物Ｏ１を並進させる並進力と、第１対象物Ｏ１を回転させる回転モーメント（トルク）とが含まれる。具体的には、当該外力には、力検出部２１に対応付けられた三次元局所座標系である力検出座標系ＦＣにおけるＸ軸に沿った方向に第１対象物Ｏ１を並進させる力であるＸ並進力と、力検出座標系ＦＣにおけるＹ軸に沿った方向に第１対象物Ｏ１を並進させる力であるＹ並進力と、力検出座標系ＦＣにおけるＺ軸に沿った方向に第１対象物Ｏ１を並進させる力であるＺ並進力との３つの並進力が含まれる。また、当該外力には、力検出座標系ＦＣにおけるＷ軸に沿った方向に第１対象物Ｏ１を回転させる回転モーメントであるＷ回転モーメントと、力検出座標系ＦＣにおけるＶ軸に沿った方向に第１対象物Ｏ１を回転させる回転モーメントであるＶ回転モーメントと、力検出座標系ＦＣにおけるＵ軸に沿った方向に第１対象物Ｏ１を回転させる回転モーメントであるＵ回転モーメントとの３つの回転モーメントが含まれる。ここで、当該Ｗ軸は、当該Ｘ軸周りに第１対象物Ｏ１を回転させる際の回転方向及び回転角を表す座標軸である。当該Ｖ軸は、当該Ｙ軸周りに第１対象物Ｏ１を回転させる際の回転方向及び回転角を表す座標軸である。当該Ｕ軸は、当該Ｚ軸周りに第１対象物Ｏ１を回転させる際の回転方向及び回転角を表す座標軸である。力検出部２１は、検出した外力（すなわち、上記の３つの並進力及び３つの回転モーメントのそれぞれ）を示す値を出力値として含む力検出情報を通信によりロボット制御装置３０へ出力する。
【００２４】
力検出情報は、ロボット制御装置３０によるアームＡの力検出情報に基づく制御である力制御に用いられる。力制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部２１は、トルクセンサー等の制御対象に作用した外力を示す値を検出する他のセンサーであってもよい。
【００２５】
力検出部２１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２１とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００２６】
ロボット制御装置３０は、この一例において、ロボットを制御する（動作させる）コントローラーである。ロボット制御装置３０は、力検出部２１から力検出情報を取得する。ロボット制御装置３０は、取得した力検出情報に基づく力制御によってマニピュレーターＭを動作させ、ロボット２０に所定の作業を行わせる。所定の作業は、この一例において、前述の第１対象物Ｏ１を、第１対象物Ｏ１が嵌合する第２対象物Ｏ２に嵌合させる作業である。なお、所定の作業は、これに代えて、他の作業であってもよい。
【００２７】
第１対象物Ｏ１は、第２対象物Ｏ２に嵌合させられる物体であり、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図１では、図の簡略化のため、第１対象物Ｏ１を直方体形状の物体として表している。なお、第１対象物Ｏ１は、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、第１対象物Ｏ１の形状は、直方体形状に代えて、他の形状であってもよい。
【００２８】
ここで、図１に示した例では、第１対象物Ｏ１は、前述した通り、予めエンドエフェクターＥに把持されている。なお、ロボット２０は、図示しない給材領域に載置された第１対象物Ｏ１を把持し、把持した第１対象物Ｏ１を第２対象物Ｏ２に嵌合する作業を所定の作業として行う構成であってもよい。
【００２９】
第２対象物Ｏ２は、第１対象物Ｏ１が嵌合させられる物体であり、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。第２対象物Ｏ２には、第１対象物Ｏ１が嵌合する嵌合部Ｈ１が形成されている。図１では、図の簡略化のため、嵌合部Ｈ１が形成された平板形状の物体として第２対象物Ｏ２を表している。なお、第２対象物Ｏ２は、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、第２対象物Ｏ２の形状は、平板形状に代えて、他の形状であってもよい。
【００３０】
ここで、図１に示した例では、第２対象物Ｏ２は、作業台ＴＢの上面に載置されている。作業台ＴＢは、例えば、テーブル等の台である。なお、作業台ＴＢは、テーブルに代えて、第２対象物Ｏ２を載置することが可能な台であれば、他の台であってもよい。
【００３１】
＜ロボット制御装置がロボットに所定の作業を行わせる処理の概要＞
以下、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の概要について説明する。
【００３２】
ロボット制御装置３０は、エンドエフェクターＥに予め対応付けられた位置に、エンドエフェクターＥとともに動く制御点Ｔ１を設定する。エンドエフェクターＥに予め対応付けられた位置は、ロボット座標系ＲＣにおける位置である。エンドエフェクターＥに予め対応付けられた位置は、例えば、エンドエフェクターＥにより把持された第１対象物Ｏ１の重心の位置である。従って、この一例における制御対象である第１対象物Ｏ１に作用する外力は、制御点Ｔ１に作用する外力であると換言することができる。また、前述した通り、制御点Ｔ１は、エンドエフェクターＥとともに動く。このため、制御点Ｔ１は、エンドエフェクターＥにより予め把持された第１対象物Ｏ１とともに動く。このような理由により、この一例では、制御点Ｔ１の位置及び姿勢は、第１対象物Ｏ１の位置及び姿勢を表す。なお、第１対象物Ｏ１の位置及び姿勢は、他の位置及び姿勢によって表される構成であってもよい。
【００３３】
制御点Ｔ１は、例えば、ＴＣＰ（Tool  Center  Point）である。なお、制御点Ｔ１は、ＴＣＰに代えて、アームＡの一部に対応付けられた仮想的な点等の他の仮想的な点であってもよい。すなわち、制御点Ｔ１は、エンドエフェクターＥに対応付けられた位置に代えて、エンドエフェクターＥの他の部位の位置に設定される構成であってもよく、マニピュレーターＭに対応付けられた何らかの位置に設定される構成であってもよい。
【００３４】
制御点Ｔ１には、制御点Ｔ１の位置を示す情報である制御点位置情報と、制御点Ｔ１の姿勢を示す情報である制御点姿勢情報とが対応付けられている。当該位置は、ロボット座標系ＲＣにおける位置である。当該姿勢は、ロボット座標系ＲＣにおける姿勢である。なお、制御点Ｔ１には、これらに加えて、他の情報が対応付けられる構成であってもよい。制御点位置情報及び制御点姿勢情報をロボット制御装置３０が指定（決定）すると、制御点Ｔ１の位置及び姿勢が決まる。当該位置及び当該姿勢は、ロボット座標系ＲＣにおける位置及び姿勢である。ロボット制御装置３０は、アームＡを動作させ、ロボット制御装置３０が指定した制御点位置情報が示す位置に制御点Ｔ１の位置を一致させるとともに、ロボット制御装置３０が指定した制御点姿勢情報が示す姿勢に制御点Ｔ１の姿勢を一致させる。以下では、説明の便宜上、ロボット制御装置３０が指定した制御点位置情報が示す位置を目標位置と称し、ロボット制御装置３０が指定した制御点姿勢情報が示す姿勢を目標姿勢と称して説明する。すなわち、ロボット制御装置３０は、制御点位置情報及び制御点姿勢情報を指定することにより、ロボット２０を動作させ、制御点Ｔ１の位置及び姿勢を目標位置及び目標姿勢と一致させる。
【００３５】
この一例において、制御点Ｔ１の位置は、制御点座標系ＴＣの原点のロボット座標系ＲＣにおける位置によって表される。また、制御点Ｔ１の姿勢は、制御点座標系ＴＣの各座標軸のロボット座標系ＲＣにおける方向によって表される。制御点座標系ＴＣは、制御点Ｔ１とともに動くように制御点Ｔ１に対応付けられた三次元局所座標系である。
【００３６】
ロボット制御装置３０は、ユーザーから予め入力された制御点設定情報に基づいて制御点Ｔ１を設定する。制御点設定情報は、例えば、エンドエフェクターＥの重心の位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、制御点設定情報は、これに代えて、エンドエフェクターＥに対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターＭに対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、ロボット２０の他の部位に対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
【００３７】
ここで、この一例におけるロボット制御装置３０は、力検出部２１が検出した外力に基づいて、制御点位置情報及び制御点姿勢情報を指定する。すなわち、ロボット制御装置３０は、前述の力制御によって制御点Ｔ１の位置及び姿勢を変化させる。ただし、この一例における力制御には、従来の力制御と異なる制御が含まれる。
【００３８】
従来の力制御によってロボット２０を制御するロボット制御装置３０Ｘは、力検出部２１が検出した外力が予め決められた条件を満たしていない場合、当該外力に応じて、当該外力が作用した方向に第１対象物Ｏ１を変位させる変位量を算出する。具体的には、ロボット制御装置３０Ｘは、Ｘ並進力に応じて、Ｘ並進力が第１対象物Ｏ１に作用した方向に第１対象物Ｏ１を並進させる変位量を算出する。また、ロボット制御装置３０Ｘは、Ｙ並進力に応じて、Ｙ並進力の方向に第１対象物Ｏ１を並進させる変位量を算出する。また、ロボット制御装置３０Ｘは、Ｚ並進力に応じて、Ｚ並進力の方向に第１対象物Ｏ１を並進させる変位量を算出する。また、ロボット制御装置３０Ｘは、Ｗ回転モーメントに応じて、Ｗ回転モーメントの方向に第１対象物Ｏ１を回転させる変位量を算出する。また、ロボット制御装置３０Ｘは、Ｖ回転モーメントに応じて、Ｖ回転モーメントの方向に第１対象物Ｏ１を回転させる変位量を算出する。また、ロボット制御装置３０Ｘは、Ｕ回転モーメントに応じて、Ｕ回転モーメントの方向に第１対象物Ｏ１を回転させる変位量を算出する。そして、ロボット制御装置３０Ｘは、算出したこれらの変位量に基づいて、制御点Ｔ１の位置及び姿勢を変化させる。なお、ロボット制御装置３０Ｘは、当該外力が当該条件を満たしている場合、制御点Ｔ１の位置及び姿勢を変化させない。当該条件は、当該外力についての条件である。
【００３９】
このような従来の力制御によってロボット２０を制御するロボット制御装置３０Ｘは、第１対象物Ｏ１を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よく行うことができない場合がある。当該作業は、例えば、図２〜図４に示したような第１対象物Ｏ１と第２対象物Ｏ２とのチャンファーレスな嵌合作業である。なお、当該作業には、ロボット２０が被加工物を回転体に押し付けて被加工物を研磨する作業等のロボット２０が物体を変位させる方向に沿った方向と異なる方向に外力が加わる他の作業も含まれる。
【００４０】
図２は、第１対象物Ｏ１と第２対象物Ｏ２とのチャンファーレスな嵌合作業において第１対象物Ｏ１が第２対象物Ｏ２と接触する前のタイミングにおける第１対象物Ｏ１及び第２対象物Ｏ２の様子の一例を示す図である。図３は、第１対象物Ｏ１と第２対象物Ｏ２とのチャンファーレスな嵌合作業において第１対象物Ｏ１が第２対象物Ｏ２と接触した直後のタイミングにおける第１対象物Ｏ１及び第２対象物Ｏ２の様子の一例を示す図である。図４は、第１対象物Ｏ１と第２対象物Ｏ２とのチャンファーレスな嵌合作業において従来の力制御によって図４に示した第１対象物Ｏ１が回転させられた後のタイミングにおける第１対象物Ｏ１及び第２対象物Ｏ２の様子の一例を示す図である。なお、ここでは、一例として、図２及び図３における力検出座標系ＦＣのＸＹ平面と、作業台ＴＢの上面とが平行である場合について説明する。当該場合、第１対象物Ｏ１と第２対象物Ｏ２とが嵌合された状態から第１対象物Ｏ１を第２対象物Ｏ２から離す場合に第１対象物Ｏ１を変位させる方向は、力検出座標系ＦＣにおけるＺ軸の正方向である。なお、当該ＸＹ平面と、当該上面とは、非平行であってもよい。
【００４１】
ここで、第１対象物Ｏ１と第２対象物Ｏ２とのチャンファーレスな嵌合作業とは、この一例において、図２〜図４のそれぞれに示す通り、嵌合部Ｈ１が有する複数の角のうち第２対象物Ｏ２の面であって第１対象物Ｏ１が嵌合する側の面側の角に面取りが行われていない状態において、第１対象物Ｏ１と第２対象物Ｏ２とを嵌合させる作業のことである。すなわち、この一例において、当該角のそれぞれは、角度が９０°の角である。
【００４２】
図２では、第１対象物Ｏ１の位置及び姿勢が、所定の待機位置及び待機姿勢と一致している場合を例に挙げて説明する。所定の待機位置及び待機姿勢は、力検出座標系ＦＣにおけるＺ軸の負方向に第１対象物Ｏ１が変位することによって、第１対象物Ｏ１が嵌合部Ｈ１に嵌合することが可能な位置である。しかし、当該場合であっても、第１対象物Ｏ１の位置及び姿勢は、ロボット２０が備える各部材の剛性、組み付け等の誤差や、キャリブレーションの誤差等によって所定の待機位置及び待機姿勢からずれてしまう場合がある。図２に示した例は、このような誤差によって第１対象物Ｏ１の位置及び姿勢が所定の待機位置及び待機姿勢からずれている状態を示している。
【００４３】
このような状態において、図２に示したようにロボット２０が第１対象物Ｏ１に対して力検出座標系ＦＣにおけるＺ軸の負方向に力Ｆ１を作用させた場合、第１対象物Ｏ１は、力Ｆ１の方向へと変位する。そして、図２に示した第１対象物Ｏ１は、図３に示した第１対象物Ｏ１のように第２対象物Ｏ２の嵌合部Ｈ１に嵌合せず、第２対象物Ｏ２の位置のうち嵌合部Ｈ１と異なる位置に接触する。図３に示した例では、第１対象物Ｏ１の面のうち力検出座標系ＦＣにおけるＺ軸の負方向側の面内の部位であって力検出座標系ＦＣにおけるＹ軸の負方向側の部位ＰＰ１が、第２対象物Ｏ２と接触している。このように第１対象物Ｏ１が第２対象物Ｏ２と接触した場合、部位ＰＰ１には、図３に示したように第２対象物Ｏ２から当該Ｚ軸の正方向に向かって力Ｆ２が作用する。その結果、第１対象物Ｏ１には、第２対象物Ｏ２から図３に示した矢印が示す方向Ａ１に回転モーメントが作用する。当該回転モーメントは、前述のＷ回転モーメントの一例である。この場合、従来の力制御では、第１対象物Ｏ１は、当該回転モーメントを０にするために、図３に示した矢印が示す方向Ａ１に回転する。そして、第１対象物Ｏ１は、図４に示したように、部位ＰＰ１の少なくとも一部において第２対象物Ｏ２と接触した状態を保ったまま、図３に示した第１対象物Ｏ１の面のうち力検出座標系ＦＣにおけるＺ軸の負方向側の面の端部であって力検出座標系ＦＣにおけるＹ軸の正方向側の端部ＰＰ２が嵌合部Ｈ１の底に接触する。
【００４４】
図４に示した状態では、第１対象物Ｏ１には、力検出座標系ＦＣにおけるＸ軸の正方向から負方向に向かって見た場合の時計回りの回転モーメント（すなわち、前述の方向Ａ１に第１対象物Ｏ１を回転させる回転モーメント）と、反時計回りの回転モーメント（すなわち、前述の方向Ａ１と逆の方向に第１対象物Ｏ１を回転させる回転モーメント）が作用する。その結果、ロボット２０は、従来の力制御によって第１対象物Ｏ１を動かすことができなくなる場合がある。すなわち、従来の力制御では、ロボット２０は、図４に示した第１対象物Ｏ１の位置及び姿勢を嵌合部Ｈ１に嵌合した状態における第１対象物Ｏ１の位置及び姿勢と一致させることができない場合がある。
【００４５】
一方、この一例における力制御を行うロボット制御装置３０は、力検出部２１が検出した外力が所定条件を満たしていない場合、当該外力に応じて第１対象物Ｏ１を変位させる変位量を算出する。具体的には、ロボット制御装置３０は、当該場合、ＴＴＸ並進変位量とＴＴＹ並進変位量とＴＴＺ並進変位量とＲＴＸ並進変位量とＲＴＹ並進変位量とＲＴＺ並進変位量との６つの並進変位量とのそれぞれと、ＲＲＷ回転変位量とＲＲＶ回転変位量とＲＲＵ回転変位量とＴＲＷ回転変位量とＴＲＶ回転変位量とＴＲＵ回転変位量との６つの回転変位量とのそれぞれを算出する。なお、ロボット制御装置３０は、当該外力が所定条件を満たしている場合、制御点Ｔ１の位置及び姿勢を変化させない。所定条件については、後述する。
【００４６】
ＴＴＸ並進変位量は、Ｘ並進力に応じたＴＴＸ並進変位量と、Ｙ並進力に応じたＴＴＸ並進変位量と、Ｚ並進力に応じたＴＴＸ並進変位量との合計である。Ｘ並進力に応じたＴＴＸ並進変位量は、Ｘ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＸ軸に沿った方向に並進させる並進変位量のことである。Ｙ並進力に応じたＴＴＸ並進変位量は、Ｙ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＸ軸に沿った方向に並進させる並進変位量のことである。Ｚ並進力に応じたＴＴＸ並進変位量は、Ｚ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＸ軸に沿った方向に並進させる並進変位量のことである。
【００４７】
ＴＴＹ並進変位量は、Ｘ並進力に応じたＴＴＹ並進変位量と、Ｙ並進力に応じたＴＴＹ並進変位量と、Ｚ並進力に応じたＴＴＹ並進変位量との合計である。Ｘ並進力に応じたＴＴＹ並進変位量は、Ｘ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＹ軸に沿った方向に並進させる並進変位量のことである。Ｙ並進力に応じたＴＴＹ並進変位量は、Ｙ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＹ軸に沿った方向に並進させる並進変位量のことである。Ｚ並進力に応じたＴＴＹ並進変位量は、Ｚ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＹ軸に沿った方向に並進させる並進変位量のことである。
【００４８】
ＴＴＺ並進変位量は、Ｘ並進力に応じたＴＴＺ並進変位量と、Ｙ並進力に応じたＴＴＺ並進変位量と、Ｚ並進力に応じたＴＴＺ並進変位量との合計である。Ｘ並進力に応じたＴＴＺ並進変位量は、Ｘ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＺ軸に沿った方向に並進させる並進変位量のことである。Ｙ並進力に応じたＴＴＺ並進変位量は、Ｙ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＺ軸に沿った方向に並進させる並進変位量のことである。Ｚ並進力に応じたＴＴＺ並進変位量は、Ｚ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＺ軸に沿った方向に並進させる並進変位量のことである。
【００４９】
ＲＴＸ並進変位量は、Ｗ回転モーメントに応じたＲＴＸ並進変位量と、Ｖ回転モーメントに応じたＲＴＸ並進変位量と、Ｕ回転モーメントに応じたＲＴＸ並進変位量との合計である。Ｗ回転モーメントに応じたＲＴＸ並進変位量は、Ｗ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＸ軸に沿った方向に並進させる並進変位量のことである。Ｖ回転モーメントに応じたＲＴＸ並進変位量は、Ｖ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＸ軸に沿った方向に並進させる並進変位量のことである。Ｕ回転モーメントに応じたＲＴＸ並進変位量は、Ｕ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＸ軸に沿った方向に並進させる並進変位量のことである。
【００５０】
ＲＴＹ並進変位量は、Ｗ回転モーメントに応じたＲＴＹ並進変位量と、Ｖ回転モーメントに応じたＲＴＹ並進変位量と、Ｕ回転モーメントに応じたＲＴＹ並進変位量との合計である。Ｗ回転モーメントに応じたＲＴＹ並進変位量は、Ｗ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＹ軸に沿った方向に並進させる並進変位量のことである。Ｖ回転モーメントに応じたＲＴＹ並進変位量は、Ｖ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＹ軸に沿った方向に並進させる並進変位量のことである。Ｕ回転モーメントに応じたＲＴＹ並進変位量は、Ｕ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＹ軸に沿った方向に並進させる並進変位量のことである。
【００５１】
ＲＴＺ並進変位量は、Ｗ回転モーメントに応じたＲＴＺ並進変位量と、Ｖ回転モーメントに応じたＲＴＺ並進変位量と、Ｕ回転モーメントに応じたＲＴＺ並進変位量との合計である。Ｗ回転モーメントに応じたＲＴＺ並進変位量は、Ｗ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＺ軸に沿った方向に並進させる並進変位量のことである。Ｖ回転モーメントに応じたＲＴＺ並進変位量は、Ｖ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＺ軸に沿った方向に並進させる並進変位量のことである。Ｕ回転モーメントに応じたＲＴＺ並進変位量は、Ｕ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＺ軸に沿った方向に並進させる並進変位量のことである。
【００５２】
ＲＲＷ回転変位量は、Ｗ回転モーメントに応じたＲＲＷ回転変位量と、Ｖ回転モーメントに応じたＲＲＷ回転変位量と、Ｕ回転モーメントに応じたＲＲＷ回転変位量との合計である。Ｗ回転モーメントに応じたＲＲＷ回転変位量は、Ｗ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＷ軸に沿った方向に回転させる回転変位量のことである。Ｖ回転モーメントに応じたＲＲＷ回転変位量は、Ｖ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＷ軸に沿った方向に回転させる回転変位量のことである。Ｕ回転モーメントに応じたＲＲＷ回転変位量は、Ｕ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＷ軸に沿った方向に回転させる回転変位量のことである。
【００５３】
ＲＲＶ回転変位量は、Ｗ回転モーメントに応じたＲＲＶ回転変位量と、Ｖ回転モーメントに応じたＲＲＶ回転変位量と、Ｕ回転モーメントに応じたＲＲＶ回転変位量との合計である。Ｗ回転モーメントに応じたＲＲＶ回転変位量は、Ｗ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＶ軸に沿った方向に回転させる回転変位量のことである。Ｖ回転モーメントに応じたＲＲＶ回転変位量は、Ｖ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＶ軸に沿った方向に回転させる回転変位量のことである。Ｕ回転モーメントに応じたＲＲＶ回転変位量は、Ｕ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＶ軸に沿った方向に回転させる回転変位量のことである。
【００５４】
ＲＲＵ回転変位量は、Ｗ回転モーメントに応じたＲＲＵ回転変位量と、Ｖ回転モーメントに応じたＲＲＵ回転変位量と、Ｕ回転モーメントに応じたＲＲＵ回転変位量との合計である。Ｗ回転モーメントに応じたＲＲＵ回転変位量は、Ｗ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＵ軸に沿った方向に回転させる回転変位量のことである。Ｖ回転モーメントに応じたＲＲＵ回転変位量は、Ｖ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＵ軸に沿った方向に回転させる回転変位量のことである。Ｕ回転モーメントに応じたＲＲＵ回転変位量は、Ｕ回転モーメントに応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＵ軸に沿った方向に回転させる回転変位量のことである。
【００５５】
ＴＲＷ回転変位量は、Ｘ並進力に応じたＴＲＷ回転変位量と、Ｙ並進力に応じたＴＲＷ回転変位量と、Ｚ並進力に応じたＴＲＷ回転変位量との合計である。Ｘ並進力に応じたＴＲＷ回転変位量は、Ｘ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＷ軸に沿った方向に回転させる回転変位量のことである。Ｙ並進力に応じたＴＲＷ回転変位量は、Ｙ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＷ軸に沿った方向に回転させる回転変位量のことである。Ｚ並進力に応じたＴＲＷ回転変位量は、Ｚ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＷ軸に沿った方向に回転させる回転変位量のことである。
【００５６】
ＴＲＶ回転変位量は、Ｘ並進力に応じたＴＲＶ回転変位量と、Ｙ並進力に応じたＴＲＶ回転変位量と、Ｚ並進力に応じたＴＲＶ回転変位量との合計である。Ｘ並進力に応じたＴＲＶ回転変位量は、Ｘ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＶ軸に沿った方向に回転させる回転変位量のことである。Ｙ並進力に応じたＴＲＶ回転変位量は、Ｙ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＶ軸に沿った方向に回転させる回転変位量のことである。Ｚ並進力に応じたＴＲＶ回転変位量は、Ｚ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＶ軸に沿った方向に回転させる回転変位量のことである。
【００５７】
ＴＲＵ回転変位量は、Ｘ並進力に応じたＴＲＵ回転変位量と、Ｙ並進力に応じたＴＲＵ回転変位量と、Ｚ並進力に応じたＴＲＵ回転変位量との合計である。Ｘ並進力に応じたＴＲＵ回転変位量は、Ｘ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＵ軸に沿った方向に回転させる回転変位量のことである。Ｙ並進力に応じたＴＲＵ回転変位量は、Ｙ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＵ軸に沿った方向に回転させる回転変位量のことである。Ｚ並進力に応じたＴＲＵ回転変位量は、Ｚ並進力に応じて第１対象物Ｏ１を力検出座標系ＦＣにおけるＵ軸に沿った方向に回転させる回転変位量のことである。
【００５８】
ロボット制御装置３０は、算出したこのような６つの並進変位量及び６つの回転変位量に基づいて制御点Ｔ１の位置及び姿勢を変位させる変位動作をロボット２０に行わせることにより、第１対象物Ｏ１を変位させる。なお、ロボット制御装置３０は、トルクセンサーの出力やサーボモーターの電流に基づいた力制御によって当該並進変位量及び当該回転変位量のそれぞれを算出する構成であってもよい。
【００５９】
このような力制御によって、ロボット制御装置３０は、制御対象（この一例において、第１対象物Ｏ１）を複数の方向に変位させることが可能であり、力検出部２１により外力が検出された場合、当該複数の方向のうち外力の方向と異なる方向に制御点Ｔ１を変位させる変位動作を行う。これにより、ロボット制御装置３０は、制御点Ｔ１を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボット２０に精度よく行わせることができる。以下では、ロボット制御装置３０がこの一例における力制御によって上記の変位動作を行う処理について詳しく説明する。
【００６０】
なお、以下では、説明の便宜上、ロボット２０の動作のうちＴＴＸ並進変位量に基づく動作と、ＴＴＹ並進変位量に基づく動作と、ＴＴＺ並進変位量に基づく動作のそれぞれを第１動作と称して説明する。すなわち、第１動作は、力検出部２１が検出した外力のうちのＸ並進力、Ｙ並進力、Ｚ並進力のうちの一部又は全部に応じて（すなわち、並進力に基づいて）第１対象物Ｏ１を並進させる動作である。
【００６１】
また、以下では、ロボット２０の動作のうちＴＲＸ並進変位量に基づく動作と、ＴＲＹ並進変位量に基づく動作と、ＴＲＺ並進変位量に基づく動作のそれぞれを第２動作と称して説明する。すなわち、第２動作は、力検出部２１が検出した外力のうちのＸ並進力、Ｙ並進力、Ｚ並進力のうちの一部又は全部に応じて（すなわち、並進力に基づいて）第１対象物Ｏ１を回転させる動作である。
【００６２】
また、以下では、ロボット２０の動作のうちＲＴＷ回転変位量に基づく動作と、ＲＴＶ回転変位量に基づく動作と、ＲＴＵ回転変位量に基づく動作のそれぞれを第３動作と称して説明する。すなわち、第３動作は、力検出部２１が検出した外力のうちのＷ回転モーメント、Ｖ回転モーメント、Ｕ回転モーメントのうちの一部又は全部に応じて（すなわち、回転モーメントに基づいて）第１対象物Ｏ１を並進させる動作である。
【００６３】
また、以下では、ロボット２０の動作のうちＲＲＷ回転変位量に基づく動作と、ＲＲＶ回転変位量に基づく動作と、ＲＲＵ回転変位量に基づく動作のそれぞれを第４動作と称して説明する。すなわち、第４動作は、力検出部２１が検出した外力のうちのＷ回転モーメント、Ｖ回転モーメント、Ｕ回転モーメントのうちの一部又は全部に応じて（すなわち、回転モーメントに基づいて）第１対象物Ｏ１を回転させる動作である。
【００６４】
＜ロボット制御装置のハードウェア構成＞
以下、図５を参照し、ロボット制御装置３０のハードウェア構成について説明する。図５は、ロボット制御装置３０のハードウェア構成の一例を示す図である。
【００６５】
ロボット制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。また、ロボット制御装置３０は、通信部３４を介してロボット２０のそれぞれと通信を行う。
【００６６】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、ロボット制御装置３０が処理する各種情報、ロボット２０を動作させる動作プログラムを含む各種プログラム、各種画像等を格納する。
【００６７】
入力受付部３３は、例えば、表示部３５と一体に構成されたタッチパネルである。なお、入力受付部３３は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００６８】
＜ロボット制御装置の機能構成＞
以下、図６を参照し、ロボット制御装置３０の機能構成について説明する。図６は、ロボット制御装置３０の機能構成の一例を示す図である。
【００６９】
ロボット制御装置３０は、記憶部３２と、制御部３６を備える。
【００７０】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、力検出情報取得部４１と、変位量算出部４３と、ロボット制御部４５を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００７１】
力検出情報取得部４１は、力検出部２１から力検出情報を取得する。
変位量算出部４３は、力検出情報取得部４１が取得した力検出情報に基づいて、前述のＴＴＸ並進変位量、ＴＴＹ並進変位量、ＴＴＺ並進変位量、ＲＴＸ並進変位量、ＲＴＹ並進変位量、ＲＴＺ並進変位量、ＲＲＷ回転変位量、ＲＲＶ回転変位量、ＲＲＵ回転変位量、ＴＲＷ回転変位量、ＴＲＶ回転変位量、ＴＲＵ回転変位量のそれぞれを算出する。
ロボット制御部４５は、変位量算出部４３が算出したＴＴＸ並進変位量、ＴＴＹ並進変位量、ＴＴＺ並進変位量、ＲＴＸ並進変位量、ＲＴＹ並進変位量、ＲＴＺ並進変位量、ＲＲＷ回転変位量、ＲＲＶ回転変位量、ＲＲＵ回転変位量、ＴＲＷ回転変位量、ＴＲＶ回転変位量、ＴＲＵ回転変位量のそれぞれに基づいて制御点Ｔ１の位置及び姿勢を変位させる変位動作をロボット２０に行わせ、ロボット２０に所定の作業を行わせる。すなわち、当該変位動作は、所定の作業に応じた変位動作である。
【００７２】
＜ロボット制御装置がロボットに所定の作業を行わせる処理＞
以下、図７を参照し、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理について説明する。図７は、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【００７３】
力検出情報取得部４１は、力検出部２１から力検出情報を取得する（ステップＳ１１０）。次に、変位量算出部４３は、ステップＳ１１０において取得された力検出情報に基づいて、力検出情報が示す外力が前述の所定条件を満たすか否かを判定する（ステップＳ１２０）。所定条件は、この一例において、以下に示す１）〜６）の６つの条件のすべてを満たすことである。
【００７４】
１）Ｘ並進力が０であること
２）Ｙ並進力が０であること
３）Ｚ並進力が所定閾値以上であること
４）Ｗ回転モーメントが０であること
５）Ｖ回転モーメントが０であること
６）Ｕ回転モーメントが０であること
【００７５】
例えば、図３に示した第１対象物Ｏ１の状態では、上記の６つの条件のすべてを満たさないため、変位量算出部４３は、ステップＳ１３０の処理を行う。
【００７６】
ステップＳ１２０において力検出情報が示す外力が所定条件を満たすと変位量算出部４３が判定した場合（ステップＳ１２０−ＹＥＳ）、制御部３６は、第１対象物Ｏ１が嵌合部Ｈ１に嵌合されたと判定し、処理を終了する。一方、ステップＳ１２０において力検出情報が示す外力が所定条件を満たさないと判定した場合（ステップＳ１２０−ＮＯ）、変位量算出部４３は、ステップＳ１１０において取得された力検出情報に基づく並進変位量及び回転変位量を算出する（ステップＳ１３０）。ここで、ステップＳ１３０の処理について説明する。
【００７７】
まず、第１対象物Ｏ１に作用した外力についてと、この一例における力制御において当該外力に応じた変位量を算出する方法について説明する。
【００７８】
ある基準となる時刻から時間ｔ経過した場合において第１対象物Ｏ１にある外力ｆ（ｔ）が作用した場合、力制御では、外力ｆ（ｔ）に応じた変位ｓは、以下の式（１）に示した運動方程式を解くことにより算出される。
【００７９】
【数１】
2018015855.tif 000003
【００８０】
ここで、式（１）において「・」が付随した変位量ｓは、時間ｔによる変位量ｓの１回微分を表す。また、式（１）において「・・」が付随した変位量ｓは、時間ｔによる変位量ｓの２回微分を表す。また、係数ｍは、仮想質量係数を表す。また、係数μは、仮想粘性係数を表す、係数ｋは、仮想弾性係数を表す。すなわち、係数ｍ、係数μ、係数ｋは、インピーダンスパラメーターである。
【００８１】
例えば、外力ｆ（ｔ）がＸ並進力ｆｘ（ｔ）のみであった場合、上記の運動方程式に基づく６本の運動方程式により、Ｘ並進力に応じたＴＴＸ並進変位量、Ｘ並進力に応じたＴＴＹ並進変位量、Ｘ並進力に応じたＴＴＺ並進変位量、Ｘ並進力に応じたＴＲＷ回転変位量、Ｘ並進力に応じたＴＲＶ回転変位量、Ｘ並進力に応じたＴＲＵ回転変位量のそれぞれを算出することができる。以下に示した式（２）〜式（７）のそれぞれは、当該６本の運動方程式の一例である。
【００８２】
【数２】
2018015855.tif 000004
【００８３】
ここで、式（２）において、変位量ｓｘｘは、Ｘ並進力に応じたＴＴＸ並進変位量である。また、式（２）において「・」が付随した変位量ｓｘｘは、時間ｔによる変位量ｓｘｘの１回微分を表す。また、式（２）において「・・」が付随した変位量ｓｘｘは、時間ｔによる変位量ｓｘｘの２回微分を表す。また、係数ｍｘｘは、変位量ｓｘｘに応じた仮想質量係数を表す。また、係数μｘｘは、変位量ｓｘｘに応じた仮想粘性係数を表す、係数ｋｘｘは、変位量ｓｘｘに応じた仮想弾性係数を表す。すなわち、係数ｍｘｘ、係数μｘｘ、係数ｋｘｘは、変位量ｓｘｘに応じたインピーダンスパラメーターである。
【００８４】
また、式（３）において、変位量ｓｙｘは、Ｘ並進力に応じたＴＴＹ並進変位量である。また、式（３）において「・」が付随した変位量ｓｙxは、時間ｔによる変位量ｓｙxの１回微分を表す。また、式（３）において「・・」が付随した変位量ｓｙxは、時間ｔによる変位量ｓｙxの２回微分を表す。また、係数ｍｙxは、変位量ｓｙxに応じた仮想質量係数を表す。また、係数μｙxは、変位量ｓｙxに応じた仮想粘性係数を表す、係数ｋｙxは、変位量ｓｙxに応じた仮想弾性係数を表す。すなわち、係数ｍｙx、係数μｙx、係数ｋｙxは、変位量ｓｙxに応じたインピーダンスパラメーターである。
【００８５】
また、式（４）において、変位量ｓｚxは、Ｘ並進力に応じたＴＴＺ並進変位量である。また、式（４）において「・」が付随した変位量ｓｚxは、時間ｔによる変位量ｓｚxの１回微分を表す。また、式（４）において「・・」が付随した変位量ｓｚxは、時間ｔによる変位量ｓｚxの２回微分を表す。また、係数ｍｚxは、変位量ｓｚxに応じた仮想質量係数を表す。また、係数μｚxは、変位量ｓｚxに応じた仮想粘性係数を表す、係数ｋｚxは、変位量ｓｚxに応じた仮想弾性係数を表す。すなわち、係数ｍｚx、係数μｚx、係数ｋｚxは、変位量ｓｚxに応じたインピーダンスパラメーターである。
【００８６】
また、式（５）において、変位量ｓｗxは、Ｘ並進力に応じたＴＲＷ回転変位量である。また、式（５）において「・」が付随した変位量ｓｗxは、時間ｔによる変位量ｓｗxの１回微分を表す。また、式（５）において「・・」が付随した変位量ｓｗxは、時間ｔによる変位量ｓｗxの２回微分を表す。また、係数ｍｗxは、変位量ｓｗxに応じた仮想質量係数を表す。また、係数μｗxは、変位量ｓｗxに応じた仮想粘性係数を表す、係数ｋｗxは、変位量ｓｗxに応じた仮想弾性係数を表す。すなわち、係数ｍｗx、係数μｗx、係数ｋｗxは、変位量ｓｗxに応じたインピーダンスパラメーターである。
【００８７】
また、式（６）において、変位量ｓｖxは、Ｘ並進力に応じたＴＲＶ回転変位量である。また、式（６）において「・」が付随した変位量ｓｖxは、時間ｔによる変位量ｓｖxの１回微分を表す。また、式（６）において「・・」が付随した変位量ｓｖxは、時間ｔによる変位量ｓｖxの２回微分を表す。また、係数ｍｖxは、変位量ｓｖxに応じた仮想質量係数を表す。また、係数μｖxは、変位量ｓｖxに応じた仮想粘性係数を表す、係数ｋｖxは、変位量ｓｖxに応じた仮想弾性係数を表す。すなわち、係数ｍｖx、係数μｖx、係数ｋｖxは、変位量ｓｖxに応じたインピーダンスパラメーターである。
【００８８】
また、式（７）において、変位量ｓｕxは、Ｘ並進力に応じたＴＲＵ回転変位量である。また、式（７）において「・」が付随した変位量ｓｕxは、時間ｔによる変位量ｓｕxの１回微分を表す。また、式（７）において「・・」が付随した変位量ｓｕxは、時間ｔによる変位量ｓｕxの２回微分を表す。また、係数ｍｕxは、変位量ｓｕxに応じた仮想質量係数を表す。また、係数μｕxは、変位量ｓｕxに応じた仮想粘性係数を表す、係数ｋｕxは、変位量ｓｕxに応じた仮想弾性係数を表す。すなわち、係数ｍｕx、係数μｕx、係数ｋｕxは、変位量ｓｕxに応じたインピーダンスパラメーターである。
【００８９】
上記の式（２）〜式（７）の６本の運動方程式を解くことにより、ロボット制御装置３０は、Ｘ並進力ｆｘ（ｔ）に応じた並進変位量及び回転変位量（すなわち、Ｘ並進力ｆｘ（ｔ）に応じたＴＴＸ並進変位量、Ｘ並進力ｆｘ（ｔ）に応じたＴＴＹ並進変位量、Ｘ並進力ｆｘ（ｔ）に応じたＴＴＺ並進変位量、Ｘ並進力ｆｘ（ｔ）に応じたＴＲＷ回転変位量、Ｘ並進力ｆｘ（ｔ）に応じたＴＲＶ回転変位量、Ｘ並進力ｆｘ（ｔ）に応じたＴＲＵ回転変位量のそれぞれ）を算出することができる。
【００９０】
なお、従来の力制御では、上記の係数ｍｘｘ、係数μｘｘ、係数ｋｘｘのそれぞれが０ではない有限の値であり、係数ｍｙx、係数μｙx、係数ｋｙx、係数ｍｚx、係数μｚx、係数ｋｚx、係数ｍｗx、係数μｗx、係数ｋｗx、係数ｍｖx、係数μｖx、係数ｋｖx、係数ｍｕx、係数μｕx、係数ｋｕxのそれぞれが０である。すなわち、この一例における力制御では、係数ｍｙx、係数μｙx、係数ｋｙx、係数ｍｚx、係数μｚx、係数ｋｚx、係数ｍｗx、係数μｗx、係数ｋｗx、係数ｍｖx、係数μｖx、係数ｋｖx、係数ｍｕx、係数μｕx、係数ｋｕxの一部又は全部が０ではない有限の値であるため、ロボット制御装置３０は、外力ｆｘ（ｔ）の方向と異なる方向に制御点Ｔ１を変位させることができる。
【００９１】
また、Ｙ並進力、Ｚ並進力、Ｗ回転モーメント、Ｖ回転モーメント、Ｕ回転モーメントのそれぞれに応じた並進変位量及び回転変位量は、Ｘ並進力ｆｘ（ｔ）に応じた並進変位量及び回転変位量と同様に、上記の式（１）に基づく運動方程式によって算出することが可能であるため説明を省略する。
【００９２】
ここで、上記に示した式（１）の運動方程式（すなわち、上記の例では、式（２）〜式（７）のそれぞれ）は、ニュートン法やルンゲ・クッタ法等のアルゴリズムによって解くことができる。しかし、これらの手法は、ハードウェア化に適さず、安定性の判定も困難である。また、当該手法は、応答性の切替えに対応することが困難である。このような理由から、力制御では、デジタルフィルターを用いて当該運動方程式を解く方法が用いられる場合がある。以下では、一例として、変位量算出部４３が当該方法を用いて当該運動方程式を解く場合について説明する。
【００９３】
上記に示した式（１）の運動方程式は、線形常微分方程式である。このため、変位量算出部４３は、インパルス入力に対する解であるインパルスレスポンスを求めることができれば、インパルスレスポンスと外力項との畳み込みにより、任意の外力項に対する当該運動方程式の解を導出ことができる。
【００９４】
ここで、上記に示した式（１）の運動方程式の解の導出は、力検出情報取得部４１により取得された力検出情報を入力とし、当該入力に対する解を出力とするフィルターとしてとらえることができる。この場合、当該運動方程式は、２極のアナログフィルターと捉えられる。すなわち、当該運動方程式の解は、当該アナログフィルターの出力として導出することができる。このことから、当該アナログフィルターをデジタルフィルター化することにより、変位量算出部４３は、当該運動方程式を、デジタルフィルターを用いて解くことができる。
【００９５】
上記のアナログフィルターのデジタルフィルター化の方法は、既知の方法であってもよく、これから開発される方法であってもよい。ここでは、一例として、当該デジタルフィルター化の方法として、インパルス・インバリアンス法を用いる場合について説明する。インパルス・インバリアンス法は、当該アナログフィルターのインパルスレスポンスを離散時間Ｔでサンプリングした値と同じインパルスレスポンスを与えるデジタルフィルターを得る方法である。インパルス・インバリアンス法は、公知の方法であるため、詳細な説明を省略する。
【００９６】
インパルス・インバリアンス法によって上記のアナログフィルターがデジタルフィルター化を行った場合、上記に示した式（１）の運動方程式は、図８に示した２極のデジタルフィルターに変換される。図８は、式（１）に示した運動方程式をインパルス・インバリアンス法によって変換したデジタルフィルターの一例を示す図である。図８に示したｄは、１サンプリング分の遅延であり、Ｃ０、Ｃ１、Ｃ２のそれぞれは、当該デジタルフィルターの係数である。当該デジタルフィルターによる処理は、ハードウェア化が容易であるとともに、安定性の判定も容易である。また、当該デジタルフィルターの係数を切り替えることにより、変位量算出部４３は、力制御による第１対象物Ｏ１（すなわち、制御点Ｔ１）の挙動（柔らかく動くか固く動くか等）を切り替えることができる。また、当該係数を切り替えることにより、変位量算出部４３は、フィルター駆動周波数を切り替えて、当該運動方程式の解の応答性を切り替えることができる。ここで、図８に示した方程式は、当該運動方程式を当該デジタルフィルターによって表した場合の運動方程式である。当該運動方程式における時間ｎは、ある基準となる時刻から離散時間Ｔのｎ倍の時間が経過したことを表す変数を表す。なお、時間ｎは、０を含む正又は負の整数である。また、当該運動方程式における外力Ｆｎは、図８に示したデジタルフィルターに対する入力であって時間ｎにおいて力検出部２１により検出された外力を表す。また、当該運動方程式における変位量Ｘｎは、時間ｎにおいて第１対象物Ｏ１を変位させる変位量を表す。
【００９７】
このような式（１）に示した運動方程式のデジタルフィルター化によって、前述のＴＴＸ並進変位量、ＴＴＹ並進変位量、ＴＴＺ並進変位量、ＲＴＸ並進変位量、ＲＴＹ並進変位量、ＲＴＺ並進変位量、ＲＲＷ回転変位量、ＲＲＶ回転変位量、ＲＲＵ回転変位量、ＴＲＷ回転変位量、ＴＲＶ回転変位量、ＴＲＵ回転変位量のそれぞれを算出する運動方程式は、行列とベクトルの積を用いて図９に示した式（８）のように表すことができる。図９は、式（８）の一例を示す図である。具体的には、図９は、式（１）に示した運動方程式のデジタルフィルター化によって、前述のＴＴＸ並進変位量、ＴＴＹ並進変位量、ＴＴＺ並進変位量、ＲＴＸ並進変位量、ＲＴＹ並進変位量、ＲＴＺ並進変位量、ＲＲＷ回転変位量、ＲＲＶ回転変位量、ＲＲＵ回転変位量、ＴＲＷ回転変位量、ＴＲＶ回転変位量、ＴＲＵ回転変位量のそれぞれを算出する運動方程式の一例を示す図である。
【００９８】
ここで、図９に示した式（８）において、時間ｎは、図８に示した時間ｎと同様に、ある基準となる時刻から離散時間Ｔのｎ倍の時間が経過したことを表す変数である。なお、時間ｎは、０を含む正又は負の整数である。Ｘ並進力Ｆｘは、時間ｎにおいて第１対象物Ｏ１に作用したＸ並進力を表す。Ｙ並進力Ｆｙは、時間ｎにおいて第１対象物Ｏ１に作用したＹ並進力を表す。Ｚ並進力Ｆｚは、時間ｎにおいて第１対象物Ｏ１に作用したＺ並進力を表す。Ｗ回転モーメントＦｗは、時間ｎにおいて第１対象物Ｏ１に作用したＷ回転モーメントを表す。Ｖ回転モーメントＦｖは、時間ｎにおいて第１対象物Ｏ１に作用したＶ回転モーメントを表す。Ｕ回転モーメントＦｕは、時間ｎにおいて第１対象物Ｏ１に作用したＵ回転モーメントを表す。
【００９９】
また、式（８）において、変位量Ｓｘ，ｎは、時間ｎにおいて力検出座標系ＦＣにおけるＸ軸に沿った方向に第１対象物Ｏ１を並進させるＸ並進変位量を表す。すなわち、変位量Ｓｘ，ｎは、Ｘ並進力に応じたＴＴＸ並進変位量と、Ｙ並進力に応じたＴＴＸ並進変位量と、Ｚ並進力に応じたＴＴＸ並進変位量と、Ｗ回転モーメントに応じたＲＴＸ並進変位量と、Ｖ回転モーメントに応じたＲＴＸ並進変位量と、Ｕ回転モーメントに応じたＲＴＸ並進変位量との合計である。また、変位量Ｓｘ，ｎ−１は、時間ｎ−１におけるＸ並進変位量を表す。また、変位量Ｓｘ，ｎ−２は、時間ｎ−２におけるＸ並進変位量を表す。
【０１００】
また、式（８）において、変位量Ｓｙ，ｎは、時間ｎにおいて力検出座標系ＦＣにおけるＹ軸に沿った方向に第１対象物Ｏ１を並進させるＹ並進変位量を表す。また、変位量Ｓｙ，ｎは、Ｘ並進力に応じたＴＴＹ並進変位量と、Ｙ並進力に応じたＴＴＹ並進変位量と、Ｚ並進力に応じたＴＴＹ並進変位量と、Ｗ回転モーメントに応じたＲＴＹ並進変位量と、Ｖ回転モーメントに応じたＲＴＹ並進変位量と、Ｕ回転モーメントに応じたＲＴＹ並進変位量との合計である。また、変位量Ｓｙ，ｎ−１は、時間ｎ−１におけるＹ並進変位量を表す。また、変位量Ｓｙ，ｎ−２は、時間ｎ−２におけるＹ並進変位量を表す。
【０１０１】
また、式（８）において、変位量Ｓｚ，ｎは、時間ｎにおいて力検出座標系ＦＣにおけるＺ軸に沿った方向に第１対象物Ｏ１を並進させるＺ並進変位量を表す。また、変位量Ｓｚ，ｎは、Ｘ並進力に応じたＴＴＺ並進変位量と、Ｙ並進力に応じたＴＴＺ並進変位量と、Ｚ並進力に応じたＴＴＺ並進変位量と、Ｗ回転モーメントに応じたＲＴＺ並進変位量と、Ｖ回転モーメントに応じたＲＴＺ並進変位量と、Ｕ回転モーメントに応じたＲＴＺ並進変位量との合計である。また、変位量Ｓｚ，ｎ−１は、時間ｎ−１におけるＺ並進変位量を表す。また、変位量Ｓｚ，ｎ−２は、時間ｎ−２におけるＺ並進変位量を表す。
【０１０２】
また、式（８）において、変位量Ｓｗ，ｎは、時間ｎにおいて力検出座標系ＦＣにおけるＷ軸に沿った方向に第１対象物Ｏ１を回転させるＷ回転変位量を表す。また、変位量Ｓｗ，ｎは、Ｘ並進力に応じたＴＲＷ回転変位量と、Ｙ並進力に応じたＴＲＷ回転変位量と、Ｚ並進力に応じたＴＲＷ回転変位量と、Ｗ回転モーメントに応じたＲＲＷ回転変位量と、Ｖ回転モーメントに応じたＲＲＷ回転変位量と、Ｕ回転モーメントに応じたＲＲＷ回転変位量との合計である。また、変位量Ｓｗ，ｎ−１は、時間ｎ−１におけるＷ回転変位量を表す。また、変位量Ｓｗ，ｎ−２は、時間ｎ−２におけるＷ回転変位量を表す。
【０１０３】
また、式（８）において、変位量Ｓｖ，ｎは、時間ｎにおいて力検出座標系ＦＣにおけるＶ軸に沿った方向に第１対象物Ｏ１を回転させるＶ回転変位量を表す。また、変位量Ｓｖ，ｎは、Ｘ並進力に応じたＴＲＶ回転変位量と、Ｙ並進力に応じたＴＲＶ回転変位量と、Ｚ並進力に応じたＴＲＶ回転変位量と、Ｗ回転モーメントに応じたＲＲＶ回転変位量と、Ｖ回転モーメントに応じたＲＲＶ回転変位量と、Ｕ回転モーメントに応じたＲＲＶ回転変位量との合計である。また、変位量Ｓｖ，ｎ−１は、時間ｎ−１におけるＶ回転変位量を表す。また、変位量Ｓｖ，ｎ−２は、時間ｎ−２におけるＶ回転変位量を表す。
【０１０４】
また、式（８）において、変位量Ｓｕ，ｎは、時間ｎにおいて力検出座標系ＦＣにおけるＵ軸に沿った方向に第１対象物Ｏ１を回転させるＵ回転変位量を表す。また、変位量Ｓｕ，ｎは、Ｘ並進力に応じたＴＲＵ回転変位量と、Ｙ並進力に応じたＴＲＵ回転変位量と、Ｚ並進力に応じたＴＲＵ回転変位量と、Ｗ回転モーメントに応じたＲＲＵ回転変位量と、Ｖ回転モーメントに応じたＲＲＵ回転変位量と、Ｕ回転モーメントに応じたＲＲＵ回転変位量との合計である。また、変位量Ｓｕ，ｎ−１は、時間ｎ−１におけるＵ回転変位量を表す。また、変位量Ｓｕ，ｎ−２は、時間ｎ−２におけるＵ回転変位量を表す。
【０１０５】
また、式（８）において、係数Ｃｘｘ１、係数Ｃｘｘ２、係数Ｃｘｘ３、係数Ｃｘｙ１、係数Ｃｘｙ２、係数Ｃｘｙ３、係数Ｃｘｚ１、係数Ｃｘｚ２、係数Ｃｘｚ３、係数Ｃｘｗ１、係数Ｃｘｗ２、係数Ｃｘｗ３、係数Ｃｘｖ１、係数Ｃｘｖ２、係数Ｃｘｖ３、係数Ｃｘｕ１、係数Ｃｘｕ２、係数Ｃｘｕ３、係数Ｃｙｘ１、係数Ｃｙｘ２、係数Ｃｙｘ３、係数Ｃｙｙ１、係数Ｃｙｙ２、係数Ｃｙｙ３、係数Ｃｙｚ１、係数Ｃｙｚ２、係数Ｃｙｚ３、係数Ｃｙｗ１、係数Ｃｙｗ２、係数Ｃｙｗ３、係数Ｃｙｖ１、係数Ｃｙｖ２、係数Ｃｙｖ３、係数Ｃｙｕ１、係数Ｃｙｕ２、係数Ｃｙｕ３、係数Ｃｚｘ１、係数Ｃｚｘ２、係数Ｃｚｘ３、係数Ｃｚｙ１、係数Ｃｚｙ２、係数Ｃｚｙ３、係数Ｃｚｚ１、係数Ｃｚｚ２、係数Ｃｚｚ３、係数Ｃｚｗ１、係数Ｃｚｗ２、係数Ｃｚｗ３、係数Ｃｚｖ１、係数Ｃｚｖ２、係数Ｃｚｖ３、係数Ｃｚｕ１、係数Ｃｚｕ２、係数Ｃｚｕ３、係数Ｃｗｘ１、係数Ｃｗｘ２、係数Ｃｗｘ３、係数Ｃｗｙ１、係数Ｃｗｙ２、係数Ｃｗｙ３、係数Ｃｗｚ１、係数Ｃｗｚ２、係数Ｃｗｚ３、係数Ｃｗｗ１、係数Ｃｗｗ２、係数Ｃｗｗ３、係数Ｃｗｖ１、係数Ｃｗｖ２、係数Ｃｗｖ３、係数Ｃｗｕ１、係数Ｃｗｕ２、係数Ｃｗｕ３、係数Ｃｖｘ１、係数Ｃｖｘ２、係数Ｃｖｘ３、係数Ｃｖｙ１、係数Ｃｖｙ２、係数Ｃｖｙ３、係数Ｃｖｚ１、係数Ｃｖｚ２、係数Ｃｖｚ３、係数Ｃｖｗ１、係数Ｃｖｗ２、係数Ｃｖｗ３、係数Ｃｖｖ１、係数Ｃｖｖ２、係数Ｃｖｖ３、係数Ｃｖｕ１、係数Ｃｖｕ２、係数Ｃｖｕ３、係数Ｃｕｘ１、係数Ｃｕｘ２、係数Ｃｕｘ３、係数Ｃｕｙ１、係数Ｃｕｙ２、係数Ｃｕｙ３、係数Ｃｕｚ１、係数Ｃｕｚ２、係数Ｃｕｚ３、係数Ｃｕｗ１、係数Ｃｕｗ２、係数Ｃｕｗ３、係数Ｃｕｖ１、係数Ｃｕｖ２、係数Ｃｕｖ３、係数Ｃｕｕ１、係数Ｃｕｕ２、係数Ｃｕｕ３のそれぞれは、デジタルフィルター化された後のインピーダンスパラメーターである。以下では、説明の便宜上、これらの係数を区別する必要がない限り、まとめて係数Ｃと称して説明する。
【０１０６】
ここで、式（８）に示した行列は、図９に示したように、点線で示したように３６個の部分行列（３行３列の行列）によって構成されている。また、式（８）の右辺のベクトルは、図９に示したように、点線で示したように６個の３成分ベクトルによって構成されている。また、式（８）の左辺のベクトルは、図９に示したように、点線で示したように６個の３成分ベクトルによって構成されている。
【０１０７】
従って、Ｘ並進力に応じたＴＴＸ並進変位量は、部分行列Ｍ１１に３成分ベクトルＶＩ１が乗算されたベクトルの第２成分として算出される。また、Ｙ並進力に応じたＴＴＸ並進変位量は、部分行列Ｍ１２に３成分ベクトルＶＩ２が乗算されたベクトルの第２成分として算出される。また、Ｚ並進力に応じたＴＴＸ並進変位量は、部分行列Ｍ１３に３成分ベクトルＶＩ３が乗算されたベクトルの第２成分として算出される。また、Ｗ回転モーメントに応じたＲＴＸ並進変位量は、部分行列Ｍ１４に３成分ベクトルＶＩ４が乗算されたベクトルの第２成分として算出される。また、Ｖ回転モーメントに応じたＲＴＸ並進変位量は、部分行列Ｍ１５に３成分ベクトルＶＩ５が乗算されたベクトルの第２成分として算出される。また、Ｕ回転モーメントに応じたＲＴＸ並進変位量は、部分行列Ｍ１６に３成分ベクトルＶＩ６が乗算されたベクトルの第２成分として算出される。これらの第２成分の合計が前述のＸ並進変位量、すなわち３成分ベクトルＶＯ１の第２成分の変位量Ｓｘ，ｎである。
【０１０８】
また、Ｘ並進力に応じたＴＴＹ並進変位量は、部分行列Ｍ２１に３成分ベクトルＶＩ１が乗算されたベクトルの第２成分として算出される。また、Ｙ並進力に応じたＴＴＹ並進変位量は、部分行列Ｍ２２に３成分ベクトルＶＩ２が乗算されたベクトルの第２成分として算出される。また、Ｚ並進力に応じたＴＴＹ並進変位量は、部分行列Ｍ２３に３成分ベクトルＶＩ３が乗算されたベクトルの第２成分として算出される。また、Ｗ回転モーメントに応じたＲＴＹ並進変位量は、部分行列Ｍ２４に３成分ベクトルＶＩ４が乗算されたベクトルの第２成分として算出される。また、Ｖ回転モーメントに応じたＲＴＹ並進変位量は、部分行列Ｍ２５に３成分ベクトルＶＩ５が乗算されたベクトルの第２成分として算出される。また、Ｕ回転モーメントに応じたＲＴＹ並進変位量は、部分行列Ｍ２６に３成分ベクトルＶＩ６が乗算されたベクトルの第２成分として算出される。これらの第２成分の合計が前述のＹ並進変位量、すなわち３成分ベクトルＶＯ２の第２成分の変位量Ｓｙ，ｎである。
【０１０９】
また、Ｘ並進力に応じたＴＴＺ並進変位量は、部分行列Ｍ３１に３成分ベクトルＶＩ１が乗算されたベクトルの第２成分として算出される。また、Ｙ並進力に応じたＴＴＺ並進変位量は、部分行列Ｍ３２に３成分ベクトルＶＩ２が乗算されたベクトルの第２成分として算出される。また、Ｚ並進力に応じたＴＴＺ並進変位量は、部分行列Ｍ３３に３成分ベクトルＶＩ３が乗算されたベクトルの第２成分として算出される。また、Ｗ回転モーメントに応じたＲＴＺ並進変位量は、部分行列Ｍ３４に３成分ベクトルＶＩ４が乗算されたベクトルの第２成分として算出される。また、Ｖ回転モーメントに応じたＲＴＺ並進変位量は、部分行列Ｍ３５に３成分ベクトルＶＩ５が乗算されたベクトルの第２成分として算出される。また、Ｕ回転モーメントに応じたＲＴＺ並進変位量は、部分行列Ｍ３６に３成分ベクトルＶＩ６が乗算されたベクトルの第２成分として算出される。これらの第２成分の合計が前述のＺ並進変位量、すなわち３成分ベクトルＶＯ３の第２成分の変位量Ｓｚ，ｎである。
【０１１０】
また、Ｘ並進力に応じたＴＲＷ回転変位量は、部分行列Ｍ４１に３成分ベクトルＶＩ１が乗算されたベクトルの第２成分として算出される。また、Ｙ並進力に応じたＴＲＷ回転変位量は、部分行列Ｍ４２に３成分ベクトルＶＩ２が乗算されたベクトルの第２成分として算出される。また、Ｚ並進力に応じたＴＲＷ回転変位量は、部分行列Ｍ４３に３成分ベクトルＶＩ３が乗算されたベクトルの第２成分として算出される。また、Ｗ回転モーメントに応じたＲＲＷ回転変位量は、部分行列Ｍ４４に３成分ベクトルＶＩ４が乗算されたベクトルの第２成分として算出される。また、Ｖ回転モーメントに応じたＲＲＷ回転変位量は、部分行列Ｍ４５に３成分ベクトルＶＩ５が乗算されたベクトルの第２成分として算出される。また、Ｕ回転モーメントに応じたＴＴＸ並進変位量は、部分行列Ｍ４６に３成分ベクトルＶＩ６が乗算されたベクトルの第２成分として算出される。これらの第２成分の合計が前述のＷ回転変位量、すなわち３成分ベクトルＶＯ４の第２成分の変位量Ｓｗ，ｎである。
【０１１１】
また、Ｘ並進力に応じたＴＲＶ回転変位量は、部分行列Ｍ５１に３成分ベクトルＶＩ１が乗算されたベクトルの第２成分として算出される。また、Ｙ並進力に応じたＴＲＶ回転変位量は、部分行列Ｍ５２に３成分ベクトルＶＩ２が乗算されたベクトルの第２成分として算出される。また、Ｚ並進力に応じたＴＲＶ回転変位量は、部分行列Ｍ５３に３成分ベクトルＶＩ３が乗算されたベクトルの第２成分として算出される。また、Ｗ回転モーメントに応じたＲＲＶ回転変位量は、部分行列Ｍ５４に３成分ベクトルＶＩ４が乗算されたベクトルの第２成分として算出される。また、Ｖ回転モーメントに応じたＲＲＶ回転変位量は、部分行列Ｍ５５に３成分ベクトルＶＩ５が乗算されたベクトルの第２成分として算出される。また、Ｕ回転モーメントに応じたＴＴＹ並進変位量は、部分行列Ｍ５６に３成分ベクトルＶＩ６が乗算されたベクトルの第２成分として算出される。これらの第２成分の合計が前述のＶ回転変位量、すなわち３成分ベクトルＶＯ５の第２成分の変位量Ｓｖ，ｎである。
【０１１２】
また、Ｘ並進力に応じたＴＲＵ回転変位量は、部分行列Ｍ６１に３成分ベクトルＶＩ１が乗算されたベクトルの第２成分として算出される。また、Ｙ並進力に応じたＴＲＵ回転変位量は、部分行列Ｍ６２に３成分ベクトルＶＩ２が乗算されたベクトルの第２成分として算出される。また、Ｚ並進力に応じたＴＲＵ回転変位量は、部分行列Ｍ６３に３成分ベクトルＶＩ３が乗算されたベクトルの第２成分として算出される。また、Ｗ回転モーメントに応じたＲＲＵ回転変位量は、部分行列Ｍ６４に３成分ベクトルＶＩ４が乗算されたベクトルの第２成分として算出される。また、Ｖ回転モーメントに応じたＲＲＵ回転変位量は、部分行列Ｍ６５に３成分ベクトルＶＩ５が乗算されたベクトルの第２成分として算出される。また、Ｕ回転モーメントに応じたＴＴＺ並進変位量は、部分行列Ｍ６６に３成分ベクトルＶＩ６が乗算されたベクトルの第２成分として算出される。これらの第２成分の合計が前述のＵ回転変位量、すなわち３成分ベクトルＶＯ６の第２成分の変位量Ｓｕ，ｎである。
【０１１３】
変位量算出部４３は、図９に示した式（８）と、係数Ｃのそれぞれの値とに基づいて、Ｘ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のそれぞれを算出する。そして、Ｘ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のそれぞれは、係数Ｃのそれぞれの値に応じた値となる。例えば、力検出部２１がＸ並進力のみを検出した場合、変位量算出部４３は、係数Ｃのそれぞれの値に応じて、Ｘ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のうちの一部又は全部を０ではない有限の値として算出することができる。換言すると、変位量算出部４３は、係数Ｃのそれぞれの値に応じて、Ｘ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のうちの一部又は全部を０として算出することができる。
【０１１４】
以下では、一例として、係数Ｃのそれぞれが、図１０に示した式（９）のように決められている場合について説明する。図１０は、式（９）を示す図である。式（９）に示した行列に含まれる係数Ｃは、係数Ｃｘｘ１、係数Ｃｘｘ２、係数Ｃｘｘ３、係数Ｃｙｙ１、係数Ｃｙｙ２、係数Ｃｙｙ３、係数Ｃｚｚ１、係数Ｃｚｚ２、係数Ｃｚｚ３、係数Ｃｗｙ１、係数Ｃｗｙ２、係数Ｃｗｙ３のそれぞれが０ではない有限の値であり、係数Ｃに含まれるこれら以外の係数は、すべて０である。このように係数Ｃのそれぞれが決定されることにより、ロボット制御装置３０は、第１対象物Ｏ１を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よく行うことができる。当該作業は、例えば、前述した通り、この一例における所定の作業である。
【０１１５】
ステップＳ１３０の処理が行われた後、ロボット制御部４５は、ステップＳ１３０において算出されたＸ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のそれぞれと、現在の制御点Ｔ１の位置及び姿勢とに基づいて、現在の制御点Ｔ１の位置及び姿勢を、Ｘ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のそれぞれの分だけ変位させた後の制御点Ｔ１の位置及び姿勢を算出する。ロボット制御部４５は、算出した当該位置を示す情報を制御点位置情報として指定するとともに、算出した当該姿勢を示す情報を制御点姿勢情報として指定する。これにより、ロボット制御部４５は、ロボット２０を動作させ、制御点Ｔ１の位置及び姿勢を目標位置及び目標姿勢と一致させる（ステップＳ１４０）。そして、力検出情報取得部４１は、ステップＳ１１０に遷移し、再び力検出部２１から力検出情報を取得する。
【０１１６】
このように、ステップＳ１１０〜ステップＳ１４０の処理を繰り返すことにより、ロボット制御装置３０は、ロボット２０に所定の作業を行わせる。すなわち、この一例において、ロボット制御装置３０は、ロボット２０を動作させ、第１対象物Ｏ１を第２対象物Ｏ２に嵌合させる作業を所定の作業としてロボット２０に行わせる。ここで、図２〜図４において説明したチャンファーレスな嵌合作業を例に挙げて、ステップＳ１１０〜ステップＳ１４０の処理が繰り返し行われることによるロボット２０の動作について説明する。
【０１１７】
ロボット制御部４５は、ロボット２０を動作させ、図２に示した第１対象物Ｏ１に対して力検出座標系ＦＣにおけるＺ軸の負方向に力Ｆ１を作用させる。この場合、第１対象物Ｏ１は、力Ｆ１の方向へと変位する。そして、当該方向へ変位した第１対象物Ｏ１の部位ＰＰ１は、図３に示した第１対象物Ｏ１と同様に、第２対象物Ｏ２の位置のうち嵌合部Ｈ１と異なる位置に接触する。このように第１対象物Ｏ１が第２対象物Ｏ２と接触した場合、部位ＰＰ１には、図１１に示したように第２対象物Ｏ２から当該Ｚ軸の正方向に向かって力Ｆ２が作用する。その結果、第１対象物Ｏ１には、第２対象物Ｏ２から図３に示した矢印が示す方向Ａ１に回転モーメントが作用する。図１１は、この一例における力制御において、部位ＰＰ１に第２対象物Ｏ２から力検出座標系ＦＣにおけるＺ軸の正方向に向かって力Ｆ２が作用した様子の一例を示す図である。
【０１１８】
この場合、この一例における力制御では、ロボット制御部４５は、図１１に示した矢印が示す方向Ａ２に向かって第１対象物Ｏ１を並進させる。これは、図１０に示した式（９）に基づいて算出されたＸ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のそれぞれに基づいて、ロボット制御部４５が制御点Ｔ１の位置及び姿勢を変位させる変位動作をロボット２０に行わせた結果である。
【０１１９】
具体的には、図１１に示した状態では、ステップＳ１３０において変位量算出部４３は、図１１に示した力Ｆ１及び力Ｆ２の合力を図１０に示した式（９）におけるＺ並進力Ｆｚに代入するとともに、力Ｆ２に応じて図１１に示した方向Ａ１に第１対象物Ｏ１を回転させるＷ回転モーメントを図１０に示した式（９）におけるＷ回転モーメントＦｗに代入する。ここで、前述した通り、係数Ｃのそれぞれは、図１０に示した式（９）のように決められている。このため、変位量算出部４３は、Ｘ並進変位量Ｓｘ，ｎ、Ｗ回転変位量Ｓｗ，ｎ、Ｖ回転変位量Ｓｖ，ｎ、Ｕ回転変位量Ｓｕ，ｎのそれぞれを０と算出する。そして、変位量算出部４３は、Ｙ並進変位量Ｓｙ，ｎと、Ｚ並進変位量Ｓｚ，ｎとのそれぞれを０ではない有限な値として算出する。Ｚ並進変位量Ｓｚ，ｎが当該有限な値として算出される理由は、式（９）に示した行列を構成する部分行列のうちＺ並進力Ｆｚを含む３成分ベクトルＶＩ３が、０ではない係数Ｃ（この一例において、係数Ｃｚｚ１、係数Ｃｚｚ２、係数Ｃｚｚ３のそれぞれ）を含む部分行列Ｍ３３と乗算されるためであり、また、Ｙ並進変位量Ｓｙ，ｎが当該有限な値として算出される理由は、Ｗ回転モーメントＦｗを含む３成分ベクトルＶＩ４が、０ではない係数Ｃ（この一例において、係数Ｃｙｗ１、係数Ｃｙｗ２、係数Ｃｙｗ３のそれぞれ）を含む部分号列Ｍ２４と乗算されるためである。
【０１２０】
部分行列Ｍ３３に３成分ベクトルＶＩ３が乗算されたベクトルの第２成分は、Ｚ並進力に応じたＴＴＺ並進変位量である。また、部分行列Ｍ２４に３成分ベクトルＶＩ４が乗算されたベクトルの第２成分は、Ｗ回転モーメントに応じたＲＴＹ並進変位量である。すなわち、ロボット制御装置３０は、当該ＴＴＺ並進変位量に基づく第１動作と、当該ＲＴＹ並進変位量に基づく第３動作とに基づく動作を変位動作としてロボット２０に行わせ、図１１に示した第１対象物Ｏ１と第２対象物Ｏ２との相対的な位置関係を保持したまま（第１対象物Ｏ１の姿勢を保持しつつ第１対象物Ｏ１と第２対象物Ｏ２とを接触させたまま）、図１１に示した方向Ａ２に向かって並進させ、図１２に示した状態を実現する。図１２は、図１１に示した第１対象物Ｏ１を方向Ａ２に向かって並進させた後の第１対象物Ｏ１及び第２対象物Ｏ２の様子の一例を示す図である。図１２に示した第１対象物Ｏ１の状態は、力検出座標系ＦＣにおけるＺ軸の負方向に並進することにより、嵌合部Ｈ１に嵌合する状態である。この状態において、ロボット制御部４５は、この一例における力制御によって所定条件を満たすように第１対象物Ｏ１を変位させる。すなわち、ロボット制御部４５は、第１対象物Ｏ１を当該負方向に並進させ、図１３に示したように、第１対象物Ｏ１を嵌合部Ｈ１に嵌合させる。図１３は、第１対象物Ｏ１が嵌合部Ｈ１に嵌合した様子の一例を示す図である。
【０１２１】
このように、ロボット制御装置３０は、図１０に示した式（９）に基づいて、力検出部２１により外力が検出された場合、複数の方向のうち外力の方向と異なる方向に第１対象物Ｏ１を変位させる変位動作をロボット２０に行わせる。すなわち、ロボット制御装置３０は、前述のデジタルフィルターの行列演算で求められた結果に基づいて当該変位動作をロボットに行わせる。これにより、ロボット制御装置３０は、第１対象物Ｏ１を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よく行うことができる。
【０１２２】
ここで、上記において説明した作業（すなわち、第１対象物Ｏ１と第２対象物Ｏ２のチャンファーレスな嵌合作業）では、ロボット制御装置３０は、第１動作と第３動作とに基づく動作を変位動作としてロボット２０に行わせたが、これは一例に過ぎない。例えば、他の作業では、ロボット制御装置３０は、当該作業に応じて、第１動作と、第２動作と、第３動作と、第４動作との一部又は全部に基づく動作を変位動作としてロボット２０に行わせる。すなわち、ロボット制御装置３０がロボット２０に行わせる変位動作には、第１動作と、第２動作と、第３動作と、第４動作とのうちの少なくとも１つが含まれる。これにより、ロボット制御装置３０は、第１動作と、第２動作と、第３動作と、第４動作とのうちの少なくとも１つが含まれる変位動作に基づいて、第１対象物Ｏ１を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よく行うことができる。また、ロボット制御装置３０は、第１動作と、第２動作と、第３動作と、第４動作との一部又は全部に基づく動作に基づいて、第１対象物Ｏ１を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よく行うことができる。
【０１２３】
ロボット制御装置３０がロボット２０に行わせる変位動作は、式（８）に示した係数Ｃのそれぞれの値に応じて決まる。また、係数Ｃのそれぞれの値は、ロボット制御装置３０がロボット２０に行わせる作業に応じて決まる。従って、ロボット制御装置３０は、当該作業に応じた変位動作をロボット２０に行わせる。これにより、ロボット制御装置３０は、所定の作業に応じた変位動作に基づいて、第１対象物Ｏ１を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よくロボット２０に行わせることができる。
【０１２４】
ここで、この一例における力制御では、式（８）に示した行列の非対角成分に含まれる係数Ｃの少なくとも一部が０ではない有限の値であるため、ロボット制御装置３０が、複数の方向のうち外力の方向と異なる方向に第１対象物Ｏ１を変位させる変位動作をロボット２０に行わせると換言することもできる。当該行列の対角成分は、当該行列のうちの部分行列Ｍ１１、部分行列Ｍ２２、部分行列Ｍ３３、部分行列Ｍ４４、部分行列Ｍ５５、部分行列Ｍ６６のことであり、当該行列の非対角成分は、当該行列のうちのこれらの部分行列以外の部分行列のことである。すなわち、当該行列は、当該変位動作を表す行列の一例である。
【０１２５】
＜実施形態の変形例＞
以下、図１４を参照し、実施形態の変形例について説明する。なお、実施形態の変形例では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
【０１２６】
図１４は、実施形態の変形例に係るロボットシステム２の構成の一例を示す図である。ロボットシステム２は、ロボット制御装置３０を内蔵するロボット６０を備える。
【０１２７】
ロボット６０は、第１アームと、第２アームと、第１アーム及び第２アームを支持する支持台と、ロボット制御装置３０を備える双腕ロボットである。なお、ロボット６０は、双腕ロボットに代えて、３本以上のアームを備える複腕ロボットであってもよい。
【０１２８】
第１アームは、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、力検出部２１１を備える。
【０１２９】
第１エンドエフェクターＥ１は、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、第１エンドエフェクターＥ１は、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【０１３０】
第１エンドエフェクターＥ１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、第１エンドエフェクターＥ１は、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第１エンドエフェクターＥ１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【０１３１】
第１マニピュレーターＭ１は、７つの関節と、第１撮像部６１を備える。また、当該７つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、第１マニピュレーターＭ１を備える第１アームは、７軸垂直多関節型のアームである。第１アームは、支持台と、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、第１マニピュレーターＭ１が備える７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、第１アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【０１３２】
第１アームが７軸の自由度で動作する場合、第１アームは、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第１アームは、例えば、動作が滑らかになり、更に第１アームの周辺に存在する物体との干渉を容易に回避することができる。また、第１アームが７軸の自由度で動作する場合、第１アームの制御は、第１アームが８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【０１３３】
第１マニピュレーターＭ１が備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、第１マニピュレーターＭ１を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第１マニピュレーターＭ１が備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【０１３４】
第１撮像部６１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。この一例において、第１撮像部６１は、第１マニピュレーターＭ１の一部に備えられる。そのため、第１撮像部６１は、第１アームの動きに応じて移動する。また、第１撮像部６１が撮像可能な範囲は、第１アームの動きに応じて変化する。第１撮像部６１は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
【０１３５】
また、第１撮像部６１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１撮像部６１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【０１３６】
力検出部２１１は、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１との間に設けられる。力検出部２１１は、力検出部２１と同様の構成を有し、第１アームにおける制御対象に作用した外力を検出する。第１アームにおける制御対象は、この一例において、第１エンドエフェクターＥ１、又は第１エンドエフェクターＥ１により把持された物体のことである。力検出部２１１は、検出した外力を示す値を出力値として含む第１力検出情報を通信によりロボット制御装置３０へ出力する。
【０１３７】
第１力検出情報は、ロボット制御装置３０による第１アームの第１力検出情報に基づく制御である力制御に用いられる。当該力制御は、実施形態において説明した力制御のことである。なお、力検出部２１１は、トルクセンサー等の制御対象に作用した外力を示す値を検出する他のセンサーであってもよい。
【０１３８】
力検出部２１１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２１１とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【０１３９】
第２アームは、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２と、力検出部２１２を備える。
【０１４０】
第２エンドエフェクターＥ２は、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、第２エンドエフェクターＥ２は、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【０１４１】
第２エンドエフェクターＥ２は、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、第２エンドエフェクターＥ２は、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第２エンドエフェクターＥ２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【０１４２】
第２マニピュレーターＭ２は、７つの関節と、第２撮像部６２を備える。また、当該７つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、第２マニピュレーターＭ２を備える第２アームは、７軸垂直多関節型のアームである。第２アームは、支持台と、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２と、第２マニピュレーターＭ２が備える７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、第２アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【０１４３】
第２アームが７軸の自由度で動作する場合、第２アームは、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第２アームは、例えば、動作が滑らかになり、更に第２アームの周辺に存在する物体との干渉を容易に回避することができる。また、第２アームが７軸の自由度で動作する場合、第２アームの制御は、第２アームが８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【０１４４】
第２マニピュレーターＭ２が備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、第２マニピュレーターＭ２を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第２マニピュレーターＭ２が備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【０１４５】
第２撮像部６２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。この一例において、第２撮像部６２は、第２マニピュレーターＭ２の一部に備えられる。そのため、第２撮像部６２は、第２アームの動きに応じて移動する。また、第２撮像部６２が撮像可能な範囲は、第２アームの動きに応じて変化する。第２撮像部６２は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
【０１４６】
また、第２撮像部６２は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２撮像部６２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【０１４７】
力検出部２１２は、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２との間に設けられる。力検出部２１２は、力検出部２１と同様の構成を有し、第２アームにおける制御対象に作用した外力を検出する。第２アームにおける制御対象は、この一例において、第２エンドエフェクターＥ２、又は第２エンドエフェクターＥ２により把持された物体のことである。力検出部２１２は、検出した外力を示す値を出力値として含む第２力検出情報を通信によりロボット制御装置３０へ出力する。以下では、一例として、第２エンドエフェクターＥ２により予め把持された第１対象物Ｏ１が第２アームにおける制御対象である場合について説明する。
【０１４８】
第２力検出情報は、ロボット制御装置３０による第２アームの第２力検出情報に基づく制御である力制御に用いられる。当該力制御は、実施形態において説明した力制御のことである。なお、力検出部２１２は、トルクセンサー等の制御対象に作用した外力を示す値を検出する他のセンサーであってもよい。
【０１４９】
力検出部２１２は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２１２とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【０１５０】
また、ロボット６０は、第３撮像部６３と、第４撮像部６４を備える。
第３撮像部６３は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第３撮像部６３は、第４撮像部６４が撮像可能な範囲を第４撮像部６４とともにステレオ撮像可能な部位に備えられる。第３撮像部６３は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第３撮像部６３は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【０１５１】
第４撮像部６４は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第４撮像部６４は、第３撮像部６３が撮像可能な範囲を第３撮像部６３とともにステレオ撮像可能な部位に備えられる。第４撮像部６４は、ケーブルによって通信可能にロボット制御装置３０と接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第４撮像部６４は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【０１５２】
上記で説明したロボット６０が備える各機能部は、この一例において、ロボット６０に内蔵されたロボット制御装置３０から制御信号を取得する。そして、当該各機能部は、取得した制御信号に基づいた動作を行う。なお、ロボット６０は、ロボット制御装置３０を内蔵する構成に代えて、外部に設置されたロボット制御装置３０により制御される構成であってもよい。この場合、ロボット６０と、ロボット制御装置３０とは、ロボットシステムを構成する。また、ロボット６０は、第１撮像部６１と、第２撮像部６２と、第３撮像部６３と、第４撮像部６４のうちの一部又は全部を備えない構成であってもよい。
【０１５３】
ここで、この一例において、第１対象物Ｏ１の重心には、制御点Ｔ２が設定されている。すなわち、この一例におけるロボット制御装置３０は、ロボット制御装置３０により実施形態におけるアームＡを制御する力制御と同様の力制御を第１アーム及び第２アームの少なくとも一方に対して行う。この一例では、第２アームに第１対象物Ｏ１が把持されているため、ロボット制御装置３０は、この一例における力制御によって第２アームを動作させ、実施形態と同様の所定の作業を第２アームに行わせることができる。なお、第１アームに第１対象物Ｏ１が把持されている場合、ロボット制御装置３０は、この一例における力制御によって第１アームを動作させ、実施形態と同様の所定の作業を第１アームに行わせることができる。これにより、ロボット制御装置３０は、力検出部（この一例において、力検出部２１１、力検出部２１２）により外力が検出された場合、当該複数の方向のうち外力の方向と異なる方向に制御対象（この一例において、第１対象物Ｏ１）を変位させる変位動作をロボット６０に行わせる。これにより、ロボット制御装置３０は、実施形態と同様に、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業を精度よく行うことができる。
【０１５４】
なお、上記の実施形態では、ロボット制御装置３０がデジタルフィルター化された運動方程式に基づく式（８）に基づいた力制御を行う場合について説明したが、ロボット制御装置３０は、上記の式（１）に示した運動方程式に基づいて、実施形態において説明した力制御と同様の力制御を行う構成であってもよい。この場合、ロボット制御装置３０は、力検出部２１（又は力検出部２１１、力検出部２１２）によって検出された外力のうちのＸ並進力、Ｙ並進力、Ｚ並進力、Ｗ回転モーメント、Ｖ回転モーメント、Ｕ回転モーメントのそれぞれについての６本の運動方程式を解くことにより、当該それぞれに応じた並進変位量及び回転変位量を算出することができる。
【０１５５】
上記の式（２）〜式（７）は、このような並進変位量及び回転変位量の一例である。すなわち、式（２）は、Ｘ並進力に応じたＴＴＸ並進変位量であり、式（３）は、Ｘ並進力に応じたＴＴＹ並進変位量であり、式（４）は、Ｘ並進力に応じたＴＴＺ並進変位量である。また、式（５）は、Ｘ並進力に応じたＴＲＷ回転変位量であり、式（６）は、Ｘ並進力に応じたＴＲＶ回転変位量であり、式（７）は、Ｘ並進力に応じたＴＲＵ回転変位量である。なお、Ｙ並進力、Ｚ並進力、Ｗ回転モーメント、Ｖ回転モーメント、Ｕ回転モーメントのそれぞれについての６本の運動方程式は、Ｘ並進力についての６本の運動方程式を導出する方法と同様の方法によって導出可能であるため、説明を省略する。
【０１５６】
ロボット制御装置３０は、Ｘ並進力、Ｙ並進力、Ｚ並進力、Ｗ回転モーメント、Ｖ回転モーメント、Ｕ回転モーメントのそれぞれについての６本の運動方程式を解くことにより、当該それぞれに応じた並進変位量及び回転変位量を算出し、算出した当該並進変位量及び回転変位量に基づいて、Ｘ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のそれぞれを算出する。そして、ロボット制御装置３０は、現在の制御点Ｔ２の位置及び姿勢と、算出したＸ並進変位量、Ｙ並進変位量、Ｚ並進変位量、Ｗ回転変位量、Ｖ回転変位量、Ｕ回転変位量のそれぞれとに基づいて、制御点Ｔ２の位置及び姿勢を変化させる。これにより、ロボット制御装置３０は、実施形態と同様の効果を得ることができる。
【０１５７】
以上のように、ロボット制御装置３０は、力検出部（この一例において、力検出部２１）により外力が検出された場合、当該複数の方向のうち外力の方向と異なる方向に制御対象（この一例において、第１対象物Ｏ１）を変位させる変位動作をロボット２０に行わせる。これにより、ロボット制御装置３０は、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボット２０に精度よく行わせることができる。
【０１５８】
また、ロボット制御装置３０は、所定の作業（この一例において、第１対象物Ｏ１と第２対象物Ｏ２のチャンファーレスな嵌合作業）をロボット２０に行わせる場合、当該所定の作業に応じた変位動作をロボット２０に行わせる。これにより、ロボット制御装置３０は、所定の作業に応じた変位動作に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボット２０に精度よく行わせることができる。
【０１５９】
また、ロボット制御装置３０は、第１対象物（この一例において、第１対象物Ｏ１）と、第１対象物が嵌合する第２対象物（この一例において、第２対象物Ｏ２）とを嵌合させる作業を所定の作業としてロボット２０に行わせる。これにより、ロボット制御装置３０は、第１対象物と第２対象物とを嵌合させる作業に応じた変位動作に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボット２０に精度よく行わせることができる。
【０１６０】
また、ロボット制御装置３０は、力検出部により外力が検出された場合、当該複数の方向のうち外力の方向と異なる方向に制御対象を変位させる変位動作であって第１動作と、第２動作と、第３動作と、第４動作とのうちの少なくとも１つが含まれる変位動作をロボット２０に行わせる。これにより、ロボット制御装置３０は、第１動作と、第２動作と、第３動作と、第４動作とのうちの少なくとも１つが含まれる変位動作に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボット２０に精度よく行わせることができる。
【０１６１】
また、ロボット制御装置３０は、第１動作と、第２動作と、第３動作と、第４動作との一部又は全部に基づく動作を変位動作としてロボット２０に行わせる。これにより、ロボット制御装置３０は、第１動作と、第２動作と、第３動作と、第４動作との一部又は全部に基づく動作に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボット２０に精度よく行わせることができる。
【０１６２】
また、ロボット制御装置３０は、デジタルフィルターの行列（この一例において、式（８）に示した行列）演算で求められた結果に基づいて変位動作をロボット２０に行わせる。これにより、ロボット制御装置３０は、デジタルフィルターの行列演算で求められた結果に基づいて、制御対象を変位させる方向に沿った方向と異なる方向に外力が加わる作業をロボット２０に精度よく行わせることができる。
【０１６３】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１６４】
また、以上に説明した装置（例えば、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１６５】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１６６】
１、２…ロボットシステム、１０…撮像部、２０、６０…ロボット、２１、２１１、２１２…力検出部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４１…力検出情報取得部、４３…変位量算出部、４５…ロボット制御部、６１…第１撮像部、６２…第２撮像部、６３…第３撮像部、６４…第４撮像部
【図１】
2018015855.tif 000005
【図２】
2018015855.tif 000006
【図３】
2018015855.tif 000007
【図４】
2018015855.tif 000008
【図５】
2018015855.tif 000009
【図６】
2018015855.tif 000010
【図７】
2018015855.tif 000011
【図８】
2018015855.tif 000012
【図９】
2018015855.tif 000013
【図１０】
2018015855.tif 000014
【図１１】
2018015855.tif 000015
【図１２】
2018015855.tif 000016
【図１３】
2018015855.tif 000017
【図１４】
2018015855.tif 000018