JP6973119B2 - ロボット制御装置及びロボットシステム - Google Patents

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

Info

Publication number
JP6973119B2
JP6973119B2 JP2018011355A JP2018011355A JP6973119B2 JP 6973119 B2 JP6973119 B2 JP 6973119B2 JP 2018011355 A JP2018011355 A JP 2018011355A JP 2018011355 A JP2018011355 A JP 2018011355A JP 6973119 B2 JP6973119 B2 JP 6973119B2
Authority
JP
Japan
Prior art keywords
work
robot
control device
parameter
parameters
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
JP2018011355A
Other languages
English (en)
Other versions
JP2019126894A (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 JP2018011355A priority Critical patent/JP6973119B2/ja
Priority to EP19153471.8A priority patent/EP3517255A3/en
Priority to CN201910070913.3A priority patent/CN110076751B/zh
Priority to US16/257,256 priority patent/US20190232492A1/en
Publication of JP2019126894A publication Critical patent/JP2019126894A/ja
Application granted granted Critical
Publication of JP6973119B2 publication Critical patent/JP6973119B2/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、ロボット制御装置及びロボットシステムに関する。
ティーチングプレイバック方式のロボットでは、教示された結果に基づきロボットの作業を表す制御プログラム(ジョブ)が作成される。ティーチングプレイバック方式とは、教示によって作成された制御プログラムを実行することによって、ロボットを動作させる方式を意味する。制御プログラムを作成する手順は、「ティーチング(教示)」と呼ばれており、従来から様々なティーチング方法が工夫されている。特許文献1では、力検出器を利用した力制御を実行するロボットの制御プログラムを作成するために、ロボットの動作のパラメーターを設定するためのガイダンス情報を教示装置の画面に表示する技術が開示されている。教示者(作業者)は、このガイダンス情報に従ってパラメーターを設定することによりティーチングを行うことが可能である。
特開2014−233814号公報
しかし、従来技術のようなガイダンス情報を表示した場合にもロボットの制御プログラムを作成する作業にはかなりの熟練を要するので、教示者がより簡単に制御プログラムの作成を行える技術が望まれていた。
本発明は、上述の課題を解決するためになされたものであり、以下の形態(aspect)として実現することが可能である。
(1)本発明の第1の形態によれば、力検出器を備えるロボットの作業の制御プログラムを作成するロボット制御装置が提供される。このロボット制御装置は、1つ以上の力制御動作を含む作業の動作フローを作成するための入力画面を表示装置に表示させる表示制御部と、作成された動作フローを制御プログラムに変換する変換部と、前記制御プログラムを実行して前記ロボットを制御する制御実行部と、を備える。前記表示制御部は、前記入力画面として、(a)作業を選択するための複数の選択肢を表示する画面と、(b)前記複数の選択肢から選択された選択作業に関する作業パラメーターを設定するための画面と、(c)前記選択作業の動作フローを表示し、前記動作フローを編集する画面と、を表示させ、前記表示制御部は、前記選択作業について設定された前記作業パラメーターに基づいて、前記力制御動作の動作パラメーターを設定する。
(2)上記ロボット制御装置において、前記動作フローを編集する画面は、動作を示す1つ以上の動作オブジェクトと、条件分岐を示す1つ以上の条件分岐オブジェクトと、がグラフィカルに配置される動作フロー作成領域を含むものとしてもよい。
(3)上記ロボット制御装置において、前記表示制御部は、前記入力画面として、更に、前記動作フローに含まれる各動作オブジェクトについて、当該動作オブジェクトで示される動作を定義するパラメーターと、前記動作を終了させるための終了条件を定義するパラメーターと、前記動作が成功したか否かを判定するための成否判定条件を定義するパラメーターと、を設定するパラメーター設定領域を表示させるものとしてもよい。
(4)上記ロボット制御装置において、前記終了条件または前記成否判定条件は、前記力検出器で測定される力の周波数に基づいて判定を実行する条件を含むものとしてもよい。
(5)上記ロボット制御装置において、前記表示制御部は、前記パラメーター設定領域に設定されたパラメーターの中に許容されないパラメーター値が含まれるときに、前記動作フロー作成領域において、前記許容されないパラメーター値が設定された動作を示す動作オブジェクトにアラームを表示させるものとしてもよい。
(6)上記ロボット制御装置において、前記表示制御部は、前記動作フローに含まれる各動作オブジェクトについて前記パラメーター設定領域内に複数のパラメーターを表示し、当該動作オブジェクトに対して1つ以上のパラメーターが設定されると、設定されたパラメーターに応じて不要となった他のパラメーターを設定不可状態に変更するものとしてもよい。
(7)上記ロボット制御装置において、前記表示制御部は、前記ロボット制御装置に接続されたロボットの種類を識別し、識別されたロボットの種類に応じて不要となったパラメーターを設定不可状態としてもよい。
(8)上記ロボット制御装置において、前記表示制御部は、前記ロボットに備えられているセンサーの種類を識別し、識別されたセンサーの種類に応じて不要となったパラメーターを設定不可状態としてもよい。
(9)上記ロボット制御装置において、前記表示制御部は、前記力制御動作について、前記ロボット制御装置が外部から一時停止信号を受けたときに前記作業の中断を許可するタイミングである中断許可タイミングを設定するための画面を表示するものとしてもよい。
本発明は、上記以外の種々の形態で実現することも可能である。例えば、ロボットとロボット制御装置とを備えたロボットシステム、ロボット制御装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)等の形態で実現することができる。
ロボットシステムの斜視図。 複数のプロセッサーを有する制御装置の一例を示す概念図。 複数のプロセッサーを有する制御装置の他の例を示す概念図。 制御装置の機能ブロック図。 ロボット制御プログラムの作成手順のフローチャート。 力検出器を用いる作業の制御プログラムの作成手順を示す説明図。 力検出器を用いる作業の制御プログラムの作成手順を示す説明図。 力検出器を用いる作業の制御プログラムの作成手順を示す説明図。 力検出器を用いる作業の制御プログラムの作成手順を示す説明図。 力検出器を用いる作業の制御プログラムの作成手順を示す説明図。 力検出器を用いる作業の制御プログラムの作成手順を示す説明図。 動作フローを構成する動作の分類と動作オブジェクトの例を示す説明図。 接触オブジェクトの動作の概要を示す説明図。 脱力オブジェクトの動作の概要を示す説明図。 押付け探りオブジェクトの動作の概要を示す説明図。 押付け移動オブジェクトの動作の概要を示す説明図。 力検出器で測定される力の変化の一例を示すグラフ。 作業パラメーターと動作パラメーターとの関係の一例を示す説明図。 動作フローに従って作業を実行した結果を示す画面の一例を示す説明図。 パラメーター調整後の再実行結果を示す画面の一例を示す説明図。 動作フローを制御プログラムに変換する際の入力画面の一例を示す説明図。 6軸力センサーに適した動作パラメーターの表示例の説明図。 3軸力センサーに適した動作パラメーターの表示例の説明図。 6軸力センサーに適した動作パラメーターの入力例の説明図。 3軸力センサーに適した動作パラメーターの入力例の説明図。 6軸ロボットに適した動作パラメーターの表示例の説明図。 SCARAロボットに適した動作パラメーターの表示例の説明図。 6軸ロボットに適した動作パラメーターの表示例の説明図。 SCARAロボットに適した動作パラメーターの表示例の説明図。 動作パラメーターの入力禁止例の説明図。 動作パラメーターの入力禁止例の説明図。 作業の中断許可タイミングの設定例を示す説明図。 作業の中断許可タイミングの設定に応じた動作の説明図。 作業の中断許可タイミングの設定に応じた動作の説明図。 作業の中断許可タイミングの設定に応じた動作の説明図。
A. 第1実施形態:
図1は、第1実施形態におけるロボットシステムを示す斜視図である。このロボットシステムは、カメラ30と、搬送装置50と、ロボット100と、ロボット制御装置200と、を備えている。ロボット100とロボット制御装置200は、ケーブル又は無線を介して通信可能に接続される。
このロボット100は、アーム110の先端にあるアームフランジ120に各種のエンドエフェクターを装着して使用される単腕ロボットである。アーム110は6つの関節J1〜J6を備える。関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。関節J6の先端にあるアームフランジ120には、対象物(ワーク)に対して把持や加工等の作業を行うための各種のエンドエフェクターが装着される。アーム110の先端近傍の位置を、ツールセンターポイント(TCP)として設定可能である。TCPは、エンドエフェクターの位置の基準として使用される位置であり、任意の位置に設定可能である。例えば、関節J6の回転軸上の所定位置をTCPとして設定することができる。なお、本実施形態では6軸ロボットを用いているが、他の関節機構を有するロボットを使用してもよい。
ロボット100は、アーム110の可動範囲内においてエンドエフェクターを任意の位置で任意の姿勢とすることができる。アームフランジ120には、力検出器130と、エンドエフェクター140とが設置されている。本実施形態ではエンドエフェクター140はグリッパーであるが、他の任意の種類のエンドエフェクターを使用可能である。力検出器130は、エンドエフェクター140に作用する3軸の力と、当該3軸まわりに作用するトルクとを計測する6軸センサーである。力検出器130は、固有の座標系であるセンサー座標系において互いに直交する3個の検出軸と平行な力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。なお、関節J6以外の関節J1〜J5のいずれか1つ以上に力検出器としての力センサーを備えても良い。なお、力検出器は、制御する方向の力やトルクを検出できればよく、力検出器130のように直接的に力やトルクを検出する手段や、ロボットの関節のトルクを検出して間接的に力やトルクを求める手段などを用いてもよい。また、力を制御する方向のみの力やトルクを検出してもよい。
ロボット100が設置された空間を規定する座標系をロボット座標系と呼ぶ。ロボット座標系は、水平面上において互いに直交するx軸とy軸と、鉛直上向きを正方向とするz軸とによって規定される3次元の直交座標系である。また、x軸周りの回転角をRxで表し、y軸周りの回転角をRyで表し、z軸周りの回転角をRzで表す。x,y,z方向の位置により3次元空間における任意の位置を表現でき、Rx,Ry,Rz方向の回転角により3次元空間における任意の姿勢を表現できる。以下、「位置」と表記した場合、位置と姿勢(position and orientation)も意味し得ることとする。また、「力」と表記した場合、力とトルクも意味し得ることとする。
本実施形態において、搬送装置50によってワークWK2が搬送される。搬送装置50は、搬送ローラー50a,50bを備えており、これらの搬送ローラー50a,50bを回転させることによって搬送面を移動させ、搬送面上に載置されたワークWK2を搬送することができる。搬送装置50の上方には、カメラ30が設置されている。このカメラ30は、搬送面上のワークWK2が視野に含まれるように設置されている。ワークWK2の上面には、嵌合孔H2が形成されている。エンドエフェクター140は、ワークWK2の嵌合孔H2に、エンドエフェクター140で把持したワークWK1を嵌合させる作業を行うことができる。なお、この嵌合作業は、搬送面を停止させた状態で行っても良く、或いは、搬送面を移動させつつ実行しても良い。但し、搬送装置50やカメラ30は省略可能である。
ロボット制御装置200は、アーム110と、エンドエフェクター140と、搬送装置50と、カメラ30とを制御する。ロボット制御装置200の機能は、例えば、プロセッサーとメモリーを備えるコンピューターがコンピュータープログラムを実行することによって実現される。
図2は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット100及びその制御装置200の他に、パーソナルコンピューター400,410と、LANなどのネットワーク環境を介して提供されるクラウドサービス500とが描かれている。パーソナルコンピューター400,410は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス500においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部又は全部を利用して、ロボット100の制御装置を実現することが可能である。
図3は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット100の制御装置200が、ロボット100の中に格納されている点が図2と異なる。この例においても、複数のプロセッサーの一部又は全部を利用して、ロボット100の制御装置を実現することが可能である。
図4は、制御装置200の機能を示すブロック図である。制御装置200は、プロセッサー210とメモリー220と表示装置260と入力装置270とを備えている。メモリー220は、メインメモリーと不揮発性メモリーとを含む。プロセッサー210は、メモリー220に予め格納されたプログラム命令222を実行することにより、ロボット制御プログラム作成部240と制御実行部250の機能を実現する。ロボット制御プログラム作成部240は、表示制御部242と変換部244を含んでいる。表示制御部242は、ロボット100の作業の動作フローを作成するための入力画面(後述)を表示装置260に表示させる。変換部244は、入力画面で作成された動作フローを制御プログラム224に変換する。変換された制御プログラム224は、メモリー220に格納される。制御プログラム224は、機械語などの低級言語で記述されていてもよく、或いは、ロボット言語などの高級言語で記述されていてもよい。制御実行部250は、こうして作成された制御プログラム224を実行することによって、作業の動作をロボット100に実行させる。入力装置270は、キーボードやマウスなどの入力デバイスであり、教示者による入力や設定が入力装置270を用いて行われる。なお、ロボット制御プログラム作成部240と制御実行部250の機能の一部又は全部をハ―ドウェア回路で実現しても良い。ロボット制御プログラム作成部240の機能については更に後述する。
図5は、ロボット制御プログラムの作成手順を示すフローチャートであり、図6A〜図6Fは、その手順の説明図である。図5の処理は、教示者がロボット制御プログラム作成部240を実現するアプリケーションプログラムを起動することによって開始される。
図6Aは、ロボット制御プログラム作成部240が起動すると表示制御部242が表示装置260に表示するウィンドウW1の一例を示している。このウィンドウW1は、1つ以上の力制御動作を含む作業の動作フローを作成するための入力画面に相当する。ウィンドウW1は、以下の領域を含んでいる。
(1)メインビュー領域MV:後述する動作オブジェクト及び条件分岐オフジェクトの選択肢や、制御プログラムの実行結果などを表示する領域である。
(2)動作フロー作成領域FL:複数のオブジェクトがグラフィカルに配置された動作フローを編集可能に表示する領域である。なお、動作フローで表される作業を「シーケンス」とも呼ぶ。
(3)シーケンス表示領域SQ:シーケンスのツリー構造を表示する領域である。
(4)パラメーター設定領域PR:作業全体に関する作業パラメーターや、個々の動作に関する動作パラメーターの設定を行うための領域である。
(5)結果領域RS:制御プログラムの実行結果を表示する領域である。
(6)実行指示領域RN:制御プログラムの実行を指示するための領域である。
図6Aの例では、ウィンドウW1内の複数の領域は、異なるフレームとして分割されているが、フレームに分割されていなくても良い。ウィンドウW1の左上には、作業の制御プログラムの作成手順の開始を指示するためのボタンBT1が設けられている。教示者がボタンBT1を押すと、図5のステップS110を開始するための入力画面が表示制御部242によって表示装置260に表示される。なお、本明細書では、教示者が、作業パラメーターを入力画面のボックスに入力することを「入力する」と言い、教示者によって入力されたパラメーターを受け付けて内部の値を変更することを「設定する」と言う。
図6Bは、ステップS110を開始するための入力画面としてのウィンドウW2の一例を示している。このウィンドウW2は、複数の選択肢の中から作業を選択するための画面に相当する。ウィンドウW2のタイトルは、「新規フォースシーケンス」となっている。「シーケンス」は、動作フローで表される作業を意味し、「フォースシーケンス」は、力制御を利用した動作(「力制御動作」と呼ぶ)を含む作業を意味する。このウィンドウW2は、以下の領域を含んでいる。
(1)シーケンス名設定領域F21:新たなシーケンスの名称を設定するための領域である。図6Bの例では、シーケンス名が「Seq1」と入力されている。
(2)シーケンス説明領域F22:新たなシーケンスの概要の説明を入力するための領域である。図6Bの例では、「円柱嵌合用のシーケンス」という説明が入力されている。
(3)シーケンスコピー指示領域F23:既に作成済みのシーケンスをコピーすることを指定するための領域である。この領域には、例えば、予めメモリー220内に登録されている複数のシーケンスのシーケンス名がプルダウンメニューとして表示される。シーケンスコピーを使用する場合には、図6C〜図6Eで説明する設定は不要となり、後述する図6Fの画面に移行する。
本実施形態では、シーケンスコピーを使用せずに図6Cの手順(Step 2)に進む。すなわち、図6Bにおいて、教示者がフィールドF23の入力を行うこと無く「Next」ボタンを押すと、ウィンドウW2の表示内容が図6Cに変更される。
図6Cでは、以下のような複数種類のシーケンスの選択肢が表示されている。
(1)カスタムシーケンスSq1:動作フローが設定されていないシーケンスであり、任意のオブジェクトを組み合わせることによって動作フローが作成されるシーケンスである。
(2)円柱嵌合シーケンスSq2:円柱の第1ワークを、穴を有する第2ワークに嵌合させるシーケンスである。
(3)ネジ締めシーケンスSq3:雄ネジを雌ネジに挿入してネジ締めを行うシーケンスである。
(4)コネクター挿入シーケンスSq4:嵌合する2つのコネクターの一方を他方に挿入するシーケンスである。
図6Cに示したシーケンスの複数の選択肢は一例であり、他の任意の種類の選択肢を入力画面に表示してもよい。図6Cにおいて、教示者が円柱嵌合シーケンスSq2を選択して「Next」ボタンを押すと、図5のステップS110からステップS120に進み、その作業の作業パラメーターを設定するための入力画面が表示される。
図6Dは、ステップS120において作業パラメーターの設定を行う際のウィンドウW2の表示内容の一例を示している。このウィンドウW2は、円柱嵌合の作業パラメーターとして、作業の開始予定位置と作業の方向を設定するための入力画面として構成されており、以下の領域を含んでいる。
(1)ロボット画像表示領域IM1:ロボットの画像を表示し、また、作業の開始位置や作業の方向を示すマークを表示する領域である。
(2)開始予定位置設定領域P1:作業の開始時のTCPの予定位置を設定するための領域である。ここでは、複数の開始予定位置をそれぞれ「ポイント」として登録することが可能であり、また、開始予定位置の許容される位置バラツキを設定可能である。
(3)パラメーター設定領域P2:作業パラメーターを設定するための領域である。図6Dの例では、作業パラメーターとして、座標系としてロボット座標系を使用すること、及び、嵌合方向が−Z方向(鉛直下向き方向)であることが設定されている。なお、作業の方向を指定する座標系としては、ロボット座標系と、TCTを基準とするTCP座標系と、ワークを基準とするワーク座標系と、を含む複数の座標系の中の一つを選択可能である。従って、その作業に適した方向を指定することができる。
図6Dでの設定の終了後に教示者が「Next」ボタンを押すと、ウィンドウW2の表示内容が図6Eに変更されて、作業パラメーターの設定が更に行われる。このときのウィンドウW2は、円柱嵌合の作業パラメーターとしてのワーク情報を設定するための入力画面として構成されており、以下の領域を含んでいる。
(1)画像表示領域IM2:ワークの形状や、その寸法の変数を表示する領域である。
(2)ワークパラメーター設定領域F24:画像表示領域IM2に表示された変数の数値を設定するための領域である。
なお、図6D及び図6Eで設定される作業に関する作業パラメーターは、作業に含まれる個々の動作のパラメーターとは異なり、作業全体に関連するパラメーターである。一方、作業に含まれる個々の動作における動作パラメーター(後述)は、個々の動作を個別に規定するパラメーターである。選択した作業について作業パラメーターが設定されると、その作業パラメーターから力制御動作の動作パラメーターの一部が自動的に設定される。この点については後述する。
こうして作業パラメーターの設定が終了し、教示者が図6Eの「Next」ボタンを押すと、表示制御部242が図5のステップS130を実行し、作業の動作フローが自動的に作成されて表示装置260に表示される。
図6Fは、設定された作業の動作フローが第1のウィンドウW1に表示された様子を示している。ウィンドウW1の各領域には以下のような内容が表示される。
(1)メインビュー領域MV:
動作フローを構成する動作や条件分岐の分類を示す複数のカテゴリーと、各カテゴリーに属するオブジェクトの名称及びアイコンと、オブジェクトの内容の説明と、オブジェクトの概要を示す図とが表示される。メインビュー領域MVに表示されたオブジェクトは、ドラッグアンドドロップ等の操作によって動作フロー作成領域FL内の動作フローに任意に追加可能である。
(2)動作フロー作成領域FL:
複数のオブジェクトOB1〜OB4がグラフィカルに配置された動作フローが編集可能に表示される。図6Fの例では、シーケンスのラベルを示すシーケンスブロックSB1の後に、接触オブジェクトOB1と、条件分岐オブジェクトOB2と、押付け探りオブジェクトOB3と、押付け移動オブジェクトOB4のブロックがこの順に配置されている。各オブジェクトのブロックの中には、そのオブジェクトの名称とアイコンとが表示される。4つのオブジェクトOB1〜OB4のうち、条件分岐オブジェクトOB2以外の3つのオブジェクトOB1,OB3,OB4は、動作オブジェクトである。動作のカテゴリーと動作オブジェクトについては更に後述する。動作フローには、メインビュー領域MVに表示されたオブジェクトを任意に追加可能であり、また、動作フロー中の任意のオブジェクトを削除することも可能である。
(3)シーケンス表示領域SQ:
動作フロー作成領域FLに表示されたシーケンスのツリー構造が表示される。
(4)パラメーター設定領域PR:
動作フロー作成領域FLに配置されたブロックSB1,OB1〜OB4のいずれかが選択されると、選択されたブロックに対するパラメーターが表示される。すなわち、シーケンスブロックSB1が選択されると、シーケンス全体に関する作業パラメーターが表示される。また、オブジェクトのブロックOB1〜OB4のいずれかが選択されると、そのオブジェクトに関するパラメーターが表示される。図6Fの例では、条件分岐ブロックOB2に関するパラメーターが表示されている。これらのパラメーターは、必要に応じて変更される。
図7は、動作フローを構成する際に利用可能な複数の動作オブジェクトの例を示しており、図8A〜図8Dは幾つかの動作オブジェクトの動作の概要を示している。複数の動作オブジェクトは、例えば以下の4つに分類可能である。これらは、いずれも力制御を伴う動作である。
<分類1:接触>指定方向に移動して、反力を受けたら停止する動作である。
接触動作の分類は、接触オブジェクトを含む。図8Aに示すように、接触オブジェクトでは、エンドエフェクター140で保持したワークWKaを指定方向DDに移動させ、力検出器130で反力を検出した時にエンドエフェクター140を停止させる。なお、図8Aに示したワークWKa,WKbは、図1に示したワークWK1,WK2とは無関係であり、動作の概要を説明するための仮想的なワークである。この点は、後述する図8B〜図8Dも同様である。
<分類2:倣い>指定軸の力が0になる状態を維持する動作である。
倣い動作の分類は、以下の3種類の動作オブジェクトを含む。
(a)脱力オブジェクト:指定軸の力が0になるように倣う動作である。
図8Bに示すように、脱力オブジェクトでは、指定軸の力が0になるように倣う動作が実行される。図8Bの例では、ワークWKa,WKb間のz軸方向の力が0でないときに−z方向にエンドエフェクター140を戻すことにより、力検出器130で検出されるz軸方向の力を0にしている。
(b)倣い移動オブジェクト:指定軸の力を0にするように倣いながら指定軌道を動く動作である。
(c)面合わせオブジェクト:指定方向に角度を倣いながら押し付けて、面と面とを合わせる動作である。
<分類3:探り>指定方向の力が0となる位置を探る動作である。
探り動作の分類は、以下の2種類の動作オブジェクトを含む。
(a)押付け探りオブジェクト:押付ながら指定された軌跡で探って穴を見つける動作である。
図8Cに示すように、押付け探りオブジェクトでは、エンドエフェクター140で保持したワークWKaを指定方向に押付けながら、指定方向の力がゼロとなる位置を探り、穴Hbの位置で停止させる。探りの軌跡としては、直線軌跡や螺旋軌跡などの複数の候補の中から1つの軌跡を選択することが可能である。
(b)接触探りオブジェクト:接触動作を繰り返して穴を見つける動作である。
<分類4:押付け>指定方向に指定の力で押し付ける動作である。
押付け動作の分類は、以下の2種類の動作オブジェクトを含む。
(a)押付け(単純押付け)オブジェクト:指定方向に指定の力で押し付ける動作である。この動作では、他の指定軸については「倣う」動作を実行させることも可能である。
(b)押付け移動オブジェクト:指定方向に指定の力で押し付けながら移動する動作である。この動作では、他の指定軸については「倣う」動作を実行させることも可能である。図8Dに示すように、押付け移動オブジェクトでは、指定方向DDにエンドエフェクター140を移動させて指定の力で押付け、その後、指定の力での押付けを維持しながら(すなわち、倣いながら)指定方向と異なる方向に移動する。図8Dの例では、エンドエフェクター140で保持したワークWKaをワークWKbの穴Hbに挿入する動作が、押付け移動によって実行されている。
図6Fに示した4つのオブジェクトOB1〜OB4のパラメーターとしては、例えば以下のパラメーターを設定できる。特に、動作オブジェクトOB1,OB3,OB4に関しては、動作の終了条件を定義するパラメーターと、動作の成否判定条件を定義するパラメーターとを設定可能である。
<接触オブジェクトOB1のパラメーター>
(1)動作を定義する動作パラメーターの例
・接触方向:−Z方向(接触方向は、作業パラメーターとして設定された嵌合方向(図6D)から自動的に設定される。)
・接触予定距離:10mm
・動作速度:5mm/s
・接触時の力制御ゲイン:1.0
(2)終了条件の例
力の閾値:5N(5Nを超えると動作を停止する)
(3)成否判定条件の例
・成否判定条件:タイムアウト時間=3秒(タイムアウト時間までに終了条件を満たした場合には動作が成功したものと判定し、終了条件を満たさなかった場合には動作が失敗したものと判定する。)
・失敗時動作:シーケンスを継続(動作が失敗したと判定された場合にどのように進めるかを指定する。シーケンスの継続又はシーケンスの終了を指定可能である。)
<条件分岐オブジェクトOB2のパラメーター>
(1)条件分岐の判定条件の例
・判定対象オブジェクト:Contact01(判定対象オブジェクトの結果に応じて、条件分岐が実行される。)
・条件分岐の判定が真になる条件:動作の成功(判定対象オフジェクトの動作が成功した場合と、判定対象オフジェクトの動作が失敗した場合のいずれかを指定可能である。)
(2)条件分岐の移行先の例
・判定が真のときの移行先:PressProbe01(動作フロー中の任意の位置を指定可能である。)
・判定が偽のときの移行先:PressMove01(動作フロー中の任意の位置を指定可能である。)
<押付け探りオブジェクトOB3のパラメーター>
(1)動作を定義する動作パラメーターの例
・経路:螺旋(探る経路として、螺旋又は直線を指定可能である)
・経路形状:
・・螺旋の直径:5mm
・・螺旋のピッチ:1mm
・動作速度:5mm/s
・押付け方向:−Z方向(押付け方向は、作業パラメーターとして設定された嵌合方向(図6D)から自動的に設定される。)
・押付力:3N
・押付け中の力制御ゲイン:2.0
(2)終了条件の例
下記条件C1とC2のアンド条件とする:
・条件C1:力の閾値(力の閾値を下回ったこと)
・条件C2:位置移動量の閾値(オブジェクト開始位置から閾値を超えた範囲に移動したこと)
(3)成否判定条件の例
・成否判定条件:経路終了までに終了条件を満たした場合には動作が成功したものと判定し、終了条件を満たさなかった場合には失敗したものと判定する。
・失敗時動作:シーケンスを終了
<押付け移動オブジェクトOB4のパラメーター>
(1)動作を定義する動作パラメーターの例
・経路:直線
・移動方向:−Z方向(移動方向は、作業パラメーターとして設定された嵌合方向(図6D)から自動的に設定される。)
・移動距離:30mm
・移動速度:10mm/s
・Fx,Fy,Fz方向の力制御:倣い
・Fz方向の力制御:3N押付け
・Tx,Ty方向の力制御:倣い
・Tz方向の力制御:オフ
・力制御ゲイン:Fxのゲインは1,Fyのゲインは1,Fzのゲインは2,Txのゲインは300,Tyのゲインは300
(2)終了条件の例
下記条件C1,C2のアンド条件とする:
・条件C1:力の許容値(押付け方向の力の範囲が目標力±許容値の範囲内であること)
・条件C2:位置移動量の閾値(オブジェクト開始位置から閾値を超えた範囲に移動したこと)
(3)成否判定条件の例
・成否判定条件:経路終了までに終了条件を満たした場合には動作が成功したものと判定し、終了条件を満たさなかった場合には失敗したものと判定する。
・失敗時動作:シーケンスを終了
これらの例から理解できるように、本実施形態では、動作を定義するパラメーターと、動作の終了条件を定義するパラメーターと、動作の成否判定条件を定義するパラメーターとを設定可能なパラメーター設定領域PRを表示可能なので、動作の終了や成功/失敗の判定を含む制御プログラムを容易に作成することが可能である。なお、動作の終了条件を定義するパラメーターと、動作の成否判定条件を定義するパラメーターとのうちの一方又は両方の設定が行えない形態としてもよい。
図6Fの例において、4番目の動作オブジェクトOB4に対しては、アラームマークALが表示されている。このアラームマークALは、その動作オブジェクトOB4に関してパラメーター設定領域PRで設定されたパラメーターの中に、許容されないパラメーター値が含まれるときに表示されるマークである。このアラームマークALにマウスポインターを合わせると、不備のあるパラメーターの項目や値が表示されるようにしてもよい。教示者は、このアラームマークALを見た場合には、その動作オブジェクトOB4のパラメーターに不備があることが解るので、パラメーターの不備を修正することが可能である。なお、動作オブジェクトOBの中にアラームマークALを表示する代わりに、画面内の他の位置にアラームやエラーを表示してもよい。例えば、シーケンス表示領域SQのツリーにアラームやエラーを表示してもよく、また、同一の動作オブジェクトOBに関するアラームやエラーを複数箇所に表示してもよい。また、作業パラメーターに不備がある場合にも、アラームやエラーを表示するようにしてもよい。このような作業パラメーターのアラームやエラーの表示は、例えば、シーケンス表示領域SQのツリーに表示してもよい。
なお、動作パラメーターの終了条件又は成否判定条件は、力検出器130で測定される力の周波数に基づいて判定を実行する条件を含むように設定することも可能である。
図9は、力検出器130で測定される力Fの変化の一例を示している。この例では、動作開始から0.5秒後以降の期間PPにおいて、力Fが振動している。このような振動は、周辺装置(例えばコンベアが動作していること)の影響である可能性がある。従って、ロボット100の動作が周辺装置の影響を受けることを回避するために、制御装置200が力Fの時間変化の周波数分析を実行して、予め指定した周波数のパワースペクトルが閾値以下又は閾値以上になることを検知したことを終了条件又は成否判定条件の一部として使用してもよい。図9の例では、期間PPが経過した後、すなわち、予め指定した周波数のパワースペクトルが閾値以下になった後に、動作が終了する旨の判定、又は動作の成功又は失敗の判定を行うことができる。こうすれば、力検出器130で測定される力の周波数に基づいて判定する条件を使用するので、図9のように動作によって振動が発生する場合にも、動作の終了の有無の判定や、動作の成否の判定をより正しく行うことが可能である。
ところで、前述したように、図6Cで選択した作業について図6D,図6Eで作業パラメーターが設定されると、その作業パラメーターから力制御動作の動作パラメーターの一部が自動的に設定される。
図10は、図6D及び図6Eで設定された作業パラメーターと、動作パラメーターとの関係の一例を示す説明図である。ここではウィンドウW1(図6F)のパラメーター設定領域PRに表示される作業パラメーターの一例が示されている。これらの作業パラメーターは、例えば、動作フロー作成領域FL内のシーケンスブロックSB1を選択することによって、パラメーター設定領域PRに表示される。これらの作業パラメーターは、図6D及び図6Eの入力画面で設定された作業パラメーターである。図10において、パラメーター設定領域PR内の特定のパラメーターの関連表示ボタンBTをクリックすると、その作業パラメーターによって影響される動作パラメーターを示すダイアログDL1が表示される。この例では、嵌合方向の関連表示ボタンBTをクリックすると、その嵌合方向が、接触動作の接触方向と、押付け探り動作の押付け方向と、押付け移動動作の移動方向と、6軸方向の力制御と、に影響することがダイアログDL1内に表示される。教示者は、このようなダイアログDL1から、作業パラメーターと、各動作の動作パラメーターとの関係を確認することが可能である。
作業パラメーターから自動的に設定される力制御動作の動作パラメーターは、力制御の方向に限らず、他の動作パラメーターも作業パラメーターに応じて自動的に設定されるようにしてもよい。例えば、押付け移動動作の押付ながらの移動量(図8Dの右端の−Z方向の移動量)は、作業パラメーターのワーク情報(例えば嵌合深さ)から自動的に設定されるようにしてもよい。また、パラメーターの自動設定モードとしては、作業パラメーターのみが変更できる第1モードと、動作パラメーターのみが変更できる第2モードと、作業パラメーターと動作パラメーターび両方が変更できる第3モードと、のいずれか1つのモードを選択できるようにしてもよい。こうすれば、初心者は作業パラメーターのみを使って作業シーケンスを作成でき、一方、熟練者は動作パラメーターを使ってさらに細かい修正を行うことが可能である。作業パラメーターと動作パラメーターに整合性が無い場合、例えば、図10の例で嵌合方向が−Z方向であるのに接触方向が−X方向に設定されている場合には、作業パラメーターが正しいものとして動作パラメーターが修正されることが好ましい。
図6Fに示したように作業の動作フローが作成されると、この動作フローに従ってロボット100に作業を実行させることが可能である。例えば、図6Fの実行指示領域RN内にある「実行」ボタンを教示者が押すと、変換部244(図4)が動作フローを制御プログラムに変換し、制御実行部250がその制御プログラムを実行することによってロボット100に作業を実行させる。これは、制御プログラムの試行に相当する。
図11Aは、動作フローに従って作業を実行した結果を示す画面の一例を示している。この例では、動作フロー作成領域FLの3番目の動作オブジェクトOB3に実行停止マークSMが設定されている。この実行停止マークSMは、その動作オブジェクトOB3で実行を一時停止することを意味している。実行停止マークSMは、例えば、各動作オブジェクトのコンテキストメニューを使用して設定できる。コンテキストメニューは、マウスの右クリックで表示されるメニューである。
メインビュー領域MV内には、動作フローの実行時に力検出器130で検出された複数の力のうちから、X軸方向の力FxとX軸回りのトルクTxの時間変化が表示されている。なお、メインビュー領域MVには、力検出器130で検出された複数の力の中の任意の1つ以上の力の時間変化を選択して表示することが可能である。また、TCPの実測位置の時間変化や、TCPの目標位置と実測位置の偏差の時間変化をメインビュー領域MVに表示することも可能である。メインビュー領域MV内の結果表示の期間は、動作フロー中の任意の1つの動作オブジェクトの動作期間とすることも可能であり、また、実行開始から停止までの全期間とすることも可能である。例えば、動作フロー作成領域FL内で任意の動作オブジェクトを選択すると、その動作オブジェクトの動作期間の実行結果が表示される。また、シーケンスブロックSB1を選択すると、実行開始から停止までの全期間の結果が表示される。なお、メインビュー領域MV内の結果表示の期間は、複数の連続する動作オブジェクトに亘る動作期間としてもよい。結果領域RSにも、制御プログラムの実行結果の一部の情報が表示される。例えば、任意の動作オブジェクトについて、動作の終了状態(成功又は失敗)や、動作に要した時間、動作終了時の力、及び、動作終了時の位置などを結果領域RS内に表示可能である。なお、メインビュー領域MVには、図11Aに示したもの以外の種々の結果を表示できるようにしてもよい。例えば、ロボットの速度や各関節の角度などのロボットに関わる情報を表示してもよい。
ウィンドウW1は、更に、実行した結果のデータを所望の場所に保存するためのフィールドやボタンを有するように構成されていることが好ましい。実行結果のデータを保存できるようにすれば、後述する調整において、過去のデータと見比べることが可能となる。なお、データの保存先は、ロボット制御装置200内でもよく、ロボット制御装置200に接続されたコンピューターやクラウドでもよい。また、データ形式は、データベースでもよく、ファイル形式でもよい。
教示者は、制御プログラムの実行結果を観察し、必要に応じて個々のオブジェクトのパラメーターを調整することが可能である。この調整は、動作フロー作成領域FL内のオブジェクトOB1〜OB4の任意の1つを選択した状態において、パラメーター設定領域PRに表示されるオブジェクトのパラメーターを変更することによって行うことができる。具体例として、例えば接触動作において接触したときの力が過度に大きな場合には、接触動作における速度を低下させるように接触オブジェクトのパラメーターが調整される。
図11Bは、パラメーターの調整後に制御プログラムを再度実行した結果の例を示している。この例では、調整後の力Fnew,Tnewのピークが、調整前の力Fold,Toldのピークに比べて小さくなっている。このように、このウィンドウW1では、動作フロー作成領域FL内で生成された動作フローのオブジェクトのパラメーターの調整と、その動作フロ―に従った作業の試行とを行うことができるので、適切に動作する動作フローを容易に作成できる。但し、このような調整と試行の工程は省略してもよい。なお、図11Aで説明したように、過去の実行結果のデータを保存しておいた場合には、過去のデータを表示することも可能となる。
こうして動作フローが完成すると、図5のステップS140において、教示者の指示に応じて変換部244が動作フローを制御プログラムに変換する。この指示は、例えば、動作フロー作成領域FLのコンテキストメニューから「制御プログラムの作成」を選択することによって行うことができる。なお、動作フローから制御プログラムへの変換と実行には、以下の3種類の方法いずれかを選択的に行えることが好ましい。
(1)動作フローを低級言語の制御プログラムに変換する。教示者は、変換された低級言語の制御プログラムを、自分で別個に記述した高級言語の制御プログラムから呼び出して実行する。この場合には、教示者が作業シーケンスを作成した後に、教示者が別個に記述する高級言語の制御プログラムの中で、例えば"FGRun シーケンス名"と記述することによって、そのシーケンスの制御プログラムが呼び出されて実行される。これは、最も基本的な実行方法である。
(2)動作フローを高級言語の制御プログラムに変換して、それを実行する。
(3)動作フローを低級言語の制御プログラムに変換して、それを直接実行する。
以下の説明では、主として上記(2)の方法で実行する場合を説明する。
図12は、教示者の指示に応じて動作フローを制御プログラムに変換する際に表示される入力画面としてのウィンドウW3の一例を示している。このウィンドウW3は、制御プログラムに変換するシーケンス(すなわち動作フロー)を選択するシーケンス選択領域F31と、制御プログラムのファイル名を設定するプログラムファイル名設定領域F32とを含んでいる。なお、シーケンス選択領域F31は省略してもよい。なお、ウィンドウW3は、パラメーターの保存先などの情報を指定する領域を有するように構成されていてもよい。ウィンドウW3において「実行」ボタンを押すと、変換部244によって動作フローが制御プログラムに変換され、その制御プログラムがメモリー220内に格納される。
図5のステップS150では、ステップS140で作成された制御プログラムに従って、ロボット制御装置200がロボットを制御し、ロボットに作業を実行させる。この作業は、製造ラインでロボット100の動作を確認する確認作業や、或いは、製造ラインで製品を製造するための本作業として実行可能である。
以上のように、第1実施形態では、力制御動作を含む作業を複数の選択肢(図6C)の中から選択すると、選択された作業の作業パラメーターを設定するための画面(図6D,図6E)や、作業の動作フローを編集可能に表示する画面(図6F)が表示されるので、作業の動作フローを容易に生成することができる。また、選択した作業について設定された作業パラメーターから力制御動作の動作パラメーターの一部が自動的に設定されるので、教示者が簡単に制御プログラムの作成を行うことが可能である。
B. 他の実施形態:
他の実施形態として、以下の形態を順次説明する。
(1)動作パラメーターの表示及び入力に関する制限
(2)作業の中断許可タイミングの設定
これらの形態は、上述した第1実施形態に任意に適用可能である。
図13Aは、力検出器130として6軸力センサーを使用する場合における動作パラメーターの表示例を示している。ここでは、押付け動作に対して、パラメーター設定領域PR(図6F)の一部に力制御の方向とその設定値が表示される例が示されている。6軸力センサーを使用する場合には、6軸の力(3軸の力Fx,Fy,Fzと3軸回りのトルクTx,Ty,Tz)のすべてについて、どのような力制御を実行するかを指定することが可能である。
図13Bは、力検出器130として3軸力センサーを使用する場合における動作パラメーターの表示例を示している。3軸力センサーを使用する場合には、3軸センサーで検出できる力Fx,Fy,Fzについて、どのような力制御を実行するかを指定することが可能である。一方、3軸センサーで検出できない力(3軸回りのトルクTx,Ty,Tz)については、それらのパラメーターを設定できない設定不可状態とすることが好ましい。パラメーターを設定不可状態とする方法の一つは、図13Bに示すように、そのパラメーターを入力画面に表示しない方法である。他の方法としては、パラメーター設定領域PR内において、パラメーターをグレーアウト状態として、その設定値を変更できないようにする方法も採用可能である。
図14Aは、力検出器130として6軸力センサーを使用する場合における動作パラメーターの他の表示例を示している。ここでは、接触動作に対して、パラメーター設定領域PRの一部に接触方向(力制御の方向)とその設定値が表示される例が示されている。6軸力センサーを使用する場合には、6軸の力の方向X,Y,Z,U,V,Wのうちの任意の1つの方向を選択することができ、また、各方向についてプラス方向とマイナス方向のいずれかを選択することができる。なお、方向U,V,Wは、トルクTx,Ty,Tzの方向を意味している。
図14Bは、力検出器130として3軸力センサーを使用する場合における動作パラメーターの他の表示例を示している。3軸力センサーを使用する場合には、3軸センサーで検出できる力の方向X,Y,Zのうちの任意の1つの方向を選択することができ、また、各方向についてプラス方向とマイナス方向のいずれかを選択することができる。一方、3軸センサーで検出できない力(3軸回りのトルクTx,Ty,Tz)については、それらのパラメーターを設定できない設定不可状態とすることが好ましい。
図15Aは、6軸ロボットに適した動作パラメーターの表示例の説明図である。ここでは、押付け動作に対して、パラメーター設定領域PR(図6F)の一部に力制御の方向とその設定値が表示される例が示されている。6軸ロボットを使用する場合には、6軸の力のすべてについて、どのような力制御を実行するかを指定することが可能である。
図15Bは、4軸ロボットであるSCARAロボットに適した動作パラメーターの表示例を示している。SCARAロボットを使用する場合には、SCARAロボットで制御できる4軸の方向について、どのような力制御を実行するかを指定することが可能である。一方、SCARAロボットで制御できない方向については、それらのパラメーターを設定できない設定不可状態とすることが好ましい。
図16Aは、6軸ロボットに適した動作パラメーターの他の表示例を示している。ここでは、接触動作に対して、パラメーター設定領域PRの一部に接触方向(力制御の方向)とその設定値が表示される例が示されている。6軸ロボットを使用する場合には、6軸の力の方向X,Y,Z,U,V,Wのうちの任意の1つの方向を選択することができ、また、各方向についてプラス方向とマイナス方向のいずれかを選択することができる。
図16Bは、4軸のSCARAロボットに適した動作パラメーターの他の表示例を示している。SCARAロボットを使用する場合には、SCARAロボットで制御できる4軸の力の方向X,Y,Z.Uのうちの任意の1つの方向を選択することができ、また、各方向についてプラス方向とマイナス方向のいずれかを選択することができる。一方、SCARAロボットで制御できない方向については、それらのパラメーターを設定できない設定不可状態とすることが好ましい。
以上の図13A〜図16Bで説明したように、ロボット制御装置200に接続されたロボットの種類とセンサー(力検出器)の種類とに応じて不要となったパラメーターを設定不可状態とするようにすれば、教示者が必要なパラメーターのみを容易に設定することが可能である。ロボットの種類に応じたパラメーターの表示及び入力に関する制限と、力検出器の種類に応じたパラメーターの表示及び入力に関する制限が異なる場合には、より厳しい方の制限が適用される。例えば、6軸ロボットに3軸の力検出器が設けられている場合には、3軸の力検出器による制限の方が厳しいので、その制限が適用される。なお、センサーの種類としては、力検出器130に限らず、カメラ30の種類(例えば単眼カメラとステレオカメラのいずれか)などの他のセンサーの種類を使用してもよい。
図17Aは、動作パラメーターの入力禁止の一例を示す説明図である。この例では、押付け探り動作(図7参照)のパラメーターとして、パラメーター設定領域PR内に、「探る経路」の形状と、その寸法とが表示されている。「探る経路」の形状は螺旋である旨が設定され、その寸法として螺旋の直径とピッチの値が設定されている。また、パラメーター設定領域PR内に存在するパラメーターのうちで、「探る経路」が螺旋でない場合のパラメーター(X,Y,Z方向の移動距離)については、設定不可状態(ここではグレーアウト状態)となっている。
図17Bは、動作パラメーターの入力禁止の他の例を示す説明図である。この例では、「探る経路」の形状が直線である旨が設定され、その寸法としてX,Y,Z方向の移動距離の値が設定されている。また、「探る経路」が直線でない場合のパラメーター(螺旋の直径とピッチ)については、設定不可状態(グレーアウト状態)となっている。
これらの図17A及び図17Bに示すように、或る動作オブジェクトに対して設定されたパラメーターに応じて不要となったパラメーターが存在するときに、そのパラメーターを設定不可状態に変更するようにすれば、教示者が必要なパラメーターのみを容易に設定することが可能である。なお、或る動作パラメーターに応じて他の動作パラメーターを設定不可状態とする他に、或る作業パラメーターに応じて他の作業パラメーターを設定不可状態してもよく、あるいは、或る作業パラメーターに応じて特定の動作パラメーターを設定不可状態としてもよい。
図18は、更に他の実施形態における作業の中断許可タイミングの設定例を示す説明図である。図18の左上のパラメーター設定領域PRには、作業パラメーターとして、「動作中の中断」と「動作後の中断」という2つの中断許可タイミングが表示されている。例えば、これらの2つの中断許可タイミングのいずれかの関連表示ボタンBTをクリックすると、中断許可タイミング設定ダイアログDL3が開き、作業中の各動作に関する中断許可タイミングの設定値が表示される。各動作に関する中断許可タイミングは、このダイアログDL3で設定しても良く、或いは、動作フロー作成領域FL(図6F)において1つの動作オブジェクトを選択し、パラメーター設定領域PR内でその動作の動作パラメーターとして設定してもよい。
「動作中の中断」の許可及び不許可、及び、「動作後の中断」の許可及び不許可は、以下の設定S1e,S1n,S2e,S2nをそれぞれ意味する。
・設定S1e:「動作中の中断」の許可
その動作の実行中にロボット制御装置200が一時停止信号を受けた時に、直ちに作業を中断することを意味する。一時停止信号は、ロボット100の作業の一時停止を要求する信号であり、例えば、安全扉が開いたことを検知するセンサーからの信号や、人の接近を検知したことを検知するセンサーからの信号などである。
・設定S1n:「動作中の中断」の不許可
その動作の実行中にロボット制御装置200が一時停止信号を受けても直ちに作業を中断せず、その後に「動作中の中断」又は「動作後の中断」が許可と設定されているタイミングまで作業を継続することを意味する。
・設定S2e:「動作後の中断」の許可
その動作の実行中にロボット制御装置200が一時停止信号を受けた時に、その動作の終了時に作業を中断することを意味する。
・設定S2n:「動作後の中断」の不許可
その動作の実行中にロボット制御装置200が一時停止信号を受けてもその動作の終了時に作業を中断せず、その後に「動作中の中断」又は「動作後の中断」が許可と設定されているタイミングまで作業を継続することを意味する。
なお、或る動作(「特定動作」と呼ぶ)において「動作中の中断」が許可に設定されており、その特定動作の前の動作(「先行動作」と呼ぶ)において「動作中の中断」と「動作後の中断」が不許可に設定されている場合には、先行動作の実行中に一時停止信号が発生すると、特定動作の開始時に作業が中断される。
図18の例では、4つのオブジェクトOB1〜OB4について、それぞれ中断許可タイミングが許可又は不許可に設定されている。このような中断許可タイミングは、作業中に一時停止信号が発生したときに、作業中の動作の内容に適した適切なタイミングで作業を中断させるために設定される。例えば、研磨動作を行っている途中で一時停止信号を受けたときに、研磨動作の途中で作業を中断してしまうと、研磨のムラが発生してしまうという不具合がある。そこで、例えば研磨を実行する動作(押付け移動動作)に関しては「動作中の中断」を不許可に設定し、「動作後の中断」を許可に設定すれば、研磨動作の終了時まで作業が中断しないので、研磨のムラなどの不良が発生してしまうことを防止できる。研磨動作のように、力制御を利用した動作に関しては、その動作の途中で作業を中断すると不具合が発生する可能性がある場合があるので、中断許可タイミングを適切に設定できることが好ましい。このような中断許可タイミングの設定は、ロボットの制御プログラムを直接入力する場合に設定することは難しいのに対して、1つ以上の動作オブジェクトを含む動作フロー(シーケンス)を用いて作業の内容を設定する場合には比較的容易に行うことができるという利点がある。
作業によっては、複数の動作を実行している期間は作業を中断したくない場合もあり得る。例えば、研磨を複数の動作に分けて実行するように、研磨用の動作オブジェクト(例えば押付け移動オブジェクト)を動作フローに複数個配置する場合が考えられる。それらの複数の動作オブジェクトの動作が全て終了するまで作業を中断したく無い場合には、研磨用の複数の動作オブジェクトのうち、最後の動作オブジェクトを除く他の動作オブジェクトに関しては「動作中の中断」と「動作後の中断」をいずれも不許可と設定し、最後の動作オブジェクトに関しては「動作中の中断」を不許可、「動作後の中断」を許可と設定する。こうすれば、研磨の途中で作業を中断することによって、製品不良が発生してしまう可能性を低減できる。
なお、中断許可タイミングとしては、「動作中の中断」と「動作後の中断」の両方を設定できるものとしてもよく、或いは、これらの一方のみを設定できるものとしてもよい。
図19Aは、「動作中の中断」と「動作後の中断」の両方を設定できる形態における設定例を示している。この形態における作業の中断の判断は、上述した設定S1e,S1n,S2e,S2nの内容と同じである。なお、動作フロー中の最後の動作Dに関する中断許可タイミングの設定がいずれも不許可である場合に、その動作D中に一時停止信号を受信したときには、最後の動作Dの終了時にロボット100の動作を停止することが好ましい。
図19Bは、「動作中の中断」のみを設定できる形態における設定例を示している。この形態における作業の中断の判断は、上述した設定S1e,S1nの内容と同じである。
図19Cは、「動作後の中断」のみを設定できる形態における設定例を示している。この形態における作業の中断の判断は、上述した設定S2e,S2nの内容と同じである。
以上のように、作業中の力制御動作について中断許可タイミングを設定できるようにすれば、ロボット制御装置200が外部から一時停止信号を受けたときに、作業の中断を好ましいタイミングで実行することができる。この結果、製品不良などの不具合が発生する可能性を低減することが可能な制御プログラムを容易に作成できる。
なお、作業に関してタイムアウトを設定できるように画面が構成されていてもよい。例えば、作業を継続する場合にも、予め指定されたタイムアウト時間以上に亘って作業が継続した場合には、その時点で作業を中断するようにしてもよい。
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
30…カメラ、50…搬送装置、50a,50b…搬送ローラー、100…ロボット、110…アーム、120…アームフランジ、130…力検出器、140…エンドエフェクター、200…ロボット制御装置、210…プロセッサー、220…メモリー、222…プログラム命令、224…制御プログラム、240…ロボット制御プログラム作成部、242…表示制御部、244…変換部、250…制御実行部、260…表示装置、270…入力装置、400…パーソナルコンピューター、500…クラウドサービス

Claims (11)

  1. 力検出器を備えるロボットの作業の制御プログラムを作成するロボット制御装置であって、
    1つ以上の力制御動作を含む作業の動作フローを作成するための入力画面を表示装置に表示させる表示制御部と、
    作成された動作フローを制御プログラムに変換する変換部と、
    前記制御プログラムを実行して前記ロボットを制御する制御実行部と、
    を備え、
    前記表示制御部は、前記入力画面として、
    (a)作業を選択するための複数の選択肢を表示する画面と、
    (b)前記複数の選択肢から選択された選択作業に関する作業パラメーターを設定するための画面と、
    (c)前記選択作業の動作フローを表示し、前記動作フローを編集する画面と、
    を表示させ、
    前記表示制御部は、前記選択作業について設定された前記作業パラメーターに基づいて、前記力制御動作の動作パラメーターを設定する、ロボット制御装置。
  2. 請求項1に記載のロボット制御装置であって、
    前記動作フローを編集する画面は、動作を示す1つ以上の動作オブジェクトと、条件分岐を示す1つ以上の条件分岐オブジェクトと、がグラフィカルに配置される動作フロー作成領域を含む、ロボット制御装置。
  3. 請求項2に記載のロボット制御装置であって、
    前記表示制御部は、前記入力画面として、更に、前記動作フローに含まれる各動作オブジェクトについて、当該動作オブジェクトで示される動作を定義するパラメーターと、前記動作を終了させるための終了条件を定義するパラメーターと、前記動作が成功したか否かを判定するための成否判定条件を定義するパラメーターと、を設定するパラメーター設定領域を表示させる、ロボット制御装置。
  4. 請求項3に記載のロボット制御装置であって、
    前記終了条件または前記成否判定条件は、前記力検出器で測定される力の周波数に基づいて判定を実行する条件を含む、ロボット制御装置。
  5. 請求項3又は4に記載のロボット制御装置であって、
    前記表示制御部は、前記パラメーター設定領域に設定されたパラメーターの中に許容されないパラメーター値が含まれるときに、前記動作フロー作成領域において、前記許容されないパラメーター値が設定された動作を示す動作オブジェクトにアラームを表示させる、ロボット制御装置。
  6. 請求項3〜5のいずれか一項に記載のロボット制御装置であって、
    前記表示制御部は、前記動作フローに含まれる各動作オブジェクトについて前記パラメーター設定領域内に複数のパラメーターを表示し、当該動作オブジェクトに対して1つ以上のパラメーターが設定されると、設定されたパラメーターに応じて不要となった他のパラメーターを設定不可状態に変更する、ロボット制御装置。
  7. 請求項6に記載のロボット制御装置であって、
    前記表示制御部は、前記ロボット制御装置に接続されたロボットの種類を識別し、識別されたロボットの種類に応じて不要となったパラメーターを設定不可状態とする、ロボット制御装置。
  8. 請求項6または7に記載のロボット制御装置であって、
    前記表示制御部は、前記ロボットに備えられているセンサーの種類を識別し、識別されたセンサーの種類に応じて不要となったパラメーターを設定不可状態とする、ロボット制御装置。
  9. 請求項1〜8のいずれか一項に記載のロボット制御装置であって、
    前記表示制御部は、前記力制御動作について、前記ロボット制御装置が外部から一時停止信号を受けたときに前記作業の中断を許可するタイミングである中断許可タイミングを設定するための画面を表示する、ロボット制御装置。
  10. 力検出器を備えるロボットの作業の制御プログラムを作成するロボット制御装置であって、
    プロセッサーを備え、
    前記プロセッサーは、
    (a)1つ以上の力制御動作を含む作業を選択するための複数の選択肢を表示する画面を表示し、
    (b)前記複数の選択肢から選択された選択作業に関する作業パラメーターを設定するための画面を表示し、
    (c)前記選択作業の動作フローを表示し、前記動作フローを編集する画面を表示し、
    (d)前記選択作業について設定された前記作業パラメーターに基づいて、前記力制御動作の動作パラメーターを設定し、
    (e)前記動作フローに従い、前記作業パラメーター及び前記動作パラメーターに基づいて前記ロボットに前記選択作業を実行させる、
    ロボット制御装置。
  11. ロボットシステムであって、
    力検出器を備えたロボットと、
    前記ロボットの作業の制御プログラムを作成するロボット制御装置と、を備え、
    前記ロボット制御装置は、プロセッサーを有し、
    前記プロセッサーは、
    (a)1つ以上の力制御動作を含む作業を選択するための複数の選択肢を表示する画面を表示し、
    (b)前記複数の選択肢から選択された選択作業に関する作業パラメーターを設定するための画面を表示し、
    (c)前記選択作業の動作フローを表示し、前記動作フローを編集する画面を表示し、
    (d)前記選択作業について設定された前記作業パラメーターに基づいて、前記力制御動作の動作パラメーターを設定し、
    (e)前記動作フローに従い、前記作業パラメーター及び前記動作パラメーターに基づいて前記ロボットに前記選択作業を実行させる、
    ロボットシステム。
JP2018011355A 2018-01-26 2018-01-26 ロボット制御装置及びロボットシステム Active JP6973119B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018011355A JP6973119B2 (ja) 2018-01-26 2018-01-26 ロボット制御装置及びロボットシステム
EP19153471.8A EP3517255A3 (en) 2018-01-26 2019-01-24 Robot control device, robot system and method of creating a control program
CN201910070913.3A CN110076751B (zh) 2018-01-26 2019-01-24 机器人控制装置及机器人系统
US16/257,256 US20190232492A1 (en) 2018-01-26 2019-01-25 Robot control device and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018011355A JP6973119B2 (ja) 2018-01-26 2018-01-26 ロボット制御装置及びロボットシステム

Publications (2)

Publication Number Publication Date
JP2019126894A JP2019126894A (ja) 2019-08-01
JP6973119B2 true JP6973119B2 (ja) 2021-11-24

Family

ID=65228437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018011355A Active JP6973119B2 (ja) 2018-01-26 2018-01-26 ロボット制御装置及びロボットシステム

Country Status (4)

Country Link
US (1) US20190232492A1 (ja)
EP (1) EP3517255A3 (ja)
JP (1) JP6973119B2 (ja)
CN (1) CN110076751B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7069747B2 (ja) 2018-01-26 2022-05-18 セイコーエプソン株式会社 ロボット制御装置及びロボットシステム
JP7087632B2 (ja) * 2018-04-26 2022-06-21 セイコーエプソン株式会社 ロボット制御装置
US10576526B2 (en) * 2018-07-03 2020-03-03 Komatsu Industries Corporation Workpiece conveying system, and workpiece conveying method
EP4091777B1 (en) * 2020-01-16 2024-04-03 OMRON Corporation Control device, control method, and control program
JP2022073012A (ja) * 2020-10-30 2022-05-17 セイコーエプソン株式会社 ロボット制御方法およびロボットシステム
CN113009874B (zh) * 2021-02-18 2022-12-09 西门子工厂自动化工程有限公司 拧丝实验设备控制方法、装置、电子设备和介质
US20240001551A1 (en) * 2022-06-02 2024-01-04 Worcester Polytechnic Institute Autonomous robotic assembly of arbitrary part shapes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3486903B2 (ja) * 1999-09-06 2004-01-13 日邦プレシジョン株式会社 装置の動作手順作成システム及びその動作手順が記録された記録媒体並びに制御システム
US6993456B2 (en) * 1999-09-30 2006-01-31 Rockwell Automation Technologies, Inc. Mechanical-electrical template based method and apparatus
US7860609B2 (en) * 2005-05-06 2010-12-28 Fanuc Robotics America, Inc. Robot multi-arm control system
DE102010012598A1 (de) * 2010-02-26 2011-09-01 Kuka Laboratories Gmbh Prozessmodulbibliothek und Programmierumgebung zur Programmierung eines Manipulatorprozesses
JP5939202B2 (ja) * 2013-06-04 2016-06-22 株式会社安川電機 ロボット教示補助装置、ロボットシステムおよびロボット教示方法
JP5962590B2 (ja) * 2013-05-31 2016-08-03 株式会社安川電機 ロボットシステムおよび被加工物の製造方法
JP5850004B2 (ja) * 2013-08-09 2016-02-03 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP6460690B2 (ja) * 2014-09-16 2019-01-30 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
EP3319761A4 (en) * 2015-07-08 2019-03-06 Universal Robots A/S METHOD FOR EXTENDING END USER PROGRAMMING OF AN INDUSTRIAL ROBOT WITH THIRD PARTY CONTRIBUTIONS

Also Published As

Publication number Publication date
EP3517255A3 (en) 2020-01-22
EP3517255A2 (en) 2019-07-31
CN110076751A (zh) 2019-08-02
JP2019126894A (ja) 2019-08-01
US20190232492A1 (en) 2019-08-01
CN110076751B (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
JP6973119B2 (ja) ロボット制御装置及びロボットシステム
JP7069747B2 (ja) ロボット制御装置及びロボットシステム
Wang et al. Interactive and immersive process-level digital twin for collaborative human–robot construction work
US20210252713A1 (en) External input device, robot system, control method of robot system, control program, and recording medium
JP7067107B2 (ja) ロボット制御装置及びロボットシステム
JP6450960B2 (ja) ロボット、ロボットシステム及び教示方法
US20180029232A1 (en) Control apparatus and robot
US10166673B2 (en) Portable apparatus for controlling robot and method thereof
JP2018167334A (ja) 教示装置および教示方法
JP7087632B2 (ja) ロボット制御装置
WO2023037634A1 (ja) 指令値生成装置、方法、及びプログラム
CN115338855A (zh) 双臂机器人组装系统
JP3450609B2 (ja) ロボットのオフライン教示装置
US20220024029A1 (en) Teaching Control Method For Robot, Robot System, And Computer Program
EP3585568B1 (en) Method and apparatus for selecting initial point for industrial robot commissioning
JP3378738B2 (ja) 溶接ロボット教示装置
WO2022269927A1 (ja) プログラム作成装置
Horie et al. Controlling two remote robot arms with direct instruction using hapticmaster and vision system
JP7024795B2 (ja) ロボット教示装置
CN116533228A (zh) 生成方法、计算机程序以及生成系统
Palm et al. Status driven teleoperation system: A new paradigm and an application to the microworld
Palm et al. Visual control through status driven teleoperation
JPH04119405A (ja) 位置及び回転角検出装置、その指示具、並びに、それを用いたロボットの動作教示装置
Mizukawa et al. Robot task design system for tool manipulation tasks
JP2015080842A (ja) 教示出力装置、ロボット、ロボットシステム、教示出力方法、プログラム、及びレイアウトシート

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211018

R150 Certificate of patent or registration of utility model

Ref document number: 6973119

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150