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

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

Info

Publication number
JP6504864B2
JP6504864B2 JP2015050261A JP2015050261A JP6504864B2 JP 6504864 B2 JP6504864 B2 JP 6504864B2 JP 2015050261 A JP2015050261 A JP 2015050261A JP 2015050261 A JP2015050261 A JP 2015050261A JP 6504864 B2 JP6504864 B2 JP 6504864B2
Authority
JP
Japan
Prior art keywords
joint
robot
robot arm
tip
angle detection
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
JP2015050261A
Other languages
English (en)
Other versions
JP2016168651A (ja
JP2016168651A5 (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 JP2015050261A priority Critical patent/JP6504864B2/ja
Priority to US15/058,904 priority patent/US10144132B2/en
Priority to EP16159319.9A priority patent/EP3067166A1/en
Priority to CN201610139544.5A priority patent/CN105965505B/zh
Publication of JP2016168651A publication Critical patent/JP2016168651A/ja
Publication of JP2016168651A5 publication Critical patent/JP2016168651A5/ja
Application granted granted Critical
Publication of JP6504864B2 publication Critical patent/JP6504864B2/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/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/402Numerical 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 positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct 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
    • G05B2219/39017Forward calibration, find actual pose world space for given joint configuration
    • 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/39024Calibration of manipulator
    • 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/39041Calibrate only for end 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
    • G05B2219/39183Compliance compensation
    • 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/39325External force control, additional loop comparing forces corrects 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
    • G05B2219/39529Force, torque sensor in wrist, end effector

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Numerical Control (AREA)

Description

本発明は、多関節のロボットアームの動作を制御するロボット制御方法、ロボット装置、プログラム及び記録媒体に関する。
近年、小型で複雑な構造をした電子機器等の製品の組み立てに対する自動化の要求が高まっている。これらの製品は、小型のロボットで、高速かつ微小な力制御を伴って精密な組み付けを行う必要がある。
そのため、ロボットは使用に際して動作を精密に校正しておく必要があり、様々な校正装置(校正治具)や校正方法が提案されている。例えば、2つの微小変位計と円柱治具とを用い、ロボットの先端軸を回転させて微小変位計の信号を読み取り、読み取った情報からロボットの先端軸を校正する校正装置が開示されている(特許文献1参照)。
また、近年、生産効率化から生産現場のセル化が求められており、複数の作業工程を実行可能とするロボットハンドを備えたロボット装置が広く使用されている。このようなロボット装置は、ロボットハンドに様々な作業工程を実行させることから高い動作精度が求められており、それに伴った高い校正精度を必要としている。複数(例えば3つ)の爪を有するロボットハンドの場合、ワークを把持した際の複数の爪それぞれの位置により把持されたワークの中心軸の位置が決まるため、複数の爪の偏心を校正しておく必要がある。
これに対し、ワークが載置される架台に固定された弾性軸に回転可能に支持された球体部品をロボットハンドにより把持することによりロボット先端軸の偏心を校正する校正方法が開示されている(特許文献2参照)。
特開平1−58490号公報 特開2014−58003号公報
しかしながら、特許文献1に記載の校正装置においては、測定のために微小変位計が必要であった。一方、特許文献2には、微小変位計を用いずに、ロボットハンドの爪の位置を校正する方法が提案されている。しかしながら、特許文献2の方法では、力センサにより検出した力から、複数の爪の中心軸の偏心を校正するのに必要な校正量を算出し、算出した校正量で複数の爪をロボットアームに対して移動させて校正するといった、煩雑な調整作業が必要であった。
そこで、本発明は、微小変位計等の特別な測定器を用いず、ロボットハンドについて煩雑な調整作業を行わずに、ロボットハンドの位置を校正することを目的とする。
本発明は、複数の関節を有するロボットアームの先端部に、ロボットハンドが取り付けられ、前記ロボットアームの各関節が、モータを有する関節駆動装置と、関節角度を検出する関節角度検出部と、を有しており、制御装置が、作業を行う軌道データに基づき、前記ロボットアームの動作を制御するロボット制御方法であって、前記制御装置が、中心軸に対して回転対称な形状の対称形状部材を前記ロボットハンドに把持させる把持工程と、前記制御装置が、前記ロボットハンドに把持させた前記対称形状部材の外周面を、基準部材に突き当てた状態で前記ロボットアームの先端部を先端軸まわりに回転させながら、前記対称形状部材を前記基準部材に突き当てる力を一定とするように前記ロボットアームの動作を制御する動作工程と、前記制御装置が、前記動作工程にて前記ロボットアームの先端部を回転させたときに前記各関節の前記関節角度検出部にて検出された検出結果を取得する取得工程と、前記制御装置が、前記取得工程にて取得した検出結果を用いて、前記先端軸に対する前記中心軸の偏心に基づく前記軌道データの補正量を計算し、前記補正量で前記軌道データを補正する補正工程と、を備えたことを特徴とする。
本発明によれば、各関節の角度から偏心に基づく補正量を算出し、補正量でロボットアームの軌道データを補正しているので、微小変位計等の特別な測定器を用いなくても、ロボットハンドの位置を校正することができる。また、ロボットアームの軌道データを補正することでロボットハンドの位置を校正しているので、ロボットハンドについて煩雑な調整作業を行う必要がない。
第1実施形態に係るロボット装置を示す斜視図である。 第1実施形態に係るロボット装置のロボットアームの関節を示す部分断面図である。 第1実施形態に係るロボット装置の制御装置の構成を示すブロック図である。 第1実施形態に係るロボット装置の要部構成を示した機能ブロック図である。 第1実施形態に係るロボット装置のロボットを示す斜視図である。 第1実施形態に係るロボット制御方法を示すフローチャートである。 第1実施形態に係るロボット制御方法を示すフローチャートである。 (a)は第1実施形態においてロボットアームの関節J6の角度に対する関節J1の角度の変化を表したグラフである。(b)は第1実施形態においてロボットアームの関節J6の角度に対する関節J2の角度の変化を表したグラフである。(c)は第1実施形態においてロボットアームの関節J6の角度に対する関節J3の角度の変化を表したグラフである。(d)は第1実施形態においてロボットアームの関節J6の角度に対する関節J4の角度の変化を表したグラフである。(e)は第1実施形態においてロボットアームの関節J6の角度に対する関節J5の角度の変化を表したグラフである。 (a)は第1実施形態においてロボットアームの先端部の回転角度に対するロボットアームの先端部の突き当て方向の変位の推定値の実験データを示すグラフである。(b)は第1実施形態においてロボットアームの先端部の回転角度に対するロボットアームの先端部の突き当て方向の変位の推定値と実測値とを比較した実験データを示すグラフである。 (a)は、ロボットアームの先端部の回転角度が0度のときの計測用ワークの位置を示す説明図である。(b)は、ロボットアームの先端部の回転角度が90度のときの計測用ワークの位置を示す説明図である。(c)は、ロボットアームの先端部の回転角度が180度のときの計測用ワークの位置を示す説明図である。(d)は、ロボットアームの先端部の回転角度が270度のときの計測用ワークの位置を示す説明図である。 第2実施形態に係るロボットアームの先端部及びロボットハンドを示す斜視図である。 第3実施形態に係るロボット装置を示す斜視図である。 第3実施形態に係るロボット装置の要部構成を示した機能ブロック図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係るロボット装置を示す斜視図である。ロボット装置100は、ロボット200と、ロボット200の動作を制御する制御装置300と、ユーザの操作によりロボット200の動作を教示する教示部としてのティーチングペンダント400と、を備えている。
ロボット200は、垂直多関節型のロボットアーム201と、ロボットアーム201の先端部に取り付けられた、エンドエフェクタとしてのロボットハンド202と、を有している。また、ロボット200は、ロボットアーム201とロボットハンド202との間に配置され、ロボットハンド202に加わる力を検出する力センサである力覚センサ260を有している。即ち、ロボットハンド202は、力覚センサ260を介してロボットアーム201の先端部に取り付けられている。
力覚センサ260は、ロボットアーム201の先端部、即ちロボットハンド202における座標系(ツール座標系)Σにおいて、互いに直交する3軸方向の力、及び3軸まわりのモーメントをそれぞれ検出する。以下、この力覚センサ260が検出する力及びモーメントを、単に「力」という。この力覚センサ260は、嵌合作業等の組立作業時に組付けを制御するために、即ちコンプライアンス制御を行うために用いられる。
ロボットアーム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は、複数のフィンガー(例えば、爪)220を有し、ロボットアーム201の先端部、即ちリンク(先端リンク)216の先端部に力覚センサ260を介して取り付けられている。複数のフィンガー220は、ハンドベースに対して中心軸を中心とする半径方向内側及び外側に移動するようにハンドベースに支持されている。複数のフィンガー220を閉動作(半径方向内側に動作)させることにより、第1ワークであるワークW1を把持することができ、複数のフィンガー220を開動作(半径方向外側に動作)させることにより、ワークW1を把持解放することができる。ロボットハンド202は、複数のフィンガー220を用いてワークW1を把持することにより、第1ワークであるワーク(嵌合部品)W1を第2ワークであるワーク(被嵌合部品)W2に嵌合する嵌合作業を行うことができる。
ロボットアーム201は、各関節J1〜J6に対して設けられ、各関節J1〜J6をそれぞれ駆動するための複数(6つ)の関節駆動装置230を有している。なお、図1では、関節駆動装置230は、便宜上、関節J2にのみ図示しているが、他の関節J1,J3〜J6において図示を省略しているが、他の関節J1,J3〜J6にも、同様の構成の関節駆動装置230が配置されている。
図2は、ロボットアーム201の関節J2を示す部分断面図である。以下、関節J2を例に代表して説明し、他の関節J1,J3〜J6については、同様の構成であるため、説明を省略する。
関節駆動装置230は、電動モータである回転モータ(以下、「モータ」という)231と、モータ231の回転軸232の回転を減速する減速機233と、を有している。関節J2は、モータ231の回転軸232(減速機233の入力軸)の回転角度を検出するモータ角度検出部であるエンコーダ235を有する。また、関節J2は、リンク121に対するリンク122の角度(減速機233の出力軸の回転角度)を検出する関節角度検出部であるエンコーダ236を有している。即ち、エンコーダ236は、関節J2の角度(関節角度)を検出する。モータ231は、サーボモータであり、例えばブラシレスDCサーボモータやACサーボモータである。
エンコーダ235は、アブソリュート型のロータリーエンコーダが望ましく、1回転の絶対角度エンコーダ、絶対角度エンコーダの回転総数のカウンタ、及びカウンタに電力を供給するバックアップ電池を有して構成される。ロボットアーム201への電源の供給がオフになっても、このバックアップ電池が有効であれば、ロボットアーム201への電源供給のオン/オフに関係なく、カウンタにおいて回転総数が保持される。したがって、ロボットアーム201の姿勢が制御可能となる。なお、エンコーダ235は、回転軸232に取り付けられているが、減速機233の入力軸に取り付けてもよい。
エンコーダ236は、隣り合う2つのリンク間の相対角度を検出するロータリーエンコーダである。関節J2においては、エンコーダ236は、リンク211とリンク212との間の相対角度を検出するロータリーエンコーダである。エンコーダ236は、リンク211にエンコーダスケールを設け、リンク212に検出ヘッドを設けた構成、或いは逆の構成となる。
また、リンク211とリンク212とは、クロスローラベアリング237を介して回転自在に結合されている。モータ231は、モータカバー238で覆われて保護されている。モータ231とエンコーダ235との間には、不図示のブレーキユニットが設けられている。ブレーキユニットの主な機能は、電源オフ時のロボットアーム201の姿勢の保持である。
減速機233は、第1実施形態では、小型軽量で減速比の大きい波動歯車減速機である。減速機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を屈曲させる。
図3は、ロボット装置100の制御装置300の構成を示すブロック図である。制御装置300は、メイン制御部330と、複数(関節の数に対応した数:第1実施形態では6つ)の関節制御部340と、を有する。
メイン制御部330は、コンピュータで構成されており、演算部としてのCPU(Central Processing Unit)301を備えている。また、メイン制御部330は、記憶部として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304を備えている。また、メイン制御部330は、記録ディスクドライブ305、各種のインタフェース311〜313及び応力算出器343を備えている。
CPU301には、ROM302、RAM303、HDD304、記録ディスクドライブ305、各種のインタフェース311〜313及び応力算出器343が、バスを介して接続されている。ROM302には、BIOS等の基本プログラムが格納されている。RAM303は、CPU301の演算処理結果等、各種データを一時的に記憶する記憶装置である。
HDD304は、CPU301の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU301に、後述する演算処理を実行させるためのプログラム320を記録するものである。CPU301は、HDD304に記録(格納)されたプログラム320に基づいてロボット制御方法の各工程を実行する。
記録ディスクドライブ305は、記録ディスク321に記録された各種データやプログラム等を読み出すことができる。なお、メイン制御部330には、書き換え可能な不揮発性メモリや外付けHDD等の不図示の外部記憶装置が接続されていてもよい。
教示部であるティーチングペンダント400は、インタフェース311に接続されている。ティーチングペンダント400は、ユーザの入力操作により、ロボット200を教示する教示点、即ち各関節J1〜J6の目標関節角度(各関節J1〜J6のモータ231の目標回転位置)を指定するものである。教示点のデータは、インタフェース311及びバスを通じてHDD304に出力される。
HDD304は、ティーチングペンダント400により指定された教示点のデータを格納することができる。CPU301は、HDD304に設定(格納)された教示点のデータを読み出すことができる。
表示部である表示装置(モニタ)500は、インタフェース312に接続されており、CPU301の制御の下、画像を表示する。
応力算出器343には、力覚センサ260が接続されている。応力算出器343は、力覚センサ260からの信号から力(3軸の力及び3軸のモーメント)を求めて、求めた力を示す信号をCPU301に出力する。
インタフェース313には、関節制御部340が接続されている。なお、第1実施形態では、ロボットアーム201が6つの関節J1〜J6を有しているので、制御装置300は、6つの関節制御部340を有するが、図3では、関節制御部340が1つだけ図示し、残りの5つは図示を省略している。各関節制御部340は、制御装置300の筐体内に配置されている。なお、各関節制御部340の配置位置は、筐体内に限定するものではなく、例えばロボットアーム201に配置されていてもよい。
CPU301は、予め設定された教示点に基づき、ロボットアーム201の軌道を計算し、モータ231の回転軸232の目標回転位置(回転角度の制御量)を示す位置指令の信号を所定時間間隔で各関節制御部340に出力する。
関節制御部340は、CPU351、記憶部としてのEEPROM352及びRAM353、インタフェース361、検出回路362,363並びにモータ駆動回路365を備えており、これらがバスを介して接続されて構成されている。
CPU351は、プログラム370に従って演算処理を実行する。EEPROM352は、プログラム370を記憶する記憶装置である。RAM353は、CPU351の演算処理結果等、各種データを一時的に記憶する記憶装置である。
メイン制御部330は、複数(6つ)のインタフェース313(図3では1つのみ図示)を有している。各インタフェース313と各関節制御部340のインタフェース361とがケーブル等で接続されており、メイン制御部330と各関節制御部340との間で信号の送受信を行うことができる。
エンコーダ235は、検出回路362に接続され、エンコーダ236は、検出回路363に接続されている。エンコーダ235,236からは、検出した角度検出値を示すパルス信号が出力される。
検出回路362,363は、エンコーダ235,236からパルス信号を取得し、CPU351にて取得可能な信号に変換してCPU351に出力する。
モータ駆動回路365は、例えば半導体スイッチング素子を有するモータドライバであり、入力した電流指令に応じて、パルス幅変調された3相交流のPWM波形の電圧をモータ231に出力することで、モータ231に電流を供給する。
各関節制御部340のCPU351は、メイン制御部330のCPU301から入力を受けた位置指令にモータ231の回転位置(回転角度)が近づくようにモータ231への電流の出力量(電流指令)を演算し、電流指令をモータ駆動回路365に出力する。
モータ駆動回路365は、入力を受けた電流指令に対応する電流をモータ231に供給する。そして、モータ231は、モータ駆動回路265から電力供給を受けて駆動トルクを発生し、減速機233の入力軸であるウェブジェネレータ241にトルクを伝達する。減速機233において、出力軸であるサーキュラスプライン242は、ウェブジェネレータ241の回転に対して1/Nの回転数で回転する。これにより、リンク212がリンク211に対して相対的に回転する。
このように、各関節制御部340は、モータ231の回転位置がメイン制御部330から入力を受けた位置指令に近づくようにモータ231に電流を供給して各関節J1〜J6の関節角度を制御する。
なお、第1実施形態では、コンピュータ読み取り可能な記録媒体がHDD304,EEPROM352であり、HDD304,EEPROM352にプログラム320,370が格納される場合について説明するが、これに限定するものではない。プログラム320,370は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム320,370を供給するための記録媒体としては、図3に示す記録ディスク321、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリ、ROM等を用いることができる。
図4は、本発明の第1実施形態に係るロボット装置の要部構成を示した機能ブロック図である。図4においては、プログラム320に基づくCPU301の機能をブロック化して図示し、プログラム370に基づくCPU351の機能及びモータ駆動回路365の機能をブロック化して図示している。ロボット200においては、ロボットアーム201の関節J1をブロック化して図示している。
制御装置300は、メイン制御部330及び各関節J1〜J6に対応する関節制御部340を有している。図4では、関節J1と関節J1に対応する関節制御部340のみ図示しており、図示は省略しているが、制御装置300は、他の関節J2〜J6それぞれに対応する関節制御部340を複数有している。
メイン制御部330は、軌道計算部331、押し付け制御部332、ワーク位置ずれ計算部334、先端位置算出部335、リンクパラメータ記憶部336、補正量算出部337からなる。各関節制御部340は、モータ制御部341、出力軸角度算出部342からなる。
メイン制御部330のCPU301は、プログラム320により軌道計算部331、押し付け制御部332、ワーク位置ずれ計算部334、先端位置算出部335、補正量算出部337として機能する。リンクパラメータ記憶部336は、例えばHDD304である。
また、各関節制御部340のモータ制御部341は、プログラム370により動作するCPU351及びモータ駆動回路365の機能である。出力軸角度算出部342は、プログラム370により動作するCPU351の機能である。
まず、メイン制御部330の制御動作について説明する。
軌道計算部331は、教示点のデータに基づいて、ロボットアーム201の動作(軌道)を計算する。教示点は、関節空間又はタスク空間上の点として、作業者が操作するティーチングペンダント400により設定される。
ロボットアーム201の自由度を表すパラメータを関節角度として、ロボットアーム201の関節J1〜J6の関節角度をそれぞれθ〜θとする。ロボットアーム201のコンフィグレーションは(θ,θ,θ,θ,θ,θ)で表され、関節空間上では、1つの点とみなすことができる。このように、ロボットアーム201の自由度を表すパラメータ(例えば、関節角度や伸縮長さ)を座標軸の値とした場合、ロボットアーム201のコンフィグレーションは関節空間上の点として表現することができる。つまり、関節空間は、ロボットアーム201の関節角度を座標軸とする空間である。
また、ロボットハンド202には、ツールセンターポイント(TCP)が設定されている。TCPは、ベース座標系Σにおいて位置を表す3つのパラメータ(x,y,z)と、姿勢(回転)を表す3つのパラメータ(α,β,γ)、即ち6つのパラメータ(x,y,z,α,β,γ)で表され、タスク空間上では、1つの点としてみなすことができる。つまり、タスク空間は、これら6つの座標軸で規定された空間である。
軌道計算部331は、設定された複数の教示点を繋ぐロボットアーム201の経路を所定の補間方法(例えば、直線補間や円弧補間、関節補間等)で生成する。そして、軌道計算部331は、生成したロボットアーム201の経路から、ロボットアーム201の軌道を生成する。
ここで、ロボットアーム201の経路とは、関節空間又はタスク空間の点の順序集合である。ロボットアーム201の軌道とは、時間をパラメータとして経路を表したものであり、第1実施形態では、時刻毎の各関節J1〜J6のモータ231の位置指令の集合である。
軌道データは、ロボットアーム201を動作させる前に予め計算して記憶部、例えばHDD304に記憶(設定)させておく。
なお、軌道データの計算は、メイン制御部330のCPU301が行う場合について説明するが、不図示の他のコンピュータに行わせ、メイン制御部330の記憶部、例えばHDD304に予め記憶(設定)してもよい。
押し付け制御部332は、力覚センサ260により検出された力検出結果を、応力算出器343を介して取得し、力を一定に保つようにコンプライアンス制御処理を行う。コンプライアンス制御を行いながら軌道計算部331による計算結果を用いて、ロボットハンド202で把持した、対称形状部材である計測用ワークW3(後述)を、基準部材である基準治具W4(後述)に一定力で押し付け(突き当て)る。
リンクパラメータ記憶部336には、予めロボットアーム201のリンクパラメータが記憶(設定)されている。ロボットアーム201のリンクパラメータは、ロボットアーム201を構成する各リンク210〜216の長さや各関節J1〜J6の位置関係を示したパラメータである。
先端位置算出部335は、各関節J1〜J6(図4では関節J1)の駆動を制御する関節制御部340の出力軸角度算出部342から、エンコーダ236により検出された関節角度のデータを取得する。また、先端位置算出部335は、リンクパラメータ記憶部336に記憶されているロボットアーム201のリンクパラメータを読み出す。
そして、先端位置算出部335は、これら入力したデータ(情報)から、ロボットアーム201の順運動学により演算して、ロボットアーム201の先端部(リンク216の先端部)の位置(先端位置)を算出する。
ワーク位置ずれ計算部334は、ロボットハンド202を回転させたとき計測用ワークW3の中心軸の位置ずれ、即ち、実際に組み付けるワークを把持する場合の複数のフィンガー220の中心軸の位置ずれを算出する。
補正量算出部337は、ワーク位置ずれ計算部334からの位置ずれ(偏心)のデータから、実際の動作時の軌道データの補正量を算出する。
実際の組み付け作業時には、軌道計算部331からの位置指令(軌道データ)に、補正量算出部337で算出した補正量を足し合わせた値を、新たな位置指令として、各モータ231の位置制御を行う各関節制御部340のモータ制御部341に出力する。
次に、各関節制御部340について説明する。モータ制御部341は、軌道計算部331からの位置指令と補正量算出部337の補正量とを足し合わせた値の位置指令を入力する。軌道計算部331からの位置指令とは、上述したように、教示点に基づき算出した位置指令である。モータ制御部341は、入力した位置指令とエンコーダ235の値とを参照して、モータ231の回転位置が位置指令に近づくようにモータ231の位置制御(フィードバック制御)を行う。出力軸角度算出部342は、エンコーダ236の角度検出結果を示す値から、関節角度の値を算出する。
次に、ロボットアーム201の動作を校正する場合、即ちロボットハンド202の位置を校正する場合について説明する。図5は、本発明の第1実施形態に係るロボット装置のロボットを示す斜視図である。ロボットアーム201が固定された作業台には、基準部材である基準治具W4が取外し可能に固定されている。即ち、基準治具W4は、ロボットアーム201に対して相対的に移動しないように作業台に固定されている。校正するための計測時には、ロボットハンド202に計測用ワークW3を把持させる。
計測用ワークW3は、中心軸Bに対して回転対称な形状の対称形状部材である。計測用ワークW3は、第1実施形態では断面における真円度が高精度に加工された円筒形状(円柱形状)をしている。
ロボットアーム201のリンク216は、リンク215に対して、先端軸Aのまわりに回転する。つまり、先端軸Aは、リンク216の回転中心軸である。第1実施形態では、先端軸Aに対する中心軸Bの傾きは、許容値以下であるものとする。
基準治具W4は平面(基準面)F4を有する。基準治具W4の平面F4は、高精度に加工された精度面としている。高精度に加工された計測用ワークW3の外周面F3を基準治具W4の平面F4に一定の力で突き当てることにより、ロボットハンド202に把持させた計測用ワークW3の中心軸B(即ち、ロボットハンド202の中心軸)を高精度に測定することができる。
次に、制御装置300によりロボット200の動作を制御するロボット制御方法、即ちロボットハンド202の位置の校正方法について説明する。図6は、本発明の第1実施形態に係るロボット制御方法を示すフローチャートである。第1実施形態では、ロボット200による補正動作は、計測用ワークW3を基準治具W4に押し付ける調芯作業である。
まず、CPU301は、ロボットアーム201の制御を調芯モードにする(S1)。調芯モードは、ロボットハンド202を交換したときに最初に行う補正作業である。つまり、ロボットハンド202をロボットアーム201に取り付けた際には、ロボットアーム201の先端軸Aに対してロボットハンド202の中心軸(つまり、ワークの中心軸)Bがずれることがあり、校正が必要である。したがって、第1実施形態では、ロボットハンド202をロボットアーム201に取り付けた直後は、調芯モードにてロボット200の位置の校正を行う。具体的には、軌道データを補正してロボットハンド202の位置を校正する。
CPU301は、ロボットハンド202に計測用ワークW3を把持させるようロボットアーム201及びロボットハンド202の動作を制御する(S2:把持工程)。
次に、CPU301は、計測用ワークW3を把持したロボットハンド202が、基準治具W4の位置(計測用ワーク押付位置、換言すれば調芯位置)に移動するようロボットアーム201の動作を制御する(S3)。
次に、CPU301は、計測用ワークW3の外周面F3を基準治具W4の平面F4に一定の力で突き当てるようにロボットアーム201の動作を制御する(S4)。この場合、CPU301は、力覚センサ260の検出情報により計測用ワークW3を一定力で押し付けるように制御する。このとき、力覚センサ260は、ロボットハンド202に作用する力を検出するので、CPU301は、計測用ワークW3を基準治具W4に突き当てる力として、力覚センサ260の力の検出結果を取得する。
次に、CPU301は、計測用ワークW3を基準治具W4に突き当てた状態で関節J6を回転させる(S5:動作工程)。即ち、CPU301は、ロボットハンド202に把持させた計測用ワークW3の外周面F3を基準治具W4の平面F4に突き当てた状態でロボットアーム201のリンク216を先端軸Aまわりに回転させる。このとき、CPU301は、計測用ワークW3の外周面A3を基準治具W4に突き当てる一定の力を維持するようにロボットアーム201の各関節J1〜J5の動作を制御する(S6:動作工程)。
更に、CPU301は、各関節J1〜J6のエンコーダ236の値(各エンコーダ236にて検出された関節角度)を取得する(S7:取得工程)。
次に、CPU301は、関節J6(リンク216)が1回転したか否かを判断する(S8:判断工程)。この判断は、関節J6のエンコーダ236により検出された関節角度により行う。
CPU301は、ステップS8にて、リンク216(計測用ワークW3)が1回転するまで、ステップS5〜S7の処理を続ける。
CPU301は、ステップS8にて、ロボットハンド202が回転終了位置に到達したと判断した場合には(S8:Yes)、ロボットアーム201の動作を停止させる。
次に、CPU301は、リンク216の先端軸Aに対する計測用ワークW3の中心軸Bの偏心情報を計算する(S9)。ここで、偏心情報(軸ずれ情報)とは、先端軸Aに対する中心軸Bの偏心方向(軸ずれ方向)、及び先端軸Aに対する中心軸Bの偏心量(軸ずれ量)である。
CPU301は、先端軸Aに対する中心軸Bの偏心に基づく軌道データに対する補正量を算出し、算出した補正量を記憶部(例えば、HDD304)に記録する(S10)。具体的には、補正前の軌道データに基づくロボットアーム201の先端部の位置(先端位置)が、偏心方向と逆方向に偏心量と同じ量だけ移動するような軌道データ(各モータ231の位置指令)の補正量を算出する。これにより補正データの作成動作が終了する。
次に、生産ラインにてロボットアーム201を動作させる場合について説明する。図7は、本発明の第1実施形態に係るロボット制御方法を示すフローチャートである。
CPU301は、生産工程にて、軌道データに従ってロボットアーム201を動作させる際に、HDD304等の記憶部に記憶された軌道データ(各モータ231の位置指令)及びその補正量を読み出す(S11)。そして、CPU301は、軌道データに補正量を加算する補正を行う(S12)。以上、ステップS9〜S12の処理で軌道データが補正される(補正工程)。
CPU301は、補正後の軌道データ(各モータ231の位置指令)を各関節制御部340に出力することで、ロボットアーム201を補正した軌道データに従って動作させる制御を行う(S13)。
第1実施形態では、作業を行う際のロボットアーム201の軌道データを補正しているので、ロボットハンド202について煩雑な調整作業を行う必要がない。また、ロボットアーム201の各関節の角度から、先端軸Aに対する中心軸Bの偏心に基づく補正量を算出し、補正量で軌道データを補正しているので、微小変位計等の特別な測定器を用いなくても、ロボットハンド202の位置が校正される。
また、第1実施形態では、ロボットハンド202に作用する力、即ち計測用ワークW3を基準治具W4に突き当てる力を、力覚センサ260により検出している。そして、微小な力の変化を検出してロボットハンド202の位置ずれを計測するのではなく、検出される力が一定となるようにロボットアーム201を制御して各関節の関節角度からロボットアーム201の先端位置のずれを計測している。
力覚センサ260の検出精度と剛性とはトレードオフの関係にあり、第1実施形態では、力覚センサ260の検出精度は、一定力を検出するものであって、微小な力の検出はしなくてもよい。そして、エンコーダ236の分解能を高くしてもロボットアーム201の剛性が低下することはない。したがって、力覚センサ260の剛性を高くしても、ロボットアーム201の先端位置を高精度に計測することができる。よって、第1実施形態では、軌道データを補正することによりロボットハンド202の位置が高精度に校正される。
なお、ロボットアーム201を動作させる際に、逐次軌道データを補正する場合について説明したが、これに限定するものではない。軌道データを補正量で補正した補正後の軌道データをHDD304等の記憶部に記憶させておいてもよい。したがって、ロボットアーム201を動作させる際には、CPU301は、HDD304等の記憶部に記憶された補正後の軌道データを読み出すだけで、補正演算を逐次行わなくてもよくなる。
ここで、ロボットアーム201の先端軸Aに対するロボットハンド202が把持した計測用ワークW3の中心軸Bの偏心の算出方法について具体的に説明する。
図8は、ロボットアーム201の先端部(関節J6)の回転角度に対する各関節J1〜J5の関節角度の変化を表したグラフである。具体的には、図8(a)は、関節J6の角度に対する関節J1の角度の変化を表したグラフである。図8(b)は、関節J6の角度に対する関節J2の角度の変化を表したグラフである。図8(c)は、関節J6の角度に対する関節J3の角度の変化を表したグラフである。図8(d)は、関節J6の角度に対する関節J4の角度の変化を表したグラフである。図8(e)は、関節J6の角度に対する関節J5の角度の変化を表したグラフである。図8(a)〜図8(e)に示すグラフは、エンコーダ236の値より算出した出力軸角度算出部342の関節J6の出力軸角度を横軸とし、縦軸を各関節J1〜J5の出力角度値として表している。
図9(a)は、関節J6の回転角度に対するロボットアーム201の先端(リンク216)の突き当て方向の変位の推定値の実験データを示すグラフである。図9(b)は、関節J6の回転角度に対するロボットアーム201の先端(リンク216)の突き当て方向の変位の推定値と実測値とを比較した実験データを示すグラフである。図9(b)に示す推定値と実測値の比較において実際の変位に対して各関節J1〜J6の出力角度値により推定できていることがわかる。
CPU301は、ロボットアーム201の関節J1〜J6の関節角度とリンクパラメータを用いて順運動学を解くことにより、ロボットアーム201の先端の位置を算出する。ステップS5〜S7にて一定力で計測用ワークW3を基準治具W4に突き当てた状態で関節J6(リンク216)を回転させたときの突き当て方向の変位は、関節J6の回転に対して図9(a)及び図9(b)に示すような関係を示している。
ここで、先端軸Aは、関節J6(リンク216)の回転中心軸、中心軸Bは、計測用ワークW3の中心軸(ハンド中心軸)である。先端軸Aに対する中心軸Bの偏心量をΔ(z)、計測用ワークW3の半径をRとする。
図10は、計測用ワークW3を基準治具W4に一定力で突き当てた状態における関節J6の回転角度に対する計測用ワークW3の位置を示す説明図である。具体的に説明すると、図10(a)は、関節J6の回転角度が0度のときの計測用ワークW3の位置を示す説明図である。図10(b)は、関節J6の回転角度が90度のときの計測用ワークW3の位置を示す説明図である。図10(c)は、関節J6の回転角度が180度のときの計測用ワークW3の位置を示す説明図である。図10(d)は、関節J6の回転角度が270度のときの計測用ワークW3の位置を示す説明図である。
図10(a)〜図10(d)において、関節J6の回転方向は、先端軸Aを中心に反時計回りとする。関節J6の回転角度が0度のとき、先端軸Aの基準面F4からのZ方向(突き当て方向)の距離はRである(図10(a))。関節J6の回転角度が90度のとき、先端軸Aの基準面F4からのZ方向の距離は、Rに対して偏心量Δ(z)増加する(図10(b))。関節J6の回転角度が180度のとき、先端軸Aの基準面F4からのZ方向の距離はRとなる(図10(c))。関節J6の回転角度が270度のとき、先端軸Aの基準面F4からのZ方向の距離は、Rに対して偏心量Δ(z)減少する(図10(d))。
よって、図9(a)に示すように、関節J6の回転中心軸である先端軸Aに対してワークW3の中心軸Bが偏心量Δ(z)で偏心している場合は、1回転中に略正弦波カーブを示し、上限ピークと下限ピークとの半分(振幅)が偏心量Δ(z)を示す。また、編心量Δ(z)と関節J6の回転角度により中心軸の偏心方向が算出される。具体的には図10(b)に示すように関節J6の回転角度が90度のとき、先端軸Aの基準面F4からのZ方向が偏心方向と算出される。
このように、先端位置算出部335の値をワーク位置ずれ計算部334で計算することにより関節J6の回転中心軸である先端軸Aに対するワーク把持の中心軸Bの偏心量及び偏心方向からなる偏心情報を高精度に求めることができる。
[第2実施形態]
次に、本発明の第2実施形態に係るロボット装置によるロボット制御方法について説明する。図11は、本発明の第2実施形態に係るロボットアーム201の先端部及びロボットハンド202を示す斜視図である。
第1実施形態では、ロボットアーム201の先端軸Aに対して計測用ワークW3の中心軸Bの傾きが許容値以下の場合について説明したが、傾きが許容値を超えることもある。第2実施形態では、傾きも校正する場合について説明する。なお、ロボット装置の構成は、第1実施形態のロボット装置100と同様であるので、説明を省略する。
図11に示すように、計測用ワークW3の先端軸Aに対してワークの中心軸(ロボットハンドの中心軸)Bが傾くことがある。例えば、ロボットアーム201(力覚センサ260)に対してロボットハンド202が傾いている場合、複数のフィンガー220の位置のばらつきにより把持するワークが傾く場合等である。
第2実施形態では、その傾きを補正するために、P点(第1箇所:第2実施形態では計測用ワークW3の外周面F3における先端位置)の測定を行い、ずれ量ΔPの算出を行う。次に、先端軸Aの方向で点Pとは異なる点Q(第2箇所)の測定を行い、ずれ量ΔQの算出を行う。先端軸Aの方向の点Pと点Qとの距離をLとする。それぞれ、ずれ量ΔP、ずれ量ΔQを計算することにより、傾きθBが求められる。この、傾きθBとずれ量ΔPの計算をもとに位置ずれ補正を行う。
具体的に説明すると、CPU301は、ステップS5〜S7(図6参照)を、ワークW3の外周面F3における点Pを基準治具W4に突き当てた場合、及びワークW3の外周面F3における点Qを基準治具W4に突き当てた場合についてそれぞれ行う。第2実施形態では、点Pは、計測用ワークW3の外周面F3の先端部であり、点Qは、計測用ワークW3の外周面F3の中間部である。点QはワークW3を点PからJ6軸方向に距離Lだけロボットアーム201の先端を移動させることにより基準治具W4に突き当てを行う。
CPU301は、ステップS9において、ステップS7にて取得した結果を用いて、先端軸Aに対する中心軸Bの偏心情報と、先端軸Aに対する中心軸Bの傾き情報とを計算する。そして、CPU301は、ステップS10において、偏心情報(偏心方向及び偏心量)及び傾き情報(傾き角度)から、軌道データを補正する補正量を計算する。即ち、軌道データに基づくロボットアーム201の先端部の位置に対し、偏心方向と逆方向に偏心量と同じ量、ロボットアーム201の先端部が移動し、傾き角度と逆方向に同じ角度、ロボットアーム201の先端部が移動するよう、補正量を計算する。
詳述すると、CPU301は、点Pを基準治具W4に突き当てた場合にステップS9にて取得した検出結果、及び点Qを基準治具W4に突き当てた場合にステップS9にて取得した検出結果から、ずれ量ΔP,ΔQをそれぞれ求める。このとき、点P,Qそれぞれを基準治具W4に突き当てた場合の先端軸Aに対する中心軸Bのずれ量ΔP,ΔQを、ロボットアーム201のリンク216を同じ回転角度とした条件でそれぞれ求める。ずれ量ΔP,ΔQおよび編心方向は第1実施形態と同様に算出される。
CPU301は、これら2つのずれ量ΔP,ΔQ及び距離Lから、傾き情報(傾き角度θ)を求める。傾き情報は三角形の比例となり下記式であらわされる。
Figure 0006504864
以上、第2実施形態によれば、特別な測定器が不要で、ロボットハンド202の位置(具体的にはフィンガー220の位置)を調整することなく、ロボットアーム201の動作、即ちロボットハンド202の位置を高精度に校正することができる。更に、第2実施形態によれば、先端軸Aに対する中心軸Bの偏心および傾きが補正されるので、ロボットハンド202の位置をより高精度に校正することができる。
[第3実施形態]
次に、本発明の第3実施形態に係るロボット装置におけるロボット制御方法について説明する。図12は、本発明の第3実施形態に係るロボット装置を示す斜視図であり、図13は、本発明の第3実施形態に係るロボット装置の要部構成を示した機能ブロック図である。図12及び図13において第1、第2実施形態と同一構成については、同一符号を付して説明を省略し、異なる点について説明する。
第3実施形態では、一定力で押し付ける工程において、力覚センサを用いず、各関節の出力側のエンコーダ236により検出された角度情報から各関節のトルクを算出して一定力で押し付けるところが第1、第2実施形態と異なる。
即ち、ロボット装置100Aは、ロボットアーム201及びロボットハンド202を有するロボット200Aと、制御装置300Aと、ティーチングペンダント400と、を備えている。ロボット200Aは、上記第1実施形態とは違い、力覚センサを有していない。ロボットハンド202は、ロボットアーム201の先端部に、力覚センサを設けずに直接取り付けられている。
第3実施形態の制御装置300Aは、図3の制御装置300において応力算出器343を省略したものであり、その他の構成は略同一である。そして、第3実施形態において、メイン制御部330Aのプログラム320及び各関節制御部340Aのプログラム370が第1、第2実施形態と異なるものである。
図13において、制御装置300Aについては、プログラム320に基づくCPU301の機能をブロック化して図示し、プログラム370に基づくCPU351の機能及びモータ駆動回路365の機能をブロック化して図示している。ロボット200Aについては、ロボットアーム201の関節J1をブロック化して図示している。
制御装置300Aは、メイン制御部330A及び各関節J1〜J6に対応する関節制御部340Aを有している。図13では、関節J1と関節J1に対応する関節制御部340Aのみ図示しており、図示は省略しているが、制御装置300Aは、他の関節J2〜J6それぞれに対応する関節制御部340Aを複数有している。
メイン制御部330Aは、軌道計算部331、押し付け制御部332、ワーク位置ずれ計算部334、先端位置算出部335、リンクパラメータ記憶部336、補正量算出部337、及び力算出部353からなる。各関節制御部340Aは、モータ制御部341、出力軸角度算出部342、トルク算出部351及び減速機定数記憶部352からなる。
メイン制御部330AのCPU301は、プログラム320により軌道計算部331、押し付け制御部332、ワーク位置ずれ計算部334、先端位置算出部335、補正量算出部337及び力算出部353として機能する。リンクパラメータ記憶部336は、例えばHDD304である。
また、各関節制御部340Aのモータ制御部341は、プログラム370により動作するCPU351及びモータ駆動回路365の機能である。出力軸角度算出部342及びトルク算出部351は、プログラム370により動作するCPU351の機能である。減速機定数記憶部352は、例えばEEPROM352である。
上記第1実施形態との違いは、力算出部353への入力として力覚センサを用いずに、エンコーダ236の値をもとに各関節トルクを算出するトルク算出部351を設けたことである。
各関節制御部340Aのトルク算出部351及びメイン制御部330Aの力算出部353は、エンコーダ235の角度検出結果及びエンコーダ236の角度検出結果を用いて、計測用ワークW3を基準治具W4に突き当てる力を求める。
このとき、各関節制御部340Aは、各エンコーダ235の角度検出結果及び各エンコーダ236の角度検出結果を用いて、各関節J1〜J6に作用するトルクを算出する。力算出部353は、各関節J1〜J6のトルクの算出結果を用いて、計測用ワークW3を基準治具W4に突き当てる力を求める。
具体的に説明すると、各関節制御部340Aのトルク算出部351は、まず、エンコーダ235により検出された角度検出結果を減速機233の減速比で関節の角度に換算する。具体的には、エンコーダ235の角度検出結果に減速比N(例えば50)を除算する。減速機233の減速比Nは、予めEEPROM352に記憶(設定)されている。
次に、トルク算出部351は、角度換算した角度情報と、エンコーダ236からの角度情報の差分に対して、減速機定数記憶部352に予め記憶(設定)されている減速機233のねじり剛性(回転方向に対するばね定数)を乗算する。これにより、トルク算出部351は、関節に生じているトルクを算出する。上記トルク計算を各関節J1〜J6にて実施することにより、各関節J1〜J6に生じているトルクを算出する。
力算出部353は、各トルク算出部351からのトルクの算出結果を用いて、ロボットハンド202に作用する力、即ち計測用ワークW3を基準治具W4に突き当てる力を算出する。具体的には、力算出部353は、各軸のトルク算出部351からのトルクの計算結果と、リンクパラメータ記憶部336に記憶されているロボットアーム201のリンクパラメータから、ロボットハンド202の任意の位置に生じさせている合成の力を算出する。リンクパラメータ記憶部336には、予めロボットアーム201のリンクパラメータが記憶(設定)されている。ロボットアーム201のリンクパラメータは、ロボットアーム201を構成する各リンク210〜216の長さや各関節J1〜J6の位置関係を示したパラメータである。算出する基準となるロボットハンド202の任意位置については、例えばロボットハンド202の掌面の中心とする。
このように、力算出部353により先端に加わる力に合成を行い、合成力に基づき、押し付け制御部332により、一定力になるように押し付けるインピーダンス制御を行うことができる。
以上、第3実施形態によれば、ロボットアーム201の先端位置の補正時に力覚センサを用いることなく補正を行うことができる。よって、力覚センサを搭載していないロボット装置100Aにも適用することが可能になる。
また、ロボット装置100Aが力覚センサを搭載していないので、ロボット200Aの手首を高剛性にすることができ、ロボットハンド202の位置決め精度が更に向上する。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、第3実施形態では、トルク計算を各関節制御部340Aが行う場合について説明したが、これに限定するものではなく、メイン制御部330Aが各関節のトルク計算を行ってもよい。この場合、各関節J1〜J6におけるエンコーダ235,236の検出結果は、メイン制御部330Aに送信されるようにすればよい。また、メイン制御部330AのCPU301の数又は各関節制御部340AのCPU351の数は、1つに限定するものではなく、複数あってもよい。
100…ロボット装置、201…ロボットアーム、202…ロボットハンド、230…関節駆動装置、231…モータ、235…エンコーダ(モータ角度検出部)、236…エンコーダ(関節角度検出部)、300…制御装置、A…先端軸、B…中心軸、J1〜J6…関節、W3…計測用ワーク(対称形状部材)、W4…基準治具(基準部材)

Claims (12)

  1. 複数の関節を有するロボットアームの先端部に、ロボットハンドが取り付けられ、前記ロボットアームの各関節が、モータを有する関節駆動装置と、関節角度を検出する関節角度検出部と、を有しており、制御装置が、作業を行う軌道データに基づき、前記ロボットアームの動作を制御するロボット制御方法であって、
    前記制御装置が、中心軸に対して回転対称な形状の対称形状部材を前記ロボットハンドに把持させる把持工程と、
    前記制御装置が、前記ロボットハンドに把持させた前記対称形状部材の外周面を、基準部材に突き当てた状態で前記ロボットアームの先端部を先端軸まわりに回転させながら、前記対称形状部材を前記基準部材に突き当てる力を一定とするように前記ロボットアームの動作を制御する動作工程と、
    前記制御装置が、前記動作工程にて前記ロボットアームの先端部を回転させたときに前記各関節の前記関節角度検出部にて検出された検出結果を取得する取得工程と、
    前記制御装置が、前記取得工程にて取得した検出結果を用いて、前記先端軸に対する前記中心軸の偏心に基づく前記軌道データの補正量を計算し、前記補正量で前記軌道データを補正する補正工程と、を備えたことを特徴とするロボット制御方法。
  2. 前記補正工程では、前記制御装置が、前記取得工程にて取得した前記各関節の前記関節角度検出部にて検出された検出結果から順運動学により前記ロボットアームの先端部の位置を算出し、該算出結果から前記先端軸に対する前記中心軸の偏心情報を求め、前記偏心情報から前記補正量を計算することを特徴とする請求項1に記載のロボット制御方法。
  3. 前記制御装置が、前記動作工程及び前記取得工程を、前記対称形状部材の外周面において前記先端軸の方向の第1箇所を前記基準部材に突き当てた場合、及び前記対称形状部材の外周面において前記先端軸の方向の前記第1箇所とは異なる第2箇所を前記基準部材に突き当てた場合についてそれぞれ行い、
    前記補正工程では、前記制御装置が、前記取得工程にて取得した結果を用いて、前記先端軸に対する前記中心軸の偏心情報と、前記先端軸に対する前記中心軸の傾き情報とを計算し、前記偏心情報及び前記傾き情報から前記補正量を計算することを特徴とする請求項1又は2に記載のロボット制御方法。
  4. 前記補正工程では、前記制御装置が、前記第1箇所を前記基準部材に突き当てた場合に前記取得工程にて取得した検出結果、及び前記第2箇所を前記基準部材に突き当てた場合に前記取得工程にて取得した検出結果から、前記第1箇所及び前記第2箇所それぞれを前記基準部材に突き当てた場合の前記先端軸に対する前記中心軸のずれ量を、前記ロボットアームの先端部を同じ回転角度とした条件でそれぞれ求め、これら2つのずれ量、及び前記第1箇所と前記第2箇所との前記先端軸の方向の距離から、前記傾き情報を求めることを特徴とする請求項3に記載のロボット制御方法。
  5. 前記ロボットアームには、前記ロボットハンドに作用する力を検出する力センサが配置されており、
    前記動作工程では、前記制御装置が、前記対称形状部材を前記基準部材に突き当てる力として、前記力センサにより検出された力の検出結果を取得することを特徴とする請求項1乃至4のいずれか1項に記載のロボット制御方法。
  6. 前記関節駆動装置は、前記モータの回転を減速する減速機を更に有しており、
    前記ロボットアームの関節は、前記モータの回転角度を検出するモータ角度検出部を有しており、
    前記動作工程では、前記制御装置が、前記各関節の前記モータ角度検出部による角度検出結果と、前記関節角度検出部による角度検出結果とを用いて、前記対称形状部材を前記基準部材に突き当てる力を求めることを特徴とする請求項1乃至4のいずれか1項に記載のロボット制御方法。
  7. 前記動作工程では、前記制御装置が、前記各関節の前記モータ角度検出部の角度検出結果及び前記関節角度検出部の角度検出結果を用いて、前記各関節に作用するトルクを算出し、前記各関節のトルクの算出結果を用いて、前記対称形状部材を前記基準部材に突き当てる力を求めることを特徴とする請求項6に記載のロボット制御方法。
  8. 前記動作工程では、前記制御装置が、前記モータ角度検出部の角度検出結果を予め設定された前記減速機の減速比で前記関節の角度に換算した結果と、前記関節角度検出部の角度検出結果との差分、及び予め設定された前記減速機のねじり剛性から、前記関節に作用するトルクを算出し、
    前記各関節のトルクの算出結果及び予め設定された前記ロボットアームのリンクパラメータから、前記対称形状部材を前記基準部材に突き当てる力を算出することを特徴とする請求項7に記載のロボット制御方法。
  9. 複数の関節を有するロボットアームと、
    前記ロボットアームの先端部に取り付けられたロボットハンドと、
    作業を行う軌道データに基づき、前記ロボットアームの動作を制御する制御装置と、を備え、
    前記ロボットアームの各関節は、モータを有する関節駆動装置と、関節角度を検出する関節角度検出部と、を有し、
    前記制御装置は、請求項1乃至8のいずれか1項に記載のロボット制御方法の各工程を実行することを特徴とするロボット装置。
  10. コンピュータに、請求項1乃至8のいずれか1項に記載のロボット制御方法の各工程を実行させるためのプログラム。
  11. 請求項10に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  12. 請求項1乃至8のいずれか1項に記載のロボット制御方法により補正した前記軌道データに従って前記ロボットアームを制御し、前記ロボットハンドに把持させた第1ワークを第2ワークに組み付けて物品を製造する物品の製造方法。
JP2015050261A 2015-03-13 2015-03-13 ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法 Active JP6504864B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015050261A JP6504864B2 (ja) 2015-03-13 2015-03-13 ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法
US15/058,904 US10144132B2 (en) 2015-03-13 2016-03-02 Robot controlling method, robot apparatus, program and recording medium
EP16159319.9A EP3067166A1 (en) 2015-03-13 2016-03-09 Robot controlling method, robot apparatus, program and recording medium
CN201610139544.5A CN105965505B (zh) 2015-03-13 2016-03-11 机器人控制方法、机器人装置、程序和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015050261A JP6504864B2 (ja) 2015-03-13 2015-03-13 ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法

Publications (3)

Publication Number Publication Date
JP2016168651A JP2016168651A (ja) 2016-09-23
JP2016168651A5 JP2016168651A5 (ja) 2018-04-26
JP6504864B2 true JP6504864B2 (ja) 2019-04-24

Family

ID=55524194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015050261A Active JP6504864B2 (ja) 2015-03-13 2015-03-13 ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法

Country Status (4)

Country Link
US (1) US10144132B2 (ja)
EP (1) EP3067166A1 (ja)
JP (1) JP6504864B2 (ja)
CN (1) CN105965505B (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6648469B2 (ja) * 2015-10-07 2020-02-14 セイコーエプソン株式会社 ロボットシステム、及びロボット制御装置
JP6686644B2 (ja) * 2016-04-06 2020-04-22 セイコーエプソン株式会社 ロボットおよびロボットシステム
US10322506B2 (en) 2016-05-06 2019-06-18 Kindred Systems Inc. Systems, devices, articles, and methods for using trained robots
US9827670B1 (en) * 2016-05-24 2017-11-28 X Development Llc Coaxial finger face and base encoding
CN106363623B (zh) * 2016-09-30 2018-09-21 深圳市同川科技有限公司 机器人位置检测装置的检测方法
JP2018059714A (ja) * 2016-09-30 2018-04-12 キヤノン株式会社 偏芯算出方法、ロータリエンコーダ、ロボットアーム及びロボット装置
JP2018069342A (ja) * 2016-10-24 2018-05-10 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
EP3542973B1 (en) * 2016-11-17 2021-09-22 Fuji Corporation Work robot and work position correction method
CN108115672B (zh) * 2016-11-26 2021-04-20 沈阳新松机器人自动化股份有限公司 一种斜交腕喷涂机器人的运动控制系统及其方法
JP6834528B2 (ja) * 2017-01-25 2021-02-24 オムロン株式会社 制御装置、制御プログラムおよび制御システム
JP6499701B2 (ja) * 2017-03-30 2019-04-10 ファナック株式会社 ロボット
JP6929961B2 (ja) * 2017-04-25 2021-09-01 コマツクス・ホールデイング・アー・ゲー 圧着プレスの第1のツールのクリンパを、圧着プレスの第2のツールのアンビルに対して整列させるための方法、および、圧着プレス装置
CN109129458A (zh) * 2017-06-16 2019-01-04 叶涛 一种终端定位机器手
JP6812960B2 (ja) * 2017-12-22 2021-01-13 トヨタ車体株式会社 ワーク搬送装置
JP6652310B2 (ja) * 2018-01-15 2020-02-19 キヤノン株式会社 ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法
JP6999443B2 (ja) * 2018-02-16 2022-01-18 日本電産サンキョー株式会社 産業用ロボットの補正値算出方法
CN108720793A (zh) * 2018-03-02 2018-11-02 重庆金山医疗器械有限公司 一种胶囊内窥镜的控制系统及方法
CN108876838B (zh) * 2018-06-15 2022-05-06 重庆大学 微操作系统的微操作空间的数字化方法及系统
JP6767436B2 (ja) * 2018-07-06 2020-10-14 ファナック株式会社 自動機械及び制御装置
CN108818538A (zh) * 2018-07-17 2018-11-16 杭州崧智智能科技有限公司 一种实时标定机器人传感器姿态的方法、装置及终端设备
CN112469533A (zh) * 2018-07-24 2021-03-09 株式会社富士 工件自动输送机
US10821603B2 (en) 2018-09-05 2020-11-03 The Boeing Company Methods and apparatus for robot control
TWI753209B (zh) * 2018-10-15 2022-01-21 達明機器人股份有限公司 機器手臂校正工具中心點的方法
JP7305951B2 (ja) * 2018-12-14 2023-07-11 ニデック株式会社 キャリブレーション装置及びキャリブレーション方法
JP7273522B2 (ja) * 2019-01-25 2023-05-15 アズビル株式会社 教示装置及び教示方法
WO2020239184A2 (en) * 2019-05-29 2020-12-03 Universal Robots A/S Control of a multipurpose robot arm
CN110587611B (zh) * 2019-09-30 2021-06-22 中电九天智能科技有限公司 电视机组装线的机械臂控制方法
FR3102697B1 (fr) * 2019-11-05 2024-03-08 Pollen Robotics Articulation à trois degrés de liberté pour un robot et procédé de commande correspondant
CN110834332B (zh) * 2019-11-13 2021-10-22 珠海格力智能装备有限公司 机械手的控制方法及装置、机械手
CN111817612B (zh) * 2020-06-08 2023-06-02 深圳众为兴技术股份有限公司 一种螺丝锁付装配工艺控制装置及方法
CN111831115A (zh) * 2020-06-28 2020-10-27 深圳市罗伯医疗科技有限公司 操作手装置控制方法、上位机、电子设备及存储介质
CN112405536B (zh) * 2020-11-10 2021-12-28 东南大学 结合离线补偿和在线跟踪混合策略的高精度恒力控制方法
CN112754616B (zh) * 2020-12-30 2022-05-10 诺创智能医疗科技(杭州)有限公司 超声定位穿刺系统和存储介质
TW202231424A (zh) 2021-02-12 2022-08-16 日商發那科股份有限公司 機器人系統及工件供給方法
CN113021318B (zh) * 2021-03-22 2022-07-12 西安交通大学 一种数字-模拟混合阀控液压机器人系统
CN113664598B (zh) * 2021-08-31 2022-07-26 郑州科技学院 自动上料机械臂
CN114102595B (zh) * 2021-11-29 2023-10-27 苏州艾利特机器人有限公司 一种机器人标定方法、标定组件及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60107023A (ja) 1983-11-15 1985-06-12 Canon Inc 液晶装置
JPS6458490A (en) 1987-08-28 1989-03-06 Toshiba Corp Calibrating apparatus for horizontal multi-joint robot
US5519937A (en) 1990-11-14 1996-05-28 Soriano; Louis Guiding method and device for the automatic introduction of a male piece into a female piece
JPH04322988A (ja) * 1991-04-17 1992-11-12 Fujitsu Ltd ロボットの関節機構
JPH10301609A (ja) * 1997-04-28 1998-11-13 Denso Corp ロボットの位置誤差検出方法及びその装置
JP5448326B2 (ja) 2007-10-29 2014-03-19 キヤノン株式会社 把持装置および把持装置制御方法
JP5400473B2 (ja) * 2009-05-22 2014-01-29 川崎重工業株式会社 ロボット装置
JP5578844B2 (ja) 2009-12-21 2014-08-27 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP5383911B2 (ja) * 2010-06-22 2014-01-08 株式会社東芝 ロボット制御装置
JP5447431B2 (ja) 2011-05-09 2014-03-19 株式会社安川電機 ロボットシステム
JP2014058003A (ja) 2012-09-14 2014-04-03 Canon Inc 校正治具及びロボット装置並びに校正治具を用いたロボット装置の校正方法
JP2014176940A (ja) * 2013-03-15 2014-09-25 Yaskawa Electric Corp ロボットシステム、ロボット制御方法及び被加工物の製造方法
JP2015033747A (ja) * 2013-08-09 2015-02-19 株式会社安川電機 ロボットシステム、ロボット制御装置及びロボット制御方法
CN105729441A (zh) * 2014-12-24 2016-07-06 精工爱普生株式会社 机器人、机器人系统、控制装置以及控制方法

Also Published As

Publication number Publication date
US20160263747A1 (en) 2016-09-15
EP3067166A1 (en) 2016-09-14
CN105965505A (zh) 2016-09-28
JP2016168651A (ja) 2016-09-23
US10144132B2 (en) 2018-12-04
CN105965505B (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
JP6504864B2 (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法
JP6648913B2 (ja) 制御方法、ロボット装置、プログラム、記録媒体、物品の製造方法、及び駆動装置
JP6584102B2 (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法
JP5972346B2 (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP6351293B2 (ja) ロボットシステム、および物品の製造方法
JP5895628B2 (ja) ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP6314426B2 (ja) ロボット制御装置およびロボット制御方法
JP6771888B2 (ja) ロボット装置、制御方法、物品の製造方法、プログラム及び記録媒体
JP5938954B2 (ja) ロボットのキャリブレーション方法及びキャリブレーション装置
JP5531996B2 (ja) 6軸ロボットの軸間オフセット検出方法
JP5701055B2 (ja) 7軸多関節ロボットの制御方法、制御プログラム及びロボット制御装置
KR102026785B1 (ko) 로봇 팔 및 로봇 손목
JP2017124455A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP5786550B2 (ja) 6軸ロボットの軸間オフセット検出方法
JP2013010149A (ja) 6軸ロボットの軸間オフセット検出方法
JP2019123073A (ja) ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法
JP6576824B2 (ja) ロボット制御装置
JP2020015124A (ja) ロボット制御方法、物品の製造方法、ロボット制御装置、ロボット、プログラム及び記録媒体
JP7154748B2 (ja) ロボットシステム、物品の製造方法、制御方法、制御プログラム、及び記録媒体
JP2017127932A (ja) ロボット装置、ロボット制御方法、部品の製造方法、プログラム及び記録媒体
JP2000055664A (ja) 姿勢を計測する機能を持つ多関節型ロボット・システム、ターン・テーブルを校正基準に用いてジャイロの計測精度を検証する方法及びシステム、及び、n軸で構成されるターン・テーブルのキャリブレーションを行う装置及び方法
JP5667437B2 (ja) ロボットの外部軸の計測方法、ロボットの教示データ作成方法、およびロボットのコントローラ
JP2020062730A (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体および物品の製造方法
JP2000263477A (ja) ロボットのキャリブレーション方法
JP5343725B2 (ja) ロボット制御装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180309

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190326

R151 Written notification of patent or utility model registration

Ref document number: 6504864

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151