JP5513146B2 - ロボットシミュレータ - Google Patents
ロボットシミュレータ Download PDFInfo
- Publication number
- JP5513146B2 JP5513146B2 JP2010018581A JP2010018581A JP5513146B2 JP 5513146 B2 JP5513146 B2 JP 5513146B2 JP 2010018581 A JP2010018581 A JP 2010018581A JP 2010018581 A JP2010018581 A JP 2010018581A JP 5513146 B2 JP5513146 B2 JP 5513146B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- workpiece
- work
- error
- change amount
- 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
Links
- 238000009434 installation Methods 0.000 claims description 67
- 238000000605 extraction Methods 0.000 claims description 28
- 239000012636 effector Substances 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 description 43
- 238000000034 method Methods 0.000 description 42
- 230000014509 gene expression Effects 0.000 description 19
- 238000004088 simulation Methods 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 7
- 238000007689 inspection Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 239000009951 qiqi Substances 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Description
Δqi=Jv(qi)-1Δr (1)
ここで、位置変化量Δrは、ワークに誤差Δpが生じたとき、エンドエフェクタに生じる位置の変化である。また、姿勢変化量Δqiは、誤差Δpにともなうマニピュレータの各軸の変化量である。さらに、qiqiは、誤差Δpが存在しないときのマニピュレータの各軸の値である。そして、Jv(qi)は、このqiにおけるヤコビアンをである。ここで、添字iは、作業点の番号を示す。エンドエフェクタがワークに作用する作業点は、通常、複数設定される。この作業点を任意にi=1、2、3・・・として番号を付している。したがって、i≧1となる。
設置位置判定手段は、上記の式(1)から算出した姿勢変化量Δqiから、式(2)を用いてロボットの設置位置を判定する。
qi+Δqimax≦qmax (2)
ここで、最大変化量Δqimaxは、マニピュレータの各軸の変化量が最大となる値として式(1)から求められる。また、qmaxは、関節の回転角度限界である。設置位置判定手段は、式(1)で算出した姿勢変化量Δqiを用いて、この式(2)にあてはめることにより、ワークとの間に誤差が生じたときでも、その設置位置においてロボットがワークに対して作業が可能であるか否かを判定する。
(ロボットシステム)
まず、ロボットシミュレータによるシミレーションの対象となるロボットシステムについて図2を用いて説明する。ロボットシステム10は、ロボット11およびワーク搭載部12を備えている。本実施形態のロボット11は、6軸型である。なお、本実施形態で説明する6軸型のロボット11は一例であり、ロボット11の軸の数すなわち関節の数は任意に設定することができる。また、本実施形態では、図2に示すように、設備の床面13をワーク搭載部12とし、この床面13の座標軸をそれぞれX軸およびY軸と定義し、この床面13に垂直な座標軸をZ軸と定義する。さらに、X軸を中心軸とした回転座標をRx、Y軸を中心とした回転座標をRy、Z軸を中心とした回転座標をRzと定義する。
次に、図1に基づいてロボットシミュレータ50について説明する。ロボットシミュレータ50は、例えばパーソナルコンピュータなどの演算装置において、コンピュータソフトウェアであるシミレーションプログラムを実行することにより、ソフトウェア的に実現される。ロボットシミュレータ50を実現するパーソナルコンピュータは、入力部51、演算部52および出力部53を備えている。入力部51は、例えばマウス54およびキーボード55などの一般的な入力機器を有している。演算部52は、例えばCPU56、ROM57およびRAM58を有するコンピュータで構成されており、上述のシミュレーションプログラムを実行することにより、ロボットシミュレータ50の全体を制御する。出力部53は、例えば液晶ディスプレイなどの表示部61やプリンタ62などを備えており、入力部51から入力されたデータや演算部52でシミュレーションプログラムにしたがって算出されたシミュレーションデータなどを出力する。
このロボット11の初期位置は、入力部51から任意の座標として入力することができる。作業順序とは、ロボットシステム10を用いて実行する複数の工程を時系列で設定したものである。ロボット11は、各作業点への移動と移動した作業点における作業とを繰り返す。作業順序は、この作業点への移動の順序および作業点における作業を設定したものである。作業点の座標とは、ロボット11のエンドエフェクタ15がワーク42に対して作用を及ぼす位置の座標である。例えばロボットシステム10を用いてワーク42の加工を行う場合、作業点とはその加工を行うためにエンドエフェクタ15とワーク42とが接する点である。また、例えばロボットシステム10を用いてワーク42の検査を行う場合、作業点とはその検査を行うためにエンドエフェクタ15が移動する位置である。作業点の座標とは、図3に示すようにワーク42の中心を原点ΣW0としたとき、これらの作業点71、72、73における各座標軸の座標WP(71)、WP(72)、WP(73)である。
Δqi=Jv(qi)-1Δr (1)
ここで、Jv(qi)は、誤差Δpが存在しないときのマニピュレータ14の各軸におけるヤコビアン、すなわちヤコビ行列である。
Δr=Jv(qi)Δqi (1A)
上記の式(1)は、姿勢変化量Δqiと位置変化量Δrとが線形の関係に近似されているため、姿勢変化量Δqiは位置変化量Δrに基づいて線形式によって算出される。そのため、式(1A)に比較して姿勢変化量Δqiの算出に必要な演算が簡略化され、複数の関節を有するマニピュレータ14の姿勢変化量Δqiの演算が容易になる。
qi+Δqimax≦qmax (2)
ここで、最大変化量Δqimaxは、姿勢変化量Δqiが最大となるときのマニピュレータ14の各軸の変化量の最大値である。この最大変化量Δqimaxは、誤差Δpが最大となるときの姿勢変化量として式(1)で算出することにより、既知の値として得られる。また、qmaxは、ロボット11のマニピュレータ14を構成する複数の関節ごとの回転角度限界である。すなわち、設置位置判定部67は、式(1)で算出した誤差Δpが最大となるときの姿勢変化量Δqiである最大変化量Δqimaxから、式(1)における演算で用いたqiが、式(2)で示される関係において回転角度限界qmaxとの大小関係を満たすか否かを判定する。設置位置判定部67は、この判定した結果に基づいて、ロボット11でワーク42に対する作業が可能か否かについて判定する。つまり、設置位置判定部67は、式(1)で算出された姿勢変化量Δqiに含まれる要素が式(2)の大小関係を満たすとき、ワーク42の位置に変化が生じたときでも、ロボット11とワーク42との位置関係が至適であると判定する。設置位置判定部67は、以上の演算により、式(1)および式(2)に基づいて、ワーク42が初期位置から誤差Δpだけ移動したとしても、ロボット11がワーク42に対して作業可能であるか否かを判定する。この判定についての詳細は、以下のシミュレーションの流れにおいて詳細に説明する。
次に、上記の構成によるロボットシミュレータ50によるシミュレーションの流れについて図5に基づいて説明する。
図5に示すように、ロボットシミュレータ50は、大きくS101およびS102における入力処理、S103からS106までにおける最適化処理、およびS107における出力処理に大別される。以下、各処理について説明する。
作業手順は、ロボットシステム10を用いて実行する複数の工程を時系列で設定したものである。すなわち、作業手順は、ロボット11の作業点における作業順序の初期的な情報である。なお、対象となるワーク42の外観を検査する外観検査などの場合、検査順序は拘束されない。そのため、検査の場合、すべての検査に必要な所要時間が最小となるように作業点における検査の順序が変更される。一方、対象となるワーク42の加工を行う場合、加工順序が拘束される。そのため、ワーク42の加工を行う場合、作業手順に含まれる各工程の順序は予め設定される。
Δq=Jv(qi)-1Δr (1)
この式(1)は、姿勢変化量Δqiと位置変化量Δrとが線形の関係に近似されているため、姿勢変化量Δqiは誤差Δpに相関する位置変化量Δrに基づいて線形的に算出される。そのため、式(1)を用いることにより、姿勢変化量Δqiの算出に必要な演算は簡略化され、複数の関節を有するマニピュレータ14の姿勢変化量Δqiはより容易な演算で算出される。式(1)を行列式で表わした場合、図6に示す式(1)’となる。この式(1)’では、誤差Δpに相関するワーク42の位置変化量Δrを、各軸方向の変化量および回転角度の要素として、Δr=(ΔX,ΔY,ΔZ,ΔRx,ΔRy,ΔRz)と表わしている。また、この位置変化量Δrを、qiのヤコビアンJv(qi)の逆行列であるJv(qi)-1で逆変換した結果として得られる姿勢変化量Δqは、ロボット11の各軸の回転角度として、Δqj=(Δθ1,Δθ2,Δθ3,Δθ4,Δθ5,Δθ6)で表わされる。ここで添字のj=1〜6は、ロボット11の第一関節21〜第六関節26にそれぞれ対応している。
qi+Δqimax≦qmax (2)
式(2)において、最大変化量Δqimaxは、ワーク42の誤差Δpが最大となるときのマニピュレータ14の各軸の変化量である。この最大変化量Δqimaxは、誤差Δpが最大となるときの姿勢変化量Δqiを式(1)で算出することにより、既知の値として得られる。また、qmaxは、ロボット11のマニピュレータ14を構成する複数の関節ごとの回転角度限界である。
Claims (2)
- ワークが搭載されるワーク搭載部と、複数のアームおよび関節から構成されるマニピュレータおよび前記マニピュレータの先端に設けられ前記ワークを取り扱うエンドエフェクタを有するロボットと、を備えるロボットシステムにおいて、前記ロボットの設置位置と前記ワークの設置位置との関係をシミュレーションするロボットシミュレータであって、
前記エンドエフェクタが前記ワークに作用する作業点のうち初期位置として予め設定されている初期作業点に対し、前記ワーク搭載部において想定される前記ワークの誤差量を誤差Δpとして入力するワーク誤差入力手段と、
ワーク誤差入力手段から入力された前記誤差Δpに基づいて、前記誤差Δpにともなう前記エンドエフェクタの位置の変化を位置変化量Δrとし、前記誤差Δpにともなう前記マニピュレータにおける各軸の変化量を姿勢変化量Δqiとし、前記誤差Δpが存在しないときの前記マニピュレータの各軸の値をqi(iは、作業点の番号であり、i≧1)とし、このqiにおけるヤコビアンをJv(qi)として、前記姿勢変化量Δqiを、
Δqi=Jv(qi)-1Δr (1)
により算出するとともに、
前記式(1)で算出される前記姿勢変化量Δqiが最大となるときの前記マニピュレータの各軸の変化量を最大変化量Δqimaxとし、前記関節の回転角度限界をqmaxとすると、
qi+Δqimax≦qmax (2)
を満たす前記マニピュレータの各軸の値qiを求めることにより、前記ロボットの設置位置の可否を判定する設置位置判定手段と、
を備えることを特徴とするロボットシミュレータ。 - ワークが搭載されるワーク搭載部と、複数のアームおよび関節から構成されるマニピュレータおよび前記マニピュレータの先端に設けられ前記ワークを取り扱うエンドエフェクタを有するロボットと、を備えるロボットシステムにおいて、前記ロボットの設置位置と前記ワークの設置位置との関係をシミュレーションするロボットシミュレータであって、
前記ワーク搭載部に搭載された前記ワークに対する前記ロボットの初期位置、前記ロボットによる複数の工程を含む作業順序、および前記ワークの中心を原点として前記エンドエフェクタが前記ワークに作用する作業点の座標をそれぞれ入力する条件入力手段と、
前記条件入力手段から入力された前記ワークに対する前記ロボットの設置位置について、前記条件入力手段から入力された前記複数の工程の作業所要時間を算出して前記作業所要時間が最小となる最短作業順序を求める作業順序設定手段と、
前記条件入力手段から入力された前記ワークに対する前記ロボットの初期位置を含む平面上において予め設定された設置範囲内において、至適解の候補となる前記ワークと前記ロボットとの複数の位置関係を抽出し、抽出した至適解の候補となる前記ワークと前記ロボットとの位置関係ごとに前記作業順序設定手段で求めた前記最短作業順序で前記ロボットによる複数の工程を実行し、前記至適解の候補のうち最も所要時間の短い前記ワークと前記ロボットとの位置関係を抽出する最短位置抽出手段と、
前記最短位置抽出手段で抽出された前記ワークと前記ロボットとの位置関係において、前記作業点のうち初期位置として予め設定されている初期作業点に対し、前記ワーク搭載部において想定される前記ワークの誤差量を誤差Δpとして入力するワーク誤差入力手段と、
ワーク誤差入力手段から入力された前記誤差Δpに基づいて、前記誤差Δpにともなう前記エンドエフェクタの位置の変化を位置変化量Δrとし、前記誤差Δpにともなう前記マニピュレータにおける各軸の変化量を姿勢変化量Δqiとし、前記誤差Δpが存在しないときの前記マニピュレータの各軸の値をqi(iは、作業点の番号であり、i≧1)とし、このqiにおけるヤコビアンをJv(qi)として、前記姿勢変化量Δqiを、
Δqi=Jv(qi)-1Δr (1)
により算出するとともに、
前記式(1)で算出される前記姿勢変化量Δqiが最大となるときの前記マニピュレータの各軸の変化量を最大変化量Δqimaxとし、前記関節の回転角度限界をqmaxとすると、
qi+Δqimax≦qmax (2)
を満たす前記マニピュレータのコンフィグレーションqiは、前記誤差Δpが生じたときに前記ロボットの設置位置において、前記ロボットで前記ワークに対する作業が可能な領域であると判定する設置位置判定手段と、
前記設置位置判定手段で判定した前記ロボットと前記ワークとの至適な位置関係を可視的に出力する出力手段と、
を備えることを特徴とするロボットシミュレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010018581A JP5513146B2 (ja) | 2010-01-29 | 2010-01-29 | ロボットシミュレータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010018581A JP5513146B2 (ja) | 2010-01-29 | 2010-01-29 | ロボットシミュレータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011156605A JP2011156605A (ja) | 2011-08-18 |
JP5513146B2 true JP5513146B2 (ja) | 2014-06-04 |
Family
ID=44589042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010018581A Active JP5513146B2 (ja) | 2010-01-29 | 2010-01-29 | ロボットシミュレータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5513146B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017018113A1 (ja) * | 2015-07-29 | 2017-02-02 | 株式会社オートネットワーク技術研究所 | 対象物のハンドリングシミュレーション装置、対象物のハンドリングシミュレーションシステム、対象物のハンドリングをシミュレーションする方法、対象物の製造方法及び対象物のハンドリングシミュレーションプログラム |
WO2018194094A1 (ja) * | 2017-04-19 | 2018-10-25 | 株式会社安川電機 | プログラミング支援装置、ロボットシステム、プログラミング支援方法及びプログラム生成方法 |
JP6549654B2 (ja) | 2017-08-03 | 2019-07-24 | ファナック株式会社 | ロボットシステムのシミュレーション装置およびシミュレーション方法 |
JP6806757B2 (ja) | 2018-11-16 | 2021-01-06 | ファナック株式会社 | 動作プログラム作成装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0766289B2 (ja) * | 1986-06-20 | 1995-07-19 | トキコ株式会社 | 工業用ロボツト |
JPH0820894B2 (ja) * | 1987-07-01 | 1996-03-04 | 株式会社日立製作所 | 産業用ロボツトの動作制御方法 |
JPH01267706A (ja) * | 1988-04-19 | 1989-10-25 | Toyoda Mach Works Ltd | ロボットの制御方法 |
JPH0683974B2 (ja) * | 1988-07-07 | 1994-10-26 | 川崎重工業株式会社 | 産業用ロボットの設置位置の決定方法 |
JPH02257312A (ja) * | 1989-03-30 | 1990-10-18 | Toyota Motor Corp | ロボットの教示用データ作成方法 |
JP2750635B2 (ja) * | 1990-09-28 | 1998-05-13 | 新明和工業株式会社 | 円筒座標ロボットの駆動制御方法 |
JPH08328632A (ja) * | 1995-05-26 | 1996-12-13 | Matsushita Electric Works Ltd | ロボット動作のシミュレーション方法 |
JP3572380B2 (ja) * | 1998-01-05 | 2004-09-29 | 日産自動車株式会社 | オフラインティーチング方法 |
JP3797986B2 (ja) * | 2003-07-03 | 2006-07-19 | ファナック株式会社 | ロボットオフラインシミュレーション装置 |
-
2010
- 2010-01-29 JP JP2010018581A patent/JP5513146B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011156605A (ja) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6497953B2 (ja) | オフライン教示装置、オフライン教示方法及びロボットシステム | |
JP4271232B2 (ja) | ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体 | |
JP4763614B2 (ja) | タスクを実行するロボットに対するタスクのロケイションを最適化するための方法及びシステム | |
Wang et al. | Calibration method of robot base frame using unit quaternion form | |
JP5872894B2 (ja) | ロボット動作教示支援装置及び方法 | |
Chen et al. | Posture optimization in robotic machining based on comprehensive deformation index considering spindle weight and cutting force | |
KR20110099386A (ko) | 다축 제어 기계의 오차 평가 방법 및 장치 | |
JP5502348B2 (ja) | シミュレーション方法 | |
JP2009274148A (ja) | シミュレーション装置 | |
JP5513146B2 (ja) | ロボットシミュレータ | |
CN115401699B (zh) | 工业机器人精度可靠性分析方法、装置、设备及存储介质 | |
Pac et al. | Interval analysis of kinematic errors in serial manipulators using product of exponentials formula | |
Deng et al. | Elasto-geometrical error and gravity model calibration of an industrial robot using the same optimized configuration set | |
Bhatt et al. | Optimizing part placement for improving accuracy of robot-based additive manufacturing | |
JP2006289580A (ja) | プログラムの教示点修正方法及びプログラム教示点修正装置 | |
Schwartz et al. | Designing Fingers in Simulation based on Imprints. | |
JP5513145B2 (ja) | ロボットの姿勢判定方法 | |
JP2019089201A (ja) | 教示データ作成装置、教示データ作成装置の制御方法及びロボットシステム | |
CN112084599B (zh) | 一种面向航空航天箱体部件结构变形的补偿方法 | |
JP3639873B2 (ja) | ロボット制御方法およびロボット制御システム | |
Mousavi Mohammadi et al. | A real-time impedance-based singularity and joint-limits avoidance approach for manual guidance of industrial robots | |
JP5803179B2 (ja) | ロボットの制御方法およびロボットの制御装置 | |
JP2021186929A (ja) | 多軸ロボットの制御方法 | |
Baizid et al. | Industrial robotics platform for simulation design, planning and optimization based on off-line CAD programming | |
Ren et al. | A heuristic iterative method for solving the inverse solution of kinematics of manipulators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130422 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131217 |
|
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: 20140304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140327 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5513146 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |