JP2003260680A - 最適位置決定支援方法、最適位置決定支援装置及びロボットシステム - Google Patents

最適位置決定支援方法、最適位置決定支援装置及びロボットシステム

Info

Publication number
JP2003260680A
JP2003260680A JP2002061424A JP2002061424A JP2003260680A JP 2003260680 A JP2003260680 A JP 2003260680A JP 2002061424 A JP2002061424 A JP 2002061424A JP 2002061424 A JP2002061424 A JP 2002061424A JP 2003260680 A JP2003260680 A JP 2003260680A
Authority
JP
Japan
Prior art keywords
candidate
simulation
optimum position
optimum
robot
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
JP2002061424A
Other languages
English (en)
Other versions
JP4210065B2 (ja
Inventor
Yoshihiro Ito
芳博 伊藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2002061424A priority Critical patent/JP4210065B2/ja
Publication of JP2003260680A publication Critical patent/JP2003260680A/ja
Application granted granted Critical
Publication of JP4210065B2 publication Critical patent/JP4210065B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

(57)【要約】 【課題】 ロボットアームの移動時間を短くすることの
できる最適な動作位置の決定を支援する技術を提供す
る。 【解決手段】 水平多関節ロボット1のロボットアーム
の第1候補移動経路を特定する固定位置及び第1候補位
置を指定し、第1候補位置を含むシミュレート範囲を指
定し、シミュレート範囲内で複数の第2候補位置を指定
し、第1候補位置を第2候補位置に変えて第1候補移動
経路を変更した第2候補移動経路を順次求め、第1候補
移動経路及び各第2候補移動経路それぞれに従って水平
多関節ロボット1を擬似的に動作させてシミュレーショ
ンを行い、第1候補位置及び各第2候補位置のうち、ロ
ボットアームの移動時間が最も短くなる移動経路に対応
する最適位置のシミュレーション結果を少なくとも出力
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、多関節ロボットの
ロボットアームの移動時間を短くすることのできる、ロ
ボットアームの最適な動作位置の決定を支援する技術に
関する。
【0002】
【従来の技術】従来、ロボットの動作位置を決定する方
法としては、操作者がロボットを手動で動かして動作位
置を教示していくというティーチングという方法があ
る。そして、ティーチングによって指定された動作位置
から次の動作位置にロボットアームを順次、移動させる
ことでロボット動作を実現している。
【0003】
【発明が解決しようとする課題】ロボットアームの移動
時間は、動作位置間の移動距離が短ければ短くなるとい
う原則はあるものの、一慨には言えない部分もあること
から、ロボット作業を効率化できる動作位置の決定は勘
と経験によるものであった。
【0004】例えば、水平多関節ロボットにおいては、
複数のアームを関節軸を中心に回転して水平方向の移動
を実現しているという構造的な機構から、水平方向に同
じ距離を移動するにしても、その移動位置により移動に
必要な時間が大きく異なってくる。以下、この点につい
て図を参照して説明する。
【0005】図19は第1アームと第2アームを有する
水平多関節ロボットのロボットアーム先端を点Aから点
Bに移動するときの各アームの回転角度の説明図、図2
0は同様の水平多関節ロボットのロボットアーム先端を
点Cから点Dに移動するときの各アームの回転角度の説
明図である。なお、図19及び図20において点Aと点
B間の距離と、点Cと点D間の距離とは等しくなってい
る。
【0006】図19において、ロボットアームが点Aか
ら点Bに移動する際に、第1アームは角度θ1、第2ア
ームは角度(θ3−θ2)、反時計方向に回転する。図
20において、ロボットアームが点Cから点Dに移動す
る際に、第1アームは角度θ4、第2アームは角度(θ
5−θ6)、時計方向に回転する。このように、ロボッ
トアームが同じ距離を移動するのであっても、各アーム
の移動に必要な回転角度は異なってくることから、移動
に必要な時間も当然のことながら異なってくる。
【0007】図21は図19及び図20の第1アームが
415mm、第2アームが235mmであるときの水平
多関節ロボットのロボットアーム先端を、X軸方向に3
0cm、1往復した時の移動時間を示す棒グラフ図であ
る。図22はこの往復動作を行う水平多関節ロボットの
模式図である。図21のグラフは、1往復動作の中央点
(図19で説明すると、点Aと点Bの中間点Mに相当)
のXY座標をXY平面上で特定し、その座標(X,Y)
に、その位置を中央点とする1往復動作の所要時間を縦
棒で示したものである。
【0008】このグラフからも判るように、水平多関節
ロボットを背面からみた左エリア(図22参照)のうち
X座標−400mm近辺でX軸方向に30cm、1往復
する時間は、同右エリア(図22参照)のうちX座標+
250mm近辺で同動作をさせた場合よりも約2倍の時
間を必要としている。従って、ユーザがロボットに課し
た作業が、作業対象物表面をX軸方向に30cm、1往
復するという作業であれば、その作業中心位置がたまた
まロボット左エリア(X座標−400mm近辺)となる
ように作業対象物を配置した場合、その作業時間が大幅
に長くなってしまうことになる。
【0009】本発明は上記の課題を解決するためになさ
れたもので、ロボットアームの移動時間を短くすること
のできる最適な動作位置の決定を支援する最適位置決定
支援方法、最適位置決定支援装置及びロボットシステム
を得ることを目的とする。
【0010】
【課題を解決するための手段】(1)本発明の一つの態
様に係る最適位置決定支援方法は、多関節ロボットの動
作位置の配置決定を支援する方法であって、多関節ロボ
ットのロボットアームの第1候補移動経路を特定する固
定位置及び第1候補位置を指定し、第1候補位置を含む
シミュレート範囲を指定し、シミュレート範囲内で複数
の第2候補位置を指定し、第1候補位置を第2候補位置
に変えて第1候補移動経路を変更した第2候補移動経路
を順次求め、第1候補移動経路及び各第2候補移動経路
それぞれに従ってロボットを擬似的に動作させてシミュ
レーションを行い、第1候補位置及び各第2候補位置の
うち、ロボットアームの移動時間が最も短くなる移動経
路に対応する最適位置のシミュレーション結果を少なく
とも出力するものである。
【0011】(2)本発明の他の態様に係る最適位置決
定支援方法は、上記(1)において、第1候補位置及び
各第2候補位置に、多関節ロボットの作業対象物の配置
候補位置が指定されるものである。
【0012】(3)本発明の他の態様に係る最適位置決
定支援方法は、上記(2)において、第1候補位置及び
各第2候補位置に、作業対象物上のロボットアームのエ
ンドエフェクタの作業点の候補位置が指定されるもので
ある。
【0013】(4)本発明の他の態様に係る最適位置決
定支援方法は、ロボットアーム先端のエンドエフェクタ
で作業を行う多関節ロボットの作業対象物の最適な配置
位置の決定を支援する方法であって、第1候補位置に配
置した作業対象物上の複数の作業位置を連続して通過す
る作業経路を含む第1候補移動経路を指定し、作業対象
物の配置対象領域をシミュレート範囲として指定し、シ
ミュレート範囲内で複数の第2候補位置を指定し、第1
候補位置を第2候補位置に変えて第1候補移動経路を変
更した第2候補移動経路を順次求め、第1候補移動経路
及び第2候補移動経路それぞれに従ってロボットアーム
を擬似的に動作させてシミュレーションを行い、ロボッ
トアームの移動時間を最も短くできる作業対象物の配置
位置である最適位置のシミュレーション結果を少なくと
も出力するものである。
【0014】(5)本発明の他の態様に係る最適位置決
定支援方法は、上記(1)〜(4)の何れかにおいて、
シミュレーション結果は、最適位置に関する位置データ
と、この最適位置に対応する候補移動経路での移動時間
とを少なくとも含むものである。
【0015】(6)本発明の他の態様に係る最適位置決
定支援方法は、上記(1)〜(5)の何れかにおいて、
シミュレーション結果は、第1候補位置及び各第2候補
位置それぞれに関する位置データと、第1候補経路及び
各第2候補経路それぞれでの移動時間とを含むものであ
る。
【0016】(7)本発明の他の態様に係る最適位置決
定支援方法は、上記(6)において、第1候補移動経路
及び各第2候補移動経路それぞれの移動時間を、第1候
補位置及び各第2候補位置の位置関係が視覚的に確認で
きるように出力するものである。
【0017】(8)本発明の他の態様に係る最適位置決
定支援方法は、上記(6)又は(7)において、最適位
置に関するシミュレーション結果を強調出力するもので
ある。
【0018】(9)本発明の他の態様に係る最適位置決
定支援方法は、上記(8)において、第1候補位置に関
するシミュレーション結果を強調出力するものである。
【0019】(10)本発明の他の態様に係る最適位置
決定支援方法は、上記(5)〜(9)の何れかにおい
て、位置データが、第1候補位置からの相対距離であ
り、シミュレーション結果は、最適位置の座標値を更に
含むものである。
【0020】(11)本発明の他の態様に係る最適位置
決定支援方法は、上記(10)において、シミュレーシ
ョン結果が、第1候補位置の座標値も更に含むものであ
る。
【0021】(12)本発明の他の態様に係る最適位置
決定支援方法は、上記(5)〜(11)の何れかにおい
て、シミュレーション結果が、第1候補移動経路を最適
位置での最適移動経路に変えた場合に短縮される移動時
間を更に含むものである。
【0022】(13)本発明の他の態様に係る最適位置
決定支援方法は、上記(1)〜(12)の何れかにおい
て、シミュレーション結果の出力を表示装置で行うもの
である。
【0023】(14)本発明の他の態様に係る最適位置
決定支援方法は、上記(1)〜(13)の何れかにおい
て、多関節ロボットが、水平面内で旋回自在な複数のア
ームを備えた水平多関節ロボットであるものである。
【0024】(15)本発明の一つの態様に係る最適位
置決定支援装置は、多関節ロボットの動作位置の配置決
定を支援する最適位置決定支援装置であって、多関節ロ
ボットのロボットアームの第1候補移動経路を特定する
固定位置及び第1候補位置と、第1候補位置を含むシミ
ュレート範囲と、シミュレート範囲内の複数の第2候補
位置とを指定する教示データを入力する入力手段と、第
1候補位置を第2候補位置に変えて第1候補移動経路を
変更した第2候補移動経路を順次求め、第1候補移動経
路及び各第2候補移動経路それぞれに従ってロボットを
擬似的に動作させてシミュレーションを行う演算手段
と、第1候補位置及び各第2候補位置のうち、ロボット
アームの移動時間が最も短くなる移動経路に対応する最
適位置のシミュレーション結果を少なくとも出力する出
力手段とを備えたものである。
【0025】(16)本発明の他の態様に係る最適位置
決定支援装置は、上記(15)において、第1候補位置
及び各第2候補位置には、多関節ロボットの作業対象物
の配置候補位置が指定されるものである。
【0026】(17)本発明の他の態様に係る最適位置
決定支援装置は、上記(16)において、第1候補位置
及び各第2候補位置には、作業対象物上のロボットアー
ムのエンドエフェクタの作業点の候補位置が指定される
ものである。
【0027】(18)本発明の他の態様に係る最適位置
決定支援装置は、ロボットアーム先端のエンドエフェク
タで作業を行う多関節ロボットの作業対象物の最適な配
置位置の決定を支援する装置であって、第1候補位置に
配置した作業対象物上の複数の作業位置を連続して通過
する作業経路を含む第1候補移動経路と、作業対象物の
配置対象領域としてのシミュレート範囲と、シミュレー
ト範囲内の複数の第2候補位置とを指定する教示データ
を入力する入力手段と、第1候補位置を第2候補位置に
変えて第1候補移動経路を変更した第2候補移動経路を
順次求め、第1候補移動経路及び各第2候補移動経路そ
れぞれに従ってロボットアームを擬似的に動作させてシ
ミュレーションを行う演算手段と、少なくとも、ロボッ
トアームの移動時間を最も短くできる作業対象物の配置
位置である最適位置のシミュレーション結果を出力する
出力手段とを備えたものである。
【0028】(19)本発明の他の態様に係る最適位置
決定支援装置は、上記(15)〜(18)の何れかにお
いて、シミュレーション結果が、最適位置に関する位置
データと、この最適位置に対応する候補移動経路での移
動時間とを少なくとも含むものである。
【0029】(20)本発明の他の態様に係る最適位置
決定支援装置は、上記(15)〜(19)の何れかにお
いて、シミュレーション結果が、第1候補位置及び各第
2候補位置それぞれに関する位置データと、第1候補経
路及び各第2候補経路それぞれでの移動時間とを含むも
のである。
【0030】(21)本発明の他の態様に係る最適位置
決定支援装置は、上記(20)において、出力手段は、
第1候補移動経路及び各第2候補移動経路それぞれの移
動時間を、第1候補位置及び各第2候補位置の位置関係
が視覚的に確認できるように出力するものである。
【0031】(22)本発明の他の態様に係る最適位置
決定支援装置は、上記(20)又は(21)において、
出力手段が、最適位置に関するシミュレーション結果を
強調出力するものである。
【0032】(23)本発明の他の態様に係る最適位置
決定支援装置は、上記(22)において、出力手段が、
第1候補位置に関するシミュレーション結果を強調出力
するものである。
【0033】(24)本発明の他の態様に係る最適位置
決定支援装置は、上記(19)〜(23)の何れかにお
いて、位置データは、第1候補位置からの相対距離であ
り、シミュレーション結果は、最適位置の座標値を更に
含むものである。
【0034】(25)本発明の他の態様に係る最適位置
決定支援装置は、上記(24)において、シミュレーシ
ョン結果が、第1候補位置の座標値も更に含むものであ
る。
【0035】(26)本発明の他の態様に係る最適位置
決定支援装置は、上記(19)〜(25)の何れかにお
いて、シミュレーション結果が、第1候補移動経路を最
適位置での最適移動経路に変えた場合に短縮される移動
時間を更に含むものである。
【0036】(27)本発明の他の態様に係る最適位置
決定支援装置は、上記(15)〜(26)の何れかにお
いて、出力手段が、表示装置であるものである。
【0037】(28)本発明の他の態様に係る最適位置
決定支援装置は、上記(15)〜(27)の何れかにお
いて、多関節ロボットを、水平面内で旋回自在な複数の
アームを備えた水平多関節ロボットとしたものである。
【0038】(29)本発明の一つの態様に係るロボッ
トシステムは、上記(15)〜(287)の何れかの最
適位置決定装置と、ユーザプログラムを記憶する記憶手
段と、ユーザプログラムを構成する命令を解釈実行する
解釈実行手段とを備え、教示データは、ユーザプログラ
ムであり、ユーザプログラムを構成する命令によって第
1候補移動経路と、シミュレート範囲と、各第2候補位
置とが指定されており、解釈実行手段は、ユーザプログ
ラム中にシミュレーションの実行を指示する命令が記述
されていなかった場合、ロボットアームを実際に移動さ
せる通常モードで第1候補移動経路に従ってロボットア
ームを移動させ、ユーザプログラム中にシミュレーショ
ンの実行を指示する命令が記述されていた場合、シミュ
レーション手段を呼び出して第1候補移動経路及び各第
2候補移動経路それぞれに従ってロボットアームを擬似
的に動作させるシミュレーションを行なわせるものであ
る。
【0039】上記(1)及び(15)の発明によれば、
ユーザは、ロボットアームの移動時間を最も短くできる
最適な動作位置をシミュレーション結果に基づき簡単に
決定することが可能となる。よって、このシミュレーシ
ョン結果を活用して現状のロボット動作位置から最適位
置に変更することにより、効率的なロボット動作を容易
に実現することが可能となる。
【0040】上記(2)及び(16)の発明によれば、
ユーザは、作業対象物の最適な配置位置を簡単に決定す
ることが可能となる。
【0041】上記(3)及び(17)の発明によれば、
ユーザは、作業対象物に作業を行う多関節ロボットのエ
ンドエフェクタの最適な作業点の配置位置を簡単に決定
することが可能となる。
【0042】上記(4)及び(18)の発明によれば、
多関節ロボットに作業対象物上の複数箇所で作業を行な
わせるロボット動作を行わせるに際し、ユーザは、その
作業対象物の最適な配置位置を簡単に決定することが可
能となる。なお、第1候補移動経路は作業経路を含むと
しているため、第1候補移動経路が作業経路と等しい場
合も内容的に含んでおり、後述の実施の形態(具体例
2)では、この場合を例に説明している。
【0043】上記(5)及び(19)の発明によれば、
ユーザは、最適位置に関する位置データと、この最適位
置に対応する候補移動経路での移動時間とを確認するこ
とができる。
【0044】上記(6)及び(20)の発明によれば、
全ての候補位置でのシミュレーション結果が確認でき、
比較検討が容易に行える。
【0045】上記(7)及び(21)の発明によれば、
第1候補位置及び各第2候補位置それぞれの配置状態
と、それぞれに対応する移動時間とを同時に確認できる
ため、シミュレーション結果をイメージ的に捉えること
が可能となり、ユーザは、シミュレーション範囲のう
ち、どの辺りの領域で移動時間が短くなるのかなど、素
早く判断することが可能となる。
【0046】上記(8)及び(22)の発明によれば、
ユーザは、複数出力されたシミュレーション結果の中か
ら、最適位置のシミュレーション結果を容易に選出する
ことが可能となる。
【0047】上記(9)及び(23)の発明によれば、
ユーザは、複数出力されたシミュレーション結果の中か
ら、最適位置に加え、第1候補位置のシミュレーション
結果も容易に選出することが可能となる。
【0048】上記(10)及び(24)の発明によれ
ば、ユーザは、シミュレーション結果に基づいてロボッ
ト作業の効率化を実現するに際し、そのためのユーザプ
ログラムの作成を最適位置の座標値を利用して簡単に行
うことが可能となる。
【0049】上記(11)及び(25)の発明によれ
ば、ユーザは、最適位置の座標値に加え、第1候補位置
の座標値も同時に確認することが可能となる。
【0050】上記(12)及び(26)の発明によれ
ば、ユーザは、第1候補移動経路を最適位置での最適移
動経路に変えた場合に短縮することのできる移動時間も
知ることができ、比較検討が容易に行える。
【0051】上記(13)及び(27)の発明によれ
ば、ユーザは、シミュレーション結果を表示装置上で確
認できる。
【0052】上記(14)及び(28)の発明によれ
ば、ユーザは、水平多関節ロボットによるロボット動作
において、最適位置を簡単に決定することが可能とな
る。
【0053】上記(29)の発明によれば、ユーザプロ
グラム中に、シミュレーションの実行を指示する命令が
記述されているか否かによって、ロボットを実際に動作
させずシミュレーションを行うシミュレーションモード
と、実際にロボットを動作させる通常モードと、が切り
替えられるので、ユーザは、今あるユーザプログラムに
おいて、動作位置を最適位置に変更すると共に、シミュ
レーションの実行を指示する命令の記述を削除(削除の
他、シミュレーションの実行を阻止する命令の記述でも
よい)することによって、効率的なロボット作業を実現
するプログラムに簡単に書き換えることが可能となる。
【0054】
【発明の実施の形態】実施の形態1.図1は本発明の実
施の形態1のロボットシステムの構成を示す模式図であ
る。図において1は水平多関節ロボット、2はコントロ
ールユニット、3はコントロールユニット2からの制御
信号に従って水平多関節ロボット1の各関節の各モータ
を駆動するドライブユニットである。4はコントロール
ユニット2から出力されるデータを表示するCRTモニ
ターである。5はキーボード、6はマウスで、ユーザが
コントロールユニット2を操作したり、ユーザプログラ
ムを作成する際の入力装置として使用される。
【0055】図2は水平多関節ロボットの概要図であ
る。図において、11は、基台12の上部に回動自在に
設けられた軸で、該軸11には第1アーム13が取付ら
れ、該第1アーム13は軸11によってXY水平面を旋
回するようになっている。この第1アーム13の先端部
には軸14が回動自在に設けられ、該軸14には第2ア
ーム15の基端部が取り付けられ、軸14によって第2
アーム15がXY水平面を旋回するようになっている。
第2アーム15の先端部には、回動及びZ方向の直動自
在な軸16が設けられ、該軸16には同軸にZ軸17が
取りつけられ、該Z軸17は軸16と一体となって動作
するようになっている。
【0056】このような構成の水平多関節ロボット1
は、軸11及び軸14を任意の位置まで回転することに
より第1アーム13及び第2アーム15をXY水平面の
任意の位置に移動させることができるようになってい
る。なお、本来、水平多関節ロボット1の動作は前述の
軸11、14、16、17の4つの軸を制御することに
より完結するものである。本発明はXY水平面の動作に
関わるものであるので、Z軸方向の動作については省略
し、XY水平面の動作に大きく関連している軸11、第
1アーム13、軸14、第2アーム15動作を中心に説
明を進めることにする。
【0057】図3はコントロールユニットの概略構成を
示す図である。コントロールユニット2は、演算装置
(CPU)21、ROM22、RAM23、HD24、
HDD25、FDD26、ドライブユニット3と通信す
るためのドライバーインターフェース27等を備えてい
る。
【0058】HD24には、ティーチング時に指定され
た動作位置やユーザにより作成されたユーザプログラム
などの教示データが格納されている。ROM22には、
ユーザプログラムを解釈実行するための後述の図8及び
図9に示すフローチャートに対応した解釈実行プログラ
ム、図10〜図12に示すフローチャートに対応したシ
ミュレーションプログラム等、CPU21が動作するた
めの各種プログラムが格納されている。
【0059】CPU21は、ユーザプログラムを構成し
ている命令を、解釈実行プログラムに従って1命令ずつ
解釈実行し、ユーザの意図する動作をユーザプログラム
に記述された順番に実行する。解釈実行プログラムは、
ユーザプログラムの最終命令までの解釈実行が終了する
と、シミュレーションプログラムをコールして、シミュ
レーションプログラムに制御を受け渡すように構成され
ている。このCPU21と解釈実行プログラムで解釈実
行手段が構成され、CPU21とシミュレーションプロ
グラムとで演算手段が構成されている。
【0060】RAM23は、CPU21が解釈実行プロ
グラムやシミュレーションプログラム等の各種プログラ
ムに従って動作する際に使用され、各種プログラムの実
行に必要なフラグや各種パラメータの一時記憶に利用さ
れるメモリである。
【0061】以上のように構成されたコントロールユニ
ット2は、上記の説明でもわかるように、一般的なパー
ソナルコンピュータにドライバーインターフェース27
を追加した構成となっている。
【0062】図4は、本実施の形態1の最適位置決定支
援方法の流れの概要を示す図である。本実施の形態1の
最適位置決定支援方法は、大まかに段階を分けると、水
平多関節ロボット1のロボットアームの第1候補移動経
路を特定する動作位置(第1候補位置及び固定位置)を
指定する段階(S1)と、シミュレート範囲を指定する
段階(S2)と、シミュレート範囲内の複数の第2候補
位置とを指定する段階(S3)と、第1候補位置を、第
2候補位置に変えて第1候補移動経路を変更した第2候
補移動経路を順次求め、第1候補移動経路及び各第2候
補移動経路それぞれに従って水平多関節ロボット1を擬
似的に動作させてシミュレーションを行い各移動経路そ
れぞれでのロボットアームの移動時間を求める段階(S
4)と、シミュレーション結果を出力する段階(S5)
とで構成される。
【0063】第1候補位置及び固定位置、シミュレート
範囲、各第2候補位置は、これらの各データを指定する
命令がユーザプログラム中に記述されており、これら各
命令をCPU21が解釈実行することにより指定される
ものである。なお、以下では、第1候補位置及び各第2
候補位置を、これらの各位置がステップS4におけるシ
ミュレーションの基準位置となることからシミュレート
位置と呼び、各シミュレート位置のうち、特に、第1候
補位置をシミュレート対象位置と呼ぶことにする。
【0064】以下、本実施の形態1の最適位置決定支援
方法について、具体的なロボット動作を2例挙げて説明
する。
【0065】<具体例1>図5は、ロボット動作の具体
例1を示す図で、図1に示した水平多関節ロボットのロ
ボットアーム先端の移動経路をロボットアーム概略図で
示したものである。具体例1では、水平多関節ロボット
1がロボットアーム先端をP0→P1→P5の経路で移
動させ、P0に置かれた部品を、P0で保持して作業対
象物W上のP1に搬送し、その後、次の作業のためにロ
ボットアーム先端をP5に移動させる動作を行う場合を
想定する。本発明の最適位置決定支援は、この具体例1
でまず簡単に概要を説明すると、作業対象物W上の作業
点を、実線で示した作業対象物W上のP1から、その
他、例えば破線で示した作業対象物W上のP1’等に順
次変えてそれぞれの移動経路でのロボットアーム移動時
間をシミュレーションによって求めることで、この作業
対象物Wの最適な配置位置の決定支援を行うものであ
る。以下、詳細に説明する。
【0066】図6は図5の具体例1の詳細説明図であ
る。図6において、P1はシミュレート対象位置、
「○」は各シミュレート位置、SRはシミュレート範囲
を示している。図7は図6のシミュレーションを実現す
るユーザプログラムの一例を示す図である。
【0067】ところで、プログラムを構成するためのロ
ボットプログラミング言語は、表1に示すように、実際
にロボットを動作させるための『動作命令』、動作の回
数を指定したり、条件によるプログラムの実行先を分岐
させたりする『制御命令』、その他入出力命令、動作位
置定義命令等の命令によって構成されている。
【0068】
【表1】
【0069】通常、ロボット動作を実現するプログラム
では、まず最初にロボット動作位置を定義するための動
作位置定義命令が記述され、そして、その定義された動
作位置を目標位置として指定するJUMP等の動作命令
が記述される構成となっている。そして、このように構
成されたプログラムを実行することで、ロボットアーム
を、動作命令で指定された目標位置へ移動させるロボッ
ト動作が実現される。
【0070】本実施の形態では、前述の動作命令等に加
え、上述のようなシミュレーションを行うためのミュレ
ーション命令を用意し、シミュレーション命令が適当箇
所に記述されたユーザプログラムをCPU21が解釈実
行することで、水平多関節ロボット1を動作命令に従っ
て実際に動作させる通常モードと、実際に水平多関節ロ
ボット1を動作させることなく擬似的に動作させてシミ
ュレーションを行うシミュレーションモードとを切り替
えることができるようになっている。
【0071】表2はシミュレーション命令の詳細を示す
表である。
【0072】
【表2】
【0073】表2に示すように、シミュレーション命令
は、シミュレーションモードON命令、シミュレーショ
ンモードOFF命令、シミュレート位置設定命令、シミ
ュレート範囲設定命令、時間推定開始命令、時間推定終
了命令で構成されている。この各命令の詳細について
は、以下、該当箇所で適宜説明することにする。
【0074】図7のユーザプログラムにおいて、1〜4
行目は「‘ 」で始まるコメント文、5〜7行目に記述
された命令は、ロボットの移動経路を指定するための動
作位置を定義するための動作位置定義命令で、例えば5
行目の動作位置定義命令では、P0を、X座標、Y座
標、Z座標、XY平面の回転角をそれぞれ250、0、
0、0と定義している。なお、この例では、ユーザプロ
グラムでロボット動作位置を指定しているが、ティーチ
ングにより指定するようにしても良い。
【0075】そして、9行目に記述された命令「SIM
MODE ON」は、表1及び表2に示すようにシミ
ュレーションモードON命令で、この命令によってシミ
ュレーションモードをONにすることにより、この命令
以降に動作命令があっても、実際のロボット動作を起動
することなく、擬似的に動作させてシミュレーションを
行うシミュレーションモードに設定される。
【0076】ついで、10行目に記述された命令「SI
M POS(P1)」により、シミュレート対象位置を
P1と指定している。なお、シミュレート対象位置P1
の座標は先に定義されているように(X=50,Y=1
00)である。
【0077】11行目に記述された命令「SIM RA
NGE(50,3,-2,25,2,0)」は、シミュレート範囲設定
命令で、図6に示すシミュレート範囲SRを指定してい
る。シミュレート範囲設定命令の各パラメータ(表2参
照)は、最初から順にXステップ距離、Xステップ開始
カウント、Xステップ終了カウント、Yステップ距離、
Yステップ開始カウント、Yステップ終了カウントであ
る。
【0078】Xステップ距離は、図6の距離SXに相当
するもので、シミュレート範囲SR内の各シミュレート
位置間のX方向の間隔である。Yステップ距離は図6の
距離SYに相当するもので、シミュレート範囲SR内の
各シミュレート位置間のY方向の間隔である。
【0079】このシミュレート範囲設定命令では、シミ
ュレート対象位置P1を基準としてX軸の正方向にXス
テップ距離をXステップ開始カウント(すなわち3回)
進めたX座標値と、Y軸の正方向にYステップ距離をY
ステップ開始カウント(すなわち2回)進めたY座標値
とで特定される点Paと、X軸方向にXステップ距離を
Xステップ終了カウント(すなわちX軸の負方向に2
回)進めたX座標値と、Y軸方向にYステップ距離をY
ステップ終了カウント(すなわち0回)進めたY座標値
とで特定される点Pbを対角の端点とした四角形の領域
において、X方向にSX間隔、Y方向にSY間隔で刻ま
れた各点をシミュレート位置と指定している。
【0080】なお、以下では、シミュレート対象位置か
らの各シミュレート位置への距離をシミュレート量と呼
ぶことにする。よって、ここでは、シミュレート量は、
X方向について、+150、+100、+50、0、−
50、−100となり、Y方向について、+50、+2
5、0となる。また、シミュレート範囲SR内の各シミ
ュレート位置を、ステップカウントを用いて、PS(X
ステップカウント,Yステップカウント)と表現するこ
とにする。よって、例えばPaはPS(3,2)、Pb
はPS(−2,0)と表現されることになる。なお、各
シミュレート位置のうち、或る1点を特定しないときは
シミュレート位置PSと表現することにする。
【0081】図7の説明に戻る。13行目に記述された
命令「JUMP P0」はロボットアームをP0へ移動
させる動作を指示するものである。この例では、上述し
たようにP0からシミュレート位置PSへ移動し、そし
てさらにP5へ移動するまでの移動時間をシミュレーシ
ョンにより求めるものであるため、シミュレーションに
よる移動時間推定開始を指示する時間推定開始命令「S
IM START」と、シミュレーションによる移動時
間推定終了を指示する時間推定終了命令「SIM ST
OP」との間に、「JUMP P1」、「JUMP P
5」を記述することにより、これをプログラミングして
いる。
【0082】このように構成されたユーザプログラムを
実行することにより、P1→PS→P5の移動経路がシ
ミュレート位置PSを順次変更したそれぞれについて特
定され、各移動経路それぞれでのロボットアームの移動
時間がシミュレーションによって求められる。以下、ユ
ーザプログラムを解釈実行するプログラム解釈実行プロ
グラムの処理の流れを説明する。
【0083】図8、プログラム解釈実行プログラムの処
理の流れを示すフローチャートである。なお、本実施の
形態のプログラム解釈実行プログラムは、ユーザプログ
ラムを1行目から最終行まで順に1命令ずつ読み込んで
解釈し、それぞれ命令に応じた処理を行った後、この1
回目のユーザプログラムの解釈実行によってシミュレー
ションフラグがONに設定された場合に、シミュレーシ
ョンプログラムをコールしてシミュレーション処理を行
うように構成されている。これは、ユーザが、ユーザプ
ログラム中でシミュレーションフラグをON/OFFに
設定するだけで、実際にロボットを動作させる場合の通
常モードと、動作させずにシミュレーションを行うシミ
ュレーションモードとを切り替えることを可能とするた
めの構成である。
【0084】CPU21は、まず最初にプログラムカウ
ンタとロボット位置とを初期化すると共に、シミュレー
ションフラグをOFFにする(S11)。ついで、ユー
ザプログラムの1行目の命令を読み込み(S12)、命
令の内容に応じて次の動作に移行する(S13)。
【0085】読み込んだ命令がロボット動作位置定義命
令であれば、ロボット動作位置を定義する(S14)。
【0086】読み込んだ命令がシミュレーション命令で
あれば、シミュレーション命令の内容に応じた処理に移
行する(S15)。このシミュレーション命令がシミュ
レーションフラグON命令であれば、シミュレーション
フラグをONにし(S16)、シミュレーションフラグ
OFF命令であれば、シミュレーションフラグをOFF
にする(S17)。また、シミュレート位置設定命令で
あれば、現在、シミュレーションフラグがONかどうか
をチェックし(S18)、ONに設定されていれば、シ
ミュレート位置設定命令中のパラメータで指定されてい
るロボット動作位置をシミュレート対象位置としてRA
M23に記憶する(S19)。また、シミュレート範囲
設定命令であれば、同様に、現在、シミュレーションフ
ラグがONかどうかをチェックし(S20)、ONに設
定されていれば、シミュレート範囲設定命令中の各パラ
メータをシミュレート範囲指定パラメータ群としてRA
M23に記憶する(S21)。なお、ステップS18及
びS20において、シミュレーションフラグがOFFと
判断した場合、すなわち、シミュレーションモードでは
なく通常の動作モードであれば、これらのシミュレーシ
ョン命令は無視される。また、時間推定開始命令および
時間推定終了命令であるときも、この1回目のユーザー
プログラムの読み込みの際には無視される。
【0087】ステップS12において読み込んだ命令が
動作命令であれば、シミュレーションフラグがOFFか
どうかをチェックし(S22)、OFFであれば、すな
わち通常の動作モードであれば、実際にロボットを動作
させる動作命令処理を行う(S23)。例えば、JUM
P命令であれば、表1に示すように、ロボットアームを
JUMP命令で指定される位置に門型軌道で移動させる
動作を実行させる。
【0088】また、読み込んだ命令がその他の命令であ
れば、その命令に対応する処理を実行する(S24)。
【0089】以上のように、読み込んだ命令に対応する
処理が終了すると、CPU21はプログラム終了かどう
かを判定する(S25)。読み込んだ命令がプログラム
の終了を明示する「END」でない場合は、終了でない
と判定し、プログラムカウンタをカウントアップし(S
26)、ステップS12に戻り、次の行の命令を読み込
んで、上記と同様の処理を行う。
【0090】上記の処理を繰り返し行い、そして、ユー
ザプログラムの読み込みが最終命令「END」に達する
と、シミュレーションフラグがONに設定されているか
どうかをチェックし(S27)、ONに設定されていれ
ば、シミュレーションプログラムをコールしてシミュレ
ーションプログラムに制御を移す(S28)。ステップ
S27においてシミュレーションフラグがONに設定さ
れていないと判断した場合、即ちシミュレーションフラ
グがOFFで通常の動作モードであれば、ここで処理を
終了する。
【0091】以上のように、ユーザプログラムにおいて
動作命令が記述されている場合、CPU21は、シミュ
レーションモードがOFFか否かを判断し、シミュレー
ションフラグがOFFの場合に動作命令処理を行って実
際のロボット動作を行わせるようにしているため、シミ
ュレーションモードのON/OFFの設定によって通常
モードとシミュレーションモードとを切り替えることが
可能となる。
【0092】以下、本発明の主要部であるシミュレーシ
ョン処理の流れについて図面を参照しながら説明する。
図10〜図12は、シミュレーションプログラムの処理
の流れを示すフローチャートである。このシミュレーシ
ョンプログラムに基づくロボットコントローラの動作
を、図7のユーザプログラムを実行する場合を例に説明
する。なお、このシミュレーション処理に入る前の1回
目のユーザプログラムの解釈実行により、シミュレート
対象位置P1(250,0,0,0)及びシミュレート範囲指定
パラメータ群(50,3,-2,25,2,0)が既にRAM23に記
憶されているものとする。
【0093】CPU21は、X及びYシミュレートステ
ップカウンタをそれぞれ初期化すると共に、計測時間カ
ウンタを0に初期化し、Xシミュレートステップカウン
タ及びYシミュレートステップカウンタの最終値を、R
AM23に格納されたシミュレート範囲指定パラメータ
群に基づいて設定する(S31)。
【0094】ここで、Xシミュレートステップカウンタ
はシミュレート範囲指定パラメータ群のうち、Xステッ
プ開始カウントの値に初期化される。よってここでは
「3」に初期化され、同様にYシミュレートステップカ
ウンタは「2」に初期化される。また、Xシミュレート
ステップカウンタの最終値には、Xステップ終了カウン
トが設定され、Yシミュレートステップカウンタの最終
値には、Yステップ終了カウントが設定される。
【0095】続いて、プログラムカウンタを初期化する
と共に、ロボット位置を初期化する(S32)。そし
て、ユーザプログラムを1行目の命令から読み込み(S
33)、命令の内容に応じて次の動作に移行する(S3
4)。
【0096】1行目は「’」で始まるコメント文である
ことから、「その他の命令」として処理される(S3
9)。その後、CPU21はプログラム終了か否かをチ
ェックし(S40)、ここではまだ終了でないと判断
し、プログラムカウンタをカウントアップして(S4
9)、ステップS33に戻り、次の行の命令を読み込
む。
【0097】同様の処理が4行目の命令まで行われる。
そして、CPU21は5行目に記述された命令を読み込
むと、ロボット動作位置定義命令であると解釈し、シミ
ュレーション命令でも、動作命令でもないその他の命令
であると判断して、対応する処理を行って(S39)、
ステップS40に移行する。なお、動作位置定義命令に
よる動作位置の定義は既に当該ユーザプログラムの1回
目の解釈実行時に行われていることから、ここでは、実
際には何ら処理は行われない。6行目、7行目の動作位
置定義命令においても同様である。
【0098】続いてCPU21は、9行目に記述された
「SIM MODE ON」を読み込むと、シミュレー
ション命令のうち(S35)、時間推定開始命令でも、
時間推定終了命令でもない、その他のシミュレーション
であることから、この命令を無視し、ステップS40に
移行する。そして、ステップS40のプログラム終了判
定を行い、プログラムカウンタをカウンタアップして
(S49)、ステップS33に戻り、次の命令を読み込
む。10行目、11行目も時間推定開始命令、時間推定
終了命令のどちらでもないことから、同様にプログラム
カウンタがカウンタアップされるのみの処理となる。
【0099】そして、CPU21は13行目の「JUM
P P0」を読み込むと(S33)、動作命令処理を実
行する(S38)。
【0100】図12は図10の動作命令処理の流れを示
すフローチャートである。このシミュレーション処理に
おける動作命令処理は、先の図9のステップS23の動
作命令処理と異なり、ロボットアームを実際に動作させ
るのではなく、擬似的に動作させる処理を行うものであ
る。CPU21は、動作命令(ここではJUMP命令)
で指定された動作位置P0がシミュレート対象位置か否
かをRAM23を参照して判断する(S38a)。P0
は、RAM23にシミュレート対象位置として記憶され
たP1と異なるため、シミュレート対象位置ではないと
判断し、ステップS38cに移行してロボットをJUM
P命令に従って擬似的に動作させる。すなわち、コント
ロールユニット2内では、ロボットアームをP0に移動
させたものとして処理される。ついで、計測内部フラグ
がONか否かを判断し(S38d)、ここではOFFで
あるため、動作命令処理を終了し、図10のステップS
40に移行する。そして、ステップS40のプログラム
終了判定、ステップS49のプログラムカウンタアップ
を行って、ステップS33に戻る。
【0101】次に14行目に記述された「SIM ST
ART」を読み込むと、当該命令はシミュレーション命
令のうち、時間推定開始命令であることから、CPU2
1は、計測内部フラグをONにし(S36)、ステップ
S40、ステップS49を行ってステップS33に戻
る。
【0102】次に15行目に記述された「JUMP P
1」を読み込むと、動作命令処理(図12参照)に移行
する。CPU21は、指定された動作位置P1がRAM
23にシミュレート対象位置として記憶された位置と同
じであるためシミュレート対象位置であると判断し(S
38a)、そのシミュレート対象位置P1をXシミュレ
ートステップカウンタ、Yシミュレートステップカウン
タに基づいてオフセットしたシミュレート位置に設定す
る(S38b)。ここでは、Xシミュレートステップカ
ウンタが「3」、Yシミュレートステップカウンタが
「2」であることから、シミュレート位置は、図6にお
いてPS(3,2)で示されるシミュレート開始位置P
aに設定されることになる。
【0103】そして、ロボットをJUMP命令に従って
シミュレート開始位置Paに擬似的に動作させる(S3
8c)。ついで計測内部フラグがONか否かをチェック
し(S38d)、ここではONに設定されているため、
ステップS38cの動作、すなわちロボットアームの、
P0からシミュレート位置PS(3,2)への移動動作
に必要な時間を計算する。そして、計算された移動時間
を計測カウンタに追加して(S38f)、動作命令処理
を終了する。そして、図10のステップS40に戻り、
プログラム終了判定、ステップS49のプログラムカウ
ンタアップを行ってステップS33に戻る。
【0104】次に16行目に記述された「JUMP P
5」を読み込むと、再度動作命令処理(図12参照)に
移行する(S38)。P5はシミュレート対象位置でな
いため(S38a)、ステップS38bの処理は省略し
てステップS38cの処理に移行し、ロボットアームを
現在位置PS(3,2)からJUMP命令で指定された
P5へ擬似的に動作させる。そして、ここでは計測内部
フラグはONに設定されたままであるため(S38
d)、ステップS38cの動作、すなわちロボットアー
ムのシミュレート位置PS(3,2)からP5への移動
動作に必要な時間を計算し、算出された移動時間を計測
カウンタに追加する。これにより、計測カウンタには、
P0→PS(3,2)→P5への移動に要する時間が格
納されていることになる。そして、図10のステップS
40に戻り、プログラム終了判定、ステップS49のプ
ログラムカウンタアップを行ってステップS33に戻
る。
【0105】次に17行目に記述された「SIM ST
OP」を読み込むと(S33)、CPU21は、計測内
部フラグをOFFにし(S37)、ステップS40のプ
ログラム終了判定、ステップS49のプログラムカウン
タアップを行ってS33に戻り、「END」を読み込む
と、プログラム終了と判定して図11に示すステップS
41の処理に移行する。
【0106】ステップS41では、これまでの処理での
シミュレーション結果、すなわちシミュレート位置PS
(3,2)でのシミュレーション結果を、Xシミュレー
ト量、Yシミュレート量、計測カウンタ値の3データを
1組とするシミュレートデータとしてRAM23に記憶
する。Xシミュレート量、Yシミュレート量は、ここで
は、「+150、50」となる。
【0107】ついで、Xシミュレートステップカウンタ
が最終値に達したかをチェックする(S42)。Xシミ
ュレートステップカウンタは、ここではまだ初期値の
「3」であるため、Xシミュレートステップカウンタを
カウントアップし(S43)、計測カウンタを0に初期
化して(S47)、図10のステップS32に移行す
る。なお、Xシミュレートステップカウンタは、シミュ
レート範囲指定パラメータ群に含まれるXステップ終了
カウントからXステップ開始カウントを減算した値が負
の値を取るときは−1ずつカウントアップされ、正の値
を取るときは1ずつカウントアップされる。よって、こ
こでは、−1カウントアップされて「2」となる。
【0108】CPU21は、ステップS32において、
プログラムカウンタを初期化すると共に、ロボット位置
を初期化して、上記と同様の処理を行う。すなわち、再
度、ユーザプログラムの1行目から解釈実行する。この
シミュレーション処理における2回目(通算3回目)の
ユーザプログラムの解釈実行時には、図11のステップ
S43でXシミュレートステップカウンタがカウントア
ップされ「2」となっていることから(なお、Yシミュ
レートステップカウンタは「2」のままである)、ステ
ップS40のプログラム終了判定がYESとなるまでの
間の処理によって、ロボットアームをP0→PS(2,
2)→P5へ移動させるのに要する時間が計測カウンタ
に保持されていることになる。
【0109】そして、この2回目のユーザプログラムの
解釈実行によって「END」が読み込まれると、図11
のステップS41によって、シミュレート位置をPS
(2,2)としたときのシミュレーション結果を示すシ
ミュレートデータがRAM23に記憶されることにな
る。ここでのXシミュレート量、Yシミュレート量は、
それぞれ「+100」、「50」となる。そして、ステ
ップS42でシミュレートステップカウンタが最終値に
達したかを判断し、ここではまだ達していないため、X
シミュレートステップカウンタをカウントアップし(S
43)、すなわち、−1カウントアップして「1」と
し、計測カウンタを初期化して(S47)、図10のス
テップS32に戻る。
【0110】以上の処理を繰り返し行い、図11のステ
ップS42においてXシミュレートステップカウンタが
最終値に達したと判断した場合(S42)、すなわち、
各シミュレート位置のうち、Yステップカウントが
「2」である、図6において横一列のシミュレート位置
PS(3,2)、PS(2,2)、PS(1,2)、P
S(0,2)、PS(−1,2)、PS(−2,2)の
シミュレーションが終了すると、Xシミュレートステッ
プカウンタを初期化(「3」に初期化)し(S44)、
Yシミュレートステップカウンタの最終値到達判定を行
った上で(S45)、Yシミュレートステップカウンタ
をカウントアップする(S46)。
【0111】このYシミュレートステップカウンタのカ
ウントアップもXシミュレートステップカウンタのカウ
ントアップと同様に、Yステップ終了カウントからYス
テップ開始カウントを減算した値が負の値を取るとき
は、−1ずつカウントアップされ、正の値を取るときは
1ずつカウントアップされる。よって、ここではYステ
ップカウントが「1」となり、以上の処理の繰り返しに
より、Yステップカウントが「1」の各シミュレート位
置のシミュレーションを行い、それぞれのシミュレート
位置での移動時間の計算及びシミュレートデータの記憶
を順次繰り返す。そして、Xステップカウントが「−
2」の最終値に達し、且つ、Yステップカウントが
「0」の最終値に達すると(S45)、RAM23に記
憶した全てのシミュレート位置でのシミュレートデータ
をCRTモニター4に表示する(S48)。
【0112】図13は、CRTモニターに表示されたシ
ミュレーション結果画面の出力例を示す図である。この
シミュレーション結果出力により、ユーザは、作業対象
物Wをどの位置に配置すれば、最も短い時間で作業がで
きるかを判断することが可能となる。この例では、移動
時間が0.80となる、Xシミュレート量+150、Y
シミュレート量50の位置を最適位置と判断することが
でき、この最適位置に作業対象物Wを配置することによ
り、作業効率の高いロボット作業を実現することが可能
となる。ユーザはこの結果を基に、ユーザプログラムに
おいて、P1の位置を最短移動時間が得られる最適位置
に定義し直し、シミュレーションモードON命令をプロ
グラムから削除するか、またはシミュレーションモード
OFF命令に書き換えることにより、効率的なロボット
作業を実現するプログラムに簡単に書き換えることが可
能となる。
【0113】<具体例2>
【0114】図14はロボット動作の具体例2を示す図
で、図1に示した水平多関節ロボット1のロボットアー
ム先端の移動経路をロボットアーム概略図で示したもの
である。この例では、水平多関節ロボット1は、ロボッ
トアーム先端をP0から作業対象物W上のP1に移動さ
せ、そして、作業対象物W上でその四隅のP2、P3、
P4、P1にこの順に移動して各位置でそれぞれ作業を
行い、この作業経路P2→P3→P4→P1での動作を
再度繰り返した後、ロボットアーム先端をP5に移動さ
せる動作を行う場合を想定する。ここでは、作業対象物
Wの最適な配置位置の選出を目的として、この作業経路
P2→P3→P4→P1を2回移動する動作をシミュレ
ーションの対象とする。
【0115】図15は図14のシミュレーションを実現
するユーザプログラムの一例を示す図である。5行目か
ら10行目でP0〜P5の各ロボット動作位置を定義し
ている。12行目でこのユーザプログラムをシミュレー
ションモードで実行させることを指定している。13行
目でシミュレート対象位置をP1〜P4と指定し、14
行目でシミュレーションの範囲を指定している。この例
では、Yステップ開始カウント及びYステップ終了カウ
ントが共に0であるため、シミュレート位置は、シミュ
レート対象位置P1〜P4をそれぞれX軸の正の方向に
15mm移動させた位置から、X軸の負の方向に10m
m移動させた位置までの直線上に、5mm間隔で刻まれ
た各点となる。すなわち、図14において◆、●、○、
◇で示した位置が、それぞれ各シミュレート対象位置P
1、P2、P3、P4に対応する各シミュレート位置と
なる。また、Xステップ開始カウントが「3」であるこ
とから、最初のシミュレート位置は、PS1(3,
0)、PS2(3,0)、PS3(3,0)、PS4
(3,0)となる。
【0116】また、このシミュレーションは、上述した
ように、P0からP1へ移動した後の、P2→P3→P
4→P1の2回の繰り返し移動動作を対象としているた
め、16行目、17行目でP0,P1への動作命令が記
述された後、18行目で移動時間推定の開始が指示さ
れ、そして、19行目から24行目までの「FOR…
NEXT」ルーチンによってP2→P3→P4→P1へ
の動作命令を2回繰り返すように記述され、25行目で
移動時間推定の終了が指示され、そして、26行目でP
5への動作命令が記述されたユーザプログラムとなって
いる。
【0117】このように構成されたユーザプログラムを
上述の図10〜図12のフローチャートに従って処理す
ることで、まず、ロボットアームをPS2(3,0)→
PS3(3,0)→PS4(3,0)→PS1(3,
0)の作業経路を2回移動させるのに要する移動時間が
求められ、ついで作業経路をPS2(2,0)→PS3
(2,0)→S4(2,0)→PS1(2,0)とした
場合での同様の移動時間が求められる。すなわち、作業
対象物WをX軸に平行に5mmずつ移動させてそれぞれ
の位置でのシミュレーションが行われることになる。そ
して、作業経路をPS2(−2,0)→PS3(−2,
0)→PS4(−2,0)→PS1(−2,0)とした
ときのシミュレーションが終了すると、シミュレーショ
ン結果画面がCRTモニター4に表示される。
【0118】図16は、CRTモニターに表示されたシ
ミュレーション結果画面の出力例を示す図である。シミ
ュレーション結果出力により、ユーザは、作業対象物W
をどの位置に配置すれば、最も短い時間で作業ができる
かを判断することが可能となる。この例では、移動時間
が4.53となる、Xシミュレート量が+15、Yシミ
ュレート量が0の位置を最適位置と判断することがで
き、この最適位置に作業対象物Wを配置することによ
り、作業効率の高いロボット作業を実現することが可能
となる。ユーザはこの結果を基に、ユーザプログラムに
おいて、P1、P2、P3、P4の位置を最短移動時間
が得られる最適位置に定義し直し、シミュレーションモ
ードON命令をプログラムから削除するか、またはシミ
ュレーションモードOFF命令に書き換えることによ
り、効率的なロボット作業を実現するプログラムに簡単
に書き換えることが可能となる。
【0119】実施の形態2.本実施の形態2は、シミュ
レーション結果の効果的な出力方法に関するものであ
る。図17は、シミュレーション結果出力の他の構成例
1を示す図である。なお、ここでは図7のユーザプログ
ラムに対応したものを例示している。この構成例1は、
シミュレート対象位置でのシミュレートデータと、移動
時間が最短となる最適位置でのシミュレートデータを、
太字で強調表示するようにしたものである。なお、CR
Tモニター4がカラー表示可能なものであれば、表示色
を変えて強調表示するようにしても良い。また、この構
成例1では、シミュレートデータのリスト表示の他に、
シミュレート対象位置の絶対位置(座標値)と移動時間
とを含むシミュレート対象位置情報を表示し、更に、最
適位置の絶対位置(座標値)と移動時間と、シミュレー
ト対象位置の場合と比較して短縮されるであろう時間
(図17において括弧内の数値)とを含む最適位置情報
を表示するようにしている。
【0120】以上のように表示することで、ユーザは、
リスト表示された複数のシミュレートデータの中から、
シミュレート対象位置でのシミュレートデータと、最適
位置でのシミュレートデータとを直ちに選出することが
可能となる。また、このリスト表示と同時にシミュレー
ト対象位置と最適位置のそれぞれの座標値が表示される
ため、ユーザは、このシミュレーション結果に基づいて
ユーザプログラムを書き換える際に、これらの座標値を
利用して簡単にユーザプログラムを変更することが可能
となる。なお、強調表示の方法は、太字表示、異色表示
に限られず、シミュレート対象位置及び最適位置でのシ
ミュレートデータの選出が視覚的に容易な形式を各種採
用できる。
【0121】図18は、シミュレーション結果出力の他
の構成例2を示す図である。この構成例2は、図17に
おいてリスト表示された部分の表示形式を変えたもの
で、各シミュレート位置それぞれでの移動時間を、その
移動時間に対応するシミュレート位置の位置関係を視覚
的に確認できるように表示するものである。上記では、
シミュレート範囲を四角形で構成し、各シミュレート位
置をシミュレート範囲内でマトリックス状に配置した構
成としているので、ここでは各移動時間がマトリックス
状に表示されている。この表示により、各シミュレート
位置の配置状態と、それぞれに対応する移動時間とを視
覚的に同時に確認することが可能となるため、シミュレ
ーション結果をイメージ的に捉えることが可能となり、
ユーザは、シミュレーション範囲のうち、どの辺りの領
域で移動時間が短くなるのかなどを素早く判断すること
が可能となる。なお、シミュレート範囲は、上記のよう
な四角形に限られたものではなく、例えば円形や三角形
など任意の形状とすることが可能である。
【図面の簡単な説明】
【図1】 本発明の各実施の形態のロボットシステムの
構成を示す模式図である。
【図2】 図1の水平多関節ロボットの概要図である。
【図3】 図1のコントロールユニットの概略構成を示
す図である。
【図4】 本実施の形態1の最適位置決定支援処理の流
れの概要を示す図である。
【図5】 ロボット動作の具体例1を示す図である。
【図6】 図5の具体例1の詳細説明図である。
【図7】 図6のシミュレーションを実現するユーザプ
ログラムの一例を示す図である。
【図8】 プログラム解釈実行プログラムの処理の流れ
を示すフローチャート(1/2)である。
【図9】 プログラム解釈実行プログラムの処理の流れ
を示すフローチャート(2/2)である。
【図10】 シミュレーションプログラムの処理の流れ
を示すフローチャート(1/3)である。
【図11】 シミュレーションプログラムの処理の流れ
を示すフローチャート(2/3)である。
【図12】 シミュレーションプログラムの処理の流れ
を示すフローチャート(3/3)である。
【図13】 CRTモニターに表示されたシミュレーシ
ョン結果画面の出力例を示す図(その1)である。
【図14】 ロボット動作の具体例2を示す図である。
【図15】 図14のシミュレーションを実現するユー
ザプログラムの一例を示す図である。
【図16】 CRTモニターに表示されたシミュレーシ
ョン結果画面の出力例を示す図(その2)である。
【図17】 シミュレーション結果出力の他の構成例1
を示す図である。
【図18】 シミュレーション結果出力の他の構成例2
を示す図である。
【図19】 第1アームと第2アームを有する水平多関
節ロボットのロボットアーム先端を点Aから点Bに移動
するときの各アームの回転角度の説明図である。
【図20】 第1アームと第2アームを有する水平多関
節ロボットのロボットアーム先端を点Cから点Dに移動
するときの各アームの回転角度の説明図である。
【図21】 図19及び図20の第1アームが415m
m、第2アームが235mmであるときの水平多関節ロ
ボットのロボットアーム先端を、X軸方向に30cm、
1往復した時の移動時間を示す棒グラフ図である。
【図22】 図22は図21の往復動作を行う水平多関
節ロボットの模式図である。
【符号の説明】
1 水平多関節ロボット、2 コントロールユニット、
5 キーボード、6マウス、21 CPU、22 RO
M、24 HD

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 多関節ロボットの動作位置の配置決定を
    支援する方法であって、 前記多関節ロボットのロボットアームの第1候補移動経
    路を特定する固定位置及び第1候補位置を指定し、該第
    1候補位置を含むシミュレート範囲を指定し、該シミュ
    レート範囲内で複数の第2候補位置を指定し、前記第1
    候補位置を前記第2候補位置に変えて前記第1候補移動
    経路を変更した第2候補移動経路を順次求め、前記第1
    候補移動経路及び各第2候補移動経路それぞれに従って
    前記ロボットを擬似的に動作させてシミュレーションを
    行い、前記第1候補位置及び前記各第2候補位置のう
    ち、前記ロボットアームの移動時間が最も短くなる移動
    経路に対応する最適位置のシミュレーション結果を少な
    くとも出力することを特徴とする最適位置決定支援方
    法。
  2. 【請求項2】 前記第1候補位置及び前記各第2候補位
    置には、前記多関節ロボットの作業対象物の配置候補位
    置が指定されることを特徴とする請求項1記載の最適位
    置決定支援方法。
  3. 【請求項3】 前記第1候補位置及び前記各第2候補位
    置には、前記作業対象物上の前記ロボットアームのエン
    ドエフェクタの作業点の候補位置が指定されることを特
    徴とする請求項2記載の最適位置決定支援方法。
  4. 【請求項4】 ロボットアーム先端のエンドエフェクタ
    で作業を行う多関節ロボットの作業対象物の最適な配置
    位置の決定を支援する方法であって、 第1候補位置に配置した前記作業対象物上の複数の作業
    位置を連続して通過する作業経路を含む第1候補移動経
    路を指定し、前記作業対象物の配置対象領域をシミュレ
    ート範囲として指定し、該シミュレート範囲内で複数の
    第2候補位置を指定し、前記第1候補位置を前記第2候
    補位置に変えて前記第1候補移動経路を変更した第2候
    補移動経路を順次求め、前記第1候補移動経路及び前記
    第2候補移動経路それぞれに従って前記ロボットアーム
    を擬似的に動作させてシミュレーションを行い、前記ロ
    ボットアームの移動時間を最も短くできる前記作業対象
    物の配置位置である最適位置のシミュレーション結果を
    少なくとも出力することを特徴とする最適位置決定支援
    方法。
  5. 【請求項5】 前記シミュレーション結果は、前記最適
    位置に関する位置データと、この最適位置に対応する候
    補移動経路での移動時間とを少なくとも含むことを特徴
    とする請求項1乃至請求項4の何れかに記載の最適位置
    決定支援方法。
  6. 【請求項6】 前記シミュレーション結果は、前記第1
    候補位置及び各第2候補位置それぞれに関する位置デー
    タと、前記第1候補経路及び各第2候補経路それぞれで
    の移動時間とを含むことを特徴とする請求項1乃至請求
    項5の何れかに記載の最適位置決定支援方法。
  7. 【請求項7】 前記第1候補移動経路及び前記各第2候
    補移動経路それぞれの移動時間を、前記第1候補位置及
    び前記各第2候補位置の位置関係が視覚的に確認できる
    ように出力することを特徴とする請求項6記載の最適位
    置決定支援方法。
  8. 【請求項8】 前記最適位置に関する前記シミュレーシ
    ョン結果を強調出力することを特徴とする請求項6又は
    請求項7記載の最適位置決定支援方法。
  9. 【請求項9】 前記第1候補位置に関する前記シミュレ
    ーション結果を強調出力することを特徴とする請求項8
    記載の最適位置決定支援方法。
  10. 【請求項10】 前記位置データは、前記第1候補位置
    からの相対距離であり、前記シミュレーション結果は、
    前記最適位置の座標値を更に含むことを特徴とする請求
    項5乃至請求項9の何れかに記載の最適位置決定支援方
    法。
  11. 【請求項11】 前記シミュレーション結果は、前記第
    1候補位置の座標値も更に含むことを特徴とする請求項
    10記載の最適位置決定支援方法。
  12. 【請求項12】 前記シミュレーション結果は、前記第
    1候補移動経路を前記最適位置での最適移動経路に変え
    た場合に短縮される移動時間を更に含むことを特徴とす
    る請求項5乃至請求項11の何れかに記載の最適位置決
    定支援方法。
  13. 【請求項13】 前記シミュレーション結果の出力を表
    示装置で行うことを特徴とする請求項1乃至請求項12
    の何れかに記載の最適位置決定支援方法。
  14. 【請求項14】 前記多関節ロボットは、水平面内で旋
    回自在な複数のアームを備えた水平多関節ロボットであ
    ることを特徴とする請求項1乃至請求項13の何れかに
    記載の最適位置決定支援方法。
  15. 【請求項15】 多関節ロボットの動作位置の配置決定
    を支援する最適位置決定支援装置であって、 前記多関節ロボットのロボットアームの第1候補移動経
    路を特定する固定位置及び第1候補位置と、該第1候補
    位置を含むシミュレート範囲と、該シミュレート範囲内
    の複数の第2候補位置とを指定する教示データを入力す
    る入力手段と、 前記第1候補位置を前記第2候補位置に変えて前記第1
    候補移動経路を変更した第2候補移動経路を順次求め、
    前記第1候補移動経路及び各第2候補移動経路それぞれ
    に従って前記ロボットを擬似的に動作させてシミュレー
    ションを行う演算手段と、 前記第1候補位置及び前記各第2候補位置のうち、前記
    ロボットアームの移動時間が最も短くなる移動経路に対
    応する最適位置のシミュレーション結果を少なくとも出
    力する出力手段とを備えたことを特徴とする最適位置決
    定支援装置。
  16. 【請求項16】 前記第1候補位置及び前記各第2候補
    位置には、前記多関節ロボットの作業対象物の配置候補
    位置が指定されることを特徴とする請求項15記載の最
    適位置決定支援装置。
  17. 【請求項17】 前記第1候補位置及び前記各第2候補
    位置には、前記作業対象物上の前記ロボットアームのエ
    ンドエフェクタの作業点の候補位置が指定されることを
    特徴とする請求項16記載の最適位置決定支援装置。
  18. 【請求項18】 ロボットアーム先端のエンドエフェク
    タで作業を行う多関節ロボットの作業対象物の最適な配
    置位置の決定を支援する装置であって、 第1候補位置に配置した前記作業対象物上の複数の作業
    位置を連続して通過する作業経路を含む第1候補移動経
    路と、前記作業対象物の配置対象領域としてのシミュレ
    ート範囲と、該シミュレート範囲内の複数の第2候補位
    置とを指定する教示データを入力する入力手段と、 前記第1候補位置を第2候補位置に変えて前記第1候補
    移動経路を変更した第2候補移動経路を順次求め、前記
    第1候補移動経路及び前記各第2候補移動経路それぞれ
    に従って前記ロボットアームを擬似的に動作させてシミ
    ュレーションを行う演算手段と、 少なくとも、前記ロボットアームの移動時間を最も短く
    できる前記作業対象物の配置位置である最適位置のシミ
    ュレーション結果を出力する出力手段とを備えたことを
    特徴とする最適位置決定支援装置。
  19. 【請求項19】 前記シミュレーション結果は、前記最
    適位置に関する位置データと、この最適位置に対応する
    候補移動経路での移動時間とを少なくとも含むことを特
    徴とする請求項15乃至請求項18の何れかに記載の最
    適位置決定支援装置。
  20. 【請求項20】 前記シミュレーション結果は、前記第
    1候補位置及び各第2候補位置それぞれに関する位置デ
    ータと、前記第1候補経路及び各第2候補経路それぞれ
    での移動時間とを含むことを特徴とする請求項15乃至
    請求項19の何れかに記載の最適位置決定支援装置。
  21. 【請求項21】 前記出力手段は、前記第1候補移動経
    路及び前記各第2候補移動経路それぞれの移動時間を、
    前記第1候補位置及び前記各第2候補位置の位置関係が
    視覚的に確認できるように出力することを特徴とする請
    求項20記載の最適位置決定支援装置。
  22. 【請求項22】 前記出力手段は、前記最適位置に関す
    る前記シミュレーション結果を強調出力することを特徴
    とする請求項20又は請求項21記載の最適位置決定支
    援装置。
  23. 【請求項23】 前記出力手段は、前記第1候補位置に
    関する前記シミュレーション結果を強調出力することを
    特徴とする請求項22記載の最適位置決定支援装置。
  24. 【請求項24】 前記位置データは、前記第1候補位置
    からの相対距離であり、前記シミュレーション結果は、
    前記最適位置の座標値を更に含むことを特徴とする請求
    項19乃至請求項23の何れかに記載の最適位置決定支
    援装置。
  25. 【請求項25】 前記シミュレーション結果は、前記第
    1候補位置の座標値も更に含むことを特徴とする請求項
    24記載の最適位置決定支援装置。
  26. 【請求項26】 前記シミュレーション結果は、前記第
    1候補移動経路を前記最適位置での最適移動経路に変え
    た場合に短縮される移動時間を更に含むことを特徴とす
    る請求項19乃至請求項25の何れかに記載の最適位置
    決定支援装置。
  27. 【請求項27】 前記出力手段は表示装置であることを
    特徴とする請求項15乃至請求項26の何れかに記載の
    最適位置決定支援装置。
  28. 【請求項28】 前記多関節ロボットは、水平面内で旋
    回自在な複数のアームを備えた水平多関節ロボットであ
    ることを特徴とする請求項15乃至請求項27の何れか
    に記載の最適位置決定支援装置。
  29. 【請求項29】 請求項15乃至請求項28の何れかに
    記載の最適位置決定装置と、ユーザプログラムを記憶す
    る記憶手段と、前記ユーザプログラムを構成する命令を
    解釈実行する解釈実行手段とを備え、前記教示データ
    は、前記ユーザプログラムであり、該ユーザプログラム
    を構成する命令によって前記第1候補移動経路と、前記
    シミュレート範囲と、前記各第2候補位置とが指定され
    ており、前記解釈実行手段は、前記ユーザプログラム中
    に前記シミュレーションの実行を指示する命令が記述さ
    れていなかった場合、前記ロボットアームを実際に移動
    させる通常モードで前記第1候補移動経路に従って前記
    ロボットアームを移動させ、前記ユーザプログラム中に
    前記シミュレーションの実行を指示する命令が記述され
    ていた場合、前記シミュレーション手段を呼び出して前
    記第1候補移動経路及び前記各第2候補移動経路それぞ
    れに従って前記ロボットアームを擬似的に動作させる前
    記シミュレーションを行なわせることを特徴とするロボ
    ットシステム。
JP2002061424A 2002-03-07 2002-03-07 最適位置決定支援方法、最適位置決定支援装置及びロボットシステム Expired - Fee Related JP4210065B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002061424A JP4210065B2 (ja) 2002-03-07 2002-03-07 最適位置決定支援方法、最適位置決定支援装置及びロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002061424A JP4210065B2 (ja) 2002-03-07 2002-03-07 最適位置決定支援方法、最適位置決定支援装置及びロボットシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007260991A Division JP4706684B2 (ja) 2007-10-04 2007-10-04 作業対象物の配置決定方法、作業対象物の配置決定支援装置、作業対象物の配置決定支援プログラム及びロボットシステム

Publications (2)

Publication Number Publication Date
JP2003260680A true JP2003260680A (ja) 2003-09-16
JP4210065B2 JP4210065B2 (ja) 2009-01-14

Family

ID=28670323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002061424A Expired - Fee Related JP4210065B2 (ja) 2002-03-07 2002-03-07 最適位置決定支援方法、最適位置決定支援装置及びロボットシステム

Country Status (1)

Country Link
JP (1) JP4210065B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009014131A1 (ja) * 2007-07-23 2009-01-29 Ihi Corporation シミュレーション方法
JP2010089218A (ja) * 2008-10-09 2010-04-22 Seiko Epson Corp 産業用ロボットの位置教示装置、動作プログラム作成装置、産業用ロボットの位置教示方法およびプログラム
JP2010214544A (ja) * 2009-03-17 2010-09-30 Toshiba Corp 移動マニピュレータの軌道生成システム
JP2013003693A (ja) * 2011-06-14 2013-01-07 Mazda Motor Corp 部品製造ラインの設計支援方法及び設計支援システム
CN112207812A (zh) * 2019-07-12 2021-01-12 阿里巴巴集团控股有限公司 设备控制方法、设备、系统及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009014131A1 (ja) * 2007-07-23 2009-01-29 Ihi Corporation シミュレーション方法
JP2009022996A (ja) * 2007-07-23 2009-02-05 Ihi Corp シミュレーション方法
JP2010089218A (ja) * 2008-10-09 2010-04-22 Seiko Epson Corp 産業用ロボットの位置教示装置、動作プログラム作成装置、産業用ロボットの位置教示方法およびプログラム
JP2010214544A (ja) * 2009-03-17 2010-09-30 Toshiba Corp 移動マニピュレータの軌道生成システム
JP2013003693A (ja) * 2011-06-14 2013-01-07 Mazda Motor Corp 部品製造ラインの設計支援方法及び設計支援システム
CN112207812A (zh) * 2019-07-12 2021-01-12 阿里巴巴集团控股有限公司 设备控制方法、设备、系统及存储介质

Also Published As

Publication number Publication date
JP4210065B2 (ja) 2009-01-14

Similar Documents

Publication Publication Date Title
JP4441409B2 (ja) ロボットシミュレーション装置、および、シミュレーションプログラム
JP7095262B2 (ja) プログラミング支援装置、ロボットシステム及びプログラム生成方法
EP2282873B1 (en) A method and a system for facilitating calibration of an off-line programmed robot cell
JP4137927B2 (ja) ロボットプログラミング装置
JP4137909B2 (ja) ロボットプログラム補正装置
JP4621641B2 (ja) ロボット教示用cad装置及びロボット教示方法
EP1847359A2 (en) Robot simulation apparatus
JP2015202523A (ja) ティーチングシステム、ロボットシステムおよびティーチング方法
JP6750909B2 (ja) ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
JP4706684B2 (ja) 作業対象物の配置決定方法、作業対象物の配置決定支援装置、作業対象物の配置決定支援プログラム及びロボットシステム
CN100404211C (zh) 用于多关节型机器人的教导数据准备方法
JPS6179589A (ja) ロボツト運転装置
JP2003260680A (ja) 最適位置決定支援方法、最適位置決定支援装置及びロボットシステム
KR101787865B1 (ko) 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치
CN116197894A (zh) 程序创建装置以及程序
JP2009166172A (ja) ロボットのシミュレーション方法及びロボットのシミュレーション装置
JP2022190235A (ja) 情報処理装置、情報処理方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体
WO2008146930A1 (ja) ロボットの設置位置決定装置及びロボットの設置位置決定方法
JPH10161719A (ja) 産業用ロボットのシステム構築シミュレーション装置
JPH0778017A (ja) 動作物体間の干渉チェック方法及びその装置
JP7493926B2 (ja) 制御方法、制御装置、ロボットシステム、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、表示装置の制御方法、プログラムおよび記録媒体
JP2019081236A (ja) シミュレーション装置、制御装置およびロボット
JP4399815B2 (ja) ロボットの制御方法及び制御装置
JPH0277805A (ja) ロボットオフラインティーチング教示点デバッキング方式
JPH01237703A (ja) ロボツト教示装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071015

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071029

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081024

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees