(57)【要約】【課題】制御による位置の精度が低い場合でも正確に位置決めを行う。【解決手段】ロボットに第１の対象物を動作させ、前記第１の対象物の１点が第２の対象物の１点に接触したとき、前記第１の対象物の他の１点が前記第２の対象物の他の１点に近づくように前記第１の対象物を動作させる。本実施形態は、ロボットシステム、制御装置、制御方法のいずれでも、実施することができる。また、本実施形態は、第１の対象物を動作させ、前記第１の対象物の１点が第２の対象物の１点に接触したとき、前記第１の対象物の他の１点が前記第２の対象物の他の１点に近づくように前記第１の対象物を動作させるロボットとしても実施することができる。【選択図】図４
2015085499.tif 000002
【特許請求の範囲】
【請求項１】
力センサーと、
第１の対象物を把持する把持部を含むアームと、を含み、
前記第１の対象物は、少なくとも１つの面を含み、
前記把持部により把持される第１の対象物の前記面の一部を構成する第１の部位を第２の対象物に接触させる第１の動作と、
前記第１の動作後に、前記第１の部位とは異なる前記第１の対象物の第２の部位で、前記第１の対象物を前記第２の対象物に接触させる第２の動作と、を行う、
ロボット。
【請求項２】
前記面は、平面であり、
前記第１の部位は、前記平面を構成する辺であり、
前記第１の動作において、前記辺を前記第２の対象物に接触させる、
請求項１に記載のロボット。
【請求項３】
前記第１の部位は、前記辺を構成する点であり、
前記第１の動作において、前記点を前記第２の対象物に接触させる、
請求項２に記載のロボット。
【請求項４】
前記面は、１つの曲面であり、
前記第１の対象物は、前記曲面から構成される物体であり、
前記第１の部位及び前記第２の部位は、前記曲面の一部であり、
前記第１の動作及び前記第２の動作において、前記第１の対象物を前記第２の対象物と点接触させる、
請求項１に記載のロボット。
【請求項５】
前記第１の動作及び前記第２の動作において、前記力センサーの出力を用いて、前記第１の対象物が前記第２の対象物に接触したか否かを判定する、
請求項１から請求項４のいずれか１項に記載のロボット。
【請求項６】
前記第１の動作における前記第１の対象物と前記第２の対象物の接触状態を維持して、前記第２の動作を行う、
請求項１から請求項５のいずれか１項に記載のロボット。
【請求項７】
前記第２の動作を行う際、前記ロボットに前記第１の対象物の前記第１の部位を前記第２の対象物に接触させながら、前記第１の対象物の前記第１の部位と前記第１の対象物の前記第２の部位を通る面に垂直な方向に力を作用させる請求項１から請求項６のいずれか１項に記載のロボット。
【請求項８】
前記ロボットに力を作用させる際、前記第１の対象物にかかる重力を相殺する請求項７に記載のロボット。
【請求項９】
前記力センサーは、前記把持部と前記アームとの間に配置される、
請求項１から請求項８のいずれか１項に記載のロボット。
【請求項１０】
力センサーと、アームとを含むロボットを含み、
前記アームは、第１の対象物を把持する把持部を含み、
前記第１の対象物は、少なくとも１つの面を含み、
前記ロボットは、
前記把持部により把持される第１の対象物の前記面の一部を構成する第１の部位を第２の対象物に接触させる第１の動作と、
前記第１の動作後に、前記第１の部位とは異なる前記第１の対象物の第２の部位で、前記第１の対象物を前記第２の対象物に接触させる第２の動作と、を行う、
ロボットシステム。
【請求項１１】
力センサーと、アームとを含むロボットを動作させる制御装置であって、
前記アームは、第１の対象物を把持する把持部を含み、
前記第１の対象物は、少なくとも１つの面を含み、
前記ロボットに、前記把持部により把持される第１の対象物の前記面の一部を構成する第１の部位を第２の対象物に接触させる第１の動作と、
前記第１の動作後に、前記第１の部位とは異なる前記第１の対象物の第２の部位で、前記第１の対象物を前記第２の対象物に接触させる第２の動作と、を行わせる、
制御装置。
【請求項１２】
力センサーと、アームとを含むロボットの制御方法であって、
前記アームは、第１の対象物を把持する把持部を含み、
前記第１の対象物は、少なくとも１つの面を含み、
前記ロボットに、前記把持部により把持される第１の対象物の前記面の一部を構成する第１の部位を第２の対象物に接触させる第１の動作を行わせることと、
前記ロボットに、前記第１の部位とは異なる前記第１の対象物の第２の部位で、前記第１の対象物を前記第２の対象物に接触させる第２の動作を行わせることと、を含む、
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットシステム、制御装置及び制御方法に関する。
【背景技術】
【０００２】
製造等の作業現場では、製品の組み立て等の作業にロボットが用いられ、人手で行っていた作業の自動化が図られてきた。ロボットによる組み立て作業では、作業対象となる対象物をジグの所定位置に位置決めされた状態で行われることがある。
【０００３】
当該所定位置を算出する方法としては、例えば、特許文献1に記載されているような、カメラによって撮像された撮像画像を画像処理することによって、当該所定位置を算出する方法が考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−６４１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ロボットとカメラとのキャリブレーションを厳密に行っていない場合（つまり、簡易的なキャリブレーションである場合）や、画像処理の精度が低い場合には、当該所定位置を正確に算出することができず、対象物をジクに正確に位置決めすることが困難となる。また、キャリブレーションを厳密に行っている場合や、画像処理の精度がある程度の精度を有している場合であっても、ロボットアームの剛性が低い場合には、やはり象物をジクに正確に位置決めすることが困難となる。
そこで、本発明は、制御による位置の精度が低い場合、例えば、キャリブレーションが簡易な場合、アームの剛性が低い場合、等でも正確に位置決めを行うことを課題とする。
【課題を解決するための手段】
【０００６】
（１）本発明の一態様は、力センサーと、第１の対象物を把持する把持部を含むアームと、を含み、前記第１の対象物は、少なくとも１つの面を含み、前記把持部により把持される第１の対象物の前記面の一部を構成する第１の部位を第２の対象物に接触させる第１の動作と、前記第１の動作後に、前記第１の部位とは異なる前記第１の対象物の第２の部位で、前記第１の対象物を前記第２の対象物に接触させる第２の動作とを行う、ロボットである。
この構成によれば、第１の対象物が第２の対象物に接触し、第２の対象物の１点と他の１点とを通る面から傾いた状態で配置された場合でも、正確に位置決めを行うことができる。
【０００７】
（２）本発明の他の態様は、上述したロボットであって、前記面は、平面であり、前記第１の部位は、前記平面を構成する辺であり、前記第１の動作において、前記辺を前記第２の対象物に接触させる。
この構成によれば、第１の部位の平面内の辺を支点として、第２の部位が第２の対象物に接触させるようにすることで、傾きが減少するように補正することができる。
【０００８】
（３）本発明の他の態様は、上述したロボットであって、前記第１の部位は、辺を構成する点であり、前記第１の動作において、前記点を前記第２の対象物に接触させる。
この構成によれば、第１の部位を構成する平面内の点を支点として、第２の部位が第２の対象物に接触させるようにすることで、傾きが減少するように補正することができる。
【０００９】
（４）本発明の他の態様は、上述したロボットであって、前記面は、１つの曲面であり、前記第１の対象物は、前記曲面から構成される物体であり、前記第１の部位及び前記第２の部位は、前記曲面の一部であり、前記第１の動作及び前記第２の動作において、前記第１の対象物を前記第２の対象物と点接触させる。
この構成によれば、第１の部位を構成する曲面の点を支点として、第２の部位が第２の対象物に接触させるようにすることで、傾いた状態で配置された場合でも、傾きが減少するように補正することができる。
【００１０】
（５）本発明の他の態様は、上述したロボットであって、前記第１の動作及び前記第２の動作において、前記力センサーの出力を用いて、前記第１の対象物が前記第２の対象物に接触したか否かを判定する。
この構成によれば、第１の対象物と第２の対象物が機械的に接触したことを検知して、第１の対象物への力の作用を停止する手がかりが与えられる。
【００１１】
（６）本発明の他の態様は、上述したロボットであって、前記第１の動作における前記第１の対象物と前記第２の対象物の接触状態を維持して、前記第２の動作を行う。
この構成によれば、第１の対象物と第２の対象物とのいずれかの部位が接触しながら、他の部位同士が近づくので、傾いた状態で配置された場合でも、傾きが減少するように補正することができる。
【００１２】
（７）本発明の他の態様は、上述したロボットであって、前記第２の動作を行う際、前記ロボットに前記第１の対象物の前記第１の部位を前記第２の対象物に接触させながら、前記第１の対象物の前記第１の部位と前記第１の対象物の前記第２の部位に垂直な方向に力を作用させる。
この構成によれば、第１の対象物の第１の部位と第２の部位を通る面が、第２の対象物の第１の部位と第２の部位を通る面に倣う力を効率よく生じされることができる。そのため、第１の対象物に無理な力を作用させなくても傾きを効率よく補正することができる。
【００１３】
（８）本発明の他の態様は、上述したロボットであって、前記ロボットに力を作用させる際、前記第１の対象物にかかる重力を相殺する。
この構成によれば、第１の対象物に作用させる重力を解消することができるので、第１の対象物に生じた傾きをより効率よく補正することができる。
【００１４】
（９）本発明の他の態様は、上述したロボットであって、前記力センサーは、前記把持部と前記アームとの間に配置される。
この構成によれば、力センサーは把持部に加えられた力を有効に検出することができる。
【００１５】
（１０）本発明の他の態様は、力センサーと、アームとを含むロボットを含み、前記アームは、第１の対象物を把持する把持部を含み、前記第１の対象物は、少なくとも１つの面を含み、前記ロボットは、前記把持部により把持される第１の対象物の前記面の一部を構成する第１の部位を第２の対象物に接触させる第１の動作と、前記第１の動作後に、前記第１の部位とは異なる前記第１の対象物の第２の部位で、前記第１の対象物を前記第２の対象物に接触させる第２の動作とを行う、ロボットシステムである。
この構成によれば、第１の対象物が第２の対象物に接触し、第２の対象物の１点と他の１点とを通る面から傾いた状態で配置された場合でも、正確に位置決めを行うことができる。
【００１６】
（１１）本発明の他の態様は、力センサーと、アームとを含むロボットを動作させる制御装置であって、前記アームは、第１の対象物を把持する把持部を含み、前記第１の対象物は、少なくとも１つの面を含み、前記ロボットに、前記把持部により把持される第１の対象物の前記面の一部を構成する第１の部位を第２の対象物に接触させる第１の動作と、前記第１の動作後に、前記第１の部位とは異なる前記第１の対象物の第２の部位で、前記第１の対象物を前記第２の対象物に接触させる第２の動作とを行わせる、制御装置である。
この構成によれば、第１の対象物が第２の対象物に接触し、第２の対象物の１点と他の１点とを通る面から傾いた状態で配置された場合でも、正確に位置決めを行うことができる。
【００１７】
（１２）本発明の他の態様は、力センサーと、アームとを含むロボットの制御方法であって、前記アームは、第１の対象物を把持する把持部を含み、前記第１の対象物は、少なくとも１つの面を含み、前記ロボットに、前記把持部により把持される第１の対象物の前記面の一部を構成する第１の部位を第２の対象物に接触させる第１の動作を行わせることと、前記ロボットに、前記第１の部位とは異なる前記第１の対象物の第２の部位で、前記第１の対象物を前記第２の対象物に接触させる第２の動作を行わせることと、を含む、制御方法である。
この構成によれば、第１の対象物が第２の対象物に接触し、第２の対象物の１点と他の１点とを通る面から傾いた状態で配置された場合でも、正確に位置決めを行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るロボットシステムの概略図である。
【図２】本実施形態に係るロボットシステムの機能構成を示すブロック図である。
【図３】本実施形態に係るロボットシステムにおける制御の流れの一例を示すブロック図である。
【図４】本実施形態に係るロボット制御処理を示すフローチャートである。
【図５】傾き補正に係る動作例（１）を示す図である。
【図６】傾き補正に係る動作例（２）を示す図である。
【図７】傾き補正に係る動作例（３）を示す図である。
【図８】傾き補正に係る動作例（４）を示す図である。
【図９】傾き補正に係る動作例（５）を示す図である。
【図１０】傾き補正に係る動作例（６）を示す図である。
【図１１】傾き補正に係る動作例（７）を示す図である。
【図１２】傾き補正に係る動作例（８）を示す図である。
【図１３】傾き補正に係る動作例（９）を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について、図面を参照しながら説明する。
図１は、本実施形態に係るロボットシステム１の概略図である。
ロボットシステム１は、ロボット制御装置１０と、ロボット２０と、１個又は複数（この例では、２個）の撮像装置３０とを備える。ロボット制御装置１０、ロボット２０及び撮像装置３０は、互いに通信することができるように接続される。
【００２０】
ロボット制御装置１０は、ロボット２０の動作を制御する。ここで、ロボット制御装置１０は、ロボット２０に第１の対象物（例えば、対象物Ｗ１）を動作させ、第１の対象物の１点が第２の対象物（例えば、対象物Ｗ２）の１点に接触したとき、第１の対象物の他の１点が第２の対象物の他の１点に近づくように前記第１の対象物を動作させる。
ロボット制御装置１０は、ロボット２０の動作を制御する際、例えば、力制御を実行する。力制御は、ロボット２０の可動部２１（後述）に作用する力が目的とする作業に適合した値に近づくように制御する手法である。
【００２１】
ロボット２０は、ロボット制御装置１０からの制御信号に従って動作し、所定の作業を行う。ロボット２０の作業内容は、例えば作業台Ｔ上で作業の対象となる対象物Ｗ１を対象物Ｗ２に配置する作業が該当する。対象物は、ワークとも呼ばれる。
ロボット２０は、１もしくは複数（この例では、２本）のアーム２２と、アーム２２の先端部に設けられたハンド２６と、アーム２２の手首部分に設けられた力覚センサー２５と、を備える。アーム２２の手首部分とはアーム２２の先端部とハンド２６との間の部分である。アーム２２は、１もしくは複数（この例では、左右各６個）のジョイント２３及び１もしくは複数（この例では、左右各５個）のリンク２４を含んで構成される。
【００２２】
力覚センサー２５は、例えば、ハンド２６に作用する力や、モーメントを検出する。力覚センサー２５は、検出した力やモーメントを示すセンサー値をロボット制御装置１０に出力する。センサー値は、例えば、ロボット制御装置１０においてロボット２０での力制御に用いられる。力覚センサー２５は、例えば、６軸力覚センサーである。６軸力覚センサーは、並進３軸方向の力成分と、回転３軸まわりのモーメント成分との６成分を同時に検出することができるセンサーである。並進３軸とは、例えば、３次元直交座標系を形成する互いに直交する３つの座標軸（Ｘ軸、Ｙ軸、Ｚ軸）である。回転３軸とは、例えば、その３つの座標軸のそれぞれである。力覚センサー２５が検出する成分の個数は、６成分に限られず、例えば、３成分（３軸力覚センサー）であってもよい。なお、力覚センサー２５は、力検出部とも呼ばれる。
【００２３】
ハンド２６は、例えば、４個の指状の構成部を備える。指状の構成部を、単に指と呼ぶ。ハンド２６は、指を用いて対象物（例えば、対象物Ｗ１）を把持することができる。ここで、ハンド２６は、対象物が有する面の１つを、いずれかの座標軸（例えば、Ｚ軸）に垂直になるように把持することができる。
ハンド２６は、アームの２２の先端部に対して着脱可能であってもよい。ハンド２６は、エンドエフェクターの一種ということができる。つまり、ロボット２０は、ハンド２６に代え、又はハンド２６とともにハンド２６以外の種類のエンドエフェクターを備えてもよい。エンドエフェクターとは、対象物を把持したり、持ち上げたり、吊り上げたり、吸着したり、加工する、等の操作を行う部材である。エンドエフェクターは、ハンドフック、吸盤、等、様々な形態をとることができる。また、エンドエフェクターは、１本のアーム２２について各１個に限らず、２個、又は２個よりも多く備えられてもよい。
【００２４】
アーム２２、力覚センサー２５、及びハンド２６を含むユニットは、可動部２１を形成する。可動部２１は、マニュピレーターとも呼ばれる。図１に示す例では、ロボット２０は、２本の可動部２１を備える。可動部２１は、ジョイント２３やハンド２６等の各部を動作させるための駆動部、例えば、アクチュエーター（図示せず）を備える。アクチュエーターは、例えば、サーボモーターや、エンコーダー、等を備える、エンコーダーは、自部で検出した変位をエンコード（符号化）してエンコーダー値に変換し、変換したエンコーダー値をロボット制御装置に出力する。エンコーダー値は、ロボット制御装置１０においてロボット２０に対するフィードバック制御、等に用いられる。
【００２５】
ロボット２０は、ロボット制御装置１０から入力された制御命令に従って、各ジョイント２３を連動して駆動する。これにより、ロボット制御装置１０は、アーム２２の先端部等に設定された注目位置を所定の可動範囲内で所望の位置に移動させたり、所望の方向に向けたりすることができる。この注目位置を、端点と呼ぶ。端点は、エンドポイントとも呼ばれる。また、ロボット制御装置１０は、ハンド２６を駆動することで、対象物等を把持したり、解放したりすることができる。
なお、端点は、アーム２２の先端部に限られず、例えば、ハンド２６等のエンドエフェクターの先端部であってもよい。
【００２６】
撮像装置３０は、ロボット２０の作業領域を表す画像を撮像し、撮像した画像を示す画像データを生成する。ロボット２０の作業領域は、図１に示す例では、作業台Ｔ上において可動部２１により作業可能な範囲である３次元空間であり、可動部２１の端点を含む領域である。作業台Ｔ上には、それぞれ異なる位置に配置された２台の撮像装置３０が、対象物Ｗ２の中心部に向けられている。撮像装置３０は、例えば、可視光カメラ、赤外線カメラ、等である。撮像装置３０は、生成した画像データをロボット制御装置１０に出力する。
【００２７】
上述したロボットシステム１の構成は、本実施形態の概要を説明するための一例に過ぎない。即ち、上述したロボットシステム１の構成は、上述した構成に限られず、その他の構成を有していてもよい。
例えば、図１は、ジョイント２３の数（軸数）が左右各６個（６軸）である例を示すが、ジョイント２３の数は各６個よりも少なくてもよいし、各６個よりも多くてもよい。リンク２４の数は、ジョイント２３の数に応じて定められる。また、ジョイント２３、リンク２４、ハンド２６、等の部材の形状、大きさ、配置、構造を適宜変更してもよい。
【００２８】
また、撮像装置３０の設置位置は、図１に示すように作業台Ｔ上に限られず、天井や壁面上であってもよい。また、これらの撮像装置３０に代えて、又はこれに加えて、アーム２２の先端部、胴体部、頭部、等に撮像装置３０を設けてもよい。また、撮像装置３０は、ロボット制御装置１０に代えてロボット２０に接続されてもよい。その場合には、撮像装置３０が生成した画像データは、ロボット２０を介してロボット制御装置１０に入力される。
【００２９】
図２は、本実施形態に係るロボットシステム１の機能構成を示すブロック図である。
ロボット２０は、駆動制御部２００を備える。駆動制御部２００は、ロボット制御装置１０から入力された制御信号と、アクチュエーターで取得されたエンコーダー値及び力覚センサー２５で取得されたセンサー値、等に基づいて、端点の位置が制御信号で指示される目標位置となるように、アクチュエーターを駆動させる。なお、端点の現在位置は、例えば、アクチュエーターにおけるエンコーダー値等から求めることができる。
【００３０】
ロボット制御装置１０は、力制御部１２０と、動作制御部１３０と、画像取得部１４０とを備える。
力制御部１２０は、センサー情報取得部１２２と、軌道生成部１２４とを備える。
【００３１】
力制御部１２０は、ロボット２０の力覚センサー２５からのセンサー情報（力情報やモーメント情報を示すセンサー値）に基づいて、力制御（力覚制御ともいう）を行う。
なお、力制御を行うためには、ハンド２６等のエンドエフェクターに加わる力やモーメントを検出する必要があるが、エンドエフェクターに加わる力やモーメントを検出する方法は力覚センサーを用いるものに限られない。例えば、アーム２２の各軸トルク値からエンドエフェクターに及ぼす外力を推定することもできる。したがって、力制御を行うためには、直接または間接的にエンドエフェクターに加わる力を取得する手段を、アーム２２が有していればよい。
【００３２】
センサー情報取得部１２２は、ロボット２０の力覚センサー２５から出力されるセンサー情報（検出されたセンサー値など）を取得する。なお、センサー情報取得部１２２は、力検出部と呼ぶこともできる。
【００３３】
軌道生成部１２４は、力制御により端点の移動方向及び移動量を決定する。また、軌道生成部１２４は、端点の移動方向及び移動量に基づいて、各ジョイント２３に設けられた各アクチュエーターの目標角度を決定する。また、軌道生成部１２４は、目標角度だけアーム２２を移動させるような指令値を生成し、動作制御部１３０へ出力する。なお、軌道生成部１２４が行う軌道の生成処理、目標角度の決定処理、指令値の生成処理等は、一般的な様々な技術を用いることができるため、詳細な説明を省略する。
【００３４】
なお、関節を持つロボット２０では、各関節の角度を決定すると、フォワードキネマティクス処理により端点の位置は一意に決定される。つまり、Ｎ関節ロボットではＮ個の関節角度により１つの目標位置を表現できることになるから、当該Ｎ個の関節角度の組を１つの目標関節角度とすれば、端点の軌道を目標関節角度の集合と考えることができる。よって、軌道生成部１２４から出力される指令値は、位置に関する値（目標位置）であってもよいし、関節の角度に関する値（目標角度）であってもよい。
【００３５】
画像取得部１４０は、撮像装置３０が撮像した画像データを取得し、取得した画像データを動作制御部１３０に出力する。
【００３６】
動作制御部（制御部）１３０は、力覚センサー２５から入力されたセンサー値に基づいて可動部２１を移動させる制御信号をロボット２０に出力する。ここで、目標位置が時間経過に応じて第２の対象物に予め定めた方向、速度で接近することを示す指令値が与えられることで、動作制御部１３０は、可動部２１を動作させてハンド２６で把持した第１の対象物を第２の対象物に接近させることができる。
【００３７】
動作制御部１３０は、第１の対象物の１点が第２の対象物の１点に接触したか否かを判定する。動作制御部１３０は、例えば、力覚センサー２５から入力されたセンサー値のうち、可動部２１の端点の移動方向のセンサー値の単位時間当たりの変化が予め定めたセンサー値の変化よりも急激である場合、接触したと判定する。この場合には、第１の対象物は、第２の対象物から反力を受け始めるためである。
【００３８】
動作制御部１３０は、接触したと判定したとき、可動部２１の端点の動きを一時的に停止する。この状態では、制御の目標とする姿勢（目標姿勢）と第１の対象物の姿勢との差（傾き）が生じることがある。目標姿勢は、例えば、第１の対象物の１面、つまり、第１の対象物が有する面のうち第２対象物に相対する面が、第２対象物が有する面のうち第１対象物に相対する面と平行な方向である。この目標姿勢では、第１の対象物を第２の対象物に対して安定に組み付けられる。
【００３９】
そして、動作制御部１３０は、第２の対象物の他の１点に近づくように第１の対象物の他の１点を動作させる（傾き補正）。ここで、動作制御部１３０は、例えば、第１の対象物の１面に垂直な方向に第１の対象物の１点を第２の対象物の１点に接触させながら力を加えるように可動部２１を動作させる。ここで、第２の対象物の１点を支点とするモーメントが生じる。第１の対象物の１面の方向は、ハンド２６が第１の対象物を把持する際の予め定めた位置関係によって定められる既知情報である。
【００４０】
そして、動作制御部１３０は、第１の対象物の１面が第２の対象物に相対して接触したか否かを判定する。第１の対象物の１面が第２の対象物に相対して接触したとは、少なくとも第１の対象物の１面上の１点と他の１点と、第２の対象物の１点と他の点がそれぞれ接触した状態である。例えば、第１の対象物の１面の全体又は予め定めた大きさよりも大きい領域で第２の対象物に接触した状態である。動作制御部１３０は、例えば、その第１の対象物の１面に垂直な方向のモーメントに係るセンサー値の単位時間当たりの変化が予め定めたセンサーの変化よりも急激である場合、接触したと判定する。この場合、第１の対象物は、第２の対象物の面で反力を受け始めるからである。
これにより、第２の対象物に面で接触するように、第１の対象物の姿勢を補正することができる。その後、動作制御部１３０は、第１の対象物に力を加えて駆動する制御を停止する。動作制御部１３０は、第１の対象物を第２の対象物の表面上に接触しながら、移動させることができるため、組み付けようとする目標位置への搬送を精度よく行うことができる。
【００４１】
次に、本実施形態に係るロボットシステム１における制御の流れの一例について説明する。
図３は、本実施形態に係るロボットシステム１における制御の流れの一例を示すブロック図である。但し、動作制御部１３０の図示が省略されている。
力制御部１２０において、力覚センサー２５から入力されたセンサー値に基づいて、目標として設定した力の目標値で、ロボット２０の可動部２１の端点を物体に接触させるためのフィードバックループが回っている。軌道生成部１２４は、入力されたセンサー値が、目標値となるように軌道及び指令値（ここでは、目標角度）を生成する。
動作制御部（制御部）１３０は、力制御部１２０から入力された指令値を示す制御信号であって可動部２１を移動させる制御信号をロボット２０に出力する。
【００４２】
駆動制御部２００には、ロボット制御装置１０から指令値（目標角度）が入力される。駆動制御部２００は、各ジョイント２３に設けられた各アクチュエーターのエンコーダー値等に基づいて現在角度を取得し、目標角度と現在角度の差分（偏差角度）を算出する。また、駆動制御部２００は、偏差角度に基づいてアーム２２の移動速度を算出し、可動部２１を算出した移動速度に応じた偏差角度だけ移動させる。
【００４３】
次に、本実施形態に係るロボット制御処理について説明する。
図４は、本実施形態に係るロボット制御処理を示すフローチャートである。
この例では、ロボット制御装置１０が可動部２１に第１の対象物を把持させ、初期において第１の対象物が第２の対象物から所定の方向に所定の距離をもって離れ、力制御により第１の対象物の位置、姿勢を制御する場合を仮定している。
【００４４】
（ステップＳ１０１）動作制御部１３０は、把持している第１の対象物が第２の対象物に接近するように可動部２１の動作を制御する。ここで、動作制御部１３０は、力制御部１２０から入力された指令値を示す制御信号をロボット２０に出力する。その後、ステップＳ１０２に進む。
（ステップＳ１０２）動作制御部１３０は、力覚センサー２５から入力されたセンサー値に基づいて把持している第１の対象物の１点が第２の対象物の１点に接触（点で接触）したか否かを判定する。接触したと判定された場合（ステップＳ１０２  ＹＥＳ）、ステップＳ１０３に進む。接触していないと判定された場合（ステップＳ１０２  ＮＯ）、ステップＳ１０１を繰り返す。
【００４５】
（ステップＳ１０３）動作制御部１３０は、可動部２１の端点の動作を一時的に停止させる。その後、ステップＳ１０４に進む。
（ステップＳ１０４）動作制御部１３０は、第２の対象物の他の１点に近づくように第１の対象物の他の１点を動作させる（傾き補正）。その後、ステップＳ１０５に進む。
（ステップＳ１０５）動作制御部１３０は、力覚センサー２５から入力されたセンサー値に基づいて、第１の対象物の１面が第２の対象物に相対して接触（面で接触）したか否かを判定する。接触したと判定された場合（ステップＳ１０５  ＹＥＳ）、第１の対象物を動作させる制御を停止し、図４に示す処理を終了する。接触していないと判定された場合（ステップＳ１０５  ＮＯ）、ステップＳ１０４を繰り返す。
【００４６】
次に、上述した傾き補正に係る動作例について説明する。
図５は、傾き補正に係る動作例（１）を示す図である。
この例は、水平方向の傾き補正の一例である。図５の右方、下方は、それぞれ絶対座標系のＸ方向、Ｙ方向を示す。Ｘ方向、Ｙ方向は水平面に平行であって互いに直交する２つの方向である。対象物Ｗ２の表面は、Ｘ方向及びＺ方向（鉛直方向）に平行である。
【００４７】
一点破線で示されたＡ線は、ハンド２６で把持される対象物Ｗ１の面のうち、対象物Ｗ２に相対する面に垂直な方向を示す線である。Ｆｘ、Ｆｙ、Ｆｚは、それぞれ力制御の一方法であるインピーダンス制御において力を制御する際に用いられる制御軸を示す。３つのインピーダンス制御軸Ｆｘ、Ｆｙ、Ｆｚの各方向は、可動部２１を基準とする３次元直交座標系（ロボット座標系）の各座標軸方向である。この例では、インピーダンス制御軸Ｆｘの方向がＡ線に平行であり、インピーダンス制御軸Ｆｙ、Ｆｚの方向がＡ線にそれぞれ垂直である。
【００４８】
ここでは、対象物Ｗ１がハンド２６に把持され、Ｙ方向に移動させられた後に、対象物Ｗ１の１点Ｐ１が対象物Ｗ２に接触している。ハンド２６の上方の左下向きの矢印は、可動部２１がハンド２６を介して対象物Ｗ１に加えている力の方向を示す。この方向は、Ａ線の方向に平行である。このとき、対象物Ｗ１が点Ｐ１で対象物Ｗ２に接触しながら、点Ｐ１を支点として対象物Ｗ２の表面に倣う方向の力、つまり、インピーダンス制御軸Ｆｘの周りに回転するモーメントＭｘが生じる。これにより、対象物Ｗ１に無理な力を加えずに有効に、傾き補正を施すことができる。制御に用いられるインピーダンス制御軸は、Ｆｙ、Ｆｚ、Ｍｘである。
なお、Ｍｘ、Ｍｙ、Ｍｚは、それぞれインピーダンス制御軸Ｆｘ、Ｆｙ、Ｆｚ周りのモーメントを制御する際に用いられるインピーダンス制御軸である。
【００４９】
図６は、傾き補正に係る動作例（２）を示す図である。
この例では、対象物Ｗ２に接触する前に対象物Ｗ１に加えられる力の方向がＹ方向である。それ以外の点では、図５に示す例と同様である。この例では、対象物Ｗ１に加えられる力は、主に点Ｐ１を介してＹ方向に加えられ、点Ｐ１を支点として対象物の表面に倣う方向の力が弱くなる。そのため、対象物Ｗ１の傾き補正が行われないことや、無理な力が加わることによって対象物Ｗ１が破損することがある。
【００５０】
図７は、傾き補正に係る動作例（３）を示す図である。
この例は、鉛直方向の傾き補正の一例である。図７の右方、下方は、それぞれ絶対座標系のＸ方向、Ｚ方向を示す。Ｚ方向は水平面に垂直な方向（鉛直方向）である。対象物Ｗ３の表面は、Ｚ方向に垂直である。
一点破線で示されたＢ線は、ハンド２６で把持される対象物Ｗ１の面のうち、対象物Ｗ３に相対する面に垂直な方向を示す線である。この例では、インピーダンス制御軸Ｆｚの方向がＢ線に平行であり、インピーダンス制御軸Ｆｘ、Ｆｙの方向がＢ線にそれぞれ垂直である
【００５１】
ここでは、対象物Ｗ１がハンド２６に把持され、Ｚ方向に移動させられた後に、対象物Ｗ１の１点Ｐ２が対象物Ｗ３に接触している。ハンド２６の上方の左下向きの矢印は、可動部２１がハンド２６を介して対象物Ｗ１に加えている力の方向を示す。この方向は、Ｂ線の方向に平行である。これにより、対象物Ｗ１が点Ｐ１で対象物Ｗ３に接触しながら、点Ｐ１を支点として対象物Ｗ３の表面に倣う方向の力、つまり、インピーダンス制御軸Ｆｙの周りに回転するモーメントＭｙが生じる。これにより、対象物Ｗ１に無理な力を加えずに有効に傾き補正を施すことができる。
このとき、制御に用いられるインピーダンス制御軸は、Ｆｘ、Ｆｚ、Ｍｙである。
【００５２】
図８は、傾き補正に係る動作例（４）を示す図である。
この例では、対象物Ｗ３に接触する前に対象物Ｗ１に加えられる力の方向がＺ方向である。それ以外の点では、図７に示す例と同様である。この例では、対象物Ｗ１に加えられる力は、主に点Ｐ２を介してＺ方向に加えられ、点Ｐ２を支点として対象物の表面に倣う方向の力が弱くなる。そのため、対象物Ｗ１の傾き補正が行われないことや、無理な力が加わることによって対象物Ｗ１が破損することがある。
【００５３】
図５−図８は、ハンド２６がその主面に垂直な方向に対象物Ｗ１を把持する場合（垂直把持）を例にとったが、これには限られない。次に説明するように、ハンド２６が対象物Ｗ１の底面及び表面に水平な形状を有し、対象物Ｗ１の側面を挟み込んで把持する場合（水平把持）の場合も同様に傾き補正を行うことができる。
図９は、傾き補正に係る動作例（５）を示す図である。
この例は、水平把持による水平方向の傾き補正の一例である。
図９の右方、下方は、それぞれ絶対座標系のＸ方向、Ｙ方向を示す。対象物Ｗ４の表面は、Ｙ方向に垂直である。
一点破線で示されたＣ線は、ハンド２６で把持される対象物Ｗ１の面のうち、対象物Ｗ４に相対する面に垂直な方向を示す線である。この例では、インピーダンス制御軸Ｆｘの方向がＣ線に平行であり、インピーダンス制御軸Ｆｙ、Ｆｚの方向がＣ線にそれぞれ垂直である
【００５４】
ここでは、対象物Ｗ１がハンド２６に把持され、Ｙ方向に移動させられた後に、対象物Ｗ１の１点Ｐ３が対象物Ｗ４に接触している。ハンド２６の上方の左下向きの矢印は、可動部２１がハンド２６を介して対象物Ｗ１に加えている力の方向を示す。この方向は、Ｃ線の方向に平行である。これにより、対象物Ｗ１が点Ｐ１で対象物Ｗ４に接触しながら、点Ｐ３を支点として対象物Ｗ４の表面に倣う方向の力、つまり、インピーダンス制御軸Ｆｚの周りに回転するモーメントＭｚが生じる。これにより、対象物Ｗ１に無理な力を加えずに有効に、傾き補正を施すことができる。
このとき、制御に用いられるインピーダンス制御軸は、Ｆｘ、Ｆｙ、Ｍｚである。
【００５５】
図１０は、傾き補正に係る動作例（６）を示す図である。
この例では、対象物Ｗ４に接触する前に対象物Ｗ１に加えられる力の方向がＹ方向である。それ以外の点では、図９に示す例と同様である。この例では、対象物Ｗ１に加えられる力は、主に点Ｐ３を介してＹ方向に加えられ、点Ｐ３を支点として対象物の表面に倣う方向の力が弱くなる。そのため、対象物Ｗ１の傾き補正が行われないことや、無理な力が加わることによって対象物Ｗ１が破損することがある。
図９、１０は、水平方向の傾き補正の例を示したが、水平把持の場合でも対象物Ｗ１の面のうち、１点が接触した対象物に相対する面に垂直な方向に力を加える制御を行うことで鉛直方向の傾き補正を実現することができる。
【００５６】
なお、力制御部１２０は、上述した傾き補正に係る処理において対象物Ｗ１にかかる力に重力を加えて力制御を実行してもよい。ここで、力制御部１２０は、対象物Ｗ１に力を示すセンサー値から、ロボット座標系における重力の各座標値の成分を加えて重力が加えられたセンサー値を算出する。力制御部１２０は、算出したセンサー値に基づいて指令値を生成し、生成した指令値を動作制御部１３０に出力する。力制御において、重力との合力が目標となる力となるように可動部２１の端点の動作が制御される。これにより、重力が相殺されるので、重力方向に対象物Ｗ１の位置が偏る誤差を防止し、傾き補正の精度を向上することができる。
【００５７】
次に、重力を考慮した傾き補正の例について説明する。
図１１は、傾き補正に係る動作例（７）を示す図である。
この例は、垂直方向の傾き補正の一例である。図１１の右方、下方は、それぞれ絶対座標系のＸ方向、Ｚ方向を示す。
一点破線で示されたＤ線は、対象物Ｗ１の面のうち、対象物Ｗ５に相対する面に垂直な方向を示す線である。左下向きの太い矢印は移動方向を示す。この移動方向は、可動部２１が対象物Ｗ１に加えようとする力の方向であり、Ｄ線の方向とインピーダンス制御軸Ｆｘとともに等しい。下向きの太い矢印は重力方向を示す。対象物Ｗ１には、重力がかかるが、力制御部１２０は、重力との合力がＤ線の方向、つまり左下向きの太い矢印で示される移動方向となるように制御する。そこで、力制御部１２０は、インピーダンス制御軸Ｆｘ、Ｆｙ、Ｍｚへの重力の成分を加えてインピーダンス制御を行う。
【００５８】
図１２は、傾き補正に係る動作例（８）を示す図である。
この例は、水平方向の傾き補正の一例である。図１２の右斜め上、右方、下方は、それぞれ絶対座標系のＸ方向、Ｙ方向、Ｚ方向を示す。
一点破線で示されたＥ線は、対象物Ｗ１の面のうち、対象物Ｗ６に相対する面に垂直な方向を示す線である。右下向きの太い矢印は移動方向を示す。この移動方向は、可動部２１が対象物Ｗ１に加えようとする力の方向であり、Ｅ線の方向及びインピーダンス制御軸Ｆｘの方向とともに等しい。下向きの太い矢印は重力方向を示す。対象物Ｗ１には、重力がかかるが、力制御部１２０は、重力との合力がＥ線の方向、つまり左下向きの太い矢印で示される移動方向となるように制御する。重力方向は、この例では、インピーダンス制御軸Ｆｚの方向である。そこで、力制御部１２０は、インピーダンス制御軸Ｆｘ、Ｆｙ、Ｍｚの他、インピーダンス制御軸Ｆｚに重力による成分を加えてインピーダンス制御を行う。
【００５９】
上述では、ロボット２０が行う作業が１つの対象物を他の対象物に接触させる接触作業に用いる場合を例にとって説明したが、これには限られず、他の作業に用いられてもよい。他の作業には、例えば、１つの対象物を他の対象物を嵌め合わせる作業（嵌め合わせ）、１つの対象物の一部を他の対象物の凹部又は孔部に嵌め込む作業（嵌め込み）、等がある。
【００６０】
上述したロボットシステム１の構成は、本実施形態の特徴を説明するものであって、これには限られない。ロボット制御装置１０は、コンピューターで構成されていてもよい。
図１３は、本実施形態に係るロボット制御装置１０の機能構成の他の例を示す図である。
ロボット制御装置１０は、ＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、メモリー１２、外部記憶装置１３、通信装置１４、入力装置１５、出力装置１６、及びＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１７を含んで構成される。
ＣＰＵ１１は、上述した処理に係る演算を行う。メモリー１２は、不揮発性の記憶装置であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）や揮発性の記憶装置であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。通信装置１４は、ロボット２０との間で通信を行う。入力装置１５は、ユーザーの操作を受け付け、受け付けた操作に応じた操作入力信号を入力する装置、例えば、マウス、キーボード、等である。出力装置１６は、画像データを視認可能に出力する装置、例えば、ディスプレイ、等である。Ｉ／Ｆ１７は、他の装置と接続し、データを入力又は出力する。例えば、Ｉ／Ｆ１７は、例えば撮像装置３０から画像データを入力する。
【００６１】
上述の各機能部は、例えば、ＣＰＵ１１がメモリー１２に格納された所定のプログラムを読み出して実行することにより実現される。なお、所定のプログラムは、例えば、予めメモリー１２にインストールされてもよいし、通信装置１４を介してネットワークからダウンロードされてインストール又は更新されてもよい。
【００６２】
ロボット制御装置１０とロボット２０は、上述のように互いに別体で構成されてもよいが、一体化したロボット２０として構成されてもよい。一体化して構成される場合には、ロボット２０は、ロボット制御装置１０を内蔵してもよい。
また、撮像装置３０は、上述のようにロボット制御装置１０又はロボット２０と別体であってもよいが、一体化されてもよい。
また、本実施形態では、ロボット２０の一例として、２本の可動部２１を備える双腕ロボットを示したが、１本の可動部２１を備える単腕ロボット、３本以上の可動部２１を備えるロボットであってもよい。また、ロボット２０は、スカラーロボットでもよく、垂直多関節ロボットでもよい。また、ロボット２０は、移動を可能にするために、例えば、車輪や脚部を備えてもよい。
【００６３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
上述したロボットシステム１の機能構成は、ロボットシステム１の構成について理解を容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボットシステム１の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００６４】
また、ロボット制御装置１０及びロボット２０の機能及び処理の分担は、図示した例に限られない。例えば、ロボット制御装置１０の少なくとも一部の機能は、ロボット２０に含まれ、ロボット２０により実現されてもよい。また、例えば、ロボット２０の少なくとも一部の機能は、ロボット制御装置１０に含まれ、ロボット制御装置１０により実現されてもよい。
【００６５】
また、上述したフローチャートの各処理単位は、ロボット制御装置１０の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。ロボット制御装置１０の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【００６６】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００６７】
１…ロボットシステム、
１０…ロボット制御システム、１１…ＣＰＵ、１２…メモリー、１３…外部記憶装置、
１４…通信装置、１５…入力装置、１６…出力装置、１７…Ｉ／Ｆ、
１２０…力制御部、１２２…センサー情報取得部、１２４…軌道生成部、
１３０…動作制御部、１４０…画像取得部、
２０…ロボット、２１…可動部、２２…アーム、２３…ジョイント、２４…リンク、
２５…力覚センサー、２６…ハンド、２００…駆動制御部、
３０…撮像装置
【図１】
2015085499.tif 000003
【図２】
2015085499.tif 000004
【図３】
2015085499.tif 000005
【図４】
2015085499.tif 000006
【図５】
2015085499.tif 000007
【図６】
2015085499.tif 000008
【図７】
2015085499.tif 000009
【図８】
2015085499.tif 000010
【図９】
2015085499.tif 000011
【図１０】
2015085499.tif 000012
【図１１】
2015085499.tif 000013
【図１２】
2015085499.tif 000014
【図１３】
2015085499.tif 000015