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

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

Info

Publication number
JP7135408B2
JP7135408B2 JP2018085543A JP2018085543A JP7135408B2 JP 7135408 B2 JP7135408 B2 JP 7135408B2 JP 2018085543 A JP2018085543 A JP 2018085543A JP 2018085543 A JP2018085543 A JP 2018085543A JP 7135408 B2 JP7135408 B2 JP 7135408B2
Authority
JP
Japan
Prior art keywords
force
robot
motion
initial value
parameter
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
JP2018085543A
Other languages
English (en)
Other versions
JP2019188555A (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 JP2018085543A priority Critical patent/JP7135408B2/ja
Priority to CN201910333152.6A priority patent/CN110405753B/zh
Priority to US16/394,384 priority patent/US11161249B2/en
Publication of JP2019188555A publication Critical patent/JP2019188555A/ja
Application granted granted Critical
Publication of JP7135408B2 publication Critical patent/JP7135408B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39322Force and position control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39323Force and motion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、力制御を行うロボットの力制御パラメーターの設定に関する。
従来、力制御パラメーターの初期値と、操作部から入力される操作内容と、力センサー等のセンサーからのフィードバック値に基づいて、力制御パラメーターを調整する技術が存在する(特許文献1)。力制御パラメーターの初期値は、動作によらず一定の値である。
特開2014-233814号公報
しかし、上記の技術においては、動作によらず一定の力制御パラメーターの初期値を、操作部の操作によって、具体的な各動作に適した値に調整することは、初心者には容易ではない。このため、そのような処理に熟練していないユーザーは、力制御パラメーターの調整に膨大な試行錯誤を要するか、または、事実上、力制御パラメーターの調整を行うことができない。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置であって、
前記力検出部によって検出される力の大きさに基づいて行われる力制御を含む第1動作を開始する第1位置を表す第1位置情報をユーザーから受け付ける受付部と、
前記ロボットの構成に関する固有情報と、前記第1位置情報と、に基づいて、前記第1動作の前記力制御において使用される質量係数と粘性係数とのいずれかの初期値を決定し、記憶部に記憶させる初期値決定部と、
を備え、
前記初期値決定部は、前記初期値を、前記第1位置情報と対応づけて前記記憶部に記憶させ、
前記受付部は、前記力制御を含む第2動作を開始する位置であって前記第1位置とは異なる第2位置を表す第2位置情報を受け付け、
前記初期値決定部は、前記第1位置情報と対応づけられた前記初期値と、前記第1位置情報と、前記第2位置情報と、に基づいて、前記第2動作の前記力制御において使用される前記いずれかの係数の初期値を決定し、前記第2位置情報と対応づけて前記記憶部に記憶させる、ロボット制御装置。
外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置であって、
前記力検出部によって検出される力の大きさに基づいて行われる力制御を含む第1動作を開始する第1位置を表す第1位置情報をユーザーから受け付ける受付部と、
前記ロボットの構成に関する固有情報と、前記第1位置情報と、に基づいて、前記第1動作の前記力制御において使用される質量係数と粘性係数とのいずれかの初期値を決定し、記憶部に記憶させる初期値決定部と、
前記第1動作の前記力制御において使用される前記いずれかの係数の設定値を受け取って、前記記憶部に記憶させる設定部と、を備え、
前記設定部は、前記初期値に基づいてあらかじめ定められる範囲内に、前記受け取った設定値が含まれない場合は、エラーメッセージの出力を行う、ロボット制御装置。
本発明の一形態によれば、外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置が提供される。このロボット制御装置は:前記力検出部によって検出される力の大きさに基づいて行われる力制御を含む第1動作を開始する第1位置を表す第1位置情報を受け付ける受付部と;前記ロボットの構成に関する固有情報と、前記第1位置情報と、に基づいて、前記第1動作の前記力制御において使用される質量係数と粘性係数とのいずれかの初期値を決定し、記憶部に記憶させる初期値決定部と、を備える。
本実施形態に係るロボットシステム1の構成を示す図である。 ロボット20と、動作制御装置30と、教示装置50との機能構成を示す図である。 力制御を含む動作のパラメーターを決定する際の処理を示すフローチャートである。 力制御パラメーターの初期値を決定する際の処理を示すフローチャートである。 力制御パラメーターの設定値を決定する際の処理を示すフローチャートである。 図5のステップS510においてにおいて表示されるメイン画面を示す図である。 第1対象動作の力制御パラメーターの設定値に基づいて、第2対象動作の力制御パラメーターの初期値を決定する際の処理を示すフローチャートである。 図5のステップS530,S550,S555内の詳細な処理を示すフローチャートである。 図8のステップS553においてにおいて表示されるメイン画面を示す図である。 複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。 複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。
A.第1実施形態:
A1.ロボットシステムの構成:
図1は、本実施形態に係るロボットシステム1の構成を示す図である。ロボットシステム1は、ロボット20と、ロボット制御装置25を備える。ロボット制御装置25は、ロボット20を制御する。ロボット制御装置25は、動作制御装置30と、教示装置50とによって構成される。
動作制御装置30は、ユーザーによる教示作業によって設定された目標位置において、目標力が実現されるように、ロボット20のアームAを制御する。動作制御装置30は、プロセッサーであるCPU(Central Processing Unit)30aやRAM(Random Access Memory)30bやROM(Read-Only Memory)30cを備える。動作制御装置30には、ロボット20の制御を行うための制御プログラムがインストールされている。動作制御装置30においては、これらのハードウェア資源と制御プログラムとが協働する。動作制御装置30の機能については、後に詳細に説明する。
教示装置50は、動作制御装置30に目標位置Stと目標力fstとを教示する。教示装置50は、CPU50a、RAM50b、ROM50c等を備える。教示装置50には、動作制御装置30に目標位置Stと目標力fstとを教示するための教示プログラムがインストールされている。教示装置50においては、これらのハードウェア資源と教示プログラムとが協働する。
教示装置50は、さらに、入力装置57と、出力装置58を備える。入力装置57は、例えば、マウス、キーボード、タッチパネル等であり、ユーザーからの指示を受け付ける。出力装置58は、例えば、ディスプレイやスピーカー等であり、ユーザーに各種の情報を出力する。教示装置50の機能については、後に詳細に説明する。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。アームAは、6軸の垂直多関節型のアームである。アームAは、5個のアーム部材であるリンクL1~リンクL5と、6つの関節である関節J1~J6を備える。関節J2、関節J3、関節J5は、曲げ関節であり、関節J1、関節J4、関節J6は、ねじり関節である。
支持台BとリンクL1は、関節J1を介して接続されている。リンクL1とリンクL2は、関節J2を介して接続されている。リンクL2とリンクL3は、関節J3を介して接続されている。リンクL3とリンクL4は、関節J4を介して接続されている。リンクL4とリンクL5は、関節J5を介して接続されている。リンクL5と力検出部21およびエンドエフェクターEとは、関節J6を介して接続されている。
アームAの先端には、力検出部21を介してエンドエフェクターEが取り付けられている。エンドエフェクターEは、ワークWを把持するための装置である。エンドエフェクターEの位置は、TCP(Tool Center Point)によって規定される。本実施形態において、TCPは、関節J6の回転軸上にある。動作制御装置30は、アームAを駆動することによって、ロボット座標系RCにおいてTCPの位置を制御する。
力検出部21は、外部から加えられる力の大きさを検出することができる6軸の力センサーである。力検出部21は、互いに直交する3個の検出軸上の力の大きさと、それら3個の検出軸周りのトルクの大きさとを検出する。
本実施形態においては、支持台Bの位置を基準として、ロボット20が設置された空間を規定する座標系をロボット座標系RCと表す。ロボット座標系RCは、水平面上において互いに直交するX軸およびY軸と、鉛直上向きを正方向とするZ軸とによって規定される三次元直交座標系である。本明細書において、単に「X軸」と称した場合、ロボット座標系RCにおけるX軸のことを表す。単に「Y軸」と称した場合、ロボット座標系RCにおけるY軸のことを表す。単に「Z軸」と称した場合、ロボット座標系RCにおけるZ軸のことを表す。ロボット座標系RCにおける任意の位置は、X軸方向の位置DXと、Y軸方向の位置DYと、Z軸方向の位置DZとにより特定できる。
本実施形態においては、X軸周りの回転の角度位置RXによって表す。Y軸周りの回転の角度位置RYによって表す。Z軸周りの回転の角度位置RZによって表す。ロボット座標系RCにおける任意の姿勢は、X軸周りの角度位置RX、Y軸周りの角度位置RY、Z軸周りの角度位置RZにより表現できる。
本明細書において、「位置」と表記した場合、狭義の位置に加えて姿勢をも意味する。「力」と表記した場合、3次元空間において向きと大きさによって規定される狭義の力に加えて、角度位置RX、角度位置RY、角度位置RZそれぞれの回転方向に作用するトルクも意味し得る。
アームAと、力検出部21と、エンドエフェクターEとは、ケーブルによって動作制御装置30と通信可能に接続されている。
A2.動作制御装置30により動作制御:
図2は、ロボット20と、動作制御装置30と、教示装置50との機能構成を示す図である。図2に示したSは、ロボット座標系RCを規定する軸の方向(X軸方向、Y軸方向、Z軸方向、角度位置RXの方向、角度位置RYの方向、角度位置RZの方向)のうちのいずれか1つの方向を表す。例えば、Sが表わす方向がX軸方向の場合、ロボット座標系RCにおいて設定された目標位置のX軸方向成分がSt=Xtと表記され、目標力のX軸方向成分がfst=fXtと表記される。また、Sは、Sが表わす方向の軸に沿った位置も表す。
ロボット20は、関節J1~J6に、それぞれ、駆動部としてのモーターM1~M6と、エンコーダーE1~エンコーダーE6とを、備える(図2の上段参照)。モーターM1とエンコーダーE1は、関節J1に備えられている。モーターM1は、関節J1を駆動する。エンコーダーE1は、モーターM1の駆動位置を検出する。モーターM2~M6と、エンコーダーE2~E6も、関節J2~J6において、同様の機能を奏する。
動作制御装置30は、モーターM1~M6の角度位置の組み合わせと、ロボット座標系RCにおけるTCPの位置との対応関係Uを、RAM内に記憶している(図2の中段右側参照)。動作制御装置30は、ロボット20が行う作業の工程ごとに、目標位置Stと目標力fstとを対応付けて、RAM内に記憶している。目標位置Stと目標力fstは、後述する教示作業によって設定される。
動作制御装置30は、モーターM1~M6の回転角度Daを取得すると、対応関係Uに基づいて、回転角度Daをロボット座標系RCにおけるTCPの位置に変換する(図2の右側中段参照)。より具体的には、回転角度Daは、位置DX、位置DY、位置DZ、角度位置RX、角度位置RY、および角度位置RZの組み合わせに変換される。
力検出部21は、独自の座標系において力fsを検出する(図2の右上部参照)。力検出部21とTCPとの相対位置および相対方向が、既知のデータとして動作制御装置30のRAM30bに記憶されている(図2において図示省略)。このため、動作制御装置30は、TCPの位置Sと、力検出部21の出力に基づいて、ロボット座標系RCにおける力fsを特定できる。
動作制御装置30は、ロボット座標系RCに変換した後の力fsに対して重力補償を行う(図2の右下部参照)。「重力補償」とは、力fsから重力成分を除去する処理である。重力補償を行った力fsは、エンドエフェクターEに作用している重力以外の力を表す。エンドエフェクターEに作用している重力以外の力を、以下では「作用力」とも呼ぶ。
動作制御装置30は、目標力fstと作用力fsとをコンプライアントモーション制御の運動方程式に代入することにより、力由来補正量ΔSを特定する(図2の左側中段参照)。本実施形態では、コンプライアントモーション制御として、インピーダンス制御を採用する。「インピーダンス制御」とは、仮想の機械的インピーダンスをモーターM1~M6によって実現する制御である。以下に示した式(1)は、インピーダンス制御の運動方程式である。
Figure 0007135408000001
式(1)において、mは、質量パラメーターである。質量パラメーターは、慣性パラメーターとも呼ぶ。dは、粘性パラメーターである。kは、弾性パラメーターである。各パラメーターm、d、kは、教示装置50から得られる。各パラメーターm、d、kは、方向毎に異なる値に設定される構成であってもよく、方向にかかわらず共通の値に設定されてもよい。
式(1)において、Δfs(t)は、目標力fstに対する作用力fsの偏差である。tは、時間を表す。目標力fstは、ロボット20が行う工程において、一定値として設定されてもよく、時間に依存する関数によって設定されてもよい。式(1)における微分とは、時間による微分を意味する。
式(1)から得られる力由来補正量ΔSとは、TCPが機械的インピーダンスによる作用力fsを受けた場合に、目標力fstと作用力fsとの力偏差Δfs(t)を解消して目標力fstを達成するために、TCPが移動すべき変位を意味する。ここで、「変位」は、直線進距離および/または回転角で表される。
動作制御装置30は、目標位置Stに、力由来補正量ΔSを加算することにより、インピーダンス制御を考慮した補正目標位置(St+ΔS)を特定する(図2の中段右側参照)。
動作制御装置30は、対応関係Uに基づいて、ロボット座標系RCにおける6つの方向(X軸方向、Y軸方向、Z軸方向、角度位置RXの方向、角度位置RYの方向、角度位置RZの方向)それぞれについての補正目標位置(St+ΔS)を、モーターM1~M6それぞれの目標の駆動位置である目標角度Dtに変換する(図2の中段右側参照)。
動作制御装置30は、エンコーダーE1~E6の出力が示すモーターM1~M6の回転角度Daと、制御目標である目標角度Dtと、を一致させるフィードバック制御を実行する。より具体的には、動作制御装置30は、回転角度Daと目標角度Dtとの偏差De、その偏差Deの積分、およびその偏差Deの微分を使用して、位置についてのPID制御を実行する。図2において、比例ゲインKpp、積分ゲインKpi、微分ゲインKpdを示す(図2の中央部参照)。
動作制御装置30は、上記Kpp,Kpi,Kpdを使用した位置についてのPID制御の出力と、回転角度Daの微分との偏差、その偏差の積分、その偏差の微分を使用して、速度についてのPID制御を実行する。図2において、比例ゲインKvp、積分ゲインKvi、微分ゲインKvdを示す(図2の中段左側参照)。
以上の処理の結果、モーターM1~M6の制御量Dcが決定される。動作制御装置30は、各モーターM1~M6の制御量Dcで、各モーターM1~M6を制御する。
以上のような処理により、動作制御装置30は、目標位置Stと目標力fstとに基づいてアームAを制御することができる。
A3.教示装置50における処理:
(1)力制御パラメーターの初期値の決定と設定値の決定:
図3は、力制御を含む動作のパラメーターを決定する際の処理を示すフローチャートである。力制御を含む動作は、力検出部21(図1参照)によって検出される力の大きさに基づいて行われる。力制御を含む動作のパラメーターには、質量パラメーターm、粘性パラメーターd、弾性パラメーターkが含まれる。以下では、質量パラメーターm、粘性パラメーターd、弾性パラメーターkを、「力制御パラメーター」と総称する。
ステップS20において、ロボット制御装置25(図1参照)を使用して、力制御を含む動作を実行すべき位置および姿勢、ならびに生じさせるべき力(トルクを含む)の向きおよび大きさに応じて、力制御パラメーターの初期値が決定される。その後、ステップS40において、力制御パラメーターの初期値に基づいて、ロボット制御装置25によロボット20を動かして、力制御パラメーターの設定値が決定される。ステップS40の処理を、ロボット20に対する「教示」とも呼ぶ。ステップS40の後、処理は終了する。以下、図3の処理によって力制御パラメーターを決定される動作を、「対象動作」と呼ぶ。
(2)力制御パラメーターの初期値の決定:
図4は、力制御パラメーターの初期値を決定する際の処理を示すフローチャートである(図3のS20参照)。図4の処理は、具体的には、教示装置50のCPU50aによって実行される。ステップS120において、ユーザーは、教示装置50に、対象動作を開始すべきTCPの位置およびエンドエフェクターEの姿勢を表す位置情報を入力する。「対象動作を開始すべき位置およびエンドエフェクターEの姿勢」は、たとえば、力制御において、力検出部21に対して力が作用するようにアームAを制御する直前のTCPの位置および姿勢や、加工具を把持したエンドエフェクターEによって他の物体を加工する直前の位置および姿勢等である。位置情報は、具体的には、ロボット座標系RCのX軸方向の位置、Y軸方向の位置、Z軸方向の位置、X軸周りの回転の角度位置RX、Y軸周りの回転の角度位置RY、Z軸周りの回転の角度位置RZの組み合わせである。
ユーザーは、教示装置50に、対象動作を実行する際にワークWに加えるべき目標力fstの方向と大きさを表す力情報を入力する。力情報は、具体的には、ロボット座標系RCのX軸方向の力成分、Y軸方向の力成分、Z軸方向の力成分、角度位置RXの方向のトルク成分、角度位置RYの方向のトルク成分、角度位置RZの方向のトルク成分の組み合わせによって特定される。ただし、本実施形態のステップS120においては、目標力fstの方向として、上記の6つの方向のうちのいずれか一つの方向が選択的に入力されるように、教示装置50は構成されている。また、目標力fstの大きさとして、任意の数値が入力されるように、教示装置50が構成されている。目標力fstの大きさは、正の値と負の値を取りうる。
位置情報および力情報の具体的な値は、対象動作に基づいて一意に決まる値である。このため、力制御パラメーターの設定に熟練していないユーザーでも、これらの値は入力可能である。これらの値は、入力装置57(図1参照)を介して教示装置50に入力される。入力された位置情報と力情報は、対象動作を識別することができる情報と対応づけられて、受付部53によって、RAM50bに格納される。ステップS120において、位置情報および力情報を受け付ける教示装置50の機能部を、図2において、「受付部53」として示す。
図4のステップS140において、ユーザーは、教示装置50に、エンドエフェクターEの情報と、ワークWの情報と、を入力する。エンドエフェクターEの情報は、(i)エンドエフェクターEの重量の情報と、(ii)アームAの先端の位置と、アームAに取りつけられたエンドエフェクターEの重心位置と、の相対位置関係の情報と、を含む。これらの情報を、「エンドエフェクター情報」と呼ぶ。
ワークWの情報は、(i)ワークWの重量の情報と、(ii)対象動作においてワークWがエンドエフェクターEに把持された際のワークWの重心位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報と、(iii)対象動作においてワークWがエンドエフェクターEに把持された際のエンドエフェクターEとワークWの接触点の位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報と、を含む。これらの情報を、「ワーク情報」と呼ぶ。
エンドエフェクター情報とワーク情報とは、対象動作を識別するための情報と対応づけられて、教示装置50のRAM50bに格納される。RAM50b内のエンドエフェクター情報を、図1において「エンドエフェクター情報Ie」として示す。RAM50b内のワーク情報を、図1において「ワーク情報Iw」として示す。
エンドエフェクター情報およびワーク情報の具体的な値も、対象動作に基づいて決まる値である。このため、力制御の動作パラメーターの設定に熟練していないユーザーでも、これらの値は入力可能である。これらの値は、教示装置50の入力装置57を介して入力される。ステップS140において、エンドエフェクターEの情報と、ワークWの情報と、を受け付ける教示装置50の機能部は、受付部53である。
図4のステップS160において、教示装置50は、動作制御装置30のRAM30b(図1参照)から、ロボット20のハードウェア構成に関する固有情報Icを取得する。ロボット20の固有情報Icは、具体的には、(i)隣り合う関節同士の間の長さ(すなわち、リンクL1~リンクL5の長さ)、(ii)リンクL1~リンクL5の重量、(iii)関節J1~J6の剛性である。なお、「関節の剛性」とは、関節の回転角度がある値に設定されている状態で、その関節を中心とする回転力を外部から受けた場合に、どの程度、その関節の回転角度がずれるかを示す値である。これらの値は、ロボット20に固有の値である。これらの値は、動作制御装置30のRAM30bにあらかじめ格納されている。ステップS160において、ロボット20の固有情報Icを取得する教示装置50の機能部を、図2において、「取得部55」として示す。
教示装置50は、位置情報(S120参照)と、エンドエフェクター情報およびワーク情報(S140参照)と、固有情報Icと、に基づいて、位置情報が表す位置にTCPがある状態での、エンドエフェクターEとワークWの接触点における、X軸方向、Y軸方向、Z軸方向についての剛性を求める。接触点におけるX軸方向の剛性とは、接触点においてX軸方向に沿った力をロボット20が受けた場合に、接触点がどの程度ずれるかを示す値である。Y軸方向の剛性およびZ軸方向の剛性も、Y軸方向およびZ軸方向についての同様の概念である。
教示装置50は、上記の各情報に加えて、動作制御装置30のRAM30bに格納されているモーターM1~M6の角度位置の組み合わせとロボット座標系RCにおけるTCPの位置との対応関係U(図2参照)を参照して、接触点における、X軸方向、Y軸方向、Z軸方向についての剛性を求める。
ステップS180において、教示装置50は、X軸方向、Y軸方向、Z軸方向についての剛性と、力情報(S120参照)が含む力の向きの情報と、に基づいて、接触点における力を加える方向についてのロボット20の剛性を計算する。力を加える方向についての剛性は、対象動作を識別するための情報と対応づけられて、教示装置50のRAM50bに格納される。RAM50b内に格納された、接触点における力を加える方向についてのロボット20の剛性の情報を、図1において「第1動作の剛性Is1」として示す。
教示装置50は、接触点における力を加える方向についての剛性と、対象動作において加える力の大きさとに基づいて、対象動作において力を加える方向についての質量パラメーターm、粘性パラメーターd、弾性パラメーターkの初期値を決定する。なお、本実施形態においては、弾性パラメーターkの初期値は、一定値に設定される。
教示装置50は、対象動作についての質量パラメーターm、粘性パラメーターd、および弾性パラメーターkの初期値を、対象動作を識別するための情報と対応づけて、教示装置50のRAM50bに格納する。RAM50b内に格納された質量パラメーターm、粘性パラメーターd、および弾性パラメーターkの初期値を、図1において「力制御パラメーターの初期値Iv1」として示す。ステップS160,S180において、質量パラメーターm、粘性パラメーターd、および弾性パラメーターkの初期値を決定し、RAM50bに格納する教示装置50の機能部を、図2において、「初期値決定部56」として示す。ステップS180の後、処理は終了する。
(3)力制御パラメーターの設定値の決定:
図5は、力制御パラメーターの設定値を決定する際の処理を示すフローチャートである(図3のS40参照)。ステップS500において、教示装置50は、力制御を含む対象動作の開始位置までTCPを移動させる。対象動作の開始位置は、図5の力制御パラメーターの決定の処理に先立って、あらかじめ入力されている。
ステップS510において、教示装置50は、GUI(Graphical User Interface)であるメイン画面を、出力装置58に表示する。
図6は、図5のステップS510においてにおいて表示されるメイン画面を示す図である。メイン画面には、入力窓N1~入力窓N6と、グラフ領域G1及びグラフ領域G2と、動作ボタンB1及び決定ボタンB2とが含まれている。
入力窓N1は、目標力fstの方向を受け付けるためのユーザーインターフェイスである。入力窓N2は、目標力fstの大きさを受け付けるためのユーザーインターフェイスである。入力窓N1,N2には、図4のS120で入力された力情報に基づいて、目標力fstの方向と目標力fstの大きさとが、それぞれ表示されている。
入力窓N3は、弾性パラメーターkを受け付けるためのユーザーインターフェイスである。入力窓N4は、粘性パラメーターdを受け付けるためのユーザーインターフェイスである。入力窓N5は、質量パラメーターmを受け付けるためのユーザーインターフェイスである。入力窓N3~N5には、図4の処理で決定された質量パラメーターm、粘性パラメーターd、および弾性パラメーターkの初期値が、それぞれ表示されている。入力窓N6は、力制御パラメーターの値の組み合わせに対応付けられる候補識別情報の選択を受け付けるためのユーザーインターフェイスである。
グラフ領域G1は、ユーザーが入力した力制御パラメーターの組み合わせに基づいてロボット20を動作させ測定された作用力fsの時間応答の波形を示す領域である。グラフ領域G2は、力制御パラメーターの組み合わせと対応づけられて教示装置50のRAM50bに記憶されている、作用力fsの時間応答の波形Wdを示す領域である。
動作ボタンB1は、入力窓N3~N5に入力された力制御パラメーターの組み合わせの候補にしたがってロボット20を動作させ、作用力fsの時間応答波形のグラフをグラフ領域G1に表示させるためのボタンである。決定ボタンB2は、入力窓N6を介して選択されている力制御パラメーターの組み合わせの候補を、力制御パラメーターの設定値として確定させるボタンである。
図5のステップS520において、教示装置50は、メイン画面の入力窓N1,N2を介して目標力fstの方向と、目標力fstの大きさとを受け付ける。より具体的には、入力窓N1を介して、目標力fstの方向として、ロボット座標系RCにおける6つの方向、すなわち、X軸方向、Y軸方向、Z軸方向、U軸方向(X軸周りの回転方向)、V軸方向(Y軸周りの回転方向)、W軸方向(Z軸周りの回転方向)のうちのいずれかの方向が入力される。入力窓N2を介して、目標力fstの大きさを表す任意の数値が入力され得る。目標力fstの大きさは、正の値と負の値を取り得る。なお、本実施形態においては、入力窓N1,N2には、あらかじめ、図4のステップS120で入力された力情報に基づく値が入力されている。ユーザーは、通常は、入力窓N1,N2の入力値を変更する必要はない。ただし、ユーザーは、必要に応じて、入力窓N1,N2に入力されている値を変更することができる。
ステップS530において、教示装置50は、入力窓N3を介して、弾性パラメーターkを受け付ける。教示装置50は、図4の処理で決定された弾性パラメーターkの初期値を、あらかじめRAM50bから読み出して、入力窓N3に提示する。ユーザーは、弾性パラメーターkの初期値を参照しつつ、必要に応じて初期値とは異なる弾性パラメーターkの値を入力窓N3に入力する。このような構成とすることにより、力制御パラメーターの調整に熟練していないユーザーであっても、容易に、弾性パラメーターの設定値を決定することができる。
第1実施形態においては、弾性パラメーターkの値としては、任意の数値が入力され得る。入力された弾性パラメーターkの設定値は、対象動作を識別するための情報と対応づけられて、教示装置50のRAM50bに格納される。
ステップS540において、教示装置50は、受け付けた弾性パラメーターkに対応する1以上の記憶波形Wmをグラフ領域G2(図6参照)において表示する。グラフ領域G2の横軸は、時刻を示す。グラフ領域G2の縦軸は、力の大きさを示す。記憶波形Wmは、入力窓N3を介して設定された弾性パラメーターkに基づいてロボット20が制御された場合に、力検出部21が検出する力fsの時間応答の波形である。記憶波形Wmは、入力窓N1において受け付けられた目標力fstに収束する波形である。
教示装置50のRAM50bは、弾性パラメーターkの値、粘性パラメーターdの値、および質量パラメーターmの値の組み合わせと対応づけて、それらの値の組み合わせにしたがって力制御が行われた場合に力検出部21によって検出される力fsの時間応答を表す記憶波形Wmを記憶している。それぞれの記憶波形Wmは、さらに、ユーザーが理解しやすい候補識別情報と対応付けて記憶されている。
記憶波形Wmは、ロボット20のメーカーが推奨する波形、言い換えれば、ロボット20のメーカーが推奨する力制御パラメーターの設定値の組み合わせに対応する力fsの波形とすることができる。記憶波形Wmは、ロボット20が正常に作業を行った際に実際に測定された波形であってもよい。また、記憶波形Wmは、シミュレーションによって得られた波形であってもよい。
教示装置50は、あらかじめ記憶されている複数の記憶波形Wmの中から、受け付けた弾性パラメーターkと、図4の処理で定められた粘性パラメーターdの初期値、および質量パラメーターmの初期値と、の組み合わせに対応付けられた記憶波形Wm1を選択する。そして、記憶波形Wm1と、記憶波形Wm1に対応づけられた設定識別情報PTR1を、グラフ領域G2に示す。本実施形態においては、説明の便宜のため、設定識別情報PTR1として、「設定1」という名称を示す。
設定識別情報PTR1は、チェックボックスとともに示される。設定識別情報PTR1のチェックボックスはデフォルトでチェックされている。設定識別情報PTR1のチェックボックスのチェックがはずされると、記憶波形Wm1は、グラフ領域G2において表示されなくなる。
教示装置50は、あらかじめ記憶されている複数の記憶波形Wmの中から、受け付けた弾性パラメーターkを所定割合だけ増加させた値と、図4の処理で定められた粘性パラメーターdの初期値、および質量パラメーターmの初期値と、の組み合わせと対応付けられた記憶波形Wm2を選択する。そして、記憶波形Wm2と、記憶波形Wm2に対応づけられた設定識別情報PTR2を、グラフ領域G2に示す。本実施形態においては、説明の便宜のため、設定識別情報PTR2として、「設定2」という名称を示す。
設定識別情報PTR2は、チェックボックスとともに示される。設定識別情報PTR2のチェックボックスは、デフォルトでチェックされていない。設定識別情報PTR2のチェックボックスがチェックされると、記憶波形Wm2は、グラフ領域G2において表示される。
教示装置50は、同様に、あらかじめ記憶されている複数の記憶波形Wmの中から、受け付けた弾性パラメーターkを所定割合だけ減少させた値と、図4の処理で定められた粘性パラメーターdの初期値、および質量パラメーターmの初期値と、の組み合わせと対応付けられた記憶波形Wm3を選択する。そして、記憶波形Wm3と、記憶波形Wm3に対応づけられた設定識別情報PTR3を、グラフ領域G2に示す。本実施形態においては、説明の便宜のため、設定識別情報PTR3として、「設定3」という名称を示す。
設定識別情報PTR3は、チェックボックスとともに示される。設定識別情報PTR3のチェックボックスも、デフォルトでチェックされていない。設定識別情報PTR3のチェックボックスがチェックされると、記憶波形Wm3は、グラフ領域G2において表示される。
図6に示した例では、ユーザーは、設定識別情報PTR1に対応付けられたチェックボックスのみをチェックしている。このため、図6に示したグラフ領域G2には、設定識別情報PTR1に対応付けられた記憶波形Wm1のみが表示されている。
弾性パラメーターkの変化は、粘性パラメーターdの変化および質量パラメーターmの変化に比べて、力fsの波形、より具体的には力fsのグラフの傾きに、大きく影響する。このため、グラフ領域G2においては、記憶波形Wm1に加えて、入力された弾性パラメーターkに対して、所定割合だけ値を変化させた弾性パラメーターkに対応する二つの記憶波形Wm2,Wm3が、ユーザーの入力に応じて、表示される。
ユーザーは、グラフ領域G2において表示される記憶波形Wm1~Wm3を見て、再度、入力窓N3に弾性パラメーターkを入力し直すことができる(図5のS530参照)。その場合には、ステップS530,S540の処理が、再度、実行される。
ステップS550において、教示装置50は、入力窓N4を介して、粘性パラメーターdを受け付ける。ただし、教示装置50は、図4の処理で決定された粘性パラメーターdの初期値を、あらかじめRAM50bから読み出して、入力窓N4に提示する。ユーザーは、粘性パラメーターdの初期値を参照しつつ、必要に応じて初期値とは異なる粘性パラメーターdの値を入力窓N4に入力する。このような構成とすることにより、力制御パラメーターの調整に熟練していないユーザーであっても、容易に、粘性パラメーターの設定値を決定することができる。
第1実施形態においては、粘性パラメーターdの値としては、任意の数値が入力され得る。入力された粘性パラメーターdの設定値は、対象動作を識別するための情報と対応づけられて、教示装置50のRAM50bに格納される。
ステップS555において、教示装置50は、入力窓N5を介して、質量パラメーターmを受け付ける。ただし、教示装置50は、図4の処理で決定された質量パラメーターmの初期値を、あらかじめRAM50bから読み出して、入力窓N5に提示する。ユーザーは、質量パラメーターmの初期値を参照しつつ、必要に応じて初期値とは異なる質量パラメーターmの値を入力窓N5に入力する。このような構成とすることにより、力制御パラメーターの調整に熟練していないユーザーであっても、容易に、質量パラメーターの設定値を決定することができる。
第1実施形態においては、質量パラメーターmの値としては、任意の数値が入力され得る。入力された質量パラメーターmの設定値は、対象動作を識別するための情報と対応づけられて、教示装置50のRAM50bに格納される。
ステップS560において、教示装置50は、弾性パラメーターk、粘性パラメーターd、質量パラメーターmの組み合わせの候補を決定する。具体的には、以下の組み合わせが、候補として決定される。(i)ステップS530で受け付けた弾性パラメーターkと、ステップS550で受け付けた粘性パラメーターdと、ステップS555で受け付けた質量パラメーターmと、の組み合わせ。(ii)ステップS530で受け付けた弾性パラメーターkと、ステップS550で受け付けた粘性パラメーターdを所定割合だけ増加させた値と、ステップS555で受け付けた質量パラメーターmを前記所定割合だけ増加させた値と、の組み合わせ。(iii)ステップS530で受け付けた弾性パラメーターkと、ステップS550で受け付けた粘性パラメーターdを前記所定割合だけ減少させた値と、ステップS555で受け付けた質量パラメーターmを前記所定割合だけ減少させた値と、の組み合わせ。
ステップS570において、動作ボタンB1を押されると、教示装置50は、ステップS560で決定された力制御パラメーターの組み合わせの候補にしたがって、ステップS580,S590の処理を繰り返し行う。なお、ワークWは、ステップS580の処理に先立って、あらかじめ作業台T上の対象動作の開始時の位置に配されるものとする。
ステップS580において、教示装置50は、力制御パラメーターの組み合わせの候補の一つに基づいてアームAに所定の動作を行わせる。すなわち、教示装置50は、対象動作の開始位置を表す位置情報と、目標力fstの方向および大きさを表す力情報と、ステップS560において決定された候補値としての力制御パラメーターと、を動作制御装置30に出力し、それらの値に基づいてアームAに所定の動作を行わせるように動作制御装置30に対して指令する。
図6の例においては、エンドエフェクターEが所定の動作として-Z方向に移動し、-Z方向においてエンドエフェクターEが他の物体に接触してメイン画面において設定された大きさの力fsが力検出部21によって検出されるようにアームAが制御される(図6のN1,N2参照)。
動作制御装置30がアームAを制御している間、教示装置50は、所定のサンプリング周期で測定された重力補償後の力fsを、動作制御装置30から取得する(図2の右下部参照)。そして、教示装置50は、取得した力fsをRAM50bに格納する。
ステップS590において、教示装置50は、RAM50bに格納した力fsに基づく検出波形を、対象動作に使用された組み合わせ候補に対応する候補識別情報とともにグラフ領域G1に表示する。検出波形は、力検出部21によって検出された作用力fsの時間応答波形である。グラフ領域G1の縦軸と横軸は、本実施形態において、グラフ領域G2の縦軸と横軸と同じスケールである。検出波形は、入力窓N1において受け付けられた目標力fstに収束する波形である。
力制御パラメーターの組み合わせの候補のそれぞれについて、ステップS580,S590の処理が実行され、グラフ領域G1には3個の検出波形Wd1,Wd2,Wd3が、候補識別情報SR1,SR2,SR3とともに表示される(図6参照)。本実施形態においては、説明の便宜のため、候補識別情報SR1,SR2,SR3として、「設定1」、「設定2」、「設定3」いう名称を示す。なお、RAM50b内に格納されている検出波形Wd1,Wd2,Wd3のデータを、図2において、まとめて「検出波形Wd」として示す。
ユーザーは、グラフ領域G1において表示されたチェックボックスの中から1以上のチェックボックスにチェックを入れることにより、チェックしたチェックボックスに対応付けられた検出波形をグラフ領域G1に表示させることができる。そして、チェックボックスのチェックをはずすことにより、チェックを外されたチェックボックスに対応付けられた検出波形をグラフ領域G1に表示させないようにすることができる。なお、グラフ領域G1に表示されるチェックボックスには、デフォルトでチェックが入れられている。
このような処理により、ユーザーは、力制御パラメーターの値を変化させた場合に検出波形がどのように変化するのかを容易に視認し、かつ比較することができる。図6の例では、ユーザーは、候補識別情報SR1~SR3に対応付けられたチェックボックスにチェックを入れている。このため、グラフ領域G1には、候補識別情報SR1~SR3にそれぞれ対応付けられた検出波形Wd1~Wd3が表示されている。
図5のステップS600において、教示装置50は、入力窓N6を介して、ユーザーから候補識別情報の選択を受け付ける。すなわち、ユーザーは、グラフ領域G1に表示された検出波形Wd1,Wd2,Wd3を見て、そのうちの一つを選択し、選択したグラフに対応する候補識別情報を、入力窓N6を介して、教示装置50に入力する。入力窓N6は、グラフ領域G1に表示されている候補識別情報SR1~SR3のいずれかの候補識別情報(ここでは、「候補1」~「候補3」)を選択的に入力できるように構成されている。図6の例では、入力窓N6には、候補識別情報SR1が入力されている。
ステップS610において、教示装置50は、決定ボタンB2がONされたか否かを判定する。決定ボタンB2が操作されない場合、処理は、ステップS600に戻る。決定ボタンB2が操作された場合、処理は、ステップS620に進む。
ステップS620において、教示装置50は、入力窓N6において受け付けた候補識別情報に対応する力制御パラメーターの組み合わせを、候補識別情報に対応付けられた検出波形とともに、対象動作を識別するための情報と対応付けて、RAM50bに格納する。また、教示装置50は、入力窓N6において受け付けた候補識別情報に対応する力制御パラメーターの組み合わせを、対象動作を識別するための情報とともに動作制御装置30に出力する。動作制御装置30は、両者を対応づけてRAM30bに記憶する。ステップS620においてRAM50bおよびRAM30b内に格納された質量パラメーターm、粘性パラメーターd、および弾性パラメーターkの設定値を、「力制御パラメーターの設定値SV」として示す。
力制御パラメーターの初期値をユーザーに提示し、対象動作の力制御において使用されるべき力制御パラメーターの設定値を受け取って、記憶部としてのRAM50bおよびRAM30bに記憶させる教示装置50の機能部(図5、ならびに図6のN3~N5,B1,B2参照)を、「設定部54」として図2に示す。ステップS620の後、処理は終了する。
各種の設定が完了した後、動作制御装置30のCPU30aは、RAM30bに記憶されている質量パラメーターm、粘性パラメーターd、弾性パラメーターkの設定値に基づいて、力制御の開始位置において行われるロボット20の対象動作の制御を行う。
本実施形態においては、対象動作に基づいて決まる値を教示装置50に入力することにより、教示装置50があらかじめ力制御パラメーターの初期値を決定する(図4のS180参照)。そして、力制御パラメーターの設定値の決定に際して、それらの初期値がユーザーに提示される(図5のS530,S550,S555、ならびに図6のN3~N5参照)。このため、力制御パラメーターの調整に熟練していないユーザーであっても、容易に、力制御において使用されるべきパラメーターの設定値を決定することができる。
(4)ある動作の設定値に基づく他の動作の力制御パラメーターの初期値の決定:
以下では、すでにある動作について、力制御パラメーターの設定値が決定されている場合に(図4および図5参照)、動作を開始すべき位置のみが異なる別の動作の力制御パラメーターの初期値を決定する際の処理を説明する。すでに力制御パラメーターの設定値が決定されている動作を、「第1動作」と呼ぶ。新たに力制御パラメーターの初期値が決定される対象動作を、「第2動作」と呼ぶ。
図7は、第1動作の力制御パラメーターの設定値に基づいて、第2動作の力制御パラメーターの初期値を決定する際の処理を示すフローチャートである(図3のS20参照)。ステップS220において、ユーザーは、教示装置50に、第2動作を開始すべき位置を表す位置情報を入力する。なお、第2動作を開始する際のエンドエフェクターEの姿勢は、第1動作を開始する際のエンドエフェクターEの姿勢と同じであるものとする。第2動作の位置情報を、「第2位置情報」と呼ぶ。
第2動作を実行する際にワークWに加えるべき目標力fstの方向と大きさは、第1動作を実行する際にワークWに加えるべき目標力fstの方向と大きさと、同じである(図4のS120参照)。また、エンドエフェクター情報とワーク情報は、すでに、第1動作についての初期値の設定において、入力され、RAM50bに格納されている(図4のS140参照)。
ステップS260において、教示装置50は、動作制御装置30のRAM30b(図1参照)から、ロボット20の固有情報Icを取得する。また、教示装置50は、教示装置50のRAM50bから、エンドエフェクター情報と、ワーク情報とを取得する。
ステップS260において、教示装置50は、第2位置情報(S220参照)と、エンドエフェクター情報およびワーク情報と、固有情報Icと、に基づいて、第2位置情報が表す位置にTCPがある状態での、エンドエフェクターEとワークWの接触点における、X軸、Y軸、Z軸についての剛性を求める。ステップS260の処理は、対象動作が第2動作である点、およびエンドエフェクター情報とワーク情報とをRAM50bから取得する点を除いて、図4のステップS160の処理と同じである。
ステップS280において、教示装置50は、X軸、Y軸、Z軸についての剛性(S260参照)と、力情報(S120参照)と、に基づいて、接触点における力を加える方向についてのロボット20の剛性を計算する。得られた力を加える方向についての剛性は、第2動作を識別するための情報と対応づけられて、教示装置50のRAM50bに格納される。RAM50b内に格納された剛性の情報を、図1において「第2動作の剛性Is2」として示す。
教示装置50は、以下の情報に基づいて、第2動作の質量パラメーターm、粘性パラメーターd、弾性パラメーターkの初期値を決定する。(i)第2動作における接触点における力を加える方向についての剛性(図1のIs2参照)。(ii)RAM50bに格納されている第1動作における剛性(図4のステップS180および図1のIs1参照)。(iii)RAM50bに格納されている第1動作についての質量パラメーターm、粘性パラメーターd、弾性パラメーターkの初期値(図5のステップS180および図1のIv1参照)。
より具体的には、教示装置50は、(i)第1動作における剛性に対する、第2動作における剛性の比Rと、(ii)第1動作における質量パラメーターm、粘性パラメーターd、弾性パラメーターkの初期値と、に基づいて、第2動作についての質量パラメーターm、粘性パラメーターd、弾性パラメーターkの初期値を決定する。第2動作についての質量パラメーターm、粘性パラメーターd、弾性パラメーターkの初期値は、第1動作についての質量パラメーターm、粘性パラメーターd、弾性パラメーターkの初期値にそれぞれ上記比Rを掛けた値として、決定される。
教示装置50は、第2動作についての質量パラメーターm、粘性パラメーターd、および弾性パラメーターkの初期値を、第2動作を識別するための情報と対応づけて、教示装置50のRAM50bに格納する。RAM50b内に格納された第2動作の質量パラメーターm、粘性パラメーターd、および弾性パラメーターkの初期値を、図1において「力制御パラメーターの初期値IV2」として示す。ステップS260,S280において、第2動作の質量パラメーターm、粘性パラメーターd、および弾性パラメーターkの初期値を決定し、RAM50bに格納する教示装置50の機能部は、「初期値決定部56」である(図2)。ステップS280の後、処理は終了する。
第2動作についての力制御パラメーターの設定値の決定は、第1動作についての力制御パラメーターの設定値の決定と同様に行われる(図5参照)。
このような処理を行うことにより、すでに決定されている第1動作の初期値を利用して、第1動作とは異なる位置で行われる第2動作の力制御において使用されるべき力制御パラメーターの初期値を、簡易な処理で決定することができる。たとえば、同じ動作を異なる場所で行う場合や、レイアウトを変更するために、動作の位置を変更する場合などに、短時間で新たな設定値を決定することができる。
本実施形態において、第1動作を開始すべきTCPの位置およびエンドエフェクターEの姿勢を、「第1位置」とも呼ぶ。「第1位置」を表す位置情報を、「第1位置情報」とも呼ぶ。固有情報Icを記憶している動作制御装置30のRAM30bを、「記憶部」とも呼ぶ。力制御パラメーターの初期値を記憶する教示装置50のRAM50bを、「記憶部」とも呼ぶ。質量パラメーターmを「質量係数」とも呼ぶ。粘性パラメーターdを「粘性係数」とも呼ぶ。弾性パラメーターkを「弾性係数」とも呼ぶ。
力制御パラメーターの設定値を記憶する教示装置50のRAM50bおよび動作制御装置30のRAM30bを、「記憶部」とも呼ぶ。動作制御装置30のCPU30aを、「動作制御部」とも呼ぶ。ワークWを、「対象物」とも呼ぶ。エンドエフェクター情報Ieとワーク情報Iwとを、まとめて「選択情報」とも呼ぶ。
本実施形態において、第2動作を開始すべきTCPの位置およびエンドエフェクターEの姿勢を、「第2位置」とも呼ぶ。「第2位置」を表す位置情報を、「第2位置情報」とも呼ぶ。
B.第2実施形態:
第2実施形態においては、教示装置50における力制御パラメーターの設定値の決定の処理が、第1実施形態とは異なる。具体的には、図5のステップS530,S550,S555内の処理において、メイン画面(図6)においてなされる表示が異なる。第2実施形態の他の点は、第1実施形態と同じである。
図8は、図5のステップS530,S550,S555内の詳細な処理を示すフローチャートである。以下では、ステップS550の処理を例に説明する。ステップS551において、ユーザーが、教示装置50によって入力窓N4に表示された初期値10を参照しつつ、入力窓N4に、粘性パラメーターdの設定値を入力する(図6参照)。教示装置50は、入力窓N4を介して粘性パラメーターdの設定値を受け取る。図9の例では、入力窓N4に設定値20が入力されている。
ステップS552において、教示装置50は、受け取った粘性パラメーターdの設定値が、あらかじめ定められた許容範囲であるか否かを判定する。粘性パラメーターdの許容範囲は、粘性パラメーターdの初期値(図4のS180、図7のS280参照)の0.8~1.2倍の範囲である。なお、ステップS552の処理は、粘性パラメーターdの初期値が、図4の処理にしたがって決定されたか、図7の処理にしたがって決定されたか、を問わず実行される。受け取った粘性パラメーターdの設定値が、許容範囲である場合は、処理は、ステップS554に進む。受け取った粘性パラメーターdの設定値が、許容範囲ではない場合は、処理は、ステップS553に進む。
ステップS553において、教示装置50は、メイン画面上にエラーメッセージを表示する。
図9は、図8のステップS553においてにおいて表示されるメイン画面を示す図である。粘性パラメーターdの設定値が入力される入力窓N4と関連づけて、エラーメッセージEMが表示されている。エラーメッセージEMは、ユーザーに、許容範囲内の設定値の入力を促すメッセージである。ここでは、粘性パラメーターdの初期値が10であるため、エラーメッセージEMは、「粘性パラメーターは、8~12で設定してください」という表示を含んでいる。
ステップS553の後、処理は、ステップS551に戻る。
ステップS554において、教示装置50は、入力された粘性パラメーターdの設定値を、対象動作を識別するための情報と対応づけて、教示装置50のRAM50bに格納する。
図5のステップS530における弾性パラメーターkの入力、ステップ555における質量パラメーターの入力も、同様に行われる。
このような処理を行うことにより、ユーザーが、力制御パラメーターについて、初期値とは大きく異なる値を設定値として設定しようとした場合に、ユーザーに、より初期値に近い設定値の再入力を促すことができる。このため、力制御パラメーターの調整に熟練していないユーザーであっても、力制御において使用されるべきパラメーターの設定値を、妥当な値に決定することができる。
たとえば、力制御においては、エンドエフェクターEがワークWに接触して力を加える必要がある。しかし、初心者が力制御パラメーターを設定した場合であって、質量パラメーターや粘性パラメーターが望ましい値に対して大きすぎると、現実的な時間内にエンドエフェクターEがワークWに接触するに至らない場合がある。また、初心者が力制御パラメーターを設定した場合であって、質量パラメーターや粘性パラメーターが望ましい値に対して小さすぎると、エンドエフェクターEが振動して、長時間、振動が収束しない場合がある。しかし、本実施形態の態様とすれば、そのような事態の発生を防止できる。
C.第3実施形態:
図10は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット20およびその動作制御装置30の他に、パーソナルコンピューター400,410と、LANなどのネットワーク環境を介して提供されるクラウドサービス500とが描かれている。パーソナルコンピューター400,410は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス500においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、動作制御装置30および教示装置50を含むロボット制御装置25を実現することが可能である。また、各種の情報を記憶する記憶部も、これらの複数のメモリーの一部または全部を利用して、実現することが可能である。
D.第4実施形態:
図11は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット20の動作制御装置30が、ロボット20の中に格納されている点が図10と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、ロボット20の制御装置を実現することが可能である。また、各種の情報を記憶する記憶部も、複数のメモリーの一部または全部を利用して、実現することが可能である。
E.他の形態:
E1.他の形態1:
(1)上記実施形態においては、弾性パラメーターkの初期値は固定値である。しかし、弾性パラメーターkの初期値は、ロボットの固有情報と対象動作の位置情報とに基づいて、定めることができる。
また、上記実施形態においては、粘性パラメーターdと質量パラメーターmの両方の初期値が、ロボットの固有情報と対象動作の位置情報とに基づいて、定められる。しかし、粘性係数と質量係数の一方の初期値のみを、ロボットの固有情報と対象動作の位置情報とに基づいて定め、他方の初期値については、ロボットの固有情報と対象動作の位置情報と以外の要素に基づいて定めることもできる。また、他方の初期値については、固定値とすることもできる。
(2)上記実施形態においては、ロボット20は、6軸の垂直多関節型ロボットである。しかし、制御装置に制御されるロボットは、スカラロボットや、直角座標ロボット等の他のロボットであってもよい。また、アームAは、5個以下の軸を備える構成であってもよく、7個以上の軸を備える構成であってもよい。
(3)対象動作の目標位置Stは、ユーザーがアームAを手で移動させることによりロボットシステム1に教示してもよく、ロボット制御装置を介して座標を指定することにより教示されてもよい。また、対象動作の位置を表す位置情報は、直交座標系で指定されてもよく、各関節の角度位置で指定されてもよい。
対象動作を開始すべき位置およびエンドエフェクターEの姿勢(図4のS120参照)も、ユーザーがアームAを手で移動させることによりロボットシステム1に教示してもよく、ロボット制御装置を介して座標を指定することにより教示されてもよい。また、対象動作を開始すべきTCPの位置およびエンドエフェクターEの姿勢は、直交座標系で指定されてもよく、各関節の角度位置で指定されてもよい。
(4)上記実施形態においては、力制御パラメーターの設定値の入力は、弾性パラメーターk、粘性パラメーターd、質量パラメーターmの順で行われる(図5のS530,S550,S555参照)。しかし、各力制御パラメーターの設定値の入力においては、k、d、mのいずれが最初に入力されてもよく、いずれが2番目に入力されてもよい。ただし、弾性係数は、作用力の時間応答の波形に大きな影響を与えるため、弾性係数、粘性係数、質量係数のうち、最初に入力されて決定されることが好ましい。
(5)上記実施形態においては、弾性パラメーターk、粘性パラメーターd、質量パラメーターmの設定値は、独立に入力される(図5のS530,S550,S555参照)。しかし、たとえば、粘性係数と質量係数の一定に設定し、粘性係数と質量係数のいずれか一方、または粘性係数と質量係数のいずれか一方と1対1で対応するパラメーターを入力することとしてもよい。
(6)上記実施形態のステップS120においては、目標力fstの方向として、X軸方向、Y軸方向、Z軸方向、X軸周りの回転方向、Y軸周りの回転方向、Z軸周りの回転方向の6つの方向のうちのいずれか一つの方向が選択的に入力されるように、教示装置50は構成されている。しかし、目標力fstの方向は、X軸方向の力成分、Y軸方向の力成分、Z軸方向の力成分、角度位置RXの方向のトルク成分、角度位置RYの方向のトルク成分、角度位置RZの方向のトルク成分の組み合わせによって特定される態様とすることができる。
(7)上記実施形態においては、力制御パラメーターは、ワークWとEのエンドエフェクターEとの接触点におけるロボット20の剛性に基づいて、定められる。しかし、力制御パラメーターは、TCPなど、他の基準点におけるロボット20の剛性に基づいて、定められることもできる。
(8)上記実施形態においては、力制御パラメーターの初期値および設定値は、動作に先立って、一つの動作に対して一組ずつ設定される。しかし、力制御パラメーターの設定値は、動作を実行中に繰り返し設定されることもできる。そのような態様とすれば、アームの姿勢に応じた力制御パラメーターの設定値を、適切に設定することができる。ただし、力制御パラメーターの設定値は、動作に先立って、一つの動作に対して一組だけ設定され、動作中は一貫してその設定値が使用されてもよい。
(9)上記実施形態においては、力検出部21として、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーが、アームAの先端に取りつけられている(図1参照)。しかし、力検出部は、たとえば、互いに直交する3個の検出軸上の力の大きさを検出する3軸センサーとすることもできる。そのような態様においては、入力窓N1で受け付けることができる目標力fstの方向(図6および図5のS520参照)は、たとえば、ロボット座標系RCにおけるX軸方向、Y軸方向、Z軸方向の3つの方向のうちのいずれかの方向となる。
また、力検出部は、支持台BとリンクL1の間など、アームAの先端以外のロボットの他の部位に設けられていてもよい。さらに、ロボットの各関節に配されたモーターのトルクから、TCPにおける3軸方向の力や3軸周りのトルクを計算して、力検出部の機能を実現することもできる。
E2.他の形態2:
上記実施形態においては、力制御パラメーターの初期値の設定(図4のS160,S180、ならびに図7のS260,S280参照)に先立って、エンドエフェクター情報Ieとワーク情報Iwとが入力される(図4のS140参照)。しかし、エンドエフェクター情報Ieとワーク情報Iwの一方または両方が入力されない態様とすることもできる。そのような態様においても、対象動作によらず初期値が一定に設定される態様に比べれば、好ましい設定値に近い初期値を設定することができる。
上記実施形態においては、エンドエフェクター情報は、(i)エンドエフェクターEの重量の情報と、(ii)アームAの先端の位置と、アームAに取りつけられたエンドエフェクターEの重心位置と、の相対位置関係の情報と、を含む。しかし、エンドエフェクター情報は、エンドエフェクターの剛性の情報を含む態様とすることができる。エンドエフェクターの剛性の情報は、接触点またはTCPにおける、X軸、Y軸、Z軸の各方向についての剛性として、表されることができる。また、エンドエフェクターの剛性の情報は、接触点またはTCPにおける、力制御において加えられる力の方向についての剛性として、表されることができる。そのような態様においては、教示装置50は、図4のS160および図7のS260において、エンドエフェクターの剛性の情報も考慮して、接触点における、ロボットのX軸、Y軸、Z軸についての剛性を求める。
上記実施形態においては、ワーク情報は、以下を含む。(i)ワークWの重量の情報。(ii)対象動作においてワークWがエンドエフェクターEに把持された際のワークWの重心位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報。(iii)対象動作においてワークWがエンドエフェクターEに把持された際のエンドエフェクターEとワークWの接触点の位置と、エンドエフェクターEの重心位置と、の相対位置関係の情報。
しかし、ワーク情報は、対象物としてのワークの剛性の情報を含む態様とすることができる。対象物の剛性の情報は、接触点またはTCPにおける、X軸、Y軸、Z軸の各方向についての剛性として、表されることができる。また、対象物の剛性の情報は、接触点またはTCPにおける、力制御において加えられる力の方向についての剛性として、表されることができる。そのような態様においては、教示装置50は、図4のS160および図7のS260において、ワークの剛性の情報も考慮して、接触点における、ロボットのX軸、Y軸、Z軸についての剛性を求める。
また、力制御パラメーターの初期値の設定に先立って、選択情報の一態様として、ワークWが置かれる作業台TのZ軸方向の剛性が入力され、その情報に基づいて、力制御パラメーターの初期値を設定することもできる。また、ワークが所定のジグに取りつけられる場合には、ジグのX方向、Y方向、Z軸方向の剛性が入力され、それらの剛性の情報に基づいて、力制御パラメーターの初期値を設定することもできる。
また、力制御パラメーターの初期値の設定に先立って、選択情報の一態様として、作業台の剛性を表す数値の情報に代えて、作業台の素材を表す情報を入力する態様とすることもできる。そのような態様においては、素材と対応づけられた剛性の情報を参照して、力制御において力が加えられる方向の剛性、さらに、力制御パラメーターを得ることができる。
すなわち、ロボット制御装置は、力制御を含む動作においてロボットに取りつけられているエンドエフェクターと、力制御を含む動作においてロボットに処理される対象物と、力制御を含む動作において対象物が置かれる台と、のうちの1以上の構成に関する選択情報が受け付けられる態様とすることができる。
E3.他の形態3:
(1)上記実施形態においては、第1動作の力制御パラメーターの初期値Iv1は、対象動作としての第1動作を識別するための情報と対応づけて、教示装置50のRAM50bに格納される(図4のS180参照)。そして、教示装置50のRAM50bには、対象動作としての第1動作の位置情報も、第1動作を識別するための情報と対応づけて、格納されている。すなわち、第1動作の力制御パラメーターの初期値Iv1は、第1動作を識別するための情報を介して、第1動作の位置情報と対応づけられて、記憶部に格納されている。
しかし、第1動作の力制御パラメーターの初期値は、他の態様で記憶されてもよい。たとえば、第1動作の力制御パラメーターの初期値は、第1動作の位置情報と直接、対応づけられて、記憶されることもできる。すなわち、第1動作の力制御パラメーターの初期値は、直接または間接に、対象動作を開始すべき位置および姿勢を表す位置情報と、対応づけられて、記憶部に格納されていればよい。
(2)上記実施形態において、第2動作は、第1動作とは、動作を開始すべき位置のみが異なる動作である。第2動作は、第1動作に対して、3次元空間内の位置が異なり、エンドエフェクターの姿勢が同じ動作であってもよいし、3次元空間内の位置が同じで、エンドエフェクターの姿勢が異なる動作であってもよいし、3次元空間内の位置とエンドエフェクターの姿勢のそれぞれが同じ動作であってもよい。
(3)上記実施形態において、第2動作の力制御パラメーターの初期値は、第1動作についての力制御パラメーターの初期値(図4のS180参照)に、第1動作における剛性に対する第2動作の剛性の比Rを掛けた値として、決定される(図7のS280参照)。しかし、第2動作の力制御パラメーターは、他の要素に起因するパラメーターを使用して、さらに補正されてもよい。また、剛性の比Rが他の要素に起因するパラメーターを使用して、補正されてもよい。さらに、第2動作の力制御パラメーターは、他の方法で決定されてもよい。
たとえば、第2動作の力制御パラメーターの初期値は、第1動作についての力制御パラメーターの初期値に代えて、設定値(図5のS620参照)に、第1動作の剛性に対する第2動作の剛性の比Rを掛けた値として、決定されることもできる(図7のS280参照)。このような態様とすれば、ユーザーが実際にロボットを動かして決定した第1動作の設定値に基づいて、第2動作の初期値が決定される。このため、より好ましい初期値が設定される可能性が高い。この態様においても、剛性の比Rを掛けて得られる初期値、または剛性の比R自体を、さまざまなパラメーターで補正することができる。
また、力制御パラメーターの一部、すなわち、質量パラメーター、粘性パラメーター、弾性パラメーター個のうちの1または2個のパラメーターについては、剛性の比Rを使用した改変を行わず、第1動作についての値を第2動作についても適用してもよい。また、剛性の比Rを使用した改変をおこなう力制御パラメーターの一部については、他の要素に起因する補正を行い、剛性の比Rを使用した改変をおこなう力制御パラメーターの他の一部については、他の要素に起因する補正を行わない態様とすることもできる。
さらに、剛性の比Rを使用せず、他の態様で、第1動作における剛性と、第2動作における剛性と、を使用して、第1動作の力制御パラメーターの初期値または設定値に基づいて、第2動作の力制御パラメーターの初期値を決定してもよい。
E4.他の形態4:
(1)上記実施形態においては、粘性パラメーターdの許容範囲は、粘性パラメーターdの初期値の0.8~1.2倍の範囲である(図8のS552参照)。しかし、力制御パラメーターの許容範囲の下限は、初期値の0.9倍、初期値の0.7倍など、他の値とすることができる。また、力制御パラメーターの許容範囲の上限は、初期値の1.1倍、初期値の1.3倍など、他の値とすることができる。
さらに、力制御パラメーターの許容範囲は、初期値に対する比で定められる態様に限らず、初期値から一定値を減算した下限や、初期値から一定値を加算した上限を設定することもできる。
また、力制御パラメーターの許容範囲は、弾性係数、粘性係数、質量係数について、独立に設定することができる。一方、初期値に対して掛ける係数を、弾性係数、粘性係数、質量係数について、統一することもできる。
(2)上記実施形態においては、入力された設定値が許容範囲を超えている場合は、エラーメッセージEMが表示され、設定値の再入力が促される(図9参照)。しかし、入力された設定値を、ロボット制御装置が強制的に許容範囲内の値に変更した上で、ユーザーに対して、設定値の再入力を促す旨のメッセージ、または、設定値が変更された旨のメッセージを発する態様とすることもできる。また、画像表示(図9のEM参照)ではなく、音声による出力を行うこともできる。また、ロボット制御装置による入力値の変更を行わせるか否かを、チェックボックスへのチェックなどを介して、ユーザーに選択させる態様とすることもできる。
ロボット制御装置は、各力制御パラメーターについて、それぞれの初期値に基づいて定められた許容範囲を個別に持ち、許容範囲内の値に入力値を変更することができる。一方、力を加える方向についての剛性に基づいて、各力制御パラメーターについて、許容範囲を設定することもできる。たとえば、剛性が高い場合には、各力制御パラメーター(たとえば、質量パラメーターと粘性パラメーター)の値またはその許容範囲を大きく設定することが好ましい。そのような態様とすれば、エンドエフェクターが振動しにくくなるように、各力制御パラメーターの値を設定することができる。ただし、剛性が高い場合には、各力制御パラメーター(たとえば、質量パラメーターと粘性パラメーター)の値またはその許容範囲を小さく設定することもできる。
(3)また、入力された設定値が許容範囲を超えている場合は、ロボットの動作を制御する動作制御部が、ロボットの制御の際に参照する記憶部に、入力された設定値を格納しない態様とすることができる。また、入力された設定値が許容範囲を超えている場合にも、動作制御部がロボットの制御の際に参照する記憶部に、入力された設定値を格納する態様とすることもできる。
(4)各種の情報を格納する記憶部は、同一の筐体内に存在する記憶手段であってもよく、互いに通信可能に接続されている複数の構成要素の内部にそれぞれ備えられている記憶手段であってもよい。
F.さらに他の形態:
適用例1
本発明の一形態によれば、外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置が提供される。このロボット制御装置は:前記力検出部によって検出される力の大きさに基づいて行われる力制御を含む第1動作を開始する第1位置を表す第1位置情報を受け付ける受付部と;前記ロボットの構成に関する固有情報と、前記第1位置情報と、に基づいて、前記第1動作の前記力制御において使用される質量係数と粘性係数とのいずれかの初期値を決定し、記憶部に記憶させる初期値決定部と、を備える。
このような態様とすれば、力制御パラメーターの調整に熟練していないユーザーであっても、初期値を利用して、容易に、力制御において使用されるべき質量係数と粘性係数との少なくとも一方の設定値を決定することができる。
なお、上記形態のロボット制御装置は、さらに:前記初期値をユーザーに提示し、前記第1動作の前記力制御において使用されるべき前記少なくとも一方の設定値を受け取って、記憶部に記憶させる設定部と;前記設定値に基づいて、前記ロボットに前記第1動作を行わせる動作制御部と、を備える態様とすることもできる。
適用例2
上記形態のロボット制御装置であって;前記受付部は:前記ロボットに取りつけられているエンドエフェクターと;前記ロボットに処理される対象物と;前記対象物が置かれる台と、のうちの1以上の構成に関する選択情報を受け付けることができ;前記初期値決定部は、前記選択情報に基づいて、前記初期値を決定する、態様とすることもできる。
このような態様とすれば、エンドエフェクターと対象物と台とのうちの1以上の構成に関する選択情報を利用して、より望ましい設定値に近い初期値を決定することができる。このため、力制御パラメーターの調整に熟練していないユーザーであっても、より容易に、力制御において使用されるべき質量係数と粘性係数との少なくとも一方の設定値を決定することができる。
適用例3
上記形態のロボット制御装置であって;前記初期値決定部は、前記初期値を、前記第1位置情報と対応づけて前記記憶部に記憶させ;前記受付部は、前記力制御を含む第2動作を開始する位置であって前記第1位置とは異なる第2位置を表す第2位置情報を受け付け;前記初期値決定部は、前記第1位置情報と対応づけられた前記初期値と、前記第1位置情報と、前記第2位置情報と、に基づいて、前記第2動作の前記力制御において使用される前記いずれかの係数の初期値を決定し、前記第2位置情報と対応づけて前記記憶部に記憶させる、態様とすることもできる。
このような態様とすれば、すでに決定されている第1位置情報と対応づけられた初期値を利用して、第1位置とは異なる第2位置において行われる第2動作の力制御において使用されるべき質量係数と粘性係数との少なくとも一方の初期値を、簡易な処理で決定することができる。
なお、前記設定部は、前記第2動作の前記力制御において使用される前記少なくとも一方の前記初期値をユーザーに提示し、前記第2動作の前記力制御において使用されるべき前記少なくとも一方の設定値を受け取って、前記記憶部に記憶させことができ;前記動作制御部は、前記第2動作の前記力制御において使用されるべき前記少なくとも一方の前記設定値に基づいて、前記ロボットに前記第2動作を行わせることができる、態様とすることもできる。
適用例4
上記形態のロボット制御装置であって、さらに;前記第2動作の前記力制御において使用される前記いずれかの係数の設定値を受け取って、前記記憶部に記憶させる設定部を備え;前記設定部は、前記第2動作の前記力制御において使用される前記いずれかの係数の前記初期値に基づいてあらかじめ定められる範囲内に、前記受け取った設定値が含まれない場合は、エラーメッセージの出力を行う、態様とすることもできる。
このような態様とすれば、ユーザーが、質量係数と粘性係数との少なくとも一方について、初期値とは大きく異なる値を設定値として設定しようとした場合に、ユーザーに、より初期値に近い設定値の再入力を促すことができる。このため、力制御パラメーターの調整に熟練していないユーザーであっても、力制御において使用されるべき質量係数と粘性係数との少なくとも一方の設定値を、妥当な値に決定することができる。
適用例5
上記形態のロボット制御装置であって、さらに;前記第1動作の前記力制御において使用される前記いずれかの係数の設定値を受け取って、前記記憶部に記憶させる設定部を備え;前記設定部は、前記初期値に基づいてあらかじめ定められる範囲内に、前記受け取った設定値が含まれない場合は、エラーメッセージの出力を行う、態様とすることもできる。
このような態様とすれば、ユーザーが、質量係数と粘性係数との少なくとも一方について、初期値とは大きく異なる値を設定値として設定しようとした場合に、ユーザーに、より初期値に近い設定値の再入力を促すことができる。このため、力制御パラメーターの調整に熟練していないユーザーであっても、力制御において使用されるべき質量係数と粘性係数との少なくとも一方の設定値を、妥当な値に決定することができる。
適用例6
本発明の他の形態によれば、上記形態のロボット制御装置と、前記ロボット制御装置によって制御される前記ロボットと、を備えるロボットシステムが提供される。
上述した本発明の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部または全部を解決するため、あるいは、本明細書に記載された効果の一部または全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部または全部を解決するため、あるいは、本明細書に記載された効果の一部または全部を達成するために、上述した本発明の一形態に含まれる技術的特徴の一部または全部を上述した本発明の他の形態に含まれる技術的特徴の一部または全部と組み合わせて、本発明の独立した一形態とすることも可能である。
1…ロボットシステム、20…ロボット、21…力検出部、25…ロボット制御装置、30…動作制御装置、30a…CPU、30b…RAM、30c…ROM、50…教示装置、50a…CPU、50b…RAM、50c…ROM、53…受付部、54…設定部、55…取得部、56…初期値決定部、57…入力装置、58…出力装置、400,410…パーソナルコンピューター、500…クラウドサービス、A…アーム、B…支持台、B1…動作ボタン、B2…決定ボタン、Da…回転角度、Dc…制御量、De…偏差、Dt…目標角度、E…エンドエフェクター、E1~E6…エンコーダー、EM…エラーメッセージ、G1…グラフ領域、G2…グラフ領域、Iv1…第1動作の力制御パラメーターの初期値、IV2…第2動作の力制御パラメーターの初期値、Ic…ロボットの固有情報、Ie…エンドエフェクター情報、Is1…第1動作の力の方向についての剛性、Is2…第2動作の力の方向についての剛性、Iw…ワーク情報、J1~J6…関節、Kpd…微分ゲイン、Kpi…積分ゲイン、Kpp…比例ゲイン、Kvd…微分ゲイン、Kvi…積分ゲイン、Kvp…比例ゲイン、L1~L5…リンク、M1~M6…モーター、N1~N6…入力窓、PTR1~PTR3…設定識別情報、RC…ロボット座標系、RX…角度位置、RY…角度位置、RZ…角度位置、S…位置、SR1~SR3…候補識別情報、SV…対象動作(第1動作)の力制御パラメーターの設定値、St…目標位置、T…ワークWが置かれる台、U…モーターの角度位置とロボット座標系の対応関係、W…ワーク、Wd1~Wd3…検出波形、Wm…記憶波形、Wm1…個別の記憶波形、d…粘性パラメーター、fs…作用力、fst…目標力、k…弾性パラメーター、m…質量パラメーター、ΔS…力由来補正量、Δfs…力偏差

Claims (5)

  1. 外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置であって、
    前記力検出部によって検出される力の大きさに基づいて行われる力制御を含む第1動作を開始する第1位置を表す第1位置情報をユーザーから受け付ける受付部と、
    前記ロボットの構成に関する固有情報と、前記第1位置情報と、に基づいて、前記第1動作の前記力制御において使用される質量係数と粘性係数とのいずれかの初期値を決定し、記憶部に記憶させる初期値決定部と、
    を備え、
    前記初期値決定部は、前記初期値を、前記第1位置情報と対応づけて前記記憶部に記憶させ、
    前記受付部は、前記力制御を含む第2動作を開始する位置であって前記第1位置とは異なる第2位置を表す第2位置情報を受け付け、
    前記初期値決定部は、前記第1位置情報と対応づけられた前記初期値と、前記第1位置情報と、前記第2位置情報と、に基づいて、前記第2動作の前記力制御において使用される前記いずれかの係数の初期値を決定し、前記第2位置情報と対応づけて前記記憶部に記憶させる、ロボット制御装置。
  2. 請求項1記載のロボット制御装置であって、
    前記受付部は、
    前記ロボットに取りつけられているエンドエフェクターと、
    前記ロボットに処理される対象物と、
    前記対象物が置かれる台と、のうちの1以上の構成に関する選択情報を受け付けることができ、
    前記初期値決定部は、前記選択情報に基づいて、前記初期値を決定する、ロボット制御装置。
  3. 請求項記載のロボット制御装置であって、さらに、
    前記第2動作の前記力制御において使用される前記いずれかの係数の設定値を受け取って、前記記憶部に記憶させる設定部を備え、
    前記設定部は、前記第2動作の前記力制御において使用される前記いずれかの係数の前記初期値に基づいてあらかじめ定められる範囲内に、前記受け取った設定値が含まれない場合は、エラーメッセージの出力を行う、ロボット制御装置。
  4. 外部から加えられる力の大きさを検出する力検出部を備えるロボットの動作を制御するロボット制御装置であって、
    前記力検出部によって検出される力の大きさに基づいて行われる力制御を含む第1動作を開始する第1位置を表す第1位置情報をユーザーから受け付ける受付部と、
    前記ロボットの構成に関する固有情報と、前記第1位置情報と、に基づいて、前記第1動作の前記力制御において使用される質量係数と粘性係数とのいずれかの初期値を決定し、記憶部に記憶させる初期値決定部と、
    前記第1動作の前記力制御において使用される前記いずれかの係数の設定値を受け取って、前記記憶部に記憶させる設定部と、を備え、
    前記設定部は、前記初期値に基づいてあらかじめ定められる範囲内に、前記受け取った設定値が含まれない場合は、エラーメッセージの出力を行う、ロボット制御装置。
  5. 請求項1から4のいずれか1項に記載のロボット制御装置と、
    前記ロボット制御装置によって制御される前記ロボットと、
    を備えるロボットシステム。
JP2018085543A 2018-04-26 2018-04-26 ロボット制御装置およびロボットシステム Active JP7135408B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018085543A JP7135408B2 (ja) 2018-04-26 2018-04-26 ロボット制御装置およびロボットシステム
CN201910333152.6A CN110405753B (zh) 2018-04-26 2019-04-24 机器人控制装置以及机器人***
US16/394,384 US11161249B2 (en) 2018-04-26 2019-04-25 Robot control apparatus and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018085543A JP7135408B2 (ja) 2018-04-26 2018-04-26 ロボット制御装置およびロボットシステム

Publications (2)

Publication Number Publication Date
JP2019188555A JP2019188555A (ja) 2019-10-31
JP7135408B2 true JP7135408B2 (ja) 2022-09-13

Family

ID=68292090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018085543A Active JP7135408B2 (ja) 2018-04-26 2018-04-26 ロボット制御装置およびロボットシステム

Country Status (3)

Country Link
US (1) US11161249B2 (ja)
JP (1) JP7135408B2 (ja)
CN (1) CN110405753B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11833681B2 (en) * 2018-08-24 2023-12-05 Nvidia Corporation Robotic control system
DE102019122790B4 (de) * 2018-08-24 2021-03-25 Nvidia Corp. Robotersteuerungssystem
JP2022047658A (ja) * 2020-09-14 2022-03-25 セイコーエプソン株式会社 作業時間提示方法、力制御パラメーター設定方法、ロボットシステムおよび作業時間提示プログラム
JP2022047657A (ja) * 2020-09-14 2022-03-25 セイコーエプソン株式会社 力制御パラメーター調整方法、ロボットシステムおよび力制御パラメーター調整プログラム
JP2022065759A (ja) * 2020-10-16 2022-04-28 セイコーエプソン株式会社 ロボットのパラメーターセットを調整する方法、プログラム、および情報処理装置
JP2022070451A (ja) * 2020-10-27 2022-05-13 セイコーエプソン株式会社 ロボットのパラメーターセットの調整を支援する方法、プログラム、および情報処理装置
JP2022084215A (ja) * 2020-11-26 2022-06-07 セイコーエプソン株式会社 ロボットシステム、ロボットシステムの制御方法、ロボットシステムにおける力制御パラメーターの調整方法
JP2022157883A (ja) * 2021-03-31 2022-10-14 セイコーエプソン株式会社 ロボットの制御方法、ロボットシステムおよびロボット制御プログラム
US20230049155A1 (en) * 2021-08-12 2023-02-16 Ati Industrial Automation, Inc. Gravity and Inertial Compensation of Force/Torque Sensors

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093120A1 (en) 2009-10-20 2011-04-21 Kabushiki Kaisha Yaskawa Denki Apparatus and method for adjusting parameter of impedance control
JP2014128857A (ja) 2012-12-28 2014-07-10 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
US20140379131A1 (en) 2013-06-19 2014-12-25 Gwangju Institute Of Science And Technology Control Method and Device for Position-Based Impedance Controlled Industrial Robot
JP2017030059A (ja) 2015-07-29 2017-02-09 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム
JP2018015857A (ja) 2016-07-29 2018-02-01 セイコーエプソン株式会社 制御装置、及びロボット

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4621332A (en) * 1983-06-20 1986-11-04 Hitachi, Ltd. Method and apparatus for controlling a robot utilizing force, position, velocity, spring constant, mass coefficient, and viscosity coefficient
JP2713899B2 (ja) * 1987-03-30 1998-02-16 株式会社日立製作所 ロボツト装置
DE68923889T2 (de) * 1988-03-01 1996-01-18 Hitachi Construction Machinery Positions-/Kraft-Steuerungsgerät für Werkzeugmaschinen mit mehreren Freiheitsgraden.
JP2770982B2 (ja) * 1989-05-25 1998-07-02 株式会社豊田中央研究所 マニピユレータの位置と力の協調制御装置
JP2008290228A (ja) * 2007-04-24 2008-12-04 Fanuc Ltd 嵌合装置
JP4271249B2 (ja) * 2007-06-14 2009-06-03 ファナック株式会社 嵌合装置
CN102300679B (zh) * 2009-09-28 2014-12-10 松下电器产业株式会社 机器人手臂的控制装置及控制方法、机器人及机器人手臂控制用集成电路
DE102010010718A1 (de) * 2010-03-09 2011-09-15 Kuka Laboratories Gmbh Verfahren zur Montage von Bauteilen mittels eines Industrieroboters
WO2014037999A1 (ja) * 2012-09-04 2014-03-13 株式会社安川電機 ロボットの制御パラメータ調整方法、ロボットシステム、及びロボット制御装置
EP2749974A2 (en) 2012-12-28 2014-07-02 Kabushiki Kaisha Yaskawa Denki Robot teaching system, robot teaching assistant device, and robot teaching method
JP5939202B2 (ja) 2013-06-04 2016-06-22 株式会社安川電機 ロボット教示補助装置、ロボットシステムおよびロボット教示方法
CN108621156B (zh) * 2013-10-10 2021-08-03 精工爱普生株式会社 机器人控制装置、机器人***、机器人以及机器人控制方法
JP6511715B2 (ja) * 2013-10-31 2019-05-15 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及びロボット
US20180188708A1 (en) * 2015-06-16 2018-07-05 Mitsubishi Electric Corporation Command value generator
US10272568B2 (en) * 2015-09-17 2019-04-30 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program, recording medium, and assembly manufacturing method
JP6423815B2 (ja) * 2016-03-30 2018-11-14 ファナック株式会社 人協働型のロボットシステム
JP2018024075A (ja) * 2016-07-27 2018-02-15 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP2018015855A (ja) * 2016-07-29 2018-02-01 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム
JP2018051635A (ja) * 2016-09-26 2018-04-05 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093120A1 (en) 2009-10-20 2011-04-21 Kabushiki Kaisha Yaskawa Denki Apparatus and method for adjusting parameter of impedance control
JP2011088225A (ja) 2009-10-20 2011-05-06 Yaskawa Electric Corp インピーダンス制御パラメータの調整装置および調整方法
JP2014128857A (ja) 2012-12-28 2014-07-10 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
US20140379131A1 (en) 2013-06-19 2014-12-25 Gwangju Institute Of Science And Technology Control Method and Device for Position-Based Impedance Controlled Industrial Robot
JP2017030059A (ja) 2015-07-29 2017-02-09 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム
JP2018015857A (ja) 2016-07-29 2018-02-01 セイコーエプソン株式会社 制御装置、及びロボット

Also Published As

Publication number Publication date
JP2019188555A (ja) 2019-10-31
CN110405753A (zh) 2019-11-05
US11161249B2 (en) 2021-11-02
US20190329415A1 (en) 2019-10-31
CN110405753B (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
JP7135408B2 (ja) ロボット制御装置およびロボットシステム
JP5893666B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP6223640B2 (ja) キャリブレーション装置およびこれを用いたロボットシステム
JP4759660B2 (ja) ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット
JP4271232B2 (ja) ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
JP5946859B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP7124440B2 (ja) ロボット制御装置およびロボットシステム
JP5417161B2 (ja) ロボットの制振方法およびロボットの制御装置
CN106003101B (zh) 机器人控制装置以及机器人***
JP2016187844A (ja) ロボット、ロボット制御装置およびロボットシステム
US11465280B2 (en) Robot control device, robot control method, and robot system
JP2017056525A (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法
JP2006059037A (ja) 溶接ロボット制御装置
JP2020110884A (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP6091272B2 (ja) 多関節ロボットのバネ定数補正装置
JP7348001B2 (ja) ロボットシミュレーション装置
WO2019216416A1 (ja) 撓み量推定装置、ロボット制御装置、及び撓み量推定方法
JP2022157882A (ja) ロボットの制御方法、ロボットシステムおよびロボット制御プログラム
JP6743431B2 (ja) 制御装置、及びロボットシステム
JP2007313612A (ja) 多関節ロボットの制御装置及びその制御方法
WO2022176456A1 (ja) バネ定数補正装置および該方法ならびに記録媒体
JPH058187A (ja) ロボツト
US20240066700A1 (en) Device for simulating operation of robot, device for controlling robot, and method for simulating operation of robot
JP2024076462A (ja) 治具データ生成装置、ロボットコントローラ、ロボットシミュレーション装置、および制御装置
JP2022047658A (ja) 作業時間提示方法、力制御パラメーター設定方法、ロボットシステムおよび作業時間提示プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220405

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: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220815

R150 Certificate of patent or registration of utility model

Ref document number: 7135408

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150