(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023133844
(43)【公開日】2023-09-27
(54)【発明の名称】制御装置
(51)【国際特許分類】
B25J 13/08 20060101AFI20230920BHJP
B25J 9/18 20060101ALN20230920BHJP
【FI】
B25J13/08
B25J9/18
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022039059
(22)【出願日】2022-03-14
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】恵木 守
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS07
3C707BS12
3C707KS34
3C707KX06
3C707LT07
3C707LV17
3C707MT04
3C707MT09
3C707NS06
(57)【要約】
【課題】2つの物体のうち一方を把持するロボットによって、当該2つの物体の好適な面倣いを実現する。
【解決手段】力センサに関連付けられ、且つ、把持機構により把持された第1物体の第1面を第2物体の第2面に接触するように、該第2物体に対する該第1物体の相対位置を制御するための所定制御に関する制御面上に設定された仮想センサと、把持機構により第1物体が把持された状態に基づいて制御面上に設定された制御点を用いて、仮想センサによる検出結果に従って、所定制御を実行する制御部と、を備えるロボットの制御装置であって、所定制御において第1面と第2面との接触前に第1物体を第2物体に当接させるために制御面上に設定される、両物体の当接点である所定当接点と、制御点とを結ぶ、制御面上の仮想線の方向において、仮想センサの該仮想線への投影位置は、該所定当接点と該制御点との間に配置される。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1物体を把持する把持機構と、前記把持機構に作用する力とモーメントを検出するように構成された力センサと、を有するロボットを制御する制御装置であって、
前記力センサに関連付けられ、且つ、前記把持機構により把持された前記第1物体の第1面を第2物体の第2面に接触するように、該第2物体に対して該第1物体を相対的に回転させ、該第2物体に対する該第1物体の相対位置を制御するための所定制御に関する制御面上に設定された仮想センサと、
前記把持機構により前記第1物体が把持された状態に基づいて前記制御面上に設定された制御点を用いて、前記仮想センサによる検出結果に従って、前記所定制御を実行する制御部と、
を備え、
前記所定制御において前記第1面と前記第2面との接触前に前記第1物体を前記第2物体に当接させるために前記制御面上に設定される、両物体の当接点である所定当接点と、前記制御点とを結ぶ、前記制御面上の仮想線の方向において、前記仮想センサの該仮想線への投影位置は、該所定当接点と該制御点との間に配置される、
制御装置。
【請求項2】
前記仮想センサは、更に、前記力センサが前記制御面に投影された所定投影点と前記制御点との間に配置される、
請求項1に記載の制御装置。
【請求項3】
前記制御部は、前記第2物体に対する前記第1物体の相対位置の制御において、該第2物体に対する該第1物体の移動角度を、前記仮想センサを中心としたモーメントの向きの変化に基づいて調整する、
請求項1又は請求項2に記載の制御装置。
【請求項4】
前記第1物体は、前記第1面とは異なる第3面を有し、
前記第2物体は、前記第2面と異なる面であって、前記所定制御によって前記第3面に対向するように配置される第4面を有し、
前記制御点は、前記第1面と前記第3面との交線上の所定点、又は、前記第1面と前記第3面を接続する接続面上の所定点が前記制御面に投影された位置に設定される、
請求項3に記載の制御装置。
【請求項5】
前記第1物体は、互いに隣接する前記第1面と前記第3面を、側方に有する柱状の物体であり、
前記第2物体は、互いに隣接する前記第2面と前記第4面を、穴部の内側に有し、該穴部に前記第1物体が挿入可能に構成された物体であり、
前記制御部は、前記所定制御により前記第1物体の前記第1面を前記第2物体の前記第2面に合わせるとともに前記第1物体の前記第3面を前記第2物体の前記第4面に合わせ、その後に、前記第2物体の前記穴部に前記第1物体を挿入する、
請求項4に記載の制御装置。
【請求項6】
前記制御部は、前記所定制御で、前記仮想センサによって算出される、前記第1面と前記第2面との間で作用する第1外力が、該仮想センサによって算出される、前記第3面と前記第4面との間で作用する第2外力より大きくなるように、前記第2物体に対する前記第1物体の相対位置を制御する、
請求項4又は請求項5に記載の制御装置。
【請求項7】
前記制御部は、前記所定制御で、前記第2外力が零となるように、前記第2物体に対す
る前記第1物体の相対位置を制御する、
請求項6に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの制御装置に関する。
【背景技術】
【0002】
ロボットが備える力センサにより検出される力及びモーメントに基づいて、ロボットに物体同士を組み付けさせる技術の研究や開発が行われている。例えば、特許文献1には、第1物体を第2物体に近づけ、力センサにより検出される力とモーメントのうち少なくとも一方の大きさが所定の第1閾値を超えた場合、所定距離及び所定速度に基づいて、位置制御と力制御とにより第1物体の第1面を第2物体の第2面に接面させる動作をロボットに行わせる技術が開示されている。
【0003】
また、特許文献2には、第2物体を第1物体に接触させた状態で、第1物体と第2物体とを特定の回転軸に対して相対的に回転させたときに、回転軸周りのモーメントの時間微分値が所定の閾値を超えたときにその位置合わせのための当該回転を終了させる技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2017-159426号公報
【特許文献2】特開2013-6231号公報
【特許文献3】特開2016-43455号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ロボットの把持機構で一方の物体を把持しながら他方の物体に対して相対的な位置を制御し、それぞれの物体の表面を合わせる面倣いを行う場合、一方の物体を他方の物体に当接させ、その後、力センサにより検出される力やモーメント等に基づいて、把持している一方の物体を所定軸周りに回転させることで、一方の物体と他方の物体のそれぞれの面を合わせることができる。しかし、ロボットを制御するために当該把持機構に関連して設定される制御点の位置と、力センサによる力やモーメントの検出位置との相関次第では、面倣いのための把持機構の回転を生じさせるためのモーメント等を好適に検知することが難しい場合があり、結果として物体同士の面倣いが達成できず、また面倣いに要する時間が長くなるおそれがある。
【0006】
本発明は、このような問題に鑑みてなされたものであり、2つの物体のうち一方を把持するロボットによって、当該2つの物体の好適な面倣いを実現する、当該ロボットの制御装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本願開示の一側面に係る制御装置は、第1物体を把持する把持機構と、前記把持機構に作用する力とモーメントを検出するように構成された力センサと、を有するロボットを制御する制御装置である。そして、前記力センサに関連付けられ、且つ、前記把持機構により把持された前記第1物体の第1面を第2物体の第2面に接触するように、該第2物体に対して該第1物体を相対的に回転させ、該第2物体に対する該第1物体の相対位置を制御するための所定制御に関する制御面上に設定された仮想センサと、前記把持機構により前記第1物体が把持された状態に基づいて前記制御面上に設定された制御点を用いて、前記仮想センサによる検出結果に従って、前記所定制御を実行する制御部と、を備える。また
、前記所定制御において前記第1面と前記第2面との接触前に前記第1物体を前記第2物体に当接させるために前記制御面上に設定される、両物体の当接点である所定当接点と、前記制御点とを結ぶ、前記制御面上の仮想線の方向において、前記仮想センサの該仮想線への投影位置は、該所定当接点と該制御点との間に配置される。
【0008】
このように構成される制御装置では、物理的に存在する力センサと関連付けられた制御上の仮想センサが用いられる。仮想センサは、ロボットにおける力センサ、把持機構の配置や制御面での設定位置等の幾何学的条件に基づいて設定され、当該幾何学的条件を利用して、制御装置での所定の変換処理により、力センサによる検出結果から仮想センサによる検出結果を導出することが可能とされる。ここで、制御面は、把持機構により把持された第1物体を第2物体に面倣いする所定制御のために設定される、制御上の面であり、当該所定制御におけるロボットの動きを踏まえて設定されるのが好ましい。例えば、所定制御が、把持された第1物体を第2物体に対して面倣いを行う際に、第1物体を回転させる場合には、その回転軸に直交する面を制御面として設定することができる。制御面には、制御点、所定当接点、仮想センサが配置される。このように二次元の制御面上に、所定制御に関するパラメータを配置することで、所定制御を好適に実行できる。
【0009】
そして、制御面上に設定された制御点、所定当接点、仮想センサについては、制御面上の仮想線の方向において、仮想センサの該仮想線への投影位置が、所定当接点と制御点との間に配置されるように構成される。制御点とは、Tool Center Pointであり、第1物体を把持した状態でロボットを制御するために用いられる制御上の代表点である。また、所定当接点とは、所定制御において第1面と第2面とを接触させる前に、第1物体と第2物体の暫定的な相対位置を画定するために両者を当接させるときの位置を表す点である。当該当接点は、制御のために設定される制御上の点であり、実際に第1物体と第2物体とが当接している点(以下、本願では、「実当接点」という)とは区別される。
【0010】
ここで、実際の所定制御の実行時には、把持機構による第1物体の把持に関する誤差や、面倣いを行う際の第1物体と第2物体との相対的な位置関係に関する誤差が生じ得る。その結果、実際に第1物体と第2物体とが当接する実当接点が、上記の制御上の所定当接点とずれる可能性がある。しかし、本願開示の制御装置では、制御点、所定当接点、仮想センサの三者の位置関係を上記のように設定することで、仮に上記ずれが生じた場合でもそのずれが一定程度の範囲に収まるものであれば、仮想センサによって、所定制御における第2物体に対する第1物体の相対的な回転を制御するためのモーメントを好適に検出でき、以て所定制御による第1物体と第2物体の好適な面倣いの実現が可能となる。
【0011】
好ましくは、前記仮想センサは、更に、前記力センサが前記制御面に投影された所定投影点と前記制御点との間に配置されてもよい。このような構成により、仮想センサによって、より的確に所定制御における第2物体に対する第1物体の相対的な回転を制御するためのモーメントを検出することが可能になる。
【0012】
ここで、上述までの制御装置では、前記制御部による処理の一例として、前記制御部は、前記第2物体に対する前記第1物体の相対位置の制御において、該第2物体に対する該第1物体の移動角度を、前記仮想センサを中心としたモーメントの向きの変化に基づいて調整してもよい。このような移動角度の調整を行うことで、第2物体に対して第1物体を速やかに近づけ、両者の面倣いを好適に実現することができる。制御部による処理としては、これら以外の処理を採用しても構わない。
【0013】
ここで、前記第1物体は、前記第1面とは異なる第3面を有するように構成され、前記第2物体は、前記第2面と異なる面であって、前記所定制御によって前記第3面に対向するように配置される第4面を有するように構成されてもよい。そして、前記制御点は、前
記第1面と前記第3面との交線上の所定点、又は、前記第1面と前記第3面を接続する接続面上の所定点が前記制御面に投影された位置に設定されてもよい。このような構成により、第1物体や第2物体の角部のように、その表面の変化が大きい部位を合わせる形で、第1物体と第2物体の面倣いを行うことが可能になる。
【0014】
一例として、前記第1物体は、互いに隣接する前記第1面と前記第3面を、側方に有する柱状の物体であり、また、前記第2物体は、互いに隣接する前記第2面と前記第4面を、穴部の内側に有し、該穴部に前記第1物体が挿入可能に構成された物体であってもよい。この場合、前記制御部は、前記所定制御により前記第1物体の前記第1面を前記第2物体の前記第2面に合わせるとともに前記第1物体の前記第3面を前記第2物体の前記第4面に合わせ、その後に、前記第2物体の前記穴部に前記第1物体を挿入してもよい。なお、第1物体及び第2物体の形状は、この形態に限られない。
【0015】
ここで、上述までの制御装置において、前記制御部は、前記所定制御で、前記仮想センサによって算出される、前記第1面と前記第2面との間で作用する第1外力が、該仮想センサによって算出される、前記第3面と前記第4面との間で作用する第2外力より大きくなるように、前記第2物体に対する前記第1物体の相対位置を制御してもよい。第1物体と第2物体の相対的な形状の違いによっては、所定制御時において、第1外力と第2外力は必ずしも同じとは限らない。仮に第1外力と第2外力が同じになるように相対位置の制御を行ってしまうと、仮想センサによって検出されるモーメントが、面倣いを行うためのモーメントとして不適当になる場合がある。そこで、上記のように、第1外力と第2外力に違いを設けることで、第1物体と第2物体の面倣いを好適に行うことが可能となる。特に、第3面又は第4面に突起等のように局所的に力が集中しやすく外力が比較的大きくなる構造物が仮想センサから離れた位置に存在する場合には、前記制御部は、前記所定制御で、前記第2外力が零となるように、前記第2物体に対する前記第1物体の相対位置を制御するのが好ましい。この結果、突起の影響を可及的に小さくしたうえで、第1物体と第2物体の面倣いを好適に行うことが可能となる。
【発明の効果】
【0016】
2つの物体のうち一方を把持するロボットによって、当該2つの物体の好適な面倣いを実現することができる。
【図面の簡単な説明】
【0017】
【
図1】本願開示の制御装置により駆動されるロボットを用いた2物体の相対的な配置を行うシステムの概略構成を示す図である。
【
図2】本願開示の制御装置に関する機能ブロック図である。
【
図3】第2物体に対する第1物体の所定制御のために設定された制御面における、制御点、所定当接点、仮想センサの相対的な位置関係を示す図である。
【
図4A】ロボットにより2物体の所定制御が行われた際の、第2物体に対する第1物体の相関を説明する第1の図である。
【
図4B】ロボットにより2物体の所定制御が行われた際の、第2物体に対する第1物体の相関を説明する第2の図である。
【
図5A】ロボットによる2物体の所定制御における、第1物体と第2物体の当接状態を表す第1の図である。
【
図5B】ロボットによる2物体の所定制御における、第1物体と第2物体の当接状態を表す第2の図である。
【
図6】比較例である所定制御における、第1物体と第2物体の当接状態を表す図である。
【
図7】本願開示の制御装置により実行される、ロボットによる所定制御の流れを示すフローチャートである。
【
図8】
図7の所定制御に含まれる倣い動作処理の流れを示すフローチャートである。
【
図9】ロボットによる2物体の所定制御における、第1物体と第2物体の当接状態を表す第3の図である。
【
図10A】ロボットによる2物体の面倣い処理における、第1物体と第2物体の当接状態を表す第4の図である。
【
図10B】ロボットによる2物体の面倣い処理における、第1物体と第2物体の当接状態を表す第5の図である。
【
図10C】ロボットによる2物体の面倣い処理における、第1物体と第2物体の当接状態を表す第6の図である。
【発明を実施するための形態】
【0018】
以下、本願開示の実施の形態について、図面を参照しながら詳細を説明する。なお、図中同一または相当部分には同一符号を付して、その説明は繰り返さない。本願開示では、システムの一つの例示的形態として、制御装置1により駆動されるロボットは1台であるが、複数のロボットが駆動されても構わない。
【0019】
<第1の実施形態>
図1は、本願開示の制御装置10によって制御されるロボット1を含むシステムの構成の一例を示す図である。当該システムは、ロボット1と、制御装置10を備える。ロボット1は、6つの関節軸を有するアーム部分と、アーム部分を支持する支持台を備えるロボットである。また、ロボット1は、スカラロボットや、直角座標ロボット等の他のロボットであってもよい。直角座標ロボットは、例えば、ガントリロボットである。
【0020】
アーム部分は、その先端に、把持機構5と、力センサ6を備える。また、アーム部分が有する6つの関節はそれぞれ、図示しないアクチュエータを備える。アーム部分は、6軸垂直多関節型のアームである。アーム部分は、6つの関節それぞれのアクチュエータによる連携した動作によって6軸の自由度の動作を行う。なお、アーム部分は、5軸以下の自由度で動作する構成であってもよく、7軸以上の自由度で動作する構成であってもよい。なお、アーム部分が6軸の自由度で動作する場合、アーム部分は、5軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これによりアーム部分は、例えば、動作が滑らかになり、更にアーム部分の周辺に存在する物体との干渉を容易に回避することができる。更に自由度を大きくすればアーム部分の動きをより細かく制御することは可能になるが、その分、制御演算の処理負荷が高まることになる。そのため、アーム部分の動きのメリットと制御演算の処理負荷とのバランスを考慮して、アーム部分の自由度を設計すればよい。
【0021】
アーム部分の6つのアクチュエータはそれぞれ、ケーブルによって制御装置10と通信可能に接続されている。これにより、当該アクチュエータは、制御装置10から取得される制御信号に基づいて駆動される。各アクチュエータは、エンコーダを備えている。各エンコーダは、対応するアクチュエータの回転角を示す情報を制御装置10に出力する。
【0022】
把持機構5は、例えば、物体を把持可能な治具を備えるエンドエフェクターである。別法として、把持機構5は、空気の吸引や磁力等によって物体を持ち上げることが可能なエンドエフェクターや、それ以外の公知のエンドエフェクターであってもよい。把持機構5は、ケーブルによって制御装置10と通信可能に接続されている。これにより、把持機構5は、制御装置10から取得される制御信号に基づいて、対象物となる物体の把持又はその解放に関する動作を行う。
【0023】
力センサ6は、把持機構5とアーム部分の先端との間に備えられる。すなわち、把持機構5が把持している物体を介して外力が加えられた場合には、力センサ6が把持機構5を
介してその外力を検出できるように配置されている。力センサ6は、把持機構5により把持された物体に作用した力及びモーメントを検出する。具体的には、力センサ6は、把持機構5に把持された物体に作用した力であって、力検出座標系のX軸、Y軸、Z軸それぞれの方向に作用した力の大きさを検出する。また、力センサ6は、把持機構5に把持された物体に作用したモーメントであって、当該X軸、当該Y軸、当該Z軸それぞれの周りに作用したモーメントの大きさを検出する。力センサ6は、検出したこれらの大きさを示すデータ(検出値)を制御装置10へ出力する。力検出座標系は、力センサ6とともに動くように力センサ6に対応付けられた三次元局所座標系である。
【0024】
制御装置10は、いわゆるロボットコントローラーである。制御装置10は、アーム部分の各アクチュエータに対応するエンコーダから、各アクチュエータの回転角を示す情報を取得する。制御装置10は、取得した当該回転角を示す情報に基づいて制御信号を生成する。制御装置10は、生成した制御信号をロボット1に送信し、当該各アクチュエータを動作させることによってロボット1を動作させる。ここで、当該制御信号には、把持機構5を制御する制御信号が含まれてもよい。制御装置10は、このようにしてロボット1を動作させ、ロボット1に所定制御を行わせる。本願開示においては、所定制御の一つとして、把持機構5によって把持された第1物体21を、所定位置に配置された第2物体22に設けられた穴部23に挿入する制御が例示されている。
【0025】
第1物体21は、断面が正方形で柱状の形状を有している(
図4Aを参照)。また、第2物体22は、第1物体21が軸方向に挿入されるための穴部23が設けられている。穴部23の断面も正方形の形状を有しているが、その大きさは、クリアランスの分だけ第1物体21の断面より大きい。所定制御では、穴部23に第1物体21が挿入される際に、第1物体21の面と、第2物体22の穴部23を形成する面との面倣い処理が行われる。当該面倣い処理では、第1物体21の第1面211と、第2物体22の第2面222とが対面し、第1物体21の第3面213と、第2物体22の第4面224とが対面した状態となる。面倣い処理を含む第1物体21の第2物体22への挿入を行う所定制御については、その詳細は後述する。
【0026】
ここで、ロボット1の制御装置10の機能的な構成について、
図2に基づいて説明する。
図2は、制御装置10の機能ブロック図である。制御装置10は、仮想センサVS、制御条件設定部12、制御部13、記憶部14を有している。仮想センサVSは、力センサ6に関連付けられて、上記所定制御のための制御面上に設定された仮想的なセンサである。力センサ6と仮想センサVSの関連付けは、ロボット1における力センサ6の配置と、仮想センサVSの設定位置との相対的な位置関係に基づいて行われ、力センサ6の検出結果、すなわち把持された第1物体21に作用する力やモーメントに関する検出結果を、仮想センサVSの設定点で検出されたと仮定した場合に対応させた値を、仮想センサVSの検出結果として扱う。具体的には、以下の式1~式3の式に従って、力センサ6の検出結果の変換処理が行われる。
【数1】
・・・(式1)
【数2】
・・・(式2)
【数3】
・・・(式3)
【0027】
なお、仮想センサVSの位置、すなわち、制御面における仮想センサVSの設定位置については、後述の制御点及び所定当接点との相関に基づいて決定される。制御点及び所定当接点は、後述の制御条件設定部12によって設定されるパラメータであり、これらのパラメータが設定されることで、仮想センサVSの設定位置が制御条件設定部12によって決定される。
【0028】
制御条件設定部12は、ロボット1による所定制御のために必要な制御パラメータを設定する機能部である。これらの制御パラメータは、例えば、ユーザにより入力され、その入力値を用いて制御条件設定部12が制御上の設定処理を行う。ここで、当該制御パラメータとしては、制御点TCPの位置、仮想センサVSの位置、第1物体21の、第2物体22の穴部23への挿入量、探り開始角度、面当て力がある。以下、
図3、
図4Aに基づいて順次説明する。
【0029】
図3は、制御面における制御点TCP、仮想センサVS、所定当接点CP等の、所定制御に関連する各パラメータの相対的な位置関係を示す図である。制御面は、把持機構5によって把持された柱状の第1物体21の軸方向に対して直交する切断面と一致する。すなわち、力センサ6の座標軸のZ軸方向に直交するXY平面である。
図3に示す状態では、制御面の左辺が第1物体21の第1面211に対応し、制御面の上辺が第1物体21の第3面213に対応する。また、図中のXht、Yhtは、第2物体22の座標軸におけるX軸、Y軸である。
図3に示す状態では、第1物体21のZ軸方向と第2物体22のZ軸方向とが一致しており、その結果、制御面は、正方形の形状となっている。
【0030】
ここで、制御点TCPは、制御条件設定部12によって制御面上に設定される、いわゆるTool Center Pointであり、ロボット1による所定制御、すなわち、把持機構5によって把持された第1物体21を第2物体22の穴部23に挿入するための制御において、第1面211と第3面213の交線に対応する、制御面の角部に設定されてもよい。このように制御点TCPを制御面の角部に設定することで、制御点TCPを含む第1面211と第3面213を、第2物体22の第2面222と第4面224に対して位置決めしやすくなる。制御点TCPは、所定制御の対象となる2つの物体の形状等を考慮して、制御面の角部以外の点に設定してもよい。
【0031】
次に、第1物体21の、第2物体22の穴部23への挿入量(以下、単に「挿入量」という)、探り開始角度について説明する。ここで、挿入量及び探り開始角度の理解のため
に、
図4Aに基づいて、所定制御で行われる面当て処理の流れについて説明する。第1物体21と穴部23の大きさを比べると、穴部23の方が大きいが、その違いはわずかであるため第1物体21を穴部23の直上から下降させても、実際に生じる第1物体21の傾きや両物体のずれ等によって穴部23に第1物体21を円滑に挿入するのは容易ではない。そこで、第1物体21の挿入の初期のステップとして
図4A(a)~(d)に示す面当て処理が行われる。
【0032】
先ず、
図4A(a)に示すように、第1物体21と第2物体22のZ軸方向を揃えた状態で、穴部23の直上に第1物体21が来るように相対的な位置関係を調整し、その上で第1物体21を第2物体22に対して近接させる。そして、ある程度、両者が近づくと、
図4A(b)に示すように、第1物体21をXY平面に対して所定の角度、傾ける。この角度が「探り開始角度」に相当する。この傾けた状態で、第1物体21の底面の一つの角部が、他の角部よりも最も下に位置した状態となる。この最下点となる角部に対応して、上記の制御点TCPが設定されることになる。したがって、探り開始角度は、第1物体21を傾ける場合、制御点TCPに対応する角部が最下点になるように第1物体21を傾けたときの傾きを表す。そして、その状態で、最下点となる角部が、第1物体21を穴部23の上面からその内部に所定量挿入された位置まで、第1物体21を第2物体22に近づける。このときの所定量が、上記挿入量に相当する。なお、この時点では、まだ第1物体21と第2物体22とは当接していない。その後、
図4A(c)に示すように、第1面211と第2面222が当接され、続いて、
図4A(d)に示すように、第3面213と第4面224が当接される。
【0033】
ここで、面当て処理に続いて行われる面倣い処理について、
図4Bに基づいて説明する。なお、説明を簡便にするために、一組の面での当接状態からの面倣い処理について言及する。第1物体21と第2物体22とが当接した状態を、第2物体22のZ軸方向から見た様子が
図4B(a)、(b)に示されている。
図4B(a)においては、
図4A(d)の操作により、第1物体21が第2物体22に当接し、その実際の当接点である実当接点がCP1で示されている。この実当接点CP1は、第1面211の縁(外郭)と第2面222の縁(外郭)との接触点になる。面倣い処理は、第1物体21と第2物体22とを当接した状態で各物体の表面の一部の面(例えば、第1面211と第2面222)が接触するように、両物体を相対的に回転させる処理である。この面倣い処理において、仮想センサVSの検出結果が使用されるが、その詳細については後述する。
図4B(b)では、面倣い処理での回転前の第1物体21を破線で表し、回転完了時の第1物体21を実線で表している。回転完了時では、第1面211と第2面222とが接触している。
【0034】
このように所定制御で面倣い処理を行うにあたって、当接点(実当接点)は必要とされる。そして、所定制御で面倣い処理を行う前に第2物体22に対して第1物体21をどのように当接させるかを特定するために、制御上想定される当接点の設定が行われ、その制御上の当接点が所定当接点とされる。所定当接点は、第1物体21の形状、寸法、第2物体22、特に穴部23の形状、寸法等の幾何学的条件と、「挿入量」と「探り開始角度」から算出され得る。そこで、制御条件設定部12により挿入量と探り開始角度の設定が行われ、更に、その設定結果に基づいて所定当接点CP(
図3等を参照)が確定される。
【0035】
図3に戻って、仮想センサVSの位置について説明する。仮想センサVSは、制御点TCPと所定当接点CPとを結ぶ仮想線(
図3では、第1面211に対応する直線)において、仮想センサVSの投影点である点VSPが、制御点TCPと所定当接点CPとの間に位置するように仮想センサVSが制御面上に設定される。
図3に示す形態では、制御面における第1面211に対応する線分の長さ(幅)をwとしたとき、制御点TCPと投影点VSPとの間の距離が0.3w、所定当接点CPと投影点VSPとの間の距離が0.3wとされている。更に、力センサ6の制御面への投影点を点P1とすると、点P1は制御面
の中心に位置する。そして、仮想センサVSは、制御点TCPと点P1とを結ぶ線分の上に位置している。
【0036】
最後に、面当て力について説明する。面当て力は、
図4B(b)に示した上記面倣い処理を行う際に、当接している面同士の間に作用する外力である。当該面当て力は、仮想センサVSによって検出される力であり、仮想センサVSを中心としたモーメントを生成する。なお、仮想センサVSを中心としたモーメントとは、仮想センサVSを通り制御面に直交する軸周りのモーメントである。
【0037】
次に、制御部13は、上記制御条件設定部12によって設定されたパラメータ(制御点TCP、仮想センサVS、挿入量、探り開始角度、面当て力)を利用した所定制御を実行する機能部である。具体的には、記憶部14に記憶されている制御プログラムがCPUによって実行されることで、制御部13が機能する。また、記憶部14には、所定制御における面当て処理のためにロボットに教示される位置情報等も記憶されている。
【0038】
以下に、制御部13による所定制御、特に面倣い処理の詳細について、
図5A、
図5B、
図6に基づいて説明する。
図5A及び
図5Bは、本願開示の制御装置10による面倣い処理、すなわち仮想センサVSを用いた面倣い処理を説明するための図である。
図6は、
図5A及び
図5Bと比較するために、従来の力センサを用いた面倣い処理を説明するための図である。なお、
図6における力センサは、本願開示のロボット1における力センサ6の位置と同じとし、したがって、その制御面への投影点は、
図5A等に示す投影点P1と同じとなる。
【0039】
先ず、
図5Aに基づいて、仮想センサVSを用いた第1の面倣い処理について説明する。
図5Aは、面当て処理における第1面211と第2面222との実当接点が、想定していた所定当接点CPに一致した状態を表している。また、このとき、制御点TCPは第4面224に接触した状態となっている。したがって、所定当接点CPで第2面222から受ける外力は、白抜き矢印のF1で表され、制御点TCPで第4面224から受ける外力は、白抜き矢印のF2で表されている。なお、これらの外力は、仮想センサVSにおける検出値である。また、制御点TCP、所定当接点CP、仮想センサVSの相対的な位置関係は上記のとおりであるから、仮想センサVSまわりのモーメントとして、白抜き矢印で示されるように反時計回りのモーメントが検出される。
【0040】
そして、制御部13は、面倣い処理では、第2面222からの外力と第4面224からの外力が、制御条件設定部12に設定されている面当て力となるように、且つ、仮想センサVS周りのモーメントと第2物体22に対する第1物体21の回転のそれぞれの向きを考慮して、第2物体22に対して第1物体21を回転させる。なお、当該第1物体21の回転角度の調整については、
図8に基づいて後述する。
図5Aに示す形態では、制御部13は、第1面211を第2面222に当接させながら、そして第3面213を第4面224に当接させながら第1物体21を反時周りに回転させ、最終的には、第1面211が第2面222に接触し、第3面213が第4面224に接触した状態となり、面倣い処理が完了する。
【0041】
次に、
図5Bには、面当て処理における第1面211と第2面222との実当接点CP’が、想定していた所定当接点CPからずれた状態を表している。このような状態は、把持機構5による第1物体21の把持に関するずれや、第2物体22に対する第1物体21の相対的な位置関係のずれが原因で生じ得る。このとき、制御点TCPは第2面222に接触した状態となり、実当接点CP’は、第3面213と第4面224とが当接する位置となる。したがって、制御点TCPで第2面222から受ける外力は、白抜き矢印のF1’で表され、実当接点CP’で第4面224から受ける外力は、白抜き矢印のF2’で表
されている。そして、制御点TCP、所定当接点CP、仮想センサVSの相対的な位置関係は上記のとおりであるから、仮想センサVSまわりのモーメントとして、白抜き矢印で示されるように時計回りのモーメントが検出される。その結果、制御部13は、第1面211を第2面222に当接させながら、そして第3面213を第4面224に当接させながら第1物体21を時周りに回転させ、最終的には、第1面211が第2面222に接触した状態となり、所定制御が完了する。
【0042】
ここで、
図6に基づいて、従来の力センサを用いた面倣い処理について説明する。面当て処理において、仮に実当接点CP’が所定当接点からずれて制御点TCPに比較的近い点で第1面211と第2面222とが当接してしまった場合、第2面222からの外力F’が、力センサの投影点P1より制御点TCP側で作用することになる。そのため、
図6に示すように時計回りのモーメントが力センサによって検出される。このとき、面倣い処理を行おうとすると、当該モーメントの方向に第1物体21を回転させようとすることになるため、結果として、第1面211と第2面222とを接触させることが困難となる。
【0043】
このように本願開示の制御装置10によれば、仮想センサVSを利用することで、面当て処理で実際の当接点が所定当接点とずれたとしても、適切な面倣い処理を実行することができ、最終的には所定制御を好適に完了することができる。
【0044】
次に、上述した面当て処理及び面倣い処理を含む所定制御における処理の流れについて、
図7及び
図8に示すフローチャートに基づいて説明する。当該所定制御は、ロボット1によって第1物体21を第2物体22の穴部23に挿入する必要があるときに制御装置10によって実行される。先ず、S101では、所定制御に必要な制御条件、すなわち、上述した制御条件設定部12によって設定される、制御点TCPの位置、仮想センサVSの位置、第1物体21の、第2物体22の穴部23への挿入量、探り開始角度、面当て力に関する入力が行われる。なお、面当て力については、第2面222から受ける外力をF1とし、第4面224から受ける外力をF2とする。本実施形態では、第2面222及び第4面224に実質的な構造上の相違は存在しないため、外力F1と外力F2が等しくされる。S101の処理が終了すると、S102へ進む。
【0045】
S102では面当て処理として、第1面211が第2面222に外力F1で当接するように、第2面222に向かって第1面211を移動させる。なお、このときに設定された挿入量、探り開始角度に基づいて、
図4Aに示すように第1物体21の最下点が穴部23の内側に挿入された状態となっている。そして、S103では、第1面211が第2面222から受ける力がF1に到達したか否かが判定される。外力F1の検出は、仮想センサVSによって行われる。S103で肯定判定されると処理はS104へ進み、否定判定されるとS102以降の処理が繰り返される。
【0046】
S104では更なる面当て処理として、第3面213が第4面224に外力F2で当接するように、第4面224に向かって第3面213を移動させる。そして、S105では、第3面213が第4面224から受ける力がF2に到達したか否かが判定される。外力F2の検出は、仮想センサVSによって行われる。S105で肯定判定されると処理はS106へ進み、否定判定されるとS104以降の処理が繰り返される。なお、S105で肯定判定された時点で、第1物体21が第2物体22に当接した状態となっており、その際の実際の当接点が、所定当接点CPとなるように、S101~S105までの処理が行われたことになる。
【0047】
そして、S106では面倣い処理が行われる。面倣い処理の流れについて、
図8に基づいて説明する。
図8に示す面倣い処理は、上記の当接状態にある第1物体21と第2物体22について、第1物体21を第2物体22に対して回転させて、第1面211と第2面
222が接触し、且つ第3面213と第4面224とが接触した状態を形成するための処理である。したがって、
図8に示す処理は、各面の接触状態が形成されるまで繰り返される。なお、面倣い処理の開始時において、制御面での、第2物体22に対する第1物体21の回転に関する補正角度Rzの初期値は、零ではない所定の値とされる。
【0048】
先ず、S201では、仮想センサVSを中心とした、外力F1、F2によるモーメントMzの向きと、回転角度Rzの向きが異なるか否かが判定される。両者の向きが異なるときは、当接状態から面倣いの対象となっている二面が接触した状態になっている。したがって、その場合はS201で肯定判定され、面倣い処理が終了となる。一方で、両者の向きが異ならないときには、面倣いの対象となっている二面がまだ接触していない状態である。そこで、その場合はS201で否定判定され、処理はS202へ進む。S202では、新しい第1物体21の補正角度Rzを、所定の補正量ΔRz分だけ増加させる。すなわち、面倣いの対象となっている二面がまだ接触していない場合には、更に第1物体21を更に回転させることで、その接触の実現を促進させる。その後、再びS201の処理が繰り返される。
【0049】
再び、
図7に示す所定制御に戻ると、S106の面倣い処理が終了すると、S107で起立及び挿入処理が行われる。起立処理は、面倣い処理が終了した状態にある第1物体21を第2物体22に対して起立させる処理であり、具体的には、第1物体21のZ軸を第2物体22のZ軸に一致させる。この起立処理によって、第1物体21の先端だけが第2物体22の穴部23に嵌合した状態となる。そして、挿入処理は、穴部23に起立した第1物体21を挿入していく処理である。具体的には、仮想センサVSを中心としたモーメントMzが零になるように力制御しながら物体21の挿入が行われる。
【0050】
<第2の実施形態>
本願開示の制御装置10による所定制御に含まれる面倣い処理の第2の実施形態について、
図9に基づいて説明する。本形態においては、第2物体22の第4面224上に、穴部23内の第1物体21に対して干渉し得る複数の突起が存在するものとする。例えば、穴部23内で第1物体21の振動を抑制するために突起が設けられてもよい。この場合、第1物体21の第1面211を第2物体22の第2面222に合わせる面倣い処理が行われ、第4面224とは突起を介して接触するのみである。
【0051】
このような場合、制御条件設定部12によって設定される面当て力F1、F2については、実際に面倣いを行う第2面222に関連する面当て力F1を、突起を有する第4面224に関連する面当て力F2よりも大きくなるように設定する。好ましくはF2を零か、極めて零に近い値とする。仮に、第1の実施形態のように面当て力F1とF2を等しくすると、突起位置と仮想センサVSとが比較的大きく離れている場合等のように当該突起位置によっては突起と第1物体が接触することで作用する面当て力が仮想センサVS周りのモーメントに強く反映されることになり、第1面221と第2面222との面合わせが実現できなくなる恐れがある。そこで、
図9に示すように第2面222に関連する面当て力F1を第4面224に関連する面当て力F2よりも大きく設定することで、突起位置で生じる面当て力F2の影響を緩和させて、以て突起に影響されずに第1面211と第2面222との確実な面合わせが実現される。
【0052】
<第3の実施形態>
本願開示の制御装置10による所定制御に含まれる面倣い処理の第3の実施形態について、
図10A~
図10Cに基づいて説明する。本形態においては、第2物体22の第2面222及び第4面224上には、第2の実施形態のような突起は存在せず、第1の実施形態と同じように平面とされる。この場合、第1物体21の第1面211を第2物体22の第2面222に合わせるとともに、第1物体21の第3面213を第2物体22の第4面
224に合わせる面倣い処理が行われる。このような場合でも、制御条件設定部12によって設定される面当て力F1、F2については、実際に面倣いを行う第2面222に関連する面当て力F1を、第4面224に関連する面当て力F2よりも大きくなるように設定することで、好ましくは面当て力F2を第1面211と第2面222との間の摩擦力よりわずかに大きい値とした上で、面当て力F1を面当て力F2より大きくなるように設定することで、実当接点CP’が所定当接点CPからずれてしまっても好適な面倣い処理が実現可能である。
【0053】
例えば、
図10Aに示すように、制御点TCPと実当接点CP’が重なり、第2物体22の第2面222と第4面224との交線部分で第1物体21が当接した場合を考える。このとき、仮に面当て力F1とF2を等しくすると、仮想センサVS周りのモーメントが概ね零となり、適切な面倣い処理ができないか、もしくは面倣い処理に比較的長い時間を要してしまう。一方で、面当て力F1を面当て力F2よりも大きくなるように設定すると、第1面211と第2面222との接触を速やかに実現でき、以て好適な面倣い処理が実現される。
【0054】
別法として、例えば、
図10Bに示すように、制御点TCPが第4面224で接触し、且つ実当接点CP’が所定当接点CPよりも制御点TCPに近い場所に生じた場合を考える。このような当接状態は、所定制御での面当たり処理において第1物体21の最下点の実際の挿入量が、設定した挿入量よりも少なかったとき等に生じる。このような場合でも、実当接点CP’の位置が、実当接点CP’で作用する面当て力F1が仮想センサVSの上を通る程度までであれば面当て力F2による仮想センサVS周りのモーメントに基づいて、制御部13によって第3面213を第4面214に向けて回転させる面倣い処理が行われることになる。更に、
図10Cに示すように、制御点TCPが第4面224で接触し、且つ実当接点CP’が所定当接点CPから離れた場所に生じた場合を考える。このような当接状態は、所定制御での面当たり処理において第1物体21の最下点の実際の挿入量が、設定した挿入量よりも多くなったとき等に生じる。このような場合でも、面当て力F1及びF2による仮想センサVS周りのモーメントに基づいて、制御部13によって第3面213を第4面214に向けて回転させる面倣い処理が行われることになる。
【0055】
以上より、本願開示の制御装置10において、制御条件設定部12によって設定される面当て力F1、F2について、一方の面当て力を他方よりも大きくなるように設定することで、好適な面倣い処理が実現できることが理解できる。
【0056】
<付記1>
第1物体(21)を把持する把持機構(5)と、前記把持機構(5)に作用する力とモーメントを検出するように構成された力センサ(6)と、を有するロボット(1)を制御する制御装置(10)であって、
前記力センサ(6)に関連付けられ、且つ、前記把持機構(5)により把持された前記第1物体(21)の第1面(211)を第2物体(22)の第2面(222)に接触するように、該第2物体(22)に対して該第1物体(21)を相対的に回転させ、該第2物体(22)に対する該第1物体(21)の相対位置を制御するための所定制御に関する制御面上に設定された仮想センサ(VS)と、
前記把持機構(5)により前記第1物体(21)が把持された状態に基づいて前記制御面上に設定された制御点(TCP)を用いて、前記仮想センサ(VS)による検出結果に従って、前記所定制御を実行する制御部(13)と、
を備え、
前記所定制御において前記第1面(211)と前記第2面(222)との接触前に前記第1物体(21)を前記第2物体(22)に当接させるために前記制御面上に設定される、両物体の当接点である所定当接点(CP)と、前記制御点(TCP)とを結ぶ、前記制
御面上の仮想線の方向において、前記仮想センサ(VS)の該仮想線への投影位置は、該所定当接点(CP)と該制御点(TCP)との間に配置される、
制御装置。
【符号の説明】
【0057】
1 ロボット
5 把持機構
6 力センサ
10 制御装置
12 制御条件設定部
13 制御部
21 第1物体
22 第2物体
23 穴部
211 第1面
213 第3面
222 第2面
224 第4面
VS 仮想センサ
CP 所定当接点
CP’ 実当接点
TCP 制御点