JP2023049270A - ロボットシステム、制御方法および制御プログラム - Google Patents
ロボットシステム、制御方法および制御プログラム Download PDFInfo
- Publication number
- JP2023049270A JP2023049270A JP2021158916A JP2021158916A JP2023049270A JP 2023049270 A JP2023049270 A JP 2023049270A JP 2021158916 A JP2021158916 A JP 2021158916A JP 2021158916 A JP2021158916 A JP 2021158916A JP 2023049270 A JP2023049270 A JP 2023049270A
- Authority
- JP
- Japan
- Prior art keywords
- driver bit
- screw
- robot
- driver
- robot controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 35
- 230000007246 mechanism Effects 0.000 claims abstract description 18
- 238000010586 diagram Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 15
- 238000003780 insertion Methods 0.000 description 9
- 230000037431 insertion Effects 0.000 description 9
- 239000012636 effector Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000001179 sorption measurement Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
【課題】ドライバビットとねじとを係合させて、ドライバビットにねじを保持する動作をより確実に実現する。
【解決手段】ロボットシステムは、ねじをピックするためのロボットと、ロボットを制御するロボットコントローラとを含む。ロボットには、ねじと係合するためのドライバビットと、ドライバビットにねじを保持するための機構とが装着されている。ロボットコントローラは、ドライバビットが回転した状態で、ドライバビットをねじの上方からねじに向けて下降するようにロボットに指令を与え、ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、ドライバビットが予め定められた位置に到達している場合に、ドライバビットの回転を停止して、ドライバビットにねじを保持するようにロボットに指令を与える。
【選択図】図2
【解決手段】ロボットシステムは、ねじをピックするためのロボットと、ロボットを制御するロボットコントローラとを含む。ロボットには、ねじと係合するためのドライバビットと、ドライバビットにねじを保持するための機構とが装着されている。ロボットコントローラは、ドライバビットが回転した状態で、ドライバビットをねじの上方からねじに向けて下降するようにロボットに指令を与え、ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、ドライバビットが予め定められた位置に到達している場合に、ドライバビットの回転を停止して、ドライバビットにねじを保持するようにロボットに指令を与える。
【選択図】図2
Description
本発明は、ロボットシステム、制御方法および制御プログラムに関する。
産業オートメーション(Industrial Automation)の分野において、様々な用途にロボットが利用されている。このような用途の一つとして、ねじの組み付けなどの作業がある。
例えば、特開2021-016909号公報(特許文献1)は、空気圧送装置等を使用することなく、簡単な機構で、ネジ類の供給部と作業部である組み立て作業ロボットのネジ類取り付工具とを移送部で連結して、吸気型ドライバにネジ類を移送し自動的に装着するネジ類取り付装置を開示する。
また、特開平03-221329号公報(特許文献2)および特開平03-221331号公報(特許文献3)は、ねじ締め装置のドライバのビットにねじを供給するネジ供給装置を開示する。
特開2021-016909号公報(特許文献1)は、ネジ類がドライバの先端のドライバビットに吸着された状態でドライバが上昇する構成を開示するが、汎用的なロボットを用いる場合には、ドライバビットにねじを適切に吸着できない場合も生じ得る。
本発明は、ドライバビットとねじとを係合させて、ドライバビットにねじを保持する動作をより確実に実現できるソリューションを提供する。
ある実施の形態に係るロボットシステムは、ねじをピックするためのロボットと、ロボットを制御するロボットコントローラとを含む。ロボットには、ねじと係合するためのドライバビットと、ドライバビットにねじを保持するための機構とが装着されている。ロボットコントローラは、ドライバビットが回転した状態で、ドライバビットをねじの上方からねじに向けて下降するようにロボットに指令を与え、ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、ドライバビットが予め定められた位置に到達している場合に、ドライバビットの回転を停止して、ドライバビットにねじを保持するようにロボットに指令を与える。
この構成によれば、ドライバビットが回転した状態で、ドライバビットを下降させることで、ドライバビットがねじと係合し易くなる。また、ドライバビットの下降方向に発生する荷重およびドライバビットの位置の両方を条件として判断することで、ドライバビットとねじとの係合をより適切に判断できる。よって、ドライバビットとねじとを係合させて、ドライバビットにねじを保持する動作をより確実に実現できる。
ロボットコントローラは、ドライバビットにねじを保持した状態で、ねじが使用されるワークに向けてドライバビットを移動させるようにロボットにさらに指令を与えてもよい。この構成によれば、同一のロボットを用いて、ねじのピックからねじをワークに組み付けまでの処理を実現できる。
ロボットコントローラは、ドライバビットの下降方向に発生する荷重が目標値と一致するように、ロボットに指令を与えてもよい。この構成によれば、ドライバビットの下降方向に発生する荷重に応じて、ドライバビットの位置を制御するので、ねじに過度な荷重を与えることを回避できる。
ロボットコントローラは、ドライバビットの下降開始からの経過時間が予め定められた第2のしきい値を超えた場合に、ドライバビットを上昇させるようにロボットに指令を与えてもよい。この構成によれば、ドライバビットとねじとが適切に係合できない場合に、リトライ処理などを実行できる。
ドライバビットが回転方向は、ねじの締結方向とは逆方向に設定されてもよい。この構成によれば、ねじがねじフィーダなどと干渉したとしても、ドライバビットに係合できる可能性を高めることができる。
ドライバビットにねじを保持するための機構は、負圧によりねじを吸着するようにしてもよい。この構成によれば、ドライバビットに係合したねじを保持するための機構を小型化できる。
ロボットコントローラは、ねじを吸着する経路のゲージ圧が予め定められた第3のしきい値未満であるか否かを判断するようにしてもよい。この構成によれば、ドライバビットがねじと適切に係合できていない状態を検出できる。
ロボットコントローラは、ドライバビットの下降方向に発生する荷重、および、ドライバビットの位置の時系列データをユーザに提示する提示手段をさらに含んでいてもよい。この構成によれば、ユーザが提示された時系列データを参照して、必要なパラメータを設定できる。
別の実施の形態によれば、ねじをピックするためのロボットを制御する制御方法が提供される。ロボットには、ねじと係合するためのドライバビットと、ドライバビットにねじを保持するための機構とが装着されている。制御方法は、ドライバビットが回転した状態で、ドライバビットをねじの上方からねじに向けて下降するステップと、ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、ドライバビットが予め定められた位置に到達している場合に、ドライバビットの回転を停止して、ドライバビットにねじを保持するステップとを含む。
さらに別の実施の形態によれば、ねじをピックするためのロボットを制御するための制御プログラムが提供される。ロボットには、ねじと係合するためのドライバビットと、ドライバビットにねじを保持するための機構とが装着されている。制御プログラムはコンピュータに、ドライバビットが回転した状態で、ドライバビットをねじの上方からねじに向けて下降させる指令をロボットへ与えるステップと、ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、ドライバビットが予め定められた位置に到達している場合に、ドライバビットの回転を停止して、ドライバビットにねじを保持する指令をロボットへ与えるステップとを実行させる。
本発明によれば、ドライバビットとねじとを係合させて、ドライバビットにねじを保持する動作をより確実に実現できる。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
まず、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に係るロボットシステム1の構成例を示す模式図である。図1を参照して、ロボットシステム1は、多関節ロボット(以下、単に「ロボット10」と称す。)と、ロボット10を制御するロボットコントローラ100とを含む。
ロボットシステム1においては、ねじフィーダ60がねじ50を所定位置に順次繰り出す。ロボット10は、ねじフィーダ60が繰り出したねじ50をピックする。ロボット10は、ピックしたねじ50をワーク70の位置まで搬送し、ねじ50をワーク70に組み付ける。
ロボット10は、ベース11と、複数の可動部12,13,14,15,16,17とを含む。可動部12,13,14,15,16,17は、ロボット10のジョイントに相当する。可動部12,13,14,15,16,17の各々は、図1に示すような回転軸に沿ってロボット10を構成するリンクを駆動する。ロボット10のアーム先端には、エンドエフェクタ18が取り付けられている。エンドエフェクタ18には、ねじ50と係合するためのドライバビット20が回転可能に取り付けられている。ドライバビット20にねじ50を保持するための機構の一例として、ドライバビット20の外周側には吸着スリーブ22が設けられている。ドライバビット20の先端近傍には、吸着スリーブ22の開口部21が設けられている。吸着スリーブ22は、図示しないエジェクタと連通しており、エジェクタが発生する負圧によりねじ50を吸着する。また、エジェクタから吸着スリーブ22までの経路には、当該経路のゲージ圧を検出する図示しない圧力センサ28が設けられている。
すなわち、ドライバビット20にねじ50を保持するための機構は、負圧によりねじ50を吸着する。但し、ドライバビット20にねじ50を保持するための機構としては、吸着(負圧)による構成に限らず、磁力を用いる構成などを用いてもよい。
ロボット10のアームにエンドエフェクタ18が取り付けられる部分には、エンドエフェクタ18およびドライバビット20に発生する荷重を検出する荷重センサ19が設けられている。荷重センサ19は、発生している荷重の大きさ、および、荷重が発生している方向を示す検出結果を出力する。荷重センサ19の検出結果は、一種のベクトルの形で出力されてもよい。
以下の説明では、主として、エンドエフェクタ18を基準とした座標系XYZ(以下、「TCP座標系」とも称す。)に基づいてロボット10の動作を説明する。なお、TCP座標系において、ドライバビット20の軸方向がZ軸に相当する。すなわち、Z軸は、ドライバビット20がねじ50を押し付ける方向に相当する。
より具体的には、荷重センサ19は、検出結果として、TCP座標系のX軸方向(X)の荷重、Y軸方向(Y)の荷重、Z軸方向(Z)の荷重をそれぞれ出力するとともに、X軸を中心とした回転方向(RX)の荷重(モーメント)、Y軸を中心とした回転方向(RY)の荷重(モーメント)、Z軸を中心とした回転方向(RZ)の荷重(モーメント)を出力する。
ロボットコントローラ100には、情報処理装置200が接続されてもよい。情報処理装置200は、典型的には、汎用コンピュータであり、ロボットコントローラ100からの情報をユーザに提示するとともに、ユーザ操作に従ってユーザ指示をロボットコントローラ100へ与える。
図2は、本実施の形態に係るロボットシステム1におけるドライバビット20がねじ50と係合するための適用例を示す図である。図2(A)を参照して、ロボットコントローラ100は、ドライバビット20が回転した状態で、ドライバビット20をねじ50の上方からねじ50に向けて下降するようにロボット10に指令を与える。図2(B)を参照して、ロボットコントローラ100は、ドライバビット20の下降方向に発生する荷重が予め定められた押付しきい値(第1のしきい値)を超えており、かつ、ドライバビット20が予め定められた位置(係合位置)に到達している場合に、ドライバビット20の回転を停止して、ドライバビット20にねじ50を保持するようにロボット10に指令を与える。
ドライバビット20が回転した状態で、ドライバビット20を下降させることで、ドライバビット20がねじ50の頭部52と係合し易くなる。また、ドライバビット20の下降方向に発生する荷重(反力)およびドライバビット20の位置の両方を条件として判断することで、ドライバビット20とねじ50との係合を適切に判断できる。
<B.ロボットシステム1のハードウェア構成例>
図3は、本実施の形態に係るロボットシステム1のハードウェア構成例を示す模式図である。図3を参照して、ロボット10は、可動部12,13,14,15,16,17にそれぞれ対応付けられたモータ31,32,33,34,35,36と、モータ31,32,33,34,35,36をそれぞれ駆動するドライバ41,42,43,44,45,46とを含む。また、ロボット10は、ドライバビット20を回転駆動するためのモータ37およびドライバビット20を上下方向に移動するためのモータ38、ならびに、モータ37,38をそれぞれ駆動するドライバ47,48を含む。
図3は、本実施の形態に係るロボットシステム1のハードウェア構成例を示す模式図である。図3を参照して、ロボット10は、可動部12,13,14,15,16,17にそれぞれ対応付けられたモータ31,32,33,34,35,36と、モータ31,32,33,34,35,36をそれぞれ駆動するドライバ41,42,43,44,45,46とを含む。また、ロボット10は、ドライバビット20を回転駆動するためのモータ37およびドライバビット20を上下方向に移動するためのモータ38、ならびに、モータ37,38をそれぞれ駆動するドライバ47,48を含む。
ロボット10は、負圧を発生するエジェクタ39と、エジェクタ39による負圧の発生のオン/オフを制御する電磁弁49とを含む。
ドライバ41,42,43,44,45,46,47,48、荷重センサ19、圧力センサ28およびティーチングペンダント26は、インターフェイス40を介して、ロボットコントローラ100と電気的に接続される。ティーチングペンダント26は、ユーザ操作に応じて、ロボット10のティーチングなどを行う。ティーチングペンダント26は、ロボット10に対して着脱可能に構成されてもよい。
ロボットコントローラ100は、一種のコンピュータであり、主要なハードウェアコンポーネントとして、プロセッサ102と、メモリ104と、インターフェイス106と、ストレージ110とを含む。これらのコンポーネントはバス108を介して電気的に接続される。
プロセッサ102は、典型的には、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などで構成される。メモリ104は、典型的には、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置で構成される。ストレージ110は、典型的には、SSD(Solid State Disk)やフレッシュメモリなどの不揮発性記憶装置で構成される。ストレージ110は、基本的な処理を実現するためのシステムプログラム112と、制御プログラム114とを格納する。制御プログラム114は、ロボット10を制御するためのコンピュータ読取可能な命令を含む。プロセッサ102は、ストレージ110に格納されたシステムプログラム112および制御プログラム114を読出して、メモリ104に展開して実行することで、後述するようなロボット10を制御するための処理を実現する。
インターフェイス106は、ロボットコントローラ100とロボット10との間の信号および/またはデータのやり取りを担当する。ロボットシステム1においては、ドライバ41,42,43,44,45,46,47および電磁弁49を制御するための指令がロボットコントローラ100からロボット10へ送信されるとともに、荷重センサ19および圧力センサ28によるそれぞれの検出結果がロボット10からロボットコントローラ100へ送信される。
図3には、プロセッサ102がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
図3には、ロボットコントローラ100をロボット10から独立して構成した例を示しているが、ロボットコントローラ100が提供する機能および処理の一部または全部をロボット10に組み入れてもよい。この場合、ロボットコントローラ100は、ロボット制御に専用化されたコントローラとして実装してもよいし、汎用的なPLC(プログラマブルコントローラ)あるいはパーソナルコンピュータを用いて実装してもよい。
さらに、ロボットコントローラ100が提供する機能および処理の一部または全部をいわゆるクラウドと称されるネットワーク上のコンピューティングリソースを用いて実現してもよい。
以上のように、本実施の形態に係るロボットシステム1は、どのように実装してもよい。
<C.ねじのピックおよび搬送における課題>
次に、本実施の形態に係るロボットシステム1が解決しようとする課題について概略する。
次に、本実施の形態に係るロボットシステム1が解決しようとする課題について概略する。
図4は、本実施の形態に係るロボットシステム1が解決しようとする課題について説明するための図である。図4を参照して、ロボット10のドライバビット20がねじ50と係合した状態で、吸着スリーブ22を介して負圧をねじ50に与えることで、ねじ50は、ドライバビット20の先端に吸着された状態で、ねじフィーダ60からワーク70の挿入孔72まで搬送される。
このような動作において、ねじ50の搬送中にドライバビット20の先端からねじ50が離れて落下する場合がある。このような落下の典型的な理由としては、ドライバビット20の先端にねじ50が十分に保持されていないことが挙げられる。
また、ねじ50がワーク70の挿入孔72まで搬送された後、ドライバビット20を回転駆動することで、ねじ50(雄ねじ)をワーク70の挿入孔72に組み付けることになる。このとき、ねじ50と挿入孔72とが噛み合わない状態で、ドライバビット20が回転駆動するとともに、ワーク70に移動することで、ドライバビット20とねじ50との係合が外れてカムアウトが発生し得る。カムアウトにより、ねじ50の穴の破損も発生し得る。このようなカムアウトの典型的な理由としては、ドライバビット20に対してねじ50が斜めあるいは偏心して吸着していることが挙げられる。
<D.ロボットシステム1の動作>
次に、上述したような課題を解決するための本実施の形態に係るロボットシステム1の動作について説明する。
次に、上述したような課題を解決するための本実施の形態に係るロボットシステム1の動作について説明する。
(d1:概要)
図5は、本実施の形態に係るロボットシステム1におけるねじ50をピックする際の動作を説明するための図である。図5(A)には、ドライバビット20がねじ50の頭部52と十分に係合していない状態を示す。図5(B)には、ドライバビット20がねじ50の頭部52と十分に係合している状態を示す。
図5は、本実施の形態に係るロボットシステム1におけるねじ50をピックする際の動作を説明するための図である。図5(A)には、ドライバビット20がねじ50の頭部52と十分に係合していない状態を示す。図5(B)には、ドライバビット20がねじ50の頭部52と十分に係合している状態を示す。
ロボット10は、ドライバビット20がねじ50の頭部52と十分に係合している状態で、吸着スリーブ22を介してねじ50を吸着する。ドライバビット20がねじ50の頭部52と十分に係合している状態を保証するために、ドライバビット20をねじ50に向けて下降する過程でドライバビット20を回転させる。これによって、ドライバビット20とねじ50の頭部52との相対関係が時間的に変化するので、ドライバビット20がねじ50の頭部52と係合する可能性を高めることができる。
また、ドライバビット20の下降に伴う移動量が予め定められた値を超えていること(あるいは、所定位置まで下降していること)を監視することで、ドライバビット20がねじ50の頭部52と十分に係合していることを保証できる。なお、下降方向に発生する反力に基づいて、ドライバビット20がねじ50の頭部52を押さえ付けていることを監視するようにしてもよい。
このように、ドライバビット20とねじ50の頭部52とを十分に係合した状態で、吸着することで、ねじ50を十分に保持した状態で搬送でき、ねじ50の組み付け開始時(締結開始時)にねじ50が斜めあるいは偏心する状態を抑制する。これによって、ねじ50のピック、搬送、組み付けといった一連の動作が失敗する確率を低減する。
(d2:処理手順)
図6は、本実施の形態に係るロボットシステム1におけるねじ50をピックするための処理手順例を示すフローチャートである。図6に示す各ステップは、典型的には、ロボットコントローラ100のプロセッサ102が制御プログラム114を実行することで実現される。この結果、ロボットコントローラ100からロボット10に対して指令が与えることで図6に示す処理が実現される。
図6は、本実施の形態に係るロボットシステム1におけるねじ50をピックするための処理手順例を示すフローチャートである。図6に示す各ステップは、典型的には、ロボットコントローラ100のプロセッサ102が制御プログラム114を実行することで実現される。この結果、ロボットコントローラ100からロボット10に対して指令が与えることで図6に示す処理が実現される。
図6を参照して、ロボットコントローラ100は、ねじ50のピック開始条件が成立するか否かを判断する(ステップS1)。ねじ50のピック開始条件が成立していなければ(ステップS1においてNO)、ステップS1の処理が繰り返される。
ねじ50のピック開始条件が成立していれば(ステップS1においてYES)、ロボットコントローラ100は、ドライバビット20が回転した状態で、ドライバビット20をねじ50の上方からねじ50に向けて下降するようにロボット10に指令を与える(ステップS2~S4)。
より具体的には、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20をねじフィーダ60のねじ50が繰り出される位置の上方にあるピック開始位置に配置する(ステップS2)。続いて、ロボットコントローラ100は、ロボット10に指令を与えて、ドライバビット20の回転を開始する(ステップS3)。そして、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20の下降を開始する(ステップS4)。
ロボットコントローラ100は、ドライバビット20を下降するための制御において、ドライバビット20の下降方向に発生する荷重が目標押付力(例えば、5~10[N])と一致するように、ロボット10のドライバ48に指令を与えてモータ38を駆動する。すなわち、ロボットコントローラ100は、ドライバビット20を力制御に従って下降させる。このとき、ロボットコントローラ100は、荷重センサ19が検出するドライバビット20の下降方向に発生する荷重を順次取得する。
また、ドライバビット20を上下方向に移動するためのモータ38には、エンコーダが設けられており、ロボットコントローラ100は、ドライバビット20の移動量を逐次取得する。ロボットコントローラ100は、ドライバビット20の下降方向に発生する荷重が予め定められた押付しきい値(第1のしきい値)を超えており、かつ、ドライバビット20が予め定められた位置(係合位置)に到達している場合に、ドライバビット20の回転を停止して、ドライバビット20にねじ50を保持するようにロボット10に指令を与える(ステップS5,S8,S9)。
ロボットコントローラ100は、下降方向に発生している荷重が予め定められた押付しきい値を超えており、かつ、ピック開始位置からの移動量が移動量しきい値を超えているか否かを判断する(ステップS5)。移動量しきい値は、ピック開始位置から係合位置までの移動距離に応じて決定される。
なお、ステップS5においては、ピック開始位置からの移動量(すなわち、相対量)を評価する例を示すが、予め定められた位置(後述する係合位置)までの移動(すなわち、絶対量)を評価してもよい。
また、ステップS5の判断は、下降方向に発生している荷重が予め定められた押付しきい値を超えていること、および、ピック開始位置からの移動量が移動量しきい値を超えていることが同時に成立しているか否かを判断することが好ましい。
下降方向に発生している荷重が予め定められた押付しきい値を超えておらず、または、ピック開始位置からの移動量が移動量しきい値を超えていなければ(ステップS5においてNO)、ロボットコントローラ100は、下降開始からの経過時間が予め定められた経過時間しきい値を超えているか否かを判断する(ステップS6)。下降開始からの経過時間が予め定められた経過時間しきい値を超えていなければ(ステップS6においてNO)、ステップS5以下の処理が繰り返される。
下降開始からの経過時間が予め定められた経過時間しきい値を超えていれば(ステップS6においてYES)、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20をピック開始位置まで上昇させる(ステップS7)。そして、ロボットコントローラ100は、ステップS4以下の処理を繰り返す。このように、ロボットコントローラ100は、ドライバビット20の下降開始からの経過時間が予め定められた経過時間しきい値(第2のしきい値)を超えた場合に、ドライバビット20を上昇させるようにロボット10に指令を与える。
下降方向に発生している荷重が予め定められた押付しきい値を超えており、かつ、ピック開始位置からの移動量が移動量しきい値を超えていれば(ステップS5においてYES)、ロボットコントローラ100は、ロボット10に指令を与えて、ドライバビット20の回転を停止するとともに、ドライバビット20の下降を停止する(ステップS8)。なお、ドライバビット20の回転の停止と、ドライバビット20の下降の停止とは、必ずしも同時である必要はなく、どちらかを先に停止させてもよい。
続いて、ロボットコントローラ100は、ロボット10に指令を与えて、吸着スリーブ22に負圧を発生させる(ステップS9)。ロボットコントローラ100は、エジェクタ39から吸着スリーブ22までの経路のゲージ圧が予め定められた圧力しきい値(負値)未満であるか否かを判断する(ステップS10)。すなわち、ロボットコントローラ100は、ねじ50を吸着する経路のゲージ圧が予め定められた圧力しきい値(第3のしきい値)未満であるか否かを判断する。
エジェクタ39から吸着スリーブ22までの経路のゲージ圧が予め定められた圧力しきい値以上であれば(ステップS10においてNO)、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20をピック開始位置まで上昇させる(ステップS11)。そして、ロボットコントローラ100は、ステップS3以下の処理を繰り返す。
エジェクタ39から吸着スリーブ22までの経路のゲージ圧が予め定められた圧力しきい値未満であれば(ステップS10においてYES)、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20をワーク70の挿入孔72に向けて移動させる(ステップS12)。このように、ロボットコントローラ100は、ドライバビット20にねじ50を保持した状態で、ねじ50が使用されるワーク70に向けてドライバビット20を移動させるようにロボット10にさらに指令を与える。
ロボットコントローラ100は、エジェクタ39から吸着スリーブ22までの経路のゲージ圧が予め定められた圧力しきい値未満であるか否かを判断する(ステップS13)。すなわち、ロボットコントローラ100は、ねじ50を吸着する経路のゲージ圧が予め定められた圧力しきい値(第3のしきい値)未満であるか否かを判断する。
エジェクタ39から吸着スリーブ22までの経路のゲージ圧が予め定められた圧力しきい値以上であれば(ステップS13においてNO)、ドライバビット20によるねじ50の搬送中にねじ50の脱落などの不具合が発生したと判断できる。そのため、ロボットコントローラ100は、ロボット10に指令を与えて、吸着スリーブ22での負圧の発生を停止し(ステップS14)、ステップS1以下の処理を再度行う。すなわち、ドライバビット20によるねじ50の搬送中にねじ50の脱落などの不具合が発生した場合には、ねじ50をピックするための処理を最初からやり直すようにしてもよい。
あるいは、ドライバビット20によるねじ50の搬送中にねじ50の脱落などの不具合が発生した場合には、異常発生をユーザに通知して、ロボット10を停止するようにしてもよい。この場合には、ユーザが所定の復帰操作を行う。
エジェクタ39から吸着スリーブ22までの経路のゲージ圧が予め定められた圧力しきい値未満であれば(ステップS13においてYES)、ロボットコントローラ100は、ロボット10のドライバビット20がワーク70の挿入孔72の上方にある目的位置に到着したか否かを判断する(ステップS15)。ロボット10のドライバビット20がワーク70の挿入孔72の上方にある目的位置に到着していなければ(ステップS15においてNO)、ステップS13以下の処理が繰り返される。
ロボット10のドライバビット20がワーク70の挿入孔72の上方にある目的位置に到着していれば(ステップS15においてYES)、処理は終了する。
(d3:パラメータ)
次に、図6に示す処理手順において用いられるパラメータについて説明する。
次に、図6に示す処理手順において用いられるパラメータについて説明する。
(1)ピック開始位置
ピック開始位置は、ロボット10のドライバビット20が下降を開始する初期位置である。ピック開始位置は、事前のティーチングなどによって決定される。
ピック開始位置は、ロボット10のドライバビット20が下降を開始する初期位置である。ピック開始位置は、事前のティーチングなどによって決定される。
(2)係合位置(ねじフィーダ60によるねじ50の供給位置)
係合位置は、ロボット10のドライバビット20が下降を終了する位置である。理想的には、係合位置は、ピック開始位置を移動量しきい値分だけずらした位置に相当する。
係合位置は、ロボット10のドライバビット20が下降を終了する位置である。理想的には、係合位置は、ピック開始位置を移動量しきい値分だけずらした位置に相当する。
(3)ドライバビット20の回転速度
ドライバビット20の回転速度は、ドライバビット20とねじ50の頭部52との相対関係を時間的に変化できるように決定される。回転速度は、例えば、1サイクル(下降開始からねじ50のピック完了まで)に要する時間(サイクルタイム)内に90°以上回転できるように決定されてもよい(ねじ50の頭部52が十字穴である場合)。
ドライバビット20の回転速度は、ドライバビット20とねじ50の頭部52との相対関係を時間的に変化できるように決定される。回転速度は、例えば、1サイクル(下降開始からねじ50のピック完了まで)に要する時間(サイクルタイム)内に90°以上回転できるように決定されてもよい(ねじ50の頭部52が十字穴である場合)。
(4)ドライバビット20の回転トルク
ドライバビット20の回転トルクは、ドライバビット20を回転駆動するために与える回転方向の力であり、ドライバビット20が静止した状態から回転駆動するために必要なトルクより十分大きな値を設定される。
ドライバビット20の回転トルクは、ドライバビット20を回転駆動するために与える回転方向の力であり、ドライバビット20が静止した状態から回転駆動するために必要なトルクより十分大きな値を設定される。
(5)ドライバビット20の下降速度
ドライバビット20の下降速度は、ピック開始位置から下降する際の移動速度である。下降速度は、サイクルタイムと、ドライバビット20がねじ50に接触したときの衝撃力とのトレードオフに基づいて設定される。
ドライバビット20の下降速度は、ピック開始位置から下降する際の移動速度である。下降速度は、サイクルタイムと、ドライバビット20がねじ50に接触したときの衝撃力とのトレードオフに基づいて設定される。
(6)ドライバビット20の目標押付力
ドライバビット20の目標押付力は、ドライバビット20を力制御に従って下降させる際の目標値である。目標押付力が大きいほど、ドライバビット20がねじ50に対して空転しにくくなる。
ドライバビット20の目標押付力は、ドライバビット20を力制御に従って下降させる際の目標値である。目標押付力が大きいほど、ドライバビット20がねじ50に対して空転しにくくなる。
(7)押付しきい値
押付しきい値は、ドライバビット20とねじ50との係合を判断するためのしきい値である。押付しきい値は、ドライバビット20の目標押付力と同値、あるいは、ドライバビット20の目標押付力より若干小さい値に設定される。
押付しきい値は、ドライバビット20とねじ50との係合を判断するためのしきい値である。押付しきい値は、ドライバビット20の目標押付力と同値、あるいは、ドライバビット20の目標押付力より若干小さい値に設定される。
(8)移動量しきい値
移動量しきい値は、ドライバビット20とねじ50との係合を判断するためのしきい値である。移動量しきい値は、係合位置を定義するしきい値を意味する。
移動量しきい値は、ドライバビット20とねじ50との係合を判断するためのしきい値である。移動量しきい値は、係合位置を定義するしきい値を意味する。
(9)経過時間しきい値
経過時間しきい値は、ドライバビット20によるねじ50のピックが失敗である(タイムアウト)と判断するためのしきい値である。
経過時間しきい値は、ドライバビット20によるねじ50のピックが失敗である(タイムアウト)と判断するためのしきい値である。
(10)圧力しきい値
圧力しきい値は、ドライバビット20によるねじ50の吸着を判断するためのしきい値である。
圧力しきい値は、ドライバビット20によるねじ50の吸着を判断するためのしきい値である。
これらのパラメータのうち、ピック開始位置、係合位置および移動量しきい値は、ねじ50のピックの成功率を向上させるために重要なパラメータである。以下、これらのパラメータの設定手順について説明する。
<E.パラメータの設定手順>
次に、ピック開始位置、係合位置および移動量しきい値などのパラメータを設定する手順例について説明する。
次に、ピック開始位置、係合位置および移動量しきい値などのパラメータを設定する手順例について説明する。
(e1:設定対象のパラメータ)
図7は、本実施の形態に係るロボットシステム1におけるピック開始位置の設定例を説明するための図である。図7(A)には、ピック開始位置が適切に設定されている場合を示し、図7(B)には、ピック開始位置が不適切に設定されている場合を示す。
図7は、本実施の形態に係るロボットシステム1におけるピック開始位置の設定例を説明するための図である。図7(A)には、ピック開始位置が適切に設定されている場合を示し、図7(B)には、ピック開始位置が不適切に設定されている場合を示す。
図7(A)を参照して、例えば、ドライバビット20の先端に着目して、ピック開始位置(TCP座標系で(X,Y,Z))が設定される。ピック開始位置の水平位置(X,Y)がねじ50の頭部52の中心から大きくずれていなければ、ドライバビット20が下降することで、ねじ50と正しく係合できる。
これに対して、図7(B)に示すように、ピック開始位置の水平位置(X,Y)がねじ50の頭部52の中心から大きくずれていれば、ドライバビット20が下降した際に、ねじ50の頭部52からずれてしまい、ねじ50と正しく係合できない。
このように、ピック開始位置は、係合位置(ねじフィーダ60によるねじ50の供給位置)に対して水平方向の誤差が小さくなるように設定される。
図8は、本実施の形態に係るロボットシステム1における移動量しきい値の設定例を説明するための図である。図8(A)には、移動量しきい値が適切に設定されている場合を示し、図8(B)および図8(C)には、移動量しきい値が不適切に設定されている場合を示す。
図8(A)を参照して、ドライバビット20がピック開始位置から移動量しきい値分だけ降下することで、ねじ50と正しく係合できる。
これに対して、図8(B)に示すように、移動量しきい値が本来の値より大きく設定されてしまうと、ねじフィーダ60のねじ50の供給面に接近し過ぎるため、ドライバビット20とねじ50との係合を適切に判断できない。
また、図8(C)に示すように、移動量しきい値が本来の値より小さく設定されてしまうと、ドライバビット20がねじ50と係合する位置まで下降する前に条件が成立してしまうため、ドライバビット20とねじ50との係合を適切に判断できない。
以上のように、ピック開始位置、係合位置および移動量しきい値については、いずれも適切に設定する必要がある。パラメータを適切に設定しなければ、ピック失敗でリトライが増加するため、生産性の低下に繋がる。
ねじ50の頭部52に形成される穴の深さなどは、穴形状(例えば、十字穴・六角穴など)、ねじ径、および頭部形状(例えば、鍋ねじ・皿ねじなど)に応じて変化する。そのため、ピック開始位置、係合位置および移動量しきい値は、対象のねじ50の頭部形状に応じて、適宜設定あるいは変更されることが好ましい。
また、ピック開始位置、係合位置および移動量しきい値は、対象のねじ50の規格などに応じて、適宜設定あるいは変更されるようにしてもよい。
なお、ピック開始位置、係合位置および移動量しきい値は、ねじ50の材質およびねじ部形状(例えば、並目・細目、ピッチ、リードなど)などには影響を受けない。そのため、ピック開始位置、係合位置および移動量しきい値を変更する必要はない。
図9は、本実施の形態に係るロボットシステム1におけるピック開始位置および移動量しきい値の設定手順の一例を説明するための図である。
予め定められた設定制御ロジック、あるいは、ユーザによるティーチング操作によって、図9に示すように、ドライバビット20の位置が調整される。
(1)ドライバビット20をねじ50に係合させる。このとき、ドライバビット20は、ねじ50の頭部52に形成された穴の最奥部まで押し込まれているとする。この状態の座標(X,Y,Z)を係合位置として決定する。
(2)係合位置から移動量しきい値分(ΔZ)だけ上昇させた位置(X,Y,Z-ΔZ)をピック開始位置として決定する。
なお、移動量しきい値の大きさは、対象のねじ50の頭部52に形成される穴の最大深さ(通常は、誤差を含めて規格で定められている)より大きな値であればよい。
上述したような動作は、典型的には、ロボット10の通常動作を利用して実現する方法(自動設定)と、ユーザがティーチングペンダント26を操作して実現する方法(手動設定)とが想定される。
自動設定および手動設定においては、取得された位置および荷重の時系列データがユーザへ提示される。ロボットコントローラ100は、ドライバビット20の下降方向に発生する荷重、および、ドライバビット20の位置の時系列データをユーザに提示する。時系列データは、情報処理装置200を介してユーザへ提示されてもよい。
(e2:自動設定)
次に、ピック開始位置および係合位置(移動量しきい値)の自動設定の詳細について説明する。自動設定においては、図6に示すねじ50をピックするための処理と同様の処理を用いて、ピック開始位置および係合位置が決定される。
次に、ピック開始位置および係合位置(移動量しきい値)の自動設定の詳細について説明する。自動設定においては、図6に示すねじ50をピックするための処理と同様の処理を用いて、ピック開始位置および係合位置が決定される。
なお、自動設定を実行する前に、ピック開始位置の水平位置(X,Y)については、ユーザのティーチングにより設定されているものとする。また、押付しきい値および移動量しきい値についてもおおよその値が設定されているものとする。なお、移動量しきい値については、少し大きめに設定しておくことが好ましい。
図10は、本実施の形態に係るロボットシステム1におけるピック開始位置および係合位置を自動設定するための処理手順例を示すフローチャートである。図10に示す各ステップは、典型的には、ロボットコントローラ100のプロセッサ102が制御プログラム114を実行することで実現される。この結果、ロボットコントローラ100からロボット10に対して指令が与えることで図10に示す処理が実現される。なお、図6に示す処理と同様の処理については、同じステップ番号を付与している。
図10を参照して、ロボットコントローラ100は、自動設定の開始を指示するユーザ操作を受けたか否かを判断する(ステップS51)。自動設定の開始を指示するユーザ操作を受けていなければ(ステップS51においてNO)、ステップS51の処理が繰り返される。
自動設定の開始を指示するユーザ操作を受けていれば(ステップS51においてYES)、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20をねじフィーダ60のねじ50が繰り出される位置の上方にあるピック開始位置に配置する(ステップS2)。続いて、ロボットコントローラ100は、ロボット10に指令を与えて、ドライバビット20の回転を開始する(ステップS3)。そして、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20の下降を開始する(ステップS4)。
ロボットコントローラ100は、下降方向に発生している荷重が予め定められた押付しきい値を超えており、かつ、ピック開始位置からの移動量が移動量しきい値を超えているか否かを判断する(ステップS5)。
下降方向に発生している荷重が予め定められた押付しきい値を超えておらず、または、ピック開始位置からの移動量が移動量しきい値を超えていなければ(ステップS5においてNO)、ステップS5以下の処理が繰り返される。
下降方向に発生している荷重が予め定められた押付しきい値を超えており、かつ、ピック開始位置からの移動量が移動量しきい値を超えていれば(ステップS5においてYES)、ロボットコントローラ100は、ロボット10に指令を与えて、ドライバビット20の回転を停止するとともに、ドライバビット20の下降を停止する(ステップS8)。
そして、ロボットコントローラ100は、一連の動作において取得された位置および下降方向に発生している荷重の時系列データをユーザに提示する(ステップS52)。ユーザは、提示された位置および下降方向に発生している荷重の時系列データを参照して、ピックが成功したか否かを判断する。ロボットコントローラ100は、ユーザからピックが成功したとの判断結果を受けたか否かを判断する(ステップS53)。
ユーザからピックが成功したとの判断結果を受けていなければ(ステップS53においてNO)、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20をピック開始位置まで上昇させる(ステップS11)。そして、ステップS3以下の処理が繰り返される。
ユーザからピックが成功したとの判断結果を受けていれば(ステップS53においてYES)、ロボットコントローラ100は、現在の位置を係合位置として格納する(ステップS54)。続いて、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20を移動量しきい値分だけ上昇させる(ステップS55)。そして、ロボットコントローラ100は、現在の位置を新しいピック開始位置として更新する(ステップS56)。
以上により、ピック開始位置および係合位置の自動設定は完了する。
図11は、本実施の形態に係るロボットシステム1におけるピック開始位置および係合位置を自動設定する際に提示される時系列データの一例を示す模式図である。図11を参照して、ドライバビット20がねじ50と係合するまでには、4つの状態ST1~ST4が想定される。
図11は、本実施の形態に係るロボットシステム1におけるピック開始位置および係合位置を自動設定する際に提示される時系列データの一例を示す模式図である。図11を参照して、ドライバビット20がねじ50と係合するまでには、4つの状態ST1~ST4が想定される。
状態ST1は、ドライバビット20が下降中でねじ50と接触する前の状態である。
状態ST2は、ドライバビット20の先端がねじ50と接触しているが、ドライバビット20がねじ50と十分には係合していない状態である。
状態ST2は、ドライバビット20の先端がねじ50と接触しているが、ドライバビット20がねじ50と十分には係合していない状態である。
状態ST3は、ドライバビット20がねじ50と十分には係合していない状態である。
状態ST4は、ドライバビット20がねじ50の頭部52に形成された穴の最奥部まで押し込まれている状態である。
状態ST4は、ドライバビット20がねじ50の頭部52に形成された穴の最奥部まで押し込まれている状態である。
ユーザは、図11に示すような時系列データを参照することで、ピックが成功したか否かを判断できる。
なお、図11に示すような時系列データと併せて、ドライバビット20の状態を模式的に表示するようにしてもよい。
図12は、本実施の形態に係るロボットシステム1におけるピック開始位置および係合位置を自動設定する際に提示されるユーザインターフェイスの一例を示す模式図である。
図12(A)~図12(D)には、それぞれ状態ST1~ST4に対応するドライバビット20とねじ50との関係を示す。図12に示すようなユーザインターフェイスを示すことで、ユーザは、より用意にピックが成功したか否かを判断できる。
例えば、ドライバビット20がねじ50と適切に係合できない場合には、位置が変化せず、荷重のみが増加するような時間的変化を示す。
このように、ピック開始位置および係合位置(移動量しきい値)の自動設定を採用することで、パラメータ設定の開始から終了までの処理において、ユーザがロボット10を直接操作する必要がないため、専門知識を有していないユーザであっても、ピック開始位置および係合位置を容易に決定できる。
(e3:手動設定)
次に、ピック開始位置および係合位置(移動量しきい値)の手動設定の詳細について説明する。手動設定において、ユーザは、発生する荷重を確認しながらロボット10をティーチングする。
次に、ピック開始位置および係合位置(移動量しきい値)の手動設定の詳細について説明する。手動設定において、ユーザは、発生する荷重を確認しながらロボット10をティーチングする。
図13は、本実施の形態に係るロボットシステム1におけるピック開始位置および係合位置を手動設定するための処理手順例を示すフローチャートである。図13に示す各ステップは、典型的には、ロボットコントローラ100のプロセッサ102が制御プログラム114を実行することで実現される。この結果、ロボットコントローラ100からロボット10に対して指令が与えることで図13に示す処理が実現される。なお、図6に示す処理と同様の処理については、同じステップ番号を付与している。
図13を参照して、ロボットコントローラ100は、手動設定の開始を指示するユーザ操作を受けたか否かを判断する(ステップS61)。手動設定の開始を指示するユーザ操作を受けていなければ(ステップS61においてNO)、ステップS61の処理が繰り返される。
手動設定の開始を指示するユーザ操作を受けていれば(ステップS61においてYES)、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20をねじフィーダ60のねじ50が繰り出される位置の上方にあるピック開始位置に配置する(ステップS2)。続いて、ロボットコントローラ100は、ロボット10に指令を与えて、ドライバビット20の回転を開始する(ステップS3)。そして、ロボットコントローラ100は、ユーザ操作に従って、ロボット10に指令を与える(ステップS62)。すなわち、ユーザは、ティーチングペンダント26を操作して、ねじ50と係合するようにドライバビット20を操作する。併せて、ロボットコントローラ100は、動作中に取得される、位置、下降方向に発生している荷重、および水平方向に発生している荷重の時系列データをユーザに提示する(ステップS63)。
ロボットコントローラ100は、手動設定の終了を指示するユーザ操作を受けたか否かを判断する(ステップS64)。手動設定の終了を指示するユーザ操作を受けていなければ(ステップS64においてNO)、ステップS62以下の処理が繰り返される。
手動設定の終了を指示するユーザ操作を受けていれば(ステップS64においてYES)、ロボットコントローラ100は、ロボット10に指令を与えて、ドライバビット20の回転を停止する(ステップS65)。そして、ロボットコントローラ100は、現在の位置を係合位置として格納する(ステップS66)。続いて、ロボットコントローラ100は、ロボット10に指令を与えて、ロボット10のドライバビット20を移動量しきい値分だけ上昇させる(ステップS67)。そして、ロボットコントローラ100は、現在の位置を新しいピック開始位置として更新する(ステップS68)。
以上により、ピック開始位置および係合位置の手動設定は完了する。
図14は、本実施の形態に係るロボットシステム1におけるピック開始位置および係合位置を手動設定する際に提示される時系列データの一例を示す模式図である。図14を参照して、ユーザは、ピック開始位置および係合位置を手動設定する際には、ドライバビット20の位置に加えて、下降方向に発生する荷重および水平方向に発生する荷重の時系列データを参照できる。
図14は、本実施の形態に係るロボットシステム1におけるピック開始位置および係合位置を手動設定する際に提示される時系列データの一例を示す模式図である。図14を参照して、ユーザは、ピック開始位置および係合位置を手動設定する際には、ドライバビット20の位置に加えて、下降方向に発生する荷重および水平方向に発生する荷重の時系列データを参照できる。
下降方向に発生する荷重が非ゼロの値を示す場合には、ドライバビット20がねじ50と係合していることを示す。水平方向に発生する荷重が非ゼロの値を示す場合には、ドライバビット20がねじ50に対して位置ずれを生じていることを示す。
また、ドライバビット20の位置が予め定められた高さ以下である場合には、ドライバビット20がねじ50と十分に係合していることを示す。
このように、ユーザは、図14に示すような時系列データを参照することで、適切な係合位置を決定でき、その結果、ピック開始位置についても決定できる。
このように、ピック開始位置および係合位置(移動量しきい値)の手動設定を採用することで、ユーザは、時系列データを参照しながら、ティーチングによりドライバビット20をねじ50と短時間に係合させることができる。その結果、ピック開始位置および係合位置を容易に決定できる。
<F.リトライ動作>
次に、ドライバビット20によるねじ50のピックが失敗した場合のリトライ動作について説明する。
次に、ドライバビット20によるねじ50のピックが失敗した場合のリトライ動作について説明する。
図6のステップS6に示すように、下降開始からの経過時間が予め定められた経過時間しきい値を超えていれば、ドライバビット20によるねじ50のピックが失敗であると判断できる。
図6のステップS10に示すように、エジェクタ39から吸着スリーブ22までの経路のゲージ圧が予め定められた圧力しきい値未満であれば、ドライバビット20によるねじ50のピックが失敗であると判断できる。
このような場合、リトライ動作が実行される。リトライ動作においては、ドライバビット20の回転速度、ドライバビット20の下降速度、および、ドライバビット20の目標押付力のうち全部または一部について、所定範囲内で段階的に変化させる。このような段階的な変化によって、ねじ50とねじフィーダ60とに発生する静止摩擦力が低減され、ねじ50の空転を防止できる。
あるいは、リトライ動作においては、ドライバビット20の回転を維持したまま、一度上昇した上で、再度下降するようにしてもよい。このようなリトライ動作によって、ねじ50とねじフィーダ60との接触状態を変化させることができる。
このようなリトライ動作を行うことで、ドライバビット20がねじ50と係合する確率を向上できる。
<G.ドライバビット20とねじ50とが係合する確率を高める工夫>
次に、ドライバビット20とねじ50とが係合する確率を高める工夫の一例について説明する。
次に、ドライバビット20とねじ50とが係合する確率を高める工夫の一例について説明する。
図15は、本実施の形態に係るロボットシステム1におけるピック動作を説明するための図である。図15を参照して、ねじ50は、ねじフィーダ60の供給面62との接触に伴う静止摩擦力が発生する(図15の×印部分)。
ドライバビット20がねじ50に与える回転力に対して、ねじ50に発生する静止摩擦力が小さければ、ねじ50は空転することになる。このようなねじ50の空転を抑制するためには、ドライバビット20による押付力を大きくするとともに、ドライバビット20の回転速度および回転トルクを抑制することが好ましい。
ドライバビット20による押付力を大きくすることにより、ねじ50に発生する静止摩擦力を増加させることができる。
一方で、ねじ50が回転することにより、ねじ50がねじフィーダ60の供給面62と干渉する場合がある。そのため、ドライバビット20の回転方向は、ねじ50の締結方向(右ねじあるいは左ねじ)とは逆方向に設定されることが好ましい。
ドライバビット20の回転方向をねじ50の締結方向とは逆方向にすることで、ドライバビット20の回転力によって、ねじ50が空転することで、ねじ50とねじフィーダ60の供給面62とが接触して、ねじ50がねじフィーダ60側に押し込まれることを抑制できる。これによって、ねじ50がねじフィーダ60側に押し込まれて斜めになることで、ドライバビット20とねじ50とが適切に係合できないといった事態を回避できる。
図15(A)には、ドライバビット20の回転方向がねじ50の締結方向と同方向である場合のねじ50の挙動例を示す。ドライバビット20がねじ50に接触すると、ねじ50が空転する。ねじ50は、空転によってねじフィーダ60の供給面62と接触し、ねじ50のねじ溝に沿って接触した位置からねじフィーダ60側に押し込まれる。この結果、ねじ50は、ドライバビット20の下降方向に対して斜めになる。この状態で、ドライバビット20とねじ50とが係合すると、ねじ50のねじ部(締結部)が供給面62と干渉する。その結果、ドライバビット20がねじ50を吸着しきれなくなり、ねじ50が落下する。
図15(B)には、ドライバビット20の回転方向がねじ50の締結方向と同方向である場合のねじ50の挙動例を示す。ドライバビット20がねじ50に接触すると、ねじ50が空転する。ねじ50は、空転によってねじフィーダ60の供給面62と接触し、ねじ50のねじ溝に沿って接触した位置から供給面62より上側に浮き上がる。このような浮き上がりが生じても、ねじ50は、ドライバビット20の下降方向に対して平行を維持できる。よって、ドライバビット20はねじ50と適切に係合できる。
このように、ドライバビット20がねじ50を回転させる際に、ねじ50とねじフィーダ60の供給面62との関係を考慮することで、ねじ50のピックの成功率を向上させることができる。
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
ロボットシステム(1)であって、
ねじ(50)をピックするためのロボット(10)と、
前記ロボットを制御するロボットコントローラ(100)とを備え、
前記ロボットには、前記ねじと係合するためのドライバビット(20)と、前記ドライバビットに前記ねじを保持するための機構(22)とが装着されており、
前記ロボットコントローラは、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降するように前記ロボットに指令を与え(S2~S4)、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持するように前記ロボットに指令を与える(S5,S8,S9)、ロボットシステム。
ロボットシステム(1)であって、
ねじ(50)をピックするためのロボット(10)と、
前記ロボットを制御するロボットコントローラ(100)とを備え、
前記ロボットには、前記ねじと係合するためのドライバビット(20)と、前記ドライバビットに前記ねじを保持するための機構(22)とが装着されており、
前記ロボットコントローラは、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降するように前記ロボットに指令を与え(S2~S4)、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持するように前記ロボットに指令を与える(S5,S8,S9)、ロボットシステム。
[構成2]
前記ロボットコントローラは、前記ドライバビットに前記ねじを保持した状態で、前記ねじが使用されるワークに向けて前記ドライバビットを移動させるように前記ロボットにさらに指令を与える(S12)、構成1に記載のロボットシステム。
前記ロボットコントローラは、前記ドライバビットに前記ねじを保持した状態で、前記ねじが使用されるワークに向けて前記ドライバビットを移動させるように前記ロボットにさらに指令を与える(S12)、構成1に記載のロボットシステム。
[構成3]
前記ロボットコントローラは、前記ドライバビットの下降方向に発生する荷重が目標値と一致するように、前記ロボットに指令を与える、構成1または2に記載のロボットシステム。
前記ロボットコントローラは、前記ドライバビットの下降方向に発生する荷重が目標値と一致するように、前記ロボットに指令を与える、構成1または2に記載のロボットシステム。
[構成4]
前記ロボットコントローラは、前記ドライバビットの下降開始からの経過時間が予め定められた第2のしきい値を超えた場合に、前記ドライバビットを上昇させるように前記ロボットに指令を与える(S6,S7)、構成1~3のいずれか1項に記載のロボットシステム。
前記ロボットコントローラは、前記ドライバビットの下降開始からの経過時間が予め定められた第2のしきい値を超えた場合に、前記ドライバビットを上昇させるように前記ロボットに指令を与える(S6,S7)、構成1~3のいずれか1項に記載のロボットシステム。
[構成5]
前記ドライバビットが回転方向は、前記ねじの締結方向とは逆方向に設定される、構成1~4のいずれか1項に記載のロボットシステム。
前記ドライバビットが回転方向は、前記ねじの締結方向とは逆方向に設定される、構成1~4のいずれか1項に記載のロボットシステム。
[構成6]
前記ドライバビットに前記ねじを保持するための機構は、負圧により前記ねじを吸着する、構成1~5のいずれか1項に記載のロボットシステム。
前記ドライバビットに前記ねじを保持するための機構は、負圧により前記ねじを吸着する、構成1~5のいずれか1項に記載のロボットシステム。
[構成7]
前記ロボットコントローラは、前記ねじを吸着する経路のゲージ圧が予め定められた第3のしきい値未満であるか否かを判断する(S10,S13)、構成1~6のいずれか1項に記載のロボットシステム。
前記ロボットコントローラは、前記ねじを吸着する経路のゲージ圧が予め定められた第3のしきい値未満であるか否かを判断する(S10,S13)、構成1~6のいずれか1項に記載のロボットシステム。
[構成8]
前記ロボットコントローラは、前記ドライバビットの下降方向に発生する荷重、および、前記ドライバビットの位置の時系列データをユーザに提示する提示手段(200)をさらに備える、構成1~7のいずれか1項に記載のロボットシステム。
前記ロボットコントローラは、前記ドライバビットの下降方向に発生する荷重、および、前記ドライバビットの位置の時系列データをユーザに提示する提示手段(200)をさらに備える、構成1~7のいずれか1項に記載のロボットシステム。
[構成9]
ねじ(50)をピックするためのロボット(10)を制御する制御方法であって、前記ロボットには、前記ねじと係合するためのドライバビット(20)と、前記ドライバビットに前記ねじを保持するための機構(22)とが装着されており、前記制御方法は、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降するステップ(S2~S4)と、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持するステップ(S5,S8,S9)とを備える、制御方法。
ねじ(50)をピックするためのロボット(10)を制御する制御方法であって、前記ロボットには、前記ねじと係合するためのドライバビット(20)と、前記ドライバビットに前記ねじを保持するための機構(22)とが装着されており、前記制御方法は、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降するステップ(S2~S4)と、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持するステップ(S5,S8,S9)とを備える、制御方法。
[構成10]
ねじ(50)をピックするためのロボット(10)を制御するための制御プログラム(114)であって、前記ロボットには、前記ねじと係合するためのドライバビット(20)と、前記ドライバビットに前記ねじを保持するための機構(22)とが装着されており、前記制御プログラムはコンピュータ(100)に、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降させる指令を前記ロボットへ与えるステップ(S2~S4)と、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持する指令を前記ロボットへ与えるステップ(S5,S8,S9)とを実行させる、制御プログラム。
ねじ(50)をピックするためのロボット(10)を制御するための制御プログラム(114)であって、前記ロボットには、前記ねじと係合するためのドライバビット(20)と、前記ドライバビットに前記ねじを保持するための機構(22)とが装着されており、前記制御プログラムはコンピュータ(100)に、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降させる指令を前記ロボットへ与えるステップ(S2~S4)と、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持する指令を前記ロボットへ与えるステップ(S5,S8,S9)とを実行させる、制御プログラム。
<I.利点>
本実施の形態においては、ドライバビット20が回転した状態で、ドライバビット20を下降させることで、ドライバビット20がねじ50の頭部52と係合し易くなる。また、ドライバビット20の下降方向に発生する荷重(反力)およびドライバビット20の位置の両方を条件として判断することで、ドライバビット20とねじ50との係合を適切に判断できる。このような構成および処理を採用することで、ドライバビット20とねじ50とを係合させて、ドライバビット20にねじ50を保持する動作をより確実に実現できる。
本実施の形態においては、ドライバビット20が回転した状態で、ドライバビット20を下降させることで、ドライバビット20がねじ50の頭部52と係合し易くなる。また、ドライバビット20の下降方向に発生する荷重(反力)およびドライバビット20の位置の両方を条件として判断することで、ドライバビット20とねじ50との係合を適切に判断できる。このような構成および処理を採用することで、ドライバビット20とねじ50とを係合させて、ドライバビット20にねじ50を保持する動作をより確実に実現できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 ロボットシステム、10 ロボット、11 ベース、12,13,14,15,16,17 可動部、18 エンドエフェクタ、19 荷重センサ、20 ドライバビット、21 開口部、22 吸着スリーブ、26 ティーチングペンダント、28 圧力センサ、31,32,33,34,35,36,37,38 モータ、39 エジェクタ、40 インターフェイス、41,42,43,44,45,46,47,48 ドライバ、49 電磁弁、50 ねじ、52 頭部、60 ねじフィーダ、62 供給面、70 ワーク、72 挿入孔、100 ロボットコントローラ、102 プロセッサ、104 メモリ、106 インターフェイス、108 バス、110 ストレージ、112 システムプログラム、114 制御プログラム、200 情報処理装置。
Claims (10)
- ロボットシステムであって、
ねじをピックするためのロボットと、
前記ロボットを制御するロボットコントローラとを備え、
前記ロボットには、前記ねじと係合するためのドライバビットと、前記ドライバビットに前記ねじを保持するための機構とが装着されており、
前記ロボットコントローラは、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降するように前記ロボットに指令を与え、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持するように前記ロボットに指令を与える、ロボットシステム。 - 前記ロボットコントローラは、前記ドライバビットに前記ねじを保持した状態で、前記ねじが使用されるワークに向けて前記ドライバビットを移動させるように前記ロボットにさらに指令を与える、請求項1に記載のロボットシステム。
- 前記ロボットコントローラは、前記ドライバビットの下降方向に発生する荷重が目標値と一致するように、前記ロボットに指令を与える、請求項1または2に記載のロボットシステム。
- 前記ロボットコントローラは、前記ドライバビットの下降開始からの経過時間が予め定められた第2のしきい値を超えた場合に、前記ドライバビットを上昇させるように前記ロボットに指令を与える、請求項1~3のいずれか1項に記載のロボットシステム。
- 前記ドライバビットが回転方向は、前記ねじの締結方向とは逆方向に設定される、請求項1~4のいずれか1項に記載のロボットシステム。
- 前記ドライバビットに前記ねじを保持するための機構は、負圧により前記ねじを吸着する、請求項1~5のいずれか1項に記載のロボットシステム。
- 前記ロボットコントローラは、前記ねじを吸着する経路のゲージ圧が予め定められた第3のしきい値未満であるか否かを判断する、請求項1~6のいずれか1項に記載のロボットシステム。
- 前記ロボットコントローラは、前記ドライバビットの下降方向に発生する荷重、および、前記ドライバビットの位置の時系列データをユーザに提示する提示手段をさらに備える、請求項1~7のいずれか1項に記載のロボットシステム。
- ねじをピックするためのロボットを制御する制御方法であって、前記ロボットには、前記ねじと係合するためのドライバビットと、前記ドライバビットに前記ねじを保持するための機構とが装着されており、前記制御方法は、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降するステップと、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持するステップとを備える、制御方法。 - ねじをピックするためのロボットを制御するための制御プログラムであって、前記ロボットには、前記ねじと係合するためのドライバビットと、前記ドライバビットに前記ねじを保持するための機構とが装着されており、前記制御プログラムはコンピュータに、
前記ドライバビットが回転した状態で、前記ドライバビットを前記ねじの上方から前記ねじに向けて下降させる指令を前記ロボットへ与えるステップと、
前記ドライバビットの下降方向に発生する荷重が予め定められた第1のしきい値を超えており、かつ、前記ドライバビットが予め定められた位置に到達している場合に、前記ドライバビットの回転を停止して、前記ドライバビットに前記ねじを保持する指令を前記ロボットへ与えるステップとを実行させる、制御プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021158916A JP2023049270A (ja) | 2021-09-29 | 2021-09-29 | ロボットシステム、制御方法および制御プログラム |
PCT/JP2022/012266 WO2023053510A1 (ja) | 2021-09-29 | 2022-03-17 | ロボットシステム、制御方法および制御プログラム |
TW111113953A TWI819566B (zh) | 2021-09-29 | 2022-04-13 | 機器人系統、控制方法以及電腦可讀取記錄媒體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021158916A JP2023049270A (ja) | 2021-09-29 | 2021-09-29 | ロボットシステム、制御方法および制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023049270A true JP2023049270A (ja) | 2023-04-10 |
Family
ID=85782139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021158916A Pending JP2023049270A (ja) | 2021-09-29 | 2021-09-29 | ロボットシステム、制御方法および制御プログラム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2023049270A (ja) |
TW (1) | TWI819566B (ja) |
WO (1) | WO2023053510A1 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012086341A (ja) * | 2010-10-22 | 2012-05-10 | Sharp Corp | 自動組付け装置、自動組付け方法、およびプログラム |
CN106736485A (zh) * | 2017-01-06 | 2017-05-31 | 深圳大学 | 一种基于机器人的自动锁螺丝系统及其实现方法 |
JP2019084636A (ja) * | 2017-11-08 | 2019-06-06 | 三菱電機株式会社 | ロボットおよびロボットによるねじの嵌合方法 |
JP2020147305A (ja) * | 2019-03-12 | 2020-09-17 | 株式会社イシダ | 吸着装置 |
CN114786888A (zh) * | 2020-01-16 | 2022-07-22 | 欧姆龙株式会社 | 控制装置、控制方法以及控制程序 |
-
2021
- 2021-09-29 JP JP2021158916A patent/JP2023049270A/ja active Pending
-
2022
- 2022-03-17 WO PCT/JP2022/012266 patent/WO2023053510A1/ja unknown
- 2022-04-13 TW TW111113953A patent/TWI819566B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI819566B (zh) | 2023-10-21 |
TW202313263A (zh) | 2023-04-01 |
WO2023053510A1 (ja) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10363661B2 (en) | Control device, robot, and robot system | |
US6513233B1 (en) | Component mounting method and apparatus | |
US7549204B1 (en) | Methods for picking and placing workpieces into small form factor hard disk drives | |
WO2018195866A1 (zh) | 基于机器人系统的零件抓取方法及机器人系统、夹具 | |
US10996649B2 (en) | Self-corrective nut running for robotic applications | |
JP7204354B2 (ja) | ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、プログラム及び記録媒体 | |
JP2017127940A (ja) | ロボット装置 | |
WO2023053510A1 (ja) | ロボットシステム、制御方法および制御プログラム | |
JP2018024075A (ja) | 制御装置、ロボットおよびロボットシステム | |
JP2016132067A (ja) | 樹脂部品の穴あけロボットシステム | |
JP2019084636A (ja) | ロボットおよびロボットによるねじの嵌合方法 | |
JP6154689B2 (ja) | 自動ねじ締め機 | |
US20200068719A1 (en) | Component mounting device and method of controlling the same | |
TW202014280A (zh) | 使用自動機操縱器將物件插入物件容室之方法 | |
JP2021158166A (ja) | ダイボンディング装置および半導体装置の製造方法 | |
JP2020203361A (ja) | ロボット制御装置及びその制御方法 | |
JP2023075498A (ja) | ロボットシステム、制御方法および制御プログラム | |
JP7173816B2 (ja) | ピッキング装置 | |
JP7232985B2 (ja) | 部品装着装置および部品保持部の摺動状態計測装置並びに部品保持部の摺動状態計測方法 | |
JP2022142491A (ja) | ねじ締め装置およびねじ締め方法 | |
JP2012064833A (ja) | 部品実装用装置および部品実装用装置における位置決め制御方法 | |
JP5627362B2 (ja) | ダイ供給装置 | |
JP6731113B2 (ja) | ヘッドユニット及び部品実装機 | |
US20220241964A1 (en) | Robot control method and robot system | |
JP6663837B2 (ja) | 自動生産設備および自動生産方法 |