JP2020059105A - ロボット制御方法、物品の製造方法、ロボット装置、プログラム、及び記録媒体 - Google Patents

ロボット制御方法、物品の製造方法、ロボット装置、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP2020059105A
JP2020059105A JP2018193504A JP2018193504A JP2020059105A JP 2020059105 A JP2020059105 A JP 2020059105A JP 2018193504 A JP2018193504 A JP 2018193504A JP 2018193504 A JP2018193504 A JP 2018193504A JP 2020059105 A JP2020059105 A JP 2020059105A
Authority
JP
Japan
Prior art keywords
robot
finger
range
work
predetermined operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018193504A
Other languages
English (en)
Other versions
JP2020059105A5 (ja
JP7199903B2 (ja
Inventor
新吾 天野
Shingo Amano
新吾 天野
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 JP2018193504A priority Critical patent/JP7199903B2/ja
Priority to US16/597,170 priority patent/US12103179B2/en
Publication of JP2020059105A publication Critical patent/JP2020059105A/ja
Publication of JP2020059105A5 publication Critical patent/JP2020059105A5/ja
Application granted granted Critical
Publication of JP7199903B2 publication Critical patent/JP7199903B2/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/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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/37097Marker on workpiece to detect reference position
    • 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
    • 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/39322Force and 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/39Robotics, robotics to robotics hand
    • G05B2219/39532Gripping force sensor build into finger
    • 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
    • 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/40606Force, torque sensor in finger
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

【課題】物品の生産性を向上させる。【解決手段】ロボット制御装置400によりフィンガ、及びフィンガを駆動する駆動部を有するロボット100を制御して物品を製造する。ロボット制御装置400は、駆動部の駆動に応じた計測値と、目標値との差に基づいて、駆動部をフィードバック制御して、フィンガにワークW1を把持させる動作を開始する。ロボット制御装置400は、フィンガにワークW1を把持させる動作を開始した後であって、計測値が目標値を含む第1範囲内となって以降、ロボット100に所定の動作を開始させる。ロボット制御装置400は、ロボット100に所定の動作を開始させて以降、計測値が第1範囲とは異なる第2範囲を外れなければ、所定の動作が終了するまで、ロボット100に所定の動作を行わせる。【選択図】図1

Description

本発明は、ロボットの制御に関する。
カメラやプリンタなどの製品の組み立て動作を、ロボットで自動化する要求が高まっている。物品を組み立てる際、ワークを安定して把持するように、ロボットのフィンガを目標位置に位置決めする必要がある。特許文献1には、関節のモータに設けられたロータリエンコーダから得られるエンコーダ値を許容誤差の範囲内に収束させることで、把持動作を完了する技術が開示されている。
特開2014−46449号公報
しかし、特許文献1には、フィンガにワークを高精度に把持させるときの動作については記載されているが、その後のロボットの動作、例えばフィンガに把持させたワークを対象物に組み付ける動作時のフィンガの制御については、具体的には記載されていない。近年、ロボットを用いて製造される物品を構成する部品は、小型の精密部品となってきており、形状や材質なども、多岐に渡ってきている。ロボットには多能工化が要求されており、フィンガには、さまざまな形状や大きさのワークを把持することが要求されている。このような状況の中、ロボットには組み付け動作などの物品の生産に関わる動作を高速かつ高精度に行うことが求められている。
本発明は、物品の生産性を向上させることを目的とする。
本発明のロボット制御方法は、フィンガ、及び前記フィンガを駆動する駆動部を有するロボットを制御するロボット制御方法であって、前記駆動部の駆動に応じた計測値と、目標値との差に基づいて、前記駆動部をフィードバック制御して、前記フィンガにワークを把持させる動作を開始し、前記フィンガに前記ワークを把持させる動作を開始した後であって、前記計測値が前記目標値を含む第1範囲内となって以降、前記ロボットに所定の動作を開始させ、前記ロボットに前記所定の動作を開始させて以降、前記計測値が前記第1範囲とは異なる第2範囲を外れなければ、前記所定の動作が終了するまで、前記ロボットに前記所定の動作を行わせることを特徴とする。
本発明によれば、物品の生産性が向上する。
第1実施形態に係るロボット装置の説明図である。 第1実施形態に係るロボットハンドの斜視図である。 第1実施形態に係るロボット装置の制御系を示すブロック図である。 第1実施形態に係るハンド制御装置の機能ブロック図である。 第1実施形態に係るテーブルの一例を示す説明図である。 第1実施形態に係るモータ制御部の処理を説明するための図である。 第1実施形態に係るロボット制御方法を示すフローチャートである。 (a)及び(b)は、第1実施形態に係るロボット制御方法を説明するための図である。 第2実施形態に係るテーブルの一例を示す説明図である。 第3実施形態に係るロボットハンドの斜視図である。 第3実施形態に係るテーブルの一例を示す説明図である。 第4実施形態に係るロボット制御方法を示すフローチャートである。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係るロボット装置の説明図である。図1に示すロボット装置1000は、ロボット100と、ロボット100を制御する制御部の一例であるロボット制御装置400とを備える。ロボット100は、産業用ロボットである。ロボット100は、基台900上に配置されている。ロボット100は、ロボットアーム200と、ロボットハンド300とを有する。ロボットハンド300は、ロボットアーム200に取り付けられる。ロボット制御装置400には、ロボット100の動作を教示するための教示装置の一例であるティーチングペンダント700が接続可能である。基台900上には、例えば部品などのワークW1が載置されるワーク載置台S1、ワークW1の組み付け対象物であるワークW2を固定するワーク固定台S2が配置されている。本実施形態では、ワークW1は、凸部を有し、ワークW2は、ワークW1の凸部が嵌合する凹部を有する。
ロボット制御装置400は、ロボット100を制御することにより、ロボット100のロボットハンド300にワーク載置台S1上に載置されたワークW1を把持させる。ロボット制御装置400は、ロボット100を制御することにより、ロボットハンド300がワークW1を把持完了後、所定の動作としてワークW1をワークW2に組み付ける動作をロボット100に行わせ、物品を製造する。ロボット制御装置400は、ロボットアーム200を制御するアーム制御装置600と、ロボットハンド300を制御するハンド制御装置500とを備えている。アーム制御装置600とハンド制御装置500とが互いに通信を行い、ロボット100全体を制御する。
ロボットアーム200は、垂直多関節のロボットアームであり、複数の関節で連結された複数のリンクを備える。根元側のリンクは基台900に固定される。先端側のリンクには、ロボットハンド300が装着される。各関節には、駆動源である不図示のモータと、モータの回転軸の回転量に応じた信号を、アーム制御装置600に出力する不図示のロータリエンコーダとが配置されている。アーム制御装置600が、ロータリエンコーダの計測値に基づいてモータをフィードバック制御することにより、ロボットハンド300が目標の位置に移動するように、ロボットアーム200の姿勢を制御する。これにより、ロボットハンド300を、ワークW1を把持する位置、又はワークW1をワークW2に組み付ける位置に移動させることができる。
図2は、第1実施形態に係るロボットハンド300の斜視図である。ロボットハンド300は、ハンド本体部350と、開閉可能にハンド本体部350に支持された複数、例えば2つのフィンガ351,352と、を有する。
ハンド本体部350は、フィンガ351を駆動する駆動部の一例である駆動機構J1と、フィンガ352を駆動する駆動部の一例である駆動機構J2とを有する。フィンガ351,352は、例えば図1のワークW1を把持するのに用いられる。駆動機構J1は、モータ311と、モータ311の回転軸に固定されたピニオンギヤ321とを有する。フィンガ351は、ピニオンギヤ321と噛合するラック361を有する。駆動機構J2は、モータ312と、モータ312の回転軸に固定されたピニオンギヤ322とを有する。フィンガ352は、ピニオンギヤ322と噛合するラック362を有する。
モータ311の回転軸が回転することによってピニオンギヤ321が回転し、ピニオンギヤ321と噛合するラック361、即ちフィンガ351が、X1方向に直動する。モータ312の回転軸が回転することによってピニオンギヤ322が回転し、ピニオンギヤ322と噛合するラック362、即ちフィンガ352が、X1方向と平行なX2方向に直動する。各フィンガ351,352が互いに近接又は離間することで、ワークを把持又は解放することができる。フィンガ351,352によってワークの外側を把持する場合には、各フィンガ351,352を互いに近接させればよく、把持したこのワークを解放する場合には、各フィンガ351,352を互いに離間させればよい。また、フィンガ351,352によって例えばリング状のワークの内側を把持する場合には、各フィンガ351,352を互いに離間させればよく、把持したこのワークを解放する場合には、各フィンガ351,352を互いに近接させればよい。このように、フィンガ351,352にワークの内側を把持させるか外側を把持させるかによってフィンガ351,352の駆動方向が異なる。
モータ311には、ロータリエンコーダ331が設けられ、モータ312にはロータリエンコーダ332が設けられている。ロータリエンコーダ331は、モータ311の回転軸の回転量に応じた信号をハンド制御装置500に出力する。ロータリエンコーダ332は、モータ312の回転軸の回転量に応じた信号をハンド制御装置500に出力する。ロータリエンコーダ331,332は、インクリメンタル方式又はアブソリュート方式のエンコーダである。
図3は、第1実施形態に係るロボット装置の制御系を示すブロック図である。ロボット制御装置400は、コンピュータで構成されている。以下、ロボット制御装置400の構造の一例について説明する。本実施形態では、ロボット制御装置400は、それぞれ独立したコンピュータで構成されたアーム制御装置600とハンド制御装置500とを有する。
アーム制御装置600は、プロセッサとしてのCPU(Central Processing Unit)601を備える。アーム制御装置600は、記憶部の一例として、ROM(Read Only Memory)602、RAM(Random Access Memory)603を備える。アーム制御装置600は、入出力インタフェースであるI/O604と、ドライバユニット605と、を備える。CPU601、ROM602、RAM603、I/O604、及びドライバユニット605は、互いに通信可能にバスで接続されている。
ROM602には、CPU601に各種演算処理を実行させるためのプログラム610が格納されている。RAM603は、CPU601の演算処理結果等、各種データを一時的に記憶する記憶装置である。I/O604には、ハンド制御装置500、ティーチングペンダント700、データ書き換え可能なストレージである記憶装置810、通知部として画像を表示する表示装置815が接続可能である。なお、記憶装置810は、アーム制御装置600が内蔵していてもよい。ドライバユニット605は、フィードバックされた不図示のロータリエンコーダからの信号を受け、CPU601の指令に従い、図1に示すロボットアーム200の各関節のモータに供給する電流を調整し、ロボットアーム200の動作を制御する。
記憶装置810には、教示により作成されたロボットプログラムが格納され、CPU601がロボットプログラムを読み出して解釈することにより、ロボット100の軌道を生成する。CPU601は、生成した軌道データに従って、ドライバユニット605に、ロボットアーム200の各関節のモータのフィードバック制御に用いる目標値を示す指令を出力する。軌道データにロボットハンド300に対する指令が含まれる場合は、ハンド制御装置500に把持指令を示す番号のデータを出力する。
ハンド制御装置500は、プロセッサとしてのCPU501と、記憶部の一例である、ROM502及びRAM503と、入出力インタフェースであるI/O504と、ドライバユニット505と、を備える。CPU501、ROM502、RAM503、I/O504、及びドライバユニット505は、互いに通信可能にバスで接続されている。
ROM502には、CPU501に各種演算処理を実行させるためのプログラム510が格納されている。RAM503は、CPU501の演算処理結果等、各種データを一時的に記憶する記憶装置である。I/O504には、アーム制御装置600、データ書き換え可能なストレージである記憶装置820、記録ディスクドライブ830等が接続可能である。なお、記憶装置820は、ハンド制御装置500が内蔵していてもよい。ドライバユニット505は、モータ311を駆動制御するモータドライバ551、及びモータ312を駆動制御するモータドライバ552を含む。
モータドライバ551には、モータ311、ロータリエンコーダ331及び電流センサ341が電気的に接続されている。モータドライバ551は、ロータリエンコーダ331を用いてフィードバック制御の一例であるフィンガ351の位置制御を行うことができ、電流センサ341を用いてフィードバック制御の一例であるフィンガ351の力制御を行うことができる。ロータリエンコーダ331は、モータ311の回転軸の回転量に応じた信号をモータドライバ551に出力する。電流センサ341は、モータ311に供給される電流に応じた信号をモータドライバ551に出力する。モータドライバ551は、ロータリエンコーダ331から入力を受けた信号のパルス数などをカウントすることにより、計測値である計測エンコーダ値を求めることができる。計測エンコーダ値は、フィンガ351の位置に応じた値である。モータドライバ551は、電流センサ341から入力を受けた信号の電圧レベルなどにより、計測値の一例である計測電流値を求めることができる。計測電流値は、フィンガ351に作用した力に応じた値でもある。モータドライバ551は、計測値と目標値との差に基づいてモータ311に供給する電流を調整することで、モータ311をフィードバック制御し、計測値を目標値に近づけることができる。具体的には、モータドライバ551は、位置制御を行うようにCPU501から指示された場合は、計測エンコーダ値と、目標値としてCPU501から入力を受けた目標エンコーダ値との差に基づいて、モータ311をフィードバック制御する。また、モータドライバ551は、力制御を行うようにCPU501から指示された場合は、計測電流値と、目標値としてCPU501から入力を受けた目標電流値との差に基づいて、モータ311をフィードバック制御する。
モータドライバ552には、モータ312、ロータリエンコーダ332及び電流センサ342が電気的に接続されている。モータドライバ552は、ロータリエンコーダ332を用いてフィードバック制御の一例であるフィンガ352の位置制御を行うことができ、電流センサ342を用いてフィードバック制御の一例であるフィンガ352の力制御を行うことができる。モータドライバ552もモータドライバ551と同様の制御を行うため、詳しい説明は省略する。
記録ディスクドライブ830は、記録ディスク840に記録された各種データやプログラム等を読み出すことができる。なお、本実施形態では、コンピュータによって読み取り可能な記録媒体がROM502,602であり、ROM502,602にプログラム510,610が格納されるが、これに限定するものではない。プログラム510,610は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム510,610を供給するための記録媒体としては、記録ディスク840等を用いてもよい。具体的に例示すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。光ディスクは、例えばDVD−ROM、CD−ROM、CD−Rである。不揮発性メモリは、例えばUSBメモリ、メモリカード、ROMである。
図4は、第1実施形態に係るハンド制御装置500の機能ブロック図である。図3に示すCPU501は、プログラム510を実行することにより、図4に示す指令部530、モータ制御部541及びモータ制御部542として機能する。
RAM503には、図3の記憶装置820から読み出されたテーブル511が記憶される。テーブル511は、例えばロボット100の教示時に作業者によって作成され、予め記憶装置820に格納されている。なお、テーブル511は、外部コンピュータなどから取得するようにしてもよい。指令部530は、RAM503に記憶されたテーブル511を参照し、図3のアーム制御装置600から入力を受けた把持指令に従って各フィンガ351,352を駆動するモータ311,312の制御に用いる各種パラメータを決定する。指令部530は、決定したパラメータを各モータ制御部541,542に出力する。モータ制御部541は、指令部530から入力を受けたパラメータに基づいて目標値を求め、目標値を示す制御信号をモータドライバ551に出力する。モータ制御部542は、指令部530から入力を受けたパラメータに基づいて目標値を求め、目標値を示す制御信号をモータドライバ552に出力する。モータドライバ551は、目標値とフィードバックされる計測値との差に基づき、計測値を目標値に近づけるように、モータ311をフィードバック制御する。モータドライバ552は、目標値とフィードバックされる計測値との差に基づき、計測値を目標値に近づけるように、モータ312をフィードバック制御する。
ロボット制御装置400は、モータ311,312を位置制御又は力制御することが可能である。したがって、位置制御を行う場合、モータ制御部541,542は、目標値として目標エンコーダ値Aref1,Aref2をモータドライバ551,552へ出力する。モータドライバ551,552は、目標エンコーダ値Aref1,Aref2と、ロータリエンコーダ331,332からの信号に基づいて求めた計測エンコーダ値A1,A2との差に基づき、モータ311,312をフィードバック制御する。モータドライバ551,552は、計測エンコーダ値A1,A2をモータ制御部541,542へ出力する。力制御を行う場合、目標値として目標電流値Iref1,Iref2をモータドライバ551,552へ出力する。モータドライバ551,552は、目標電流値Iref1,Iref2と、電流センサ341,342からの信号に基づいて求めた計測電流値I1,I2との差に基づき、モータ311,312をフィードバック制御する。モータドライバ551,552は、計測電流値I1,I2をモータ制御部541,542へ出力する。
以下、モータ311,312を位置制御する場合を例にテーブル511について具体的に説明する。図5は、第1実施形態に係るテーブル511の一例を示す説明図である。テーブル511では、ロボットハンド300の制御の全体的な設定として、把持指令の番号に対し、制御内容、把持パターン、及び切換条件が対応付けされている。また、テーブル511では、駆動機構J1の制御の設定として、把持指令の番号に対し、フィンガ351の目標位置Xref1、目標位置Xref1に対する幅Ea1、及び目標位置Xref1に対する幅Eb1が対応付けされている。また、テーブル511では、駆動機構J2の制御の設定として、把持指令の番号に対し、フィンガ352の目標位置Xref2、目標位置Xref2に対する幅Ea2、及び目標位置Xref2に対する幅Eb2が対応付けされている。
制御内容は、各駆動機構J1,J2のモータを位置制御するか力制御するかを示す情報である。位置制御は、フィンガの位置を目標位置に近づけるフィードバック制御のことである。力制御は、フィンガに作用する力を目標力に近づけるフィードバック制御のことである。図5において、位置制御を「P」、力制御を「F」とし、各駆動機構J1,J2のモータそれぞれに対して「P」又は「F」の制御が設定される。これら制御の組み合わせのパターンは、「PP」、「FP」の2種類であるのが好ましい。「PP」は、駆動機構J1,J2のモータ全てを位置制御することを示し、「FP」は、駆動機構J1のモータを力制御、駆動機構J2のモータを位置制御することを示す。
把持パターンには、フィンガ351,352にワークの外側を把持させるパターンG1と、フィンガ351,352にワークの内側を把持させるパターンG2の2パターンがある。
切換条件は、フィンガの位置制御に関して、幅Ea1,Ea2から幅Eb1,Eb2へ切り換える条件であり、本実施形態では、条件「A」と条件「B」とがある。条件「A」は、「フィンガの位置決めが完了した時点から所定時間(例えば0秒)が経過」である。条件「B」は、「アーム制御装置600からの切換信号を受信」である。条件「B」の場合、アーム制御装置600は、ロボットプログラムを解釈することにより、切換信号を送信するタイミングを決定することになる。アーム制御装置600は、切換信号として、例えばワークの搬送、又は組立状態を信号として送信する。
フィンガの目標位置Xref1,Xref2は、フィンガを基準位置に対してストロークさせる移動量である。幅Ea1,Ea2は、目標位置Xref1,Xref2に対して位置決めが完了したとみなす幅である。よって、フィンガ351,352にワークW1を把持させる場合、Xref1±Ea1がフィンガ351の位置決めが完了する範囲であり、Xref2±Ea2がフィンガ352の位置決めが完了する範囲である。以下、Xref1±Ea1,Xref2±Ea2を「完了範囲」ともいう。完了範囲であるXref1±Ea1は、目標位置Xref1を含む範囲であり、完了範囲であるXref2±Ea2は、目標位置Xref2を含む範囲である。例えば、フィンガ351の目標位置Xref1を20[mm]、幅Ea1を5[μm]とした場合、20±0.005[mm]がフィンガ351の位置決めの完了範囲となる。即ち、モータ311の計測エンコーダ値から換算されるフィンガ351の位置が19.995[mm]〜20.005[mm]の範囲にあるとき、フィンガ351の位置決めが完了する。また、完了範囲内にフィンガ351,352が所定の時間、位置すれば位置決め完了と判定させてもよい。
幅Eb1,Eb2は、フィンガの位置決めが完了した後、ロボット100に行わせる所定の動作時、例えばワークW1をワークW2に組み付ける動作時に、どれだけフィンガの位置がずれてもよいかを決める幅である。よって、フィンガ351,352に把持させたワークW1をワークW2に組み付ける場合、Xref1±Eb1がフィンガ351に許容される範囲であり、Xref2±Eb2がフィンガ352に許容される範囲である。以下、Xref1±Eb1,Xref2±Eb2を「許容範囲」ともいう。許容範囲であるXref1±Eb1は、目標位置Xref1を含む範囲であり、許容範囲であるXref2±Eb2は、目標位置Xref2を含む範囲である。許容範囲であるXref1±Eb1,Xref2±Eb2は、完了範囲であるXref1±Ea1,Xref2±Ea2とは異なる範囲である。例えば、フィンガ351の目標位置Xref1を20[mm]、幅Eb1を100[μm]とした場合、20[mm]±0.1[mm]がフィンガ351の許容範囲となる。即ち、モータ311のエンコーダ値から換算されるフィンガ351の位置が19.9[mm]〜20.1[mm]の許容範囲内にあるとき、ロボット100による組み付け動作が続行される。フィンガ351の位置が19.9[mm]〜20.1[mm]の許容範囲を外れたとき、エラーとして、ロボット100の動作を停止させる。
図4に示す指令部530は、テーブル511を参照し、アーム制御装置600から入力を受けた把持指令の番号に対応する制御内容(「P」又は「F」)、目標位置Xref1、幅Ea1、幅Eb1の情報を、モータ制御部541へ送る。同様に、指令部530は、テーブル511を参照し、アーム制御装置600から入力を受けた把持指令の番号に対応する制御内容(「P」又は「F」)、目標位置Xref2、幅Ea2、幅Eb2の情報を、モータ制御部542へ送る。
図6は、第1実施形態に係るモータ制御部541の処理を説明するための図である。モータ制御部541は、指令部530から受けた制御内容が「P」である場合には、フィンガ351の目標位置Xref1を、目標エンコーダ値Aref1に換算する。この目標エンコーダ値Aref1が、モータドライバ551に指令する目標値となる。モータ制御部541は、目標エンコーダ値Aref1を、モータドライバ551に出力する。目標エンコーダ値Aref1を受けたモータドライバ551は、計測エンコーダ値A1と目標エンコーダ値Aref1との差に基づいてモータ311をフィードバック制御する。モータ制御部541は、フィンガにワークW1を把持させる際には、計測エンコーダ値A1を位置に換算した値がXref1±Ea1である完了範囲R10内にあるか否かを判定する。モータ制御部541は、ワークW1をワークW2に組み付ける際には、計測エンコーダ値を位置に換算した値が、完了範囲R10とは異なるXref1±Eb1である許容範囲R20内にあるか否かを判定する。本実施形態では、許容範囲R20は、完了範囲R10を包含する、完了範囲R10よりも広い範囲である。モータ制御部542についても、モータ制御部541と同様の処理をするため、説明を省略する。
ここで、幅Ea1をエンコーダ値に換算した値をBa1、幅Eb1をエンコーダ値に換算した値をBb1とする。よって、Xref1±Ea1である完了範囲R10と、Aref1±Ba1である範囲(第1範囲)R1とは対応関係にある。Xref1±Eb1である許容範囲R20と、Aref1±Bb1である範囲(第2範囲)R2とは対応関係にある。したがって、計測エンコーダ値をフィンガ351の位置に換算した値が完了範囲R10内にあるか否かを判定する処理は、計測エンコーダ値が範囲R1内にあるか否かを判定していることと等価である。同様に、計測エンコーダ値をフィンガ351の位置に換算した値が許容範囲R20内にあるか否かを判定する処理は、計測エンコーダ値が範囲R2内にあるか否かを判定していることと等価である。本実施形態では、範囲R2は、範囲R1を包含する、範囲R1よりも広い範囲である。完了範囲R10、即ち範囲R1は、教示などで予め設定される範囲であり、許容範囲R20、即ち範囲R2は、教示などで予め設定される範囲である。
ロボット制御装置400によるロボット100の制御方法、即ちロボット100を制御して物品を製造する製造方法について具体的に説明する。駆動機構J2の制御は、駆動機構J1の制御と同様であるため、説明を省略する。そして、アーム制御装置600が出力する把持指令の番号が「2」である場合を例に説明する。図7は、第1実施形態に係るロボット制御方法を示すフローチャートである。図8(a)及び図8(b)は、第1実施形態に係るロボット制御方法を説明するための図である。
アーム制御装置600は、軌道データに従い、ロボットアーム200の動作を制御して、ロボットハンド300にワークW1を把持させることが可能な位置まで、ロボットハンド300を移動させる。アーム制御装置600は、把持指令を示す番号の情報を、ハンド制御装置500に出力する。
ハンド制御装置500は、把持指令の番号に対応したパラメータを、RAM503に記憶されたテーブル511から読み出す(S11)。パラメータは、把持指令の番号毎に対応した、制御内容、把持パターン、切換条件、各駆動機構J1,J2の目標位置Xref1,Xref2、幅Ea1,Ea2、幅Eb1,Eb2の情報である。
ハンド制御装置500は、アーム制御装置600からの把持指令を実行して、フィンガ351による把持動作を開始する(S12)。即ち、ハンド制御装置500は、読み出したパラメータに従って、フィンガ351にワークW1を把持させる動作を開始させる。具体的には、ハンド制御装置500は、モータ311の駆動に応じた計測エンコーダ値A1と、目標エンコーダ値Aref1との差に基づいて、モータ311をフィードバック制御して、フィンガ351にワークW1を把持させる動作を開始させる。フィンガ351は、X1方向に駆動され、ワークW1に接触する。把持指令の番号が「2」であるので、目標位置Xref1は20[mm]である。よって、フィンガ351の位置決めの完了範囲R10は、Xref1±Ea1=20[mm]±5[μm]である。
ハンド制御装置500は、ロータリエンコーダ331の信号に基づく計測エンコーダ値からフィンガ351の位置を求め、求めた位置が、完了範囲R10内にあるかどうかを判定する(S13)。求めた位置が完了範囲R10内に含まれていなければ(S13:NO)、ステップS13を繰り返し、求めた位置が完了範囲R10内に含まれれば(S13:YES)、次のステップS14へ進む。図8(a)には、フィンガ351が目標位置Xref1に対して幅Ea1内に収まった状態を図示している。これにより、ワークW1はフィンガによって所定の力で把持されることになる。
なお、このステップS13における判定処理は、これに限定するものではなく、例えば、エンコーダ値をフィンガの位置に変換せずに、計測エンコーダ値A1が、目標エンコーダ値Aref1を含む範囲R1内にあるかどうかを判定してもよい。計測エンコーダ値A1が範囲R1内となれば、フィンガ351の位置は完了範囲R10内となり、計測エンコーダ値A1が範囲R1から外れていれば、フィンガ351の位置は完了範囲R10から外れていることになる。即ち、計測エンコーダ値A1が目標エンコーダ値Aref1を含む範囲R1内であれば、判定指標が何であれ、次のステップS14へ進むことになる。またさらに精度を求めるならば、フィンガが完了範囲内に所定の時間、位置するという条件を判定条件に加えても良い。
以上の制御により、ワークW1は、フィンガ351,352に高精度に位置決めされた状態で把持される。ステップS14において、ハンド制御装置500は、把持動作が完了したことを示す情報を、アーム制御装置600へ出力する。アーム制御装置600は、この情報を受けて、フィンガに把持させたワークW1をワークW2に組み付ける所定の動作を開始する位置(図8(b))へ、ロボットハンド300を移動させる。
ワークW1をワークW2に組み付ける際、ワークW1を把持するフィンガ351には、図8(b)に示すように、組み付けX3方向とは反対の方向に、ワークW2から組み付け力Fを受ける。これにより、フィンガ351は、X3方向とは反対の方向に移動しようとする。フィンガ351を駆動するモータ311は、フィンガ351が目標位置Xref1に移動するようにフィードバック制御されているが、組み付け力Fによってずれが生じる。このフィンガ351のずれは、組み付け精度に大きな影響を及ぼすものではなく、ワークW1をワークW2に組み付ける際に生じる必然的なものである。
そこで、本実施形態では、ハンド制御装置500は、読み出した切換条件、把持指令の番号「2」では切換条件「B」に従って、幅Ea1である5[μm]から幅Eb1である100[μm]へ計測値の判定に用いる範囲を切り換える(S15)。アーム制御装置600は、組み付けを開始する位置へロボットハンド300の移動が完了したとき、ハンド制御装置500に信号を出力する。番号「2」の場合、切換条件「B」であるので、ハンド制御装置500は、アーム制御装置600から信号の入力を受けるまでの間、待機する。ハンド制御装置500は、アーム制御装置600からの信号の入力を受けて、判定に用いる範囲を、完了範囲R10から許容範囲R20に切り換える。
アーム制御装置600は、ロボット100、具体的にはロボットアーム200に、ワークW1をワークW2に組み付ける所定の動作を開始させる(S16)。即ち、アーム制御装置600は、フィンガにワークW1を把持させる動作を開始した後であって、計測エンコーダ値A1が目標エンコーダ値Aref1を含む範囲R1内となって以降、組み付け動作をロボットアーム200に開始させる。図8(b)の例では、X1方向と平行なX3方向にワークW1を移動させてワークW1をワークW2に組み付ける。
ハンド制御装置500は、計測エンコーダ値A1をフィンガ351の位置に換算し、換算した値が許容範囲R20内かどうかを判定する(S17)。フィンガ351の位置が許容範囲R20内であれば(S17:YES)、エラーは無いので、ステップS18へ進む。フィンガ351の位置が許容範囲R20を外れた場合(S17:NO)、ハンド制御装置500は、アーム制御装置600へエラー信号を出力し、アーム制御装置600はロボット100の動作、即ちロボットアーム200の動作を停止する(S19)。エラー信号を受信したアーム制御装置600は、図3に示す表示装置815にその旨を示す画像を表示させて、ユーザにエラーが発生したことを通知するようにしてもよい。ステップS18では、ハンド制御装置500は、次の把持動作を示す把持指令を受信したかどうかを判定する。ハンド制御装置500は、次の把持指令を受信した場合(S18:YES)、次の把持指令を実行するため、今の把持指令を終了する。ハンド制御装置500は、次の把持指令を受信していない場合(S18:NO)、ステップS17に戻る。
なお、このステップS17における判定処理は、これに限定するものではなく、例えば、フィンガの位置をエンコーダ値に変換せずに、計測エンコーダ値A1が、図6に示す目標エンコーダ値Aref1を含む範囲R2内にあるかどうかを判定してもよい。計測エンコーダ値A1が範囲R2内であれば、フィンガ351の位置は許容範囲R20内となり、計測エンコーダ値A1が範囲R2から外れた場合には、フィンガ351の位置は許容範囲R20から外れていることになる。即ち、計測エンコーダ値A1が目標エンコーダ値Aref1を含む範囲R2を外れなければ、判定指標が何であれ、ステップS18へ進み、計測エンコーダ値A1が範囲R2を外れる場合、判定指標が何であれ、ステップS19へ進むことになる。
以上、ロボット制御装置400は、ロボット100にワークW1をワークW2に組み付ける所定の動作を開始させて以降、計測エンコーダ値A1が、範囲R2を外れなければ、組み付け動作が終了するまで、ロボット100に組み付け動作を行わせる。また、ロボット制御装置400は、ロボット100に組み付け動作を開始させて以降、計測エンコーダ値が範囲R2を外れる場合、ロボット100に組み付け動作を停止させる。
このように、ワークW1の組み付け時には、フィンガの位置判定を行う範囲を範囲R1から範囲R2へ変更することにより、ワークW1の組み付け時に不要なエラーでロボット100による物品の生産を停止することが少なくなる。よって、物品の生産性が向上する。計測エンコーダ値が範囲R2を外れる場合、ロボット100に動作を停止させるので、信頼性が向上する。
また、ワークW1の組み付け時にフィンガ351の位置の許容範囲が広がるので、ロボットハンド300を軽量化することができ、高精度にワークW1をワークW2に組み付けることができる。
[第2実施形態]
第2実施形態に係るロボット制御について説明する。図9は、第2実施形態に係るテーブルの一例を示す説明図である。なお、第2実施形態におけるロボット装置の構成は、第1実施形態で説明した図1〜図4と同様であるため、説明を省略する。上述の第1実施形態では、幅Eb1、即ち許容範囲R20(範囲R2)を、教示などにより予め作業者等が設定する場合について説明した。本第2実施形態では、フィンガ351に把持動作を行わせるときに幅Eb1、即ち許容範囲R20(範囲R2)を自動で設定する場合について説明する。
第2実施形態では、図5に示すテーブル511の代わりに図9に示すテーブル511Aを用いる。テーブル511Aについて具体的に説明する。テーブル511Aは、図5に示すテーブル511と異なり、幅Eb1(Eb2)を設定する項目がない。なお、切換条件として、条件「C」が追加されていてもよい。条件「C」は、「幅Ea1で位置制御し続ける」である。
ロボット制御装置400の制御方法について具体的に説明する。駆動機構J2の制御は、駆動機構J1の制御と同様であるため、説明を省略する。そして、アーム制御装置600が出力する把持指令の番号が「4」である場合を例に説明する。第2実施形態では、図7に示すフローチャートのうち、ステップS15における切換の処理が第1実施形態と異なる。以下、このステップS15の処理について説明する。
第2実施形態では、ハンド制御装置500は、幅Eb1を求め、読み出した切換条件、把持指令の番号「4」では切換条件「B」に従って、幅Ea1である5[μm]から求めた幅Eb1へ計測値の判定に用いる範囲を切り換える。アーム制御装置600は、組み付けを開始する位置へロボットハンド300の移動が完了したとき、ハンド制御装置500に信号を出力する。番号「2」の場合、切換条件「B」であるので、ハンド制御装置500は、アーム制御装置600から信号の入力を受けるまでの間、待機する。ハンド制御装置500は、アーム制御装置600からの信号の入力を受けて、判定に用いる範囲を、完了範囲R10から許容範囲R20に切り換える。
以下、幅Eb1を求める処理について具体的に説明する。各駆動機構J1,J2の減速比をN、各モータ311,312のトルク定数をK、ピニオンギヤ321,322のギヤ半径をRとする。フィンガ351に把持動作を行わせたときのプロファイルから、ワークW1及びフィンガ351の剛性を計算し、幅Eb1を計算することができる。プロファイルは、モータ311の計測電流値I1と計測エンコーダ値A1の時刻歴応答である。このプロファイルのうち、フィンガ351がワークW1に接触するときの計測エンコーダ値A1をA1とする。エンコーダ値A1は、計測電流値I1の変化から求めることができる。例えば、予めフィンガ351がワークW1に接触したと判定する計測電流値I1の値を閾値として設定しておき、計測電流値I1がその閾値を超えたときに接触したと判定し、そのときの計測エンコーダ値A1をA1とすればよい。フィンガ351の位置決めが完了するときの計測電流値I1をI1、計測エンコーダ値A1をA1とする。ワークW1及びフィンガ351の剛性係数をKとすると、剛性係数Kは、式(1)で示される。
K=N×K×I1/(R×Δx) (1)
ただし、Δxは、エンコーダ値A1から換算されるフィンガ351の位置xとエンコーダ値A1から換算されるフィンガ351の位置xと差である。つまり、把持力によるフィンガ351の変位量である。
最大電流値をImaxとし、幅Eb1は、式(2)で示される。
Eb1=N×K×Imax/(R×K) (2)
式(1)と式(2)により、幅Eb1は、式(3)で示される。
Eb1=Δx×Imax/I1 (3)
最大電流値Imaxは、予め設定される定数であり、例えば教示者がモータ311の性能に応じて決めておけばよい。なお、フィンガ351の変位量Δxは、計測電流値I1と計測エンコーダ値A1のプロファイルからハンド制御装置500が求めるようにしてもよいが、予め実験などを行って求めておき、定数として設定してもよい。
本実施形態では、ハンド制御装置500は、幅Eb1を、計測エンコーダ値A1が範囲R1となった時、即ちフィンガ351の位置決めが完了したときの電流値I1に応じて設定する。そして、ハンド制御装置500は、第1実施形態と同様、幅Eb1から、範囲R2に対応する許容範囲R20を求める。このように、教示者が幅Eb1を直接設定する必要がないので、教示者の手間を省くことができる。
以上、第2実施形態においても、ワークW1の組み付け時には、フィンガの位置判定を行う範囲を範囲R1から範囲R2へ変更することにより、ワークW1の組み付け時に不要なエラーでロボット100による物品の生産を停止することが少なくなる。よって、物品の生産性が向上する。計測エンコーダ値が範囲R2を外れる場合、ロボット100に動作を停止させるので、信頼性が向上する。
また、ワークW1の組み付け時にフィンガ351の位置の許容範囲が広がるので、ロボットハンド300を軽量化することができ、高精度にワークW1をワークW2に組み付けることができる。
[第3実施形態]
第3実施形態に係るロボット制御について説明する。第1及び第2実施形態では、フィンガの位置に関して判定処理を行う場合について説明したが、第3実施形態では、フィンガに作用する力に関して判定処理を行う。第3実施形態では、ロボットアーム及びロボット制御装置は、第1実施形態と同様であるため、説明を省略する。第3実施形態では、ロボットハンドの構成、及びテーブルが第1実施形態と異なる。図10は、第3実施形態に係るロボットハンドの斜視図である。図11は、第3実施形態に係るテーブルの一例を示す説明図である。
図10に示すように、第3実施形態のロボットハンド300Bは、第1実施形態と同様、ハンド本体部350と、2つのフィンガ351,352とを有する。更に、第3実施形態のロボットハンド300Bは、フィンガ351に設けられた力センサ391を有する。フィンガ351に力センサ391を設けたことにより、フィンガ351に作用する把持方向であるX1方向の力を計測することができる。力センサ391は、歪ゲージ、又は圧電素子等である。
本実施形態では、図3に示すハンド制御装置500のモータドライバ551は、力センサから入力を受けた信号により得られる計測力と目標値である目標把持力との差に基づき、モータ311をフィードバック制御する。計測値は、フィンガ351に作用した力に応じた値である。
第3実施形態では、図5に示すテーブル511の代わりに、図11に示すテーブル511Bを用いる。テーブル511Bについて具体的に説明する。テーブル511Bは、図5に示すテーブル511と異なり、目標把持力であるFref1、目標把持力Fref1に対する幅Ec1、及び目標把持力Fref1に対する幅Ed1が追加されている。以下、把持指令の番号が「6」である場合について、フィンガ351を駆動する駆動機構J1を例に説明する。
目標把持力Fref1は、フィンガ351に作用する力の目標値である。幅Ecは、目標把持力Fref1に対して位置決めが完了したとみなす幅である。よって、フィンガ351,352にワークW1を把持させる場合、Fref1±Ec1がフィンガ351の位置決めが完了する第1範囲である。Fref1±Ec1を「完了範囲」ともいう。完了範囲であるFref1±Ec1は、目標把持力Fref1を含む範囲である。例えば、フィンガ351の目標把持力Fref1を10[N]、幅Ec1を2[N]とした場合、10±2[N]がフィンガ351の位置決めの完了範囲となる。即ち、力センサ391が出力する信号から、力の値である計測力が求まる。計測力が8[N]〜12[N]の範囲にあるとき、フィンガ351の位置決めが完了する。
幅Ed1は、フィンガ351の位置決めが完了した後、ロボット100に行わせる所定の動作時、例えばワークW1をワークW2に組み付ける動作時に、どれだけフィンガに作用する力がずれてもよいかを決める幅である。よって、フィンガ351,352に把持させたワークW1をワークW2に組み付ける場合、Fref1±Ed1がフィンガ351に許容される第2範囲である。以下、Fref1±Ed1を「許容範囲」ともいう。
許容範囲であるFref1±Ed1は、目標把持力Fref1を含む範囲である。許容範囲であるFref1±Ed1は、完了範囲であるFref1±Ec1とは異なる範囲である。例えば、フィンガ351の目標把持力Fref1を10[N]、幅Ed1を5[N]とした場合、10[N]±5[N]がフィンガ351の許容範囲となる。即ち、フィンガ351に作用する力が5[N]〜15[N]の許容範囲内にあるとき、ロボットによる組み付け動作が続行される。フィンガ351に作用する力が5[N]〜15[N]の許容範囲を外れたとき、エラーとして、ロボットの動作を停止させる。
即ち、本第3実施形態では、ロボット制御装置400は、第1実施形態において説明した図7のフローチャートに従ってロボットを制御するが、ステップS13及びステップS17の判定処理が第1実施形態と異なる。以下、第3実施形態におけるステップS13及びステップS17の判定処理について説明する。
ステップS13において、ハンド制御装置500は、力センサ391の信号に基づく計測力が、10[N]±2[N]である、フィンガ351の位置決めの完了範囲内にあるかどうかを判定する。計測力が完了範囲内に含まれていなければ(S13:NO)、ステップS13を繰り返し、計測力が完了範囲内に含まれれば(S13:YES)、次のステップS14へ進む。これにより、フィンガ351によるワークW1の把持が完了する。この制御により、ワークW1は、フィンガ351,352に高精度に位置決めされた状態で把持される。
ステップS17において、ハンド制御装置500は、力センサ391の信号に基づく計測力が、10[N]±5[N]である許容範囲内かどうかを判定する。計測力が許容範囲内であれば(S17:YES)、エラーは無いので、ステップS18へ進む。計測力が許容範囲を外れた場合(S17:NO)、ハンド制御装置500は、アーム制御装置600へエラー信号を出力し、アーム制御装置600はロボットの動作、即ちロボットアーム200の動作を停止する(S19)。エラー信号を受信したアーム制御装置600は、図3に示す表示装置815にその旨を示す画像を表示させて、ユーザにエラーが発生したことを通知するようにしてもよい。
以上、第3実施形態では、ロボット制御装置400は、ロボット100にワークW1をワークW2に組み付ける所定の動作を開始させて以降、計測力が、許容範囲を外れなければ、組み付け動作が終了するまで、ロボット100に組み付け動作を行わせる。また、ロボット制御装置400は、ロボット100に組み付け動作を開始させて以降、計測力が許容範囲を外れる場合、ロボットに組み付け動作を停止させる。
このように、ワークW1の組み付け時には、フィンガの力判定を行う範囲を変更することにより、ワークW1の組み付け時に不要なエラーでロボットによる物品の生産を停止することが少なくなる。よって、物品の生産性が向上する。計測力が許容範囲を外れる場合、ロボットの動作を停止させるので、信頼性が向上する。
また、ワークW1の組み付け時にフィンガ351に作用する力の許容範囲が広がるので、ロボットハンド300Bを軽量化することができ、高精度にワークW1をワークW2に組み付けることができる。
なお、本第3実施形態では、力センサ391の値を用いて力制御する場合について述べたが、第1実施形態と同様、モータ311の電流値を用いてもよい。
[第4実施形態]
第4実施形態に係るロボット制御について説明する。図12は、第4実施形態に係るロボット制御方法を示すフローチャートである。なお、第4実施形態におけるロボット装置の構成は、第1実施形態で説明した図1〜図4と同様であるため、説明を省略する。また、テーブルは、第2実施形態で説明した図9に示すテーブル511Aを用いるものとして説明する。更に、駆動機構J2の制御は、駆動機構J1の制御と同様であるため、説明を省略する。そして、アーム制御装置600が出力する把持指令の番号が「4」である場合を例に説明する。
ステップS11〜S16は、第1実施形態で説明した図7のフローチャートと同様である。第4実施形態では、ステップS16の処理の後、図7のステップS17,S19の処理がなく、ステップS18の処理に移行する。
第4実施形態では、ロボット制御装置400は、ロボット100に組み付け動作を開始させて以降、計測エンコーダ値が図6の範囲R1から外れるか否かにかかわらず、組み付け動作が終了するまで、ロボット100に組み付け動作を行わせる。即ち、ロボット制御装置400は、ロボット100に組み付け動作を開始させて以降、フィンガの位置が図6のフィンガの位置決めの完了範囲R10から外れるか否かにかかわらず、組み付け動作が終了するまで、ロボット100に組み付け動作を行わせる。換言すると、ロボット制御装置400は、ロボット100に組み付け動作を開始させて以降、計測値を監視しないため、エラーでロボット100の動作を停止させることはない。このような制御を行うことにより、ロボットハンド300を軽量化することができ、フィンガ351に組み付け力がかかっても、エラーとならずに高精度にワークW1をワークW2に組み付けることができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。また、各実施形態で取り上げた数値は、参考数値であって、本発明を限定するものではない。
第1〜第4実施形態では、ロボットアーム200が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアームが、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
第1〜第4実施形態では、ロボットハンドが有する、モータに駆動されるフィンガが2つの場合について説明したが、これに限定するものではなく、1つであってもよいし、3つ以上であってもよい。
第1〜第4実施形態では、ロボットに行わせる所定の動作として、ワークW1をワークW2に組み付ける動作について説明したが、これに限定するものではなく、別の動作であってもよい。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…ロボット、200…ロボットアーム、300…ロボットハンド、351…フィンガ、352…フィンガ、400…ロボット制御装置(制御部)、1000…ロボット装置、J1…駆動機構(駆動部)、J2…駆動機構(駆動部)

Claims (16)

  1. フィンガ、及び前記フィンガを駆動する駆動部を有するロボットを制御するロボット制御方法であって、
    前記駆動部の駆動に応じた計測値と、目標値との差に基づいて、前記駆動部をフィードバック制御して、前記フィンガにワークを把持させる動作を開始し、
    前記フィンガに前記ワークを把持させる動作を開始した後であって、前記計測値が前記目標値を含む第1範囲内となって以降、前記ロボットに所定の動作を開始させ、
    前記ロボットに前記所定の動作を開始させて以降、前記計測値が前記第1範囲とは異なる第2範囲を外れなければ、前記所定の動作が終了するまで、前記ロボットに前記所定の動作を行わせることを特徴とするロボット制御方法。
  2. 前記ロボットに前記所定の動作を開始させて以降、前記計測値が前記第2範囲を外れる場合、前記ロボットに前記所定の動作を停止させることを特徴とする請求項1に記載のロボット制御方法。
  3. 前記第2範囲は、前記第1範囲を包含する、前記第1範囲よりも広い範囲であることを特徴とする請求項1又は2に記載のロボット制御方法。
  4. 前記計測値は、前記フィンガの位置に対応した値であることを特徴とする請求項1乃至3のいずれか1項に記載のロボット制御方法。
  5. 前記計測値は、前記フィンガに作用した力に対応した値であることを特徴とする請求項1乃至3のいずれか1項に記載のロボット制御方法。
  6. 前記第2範囲は、予め設定される範囲であることを特徴とする請求項1乃至5のいずれか1項に記載のロボット制御方法。
  7. 前記駆動部は、モータを含み、
    前記第2範囲は、前記計測値が前記第1範囲となった時の、前記モータに供給された電流に対応した値に応じて設定されることを特徴とする請求項1乃至5のいずれか1項に記載のロボット制御方法。
  8. フィンガ、及び前記フィンガを駆動する駆動部を有するロボットを制御するロボット制御方法であって、
    前記駆動部の駆動に応じた計測値と、目標値との差に基づいて、前記駆動部をフィードバック制御して、前記フィンガにワークを把持させる動作を開始し、
    前記フィンガに前記ワークを把持させる動作を開始した後であって、前記計測値が前記目標値を含む第1範囲内となって以降、前記ロボットに所定の動作を開始させ、
    前記ロボットに前記所定の動作を開始させて以降、前記計測値が前記第1範囲から外れるか否かにかかわらず、前記所定の動作が終了するまで、前記ロボットに前記所定の動作を行わせることを特徴とするロボット制御方法。
  9. 前記所定の動作は、前記ワークを組み付け対象に組み付ける動作であることを特徴とする請求項1乃至8のいずれか1項に記載のロボット制御方法。
  10. 前記所定の動作は、前記フィンガが前記駆動部に駆動される方向と平行な方向に前記ワークを移動させる動作であることを特徴とする請求項1乃至9のいずれか1項に記載のロボット制御方法。
  11. フィンガ、及び前記フィンガを駆動する駆動部を有するロボットを用いて物品を製造する方法であって、
    前記駆動部の駆動に応じた計測値と、目標値との差に基づいて、前記駆動部をフィードバック制御して、前記フィンガにワークを把持させる動作を開始し、
    前記フィンガに前記ワークを把持させる動作を開始した後であって、前記計測値が前記目標値を含む第1範囲内となって以降、前記フィンガに把持させた前記ワークを対象物に組み付ける所定の動作を前記ロボットに開始させ、
    前記ロボットに前記所定の動作を開始させて以降、前記計測値が前記第1範囲とは異なる第2範囲を外れなければ、前記所定の動作が終了するまで、前記ロボットに前記所定の動作を行わせることを特徴とする物品の製造方法。
  12. フィンガ、及び前記フィンガを駆動する駆動部を有するロボットを用いて物品を製造する方法であって、
    前記駆動部の駆動に応じた計測値と、目標値との差に基づいて、前記駆動部をフィードバック制御して、前記フィンガにワークを把持させる動作を開始し、
    前記フィンガに前記ワークを把持させる動作を開始した後であって、前記計測値が前記目標値を含む第1範囲内となって以降、前記フィンガに把持させた前記ワークを対象物に組み付ける所定の動作を前記ロボットに開始させ、
    前記ロボットに前記所定の動作を開始させて以降、前記計測値が前記第1範囲から外れるか否かにかかわらず、前記所定の動作が終了するまで、前記ロボットに前記所定の動作を行わせることを特徴とする物品の製造方法。
  13. フィンガ、及び前記フィンガを駆動する駆動部を有するロボットと、
    前記ロボットを制御する制御部と、を備え、
    前記制御部は、
    前記駆動部の駆動に応じた計測値と、目標値との差に基づいて、前記駆動部をフィードバック制御して、前記フィンガにワークを把持させる動作を開始し、
    前記フィンガに前記ワークを把持させる動作を開始した後であって、前記計測値が前記目標値を含む第1範囲内となって以降、前記ロボットに所定の動作を開始させ、
    前記ロボットに前記所定の動作を開始させて以降、前記計測値が前記第1範囲とは異なる第2範囲を外れなければ、前記所定の動作が終了するまで、前記ロボットに前記所定の動作を行わせることを特徴とするロボット装置。
  14. フィンガ、及び前記フィンガを駆動する駆動部を有するロボットと、
    前記ロボットを制御する制御部と、を備え、
    前記制御部は、
    前記駆動部の駆動に応じた計測値と、目標値との差に基づいて、前記駆動部をフィードバック制御して、前記フィンガにワークを把持させる動作を開始し、
    前記フィンガに前記ワークを把持させる動作を開始した後であって、前記計測値が前記目標値を含む第1範囲内となって以降、前記ロボットに所定の動作を開始させ、
    前記ロボットに前記所定の動作を開始させて以降、前記計測値が前記第1範囲から外れるか否かにかかわらず、前記所定の動作が終了するまで、前記ロボットに前記所定の動作を行わせることを特徴とするロボット装置。
  15. 請求項1乃至10のいずれか1項に記載のロボット制御方法をコンピュータに実行させるためのプログラム。
  16. 請求項15に記載のプログラムを記録した、コンピュータによって読み取り可能な記録媒体。
JP2018193504A 2018-10-12 2018-10-12 制御方法、物品の製造方法、ロボットシステム、プログラム、及び記録媒体 Active JP7199903B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018193504A JP7199903B2 (ja) 2018-10-12 2018-10-12 制御方法、物品の製造方法、ロボットシステム、プログラム、及び記録媒体
US16/597,170 US12103179B2 (en) 2018-10-12 2019-10-09 Method of controlling robot body, method of manufacturing product, robot apparatus, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018193504A JP7199903B2 (ja) 2018-10-12 2018-10-12 制御方法、物品の製造方法、ロボットシステム、プログラム、及び記録媒体

Publications (3)

Publication Number Publication Date
JP2020059105A true JP2020059105A (ja) 2020-04-16
JP2020059105A5 JP2020059105A5 (ja) 2022-01-11
JP7199903B2 JP7199903B2 (ja) 2023-01-06

Family

ID=70159718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018193504A Active JP7199903B2 (ja) 2018-10-12 2018-10-12 制御方法、物品の製造方法、ロボットシステム、プログラム、及び記録媒体

Country Status (2)

Country Link
US (1) US12103179B2 (ja)
JP (1) JP7199903B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62199376A (ja) * 1986-02-26 1987-09-03 株式会社日立製作所 遠隔マニピユレ−シヨン方法及び装置
JP2003191193A (ja) * 2001-12-21 2003-07-08 Ricoh Co Ltd スライド式チャック及びその把持方法、並びに記録媒体
JP2006212743A (ja) * 2005-02-04 2006-08-17 National Institute Of Advanced Industrial & Technology タスクスキルによるボルト組付け装置
JP2014046449A (ja) * 2012-09-04 2014-03-17 Canon Inc ロボットハンド制御方法、ロボットハンド制御装置及びロボット装置
JP2015003378A (ja) * 2013-06-24 2015-01-08 ファナック株式会社 力センサを備えた電動ハンド
JP2017121685A (ja) * 2016-01-07 2017-07-13 富士通株式会社 製造時異常判断方法、製造時異常判断プログラム、及び製造装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468741B2 (ja) 2013-07-22 2019-02-13 キヤノン株式会社 ロボットシステム及びロボットシステムの校正方法
JP6335460B2 (ja) 2013-09-26 2018-05-30 キヤノン株式会社 ロボットシステムの制御装置及び指令値生成方法、並びにロボットシステムの制御方法
CN104552291B (zh) * 2013-10-10 2018-05-18 精工爱普生株式会社 机器人控制装置、机器人系统、机器人以及机器人控制方法
JP6454960B2 (ja) * 2013-10-31 2019-01-23 セイコーエプソン株式会社 ロボット、ロボットシステム、ロボット制御装置
JP6314431B2 (ja) * 2013-11-05 2018-04-25 セイコーエプソン株式会社 ロボットシステム、制御装置、ロボット、及び駆動方法
JP2017196705A (ja) * 2016-04-28 2017-11-02 セイコーエプソン株式会社 ロボット、及びロボットシステム
EP3321043A3 (en) 2016-11-10 2018-10-10 Canon Kabushiki Kaisha Method of controlling holding apparatus, holding apparatus, and robot apparatus
EP3366433B1 (en) 2017-02-09 2022-03-09 Canon Kabushiki Kaisha Method of controlling robot, method of teaching robot, and robot system
US10792809B2 (en) * 2017-12-12 2020-10-06 X Development Llc Robot grip detection using non-contact sensors

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62199376A (ja) * 1986-02-26 1987-09-03 株式会社日立製作所 遠隔マニピユレ−シヨン方法及び装置
JP2003191193A (ja) * 2001-12-21 2003-07-08 Ricoh Co Ltd スライド式チャック及びその把持方法、並びに記録媒体
JP2006212743A (ja) * 2005-02-04 2006-08-17 National Institute Of Advanced Industrial & Technology タスクスキルによるボルト組付け装置
JP2014046449A (ja) * 2012-09-04 2014-03-17 Canon Inc ロボットハンド制御方法、ロボットハンド制御装置及びロボット装置
JP2015003378A (ja) * 2013-06-24 2015-01-08 ファナック株式会社 力センサを備えた電動ハンド
JP2017121685A (ja) * 2016-01-07 2017-07-13 富士通株式会社 製造時異常判断方法、製造時異常判断プログラム、及び製造装置

Also Published As

Publication number Publication date
US12103179B2 (en) 2024-10-01
US20200114507A1 (en) 2020-04-16
JP7199903B2 (ja) 2023-01-06

Similar Documents

Publication Publication Date Title
JP6504864B2 (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法
US10486309B2 (en) Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component
US9156164B2 (en) Method for adjusting parameters of impedance control
US9815202B2 (en) Control method for robot apparatus, computer readable recording medium, and robot apparatus
JP6924145B2 (ja) ロボット教示方法及びロボットアーム制御装置
JP5972346B2 (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP6584102B2 (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法
US20150234375A1 (en) Tool coordinate system correcting method of robot system, and robot system
KR20180069031A (ko) 로봇의 다이렉트 교시방법
JP6739954B2 (ja) ロボット装置、物品の製造方法、および制御方法
WO2022118760A1 (ja) ロボットを用いた3dプリンタ及びロボットの制御装置
JP2016078149A (ja) ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体
US20190217466A1 (en) Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
JP2024015086A (ja) ロボットシステム、制御方法、物品の製造方法、制御プログラム、記録媒体
JP2019018298A (ja) ロボット装置、ロボット装置の制御方法、ロボット装置を用いた組立方法
JP2000148210A (ja) ゲイン算出装置
JP2020015124A (ja) ロボット制御方法、物品の製造方法、ロボット制御装置、ロボット、プログラム及び記録媒体
JP6271903B2 (ja) サーボ装置、及びサーボ装置の制御方法
JP7199903B2 (ja) 制御方法、物品の製造方法、ロボットシステム、プログラム、及び記録媒体
KR20130000496A (ko) 가속도센서와 자이로센서를 구비한 로봇 교시장치와 이를 이용한 로봇제어방법
JP2004025387A (ja) 多関節ロボットの負荷重量及び負荷重心位置の自動算出方法
JP7154748B2 (ja) ロボットシステム、物品の製造方法、制御方法、制御プログラム、及び記録媒体
JP6700679B2 (ja) 制御方法、物品の製造方法、ロボット装置、制御プログラム及び記録媒体
US11518026B2 (en) Control method and calculation device
JP2016209936A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体

Legal Events

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

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221221

R151 Written notification of patent or utility model registration

Ref document number: 7199903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151