JP6705851B2 - 振動解析装置および振動解析方法 - Google Patents

振動解析装置および振動解析方法 Download PDF

Info

Publication number
JP6705851B2
JP6705851B2 JP2018029672A JP2018029672A JP6705851B2 JP 6705851 B2 JP6705851 B2 JP 6705851B2 JP 2018029672 A JP2018029672 A JP 2018029672A JP 2018029672 A JP2018029672 A JP 2018029672A JP 6705851 B2 JP6705851 B2 JP 6705851B2
Authority
JP
Japan
Prior art keywords
vibration
robot
end effector
calculation model
tip
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
JP2018029672A
Other languages
English (en)
Other versions
JP2019141967A (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.)
FANUC Corp
Original Assignee
FANUC Corp
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 FANUC Corp filed Critical FANUC Corp
Priority to JP2018029672A priority Critical patent/JP6705851B2/ja
Priority to US16/268,114 priority patent/US10960549B2/en
Priority to DE102019103557.0A priority patent/DE102019103557B4/de
Priority to CN201910126222.0A priority patent/CN110186553B/zh
Publication of JP2019141967A publication Critical patent/JP2019141967A/ja
Application granted granted Critical
Publication of JP6705851B2 publication Critical patent/JP6705851B2/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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • 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/0095Means or methods for testing manipulators
    • 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
    • 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
    • G01MEASURING; TESTING
    • G01HMEASUREMENT OF MECHANICAL VIBRATIONS OR ULTRASONIC, SONIC OR INFRASONIC WAVES
    • G01H1/00Measuring characteristics of vibrations in solids by using direct conduction to the detector
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01HMEASUREMENT OF MECHANICAL VIBRATIONS OR ULTRASONIC, SONIC OR INFRASONIC WAVES
    • G01H17/00Measuring mechanical vibrations or ultrasonic, sonic or infrasonic waves, not provided for in the preceding groups
    • 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/37134Gyroscope
    • 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/37388Acceleration or deceleration, inertial measurement
    • 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/39195Control, avoid oscillation, vibration due to low rigidity
    • 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/40549Acceleration of end effector

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は振動解析装置および振動解析方法に関する。
ロボットの高速動作は、タクトタイムの短縮および生産効率の向上に寄与する。一方、ロボットアーム、減速機等の剛性に応じて、ロボットが高速動作を行った時に、ロボットの先端部に振動が生ずる場合がある。
従来、ロボットの動作中にロボットの所定位置の振動を加速度センサによって測定し、測定結果を学習制御に用いることにより、ロボットの振動を低減する方法が知られている(例えば、特許文献1参照。)。
特開2011−167817号公報
前記方法では、ロボットの先端部に取付けられたエンドエフェクタのツールセンターポイント(TCP)に加速度センサが取付けられることが多い。この場合、加速度センサによって測定される振動は、ロボットの振動とエンドエフェクタの振動を組合せたものとなる。特許文献1の方法は、加速度センサの測定結果として周波数応答データを得る。そして、特許文献1では、得られた周波数応答データを用いて学習コントローラを設計する方法が提案されている。
しかし、周波数応答の測定は時間と手間を要するものであり、ロボットの実際の設置位置において周波数応答を測定することは難しい。このように、実際の設置位置において周波数応答を測定することができないので、代表的なエンドエフェクタを用いて周波数応答の測定が行われ、このように測定された周波数応答のデータが学習コントローラに用いられている。つまり、実際の設置位置においてロボットに他のエンドエフェクタが取付けられた場合でも、学習コントローラは代表的なエンドエフェクタの周波数応答のデータを用いている。
また、近年、サーボガン等のエンドエフェクタの軽量化が行われ、エンドエフェクタの種類も多くなってきている。また、軽量化によりエンドエフェクタの振動が大きくなる傾向がある。このため、代表的なエンドエフェクタの周波数応答に基づいた学習コントローラが機能しない場面が増えている。このような場面では、例えば、振動を除去するために必要な学習回数が多くなる状況、学習制御を行うことによって振動が逆に大きくなる状況等が発生する。
本発明は、前述の事情に鑑みてなされている。本発明の目的の一つは、実際の設置位置に設置されるエンドエフェクタ付きのロボットの振動を効率的に低減することができる振動解析装置および振動解析方法の提供を目的とする。
上記課題を解決するために、本発明は以下の手段を採用する。
本発明の第1態様の振動解析装置は、ロボットの先端部によって支持されているエンドエフェクタの振動を測定するセンサと、前記ロボットの振動計算モデルを格納している記憶部と、前記センサによって前記エンドエフェクタの前記振動が測定された時の前記ロボットの動作と、前記ロボットの前記振動計算モデルとに基づき、前記エンドエフェクタが取付けられていない前記ロボットの前記先端部の振動を計算すると共に、計算された前記先端部の振動を用いて、前記センサによって測定された前記振動から計算された前記先端部の振動に起因して発生する前記エンドエフェクタの振動データを計算によって求める制御部と、を備えている。
第1態様では、記憶部にロボットの振動計算モデルが格納されている。また、制御部は、センサによってエンドエフェクタの振動が測定された時のロボットの動作と、ロボットの振動計算モデルとに基づき、エンドエフェクタが取付けられていないロボットの先端部の振動を計算すると共に、計算された先端部の振動を用いて、センサによって測定された振動から、計算された先端部の振動に起因して発生するエンドエフェクタの振動のデータを計算によって求める。ここで、エンドエフェクタの振動計算モデルはロボットの振動計算モデルに比べて単純である場合が多い。
例えば、エンドエフェクタの振動計算モデルとして1つのバネと1つのマスを有するバネ−マスモデルを用いることができる。バネは3軸方向のバネ定数および3軸周りのバネ定数を有するものであってもよい。バネは所定の減衰係数を有するものであってもよい
このようにエンドエフェクタの振動計算モデルはロボットの振動計算モデルに比べて単純である場合が多いので、前記計算を用いてエンドエフェクタ単独の振動データが得られることよって、エンドエフェクタの振動低減を効率的に行うことが可能となる。
ましくは、前記制御部が、前記処理対象の振動を発生させる前記ロボットの動作と、前記ロボットの前記振動計算モデルと、前記エンドエフェクタの仮に設定された振動計算モデルとを用いて、前記センサによって測定された前記処理対象の振動を、前記ロボットの振動データと前記エンドエフェクタの振動データとに分離する。
この場合、エンドエフェクタ単独の振動データおよびロボット単独の振動データを得ることができる。つまり、エンドエフェクタ単独の振動データおよび/又はロボット単独の振動データを用いて、エンドエフェクタの振動低減を効率的に行うことが可能となる。
本発明の第2態様の振動解析装置は、ロボットの先端部の振動を測定するセンサと、前記ロボットの前記先端部によって支持されているエンドエフェクタの振動計算モデルを格納している記憶部と、前記センサによって測定された前記振動と前記エンドエフェクタの前記振動計算モデルとを用いて前記エンドエフェクタの振動のデータを計算すると共に、前記エンドエフェクタの前記振動が前記ロボットの前記先端部の振動に影響を与えているとみなして、前記エンドエフェクタの前記振動によって前記エンドエフェクタから前記ロボットの前記先端部に入力される振動入力を計算し、計算された前記振動入力を用いて前記エンドエフェクタが取付けられていない前記ロボットの前記先端部の振動を計算する
第2態様では、記憶部にエンドエフェクタの振動計算モデルが格納されている。また、制御部は、センサによって測定された振動とエンドエフェクタの振動計算モデルとを用いてエンドエフェクタの振動のデータを計算すると共に、エンドエフェクタの振動がロボットの先端部の振動に影響を与えているとみなして、エンドエフェクタの振動によってエンドエフェクタからロボットの先端部に入力される振動入力を計算し、計算された前記振動入力を用いてエンドエフェクタが取付けられていないロボットの先端部の振動を計算する
ここで、エンドエフェクタの振動計算モデルが既知である。このため、エンドエフェクタを所定の位置に配置する前のロボットの先端部の移動方向、移動の速度、移動の加速度、姿勢等と、エンドエフェクタの振動計算モデルとを用いて、エンドエフェクタ単独の振動を比較的正確に計算することができる。このため、前記計算によって、ロボット単独の振動データも比較的正確に計算することができる。このため、エンドエフェクタの振動低減を効率的に行うことが可能となる。
第2態様において、好ましくは、前記制御部が、前記処理対象の振動を発生させる前記ロボットの動作と、前記エンドエフェクタの前記振動計算モデルとを用いて、前記エンドエフェクタに生ずる振動を計算する
エンドエフェクタの振動計算モデルはロボットの振動計算モデルに比べて単純である場合が多い。このため、エンドエフェクタを所定の位置に配置する前のロボットの先端部の移動方向、移動の速度、移動の加速度、姿勢等と、エンドエフェクタの振動計算モデルとを用いて、エンドエフェクタ単独の振動を比較的正確に計算することができる。
例えば、エンドエフェクタの振動計算モデルとして1つのバネと1つのマスを有するバネ−マスモデルを用いることができる。バネは3軸方向のバネ定数および3軸周りのバネ定数を有するものであってもよい。バネは所定の減衰係数を有するものであってもよい。このようにエンドエフェクタの振動計算モデルはロボットの振動計算モデルに比べて単純である場合が多い。このため、前記計算を用いてエンドエフェクタ単独の振動データが得られることよって、ロボット単独の振動データも比較的正確に計算することができる。このため、エンドエフェクタの振動低減を効率的に行うことが可能となる。
第2態様において、好ましくは、前記制御部が、前記処理対象の振動を発生させる前記ロボットの動作と、前記ロボットの仮に設定された前記振動計算モデルと、前記エンドエフェクタの振動計算モデルとを用いて、前記センサによって測定された前記処理対象の振動から、前記ロボットの振動データと前記エンドエフェクタの振動データとを計算によって得る。
ここで、配線、カバー等の付属品が取付けられていないロボットのモデルは既知であることが多い。例えば、配線、付属品等が取付けられていないロボットのモデルを仮に設定された振動計算モデルとして用いることも可能である。配線および付属品に応じた質量を所定位置に加えたロボットのモデルを振動計算モデルとして用いることも可能である。この場合も、エンドエフェクタ単独の振動データおよびロボット単独の振動データを計算することができる。つまり、エンドエフェクタ単独の振動データおよび/又はロボット単独の振動データを用いて、エンドエフェクタの振動低減を効率的に行うことが可能となる。
第1態様および第2態様において、好ましくは、前記ロボットが、前記記憶部に格納されている動作プログラムに基づき所定の動作を行うものであり、前記制御部が、計算される前記ロボットの前記先端部の動および前記エンドエフェクタの振動データの少なくとも一方を用いて、前記動作プログラムの再設定又は新たな動作プログラムの設定を行う。
この場合、エンドエフェクタの振動を低減するための動作プログラムの再設定又はエンドエフェクタの振動が小さい新たな動作プログラムの設定が効率的に行われる。
本発明の第3態様の振動解析装置は、ロボットの振動計算モデルと、前記ロボットによって支持されているエンドエフェクタの振動計算モデルとを格納している記憶部と、制御部とを備え、前記ロボットおよび前記エンドエフェクタは、前記エンドエフェクタの所定の位置への配置が行われる時に、前記配置の前の前記ロボットの動作に応じて様々な振動が発生するものであり、前記制御部が、前記ロボットの振動計算モデルおよび前記エンドエフェクタの振動計算モデルを用いて、前記様々な振動の各々について、前記ロボットの振動データと、前記エンドエフェクタの振動データとを計算する振動計算処理と、前記ロボットの振動および前記エンドエフェクタの振動の少なくとも一方を用いて、前記配置を行うための前記ロボットの動作プログラムを設定又は再設定する動作プログラム設定処理と、を行うように構成されている。
第3態様では、記憶部にロボットの振動計算モデルおよびエンドエフェクタの振動計算モデルが格納されている。また、制御部は、所定の位置への配置が行われる時のロボットおよびエンドエフェクタに発生する振動から、ロボットの振動データと、エンドエフェクタの振動データとを計算する。
ここで、ロボットの振動計算モデルが既知である。また、エンドエフェクタの振動計算モデルも既知である。このため、前記配置前のロボットの先端部の移動方向、移動の速度、移動の加速度、姿勢等と、ロボットの振動計算モデルと、エンドエフェクタのモデルとを用いて、ロボット単独の振動およびエンドエフェクタ単独の振動を比較的正確に計算することができる。このため、エンドエフェクタの振動低減を効率的に行うことが可能となる。
本発明の第4態様は、ロボットの先端部によって支持されているエンドエフェクタの振動を測定するセンサによって実測される振動を制御部が解析する振動解析方法であって、前記制御部の記憶部には前記ロボットの振動計算モデルが格納されており、前記制御部が、前記センサによって前記エンドエフェクタの前記振動が測定された時の前記ロボットの動作と、前記ロボットの前記振動計算モデルとに基づき、前記エンドエフェクタが取付けられていない前記ロボットの前記先端部の振動を計算すると共に、計算された前記先端部の振動を用いて、前記センサによって測定された前記からを、計算された前記先端部の振動に起因して発生する前記エンドエフェクタの振動データを計算によって求める
本発明の第5態様は、エンドエフェクタが取付けられたロボットの先端部の振動を測定するセンサによって実測される前記先端部の振動を制御部が解析する振動解析方法であって、前記制御部の記憶部には前記エンドエフェクタの振動計算モデルが格納されており、前記制御部が、前記センサによって測定された前記振動と前記エンドエフェクタの前記振動計算モデルとを用いて前記エンドエフェクタの振動のデータを計算すると共に、前記エンドエフェクタの前記振動が前記ロボットの前記先端部の振動に影響を与えているとみなして、前記エンドエフェクタの前記振動によって前記エンドエフェクタから前記ロボットの前記先端部に入力される振動入力を計算し、計算された前記振動入力を用いて前記エンドエフェクタが取付けられていない前記ロボットの前記先端部の振動を計算する
本発明の第6態様は、ロボットおよび前記ロボットによって支持されたエンドエフェクタの振動を制御部が解析する振動解析方法であって、前記ロボットおよび前記エンドエフェクタは、前記エンドエフェクタの所定の位置への配置が行われる時に、前記配置の前の前記ロボットの動作に応じて様々な振動が発生するものであり、前記制御部が、前記ロボットの振動計算モデルおよび前記エンドエフェクタの振動計算モデルを用いて、前記様々な振動の各々について、前記ロボットの振動データと、前記エンドエフェクタの振動データとを計算する振動計算処理と、前記制御部が、前記ロボットの振動データおよび前記エンドエフェクタの振動データの少なくとも一方を用いて、前記配置を行うための前記ロボットの動作プログラムを設定又は再設定する動作プログラム設定処理と、を行う。
本発明によれば、実際の設置位置に設置されるエンドエフェクタ付きのロボットの振動を効率的に低減することができる。
本発明の第1実施形態の振動解析装置の概略構成図である。 第1実施形態の振動解析装置の制御装置のブロック図である。 第1実施形態の振動解析装置の機能ブロック図である。 第1実施形態の振動解析装置の制御装置の処理を示すフローチャートである。 本発明の第2実施形態の振動解析装置の概略構成図である。 第2実施形態の振動解析装置の制御装置の処理を示すフローチャートである。 本発明の第3実施形態の振動解析装置の概略構成図である。 第3実施形態の振動解析装置の制御装置の処理を示すフローチャートである。
本発明の第1実施形態に係る振動解析装置が、図面を用いながら以下説明されている。
本実施形態の振動解析装置は、図1に示されるように、エンドエフェクタ30の作用部31の近傍に取付けられた加速度センサ40と、加速度センサ40によって実測された振動を解析する制御装置20とを備えている。エンドエフェクタ30はロボット10の先端部に取付けられている。つまり、エンドエフェクタ30はロボット10によって支持されている。
加速度センサ40は、エンドエフェクタ30の作用部31の振動を検出するためのセンサである。このようなセンサとして、作用部31の近傍に取付けられたジャイロセンサ、慣性センサ等を用いることも可能である。また、このようなセンサとして、エンドエフェクタ30に加わる慣性力を検出する力センサを用いることも可能である。また、このようなセンサとして、作用部31の振動を視覚的に検出するビジョンシステムを用いることも可能であり、作用部31の振動を非接触で検出するレーザトラッカー、モーションキャプチャ等を用いることが可能である。なお、作用部31は、図示しないワークに接触又は近接し、ワークに対し所定の加工を行う部分である。
ロボット10は、可動部としてのアーム10aを備えている。アーム10aは、複数のアーム部材および複数の関節を備えている。また、アーム10aは、複数の関節をそれぞれ駆動する複数のサーボモータ11を備えている(図2参照)。各サーボモータ11として、回転モータ、直動モータ等の各種のサーボモータが用いられ得る。各サーボモータ11はその作動位置および作動速度を検出するための作動位置検出装置を有し、作動位置検出装置は一例としてエンコーダである。作動位置検出装置の検出値は制御装置20に送信される。
エンドエフェクタ30として、周知のエンドエフェクタを用いることが可能である。エンドエフェクタ30は、例えば、溶接用のサーボガン、ハンド、様々な種類の加工ツールである。エンドエフェクタ30は、ワーク、機械等に対し所定の作業を行うその他のツールであってもよい。
本実施形態では加速度センサ40はエンドエフェクタ30の作用部31の近傍に取付けられているが、加速度センサ40がエンドエフェクタ30のその他の部分に取付けられていてもよい。
制御装置20は、図2に示されるように、プロセッサ等を有する制御部21と、表示装置22と、不揮発性ストレージ、ROM、RAM等を有する記憶部23と、キーボード、タッチパネル、操作盤等である入力装置24と、信号の送受信を行うための送受信部25とを備えている。入力装置24および送受信部25は入力部として機能する。
本実施形態では、制御装置20はロボット10の動作を制御するロボット制御装置である。制御装置20は、ロボット制御装置内に設けられ、上記の構成を有する制御装置であってもよい。また、制御装置20は、ロボット10の動作プログラムを作成するためにロボット10とは別の場所に設けられた教示装置であってもよく、ロボット10の振動を解析することができるシミュレーション装置であってもよい。制御装置20が教示装置又はシミュレーション装置である場合、下記ステップS1−2は制御装置20ではなくロボット制御装置が行ってもよい。
記憶部23にはシステムプログラム23aが格納されており、システムプログラム23aは振動解析装置の基本機能を担っている。また、記憶部23には振動解析プログラム23bが格納されている。また、記憶装置23には、振動シミュレーションモデル23cと、ロボット10用の動作プログラム23dと、動作プログラム23dの設定および再設定を行う動作設定プログラム23eとが格納されている。動作プログラム23dは、エンドエフェクタ30を用いた所定の作業を行う際にロボット10を動作させるための制御指令群である。
本実施形態では、制御部21が、動作プログラム23dに基づいて、各サーボモータ11のサーボ制御器11a(図2参照)に制御指令を送信する。これにより、所定の作業を行うために、ロボット10がエンドエフェクタ30の位置および姿勢を動作プログラム23dに沿って変化させる。
振動シミュレーションモデル23cは、ワークのモデルと、ワークに対して所定の作業を行うためのエンドエフェクタ30の仮に設定された振動計算モデルと、エンドエフェクタ10が先端部に取付けられたロボット10の振動計算モデルとを有する。ロボット10の振動計算モデルは、ロボット10の振動を計算するためのモデルであり、エンドエフェクタ30の仮に設定された振動計算モデルは、エンドエフェクタ30の振動を計算するためのモデルである。
ロボット10の振動計算モデルは、ロボット10の各部位の剛性、質量、慣性質量等を有するモデルである。エンドエフェクタ30の仮に設定された振動計算モデルは、エンドエフェクタ30の各部位の仮に設定された剛性、仮に設定された質量、仮に設定された慣性質量等を有するモデルである。ロボット10およびエンドエフェクタ30の振動計算モデルは簡易的なモデルであってもよい。
本実施形態では、振動シミュレーションモデル23c内のロボット10の振動計算モデルは、実際のロボット10に実質的に一致している。つまり、ロボット10のモデルは既知である。一方、振動シミュレーションモデル23c内のエンドエフェクタ30の仮に設定された振動計算モデルは、実際のエンドエフェクタ30に完全には一致していない。
例えば、ロボットメーカがロボット10を出荷し、製造メーカがロボット10にエンドエフェクタ30を取付ける時に、上記の状況となる。特に、エンドエフェクタ30の仕様、エンドエフェクタ30に取付けられる配線等は、製造する製品に応じて変化する。このため、振動シミュレーションモデル23cが実際のエンドエフェクタ30に完全に一致している振動計算モデルを持っていない場合がある。
前述の状況において、エンドエフェクタ30の作用部31の振動を低減するために、制御部21は、振動解析プログラム23b、動作プログラム23d、および動作設定プログラム23eに基づいて、以下の処理を行う。以下の処理は図4のフローチャートに示されている。また、以下の処理に対応する機能ブロック図は図3に示されている。
先ず、制御部21が、入力装置24、送受信部25等を用いて入力される開始信号を受付けると(ステップS1−1)、制御部21は動作プログラム23dに基づいた制御指令を各サーボ制御器11aに送信する(ステップS1−2)。これにより、ロボット10が動作プログラム23dに基づいて動作する。この時、周知のロボット制御と同様に、各サーボモータ11の作動位置検出装置の検出値を用いたフィードバック制御が行われ、各サーボ制御器11aからの電流値を用いたフィードバック制御も行われる。以下の説明は、ロボット10の動作プログラム23dに基づく動作のうちの所定の動作に関して説明されているが、その他の動作についても同様の処理が行われる。
所定の動作は、例えば、エンドエフェクタ30を所定の位置および姿勢に向かって移動し、エンドエフェクタ30を前記所定の位置および姿勢に到達させる動作である。このようにエンドエフェクタ30を配置した時に、ロボット10およびエンドエフェクタ30が振動する場合がある。
制御部21は、振動解析プログラム23bに基づいて、前記配置が行われた時に加速度センサ40によって実測される振動を分離する(ステップS1−3)。具体的に、制御部21は、加速度センサ40によって実測される振動を、ロボット10の振動計算モデルを用いて、ロボット10の振動データとエンドエフェクタ30の振動データとに分離する。当該処理は、図3における前処理に対応している。
ロボット10の振動データは、例えば、ロボット10の先端部の主な振動の方向、周波数、振幅、加速度等の情報を含む。主な振動が複数の方向の振動を含む場合、ロボット10の振動データは、複数の方向の振動の各々について、周波数、振幅、加速度等の情報を含む。ロボット10の振動データは、ロボット10の他の部分の主な振動の方向、周波数、振幅、加速度等の情報を含むデータであってもよい。
エンドエフェクタ30の振動データは、例えば、エンドエフェクタ30の作用部31の主な振動の方向、周波数、振幅、加速度等の情報を含む。主な振動が複数の方向の振動を含む場合、エンドエフェクタ30の振動データは、複数の方向の振動の各々について、周波数、振幅、加速度等の情報を含む。エンドエフェクタ30の振動データは、エンドエフェクタ30の他の部分の主な振動の方向、周波数、振幅、加速度等の情報を含むデータであってもよい。
ここで、ロボット10は動作プログラム23dに基づいて動作するので、ロボット10の所定の動作は既知である。つまり、前記配置の前のロボット10の先端部の移動方向、移動の速度、移動の加速度、姿勢等は既知である。ここで述べる配置は、エンドエフェクタ30を前記所定の位置および姿勢とすることである。また、前記配置前のロボット10の他の部分の移動方向、移動の速度、移動の加速度、姿勢等も既知である。これらの移動方向、移動の速度、移動の加速度、姿勢等は、加速度センサ40によって実測される振動、つまり処理対象の振動を発生させるロボット10の動作を示す。このため、制御部21は、前記配置が行われた時について、エンドエフェクタ30が取付けられていないロボット10の先端部の振動の方向、振幅、加速度、周波数等を計算できる。
また、多くの場合に、ロボット10の質量および慣性質量は、エンドエフェクタ30の質量および慣性質量よりも十分に大きい。このため、一例として、制御部21は、加速度センサ40によって実測される振動を、エンドエフェクタ30が取付けられていないロボット10の先端部の振動に起因するエンドエフェクタ30の振動とみなすことができる。つまり、ロボット10の先端部の振動データが計算によって求められ、ロボットの先端部に取付けられたエンドエフェクタ30の振動データが計算によって求められる。
他の例として、ロボット10の振動計算モデルの先端部にエンドエフェクタ30に対応した質量、慣性質量等を設定した状態で、前記配置が行われた時について、ロボット10の先端部の振動の方向、振幅、加速度、周波数等を計算することができる。この場合も、制御部21は、加速度センサ40によって実測される振動を、ロボット10の先端部の振動に起因するエンドエフェクタ30の振動とみなすことができる。つまり、ロボット10の先端部の振動データが計算によって求められ、ロボット10の先端部に取付けられたエンドエフェクタ30の振動データが計算によって求められる。
さらに他の例では、ロボット10の振動計算モデルの先端部にエンドエフェクタ30の仮に設定された振動計算モデルが取付けられたモデルを設定することができる。エンドエフェクタ30の仮に設定された振動計算モデルは、周波数応答が既知である代表的なエンドエフェクタの振動計算モデルであってもよい。この場合、制御部21は、加速度センサ40によって実測される振動を、ロボット10の振動計算モデルの先端部に取付けられたエンドエフェクタ30の仮に設定された振動計算モデルの振動とみなすことができる。つまり、ロボット10の先端部の振動データが計算によって求められ、ロボット10の先端部に取付けられたエンドエフェクタ30の振動データが計算によって求められる。
前記分離のための前述の具体的な計算方法の組合せを用いて、ロボット10の先端部の振動データおよびエンドエフェクタ30の振動データを求めることもできる。
続いて、制御部21は、振動解析プログラム23bに基づいて、前記配置時におけるエンドエフェクタ30の作用部31の振動を低減するためのロボット10の動作を求める(ステップS1−4)。ステップS1−4を行う際に、制御部21は、上記のロボット10の振動データおよびエンドエフェクタ30の振動データを用いる。なお、ステップS1−4を行う際に、制御部21は、ロボット10の振動データだけを用いてもよく、エンドエフェクタ30の振動データだけを用いてもよい。
簡単な例では、ロボット10の先端部の振動の方向がエンドエフェクタ30の作用部31の振動の方向と一致している。この場合、ロボット10の先端部の振動が無くなる動作が行われると、エンドエフェクタ30の作用部31の振動が低減され又は無くなる可能性が高い。ロボット10の先端部の振動が無くなる動作の一例は、ロボット10の先端部を所定の配置位置の直前で瞬間的に停止又は減速させ、当該停止又は減速によってロボット10の先端部に生ずる振動を打ち消すタイミング、速度等を用いて、ロボット10の先端部を所定の配置位置に移動させる動作である。
複雑な例では、ロボット10の先端部の振動の方向がエンドエフェクタ30の作用部31の振動の方向と異なっている。ロボット10の先端部の振動の周波数等がエンドエフェクタ30の作用部31の振動の周波数等と異なっている場合もある。これらの場合は、所定の配置位置の直前でロボット10の先端部を瞬間的に停止又は減速させ、当該停止又は減速によってエンドエフェクタ30の作用部31に生ずる振動を打ち消すタイミング、速度等を用いて、ロボット10の先端部を所定の配置位置に移動させる。エンドエフェクタ30の作用部31に生ずる振動を低減させるために、周知のPID制御を用いてもよい。
続いて、制御部21は、動作設定プログラム23eに基づいて、ステップS1−4によって設定された動作をロボット10に行わせる制御指令を作成し(ステップS1−5)、作成した制御指令を用いて動作プログラム23dを再設定する(ステップS1−6)。なおステップS1−6において、制御部21が新たな動作プログラムを設定してもよい。
続いて、制御部21は、加速度センサ40の検出値が基準値未満となるまで、ステップS1−2〜S1−6を繰り返す(ステップS1−7)。
上記の例では、ステップS1−4〜S1−6の処理は、図3における学習制御に対応している。
なお、記憶部23に、前記配置の前のロボット10の動作が異なる複数の動作プログラムが格納されていてもよい。つまり、複数の動作プログラムはロボット10の前記配置前の動作が互いに異なる。この場合、制御部21は、ステップS1−4を省きながら、ステップS1−2〜S1−6が繰り返される時に、ステップS1−2において複数の動作プログラムを順次用いる。
そして、制御部21は、ステップS1−3において、加速度センサ40によって実測される様々な振動をそれぞれ分離する。また、制御部21は、ステップS1−5において、ステップS1−3によって得られる様々なロボット10の振動データおよび様々なエンドエフェクタ30の振動データから傾向を得て、前記配置時におけるエンドエフェクタ30の作用部31の振動を低減するためのロボット10の動作を求めてもよい。この時、制御部21は、様々なロボット10の振動データだけを用いてもよく、様々なエンドエフェクタ30の振動データだけを用いてもよい。
このように、本実施形態では、記憶部23にロボット10の振動計算モデルが格納されている。また、制御部21は、加速度センサ40によって測定されたエンドエフェクタ30の実際の振動を、ロボット10の振動計算モデルを用いて、ロボット10の振動データとエンドエフェクタ30の振動データとに分離する。ここで、エンドエフェクタ30の振動計算モデルはロボット10の振動計算モデルに比べて単純である場合が多い。
例えば、エンドエフェクタ30の振動計算モデルとして1つのバネと1つのマスを有するバネ−マスモデルを用いることができる。バネは3軸方向のバネ定数および3軸周りのバネ定数を有するものであってもよい。バネは所定の減衰係数を有するものであってもよい。このようにエンドエフェクタ30の振動計算モデルはロボット10の振動計算モデルに比べて単純である場合が多いので、前記分離を用いてエンドエフェクタ30単独の振動データが得られることよって、エンドエフェクタ30の振動低減を効率的に行うことが可能となる。
また、本実施形態では、制御部21が、処理対象の振動を発生させるロボット10の動作と、ロボット10の振動計算モデルとを用いて、ロボット10の先端部に生ずる振動を計算し、計算された振動を用いて前記分離を行う。この時、ロボット10の振動計算モデルを、その先端にエンドエフェクタ30に対応した質量、慣性質量等を設定した状態で、用いることもできる。この場合、ロボット10の先端部の振動状態を用いて、エンドエフェクタ30単独の振動データを得ることができる。このように得られたエンドエフェクタ30の振動データは、エンドエフェクタ30の振動低減を効率的に行う上で有用である。
本実施形態の他の例では、制御部21が、処理対象の振動を発生させるロボット10の動作と、ロボット10の振動計算モデルと、エンドエフェクタ30の仮に設定された振動計算モデルとを用いて、加速度センサ40によって測定された処理対象の振動を、ロボット10の振動データとエンドエフェクタ30の振動データとに分離する。この場合も、エンドエフェクタ30単独の振動データおよびロボット10単独の振動データを得ることができる。つまり、エンドエフェクタ30単独の振動データおよび/又はロボット10単独の振動データを用いて、エンドエフェクタ30の振動低減を効率的に行うことが可能となる。
また、本実施形態では、制御部21が、ロボット10の振動データおよびエンドエフェクタ30の振動データの少なくとも一方を用いて、動作プログラム23dの再設定又は新たな動作プログラムの設定を行う。このため、エンドエフェクタ30の振動を低減するための動作プログラムの再設定又はエンドエフェクタ30の振動が小さい新たな動作プログラムの設定が効率的に行われる。
本発明の第2実施形態に係る振動解析装置が、図面を用いながら以下説明されている。
第2実施形態において、第1実施形態と同様の構成には同一の符号が付され、第1実施形態と同様の構成および処理の説明は省略されている。また、第2実施形態も、第1実施形態と同様に変形することができる。例えば、加速度センサ40をビジョンシステム等の他のセンサに変更すること、制御装置20をシミュレーション装置等に変更すること等が可能である。
第1実施形態では、加速度センサ40はエンドエフェクタ30に取付けられていたが、第2実施形態では、図5に示されるように、加速度センサ40はロボット10の先端部の振動を測定するものである。加速度センサ40は例えばロボット10の先端部に取付けられている。また、第2実施形態では、振動シミュレーションモデル23cは、ワークのモデルと、ワークに対して所定の作業を行うためのエンドエフェクタ30の振動計算モデルと、エンドエフェクタ30が先端部に取付けられたロボット10の仮に設定された振動計算モデルとを有する。
ロボット10の仮に設定された振動計算モデルは、ロボット10の各部位の仮に設定された剛性、仮に設定された質量、仮に設定された慣性質量等を有するモデルである。エンドエフェクタ30の振動計算モデルは、エンドエフェクタ30の各部位の剛性、質量、慣性質量等を有するモデルである。ロボット10およびエンドエフェクタ30の振動計算モデルは簡易的なモデルであってもよい。
第2実施形態では、振動シミュレーションモデル23c内のエンドエフェクタ30の振動計算モデルは、実際のエンドエフェクタ30に実質的に一致している。つまり、エンドエフェクタ30のモデルは既知である。一方、振動シミュレーションモデル23c内のロボット10の仮に設定された振動計算モデルは、実際に設置されたロボット10に完全には一致していない。
例えば、ロボットメーカがロボット10を出荷し、製造メーカがロボット10を設置する時に、上記の状況となる。特に、ロボット10のアーム10aの外周面によって各種の配線が支持される場合、ロボット10のアーム10a内に各種の配線が支持される場合、ロボット10に防塵、汚れ防止、防爆等の目的でカバーが取付けられる場合等に、上記の状態となる。ロボット10の付属品の仕様、ロボット10に取付けられる配線等は、製造する製品に応じて変化する。このため、振動シミュレーションモデル23cが実際に設置されたロボット10に完全に一致している振動計算モデルを持っていない場合がある。
前述の状況において、エンドエフェクタ30の作用部31の振動を低減するために、制御部21は、振動解析プログラム23b、動作プログラム23d、および動作設定プログラム23eに基づいて、以下の処理を行う。以下の処理は図6のフローチャートに示されている。
先ず、制御部21が、入力装置24、送受信部25等を用いて入力される開始信号を受付けると(ステップS2−1)、制御部21は動作プログラム23dに基づいた制御指令を各サーボ制御器11aに送信する(ステップS2−2)。これにより、ロボット10が動作プログラム23dに基づいて動作する。以下の説明は、ロボット10の動作プログラム23dに基づく動作のうちの所定の動作に関して説明されているが、その他の動作についても同様の処理が行われる。
所定の動作は、例えば、エンドエフェクタ30を所定の位置および姿勢に向かって移動し、エンドエフェクタ30を前記所定の位置および姿勢に到達させる動作である。このようにエンドエフェクタ30を配置した時に、ロボット10およびエンドエフェクタ30が振動する。
制御部21は、振動解析プログラム23bに基づいて、前記配置が行われた時に加速度センサ40によって実測される振動の分離処理を行う(ステップS2−3)。具体的に、制御部21は、加速度センサ40によって実測される振動から、エンドエフェクタ30の振動計算モデルを用いて、ロボット10の振動データとエンドエフェクタ30の振動データとを計算する。
ここで、ロボット10は動作プログラム23dに基づいて動作するので、ロボット10の所定の動作は既知である。つまり、前記配置前のロボット10の先端部の移動方向、移動の速度、移動の加速度、姿勢等は既知である。前記移動方向、移動の速度、移動の加速度、姿勢等は、加速度センサ40によって実測される振動、つまり処理対象の振動を発生させるロボット10の動作を示す。このため、制御部21は、前記配置が行われた時について、前記配置前のロボット10の先端部の移動方向、移動の速度、移動の加速度、姿勢等に基づくエンドエフェクタ30の作用部31等の振動の方向、振幅、加速度、周波数等を計算できる。
ここで、加速度センサ40によって実測される振動を、前記計算により求められるエンドエフェクタ30の振動とロボット10の振動とが影響している振動であるとみなすことができる。つまり、加速度センサ40によって実測される振動は、エンドエフェクタ30が取付けられていないロボット10の先端部の振動ではなく、ロボット10の先端部の振動がエンドエフェクタ30の振動により変化した振動であるとみなせる。このため、エンドエフェクタ30の振動データを用いることによって、当該振動が生じている時にエンドエフェクタ30からロボット10の先端部に加わる振動入力がわかる。即ち、エンドエフェクタ30が取付けられていないロボット10の先端部の振動データ等が計算によって求められる。当該振動データが、前述のロボット10の振動データとして用いられ得る。
他の例として、ロボット10の仮に設定された振動計算モデルの先端部にエンドエフェクタ30の振動計算モデルが取付けられたモデルを設定することができる。この場合、制御部21は、加速度センサ40によって実測される振動を、ロボット10の仮に設定された振動計算モデルの先端部に取付けられたエンドエフェクタ30の振動計算モデルの振動とみなすことができる。つまり、エンドエフェクタ30が取付けられていないロボット10の先端部の振動データ振動データ等が計算によって求められる。当該振動データが、前述のロボット10の振動データとして用いられ得る。また、ロボットの先端部に取付けられたエンドエフェクタ30の振動データも計算によって求められる。
前記分離のための前述の具体的な計算方法の組合せを用いて、ロボット10の振動データおよびエンドエフェクタ30の振動データを求めることもできる。
続いて、制御部21は、振動解析プログラム23bに基づいて、前記配置時におけるエンドエフェクタ30の作用部31の振動を低減するためのロボット10の動作を求める(ステップS2−4)。ステップS2−4を行う際に、制御部21は、上記のロボット10の振動データおよびエンドエフェクタ30の振動データを用いる。なお、ステップS2−4を行う際に、制御部21は、ロボット10の振動データだけを用いてもよく、エンドエフェクタ30の振動データだけを用いてもよい。
続いて、制御部21は、動作設定プログラム23eに基づいて、ステップS2−4によって設定された動作をロボット10に行わせる制御指令を作成し(ステップS2−5)、作成した制御指令を用いて動作プログラム23dを再設定する(ステップS2−6)。なおステップS2−6において、制御部21が新たな動作プログラムを設定してもよい。
続いて、制御部21は、加速度センサ40の検出値が基準値未満となるまで、ステップS2−2〜S2−6を繰り返す(ステップS2−7)。
上記の例では、ステップS2−4〜S2−6の処理は、図3における学習制御に対応している。
なお、記憶部23に、前記配置の前のロボット10の動作が異なる複数の動作プログラムが格納されていてもよい。つまり、複数の動作プログラムはロボット10の前記配置前の動作が互いに異なる。この場合、制御部21は、ステップS2−4を省きながら、ステップS2−2〜S2−6が繰り返される時に、ステップS2−2において複数の動作プログラムを順次用いる。
そして、制御部21は、ステップS2−3において、加速度センサ40によって実測される様々な振動をそれぞれ分離する。また、制御部21は、ステップS2−5において、ステップS2−3によって得られる様々なロボット10の振動データおよび様々なエンドエフェクタ30の振動データから傾向を得て、前記配置時におけるエンドエフェクタ30の作用部31の振動を低減するためのロボット10の動作を求めてもよい。この時、制御部21は、様々なロボット10の振動データだけを用いてもよく、様々なエンドエフェクタ30の振動データだけを用いてもよい。
このように、第2実施形態では、記憶部23にエンドエフェクタ30の振動計算モデルが格納されている。また、制御部21は、加速度センサ40によって測定されたロボット10の先端部の実際の振動から、エンドエフェクタ30の振動計算モデルを用いて、ロボット10の振動データとエンドエフェクタ30の振動データとを算出する。
ここで、エンドエフェクタ30の振動計算モデルが既知である。このため、前記配置前のロボット10の先端部の移動方向、移動の速度、移動の加速度、姿勢等と、エンドエフェクタ30の振動計算モデルとを用いて、エンドエフェクタ30単独の振動を比較的正確に計算することができる。このため、前記分離によって、例えばエンドエフェクタ30が取付けられていない状態のロボット10の振動データも比較的正確に計算できる。このため、エンドエフェクタ30の振動低減を効率的に行うことが可能となる。
また、第2実施形態では、制御部21が、処理対象の振動を発生させる前記ロボット10の動作と、エンドエフェクタ30の振動計算モデルとを用いて、エンドエフェクタ30に生ずる振動を計算し、計算された振動を用いて前記分離を行う。
エンドエフェクタ30の振動計算モデルはロボット10の振動計算モデルに比べて単純である場合が多い。このため、前記配置前のロボット10の先端部の移動方向、移動の速度、移動の加速度、姿勢等と、エンドエフェクタ30の振動計算モデルとを用いて、エンドエフェクタ30単独の振動を比較的正確に計算することができる。
例えば、エンドエフェクタ30の振動計算モデルとして1つのバネと1つのマスを有するバネ−マスモデルを用いることができる。バネは3軸方向のバネ定数および3軸周りのバネ定数を有するものであってもよい。バネは所定の減衰係数を有するものであってもよい。このようにエンドエフェクタ30の振動計算モデルはロボット10の振動計算モデルに比べて単純である場合が多い。このため、前記分離を用いてエンドエフェクタ30単独の振動データが得られることよって、ロボット10単独の振動データも比較的正確に計算できる。このため、エンドエフェクタ30の振動低減を効率的に行うことが可能となる。
第2実施形態の他の例では、制御部21が、処理対象の振動を発生させるロボット10の動作と、ロボット10の仮に設定された振動計算モデルと、エンドエフェクタ30の振動計算モデルとを用いて、加速度センサ40によって測定された処理対象の振動を、ロボット10の振動データとエンドエフェクタ30の振動データとを計算によって得る。
ここで、配線、カバー等の付属品が取付けられていないロボット10のモデルは既知であることが多い。例えば、配線、付属品等が取付けられていないロボット10のモデルを仮に設定された振動計算モデルとして用いることも可能である。配線および付属品に応じた質量を所定位置に加えたロボット10のモデルを振動計算モデルとして用いることも可能である。この場合も、エンドエフェクタ30単独の振動データおよびロボット10単独の振動データを計算することができる。つまり、エンドエフェクタ30単独の振動データおよび/又はロボット10単独の振動データを用いて、エンドエフェクタ30の振動低減を効率的に行うことが可能となる。
また、第2実施形態では、制御部21が、ロボット10の振動データおよびエンドエフェクタ30の振動データの少なくとも一方を用いて、動作プログラム23dの再設定又は新たな動作プログラムの設定を行う。このため、エンドエフェクタ30の振動を低減するための動作プログラムの再設定又はエンドエフェクタ30の振動が小さい新たな動作プログラムの設定が効率的に行われる。
本発明の第3実施形態に係る振動解析装置が、図面を用いながら以下説明されている。
第3実施形態において、第1実施形態と同様の構成には同一の符号が付され、第1実施形態と同様の構成および処理の説明は省略されている。また、第3実施形態も、第1実施形態と同様に変形することができる。例えば、制御装置20をシミュレーション装置等に変更すること等が可能である。
第1実施形態では加速度センサ40が用いられているが、図7に示されるように、第3実施形態では加速度センサ40は用いられない。また、第3実施形態では、振動シミュレーションモデル23cは、ワークのモデルと、ワークに対して所定の作業を行うためのエンドエフェクタ30の振動計算モデルと、エンドエフェクタ30が先端部に取付けられたロボット10の振動計算モデルとを有する。
ロボット10の振動計算モデルは、ロボット10の各部位の剛性、質量、慣性質量等を有するモデルである。エンドエフェクタ30の振動計算モデルは、エンドエフェクタ30の各部位の剛性、質量、慣性質量等を有するモデルである。ロボット10およびエンドエフェクタ30の振動計算モデルは簡易的なモデルであってもよい。
第3実施形態では、振動シミュレーションモデル23c内のロボット10の振動計算モデルは、実際のロボット10に実質的に一致している。つまり、ロボット10のモデルは既知である。ロボット10の振動計算モデルには、ロボット10の付属品の仕様、ロボット10に取付けられる配線等により変化するパラメータも含まれている。また、振動シミュレーションモデル23c内のエンドエフェクタ30の振動計算モデルは、実際のエンドエフェクタ30に実質的に一致している。つまり、エンドエフェクタ30のモデルも既知である。
前述の状況において、エンドエフェクタ30の作用部31の振動を低減するために、制御部21は、振動解析プログラム23b、動作プログラム23d、および動作設定プログラム23eに基づいて、以下の処理を行う。以下の処理は図8のフローチャートに示されている。
先ず、制御部21が、入力装置24、送受信部25等を用いて入力される開始信号を受付けると(ステップS3−1)、制御部21は動作プログラム23dに基づいて、振動シミュレーションモデル23c内においてロボット10を動作させる(ステップS3−2)。これにより、振動シミュレーションモデル23c内において、ロボット10が動作プログラム23dに基づいて動作する。以下の説明は、ロボット10の動作プログラム23dに基づく動作のうちの所定の動作に関して説明されているが、その他の動作についても同様の処理が行われる。
所定の動作は、例えば、エンドエフェクタ30を所定の位置および姿勢に向かって移動し、エンドエフェクタ30を前記所定の位置および姿勢に到達させる動作である。このようにエンドエフェクタ30を配置した時に、ロボット10およびエンドエフェクタ30が振動する。
制御部21は、振動解析プログラム23bに基づいて、前記配置が行われた時に振動シミュレーションモデル23c内のロボット10およびエンドエフェクタ30に発生する振動から、ロボット10の振動データと、エンドエフェクタ10の振動データとを計算する(ステップS3−3;振動計算処理)。具体的に、制御部21は、ロボット10の振動計算モデルおよびエンドエフェクタ30の振動計算モデルを用いて、ロボット10の振動データとエンドエフェクタ30の振動データとを求める。
ここで、ロボット10は動作プログラム23dに基づいて動作するので、ロボット10の所定の動作は既知である。つまり、前記配置前のロボット10の先端部の移動方向、移動の速度、移動の加速度、姿勢等は既知である。前記移動方向、移動の速度、移動の加速度、姿勢等は、ロボット10およびエンドエフェクタ30の振動、つまり処理対象の振動を発生させるロボット10の動作を示す。
このため、制御部21は、前記配置が行われた時について、エンドエフェクタ30の作用部31の振動の方向、振幅、加速度、周波数等を計算できる。また、制御部21は、前記配置が行われた時について、ロボット10の先端部の振動の方向、振幅、加速度、周波数等を計算できる。つまり、ロボット10の先端部の振動データが計算によって求められ、ロボットの先端部に取付けられたエンドエフェクタ30の振動データが計算によって求められる。
続いて、制御部21は、振動解析プログラム23bに基づいて、前記配置時におけるエンドエフェクタ30の作用部31の振動を低減するためのロボット10の動作を求める(ステップS3−4)。ステップS3−4を行う際に、制御部21は、上記のロボット10の振動データおよびエンドエフェクタ30の振動データを用いる。なお、ステップS3−4を行う際に、制御部21は、ロボット10の振動データだけを用いてもよく、エンドエフェクタ30の振動データだけを用いてもよい。
続いて、制御部21は、動作設定プログラム23eに基づいて、ステップS3−4によって設定された動作をロボット10に行わせる制御指令を作成し(ステップS3−5)、作成した制御指令を用いて動作プログラム23dを再設定する(ステップS3−6)。なおステップS3−6において、制御部21が新たな動作プログラムを設定してもよい。
続いて、制御部21は、エンドエフェクタ30の作用部31の振動が基準値未満となるまで、ステップS3−2〜S3−6を繰り返す(ステップS3−7)。
上記の例では、ステップS3−4〜S3−6の処理は、図3における学習制御に対応しており、動作プログラム設定処理とも言える。
なお、記憶部23に、前記配置の前のロボット10の動作が異なる複数の動作プログラムが格納されていてもよい。つまり、複数の動作プログラムはロボット10の前記配置前の動作が互いに異なる。この場合、制御部21は、ステップS3−4を省きながら、ステップS3−2〜S3−6が繰り返される時に、ステップS3−2において複数の動作プログラムを順次用いる。
そして、制御部21は、ステップS3−3において、ロボット10の様々な振動データと、エンドエフェクタ10の様々な振動データとを計算する。また、制御部21は、ステップS3−5において、ステップS3−3によって得られる様々なロボット10の振動データおよび様々なエンドエフェクタ30の振動データから傾向を得て、前記配置時におけるエンドエフェクタ30の作用部31の振動を低減するためのロボット10の動作を求めてもよい。この時、制御部21は、様々なロボット10の振動データだけを用いてもよく、様々なエンドエフェクタ30の振動データだけを用いてもよい。
このように、第3実施形態では、記憶部23にロボット10の振動計算モデルおよびエンドエフェクタ30の振動計算モデルが格納されている。また、制御部21は、振動シミュレーションモデル23c内のロボット10およびエンドエフェクタ30に発生する振動から、ロボット10の振動データと、エンドエフェクタ10の振動データとを計算する。
ここで、ロボット10の振動計算モデルが既知である。また、エンドエフェクタ30の振動計算モデルも既知である。このため、前記配置前のロボット10の先端部の移動方向、移動の速度、移動の加速度、姿勢等と、ロボット10の振動計算モデルと、エンドエフェクタ30のモデルとを用いて、ロボット10単独の振動およびエンドエフェクタ30単独の振動を比較的正確に計算することができる。このため、エンドエフェクタ30の振動低減を効率的に行うことが可能となる。
なお、図1、図5、および図7では、ロボット10は垂直多関節ロボットであるが、ロボット10が水平多関節ロボット又は他のタイプのロボットであってもよい。この場合でも前述と同様の効果が達成される。
10 ロボット
10a アーム
11 サーボモータ
11a サーボ制御器
20 制御装置
21 制御部
22 表示装置
23 記憶部
23a システムプログラム
23b 振動解析プログラム
23c 振動シミュレーションモデル
23d 動作プログラム
23e 動作設定プログラム
24 入力装置
25 送受信部
30 エンドエフェクタ
31 作用部
40 加速度センサ

Claims (7)

  1. ロボットの先端部によって支持されているエンドエフェクタの振動を測定するセンサと、
    前記ロボットの振動計算モデルを格納している記憶部と、
    前記センサによって前記エンドエフェクタの前記振動が測定された時の前記ロボットの動作と、前記ロボットの前記振動計算モデルとに基づき、前記エンドエフェクタが取付けられていない前記ロボットの前記先端部の振動を計算すると共に、計算された前記先端部の振動を用いて、前記センサによって測定された前記振動から計算された前記先端部の振動に起因して発生する前記エンドエフェクタの振動データを計算によって求める制御部と、を備えている振動解析装置。
  2. ロボットの先端部によって支持されているエンドエフェクタの振動を測定するセンサと、
    前記ロボットの振動計算モデルを格納している記憶部と、
    前記ロボットの振動計算モデルを用いて、前記センサによって測定された処理対象の振動を、前記ロボットの振動データと前記エンドエフェクタの振動データとに分離する分離処理を行う制御部と、を備え、
    前記制御部が、前記処理対象の振動を発生させる前記ロボットの動作と、前記ロボットの前記振動計算モデルと、前記エンドエフェクタの仮に設定された振動計算モデルとを用いて、前記センサによって測定された前記処理対象の振動を、前記ロボットの振動データと前記エンドエフェクタの振動データとに分離する、動解析装置。
  3. ロボットの先端部の振動を測定するセンサと、
    前記ロボットの前記先端部によって支持されているエンドエフェクタの振動計算モデルを格納している記憶部と、
    前記センサによって測定された前記振動と前記エンドエフェクタの前記振動計算モデルとを用いて前記エンドエフェクタの振動のデータを計算すると共に、前記エンドエフェクタの前記振動が前記ロボットの前記先端部の振動に影響を与えているとみなして、前記エンドエフェクタの前記振動によって前記エンドエフェクタから前記ロボットの前記先端部に入力される振動入力を計算し、計算された前記振動入力を用いて前記エンドエフェクタが取付けられていない前記ロボットの前記先端部の振動を計算する制御部と、を備えている振動解析装置。
  4. ロボットの振動を測定するセンサと、
    前記ロボットの先端部によって支持されているエンドエフェクタの振動計算モデルを格納している記憶部と、
    前記エンドエフェクタの振動計算モデルを用いて、前記センサによって測定された処理対象の振動から、前記ロボットの振動データと前記エンドエフェクタの振動データとを計算によって得る分離処理を行う制御部と、を備え、
    前記制御部が、前記処理対象の振動を発生させる前記ロボットの動作と、前記ロボットの仮に設定された前記振動計算モデルと、前記エンドエフェクタの振動計算モデルとを用いて、前記センサによって測定された前記処理対象の振動から、前記ロボットの振動データと前記エンドエフェクタの振動データとを計算によって得る、動解析装置。
  5. 前記ロボットが、前記記憶部に格納されている動作プログラムに基づき所定の動作を行うものであり、
    前記制御部が、計算される前記ロボットの前記先端部の動および前記エンドエフェクタの振動データの少なくとも一方を用いて、前記動作プログラムの再設定又は新たな動作プログラムの設定を行う、請求項1〜の何れかに記載の振動解析装置。
  6. ロボットの先端部によって支持されているエンドエフェクタの振動を測定するセンサによって実測される振動を制御部が解析する振動解析方法であって、
    前記制御部の記憶部には前記ロボットの振動計算モデルが格納されており、
    前記制御部が、前記センサによって前記エンドエフェクタの前記振動が測定された時の前記ロボットの動作と、前記ロボットの前記振動計算モデルとに基づき、前記エンドエフェクタが取付けられていない前記ロボットの前記先端部の振動を計算すると共に、計算された前記先端部の振動を用いて、前記センサによって測定された前記振動からを、計算された前記先端部の振動に起因して発生する前記エンドエフェクタの振動データを計算によって求める、振動解析方法。
  7. エンドエフェクタが取付けられたロボットの先端部の振動を測定するセンサによって実測される前記先端部の振動を制御部が解析する振動解析方法であって、
    前記制御部の記憶部には前記エンドエフェクタの振動計算モデルが格納されており、
    前記制御部が、前記センサによって測定された前記振動と前記エンドエフェクタの前記振動計算モデルとを用いて前記エンドエフェクタの振動のデータを計算すると共に、前記エンドエフェクタの前記振動が前記ロボットの前記先端部の振動に影響を与えているとみなして、前記エンドエフェクタの前記振動によって前記エンドエフェクタから前記ロボットの前記先端部に入力される振動入力を計算し、計算された前記振動入力を用いて前記エンドエフェクタが取付けられていない前記ロボットの前記先端部の振動を計算する、振動解析方法。
JP2018029672A 2018-02-22 2018-02-22 振動解析装置および振動解析方法 Active JP6705851B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018029672A JP6705851B2 (ja) 2018-02-22 2018-02-22 振動解析装置および振動解析方法
US16/268,114 US10960549B2 (en) 2018-02-22 2019-02-05 Vibration analyzer and vibration analysis method
DE102019103557.0A DE102019103557B4 (de) 2018-02-22 2019-02-13 Schwingungsanalysator und Schwingungsanalyseverfahren
CN201910126222.0A CN110186553B (zh) 2018-02-22 2019-02-20 振动分析装置以及振动分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018029672A JP6705851B2 (ja) 2018-02-22 2018-02-22 振動解析装置および振動解析方法

Publications (2)

Publication Number Publication Date
JP2019141967A JP2019141967A (ja) 2019-08-29
JP6705851B2 true JP6705851B2 (ja) 2020-06-03

Family

ID=67481707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018029672A Active JP6705851B2 (ja) 2018-02-22 2018-02-22 振動解析装置および振動解析方法

Country Status (4)

Country Link
US (1) US10960549B2 (ja)
JP (1) JP6705851B2 (ja)
CN (1) CN110186553B (ja)
DE (1) DE102019103557B4 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6484265B2 (ja) * 2017-02-15 2019-03-13 ファナック株式会社 学習制御機能を備えたロボットシステム及び学習制御方法
US11701774B2 (en) 2020-12-16 2023-07-18 Disney Enterprises, Inc. Robotic systems using learning to provide real-time vibration-suppressing control
US11478931B2 (en) * 2019-06-25 2022-10-25 Disney Enterprises, Inc. Computational vibration suppression for robotic systems
JP7487479B2 (ja) * 2020-01-23 2024-05-21 セイコーエプソン株式会社 移動ロボットの制御方法
TWI728762B (zh) * 2020-03-27 2021-05-21 財團法人工業技術研究院 減低機械手臂振動之方法
JP2022117612A (ja) * 2021-02-01 2022-08-12 セイコーエプソン株式会社 動作パラメーター調整方法、動作パラメーター調整プログラムおよびロボットシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH066273B2 (ja) 1985-07-19 1994-01-26 株式会社日平トヤマ 工業用ロボツトの揺動防止装置
JP3072687B2 (ja) 1993-03-26 2000-07-31 トヨタ自動車株式会社 固有振動数の算出方法
DE60100372T2 (de) 2000-02-10 2003-12-04 Fanuc Ltd Steuervorrichtung für eine Maschine
JP2001293638A (ja) 2000-02-10 2001-10-23 Fanuc Ltd 制御装置
JP2005103649A (ja) 2003-09-26 2005-04-21 Daihen Corp 搬送用ハンド、およびその制御装置
JP4250538B2 (ja) * 2004-01-27 2009-04-08 パナソニック株式会社 揺動装置を有する多関節ロボット
US20070001638A1 (en) * 2005-07-01 2007-01-04 Fsi International, Inc. Robot with vibration sensor device
JP4850956B2 (ja) 2010-02-19 2012-01-11 ファナック株式会社 学習制御機能を備えたロボット
JP2013188859A (ja) 2012-03-15 2013-09-26 Azbil Corp アクチュエータの制御装置
JP6097174B2 (ja) * 2013-08-05 2017-03-15 株式会社東芝 ロボット制御装置
US9873198B2 (en) 2014-10-06 2018-01-23 The Johns Hopkins University Active vibration damping device
JP6739258B2 (ja) * 2016-07-06 2020-08-12 株式会社ダイヘン 振動低減制御装置、及びロボット
JP6484265B2 (ja) 2017-02-15 2019-03-13 ファナック株式会社 学習制御機能を備えたロボットシステム及び学習制御方法

Also Published As

Publication number Publication date
US10960549B2 (en) 2021-03-30
CN110186553A (zh) 2019-08-30
JP2019141967A (ja) 2019-08-29
CN110186553B (zh) 2021-05-07
DE102019103557B4 (de) 2022-04-21
DE102019103557A1 (de) 2019-08-22
US20190255709A1 (en) 2019-08-22

Similar Documents

Publication Publication Date Title
JP6705851B2 (ja) 振動解析装置および振動解析方法
US9427873B2 (en) Robot controller, simple installation-type robot, and method of controlling simple installation-type robot
JP6484265B2 (ja) 学習制御機能を備えたロボットシステム及び学習制御方法
US10112297B2 (en) Robot control apparatus, robot, and robot system
JP5311294B2 (ja) ロボットの接触位置検出装置
EP1845427B1 (en) Control
WO2006022201A1 (ja) ロボットの評価システム及び評価方法
US20140214204A1 (en) Robot and robot controller
CN104827473A (zh) 用于对工业机器人编程的方法和对应的工业机器人
CN107088878B (zh) 计算扫描空间的机器人的模拟装置
JP7048539B2 (ja) 振動表示装置、動作プログラム作成装置、およびシステム
US20220226995A1 (en) Control of a multipurpose robot arm
US10618173B2 (en) Processing system and method for controlling processing machine
CN109129525B (zh) 机器人的负载重心位置推定装置及负载重心位置推定方法
JP2004364396A (ja) モータの制御装置および制御方法
CN112405566A (zh) 机器人控制装置
JP7117697B2 (ja) ロボットのジョイントの異常検出装置及び異常検出方法
JP2021003771A (ja) ロボットシステム
JP6697544B2 (ja) 最適化装置及びそれを備えた垂直型多関節ロボット
JP7034383B2 (ja) サーボ制御装置
JP2016221653A (ja) ロボット制御装置およびロボットシステム
JP7423943B2 (ja) 制御方法およびロボットシステム
JP6668629B2 (ja) ロボット制御装置およびロボットシステム
JP2020097101A (ja) ロボット装置、ロボットシステム、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、制御プログラム及び記録媒体
JP2020097085A (ja) ロボット装置の検査方法、プログラム、記録媒体、ロボットシステム、物品の製造方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190710

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190913

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200318

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200514

R150 Certificate of patent or registration of utility model

Ref document number: 6705851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150