JP6668629B2 - ロボット制御装置およびロボットシステム - Google Patents

ロボット制御装置およびロボットシステム Download PDF

Info

Publication number
JP6668629B2
JP6668629B2 JP2015150428A JP2015150428A JP6668629B2 JP 6668629 B2 JP6668629 B2 JP 6668629B2 JP 2015150428 A JP2015150428 A JP 2015150428A JP 2015150428 A JP2015150428 A JP 2015150428A JP 6668629 B2 JP6668629 B2 JP 6668629B2
Authority
JP
Japan
Prior art keywords
force
control
command
manipulator
robot
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.)
Active
Application number
JP2015150428A
Other languages
English (en)
Other versions
JP2017030068A5 (ja
JP2017030068A (ja
Inventor
泰裕 下平
泰裕 下平
正樹 元▲吉▼
正樹 元▲吉▼
馨 竹内
馨 竹内
克司 五十嵐
克司 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2015150428A priority Critical patent/JP6668629B2/ja
Priority to CN201610380562.2A priority patent/CN106239516B/zh
Priority to US15/171,326 priority patent/US10112297B2/en
Publication of JP2017030068A publication Critical patent/JP2017030068A/ja
Publication of JP2017030068A5 publication Critical patent/JP2017030068A5/ja
Application granted granted Critical
Publication of JP6668629B2 publication Critical patent/JP6668629B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボット制御装置およびロボットシステムに関する。
ロボットの分野においては、マニュピレーターに加わる力に応じてマニピュレーターを制御する力制御が用いられている。たとえば、特許文献1の図2には、「Activate ForceControl;」コマンドと、「Deactivate ForceControl;」コマンドとによって、マニュピレーターに加わる力に応じてマニピュレーターを制御する力制御モードと、マニュピレーターに加わる力と無関係にマニピュレーターを制御する位置制御モードとの切換が行われるプログラムが記載されている。
米国特許7340323号公報
しかし、特許文献1に記載されているようにコマンドによって位置制御モードから力制御モードに切り換えた後に、加わる力に応じてマニピュレーターを動作させるコマンドを実行する場合、マニピュレーターの動作結果の再現性が低くなるという問題がある。すなわち、水晶の圧電効果を用いている場合など、力検出器によっては出力が時間に依存するため、力検出器のどの時間の出力に基づいてマニピュレーターを制御するかによって、動作結果が異なることになる。具体的には、位置制御モードから力制御モードに切り換わった時点における力検出器の出力を基準としてマニピュレーターに加わる力を検出すると、力制御モードに切り換わってからマニピュレーターを実際に動かすコマンドが実行されるまでの時間の違いにより、マニピュレーターの動作結果が異なることになる。
本発明は、このような問題を解決するために創作されたものであって、ロボットに対する力制御の再現性を高める技術を提供することを目的とする。
前記目的を達成するためのロボット制御装置は、マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットを制御するロボット制御装置であって、前記マニピュレーターの動作を制御する制御部は、前記マニピュレーターを動作させるコマンドを実行するとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかを当該コマンドのパラメータに応じて切り換える。
ここで「マニピュレーターを動作させるコマンド」は、それ自体でマニピュレーターを動作させるコマンドを意味し、設定、モードの切換といった、それ自体ではマニピュレーターを動作させることがないコマンドを含まない。すなわち例えば、本発明では、マニピュレーターを動作させるコマンドの引数やコマンドの本体自体によって、力検出器の出力に基づいてマニピュレーターの動作を制御するか否かが決定される。したがって本発明によると、力検出器の出力に基づいてマニピュレーターの動作を制御する場合には、マニピュレーターを実際に動かすコマンドが実行される時点を出力の基準とする力検出器の出力に基づいてマニピュレーターの動作を制御することができる。このため本発明によるとロボットに対する力制御の再現性を高めることができる。
なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
ロボットシステムの斜視図である。 ロボットシステムのブロック図である。 制御装置で実行される動作制御コマンドを示す表である。 力制御対応コマンドが実行される場合の処理順序を示すフローチャートである。 力覚センサーの出力を示す折れ線グラフである。 引数オブジェクトの階層構造を説明するための図である。 引数オブジェクトの設定画面を示す画面構成図である。 プログラムコードの実施例と比較例である。
以下、本発明の実施形態について添付図面を参照しながら説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
(1)ロボットシステムの構成
本発明の一実施例としてのロボットシステムは、図1に示すように、ロボット1と、エンドエフェクター2と、制御装置3と、教示装置4(ティーチングペンダント)と、を備えている。制御装置3は、本発明のロボット制御装置の構成例である。制御装置3は図示しないケーブルによりロボット1と通信可能に接続される。なお、制御装置3の構成要素がロボット1に備えられていても良い。制御装置3は、ロボット1に駆動電力を供給する電源部31とロボット1を制御するための制御部32とを備える。制御装置3と教示装置4とはケーブルで、または無線通信可能に接続される。教示装置4は、専用のコンピューターであってもよいし、ロボット1を教示するためのプログラムがインストールされた汎用のコンピューターであってもよい。例えばロボット1を教示するための専用装置であるティーチングペンダント5を教示装置4の代わりに用いても良い。さらに、制御装置3と教示装置4とは、図1に示すように別々の筐体を備えていてもよいし、一体に構成されていてもよい。
ロボット1は、アームAに各種のエンドエフェクター2を装着して使用される単腕ロボットである。アームAは6つの関節J1〜J6を備える。関節J1〜J6によって6個のアーム部材A1〜A6が連結される。関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。関節J6には、ワークに対して把持や加工等を行うための各種のエンドエフェクター2が装着される。先端の関節J6の回転軸上の所定位置をツールセンターポイント(TCP)と表す。TCPの位置は各種のエンドエフェクター2の位置の基準となる。アームAとエンドエフェクター2とは、本発明のマニピュレーターの構成例である。
関節J6には力覚センサーFSが備えられている。力覚センサーFSは、6軸の力検出器である。力覚センサーFSは、固有の座標系であるセンサー座標系において互いに直交する3個の検出軸と平行な力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。なお、力覚センサーFSは本発明の力検出器の構成例であるが、関節J6以外の関節J1〜J5のいずれか1つ以上に力検出器としての力覚センサーを備えても良い。
ロボット1が設置された空間を規定する座標系をロボット座標系というとき、ロボット座標系は、水平面上において互いに直交するX軸とY軸と、鉛直上向きを正方向とするZ軸とによって規定される3次元の直交座標系である。Z軸における負の方向は概ね重力方向と一致する。またX軸周りの回転角をRXで表し、Y軸周りの回転角をRYで表し、Z軸周りの回転角をRZで表す。X,Y,Z方向の位置により3次元空間における任意の位置を表現でき、RX,RY,RZ方向の回転角により3次元空間における任意の姿勢を表現できる。以下、位置と表記した場合、姿勢も意味し得ることとする。また、力と表記した場合、トルクも意味し得ることとする。制御装置3は、アームAを駆動することによって、ロボット座標系においてTCPの位置を制御する。
図2は、ロボットシステムのブロック図である。制御部32はロボット1の制御を行うための制御プログラムがインストールされたコンピューターである。制御部32は、プロセッサーやRAMやROMを備え、これらのハードウェア資源がプログラムと協働することによりロボット1を制御する。
ロボット1は、図1に示した構成のほかに、アクチュエーターとしてのモーターM1〜M6と、センサーとしてのエンコーダーE1〜E6とを備える。アームAを制御することはモーターM1〜M6を制御することを意味する。モーターM1〜M6とエンコーダーE1〜E6とは、関節J1〜J6のそれぞれに対応して備えられており、エンコーダーE1〜E6はモーターM1〜M6の回転角度を検出する。制御装置3は、モーターM1〜M6の回転角度の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1を記憶している。また、制御装置3は、ロボット1が行う作業の工程ごとに目標位置Stと目標力fStの少なくともいずれかをコマンドに基づいて記憶する。目標位置Stと目標力fStを引数(パラメーター)とするコマンドはロボット1が行う作業の工程ごとに設定される。
制御装置3は、設定された目標位置と目標力とがTCPにて実現されるように、コマンドに基づいてアームAを制御する。目標力とは、アームAの動作に応じて力覚センサーFSが検出すべき力である。ここでSの文字は、ロボット座標系を規定する軸の方向(X,Y,Z,RX,RY,RZ)のなかのいずれか1個の方向を表すこととする。また、Sは、S方向の位置も表すこととする。例えば、S=Xの場合、ロボット座標系にて設定された目標位置のX方向成分がSt=Xtと表記され、目標力のX方向成分がfSt=fXtと表記される。
制御装置3は、モーターM1〜M6の回転角度Daを取得すると、対応関係U1に基づいて、当該回転角度Daをロボット座標系におけるTCPの位置S(X,Y,Z,RX,RY,RZ)に変換する。また制御装置3は、TCPの位置Sと、力覚センサーFSの検出値とに基づいて、力覚センサーFSに現実に作用している作用力fSをロボット座標系において特定する。作用力fの作用点は、TCPとは別に原点Oとして定義される。原点Oは、力覚センサーFSが力を検出している点に対応する。なお制御装置3は、ロボット座標系におけるTCPの位置Sごとに、力覚センサーFSのセンサー座標系における検出軸の方向を規定した対応関係U2を記憶している。従って、制御装置3は、ロボット座標系におけるTCPの位置Sと対応関係U2とに基づいて、ロボット座標系における作用力fSを特定できる。また、ロボットに作用するトルクは、作用力fSと、ツール接触点(エンドエフェクター2とワークの接触点)から力覚センサーFSまでの距離とから算出することができ、図示されないfsトルク成分として特定される。
制御装置3は、作用力fSに対して重力補償を行う。重力補償とは、作用力fSから重力に起因する力やトルクの成分を除去することである。重力補償を行った作用力fSは、エンドエフェクター2に作用している重力以外の力と見なすことができる。
本実施例のインピーダンス制御は、仮想の機械的インピーダンスをモーターM1〜M6によって実現する能動インピーダンス制御である。制御装置3は、このようなインピーダンス制御を、ワークの嵌合作業、研磨作業など、エンドエフェクター2が対象物(ワーク)から力を受ける接触状態の工程で適用する。インピーダンス制御では、目標力を後述する運動方程式に代入してモーターM1〜M6の回転角度を導出する。制御装置3がモーターM1〜M6を制御する信号は、PWM(Pulse Width Modulation)変調された信号である。運動方程式に基づいて目標力から回転角度を導出してモーターM1〜M6を制御するモードを力制御モードというものとする。また制御装置3は、エンドエフェクター2がワークから力を受けない非接触状態の工程では、目標位置から線形演算で導出する回転角度でモーターM1〜M6を制御する。目標位置から線形演算で導出する回転角度でモーターM1〜M6を制御するモードを位置制御モードというものとする。また制御装置3は、目標位置から線形演算で導出する回転角度と目標力を運動方程式に代入して導出する回転角度とを例えば線型結合によって統合し、統合した回転角度でモーターM1〜M6を制御するハイブリッドモードでもロボット1を制御する。制御装置3は、位置制御モードと力制御モードとハイブリッドモードを力覚センサーFSまたはエンコーダーE1〜R6の検出値に基づいて自律的に切り替えることもできるし、コマンドに応じて位置制御モードと力制御モードとハイブリッドモードを切り替えることもできる。以上の構成より制御装置3は、エンドエフェクター2が目標の位置において目標の姿勢となり、かつ、エンドエフェクター2に目標の力とモーメントとが作用するようにアームAを駆動することができる。
制御装置3は、目標力fStと作用力fSとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔSを特定する。力由来補正量ΔSとは、TCPが機械的インピーダンスを受けた場合に、目標力fStとの力偏差ΔfS(t)を解消するために、TCPが移動すべき位置Sの大きさを意味する。下記の(1)式は、インピーダンス制御の運動方程式である。
Figure 0006668629
(1)式の左辺は、TCPの位置Sの2階微分値に仮想慣性係数mを乗算した第1項と、TCPの位置Sの微分値に仮想粘性係数dを乗算した第2項と、TCPの位置Sに仮想弾性係数kを乗算した第3項とによって構成される。(1)式の右辺は、目標力fStから現実の力fを減算した力偏差ΔfS(t)によって構成される。(1)式における微分とは、時間による微分を意味する。ロボット1が行う工程において、目標力fStとして一定値が設定される場合もあるし、目標力fStとして時間の関数が設定される場合もある。
仮想慣性係数mはTCPが仮想的に有する質量を意味し、仮想粘性係数dはTCPが仮想的に受ける粘性抵抗を意味し、仮想弾性係数kはTCPが仮想的に受ける弾性力のバネ定数を意味する。各係数m,d,kは方向ごとに異なる値に設定されてもよいし、方向に拘わらず共通の値に設定されてもよい。
そして、制御装置3は、対応関係U1に基づいて、ロボット座標系を規定する各軸の方向の動作位置を、各モーターM1〜M6の目標の回転角度である目標角度Dtに変換する。そして、制御装置3は、目標角度DtからモーターM1〜M6の現実の回転角度であるエンコーダーE1〜E6の出力Daを減算することにより、駆動位置偏差De(=Dt−Da)を算出する。そして、制御装置3は、駆動位置偏差Deに位置制御ゲインKpを乗算した値と、現実の回転角度Daの時間微分値である駆動速度との差である駆動速度偏差に、速度制御ゲインKvを乗算した値とを加算することにより、制御量Dcを導出する。なお、位置制御ゲインKpおよび速度制御ゲインKvは、比例成分だけでなく微分成分や積分成分にかかる制御ゲインを含んでもよい。制御量Dcは、モーターM1〜M6のそれぞれについて特定される。以上説明した構成により、制御装置3は、目標力fStとに基づいてアームAを力制御モードで制御することができる。ハイブリッドモードでは、制御装置3は、目標位置Stに、力由来補正量ΔSを加算することにより動作位置(St+ΔS)を特定する。
教示装置4には、制御装置3に目標位置Stと目標力fStとを引数とする実行プログラムを生成して制御装置3にロードするための教示プログラムがインストールされている。教示装置4は、ディスプレイ43やプロセッサーやRAMやROMを備え、これらのハードウェア資源が教示プログラムと協働して実行プログラムを生成する。
(2)実行プログラム
実行プログラムは予め定められたプログラム言語によって記述され、翻訳プログラムにより中間言語を経て機械語プログラムに変換される。制御部32のCPUはクロックサイクルで機械語プログラムを実行する。翻訳プログラムは教示装置4で実行しても良いし、制御装置3で実行しても良い。実行プログラムのコマンドは本体と引数とから構成される。コマンドには、アームAとエンドエフェクター2を動作させる動作制御コマンド、エンコーダーやセンサーの検出値を読み出すモニターコマンド、各種の変数を設定する設定コマンド等が含まれる。なお、本明細書において、コマンドの実行は、当該コマンドが翻訳された機械語プログラムの実行と同義である。
図3に動作制御コマンド(本体)の一例を示す。図3に示すように動作制御コマンドは、力制御モードでアームAを動作させることができる力制御対応コマンドと、力制御モードでアームAを動作させることができない位置制御コマンドとを含む。力制御対応コマンドでは、引数により力制御モードのオンを指定できる。当該引数により力制御モードのオンが指定されない場合には、位置制御モードで当該力制御対応コマンドが実行され、当該引数により力制御モードのオンが指定される場合には、当該力制御対応コマンドは力制御モードで実行される。また力制御対応コマンドは力制御モードにおいて実行可能であり、位置制御コマンドは力制御モードでは実行不能である。力制御モードにおいて位置制御コマンドが実行されることがないように、翻訳プログラムによる構文エラーチェックが実行される。さらに、力制御対応コマンドでは、引数により力制御モードの継続を指定できる。力制御モードで実行される力制御対応コマンドにおいて当該引数により力制御モードの継続が指定された場合、力制御モードは継続され、当該引数により力制御モードの継続が指定されない場合、当該力制御対応コマンドの実行完了までに力制御モードは終了する。すなわち力制御対応コマンドが力制御モードで実行されるとしても、引数により明示的に指定されない限り、力制御モードは当該力制御対応コマンドに応じて自律的に終了し、当該力制御対応コマンドの実行終了後においてまで力制御モードが継続することはない。なお図3において「CP」は移動方向を指定できるコマンドの分類、「PTP」は目標位置を指定できるコマンドの分類、「CP+PTP」は移動方向と目標位置を指定できるコマンドの分類である。
ここで、引数により力制御モードのオンが指定され、かつ、力制御モードの継続が指定されていない「Move」コマンドが力制御モードでない状態において実行開始される場合を例にして、力制御対応コマンドの実行手順、すなわち制御部32の動作順序について図4を参照しながら説明する。
まずはじめに制御部32は、力制御モードのオンを指定する引数があるか無いかを判定する(S102)。
力制御モードのオンを指定する引数がある場合、制御部32は、力覚センサーFSをリセットする(S112)。力覚センサーFSのリセットは、力覚センサーFSの出力が、このリセットタイミングでゼロとして検出されるように力覚センサーFS自体または制御部32が記憶するオフセット値を設定することである。
続いて制御部32は、力制御モードに遷移してインピーダンス制御を実行し、アームAを動作させる(S114)。すなわち制御部32は、力覚センサーFSの出力に基づいてモーターM1〜M6の回転角度を制御する。ここで目標力は、力制御対応コマンドの引数として指定されていてもよいし、力制御対応コマンドより先に実行される設定コマンドで指定されていてもよい。位置制御モードから力制御モードへの切換は、例えば図2に示すΔSとStとを足し合わせる算術要素においてΔSの入力をオンにしてStの入力をオフ(ゼロ)にする操作によって実施される。
続いて制御部32は、力制御モードを終了する(S116)。力制御モードから位置制御モードへの切換は、例えば図2に示すΔSとStとを足し合わせる算術要素においてΔSの入力をオフ(ゼロ)にしてStの入力をオンにする操作によって実施される。
力制御モードのオンを指定する引数が無い場合、制御部32は位置制御モードにおいて位置制御を実行し、アームAを動作させる(S120)。すなわち制御部32は、目標位置から線形演算で導出する回転角度でモーターM1〜M6の回転角度を制御する。
ところで水晶を圧電素子として用いる力覚センサーでは、力覚センサーに加わる力に変化が無くても、図5Aに示すように、時間の経過に伴って出力が大きくなる傾向にある。したがって、例えば図5Bに示す時間tで力制御モードがオンになるとすると、同じ力が加わっているにもかかわらず、tからtが経過した時点で検出される力f1と、tからtが経過した時点で検出される力fとが異なる結果となる。本実施例では、上述したように力制御対応コマンドの実行時点で力制御モードに遷移して力覚センサーFSがリセットされるため、力制御対応コマンドが実行される時点を出力の基準とする力覚センサーFSの出力に基づいてアームAの動作を制御することができる。このためアームAに対する力制御の再現性を高めることができる。例えば、動作制御コマンドに対して力覚センサーFSのリセットが同期しない場合、すなわち動作制御コマンドの実行に先行して力覚センサーFSがリセットされる場合、動作制御コマンドの実行が3msec程度(t2−)遅れることになる。力制御が10msec間隔で実行されるとすると、この3msecは力制御の間隔に対し大きな実行の遅れであり再現性を悪化させる。
実行プログラムのコマンドの引数は階層化されたオブジェクト構造となっている。力制御コマンドに関連する引数のクラスを図6に示す。「Force Coordinate System Object」は、座標系の設定に用いられるクラスであって、FCSx(xは任意の整数)で定義することができる。「Force Control Object」は、力制御の対象となる座標軸等の設定に用いられるクラスであって、FCx(xは任意の整数)で定義することができる。「Force Trigger Object」は、分岐条件、停止条件、割り込みの設定に用いられるクラスであって、FTx(xは任意の整数)で定義することができる。「Force Monitor Object」は、力データの取得、ログ記録等の設定に用いられるクラスであって、FMx(xは任意の整数)で定義することができる。「Force Control Object」、「Force Trigger Object」および「Force Monitor Object」で指定される座標系は「Force Coordinate System Object」で定義された座標系となる。すなわち、「Force Control Object」、「Force Trigger Object」および「Force Monitor Object」は、上位層クラスの「Force Coordinate System Object」に従属する下位層クラスである。「Force Sensor Object」は、力覚センサーFSの制御と力覚センサーFSからの情報取得の設定に用いるクラスであって、FSx(xは任意の整数)で定義することができる。「Mass Properties Object」は、重心位置の設定に用いるクラスであって、MPx(xは任意の整数)で定義することができる。「Robot Object」は、力制御と関連したロボット1の情報を取得するための設定に用いるクラスであって、Robotx(xは任意の整数)で定義することができる。
次に、このように階層化された引数の設定方法について説明する。図7Aは「Force Coordinate System Object」クラスの引数オブジェクトを設定する画面の構成例である。図7Aは、「ハンド面3先端」というラベルが付された「力覚座標4」(プログラムコードではFCS4と記述される引数オブジェクト)の原点のTCPを基準とするロボット座標系における相対的な位置と、TCPの姿勢(TCPに固定された座標系)を基準とする相対的な姿勢とを設定した状態を示している。ここで制御部32は、モーターM1〜M6の回転角度の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1を記憶しているため、「Force Coordinate System Object」クラスの引数オブジェクトにおいてTCPに対する相対的な位置と姿勢を設定することにより、基準座標系に対して任意の座標系を定義することができる。
図7Bは、「Force Control Object」クラスの引数オブジェクトを設定する画面の構成例である。図7Bは、「姿勢倣い」というラベルが付された「力制御2」(プログラムコードではFC2と記述される引数オブジェクト)の座標系と、力制御の有効軸と、インピーダンス制御の運動方程式の係数(仮想バネ係数、仮想粘性係数、仮想質量係数)とを設定した状態を示している。ここで座標系として「4」が選択されているため、図7Aの画面で設定された「力覚座標4」(FCS4)の座標系の各軸について、「有効」の項目において力制御のオン(True)とオフ(False)が設定される。すなわち、力制御が有効になる方向は、上位の「Force Coordinate System Object」クラスのオブジェクトの設定に依存する。図7Cは「Force Trigger Object」クラスの引数オブジェクトを設定する画面の構成例である。図7Cにおいても、「接触検知」というラベルが付された「力トリガー1」(プログラムコードではFT1と記述される引数オブジェクト)の座標系として「4」が選択されているため、図7Aの画面で設定された「力覚座標4」(FCS4)の座標系の各軸について処理条件が定められる。すなわち、停止条件の各変数が示す値やベクトルの方向は、上位の「Force Coordinate System Object」クラスのオブジェクトの設定に依存する。このように本実施例のコマンドの引数は階層化されているため、「Force Coordinate System Object」クラスのオブジェクトとして1つの座標系を設定すれば、その座標系を様々なコマンドに適用することができ、設定作業が容易になる。
力制御対応コマンドを用いたプログラムコードの実施例を比較例とともに図8に示す。図8に示す実施例は、「FC1」という引数オブジェクトが6つの設定コマンド「Fset」で定義された後に、力制御対応コマンド「Move」が実行され、その後に「FC1」オブジェクトの変数の1つである「Fz_TargetForce」が設定コマンド「Fset」で変更されるプログラムコードである。
図8に示す比較例では、コマンドの引数が階層化されておらず、力制御モードで用いられる全ての設定項目が「ForceControlSetting」コマンドにより一度に設定される。そして、カンマで区切られたそれぞれの引数の定義は、コマンド本体と引数の間に記述するカンマの数で決まる。したがって比較例のプログラムコードの意味を即座に理解することは困難である。これに対し、本発明の実施例では、力制御対応コマンドに関連する引数は、階層化されたオブジェクト毎に「Fset」コマンドにより設定されるため、プログラムコードの意味を解釈することも、プログラムコードを記述することもはるかに容易である。
本実施例のコマンド「Move P1 FC1 CF」では、「Fset」コマンドにより設定された「FC1」オブジェクトの他に、図示しない設定コマンドにより設定された「P1」オブジェクトと、「CF」が引数として設定されている。ここで「P1」は、接触位置を指定する引数である。「CF」は、コマンドの実行終了後も力制御モードの継続を指定する引数である。コマンド「Move P1 FC1 CF」は、「Force Control Object」クラスの引数オブジェクト「FC1」が指定されており、目標位置が引数「P1」で指定されているため、コマンド「Move P1 FC1 CF」が実行されると、力覚センサーFSがリセットされ、力覚センサーFSの出力に基づくハイブリッドモードでアームAが制御される。また引数「CF」が指定されているため、コマンドの実行終了後も力制御モードが継続する。
比較例では、「ForceControl On」コマンドの実行により、力覚センサーFSがリセットされ、力覚センサーFSの出力に基づいてアームAを制御可能な状態となる。続いて「Move P1」コマンドの実行により、力覚センサーFSの出力に基づいてアームAが制御される。これに対して、本実施例のコマンド「Move P1 FC1 CF」の実行が開始されてから力覚センサーFSがリセットされるまでの実時間は、対応する機械語プログラムが常に同じになるため、制御部32のクロック数によって予め定まる一定の時間となる。したがって上述したように、本実施例では力制御の再現性が保証される。
(3)他の実施形態
本発明の技術的範囲は上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない限りにおいて変更を加え得ることは勿論である。例えば、上記実施例ではコマンドの引数で力制御モードのオンを指定できたが、コマンドの本体で力制御モードのオンを指定できてもよい。具体的にはコマンドの本体自体が、力制御モードをオンするものと、力制御モードをオンしないものとに分かれているプログラム言語をロボットシステムに実装しても良い。
また力制御対応コマンドにより力覚センサーをリセットしてから力制御によりアームを動作させるまでの時間をタイマーで制御しても良い。すなわち、力制御対応コマンドの実行手順にタイマーのセットを組み込んでも良い。
また力検出器の出力に基づいてマニピュレーターの動作を制御する例としてインピーダンス制御を取り上げたが、運動方程式を用いずに、例えば力検出器の出力に対して線形な制御量でマニピュレーターの動作を制御しても良い。
1…ロボット、2…エンドエフェクター、3…制御装置、4…教示装置、5…ティーチングペンダント、31…電源部、32…制御部、43…ディスプレイ、A…アーム、A1-A6…アーム部材、E1-E6…エンコーダー、FS…力覚センサー、J1-J6…関節、M1-M6…モーター

Claims (2)

  1. マニピュレーターと、
    前記マニピュレーターに作用する力を検出する力検出器と、
    を備えるロボットを制御するロボット制御装置において、
    前記マニピュレーターの動作を制御する制御部は、前記マニピュレーターを動作させるコマンドを実行するとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかを前記コマンドのパラメータに応じて切り換え
    前記制御部は、前記コマンドを実行し、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するとき、前記力検出器をリセットするとともに、前記力検出器のリセットから所定時間経過後に、前記力検出器の出力に基づく前記マニピュレーターの動作制御を開始する、
    ロボット制御装置。
  2. マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットと、
    前記マニピュレーターの動作を制御する制御部を備えるロボット制御装置と、を備え、
    前記制御部は、
    前記マニピュレーターを動作させるコマンドを実行するとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかを前記コマンドのパラメータに応じて切り換え
    前記コマンドを実行し、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するとき、前記力検出器をリセットするとともに、前記力検出器のリセットから所定時間経過後に、前記力検出器の出力に基づく前記マニピュレーターの動作制御を開始する、
    を備えるロボットシステム。
JP2015150428A 2015-06-03 2015-07-30 ロボット制御装置およびロボットシステム Active JP6668629B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015150428A JP6668629B2 (ja) 2015-07-30 2015-07-30 ロボット制御装置およびロボットシステム
CN201610380562.2A CN106239516B (zh) 2015-06-03 2016-06-01 机器人控制装置、机器人以及机器人系统
US15/171,326 US10112297B2 (en) 2015-06-03 2016-06-02 Robot control apparatus, robot, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015150428A JP6668629B2 (ja) 2015-07-30 2015-07-30 ロボット制御装置およびロボットシステム

Publications (3)

Publication Number Publication Date
JP2017030068A JP2017030068A (ja) 2017-02-09
JP2017030068A5 JP2017030068A5 (ja) 2018-08-30
JP6668629B2 true JP6668629B2 (ja) 2020-03-18

Family

ID=57987034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015150428A Active JP6668629B2 (ja) 2015-06-03 2015-07-30 ロボット制御装置およびロボットシステム

Country Status (1)

Country Link
JP (1) JP6668629B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6852450B2 (ja) 2017-02-17 2021-03-31 セイコーエプソン株式会社 表示方法およびロボットシステム

Also Published As

Publication number Publication date
JP2017030068A (ja) 2017-02-09

Similar Documents

Publication Publication Date Title
CN106239516B (zh) 机器人控制装置、机器人以及机器人系统
US10564635B2 (en) Human-cooperative robot system
JP6484265B2 (ja) 学習制御機能を備えたロボットシステム及び学習制御方法
JP7427358B2 (ja) ロボットシステム、物品の製造方法、制御方法、制御プログラム、および記録媒体
KR101947825B1 (ko) 로봇, 및 로봇을 작동시키기 위한 방법
US8483877B2 (en) Workspace safe operation of a force- or impedance-controlled robot
JP2006334774A (ja) エフェクタの軌道を制御するための方法
US20190255709A1 (en) Vibration analyzer and vibration analysis method
US11951625B2 (en) Control method for robot and robot system
US11691290B2 (en) Robot control method and robot system
JP2024015086A (ja) ロボットシステム、制御方法、物品の製造方法、制御プログラム、記録媒体
Lecours et al. Computed-torque control of a four-degree-of-freedom admittance controlled intelligent assist device
US11660742B2 (en) Teaching method and robot system
JP2016221646A (ja) ロボットおよびロボットシステム
JP2016221653A (ja) ロボット制御装置およびロボットシステム
CN112894827B (zh) 一种机械臂运动控制方法、系统、装置及可读存储介质
JP6862604B2 (ja) 垂直多関節ロボットの慣性パラメータ同定システム及び慣性パラメータ同定方法並びに垂直多関節ロボットの制御装置及び制御方法
JP6668629B2 (ja) ロボット制御装置およびロボットシステム
JP6700679B2 (ja) 制御方法、物品の製造方法、ロボット装置、制御プログラム及び記録媒体
JP7423943B2 (ja) 制御方法およびロボットシステム
Fabian et al. Sensorless Impedance Control for the UR5 Robot
KR20210127746A (ko) 미리 정해져 있는 과제를 로봇을 통해 수행하기 위한 방법 및 시스템
CN113771026A (zh) 一种提升安全控制性能的工业机器人及其控制方法
JP2020099967A (ja) ロボットシステム及びロボットシステムの制御方法
Mima et al. Telemanipulation with a humanoid robot hand/arm between USA and Japan

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180723

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180723

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180906

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R150 Certificate of patent or registration of utility model

Ref document number: 6668629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150