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