JPWO2014002678A1 - ロボット制御装置およびロボット制御方法 - Google Patents

ロボット制御装置およびロボット制御方法 Download PDF

Info

Publication number
JPWO2014002678A1
JPWO2014002678A1 JP2014522493A JP2014522493A JPWO2014002678A1 JP WO2014002678 A1 JPWO2014002678 A1 JP WO2014002678A1 JP 2014522493 A JP2014522493 A JP 2014522493A JP 2014522493 A JP2014522493 A JP 2014522493A JP WO2014002678 A1 JPWO2014002678 A1 JP WO2014002678A1
Authority
JP
Japan
Prior art keywords
command value
robot
positional relationship
learning
value
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.)
Granted
Application number
JP2014522493A
Other languages
English (en)
Other versions
JP5774223B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014522493A priority Critical patent/JP5774223B2/ja
Application granted granted Critical
Publication of JP5774223B2 publication Critical patent/JP5774223B2/ja
Publication of JPWO2014002678A1 publication Critical patent/JPWO2014002678A1/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/0084Programme-controlled manipulators comprising a plurality of 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/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/39122Follower, slave mirrors leader, master
    • 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/39124Grasp common rigid object, no movement end effectors relative to object
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/03Teaching system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

同期駆動中の複数ロボットの実軌跡上のどの位置においても把持ワークに掛かる負荷を可及的に低減する。ロボット制御装置は、マスターロボットおよびスレーブロボットを同期駆動時の夫々の軌道上に位置決めする位置補正済みの指令値であるロボット当たりにN個の学習用指令値に基づいて、学習用指令値間の変換行列をN個の学習用指令値の夫々について生成する変換行列生成手段(200)と、マスターロボットの軌跡を定義するM(M>N)個の演算周期毎の第1駆動用指令値を出力する指令値記憶手段(100)と、前記N個の変換行列を補間して前記第1駆動用指令値毎の変換行列を生成する、変換行列関数生成手段(202)および指令値生成手段(211)と、前記M個の第1駆動用指令値の夫々に補間後の変換行列を作用させてスレーブロボットのM個の第2駆動用指令値を生成する指令値生成手段(211)と、を備える。

Description

本発明は、複数のロボットをロボット間で同期させながら駆動するロボット制御装置およびロボット制御方法に関する。
ロボットを活用した効率的な生産を実施する目的で、従来、生産システム内に産業用ロボットを複数台据え付けて同時に複数作業を実施することが行われていた。特に、同時に複数作業を実施する複数ロボット間において、同一のワークを把持、支持、組み付けするような協調作業で課題となっていたのは、作業中にワークやロボット同士に過大な負荷をかけることであった。この過大な負荷は、現在の各ロボットの把持位置のずれに起因するもので、具体的には、負荷のかからない理想的な把持位置からの位置誤差に応じて発生する。このような負荷を発生せしめる位置誤差は、各ロボットの据付位置誤差やキャリブレーション誤差による静的な位置誤差や、各ロボットの応答遅れによって生じる動的な位置誤差を含む。複数ロボットの夫々の把持位置同士の位置姿勢関係により発生するワークやロボット間に作用する力が許容値を超えている場合には、例えばモータの電流値を見ることで異常検出が可能であり、異常検出を行うことでロボットを安全に停止せしめることができるようになる。また、従来、動作中のロボットの相互の位置誤差を低減する目的で、各動作の基本周期信号の同期精度を向上させる技術が多く提案されている。
一方で、複数ロボット同士の手先(エンドエフェクタ)の把持位置(手先位置)の位置姿勢関係のずれが発生した場合に力制御による位置姿勢を補正する技術が開発されている。この技術によれば、把持位置が、手先に発生した力に応じて補正され、手先にかかる力が許容される力の範囲におさめる位置に移動するように制御される。このような位置姿勢の補正技術には、大きく、マスタースレーブ方式とインピーダンス制御方式とに分類することが出来る。マスタースレーブ方式は、あるロボットを主ロボット(マスターロボット)とし、そのほかのロボットを従ロボット(スレーブロボット)とし、主ロボットが理想的な軌跡に対して位置制御を実施し、そのほかの従ロボットが力制御によって主ロボットに追従動作するという方式である。また、マスタースレーブ方式には力制御を構成として含まない、同期制御方式という方式もある。これは、産業用用途では力センサーを含まない安価な構成として用いられており、あらかじめ主ロボットと従ロボットの位置関係を定義しておき、マスターの指令値に対応して定義された位置関係からスレーブの位置指令値を演算するものである(例えば特許文献1参照)。また、インピーダンス制御方式は、所望のハンドリング対象物体の軌跡から逆に、各ロボットの軌跡を算出し、その軌跡を指令値とした場合に、手先にかかる力に対して適当なインピーダンス特性を持たせた位置に制御することで、所望の運動をそれぞれのロボットに対して行う方式である(例えば特許文献2参照)。
特開平7−20915号公報 特開平7−256580号公報 特開2001−216012号公報 特開2011−104740号公報
有本卓著 「ロボットの力学と制御」朝倉書店出版 1990年
しかしながら、上記特許文献1、2の技術によれば、各ロボットの動作中に生じる実軌跡の位置誤差(絶対位置誤差)について、ロボットの位置姿勢や動作速度ごとに変動することを加味した協調動作用の軌跡生成がなされていないという問題があった。これにより、たとえば、協調制御によって実施する作業が複雑化した場合、各ロボット間の各位置姿勢における静的な手先位置誤差に変動が出るため、手先の姿勢変更によっては急激に力が発生してしまう場合がある。その結果、作業対象物やハンドについて許容される力の制限がある場合には、協調しながら高速な動作を実現することが困難であった。
本発明は、上記に鑑みてなされたものであって、協調動作(同期駆動)中の複数ロボットの実軌跡上のどの位置においても把持ワークに掛かる負荷を可及的に低減することができるロボット制御装置およびロボット制御方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、第1ロボットと前記第1ロボットと異なる第2ロボットとを同期駆動するロボット制御装置であって、前記第1ロボットと前記第2ロボットとを同期駆動時の夫々の軌跡上に位置決めする位置補正済みの指令値であるロボット当たりにN個の第1学習用指令値に基づいて、前記第1ロボットにかかる第1学習用指令値と前記第2ロボットにかかる第1学習用指令値との間の同期駆動時の位置関係を定義する位置関係行列を前記N個の第1学習用指令値の夫々について生成する位置関係行列生成部と、前記第1ロボットの軌跡を定義する指令値であるM(M>N)個の演算周期毎の第1駆動用指令値を出力する第1指令値出力部と、前記N個の位置関係行列を補間して前記第1駆動用指令値毎の位置関係行列を生成する位置関係行列補間部と、前記M個の第1駆動用指令値の夫々に前記補間後の対応する位置関係行列を作用させて前記第2ロボットの軌跡を定義する指令値であるM個の第2駆動用指令値を生成する第2指令値生成部と、を備え、前記第1駆動用指令値に基づいて前記第1ロボットを駆動し、前記第2駆動用指令値に基づいて前記第2ロボットを駆動する、ことを特徴とする。
本発明によれば、第2ロボットの演算周期毎の指令値生成について、誤差を考慮した形で近似的に変換行列を求めて第2ロボット用の指令値を生成することがロボットの運動特性およびロボットの幾何誤差の同定のための複雑な計算を必要とせずに実現できるので、同期駆動中の複数ロボットの実軌跡上のどの位置においても把持ワークに掛かる負荷を可及的に低減することができるという効果を奏する。
図1は、本発明の実施の形態1のロボット制御システムを用いた生産システムを説明する図である。 図2は、比較例にかかるロボット制御システムの構成を説明する図である。 図3は、エンドエフェクタ間の理想的な位置関係を説明する図である。 図4は、実施の形態1のロボット制御システムの構成を説明する図である。 図5は、実施の形態1の準備処理を説明するフローチャートである。 図6は、実施の形態1のマスター制御装置の自動運転時の動作を説明するフローチャートである。 図7は、実施の形態1のスレーブ制御装置の自動運転時の動作を説明するフローチャートである。 図8は、実施の形態2のロボット制御システムの構成を説明する図である。 図9は、実施の形態2の変換行列関数記憶手段のメモリ構成を説明する図である。 図10は、実施の形態2の位置関係演算装置が第2の変換行列関数を生成する動作を説明するフローチャートである。 図11は、実施の形態2のスレーブ制御装置の自動運転時の動作を説明するフローチャートである。 図12は、実施の形態3のロボット制御システムの構成を説明する図である。 図13は、実施の形態3の変換行列関数記憶手段のメモリ構成を説明する図である。 図14は、実施の形態7のロボット制御システムの構成を説明する図である。 図15は、実施の形態7のロボット制御システムの別の構成を説明する図である。 図16は、実施の形態8のロボット制御システムの構成を説明する図である。 図17は、比較例にかかるロボット制御系において、エンドエフェクタにかかる作用力と当該エンドエフェクタの位置との関係を示す図である。 図18は、比較例にかかるロボット制御系にインピーダンス制御が適用された場合の、エンドエフェクタにかかる作用力と当該エンドエフェクタの位置との関係を示す図である。 図19は、実施の形態8のロボット制御系において、エンドエフェクタにかかる作用力と当該エンドエフェクタの位置との関係を示す図である。
以下に、本発明にかかるロボット制御装置およびロボット制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1のロボット制御システム(ロボット制御装置)を用いた生産システムを説明する図である。図示するように、マスターロボット(第1ロボット)10aと、スレーブロボット(第2ロボット)10bと、マスターロボット10aを制御するマスター制御装置20aと、スレーブロボット10bを制御するスレーブ制御装置20bと、位置関係演算装置30と、を備えている。マスターロボット10aは、先端にエンドエフェクタ11aを有するアームが据付け台12aに取り付けられて構成されている。同様に、スレーブロボット10bは、先端にエンドエフェクタ11bを有するアームが据付け台12bに取り付けられて構成されている。なお、ロボット10a、10bは、ここでは、一例として、6自由度垂直多関節型ロボットであるものとして説明している。
マスター制御装置20a、スレーブ制御装置20b、および位置関係演算装置30は、通信線で互いに接続され、マスターロボット10aおよびスレーブロボット10bを同期させながら駆動するロボット制御システム(ロボット制御装置)を構成する。マスター制御装置20aは、エンドエフェクタ11aを位置決めする位置指令値を生成して、当該生成した位置指令値に基づいてエンドエフェクタ11aを駆動する。また、マスター制御装置20aは、エンドエフェクタ11aにかかる位置指令値をスレーブ制御装置20bに送信する。位置関係演算装置30は、エンドエフェクタ11aとエンドエフェクタ11bとが同一のワークを保持して協調して当該ワーク(把持ワーク)を搬送することができるように、協調動作時におけるエンドエフェクタ11a、11b間の位置関係を規定する位置関係情報を演算する。そして位置関係演算装置30は、得られた位置関係情報をスレーブ制御装置20bに送信する。スレーブ制御装置20bは、エンドエフェクタ11aを位置決めする位置指令値にエンドエフェクタ11a、11b間の位置関係情報を作用させることで、エンドエフェクタ11bを位置決めするための位置指令値を算出する。そして、スレーブ制御装置20bは、算出した位置指令値に基づいてエンドエフェクタ11bを駆動する。
ここで、本発明の実施の形態1と比較される技術(以下、比較例という)について説明する。図2は、比較例にかかるロボット制御系の構成を説明する図である。なお、ここでは、実施の形態1と区別するために、比較例を適用した位置関係演算装置に符号50を、マスター制御装置に符号40aを、スレーブ制御装置に符号40bを、夫々付している。また、マスター制御装置40aおよびスレーブ制御装置40bに具備され、作用対象がマスター系(マスターロボット10a、マスター制御装置40a)であるかスレーブ系(スレーブロボット10b、スレーブ制御装置40b)であるかのみ異なるだけで機能が同一の構成要素については、マスター系に具備される場合には符号にアルファベット「a」を付し、スレーブ系に具備される場合には符号にアルファベット「b」を付して互いに区別することとする。また、具備される系が異なるだけで機能が同一の構成要素の2つの構成要素については、一方のみを説明し、他方の説明を省略することがある。
マスター制御装置40aは、エンドエフェクタ11aの指令軌跡を演算周期毎に定義するM個の位置指令値を予め記憶する指令値記憶手段100、M個の位置指令値(以下、単に指令値)のうちのTm(Tmは、1≦Tm≦Mを満たす整数)番目の指令値(Tm番目指令値)に対する補正量(Tm番目補正量)を算出する補正量生成手段102a、Tm番目指令値とTm番目補正量とに基づいてTm番目の指令値を補正したTm番目補正指令値を生成する補正指令値生成手段101a、Tm番目補正指令値にエンドエフェクタ11aが追随するようにマスターロボット10aを駆動する、サーボアンプおよびサーボモータで構成される駆動制御手段103a、ならびに、Tm番目補正指令値に基づく動作中のエンドエフェクタ11aの現在位置(Tm番目現在位置)の検出を行って、Tm番目現在位置を駆動制御手段103aにフィードバックする、エンコーダなどで構成される現在位置検出手段104aを備えている。
補正量生成手段102aは、作用力演算手段105a、補正量演算手段106a、および補正量記憶手段107aを備えている。作用力演算手段105aは、エンドエフェクタ11aに発生する作用力を演算する。補正量記憶手段107aは、算出した補正量(即ちT1番目補正量〜Tm-1番目補正量)を蓄積記憶する。補正量演算手段106aは、T1番目補正量〜Tm-1番目補正量を用い、エンドエフェクタ11aに発生する作用力が小さくなるように、Tm番目補正量を算出する。算出されたTm番目補正量は、補正指令値生成手段101aに送られるとともに、補正量記憶手段107aに格納される。
位置関係演算装置50は、位置関係情報として、エンドエフェクタ11aを位置決めする指令値とエンドエフェクタ11bを位置決めする指令値との間の位置関係を定義する行列(変換行列)を演算する。当該変換行列をエンドエフェクタ11aを位置決めする指令値に作用させることで、エンドエフェクタ11bを位置決めする指令値を得ることができる。
スレーブ制御装置40bは、位置関係演算装置50が算出した変換行列を記憶する変換行列記憶手段109、エンドエフェクタ11aを位置決めするTm番目指令値に変換行列記憶手段109が記憶する変換行列を作用させてエンドエフェクタ11bを位置決めするTm番目指令値を生成する指令値生成手段108、エンドエフェクタ11bにかかるTm番目指令値を補正するTm番目補正量を算出する補正量生成手段102b、エンドエフェクタ11bにかかるTm番目指令値とTm番目補正量とに基づいてTm番目補正指令値を生成する補正指令値生成手段101b、エンドエフェクタ11bにかかるTm番目補正指令値に基づいてスレーブロボット10bを駆動する、サーボアンプおよびサーボモータで構成される駆動制御手段103b、ならびに、エンドエフェクタ11bのTm番目現在位置の検出を行って、当該検出したTm番目現在位置を駆動制御手段103bにフィードバックする、エンコーダなどで構成される現在位置検出手段104bを備えている。補正量生成手段102bは、補正量生成手段102aと同等の構成を備えているので、説明を省略する。
ここで、位置関係演算装置50が算出する変換行列について説明する。この変換行列は、回転量と位置とを表す、一般に同次変換行列と呼ばれているものである。直交座標系をΣiと表現し、2つの直交座標系Σ1とΣ2との間の変換行列をTとおく場合、回転行列をR(3×3要素の正方行列)、直交座標系Σ1からみた直交座標系Σ2の位置をP(3×1要素のベクトル)、1×3のゼロベクトルをzero(1,3)と表現すると、同次変換行列は次式(1)のように表現される。
T=[R,P;
zero(1,3),1] (1)
なお、1つの座標系Σi基準として点aの位置姿勢の表現をTとする場合に、別の座標系Σi+1を基準とした点aの位置姿勢i+1Tは、ΣiからΣi+1への変換行列i+1Tを用いて次式(2)のように表現される。
i+1Ti+1T*T (2)
図3は、エンドエフェクタ11a、11b間の理想的な位置関係を説明する図である。ここで、Σrob1は、据付け台12aを基準とした座標系(マスターロボット座標系)であり、Σrob2は、据付け台12bを基準とした座標系(スレーブロボット座標系)であり、Σwldは絶対座標系(ワールド座標系)であり、ΣE1はエンドエフェクタ11aを基準とした座標系であり、ΣE2はエンドエフェクタ11bを基準とした座標系である。理想的な環境とは、指令された角度と指令された位置が一致する環境、言い換えると絶対位置誤差がない環境をいう。このような環境においては、マスタースレーブ間の変換行列として、次式(3)を用いることができる。ただし、「A−1」は行列Aに関する逆行列を表す。
E1TE2=(wldTrob1 rob1TE1)−1 wldTrob2 rob2TE2 (3)
しかしながら、現実の環境においては、据付誤差、バックラッシ、アームのたわみ、エンドエフェクタ11a、11bの誤差、減速機の剛性の影響などに起因して、エンドエフェクタ11a、11bの手先位置に絶対位置誤差が生じるため、一般に、手先位置とワークとの間の位置関係は望ましい位置関係にならない。そこで、ユーザは、生産システムを立ち上げる場合には、例えば図示しない教示用操作盤などを操作することによって、実物のロボット10a、10bをワークとの位置関係を目視などで確認しながら移動せしめることで、エンドエフェクタ11a、11b間が所望の相対位置関係を保ちつつ所望の動作が実行されるように、各誤差を指令値にあわせこむ。各誤差が小さく抑えられる場所にエンドエフェクタ11a、11bをユーザが移動させたときの制御装置20a、20b内の指令値robiT'Ei(i=1、2)が、当該教示点に位置決めする指令値として設定される。但し、「'」は、教示による位置合わせこみを考慮した変換行列に付されるものとする。
誤差があわせこまれた指令値robiT'Ei(i=1、2)は、夫々、位置関係演算装置50に入力される。位置関係演算装置50は、あわせこみ後の指令値rob1T'E1rob2T'E2を式(3)のrob1TE1rob2TE2に夫々代入して、得られたE1TE2E1T’E2とする。
このように、E1T’E2は、通常動作(ロボット10a、10bを同期駆動すること、以下、自動運転ともいう)が開始される前に算出される。そして、算出されたE1T’E2は、自動運転時の位置変換のための変換行列として使用される。即ち、自動運転時には、スレーブ制御装置40bにおいては、マスター制御装置40aの補正指令値に追従する動作を行う目的で、マスター制御装置40a側の指令値と、変換行列とを用いて指令値生成手段108においてエンドエフェクタ11bに対する指令値が生成される。このとき、指令値生成手段108は、ワールド座標系に対するマスターロボット座標系への変換行列wldTrob1とワールド座標系に対するスレーブロボット座標系への変換行列wldTrob2と前述の変換行列E1T’E2とを用いて、次式(4)に基づいてスレーブ制御装置40bの指令値rob2TE2を算出する。
rob2TE2=(wldTrob2)−1*rob1TE1*E1T’E2 (4)
しかしながら、上記比較例においては、マスタースレーブ間の指令値の変換に用いられる変換行列がある特定のロボット姿勢で取得した教示点において算出されたE1T’E2に固定されるので、例え指令値が作用力に基づいて補正されるとしても、ロボット同士あるいはロボットとワークの位置関係を協調動作中の軌跡上の全ての位置において一定状態に保つということが難しい。そこで、実施の形態1では、同期駆動中の軌跡上の全ての位置においてロボット同士あるいはロボットとワークとの位置関係を一定に保つことができるように、M個の指令値の夫々について変換行列E1T’E2を算出するようにした。
図4は、本発明の実施の形態1の位置関係演算装置を用いたロボット制御系を説明する図である。ここでは、比較例と同一の機能を有する構成要素には、同一の符号を付して、重複する説明を省略する。
図示するように、マスター制御装置20aは、指令値記憶手段100、補正量生成手段102a、補正指令値生成手段101a、駆動制御手段103a、および、現在位置検出手段104aを備えている。補正量生成手段102aは、作用力演算手段105a、補正量演算手段106a、および補正量記憶手段107aを備えている。
位置関係演算装置30は、動作開始位置を含めたN(NはMより小さい2以上の自然数)個の教示点に位置決めする指令値に基づいて教示点の夫々について変換行列(学習用変換行列)を算出する変換行列生成手段200と、N個の学習用変換行列を記憶する変換行列記憶手段201と、N個の学習用変換行列に基づいて変換行列関数を算出する変換行列関数生成手段202と、を備えている。変換行列関数の詳細については後述する。算出された変換行列関数は、実施の形態1の位置関係情報としてスレーブ制御装置20bに送信される。
スレーブ制御装置20bは、位置関係演算装置30が算出した変換行列関数を記憶する変換行列関数記憶手段210、エンドエフェクタ11aに対するTm番目指令値(第1駆動用指令値)と変換行列関数とに基づいてエンドエフェクタ11bを位置決めするTm番目指令値(第2駆動用指令値)を生成する指令値生成手段211、補正量生成手段102b、補正指令値生成手段101b、駆動制御手段103b、および現在位置検出手段104bを備えている。補正量生成手段102bは、補正量生成手段102aと同等の構成を備えている。
ここで、実施の形態1によれば、補正指令値生成手段101a、101b、および補正量生成手段102a、102bは、協働して、同期駆動時のN個の指令値の夫々において軌跡上に位置決めするロボット毎の位置補正済みの指令値(後述する学習用指令値、第1学習用指令値)を生成する位置補正済み指令値生成部として機能する。また、指令値記憶手段100は、エンドエフェクタ11aの軌跡を定義するM(M>N)個の演算周期毎の指令値(第1駆動用指令値)を出力する第1指令値出力部として機能する。なお、ここでは、指令値記憶手段100は、予め指令値を記憶し、記憶している指令値を出力するものとして説明しているが、指令値を所定の演算に基づいて逐次生成する機能部を第1指令値出力部として採用するようにしてもよい。また、変換行列関数生成手段202および指令値生成手段211は、協働して、N個の変換行列を補間してエンドエフェクタ11aに対する指令値毎の変換行列を生成する位置関係行列補間部として機能する。また、指令値生成手段211は、演算周期毎の指令値の夫々に補間後の変換行列を作用させてエンドエフェクタ11bの軌跡を定義するM個の指令値(第2駆動用指令値)を生成する第2指令値生成部として機能する。
次に、図4に示したロボット制御系を用いて実行される本発明の実施の形態1のロボット制御方法を説明する。図5は、実施の形態1のロボット制御方法のうちの、オフラインで実行される準備処理を説明するフローチャートである。
ユーザは、まず、エンドエフェクタ11a、11bを、協調動作時の軌跡上の教示点まで教示用操作盤などを利用して移動させる(ステップS1)。このとき、ユーザは、実際にエンドエフェクタ11a、11bにワークを把持せしめるなどしてエンドエフェクタ11a、11bの手先位置を調整し、制御装置20a、20bにこのときの位置を取得せしめることができる。なお、位置調整は、N個の教示点において夫々実行される。
補正指令値生成手段101aは、Tk(Tkは、1≦Tk≦Nを満たす整数)番目の教示点において得られるエンドエフェクタ11aの位置を、マスターロボット10aにかかるTk番目の指令値(学習用指令値)として指令値記憶手段100に格納するとともに、当該学習用指令値を位置関係演算装置30に出力する(ステップS2)。また、補正指令値生成手段101bは、ステップS2が実行されたときのエンドエフェクタ11bの位置を、スレーブロボット10bにかかるTk番目の学習用指令値として位置関係演算装置30に出力する(ステップS3)。
なお、実際にエンドエフェクタ11a、11bにワークを把持せしめて位置調整が行われる場合には、補正量生成手段102aは、作用力演算手段105aが算出した作用力が所定の値以下となるように補正されるまで補正量の算出を継続し、補正指令値生成手段101aは、逐次算出される補正量で指令値記憶手段100から供給される所定の指令値に加算する補正量を更新し、作用力が所定の値以下となる補正指令値が得られたとき、当該補正指令値を学習用指令値とすることができる。なお、作用力の計測、計測した作用力に基づく補正量の算出、および算出した補正量による指令値の補正は、スレーブ制御装置20bにおいても同様に実行され、得られた補正指令値がステップS3の処理により学習用指令値として出力される。なお、位置の調整中に暫定的に補正指令値生成手段101a、101bに供給される指令値は、所定の固定値であってよい。
また、作用力演算手段105aによる作用力の計測方法はどのようなものであってもよい。例えばロボットの手首部分に力覚センサー(力センサー)を取り付けて、当該力覚センサーによる検出値を作用力の計測値とする手法、または、トルクτから手先作用力f(3軸力+3モーメント)をヤコビアンJ(ロボットの自由度)を用いて静力学により推定する手法(τ=JT*f、ただしJTは行列Jの転置行列)を採用することが可能である。また、ロボット10a、10bの各軸のモータ電流から各軸のトルクを算出し、算出したトルクの出力から手先作用力を推定する方法、あるいはモータ電流の代わりに各軸にトルクセンサーを取り付け、トルクセンサーから得られる出力トルクから作用力を推定する方法を採用することができる。
なお、ここでは、実際にエンドエフェクタ11a、11bにワークを把持せしめて位置調整が行われ、補正指令値が学習用指令値として記録されるものとして説明するが、エンドエフェクタ11a、11bにワークを把持せしめないで位置調整が行われる場合には、補正指令値生成手段101aは、現在位置検出手段104aが検出し、フィードバック信号として用いられる位置検出値を、学習用指令値とすることができる。スレーブ制御装置20bにおいても同様である。また、実際にエンドエフェクタ11a、11bにワークを把持せしめて位置調整が行われる場合であっても、現在位置検出手段104a、104bが検出した位置検出値を学習用指令値とするようにしてもよい。
また、制御装置20a、20bが作用力を計測する手段を有さない場合には、ユーザは、作業領域または姿勢が変わるごとにエンドエフェクタ11bの位置をマニュアルで微調整するようにしてもよい。この際、スレーブ制御装置20bは、マスターロボット10aに対する教示点に予め暫定的に定められた固定の変換行列1ET’E2を作用させることでエンドエフェクタ11bを駆動することができる。そして、ユーザは、目視によって、または、力もしくは変形を検出できるセンサーをワークに付加することによって、姿勢または位置が変わるポイントごとにワークの状態を観察し、観察の結果に基づいて操作盤を用いて微調整を行うことが可能である。なお、作業力が計測できない場合とは、単純にエンドエフェクタ11a、11bに作用力を計測するセンサーがなく、モータ出力からの手先作用力計算を行う機能が無い場合か、協調動作中において、マスター側のロボットがワークに接触しているが、スレーブ側のロボットはワークに接触はしていない場合が想定される。
ユーザは、全て(ここではN個)の教示点について位置調整を行ったか否かを判定し(ステップS4)、全ての教示点についての位置調整を行っていない場合には(ステップS4、No)、ステップS1にて、次の教示点にかかる位置調整を行う。
このように、エンドエフェクタ11aを教示点に移動せしめられ、エンドエフェクタ11bを教示点上のエンドエフェクタ11aに対応する位置に移動せしめられることで、エンドエフェクタ11a、11bの軌跡上のN個の指令値の夫々における、絶対位置誤差をあわせこんだ指令値(位置補正済みの指令値)を得ることができる。
全ての教示点における位置調整が完了すると(ステップS4、Yes)、位置関係演算装置30においては、変換行列生成手段200は、Tk番目の学習用指令値と、Tk番目の学習用指令値が決定された時点における補正指令値生成手段101bが生成した補正指令値と、を入力とし、Tk番目の変換行列(学習用変換行列)を生成する(ステップS5)。なお、変換行列生成手段200は、生成した学習用変換行列を変換行列記憶手段201に格納する。学習用変換行列の生成は、N個の教示点の夫々について実行される。
続いて、変換行列関数生成手段202は、変換行列記憶手段201に格納されたN個の学習用変換行列に基づいて、変換行列関数を生成する(ステップS6)。
ここで、変換行列関数とは、N個の変換行列E1T’E2(k),k=1,2,...,Nについて変換行列を補間する変換行列群を規定する関数であって、N個の学習用指令値に基づいて全軌跡をN−1個の区間に分け、各区間における移動割合rateを変数とした関数となる。変換行列関数生成手段202による変換行列関数の算出方法を以下に説明する。
k番目の学習用指令値Pkとk+1番目の学習用指令値Pk+1との間の距離をLall(k,k+1)、現在時刻Tnowにおける残移動距離をLr(k,k+1,Tnow)とする場合における移動割合rate(k,k+1,Tnow)は、次式(5)のように定義される。
rate(k,k+1,Tnow)=(Lall(k,k+1)−Lr(k,k+1,Tnow))/(Lall(k,k+1)) (5)
rate(k,k+1,Tnow)で表される現在位置における変換行列は、変換行列関数E1T’E2(rate(k,k+1,Tnow))により求めることができる。次に、変換行列関数E1T’E2(rate(k,k+1,Tnow))の回転成分と並進移動成分の求め方を説明する。
まず、並進位置E1P’E2(rate(k,k+1,Tnow))が次のように求められる。PkとPk+1とにおけるエンドエフェクタ11a、11bの手先位置の相対的な並進移動の変動分を回転行列ΔPkとすると、ΔPkは、次式(6)により表現される。
ΔPk=E1P’E2(Pk+1)−E1P’E2(Pk) (6)
したがって、エンドエフェクタ11aの現在位置がrate(k,k+1,Tnow)に存在する場合、並進位置E1P’E2(rate(k,k+1,Tnow))は、ΔPkを用いて、次式(7)のように表現される。
E1P’E2(rate(k,k+1,Tnow))=E1P’E2(Pk)+ΔPk*rate(k,k+1,Tnow) (7)
次に、変換行列関数E1T’E2(rate(k,k+1,Tnow))の回転成分である回転行列E1R’E2(rate(k,k+1,Tnow))の求め方を説明する。PkとPk+1とにおけるエンドエフェクタ11a、11bの手先位置の相対的な回転行列の変動分を回転行列ΔRkで表すと、ΔRkは、次式(8)により表現される。
ΔRk=(E1R’E2(Pk))(E1R’E2(Pk+1))−1 (8)
ここで、PkとPk+1との間における移動割合rate(k,k+1,Tnow)を表現するため方法として、例えば回転行列を1軸回転法を用いた回転軸ベクトルkと回転量αとを用いて表現する方法が知られている。このとき、αをrate(k,k+1,Tnow)に応じて変化させていく方法が採用される。具体的には、1軸回転法を利用すると、ΔRkは回転軸ベクトルkと回転量αとを用いて等価に表現される。回転行列と[k,α]は次のような関係式がある。
ΔRk=[kx*Vα+Cα,kx*ky*Vα+Cα,kx*kz*Vα+Cα;
ky*kx*Vα+Cα,kx*Vα+Cα,ky*kz*Vα+Cα;
kz*kx*Vα+Cα,kz*ky*Vα+Cα,kx*Vα+Cα] (9)
k=[kx,ky,kz] (10)
Vα=1−Cα (11)
Cα=cosα (12)
このとき、αは、移動割合rateに応じて変化するαnowとして以下のように定義する。
αnow=α*rate(k,k+1,Tnow) (13)
現在回転量αnowを用いることで、回転行列の現在の変動分であるΔR(rate(k,k+1,Tnow))は、以下のように定義される。
ΔR(rate(k,k+1,Tnow))
=[kx*Vαnow+Cαnow,kx*ky*Vαnow+Cαnow,kx*kz*Vαnow+Cαnow;
ky*kx*Vαnow+Cαnow,kx*Vαnow+Cαnow,ky*kz*Vαnow+Cαnow;
kz*kx*Vαnow+Cαnow,kz*ky*Vαnow+Cαnow,kx*Vαnow+Cαnow] (14)
E1R’E2(rate(k,k+1,Tnow))=(E1R’E2(Pk))*ΔR(rate(k,k+1,Tnow)) (15)
ΔR(rate_k,k+1)が移動位置に合わせて変更される場合、他にも、回転行列をクォータニオン表現を用いて演算し、クォータニオンで算出された結果を回転行列に変換する方法を採用することが可能である。
以上の演算によって得られた並進位置E1P’E2(rate(k,k+1,Tnow))と回転行列E1R’E2(rate(k,k+1,Tnow))とを用いて、変換行列E1T’E2(rate(k,k+1,Tnow))は、次のように表現される。
E1T’E2(rate(k,k+1,Tnow))
=[E1R’E2(rate(k,k+1,Tnow)),E1P’E2(rate(k,k+1,Tnow));
zero(1,3),1] (16)
変換行列関数生成手段202が以上の算出方法に基づいて求めた変換行列関数は、スレーブ制御装置20bに送られ、変換行列関数記憶手段210に格納される。
ステップS1〜ステップS6の処理により、協調動作のための準備処理が完了する。その後、ユーザは、ロボット制御系の自動運転を開始せしめることができる。
図6は、実施の形態1のロボット制御方法のうちの、マスター制御装置20aの自動運転時の動作を説明するフローチャートであり、図7は、実施の形態1のロボット制御方法のうちの、スレーブ制御装置20bの自動運転時の動作を説明するフローチャートである。
マスター制御装置20aにおいては、図6に示すように、まず、補正指令値生成手段101aは、Tmを1で初期化し(ステップS11)、指令値記憶手段100に格納されているTm番目の指令値を取り出す(ステップS12)。一方、補正量生成手段102aは、補正量記憶手段107aに蓄積されているTm-1番目までの指令値にかかる補正量と、作用力演算手段105aが計測した作用力とに基づいて、Tm番目補正量を算出する(ステップS13)。補正指令値生成手段101aは、取り出したTm番目の指令値とTm番目補正量とを加算して、Tm番目補正指令値を生成する(ステップS14)。なお、駆動制御手段103aは、生成されたTm番目補正指令値に基づいてエンドエフェクタ11aの位置決めを行うことができる。ステップS14の後、補正指令値生成手段101aは、Tmを1だけインクリメントし(ステップS15)、ステップS11の処理を実行する。なお、ステップS15において、インクリメント前のTmの値が指令値の総数であるMに等しい場合には、Tm=1とするようにしてよい。
スレーブ制御装置20bにおいては、図7に示すように、まず、指令値生成手段211は、Tmを1で初期化し(ステップS21)、指令値記憶手段100に格納されているTm番目の指令値を取り出す(ステップS22)。また、指令値生成手段211は、取り出したTm番目の指令値が含まれる区間(Pk,Pk+1で表現される区間)およびrate(k,k+1,Tnow)を算出する(ステップS23)。そして、指令値生成手段211は、式13〜式16に基づいて変換行列E1T’E2(rate(k,k+1,Tnow))を算出し(ステップS24)、取得したTm番目の指令値に前記算出した変換行列E1T’E2(rate(k,k+1,Tnow))を作用させて、エンドエフェクタ11bに対するTm番目の指令値を生成する(ステップS25)。一方、補正量生成手段102bは、補正量記憶手段107bに蓄積されているTm-1番目までの指令値にかかる補正量と、作用力演算手段105bが計測した作用力とに基づいて、Tm番目補正量を算出する(ステップS26)。補正指令値生成手段101bは、生成されたTm番目の指令値とTm番目補正量とを加算して、Tm番目補正指令値を生成する(ステップS27)。なお、駆動制御手段103bは、生成されたTm番目補正指令値に基づいてエンドエフェクタ11bの位置決めを行うことができる。ステップS27の後、指令値生成手段211は、Tmを1だけインクリメントし(ステップS28)、ステップS22の処理を実行する。なお、ステップS27において、インクリメント前のTmの値が指令値の総数であるMに等しい場合には、Tm=1とするようにしてよい。
なお、マスター制御装置20aにおけるTmの値とスレーブ制御装置20bにおけるTmの値とは同期しているものとする。
なお、指令値記憶手段100、補正指令値生成手段101a、作用力演算手段105a、補正量演算手段106a、および補正量記憶手段107aのうちの一部もしくは全部は、ハードウェア、及びソフトウェアのいずれか、又は両者の組み合わせとして実現することが可能である。ソフトウェアで実現するとは、演算装置および記憶装置を備えるコンピュータにおいて、構成要素に対応するプログラムモジュールを記憶装置に格納しておき、当該記憶装置に格納されているプログラムモジュールを演算装置が実行することによって対応する構成要素の機能を実現することである。なお、指令値記憶手段100および補正量記憶手段107aとしての機能は、夫々記憶装置内に対応する領域が確保されることにより実現される。
同様に、位置関係演算装置30の構成要素のうちの一部もしくは全部は、ハードウェア、及びソフトウェアのいずれか、又は両者の組み合わせとして実現することが可能である。また、指令値生成手段211、変換行列関数記憶手段210、補正指令値生成手段101b、作用力演算手段105b、補正量演算手段106b、および補正量記憶手段107bのうちの一部もしくは全部は、ハードウェア、及びソフトウェアのいずれか、又は両者の組み合わせとして実現することが可能である。
また、マスター制御装置20a、スレーブ制御装置20b、および位置関係演算装置30を夫々異なる装置であるものとして説明したが、これらの装置のうちの何れか2つまたは全部を1つの装置として実現することが可能である。また、これらの装置の夫々は、複数の装置に分割して実現することも可能である。
また、以上の説明においては、マスター制御装置20aおよびスレーブ制御装置20bの両方において作用力に基づく補正を行うものとして説明したが、どちらか一方の制御装置においてのみ作用力に基づく補正を行うようにしてもよい。
また、以上の説明においては、2つのロボット(マスターロボット10aおよびスレーブロボット10b)を有する生産システムに適用される例について説明したが、本発明の実施の形態1は、3つ以上のロボットが協調動作する生産システムにも適用することができる。その際には、協調動作するロボットのうちの1つをマスターロボットとし、他の全てのロボットをスレーブロボットとして実施の形態1を適用することができる。
以上述べたように、本発明の実施の形態1によれば、ロボット制御装置は、同期駆動時のN個の指令値の夫々において位置決めするロボット毎の位置補正済みの指令値に基づいて、ロボット間の位置補正済みの指令値の位置関係を定義する位置関係行列としての学習用変換行列をN個の指令値の夫々について生成する、位置関係行列生成部としての変換行列生成手段200と、マスターロボット10aの軌跡を定義するM(M>N)個の演算周期毎のマスターロボット10aに対する指令値を出力する第1指令値出力部としての指令値記憶手段100と、N個の学習用変換行列を補間して演算周期毎の指令値毎の変換行列を生成する位置関係行列補間部としての機能する、変換行列関数生成手段202および指令値生成手段211と、マスターロボット10aに対する演算周期毎の指令値の夫々に補間後の学習用変換行列を作用させてスレーブロボット10bに対する演算周期毎の指令値を生成する第2指令値生成部としての機能を有する指令値生成手段211と、を備えるように構成したので、演算周期毎に近似的に変換行列を求めてスレーブロボット10b用の指令値を生成することができるので、協調動作中の複数ロボットの実軌跡上のどの位置においても把持ワークに掛かる負荷を可及的に低減することができ、ロボットによる高速な協調動作が実現できる。
また、実施の形態1のロボット制御装置は、ユーザにより教示点が与えられ、マスターロボット10aおよびスレーブロボット10bは、ユーザによりN個の教示点の夫々に移動せしめられて静止せしめられ、N個の教示点の夫々にマスターロボット10aおよびスレーブロボット10bが静止せしめられる毎にロボット毎の指令値を生成して学習用指令値とする位置補正済み指令値生成部として動作する、補正指令値生成手段101a、101b、および補正量生成手段102a、102bを備える、ように構成したので、立ち上げ後にユーザが絶対位置誤差に相当する分の補正が全区間で可能なように力制御系の設定を調整する必要が無く、立ち上げ時間を短縮することができるようになる。
実施の形態2.
実施の形態2によれば、ロボット本体の温度や環境温度の変動による手先位置のずれ、2台以上のロボット動作中の同期タイミングのずれに起因する手先位置のずれ、など動的に生じる誤差分も学習して変換行列を更新することができる。図8は、本発明の実施の形態2の位置関係演算装置を用いたロボット制御系を説明する図である。なお、ここでは、実施の形態1と同じ構成要素には実施の形態1と同一の符号を付して、重複する説明を省略する。
図8に示すように、マスター制御装置21aは、指令値記憶手段100、補正量生成手段102a、補正指令値生成手段101a、駆動制御手段103a、および、現在位置検出手段104aを備えている。補正量生成手段102aは、作用力演算手段105a、補正量演算手段106a、および補正量記憶手段107aを備えている。ここで、マスター制御装置21aは、通常動作を行っている際、現在位置検出手段104aが検出した現在位置を位置関係演算装置31に出力する。
位置関係演算装置31は、変換行列生成手段300と、N個の学習用変換行列を記憶する変換行列記憶手段301と、変換行列関数生成手段302と、を備えている。変換行列生成手段300、変換行列記憶手段301、および変換行列関数生成手段302は、準備処理において実施の形態1における対応する構成要素と同様の処理を実行して、実施の形態1における変換行列関数(第1の変換行列関数)を生成する。また、通常動作中においては、現在位置検出手段104a、104bが検出した夫々の現在位置に基づいて、動的に変換行列関数(第2の変換行列関数)を生成する。
スレーブ制御装置21bは、変換行列関数記憶手段310、指令値生成手段311、補正量生成手段102b、補正指令値生成手段101b、駆動制御手段103b、および現在位置検出手段104bを備えている。補正量生成手段102bは、補正量生成手段102aと同等の構成を備えている。
図9は、変換行列関数記憶手段310のメモリ構成を説明する図である。図示するように、変換行列関数記憶手段310は、位置関係演算装置31が算出した第1の変換行列関数303および第2の変換行列関数304を記憶する。なお、変換行列関数記憶手段310が記憶する第2の変換行列関数304は、位置関係演算装置31によって動的に更新される。
指令値生成手段311は、第1の変換行列関数303または第2の変換行列関数304を用いてTm番目指令値を生成することができる。
次に、図8に示したロボット制御系を用いて実行される本発明の実施の形態2のロボット制御方法を説明する。なお、オフラインで実行される準備処理は、実施の形態1と同様であるので、ここでは説明を省略する。準備処理により生成された変換行列関数は、第1の変換行列関数303として変換行列関数記憶手段310に格納される。
また、マスター制御装置21aの通常動作は、現在位置検出手段104aが検出した現在位置を位置関係演算装置31に出力する点を除いて実施の形態1と同様であるので、説明を省略する。なお、スレーブ制御装置21bも、マスター制御装置21aと同様に、現在位置検出手段104bが検出した現在位置を位置関係演算装置31に出力する。ここでは簡単のために、M個の指令値のうち、学習用指令値に最も近傍のN個の指令値の夫々が指令値記憶手段100から補正指令値生成手段101a、指令値生成手段311に取得される毎に、マスター制御装置21a、スレーブ制御装置21bは現在位置を位置関係演算装置31に出力するものとする。即ち、現在位置検出手段104a、104bは、マスターロボット10aが教示点または教示点のもっとも近傍に至る毎に、夫々、位置検出値を新たな学習用指令値として出力する。
図10は、位置関係演算装置31が第2の変換行列関数304を生成する動作を説明する図である。まず、変換行列生成手段300は、マスター制御装置21aおよびスレーブ制御装置21bから1サイクルの動作完了時点毎に入力されたN対の現在位置を実施の形態1でいう学習用指令値として用いて、N個の学習用変換行列を生成する(ステップS31)。なお、変換行列生成手段300は、生成した学習用変換行列を変換行列記憶手段301に格納する。その後、変換行列関数生成手段302は、ステップS31の処理により変換行列記憶手段301に格納されたN個の学習用変換行列に基づいて、第2の変換行列関数304を生成する(ステップS32)。生成された第2の変換行列関数304はスレーブ制御装置21bに送られて、変換行列関数記憶手段310が記憶する第2の変換行列関数304が当該送られてきた第2の変換行列関数304で上書きされる。その後、ステップS31の処理が実行される。
図11は、スレーブ制御装置21bの通常動作を説明するフローチャートである。スレーブ制御装置21bにおいては、まず、指令値生成手段311は、Tmを1で初期化し(ステップS41)、指令値記憶手段100に格納されているTm番目の指令値を取り出す(ステップS42)。
続いて、指令値生成手段311は、使用する変換行列関数を選択する(ステップS43)。ここで、指令値生成手段311は、どのような基準に基づいてステップS43の選択処理を実行するようにしてもよい。第2の変換行列関数304は、通常動作の際の経過時間が長くなるほど収束してくる傾向があるが、収束が十分でない場合に指令値生成手段311は第1の変換行列関数303を選択するようにしてよい。また、通常動作が開始された直後には第2の変換行列関数304が生成されていないので、その際には指令値生成手段311は第1の変換行列関数303を選択するようにしてもよい。
次に、指令値生成手段311は、取り出したTm番目の指令値が含まれる区間(Pk,Pk+1で表現される区間)およびrate(k,k+1,Tnow)を算出する(ステップS44)。そして、指令値生成手段311は、選択した変換行列関数と式13〜式16とに基づいて変換行列E1T’E2(rate(k,k+1,Tnow))を算出し(ステップS45)、取得したTm番目の指令値に前記算出した変換行列E1T’E2(rate(k,k+1,Tnow))を作用させて、エンドエフェクタ11bに対するTm番目の指令値を生成する(ステップS46)。一方、補正量生成手段102bは、補正量記憶手段107bに蓄積されているTm-1番目までの指令値にかかる補正量と、作用力演算手段105bが計測した作用力とに基づいて、Tm番目補正量を算出する(ステップS47)。補正指令値生成手段101bは、生成されたTm番目の指令値とTm番目補正量とを加算して、Tm番目補正指令値を生成する(ステップS48)。ステップS48の後、指令値生成手段311は、Tmを1だけインクリメントし(ステップS49)、ステップS42の処理を実行する。
このように、本発明の実施の形態2によれば、マスターロボット10aまたはスレーブロボット10bのうちの少なくとも一方の演算周期毎の指令値に対し、手先にかかる作用力を低減する補正を行う指令補正部(補正量生成手段102a、102b、補正指令値生成手段101a、101b)と、ロボット10a、10bの位置検出を行う位置検出部としての機能、および、N個の指令値の夫々において検出された前記第1ロボットの位置と前記第2ロボットの位置とを学習用指令値として出力する位置補正済み指令値生成部としての機能を有する、現在位置検出手段104a、104bと、を備えるように構成したので、同期駆動時に、手先にかかる作用力が小さくなるように動的に補正された位置を学習用指令値として用いながら学習用変換行列を算出し、算出した学習用変換行列を用いて第2の変換行列関数を逐次更新するので、複数のロボット10a、10bが協調動作を実施する上で作用力が小さくなる方向に収束するまで夫々の手先位置を補正でき、最終的に作用力が最も小さくなる軌跡でロボット10a、10bを協調動作せしめることができるようになる。
また、第2の変換行列関数の更新を続けるモードと更新を停止するモードを設けると、例えば不要な外乱(たとえば、システム内のケーブルが絡んだことによるロボットへの負荷増加)を含むような試行は学習から排除する事や、実生産中には学習を実施しないことが出来るようになる。この構成を設けることで、ロボットを動作させるときの姿勢ごとのモータの応答の違いや通信遅れなどによる同期に起因する誤差を加味したスレーブ軌跡を学習する事が出来るため、より精度の高いスレーブロボットの軌跡を学習する事が出来る。
なお、ユーザによって3以上の指令値が与えられると、指令値のうちの動作開始位置と動作終了位置との間の軌道がこれらの中間に位置する指令値の近傍を通るように近似的に軌道を決定する補間方法がロボット制御方法として一般に知られている(例えば、特許文献3参照)。この技術によれば、ユーザによって与えられた指令値に基づいてロボット制御装置が算出する軌道は、指令値上を通るとは限らない。実施の形態2によれば、動的に変換行列を生成することができるので、このような技術が適用される場合であっても手先にかかる作用力が小さくなる軌跡でロボット10a、10bを協調動作せしめることができる。ただし、この場合、マスターロボットの指令値記憶手段から出力される指令値については、前記補間方法を適用した場合の、補間処理後の指令値を指令値として指令値生成手段311に入力する。また、その場合、変換行列生成手段300では、実施の形態1で記載の通り、教示作業時に取得したデータを用いて演算される指令値生成手段311取得したスレーブロボットの指令値を用いて、スレーブロボットも同様に補間処理を実施した後の指令値を補正指令値生成手段101bに出力する。結果として、当該補間方法を実施する場合には、動作前に得られている変換行列が当該補間方法を実施しない場合とは異なる。
また、マスター制御装置21aは、演算周期毎の指令値を駆動制御手段103aに出力する際に、フィルタ処理を施すようにしてもよい。演算周期毎の指令値にフィルタ処理が施される場合には、実際に通過する軌道上の位置と補間指令値にずれが生じる。この場合、マスター制御装置21aは、現在位置を学習用指令値とするが、スレーブ制御装置21bは、補正後の指令値を、フィルタ処理を施さずに駆動制御手段103bに出力する。あるいはスレーブ制御装置21bは、フィルタ処理後の指令値が現在位置となるような指令値を、近似的に算出するようにしてもよい。
実施の形態3.
実施の形態3によれば、同期駆動時の速度設定値(ここではオーバーライドをいうが、代表位置における速度指令値であってもよい)と第2の変換行列関数とを対応付けて記録される。速度指令値が、記録されている速度指令値から変更されると、予め記録された第2の変換行列関数に基づいて、変更後の速度指令値に対応する第2の変換行列関数が算出され、算出された新たな第2の変換行列関数が更新後の速度指令値を用いた同期駆動に供される。これにより、ユーザは、予め速度設定値を変えて複数回の自動運転を試験的に実行し、速度設定値毎の第2の変換行列関数をロボット制御装置に記録せしめることで、以降の自動運転においては、記録された第2の変換行列関数に基づいて同期駆動に用いる第2の変換行列関数を算出せしめることができるようになるので、実施の形態2のようにロボット間の位置関係が収束されるまでにかかる時間よりも短い時間で制御を安定せしめることができるようになる。
以下、速度設定値がゼロ値であるときの第2の変換行列関数をE1T’E2((k,k+1)ovrd=0)、速度設定値がaであるときの第2の変換行列関数をE1T’E2((k,k+1)ovrd=a)、速度設定値がb(b>a)であるときの第2の変換行列関数をE1T’E2((k,k+1)ovrd=b)のように夫々表記して、これらの3つの第2の変換行列関数からスレーブ制御装置において通常運転時に適用される第2の変換行列関数を求める手法を説明する。なお、第1の変換行列関数は、速度設定値がゼロ値である場合の第2の変換行列関数E1T’E2((k,k+1)ovrd=0)と等しい。
式7および式14を用いて、Pkにおける変換行列からPk+1における変換行列に移行する際の変換行列同士の誤差分を考える。速度設定値がaのときの変換の誤差分ΔT(k,k+1,ovrd=a)は次式のように記述できる。
ΔT(k,k+1,ovrd=a)=[ΔR(1)_a,ΔPk_a;
zero(1,3),1] (17)
また、速度設定値がbのときの変換の誤差分ΔT(k,k+1,ovrd=a)は次式のように記述できる。
ΔT(k,k+1,ovrd=a)=[ΔR(1)_b,ΔPk_b;
zero(1,3),1] (18)
速度変化によって学習用変換行列が不変であれば、速度設定値を変更しても誤差の出方が変わらないことになるため、スレーブ制御装置においてはいずれかの速度設定値で学習した変換行列関数をそのまま使用することが可能である。しかしながら、各軸の応答の影響またはフィルタの影響などがある場合を含めて、速度変化によって手先位置が変化する場合には、上記式17と式18の結果に違いが出てくる。この差について考える。
まず回転量の差については、式17に対応する1軸回転法の回転軸をk_a,回転量をα_aとし、式18に対応する1軸回転法の回転軸をk_b,回転量をα_bとすると、回転量の変化率Δαは次のように表せる。なお、軸方向は大きく変わらないものと仮定して、近似的にk_aにおける回転軸を採用するものとする。
Δα(x)=(αb-αa)/(b-a)*(x-a) (19)
ΔP((k,k+1),x)=(ΔPk_b-ΔPk_a)/(b-a)*(x-a) (20)
速度が大きくなるにつれて発生する誤差が一定の割合で大きくなるという仮定をすると、上記式19、式20から求められる値を使って、速度設定値がaであるときの第2の変換行列関数を基準とすることで、スレーブ制御装置は、どのような速度設定値(オーバーライド)で通常運転する際であっても速度に応じて発生する誤差を解消する第2の変換行列関数を求めることができる。
図12は、本発明の実施の形態3のロボット制御系の構成を説明する図である。なお、ここでは、実施の形態1と同じ構成要素には実施の形態1と同一の符号を付して、重複する説明を省略する。
図12に示すように、マスター制御装置22aは、指令値記憶手段100、補正量生成手段102a、補正指令値生成手段101a、駆動制御手段103a、および、現在位置検出手段104aを備えている。補正量生成手段102aは、作用力演算手段105a、補正量演算手段106a、および補正量記憶手段107aを備えている。ここで、マスター制御装置22aは、試験運転を行っている際、現在位置検出手段104aが検出した現在位置を位置関係演算装置32に出力する。
位置関係演算装置32は、変換行列生成手段400と、N個の学習用変換行列を記憶する変換行列記憶手段401と、変換行列関数生成手段402と、試験運転速度設定手段403と、を備えている。変換行列生成手段400、変換行列記憶手段401、および変換行列関数生成手段402は、準備処理において実施の形態1における対応する構成要素と同様の処理を実行して、実施の形態1における変換行列関数(第1の変換行列関数303)を生成する。
また、試験運転中においては、試験運転速度設定手段403は、速度設定値の入力を受け付ける。そして、現在位置検出手段104a、104bが検出した夫々の現在位置に基づいて、変換行列生成手段400、変換行列記憶手段401、および変換行列関数生成手段402は、動的に変換行列関数(第2の変換行列関数)を生成し、生成した第2の変換行列関数を試験運転速度設定手段403に入力された速度設定値と対応づけてスレーブ制御装置22bに出力する。なお、ここでは、速度設定値毎の第2の変換行列関数に符号404を付して実施の形態2の第2の変換行列関数304と区別する。
スレーブ制御装置22bは、変換行列関数記憶手段410、指令値生成手段411、通常運転速度設定手段412、補正量生成手段102b、補正指令値生成手段101b、駆動制御手段103b、および現在位置検出手段104bを備えている。補正量生成手段102bは、補正量生成手段102aと同等の構成を備えている。
図13は、変換行列関数記憶手段410のメモリ構成を説明する図である。図示するように、変換行列関数記憶手段410は、位置関係演算装置32が算出した第1の変換行列関数303および速度設定値毎の第2の変換行列関数404を記憶する。
ここで、通常運転速度設定手段412は、通常運転時において、速度設定値の入力を受け付ける。通常運転時に入力される速度設定値は、試験運転時に入力された速度設定値と異なるものであってもよい。指令値生成手段411は、通常運転速度設定手段412が取得した速度設定値と、変換行列関数記憶手段410に格納されている速度設定値毎の第2の変換行列関数404(および第1の変換行列関数303)とに基づいて、式19および式20を用いて速度に応じた誤差を位置補正しながら変換行列を算出する。そして、指令値記憶手段100から取得したエンドエフェクタ11aに対するTm番目指令値に前記算出した変換行列を作用させて、エンドエフェクタ11bに対するTm番目指令値を算出する。
このように、本発明の実施の形態3によれば、ロボット制御装置は、同期駆動時に速度設定値の入力を受け付ける速度設定値入力部としての通常運転速度設定手段412と、予め速度設定値毎の第2の変換行列関数404を記憶する位置関係行列関数記憶部としての変換行列関数記憶手段410と、を備え、指令値生成手段411は、変換行列関数記憶手段410に格納されている第2の変換行列関数を読み出して、入力された速度設定値に基づいて補正し、補正後の第2の変換行列関数を用いてスレーブロボット10bにかかる演算周期毎の指令値を算出する、ように構成したので、生産システムの立ち上げ時に、全体の速度設定値を徐々に増加させていく際に、予め記録した情報を用いてロボット10a、10b間の最適な位置関係を推定することができるので、第2の実施の形態よりも立ち上げ時間を短縮せしめることができるようになる。
実施の形態4.
実施の形態4によれば、補正量演算手段102a、102bは、インピーダンス特性を考慮したインピーダンス制御を実施する。インピーダンス制御とはハンドと環境の間にバネ・ダンパが接続しているモデルを導入し、所望のインピーダンスを定義して手先位置を制御する方法である。実施の形態4によれば、実施の形態1で説明した補正量生成手段102a、102bによる補正量の生成手法が変更されるが、実施の形態1によって得られる効果と同じ効果が得られる。
さらに、実施の形態4によれば、インピーダンス制御を用いることで、作業対象との力学的な関係を規定できるため、ロボット10a、10b同士やワークへの過負荷状態が発生しにくいように調整した状態で、軌跡の学習を実施する事が出来る。
実施の形態5.
実施の形態1〜3に記載のロボット制御装置において、補正量生成手段102a、102bは、手先にかかる作用力の変わりに、距離センサーによる測定距離を用いて補正量を演算するようにしてもよい。具体的には、ロボット10a、10bあるいは生産システムのジグに距離センサーを取り付けてロボットやワークとの間の距離を計測してロボット10a、10bの手先位置間の相対距離を算出し、相対距離が所望の距離から乖離する場合には、両者を一致せしめるべく補正量を生成する。なお、ロボット10a、10b間の相対距離の算出方法は任意である。例えば、ロボット10aとワークとの間の相対距離と、ロボット10bとワークとの間の相対距離とを距離センサーにより測定し、ロボット10aとロボット10bとの間の距離を求めるようにしてよい。また、ロボット10aとロボット10bとの間の距離を距離センサーにより直接的に測定できるようにしてもよい。
非接触であるが、一定距離を保ったまま作業をする必要があるような協調動作をロボットあるいは周辺駆動装置が実施する場合に、この構成を適用することで、作業対象に対して理想的な位置関係を保つようなスレーブロボット10bの軌跡を学習することができる。
実施の形態6.
実施の形態2、3、5に記載のロボット制御装置によれば、補正量生成手段102a、102bは、同じ教示点においても試行ごとに変動する補正量を利用して学習を進めるため、収束性が保証されない場合がある。これに対して、変換行列生成手段200にて生成される変換行列に対して、k+1回目に取得した変換行列をuk+1、k回目に取得した変換行列をu、k回目とk+1回目に取得した変換行列の変化分を変化量q、k回目とk+1回目の変化量を制御周期で割った変化率q(・)を算出し、それらを忘却因子つき学習制御法(非特許文献1参照)を使い、算出される補正量に変動がある場合にも、安定に収束するように構成することができる。
実施の形態7.
実施の形態7においては、N個の位置補正前の指令値の夫々に、複数サイクル分の補正量の平均値が加算されることによって学習用指令値が生成される。ここでは、学習用指令値を第1学習用指令値と呼称する。また、複数サイクル分の補正量の平均値が加算されることによって第1学習用指令値が生成される、位置補正前の指令値を、第2学習用指令値と呼称する。なお、実施の形態7では、一例として、エンドエフェクタ11aの指令軌跡を演算周期毎に定義するM個の位置指令値のうちの、教示点または教示点の近傍の指令値が、第2学習用指令値として用いられるものとする。
図14は、本発明の実施の形態7の位置関係演算装置を用いたロボット制御系を説明する図である。ここでは、実施の形態1〜3と同じ構成要素には実施の形態1〜3と同一の符号を付して、重複する説明を省略する。
図14に示すように、マスター制御装置23aは、指令値記憶手段100、補正量生成手段110a、補正指令値生成手段101a、駆動制御手段103a、および、現在位置検出手段104aを備えている。補正量生成手段110aは、作用力演算手段105a、補正量演算手段106a、および補正量記憶手段111aを備えている。ここで、自動運転中に、補正量記憶手段111aは、N個の指令値の夫々について、最も新しく演算されたR個の補正量を蓄積記憶する。補正量記憶手段111aは、M個の第2学習用指令値の夫々についても、最も新しく演算されたR個の補正量を記憶する。なお、Rは例えば予め設定される2以上の整数である。M個の第2学習用指令値の夫々にかかるR個の補正量は、位置関係演算装置33によって読み出される。また、指令値記憶手段100に記憶されている第2学習用指令値は、位置関係演算装置33によって読み出される。また、補正指令値生成手段101aによって生成された演算周期毎の補正指令値は、スレーブ制御装置23bに送信される。第2学習用指令値は、補正指令値生成手段101aによって補正された後にスレーブ制御装置23bに送信される。
なお、指令値記憶手段100に記憶されている第2学習用指令値を、エンドエフェクタ11aに対する第2学習用指令値と呼称することによって後述のエンドエフェクタ11bに対する第2学習用指令値と区別する。
位置関係演算装置33は、変換行列生成手段500、変換行列記憶手段301、および変換行列関数生成手段302、を備えている。変換行列生成手段500は、エンドエフェクタ11aに対するN個の第2学習用指令値と、エンドエフェクタ11bに対するN個の第2学習用指令値と、エンドエフェクタ11aに対するN個の第2学習用指令値に対して演算された最も新しいRセットの補正量の平均値と、エンドエフェクタ11bに対するN個の第2学習用指令値に対して演算された最も新しいRセットの補正量の平均値と、に基づいてN個の変換行列を生成する。変換行列記憶手段301は、変換行列生成手段500が生成したN個の学習用変換行列を記憶する。変換行列関数生成手段302は、自動運転時において、現在位置検出手段104a、104bが検出した夫々の現在位置に基づいて、動的に変換行列関数(第2の変換行列関数)を生成する。
なお、変換行列関数生成手段302は、準備処理において、実施の形態1における対応する構成要素と同様の処理を実行して、実施の形態1における変換行列関数(第1の変換行列関数)を生成する。ここでは、説明を簡単にするために、準備処理においてN個の変換行列が生成されるための構成の説明およびデータの入出力関係の図示を省略する。
スレーブ制御装置23bは、変換行列関数記憶手段310、指令値生成手段511、補正量生成手段110b、補正指令値生成手段101b、駆動制御手段103b、および現在位置検出手段104bを備えている。
指令値生成手段511は、補正指令値生成手段101aから送られてきた演算周期毎の補正指令値と変換行列関数記憶手段310が記憶する第2の変換行列関数304とに基づいてエンドエフェクタ11bの軌跡を定義するM個の指令値を生成する。具体的には、指令値生成手段511は、第2の変換行列関数304に基づいて、変換行列をエンドエフェクタ11aに対する補正指令値毎に生成する。そして、指令値生成手段511は、生成した変換行列を補正指令値生成手段101aから送られてきた演算周期毎の補正指令値に作用させて、演算周期毎の、エンドエフェクタ11bに対する指令値を生成する。指令値生成手段511は、補正指令値生成手段101aによって補正された第2学習用指令値と第2の変換行列関数304とに基づいてエンドエフェクタ11bに対する第2学習用指令値を生成する。指令値生成手段511は、生成したエンドエフェクタ11bに対する第2学習用指令値を位置関係演算装置33に送信する。
補正量生成手段110bは、作用力演算手段105b、補正量演算手段106b、および補正量記憶手段111bを備えている。補正量記憶手段111bは、指令値生成手段511が生成したM個の指令値の夫々について、最も新しく算出された所定の数(R個)の補正量を蓄積記憶する。指令値生成手段511が生成したM個の指令値のうちの、エンドエフェクタ11aに対する第2学習用指令値に対応するエンドエフェクタ11bに対する指令値は、位置関係演算装置33に送信される。なお、エンドエフェクタ11aに対する第2学習用指令値に対応するエンドエフェクタ11bに対する指令値を、エンドエフェクタ11bに対する第2学習用指令値ということとする。
次に、変換行列生成手段500が学習用変換行列を生成する手法を説明する。rob1T'E1とのうちの補正量の成分をΔTk1rob2T'E2のうちの補正量の成分をΔTk2と定義する。即ち、ΔTk1は、rob1T'E1rob1TE1との差分であり、ΔTk2は、rob2T'E2rob2TE2との差分である。従って、ΔTk1、ΔTk2は夫々次のように表現できる。
ΔTk1=[rob1R'E1(rob1RE1)-1,rob1P'E1rob1PE1;
zero(1,3),1] (21)
ΔTk2=[rob2R'E1(rob2RE2)-1,rob2P'E2rob2PE2;
zero(1,3),1] (22)
ただし、式(1)と同様に、rob1TE1rob2TE2rob1T'E1、およびrob2T'E2は次のように表現される。
robiT'Ei(i=1、2)=[rob1R'Ei,rob1P'Ei;
zero(1,3),1] (23)
robiTEi(i=1、2)=[rob1REi,rob1PEi;
zero(1,3),1] (24)
変換行列生成手段500は、エンドエフェクタ11aに対する第2学習用指令値の夫々についてR個の補正量の平均を演算することによって、エンドエフェクタ11aに対する第2学習用指令値の夫々に対する補正量の平均値ΔTk1_mを算出する。また、変換行列生成手段500は、エンドエフェクタ11bに対する第2学習用指令値の夫々についてR個の補正量の平均を演算することによって、エンドエフェクタ11bに対する第2学習用指令値の夫々に対する補正量の平均値ΔTk2_mを算出する。そして、変換行列生成手段500は、算出した平均値ΔTk2_i(i=1,2)を対応する第2学習用指令値に加算することによって、第1学習用指令値を算出する。
具体的には、変換行列生成手段500は、ΔTki_m(i=1,2)と次の式(25)とを用いることによって、回転成分ΔRki_mと並進成分ΔPki_mとを算出する。
ΔTki_m=[ΔRki_m,ΔPki_m;
zero(1,3),1] (25)
そして、変換行列生成手段500は、式(26)に回転成分ΔRki_mと並進成分ΔPki_mとを代入することによって第1学習用指令値robiT''Ei,i=1,2を算出する。
robiT''Ei,i=1,2=[robiREi,i=1,2ΔRki_m, robiPEi,i=1,2+ΔPki_m;
zero(1,3),1] (26)
そして、変換行列生成手段500は、第1学習用指令値robiT''Ei,i=1,2と次の式(27)とを用いて実施の形態7の学習用変換行列E1T''E2(k),k=1,2,...,Nを演算する。
E1T''E2=(wldTrob1 rob1T''E1)-1 wldTrob2 rob2T''E2 (27)
なお、最も新しいR個の補正量の平均値が第2学習用指令値に加算されることによって第1学習用指令値が算出されるとして説明したが、第2学習用指令値に加算される補正量は、R個の補正量を代表する値であればよく、平均値だけに限定されない。例えば、R個の補正量の中間値、最頻値、重み付け平均値などが、第2学習用指令値に加算される補正量として採用可能である。
補正量演算手段106a、106bは、例えば、インピーダンス制御系または力制御系の制御系を有する。インピーダンス制御系または力制御系は、特許文献4に示されるように、積分器を有する。したがって、インピーダンス制御系または力制御系は、T1番目補正量〜Tm-1番目補正量を用いて、Tm番目補正量を算出する。実施の形態7によれば、R個のTm番目補正量を用いて誤差のあわせこみが実行されるので、誤差のあわせこみの精度が向上する。その結果、同期駆動中の複数ロボットの実軌跡上のどの位置においても、把持ワークに掛かる負荷をより低減することが可能となる。
また、自動運転中の作用力は、速度、温度などの諸条件に起因して変化する。実施の形態7によれば、最も新しく演算されたR個の補正量が平均処理されて得られた補正量を用いて第1学習用指令値が生成されるので、諸条件に起因して変化する作用力を漸近的に低減することができる。
以上述べたように、本発明の実施の形態7によれば、補正指令値生成手段101a、101b、補正量生成手段110a、110b、および変換行列生成手段500は、協働して、演算周期毎の指令値に含まれる第2学習用指令値の夫々について、当該第2学習用指令値と、当該第2学習用指令値に対する最も新しい所定サイクル分の補正量の代表値と、に基づいて第1学習用指令値を算出する。そして、変換行列生成手段500は、第1学習用指令値毎に学習用変換行列を生成する。これにより、第1学習用指令値は、T1番目補正量〜Tm-1番目補正量を用いてTm番目補正量が算出される方式に比べて精度が高い方法で誤差があわせこまれて生成される。また、第1学習用指令値は、自動運転中の諸条件の変動に基づく誤差の変動を考慮して生成される。したがって、エンドエフェクタ11a、11bに発生する作用力を可及的に小さくすることができる。
なお、以上の説明においては、自動運転時に演算された最も新しいRサイクル分の補正値を用いて第2の変換行列関数304が生成される、として説明した。Rサイクル分の準備処理が実行され、第1の変換行列関数303は、Rサイクル分の準備処理により得られた補正値を用いて、第2の変換行列関数304と同様の手順で生成されるようにしてもよい。
また、図15に示すように、指令値生成手段511は、指令値記憶手段100からエンドエフェクタ11aに対する演算周期毎の指令値を読み出して、補正量記憶手段111aから演算周期毎の指令値に対するRセット分の補正量を読み出して、読み出した指令値と読み出したRセット分の補正量の平均値とを合算することによってエンドエフェクタ11bに対する演算周期毎の指令値を生成するようにしてもよい。このようにすることによって、エンドエフェクタ11aの補正指令値が大きく変動したとしても、エンドエフェクタ11bの演算周期毎の指令値に対するエンドエフェクタ11aの補正指令値の変動の影響を小さくすることができる。
実施の形態8.
実施の形態8においては、演算周期毎の指令値のうちの、作用力に関する所定の条件を満たす指令値が、第2学習用指令値として選択される。
図16は、本発明の実施の形態8の位置関係演算装置を用いたロボット制御系を説明する図である。ここでは、実施の形態7と同じ構成要素には実施の形態7と同一の符号を付して、重複する説明を省略する。
図示するように、実施の形態8のマスター制御装置24aは、図14を用いて説明した実施の形態7のマスター制御装置23aに学習用指令値選択手段600が追加された構成を有している。実施の形態8の位置関係演算装置33およびスレーブ制御装置23bは、夫々、図14を用いて説明した対応する装置と同様の構成を有している。
学習用指令値選択手段600は、指令値記憶手段100が記憶するM個の演算周期毎の指令値のうちから、作用力に関する所定の条件を満たすN個の第2学習用指令値を選択する。補正量は、作用力の増減に応じて増減する。ここでは、学習用指令値選択手段600は、補正量演算手段106aが算出した補正量を特徴量として用いて、N個の第2学習用指令値を選択する。
なお、学習用指令値選択手段600は、補正量をどのように用いて第2学習用指令値を選択してもよい。例えば、学習用指令値選択手段600は、補正量または/および補正量の変化率が所定のしきい値を越える指令値を第2学習用指令値として選択してもよい。これにより、作用力または作用力の変化率が特に大きくなる指令値が第2学習用指令値に設定される。
また、学習用指令値選択手段600は、補正量以外の量を特徴量として第2学習用指令値を選択するようにしてもよい。以下に、補正量以外の量を特徴量とする場合の選択手法を列挙する。
例えば、学習用指令値選択手段600は、作用力演算手段105aが演算した作用力を特徴量として用いてもよい。学習用指令値選択手段600は、作用力または/および作用力の変化率が所定のしきい値を超える指令値を第2学習用指令値として選択する。
また、学習用指令値選択手段600は、演算周期毎の指令値を特徴量として用いてもよい。例えば、学習用指令値選択手段600は、所定の位置条件を満たす指令値を第2学習用指令値として選択する。軌道上において作用力または作用力の変化率が大きくなる位置がロボットの機構に基づいて予め判明している場合がある。その場合には、軌道上における作用力または作用力の変化率が大きくなる位置が位置条件として学習用指令値選択手段600に予め設定される。学習用指令値選択手段600は、位置条件として設定された位置に位置決めするための指令値を第2学習用指令値として選択する。なお、軌道上の範囲が位置条件として設定されてもよい。
また、学習用指令値選択手段600は、演算周期毎の指令値または演算周期毎の現在位置からモータ速度を算出し、モータ速度を特徴量として用いてもよい。学習用指令値選択手段600は、モータ速度またはモータ速度の変化率が大きい位置を検出し、その検出した位置に位置決めするための指令値を第2学習用指令値として選択する。これにより、軌道上における遠心力またはコリオリ力によって作用力が大きくなるような位置に対応する指令値が第2学習用指令値として選択される。
また、学習用指令値選択手段600は、指令値または姿勢位置の、単位時間当たりの変化量を特徴量として用いてもよい。
また、学習用指令値選択手段600は、指令値が使用される時刻を特徴量として用いてもよい。指令値記憶手段100から演算周期毎の指令値が逐次読み出され、読み出された指令値に基づく補正指令値が駆動制御手段103aに逐次供給される。作用力が時間的な条件に基づいて変動する場合には、学習用指令値選択手段600は、作用力または作用力の変動が大きくなる時刻に基づいて第2学習用指令値を選択するようにしてもよい。例えば、学習用指令値選択手段600は、指令値記憶手段100から演算周期毎の指令値が読み出された時刻が、予め設定された時刻条件を満たす場合に、その指令値を第2学習用指令値として選択する。
なお、実施の形態5において説明したように距離に基づいて補正量が算出される場合には、学習用指令値選択手段600は、補正量の大きさ、補正量の変化率、または、補正前後における距離の差分と、所定のしきい値と、の比較に基づいて第2学習用指令値を選択するようにしてもよい。
また、学習用指令値選択手段600は、以上に列挙した選択手法を組み合わせて第2学習用指令値を選択するようにしてもよい。
図17は、比較例にかかるロボット制御系によって協調作業が行われた場合の、エンドエフェクタにかかる作用力と当該エンドエフェクタの位置との関係を示す図である。ここで、t[s]は時間を、x[mm]はエンドエフェクタの位置を、Fx[N]はエンドエフェクタにかかる作用力を、Fxlim[N]は作用力の許容値を、夫々示している。本図に示されるように、比較例によれば、エンドエフェクタの位置の変化に応じて誤差が変化し、誤差に応じて作用力Fxが大きくなってしまう。また、速度が速くなる場合など、動的な影響で誤差量が変わる場合、作用力Fxがさらに大きくなってしまう。
図18は、比較例にかかるロボット制御系にインピーダンス制御が適用された場合の、エンドエフェクタにかかる作用力と当該エンドエフェクタの位置との関係を示す図である。インピーダンス制御が適用されることによって、図17に示した場合に比べて各位置における作用力Fxが低減される。しかしながら、軌道上の部位毎に制御パラメータを調整することは難しいため、姿勢が変化する場合や速度が変動するような場合などにおいては、軌道上の全ての位置において作用力FxをFxlimよりも小さくすることが困難である。
図19は、実施の形態8のロボット制御系によって協調作業が行われた場合の、エンドエフェクタにかかる作用力と当該エンドエフェクタの位置との関係を示す図である。実施の形態8によれば、作用力または作用力の変化率が大きい位置に位置決めする指令値が第2学習用指令値として選択され、夫々の第2学習用指令値に対してR個の補正量の平均値が加算されて第1学習用指令値が生成される。これにより、軌道上の全域にわたって作用力Fxを小さくすることができ、結果として、軌道上のどの位置においても作用力FxをFxlimよりも小さくすることが可能となる。
以上述べたように、本発明の実施の形態8によれば、学習用指令値選択手段600は、指令値記憶手段100が記憶するエンドエフェクタ11aに対するM個の演算周期毎の指令値のうちから、作用力に関する所定の条件を満たすN個の第2学習用指令値を選択する。指令値生成手段511は、選択されたエンドエフェクタ11aに対する第2学習用指令値に基づいてエンドエフェクタ11bに対する第2学習用指令値を生成する。これにより、エンドエフェクタ11a、11bに発生する作用力または作用力の変化率が特に大きくなる位置において作用力が小さくなるように学習用変換行列が生成されるので、エンドエフェクタ11a、11bに発生する作用力をさらに小さくすることが可能となる。
なお、実施の形態1〜7の説明においては、ロボット10a、10bのタイプは6自由度垂直多関節型ロボットであるものとして説明しているが、ロボット10a、10bのタイプはこれに限定されない。ロボット10a、10bのタイプは例えば水平多関節型ロボットまたは直動ロボットであってもよい。
以上のように、本発明にかかるロボット制御装置およびロボット制御方法は、複数のロボットをロボット間で同期させながら駆動するロボット制御装置およびロボット制御方法に適用して好適である。
10a マスターロボット、10b スレーブロボット、11a,b エンドエフェクタ、12a,b 据付け台、20a,21a,22a,23a,24a,40a マスター制御装置、20b,21b,22b,23b,40b スレーブ制御装置、30,31,32,33,50 位置関係演算装置、100 指令値記憶手段、101a,b 補正指令値生成手段、102a,b 補正量生成手段、103a,b 駆動制御手段、104a,b 現在位置検出手段、105a,b 作用力演算手段、106a,b 補正量演算手段、107a,b 補正量記憶手段、108,311,511 指令値生成手段、109 変換行列記憶手段、110a,b 補正量生成手段、111a,b 補正量記憶手段、200,300,400,500 変換行列生成手段、201,301,401 変換行列記憶手段、202,302,402 変換行列関数生成手段、210,310 変換行列関数記憶手段、211 指令値生成手段、303 第1の変換行列関数、304,404 第2の変換行列関数、403 試験運転速度設定手段、410 変換行列関数記憶手段、411 指令値生成手段、412 通常運転速度設定手段、600 学習用指令値選択手段。
実施の形態4.
実施の形態4によれば、補正量生成手段102a、102bは、インピーダンス特性を考慮したインピーダンス制御を実施する。インピーダンス制御とはハンドと環境の間にバネ・ダンパが接続しているモデルを導入し、所望のインピーダンスを定義して手先位置を制御する方法である。実施の形態4によれば、実施の形態1で説明した補正量生成手段102a、102bによる補正量の生成手法が変更されるが、実施の形態1によって得られる効果と同じ効果が得られる。
実施の形態6.
実施の形態2、3、5に記載のロボット制御装置によれば、補正量生成手段102a、102bは、同じ教示点においても試行ごとに変動する補正量を利用して学習を進めるため、収束性が保証されない場合がある。これに対して、実施の形態6では変換行列生成手段200にて生成される変換行列に対して、k+1回目に取得した変換行列uk+1、k回目に取得した変換行列u、k回目とk+1回目に取得した変換行列の変化分である変化量q、k回目とk+1回目の変化量を制御周期で割った変化率q(・)を算出し、それらを忘却因子つき学習制御法(非特許文献1参照)を使い、算出される補正量に変動がある場合にも、安定に収束するように構成することができる。
変換行列生成手段500は、エンドエフェクタ11aに対する第2学習用指令値の夫々についてR個の補正量の平均を演算することによって、エンドエフェクタ11aに対する第2学習用指令値の夫々に対する補正量の平均値ΔTk1_mを算出する。また、変換行列生成手段500は、エンドエフェクタ11bに対する第2学習用指令値の夫々についてR個の補正量の平均を演算することによって、エンドエフェクタ11bに対する第2学習用指令値の夫々に対する補正量の平均値ΔTk2_mを算出する。そして、変換行列生成手段500は、算出した平均値ΔT ki_m (i=1,2)を対応する第2学習用指令値に加算することによって、第1学習用指令値を算出する。
また、学習用指令値選択手段600は、演算周期毎の指令値を特徴量として用いてもよい。例えば、学習用指令値選択手段600は、所定の位置条件を満たす指令値を第2学習用指令値として選択する。軌道上において作用力または作用力の変化率が大きくなる位置がロボットの機構に基づいて予め判明している場合がある。その場合には、軌道上における作用力または作用力の変化率が大きくなる位置が位置条件として学習用指令値選択手段600に予め設定される。学習用指令値選択手段600は、位置条件として設定された位置にロボットを位置決めするための指令値を第2学習用指令値として選択する。なお、軌道上の範囲が位置条件として設定されてもよい。
図19は、実施の形態8のロボット制御系によって協調作業が行われた場合の、エンドエフェクタにかかる作用力と当該エンドエフェクタの位置との関係を示す図である。実施の形態8によれば、作用力または作用力の変化率が大きい位置にロボットを位置決めする指令値が第2学習用指令値として選択され、夫々の第2学習用指令値に対してR個の補正量の平均値が加算されて第1学習用指令値が生成される。これにより、軌道上の全域にわたって作用力Fxを小さくすることができ、結果として、軌道上のどの位置においても作用力FxをFxlimよりも小さくすることが可能となる。

Claims (11)

  1. 第1ロボットと前記第1ロボットと異なる第2ロボットとを同期駆動するロボット制御装置であって、
    前記第1ロボットと前記第2ロボットとを同期駆動時の夫々の軌跡上に位置決めする位置補正済みの指令値であるロボット当たりにN個の第1学習用指令値に基づいて、前記第1ロボットにかかる第1学習用指令値と前記第2ロボットにかかる第1学習用指令値との間の同期駆動時の位置関係を定義する位置関係行列を前記N個の第1学習用指令値の夫々について生成する位置関係行列生成部と、
    前記第1ロボットの軌跡を定義する指令値であるM(M>N)個の演算周期毎の第1駆動用指令値を出力する第1指令値出力部と、
    前記N個の位置関係行列を補間して前記第1駆動用指令値毎の位置関係行列を生成する位置関係行列補間部と、
    前記M個の第1駆動用指令値の夫々に前記補間後の対応する位置関係行列を作用させて前記第2ロボットの軌跡を定義する指令値であるM個の第2駆動用指令値を生成する第2指令値生成部と、
    を備え、前記第1駆動用指令値に基づいて前記第1ロボットを駆動し、前記第2駆動用指令値に基づいて前記第2ロボットを駆動する、
    ことを特徴とするロボット制御装置。
  2. 前記第1ロボットおよび前記第2ロボットは、ユーザによりNセットの教示点の夫々に移動せしめられて静止せしめられ、
    前記Nセットの教示点の夫々に前記第1ロボットおよび前記第2ロボットが静止せしめられる毎に手先にかかる作用力に基づいて夫々の手先位置の補正を行い、補正後の手先位置または補正後の手先位置に対応する指令値を取得して前記第1学習用指令値に設定する位置補正済み指令値生成部をさらに備える、
    ことを特徴とする請求項1に記載のロボット制御装置。
  3. 前記N個の位置関係行列を補間する位置関係行列関数を生成する位置関係行列関数生成部をさらに備え、
    前記位置関係行列補間部は、前記位置関係行列関数に基づいて前記第1駆動用指令値毎の位置関係行列を生成する、
    ことを特徴とする請求項2に記載のロボット制御装置。
  4. 前記第1ロボットと前記第2ロボットとは、同一のワークを同時に把持して搬送するロボットであって、
    前記第1ロボットまたは前記第2ロボットの手先にかかる作用力を演算する作用力演算部と、
    同期駆動時に、前記第1駆動用指令値または前記第2駆動用指令値に対し、前記作用力演算部による演算値に基づいて前記第1ロボットまたは前記第2ロボットの手先にかかる作用力を低減する補正を行う指令補正部と、
    同期駆動時に前記第1ロボットおよび前記第2ロボットの位置検出を行う位置検出部と、
    同期駆動時に前記N個の第1学習用指令値をロボット毎に算出する位置補正済み指令値生成部と、
    をさらに備えることを特徴とする請求項1に記載のロボット制御装置。
  5. 前記第1ロボットの手先位置および前記第2ロボットの手先位置を演算周期毎に検出する位置検出部をさらに備え、
    前記位置補正済み指令値生成部は、前記第1ロボットの手先位置の検出値のうちのN個の検出値、および、前記第2ロボットの手先位置の検出値のうちのN個の検出値、を前記第1学習用指令値に設定する、
    ことを特徴とする請求項4に記載のロボット制御装置。
  6. 前記指令補正部は、同期駆動時に、前記第1駆動用指令値および前記第2駆動用指令値を補正し、
    前記M個の第1駆動用指令値および前記M個の第2駆動用指令値は、夫々N個の第2学習用指令値を含み、
    前記位置補正済み指令値生成部は、
    前記第2学習用指令値の夫々について、当該第2学習用指令値と、当該第2学習用指令値に対する前記指令補正部による最も新しい所定サイクル分の補正量の代表値と、を加算することによって前記第1学習用指令値を算出する、
    ことを特徴とする請求項4に記載のロボット制御装置。
  7. 前記M個の第1駆動用指令値のうちの前記作用力に関する設定条件を満たす駆動用指令値を選択し、前記選択した駆動用指令値を前記第1ロボットの第2学習用指令値に設定する、学習用指令値選択部をさらに備える、
    ことを特徴とする請求項6に記載のロボット制御装置。
  8. 前記代表値は、平均値、重み付け平均値、中間値、または、最頻値である、
    ことを特徴とする請求項6に記載のロボット制御装置。
  9. 前記N個の位置関係行列を補間する位置関係行列関数を生成する位置関係行列関数生成部をさらに備え、
    前記位置関係行列補間部は、前記位置関係行列関数に基づいて前記第1駆動用指令値毎の位置関係行列を生成する、
    ことを特徴とする請求項1乃至請求項8の何れか一項に記載のロボット制御装置。
  10. 同期駆動時に第1の速度設定値の入力を受け付ける速度設定値入力部と、
    前記第1の速度設定値と異なる第2の速度設定値毎に前記N個の位置関係行列を補間する位置関係行列関数を予め記憶する位置関係行列関数記憶部と、
    を備え、
    前記位置関係行列補間部は、同期駆動時に、前記位置関係行列関数記憶部が記憶する前記第2の速度設定値毎の位置関係行列関数を読み出して、前記速度設定値入力部に入力された第1の速度設定値に基づいて前記読み出した第2の速度設定値毎の位置関係行列関数を補正し、前記補正後の位置関係行列関数に基づいて前記第1の速度指令値毎の位置関係行列を生成する、
    ことを特徴とする請求項1に記載のロボット制御装置。
  11. 第1ロボットと前記第1ロボットと異なる第2ロボットとを同期駆動するロボット制御方法であって、
    前記第1ロボットと前記第2ロボットとを同期駆動時の夫々の軌跡上に位置決めする位置補正済みの指令値であるロボット当たりにN個の第1学習用指令値に基づいて、前記第1ロボットにかかる第1学習用指令値と前記第2ロボットにかかる第1学習用指令値との間の同期駆動時の位置関係を定義する位置関係行列を前記N個の第1学習用指令値の夫々について生成する位置関係行列生成ステップと、
    前記第1ロボットの軌跡を定義する指令値であるM(M>N)個の演算周期毎の第1駆動用指令値を出力する第1指令値出力ステップと、
    前記N個の位置関係行列を補間して前記第1駆動用指令値毎の位置関係行列を生成する位置関係行列補間ステップと、
    前記M個の第1駆動用指令値の夫々に前記補間後の対応する位置関係行列を作用させて前記第2ロボットの軌跡を定義する指令値であるM個の第2駆動用指令値を生成する第2指令値生成ステップと、
    前記第1駆動用指令値に基づいて前記第1ロボットを駆動し、前記第2駆動用指令値に基づいて前記第2ロボットを駆動する、同期駆動ステップと、
    を備える、
    ことを特徴とするロボット制御方法。
JP2014522493A 2012-06-29 2013-05-30 ロボット制御装置およびロボット制御方法 Active JP5774223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014522493A JP5774223B2 (ja) 2012-06-29 2013-05-30 ロボット制御装置およびロボット制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012146947 2012-06-29
JP2012146947 2012-06-29
PCT/JP2013/065060 WO2014002678A1 (ja) 2012-06-29 2013-05-30 ロボット制御装置およびロボット制御方法
JP2014522493A JP5774223B2 (ja) 2012-06-29 2013-05-30 ロボット制御装置およびロボット制御方法

Publications (2)

Publication Number Publication Date
JP5774223B2 JP5774223B2 (ja) 2015-09-09
JPWO2014002678A1 true JPWO2014002678A1 (ja) 2016-05-30

Family

ID=49782845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014522493A Active JP5774223B2 (ja) 2012-06-29 2013-05-30 ロボット制御装置およびロボット制御方法

Country Status (5)

Country Link
US (1) US9517556B2 (ja)
JP (1) JP5774223B2 (ja)
CN (1) CN104379308B (ja)
DE (1) DE112013003209B4 (ja)
WO (1) WO2014002678A1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
WO2014148032A1 (ja) * 2013-03-19 2014-09-25 パナソニック株式会社 ロボットシステムの制御方法およびロボットシステム
FR3018358B1 (fr) * 2014-03-10 2018-05-25 Noviloire Methode d'initialisation et de controle d'une installation robotisee
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
JP5829313B1 (ja) 2014-06-25 2015-12-09 ファナック株式会社 シミュレーションを用いたオフライン教示装置
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
US9457469B2 (en) * 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
CN104468685B (zh) * 2014-09-09 2018-04-17 杭州德宝威智能科技有限公司 机器人数据共享方法和系统
US10434644B2 (en) * 2014-11-03 2019-10-08 The Board Of Trustees Of The Leland Stanford Junior University Position/force control of a flexible manipulator under model-less control
JP6625322B2 (ja) * 2014-12-15 2019-12-25 Ntn株式会社 リンク作動装置
JP6126152B2 (ja) * 2015-03-16 2017-05-10 ファナック株式会社 曲線部を有する軌道を生成するロボットの軌道生成装置
JP6591818B2 (ja) * 2015-07-30 2019-10-16 ファナック株式会社 産業用ロボットシステムおよびその制御方法
JP6754364B2 (ja) * 2015-08-25 2020-09-09 川崎重工業株式会社 ロボットシステム
JP6616170B2 (ja) * 2015-12-07 2019-12-04 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
DE102016000850A1 (de) * 2016-01-27 2017-07-27 Kuka Roboter Gmbh Steuern eines Roboterverbands
DE102016206480B4 (de) * 2016-04-18 2019-07-25 Kuka Systems Gmbh Prüfen einer Sicherheitseigenschaft eines Manipulators
CN105773620B (zh) * 2016-04-26 2017-09-12 南京工程学院 基于倍四元数的工业机器人自由曲线的轨迹规划控制方法
CA3022888A1 (en) 2016-05-12 2017-11-16 Dreco Energy Services Ulc System and method for offline standbuilding
JP6594268B2 (ja) * 2016-07-25 2019-10-23 三菱電機株式会社 モーション制御システム
JP6517762B2 (ja) 2016-08-23 2019-05-22 ファナック株式会社 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム
JP6438450B2 (ja) * 2016-11-29 2018-12-12 ファナック株式会社 レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP6484213B2 (ja) * 2016-12-09 2019-03-13 ファナック株式会社 複数のロボットを含むロボットシステム、ロボット制御装置、及びロボット制御方法
CN106584462B (zh) * 2016-12-22 2019-01-15 南京埃斯顿自动化股份有限公司 一种机器人运行速度实时调节方法
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP6852450B2 (ja) * 2017-02-17 2021-03-31 セイコーエプソン株式会社 表示方法およびロボットシステム
JP6472472B2 (ja) * 2017-03-08 2019-02-20 本田技研工業株式会社 位置姿勢調整方法
JP6724831B2 (ja) * 2017-03-16 2020-07-15 株式会社安川電機 コントロールシステム、コントローラ及び制御方法
EP3626401B1 (en) * 2017-05-17 2024-09-18 Telexistence Inc. Control device, robot control method, and robot control system
JP6959762B2 (ja) * 2017-05-19 2021-11-05 川崎重工業株式会社 遠隔操作ロボットシステム
JP6816704B2 (ja) * 2017-11-09 2021-01-20 オムロン株式会社 指令値補間装置及びサーボドライバ
CN111344120B (zh) * 2017-11-14 2023-04-07 三菱电机株式会社 机器人的动作调整装置、动作控制系统及机器人系统
CN108555903B (zh) * 2017-12-30 2021-12-10 芜湖哈特机器人产业技术研究院有限公司 一种清洗液压机械臂的力控制方法
JP6661676B2 (ja) 2018-01-18 2020-03-11 ファナック株式会社 ロボット制御装置
WO2019142583A1 (ja) * 2018-01-19 2019-07-25 ソニー株式会社 ロボット装置及び電子機器の製造方法
JP6962229B2 (ja) 2018-02-15 2021-11-05 オムロン株式会社 中央制御装置、制御方法およびプログラム
US11035183B2 (en) 2018-08-03 2021-06-15 National Oilwell Varco, L.P. Devices, systems, and methods for top drive clearing
US11891864B2 (en) 2019-01-25 2024-02-06 National Oilwell Varco, L.P. Pipe handling arm
US11988059B2 (en) 2019-02-22 2024-05-21 National Oilwell Varco, L.P. Dual activity top drive
JP7405537B2 (ja) * 2019-09-05 2023-12-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法
JP7437910B2 (ja) 2019-10-29 2024-02-26 株式会社東芝 制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体
CN111319042B (zh) * 2020-02-06 2023-03-07 北京凡川智能机器人科技有限公司 一种基于遗忘因子动态参数的机器人柔顺装配控制方法
US11834914B2 (en) 2020-02-10 2023-12-05 National Oilwell Varco, L.P. Quick coupling drill pipe connector
US11274508B2 (en) 2020-03-31 2022-03-15 National Oilwell Varco, L.P. Robotic pipe handling from outside a setback area
WO2021226622A1 (en) 2020-05-03 2021-11-11 National Oilwell Varco, L.P. Passive rotation disconnect
CN116075399A (zh) * 2020-09-14 2023-05-05 三菱电机株式会社 机器人控制装置
US11365592B1 (en) * 2021-02-02 2022-06-21 National Oilwell Varco, L.P. Robot end-effector orientation constraint for pipe tailing path
US11814911B2 (en) 2021-07-02 2023-11-14 National Oilwell Varco, L.P. Passive tubular connection guide
US11982139B2 (en) 2021-11-03 2024-05-14 National Oilwell Varco, L.P. Passive spacer system

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113605A (ja) * 1986-10-30 1988-05-18 Toyota Motor Corp 同期型ロボツト装置の動作制御方法
DE68923889T2 (de) 1988-03-01 1996-01-18 Hitachi Construction Machinery Positions-/Kraft-Steuerungsgerät für Werkzeugmaschinen mit mehreren Freiheitsgraden.
EP0353585A3 (de) * 1988-08-04 1992-04-22 Siemens Aktiengesellschaft Verfahren zur Bahn- und Positionskorrektur eines Werkzeugs eines Roboters
JP2514490B2 (ja) 1991-07-05 1996-07-10 株式会社ダイヘン 産業用ロボットの連動手動操作による教示制御方法
DE69216167T2 (de) * 1991-07-06 1997-07-10 Daihen Corp Gerät zur Steuerung eines Industrieroboters zur Durchführung koordinierter Arbeitsvorgänge unter Verwendung eines Playbackteachingverfahrens und dies-bezügliches Verfahren
US5258402A (en) 1992-06-11 1993-11-02 Mcneil-Ppc, Inc. Imidate derivatives of pharmaceutically useful anticonvulsant sulfamates
JP3086082B2 (ja) 1992-08-25 2000-09-11 ファナック株式会社 ロボットの同期制御方法およびロボットの同期制御装置
JP3306781B2 (ja) * 1992-12-31 2002-07-24 株式会社ダイヘン 産業用ロボットの手動操作による教示制御装置および教示方法
JPH0720915A (ja) 1993-07-06 1995-01-24 Fanuc Ltd ロボットの同期制御方法
JPH07205072A (ja) 1994-01-26 1995-08-08 Mazda Motor Corp 複数ロボットの協調制御装置
JPH07256580A (ja) 1994-03-18 1995-10-09 Fujitsu Ltd 複腕協調制御装置
JP2732034B2 (ja) 1994-08-23 1998-03-25 株式会社不二越 ロボット制御装置
DE69636230T2 (de) * 1995-09-11 2007-04-12 Kabushiki Kaisha Yaskawa Denki, Kitakyushu Robotersteuerung
JP3632278B2 (ja) 1996-01-31 2005-03-23 松下電器産業株式会社 ロボット間座標変換行列設定方法および補正方法
JPH1083208A (ja) 1996-09-05 1998-03-31 Matsushita Electric Ind Co Ltd ロボット間相対位置演算機構
JPH11119820A (ja) 1997-10-17 1999-04-30 Meidensha Corp ティーチングプレイバック式ロボット
JP2000190266A (ja) 1998-12-25 2000-07-11 Toyota Motor Corp 複数マニピュレ―タによる協調動作制御方法
JP2000301479A (ja) * 1999-04-19 2000-10-31 Denso Corp ロボット制御装置
EP1090722B1 (en) * 1999-09-16 2007-07-25 Fanuc Ltd Control system for synchronously cooperative operation of a plurality of robots
JP2001212781A (ja) * 2000-02-02 2001-08-07 Aida Eng Ltd ロボットの同期制御装置
JP3666341B2 (ja) 2000-02-04 2005-06-29 三菱電機株式会社 ロボット制御方法
JP2001252884A (ja) * 2000-03-06 2001-09-18 Matsushita Electric Ind Co Ltd ロボット、ロボットシステムおよびロボットの制御方法
JP3765713B2 (ja) 2000-07-10 2006-04-12 独立行政法人科学技術振興機構 ロボットの協調制御方法及び協調制御装置
JP3504222B2 (ja) * 2000-09-04 2004-03-08 ファナック株式会社 ロボット制御装置
JP3588063B2 (ja) 2001-07-13 2004-11-10 ファナック株式会社 ロボット制御装置
JP3577028B2 (ja) * 2001-11-07 2004-10-13 川崎重工業株式会社 ロボットの協調制御システム
US6807461B2 (en) * 2002-05-22 2004-10-19 Kuka Roboter Gmbh Coordinated robot control from multiple remote instruction sources
DE10236392A1 (de) * 2002-08-08 2004-02-19 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten
US6804580B1 (en) * 2003-04-03 2004-10-12 Kuka Roboter Gmbh Method and control system for controlling a plurality of robots
SE0400091D0 (sv) * 2004-01-16 2004-01-16 Abb Ab Control system, method and computer program
JP2005262369A (ja) 2004-03-18 2005-09-29 Yaskawa Electric Corp ロボットシステム
JP2006099474A (ja) * 2004-09-29 2006-04-13 Fanuc Ltd ロボットの軌跡制御方法
JP4189445B2 (ja) * 2004-12-22 2008-12-03 川崎重工業株式会社 ロボットの制御方法および制御装置
JP2006187826A (ja) * 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
JP4382003B2 (ja) * 2005-03-23 2009-12-09 川崎重工業株式会社 ロボット制御装置およびロボット制御方法
US7860609B2 (en) * 2005-05-06 2010-12-28 Fanuc Robotics America, Inc. Robot multi-arm control system
JP4159577B2 (ja) * 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
US20070142966A1 (en) * 2005-12-20 2007-06-21 Khalid Mirza Process for moving a robot
JP2008073830A (ja) * 2006-09-25 2008-04-03 Fanuc Ltd ロボット制御装置
JP2008254097A (ja) 2007-04-03 2008-10-23 Denso Wave Inc 複数ロボット間の相対位置計算方法
JP2009018380A (ja) 2007-07-12 2009-01-29 Toyota Motor Corp ロボット、ロボットの制御方法、及びロボットの制御システム
CN102152313B (zh) * 2008-02-28 2012-12-12 松下电器产业株式会社 机器人手臂的控制装置及控制方法、机器人、机器人手臂的控制程序、及机器人手臂控制用集成电子电路
US8301302B2 (en) * 2008-05-08 2012-10-30 The Boeing Company Synchronous robotic operation on a structure having a confined space
KR101479233B1 (ko) 2008-05-13 2015-01-05 삼성전자 주식회사 로봇 및 그 협조작업 제어방법
WO2009147832A1 (ja) * 2008-06-06 2009-12-10 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
JP2010023128A (ja) 2008-07-15 2010-02-04 Yaskawa Electric Corp ロボットシステム
JP5436160B2 (ja) 2009-11-19 2014-03-05 三菱電機株式会社 力制御装置
JP2010082802A (ja) 2009-11-26 2010-04-15 Yaskawa Electric Corp 自動機械システム
US9205887B2 (en) * 2010-02-25 2015-12-08 Honda Motor Co., Ltd. Constrained resolved acceleration control
CN102510793B (zh) * 2010-06-04 2015-01-28 中国科学院自动化研究所 加速度连续的机器人轨迹生成系统和方法
CN101913149B (zh) * 2010-07-23 2012-04-04 山东电力研究院 嵌入式轻型机械臂控制器及其控制方法
US8731714B2 (en) * 2010-09-22 2014-05-20 GM Global Technology Operations LLC Concurrent path planning with one or more humanoid robots
CN104054023B (zh) * 2011-11-16 2017-11-17 欧特法斯公司 用于与机器人控制的物体映射的3d投影的系统和方法
US20130245823A1 (en) * 2012-03-19 2013-09-19 Kabushiki Kaisha Yaskawa Denki Robot system, robot hand, and robot system operating method
CN102721746A (zh) * 2012-07-04 2012-10-10 北京理工大学 一种双机械手超声透射检测装置
JP5981811B2 (ja) * 2012-09-06 2016-08-31 川崎重工業株式会社 搬送システム及び搬送システムの搬送方法
JP5678979B2 (ja) * 2013-03-15 2015-03-04 株式会社安川電機 ロボットシステム、校正方法及び被加工物の製造方法
JP5768829B2 (ja) * 2013-03-15 2015-08-26 株式会社安川電機 ロボットシステム、ロボット制御方法及び被加工物の製造方法
WO2014148032A1 (ja) * 2013-03-19 2014-09-25 パナソニック株式会社 ロボットシステムの制御方法およびロボットシステム
JP5970415B2 (ja) * 2013-05-16 2016-08-17 株式会社神戸製鋼所 産業用ロボットおよび周辺装置の動作を制御する制御システムおよび制御方法
JP5893665B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 作用された力に応じて移動されるロボットを制御するロボット制御装置

Also Published As

Publication number Publication date
CN104379308A (zh) 2015-02-25
DE112013003209T5 (de) 2015-04-02
WO2014002678A1 (ja) 2014-01-03
US9517556B2 (en) 2016-12-13
JP5774223B2 (ja) 2015-09-09
US20150148952A1 (en) 2015-05-28
CN104379308B (zh) 2016-05-18
DE112013003209B4 (de) 2019-02-07

Similar Documents

Publication Publication Date Title
JP5774223B2 (ja) ロボット制御装置およびロボット制御方法
EP3067162B1 (en) Master-slave system
JP6128767B2 (ja) ロボット制御装置、及びロボット制御方法
JP5191738B2 (ja) マニピュレータの制御方法および制御システム
JP5897644B2 (ja) ロボットの制御装置
JP6700669B2 (ja) 制御方法、ロボット装置、プログラム、記録媒体、及び物品の製造方法
JP6392825B2 (ja) 学習制御機能を備えたロボット制御装置
JP2001157975A (ja) ロボットの制御装置
WO2018212265A1 (ja) ロボットシステム及びロボットシステムの制御方法
JP2019123051A (ja) ロボット装置、ロボットの制御方法、ロボットの制御装置
JP5916583B2 (ja) 多関節ロボットのウィービング制御装置
JP2016105686A (ja) モータ駆動装置の制御装置、複軸モータ駆動装置の制御装置、及びモータ駆動装置の制御方法
JP2017209762A (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体及び物品の製造方法
WO2018212307A1 (ja) 減速機角度伝達誤差同定システム及び減速機角度伝達誤差同定方法
US20170220007A1 (en) Proportional integral derivative control incorporating multiple actuators
JP2005316937A (ja) 制御装置およびその制御方法
WO2013122018A1 (en) Control apparatus of robot, robot, and program thereof
JP2017113867A (ja) ロボット制御装置
US8670869B2 (en) Robot controller
JPS60263206A (ja) マニピユレ−タの制御装置
JP2024017883A (ja) 動力学トルク補償に基づく制御方法及び制御装置
JP2016005296A (ja) モータ駆動装置の制御方法、モータ駆動装置及びロボット装置
JP6896824B2 (ja) ロボット装置、ロボットシステム、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、情報処理装置、情報処理方法、制御プログラム及び記録媒体
JP7227018B2 (ja) 学習制御装置、ロボット制御装置およびロボット
Haouari et al. A coefficient diagram method controller with backstepping methodology for robotic manipulators

Legal Events

Date Code Title Description
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: 20150602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150630

R150 Certificate of patent or registration of utility model

Ref document number: 5774223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250