JP2006187826A - ロボットコントローラ - Google Patents

ロボットコントローラ Download PDF

Info

Publication number
JP2006187826A
JP2006187826A JP2005000752A JP2005000752A JP2006187826A JP 2006187826 A JP2006187826 A JP 2006187826A JP 2005000752 A JP2005000752 A JP 2005000752A JP 2005000752 A JP2005000752 A JP 2005000752A JP 2006187826 A JP2006187826 A JP 2006187826A
Authority
JP
Japan
Prior art keywords
robot
cpu
robots
movement
control device
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.)
Pending
Application number
JP2005000752A
Other languages
English (en)
Inventor
Hiroaki Kitatsuji
博明 北辻
Naoyuki Matsumoto
直之 松本
Yoshinori Kegasa
佳典 毛笠
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.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
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 Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2005000752A priority Critical patent/JP2006187826A/ja
Priority to US11/320,611 priority patent/US7282882B2/en
Priority to EP06250014A priority patent/EP1693165A3/en
Priority to KR1020060000960A priority patent/KR100802200B1/ko
Publication of JP2006187826A publication Critical patent/JP2006187826A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J37/00Baking; Roasting; Grilling; Frying
    • A47J37/06Roasters; Grills; Sandwich grills
    • A47J37/067Horizontally disposed broiling griddles
    • A47J37/0682Horizontally disposed broiling griddles gas-heated
    • 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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J36/00Parts, details or accessories of cooking-vessels
    • A47J36/02Selection of specific materials, e.g. heavy bottoms with copper inlay or with insulating inlay
    • A47J36/04Selection of specific materials, e.g. heavy bottoms with copper inlay or with insulating inlay the materials being non-metallic
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J43/00Implements for preparing or holding food, not provided for in other groups of this subclass
    • A47J43/04Machines for domestic use not covered elsewhere, e.g. for grinding, mixing, stirring, kneading, emulsifying, whipping or beating foodstuffs, e.g. power-driven
    • A47J43/07Parts or details, e.g. mixing tools, whipping tools
    • 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/33Director till display
    • G05B2219/33097Variable ticks, align clocks, to synchronise cycles with other machine, robot
    • 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/39101Cooperation with one or more rotating workpiece holders, manipulators
    • 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/39136Teach each manipulator independently or dependently from each other
    • 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/39382Level, organization and coordination or distribution of tasks and execution level
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40399Selection of master-slave operation mode

Landscapes

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

Abstract

【課題】 ロボットを複数同時に容易に動作させることができ、ロボットを制御するための負荷を小さくすることができるロボット制御システムを提供する。
【解決手段】 各ロボット21,22のロボットハンド130が移動する移動経路上の複数の移動位置をそれぞれ演算する単一のコントローラ24と、ロボット毎にそれぞれ設けられる逆変換処理部25、26とを有する。各逆変換処理部25,26は、対応するロボット21,22のロボットハンド130が移動経路上を移動するような各サーボモータの動作量を演算して求め、その動作量でロボット21,22の各ロボット21,2を制御する。協調制御する場合、コントローラ24は、他の装置と通信することなく、スレーブロボットの各通過点を演算することができる。またロボット毎に設けられる逆変換処理部25,26が、対応するロボット21,22に対するサーボモータの動作量の演算を分担する。
【選択図】 図1

Description

本発明は、複数のロボットを同時に制御するロボット制御システムおよびロボット設備に関する。
図24は、第1の従来技術のロボット設備1を示すブロック図である。第1の従来技術のロボット設備1は、複数の産業用ロボット2〜4と、各ロボット2〜4にそれぞれ設けられて各ロボット2〜4を個別に制御する複数のロボット制御装置5〜7とを含んで構成される。各ロボット制御装置5〜7は、通信ケーブル8によって接続される(たとえば特許文献1参照)。
第1の従来技術のロボット設備1では、各ロボット2〜4に協調動作を行わせる場合、複数のうち1つのロボット2がマスタロボットとなり、マスタロボット以外のロボット3,4がスレーブロボットとなる。マスタロボット用のマスタ側ロボット制御装置5は、マスタロボット2の移動位置に関連したデータを、スレーブロボット用の各スレーブ側ロボット制御装置6,7へそれぞれ送信する。各スレーブ側ロボット制御装置6,7は、マスタ側ロボット制御装置5から与えられるデータに基づいて、各スレーブロボット3,4がマスタロボット2に対して協調動作するように、スレーブロボット6,7をそれぞれ制御する。
図25は、第2の従来技術のロボット設備10を示すブロック図である。第2の従来技術のロボット設備10は、複数の産業用ロボット2〜4と、1つの主制御装置11と、各ロボット2〜4にそれぞれ設けられる従制御装置12〜14とを含んで構成される。従制御装置12〜14は、ロボットに設けられる複数のアクチュエータごとにサーボアンプを有する。各従制御装置12〜14は、通信ケーブル15によって主制御装置11にそれぞれ接続される(たとえば特許文献2参照)。
第2の従来技術のロボット設備10では、主制御装置11は、各ロボット2〜4に設けられる各アクチュエータの動作量をそれぞれ演算し、演算結果を各従制御装置12〜14にそれぞれ送信する。従制御装置12〜14は、主制御装置11から与えられる位置制御データに基づいて、サーボアンプから所定の電力を各アクチュエータに与える。これによって各サーボアンプに接続されるモータが動作して、ロボットが所望の変位動作を行う。
特開2001−150372号公報 特開2001−100805号公報
第1の従来技術のロボット設備1では、各ロボット制御装置5〜7にティーチペンダントがそれぞれ設けられている。したがって作業者は、対応するロボット2〜4の動作順序にあわせたロボット制御プログラムを各ティーチペンダントに個別に入力する必要がある。したがって作業者によるプログラムの入力動作が面倒となる。また各ロボット制御装置5〜7に個別にロボット制御プログラムが入力されるので、協調動作を行うときに、スレーブロボットの移動位置を演算するために、マスタロボットの移動位置を取得する必要がある。これによって各ロボット制御装置5〜7を相互に通信可能に構成しなければならず、ロボット設備1の構成が複雑化する。
またマスタロボット2とスレーブロボット3,4とを協調動作するにあたって、各ロボット制御装置5〜7を、相互に同期させる必要がある。この場合、各ロボット制御装置5〜7の動作同期の微小な差、送信周期と受信周期との微小な差の蓄積による制御周期のずれなどを解消することができず、複数のロボット制御装置5〜7を同期させた状態に維持することができないという問題がある。
第2の従来技術のロボット設備10では、主制御装置11が、外部から入力される動作計画に基づいて、各ロボット2〜4の移動位置をそれぞれ求め、移動位置に対応する各サーボモータの動作量を逆変換処理して求めて、副主制御装置12〜14にそれぞれ与える。主制御装置11は、このような計算をロボットの台数に応じて計算する必要がある。またロボットの軸数が増えるほど、逆変換処理にかかる演算負荷が増加する。したがってロボットの台数および各ロボットの軸数が増えると、主制御装置11の演算にかかる負荷が大きくなり、処理速度の低い処理回路を用いて主制御装置11を実現すると、各ロボット2〜4を円滑に動作させることができない。
したがって本発明の目的は、ロボットを複数同時に容易に動作させることができ、ロボットを円滑に動作させることができるロボット制御システムを提供することである。
本発明は、複数のアクチュエータを有する多軸ロボットを複数同時に制御するロボット制御システムであって、
各ロボットに設定される基準可動部が移動する移動経路上の移動位置をそれぞれ演算する単一の主制御装置と、
主制御装置に接続され、ロボット毎にそれぞれ設けられて対応するロボットに関して主制御装置が演算した基準可動部の移動経路上の移動位置に基づいて、対応するロボットの基準可動部が移動経路上を移動するような各アクチュエータの動作量を演算して求め、その動作量でロボットの各アクチュエータを制御する複数の副制御装置とを有することを特徴とするロボット制御システムである。
また本発明は、主制御装置は、外部装置との信号の入出力動作を行う入出力部と、
入出力部における信号の入出力動作を制御する入出力制御処理回路と、
各ロボットの基準可動部の移動位置を求めるための動作計画を記憶する記憶部と、
前記動作計画に基づいて、各ロボットの基準可動部が移動する移動経路上の移動位置をそれぞれ演算する移動経路演算処理回路とを含むことを特徴とする。
また本発明は、前記主制御装置は、副制御装置を接続可能な最大接続数が設定されており、
最大接続数の副制御装置が接続される場合、演算結果を順番に予め定めるタイミングで各副制御装置にそれぞれ与え、
最大接続数より少ない副制御装置が接続される場合、最大接続数の副制御装置が接続される場合と同様のタイミングで、演算結果を順番に各副制御装置にそれぞれ与えることを特徴とする。
また本発明は、主制御装置は、各ロボットの基準可動部の移動位置を求めるための動作計画を記憶する記憶部と、
前記動作計画に基づいて、各ロボットの基準可動部が移動する移動経路上の移動位置を演算する移動経路演算処理回路とを含み、
動作計画は、注目するロボットについて、予め定める基準動作をするマスタロボット、対応するマスタロボットに連動して動作するスレーブロボットのいずれのロボットであるかを示す協調動作情報と、注目するロボットがスレーブロボットである場合に対応するマスタロボットの動作に対する連動動作関係を示す連動関係情報とを含み、
移動経路演算処理回路は、スレーブロボットの基準可動部が移動する移動経路上の移動位置を演算する場合、対応するマスタロボットの移動位置と前記連動関係情報とに基づいて、スレーブロボットの基準可動部が移動する移動経路上の移動位置を演算することを特徴とする。
また本発明は、主制御装置と各副制御装置とは離れた位置に配置され、
主制御装置と各副制御装置とをそれぞれ接続する複数の通信ケーブルを有することを特徴とする。
また本発明は、主制御装置と各副制御装置とは、イーサネットを用いて互いに通信可能に設けられることを特徴とする。
また本発明は、前記請求項1〜5のいずれか1つに記載のロボット制御システムと、前記ロボット制御システムによって制御される複数のロボットとを有するロボット設備である。
請求項1記載の本発明に従えば、主制御装置が、複数のロボットに設定される基準可動部、たとえばロボットハンドがそれぞれ移動する移動経路上の移動位置をそれぞれ演算する。主制御装置は、演算した各移動位置を対応する副制御装置に与える。各副制御装置は、主制御装置からそれぞれ個別に与えられた移動位置に基づいて、ロボットの基準可動部が移動経路上を移動するような各アクチュエータの動作量を演算する。言い換えると、副制御装置は、ロボットの移動位置に基づいて各アクチュエータの動作量をそれぞれ逆変換演算する。副制御装置は、主制御装置から移動位置をロボットの移動順に順次与えられることによって、逆変換演算した動作量で各アクチュエータを順次制御する。これによってロボットの基準可動部を予め定める移動経路に沿って移動させることができる。
副制御装置は、ロボット毎にそれぞれ設けられる。したがって各副制御装置が、対応するロボットの各アクチュエータをそれぞれ制御することによって、各ロボットの基準可動部をそれぞれ個別にかつ同時に動作させることができる。
本発明によれば、単一の主制御装置が、それぞれのロボットの基準可動部が移動する移動経路上の各移動位置をそれぞれ演算する。したがって作業者または主制御装置が接続される外部装置は、各ロボットの制御プログラムを主制御装置のみに入力するだけでよい。言い換えると、第1の従来技術のように各ロボットの制御プログラムを、複数の制御装置にそれぞれ個別に入力する必要がない。したがってロボット制御システムにおける入力作業の手間を省いて利便性を向上することができる。また作業者および外部装置に対する制御装置のインターフェースを単一の主制御装置に設けるだけでよく、ロボット毎にインターフェースを設ける必要がない。これによってロボット制御システムを小形化することができるとともに安価に形成することができる。
また協調制御する場合、単一の主制御装置は、他の装置と通信することなく、演算したマスタロボットの移動位置に基づいて、スレーブロボットの移動位置を演算することができる。このとき、逆変換演算を各ロボットに対応する副制御装置によって、それぞれ個別に行わせることによって、ロボット設備における制御周期を短くして、微少な時間間隔でアクチュエータの動作指令を与えることができる。したがってロボットを円滑に動作させることができる。
また本発明によれば、副制御装置は、ロボット毎に個別に必要な演算を行う。これによって主制御装置の負荷を低減することができる。同時動作するロボットの台数または各ロボットの軸数が増えれば増えるほど、各移動位置に基づいて各アクチュエータの動作量を演算するに必要な負荷が増加する。本発明では、上述したようにロボット毎に設けられる副制御装置が、対応するロボットに対するアクチュエータの動作量の演算を分担する。
このように主制御装置は、処理動作のうちで、ロボット毎の逆変換演算処理を省略することができる。これによって同時動作するロボットの台数または各ロボットの軸数が増えても、主制御装置にかかる演算負荷が増大することを防ぐことができ、各ロボットの移動位置を円滑にかつ短時間に求めることができ、ひいては各ロボットを安定して同時に動作させることができる。
また請求項2記載の本発明に従えば、入出力部から信号が与えられると、入出力制御処理回路が、入出力部を制御する。入出力制御処置回路による入出力部の入出力動作の制御は、常時行われているわけではなく、短期間について行われる。たとえば入出力部が表示部分と入力部分とを含む場合、入出力制御処理回路は、入力部分によって移動経路を示す移動経路情報の表示指令が与えられたことを判断すると、移動経路情報を表示部分に表示させる。また入力部分によって各ロボットに関する動作計画を示す動作計画入力指令が与えられたことを判断すると、入力部分から与えられた動作計画を記憶部に記憶させる。
移動経路演算処理回路は、記憶部に記憶される各ロボットに関する動作計画を読取り、その動作計画に基づいて各ロボットの基準可動部の移動位置を順に演算する。移動経路演算処理回路は、ロボット毎に演算した各移動位置を、対応する副制御装置にそれぞれ与える。
本発明によれば、ロボットの各移動位置を演算する移動経路演算処理回路と、その他の動作を制御する入出力制御処理回路とを別体に構成する。これによって作業者の操作などによって演算負荷が変動したとしても、移動経路演算処理回路が、演算結果を円滑に出力することができる。これによって各ロボットを複数同時に安定して動作させることができる。
また請求項3記載の本発明に従えば、主制御装置に接続される副制御装置に数に拘わらず、主制御装置から各副制御装置に演算結果がそれぞれ与えられるタイミングを同じにすることができる。したがって各ロボットの動作計画が決定された状態で、副制御装置が削除された場合であっても、主制御装置から残余の副制御装置に演算結果が与えられるタイミングが変化することがなく、残余の副制御装置によって制御される各ロボットの動作特性が変化することを防ぐことができる。同様に、各ロボットの動作計画が決定された状態で、副制御装置が追加された場合であっても主制御装置から既存の副制御装置に演算結果が与えられるタイミングが変化することがなく、既存の副制御装置によって制御される各ロボットの動作特性が変化することを防ぐことができる。
たとえば複数のロボットのうち1つのロボットが故障した場合、故障したロボットに対応する副制御装置を主制御装置から切り離しても、残余の副制御装置によって制御されるロボットの動作が変化することを防ぐことができる。これによって故障したロボットが行うべき作業を作業者が一時的に行うことで、生産性の低下を抑えることができる。また故障したロボットが修理された場合、修理されたロボットに対応する副制御装置を主制御装置に接続することで、複数のロボットによる作業を容易に再開させることができる。
また請求項4記載の本発明に従えば、移動経路演算処理回路は、協調動作情報に基づいて注目するロボットがマスタロボットであると判断すると、そのマスタロボットに対応する動作計画に基づいて基準可動部の移動位置を演算する。また協調動作情報に基づいて注目するロボットがスレーブロボットであると判断すると、注目するスレーブロボットが動作を従うマスタロボットを判断し、そのマスタロボットの各移動位置とスレーブロボットの連動動作関係とに基づいて、スレーブロボットの基準可動部の移動位置を演算する。
本発明によれば、移動経路演算処理回路が、協調動作情報と連動関係情報とに基づいて、スレーブロボットの基準可動部の各移動位置を演算する。これによって作業者がスレーブロボットの各移動位置を詳しく入力する必要がなく、作業者の手間を省略して協調動作を行うことができる。また上述したように単一の主制御装置に、各ロボットの動作計画が入力されることによって、他の制御装置と通信することなく、各ロボットのそれぞれの移動位置を容易に演算することができる。
また請求項5記載の本発明に従えば、主制御装置は、それぞれ異なるロボットの各移動位置を、通信ケーブルを介して対応する副制御装置にそれぞれ与える。各副制御装置は、通信ケーブルを介して与えられた基準可動部の移動位置に基づいて、対応するロボットの複数のアクチュエータを制御する。
本発明によれば、通信ケーブルによって接続されることで、主制御装置と副制御装置とを互いに離反させることができる。これによって主制御装置は、副制御装置で発生する電磁ノイズによる影響を小さくすることができる。また複数のロボットが互いに離れた位置に配置される場合であっても、ロボットに近接した位置に副制御装置を配置して、ロボットから離反した適当な位置に主制御装置を配置することができる。これによって使い勝手のよい位置に主制御装置を配置することができる。
なお、副制御装置は、ロボットに動力を与える動力線と、ロボットに信号を与えるまたはロボットから信号を取得する信号線とによってロボットに接続されることが多い。これに対して主制御装置と副制御装置とを接続するケーブルは、動力を伝達する必要がない信号線であることが多い。この場合、副制御装置とロボットとを接続するケーブルが太く、これに対して主制御装置と副制御装置とを接続するケーブルは細くなる。本発明によれば、副制御装置とロボットとを近接して配置することによって、副制御装置とロボットを接続する太いケーブルを短くすることができ、作業の邪魔になることを防ぐことができる。
また請求項6記載の本発明に従えば、イーサネット(登録商標)を用いて主制御装置と副制御装置とが通信する。なお、「イーサネット」とは、米国電気電子学会(略称IEEE;Institute of Electrical and Electronic Engineers)および国際標準化機構(略称ISO;International Organization for Standardization)によって、IEEE802.3およびISO8802−3として標準化されたLAN(Local Area Network)の通信規格である。
本発明によれば、イーサネットを用いることによってデータ通信を高速に行うことができ、通信ケーブルの長さの違いによるロボットの信号送信ずれの影響を小さくすることができ、協調制御を正確に行うことができる。またイーサネットを用いることによって、副制御装置と主制御装置とを離れた位置に配置することができる。
また請求項7記載の本発明に従えば、前記ロボット制御システムと、そのロボット制御システムによって制御される複数のロボットとを含むロボット設備である。
本発明によれば、上述したように単一の主制御装置によってロボットを制御することによって、制御システムの設置スペースを小さくすることができ、ひいてはロボット設備における設置スペースを削減することができ、ロボット間の距離を近接させることができる。これによって複数のロボットによって製造ラインを形成したとき、製造ラインを短くすることができ、施工時間を短縮することができる。さらに本発明では、ロボット毎に設けられる複数の副制御装置によって、各ロボットに必要な演算処理を分担させることによって、主制御装置の負荷を軽減することができ、複数のロボットを同時に動作する場合であっても、ロボットの動作を安定して行わせることができる。また単一の主制御装置に各ロボットの動作計画を教示するだけでよく、複数の制御装置に各ロボットの動作を個別に教示する場合に比べて、教示作業を簡単化することができ、利便性を向上することができる。
図1は、本発明の実施の第1形態であるロボット設備20の構成を示す系統図であり、図2は、ロボット設備20の構成を示すブロック図である。本発明の第1形態のロボット設備20は、複数の多軸ロボット21,22と、各多軸ロボット21,22を複数同時に制御可能なロボット制御システム23とを含んで構成される。
複数のロボット21,22を有するロボット設備20は、製造ラインに設けられ、複数のロボット21,22を同時に動作させる。たとえばワーク129が重量物または大形物である場合、複数台のロボット21,22を協調動作することによって、前記ワーク129を確実に把持した状態を維持しながら、予め設定された出発点から到達点にわたって、搬送させることがある。このような複数台のロボット21,22を用いるロボット制御システム23においては、作業空間内におけるロボット21,22の配置位置に応じた複数箇所で前記ワーク129を把持することができるため、前記ワーク129が大形ものであっても、安定した搬送が可能である。また、前記ワーク129が重量物であっても、複数のロボット21,22にワーク129の重量が分散されるので、各ロボット21,22の重量負荷および慣性負荷が少なく、搬送速度を大きくして搬送時間を短縮することができる。
ロボット設備20における複数の多軸ロボット21,22は、たとえば6軸垂直多関節型ロボットによって実現される。6軸多関節ロボット21,22は、所定の作業ステージに略平行な床122上に相互に間隔をあけて設置される基台123上に旋回体124が設けられる。旋回体124には、複数のアーム125,126,127が各軸まわりに角変位可能に設けられる。最も遊端側のアーム127の先端部には、手首128が設けられる。この手首128には手先装置、いわゆるエンドエフェクタが設けられる。本実施の形態では、手先装置は、ワーク129を着脱可能に把持するロボットハンド130によって実現される。
各ロボット21,22は、各アーム125〜127の回転軸毎にサーボモータ45がそれぞれ設けられる。各サーボモータ45は、各アーム125〜127をそれぞれ個別に動作させるアクチュエータとなる。各サーボモータ45がそれぞれ個別に角変位して各アーム125〜127を変位駆動することによって、ロボットハンド130を任意の位置および姿勢に移動させることができる。
ロボット制御システム23は、単一のロボットコントローラ24(以下、単にコントローラ24と称する)と、ロボット21,22毎にそれぞれ設けられる複数の逆変換処理部25,26とを含む。
コントローラ24は、各ロボット21,22の移動する移動経路を演算する主制御装置となる。具体的には、コントローラ24は、ロボットハンド130が移動する移動経路上の複数の移動位置を順に演算する。各ロボット21,22は、移動開始位置から移動終了位置に向かってロボットハンド130を移動させる。言い換えると各ロボット21,22は、移動経路に沿って並ぶ各移動位置にロボットハンド130を順番に移動させることによって、ロボットハンド130を移動経路に沿って移動させることができる。なお、ロボットハンド130は、ロボット21,22に設定される基準可動部となる。
また各逆変換処理部25,26は、通信ケーブル27を介して、コントローラ24とデータ通信可能に接続される。また各逆変換処理部25,26は、1対1で対応するロボット21,22にそれぞれ接続される。各逆変換処理部25,25は、サーボアンプ44を有し、サーボアンプ44によって接続されるロボットの各サーボモータ45に動力を供給する。各逆変換処理部25,26は、コントローラ24に対する副制御装置となる。
逆変換処理部25,25は、接続されるロボット21,22のロボットハンド130の移動位置が、コントローラ24から順次与えられる。逆変換処理部25,26は、接続されるロボット21,22のロボットハンド130が、移動位置に移動するような各サーボモータ45の動作量を演算して求め、その動作量で動作するように各サーボアンプ44をそれぞれ制御する。
各ロボット21,22に6つのサーボモータ45が設けられる場合、各ロボット21,22にそれぞれ個別に接続される逆変換処理部25,26は、6つのサーボモータ45に動力を与える各アンプ44について、それぞれ個別に制御する。具体的には、ロボットハンド130の移動位置に基づいて、各サーボモータ45の目標角変位量をそれぞれ求める。そしてサーボモータ45の目標角変位量と、そのサーボモータ45に設けられるエンコーダからのフィードバック値とに基づいて、サーボモータ45に動力を与えるアンプ44をフィードバック制御する。
逆変換処理部25は、サーボモータ45毎に個別に各アンプ44を制御する。このように逆変換処理部25は、ロボットハンド130の移動位置に基づいて各サーボモータ45の動作量を演算する逆変換演算処理と、逆変換演算結果に基づいてモータ45を制御するサーボ処理とを行う。
本実施の形態では、ロボット設備20は、第1ロボット21および第2ロボット22を有する。この場合、ロボット制御システム23は、第1逆変換処理部25および第2逆変換処理部26を有する。第1逆変換処理部25は、コントローラ24から与えられる第1ロボット21のロボットハンド130の移動位置に基づいて、第1ロボット21の各サーボモータ45の動作量を演算して求め、その動作量で第1ロボット21の各サーボモータ45をそれぞれ制御する。
第2逆変換処理部26は、コントローラ24から与えられる第2ロボット22のロボットハンド130の移動位置に基づいて、第2ロボット22の各サーボモータ45の動作量を演算して求め、その動作量で第2ロボット22の各サーボモータ45をそれぞれ制御する。
コントローラ24と各逆変換処理部25,26とは、通信ケーブル27によって互いに通信可能に接続されて、通信ネットワークを構成する。本実施の形態では、通信ケーブル27は、LAN(Local Area Network)ケーブルによって実現され、具体的には、イーサネット(登録商標)を用いて、コントローラ24と逆変換処理部25,26とが相互に通信する。
図2に示すように、コントローラ24には、ティーチペンダント140が接続される。ティーチペンダント140は、ロボットの動作手順をコントローラ24に教示する教示手段となる。ティーチペンダント140は、表示部および入力部を有し、ケーブルによってコントローラ24と接続される。
たとえばティーチペンダント140の入力部は、タッチパネルおよびボタンによって実現される。入力部は、作業者に操作されることによって、作業者からの指示が入力される。またたとえば表示部は、液晶表示装置によって実現される。表示部は、ロボットの動作プログラムおよびロボット制御システムの操作案内などを示す画像を表示する。ティーチペンダント140とコントローラとを接続するケーブルは、可撓性を有する。したがって作業者は、コントローラ24に対してティーチペンダント140を所望の位置に移動させた状態で、ロボットの動作手順の教示作業を行うことができる。また、コントローラ24に上述した入力部および表示部が固定されていてもよい。
本実施の形態では、コントローラ24は、パーソナルコンピュータ141(以下、PC141と称する。)に接続され、PC141とデータ通信可能に設けられる。またコントローラ24は、製造ラインを統括的に管理する統括制御装置142に接続される。
コントローラ24は、インターフェース部30と、ロボット動作演算部31とが設けられる。インターフェース部30は、コントローラ24に接続される外部装置および作業者と、コントローラ24とのデータの受渡しを行う。具体的には、インターフェース部30は、第1CPU32と、第1メモリ33と、TPインターフェース34と、PCインターフェース35と、統括用インターフェース36とを含んで構成される。
TPインターフェース34は、ティーチペンダント140から与えられるデータおよび動作指令を第1CPU32に与える。またTPインターフェース34は、第1CPU32から与えられるデータおよび動作指令をティーチペンダント140に与える。たとえばティーチペンダント140の入力部を作業者が操作することによって、ティーチペンダント140は、その操作内容に従ったデータまたは動作指令を、TPインターフェース34を介して、第1CPU32に与える。
PCインターフェース35は、PC141から与えられるデータおよび動作指令を第1CPU32に与える。PC141は、PC141に設けられるCPUによって出力したデータおよび動作指令を、PCインターフェース35を介して、第1CPU32に与える。またPCインターフェース35は、第1CPU32から与えられるデータおよび動作指令をPC141に与える。たとえば作業者がPC32の入力部を操作するなどしてPC32に入力情報が与えられると、PC32は、その操作内容に従ったデータまたは動作指令を、PCインターフェース35を介して、第1CPU32に与える。
統括用インターフェース36は、製造ライン全体を制御する統括制御装置142と接続される。統括制御装置142は、統括制御装置142から与えられるデータおよび動作指令を、統括用インターフェース36を介して、第1CPU32に与える。また統括用インターフェース36は、第1CPU32から与えられるデータおよび動作指令を統括制御装置142に与える。たとえば統括制御装置142は、ロボット設備20の全体の動作開始指令、動作終了指令および動作停止指令などを、統括用インターフェース36を介して第1CPU32に与える。またインターフェース部30は、操作パネルを有していてもよい。操作パネルは、作業者から動作が入力される入力部と作業者に動作内容を表示させる表示部とを含む。
このように各インターフェース34〜36は、コントローラ24と外部装置との信号の入出力動作、またはコントローラ24と作業者との情報の入出力動作を行う入出力部となる。そして第1CPU32は、各インターフェース34〜36の入出力動作を制御する入出力制御処理回路となる。第1CPU32は、たとえば中央演算処理回路(Central
Processing Unit)によって実現される。また第1メモリ33は、第1CPU32の動作プログラムを記憶するとともに、第1CPU32から与えられるデータおよび演算結果を記憶する。たとえば第1メモリ33は、ROM(Read Only Memory)およびRAM(
Random Access Memory)によって実現される。
第1CPU32は、各インターフェース34〜36を介して与えられるデータおよび動作指令を解読し、動作指令に従った動作を行う。たとえば第1CPU32は、動作指令の1つである表示指令がティーチペンダント140から与えられると、表示すべき画像を示す画像データを生成する。そして第1CPU32は、その画像データを、TPインタフェース34を介して、ティーチペンダント140に与える。ティーチペンダント140は、画像データが与えられると、画像データが表わす画像を表示部に表示する。
また第1CPU32は、各インターフェース34〜36を介して入力される動作指令およびデータのうち、ロボットの操作に関連するロボット関連情報が与えられると、そのロボット関連情報に基づいて、各ロボット21,22のロボットハンド130の移動位置を求めるためのロボット動作計画を生成し、生成したロボット動作計画を第1メモリ33に記憶する。第1CPU32は、与えられる動作指令に基づいて、第1メモリ33に記憶されるプログラムを実行することによって、与えられる動作指令に応じた動作、たとえばロボット関連情報から、ロボットの動作計画を生成する演算処理を行う。たとえばロボット関連情報は、ロボット言語によって表わされるロボット制御プログラムとして与えられる。
このようにインターフェース部30は、ティーチペンダント140などによって作業者が入力したロボット関連情報を処理可能にする。またインターフェース部30は、ロボット関連情報をティーチペンダント140の表示部に表示することよって、作業者がロボットの動作計画を確認可能にすることができる。したがってインターフェース部30は、いわゆるMMI(Man Machine Interface)となる。またインターフェース部30は、与えられるロボット関連情報について、言語処理してロボットの動作計画を演算する。
ロボット動作演算部31は、コントローラ通信部37と、パワーシーケンス部38と、第2CPU39と、第2メモリ40とを含んで構成される。コントローラ通信部37は、後述するサーボ通信部41に対してデータ通信可能に設けられる。パワーシーケンス部38は、各サーボモータ45の始動手順および終了手順など、ロボットの動作計画とは無関係に設定される動作プログラムを記憶および実行する。たとえばモータ電源が投入された場合に、予め定める位置に移動させてモータのブレーキを解除するといった、始動時の動作を制御する。またパワーシーケンス部38には、各ロボットの動作を停止および緊急停止するための停止指令を入力するための停止スイッチ45が設けられる。パワーシーケンス部38と、モータまたはサーボアンプとが、別の信号線によって接続されることによって、非常停止時に確実にモータを停止させることができる。
第2CPU39は、第1CPU32からロボット動作計画が与えられ、ロボット動作計画に基づいて、ロボットハンド130が移動する移動経路上の移動位置を演算する。すなわち第2CPU39は、移動経路演算処理回路となる。第2CPU39は、たとえば中央演算処理回路によって実現される。また第2メモリ40は、第2CPU39の動作プログラムを記憶するとともに、第2CPU39から与えられるデータおよび演算結果を記憶する。たとえば第2メモリ40は、ROMおよびRAMによって実現される。
また複数のロボット21,22を同時に制御する同期制御または協調制御を行わせる場合、第2CPU39は、マスタロボット21に関して演算した演算結果に基づいて、スレーブロボット22の移動位置を演算する。なお、コントローラ24内の各構成32〜40は、バスラインなどによって相互に通信可能に接続される。
各逆変換処理部25,26は、同一の構成を有する。したがって1つの逆変換処理部25について説明し、他の逆変換処理部26についての説明を省略する。逆変換処理部25は、サーボ通信部41と、第3CPU42と、第3メモリ43と、アンプ44とを含んで構成される。サーボ通信部41は、通信ケーブル27を介してコントローラ通信部37とデータ通信可能に設けられる。
第3CPU42は、コントローラ通信部37からロボットハンド130の移動位置が順次与えられる。第3CPU42は、与えられたロボットハンド130の移動位置に基づいて、ロボットハンド130を移動位置に移動させるような、各サーボモータ45の動作量を演算する。言い換えると第3CPU42は、ロボットハンド130の移動位置に基づいて、各サーボモータ45の動作量を逆変換演算する。そしてサーボモータ45の動作量をアンプ44に与える。アンプ44は、与えられる動作量を目標値としてロボット21の各サーボモータ45を制御する。
すなわち第3CPU42は、アクチュエータ制御回路となる。第3CPU42は、たとえば中央演算処理回路によって実現される。また第3メモリ43は、第3CPU42の動作プログラムを記憶するとともに、第3CPU42から与えられるデータおよび演算結果を記憶する。たとえば第3メモリ43は、ROMおよびRAMによって実現される。
図3は、第1CPU32によるロボット関連情報の記憶動作の手順を示すフローチャートである。第1CPU32は、ロボット21,22を動作させるための準備工程としてロボットの動作計画を生成するためのロボット関連情報を記憶する動作を行う。たとえばティーチペンダント140が用いられて、ロボット21,22のロボット関連情報が入力される場合について説明する。
ステップa0で、第1CPU32は、ティーチペンダント140が操作されて、ロボット関連情報の記憶指令が与えられると、ステップa1に進み、ロボット関連情報の記憶動作を開始する。
ステップa1では、第1CPU32は、ティーチペンダント140から動作計画を生成するためのロボット関連情報が与えられる。ロボット関連情報は、ロボットを移動させるために必要な情報となる。このロボット関連情報は、たとえば作業者によって入力され、ロボット言語を用いて表現される動作プログラムを含む。また動作プログラムにかかわず予め設定される設定情報を含んでもよい。
ロボット関連情報には、たとえばロボットハンド130が通過する複数の通過教示位置を示す情報、前記通過教示位置を結ぶロボットハンドの移動経路を示す情報、ロボットの速度を示す情報、ロボットの加速度を示す情報、ロボットの待機時間を示す情報、ロボットハンド130の開閉動作を示す手先装置の動作情報、および動作を行うロボットを示すロボット識別情報を含む。第1CPU32は、このようなロボット関連情報を取得すると、ステップa2に進む。
ステップa2では、第1CPU32は、取得したロボット関連情報を第1メモリ33に記憶し、ステップa3に進む。ステップa3では、動作すべき全てのロボット21,22に対応するロボット関連情報をそれぞれ記憶したことを示す指令がTPインターフェース34から与えられないと、ステップa1に戻る。ステップa1では、動作すべきロボットのロボット関連情報が入力されるまで待機する。
ステップa3において、動作すべき全てのロボット21,22に対応するロボット関連情報をそれぞれ記憶したことを示す指令がTPインターフェース34から与えられると、ステップa4に進む。ステップa4では、第1CPU32は、ロボット関連情報の記憶動作を終了する。
なお上述の記載では、ロボット関連情報をティーチペンダント140からコントローラ30に入力するとしたが、PC141からロボット関連情報をコントローラ30に入力してもよい。またコントローラ30に設けられる入力部によって、ロボット関連情報を直接入力してもよい。
ロボットハンド130の通過教示位置の情報は、ティーチペンダント140によってロボットを操作して、ロボットハンド130を移動させて所望の位置に達したときの座標に基づいて決定してもよい。すなわちティーチペンダント140を用いたティーチング動作によってロボットハンドの通過教示位置の情報を決定してもよい。またティーチング動作を行うことなく、ロボットハンド130の通過教示位置の座標を直接入力してもよい。
また協調制御および同期制御を行う場合、ロボット関連情報には、協調動作情報と、主従識別情報と、対応マスタロボット識別情報と、連動関係情報とが含められる。協調動作情報は、注目するロボットが協調動作を行うか、単独動作を行うかを示す情報である。また主従識別情報は、注目するロボットが、基準動作を行うマスタロボットであるか、マスタロボットに対する従属動作を行うスレーブロボットであるかを示す情報である。また対応マスタロボット識別情報は、注目するロボットがスレーブロボットである場合、そのスレーブロボットが基準とするマスタロボットを示す情報である。連動関係情報は、注目するロボットがスレーブロボットである場合、そのスレーブロボットの動作と、基準とするマスタロボットの動作との関係を示す情報である。たとえば連動関係情報は、マスタロボットの動作に対して、予め定める方向に予め定める距離ずれてスレーブロボットを動作するといった情報である。
図4は、第1CPU32によるロボット動作計画生成動作の手順を示すフローチャートである。ステップb0で、第1CPU32は、ロボット関連情報が第1メモリ33に記憶された状態で、ロボットの動作開始を示す指令が与えられると、ステップb1に進み、第1CPU32は、動作計画生成動作を開始する。たとえばロボットの動作開始指令は、統括制御装置142またはコントローラ24の入力部から与えられる。
ステップb1では、第1CPU32は、第1メモリ33からロボット毎にロボット関連情報を読出し、ステップb2に進む。ステップb2では、各ロボットのロボット関連情報を言語処理して解読し、解読したロボット関連情報に基づいてロボット動作計画を生成する。ロボット動作計画を生成するとステップb3に進む。ステップb3では、ロボット毎に生成した各動作計画を第2CPU39にそれぞれ与え、ステップb4に進む。ステップb4では、第1CPU32は、ロボット動作計画生成動作を終了する。
表1は、ロボット関連情報であるロボットの動作プログラムの一例と、各プログラムを構成する各コマンドを説明する表である。図5は、表1における動作プログラムに従って動作するロボットにおける、ロボットハンド130が移動する移動経路を示す図であり、図6は、表1における動作プログラムに従って動作するロボットにおける、ロボットハンド130の移動速度とハンドの開閉動作との時間変化を示すグラフである。図6(1)は、ハンドの開閉動作の時間変化を示し、図6(2)は、ハンドの移動速度の時間変化を示す。
Figure 2006187826
表1におけるロボット動作プログラムに従ってロボットが動作すると、図5に示すようにロボットは、待機位置Qhから第1動作位置Q1に配置されるワークを把持して、第2動作位置Q2に搬送し、待機位置Qhに戻る。具体的には、動作プログラムが実行されると第1のステップで、ロボットハンド130が待機位置Qhから第1動作位置Q1へ向かって移動する。そして図6(2)に示すように動作開始から予め定める時間T3に達すると、ロボットハンド130が第1動作位置Q1に移動する。
第2のステップで、予め定める第1設定時間T1秒だけ待機する。次に第3のステップで、ロボットハンド130を閉じて第1動作位置Q1に配置されるワークを把持する。次に第4のステップで、予め定める第2設定時間T2秒だけ待機する。次に第5のステップで、ワークを把持したロボットハンド130が第1動作位置Q1から第2動作位置Q2へ向かって移動する。そして図6(2)に示すように、動作開始から予め定める時間T4に達すると、ロボットハンド130が第2動作位置Q2に移動する。
次に第6のステップで、予め定める第1設定時間T1秒だけ待機する。次に第7のステップで、ロボットハンド130を開いてワークの把持を解除して、第2動作位置Q2にワークを配置する。次に第8のステップで、予め定める第2設定時間T2秒だけ待機する。次に第9のステップで、ロボットハンド130が待機位置Qhに移動する。動作開始から予め定める時間T5に達すると、ロボットハンド130が待機位置Qhに移動する。このような動作プログラムを表わすロボット言語が、ロボット関連情報の一部を構成する。たとえば各動作位置Q1,Q2は、通過教示位置としてティーチング動作によって入力される。またロボット関連情報は、ロボットに設定される加速度情報および速度情報を含む。
また演算されるロボット動作計画は、図5に示すようにロボットハンド130の動作位置Q1,Q2の座標と、ロボットハンド130が各動作位置Q1,Q2を移動する順番、言い換えると移動経路を示す情報とを含む。またロボット動作計画は、図6(2)に示すように、ロボットハンド130の移動速度の時間変化を示す情報を含む。すなわちステップb2において、第1CPU32は、表1に示すロボットの動作プログラムに、予め設定される設定移動速度Vmax、加速時における最大加速度(Vmax/dt1)、減速時における負の方向における最大加速度(Vmax/dt2)などを関連付けて表わされる、ロボット動作計画を演算する。
図7は、第2CPU39によるロボットハンド130の移動位置演算動作の手順を示すフローチャートである。ステップc0で、第2CPU39は、ロボットの動作開始を示す指令が与えられると、ステップc1に進み、第2CPU39は、補間処理を行いロボットハンド130の移動位置の演算を開始する。
ステップc1では、第2CPU39は、第1CPU32から、ロボット毎のロボット動作計画がそれぞれ与えられる。このようにして第2CPU39が各ロボット動作計画を取得すると、ステップc2に進む。ステップc2では、第2CPU39は、ロボット動作計画に基づいて、補間処理を行う。具体的には、ティーチング動作などによって設定された複数の通過教示位置のうち、移動方向に沿って並ぶ2つの通過教示位置の間を補間する移動位置を演算する。すなわちロボットハンド130の移動経路上の移動位置をロボット毎にそれぞれ演算する。
このとき上述したロボットの動作プログラムと、予め設定される設定移動速度、加速時における最大加速度、減速時における負の方向における最大加速度とに基づくことによって、第2CPU39は、ロボットハンド130が予め定められる速度によって変化した場合に、単位時間毎の移動位置を順に演算する。言い換えると、第2CPU39は、以前に演算した移動位置に対して、予め定める単位時間経過したときに移動方向下流に1つずれた移動位置を、ロボットハンド130毎にそれぞれ演算する。このように以前に演算した移動位置に対して、単位時間経過したときにロボットハンド130が位置するであろう、1つ移動方向下流側の移動位置をロボットハンド毎にそれぞれ求めると、ステップc3に進む。なお、以前に演算した移動位置が存在しない場合には、移動開始位置から1つずれた移動位置を演算する。
ステップc3では、第2CPU39は、ロボットハンド130毎にそれぞれ演算した移動位置を、対応する逆変換処理部25,26にそれぞれ送信するように、コントローラ通信部37を制御する。演算した移動位置をコントローラ通信部37に与えると、ステップc4に進む。コントローラ通信部37は、第2CPU39から与えられた移動位置を、通信ケーブル27を介してサーボ通信部41に与える。
ステップc4では、ステップc3でコントローラ通信部37に与えた移動位置が、ロボットハンド130の移動終了位置であるか否かについて判断し、移動終了位置でない場合には、ステップc2に戻る。ステップc2では、次の移動位置をロボットハンド毎にそれぞれ求める。
また、ステップc4において、ステップc3でコントローラ通信部37に与えた移動位置が、ロボットハンド130の移動終了位置であると判断すると、ステップc5に進む。ステップc5では、第2CPU39は、移動位置演算動作を終了する。
このように、第2CPU39は、第2メモリ40に記憶される各ロボット21,22に関するロボット動作計画を読取り、そのロボット動作計画に基づいて各ロボットハンド130の移動位置を順に演算する。また上述した第1CPU32は、各インターフェース34〜36の入出力動作を制御する。第1CPU32による各インターフェース34〜36の入出力動作の制御は、常時行われているわけではなく、短期間について行われる。
本実施の形態では、ロボット21,22の各移動位置を演算する第2CPU39と、その他の動作を制御する第1CPU32とが別体に構成される。これによって、第2CPU39は、ロボットの移動位置の演算に特化して動作することができる。したがってコントローラ24は、作業者の操作などによって短期的に演算負荷が変動した場合であっても、移動位置の演算について円滑に演算結果を出力することができる。これによって各ロボットを複数同時に安定して動作させることができる。すなわちロボット動作を安定させて、プログラム入力動作およびプログラム表示動作を行わせることができ、利便性を向上することができる。
図8は、表1における動作プログラムに従ってロボットハンド130が移動した場合に、隣接する2つの動作位置Q1,Q2と、補間演算される移動位置Qcとを説明するための図である。図9は、移動位置Qcを説明するために示すロボットハンド130の移動速度の時間変化を示すグラフである。図8において、2つの動作位置Q1,Q2を白丸○で表わし、補間演算された各移動位置Qcを白三角△で表わす。また図9において、1つの移動位置から次の移動位置に移動するまでの単位時間毎の移動速度を白四角□で表わす。
ロボットが動作した場合に、ロボットハンド130が単位時間dtあたりに移動する移動位置間の間の距離D1〜D9は、ロボットハンド130が加減速することによって変化する。具体的には、加速期間において移動位置間の距離D1〜D3は、移動方向下流に向かうにつれて徐々に大きくなる。また減速期間において移動位置間の距離D7〜D9は、移動方向下流に向かうにつれて徐々に小さくなる。また一定速度期間において移動位置間の距離D4〜D6は、一定となる。たとえば補間演算される各移動位置Qcは、2つの動作位置のうち上流側の動作位置Q1にロボットハンド130が配置されたときから、求めたい移動位置に達するまでの時間で、ロボットハンド130の移動速度を積分することによって求めることができる。上述したステップc2では、第2CPU39は、動作計画に従って、このように補間処理を行い、同じ時刻における各ロボットハンド130の各移動位置Qcをそれぞれ計算する。
図10は、ステップc3の補間処理の手順を示すフローチャートである。第2CPU39は、図7に示すステップc3に進むと、図10に示すステップd1に進む。
ステップd1では、ロボット動作計画に協調動作させる協調動作信号が含まれているか否かを判断する。協調動作信号が含まれていないと、ステップd2に進む。ステップd2では、第2CPU39は、各ロボットが単独動作することを判断し、ロボット毎に補間動作を行い、ステップd6に進む。ステップd6では第2CPU39は、補間処理を終了する。
ステップd1において、ロボット動作計画に協調動作信号が含まれていると、ステップd3に進む。ステップd3では、第2CPU39は、マスタロボットにおけるロボットハンド130の補間処理を行う。第2CPU39は、補間処理によって求められたマスタロボットのハンドの移動位置を第2メモリ40に記憶し、ステップd4に進む。ステップd4では、第2CPU39は、ロボット動作計画から、主従識別情報と、対応マスタロボット識別情報と連動情報とを抽出し、ステップd5に進む。
ステップd5では、第2メモリ40からマスタロボットのロボットハンドの移動位置を抽出する。また第1メモリ33に記憶されるロボット関連情報のうち、主従識別情報と、対応マスタロボット識別情報と連動情報を抽出する。第2CPU39は、これらの情報に基づいて、スレーブロボットの移動位置を求め、ステップd5に進む。ステップd6では、第2CPU39は、補間処理を終了する。これによって任意の時刻におけるマスタロボットおよびスレーブロボットの移動位置を、単一のコントローラ24を用いて演算することができる。
図11は、マスタロボットRaとスレーブロボットRbとの協調動作を説明する図である。第1ロボット21をマスタロボットRaとし、第2ロボット22をスレーブロボットRbとして、協調制御を行うことがロボット動作計画に示されている場合における補間処理について説明する。
マスタロボットRaとスレーブロボットRbとの共通座標系Σ0において、マスタロボットRaの動作開始位置Msと動作終了位置Meとが教示される。また共通座標系Σ0において、スレーブロボットRbの動作開始位置Ssと動作終了位置Seとが教示される。マスタロボットRaが動作教示位置Msから動作終了位置Meへ移動するとき、マスタロボットRaの動作中間位置Miに対応するスレーブロボットRbの動作途中点位置Siを求める。
マスタロボットRaの動作途中点位置Miは、パラメータsを用いて求められる。このパラメータsの値は、s=1のとき、マスタロボットRaが動作開始位置Msに到達し、s=0.0のとき動作終了位置Meに到達するものとする。また、マスタロボットRaが動作途中位置Miにあるときのパラメータsはsiで表し、このときのスレーブロボットRbの動作途中位置をSiとする。マスタロボットRaの動作開始位置MsからスレーブロボットRbの動作開始位置Ssへの変換行列をTAB(s)とし、マスタロボットRaの動作終了位置MeからスレーブロボットRbの動作終了位置Seへの変換行列をTAB(e)とし、次式で表わすものとする。
AB(s)=Ss・Ms-1 …(1)
AB(e)=Se・Me-1 …(2)
また上記の各変換行列TAB(s)、TAB(e)をXYZオイラー角で表記するとき、TAB(s)は(Xs,Ys,Zs,Os,As,Ts)とし、TAB(e)は(Xe,Ye,Ze,Oe,Ae,Te)として、マスタロボットRaの動作途中点位置Miに対する変換行列Tiのオイラー角表記を、次式によって求める。
Xi=Xe−(Xe−Xs)・s …(3)
Yi=Ye−(Ye−Ys)・s …(4)
Zi=Ze−(Ze−Zs)・s …(5)
Oi=Oe−(Oe−Os)・s …(6)
Ai=Ae−(Ae−As)・s …(7)
Ti=Te−(Te−Ts)・s …(8)
これらの式1〜8を変換行列Tiと表記し、マスタロボットRaの動作途中点位置Miに対するスレーブロボットRbの動作途中点位置Siは、
Si=Ti・Mi …(9)
によって求められる。
このようなマスタロボットRaの動作途中点位置Miに対するスレーブロボットRbの動作途中点位置Siの関係式は、ロボット関連情報として第1メモリ33または第2メモリ40に記憶されており、各ロボット21,22のうちで任意にマスタロボットおよびスレーブロボットを設定して、協調動作させることができるように構成されている。なお、一方のロボットの原点に対するベース座標系を、他方のロボットのベース座標に変換するための変換行列TABもまた、予め第1メモリ33または第2メモリ40に記憶されている。
図12は、第3CPU42によるモータ制御動作の手順を示すフローチャートである。ステップe0で、第3CPU42は、ロボットの動作開始を示す指令が与えられると、ステップe1に進み、第3CPU42は、逆変換処理処理とモータ45のサーボ処理とを行うモータ制御動作を開始する。
ステップe1では、第3CPU42は、第2CPU39から対応するロボットの移動位置を示す情報が与えられる。このようにして第3CPU42がロボットの移動位置を取得すると、ステップe2に進む。ロボットハンド130の移動位置は、たとえばロボットハンド130の位置と姿勢とを表わす同時変換行列によって表わされる。
ステップe2では、第3CPU42は、取得した移動位置に基づいて、逆変換演算、すなわちロボットハンド130を目的とする位置および姿勢に移動させるような、各ロボットアーム関節角度をそれぞれ求める。言い換えるとアームを角変位するサーボモータ45の動作指令量を演算する。このような逆変換演算は、既知の手順によって実現することができる。ステップe2において、第3CPU42は、ロボットハンド130の移動位置に基づいて、各サーボモータ45の動作指令量を演算すると、ステップe3に進む。
ステップe3では、ステップe2によって演算した各サーボモータ45の動作指令量から、各アンプ44の動作量をそれぞれ演算する。具体的には、サーボモータ45に設けられるエンコーダからサーボモータ45の動作位置を取得し、サーボモータ45の動作位置とサーボモータ45の動作指令量とから、アンプ44の動作量をフィードバックして求める。したがってステップe3では、第3CPU42は、サーボ処理を行う。サーボ処理を行って、アンプ44の動作量を演算すると、ステップe4に進む。
ステップe4では、演算したそれぞれの動作量を対応するアンプ44にそれぞれ個別に与え、ステップe1に戻る。ステップe1では、次に与えられたロボットハンドの移動位置を取得する。このようにして第3CPU42は、ステップe1〜e4を順次繰返す。
各アンプ44は、第3CPU42からアンプ動作量が与えられると、その動作量にしたがった電力を対応するサーボモータ45に与える。これによって各サーボモータ45は、ステップe1で演算された関節角度にアームを移動させる。したがってロボットハンドを移動位置に移動させることができる。各第3CPU42は、対応するロボットのアンプ44についてのアンプ動作量を演算する。第3CPU42は、第2CPU40から移動経路に従った移動位置が順次与えられることによって、ロボットハンド130を移動経路に沿って移動させる。したがって第1の逆変換処理部25の第3CPU42は、第1ロボット21の動作量を演算し、第2の逆変換処理部25の第3CPU42は、第2ロボット22の動作量を演算する。
またアンプ44がサーボ処理機能を有する場合には、第3CPU42は、ステップe2の動作を行って、各サーボモータ45の動作指令量をそれぞれのアンプ44に与え、ステップe1〜ステップe2の動作を繰返してもよい。この場合、各アンプ44は、第3CPU42から与えられる各サーボモータ45の動作指令量と、エンコーダからのエンコーダ値とに基づいて、アンプ44の動作量を演算し、その動作量の電力を対応するサーボモータ45に与える。
ロボット設備1は、接続されるロボットの台数が増減しても柔軟に対応が可能に構成される。具体的には、接続されるロボットが増減したとしても、既に接続されているロボットについての、第2CPU39および第3CPU42から出力される演算結果の出力タイミングを一定に保つ。これによってロボットの増減に拘わらずにロボットの動作特性、たとえば速度、移動軌跡およびサイクルタイムなどを一定に保つことができる。
ロボット設備1は、接続可能なロボットの最大台数が予め決定され、たとえば本実施の形態では8台のロボットが接続可能に設けられる。この場合、第2CPU39は、第1CPU32から動作計画が与えられると、8台の各ロボットへの移動位置を順次演算し、演算した移動位置を順番に各第3CPU42にそれぞれ与える。接続可能な8台のロボットのうち、2台のロボットしか接続されていない場合、第2CPU39は、2台分のロボットの移動位置を演算し、8台分接続されるであろうタイミングと同じタイミングで、2台のロボットの移動位置を各第3CPU42にそれぞれ与える。
言い換えるとコントローラ24は、逆変換処理部26を接続可能な最大接続数が設定されており、最大接続数の逆変換処理部26が接続される場合、第2CPU39による演算結果を順番に予め定めるタイミングで各逆変換処理部26にそれぞれ与える。また最大接続数より少ない逆変換処理部26が接続される場合、最大接続数の逆変換処理部26が接続される場合と同様のタイミングで、第2CPU39による演算結果を順番に各逆変換処理部26にそれぞれ与える。
これによってコントローラ24に接続される逆変換処理部26に数に拘わらず、第2CPU39から各第3CPU42に演算結果がそれぞれ与えられるタイミングを同じにすることができる。したがって各ロボットの動作計画が決定された状態で、逆変換処理部26が削除された場合であっても、コントローラ24から残余の逆変換処理部26の第3CPU42に演算結果が与えられるタイミングが変化することがなく、残余の逆変換処理部26の第3CPU42によって制御される各ロボットの動作特性が変化することを防ぐことができる。同様に、各ロボットの動作計画が決定された状態で、逆変換処理部26が追加された場合であってもコントローラ24から既存の逆変換処理部26の第3CPU42に演算結果が与えられるタイミングが変化することがなく、既存の逆変換処理部26の第3CPU42によって制御される各ロボットの動作特性が変化することを防ぐことができる。
これによってロボットを増した場合であっても、既に接続されているロボットのアンプ44に与えられる動作指令のタイミングが異なることがなく、既に接続されているロボットの速度および移動位置などが変化することが防がれる。同様にロボットを減らした場合であっても、残余のロボットのアンプ44に与えられる動作指令のタイミングが異なることがなく、残余のロボットの速度および移動位置などが変化することが防がれる。
たとえば複数のロボットのうち1つのロボットが故障した場合、故障したロボットに対応する逆変換処理部26をコントローラ24から切り離しても、残余の逆変換処理部26の第3CPU42によって制御されるロボットの動作が変化することを防ぐことができる。これによって故障したロボットが行うべき作業を作業者が一時的に行うことで、生産性の低下を抑えることができる。また故障したロボットが修理された場合、修理されたロボットに対応する逆変換処理部26をコントローラ24に接続することで、複数のロボットによる作業を容易に再開させることができる。
図13は、各CPU32,39,42の通信タイミングを示すタイミングチャートである。第1CPU32は、予め定める動作計画送信時間T11ごとに、各ロボットの動作計画を第2CPU39にまとめて与える。第2CPU39は、与えられた動作計画に基づいて、各ロボットの移動位置を順番に演算する。ロボットが8台ある場合、第1ロボットR1から第8ロボットR8の移動位置を順に演算する。第2CPU39は、ロボットの移動位置を演算すると、対応する第3CPU42にその演算した移動位置を演算する毎に与える。
すなわち、第1CPU32から動作計画を受取って移動位置の演算を開始する移動位置演算開始時刻T10から、予め定める移動位置送信時間T21が経過する毎に、第2CPU39は、ロボットの移動位置を第3CPU42に送信する。この移動位置送信時間T21は、1つのロボットの移動位置を演算するのに費やす演算時間に設定される。第2CPU39は、第nロボットの移動位置を、移動位置演算開始時刻T10から、(n×T21)時間経過後に送信する。ここで、nは自然数であり、T21は移動位置送信時間である。たとえば第8ロボットR8の移動位置は、移動位置演算開始時刻T10から、(8×T21)時間経過後に送信される。このように第2CPU39は、移動位置を周期的に送信する。
第1および第8ロボットR1,R8が、コントローラ24に接続されており、第2〜第7ロボットR2〜R7がコントローラ24に接続されていない場合、第2CPU32は、第2〜第7ロボットR2〜R7の移動位置については演算および送信しないが、第1および第8ロボットR1,R8の移動位置を送信するタイミングについては、第2〜第7ロボットR2〜R7が接続されている場合と同様となる。したがって第2CPU32は、第8ロボットR8の移動位置を、移動位置演算開始時刻T10から、(8×T21)時間経過後に送信する。
第2CPU39から移動位置が与えられた各第3CPU42は、その移動位置に基づいて、逆変換演算して、各ロボットアーム関節角度を求め、その角度にアームが角変位するようなアンプ動作量をアンプ動作指令として各アンプに与える。たとえば第3CPU42が逆変換演算を開始してからアンプ動作指令をアンプに与える時間をアンプ動作指令送信時間T31とすると、前記移動位置送信時間T21を接続可能なロボット数mで乗算した値(T21×m)は、アンプ動作指令送信時間T31以下に設定される。本実施の形態では移動位置送信時間T21は、アンプ動作指令送信時間31と等しく設定される。
このようにすることで、ロボットの移動位置送信時間T21に、制御可能なロボットの台数8を乗算した時間(8×T21)の間隔で、各ロボットに対応する第3CPU42に移動すべき移動位置をそれぞれ送信することができる。これに対して1つのCPUで、移動位置演算と逆変換演算とを行う場合には、ロボットの移動位置演算に費やす時間T20とロボットの逆変換演算に費やす時間T30とをあわせた時間(T20+T30)に、制御可能なロボットの台数8を乗算した時間(8×(T20+T30))の間隔で、ロボットを移動させることになってしまう。
このように本発明の実施形態では、逆変換に費やす時間T30にかかわらずに、移動すべき移動位置を送信してロボットを協調動作させることができる。したがって逆変換演算が複雑になっても、微少な時間間隔でアンプの動作指令を与えることができ、ロボットを円滑に協調動作させることができる。
第3CPU42は、アンプを動作させるタイミングをずらしてもよい。たとえば第1ロボットR1と第8ロボットR8とで協調動作を行う場合、第1ロボットの第3CPU42は、アンプ動作指令送信時間T31で送信してから(8×T21)時間経過するとアンプを動作させるようにし、第8ロボットの第3CPU42は、アンプ動作指令送信時間T31で送信してから直ちにアンプを動作させるようにする。これによって、第1ロボットR1と第8ロボットR8とを同時に動作させることができる。これによって各ロボットの協調動作における動作のずれをさらに防ぐことができる。
また、第2CPU39は、第1CPU32から動作計画を受取る前に、移動位置の演算を開始すると、移動位置を演算することができない場合がある。これを防止するために、本実施の形態では、第1CPU32が第2CPU39に動作計画を与える時刻T41よりも、第2CPU39が移動位置の演算を開始する時刻T10を予め定める遅延時間T42遅らせる。これによって、第1CPU32と第2CPU39との間の制御周期に微小なずれがある場合であっても、確実に演算を行うことができる。
本実施の形態では、各CPUの制御周期、通信遅れを解消する同期機能を有する。これによってさらに正確に各ロボットを協調動作させることができる。図14は、各CPU32,39,42の同期処理機能を説明するための図である。各CPU32,39,42は、上述したように制御周期のずれを解消するための同期処理機能を有する。この場合、第2CPU39は、マスタ側装置として設定され、第1CPU32および第3CPU42は、スレ−ブ側装置として設定される。
第2CPU39は、動作指令を送信した時刻taから第3CPU42または第1CPU32が前記動作指令を受信して演算を開始する時刻tbまでの通信遅れ時間(tb−ta)が予め定める時間Tになるように、第2CPU39の最小割込み周期Ts(b)を変化させ、第2CPU39と第3CPU42および第2CPU39と第1CPU32とを同期させる。以下、第2CPU39と第3CPU42との動作について具体的に、説明し、第2CPU39と第1CPU32との動作については省略する。
第2CPU39から所定の制御周期Wで時刻ta1,ta2,ta3,…毎に送信された指令信号は、第3CPU42における制御時刻tb0,tb1,tb2…から所定時間Δt1,Δt2,Δt3,…経過後の各時刻(tb0+Δt1),(tb1+Δt2),(tb2+Δt3),…において時系列的に受信される。
このような第2CPU39から第3CPU42への動作指令の送信では、各CPU39,42に内蔵される水晶発振器の個体差による発振周波数の微小な誤差に起因する受信時刻(tb0+Δt1),(tb1+Δt2),(tb2+Δt3),…の送信時刻ta1,ta2,ta3…に対する第1の通信遅れ時間と、ケーブルを介することによる通信遅れ時間および第3CPU42が第2CPU39からの動作指令1,2,3,…を受信時刻(tb0+Δt1),(tb1+Δt2),(tb2+Δt3),…で受信してから制御を開始する制御時刻tb1,tb2,tb3,…までのタイムラグによる第2の通信遅れ時間とが存在するため、前記第2CPU39による演算動作指令に対して、第3CPU42による演算動作の微小なずれが発生してしまう。
上記第1の通信遅れ時間は、図14において、第2CPU39が送信時刻ta1で指令1を送信すると、送信された指令1は第3CPU42に受信時刻(tb0+Δt1)で受信される。この受信時刻(tb0+Δt1)は、第3CPU42が制御対象とする前回の制御時刻tb0から所定時間Δt1が経過した時刻であり、第3CPU42の最小割込み周期Ts(b)を4カウント目のタイミング信号の発振時刻で受信している。
次に、1制御周期が経過した後の時刻ta2で、第2CPU39が指令2を送信し、この指令2は第3CPU42によって、次の受信時刻(tb1+Δt2)で受信されるが、上記のように第3CPU42に内蔵される水晶発振器は、第2CPU39に内蔵される水晶発振器に対して、個体差による発振周波数の微小な誤差が存在するため、最小割込み周期Ts(b)の1カウント目と2カウント目との間に到達した指令2は、前回の制御時刻tb1からみて2カウント目の時刻(tb1+Δt2)で受信される。このように前回の制御時刻tb1からタイミング信号が3カウント未満で指令2を受信したときには、第3CPU42は自己の最小割込み周期Tb(b)を短くし、受信時刻(tb1+Δt2)が予め定めるカウント範囲、たとえば3カウント目以上でかつ5カウント目以下になるように制御する。
また、第2CPU39が時刻ta3で送信した指令3は、第3CPU42に前回の制御時刻tb2からみて5カウント目と6カウント目との間に到達しているため、6カウント目で受信され、第3CPU42は制御時刻tb3で制御する。したがって第3CPU42は、自己の最小割込み周期Ts(b)を長くして、受信時刻(tb2+Δt3)が前回の制御時刻tb2から3カウント目以上でかつ5カウント目以下になるように制御する。
このようにすることで第3CPU42は、第2CPU39から各指令1,2,3,…が送信される時刻ta1、ta2,ta3,…から、第3CPU42によって受信されて、この第3CPU42が自己のロボットRaの制御を開始する時刻tb1,tb2,tb3,…までの時間(tb1−ta0),(tb2−ta1),(tb3−ta2),…が、第3CPU42の制御周期Wを超えてしまうことが防がれる。これによって第3CPU42は、第3CPU42の1制御周期W内に、第2CPU39から複数の動作指令を受信してしまい、あるいは1制御周期W内に動作指令が受信されないという不具合が発生を確実に防止し、第2CPU39と第3CPU42と高精度で同期させることができる。
さらに、第2CPU39と第3CPU42とを完全に同期させるためには、ケーブルを介することによる第1の通信遅れと、第3CPU42が第2CPU39からの動作指令1,2,3,…を受信時刻(tb0+Δt1),(tb1+Δt2),(tb2+Δt3),…で受信してからスレーブロボットRbの制御を開始する制御時刻tb1,tb2,tb3,…までのタイムラグによる第2の通信遅れを解消する必要がある。
そこで、第1の通信遅れを解消するために、上記のように制御される第3CPU42の最小割込み周期Ts(b)のn倍(たとえばn=8)が前記制御周期Wに相当するとしたとき、第2CPU39の制御時刻ta11,ta12,ta13,…を第3CPU42の制御時刻tb1,tb2,tb3,…に一致させる必要がある。そのため、第2CPU39は、制御時刻ta11,ta12,ta13,…を、各送信時刻ta1,ta2,ta3,…から予め定める時間Tだけ遅延させる。このように同期動作を行うことによって、第2および第3CPU39,42の同期を図ることができる。同様にして第1CPU32および第2CPU39の同期を図ることができる。また、第2CPU39をマスタ側装置とし、第1CPU32および第3CPU42をスレーブ側装置とすることによって、第1CPU32および第3CPU42をマスタ側装置とするよりも、第1CPU32と第3CPU42とを無関係に協調制御することができ、より正確に同期を図ることができる。
本実施の形態のロボット制御システム23は、搬送ラインに沿って移動するワークを加工する複数のロボットを1つのコントローラ24で制御する場合を含む。たとえば各ロボットが溶接ロボットなどの場合、1つのコントローラに接続されるロボットのうち、1つのロボットが故障することがある。このような場合、故障したロボットを搬送ラインから外し、残余のロボットによってワークに加工を行い、搬送ラインを通過した後のワークに対して、故障したロボットの変わりに作業者が手動で加工する場合がある。
本実施の形態のロボット制御システム23では、接続されるロボットの1つを取外しても、上述したように、第2CPU39から各第3CPU42へ指令が送信されるタイミングが同じに設定されるので、残余のロボットの動作特性を維持することができる。このような場合、ロボット制御システム23は、電源投入時に接続されるロボットを確認する初期動作を行う。
図15は、コントローラ24の電源投入時の第1CPU32の初期動作を示すフローチャートである。第1CPU32は、ロボット制御システム23の電源が投入されると、ステップf1に進み、初期動作を開始する。ステップf1では、各ロボット21,22、各ロボットに対応する逆変換処理部25,26、コントローラ24が起動する。コントローラ24は、接続されているロボットを確認するために、逆変換処理部25,26を介してロボット21,22に通信要求信号を送信し、ステップf2に進む。通信要求信号を受けたロボット21,22は、返信信号をコントローラ24に向けて送信する。
ステップf2では、第1CPU32は、接続されるロボット21,22をカウントし、ステップf3に進む。ステップf3では、第1CPU32は、接続されるロボット21,22と、接続が解除されたロボットを判断し、それらのロボットの情報を記憶する。ステップf4では、接続されていないロボットの移動位置の演算およびそれに対応する逆変換処理部への送信を停止する通信設定を設定し、ステップf5に進む。ステップf5では、第1CPU32の初期動作を終了する。初期動作終了後、第1CPU32は、ステップf4で設定した通信設定にしたがって、接続されるロボットを制御する。これによって故障などによってロボットが減少した場合であっても、新たにプログラムを変更することなく、残余のロボットについて接続前と同様の動作をさせることができる。 以上のように本発明の実施の第1形態であるロボット設備20に従えば、コントローラ24が、複数のロボット21,22にそれぞれ設定されるロボットハンド130の移動経路上の移動位置をそれぞれ演算する。具体的には、2つの通過教示位置の間の補間点となる移動位置を求める。逆変換処理部25,26は、コントローラ24から与えられた移動位置を表わす行列に基づいて、逆変換処理を行うとともに、各サーボモータ45の動作量をそれぞれ演算する。演算結果に従って各サーボモータ45を制御することによって、各ロボット21,22のロボットハンド130を動作プログラムに設定される移動経路に沿って個別にかつ同時に移動させることができる。
逆変換処理部25,26は、ロボット毎に個別に必要な演算を行い、各ロボット21,22に必要な逆変換処理を分担する。これによって、第2の従来技術に比べて、コントローラ24の負荷を軽減することができる。したがって同時動作させるロボット21,22の台数または各ロボット21,22の軸数が増えたとしても、コントローラ24にかかる演算負荷が増大することを防いで、各ロボット21,22の移動位置を円滑にかつ短時間に求めることができ、ひいては各ロボット21,22を安定して同時に動作させることができる。また第2CPUのサンプリング周期を短くすることができ、教示位置間の補間位置を増やすことができ、さらにロボットの移動を滑らかに行わせることができる。
コントローラ24は、単位時間毎に移動すべき移動位置を逆変換処理部25、26にそれぞれ与える。これによって、第1の従来技術のようにロボット毎にコントローラがある場合に比べて、各ロボットの協調動作における動作のずれが累積することを防いで、協調動作を正確に行うことができる。また各ロボット21,22は、1つのコントローラ24から与えられる指令に基づいて、それぞれ異なる動作を行うので、各ロボット同士の応答時期のずれを低減することができる。
また、単一のコントローラ24が、それぞれのロボット21,22のロボットハンド130が移動する移動経路上の各移動位置をそれぞれ演算する。したがって作業者は、1つのコントローラ24に各ロボットの動作関連情報を教示するだけでよい。これによって第1の従来技術のように、複数の制御装置に各ロボットの動作を個別にそれぞれ教示する必要がなく、教示作業を簡単化することができ、利便性を向上することができる。
また単一のコントローラ24は、全てのロボット21,22に関する制御プログラムが入力される。したがってコントローラ24は、他の装置と通信することなく、各ロボットハンド130の移動位置を演算することができる。したがって、複数のロボットを協調制御する場合、コントローラ24は、自身が演算したマスタロボットRaの各移動位置に基づいて、スレーブロボットRbの各移動位置を演算することができる。したがって通信に起因するロボット同士の協調動作のずれを防ぐことができる。
またインターフェース34〜35を単一のコントローラ24に設けるだけでよく、ロボット毎にインターフェース34〜36を設ける必要がない。これによってロボット制御システム23を小形化することができるとともに安価に形成することができる。
さらに本実施の形態では、ロボット21,22の台数にかかわらず、単一のコントローラ24を用いるだけでよいので、ロボット制御システム23の設置面積を低減して、省スペース化を実現することができる。このようにロボット制御システム23の設置スペースを小さくすることで、ひいてはロボット設備20における設置スペースを削減することができ、ロボット間の距離を近接させることができる。これによって複数のロボット21,22によって製造ラインを形成したとき、製造ラインを短くすることができ、施工時間を短縮することができる。また、接続されるロボットが増減した場合であっても、既に接続されるロボットの動作特性を維持することができるので、製造ラインの変更などに対して柔軟に対応することができる。さらに各CPU32,39,42の制御周期がそれぞれ同期する構成であるので、各ロボットの同期制御および協調制御を精度よく行わせることができる。
また本実施の形態では、第2CPU39は、ロボット動作計画に含まれる協調動作情報に基づいて注目するロボットがスレーブロボットRbであると判断すると、注目するスレーブロボットRbが動作を従うマスタロボットRaを判断する。そしてそのマスタロボットRaの移動位置を第2メモリ40から抽出するとともに、ロボット動作計画からスレーブロボットRbの連動動作関係を抽出する。そして第2CPU39は、マスタロボットRaの移動位置と、マスタロボットRaとスレーブロボットRbとの連動動作関係とに基づいて、スレーブロボットRbのロボットハンド130の移動位置を演算する。
これによって作業者がスレーブロボット130の各移動位置を詳しく入力する必要がなく、作業者の手間を省略して協調動作を行うことができる。
また本実施の形態に従えば、コントローラ24は、それぞれ異なるロボット21,22のロボットハンド130の移動位置を、通信ケーブル27を介して対応する逆変換処理部25,26にそれぞれ与える。各逆変換処理部25,26は、通信ケーブル27を介して与えられたロボットハンド130の移動位置に基づいて、対応するロボットの複数のサーボモータ45を制御する。
このように通信ケーブルによって接続されることで、コントローラ24と逆変換処理部25,26とを互いに離反させることができる。これによってコントローラ24は、逆変換処理部25,26で発生する電磁ノイズの影響を小さくすることができる。また複数のロボット21,22が互いに離れた位置に配置される場合であっても、ロボット21,22に近接した位置に逆変換処理部25,26を配置して、ロボット21,22から離反した適当な位置にコントローラ24を配置することができる。これによって使い勝手のよい位置にコントローラ24を配置することができる。
なお、逆変換処理部25,26は、ロボット21,22に動力を与える動力線と、ロボット21,22に信号を与え、ロボットから信号を取得する信号線とを含むケーブル28によってロボット21,22に接続される。これに対してコントローラ24と逆変換処理部25,26とを接続するケーブル27は、動力を伝達する必要がない信号線であることが多い。
この場合、逆変換処理部25、26とロボット21,22とを接続するケーブル28が太く、これに対してコントローラ24と逆変換処理部25,26とを接続するケーブル27が細くなる。逆変換処理部25,26とロボット21,22とを近接して配置することによって、逆変換処理部25,26とロボット21,22を接続する太いケーブル28を短くすることができ、作業の邪魔になることを防ぐことができる。
またコントローラ24と逆変換処理部25、26を接続するケーブルは、イーサネット(登録商標)に従って標準化されたLANケーブルが用いられる。これによってデータ通信を遠距離でも高速に行うことができ、通信ケーブルの長さの違いによるロボットの信号送信ずれの影響を小さくすることができ、協調制御を正確に行うことができる。さらにLANケーブルを用いることによって、コントローラ24と逆変換処理部25,26との間の距離が離れている場合であっても、十分な信号伝達速度を保つことができる。
また第2CPU39は、各ロボットのロボットハンドが移動する移動経路上の各移動位置に基づいて、ロボット動作時におけるロボット同士の干渉の有無を判断してもよい。本実施の形態では、単一のコントローラ24に各ロボットのロボット関連情報がそれぞれ与えられるとともに、各ロボットの移動位置を演算するので、他の装置と通信することなく、ロボット同士が干渉するかどうかを容易に判断することができる。これによって実際にロボットを動作させずとも、ロボットの干渉の有無を判断することができ、利便性を向上することができる。
図16は、協調動作部位を教示する手順を説明するための各ロボットRa,Rbのアーム先端部分94a,94bの移動経路を示す斜視図である。同図において実線はマスタロボットRaのアーム先端部分94aの移動経路を示し、破線はスレーブロボットRbのアーム先端部分94bの移動経路を示す。図17は、図16に示される各教示位置に対応してマスタロボットRaおよびスレーブロボットRbを協調動作させるための協調動作プログラムの一例を示す図である。
各協調動作のためのプログラムの作成および位置の教示を行う場合、このプログラムは、一方のロボットRaによって実行されるプログラム「.PROGRAM master( )」と、他方のロボットRbによって実行されるプログラム「.PROGRAM slave( )」とが作成される。
一方のロボットRa側に設定されるプログラム「.PROGRAM. master( )」は、1〜20のステップを有し、図16の実線で示される動作目標位置Pm0から各目標位置Pm1〜Pm9を経て動作終了位置Pa10に至る動作を、一方のロボットRaに実行させるために、次のように構成される。
まず、ステップ1は、一方のロボットRaの各軸を動作開始位置Pm0へ移動させるための動作命令であり、「JMOVE #1c1#0」と入力される。「JMOVE」はロボットを指定した目標位置への各軸の補間動作における移動させるための命令である。「#1c1#0」は動作目標位置Pm0を指示する変数名である。
ステップ2は、動作開始位置Pm0から次の目標位置Pm1へ一方のロボットRaを移動させるための命令であり、「LMOVE #1c1#1」と入力される。「LMOVE」は直線動作を指示する予約語であり、「#1c1#1」は目標位置Pm1を指示する変数名である。
ステップ3は、前記ステップ2で指定した位置Pm1でハンド30を閉じさせるための命令であり、「CLOSE」と記載される。以上がマスタロボットRaの単独動作のプログラムである。
次に、ステップ4は、協調動作を宣言する命令であり、「MASTER」と記載される。この命令によって、一方のロボットRaがマスタロボットに設定され、他方のロボットRb側がスレーブロボットに設定されて、協調動作が開始する。本実施の形態では、単一のコントローラに、マスタロボットとスレーブロボットのプログラムがそれぞれ入力されるので、第2CPU39は、容易にスレーブロボットの移動位置を演算することができる。
ステップ5は、マスタロボットRaに対してハンド30を閉じるための命令であり、「SIGNAL 2」と記載される。
ステップ6は、スレーブロボットRbのハンド30を閉じるための命令であり、「SIGNAL 2:2」と記載される。
ステップ7は、各ロボットRa,Rbを協調動作させながら次の目標位置Pm2,Ps2へ移動させるための命令であり、「MLLMOVE #1c2#2,#1c2#2」と記載される。
ステップ8は、各ロボットRa,Rbを次の目標位置Pm3,Ps3へ移動させるための命令であり、「MLLMOVE #1c1#3,#1c2#3」と記載される。
ステップ9は、マスタロボットRaを次の指令を満足するまで待機させるための命令であり、「SWAIT 1001」と記載される。
ステップ10は、スレーブロボットRbを入出力回路48bに次の指令を入力するまで待機させるための命令であり、「SWAIT 2:1001」と記載される。
ステップ11は、各ロボットRa,Rbを次の目標位置Pm4,Ps4へ移動させるための命令であり、「MLC1MOVE #1c1#4,#1c2#4」と記載される。
ステップ12は、各ロボットRa,Rbを次の目標位置Pm5,Ps5へ移動させるための命令であり、「MLC1MOVE #1c1#5,#1c2#5」と記載される。
ステップ13は、各ロボットRa,Rbを次の目標位置Pm6,Ps6へ移動させるための命令であり、「MLC2MOVE #1c1#6,#1c2#6」と記載される。
ステップ14は、各ロボットRa,Rbを次の目標位置Pm7,Ps7へ移動させるための命令であり、「MLLMOVE #1c1#7,#1c2#7」と記載される。
ステップ15は、各ロボットRa,Rbを次の目標位置Pm8,Ps8へ移動させるための命令であり、「MLLMOVE#1c1#8,#1c2#8」と記載される。
ステップ16は、マスタロボットRaの協調動作を解除するための命令であり、「ALONE」と記載される。
ステップ17は、一方のロボットRaのハンド30を開くための命令であり、「OPEN」と記載される。
ステップ18は、一方のロボットRaに対して、タイマが変数名「1002」で指示された状態を満足するまで待機させるための命令であり、「SWAIT 1002」と記載される。
ステップ19は、一方のロボットRaを変数名「#1c1#9」で指示させるも目標位置Pm9へ直線移動させるための命令であり、「LMOVE #1c1#9」と記載される。
ステップ20は、一方のロボットRaを動作終了位置Pm10へ移動させるための命令であり、「HOME」と記載される。
次に、他方のロボットRbに対して設定されるプログラムについて説明する。この他方のロボットRb用プログラム「.PROGRAM slave( )」は、1〜10のステップを有し、図16の破線で示される動作目標位置Ps0から各位置Ps1〜Ps9を経て動作終了位置Ps10に至る動作を、スレーブロボットRbに実行させるために、次のように構成される。
まず、ステップ1は、他方のロボットRaの各軸を動作目標位置Ps0へ移動させるための動作命令であり、「JMOVE #1c1#0」と入力される。「JMOVE」はロボットを指定した位置への補間動作における移動させるための命令である。「#1c1#0」は動作目標位置Ps0の座標である。
ステップ2は、動作開始位置Ps0から次の位置Ps1へ他方のロボットRbを移動させるための命令であり、「LMOVE #1c1#1」と記載される。「LMOVE」は直線動作命令であり、「#1c1#1」は次の位置Ps1の座標である。
ステップ3は、前記ステップ2で指定した位置Ps1でハンド30を閉じさせるための命令であり、「CLOSE」と記載される。以上がスレーブロボットの単独動作のプログラムである。
次に、ステップ4は、他方のロボットRbを変数名「1002」で指示される条件を満足するまで待機させるための命令であり、「SWAIT 1002」と記載される。
ステップ5は、自己がスレーブロボットとして動作することを宣言するための命令であり、「SLAVE」と記載される。このプログラムの実行時においては、スレーブロボットRbは、マスタロボットRa側からの各ステップ5〜15の命令に応答して協調動作を行う。この協調動作時は、前述したように、他方のロボットRbはネットワーク通信接続手段21によって一方のロボットRaに接続されるので、制御周期のずれを修正しながら相互に正確に同期して協調動作させることができる。
ステップ6は、協調動作を解除して、単独動作に戻ったことを宣言するための命令であり、「ALONE」と記載される。
ステップ7は、他方のロボットRbのハンド30を開くための命令であり、「OPEN」と記載される。
ステップ8は、マスタロボットRaおよびスレーブロボットRbの双方に対して指令を個別に設定するための命令であり、「SIGNAL 2」と記載される。
ステップ9は、他方のロボットRbを変数名「#1c2#9」で指示される目標位置Ps9へ移動させるための命令であり、「LMOVE #1c2#9」と記載される。
ステップ10は、他方のロボットRbを動作終了位置Ps10へ移動させるための命令であり、「HOME」と記載される。
このようにして各ロボットが実行する一連の作業のうちで、協調動作する行程については、各ロボットをマスタロボットRaとスレーブロボットRbとに設定して、前記通信接続手段を介して相互に通信し、高精度で同期させて協調動作させることができる。
図18は、本発明の実施の第2形態であるロボット設備20の構成を示す系統図である。第2の実施の形態であるロボット設備220は、第1形態のロボット設備20に対して、制御すべきロボットが異なるだけであり、ロボット制御システム223については、第1形態のロボット設備20と同様の構成を示す。したがって同様の構成については説明を省略し、同様の参照符号を付する。
ロボット設備220の備える複数のロボット221,222は、直列に設けられる複数のアーム体c1〜c6と、隣接する2つのアーム体を同軸回転自在に連結する同軸関節部d1,d3,d5と、一方のアーム体を他方アーム体に対して円錐回転自在に連結する傾斜関節部d2,d4,d6とを含んでそれぞれ構成される。
このような同軸関節および傾斜関節を含む多軸ロボット221,222は、複数のアーム体c1〜c6をサーボモータ45によって回転させることによって、蛇のような動きをさせて、遊端部の姿勢および位置を変更することができる。したがって他の装置などが複雑に入り組んで作業経路が複雑な場合、また天井と床との間隔が小さく低姿勢での作業が必要な場合であっても、好適に遊端部の移動および姿勢を変更させることができる。
複数のアーム体c1〜c6は、直列方向に並んで配置される。そのうち一端部に第1アーム体c1が配置され、第2〜第6アーム体c2〜c6が順に連結される。第6のアーム体c6には、手先装置が連結される。第1〜第6のアーム体c1〜c6は、図15に示すように、それぞれの軸線が同軸に配置されて位置直線状に延びる状態に変形可能である。
多軸ロボット221,222は、遊端部に各種手先装置、いわゆるエンドエフェクタを連結し、手先装置を目標位置および姿勢に配置することによって、狭隘なさ行空間におけるハンドリング、シーリング、塗装またはアーク溶接などを行うことができる。
第1のアーム体c1は、その位置端部が同軸関節部d1によって、予め定める基台421に連結される。第1アーム体c1は、どの軸線と同軸の回転軸線まわりに基台21に対して回転自在に連結される。また第1アーム体c1のうち、基台21と反対側の端部には、傾斜間接部d2によって第2アームc2が連結される。この傾斜関節部d2は、第1アーム体c1および第2アーム体c2の軸線に対して、45度の角度をなして傾斜する傾斜回転軸線まわりに回転自在に連結される。
同様に第2アームc2と第3アームc3とは、同軸関節部d3によって連結される。第3アームc3と第4アームc4とは、傾斜関節部d4によって連結される。第4アームc4と第5アームc5とは、同軸関節部d5によって連結される。第5アームc5と第6アームc6とは、傾斜関節部d6によって連結される。また第6アームc6と手先装置とは、同軸関節部によって連結されてもよい。
各アーム体c1〜c6は、各アームを回転するサーボモータ45をそれぞれ内蔵する。サーボモータ45は、回転伝達機構を介して回転力を各アームに伝達する。回転伝達機構は、たとえば波動歯車機構、たとえばハーモニックドライブ(登録商標)である。回転伝達機構は、入力側部材と出力側部材とを備え、それらが噛合して相対的に回転する。一方のアーム体は、入力側部材が連結され、他方のアームは、出力側部材が連結される。これによってサーボモータ45が入力側部材に動力を伝達することによって、出力側部材とともに他方のアーム体が回転する。
図19〜図21は、多軸ロボット221,222の変形状態を示す斜視図である。図19(1)と図19(2)とは、異なる向きから見て示す。
このような、多軸ロボットを用いた場合であっても、第1実施形態で示すロボット制御システム23と同様のシステム223を用いることによって、同様の効果を得ることができる。すなわち多軸ロボットを複数同時に容易に動作させることができる。またこのような多関節ロボットの場合は、逆変換演算の解を数学的に一意に求めることが困難な場合が多い。このような場合、数値的な繰り返し演算を行って最適な逆演算解を求める演算法、たとえば収束演算法によって求められる。収束演算法によって求める場合には、収束回数を増やせば増やすほど、逆変換処理を行うために高い演算処理能力が必要であるが、本発明の実施形態のように、逆変換処理用の第3CPU42を別途設けることによって、制御周期を短くしてロボットを円滑に動作させることができる。またたとえばロボットの関節が、7軸以上である場合など、ロボットハンドを1つの位置および姿勢に移動させるための各アームの配置状態が複数考えられる場合、いわゆる冗長軸を有する場合にも、逆変換演算の解を求めるのに高い演算処理能力が必要になる。この場合にも、逆変換処理用の第3CPU42を別途設けることによって、制御周期を短くしてロボットを円滑に動作させることができる。
図22は、本発明の実施の第3形態であるロボット設備420の構成を示す形と渦である。第3の実施の形態であるロボット設備420は、第1形態のロボット設備20に対して、制御すべきロボットが異なるだけであり、ロボット制御システム423については、第1形態のロボット設備20と同様の構成を示す。したがって同様の構成については説明を省略し、同様の参照符号を付する。
ロボット設備220の備える複数のロボット421,422は、スリーロール型手首430が設けられる多関節ロボットであり、たとえば塗装ロボットなどに用いられる。スリーロール型手首430は、アーム434に連結されて予め定める第1軸線まわりに角変位する第1角変位部431と、第1角変位部431に連結されて第1軸線に交差する第2軸線まわりに角変位する第2角変位部432と、第2角変位部432に連結されて第1角変位軸線に平行に延びる第3軸線周りに角変位する第3角変位部433とが設けられる。塗装ロボットに用いられる場合、第3角変位部433には、スプレーガンが連結される。
このようなスリーロール型手首を有するロボットも、逆変換演算の解を求めるには、数値的な繰り返し演算によって求める必要があり、逆変換処理を行うために高い演算処理能力が必要である。本発明のように逆変換処理用の第3CPU42を別途も受けることによって、ロボットを円滑に動作させることができる。
図23は、本発明の実施の第4形態であるロボット設備320の構成を示す系統図である。第4の実施の形態であるロボット設備320は、第1形態のロボット設備に対して逆変換処理部25が各コントローラ24に含まれる。すなわちバスラインなどによってロボット動作演算部31と各逆変換処理部25,26とが接続される。このように本発明は、コントローラ内に逆変換処理用の第3CPU42が設けられる場合も含む。なお、第4形態のロボット設備320は、ロボットの種類について限定されず、図18,図22に示す多軸ロボットを複数同時に制御してもよい。このような第4形態であるロボット設備320についても、第1形態と同様の効果を得ることができる。
以上のような、本発明の各実施形態は、発明の例示に過ぎず本発明の範囲内で構成を変更することができる。たとえば制御するロボットとして垂直多関節ロボット図18に示す傾斜関節軸を有する多軸ロボット、図22に示すスリーロール手首を有する多関節ロボットを例示したが、逆変換処理が必要なロボットであればよい。たとえば直角座標型、曲座標型の多関節ロボットを用いてもよい。また本実施の形態では、2つのロボットを同時に制御する場合について説明したが、2つ以上たとえば8つのロボットを同時に制御してもよい。また、種類の異なるロボットを同時に制御してもよい。
また手先装置として、ロボットハンド130を動作させるとしたが、ロボットハンド130以外、たとえば溶接装置、塗装装置などの他の手先装置をロボットの遊端部に設け、その手先装置を動作させるとともに移動させてもよい。たとえばワークに溶接を行う場合、ワークを把持してワークの位置および姿勢を変更させるワーク把持ロボットと、溶接トーチを保持して溶接トーチの位置および姿勢を変更させるツール把持ロボットとを双方同時に動作させながら作業を行う場合がある。このような協調動作を複数のロボットに行わせる場合であっても、本発明のロボット制御システム23を用いることができる。本発明のロボット制御システム23を用いることによって、ロボットを円滑に協調動作させることができ、複雑な形状のワークに対して溶接作業を行うことができる。
またロボットを動作させるアクチュエータとしてサーボモータ45を用いたが、他のアクチュエータを用いてもよい。また第1CPU32と第2CPU39とを1つのCPUによって実現してもよい。
本発明の実施の第1形態であるロボット設備20の構成を示す系統図である。 ロボット設備20の構成を示すブロック図である。 第1CPU32によるロボット関連情報の記憶動作の手順を示すフローチャートである。 第1CPU32によるロボット動作計画生成動作の手順を示すフローチャートである。 表1における動作プログラムに従って動作するロボットにおける、ロボットハンド130が移動する移動経路を示す図である。 表1における動作プログラムに従って動作するロボットにおける、ロボットハンド130の移動速度とハンドの開閉との時間変化を示すグラフである。 第2CPU39によるロボットハンド130の移動位置演算動作の手順を示すフローチャートである。 表1における動作プログラムに従ってロボットハンド130が移動した場合に、隣接する2つの動作位置Q1,Q2と、補間演算される移動位置Qcとを説明するための図である。 移動位置Qcを説明するために示すロボットハンド130の移動速度の時間変化を示すグラフである。 ステップc3の補間処理の手順を示すフローチャートである。 マスタロボットRaとスレーブロボットRbとの協調動作を説明する図である。 第3CPU42によるモータ制御動作の手順を示すフローチャートである。 各CPU32,39,42の通信タイミングを示すタイミングチャートである。 各CPU32,39,42の同期処理機能を説明するための図である。 コントローラ24の電源投入時の第1CPU32の初期動作を示すフローチャートである。 協調動作部位を教示する手順を説明するための各ロボットRa,Rbのアーム先端部分94a,94bの移動経路を示す斜視図である。 図16に示される各教示点に対応してマスタロボットRaおよびスレーブロボットRbを協調動作させるための協調動作プログラムの一例を示す図である。 本発明の実施の第2形態であるロボット設備20の構成を示す系統図である。 多軸ロボット221,222の変形状態を示す斜視図である。 多軸ロボット221,222の変形状態を示す斜視図である。
多軸ロボット221,222の変形状態を示す斜視図である。 本発明の実施の第3形態であるロボット設備420の構成を示す形と渦である。 本発明の実施の第4形態であるロボット設備320の構成を示す系統図である。 第1の従来技術のロボット設備1を示すブロック図である。 第2の従来技術のロボット設備10を示すブロック図である。
符号の説明
20,220,320,420 ロボット設備
21,22 多軸ロボット
23 ロボット制御システム
24 コントローラ
25,26 逆変換処理部
27 通信ケーブル
32 第1CPU
39 第2CPU
43 第3CPU
44 アンプ
45 モータ
130 ロボットハンド

Claims (7)

  1. 複数のアクチュエータを有する多軸ロボットを複数同時に制御するロボット制御システムであって、
    各ロボットに設定される基準可動部が移動する移動経路上の移動位置をそれぞれ演算する単一の主制御装置と、
    ロボット毎にそれぞれ設けられ、対応するロボットに関する基準可動部の移動経路上の移動位置に基づいて、対応するロボットの基準可動部が移動経路上を移動するような各アクチュエータの動作量を演算して求め、その動作量でロボットの各アクチュエータを制御する複数の副制御装置とを有することを特徴とするロボット制御システム。
  2. 主制御装置は、外部装置との信号の入出力動作を行う入出力部と、
    入出力部における信号の入出力動作を制御する入出力制御処理回路と、
    各ロボットの基準可動部の移動位置を求めるための動作計画を記憶する記憶部と、
    入出力制御処理回路とは別体に設けられ、前記動作計画に基づいて、各ロボットの基準可動部が移動する移動経路上の移動位置をそれぞれ演算する移動経路演算処理回路とを含むことを特徴とする請求項1記載のロボット制御システム。
  3. 前記主制御装置は、副制御装置を接続可能な最大接続数が設定されており、
    最大接続数の副制御装置が接続される場合、演算結果を順番に予め定めるタイミングで各副制御装置にそれぞれ与え、
    最大接続数より少ない副制御装置が接続される場合、最大接続数の副制御装置が接続される場合と同様のタイミングで、演算結果を順番に各副制御装置にそれぞれ与えることを特徴とする請求項1または2記載のロボット制御システム。
  4. 主制御装置は、各ロボットの基準可動部の移動位置を求めるための動作計画を記憶する記憶部と、
    前記動作計画に基づいて、各ロボットの基準可動部が移動する移動経路上の移動位置を演算する移動経路演算処理回路とを含み、
    動作計画は、注目するロボットについて、予め定める基準動作をするマスタロボット、対応するマスタロボットに連動して動作するスレーブロボットのいずれのロボットであるかを示す協調動作情報と、注目するロボットがスレーブロボットである場合に対応するマスタロボットの動作に対する連動動作関係を示す連動関係情報とを含み、
    移動経路演算処理回路は、スレーブロボットの基準可動部が移動する移動経路上の移動位置を演算する場合、対応するマスタロボットの移動位置と前記連動関係情報とに基づいて、スレーブロボットの基準可動部が移動する移動経路上の移動位置を演算することを特徴とする請求項1〜3のいずれか1つに記載のロボット制御システム。
  5. 主制御装置と各副制御装置とは離れた位置に配置され、
    主制御装置と各副制御装置とをそれぞれ接続する複数の通信ケーブルを有することを特徴とする請求項1〜4のいずれか1つに記載のロボット制御システム。
  6. 主制御装置と各副制御装置とは、イーサネットを用いて互いに通信可能に設けられることを特徴とする請求項5記載のロボット制御システム。
  7. 前記請求項1〜6のいずれか1つに記載のロボット制御システムと、前記ロボット制御システムによって制御される複数のロボットとを有するロボット設備。
JP2005000752A 2005-01-05 2005-01-05 ロボットコントローラ Pending JP2006187826A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005000752A JP2006187826A (ja) 2005-01-05 2005-01-05 ロボットコントローラ
US11/320,611 US7282882B2 (en) 2005-01-05 2005-12-30 Robot controller
EP06250014A EP1693165A3 (en) 2005-01-05 2006-01-04 Robot control system for simultaneously controlling a plurality of robots
KR1020060000960A KR100802200B1 (ko) 2005-01-05 2006-01-04 로봇 제어시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005000752A JP2006187826A (ja) 2005-01-05 2005-01-05 ロボットコントローラ

Publications (1)

Publication Number Publication Date
JP2006187826A true JP2006187826A (ja) 2006-07-20

Family

ID=36215583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005000752A Pending JP2006187826A (ja) 2005-01-05 2005-01-05 ロボットコントローラ

Country Status (4)

Country Link
US (1) US7282882B2 (ja)
EP (1) EP1693165A3 (ja)
JP (1) JP2006187826A (ja)
KR (1) KR100802200B1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010274396A (ja) * 2009-06-01 2010-12-09 Kawasaki Heavy Ind Ltd 自動作業システムにおける位置ズレ補正方法及び位置ズレ補正プログラム
JP2011083841A (ja) * 2009-10-13 2011-04-28 Seiko Epson Corp ロボット制御装置、ロボット制御システム及びロボット制御方法
DE102010051855A1 (de) 2009-11-18 2011-05-19 Fanuc Ltd Robotersteuervorrichtung zur gleichzeitigen Steuerung von N Robotern
JP2012045636A (ja) * 2010-08-24 2012-03-08 Yaskawa Electric Corp ロボットおよび補間方法
JP2012142542A (ja) * 2010-12-17 2012-07-26 Canon Inc リソグラフィーシステム、及びそれを用いた物品の製造方法
JP2012148401A (ja) * 2006-12-19 2012-08-09 Abb Research Ltd 部品ハンドリング装置、システム及び方法
WO2017090235A1 (ja) * 2015-11-24 2017-06-01 川崎重工業株式会社 ロボットのダイレクト教示方法
WO2017098713A1 (ja) * 2015-12-07 2017-06-15 川崎重工業株式会社 ロボットシステム及びその運転方法
US10394213B2 (en) 2015-10-20 2019-08-27 Lsis Co., Ltd. Method of independent control period allocation of axis in the PLC positioning system
JP2020001103A (ja) * 2018-06-25 2020-01-09 川崎重工業株式会社 ロボット制御システム
WO2021241397A1 (ja) * 2020-05-25 2021-12-02 ファナック株式会社 ロボットシステム

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050189399A1 (en) * 2004-02-26 2005-09-01 Progressive Tool & Industries, Co. Flexible body workstation for assembling workpieces
US9104197B2 (en) * 2004-06-15 2015-08-11 Abb Ab Method and system for off-line programming of multiple interacting robots
US9390203B2 (en) 2004-06-15 2016-07-12 Abb Ab Method and system for off-line programming of multiple interacting robots
DE102005033972A1 (de) * 2005-07-20 2007-01-25 Dürr Systems GmbH Beschichtungsverfahren und zugehörige Beschichtungseinrichtung
JP2008100292A (ja) * 2006-10-17 2008-05-01 Toshiba Mach Co Ltd ロボットシステム
JP2009012132A (ja) * 2007-07-05 2009-01-22 Denso Wave Inc 多関節型ロボットおよびワーク受け渡し方法
JP2009090403A (ja) * 2007-10-05 2009-04-30 Fanuc Ltd ロボット動作範囲設定装置
KR100945884B1 (ko) * 2007-11-14 2010-03-05 삼성중공업 주식회사 내장형 로봇 제어 시스템
DE102008016414B4 (de) * 2008-03-31 2018-01-04 Kuka Roboter Gmbh Röntgenvorrichtung und medizinischer Arbeitsplatz
KR101015313B1 (ko) 2008-09-03 2011-02-15 재단법인대구경북과학기술원 다중 로봇 협업 방법 및 시스템
TW201031507A (en) * 2009-02-25 2010-09-01 Micro Star Int Co Ltd Control apparatus of a multi-axial joint and control method thereof
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
JP5743495B2 (ja) * 2010-11-05 2015-07-01 キヤノン株式会社 ロボット制御装置
JP5547626B2 (ja) * 2010-12-28 2014-07-16 川崎重工業株式会社 7軸多関節ロボットの制御装置および教示方法
WO2012140655A2 (en) * 2011-04-12 2012-10-18 Baryakar Dan Robotic system controlled by multi participants, considering administrator's criteria
CN104379308B (zh) * 2012-06-29 2016-05-18 三菱电机株式会社 机器人控制装置以及机器人控制方法
AU2013204965B2 (en) 2012-11-12 2016-07-28 C2 Systems Limited A system, method, computer program and data signal for the registration, monitoring and control of machines and devices
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
US9701018B2 (en) 2014-04-01 2017-07-11 Bot & Dolly, Llc Software interface for authoring robotic manufacturing process
US9630317B2 (en) * 2014-04-03 2017-04-25 Brain Corporation Learning apparatus and methods for control of robotic devices via spoofing
US9613308B2 (en) 2014-04-03 2017-04-04 Brain Corporation Spoofing remote control apparatus and methods
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9278449B1 (en) 2014-05-21 2016-03-08 Bot & Dolly, Llc Closed-loop control system for robotic operation
US9555545B2 (en) 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
US9308647B2 (en) 2014-06-03 2016-04-12 Bot & Dolly, Llc Systems and methods for instructing robotic operation
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
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
US9457469B2 (en) * 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
US9849588B2 (en) 2014-09-17 2017-12-26 Brain Corporation Apparatus and methods for remotely controlling robotic devices
US9821470B2 (en) 2014-09-17 2017-11-21 Brain Corporation Apparatus and methods for context determination using real time sensor data
US9860077B2 (en) 2014-09-17 2018-01-02 Brain Corporation Home animation apparatus and methods
US9579790B2 (en) 2014-09-17 2017-02-28 Brain Corporation Apparatus and methods for removal of learned behaviors in robots
CN106997201B (zh) * 2016-01-25 2020-11-03 上海电气集团股份有限公司 多机器人协作的路径规划方法
US10295972B2 (en) 2016-04-29 2019-05-21 Brain Corporation Systems and methods to operate controllable devices with gestures and/or noises
JP7211948B2 (ja) * 2016-08-31 2023-01-24 北京▲術▼▲鋭▼技▲術▼有限公司 手術支援ロボットシステムその故障検出方法
JP2018037021A (ja) * 2016-09-02 2018-03-08 オムロン株式会社 制御装置および制御システム
WO2018076295A1 (zh) * 2016-10-28 2018-05-03 深圳市优必选科技有限公司 舵机控制系统以及机器人
JP6484213B2 (ja) * 2016-12-09 2019-03-13 ファナック株式会社 複数のロボットを含むロボットシステム、ロボット制御装置、及びロボット制御方法
JP6633587B2 (ja) * 2017-10-05 2020-01-22 ファナック株式会社 ロボットの構成部材の速度を制限する制御装置
EP3470179A1 (de) * 2017-10-13 2019-04-17 Siemens Aktiengesellschaft Roboter und verfahren zur steuerung einer anordnung von einem ersten roboter und zumindest einem zweiten roboter
JP2019093459A (ja) * 2017-11-20 2019-06-20 セイコーエプソン株式会社 ロボット
EP3741521A4 (en) * 2018-01-19 2021-05-26 Sony Corporation ROBOTIC DEVICE AND METHOD OF MANUFACTURING ELECTRONIC DEVICE
JP6687654B2 (ja) * 2018-03-14 2020-04-28 ファナック株式会社 協働ロボットの制御装置及び制御方法
WO2020011369A1 (en) * 2018-07-13 2020-01-16 Abb Schweiz Ag Diagnosis method and apparatus
JP6881525B2 (ja) * 2019-08-23 2021-06-02 株式会社安川電機 ロボットシステム、コントローラ及び制御方法
DE102020109241A1 (de) * 2020-04-02 2021-10-07 Sick Ag Kommunikationsvorrichtung und Verfahren zur Weitergabe von Daten aus einem Regelkreis
CN112008732B (zh) * 2020-09-09 2021-12-10 中科新松有限公司 机器人逆行方法、装置、终端和存储介质
CN113305874B (zh) * 2021-05-27 2023-02-17 北京交通大学 一种三指多自由度灵巧手机构

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328628A (ja) * 1995-06-02 1996-12-13 Yaskawa Electric Corp 複数ロボット制御装置
JPH10309685A (ja) * 1997-05-12 1998-11-24 Kawasaki Heavy Ind Ltd ロボット制御装置
JP2001150372A (ja) * 1999-09-16 2001-06-05 Fanuc Ltd 複数ロボットの同期又は協調動作制御装置
JP2001306119A (ja) * 2000-04-27 2001-11-02 Yaskawa Electric Corp 多軸機械の動作指令生成方法とその装置
JP2003145462A (ja) * 2001-11-07 2003-05-20 Kawasaki Heavy Ind Ltd ロボットの協調制御システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379784A (en) * 1993-01-23 1995-01-10 Tokyo Electron Limited Apparatus for cleaning conveyor chuck
JP2000066706A (ja) * 1998-08-21 2000-03-03 Matsushita Electric Ind Co Ltd ロボット制御装置とその制御方法
JP2001100805A (ja) 1999-09-27 2001-04-13 Matsushita Electric Ind Co Ltd ロボット制御装置
ITTO20010553A1 (it) * 2001-06-08 2002-12-08 Comau Spa Sistema di controllo per robot.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328628A (ja) * 1995-06-02 1996-12-13 Yaskawa Electric Corp 複数ロボット制御装置
JPH10309685A (ja) * 1997-05-12 1998-11-24 Kawasaki Heavy Ind Ltd ロボット制御装置
JP2001150372A (ja) * 1999-09-16 2001-06-05 Fanuc Ltd 複数ロボットの同期又は協調動作制御装置
JP2001306119A (ja) * 2000-04-27 2001-11-02 Yaskawa Electric Corp 多軸機械の動作指令生成方法とその装置
JP2003145462A (ja) * 2001-11-07 2003-05-20 Kawasaki Heavy Ind Ltd ロボットの協調制御システム

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012148401A (ja) * 2006-12-19 2012-08-09 Abb Research Ltd 部品ハンドリング装置、システム及び方法
US8855817B2 (en) 2006-12-19 2014-10-07 Abb Research Ltd. Parts handling device, system and method
KR101488540B1 (ko) * 2006-12-19 2015-02-02 에이비비 리써치 리미티드 물품 처리 장치, 시스템 및 방법
JP2010274396A (ja) * 2009-06-01 2010-12-09 Kawasaki Heavy Ind Ltd 自動作業システムにおける位置ズレ補正方法及び位置ズレ補正プログラム
JP2011083841A (ja) * 2009-10-13 2011-04-28 Seiko Epson Corp ロボット制御装置、ロボット制御システム及びロボット制御方法
DE102010051855A1 (de) 2009-11-18 2011-05-19 Fanuc Ltd Robotersteuervorrichtung zur gleichzeitigen Steuerung von N Robotern
DE102010051855B4 (de) * 2009-11-18 2015-06-25 Fanuc Corporation Robotersteuervorrichtung zur gleichzeitigen Steuerung von N Robotern
JP2012045636A (ja) * 2010-08-24 2012-03-08 Yaskawa Electric Corp ロボットおよび補間方法
JP2012142542A (ja) * 2010-12-17 2012-07-26 Canon Inc リソグラフィーシステム、及びそれを用いた物品の製造方法
US10394213B2 (en) 2015-10-20 2019-08-27 Lsis Co., Ltd. Method of independent control period allocation of axis in the PLC positioning system
JP2017094440A (ja) * 2015-11-24 2017-06-01 川崎重工業株式会社 ロボットのダイレクト教示方法
WO2017090235A1 (ja) * 2015-11-24 2017-06-01 川崎重工業株式会社 ロボットのダイレクト教示方法
WO2017098713A1 (ja) * 2015-12-07 2017-06-15 川崎重工業株式会社 ロボットシステム及びその運転方法
CN108290296A (zh) * 2015-12-07 2018-07-17 川崎重工业株式会社 机器人系统及其运转方法
JPWO2017098713A1 (ja) * 2015-12-07 2018-09-27 川崎重工業株式会社 ロボットシステム及びその運転方法
CN108290296B (zh) * 2015-12-07 2021-05-07 川崎重工业株式会社 机器人系统及其运转方法
US11072077B2 (en) 2015-12-07 2021-07-27 Kawasaki Jukogyo Kabushiki Kaisha Robot system and operation method thereof
JP2020001103A (ja) * 2018-06-25 2020-01-09 川崎重工業株式会社 ロボット制御システム
JP7173765B2 (ja) 2018-06-25 2022-11-16 川崎重工業株式会社 ロボット制御システム
WO2021241397A1 (ja) * 2020-05-25 2021-12-02 ファナック株式会社 ロボットシステム
JP7436659B2 (ja) 2020-05-25 2024-02-21 ファナック株式会社 ロボットシステム

Also Published As

Publication number Publication date
US20060145647A1 (en) 2006-07-06
EP1693165A2 (en) 2006-08-23
EP1693165A3 (en) 2009-07-22
KR100802200B1 (ko) 2008-02-11
US7282882B2 (en) 2007-10-16
KR20060091719A (ko) 2006-08-21

Similar Documents

Publication Publication Date Title
JP2006187826A (ja) ロボットコントローラ
JP3577028B2 (ja) ロボットの協調制御システム
EP3342549B1 (en) Remote control robot system and method of operating the same
JP4382003B2 (ja) ロボット制御装置およびロボット制御方法
EP2594372B1 (en) Master-slave manipulator
JP6010776B2 (ja) ロボットシステムの制御方法およびロボットシステム
JP5346217B2 (ja) 多軸ロボット及びその速度制御装置
EP1704025B1 (en) Control system, method and computer program for sychronizing several robots.
JP5071361B2 (ja) 複腕ロボットの作業プログラム作成方法および複腕ロボット
JP6258043B2 (ja) 産業用ロボットを制御する制御システム、制御装置、溶接物製造方法およびプログラム
US20140288695A1 (en) Operating method for a positioning system
JP2007168053A (ja) 垂直多関節型ロボットのティーチング方法および産業用ロボット装置
WO2018066601A1 (ja) ロボットシステム及びその運転方法
WO2019208785A1 (ja) ロボットの教示方法及びロボットの教示システム
JP5545263B2 (ja) ロボットシステム及び被作業物の製造方法
CN111699079B (zh) 协调系统、操作设备和方法
JP3668821B2 (ja) ロボットコントローラおよびロボット制御方法
JP6057283B2 (ja) 多関節ロボット及び半導体ウェハ搬送装置
WO2021193905A1 (ja) ロボットシステムの制御方法
Shengzhong et al. Multi Robot Flexible Welding Control for Complex Environment Tasks
WO2019235314A1 (ja) 制御システム、制御システムの制御方法、および制御システムのプログラム
Park et al. Integration of an exoskeleton robotic system into a digital twin for industrial manufacturing applications
JP2014124733A (ja) ロボット制御装置及びロボットの制御方法
Bischoff et al. Flexible control of complex kinematic chains
JP2012045636A (ja) ロボットおよび補間方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100302