JP6755724B2 - 制御方法、ロボットシステム、および物品の製造方法 - Google Patents

制御方法、ロボットシステム、および物品の製造方法 Download PDF

Info

Publication number
JP6755724B2
JP6755724B2 JP2016122168A JP2016122168A JP6755724B2 JP 6755724 B2 JP6755724 B2 JP 6755724B2 JP 2016122168 A JP2016122168 A JP 2016122168A JP 2016122168 A JP2016122168 A JP 2016122168A JP 6755724 B2 JP6755724 B2 JP 6755724B2
Authority
JP
Japan
Prior art keywords
joint
work
robot
range
posture
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
JP2016122168A
Other languages
English (en)
Other versions
JP2017226029A5 (ja
JP2017226029A (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 JP2016122168A priority Critical patent/JP6755724B2/ja
Priority to US15/617,699 priority patent/US10702989B2/en
Priority to EP17176298.2A priority patent/EP3260244A1/en
Publication of JP2017226029A publication Critical patent/JP2017226029A/ja
Publication of JP2017226029A5 publication Critical patent/JP2017226029A5/ja
Application granted granted Critical
Publication of JP6755724B2 publication Critical patent/JP6755724B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • 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/37555Camera detects orientation, position workpiece, points of workpiece
    • 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/39001Robot, manipulator 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40564Recognize shape, contour of object, extract position and orientation
    • 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/40583Detect relative position or orientation between gripper and currently handled object
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41265To avoid backlash
    • 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/45064Assembly robot
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R43/00Apparatus or processes specially adapted for manufacturing, assembling, maintaining, or repairing of line connectors or current collectors or for joining electric conductors
    • H01R43/26Apparatus or processes specially adapted for manufacturing, assembling, maintaining, or repairing of line connectors or current collectors or for joining electric conductors for engaging or disengaging the two parts of a coupling device

Description

本発明は、制御方法、ロボットシステム、および物品の製造方法に関する。
従来より、ロボットアームで把持した把持物を、被組付物に装着する組立操作が行われている。この種のロボットアームとしては、例えば複数の回転関節と、これらの回転関節で接続されたリンクから成る垂直多関節構成のものが知られている。また、この種のロボットアームの回転関節には、波動歯車機構などを利用した変速機と、サーボモータのような駆動源が用いられる。
上記の把持物と、被組付物は、例えば円(角)柱状の部材と対応する丸(角)孔、などのようにそれぞれ対応する形状の雄型および雌型の部材などが考えられる。また、把持物としてケーブル先端の(例えば雄型の)コネクタをロボットアームに把持させ、被組付物としての(例えば対応する雌型の)コネクタやレセプタクルに挿入、嵌合させるような操作も上記の組立操作に当る。
上記のような組立操作を精密に実行することが求められる場合には、ロボットアームで把持した把持物と被組付物の相対的な位置・姿勢(以下、「位置姿勢」とも記す)が設計通りになるように、両者の相対的な位置姿勢の誤差を補正する技術が知られている。
例えば、上記のコネクタのような把持物を把持させる場合、ロボットアーム先端のフィンガは必ずしも毎回、同一の相対位置姿勢(把持姿勢)で把持物を把持しているとは限らない。この場合、コネクタをレセプタクルなどに挿入する場合には、把持姿勢に応じてロボットアームの動作を変更ないし補正することによって、コネクタをレセプタクルに正対した状態で挿入することができる。
例えば、計測装置により把持物と被組付物の相対位置姿勢を計測し、センサで検出した相対位置姿勢から、初期の組付状態の相対位置姿勢に向かうロボット制御データを生成したり、あるいは生成済みのロボット制御データを補正したりする技術がある。その計測装置としては(デジタル)カメラのような視覚センサが用いられる。この種の技術においては、ロボット制御データは、例えば教示点リストのような形式で生成される。また、このような教示点の表現形式には、ロボットアームの基準位置(例えばアーム手先の1点など)を移動する3次元座標や、ロボットアームの複数の回転関節の回動角度(関節姿勢)を用いるものが知られている。
また、カメラ等の視覚センサを配置して、組付に先立ち把持物と被組付物の相対位置姿勢を計測する場合、センサと把持物ないし被組付物の相対位置姿勢(例えば撮影距離や撮影アングルなど)を制御する技術も知られている。例えば、組付に先立ち把持物と被組付物の相対位置姿勢を計測するに先立って、把持物と被組付物の組付位置姿勢を適切に測定できるようにカメラ等のセンサの位置を決定する制御を行う。
ここでカメラ等の視覚センサで検出した把持物と被組付物の相対位置姿勢に応じて、ロボットアームを動作させた時、あるタイミングでアームの回転関節の回転駆動方向を反転させるようなロボット制御データが生成(あるいは補正)されることがある。このような場合、アームの回転関節の減速機のバックラッシュの影響でヒステリシス誤差が発生し、ロボットアームの位置姿勢制御の精度が低下する可能性がある。
従来より、回転関節の減速機バックラッシュに起因するヒステリシス誤差を低減させるための技術が知られている。例えば、ロボットアーム制御において、ロボットの各関節軸の回転方向を判別し、関節の回転方向が反転する場合は減速機のバックラッシュ分に相当する補正動作を行わせるものがある(例えば下記の特許文献1)。
特開平7−200018号公報
しかしながら、上記の特許文献1では減速機の補正すべきバックラッシュに相当する値に固定値を用いており、減速機の製造誤差や個体差に応じて生じるバックラッシュ分を補正できず、それほど高精度な制御を望めない問題がある。
本発明の課題は、上記の問題に鑑み、視覚センサのような計測装置で検出したロボットアーム、把持物や被組付物の相対位置姿勢に基づき、ロボットアームの動作を高精度に制御(ないし補正)できるようにすることにある。例えば、センサ検出後のアーム動作において、全てのロボットアームの回転関節を一定の方向に回転駆動することで実現されるようなアーム動作を行わせるようロボット制御データを制御(ないし補正)できるようにする。これにより、回転関節のバックラッシュに起因するヒステリシス誤差の影響を低減でき、高精度なロボット制御を実現できる。
上記課題を解決するため、本発明では、関節を動作させることによって、取得したワークの位置または姿勢を変更可能なロボット装置と、前記ワークの位置または姿勢を計測する計測装置と、を備えたロボットシステムの制御方法であって、前記ロボットシステムは制御装置を備えており、前記制御装置は、前記計測装置の計測結果に基づき前記ワークの位置または姿勢を補正する場合において、補正後の目標位置として前記関節が取りうる位置の範囲外に前記関節を位置させた状態から、前記目標位置まで前記関節を一定方向に動作させる構成を採用した。
上記構成によれば、ロボットアームが計測装置で計測を行う計測教示点から計測に基づき補正された組付教示点まで移動する時、ロボットアームの関節の駆動方向が一定駆動方向となるよう制御される。このため、ロボットアームの関節の駆動(伝達)系のバックラッシュに起因する位置姿勢制御の誤差に影響されることなく、把持物の位置姿勢を高精度に制御でき、精度の高い組付け操作を行うことができる。
本発明の実施例1のロボット装置の制御装置の機能ブロック図である。 本発明の実施例1のロボット装置の作業対象であるワークの概略構成を示した斜視図である。 本発明の実施例1のロボット装置のロボットハンドによるワーク操作の様子を示した斜視図である。 (a)〜(c)は本発明の実施例1のロボット装置によるワーク操作の様子を示した斜視図である。 本発明の実施例1のロボット装置のロボットハンドによるコネクタとフレキシブルケーブルの取り扱いの様子を示した上面図である。 (a)〜(c)は図5におけるコネクタとフレキシブルケーブルが取り得る異なる位置関係を示した上面図である。 本発明の実施例1のロボット装置のロボットハンド、およびワークを視覚センサにより計測する様子を示した斜視図である。 本発明の実施例1のロボット装置のロボットハンドに配置する位置姿勢の規制部材の構成例を示した斜視図である。 実施例1のロボット装置におけるロボット制御手順を示したフローチャート図である。 実施例1のロボット装置における、ワークの位置姿勢のバラつき(a)において生じ得る組付補正範囲(b)および補正可動範囲(c)の計算例を示した説明図である。 (a)〜(d)は本発明の実施例1のロボット装置における視覚センサを用いた補正動作を含むワーク操作の様子を示した斜視図である。 (a)、(b)は本発明の実施例1において1つの関節軸の補正可動範囲および撮像領域を示す説明図である。 ロボット装置の位置姿勢に関して逆運動学計算を実施する64通りの組み合わせを示す表である。 (a)、(b)は本発明の実施例2において1つの関節軸の補正可動範囲および撮像領域を示す説明図である。 実施例3のロボット装置におけるロボット制御手順を示したフローチャート図である。 本発明を実施可能なロボット装置におけるティーチングペンダントにおけるユーザーインターフェースの構成例を示した説明図である。 本発明を実施可能なロボット装置の概略構成を示す斜視図である。 図17のロボット装置の制御装置の構成例を示したブロック図である。
以下、添付図面に示す実施例を参照して本発明を実施するための形態につき説明する。なお、以下に示す実施例はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
図17は、本実施例に係るロボット装置の概略構成を示している。図17に示すロボット装置300は、例えば機械や電子機器の組立などの作業を行う産業ロボット装置として構成されている。図17のロボット装置300は、垂直6軸多関節構成のロボットアーム301と、ロボットアーム301を制御する制御装置200と、制御装置200に接続されたティーチングペンダント1300、および視覚センサ500を備えている。
ロボットアーム301は、ベース部1101上に組み立てられている。ロボットアーム301は、変位や力を伝達する複数のリンク1121〜1126を有する。リンク1121〜1126は、これらリンクを相互に旋回又は回転可能に連結する複数の関節J1〜J6によって直列的に接続されている。
ロボットアーム301の先端のリンク1126には、ロボットハンド302が連結されている。ロボットハンド302は、組立作業などの操作の対象物であるワークを把持し、操作するためのエンドエフェクタ(ツール)である。
本実施例では、位置姿勢の計測装置として配置した視覚センサ500は、後述するようにロボットハンド302により把持した把持物(ワーク)の位置姿勢を計測するために用いる。視覚センサ500は、例えばCMOSイメージセンサやCCDイメージセンサなどの固体撮像素子を有するデジタルカメラにより構成することができる。
視覚センサ500の配置は、ロボット装置300の配置環境の天井などに固定したり、三脚、任意のペデスタル上に固定したりする手法によって行う。ただし、視覚センサ500は必ずしも固定配置でなくても構わない。例えば、視覚センサ500の撮影光軸(撮影領域)は、他の可動ステージやロボット装置(いずれも不図示)などによって可動(可変)制御されるような構成でもよい。ただし、視覚センサ500は、後述のようにロボットハンド302により把持した把持物(ワーク)の位置姿勢を計測する時、把持物(ワーク)とその組付け対象の部材を含む周囲の映像を撮影できるよう、固定ないしは可動配置されるものとする。
また、計測装置としての視覚センサ500は単眼視覚センサの他、対象物の位置姿勢を3次元的に測定可能なステレオ(複眼)視覚センサによって構成することもできる。また、本実施例の視覚センサ500に相当する計測装置は、超音波、レーザ光、その他の測定媒体を介して対象物の位置姿勢を計測できるものであれば、レーザレンジファインダなど、任意の計測装置によって構成してよい。
図17の関節J1〜J6は、サーボモータおよび変速機などから成る駆動系(詳細不図示)を介して駆動される。本実施例では、関節J1〜J6は回転関節であるものとするが、本発明に係る構成および制御手順はこれら関節の一部(または全部)が直動関節であっても実施可能である。関節J1〜J6の駆動系が回転駆動系である場合、この駆動系の回転駆動源としてはサーボモータなどが用いられ、その回転を変速(多くの場合減速)する変速(減速)機が駆動系(伝達系)に配置される。このようなロボットアームの関節では、減速機には、例えば小型軽量で減速比の大きい波動歯車減速機が好適に用いられる。
関節J1〜J6の駆動系に用いられる変速(減速)機が歯車機構で構成される場合、上述のように、このような伝達系にはバックラッシュのような伝達誤差が存在する。多くの場合、この種の変速(減速)機を含む伝達系では、バックラッシュによって入力端と出力端の間に伝達誤差が生じる。
特に、この種の歯車伝達系のバックラッシュに起因するこの伝達誤差はヒステリシス特性を有する。例えば、関節J1(〜J6)の変速(減速)機の入力端のモータの駆動量(回転角度ないし回転数)が一定であっても、順方向と逆方向の駆動方向で出力端の駆動量(例えば回転角度)に差異が生じる。逆に、このような入力〜出力端の非線型特性は、関節の駆動方向が一定方向で続く間は生じることがない。
図17の制御装置200は、例えば図18のように構成することができる。図18の制御系は、汎用マイクロプロセッサなどから成るCPU1201、ROM1202、RAM1203、外部記憶装置1204、インターフェース1205、1207、1208、ネットワークインターフェース1206などから構成される。また、図18の制御系には、RTC1209(リアルタイムクロック)が設けられている。このRTC1209は、後述の制御において必要に応じて計時処理などのために用いることができる。
ROM1202は、例えば後述するアクセス制御プログラムと制御データを格納するために用いられる。なお、ROM1202に格納したアクセス制御プログラムと制御データを後から更新(アップデート)できるよう、そのための記憶領域はE(E)PROMなどの記憶デバイスによって構成されていてもよい。RAM1203は、DRAM素子などから構成され、CPU1201が各種の制御、処理を実行するためのワークエリアとして用いられる。後述するロボットアーム301の制御手順に係る機能は、CPU1201が本実施例のアクセス制御プログラムを実行することにより実現される。
外部記憶装置1204は、例えばSSDやHDDのディスク装置で構成される。外部記憶装置1204は、ロボット制御プログラムや教示点データ、あるいは後述するアクセス制御プログラムなどをファイル形式で格納することができる。なお、外部記憶装置1204は、着脱式の各種光ディスクのような記録媒体、あるいは、着脱式のSSDやHDDのディスク装置、着脱式のフラッシュメモリから構成されていてもよい。このような各種の着脱式のコンピュータ読み取り可能な記録媒体は、例えば、本発明の一部を構成するアクセス制御プログラムをROM1202(E(E)PROM領域)にインストールしたりアップデートするために用いることができる。この場合、各種の着脱式のコンピュータ読み取り可能な記録媒体は、本発明を構成する制御プログラムを格納しており、記録媒体それ自体も本発明を構成することになる。
CPU1201は、ROM1202(あるいは外部記憶装置1204)に格納された生産制御プログラム、ロボット制御プログラム、ファームウェア、アクセス制御プログラムなどを実行する。これにより、例えば図1に示す制御装置200の各機能ブロックが実現される。
また、図18において、制御装置200には、インターフェース1207、1208が設けられている。例えばインターフェース1208は、ロボットアーム301との通信制御に用いられる。CPU1201は、インターフェース1208を介して所定の信号形式によって制御信号を送信することにより、教示済みのロボットプログラムなどに応じたロボット動作をロボットアーム301に実行させることができる。また、インターフェース1207は、ティーチングペンダント1300のような教示装置(あるいは他のロボット制御装置)との通信に用いられる。これらのインターフェース1207、1208は、上述のような任意の通信インターフェース(例えばパラレルないしシリアル通信インターフェース)により構成される。
ネットワークインターフェース(NIF)1206は、他の制御端末(不図示)や、他のロボット制御装置、ネットワーク上のサーバなどと通信するために用いられる。このネットワークインターフェース1206では、有線、無線接続によるネットワーク通信方式、例えば有線接続ではIEEE802.3、無線接続ではIEEE802.11、802.15のような通信方式を用いることができる。なお、ロボットアーム301やロボット操作装置(ティーチングペンダント1300など)との通信は、全てネットワークインターフェース1206を経由して行うようにしてもよい。
図17のロボット装置300には、ロボットアーム301を動作させるための教示点を教示する教示装置として、ティーチングペンダント1300が設けられている。ティーチングペンダント1300は、ステップ操作やジョグ操作といった操作方式で操作可能なキーボード(あるいはタッチパネルや操作ダイヤルなど)を有する。ティーチングペンダント1300は、例えば、実際の設置環境においてロボットアーム301の動作をプログラム(教示)したり、あるいは教示済みのロボット制御データ(ロボットプログラム)を修正したりするために利用できるよう構成される。
図16は、ティーチングペンダント1300の操作面の構成例を示している。図16のティーチングペンダント1300の操作面には、例えばロボットアーム301の関節J1〜J6をそれぞれ+および−方向に回動させるために用いられる操作キー1301、1302が配置されている。また、ティーチングペンダント1300の操作面の中央部は、タッチパネル1303によって構成されている。このタッチパネル1303はLCDディスプレイ上に、タップ(タッチ)、スワイプ(ドラッグ)のような操作入力を受け付ける操作パネルを配置したものである。タッチパネル1303では、例えばそのLCDディスプレイにキーボード状のような表示を行い、その表示区画を操作者に直接操作させる、といったユーザーインターフェースを構成することができる。図16のティーチングペンダント1300のタッチパネル1303では、1304、1305、1306、1307のような符号で示す表示出力ないしは操作ボタン状の表示を行っている。図16のタッチパネル1303のこれらの表示により構成されるユーザーインターフェースについては後述のロボット制御に関して説明する。
図2は、ロボットアーム301の把持装置、例えばロボットハンド302による組立(組付)操作の対象であるワーク800の一例を示している。
図2の例では、作業対象のワーク800は、基板15と、基板15に基端部14が取り付けられたコネクタ付きケーブル21と、コネクタ16とを有する。なお、この例では、コネクタ付きケーブル21は基板15から引き出されているが、他の部材(不図示)から引き出されていても構わない。
コネクタ付きケーブル21は、ケーブル11と、ケーブル11の先端部に形成されたケーブル側コネクタであるコネクタ12とを有している。つまり、コネクタ付きケーブル21の長手方向の先端部13が、コネクタ12を構成している。ケーブル11は、例えば(フレキシブル)フラットケーブルなどから成るものとする。
このような構成において、コネクタ付きケーブル21の長手方向の先端部13をコネクタ16に接続する作業の例を図3に示す。例えば、ロボットアーム301のロボットハンド302は、その先端に把持操作のための一対のフィンガー(303、304:図3)を備えるものとする。
上記構成において、制御装置200は、ロボットハンド302のフィンガー303、304で把持した後、コネクタ付きケーブル21側のコネクタ12を、基板15側のコネクタ16に接続する操作は、例えば図4(a)〜(c)に示すように制御する。
まず、図4(a)に示すようにロボットハンド302のフィンガー303、304でコネクタ付きケーブル21の長手方向の先端部13を把持する。この時、フラットケーブルなどから成るケーブル11が図示のような直線状の姿勢(形状)であるとすれば、図4(b)のような操作が必要になる。この場合、制御装置200は図4(b)のようにロボットハンド302で把持したコネクタ12(コネクタ付きケーブル21の先端部13)の姿勢を回転させ、コネクタ16の方を向くようロボットアーム301を制御する。
その後、図4(c)のようにコネクタ16に係合(嵌合、差し込み等)させる。この時、コネクタ12、16を係合させる際に、両者の凸部、凹部が整合するようにコネクタ12(先端部13)の位置姿勢を制御する必要がある。
即ち、図5に示すように、コネクタ16の挿入方向に対し、コネクタ12(先端部13)の位置姿勢を整合させる必要がある。より具体的には、コネクタ16の中心23(中心軸)と、コネクタ付きケーブル21の長手方向の先端部13の中心22(中心軸)を整合させる必要がある。なお、図5の左上には、ロボット装置300で行う組立制御に用いられるXY座標系の1つを示してある。このXY座標系は、例えば基板15の配置されている平面とほぼ平行なグローバル座標系である。
好ましくは、図5に示すようにコネクタ16にコネクタ12を位置(姿勢)合せする際、視覚センサ500のような計測装置を用いた計測結果を用いて、把持物(コネクタ12(コネクタ付きケーブル21の先端部13))の位置姿勢を補正する。例えば、把持物(コネクタ付きケーブル21の先端部13)をロボットで把持した時、把持物(コネクタ付きケーブル21の先端部13)の位置姿勢は図6(a)のようにコネクタ16に対する理想的な位置関係であるとは限らない。即ち、ロボットハンド302で把持した時、把持物(コネクタ付きケーブル21の先端部13)の把持位置(姿勢)は図6(b)や(c)のようにバラついている可能性がある。ここでは、主に把持物(コネクタ付きケーブル21の先端部13)の傾きのみを図示しているが、場合によってはロボットハンド302のフィンガー(303、304)が把持する部位にずれが生じている場合もある。このような把持位置(姿勢)の誤差は、コネクタ付きケーブル21の製造誤差や、組付け位置、ケーブル11の曲げやねじれなどの個体差の影響によって生じる。
図7は、例えば図4(b)の位置姿勢でロボットハンド302によりコネクタ12を把持した状態で、視覚センサ500によって、映像を撮影する様子を示している。また、図11(a)〜(d)は、図4(a)〜(c)と同等のコネクタ組付操作を行う時に視覚センサ500の計測(撮像)結果を用いた把持物(コネクタ12ないしコネクタ付きケーブル21の先端部13)の位置姿勢補正処理を作用させる様子を示している。
図11(a)、(b)は図4(a)、(b)の状態にそれぞれ対応する。ここでは、特に、図11(b)に示すようにコネクタ12、即ちコネクタ付きケーブル21の長手方向の先端部13の中心22(中心軸)は、コネクタ16の中心23(中心軸)に対して傾斜しており、両軸は整合(一致)していない。この例では、ロボットハンド302のフィンガー(303、304)に対して、把持されているコネクタ12が水平(XY)平面内で傾斜するとともに、コネクタ12の先端が下方を向くように傾斜している。また、これ以外にも高低(Z軸)方向にロボットハンド302ないしコネクタ12の位置姿勢誤差が生じている場合もある。
図11(b)において、視覚センサ500で撮像した画像を用いて、制御装置200はロボットハンド302で把持しているコネクタ12の位置姿勢、例えば中心22の位置姿勢を演算することができる。そして、制御装置200は、視覚センサ500で撮像した画像の解析結果を用いて、この後、図11(c)〜(d)とコネクタ12、16の両者を係合させる時のロボットアーム301の位置姿勢の制御を補正することができる。
例えば、図11(c)はコネクタ16の中心23と、コネクタ12の中心22がほぼ整合した状態となるよう、ロボットアーム301の位置姿勢が補正されている。その後、図11(d)に示すようにロボットアーム301でコネクタ12をコネクタ16の方向に押し込むことにより、組付け工程、即ちコネクタ12、16の接続工程が完了する。
ここで、制御装置200が視覚センサ500で撮像した画像の解析結果を用いて補正したコネクタ12、16の両者を係合させる時のロボットアーム301の動作(図11(c)〜(d))において、上述の位置姿勢の制御誤差が生じる可能性がある。例えば、視覚センサ500による撮像(計測)を行う時のロボットアーム301の位置姿勢によっては、補正されたロボットアーム301の動作中に、特定の関節(J1〜J6)の回転に反転(正逆転)が生じるような補正が行われる可能性がある。
視覚センサ500による撮像(計測)を行う時のタイミングは、例えばティーチングペンダント1300によって操作者(作業者)が行った操作に基づき、決定することができる。あるいはティーチングペンダント1300の特定操作を契機として制御装置200が自動的に決定する。
ところが、上記いずれの撮像制御においても、視覚センサ500による撮像(計測)に応じて、ロボットアーム301の特定の関節(J1〜J6)の回転に反転(正逆転)が生じるような補正が行われた場合、上述の位置姿勢の制御誤差が生じる可能性がある。この位置姿勢の制御誤差は、上述の通り、ある関節(J1〜J6)の反転(正逆転)によって発生する当該関節の駆動(伝達)系のバックラッシュに起因するものである。もし、このバックラッシュに起因する位置姿勢の制御誤差が生じた場合は、甚しい場合はコネクタ12、16の接続操作が失敗したり、無理なコネクタ挿入操作が行われて正常な接続状態が完成しない可能性などがある。
そこで、本実施例では、視覚センサ500による撮像(計測)に応じて行うロボットアーム301の位置姿勢制御の補正において、関節(J1〜J6)の反転(正逆転)に起因する位置姿勢の制御誤差が生じないような補正動作を行える構成を示す。
ここで、視覚センサ500による撮像(計測)に応じて行うロボットアーム301の位置姿勢制御の補正は、当然ながら視覚センサ500による撮像(計測)が行なわれた時の把持物(ないしアーム)の位置姿勢に応じて行われる。そこで、本実施例では、視覚センサ500による撮像(計測)タイミング、ないしはその際の把持物(ないしアーム)の位置姿勢を制御する。これにより、その後の補正によって実行される補正動作において、各関節(J1〜J6)の反転(正逆転)が生じないような補正動作を生成することができる。
即ち、本実施例において、ロボット装置300は、関節によって位置または姿勢を変更可能な把持装置(ロボットハンド302)を備えたロボットアーム301を有する。また、ロボット装置300は、把持装置(ロボットハンド302)によって保持した把持物(コネクタ12)の位置または姿勢を計測教示点において計測する計測装置(視覚センサ500)を備える。
ロボット装置300の制御装置200は、前記計測装置による計測結果に基づき補正された組付教示点において把持物(コネクタ12)をその組付対象の被組付物(コネクタ16)に組付ける際の位置または姿勢を制御する。そして、本実施例の制御方法では、制御装置200は、前記の計測教示点から組付教示点までの関節(J1〜J6)の駆動方向が一定駆動方向となるよう前記計測教示点を決定する計測教示点決定工程を実行する。
また、ロボット装置300の制御装置200は、ロボットアーム301によって計測教示点に先立ちロボットハンド302で把持した把持物(コネクタ12)を経由させる計測前教示点を取得する(計測前教示点決定工程)。この計測前教示点決定工程では、当該の計測前教示点から視覚センサ500で計測を行う計測教示点までの関節の駆動方向が一定駆動方向となるよう計測前教示点を決定する。本実施例では、この計測前教示点決定工程で決定した計測前教示点を経由して前記把持物を計測教示点に移動させる。
以下、ロボット装置300において、上記の如く、ロボットアーム301の各関節(J1〜J6)の反転(正逆転)が生じない補正動作を生成できるよう計測教示点(視覚センサ500で計測を行う教示点)を決定する制御につき、さらに詳細に説明する。
ワーク800、即ち、コネクタ付きケーブル21、コネクタ付きケーブル21が取り付けられた基板15、およびコネクタ12の接続対象となるコネクタ16を有するワーク800は、不図示の供給ないし搬送手段により、作業台20上に順次供給される。
これらワーク800は、作業台20上に粗い精度で位置決めされる。従って、コネクタ付きケーブル21(ケーブル11)の基端部14(根元)およびその近傍の制御位置は、ほぼ一定に制御することができる。しかしながら、コネクタ付きケーブル21の先端部13に近付くにつれ、ケーブル11の曲げや、ねじれなどの影響で、位置のばらつきが大きくなる。そのため、ワーク800の基板15が作業台20上で位置決めされていても、把持前のコネクタ付きケーブル21の先端部13の位置及び姿勢は図6の(b)や(c)で示すように、比較的広範囲に渡って変化する可能性がある。なお、この点を考慮して、ロボットハンド302は、コネクタ付きケーブル21の基端部14付近の中途部位を挟持するよう用いる。そして、この挟持(把持)状態でコネクタ付きケーブル21に対してロボットハンド302を滑らせながらコネクタ付きケーブル21のコネクタ12まで移動することができるようなクリアランスをもった挟み量とすることが考えられる。
また、視覚センサ500の計測後の補正動作を一定の可動範囲に規制するため、また、特に計測後の補正動作において、特定の関節(J1〜J6)の正逆転が生じるような可能性を低減することを考える。例えば、把持装置(ロボットハンド302)で把持された状態における、把持物(コネクタ12)の同把持装置に対する位置姿勢の誤差の範囲を一定の範囲に規制する規制手段を設けることが考えられる。
例えば、ロボットハンド302のフィンガー303、304で把持する時、コネクタ付きケーブル21の先端部13が取り得る位置姿勢のバラつきがある誤差範囲に収まるように図8に示すような規制手段を用いることができる。
図8の構成では、ロボットハンドのフィンガー303、304に突起305、306のような位置姿勢の規制部材を設けている。これにより、フィンガー303、304で把持した把持物、例えばコネクタ12ないしコネクタ付きケーブル21の先端部13のフィンガー(ないしロボットアーム301やロボット全体)に対する位置姿勢のバラつきを抑制することができる。図8のような規制手段を設けることにより、先端部13を挿入する際の先端部13のロボット装置300に対するバラつきを予め所定の誤差範囲に規制でき、後述するロボット制御のための制御の負担を軽減することができる。
また、ロボットハンド302には、コネクタ12をコネクタ16に接続する動作中に、フィンガー303、304間で挟持したコネクタ12(またはコネクタ付きケーブル21の一部)が滑らないよう把持できるような構成を設けるのが好ましい。例えば、フィンガー303、304の対向面をラバー素材などの高摩擦係数を有する材質から構成することが考えられる。これにより、ロボットアーム301によってフィンガー303、304の姿勢を変更する動作の間に、コネクタ付きケーブル21の先端部13と、フィンガー303、304の相対的な位置姿勢がずれてしまうのを防止、ないしは抑制できる。
なお、当然ながら、視覚センサ500は、コネクタ付きケーブル21のコネクタ12とロボットハンド302コネクタ16を同時に撮像(計測)できる計測範囲(例えば画角)を有するものとする。
ロボットアーム301の各関節(J1〜J6)の反転(正逆転)が生じない補正動作を生成できるように視覚センサ500による計測教示点を決定するため、例えば制御装置200の制御機能を図1に示すような各機能により構成することが考えられる。図1では、図17のロボットアーム301、ロボットハンド302を有するロボット装置300を1つのブロックで示してある。図1の各制御ブロックの機能は、ハードウェア的な構成(W1)を除けば、制御装置200の記憶手段(ROM1202、RAM1203)ないし(CPU1201の)演算機能によって構成される。
本実施例のロボット制御では、計測前教示点から計測教示点、さらに組付教示点を通り、ロボットハンド302で把持した物体(コネクタ12)と、被組付物(コネクタ16)との相対的な位置姿勢を補正する制御を行う。
ここで、「教示点」とは、ロボットハンド302を含むロボットアーム301の全体の位置姿勢に相当する物理量ないし制御情報をいう。このような教示点は、ロボットの基準部位(基準点)、例えば、ロボットアーム301に対してロボットハンド302が装着されるフランジ面の中心(中心軸)の位置姿勢などによって表現される場合がある。上記の「教示点を通り…」のような表現においては、上記のようなロボットの基準部位(基準点)がその各教示点の位置姿勢を通過する、という意味になる。また、ティーチングペンダント1300による「教示」操作では、上記の基準部位(基準点)の位置姿勢をティーチングペンダント1300(図17)に配置したジョグボタン(詳細不図示)のような操作手段を介して移動させるような操作方式が用いられる。
ロボットの基準部位(基準点)がある教示点に相当する位置姿勢を取る時、その位置姿勢は、各関節(J1〜J6)の軸値(回転関節の場合は回転角度)によって定まる。例えば、制御装置200は、各関節(J1〜J6)の軸値からいわゆる運動学計算を行うことにより、対応する教示点、即ちロボットの基準部位(基準点)が占める位置姿勢を取得される。逆に、制御目標である教示点、即ちロボットの基準部位(基準点)が占める位置姿勢を実現するための各関節(J1〜J6)の軸値は、教示点からいわゆる逆運動学計算を行うことにより取得される。なお、各関節(J1〜J6)の軸値に基づき運動学計算を行うことによりある教示点は一義に定まる。逆に、垂直多軸構成のロボットアームでは、ある教示点を実現するために逆運動学計算によって求められる各関節(J1〜J6)の軸値の組合せは必ずしも1つとは限らない。
本実施例の制御方式は、例えば図1に示すようなW1〜W10のようなブロック図示で示した機能によって構成される。
図1において、W1は、ロボット装置300で把持した把持物(例えばコネクタ12)を移動する移動手段に相当する。この移動手段W1は、例えば、ロボットアーム301の各関節(J1〜J6)や、ロボットハンド302のフィンガー303、304の駆動源(例えばサーボモータなど)によって構成される。
また、W2は把持物(コネクタ12)の位置または姿勢、またはその両方を計測する計測装置である。この計測装置W2は、本実施例の場合、視覚センサ500に相当する。
また、W3は、把持物(コネクタ12)のロボットハンド302に対する把持状態における相対的な位置姿勢の最大および最小誤差範囲を入力する手段である。ここでは便宜上、「入力」という表現を用いているが、この手段W3は、例えばROM1202などに用意された仕様情報のテーブルデータなどであってもよい。この手段W3は後述の図9ではステップS100に相当する。また、ここで、例えば、上記のように把持物(コネクタ12)のロボットハンド302に対する把持状態における相対的な位置姿勢を規制するために図8の突起305、306のような規制手段を配置することができる。この場合、図8の突起305、306のような規制手段の物理的な寸法ないし形状情報に基づき、把持物(コネクタ12)のロボットハンド302に対する把持状態における相対的な位置姿勢の最大および最小誤差範囲を予め計算することができる。そして、このようにして求めた把持物(コネクタ12)のロボットハンド302に対する把持状態における相対的な位置姿勢の最大および最小誤差範囲をROM1202などに格納しておく。
図8のような把持物(コネクタ12)のロボットハンド302に対する把持状態における相対的な位置姿勢の最大および最小誤差範囲を規制する規制手段を設けることにより、後述の補正可動範囲を取得する際の制御装置200の演算量を削減することができる。
また、W4は、把持物の位置(姿勢)誤差がない場合にロボットアーム301を移動させる教示点(例えば図11(c))、計測教示点(例えば図11(b))、ないし計測前教示点としての経由点(例えば図11(a))を取得する手段である。この手段W4は、例えば、ティーチングペンダント1300によって、操作者(作業者)が行う上記各教示点を教示する教示操作によって実現することができる。ただし、ワーク800の工作精度や、ワーク800の搬送(供給)精度、ロボットアーム301の制御精度などの仕様の範囲によっては、上記各教示点はROM1202に予め設定情報として格納されていてもよい。この手段W4は後述の図9ではステップS200に相当する。
また、W5は、手段W3における把持物(コネクタ12)の位置姿勢の最大および最小誤差の範囲に対応して、組付教示点(例えば図11(c))において、補正動作後にロボットアーム301の取る位置姿勢を求める手段である。
また、W6は、ロボットアーム301の特定の位置姿勢(教示点)におけるロボットアーム301の各関節(J1〜J6)の軸値を求める手段である。この手段W6は、例えば、制御装置200のCPU1201がロボットアーム301の特定の位置姿勢(教示点)に基づき、各関節(J1〜J6)の軸値(回転関節の場合、その回動角度)を計算(逆運動学計算)することにより実現される。この手段W6は後述の図9ではステップS400に相当する。
また、W7は、ロボットアーム301の各関節(J1〜J6)について、その軸値(回転関節の場合、その回動角度)の取り得る補正可動範囲を求める手段である(補正可動範囲取得工程)。この補正可動範囲とは、把持物(コネクタ12)の位置姿勢の最大および最小誤差の範囲(手段W3)に対応して、誤差がない場合のロボットアーム301の移動先の教示点(図11(c))までに特定の関節(J1〜J6)の取り得る軸値の範囲に相当する。この手段W7は、制御装置200のCPU1201が、上記最大および最小誤差の範囲、および誤差がない場合のロボットアーム301の移動先の教示点(図11(c))に応じて計算する。この手段W6は後述の図9のステップS600に相当する。
この時、CPU1201は、例えば、上記最大および最小誤差の範囲、および誤差がない場合のロボットアーム301の移動先の教示点(図11(c))が判明していれば、ロボットをその教示点まで移動させる軌道上にある教示点のリストを取得できる。取得した教示点のリストは、バイナリツリーやグラフデータを格納する場合と同様に、例えばリンクト・リストのような形式でRAM1203に格納しておくことができる。CPU1201は、この誤差がない場合のロボットアーム301の移動先の教示点(図11(c))に向かう教示点のリストを参照し、各教示点に対応するある関節(J1〜J6)の取り得る軸値を手段W6の逆運動学計算により求めることができる。そして、誤差がない場合のロボットアーム301の移動先の教示点(図11(c))に向かう動作において、当該関節(J1〜J6)の取り得る軸値の範囲をその関節の補正可動範囲として取得する。ただし、この補正可動範囲は、対応するロボットアーム301の教示点の軌道が、当該関節の1方向の回転駆動のみによって実現されるもののみを取得する。もし、逆運動学計算(W6)によって、教示点軌道中で特定の関節の正逆転が生じるような場合は、教示点のリスト中にあるその教示点軌道は補正可動範囲の取得対象から除外するものとする。
また、W8は、特定の経由点、例えば計測前教示点に相当する各関節(J1〜J6)の軸値が補正可動範囲(W7)内に存在するか否かを判定する判定手段である。この判定手段W8は後述の図9のステップS700、S800に相当する。
また、W9は、特定の教示点、例えば計測前教示点に相当する各関節(J1〜J6)の軸値が補正可動範囲内(W7)に存在する場合(W8)の制御機能に相当する。このW9は、計測前教示点から組付教示点(図11(c))との移動の間に各軸値が補正可動範囲外となる範囲に新たに教示点を設け、該教示点を計測教示点の1つ前の計測前教示点と決定する制御手段である。この制御手段W9は後述の図9のステップS1000、S1100に相当し、これらのステップにおける「経由点」が上記の「計測教示点の1つ前の計測前教示点」に相当する。
また、W10は、計測前教示点(W9)と組付教示点(図11(c))との移動の間に各軸値が補正可動範囲外となる範囲に新たに教示点を設け、該教示点を視覚センサ500で計測を行うべき計測教示点とする手段である。この手段W10は後述の図9のステップS1200に相当する。
図9は本実施例において、上記の図1の各制御機能(W1〜W10)を実現するためのロボット制御手順の一例を示している。図9の制御手順は、制御装置200が実行可能な制御プログラムとして、ROM1202(あるいは外部記憶装置1204)に格納しておくことができる。以下、図9の制御手順につき詳細に説明するが、ロボットアーム301で取り扱うワーク800は図2〜図7のような構成を前提とする。また、ロボットハンド302には、好ましくは図8に示したような把持物(コネクタ12)の位置姿勢のバラつき(誤差範囲)を抑制する規制手段を配置する。
図9のステップS100において、制御装置200のCPU1201は、コネクタ16の中心23に対するコネクタ付きケーブル21の先端部13の中心22の位置姿勢の誤差範囲(図5、図6(a)〜(c))を設定する。このワーク(800)の誤差範囲は、コネクタ付きケーブル21の製品誤差や組付精度、位置決め精度などから求めた値をROM1202などに格納しておき、この値をCPU1201が読み出す。このワーク(800)の誤差範囲は、例えば、図10(a)のようにXYZ3軸に係る座標情報とこれら3軸廻りの回転両の情報、即ちX、Y、Z(位置情報1401:mm単位)、rX、rY、rZ(姿勢情報1402:(角)度単位)により表現されている。なお、ロボットハンド302に図8のような規制手段を配置している場合は、例えば1軸ないし2軸廻りの誤差がほぼ+(あるいは−)側に発生しないよう規制することができる。このため、図8のような規制手段を設けている場合には、ROM1202には規制手段に対応して規制された誤差範囲を格納され、その範囲の値が用いられるものとする。
次に、ステップS200では、当該のコネクタ12、16の組付け操作において、ロボットアーム301に通過(経由)させる教示点を設定する。この教示点の設定は、ワーク(800)の設計情報からCPU1201が自動的に行うか、またはティーチングペンダント1300の操作により操作者(作業者)が行う。この段階で設定する教示点は例えば次の2つである。まず、その教示点の1つは、図11(c)のようにコネクタ12、16の中心22、23が一致していて必要な補正量が0の場合のロボットアーム301の位置姿勢である。また、他の教示点は、図11(b)のように視覚センサ500でコネクタ12の中心22とコネクタ16の中心23の相対位置関係を計測する計測教示点の1つ前の教示点に相当し、この教示点は、例えば図1(a)のロボットアーム301の位置姿勢である。このうち、計測教示点は本実施例のロボット制御によって取得される。また、計測前教示点は必ずしも図1(a)の位置姿勢ではなくてもよい。
次にステップS300において、CPU1201は、ステップS100で設定したワーク(800)の位置姿勢の誤差範囲(図10(a))に基づき、後述の組付操作で実施する位置姿勢の補正範囲に相当する組付補正範囲(図10(b))を設定する。この組付補正範囲の位置情報1403、姿勢情報1404は、例えば図10(b)に示すように、図10(a)の誤差範囲(把持したワークのバラつき範囲)の位置、姿勢の正負の符号が逆転したものになる。なお、ここでは、理解を容易にするため、誤差範囲(図10(a))と組付補正範囲(図10(b))の座標系が同じと考えた場合の値の対応を示している。
次にステップS400では、ステップS300で求めた図10(b)の組付補正範囲(MAX〜MIN)で取り得るロボットの位置姿勢(教示点)の全てについて逆運動学計算を行う。そして、各位置姿勢(教示点)におけるロボットアーム301の各関節(J1〜J6)の軸値を取得する。なお、ここでは、組付補正範囲(図10(b))に相当する空間における教示点軌道上の教示点を任意のステップ量で探索し、各々の教示点の各関節(J1〜J6)の軸値を取得すればよい。ただし、この時、上記軌道上の教示点の探索において、軌道上の教示点の1つで関節(J1〜J6)のいずれかで、正逆転が必要となるような軌道は探索から除外(それ以上の探索を中止)し、他の軌道を探索するものとする。
続くステップS500は、ステップS600〜S900までの処理を、ロボットアーム301の各関節(J1〜J6)について(その軸数分だけ)実施するためのループ制御に相当する。図17のような6軸(6関節)のロボットアーム301であれば、ステップS600〜S900までの処理を、各々の関節J1〜J6について実施することになる。なお、以下では、関節J1〜J6を識別するためのインデックスの一般表現として「n」を用いる(nは1から6までの整数)。
このループの最初のステップS600では、処理中の関節Jn(J1〜J6のいずれか)の軸値(回転関節であれば回転角度)補正可動範囲J[n]を算出する。この補正可動範囲J[n](1405)は、図10(c)に示すように、ステップS400で求めた組付補正範囲(図10(b))に相当する補正範囲で取り得るロボットアーム301の位置姿勢における当該関節Jnの軸値の範囲として算出される。
なお、図10(c)の下部2行は、各関節(Jn)の補正可動範囲J[n]の最大(「MAX」)、最小(「MIN」)の軸値である。また、その上部の各行は、探索した教示点軌道を構成する各教示点に対応した各関節(Jn)の軸値を示している。
例えば、図12(a)の例では、ロボットのある関節(Jn)の(最大の)可動範囲(例えばAとする)は−180°<A≦180°である。ここで、この関節(Jn)についてステップS400の逆運動学計算で計算した組付補正範囲(図10(b))に相当する範囲がR2(θminからθmax)であるものとする。こ場合、この関節(Jn)の組付補正範囲に相当する補正可動範囲J[n]は範囲R2のθmin≦J[n]≦θmaxとなる。
次に、ステップS700において、CPU1201は、ステップS200で取得した計測前教示点における当該関節(Jn)の軸値と補正可動範囲の重複チェックを実施する。例えば、ここでステップS600で求めた当該関節(Jn)の補正可動範囲J[n]が図12(a)のR2の範囲であるとする。この場合、ステップS700のチェック処理は、ステップS200で取得した計測前教示点に相当する(逆運動学計算で取得される)当該関節(Jn)の軸値が関節軸がR2の範囲に存在(重複)しているか否かをチェックするものとなる。次に、ステップS800では、ステップS700で重複が発生しているか否かを判定し、重複が発生している場合にはステップS900を実行する。ステップS700で重複が発生していない場合、即ち、計測前教示点に相当する(逆運動学計算で取得される)当該関節(Jn)の軸値が補正可動範囲J[n]の外側にある場合は、当該関節(Jn)のループ処理を終了(S500に復帰)する。
ステップS900において、CPU1201は、ステップS700の結果から計測前教示点における当該関節(Jn)の軸値が補正可動範囲J[n]の内側にある場合の処理である。このステップS900では、補正可動範囲J[n]の外側において新たな計測前教示点として経由させるべき経由点の範囲Jt[n]を算出する。例えば、この経由点の範囲Jt[n]は、当該関節(Jn)の補正可動範囲J[n]が図12(a)に示すようにR2の範囲である場合、その外側の範囲−180°<Jt[n] <θmin、およびθmax<J[n]≦180°の範囲となる。ステップS900の後、処理は当該関節(Jn)のループ処理を終了(S500に復帰)する。
ロボットアーム301の全ての関節(J1〜J6)について、ステップS600〜ステップS900が終了すると、処理はステップS1000に進む。ステップS1000では、ステップS800の計測前教示点に関する判定で当該の重複が発生しているか否かを判定する。ステップS800で重複が発生していた場合は、ステップS1100を実行する。
ステップS1100において、各関節(J1〜J6)の全てについて、ステップS900で算出した「補正可動範囲(図12(a)のR2)の外側」の条件を満たす経由点範囲(Jt[n])の経由点を新たな計測前教示点として取得する。この条件を満たす経由点を新たな計測前教示点として取得する処理は、例えばCPU1201の自動計算によって行うことが考えられる。例えば、ここでステップS900で算出した補正可動範囲の外側の範囲が図12(a)上記の−180°<Jt[n] <θmin、またはθmax<J[n]≦180°の範囲(R1、R2)であるとする。この場合、経由点範囲(R1、R2)のいずれかの範囲の経由点の1つをCPU1201に選択させ、新たな計測前教示点として取得する。ただしこの時、2つの経由点範囲(R1、R2)のうち、実際の補正動作において当該の関節Jnが補正可動範囲(図12(a)のR2)で回転する方向とは逆方向から補正可動範囲に進入する角度関係にある経由点範囲の経由点は取得しないよう制御する。
また、ステップS1100の経由点を新たな計測前教示点として取得する処理は、ティーチングペンダント1300による操作者(作業者)の教示操作によって行うこともできる。例えば、ティーチングペンダント1300によって操作者(作業者)に任意の経由点(教示点)を教示する教示操作を行わせる。そして、CPU1201が、ティーチングペンダント1300で教示された経由点(教示点)が上記の経由点範囲(R1、またはR2)の条件を満たしているか否かを判定する。その結果、上記の経由点範囲(R1、またはR2)の条件を満たしている場合には、ティーチングペンダント1300で教示された当該の経由点(教示点)を新たな計測前教示点として取得する。なお、このティーチングペンダント1300による操作者(作業者)の教示操作で条件を満たす計測前教示点を取得する場合、後述の計測教示点の取得の際に用いられるユーザーインターフェース(例えば図16)と同様のユーザーインターフェースを利用できる。
次に、ステップS1200において、CPU1201は計測範囲を取得する演算を行う。この計測範囲とは図12(b)に示すように、ステップS1100で取得した計測前教示点に対応する特定の関節(Jn)の軸値Jb[n]と、同関節(Jn)の関節の補正可動範囲R2との間の範囲R4のことである。ステップS1200では、CPU1201この範囲R4を計測範囲(R4)として取得する。
次に、ステップS1300では、コネクタ12、16の組付け操作を補正するために視覚センサ500による計測を行う時のロボットアーム301の位置姿勢、即ち計測教示点(図11(b))を取得する。この時、計測教示点は、ステップS1200で算出した計測範囲(図12(b)のR4)の範囲内から取得する。この計測教示点の取得も、例えばCPU1201の自動計算によって行うことが考えられる。例えば、計測範囲(R4)のある教示点の1つをCPU1201に選択させ、新たな計測前教示点として取得する。
また、ステップS1300の計測教示点の取得は、例えばティーチングペンダント1300による操作者(作業者)の教示操作によって行うこともできる。この場合、例えば計測教示点の取得(教示)のために、ティーチングペンダント1300では図16に示すようなユーザーインターフェースを利用することができる。
ティーチングペンダント1300(教示装置)には、操作者に計測教示点(または前記計測前教示点)の候補を入力させる入力装置を配置する。この入力装置は、図16の操作系では操作キー1301、1302とタッチパネル1303により構成される。また、ティーチングペンダント1300(教示装置)には、上記の入力装置で入力された計測教示点(または計測前教示点)の候補が、前記の補正可動範囲との関係を満たすか否かを出力する出力装置を配置する。この力装置は、図16の操作系ではタッチパネル1303(の表示部)により構成される。
図16の操作系で計測教示点を取得する場合、例えば操作者(作業者)は操作キー1301、1302を用いてロボットアーム301の各関節(J1〜J6)を動作させ、ロボットアーム301(の例えば基準部位)を所望の教示点(位置姿勢)に移動させる。なお、この時、数値入力キー(不図示)などが別途ティーチングペンダント1300に設けられている場合は、各関節(J1〜J6)の回転角度を数値入力することにより所望の教示点を指定する操作方式を採用してもよい。
この時用いられる図16のユーザーインターフェースでは、タッチパネル1303の上部には例えば「計測教示点教示」のようなモード表示1304を表示する。その下部には、例えばロボットアーム301を移動させて指定した(あるいは数値入力により指定した)教示点の妥当性を示す妥当性表示1307を表示する。
この例では、妥当性表示1307は、指定された教示点に相当する各関節(J1〜J6)の角度(矩形枠内の表示)と、その下部の「OK」(適)または「NG」(否)を表示する適否表示(丸印内)から構成してある。特に、妥当性表示1307中の適否表示(丸印内)は、各関節(J1〜J6)の軸値が、ステップS1200で算出した計測範囲(図12(b)のR4)の範囲を満たしているか否かを示すためのものである。また、妥当性表示1307の下部には、各関節(J1〜J6)の計測範囲(図12(b)のR4)に相当する軸値の範囲の数値表示1306を設けている。
ここで、図16の例では、妥当性表示1307中の適否表示(丸印内)は、関節J1、J3、J4、J5の各軸の軸値がそれら各軸の計測範囲(図12(b)のR4)の範囲を満たしている(適)。一方、関節J2およびJ6については、妥当性表示1307中の適否表示(丸印内)では、各軸の軸値がそれら各軸の計測範囲(図12(b)のR4)の範囲を満たしていないことが示されている(否ないし不適)。
従って、この図16のユーザーインターフェースの表示例に相当するロボットアーム301の教示点(位置姿勢)は計測教示点として「不適」である状態を示している。タッチパネル1303が図16のような表示となっている場合には、操作者(作業者)は教示操作(ロボットアーム操作あるいは数値入力による)を繰り返し、他の教示点を指定する。そして、全ての妥当性表示1307中の適否表示(丸印内)が「OK」(適)となった場合に、CPU1201はタッチパネル1303の下部の「計測教示点確定」の確定キー表示1305(仮想キー)の入力操作を可能とする。この確定キー表示1305が操作可能となった後、操作者(作業者)は確定キー表示1305を操作することにより、当該の教示点を計測教示点として確定入力することができる。
なお、図16と同等のユーザーインターフェースは、上述のステップS1100における計測前教示点を取得する場合にも利用できる。その場合、モード表示1304や確定キー表示1305中の文字列は図16の「計測教示点」から「計測前教示点」に置き換えればよい。
以上のようにして、計測教示点を取得すると、ステップS1400以降において、取得された計測教示点における視覚センサ500による計測に基づく補正動作を含む組付動作をロボットアーム301に実行させることができる。即ち、ステップS1400では、ステップS1100、S1300で教示した計測前教示点や計測教示点を用いて視覚センサ500による計測と、それに基づく補正動作を含む組付動作をロボットアーム301に実行させる。
即ち、CPU1201は、取得した計測教示点においてワーク(800)を視覚センサ500で計測し、計測画像の解析に基づき、コネクタ12、16の中心22、23を一致させるよう、ロボットアーム301の位置姿勢を補正する。その上で、ロボットアーム301にコネクタ12、16の挿入操作を行わせる。これにより、コネクタ12、16の組付けを確実に、かつ精度よく実行させることができる。
なお、図9におけるステップS1400の図示位置は、説明の都合上のものに過ぎず、必ずしもステップS1400のワーク組付け操作の前に、毎回、先行する計測前教示点や計測教示点の取得処理を実行する必要はない。例えば、図9は、ステップS1400は、自動実行により多数のワーク(800)を繰り返し処理する総組立工程に相当するものと読み換えても構わない。その場合、ステップS1400のワーク組付け操作に先行する計測前教示点や計測教示点の取得処理は、当該の総組立工程をプログラミングする教示工程と読み換えてよい。その場合、総組立工程をプログラミングする教示工程で決定した計測前教示点や計測教示点を用いて、繰り返し総組立工程(ステップS1400)が実行される。そして、各ワーク(800)のコネクタ12、16の組付け操作は毎回、視覚センサ500の実測に基づいて補正される。これにより、多数のワーク(800)を処理する場合でも、各ワーク(800)の把持誤差があっても、それに応じて、コネクタ12、16の中心22、23を一致させる補正処理が行われる。このため、多数のワーク(800)を処理する総組立工程において、全てのワークを正確かつ確実に組付けすることができる。
以上のように、本実施例では、ロボットハンド302で把持した把持物(コネクタ12)が取り得る相対的な位置姿勢の誤差の範囲に基づき、組付教示点に向かって特定の関節の軸値の取り得る補正可動範囲を取得する(補正可動範囲取得工程)。そして、計測前教示点決定工程では、取得された補正可動範囲に相当する当該の関節の軸値に基づき、補正可動範囲の外側の範囲に含まれる教示点を計測前教示点として取得する。また、計測教示点決定工程では、取得された補正可動範囲に相当する当該の関節の軸値に基づき、補正可動範囲と計測前教示点の間の範囲に含まれる教示点を計測教示点として取得する。
即ち、補正可動範囲の外側の経由点を計測前教示点として取得し、視覚センサ500で計測を行う計測教示点を、計測に基づく補正動作が行われる補正可動範囲と計測前教示点の間に取得する。そして、計測前教示点から計測教示点へとロボットアーム301を動作させ、計測教示点において視覚センサ500で行った計測に基づき補正可動範囲における動作を実行させる。
以上のようなロボット制御を行うことにより、本実施例では、各関節(J1〜J6)の反転(正逆転)が生じない補正動作を生成できるよう、視覚センサ500による計測を行う計測教示点を選択することができる。本実施例では、計測前教示点から計測教示点、さらに補正可動範囲へとロボットアーム301を動作させる際、特定の(あるいは全ての)関節が正逆転を挟むことなく一定の駆動方向で駆動されるよう制御される。このため、ロボットアーム301の各関節の駆動系のバックラッシュに起因する制御誤差を良好に抑制でき、正確かつ確実なワーク組付けを行うことができる。
なお、以上ではワーク(800)として、コネクタ付きケーブル(21)とコネクタ(16)のような組合せを例示した。しかしながら、上述のロボット制御技術は、操作されるワークの態様に限定されることなく、視覚センサ(500)で計測した結果に応じて把持したワークを補正するロボット装置であれば、任意のロボット装置に実施することができる。
<実施例2>
次に、本発明の実施例2に係るロボット制御について説明する。本実施例におけるロボット装置のハードウェア構成および制御の基本構成は、上述の実施例1で各図に示したものと同等であるものとする。
また、本実施例2でも、図9に示したロボット制御全体の流れは上述の実施例1と同等であるが、本実施例では、図9のステップS400で行う逆運動学計算の対象を変更する。上述の実施例1では、ステップS300で求めた図10(b)の組付補正範囲(MAX〜MIN)で取り得るロボットの位置姿勢(教示点)の全ての組合せについて逆運動学計算を行うものと説明した。
しかしながら、このような演算手法によると、CPU1201の演算量が多く計算にかかるリソースが増大する可能性がある。例えば、CPU1201として処理性能の高い品種が必要になったり、大容量のメモリ(例えばRAM1203ないしは仮想記憶)が必要になったりする可能性がある。
そこで、本実施例のステップS400では、図10(b)の組付補正範囲で取り得る位置姿勢全てではなく組付補正範囲の位置情報1502、姿勢情報1503の最大値および最小値(MAX、MIN)のみの全ての組合せにつき逆運動学計算を実行する。この組付補正範囲(MAX〜MIN)の位置姿勢(X、Y、Z、rX、rY、rZ)の最大および最小値(MAX、MIN)のみの全ての組合せは、図13のコラム1501に示すように、64(=2^6)通りの位置姿勢になる。
本実施例2では、上記のように逆運動学計算を実施することにより、計算量を大きく削減できる。従って、CPU1201が比較的低速な品種であっても、あるいはそれ程大きなメモリ(例えばRAM1203ないしは仮想記憶)容量を必要とせず、上述と同等のロボット制御を実施することができる。
<実施例3>
次に、本発明の実施例3に係るロボットシステム制御につき説明する。本実施例でも、ロボット装置のハードウェア構成および制御の基本構成は、上述の実施例1で各図に示したものと同等であるものとする。
また、本実施例3でも、図9に示したロボット制御全体の流れは上述の実施例1と同等であるが、図9に示すステップS900において、補正可動範囲(R2)の外側の経由点範囲の取得方法が異なる。また、図9のステップS1200では実施例1と異なる計測範囲を取得する。
上記の実施例1では、ステップS900において、経由点(計測前教示点)の範囲Jt[n]が図12(a)の補正可動範囲(R2)の場合、−180°<Jt[n] <θmin、θmax<J[n]≦180°の範囲(R1、R3)に取るものと説明した。
しかしながら、計測前教示点の取得(ないしは教示)において、経由点(計測前教示点)から計測教示点までの関節駆動量が非常に小さくなるような経由点(計測前教示点)が取得(ないしは教示)されてしまう可能性がある。この場合には、充分バックラッシュの片寄せが行えない動作となり、例えばバックラッシュに起因する制御誤差が働いている間に計測教示点が設定されてしまう可能性がある。即ち、経由点(計測前教示点)から計測教示点までにギヤのバックラッシュの角度θb以下の移動しか特定の関節が移動(回動)しない場合、経由点と補正可動範囲の間に計測教示点を取得する関係で、ギヤのバックラッシュ分の片寄せができない可能性がある。
この点を考慮し、本実施例3では、補正可動範囲(R2)の外側に取る経由点の範囲Jt[n]は図14(a)に示すように、少なくとも当該関節の駆動系のバックラッシュ相当の角度θb分だけ離間した補正可動範囲(R2)の両外側に配置する。なおバックラッシュ相当の関節駆動系の回転量は、当該関節に用いる変速機のバックラッシュのカタログ数値などから求めて、あらかじめROM1202などに格納しておくことができる。
その結果、本実施例では、上記のような制御によって、経由点の範囲Jt[n]は、補正可動範囲(R2)の両外側にバックラッシュ相当の角度θb分のギャップを挟んでR1’、R3’のように取得される。即ち、この経由点の範囲(R1’、R3’)は、−180°<Jt[n] <θmin−θb、θmax+θb<J[n]≦180°となる。
また、図9のステップS1200では、同様の理由から計測教示点の範囲(R4’)は、図14(b)に示すように、当該関節の計測前教示点の関節軸値Jb[n]から少なくともバックラッシュの角度θb分狭めた範囲に取る。
本実施例3では、以上のようにバックラッシュ相当の角度θbに相当する駆動量に基づき、経由点の範囲(R1’、R3’)、および計測教示点の範囲(R4’)を取得する。これにより、特に、計測前教示点から計測教示点まで把持物(コネクタ12)を移動させる際には、特定の関節が一定駆動方向に沿って駆動系のバックラッシュに相当する駆動量以上駆動されるよう制御される。また、計測教示点における計測の後、実際に補正動作が行われる補正可動範囲に入る際にも、特定の関節が一定駆動方向に沿って駆動系のバックラッシュに相当する駆動量以上駆動されるよう制御される。従って、本実施例によれば、経由点(計測前教示点)から計測教示点、あるいな計測教示点から補正可動範囲までの間の動作において関節駆動系のバックラッシュに起因する制御誤差に影響されずにロボットアーム301を動作させることができる。
<実施例4>
次に、本発明の実施例4に係るロボットシステム制御につき説明する。本実施例でも、ロボット装置のハードウェア構成および制御の基本構成は、上述の実施例1で各図に示したものと同等であるものとする。
本実施例4では、図9の制御手順を変形し、図15のフローチャートに示すような制御手順でロボット制御を行う。図15は、図9の制御手順にステップS1201〜S1204を追加したものである。以下では、実施例1で説明済みのステップS100〜ステップS1400については説明を省略し、ステップS1201〜S1204の処理についてのみ説明する。
図15追加されているステップS1201〜S1204は、ロボット装置300の配置された環境中の障害物との干渉を回避する制御(干渉演算)に相当する。この障害物は、ロボット装置300の配置環境中のロボット装置300とロボット装置300が取り扱うべきワーク(800)以外の物体で、例えば他のロボットや、室内の他の什器、設備などが考えられる。
図15のステップS1201では、障害物領域情報、即ちロボット装置300の配置環境で障害物が占めている空間領域に関する情報を設定する。障害物領域情報は、ロボット装置300の配置環境のグローバル座標系において障害物が占めている空間に相当する座標値のリストなどによって表現され、そのデータ格納形式は任意である。
障害物領域情報は、予めロボット装置300の配置環境の状態に応じて操作者(作業者ないし管理者)が数値入力やGUI操作を介して入力することができる。あるいは、視覚センサ500を利用してロボット装置300の配置環境を計測した、例えば画像情報の認識結果からCPU1201が生成することも考えられる。このようにして入力ないし生成された障害物領域情報は、図15の制御で用いる前段階では例えば外部記憶装置1204などに格納しておくことができる。そして、図15の制御を実行するに先立ってRAM1203(あるいは仮想記憶領域)などに展開される。
ロボットアーム301を動作させる場合、CPU1201は、ロボットアーム301、ロボットハンド302の躯体、さらに把持しているワーク(800)を障害物領域情報に記録された障害物が占めている空間に進入させないように制御する。
例えば、図15のステップS1202において、CPU1201は干渉確認を行う。この干渉確認は、ステップS1400など、その後のロボット動作でステップS1201で設定した障害物領域情報で表現された空間領域に、ロボット装置300ないしそれが把持したワーク(800)が進入しないように制御するために行う。例えば、現在のロボットアーム301の位置姿勢が障害物領域情報が示す障害物が占めている空間と干渉していないか判定する。このような演算は、グローバル座標値(ないしその範囲)の比較演算などにより行う。
また、ステップS1200で各関節(J1〜J6)について算出した計測範囲(図12(b)、図14(b)のR4やR4’)に相当するロボットアーム301の位置姿勢が障害物領域情報が示す障害物が占めている空間と干渉していないか判定する。さらに、また、この時、以後のロボット動作で用いるため、ロボット装置300ないしそれが把持したワーク(800)が進入できる空間領域と、障害物があり進入できない空間領域を識別する制御データを生成してもよい。
ステップS1203において、CPU1201は障害物との干渉の有無を確認する。特に、ここでは、算出した計測範囲(図12(b)、図14(b)のR4やR4’)に相当するロボットアーム301の位置姿勢が障害物領域情報が示す障害物が占めている空間と干渉していないかをチェックする。
もし、計測範囲に相当する位置姿勢と障害物が占めている空間が干渉している場合には、ステップS1204において、例えばその干渉を解消するよう各関節(J1〜J6)に関する計測範囲の干渉部分に相当する範囲を縮小する(狭める)。
ステップS1300では、実施例1あるいは実施例3で説明したように計測範囲(図12(b)、図14(b)のR4やR4’)において計測教示点を取得する。もちろん、ステップS1204を通過している場合には、計測範囲(図12(b)、図14(b)のR4やR4’)は障害物との干渉が生じないよう修正されている。従って、ロボット装置300の配置環境中の障害物と干渉を生じることがない計測教示点を取得することができる。
なお、ステップS1200において、ロボット装置300やワーク(800)が進入できる空間領域と、障害物があり進入できない空間領域を識別する制御データを生成している場合は、この制御データはステップS1400の組付制御においても利用できる。また、以上では、主に計測教示点の取得(S1300)に関して障害物の干渉回避を行う制御(干渉演算)を説明した。しかしながら、例えばステップS1201の障害物領域情報の設定は図15の制御手順の最初で実行しておくことができる。そして、その障害物領域情報を利用して、計測前教示点(経由点)の取得(S1100)、経由点範囲の算出(S900)などに関しても上述同様の障害物の干渉回避を行う制御を実行してもよい。また、本実施例4の障害物との干渉回避を行う制御は、例えば実施例2や実施例3の制御と併用することができる。
本発明は、上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
J1〜J6…関節、11…ケーブル、12…コネクタ、13…先端部、15…基板、16…コネクタ、21…コネクタ付キケーブル、22…中心軸、200…制御装置、300…ロボット装置、301…ロボットアーム、302…ロボットハンド、303…フィンガー、305、306…突起、500…視覚センサ、800…ワーク、1101…ベース部、1121〜1126…リンク、1201…CPU、1202…ROM、1203…RAM、1204…外部記憶装置、1205、1207、1208…インターフェース、1206…ネットワークインターフェース、1300…ティーチングペンダント、1301、1302…操作キー、1303…タッチパネル。

Claims (17)

  1. 関節を動作させることによって、取得したワークの位置または姿勢を変更可能なロボット装置と、前記ワークの位置または姿勢を計測する計測装置と、を備えたロボットシステムの制御方法であって、
    前記ロボットシステムは制御装置を備えており、
    前記制御装置は、
    前記計測装置の計測結果に基づき前記ワークの位置または姿勢を補正する場合において、補正後の目標位置として前記関節が取りうる位置の範囲外に前記関節を位置させた状態から、前記目標位置まで前記関節を一定方向に動作させる、
    ことを特徴とする制御方法。
  2. 請求項1に記載の制御方法において、
    前記制御装置は、
    前記ロボット装置により前記ワークを取得した際の前記関節の位置が、前記範囲に位置していた場合、前記範囲外に前記関節を位置させる、
    ことを特徴とする制御方法。
  3. 請求項1または2に記載の制御方法において、
    前記制御装置は、
    前記範囲外に前記関節を位置させた状態から、前記関節を一定方向に動作させながら、前記関節の位置が前記範囲に位置する前に、前記計測装置により前記ワークの位置または姿勢を計測し、前記関節を一定方向に動作させながら、前記ワークの位置または姿勢を補正する、
    ことを特徴とする制御方法。
  4. 請求項1からのいずれか1項に記載の制御方法において、
    前記制御装置は、
    前記ワークの位置または姿勢を補正する際、前記関節を一定方向に動作させ、かつ前記関節のバックラッシュに相当する動作量以上動作させる、
    ことを特徴とする制御方法。
  5. 請求項1からのいずれか1項に記載の制御方法において、
    前記制御装置は、
    前記ロボット装置により前記ワークが取得された状態における、前記ワークが取りうる位置または姿勢の誤差に基づき、前記範囲を取得する、
    ことを特徴とする制御方法。
  6. 請求項に記載の制御方法において、
    前記制御装置は、
    前記範囲の最大値および最小値に基づき、前記計測装置により前記ワークの位置または姿勢を計測する際の前記関節の位置を取得する、
    ことを特徴とする制御方法。
  7. 請求項1から6のいずれか1項に記載の制御方法において、
    前記ロボット装置に、
    前記ワークが取得された状態において、前記ワークの位置または姿勢を一定の範囲に規制する規制手段が設けられている、
    ことを特徴とする制御方法。
  8. 請求項1から7のいずれか1項に記載の制御方法において、
    前記制御装置は、
    前記ワークの位置または姿勢を補正する際、前記ロボット装置と、他の物体とが干渉しないよう、干渉の可能性を演算する干渉演算を行う、
    ことを特徴とする制御方法。
  9. 請求項1から8のいずれか1項に記載の制御方法において、前記関節が回転関節によって構成されている、
    ことを特徴とする制御方法。
  10. 請求項1から9のいずれか1項に記載の制御方法を実行させるための制御プログラム。
  11. 請求項10に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
  12. 関節を動作させることによって、取得したワークの位置または姿勢を変更可能なロボット装置と、前記ワークの位置または姿勢を計測する計測装置と、を備えたロボットシステムであって、
    制御装置が、
    前記計測装置の計測結果に基づき前記ワークの位置または姿勢を補正する場合において、補正後の目標位置として前記関節が取りうる位置の範囲外に前記関節を位置させた状態から、前記目標位置まで前記関節を一定方向に動作させる、
    ことを特徴とするロボットシステム。
  13. 請求項12に記載のロボットシステムにおいて、
    前記ロボット装置に、
    前記ワークが取得された状態において、前記ワークの位置または姿勢を一定の範囲に規制する規制手段が設けられている、
    ことを特徴とするロボットシステム。
  14. 請求項12または13に記載のロボットシステムにおいて、
    前記ロボット装置の教示を行う教示装置を備えており、
    前記教示装置は、
    前記ロボット装置により前記ワークを取得する際の前記関節の位置と、前記計測装置により前記ワークの位置または姿勢を計測する際の前記関節の位置とを入力する入力装置と、
    前記入力装置で入力された、前記ロボット装置により前記ワークを取得する際の前記関節の位置と、前記計測装置により前記ワークの位置または姿勢を計測する際の前記関節の位置と、が前記範囲外であるか否かを出力する出力装置と、を備えた、
    ことを特徴とするロボットシステム。
  15. 関節を動作させることによって、取得したワークの位置または姿勢を変更可能なロボット装置と、前記ワークの位置または姿勢を計測する計測装置と、を備えたロボットシステムを用いて物品の製造を行う物品の製造方法であって、
    制御装置が、
    前記計測装置の計測結果に基づき前記ワークの位置または姿勢を補正する場合において、補正後の目標位置として前記関節が取りうる位置の範囲外に前記関節を位置させた状態から、前記目標位置まで前記関節を一定方向に動作させ、前記ワークを他のワークに組み付ける、
    ことを特徴とする物品の製造方法。
  16. 請求項15に記載の物品の製造方法において、
    前記制御装置は、
    前記ロボット装置により前記ワークを取得した際の前記関節の位置が、前記範囲に位置していた場合、前記範囲外に前記関節を位置させる、
    ことを特徴とする物品の製造方法。
  17. 請求項15または16に記載の物品の製造方法において、
    前記制御装置は、
    前記範囲外に前記関節を位置させた状態から、前記関節を一定方向に動作させながら、前記関節の位置が前記範囲に位置する前に、前記計測装置により前記ワークの位置または姿勢を計測し、前記関節を一定方向に動作させながら、前記ワークの位置または姿勢を補正する、
    ことを特徴とする物品の製造方法。
JP2016122168A 2016-06-20 2016-06-20 制御方法、ロボットシステム、および物品の製造方法 Active JP6755724B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016122168A JP6755724B2 (ja) 2016-06-20 2016-06-20 制御方法、ロボットシステム、および物品の製造方法
US15/617,699 US10702989B2 (en) 2016-06-20 2017-06-08 Method of controlling robot apparatus, robot apparatus, and method of manufacturing article
EP17176298.2A EP3260244A1 (en) 2016-06-20 2017-06-16 Method of controlling robot apparatus, robot apparatus, and method of manufacturing article

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016122168A JP6755724B2 (ja) 2016-06-20 2016-06-20 制御方法、ロボットシステム、および物品の製造方法

Publications (3)

Publication Number Publication Date
JP2017226029A JP2017226029A (ja) 2017-12-28
JP2017226029A5 JP2017226029A5 (ja) 2019-11-21
JP6755724B2 true JP6755724B2 (ja) 2020-09-16

Family

ID=59077882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016122168A Active JP6755724B2 (ja) 2016-06-20 2016-06-20 制御方法、ロボットシステム、および物品の製造方法

Country Status (3)

Country Link
US (1) US10702989B2 (ja)
EP (1) EP3260244A1 (ja)
JP (1) JP6755724B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6506348B2 (ja) * 2017-06-14 2019-04-24 ファナック株式会社 ロボットの軌道を修正するロボットの教示装置
CN107379017B (zh) * 2017-06-19 2020-04-24 深圳市优必选科技有限公司 机器人及机器人肢体防抖的方法
US11141855B2 (en) * 2018-01-15 2021-10-12 Canon Kabushiki Kaisha Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
KR20200123816A (ko) * 2018-02-23 2020-10-30 구라시키 보세키 가부시키가이샤 선형물의 선단 이동 방법, 제어 장치, 및, 삼차원 카메라
JP7024579B2 (ja) * 2018-04-25 2022-02-24 セイコーエプソン株式会社 ロボット制御装置、ロボットシステムおよびロボット制御方法
JP6725587B2 (ja) 2018-05-18 2020-07-22 ファナック株式会社 バラ積みされたワークを取り出すロボットシステムおよびロボットシステムの制御方法
JP6823008B2 (ja) * 2018-05-18 2021-01-27 ファナック株式会社 バラ積みされたワークを取り出すロボットシステムおよびロボットシステムの制御方法
JP6673419B2 (ja) * 2018-09-19 2020-03-25 株式会社オートネットワーク技術研究所 配線部材
EP3646995A1 (de) 2018-10-29 2020-05-06 Siemens Aktiengesellschaft Vollautomatisierte montage und kontaktierung elektrischer bauteile
CN109676583B (zh) * 2018-12-03 2021-08-24 深圳市越疆科技有限公司 基于目标姿态深度学习视觉采集方法、学习系统及存储介质
JP7147571B2 (ja) * 2019-01-15 2022-10-05 オムロン株式会社 経路生成装置、経路生成方法、及び経路生成プログラム
JP2020121391A (ja) * 2019-01-31 2020-08-13 川崎重工業株式会社 ロボット及びその運転方法
JP7103967B2 (ja) 2019-02-06 2022-07-20 ファナック株式会社 情報処理装置及びプログラム
JP2020138293A (ja) * 2019-02-28 2020-09-03 セイコーエプソン株式会社 ロボットシステムおよび制御方法
JP2020138292A (ja) * 2019-02-28 2020-09-03 セイコーエプソン株式会社 ロボットシステムおよび制御方法
EP3725472A1 (de) * 2019-04-16 2020-10-21 Siemens Aktiengesellschaft Verfahren zum ermitteln einer trajektorie eines roboters
JP7329431B2 (ja) * 2019-05-22 2023-08-18 倉敷紡績株式会社 線状物ハンドリング方法、線状物転動ロボットハンドおよびロボットハンドシステム
JP7400644B2 (ja) * 2020-07-02 2023-12-19 株式会社デンソー 動作経路生成装置、動作経路生成方法および動作経路生成プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200018A (ja) 1993-12-27 1995-08-04 Toyoda Mach Works Ltd ロボットの制御装置
JP3711105B2 (ja) 2002-12-20 2005-10-26 ファナック株式会社 3次元計測装置
JP4174342B2 (ja) * 2003-02-19 2008-10-29 ファナック株式会社 ワーク搬送装置
WO2007080733A1 (ja) * 2006-01-13 2007-07-19 Matsushita Electric Industrial Co., Ltd. ロボットアームの制御装置及び制御方法、ロボット、及びプログラム
US20070276539A1 (en) * 2006-05-25 2007-11-29 Babak Habibi System and method of robotically engaging an object
US8676379B2 (en) * 2006-07-04 2014-03-18 Panasonic Corporation Device and method for controlling robot arm, robot, and robot arm control program
US8700215B2 (en) * 2009-01-13 2014-04-15 Panasonic Corporation Control apparatus and control method of elastic body actuator as well as control program thereof
CN102470531B (zh) * 2010-01-04 2016-01-20 松下知识产权经营株式会社 机器人、机器人的控制装置及控制方法
WO2013073683A1 (ja) * 2011-11-16 2013-05-23 日産自動車株式会社 接合体の製造方法およびその製造装置
JP2014104528A (ja) * 2012-11-27 2014-06-09 Canon Inc ロボットシステム及びロボットシステムの制御方法
JP6153316B2 (ja) * 2012-11-27 2017-06-28 キヤノン株式会社 ロボットシステム及びロボットシステムの制御方法
JP6164970B2 (ja) * 2013-08-07 2017-07-19 キヤノン株式会社 ロボット制御方法、ロボットシステム、プログラム、記録媒体及び部品の製造方法
SE537534C2 (sv) * 2013-08-27 2015-06-02 Cognibotics Ab Metod och system för bestämning av åtminstone en egenskap hos en manipulator
US9505133B2 (en) * 2013-12-13 2016-11-29 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program and recording medium
JP6380828B2 (ja) * 2014-03-07 2018-08-29 セイコーエプソン株式会社 ロボット、ロボットシステム、制御装置、及び制御方法
JP6700669B2 (ja) * 2015-04-07 2020-05-27 キヤノン株式会社 制御方法、ロボット装置、プログラム、記録媒体、及び物品の製造方法
JP6430986B2 (ja) 2016-03-25 2018-11-28 ファナック株式会社 ロボットを用いた位置決め装置

Also Published As

Publication number Publication date
JP2017226029A (ja) 2017-12-28
US10702989B2 (en) 2020-07-07
EP3260244A1 (en) 2017-12-27
US20170361464A1 (en) 2017-12-21

Similar Documents

Publication Publication Date Title
JP6755724B2 (ja) 制御方法、ロボットシステム、および物品の製造方法
JP7207851B2 (ja) 制御方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体
WO2018090323A1 (zh) 一种坐标系标定方法、系统及装置
JP3946711B2 (ja) ロボットシステム
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
US20200298411A1 (en) Method for the orientation of an industrial robot, and industrial robot
US20160184996A1 (en) Robot, robot system, control apparatus, and control method
EP2547490B1 (en) Calibration of a base coordinate system for an industrial robot
TW201736065A (zh) 用以決定機械手幾何性質的方法、限制裝置、及系統
Sharma et al. Motion perceptibility and its application to active vision-based servo control
US20140031982A1 (en) Robotic system and robot control device
JP2014151427A (ja) ロボットシステム及びロボットシステムの制御方法
WO2018196232A1 (zh) 机器人和末端执行器的自动标定方法及系统
JP4289619B2 (ja) 多関節ロボットのツール位置補正方法
US20190299418A1 (en) Method and device for evaluating calibration precision
JP3349652B2 (ja) オフラインティーチング方法
Khatamian Solving kinematics problems of a 6-dof robot manipulator
KR100644174B1 (ko) 로봇 용접의 보정방법
US20060136094A1 (en) Robot controller and robot control method
JP2006082170A (ja) キャリブレーション方法
JP2013158847A (ja) ロボット制御装置、ロボット制御方法、ロボット制御プログラムおよびロボットシステム
King et al. Vision guided robots for automated assembly
US20220134566A1 (en) Optimizing calibration with constraints between different coordinate frames
US11787044B2 (en) Display method
Jeon et al. Cost-effective calibration of collaborative robot arm with single wire encoder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191007

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200826

R151 Written notification of patent or utility model registration

Ref document number: 6755724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151