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

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

Info

Publication number
JP6659096B2
JP6659096B2 JP2015136125A JP2015136125A JP6659096B2 JP 6659096 B2 JP6659096 B2 JP 6659096B2 JP 2015136125 A JP2015136125 A JP 2015136125A JP 2015136125 A JP2015136125 A JP 2015136125A JP 6659096 B2 JP6659096 B2 JP 6659096B2
Authority
JP
Japan
Prior art keywords
control
joint
robot arm
full
semi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015136125A
Other languages
English (en)
Other versions
JP2016027951A5 (ja
JP2016027951A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015136125A priority Critical patent/JP6659096B2/ja
Publication of JP2016027951A publication Critical patent/JP2016027951A/ja
Publication of JP2016027951A5 publication Critical patent/JP2016027951A5/ja
Application granted granted Critical
Publication of JP6659096B2 publication Critical patent/JP6659096B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • 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/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • 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/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14016Triple plc's, processors and dual I-O, triple modular redundant
    • 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/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14126Redundant I-O points, two sensors, actuators for same point
    • 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/37Measurements
    • G05B2219/37325Multisensor integration, fusion, redundant
    • 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/39206Joint space position control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42318Using two, more, redundant measurements or scales to detect bad function
    • 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/45Nc applications
    • G05B2219/45071Aircraft, airplane, ship cleaning manipulator, paint stripping
    • 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
    • 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/09Closed loop, sensor feedback controls arm movement

Description

ロボットアームの関節を制御する制御方式として、セミクローズ制御またはフルクローズ制御を選択するロボット装置の制御方法、およびロボット装置に関するものである。
製品を製造する生産ラインにおいて、多関節のロボットアームと、ロボットアームの先端に設けられたエンドエフェクタとを有するロボットが用いられている。ロボットアームの関節機構は、ACサーボモータやDCブラシレスサーボモータ等のサーボモータと、高出力のトルクを得るためにサーボモータの出力側に設けられた減速機とを有し、リンク等の構造部材に接続されて構成されている。そして、減速機の入力側のモータの回転軸に直結されたロータリーエンコーダ(以下、「エンコーダ」という)で角度を検出し、検出結果に基づいて、ロボットアームの先端(ロボットの手先)の位置制御を行っている。この減速機の入力側のエンコーダでは、減速機のねじれやガタが検出されないため、ロボットアームの先端では位置誤差を生じる可能性がある。また、ロボットアームの姿勢やワーク質量が変わることでもロボットアーム先端の位置誤差となる。また、駆動系にはタイミングベルトや波動歯車減速機がよく使用されるが、この種の駆動系にはねじれやガタが存在し、ロボットアーム先端の位置誤差の一因となっている。
また、上記のロボットアーム先端の位置誤差を小さくできる構成として、減速機の出力軸にエンコーダを設けた構成が知られている。また、減速機の入力軸と出力軸の双方にエンコーダを備えたロボットも提案されており、出力軸のエンコーダ情報を使用する高精度モードと、使用しない高速モードとを備える構成が提案されている(例えば下記の特許文献1)。また、仕上げ加工と荒加工をする数値制御装置において、仕上げ加工時にはフルクローズ制御を行い、荒加工時にはセミクローズ制御を行う。このように要求精度によって、セミクローズ制御とフルクローズ制御を切り替える構成が提案されている(例えば下記の特許文献2)。
本明細書では、特許文献1の高精度モードと特許文献2のフルクローズ制御は技術的に同等とみなし、両方を含めフルクローズ制御と呼ぶものとする。また、特許文献1の高速モードと特許文献2のセミクローズ制御は技術的に同等とみなし、両方を含めセミクローズ制御と呼ぶものとする。
特開2011−176913号公報 特開昭62−184504号公報
上記の特許文献1、2などに示されたフルクローズ制御は、制御ループ中に減速機等の機構が存在するため、その影響でサーボ系が発振しやすくなってサーボゲインを小さくとる必要があり、動作速度が低下する傾向がある。一方、セミクローズ制御は、制御ループに減速機等の機構が少なく、サーボ系の発振が少ない。このため、サーボゲインを大きくとることができるため、高速な動作が可能な場合が多い。以上より、一般に同じ機構を制御する場合、精度はセミクローズ制御よりもフルクローズ制御がよい場合が多く、また、動作速度はフルクローズ制御よりもセミクローズ制御の方が速い場合が多い。
また、ロボットアームで作業する場合、複数の工程動作が必要であり、ユーザ要求精度を満足できる範囲であれば、なるべく多くの工程動作をセミクローズ制御した方がロボットアームの作業時間を短縮できる可能性が大きい。また、ロボットアームは複数の関節で構成されており、ユーザ要求精度を満足できる範囲であれば、なるべく多くの関節をセミクローズ制御した方がロボットアームの動作時間を短縮できる可能性が大きい。
本発明の課題は、ユーザ要求精度を満足する範囲でフルクローズ制御が必要な工程動作や関節を特定し、必要な場合のみフルクローズ制御を行い、セミクローズ制御の割合を多くすることによって、ロボット装置の作業時間を短縮することにある。
上記課題を解決するため、本発明においては、複数のリンクを関節で結合して成るロボットアームを備え、前記関節は、減速機を介して前記関節を駆動するモータと、前記減速機の入力側の駆動軸の角度を検出する入力側エンコーダと、前記減速機の出力側の駆動軸の角度を検出する出力側エンコーダと、を有するロボット装置の制御方法であって、前記入力側エンコーダにより角度を検出する第1検出工程と、前記出力側エンコーダにより角度を検出する第2検出工程と、制御装置によって、前記第1検出工程の検出結果に基づき関節の角度を制御するセミクローズ制御、または、前記第2検出工程の検出結果に基づき関節の角度を制御するフルクローズ制御のいずれを用いるかを選択して前記関節を制御する制御工程と、を備え、前記制御工程は、前記制御装置が、前記関節を前記セミクローズ制御によって制御して前記ロボットアームを動作させるテスト運転を複数回実行させるテスト運転工程と、前記制御装置が、前記複数回のテスト運転における前記出力側エンコーダの出力を用いて、特定点における前記ロボットアームの先端位置を評価し、その評価結果に基づき前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択する選択工程と、前記制御装置が、前記選択工程で選択した前記セミクローズ制御または前記フルクローズ制御により前記関節を制御して前記ロボットアームを動作させる実行工程と、を含む構成を採用した。
あるいは、複数のリンクを関節で結合して成るロボットアームを備え、前記関節は、減速機を介して前記関節を駆動するモータと、前記減速機の入力側の駆動軸の角度を検出する入力側エンコーダと、前記減速機の出力側の駆動軸の角度を検出する出力側エンコーダと、を有するロボット装置の制御方法であって、前記入力側エンコーダにより角度を検出する第1検出工程と、前記出力側エンコーダにより角度を検出する第2検出工程と、制御装置が、前記ロボットアームに実行させる作業内容に応じて前記関節の制御に前記入力側エンコーダの検出結果に基づき関節の角度を制御するセミクローズ制御または前記出力側エンコーダの検出結果に基づき関節の角度を制御するフルクローズ制御のいずれを用いるかを選択する選択工程と、前記制御装置が、前記選択工程で選択した前記セミクローズ制御または前記フルクローズ制御により前記関節を制御して前記ロボットアームに特定の動作を実行させる実行工程と、を含み、前記制御装置は、前記選択工程で、前記ロボットアームのエンドエフェクタで操作させる対象物に応じて、前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択する構成を採用した。
あるいは、減速機を介して関節を駆動するモータと、前記減速機の入力側の駆動軸の角度を検出する入力側エンコーダと、前記減速機の出力側の駆動軸の角度を検出する出力側エンコーダとを備えた関節により、複数のリンクを結合して成るロボットアーム備えたロボット装置であって、前記入力側エンコーダの検出結果に基づき関節の角度を制御するセミクローズ制御、または、前記出力側エンコーダの検出結果に基づき関節の角度を制御するフルクローズ制御のいずれを用いるかを選択して前記関節を制御する制御装置を備え、前記制御装置は、前記関節を前記セミクローズ制御によって制御して前記ロボットアームを動作させるテスト運転を複数回実行させ、前記複数回のテスト運転における前記出力側エンコーダの出力を用いて、特定点における前記ロボットアームの先端位置を評価し、その評価結果に基づき前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択し、選択した前記セミクローズ制御または前記フルクローズ制御により前記関節を制御して前記ロボットアームを動作させる構成を採用した。
あるいは、減速機を介して関節を駆動するモータと、前記減速機の入力側の駆動軸の角度を検出する入力側エンコーダと、前記減速機の出力側の駆動軸の角度を検出する出力側エンコーダとを備えた関節により、複数のリンクを結合して成るロボットアーム備えたロボット装置であって、前記ロボットアームに実行させる作業内容に応じて前記関節の制御に前記入力側エンコーダの検出結果に基づき関節の角度を制御するセミクローズ制御または前記出力側エンコーダの検出結果に基づき関節の角度を制御するフルクローズ制御のいずれを用いるかを選択し、選択した前記セミクローズ制御または前記フルクローズ制御を用いて前記関節を動作させ前記ロボットアームに特定の動作を実行させる制御装置を有し、前記制御装置は、前記ロボットアームのエンドエフェクタで操作させる対象物に応じて、前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択する構成を採用した。
上記構成によれば、ロボットアームの先端の位置の偏りまたはバラつきに関する評価結果に基づき、セミクローズ制御またはフルクローズ制御を選択する。あるいは、特定した前記ロボットアームに実行させる作業内容に応じてセミクローズ制御またはフルクローズ制御を選択する。このため、例えばユーザ要求精度を満たすために必要最小限な範囲でフルクローズ制御を選択し、セミクローズ制御の割合を大きくできる可能性が高い。したがって、ロボット装置の動作速度の劣化を小さくでき、ロボットの作業効率を大きく向上できる、という優れた効果がある。
実施例1に係るロボット装置を示す斜視図である。 ロボットアームの関節の駆動系を示し、(a)は関節の部分断面図、(b)は関節の制御系のブロック図である。 実施例1に係るロボット装置の制御装置の構成を示すブロック図である。 実施例1に係るロボット装置の要部構成を示した機能ブロック図である。 実施例1に係るロボット制御方法を示すフローチャート図である。 実施例2に係るロボット装置の要部構成を示した機能ブロック図である。 実施例2に係るロボット制御方法を示すフローチャート図である。 実施例3に係るロボット装置において、(a)は第2のワークに第1のワークを挿入させる挿入作業を示す説明図、(b)は第2のワークの構成を示した正面図である。 実施例3に係るロボット制御方法を示すフローチャート図である。 実施例3に係るロボット制御方法を示すフローチャート図である。 実施例4に係るロボット装置の先端部の動作軌跡を示した説明図である。 実施例4に係るロボット制御方法を示すフローチャート図である。 実施例4に係るロボット制御方法を示すフローチャート図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
実施例1では、ロボットアームの作業が複数の工程からなる場合、必要な工程のみをフルクローズ制御する構成について述べる。
(1)用語の説明
ここで、本明細書で用いる目標値、精度、ユーザ要求精度、偏り(かたより)、バラつき、の各用語の意味を説明しておく。ロボットアームを用いる場合、所望の目標位置(位置決め点ともいう)にロボットアームの先端位置を移動、あるいは停止させることが要求される。また、ロボットアームの関節に関しては、所望の目標角度に関節の角度(関節角度)を制御することが要求される。この目標の位置や姿勢に係る値、例えば座標値や角度値を「目標値」と呼ぶ。この「目標値」が問題とされるのは、主にロボットアームの先端位置の軌道、停止位置(位置決め点や教示点)や、関節角度などについてである。また、ロボット装置の実際の動作では、例えばロボットプログラムで定義した同じ動作を数回実行させた場合でも、ロボットアームの先端位置が占める実際の位置は或る範囲内で分布し、この分布を「精度」と呼ぶ。また、ユーザが必要とする「分布」(精度)を特にユーザ要求精度と呼ぶ。また、「精度」の中で、目標値と分布平均値の差を「偏り」、分布の幅を「バラつき」という。この「偏り」は、「正確度」などと表現される場合もある。また、「バラつき」は、例えば標準偏差を数倍した値や、ズレ量の最大値と最小値の差などの値により評価される。なお、特に精度に係る「バラつき」を評価するための統計的あるいは数学的な手法については公知であるため、以下ではその細部の説明については省略する。
(2)ロボット装置の構成の説明
図1は、本発明の実施例1に係るロボット装置を示す斜視図である。ロボット装置100は、ロボット200と、ロボット200の動作を制御する制御部としての制御装置300と、ユーザの操作によりロボット200の動作を教示する教示部としてのティーチングペンダント400と、を備えている。
ロボット200は、多軸の垂直多関節型のロボットアーム201と、ロボットアーム201の先端に取り付けられた、エンドエフェクタとしてのロボットハンド202を有している。
ロボットアーム201は、作業台に固定されるベース部210と、変位や力を伝達する複数のリンク211〜216とが関節J1〜J6で屈曲又は回転可能に連結されている。実施例1では、ロボットアーム201は、屈曲する3軸と回転する3軸の6軸の関節J1〜J6で構成されている。ここで、屈曲とは2つのリンクの結合部のある点で折れ曲がること、回転とは2つのリンクの長手方向の回転軸でリンクが相対的に回動することをいい、これらの動作を行う関節をそれぞれ屈曲部、回転部と呼ぶ。ロボットアーム201は、6つの関節J1〜J6から構成され、関節J1,J4,J6が回転部、関節J2,J3,J5が屈曲部である。
ロボットハンド202は、第6のリンク(先端リンク)216に結合され、第1のワークであるワークW1の組付け作業を行うエンドエフェクタであり、複数のフィンガー220を有する。複数のフィンガー220を閉動作させることによりワークW1を把持することができ、複数のフィンガー220を開動作させることによりワークW1を把持解放することができる。
ロボットアーム201は、各関節J1〜J6に対して設けられ、各関節J1〜J6をそれぞれ駆動する複数(6つ)の関節駆動部230を有している。なお、図1では、関節駆動部230は、便宜上、関節J2にのみ図示し、他の関節J1,J3〜J6には図示を省略しているが、他の関節J1,J3〜J6にも、同様の構成の関節駆動部230が配置されている。また、実施例1では、関節J1〜J6の全てが関節駆動部230で構成される場合について説明するが、関節J1〜J6のうち少なくとも1つが関節駆動部230で駆動されるよう構成されていればよい。
以下、関節J2における関節駆動部230を例に代表して説明し、他の関節J1,J3〜J6の関節駆動部230については、サイズや性能が異なる場合もあるが、同様の構成であるため、説明を省略する。
(3)関節J2における関節駆動部230の構成の説明
図2(a)は、ロボットアーム201の関節J2を示す部分断面図である。関節駆動部230は、電磁モータである回転モータ(以下、「モータ」という)231と、モータ231の回転軸232の回転を減速する減速機233とを有している。
また、関節駆動部230は、入力側角度検出部として、入力側エンコーダ235を有している。入力側エンコーダ235は、減速機233の入力側の駆動軸の角度を検出する。本実施例においては、入力側エンコーダ235は、モータ231の回転軸232および減速機233の入力軸のうちいずれか一方の軸、モータ231の回転軸232の回転角度を検出する。
また、関節駆動部230は、出力側角度検出部として、出力側エンコーダ236を有している。出力側エンコーダ236は、減速機233の出力側の駆動軸の角度を検出する。本実施例においては、出力側エンコーダ236は、減速機233の出力軸の回転角度を検出する。なお、図2(a)では不図示であるが、関節駆動部230は後述するモータ駆動装置を有する。また、モータ231は例えばサーボモータ、特にブラシレスDCサーボモータやACサーボモータから構成することができる。
入力側エンコーダ235は、アブソリュート型のロータリーエンコーダが望ましく、1回転の角度の絶対値を検出するエンコーダ、このエンコーダの回転総数のカウンタ、およびこのカウンタに電力を供給するバックアップ電池などから構成される。ロボットアーム201への電源の供給がオフになっても、このバックアップ電池が有効であれば、ロボットアーム201への電源供給のオン/オフに関係なく、カウンタにおいて回転総数が保持される。このような構成により、例えば電源断の期間を狭んでも、ロボットアーム201の姿勢が制御可能となる。なお、入力側エンコーダ235は、回転軸232に取り付けられているが、減速機233の入力軸に取り付けてもよい。
出力側エンコーダ236は、ベース部210とリンク211、あるいは隣り合う2つのリンク間の相対角度を検出するロータリーエンコーダである。関節J2においては、出力側エンコーダ236は、リンク211とリンク212との間の相対角度を検出するロータリーエンコーダである。出力側エンコーダ236は、リンク211にエンコーダスケールを設け、リンク212に検出ヘッドを設けた構成(あるいはその逆の構成)である。また、リンク211とリンク212とは、クロスローラベアリング237を介して回転自在に結合される。
モータ231は、モータカバー238で覆われて保護されている。モータ231と入力側エンコーダ235との間には、不図示のブレーキユニットが設けられる。このブレーキユニットの主な機能は電源オフ時のロボットアーム201の姿勢の保持である。
実施例1では、減速機233は例えば小型軽量で減速比の大きい波動歯車減速機によって構成する。この減速機233は、モータ231の回転軸232に結合された、入力軸であるウェーブジェネレータ241と、リンク212に固定された、出力軸であるサーキュラスプライン242と、を備えている。なお、サーキュラスプライン242は、リンク212に直結されているが、リンク212に一体に形成されていてもよい。
また、減速機233は、ウェーブジェネレータ241とサーキュラスプライン242との間に配置されリンク211に固定されたフレクスプライン243を備えている。このフレクスプライン243は、ウェーブジェネレータ241の回転に対して減速比Nで減速され、サーキュラスプライン242に対して相対的に回転する。従って、モータ231の回転軸232の回転は、減速機233で1/Nの減速比で減速されて、フレクスプライン243が固定されたリンク211に対してサーキュラスプライン242が固定されたリンク212を相対的に回転運動させ、関節J2を屈曲させる。
上記の構成では入力側エンコーダ235と出力側エンコーダ236を設けているため、入力側角度検出部をフィードバックするセミクローズ制御と、出力側角度検出部をフィードバックするフルクローズ制御のいずれかを選択して用いることができる。
図2(b)は、上記の入力側エンコーダ235と出力側エンコーダ236を用いて関節J2のモータ231の動作を制御する関節駆動制御部360(図4)の構成を示している。図2(b)では、後述の制御装置300(図3)のプログラム320に基づくCPU301の機能をブロック化して図示し、ロボットアーム201の関節J2をブロック化して図示している。後述の制御装置300は、各関節に対応する関節駆動制御部360の機能を有している。図2(b)では、関節駆動制御部360の関節J2に係る部分のみを図示しているが、関節駆動制御部360は他の関節J1,J3〜J6についてもそれぞれ対応する構成を有するものとする。
次に、関節駆動制御部360について説明する。制御切替部341は、入力軸制御部342および出力軸制御部343のどちらを機能させるかを、後述の運転モード選択部350(図4)が選択した運転モードに応じて切り替える。具体的には、制御切替部341は、入力軸制御へ切り替える指令を受けた場合は入力軸制御部342を機能させる(セミクローズ制御)。また、制御切替部341は、出力軸制御へ切り替える指令を受けた場合は出力軸制御部343を機能させる(フルクローズ制御)。
入力軸制御部342は、入力側エンコーダ235の値で関節を制御する。つまり、入力軸制御部342は、入力側エンコーダ235からの角度情報を参照して位置制御を行う。出力軸制御部343は、出力側エンコーダ236の値で関節を制御する。つまり、出力軸制御部343は、出力側エンコーダ236からの角度情報を参照して位置制御を行う。
出力軸制御部343で制御する出力制御モードの場合は、減速機233の弾性やガタの影響を低減できるため、先端精度を確保することができる。一方、入力軸制御部342で制御する入力制御モードの場合は、減速機233の弾性等により先端精度が低化する。しかし、減速機233の弾性の作用によって、出力軸制御部343で制御する場合よりコンプライアンス量が大きく、例えば部品挿入時のコンプライアンス(追従)性が大きい。
(4)制御装置300の構成の説明
図3は、ロボット装置100の制御装置300の構成を示すブロック図である。制御装置300は、制御部(演算部)としてのCPU(Central ProcessingUnit)301を備えている。また、制御装置300は、記憶部として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304を備えている。
CPU301には、ROM302、RAM303、HDD304、記録ディスクドライブ305および各種のインタフェース311〜315が、バス316を介して接続されている。ROM302には、BIOS等の基本プログラムが格納されている。RAM303は、CPU301の演算処理結果等、各種データを一時的に記憶する記憶装置である。
HDD304は、CPU301の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU301に、後述する各種演算処理を実行させるためのプログラム320を記録するものである。CPU301は、HDD304に記録(格納)されたプログラム320に基づいてロボット制御方法の各工程を実行する。記録ディスクドライブ305は、記録ディスク321に記録された各種データやプログラム等を読み出すことができる。
教示部であるティーチングペンダント400は、インタフェース311に接続されている。ティーチングペンダント400は、ユーザの入力操作により、ロボット200を教示する教示点、即ち各関節J1〜J6の目標関節角度(角度指令値)を指定するものである。教示点のデータ(教示データ)は、インタフェース311およびバス316を通じてCPU301又はHDD304に出力される。CPU301は、ティーチングペンダント400またはHDD304から教示データの入力を受ける。
入力側エンコーダ235は、インタフェース312に接続され、出力側エンコーダ236は、インタフェース313に接続されている。これらのエンコーダからは、検出した角度検出値を示すパルス信号が出力される。CPU301は、インタフェース312,313およびバス316を介して各エンコーダからのパルス信号の入力を受信する。
表示部である表示装置(モニタ)500は、インタフェース314に接続されており、CPU301の制御に従って画像を表示する。
インタフェース315には、モータ駆動装置251が接続されている。CPU301は、教示データに基づきモータ231の回転軸232の回転角度の制御量を指定する駆動指令のデータを所定時間間隔でバス316およびインタフェース315を介してモータ駆動装置251に出力する。
モータ駆動装置251は、CPU301から入力を受けた駆動指令に基づき、モータ231への電流の出力量を演算し、モータ231へ電流を供給して、関節J1〜J6の関節角度制御を行う。モータ駆動装置251は、関節J1〜J6それぞれに対応して設けられ、例えば、図2では省略しているが、各関節J1〜J6に配置されている。そして、モータ231は、モータ駆動装置251から電力供給を受けて駆動トルクを発生し、減速機233の入力軸であるウェーブジェネレータ241にトルクを伝達する。減速機233において、出力軸であるサーキュラスプライン242は、ウェーブジェネレータ241の回転に対して1/Nの回転数で回転する。これにより、リンク212がリンク211に対して相対的に回転する。即ち、CPU301は、モータ駆動装置251を介して、関節J1〜J6の関節角度が目標関節角度となるように、モータ231による関節J1〜J6の駆動を制御する。
なお、バス316には、不図示のインタフェースを介して、着脱式のフラッシュメモリや外付けHDD等の不図示の外部記憶装置が接続されていてもよい。これらの記憶装置は、例えばROM302やHDD304に格納した後述の制御プログラムを書き換えたり更新したりするために利用することができる。
(5)制御装置300の機能
図4は、実施例1に係るロボット装置の要部構成を示した機能ブロック図である。制御装置300においては、CPU301がプログラム320を実行することにより実現される機能をブロック化して図示している。制御装置300の制御機能は大きく分けて運転モード選択部350と関節駆動制御部360(図2(b))からなる。図4においては、ロボットアーム201の関節J1〜J6をそれぞれ361〜366の参照符号により示している。
運転モード選択部350の機能は、把持対象判定部351、テスト運転制御部352、偏り補正計算を行う補正計算部353、バラつき判定部354、工程動作判定部355の各機能からなる。
運転モード選択部350を構成する把持対象判定部351は、ロボットの作業内容、特にロボットハンド202の把持対象の違いによってフルクローズ制御を必要とするか否かを判断する。
ここで作業内容、特にロボットハンド202の把持対象によって、セミクローズ制御とフルクローズ制御を選択する可能性につき考察する。例えば、ここではケーブル付の電動ドライバをロボットハンド202で把持して作業する場合を考える。このような作業内容は、セミクローズ制御よりも、フルクローズ制御の方が適していると考えられる。例えば、ケーブル付の電動ドライバでは、ケーブルからの張力や振動によりロボットアームへ外力を加えることになる。このような作業では、セミクローズ制御の場合、ケーブルからに張力や振動等に外力によって減速機のガタやねじれで先端位置が移動し、停止位置や軌道が変わる可能性がある。このようにロボットへ不規則な外力が加わる場合、ユーザ要求精度を確保できなくなる可能性があるため、セミクローズ制御ではなくフルクローズ制御が必要となる。
また、同一形状で材質の異なる複数のワークが混在する場合、比重の違いにより質量が異なり、停止位置や軌道が変わり、ユーザ要求精度を確保するためには、セミクローズ制御ではなくフルクローズ制御が必要となる。また、ワークによっては、内部にスライダー機構を有するものなどがあり、このようなワークでは、移動、姿勢変化、加減速などの操作状況によってその重心位置は変化し、一定の位置に定まらない。このように把持対象であるワーク重心位置が定まらない場合もセミクローズ制御ではなくフルクローズ制御が必要となる。
把持対象判定部351では、以上のような作業内容や把持対象の違いによって、把持対象によりセミクローズ制御とフルクローズ制御の選択を行う。このセミクローズ制御とフルクローズ制御の選択を行うには、例えばフルクローズ制御が必要な作業内容や把持対象を記憶領域に予め登録する。例えば、作業内容に関しては、フルクローズ制御が必要な作業内容、セミクローズ制御が可能な作業内容、あるいはその他の不明な作業内容、のように分類して登録する。また、把持対象に関しては、例えばフルクローズ制御が必要な把持対象、セミクローズ制御が可能な把持対象、あるいはその他の不明な把持対象、のように分類して登録する。ここでフルクローズ制御が必要な把持対象(あるいは作業内容として)として分類すべきなのは、例えば前述の電動ドライバのような把持対象である。そして、これから開始する作業内容やその把持対象の種別を示すコードを用いてメモリの登録内容を参照し、セミクローズ制御とフルクローズ制御のいずれを選択すべきかを決定する。このようなセミクローズ制御とフルクローズ制御の選択を行うためのテーブルメモリないしデータベースは、ROM302やHDD304の記憶領域上に配置することができる。また、把持対象判定を上記のように登録するだけでなく、ユーザが随時指定できるようなユーザインターフェースを設けてもよい。
テスト運転制御部352の機能は、セミクローズ制御かフルクローズ制御の選択を行うためのテスト運転を制御する。また、テスト運転制御部352の機能によって、対象動作を複数回実行させる。この対象動作とは、ロボット装置100をオンライン状態にして実行させる実際の作業内容と同じものである。
テスト運転では、ロボット装置100の据え付けの状態はもちろん、ロボットアーム201の軌道、その軌道上の中間点や最終の停止位置は、実工程制御においてロボット装置100をオンライン状態にして実行させる実際の作業内容と同じに制御される。また、テスト運転では、ロボットハンド202で把持させる対象物も、実工程制御においてロボット装置100をオンライン状態にして実行させる実際の作業内容と同じである。なお、実工程制御は、例えば後述の図5のステップS9の処理に相当する。
また、本実施例のテスト運転は、複数回実行させ、その各々において、関節J1〜J6をセミクローズ制御によって制御して特定の動作をロボットアームに行わせる。そして、複数回のテスト運転における各関節J1〜J6の出力側エンコーダ(236)の出力値を後で評価できるようRAM303の所定領域に記憶する。また、実行したテスト運転におけるロボットアーム201の目標位置や軌道も後で評価できるようRAM303の所定領域に記憶される。
本実施例では、このようにしてセミクローズ制御によって実行したテスト運転における出力側エンコーダ(236)の出力値を記録する。従って、テスト運転における出力側エンコーダ236の出力から、テスト運転中の特定点におけるロボットアーム201の先端位置を評価することができる。このロボットアーム201の先端位置は、通常、ロボット制御において用いられるロボットアームの基準位置であって、例えばエンドエフェクタ(ロボットハンド202)の装着面の中心などが用いられる。ロボットアーム201の先端位置の評価とは、後述のように特定点における先端位置の偏りやバラつきに関する評価であり、この評価結果に基づきセミクローズ制御またはフルクローズ制御のいずれを用いるかを選択することができる。また、上記評価を行う特定点としては、ロボットアーム201の先端位置を移動させる目標の位置決め点を用いることができる。あるいは後述の実施例4におけるように、上記特定点として、ロボットアーム201の先端位置を移動させる目標の位置決め点に至る軌道上の中間点を用いることもできる。
また、オンライン動作でセミクローズ制御を用いるよう選択した場合、テスト運転における出力側エンコーダ(236)の出力値を用いてセミクローズ制御において用いる各関節J1〜J6の駆動量の補正値を生成する。
また、補正計算部353の機能によって、テスト運転結果から停止位置や軌道の偏りを計算するとともに、その偏りを低減する補正値を計算する。この補正値で指令値の補正を行えば、偏りは極めて小さくできる。また、バラつき判定部354の機能は、テスト運転から停止位置や軌道のバラつきを求め、そのバラつきがユーザ要求精度を満足するか否かを判断し、満足しない場合はフルクローズ制御を選択する。
工程動作判定部355の機能は、ロボット装置100に実行させる作業内容のうち、例えば工程動作の内容、例えばそのスケールなどによって、フルクローズ制御が必要か否かを判断する。例えば、要求される作業に必要な動作量が微小なため、ロボットアーム201の関節の減速機のガタやヒステリシスの領域に関節の駆動角度を制御しなければならない場合がある。このような状況では、ガタやヒステリシスの領域ではロボットアーム201の先端位置の再現性が小さいのでバラつきが大きくなり、セミクローズ制御ではユーザの要求範囲外となる可能性がある。従って、例えば目標の位置姿勢においてロボットアーム201の関節の駆動角度がガタとヒステリシス領域にある場合はフルクローズ制御を選択する。このように、工程動作判定部355では、把持の工程動作、例えばそのスケールなどに応じて、によりセミクローズ制御とフルクローズ制御の選択を行う。
このように工程動作からセミまたはフルクローズ制御の選択を行うには、上記と同様に工程動作の種別や内容とセミまたはフルクローズ制御をそれぞれ関係づけたテーブルメモリないしデータベースをROM302やHDD304の記憶領域上に用意しておく。工程動作の種別や内容は、その工程動作におけるロボットアーム201の軌跡、移動量、目標の位置姿勢などによって表現することができ、その各々にセミまたはフルクローズ制御をそれぞれ関係づけて登録することができる。
また、関節駆動制御部360(図2(b))の機能によって、運転モードとして選択したセミクローズ制御またはフルクローズ制御のいずれかの制御方式でロボットアーム201の関節361〜366(J1〜J6)を制御する。
CPU301は、ティーチングペンダント400で教示中の、あるいは既に教示済みであり、例えばHDD304などに格納されているロボットプログラムの内容からロボットアーム201に実行させる作業内容を特定することができる。そして、作業内容、特にロボットハンド202の把持対象や、工程動作によってセミまたはフルクローズ制御を選択することができる。
(6)ロボット制御方法の各工程の説明
図5を参照して、本実施例においてCPU301がプログラム320を実行することによりロボット200の動作を制御するためのロボット制御方法について説明する。図5は本実施例において、セミクローズ制御またはフルクローズ制御を選択する制御手順を示している。本実施例では、ロボットアーム201の関節361〜366全体について、セミクローズ制御またはフルクローズ制御を選択する制御を行う。
図5の制御手順はCPU301の制御プログラムとして、例えばROM302やHDD304に格納しておくことができる。図5の制御手順は、ティーチングペンダント400で行われるロボットアーム201の教示に伴なって、あるいは既に教示操作によりプログラム済みのロボットプログラムに対して実行される。CPU301は、ティーチングペンダント400で教示中の、あるいは既に教示済みであり、例えばHDD304などに格納されているロボットプログラムの内容からロボットアーム201に実行させる作業内容を特定する。例えば図5(図9、図12でも同様)のフローチャートでは明示的に作業内容の特定工程を示していないが、CPU301は当該のロボットプログラムが処理対象として特定された時点で、作業内容に係る把持対象や工程動作を認識することができる。
図5のステップS1、S2は、図4の把持対象判定部351の機能に相当する。まず、ステップS1では、ティーチングペンダント400から教示中の、あるいは教示済みのロボットプログラムにおける当該の把持対象の種類を入力する(把持対象入力工程)。前述のように、セミクローズ制御とフルクローズ制御の選択に係る把持対象の種類としては、フルクローズ制御が必要な把持対象、セミクローズ制御が可能な把持対象、あるいはその他の不明な把持対象がある。把持対象の種類の入力の方法としては、上記のようにロボットプログラムの内容によって特定したり、ティーチングペンダント400を介してユーザが逐一指定する方法が考えられる。
また、ロボット200にカメラなどの視覚系が設けられている場合、画像処理で認識する方法を用いてもよい。例えば、ロボットハンド202で扱う把持対象のワークに上記の把持対象の種類(あるいはその把持対象に係るセミクローズ制御またはフルクローズ制御)を識別可能なマークを施しておく。このマークはタックシールやステッカー貼付など任意の手法によって付すことができる。そして例えばロボットアーム201などに設けたカメラによりこれから把持するワークの画像を撮像し、得られた画像に対して画像認識を行い、上記の把持対象の種類を入力する。また、マークを用いず、把持対象のワークの特徴部位を画像認識することによって上記の把持対象の種類を入力することもできる。
次に、ステップS2において、ステップS1で入力(あるいは認識)された把持対象に応じてフルクローズ制御が必要か否かを判断する(把持対象による判断工程)。ステップS2では、ROM302やHDD304に配置した上記のテーブルメモリないしデータベースを参照し、把持対象からフルクローズ制御が必要か否かを判定する。ステップS2でフルクローズ制御が必要と判断した場合はステップS3で当該の工程動作についてフルクローズ制御を選択する。また、ステップS2でセミクローズ制御が可能、あるいは、不明と判断した場合はステップS4に進む。
なお、ステップS3でフルクローズ制御を選択する場合には、関節ごとにセミクローズ制御またはフルクローズ制御を選択する制御(例えば後述の実施例2)を行うことができる。
ステップS4は図4の工程動作判定部355の機能に相当する。このステップS4では、教示中の、あるいは教示済みのロボットプログラムにおける当該の工程動作の種別によって、フルクローズ制御が必要か否かを判断する(工程動作による判断工程)。上述のようにヒステリシスやガタの影響の大きい領域を用いてロボットアーム201の軌道や移動を制御しなければならない工程動作は再現性が小さく、バラつきの大きい動作の場合が多い。ステップS4では、ROM302やHDD304に配置した上記のテーブルメモリないしデータベースを参照する。そして、工程動作の種別や内容、すなわち工程動作におけるロボットアーム201の軌跡、移動量、目標の位置姿勢などからフルクローズ制御が必要か否かを判定する。ステップS4でフルクローズ制御が必要と判断した場合は、ステップS3で当該の工程動作についてフルクローズ制御を選択する。セミクローズ制御が可能、あるいは、不明と判断した場合はステップS5に進む。
ステップS5は図4のテスト運転制御部352の機能に相当する。ステップS5では、教示中の、あるいは教示済みのロボットプログラムにおける当該の工程動作を複数回、実行する(第1のテスト運転工程)。このテスト運転は、ロボットアーム201の先端位置の精度、即ち、偏り、またはバラつきを求めるためのもので、これらの値を求めるのに当該の工程動作が必要な回数繰返し実行される。このテスト運転では、当然ながら、当該の工程動作におけるのと同じエンドエフェクタ(ロボットハンド202)とワークが用いられる。また、このテスト運転時には、ロボット200をセミクローズ制御で運転し、出力側エンコーダ236(図2)の出力値を記憶する。
ステップS5に続くステップS51は図4のバラつき判定部354の機能に相当する。ステップS51では、ステップS5で記録した出力側エンコーダ236の出力値を用いて計算したロボットアーム201の先端位置のバラつきからフルクローズ制御が必要か否かを判断する(バラつきによる判断工程)。ここで求めたバラつきがユーザ要求精度を超える場合は、ステップS3に移行し、当該の工程動作につき、フルクローズ制御を選択する。
ステップS6は、図4のテスト運転制御部352の機能に相当するものであるが、このステップでは、図4の補正計算部353の機能が用いられ、ロボットアーム201の先端位置を補正した上、ステップS5と同様にテスト運転を行う。ここでは、ステップS6では、ステップS5で記録した出力側エンコーダ236の出力値を用いて計算したロボットアーム201の先端位置の偏りを補正して、セミクローズ制御で該当の工程動作を複数回、実行する(第2のテスト運転工程)。この時、補正計算部353による補正では、ステップS5のテスト運転で得られたロボットアーム201の先端位置の偏りを使用し、目標値と偏りが一致するようにロボットアーム201に対する指令値を補正する。これにより、ステップS6で関節駆動制御部360に与えられる指令値は、目標値を補正した値となる。なお、特定点におけるロボットアーム201の先端位置は、出力側エンコーダ236(図2)から得た各関節の角度から順運動学を解くことで求めることができる。また、偏りは、例えばステップS5の複数回のテスト運転のロボットアーム201の先端位置の平均と目標値の差として算出することができる。
ステップS6では、上記の補正計算部353によってロボットアーム201に対する指令値を補正した上で複数回のテスト運転を行い、そのテスト運転における出力側エンコーダ236の出力値を介して、さらにその時の各関節の回転角度の偏りを求める。この偏りを補正することで、ロボットアーム201の先端位置の偏りを低減することができる。なお、ステップS6の複数回のテスト運転の各々では、所定値以上に偏りが大きい場合には、偏りが小さくなるよう補正値を変更していく制御を行うようにしてもよい。また、精度の良い補正を行うために、ステップS5とステップS51を複数回繰り返しても良い。
ステップS7では、次に、ステップS6の補正込みで行ったテスト運転工程におけるロボットアームの精度がユーザ要求精度以内かを判断する(ユーザ要求精度確認工程)。すなわち、ステップS6のテスト運転に関して、再度、ロボットアーム201の先端位置の精度(偏り、またはバラつき)を求める。そして、ロボットアームの先端位置の精度(偏り、またはバラつき)がユーザ要求精度範囲以内か否かを判断する。ステップS7において、ユーザ要求精度を満足しない場合は、ステップS3に移行して、当該の動作工程に関してフルクローズ制御を選択する。一方、ユーザ要求精度を満足する場合はステップS8でセミクローズ制御を選択する。
ステップS3またはステップS8でフルクローズ制御またはセミクローズ制御が選択されると、ステップS9で制御装置300は実工程制御を行う。ステップS9の実工程制御では、制御装置300は、当該のロボット制御プログラムによって定義された作業内容をロボットアーム201に実行させる。なお、実工程制御(ステップS9)で、セミクローズ制御でロボット200を制御する場合は、当然ながらステップS6のテスト運転で決定した最終の補正値を用いてセミクローズ制御を行う。
(7)実施例1の効果
以上のように、本実施例によれば、把持対象の種別、および工程動作の種別や内容、すなわち、工程動作におけるロボットアーム201の軌跡、移動量、目標の位置姿勢などに応じてセミクローズ制御またはフルクローズ制御を選択することができる。さらに、テスト運転を実行して、特定点におけるロボットアーム201の先端位置の精度がユーザ要求精度であるか否かを判断し、セミまたはフルクローズ制御を選択することができる。特にある一連の作業について、複数の工程動作がある場合、その各々の工程動作に関して本実施例の制御を行うことによって、フルクローズ制御で行う工程動作の数を最小限にできるため、複数の工程動作から成る全体の時間を短縮することができる。また、セミクローズ制御に関しては、テスト動作により偏りを求め、この偏り誤差を相殺するようロボットアーム201の関節駆動制御部360に与える指令値を補正するようにしている。このため、セミクローズ制御が選択される場合でも、偏り誤差を大幅に小さくできる。しかも、セミクローズ制御に関してはロボットアーム先端の精度がユーザ要求精度以内に収まるよう制御が行われ、ユーザ要求精度を満足しない場合はフルクローズ制御が選択される。このため、ロボット制御は、最終的にユーザ要求精度を満足できる範囲で実行することができる。なお、上記の制御は、フルクローズ制御で達成できる精度が、ユーザ要求精度よりも高精度であるようなハードウェア仕様において好適に実施することができる。
実施例1の制御方法は、ロボットアーム201の全ての関節に関して、セミクローズ制御またはフルクローズ制御を選択するものである。実施例1の制御方法によりフルクローズ制御が選択されると、全ての関節をフルクローズ制御することになるため、動作速度の劣化が大きくなる可能性がある。
例えば、図1で示したロボットアーム201はシリアルリンク機構のため、ある関節の動作や動作に伴う振動が他の関節の外乱となる可能性がある。また、フルクローズ制御は振動的になりやすいため、整定に時間がかかってロボット200の動作が遅くなりやすい。フルクローズ制御する関節を少なくすれば、動作速度の劣化を小さくできる可能性がある。本実施例では、関節毎にフルクローズ制御とセミクローズ制御を選択し、フルクローズ制御の関節を少なくできるよう制御する。
なお、本実施例においては、ハードウェアおよびソフトウェアに係る図1〜図3の構成は同様であるものとする。また、本実施例以降の各実施例でも同様であるが、既に説明済みの構成部材については同一の参照符号を用い、特に必要な場合を除き、重複した説明は省略するものとする。
(1)制御装置300の構成の説明
図6は図4に相当する様式で本実施例に係るロボット装置の要部構成を示している。図4との比較において、図6では関節選択部370の機能が追加されているのが実施例1との違いである。
関節選択部370の機能は、実施例1の制御(図5)によりフルクローズ制御が選択された場合に後述の図7に示すように作用させる。また、実施例1の制御(図5)によりセミクローズ制御が選択された場合は、前述同様に全ての関節をセミクローズ制御するように関節駆動制御部360へ指令する。
さらに詳細には、関節選択部370の機能は、バラつき影響ランキング部371、関節制御判断部372と、テスト運転制御部373の各機能から構成される。関節選択部370のテスト運転制御の機能をテスト運転制御部373で示しているのは、運転モード選択部350のテスト運転制御部352の機能と区別するためである。このうち、テスト運転制御部352の機能は図5の制御で実現され、テスト運転制御部373のテスト運転制御の機能は後述の図7によって制御で実現される。
また、バラつき影響ランキング部371の機能は、後述のテスト運転(図7のS13:第3のテスト運転工程、テスト運転制御部373の機能に相当)に基づき、関節J1〜J6のバラつきの影響度をランキングする。ここで、ランキングとは、順位付けのことである。バラつき影響ランキング部371では、各関節角のバラつきを先端位置のバラつきに換算し、この大小により、関節J1〜J6を影響の大きい順にランキング(順位付け)する。各関節のバラつきの、ロボットアーム201の先端位置バラつきへの換算は、当該の工程動作における姿勢から順運動学的な演算を行うことにより可能である。すなわち、テスト運転を行えば、特定の関節のバラつきを実測でき、実測したバラつきをロボットアーム201の先端位置バラつきに換算することができる。このロボットアーム201の先端位置バラつきの大小によって、関節J1〜J6を影響の大きい順にランキングすることができる。ランキング結果は、例えばリンクトリストや配列形式で確保されたメモリ領域上にCPU301が記録することができる。そのためのメモリ領域は、例えばRAM303上などに確保すればよい。
そして、関節制御判断部372の機能によって、テスト運転(図7のS17:第4のテスト運転工程、テスト運転制御部373の機能に相当)を複数回行い、最も影響の大きい関節から順次、フルクローズ制御を選択していくよう制御する。
(2)ロボット制御方法の各工程の説明
図7を参照して、本実施例においてCPU301がプログラム320を実行することによりロボット200の動作を制御するためのロボット制御方法について説明する。図7の制御手順は、実施例1における図5のステップS3でフルクローズ制御が選択された場合に実行するもので、図5のステップS3を置換するよう記述されている。
まず、図7のステップS11では、関節角の偏りを補正する目的で、該当の動作を複数回、セミクローズ制御によるテスト運転を行う(第3のテスト運転工程)。この機能は、図6のテスト運転制御部373の機能に相当する。
次に、ステップS12において、関節J1〜J6ごとに関節角の偏りを求め、各関節の補正量を求める(補正計算工程)。この機能は、図6の補正計算部353の機能に相当する。
続いて、ステップS13で、当該の工程動作を複数回、補正量を反映したセミクローズ制御によってテスト運転を行う(第4のテスト運転工程)。この機能は、図6のテスト運転制御部373の機能に相当する。
ステップS14では、ステップS13のテスト運転の結果に基づき、関節J1〜J6の各関節のバラつきを求める。そして、この各関節のバラつきをロボットアーム201の先端位置のバラつきに換算する。このロボットアーム201の先端位置のバラつきへの換算は、該当動作の姿勢から順運動学的に算出することで行える。そして、ステップS15では、ステップS14で求めた先端バラつきの大小により、先端バラつきの大きい関節から順にランキング(順位付け)を行う(バラつきランキング工程)。このステップS14、およびS15の機能は、図6のバラつき影響ランキング部371の機能に相当する。
ステップS16では、ステップS15で求めたバラつきのランキング結果に基づき、フルクローズ制御が未選択の関節の中から、最も影響の大きい関節を1つ選択し、この関節についてフルクローズ制御を選択する(関節のフルクローズ制御追加)。ここで、残りの関節のうち、まだフルクローズ制御が選択されていないものについては、セミクローズ制御を選択した状態とする。
そして、ステップS17において、当該する工程動作を複数回繰り返すテスト運転を実行する(第5のテスト運転工程)。
ステップS18では、ステップS17のテスト運転の結果を解析し、先端位置精度がユーザ要求精度以内かを判断する(精度判断工程)。ユーザ要求精度を満足する場合は、図7の制御手順を終了する。また、明示的に図示していないが、ステップS18では既に全ての関節についてフルクローズ制御が選択されているか否かを判定し、既に全ての関節についてフルクローズ制御が選択されている場合も処理を終了する。一方、ユーザ要求精度を満足しない場合は、ステップS16に戻って上記のランキング結果から影響度の大きい次の(まだフルクローズ制御が選択されていない)関節を1つ選択し、この関節についてフルクローズ制御を選択する。
ステップS18でユーザ要求精度を満足する結果が得られた場合は、関節J1〜J6のうちロボットアーム201の先端バラつきに関して影響度の大きい関節のいくつかのみがフルクローズ制御となる。そして残りの関節については、セミクローズ制御が選択されることになる。
(3)実施例2の効果
以上のように、実施例1の制御によって把持対象や工程動作の内容によって(補正込みの)セミクローズ制御を選択できなかった場合、ロボットアーム201の先端位置のバラつきに関して影響度の大きい関節から順にフルクローズ制御を選択できる。その場合、セミクローズ制御のテスト運転から求めた各関節のバラつきを先端位置バラつきに換算し、先端位置バラつきの影響度の大きな関節からランキングし、さらにテスト運転を行いながらバラツキの大きい関節から順次フルクローズ制御を選択する。そして、全ての関節でフルクローズ制御が選択されるか、ユーザ要求精度が得られた時点で制御を終了する。以上のようにして、フルクローズ制御する関節の数を少なくできる可能性が高まり、ロボット装置の動作速度の劣化を小さくすることができる。
本実施例では、ロボットアーム201先端の移動に関して、必要な精度方向を考慮しフルクローズ制御とセミクローズ制御を選択する。ロボット200を用いた組立等の作業においては、ロボットアーム201先端の移動方向によって必要とされる精度が異なる場合がある。
例えば、図8(a)は、ロボット200が、ワークW20に設けた長円形状の長穴に対して、ロボットハンド202で把持したワークW1を挿入する作業を行う様子を示している。図8(a)のロボット200の構造は、図1のロボット200のものと同じである。
図8(a)のワークW20は、その正面図を図8(b)に示すように、例えば半円弧形状のスリーブW21、W22で両端を囲まれた長円形状の長穴を中央に有している。ワークW1は、ワークW20の長穴へ嵌め合わされる円筒状の部品である。このように長穴に円筒状の部品を基本とする嵌合構造においては、一般に長穴の長手方向よりも短手方向の位置決め精度が厳しい。
このため、図8(a)のような嵌合操作をロボット200に行わせる場合、ロボットアーム201先端の位置決め精度は上記の長穴の長手方向に対しては比較的低精度、短手方向にはそれよりも高い精度が要求される傾向がある。以下では、図8(a)において、より精度の必要な方向を第1方向(上記長穴の短手方向に対応)、次に精度が必要な方向を第2方向という(上記長穴の長手方向に対応)。ユーザ要求精度に関しても、第1方向のユーザ要求精度と第2方向のユーザ要求精度がある。
そこで、本実施例においては、ロボットアーム201を動作させる空間における異なる方向に関するバラつきを計算し、各方向に関して計算されたバラつきに関してそれぞれ異なるユーザ要求精度を用いる。上記の第1方向および第2方向に関して異なる制御を行なう制御手順は、下記の(1)および(2)に示すように、実施例1の変形例として、および実施例2の変形例としての構成が考えられる。
(1)実施例1の変形例として
実施例3を実施例1の変形例として適用する場合は図9のような制御手順となる。図9の制御手順では、実施例1と同様に、ロボットアーム201の全ての関節に関して一括してセミクローズ制御またはフルクローズ制御のいずれかを選択する制御を行う。その際、セミクローズ制御でのテスト運転に関しては上記の第1方向と第2方向の精度に関して異なる判断を行う。図2、図3の構成は本実施例でも同様であるものとする。図9は、本実施例の制御手順を説明するもので、実施例1の図5に相当し、図5と同一のフローには同一のステップ番号を付し、その詳細な説明は省略するものとする。
また、図9の制御手順で対象とするロボット200の作業内容は、図8(a)、(b)に示した作業内容であるものとする。そして、ロボットアーム201の先端位置の制御について、上記の第1方向(ワークW20の長穴の短手方向に対応)に関するユーザ要求精度は、第2方向という(ワークW20の長穴の長手方向に対応)に関するユーザ要求精度より高いものとする。
図9のステップS1〜S6までは図5の制御手順と同じ処理を実行する。ステップS6では、ステップS5で求めた偏りを補正して、セミクローズ制御で該当の工程動作を複数回、実行する(第2のテスト運転工程)が、続くステップS31、S32では上記の第1方向および第2方向に関して、それぞれ異なる判定を行う。
すなわち、ステップS31では、第1方向について、テスト運転(S6)における偏りとバラつきを求め、ロボットアーム201先端の位置決め精度がユーザ要求精度以内かを判断する(第1方向のユーザ要求精度確認工程)。ここでユーザ要求精度を満足しない場合は、ステップS3に移行し、各関節の制御方式としてフルクローズ制御を選択する。一方、ユーザ要求精度を満足する場合はステップS32に進む。
ステップS32では、同様に第2方向について、テスト運転(S6)における偏りとバラつきを求め、ロボットアーム201先端の位置決め精度がユーザ要求精度以内かを判断する(第2方向のユーザ要求精度確認工程)。ここでユーザ要求精度を満足しない場合は、ステップS3に移行し、各関節の制御方式としてフルクローズ制御を選択する。一方、ユーザ要求精度を満足する場合はステップS8に進み、各関節の制御方式としてセミクローズ制御を選択する。
ステップS3またはステップS8で関節の制御方式が選択された後、実施例1と同様にステップS9で実工程制御が行われる。図9のステップS8でセミクローズ制御が選択される場合は、実施例1の場合と同様に、実工程制御(S9)では、テスト運転(S6)において用いられたものと同じ補正量が各関節J1〜J6の制御に適用される。
(2)実施例2の変形例として
実施例3を実施例2の変形例として適用する場合は図10のような制御手順となる。図10の制御手順では、実施例2の図7と同様に、図5のステップS3を置換する処理として、ロボットアーム201の関節ごとにセミまたはフルクローズ制御のいずれかを選択する制御を行う。その場合、上記の第1方向および第2方向に関してユーザ要求精度に係る判定を行ない、同精度を満足しない場合にはランキング上でロボットアーム201の先端位置のバラつきに関して影響の大きい関節からフルクローズ制御に切り換えていく。
また、図10の制御手順で対象とするロボット200の作業内容は、図8(a)、(b)に示した作業内容であるものとする。そして、ロボットアーム201の先端位置の制御について、上記の第1方向(ワークW20の長穴の短手方向に対応)に関するユーザ要求精度は、第2方向という(ワークW20の長穴の長手方向に対応)に関するユーザ要求精度より高いものとする。
図10のステップS11〜S13までは図7の制御手順と同じ処理を実行する。図10のステップS34〜S38、およびステップS39〜S43は、図7のステップS14〜S18に相当する。図10のステップS34〜S38、およびステップS39〜S43が、図7と異なるのは、各々図7のステップS14〜S18の処理を上記の第1方向と第2方向のユーザ要求精度について行う点である。
まず、ステップS34では、ステップS13のテスト運転結果から、関節J1〜J6の各関節のバラつきを求める。そして、この各関節のバラつきを第1方向に関するロボットアーム201の先端位置バラつきに換算する。このアーム先端バラつきへの換算は、該当動作の姿勢から順運動学的に算出し、第1方向へ幾何学的に変換することにより可能である。そして、ステップS35では、ステップS34で求めた先端バラつきの大小により、先端バラつきの大きい関節から順にランキング(順位付け)を行う(第1方向のバラつきランキング工程)。
ステップS36では、ステップS35で求めたバラつきのランキング結果に基づき、影響の大きい関節を1つ選択し、この関節についてフルクローズ制御を選択する(第1方向の関節のフルクローズ制御追加工程)。ここで、残りの関節のうち、まだフルクローズ制御が選択されていないものについては、セミクローズ制御を選択した状態とする(第1方向の関節のフルクローズ制御追加工程)。
そして、ステップS37において、当該する工程動作を複数回繰り返すテスト運転を実行する(第6のテスト運転工程)。
ステップS38では、ステップS37のテスト運転の結果を解析し、第1方向に関する先端位置精度がユーザ要求精度以内かを判断する(第1方向の精度判断工程)。ここでユーザ要求精度を満足する場合は、ステップS39に移行する。また、明示的に図示していないが、ステップS38では既に全ての関節についてフルクローズ制御が選択されているか否かを判定し、既に全ての関節についてフルクローズ制御が選択されている場合は図10の処理を終了する。一方、ユーザ要求精度を満足しない場合は、ステップS36に戻り上記のランキング結果から第1方向に関する先端位置精度が影響度の大きい次の(まだフルクローズ制御が選択されていない)関節を1つ選択し、フルクローズ制御を選択する。
ステップS39〜S43では、上記のステップS34〜S38と同様の処理を上記の第2方向の先端位置精度について実行する。まず、ステップS39では、第2方向について、関節ごとにロボットアーム201の先端位置を計算し、その関節のバラつきを計算する(第2方向の先端位置バラつき計算工程)。
次に、ステップS40では、ステップS39で求めたロボットアーム201の先端位置のバラつきの大小により、先端位置のバラつきの大きい順序でランキング(順位付け)を行う(第2方向のバラつきランキング工程)。
そして、ステップS41では、S40で求めたバラつきのランキングから、より影響の大きい関節のフルクローズ制御を一関節追加する(第2方向の関節のフルクローズ制御追加工程)。続いてステップS42で該当する動作を複数回繰り返すテスト運転を実行する(第7のテスト運転工程)。
さらにステップS43では、ステップS42のテスト運転の結果を解析し、第2方向に関するロボットアーム201の先端位置精度がユーザ要求精度以内かを判断する(第2方向の精度判断工程)。ここでユーザ要求精度を満足する場合は処理を終了し、ユーザ要求精度を満足しない場合は、ステップS41に戻ってフルクローズ制御する関節を追加する。また、ステップS43で全ての関節でフルクローズ制御が選択された場合は、処理を終了する。
(3)実施例3の効果
以上のように、実施例1ないし実施例2の制御を行う場合に、ユーザ要求精度の異なる第1方向および第2方向に関してそれぞれ精度判定を行い、セミまたはフルクローズ制御を選択する。フルクローズ制御を行うか否かは図9の制御手順では全関節について判定される。また、図10の制御手順では第1方向および第2方向に関してそれぞれ先端位置バラつきの影響度の大きな関節のランキング順で、フルクローズ制御が選択されていく。そして、第1方向および第2方向に関してユーザ要求精度が満足された時点で処理を終了する。このような制御により、ユーザ要求精度の異なる第1方向および第2方向に関してロボットアーム201の先端位置の精度を満たした上で、可能な限りセミクローズ制御を選択でき、フルクローズ制御する関節の数を少なくすることができる。これによってロボット装置100の動作速度の劣化を小さくできる。
なお、以上では、本実施例においてユーザ要求精度が異なる方向を第1方向と第2方向として説明したが、ユーザ要求精度が異なる方向が3つ以上あっても上記同様の制御を行うことができる。具体的には、図9および図10において、第1方向と第2方向に係る処理を行うステップS31、S32や、ステップS34〜S38、S39〜S43を3つ以上の対象方向分だけ用意すればよい。
上記の実施例1〜3では、特定の工程動作における特定点、例えば最終位置である位置決め点においてロボットアーム201の先端位置のバラつきの評価や、ユーザ要求精度の判定を行い、セミまたはフルクローズ制御を選択するものとした。
しかしながら、工程動作によっては、ロボットアーム201(の先端位置)を特定の軌道で動作させる場合、すなわち、作業内容によっては軌道の途中の中間点におけるバラつきや、ユーザ要求精度を重視したい場合もある。従って、上記特定点としては、位置決め点のみならず、軌道の途中の中間点を採用した制御も考えられる。一般的に任意の軌道を得るためには、始点と位置決め点(終点)、及び、一つ以上の中間点を指定し、これらの点を滑らかに通過するように軌道生成が行われる。後述する中間点の補正では、中間点に最も接近する点を評価対象として処理される。
本実施例では、位置決め点のみならず、軌道の途中の中間点におけるバラつきや、ユーザ要求精度に応じてセミクローズ制御またはフルクローズ制御を選択する制御手順を示す。本実施例では、実施例3と同様、図12および図13に制御手順のみを示し、その他の構成は実施例1、実施例2と同様であるものとする。
図11は本実施例のロボットアーム201の先端の動作軌跡の一例を示している。図11の軌跡は、ロボットアーム201の先端を開始点P0から中間点P1を経由して、位置決め点P2に位置決めするものである。実施例1〜実施例3では、最終的な位置決め点P2におけるバラつきや精度に応じてセミクローズ制御とフルクローズ制御を切り換えていた。しかしながら、工程動作によっては中間点の精度が必要な場合もある。本実施例では、位置決め点P2のみならず中間点P1におけるバラつきや精度に応じてセミクローズ制御またはフルクローズ制御を選択する。
(1)実施例1の変形例として
実施例4を実施例1の変形例として適用する場合は図12のような制御手順となる。図12の制御手順では、実施例1と同様に、ロボットアーム201の全ての関節に関して一括してセミまたはフルクローズ制御のいずれかを選択する制御を行う。その際、位置決め点P2のみならず中間点P1におけるバラつきや精度に応じてセミクローズ制御またはフルクローズ制御を選択する。図12は本実施例の制御手順を説明するもので、実施例1の図5に相当し、図5と同一のフローには同一のステップ番号を付し、その詳細な説明は省略するものとする。なお、図12の制御手順で対象とするロボット200の作業内容は、例えば図1に示した作業内容であるものとする。
図12のステップS1〜S5までは図5の制御手順と同じ処理を実行する。本実施例ではステップS51’とS52が実施例1と異なる。
ステップS51’では、テスト運転(S5)における動作時の中間点P1および位置決め点P2でのロボットアーム201先端のバラつきを求めて、バラつきが所定値以内であればステップS6へ進む。また、中間点P1または位置決め点P2でのバラつきが所定値を超えている場合にはステップS3に移行し、各関節の制御方式としてフルクローズ制御を選択する(中間点を考慮した判断工程)。なお、この場合、中間点P1と位置決め点P2についてそれぞれ許容するバラつきは同一でなくても良く、使用状況によって例えばティーチングペンダント400などから個別に設定してよい。
続いて、実施例1のステップS6と同様に、補正込みのテスト運転を行う(第2のテスト運転工程)。そしてステップS52において、中間点P1と位置決め点P2におけるロボットアーム201先端の位置決め精度がユーザ要求精度以内であればステップS8でセミクローズ制御を選択する。
一方、ステップS52において、中間点P1と位置決め点P2におけるロボットアーム201先端の位置決め精度がユーザ要求精度を満足しない場合はステップS3に移行し、各関節の制御方式としてフルクローズ制御を選択する(中間点を考慮した判断工程)。
以上のようにして、ステップS3またはステップS8でフルクローズ制御またはセミクローズ制御が選択された後、ステップS9で実工程制御が行われる。なお、図12のステップS8でセミクローズ制御が選択されている場合は、実工程制御(S9)では、実施例1の場合と同様にテスト運転(S6)において用いられたものと同じ補正量が各関節J1〜J6の制御に適用される。
以上のようにして、本実施例によれば、中間点P1に対しても所定のユーザ要求精度を満足した上で、可能な限りセミクローズ制御でロボット制御を行える可能性を高めることができる。
(2)実施例2の変形例として
実施例4を実施例2の変形例として適用する場合は図13のような制御手順となる。図13の制御手順では、実施例2の図7と同様に、図5のステップS3を置換する処理として、ロボットアーム201の関節ごとにセミクローズ制御またはフルクローズ制御のいずれかを選択する制御を行う。その場合、位置決め点P2のみならず中間点P1におけるロボットアーム201の先端位置の精度(バラつきや偏り)に応じてセミクローズ制御またはフルクローズ制御を選択する制御を行う。バラつきのランキング(順位付け)は、例えば位置決め点P2のみならず中間点P1におけるロボットアーム201の先端位置のバラつきに関して行う。そして、ユーザ要求精度に係る判定を行ない、同精度を満足しない場合にはランキング上でロボットアーム201の先端位置のバラつきに関して影響の大きい関節からフルクローズ制御に切り換えていく。なお、図13の制御手順で対象とするロボット200の作業内容は、例えば図1に示した作業内容であるものとする。
図13の例えばステップS61〜S64は、図7のステップS11〜S14に対応する処理であるが、図13では細部に異なる点もあるので60番台のステップ番号を用いている。
まず、図13のステップS61では、関節角の偏りを補正する目的で開始点P0から中間点P1を経由し、位置決め点P2までの該当の動作を複数回行なうよう、セミクローズ制御によるテスト運転を実施する(第8のテスト運転工程)。
次に、ステップS62において関節毎に関節角の偏りを求め、各関節J1〜J6の補正量を求める(補正計算工程)。この時、補正量は開始点P0から中間点P1への移動、および中間点P1から位置決め点P2への移動で異なるものとなることが多い。
ステップS63では、該当の動作を複数回行うよう、ステップS62の補正量を反映したセミクローズ制御によってテスト運転を実施する(第9のテスト運転工程)。
次にステップS64では、S63のテスト運転結果において、各関節J1〜J6の関節角のバラつきを求める。次に各関節のバラつきから、ロボットアーム201の先端位置バラつきを計算する。前述同様、ロボットアーム201の先端位置のバラつきの換算は、該当動作の姿勢から順運動学的な演算により行うことができる。
ステップS65では、ロボットアーム201の先端位置のバラつきを中間点P1、位置決め点P2でそれぞれ求め、中間点P1、位置決め点P2において大きい方の値を該当関節のロボットアーム201の先端位置のバラつきほ補正量として求める。
続いて、ステップS66ではロボットアーム201の先端位置のバラつきの大小により、ロボットアーム201の先端位置のバラつきの大きい関節から順にランキング(順位付け)を行う(バラつきランキング工程)。
ステップS67では、ステップS66で求めたバラつきのランキング結果に基づき、影響の大きい関節を1つ選択し、この関節についてフルクローズ制御を選択する(関節のフルクローズ制御追加工程)。そして、ステップS68において、当該の工程動作を複数回繰り返すテスト運転を実施する(第10のテスト運転工程)。
ステップS69では、ステップS68のテスト運転におけるバラつきを解析し、先端位置精度がユーザ要求精度以内かを判断する(精度判断工程)。ユーザ要求精度を満足する場合は、図13の制御手順を終了する。ユーザ要求精度を満足しない場合は、ステップS67に戻って上記のランキング結果から影響度の大きい次の(まだフルクローズ制御が選択されていない)関節を1つ選択し、この関節についてフルクローズ制御を選択する。また、ステップS68では既に全ての関節についてフルクローズ制御が選択されているか否かを判定し、既に全ての関節についてフルクローズ制御が選択されている場合も処理を終了する。
(3)実施例4の効果
本実施例によれば、位置決め点(P2)のみならず、中間点(P1)を含めた特定点においてロボットアーム201の先端位置のバラつき、および精度に係る判定を行い、セミまたはフルクローズ制御のいずれかを選択する制御を行うことができる。セミまたはフルクローズ制御の選択は、全関節について(図12)または、関節ごとに(図13)行なわれる。特に、関節ごとの選択制御(図13)では、セミクローズ制御のテスト運転から求めた各関節のバラつきを先端位置バラつきに換算し、先端位置バラつきの影響度の大きい関節からランキングし、バラツキの大きい関節から順次フルクローズ制御を選択する。そしてユーザ要求精度を満足するよう関節毎にフルクローズ制御とセミクローズ制御を選択する。以上のようにして、本実施例によれば、中間点P1に対しても所定のユーザ要求精度を満足した上で、可能な限りセミクローズ制御でロボット制御を行える可能性を高めることができる。しかも、ロボット装置100に求められるユーザ要求精度を満足した上で、同時にフルクローズ制御する関節の数を少なくできるため、動作速度の劣化を小さくできる。
本実施例の制御に加え、実施例3で説明したように、中間点と位置決め点においてロボットアーム201の先端位置を評価し、ユーザが必要とする第1の方向と第2の方向の要求精度を満足させる制御を行ってもよい。例えば、図12では、ステップS51’、S52において、中間点と位置決め点においてロボットアーム201の先端位置のバラつきを評価する場合、図9のステップS31、S32に示したように複数の異なる方向に関するバラつきを評価する。また、図13の場合は、ステップS64〜S69の制御を、図10のステップS34〜S38、S39〜S43に示したように異なる方向についてそれぞれ行うようにする。このような制御によって、中間点においても異なる方向について異なるユーザ要求精度を適用する必要が場合、フルクローズ制御する関節の数を少なくできる場合がある。また、図11〜図13の説明では中間点が1つの場合を説明したが、出力側エンコーダ236によってロボットアーム201の先端位置を評価すべき中間点が2つ以上ある場合でも、図12、図13の処理は実施可能である。
以上、4つの実施例を示したが、本発明は以上説明した実施例に限定されるものではなく、本発明の技術的思想の範囲内で多くの変形が可能である。
例えば、上記各実施例では、フルクローズ制御を選択した場合は、例えば始点から停止位置までの間、フルクローズ制御を用いるよう制御する。しかしながら、ロボットアームの先端位置を目標の位置決め点まで移動させるその途中の軌道では精度を必要としない場合も考えられる。その場合には、途中の軌道では関節の制御にセミクローズ制御を選択する。そして、ロボットアームの先端位置が目標の位置決め点に到達する手前でセミクローズ制御からフルクローズ制御へ切り換えるようにしてもよい。
上記各実施例では、入力側エンコーダ235、出力側エンコーダ236がロータリーエンコーダである場合について説明したが、これらのエンコーダはロータリーエンコーダに限定されるものではない。入力側エンコーダ235、出力側エンコーダ236は各軸の回転角度を検出できるものであれば、どのような形式の素子を用いてもよく、例えばレゾルバ等を用いてもよい。
また、上記各実施例では、関節を駆動する減速機が波動歯車減速機である場合について説明したが、減速機は波動歯車減速機に限定されるものではない。波動歯車減速機以外の減速機であって、出力軸にトルクが作用した際に弾性変形やガタ等により出力軸が変位する減速機であれば本発明に適用可能である。
また、上記各実施例では、ロボットアームが垂直多関節型の場合について説明したが、これに限定するものではなく、ロボットアームが水平多関節型の場合についても本発明を実施することができる。
また、上記各実施例では、エンドエフェクタがロボットハンドである場合について説明したが、これに限定するものではなく、エンドエフェクタがワークに対して他の作業を施すツールであっても本発明は実施することができる。
また、上記各実施例では、回転モータの駆動力を減速機へ直接伝達する場合について説明したが、これに限定するものではなく、間接的に伝達する手段、例えば回転モータの回転軸の回転を、減速機の入力軸にベルトで伝達する場合であってもよい。この場合、入力側エンコーダは、回転モータの回転軸又は減速機の入力軸のどちらの回転角度を検出するようにしてもよい。
また、上記実施例の各処理動作は具体的にはCPU301により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体を制御装置300に供給し、制御装置300のコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施例の機能を実現することになり、プログラム自体およびそのプログラムを記録した記録媒体は本発明を構成することになる。
また、上記実施例では、コンピュータ読み取り可能な記録媒体がHDD304であり、HDD304にプログラム320が格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図3に示すROM302、記録ディスク321、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、書き換え可能な不揮発性のメモリ(例えばUSBメモリ)、ROM等を用いることができる。また、上記実施例におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施例の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施例の機能が実現される場合も含まれる。
また、上記実施例では、コンピュータがHDD等の記録媒体に記録されたプログラムを実行することにより、画像処理を行う場合について説明したが、これに限定するものではない。プログラムに基づいて動作する制御部の一部又は全部の機能をASICやFPGA等の専用LSIで構成してもよい。なお、上記のASICはApplication Specific Integrated Circuit、FPGAはField−Programmable Gate Arrayの頭字語である。
200…ロボット、201…ロボットアーム、202…ロボットハンド(エンドエフェクタ)、230…関節駆動部、231…回転モータ、233…減速機、235…入力側エンコーダ(入力側角度検出部)、236…出力側エンコーダ(出力側角度検出部)、301…CPU(制御部)、320…プログラム、400…ティーチングペンダント、J1〜J6…関節。

Claims (21)

  1. 複数のリンクを関節で結合して成るロボットアームを備え、前記関節は、減速機を介して前記関節を駆動するモータと、前記減速機の入力側の駆動軸の角度を検出する入力側エンコーダと、前記減速機の出力側の駆動軸の角度を検出する出力側エンコーダと、を有するロボット装置の制御方法であって、
    前記入力側エンコーダにより角度を検出する第1検出工程と、
    前記出力側エンコーダにより角度を検出する第2検出工程と、
    制御装置によって、前記第1検出工程の検出結果に基づき関節の角度を制御するセミクローズ制御、または、前記第2検出工程の検出結果に基づき関節の角度を制御するフルクローズ制御のいずれを用いるかを選択して前記関節を制御する制御工程と、を備え
    前記制御工程は、
    前記制御装置が、前記関節を前記セミクローズ制御によって制御して前記ロボットアームを動作させるテスト運転を複数回実行させるテスト運転工程と、
    前記制御装置が、前記複数回のテスト運転における前記出力側エンコーダの出力を用いて、特定点における前記ロボットアームの先端位置を評価し、その評価結果に基づき前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択する選択工程と、
    前記制御装置が、前記選択工程で選択した前記セミクローズ制御または前記フルクローズ制御により前記関節を制御して前記ロボットアームを動作させる実行工程と、を含むことを特徴とするロボット装置の制御方法。
  2. 前記制御工程は、ロボットアームの先端の位置の偏りまたはバラつきに関する評価結果に基づき、セミクローズ制御またはフルクローズ制御のいずれを用いるかを選択することを特徴とする請求項1に記載のロボット装置の制御方法。
  3. 前記ロボットアームは複数の関節を備えており、前記制御工程による選択が前記関節毎に行われることを特徴とする請求項1または2に記載のロボット装置の制御方法。
  4. 前記制御装置は、前記実行工程で前記関節の制御に前記セミクローズ制御を用いる場合、前記複数回のテスト運転における出力側エンコーダの出力を用いて、前記特定点における前記ロボットアームの先端位置の偏りを計算し、この偏りを補正する補正値を作用させた駆動量を用いて前記関節をセミクローズ制御することを特徴とする請求項に記載のロボット装置の制御方法。
  5. 前記制御装置は、前記選択工程で、複数のテスト運転における出力側エンコーダの出力を用いて計算した前記特定点における前記ロボットアームの先端位置のバラつきに基づき、前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択することを特徴とする請求項に記載のロボット装置の制御方法。
  6. 前記制御装置は、前記選択工程で、複数のテスト運転における前記関節の出力側エンコーダの出力を用いて計算した前記関節の関節角度のバラつきを前記特定点における前記ロボットアームの先端位置のバラつきに換算し、当該のバラつきがユーザ要求精度を満足する場合は前記関節の制御に前記セミクローズ制御を用いるよう選択し、当該のバラつきがユーザ要求精度を満足しない場合は前記関節の制御に前記フルクローズ制御を用いるよう選択することを特徴とする請求項に記載のロボット装置の制御方法。
  7. 前記制御装置は、前記選択工程で、前記特定点における前記ロボットアームの先端位置のバラつきを計算する場合、前記ロボットアームを動作させる空間における異なる方向に関するバラつきを計算し、各方向に関して計算されたバラつきに関してそれぞれ異なるユーザ要求精度を用いることを特徴とする請求項に記載のロボット装置の制御方法。
  8. 前記ロボットアームが複数の前記関節を有し、前記制御装置は、前記選択工程で、前記複数回のテスト運転における各関節の出力側エンコーダの出力を用いて計算した各関節の関節角度のバラつきを前記特定点における前記ロボットアームの先端位置のバラつきに換算し、前記特定点におけるユーザ要求精度に応じて特定の関節の制御に前記セミクローズ制御ではなく前記フルクローズ制御を選択する場合は、前記先端位置のバラつきに対する影響度の大きい関節から順次フルクローズ制御を選択することにより、各関節ごとに前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択することを特徴とする請求項に記載のロボット装置の制御方法。
  9. 前記特定点が、前記ロボットアームの先端位置を移動させる目標の位置決め点であることを特徴とする請求項1ないし8のいずれか1項に記載のロボット装置の制御方法。
  10. 前記特定点が、前記ロボットアームの先端位置を移動させる目標の位置決め点に至る軌道上の中間点であることを特徴とする請求項1ないし9のいずれか1項に記載のロボット装置の制御方法。
  11. 複数のリンクを関節で結合して成るロボットアームを備え、前記関節は、減速機を介して前記関節を駆動するモータと、前記減速機の入力側の駆動軸の角度を検出する入力側エンコーダと、前記減速機の出力側の駆動軸の角度を検出する出力側エンコーダと、を有するロボット装置の制御方法であって、
    前記入力側エンコーダにより角度を検出する第1検出工程と、
    前記出力側エンコーダにより角度を検出する第2検出工程と、
    制御装置が、前記ロボットアームに実行させる作業内容に応じて前記関節の制御に前記入力側エンコーダの検出結果に基づき関節の角度を制御するセミクローズ制御または前記出力側エンコーダの検出結果に基づき関節の角度を制御するフルクローズ制御のいずれを用いるかを選択する選択工程と、
    前記制御装置が、前記選択工程で選択した前記セミクローズ制御または前記フルクローズ制御により前記関節を制御して前記ロボットアームに特定の動作を実行させる実行工程と、を含み、
    前記制御装置は、前記選択工程で、前記ロボットアームのエンドエフェクタで操作させる対象物に応じて、前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択することを特徴とするロボット装置の制御方法。
  12. 前記ロボットアームは複数の関節を備えており、前記選択工程による選択は前記関節毎に行われることを特徴とする請求項11に記載のロボット装置の制御方法。
  13. 前記制御装置は、前記選択工程で前記対象物が前記ロボットアームに不規則な外力を加える対象物である場合にフルクローズ制御を選択することを特徴とする請求項11に記載のロボット装置の制御方法。
  14. 前記制御装置は、前記選択工程で前記対象物として同一形状で材質が異なる複数の対象物が混在する場合にフルクローズ制御を選択することを特徴とする請求項11に記載のロボット装置の制御方法。
  15. 前記制御装置は、前記選択工程で前記対象物が前記エンドエフェクタで操作することによりその重心位置が変化する対象物である場合にフルクローズ制御を選択することを特徴とする請求項11に記載のロボット装置の制御方法。
  16. 前記制御装置は、前記選択工程で、前記関節の関節角度の目標値が前記関節を構成する機構が有するガタまたはヒステリシス領域にある場合にフルクローズ制御を選択することを特徴とする請求項11ないし15のいずれか1項に記載のロボット装置の制御方法。
  17. 前記制御装置は、前記選択工程でフルクローズ制御を選択し、かつロボットアームの先端位置を目標の位置決め点まで移動させるその途中の軌道では精度を必要としない場合には、前記実行工程において、前記途中の軌道では前記関節の制御に前記セミクローズ制御を選択し、ロボットアームの先端位置が目標の位置決め点に到達する手前でセミクローズ制御からフルクローズ制御へ切り換えることを特徴とする請求項11ないし16のいずれか1項に記載のロボット装置の制御方法。
  18. 請求項1から17のいずれか1項に記載の制御方法を、前記制御装置が読み込むことで実行可能にさせることを特徴とするロボット装置の制御プログラム。
  19. 請求項18に記載のロボット装置の制御プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
  20. 減速機を介して関節を駆動するモータと、前記減速機の入力側の駆動軸の角度を検出する入力側エンコーダと、前記減速機の出力側の駆動軸の角度を検出する出力側エンコーダとを備えた関節により、複数のリンクを結合して成るロボットアーム備えたロボット装置であって、
    前記入力側エンコーダの検出結果に基づき関節の角度を制御するセミクローズ制御、または、前記出力側エンコーダの検出結果に基づき関節の角度を制御するフルクローズ制御のいずれを用いるかを選択して前記関節を制御する制御装置を備え、
    前記制御装置は、
    前記関節を前記セミクローズ制御によって制御して前記ロボットアームを動作させるテスト運転を複数回実行させ、
    前記複数回のテスト運転における前記出力側エンコーダの出力を用いて、特定点における前記ロボットアームの先端位置を評価し、その評価結果に基づき前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択し、
    選択した前記セミクローズ制御または前記フルクローズ制御により前記関節を制御して前記ロボットアームを動作させる、ことを特徴とするロボット装置。
  21. 減速機を介して関節を駆動するモータと、前記減速機の入力側の駆動軸の角度を検出する入力側エンコーダと、前記減速機の出力側の駆動軸の角度を検出する出力側エンコーダとを備えた関節により、複数のリンクを結合して成るロボットアーム備えたロボット装置であって、
    前記ロボットアームに実行させる作業内容に応じて前記関節の制御に前記入力側エンコーダの検出結果に基づき関節の角度を制御するセミクローズ制御または前記出力側エンコーダの検出結果に基づき関節の角度を制御するフルクローズ制御のいずれを用いるかを選択し、選択した前記セミクローズ制御または前記フルクローズ制御を用いて前記関節を動作させ前記ロボットアームに特定の動作を実行させる制御装置を有し、
    前記制御装置は、前記ロボットアームのエンドエフェクタで操作させる対象物に応じて、前記関節の制御に前記セミクローズ制御または前記フルクローズ制御のいずれを用いるかを選択する、ことを特徴とするロボット装置。
JP2015136125A 2014-07-09 2015-07-07 ロボット装置の制御方法、およびロボット装置 Active JP6659096B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015136125A JP6659096B2 (ja) 2014-07-09 2015-07-07 ロボット装置の制御方法、およびロボット装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014141634 2014-07-09
JP2014141634 2014-07-09
JP2015136125A JP6659096B2 (ja) 2014-07-09 2015-07-07 ロボット装置の制御方法、およびロボット装置

Publications (3)

Publication Number Publication Date
JP2016027951A JP2016027951A (ja) 2016-02-25
JP2016027951A5 JP2016027951A5 (ja) 2018-08-16
JP6659096B2 true JP6659096B2 (ja) 2020-03-04

Family

ID=53717883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015136125A Active JP6659096B2 (ja) 2014-07-09 2015-07-07 ロボット装置の制御方法、およびロボット装置

Country Status (3)

Country Link
US (1) US9815202B2 (ja)
EP (1) EP2965875A3 (ja)
JP (1) JP6659096B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6652292B2 (ja) * 2015-09-24 2020-02-19 キヤノン株式会社 制御方法、制御プログラム、ロボットシステム、回転駆動装置の制御方法、およびロボット装置
JP6752576B2 (ja) * 2016-01-13 2020-09-09 キヤノン株式会社 駆動機構、ロボット装置、駆動機構の制御方法、ロボット装置の制御方法、物品の製造方法、制御プログラム、記録媒体、及び支持部材
US20180257806A1 (en) * 2016-04-10 2018-09-13 Van Loi Le Label printer applicator system
CN105751211B (zh) * 2016-04-23 2019-02-01 上海大学 一种柔性杆驱动的曲率连续变化机器人及其控制方法
WO2018093703A1 (en) * 2016-11-21 2018-05-24 Wal-Mart Stores, Inc. Robotic user interface puck support apparatus and method of use
JP6895242B2 (ja) * 2016-11-25 2021-06-30 株式会社東芝 ロボット制御装置、ロボット制御方法及びピッキング装置
JP6834528B2 (ja) * 2017-01-25 2021-02-24 オムロン株式会社 制御装置、制御プログラムおよび制御システム
JP6499701B2 (ja) * 2017-03-30 2019-04-10 ファナック株式会社 ロボット
JP2018202589A (ja) * 2017-06-09 2018-12-27 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
DE102017211301A1 (de) * 2017-07-04 2019-01-10 Bayerische Motoren Werke Aktiengesellschaft Überwachungsvorrichtung und Verfahren zum Betreiben einer Überwachungsvorrichtung
JP6763846B2 (ja) * 2017-11-24 2020-09-30 ファナック株式会社 ロボットの教示操作を行う教示装置および教示方法
JP6652310B2 (ja) * 2018-01-15 2020-02-19 キヤノン株式会社 ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法
CN108748157B (zh) * 2018-06-12 2020-08-21 北京机械设备研究所 一种用于空间机械臂关节驱动的控制装置及方法
CN108687786A (zh) * 2018-08-15 2018-10-23 安徽星宇生产力促进中心有限公司 一种机器人用自动感应制动装置及其使用方法
CN109623823B (zh) * 2018-12-29 2022-02-08 达闼机器人有限公司 逆解计算偏置机械臂关节角度值的方法、装置及计算设备
JP7381204B2 (ja) 2019-01-29 2023-11-15 ファナック株式会社 ロボット
JP6989540B2 (ja) * 2019-01-29 2022-01-05 ファナック株式会社 ロボット
CN110370271B (zh) * 2019-04-30 2020-09-25 杭州亿恒科技有限公司 工业串联机器人的关节传动比误差校准方法
JP7414426B2 (ja) * 2019-08-20 2024-01-16 ファナック株式会社 ロボットシステム
JP2021070096A (ja) * 2019-10-30 2021-05-06 キヤノン株式会社 制御方法、制御装置、ロボット装置、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、制御プログラムおよび記録媒体
CN111053613B (zh) * 2019-12-10 2020-10-13 联博智能科技有限公司 一种运动追踪方法、装置、机械臂及计算机可读存储介质
CN111818596B (zh) * 2020-05-21 2022-04-08 蓓安科仪(北京)技术有限公司 一种基于5g的医用机器人通信质量优化方法
WO2022118760A1 (ja) 2020-12-02 2022-06-09 ファナック株式会社 ロボットを用いた3dプリンタ及びロボットの制御装置
CN114310882B (zh) * 2021-12-23 2023-10-27 达闼机器人股份有限公司 执行器电机端的位置确定方法、装置、设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6235904A (ja) * 1985-08-08 1987-02-16 Toshiba Mach Co Ltd 不感帯を有する機械系の制御方法
JPS62184504A (ja) * 1986-02-10 1987-08-12 Fanuc Ltd 数値制御装置
JPS63167912A (ja) * 1986-12-29 1988-07-12 Nec Corp サ−ボ制御装置
US5214749A (en) * 1991-06-12 1993-05-25 Massachusetts Institute Of Technology Dynamic control of a robot with its center of mass decoupled from an end effector by a redundant linkage
JPH0593624U (ja) * 1992-05-22 1993-12-21 株式会社アマダ タレットパンチプレスの制御装置
JPH11272335A (ja) * 1998-03-25 1999-10-08 Sony Corp 位置決め制御方法とその装置
US6256555B1 (en) * 1998-12-02 2001-07-03 Newport Corporation Robot arm with specimen edge gripping end effector
JP2005301508A (ja) 2004-04-08 2005-10-27 Fanuc Ltd 制御装置
JP5544857B2 (ja) * 2009-12-11 2014-07-09 株式会社ニコン 駆動装置、駆動方法、及び装置
JP5645423B2 (ja) 2010-02-23 2014-12-24 キヤノン株式会社 回転駆動装置及びロボットアーム
JP5488494B2 (ja) 2011-02-23 2014-05-14 株式会社安川電機 ロボットシステム
CN103563238B (zh) * 2011-06-03 2016-03-23 株式会社安川电机 多轴电动机驱动系统和多轴电动机驱动装置
JP5961021B2 (ja) * 2012-03-30 2016-08-02 株式会社デンソーウェーブ ロボットの制御システム
JP6053424B2 (ja) * 2012-09-25 2016-12-27 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
CN103809590B (zh) * 2012-11-08 2016-08-24 沈阳新松机器人自动化股份有限公司 一种搬运装置行走位置控制系统

Also Published As

Publication number Publication date
US9815202B2 (en) 2017-11-14
US20160008983A1 (en) 2016-01-14
EP2965875A3 (en) 2016-06-29
EP2965875A2 (en) 2016-01-13
JP2016027951A (ja) 2016-02-25

Similar Documents

Publication Publication Date Title
JP6659096B2 (ja) ロボット装置の制御方法、およびロボット装置
US10486309B2 (en) Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component
JP5743495B2 (ja) ロボット制御装置
JP5972346B2 (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP6504864B2 (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法
JP5754454B2 (ja) ロボットピッキングシステム及び被加工物の製造方法
US20070030271A1 (en) Robot controller and robot control method using spline interpolation
TWI654058B (zh) 校正裝置、校正方法及控制裝置
JP6584102B2 (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法
US20060082340A1 (en) Robot with learning control function and method for controlling the robot
US20180207798A1 (en) Robot control apparatus, robot system, robot control method and assembly manufacturing method
US11285602B2 (en) Adjustment support device
JP6946057B2 (ja) ロボットハンド、ロボットハンドの制御方法、ロボット装置
JP3349652B2 (ja) オフラインティーチング方法
JP7336215B2 (ja) ロボットシステム、制御方法、物品の製造方法、プログラム、及び記録媒体
US11597083B2 (en) Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium
CN110139731A (zh) 对过程机器人的模型的校准和过程机器人的运行
JP6862604B2 (ja) 垂直多関節ロボットの慣性パラメータ同定システム及び慣性パラメータ同定方法並びに垂直多関節ロボットの制御装置及び制御方法
EP3444079B1 (en) Method and robotic system for operating a hand-guided robot
US9067318B2 (en) Method for estimating connection orders of modules of modular robot
Qi et al. A lead-through robot programming approach using a 6-DOF wire-based motion tracking device
JP2017127932A (ja) ロボット装置、ロボット制御方法、部品の製造方法、プログラム及び記録媒体
JP2020062730A (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体および物品の製造方法
JP7330876B2 (ja) 位置検出方法、制御装置及びロボットシステム
JP2005230952A (ja) 制御方法および制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180705

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200204

R151 Written notification of patent or utility model registration

Ref document number: 6659096

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151