(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】リセット制御方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20231212BHJP
B25J 19/06 20060101ALI20231212BHJP
【FI】
B25J13/08 Z
B25J19/06
(21)【出願番号】P 2019117095
(22)【出願日】2019-06-25
【審査請求日】2022-05-19
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】山口 航輝
(72)【発明者】
【氏名】竪山 光普
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2012-218094(JP,A)
【文献】特開2016-112627(JP,A)
【文献】特開2016-083710(JP,A)
【文献】国際公開第2019/039156(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G01L 5/00- 5/28
(57)【特許請求の範囲】
【請求項1】
外力を検出して第1力検出値を出力する第1力検出部と、前記外力を検出して第2力検
出値を出力する第2力検出部と、を有するロボットの前記第1力検出部に第1リセットを
実行させるリセット制御方法であって、
前記第1力検出値を取得して、第1閾値と比較する第1工程と、
前記第2力検出部が第2リセットを実行しているか否かを判断する第2工程と、
前記第1工程において前記第1力検出値が前記第1閾値よりも小さく、かつ、前記第2
工程において前記第2力検出部が前記第2リセットを実行していないと判断した場合、前
記第1力検出部に前記第1リセットの実行を指示する第3工程と、
前記第3工程の後に、前記第1力検出値と前記第2力検出値とを取得する第4工程と、
前記第4工程で取得した前記第1力検出値と前記第2力検出値との差が第2閾値よりも
大きい場合に、エラーを出力する第5工程と、
を備え、
前記第1工程において前記第1力検出値が前記第1閾値以上の場合、又は、前記第2工
程において前記第2力検出部が前記第2リセットを実行していると判断した場合、前記第
3工程を実行しないこと、を特徴とするリセット制御方法。
【請求項2】
前記第2工程において、前記第2力検出部に前記第2リセットの実行を指示してから、
前記第2力検出部から前記第2リセットが完了したことを示す応答を受信するまでの期間
内に前記第2力検出部が前記第2リセットを実行していると判断する請求項1に記載のリ
セット制御方法。
【請求項3】
前記第2工程において、前記第2力検出部に前記第2リセットの実行を指示してから所
定の時間内に前記第2力検出部が前記第2リセットを実行していると判断する請求項1に
記載のリセット制御方法。
【請求項4】
前記第1工程において、前記第1力検出値が前記第1閾値以上の場合、前記第1工程を
繰り返す請求項1~
3のいずれか一項に記載のリセット制御方法。
【請求項5】
前記第2工程において、前記第2力検出部が前記第2リセットを実行していると判断し
た場合、前記第2工程を繰り返す請求項1~
4のいずれか一項に記載のリセット制御方法
。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットに備わる力センサーのリセット制御方法に関する。
【背景技術】
【0002】
従来、特許文献1に記載されているように、ロボットに備わる力センサーに2つの検出要素を搭載し、それぞれの検出値が異なっている場合に、いずれか一方の検出要素が故障したと判断するシステムが知られている。
力センサーは、検出値のゼロ点を調整するためのリセットを度々実行する必要があるが、2つの検出要素の検出値の差を最小限にするために、2つの検出要素を同時にリセットする構成が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、システムの予期しない異常により、力センサーに外力がかかっている状態でリセットが実行されてしまうと、力センサーは、外力がかかった状態を基準としてしまい、2つの検出要素とも検出値が実際に検出すべき値と異なることになる。この場合、双方の検出値に差がないため、力センサーのリセットが正常に実行されなかったことを検知することができない、という課題があった。
【課題を解決するための手段】
【0005】
リセット制御方法は、外力を検出して第1力検出値を出力する第1力検出部と、前記外力を検出して第2力検出値を出力する第2力検出部と、を有するロボットの前記第1力検出部に第1リセットを実行させるリセット制御方法であって、前記第1力検出値を取得して、第1閾値と比較する第1工程と、前記第2力検出部が第2リセットを実行しているか否かを判断する第2工程と、前記第1工程において前記第1力検出値が前記第1閾値よりも小さく、かつ、前記第2工程において前記第2力検出部が前記第2リセットを実行していないと判断した場合、前記第1力検出部に前記第1リセットの実行を指示する第3工程と、を備える。
【0006】
上記のリセット制御方法において、前記第2工程において、前記第2力検出部に前記第2リセットの実行を指示してから、前記第2力検出部から前記第2リセットが完了したことを示す応答を受信するまでの期間内に前記第2力検出部が前記第2リセットを実行していると判断するようにしてもよい。
【0007】
上記のリセット制御方法において、前記第2工程において、前記第2力検出部に前記第2リセットの実行を指示してから所定の時間内に前記第2力検出部が前記第2リセットを実行していると判断するようにしてもよい。
【0008】
上記のリセット制御方法において、前記第3工程の後に、前記第1力検出値と前記第2力検出値とを取得する第4工程と、前記第4工程で取得した前記第1力検出値と前記第2力検出値との差が第2閾値よりも大きい場合に、エラーを出力する第5工程と、を備えるようにしてもよい。
【0009】
上記のリセット制御方法において、前記第1工程において、前記第1力検出値が前記第1閾値以上の場合、前記第1工程を繰り返すようにしてもよい。
【0010】
上記のリセット制御方法において、前記第2工程において、前記第2力検出部が前記第2リセットを実行していると判断した場合、前記第2工程を繰り返すようにしてもよい。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態に係るロボットシステムの構成の一例を示す図。
【
図2】ロボット制御装置およびロボットの機能構成図。
【
図4】第1実施形態に係るロボット制御装置の動作を説明するフローチャート。
【
図5】第2実施形態に係るロボット制御装置の動作を説明するフローチャート。
【発明を実施するための形態】
【0012】
1.第1実施形態
以下、第1実施形態に係るロボットシステムについて説明する。
【0013】
1-1.ロボットシステムの構成
まず、第1実施形態に係るロボットシステム1の構成について説明する。
図1は、第1実施形態に係るロボットシステム1の構成の一例を示す図である。
ロボットシステム1は、ロボット20と、ロボット制御装置30と、を備える。なお、ロボット制御装置30は、ロボット20に内蔵されていてもよく、内蔵されていない構成であってもよい。ロボット20とロボット制御装置30に加えて、他の装置を備える構成であってもよい。当該他の装置には、ロボット制御装置30にロボット20の動作を教示する教示装置TPや、カメラ等の撮像部を備えた撮像装置、撮像装置を制御する画像処理装置、ロボット制御装置30を制御する情報処理装置等が含まれる。
【0014】
ロボット20は、1本のアームAを備える単腕ロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。ここで、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアームを備える複腕ロボットであってもよい。また、ロボット20は、他のロボットであってもよい。当該他のロボットには、スカラロボット、直交座標ロボット、円筒型ロボット等が含まれる。
【0015】
アームAは、エンドエフェクターEと、マニピュレーターMと、力センサーFSとを備える。
【0016】
本実施形態のエンドエフェクターEは、物体を保持するエンドエフェクターである。この一例において、エンドエフェクターEは、指部を備え、当該指部によって物体を挟んで持つことにより物体を保持する。ここで、保持するとは、物体を持ち上げることが可能な状態にすることを意味する。なお、エンドエフェクターEは、当該指部によって物体を保持するエンドエフェクターに代えて、空気の吸引、磁力、他の治具等によって物体を持ち上げることにより物体を保持する構成であってもよい。また、エンドエフェクターEは、物体を保持するエンドエフェクターに代えて、物体を保持しないエンドエフェクターであってもよい。物体を保持しないエンドエフェクターには、例えば、グリース、接着剤等の吐出物を吐出するディスペンサーが設けられたエンドエフェクター、電動ドライバー等のツールが設けられたエンドエフェクター等が含まれる。なお、アームAは、エンドエフェクターEを備えない構成であってもよい。
【0017】
マニピュレーターMは、6軸垂直多関節型のマニピュレーターである。すなわち、アームAは、6軸垂直多関節型のアームである。なお、マニピュレーターMは、5軸以下の垂直多関節型のマニピュレーターであってもよく、7軸以上の垂直多関節型のマニピュレーターであってもよい。
【0018】
力センサーFSは、印加される外力を検出するセンサーであり、例えば、マニピュレーターMとその接地面との間に配置される。力センサーFSは、例えば、水晶を含む力検出素子を複数備え、水晶のそれぞれに加わる剪断力に基づいて、マニピュレーターMの下方に作用する外力を検出する。なお、力センサーFSを配置する位置は、マニピュレーターMとその接地面との間に限定されない。例えば、マニピュレーターMとエンドエフェクターEとの間や、マニピュレーターMの途中に配置されていてもよい。
【0019】
力センサーFSに作用する外力には、当該マニピュレーターMを並進させる並進力が含まれる。当該並進力には、第1並進力Fxと、第2並進力Fyと、第3並進力Fzとの3種類の並進力が含まれている。第1並進力Fxは、
図1に示した力検出座標系FCにおけるX軸の方向に作用する並進力のことである。力検出座標系FCは、力センサーFSに対応付けられた三次元直交座標系である。
図1では、図を簡略化するため、力センサーFSから離れた位置に力検出座標系FCを示している。第2並進力Fyは、力検出座標系FCにおけるY軸の方向に作用する並進力のことである。第3並進力Fzは、力検出座標系FCにおけるZ軸の方向に作用する並進力のことである。
【0020】
また、力センサーFSに作用する外力には、当該マニピュレーターMを回転させる回転モーメントが含まれる。当該回転モーメントには、第1回転モーメントTxと、第2回転モーメントTyと、第3回転モーメントTzとの3種類の回転モーメントが含まれている。第1回転モーメントTxは、力検出座標系FCにおけるX軸の周りに作用する回転モーメントのことである。第2回転モーメントTyは、力検出座標系FCにおけるY軸の周りに作用する回転モーメントのことである。第3回転モーメントTzは、力検出座標系FCにおけるZ軸の周りに作用する回転モーメントのことである。
【0021】
力センサーFSは、第1並進力Fx、第2並進力Fy、第3並進力Fz、第1回転モーメントTx、第2回転モーメントTy、第3回転モーメントTzのそれぞれを検出し、これらを力検出値としてロボット制御装置30に出力する。
【0022】
教示装置TPは、必要に応じてロボット制御装置30に接続される周辺機器である。教示装置TPは、主に、ユーザーがロボット制御装置30にロボット20の動作ポイントを教示する際や、ロボット20を動作させるプログラムを作成する際等に用いられる。また、教示装置TPは、表示装置を備えており、表示装置にロボット制御装置30のステータス等を表示する。
【0023】
1-2.ロボット制御装置およびロボットの機能構成
次に、ロボット制御装置30およびロボット20の機能構成について説明する。
図2は、ロボット制御装置30およびロボット20の機能構成図である。
ロボット制御装置30は、制御部31と、メモリー34と、通信部35とを備える。
【0024】
制御部31は、CPU(Central Processing Unit)や、FPGA(Field-Programmable Gate Array)等のプロセッサーを含んで構成され、ロボット制御装置30の全体を制御する。制御部31は、機能部として、力検出制御部32と、マニピュレーター制御部33とを備える。制御部31が備えるこれらの機能部は、例えば、プロセッサーが、メモリー34に記憶されたプログラム等を実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
【0025】
力検出制御部32は、ロボット20の力センサーFSを制御する。力検出制御部32は、力取得部32Aと、リセット制御部32Bとを備える。
【0026】
力取得部32Aは、力センサーFSの検出結果である力検出値を、力センサーFSから取得する。力検出値の取得は、例えば、力センサーFSが、力取得部32Aからの要求に応じて、力検出値を返答するコマンドレスポンス方式で実施される。
【0027】
リセット制御部32Bは、力センサーFSにおけるリセットの実行を制御する。なお、リセット制御部32Bは、後述する
図4のフローチャートの処理を実行する機能部である。リセットの詳細については、後述する。
【0028】
マニピュレーター制御部33は、マニピュレーターMおよびエンドエフェクターEを制御する。具体的には、マニピュレーター制御部33は、ユーザーによって教示された動作ポイント間の動作軌道を算出して、算出した動作軌道に基づいてロボット20を動作させる制御や、エンドエフェクターEによる把持・非把持の制御を行う。
【0029】
メモリー34は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、ROM(Read-Only Memory)、RAM(Random Access Memory)等を含む。なお、メモリー34は、ロボット制御装置30に内蔵されるものに代えて、USB(Universal Serial Bus)等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。メモリー34は、ロボット制御装置30が処理する各種の情報、各種の画像、各種のプログラム等を格納する。また、メモリー34には、教示装置TPによって生成されたプログラムや、教示装置TPによって教示された動作ポイントが記憶され、これらは制御部31による制御に用いられる。
【0030】
通信部35は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。ロボット制御装置30は、通信部35を介してロボット20と通信を行う。
【0031】
なお、ロボット制御装置30は、キーボード、マウス、タッチパッド等の入力装置を備える構成であってもよい。また、ロボット制御装置30は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を備える構成であってもよい。
【0032】
ロボット20に備わる力センサーFSは、第1力検出部FS1および第2力検出部FS2を備える。第1力検出部FS1と第2力検出部FS2とは、同様の構成を有しており、双方が独立して共通の外力を検出する。このため、ロボット制御装置30は、第1力検出部FS1の力検出値と第2力検出部FS2の力検出値とを比較することにより、力センサーFSの故障やリセットの異常を検出することができる。具体的には、ロボット制御装置30は、第1力検出部FS1の力検出値と第2力検出部FS2の力検出値とが異なる場合に、第1力検出部FS1および第2力検出部FS2の少なくとも一方が故障したか、或いは、一方のリセットが正常に実行されなかったと判断する。
【0033】
図3は、第1力検出部FS1のハードウェア構成を示す図である。なお、第2力検出部FS2については、第1力検出部FS1と同様の構成であるため、図示は省略する。
第1力検出部FS1は、複数の力検出素子40と、複数の増幅回路50と、ADC(Analog to Digital Converter)60と、信号処理回路70とを備える。力検出素子40の数は、例えば4つであり、各力検出素子40に個別の増幅回路50が接続されている。
【0034】
力検出素子40としては、例えば、圧電式や、歪みゲージ式、光学式等の各種素子を使用可能である。本実施形態では、圧電部材としての水晶を利用した力検出素子40を使用しており、力検出素子40は、外部から加えられた外力に応じた電荷を出力する。水晶を利用した力検出素子40は、水晶を含まない力検出素子と比べて、温度等の環境因子の変化、経年劣化等に応じて特性が変動してしまうことを抑制することができる。
【0035】
増幅回路50は、対応する力検出素子40から出力される電荷を電圧Vaに変換する。増幅回路50は、オペアンプ51、コンデンサー52、スイッチ素子53を備える。オペアンプ51のマイナス入力端子は、力検出素子40の電極に接続され、オペアンプ51のプラス入力端子は、グランド(基準電位点)に接地されている。また、オペアンプ51の出力端子は、ADC60に接続されている。コンデンサー52は、オペアンプ51のマイナス入力端子と出力端子との間に接続されている。スイッチ素子53は、コンデンサー52と並列接続されている。スイッチ素子53は、信号処理回路70から供給されるオン/オフ信号に従い、スイッチング動作を実行する。
【0036】
スイッチ素子53がオフの場合、力検出素子40から出力された電荷は、コンデンサー52に蓄えられ、その電圧VaがADC60に出力される。一方、スイッチ素子53がオンになった場合、コンデンサー52の両端子間が短絡される。その結果、コンデンサー52に蓄えられた電荷は放電されてゼロとなり、ADC60に出力される電圧Vaは0ボルトとなる。つまり、すべてのスイッチ素子53をオンにする動作は、検出結果である力検出値のゼロ点を調整するための動作であり、第1力検出部FS1のリセットに相当する。
【0037】
増幅回路50に搭載されているオペアンプ51に漏れ電流等が生じると、コンデンサー52に電荷が充電されてしまい、検出結果が変動するドリフトが発生する。ドリフトが生じたままで外力の検出を開始すると、このドリフトが測定の誤差となってしまい、外力を精度よく検出することができない。そのため、増幅回路50は、スイッチ素子53によってリセットを実施することで、ドリフトによって蓄積された電荷を放電する。
【0038】
ADC60は、増幅回路50で増幅された電圧Vaをデジタル値Vdに変換し、信号処理回路70に出力する。
【0039】
信号処理回路70は、オフセット補正部71と、力変換部72とを備える。
【0040】
オフセット補正部71は、ADC60から出力されたデジタル値Vdを補正する。例えば、コンデンサー52には、スイッチ素子53をオンにして第1力検出部FS1をリセットしても、放電しきらずに残ってしまう残留電荷が生じ得る。このため、オフセット補正部71は、ADC60から取得したデジタル値Vdから、リセットを実施した際の残留電荷量に応じたオフセット値を減算して、補正後のデジタル値Vcを算出する。これ以降、このデジタル値Vcを用いることにより、残留電荷に起因する測定結果の誤差が抑制される。
【0041】
力変換部72は、補正後のデジタル値Vcを第1並進力Fx、第2並進力Fy、第3並進力Fz、第1回転モーメントTx、第2回転モーメントTyおよび第3回転モーメントTzの形式に変換する。また、力変換部72は、変換した結果を力検出値とし、ロボット制御装置30に送信する。
【0042】
1-3.ロボット制御装置の動作
次に、ロボット制御装置30がロボット20の力センサーFSをリセットするリセット制御方法について説明する。
図4は、力センサーFSをリセットする際のロボット制御装置30の動作を説明するフローチャートであり、第1力検出部FS1をリセットする際の動作を示している。ロボット制御装置30は、メモリー34に記憶されているプログラムに従ってロボット20を制御する。具体的には、ロボット制御装置30は、プログラムに含まれる複数の動作命令を順次読み出して実行し、動作命令に応じた動作をロボット20に行わせる。ロボット制御装置30は、ロボット20の制御中に、例えば、プログラムから特定の動作命令を読み出した場合、本フローを開始する。なお、
図4に示した処理以外にも、他の処理が含まれていてもよい。これ以降、第1力検出部FS1におけるリセットを第1リセット、第2力検出部FS2におけるリセットを第2リセットとも呼ぶ。
【0043】
ステップS110では、力検出制御部32の力取得部32Aが、第1力検出部FS1の力検出値を取得する。具体的には、力取得部32Aは、第1力検出部FS1に対して、力検出値を要求するコマンドを送信し、その要求に対する応答として送信される力検出値を取得する。
【0044】
ステップS111では、リセット制御部32Bが、取得した第1力検出部FS1の力検出値と、所定の第1閾値とを比較し、力検出値が第1閾値より小さいか否かを判断する。例えば、第1並進力Fx、第2並進力Fyおよび第3並進力Fzについての第1閾値は5Nであり、第1回転モーメントTx、第2回転モーメントTyおよび第3回転モーメントTzについての第1閾値は1Nmである。ただし、第1閾値はこれらの値に限定されず、適宜設定可能である。また、第1並進力Fx、第2並進力Fy、第3並進力Fz、第1回転モーメントTx、第2回転モーメントTyおよび第3回転モーメントTzのそれぞれで異なる第1閾値が設定されていてもよい。リセット制御部32Bは、第1力検出部FS1のすべての力検出値が第1閾値未満であれば、ステップS120に処理を移す。一方、少なくとも1つの力検出値が第1閾値以上であれば、第1力検出部FS1の第1リセットの実行を断念して、ステップS131に処理を移す。本処理により、無視できない外力がかかっている状態でリセットしてしまうことを防止できる。
【0045】
ステップS120では、リセット制御部32Bは、第2力検出部FS2が第2リセットを実行中であるか否かを判断する。例えば、第2力検出部FS2は、リセット制御部32Bから、第2リセットの実行を指示するリセット要求を受信した場合に第2リセットを実行し、第2リセットが完了した後で、第2リセットが完了したことを示すリセット完了応答をリセット制御部32Bに返答する。この態様の場合には、リセット制御部32Bは、リセット要求を送信してから、リセット完了応答を受信するまでの期間を第2リセットの実行中であると判断する。リセット制御部32Bは、第2力検出部FS2が第2リセットを実行中でないと判断した場合は、ステップS130に処理を移す。一方、リセット制御部32Bは、第2力検出部FS2が第2リセットを実行中であると判断した場合は、第1力検出部FS1の第1リセットの実行を断念し、ステップS131に処理を移す。本処理により、第1力検出部FS1と第2力検出部FS2がほぼ同じタイミングでリセットしてしまうことを防止できる。なお、リセットを実行中であるか否かの判断は、上述した態様に限定されない。例えば、リセット要求を送信してからの時間経過に基づいて第2リセットを実行中であるか否かを判断してもよい。この場合、リセット制御部32Bは、リセット要求を送信してから所定の時間内に第2力検出部FS2が第2リセットを実行中であると判断する。また、リセット制御部32Bは、第2リセットを実行中であるか否かを示す情報を第2力検出部FS2から取得し、この情報に基づいて判断してもよい。
【0046】
ステップS130では、リセット制御部32Bは、第1力検出部FS1にリセット要求を送信して、第1力検出部FS1に第1リセットを実行させる。第1力検出部FS1は、リセット要求を受信すると、第1リセットを実行し、第1リセットの完了後にリセット完了応答をリセット制御部32Bに出力する。リセット制御部32Bは、第1力検出部FS1からリセット完了応答を受信すると、ステップS131に処理を移す。
【0047】
ステップS131では、マニピュレーター制御部33が、上述した特定の動作命令を実行する。具体的には、マニピュレーター制御部33は、ロボット20に対して動作命令に応じた指示を送り、ロボット20を指示通りに動作させる。
【0048】
ステップS140では、力検出制御部32の力取得部32Aが、第1力検出部FS1の力検出値と、第2力検出部FS2の力検出値とを取得する。
【0049】
ステップS141では、リセット制御部32Bが、ステップS140で取得した、第1力検出部FS1の力検出値と、第2力検出部FS2の力検出値とを比較し、両者の差が所定の第2閾値より大きいか否かを判断する。例えば、第1並進力Fx、第2並進力Fyおよび第3並進力Fzについての第2閾値は5Nであり、第1回転モーメントTx、第2回転モーメントTyおよび第3回転モーメントTzについての第2閾値は1Nmである。ただし、第2閾値はこれらの値に限定されず、適宜設定可能である。また、第2閾値は、第1閾値と異なる値であってもよい。また、第1並進力Fx、第2並進力Fy、第3並進力Fz、第1回転モーメントTx、第2回転モーメントTyおよび第3回転モーメントTzのそれぞれで異なる第2閾値が設定されていてもよい。第1力検出部FS1の力検出値と、第2力検出部FS2の力検出値の差が、第2閾値より大きければ、リセット制御部32Bは、ステップS130における第1力検出部FS1の第1リセットが正常に実行されなかったか、或いは、第1力検出部FS1および第2力検出部FS2の少なくとも一方が故障したと判断し、ステップS150に処理を移す。一方、第1力検出部FS1の力検出値と、第2力検出部FS2の力検出値との差が、第2閾値以下であれば、リセット制御部32Bは、第1力検出部FS1および第2力検出部FS2が正常であると判断し、一連の処理を終了する。
【0050】
ステップS150では、リセット制御部32Bは、教示装置TPにエラーを出力し、教示装置TPの表示装置上にエラーメッセージを表示させて、一連の処理を終了する。なお、リセット制御部32Bは、エラーの出力に伴って、ロボット20の動作を停止させることが望ましい。また、エラーの出力先は、教示装置TPに限定されず、ロボット制御装置30に接続されている他の装置であってもよいし、ロボット制御装置30が表示装置を備える場合には、当該表示装置にエラーメッセージを表示させてもよい。
【0051】
上述した
図4のフローチャートは、第1力検出部FS1の第1リセットを実行する際のフローチャートであるが、第2力検出部FS2についても、第1力検出部FS1と同様に第2リセットが実行される。第2力検出部FS2の第2リセットを実行する場合は、
図4およびその説明中の第1力検出部FS1を第2力検出部FS2と読み替え、第2力検出部FS2を第1力検出部FS1と読み替えればよい。本実施形態では、プログラムから特定の動作命令が読み出される度、第1力検出部FS1および第2力検出部FS2のリセットを交互に実行する。ただし、第1力検出部FS1の第1リセットと、第2力検出部FS2の第2リセットとを、個別のトリガーに基づいて開始するようにしてもよい。
【0052】
以上述べたように、本実施形態に係るリセット制御方法によれば、以下の効果を得ることができる。
【0053】
本実施形態によれば、第1力検出部FS1と第2力検出部FS2が異なるタイミングでリセットされることから、力センサーFSに外力がかかっている状態で第1力検出部FS1または第2力検出部FS2のリセットが実行された場合には、第1力検出部FS1と第2力検出部FS2との間で力検出値に差が生じることになる。このため、リセットが正常に実行されなかったことを正しく検知することが可能となる。
【0054】
本実施形態によれば、第2力検出部FS2にリセット要求を送信してから、第2力検出部FS2からリセット完了応答を受信するまでの期間内に第2力検出部FS2が第2リセットを実行していると判断するため、リセットを実行中か否かを正しく判断することが可能となる。
【0055】
本実施形態によれば、リセットの実行後に、第1力検出部FS1の力検出値と第2力検出部FS2の力検出値とを取得して、第1力検出部FS1の力検出値と第2力検出部の力検出値との差が第2閾値よりも大きい場合に、エラーを出力する。このため、予期しない異常により、力センサーFSに外力がかかっている状態でリセットが行われた場合に、ユーザーに異常を通知することが可能となる。
【0056】
2.第2実施形態
以下、第2実施形態に係るロボットシステム1について説明する。
本実施形態のロボットシステム1は、第1実施形態のロボットシステム1と同一の構成を有しているが、力センサーFSをリセットするリセット制御方法の一部が第1実施形態と異なっている。このため、ロボットシステム1の構成についての説明は省略し、リセットに関する動作のうち、第1実施形態との差異部分についてのみ説明する。
【0057】
図5は、第2実施形態に係るロボット制御装置30の動作を説明するフローチャートであり、第1力検出部FS1をリセットする際の動作を示している。第1実施形態とは、ステップS111を実行した後と、ステップS120を実行した後の挙動が異なっている。
【0058】
第1実施形態では、ステップS111の判断で、第1力検出部FS1の力検出値が第1閾値以上である場合は、第1力検出部FS1の第1リセットの実行を断念し、ステップS131に処理が移行していたが、第2実施形態では、第1力検出部FS1の力検出値が第1閾値未満となるまで、ステップS110,S111の処理が繰り返される。
【0059】
また、第1実施形態では、ステップS120の判断で、第2力検出部FS2が第2リセットを実行中である場合は、第1力検出部FS1の第1リセットの実行を断念し、ステップS131に処理が移行していたが、第2実施形態では、第2力検出部FS2が第2リセットを完了するまで、ステップS120の処理が繰り返される。
【0060】
以上述べたように、本実施形態に係るリセット制御方法によれば、第1実施形態での効果に加えて、以下の効果を得ることができる。
第1実施形態では、第1力検出部FS1の力検出値が第1閾値以上の場合や、第2力検出部FS2が第2リセットを実行中と判断した場合に、第1力検出部FS1の第1リセットの実行を断念するのに対し、第2実施形態では、プログラム内の特定の動作命令を読み出す度に第1リセットを実行することが可能となるため、第1リセットの頻度を高めることが可能となる。リセットの頻度が高まることで、ドリフトによってコンデンサー52に蓄積される電荷量も少なくなることから、ドリフトによって生じる測定誤差も少なくすることが可能となる。そのため、力検出値の精度が向上する。
【0061】
なお、第1実施形態および第2実施形態において、ステップS110,S111は、第1工程に相当し、ステップS120は、第2工程に相当し、ステップS130は、第3工程に相当し、ステップS140,S141は、第4工程に相当し、ステップS150は、第5工程に相当する。また、第1力検出部FS1の力検出値が第1力検出値に相当し、第2力検出部FS2の力検出値が第2力検出値に相当する。
【0062】
また、本発明は上述した実施形態に限定されず、上述した実施形態に種々の変更や改良などを加えることが可能である。例えば、上記実施形態では、リセット制御部32Bは、第1力検出部FS1の力検出値が第1閾値未満であるか否かを判断し(ステップS111)、その後で、第2力検出部FS2が第2リセットを実行中であるか否かを判断している(ステップS120)が、各ステップの順序は上記に限定されない。リセット制御部32Bは、第2力検出部FS2が第2リセットを実行中であるか否かを判断した後で、第1力検出部FS1の力検出値が第1閾値未満であるか否かを判断するようにしてもよい。
【0063】
以下に、実施形態から導き出される内容を記載する。
【0064】
リセット制御方法は、外力を検出して第1力検出値を出力する第1力検出部と、前記外力を検出して第2力検出値を出力する第2力検出部と、を有するロボットの前記第1力検出部に第1リセットを実行させるリセット制御方法であって、前記第1力検出値を取得して、第1閾値と比較する第1工程と、前記第2力検出部が第2リセットを実行しているか否かを判断する第2工程と、前記第1工程において前記第1力検出値が前記第1閾値よりも小さく、かつ、前記第2工程において前記第2力検出部が前記第2リセットを実行していないと判断した場合、前記第1力検出部に前記第1リセットの実行を指示する第3工程と、を備える。
【0065】
この構成によれば、第1力検出部が、第2力検出部とは異なるタイミングでリセットされることから、外力がかかっている状態で第1力検出部の第1リセットが実行された場合には、第2力検出部との間で力検出値に差が生じることになる。このため、第1リセットが正常に実行されなかったことを正しく検知することが可能となる。
【0066】
上記のリセット制御方法において、前記第2工程において、前記第2力検出部に前記第2リセットの実行を指示してから、前記第2力検出部から前記第2リセットが完了したことを示す応答を受信するまでの期間内に前記第2力検出部が前記第2リセットを実行していると判断するようにしてもよい。
【0067】
この構成によれば、第2力検出部から第2リセットが完了したことを示す応答を受信するまで、第2力検出部が第2リセットを実行していると判断するため、第2力検出部が第2リセットを実行中か否かを正しく判断することが可能となる。
【0068】
上記のリセット制御方法において、前記第2工程において、前記第2力検出部に前記第2リセットの実行を指示してから所定の時間内に前記第2力検出部が前記第2リセットを実行していると判断するようにしてもよい。
【0069】
この構成によれば、第2リセットの実行を指示してからの時間の経過に基づいて、第2力検出部が第2リセットを実行中か否かを容易に判断することが可能となる。
【0070】
上記のリセット制御方法において、前記第3工程の後に、前記第1力検出値と前記第2力検出値とを取得する第4工程と、前記第4工程で取得した前記第1力検出値と前記第2力検出値との差が第2閾値よりも大きい場合に、エラーを出力する第5工程と、を備えるようにしてもよい。
【0071】
この構成によれば、予期しない異常により、第1力検出部に外力がかかっている状態で第1リセットが実行された場合に、ユーザーに異常を通知することが可能となる。
【0072】
上記のリセット制御方法において、前記第1工程において、前記第1力検出値が前記第1閾値以上の場合、前記第1工程を繰り返すようにしてもよい。
【0073】
この構成によれば、第1力検出値が第1閾値以上の場合に第1力検出部の第1リセットの実行を断念する構成に比べて、第1リセットの頻度を高めることが可能となり、第1力検出値の精度が向上する。
【0074】
上記のリセット制御方法において、前記第2工程において、前記第2力検出部が前記第2リセットを実行していると判断した場合、前記第2工程を繰り返すようにしてもよい。
【0075】
この構成によれば、第2力検出部が第2リセットを実行していると判断した場合に第1力検出部の第1リセットの実行を断念する構成に比べて、第1リセットの頻度を高めることが可能となり、第1力検出値の精度が向上する。
【符号の説明】
【0076】
1…ロボットシステム、20…ロボット、30…ロボット制御装置、31…制御部、32…力検出制御部、32A…力取得部、32B…リセット制御部、33…マニピュレーター制御部、34…メモリー、35…通信部、40…力検出素子、50…増幅回路、51…オペアンプ、52…コンデンサー、53…スイッチ素子、60…ADC、70…信号処理回路、71…オフセット補正部、72…力変換部、A…アーム、E…エンドエフェクター、M…マニピュレーター、FS…力センサー、FS1…第1力検出部、FS2…第2力検出部、TP…教示装置。