[go: up one dir, main page]

JP4121587B2 - Robot simulation device - Google Patents

Robot simulation device Download PDF

Info

Publication number
JP4121587B2
JP4121587B2 JP22689497A JP22689497A JP4121587B2 JP 4121587 B2 JP4121587 B2 JP 4121587B2 JP 22689497 A JP22689497 A JP 22689497A JP 22689497 A JP22689497 A JP 22689497A JP 4121587 B2 JP4121587 B2 JP 4121587B2
Authority
JP
Japan
Prior art keywords
robot
virtual
gravity
center
component
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.)
Expired - Lifetime
Application number
JP22689497A
Other languages
Japanese (ja)
Other versions
JPH1158277A (en
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP22689497A priority Critical patent/JP4121587B2/en
Publication of JPH1158277A publication Critical patent/JPH1158277A/en
Application granted granted Critical
Publication of JP4121587B2 publication Critical patent/JP4121587B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、産業用や娯楽用の自律型ロボットあるいはコンピュータ上に存在する仮想ロボットなどの行動制御など用いられるロボットシミュレーション装置に関する。
【0002】
【従来の技術】
従来、ロボットの多くは、複数の構成ユニットをそれぞれ予め定められた相関関係で予め定められた状態に結合されることにより所定の形に組み立てられ、各構成ユニットを駆動制御することにより、姿勢や動きを変化させるようになっている。
【0003】
例えば、特開平5−245784号公報に開示されているロボットでは、複数の関節モジュールと、複数のアームモジュールとを組み合わせることにより所望形状に構築し得るようになっている。そして、このロボットは、各関節モジュールにそれぞれ固有番号を設定して、制御部が各関節モジュールとの通信により得られる固有番号に基づいて各関節モジュールの接続順序を認識し、その認識に基づいて制御プログラムを好適なものに書き換えることができるようになっている。
【0004】
また、コンピュータ上でコンピュータグラフィックス(CG:Computer Graphics)により仮想ロボットや仮想生物などを動かし、上記コンピュータに接続されたセンサなどにより入力情報に応じて仮想ロボットや仮想生物の行動を変化させるようにようにしたコンピュータゲームが知られている。
【0005】
さらに、実ロボットのシミュレーションを行う場合、実ロボットと同じ形状、質量を持つモデルをコンピュータ上に構築し、これに重力などの実世界での物理的に存在する力を作用させ、その動きを計算により求める方法は、多くのロボットの教科書に記述されている。
【0006】
【発明が解決しようとする課題】
ところで、特開平5−245784号公報に開示されているロボットは、マニピュレータを前提にしていることから、構成ユニットを2つ以上に分岐して接続するような構成に対応することができず、また、各種センサからの入力情報に基づく制御にも対応するものではなかった。そこで、本件出願人は、先に特願平9−19040号として、複数の構成ユニットからなるロボット装置において、構成ユニットの形状を決定するための形状情報を記憶する第1の記憶手段と、構成ユニットの運動を記述するのに必要な運動情報を記憶する第2の記憶手段と、構成ユニットに収納された電子部品の特性情報を記憶する第3の記憶手段と、各構成ユニットの結合状態を検出する検出手段とを設けるようにしたものを提案している。このロボット装置における制御手段は、検出手段による検出結果に基づいて全体の構造や、各構成ユニットの運動特性を自動的に認識することができる。また、上記ロボット装置では、制御手段が各構成ユニットを制御するために使用する制御プログラムによって、予め各電子部品の機能毎に共通に定められた所定のデータフォーマットで表される第1のデータを各電子部品が機能毎に用いるデータフォーマットで表される第2のデータに変換する変換プログラムを各構成ユニットの各記憶手段に記憶させるようにしている。この結果、制御プログラムによって予め決められたデータフォーマットに依存せずに、各構成ユニットを設計することが可能になる。
【0007】
このようにロボット部品に形状や機能情報を記憶させ、それらを結合の順序を知ることができる仕組みを持つ信号線結合方式(シリアルバス)で結合することによって、ロボットを制御するCPUがロボットの形状とセンサやアクチュエータの種類とそれらが取り付けられている場所を知ることができる。
【0008】
特願平9−19040号の開示技術によれば、バーチャルロボットと名付けたロボット部品の持っている情報とその結合順序を管理しているソフトウエアオブジェクトを上記シリアルバスとロボット部品の持つ情報から自動的に構築して、実ロボットを駆動制御することができる。
【0009】
本発明は、実ロボットと仮想ロボットで共通のロボット部品の構成をとり、それを制御するプログラムを共通に使えるようにすることを目的とする。
【0010】
【課題を解決するための手段】
本発明は、実ロボット部品に記憶してある情報あるいはプログラムと同じ構成のソフトウエアにプログラム上で結合指示を与えることで上記バーチャルロボットを構築し、これを制御していたプログラムをこのバーチャルロボットに作用させることにより仮想ロボットを制御することを特徴とする。
【0011】
本発明に係るロボットシミュレーション装置は、 ロボットを構成する複数の構成部品にそれぞれ設定される座標系において、重心,質量,回転軸,重心における慣性行列を求めるための上記構成部品毎に記憶されている情報に基づき、上記ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める第1の演算手段と、上記構成部品の結合順序を獲得する獲得手段と、上記獲得された結合順序を用いて連結された構成部品間の座標変換を行う第2の演算手段とを備え、上記ロボットが仮想ロボットである場合は、上記第1の演算手段により、上記仮想ロボットを構成する仮想構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める演算を行い、上記第2の演算手段により上記仮想構成部品間の座標変換を行い、上記ロボットが実ロボットである場合は、上記第1の演算手段により、上記実ロボットを構成する構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める演算を行い、上記第2の演算手段により上記構成部品間の座標変換を行うことを特徴とする。
【0012】
本発明に係るロボットシミュレーション装置では、上記ロボットが仮想ロボットである場合は、上記仮想ロボットを構成する各仮想構成部品に附属して記憶されている、上記各仮想構成部品にそれぞれ設定される座標系において、重心,質量,回転軸,重心における慣性行列を求めるための情報及び連結された仮想構成部品間の座標変換を行うための情報を用いて、第1の演算手段により、上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める演算を行い、第2の演算手段により上記各仮想構成部品間の座標変換を行い、上記仮想ロボットの動きをシミュレーションする
【0014】
本発明に係るロボットシミュレーション装置は、 上記ロボットが実ロボットである場合は、上記実ロボットを構成する各構成部品に記憶されている、上記各構成部品にそれぞれ設定される座標系において、重心,質量,回転軸,重心における慣性行列を求めるための情報及び連結された構成部品間の座標変換を行うための情報を用いて、第1の演算手段により、上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める演算を行い、第2の演算手段により上記各構成部品間の座標変換を行い、上記実ロボットの動きをシミュレーションする。
【0015】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0016】
先ず、実ロボットの概略構成を図1に示す。この図1に示す実ロボットは、エージェントモデル部10とCPC(Configurable Physical Component )部20から構成される。エージェントモデル部10は、CPU11とRAM12,ROM13,シリアルバスのホストコントローラ14及び一般的なCPU周辺装置15からなり、上記シリアルバスのホストコントローラ14を介してマスタ入出力が行われるようになっている。
【0017】
また、CPC部20は、物理的な構成要素であるCPC部品21A,21B,21C,21D,21E・・・がツリー構造で結合あるいは分岐させながらロボット部品として結合されている。ロボット部品すなわちCPC部品は、結合されたシリアルバスの信号線を分岐させるHUB22、信号処理部23及びメモリ24からなる。そして、シリアルバスの信号を処理する信号処理部23には、シリアルバスのデバイス側のコントローラがあり、クロック同期、エラー検出、データパケット再送要求、アドレス管理等を行っている。また、メモリ24には、ロボット部品としての形状データ、運動方程式を立てるのに必要な物理的なデータ、この部品が持っている機能情報あるいはエージェントモデル部に転送してこの部品を制御するためのプログラム等が記憶されており、エージェントモデル部10からの要求に対して、これらのデータやプログラムがシリアルバスから転送され、あるいは制御命令が入力される。
【0018】
次に、上記実ロボットのソフトウエア構成を機能構成部に分割して図2に示す。すなわち、上記実ロボットのエージェントモデル部10は、シリアルバスを制御するシリアルバスホストコントローラ(ハードウエア及びソフトウエア)10A、CPC部の各CPC部品の情報と結合を管理するバーチャルロボット(ソフトウエア)10B、ユーザにより与えられるRobot Part Semanticsのデータに従って各CPC部品のロボットにおける意味を定義するブループリントロボット(ソフトウエア)10C、さらに、ブループリントロボット10Cを自律型ロボットとして機能させるために行動モデルや行動パラメータに応じてセンサ処理や行動制御等を行うエージェントコントローラ(ソフトウエア)10Dから構成される。
【0019】
また、CPC部20は、機能的にはシリアルバスデバイスコントローラ20Aとロボット機能部20Bとから構成される。シリアルバスデバイスコントローラ20Aは、シリアルバスから入出力される信号を処理するもので、機能的にはエージェントモデル部10のシリアルバスホストコントローラ10Aとプロトコルをもちデータの授受を行う。ロボット機能部20Bは、シリアルバスデバイスコントローラ20Aからのデータあるいはエージェントモデル部10側からの命令に従って動作を行うもので、機能的にはエージェントモデル部10のバーチャルロボット10Bとプロトコルをもちデータの授受を行う。
【0020】
このような構成の実ロボットにおいて、エージェントモデル部10側では、シリアルバスホストコントローラ10Aのハードウエア及びそれを制御するソフトウエアにより、シリアルデータの入出力の処理が行われる。すなわち、データ出力時には、シリアルバスホストコントローラ10Aは、データに同期用のシンクパターン、ヘッダ情報、データ、誤り検出、訂正符号を付加し、さらにNRZなどの変調をかけて送出する。そして、データ送出後には、送り先からのアクノリッジ信号などを受信して、そのデータが獲得されたことを確認してから次のデータ処理に入る。また、データ入力時には、シリアルバスホストコントローラ10Aは、送られてきた信号のクロック同期、シンクパターン検出、ヘッダ情報処理、データ獲得、誤り検出、訂正等を行い、アクノリッジ信号を送出する。もし、データに誤りなどがあった場合には、再送要求の信号を信号を出力する。このようにして、シリアルバスホストコントローラ10Aは、シリアルバスを介してデータの入出力を行う。
【0021】
また、CPC部20の各CPC部品21A,21B・・・の結合順序は、各CPC部品21A,21B・・・がツリー構造をもって結合されていることを利用して知ることができる。すなわち、シリアルバスホストコントローラ10Aが各CPC部品に情報を渡すためのアドレスを分岐順序と対応付けることにより、シリアルバスホストコントローラ10Aは各CPC部品21A,21B・・の結合順序を知ることができる。一方、CPC部品の次の部品への分岐結合部はCPC部品内の情報として記憶されており、その情報を用いて、CPC部品の形状及び次に結合される位置、さらに、そこに結合された部品の形状などをシリアルバスホストコントローラ10Aは知ることができる。そこで、シリアルバスホストコントローラ10Aがそれらのデータをバーチャルロボット10Bに渡すことにより、バーチャルロボット10Bは、自分がどのような形状をしているロボットで、どのような機能を持っていて、それらがどこに存在しているかを認識するための情報を自動的に獲得することができる。
【0022】
すなわち、実ロボットの動きは、実ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求め、連結された構成部品間の座標変換を行うことにより、シミュレーションすることができる。
【0023】
したがって、このように図1及び図2に示した構成の実ロボットでは、その物理的な構成要素であるCPC部品21A,21B・・・がツリー構造で結合あるいは分岐させながらロボット部品として結合されているCPC部20を備え、このCPC部20の各CPC部品21A,21B・・・の情報と結合順序をシリアルバスを介して獲得するようにしたエージェントモデル部10により各CPC部品21A,21B・・・を駆動制御することができる。
【0024】
次に、本発明を適用した仮想ロボットについて説明する。
【0025】
本発明を適用した仮想ロボットでは、実ロボットにおける物理的な構成要素に代えて仮想的な構成要素であるバーチャルロボット部品を結合するようにしたバーチャルCPC部を備え、エージェントモデル部によりバーチャルCPC部により各バーチャルロボット部品の駆動制御を行う。すなわち、実ロボット部品をその内部の情報だけを保持するソフトウエアあるいはバーチャルロボット部品として扱い、実ロボットを制御していたプログラムにより仮想ロボットを制御する。
【0026】
ここで、バーチャルロボット部品とは、例えば、ワークステーションなどによるコンピュータグラフィックス(CG:Computer Graphics)を用いて表示されるソフトウエアあるいはデータのことである。
【0027】
図3に示す仮想ロボットは、上述の図1及び図2に示した実ロボットにおけるエージェントモデル部10は変更することなく、CPC部20をバーチャルCPC部120に置き換えた構成となっている。
【0028】
すなわち、この仮想ロボットのエージェントモデル部110は、シリアルバスコントローラ(ハードウエアとソフトウエア)110A、バーチャルロボット(ソフトウエア)110B、ブループリントロボット(ソフトウエア)110C及びエージェントコントローラ(ソフトウエア)110Dからなり、上述の実ロボットにおけるエージェントモデル部10とハードウエア構成及びソフトウエア構成が同じでものである。
【0029】
そして、バーチャルCPC部120は、上述の実ロボットにおけるCPC部の情報のみで構成されるもので、物理的なCPC部品ではなく、コンピュータ上に存在するデータあるいはプログラムからなるバーチャルロボット機能部品を結合するソフトウエアからなるバーチャルCPCマネージャ120Bが存在する。
【0030】
また、このバーチャルCPC部120では、上記エージェントモデル部110が上述の実ロボットにおけるシリアルバスと物理的にも同じシリアルバスでバーチャルCPCマネージャ120Bと通信し、バーチャルCPCマネージャ120Bがシリアルバスのプロトコルを解釈して反応するようなバーチャルシリアルバスデバイコントローラ120Aが通信を担当している。
【0031】
さらに、このバーチャルCPC部120側には、ユーザにロボットの動きを見せるためのビューワ120C(ソフトウエア)がさらに存在している。また、上述の実ロボットではロボットあるいはCPC部品が現実の物理世界で重力などの力を受けていたが、仮想ロボットでは、ソフトウエアにより重力などの処理を行う。すなわち、バーチャルロボット部品が存在するバーチャルワールドをバーチャルワールドマネージャ120Dがエミュレートし、そのバーチャルワールドをビューワ120Cによりディプレイ上に描画する。
【0032】
バーチャルワールドをディプレイ上に描画するには、一般的なCGの手法を利用することができる。例えば、光源の方向を仮定して表面の反射モデルを定義した物体の反射光について観測点での受光レベルをディプレイ上に表示すればよい。あるいは、さらに簡便な描画方法としては、3次元物体の視点方向に垂直な平面を仮定して、その2次元投影を描画するようにしても良い。
【0033】
このように、実ロボット部品に記憶してある情報あるいはプログラムと同じ構成のソフトウエアにプログラム上で結合指示を与えることで上記バーチャルロボットを構築し、これを制御していたプログラムをこのバーチャルロボットに作用させることにより仮想ロボットを制御することができる。
【0034】
また、仮想ロボットの動きは、仮想ロボットを構成する複数の仮想構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求め、連結された仮想構成部品間の座標変換を行うことにより、シミュレーションすることができる。
【0035】
さらに、各仮想構成部品に附属して、その座標系において、重心,質量,回転軸,重心における慣性行列を求めるための情報及び連結された仮想構成部品間の座標変換を行うための情報を記憶していることにより、自由に外したり追加して、シミュレーションを行うことができる。
【0036】
したがって、実ロボット部品に記憶してある情報あるいはプログラムと同じ構成のソフトウエアにプログラム上で結合指示を与えることで上記バーチャルロボットを構築し、これを制御していたプログラムをこのバーチャルロボットに作用させることにより仮想ロボットを制御し、さらに、バーチャルワールドマネージャがバーチャルロボット部品あるいは仮想ロボットをシミュレートして得られる仮想ロボットの制御プログラムによる実ロボットを制御するようこともできる。
【0037】
なお、バーチャルワールドマネージャがバーチャルロボット部品あるいは仮想ロボットをシミュレートする方法は、一般的なロボットの制御理論の教科書に順動力学問題として記述されているように、各部品の運動方程式を逐次的に解いていく方法等がある。
【0038】
ロボットの制御理論の教科書では、ロボットの逆運動力学と順運動力学の問題としてロボット制御の理論が説明されている。
【0039】
逆運動力学は、ロボットの
角度θ(t)[p×1]
角度θ'(t)[p×1]
角度θ"(t)[p×1]
が与えられたとき、それらをリンクロボットの一般的な運動方程式
J(θ)θ"+C(θ',θ)+Dθ'+P(θ)+E(θ',θ)=τ
の左辺に直接代入することにより、右辺のトルクを求める問題である。ここで、
J(θ)θ"は p×1 の慣性項、
C(θ',θ)は p×1 の遠心力、コリオリの力に関する項、
Dθ'は p×1 の粘性摩擦係数
P(θ)は p×1 の重力の項
E(θ',θ)は p×1 の非線形摩擦の項、
τ(t)は p×1 の入力トルク
である。
【0040】
このような逆運動力学問題を解くことにより、例えば、目標となる角度、角速度及び角加速度が与えられたときに、そのような運動を行うのに必要なトルクを求めることができる。
【0041】
逆運動力学問題における運動方程式を導出する方法としては、ロボットの持っている各種エネルギー関数に注目し、それらをラグランジュの方程式に代入する方法やロボットの各リンクに対する力とモーメントの釣合い、作用、反作用に注目し、入トンの運動方程式とオイラーの運動方程式を用いることによりロボット全体の運動方程式を求めていく方法等が知られている。
【0042】
また、順動力学問題とは、ロボットの初期状態[θ(0),θ(0),θ(0)] と入力トルクτ(t)が与えられた時にロボットがどのような運動を行うかを運動方程式
J(θ)θ"+C(θ',θ)+Dθ'+P(θ)+E(θ',θ)=τ
をもとに求める問題である。すなわち、順動力学問題は、微分方程式を解く問題であって、上式を
θ"=J(θ)-1[−C(θ',θ)−Dθ'−P(θ)−E(θ',θ)+τ]
と変形した後、適当な初期条件
θ(0)=θ0
θ'(0)=θ0'
のもとで、オイラー法やルンゲタック法などによる数値積分を行うことにより解くことができる。
【0043】
例えば図4のフローチャートに示す手順により順動力学問題を解くことができる。
【0044】
ステップS1では、t=1,i=1に初期設定を行う。
【0045】
ステップS2では、
h(t)i=INV[θ(t),0,ei,0]
の演算を行う。
【0046】
次のステップS3では、i=pであるか否かを判定する。そして、i=pでなければステップS4でi=i+1としてステップS2に戻り、次のh(t)iを演算する処理をi=pになるまで繰り返し行うことにより、H(t) の第i列を計算する。i=pならばステップS5に進む。
【0047】
ステップS5では、
b(t)=INV[θ(t),θ(t)',0,g]
によってb(t)を計算する。
【0048】
次のステップS6では、
θ"(t)=H(t)-1[τ(t)−b(t)]
によってθ"(t)を計算する。
【0049】
次のステップS7では、
θ'(t+Δt)=θ'(t)+θ"(t)Δt
θ(t+Δt)=θ(t)+θ'(t)Δt+θ"(t)Δt2/2
を計算する。
【0050】
次のステップS8では、
t=t+Δt
とする。
【0051】
次のステップS9では、t>tendであるか否かを判定する。そして、t>tendでなければ、ステップS2に戻り、ステップS2からステップS8の処理を繰り返し行う。t>tendであれば処理を終了する。
【0052】
【発明の効果】
以上説明したように、本発明によれば、実ロボットと仮想ロボットで共通のロボット部品の構成をとり、それを制御するプログラムを共通に使えるようにすることができる。
【図面の簡単な説明】
【図1】本発明を適用した実ロボットの概略構成を示すブロック図である。
【図2】上記実ロボットのソフトウエア構成を機能構成部に分割して示す図である。
【図3】本発明を適用した仮想ロボットのソフトウエア構成を機能構成部に分割して示す図である。
【図4】順動力学問題の一般的な解法を示すフローチャートである。
【符号の説明】
10,110 エージェントモデル部、10A,110A シリアルバスコントローラ、10B,110B バーチャルロボット、10C,110C ブループリントロボット、10D,110D エージェントコントローラ、11 CPU、12 RAM13 ROM、14 ホストコントローラ14、20 CPC部、20A シリアルバスデバイスコントローラ、20B ロボット機能部 21A,21B,21C,21D,21E・・・ CPC部品、22 HUB、23 信号処理部、24 メモリ、120A バーチャルシリアルバスデバイスコントローラ、120B バーチャルCPCマネージャ、120C ビューワ、120D バーチャルワールドマネージャ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a robot simulation apparatus used for behavior control of an industrial or entertainment autonomous robot or a virtual robot existing on a computer.
[0002]
[Prior art]
Conventionally, many robots are assembled in a predetermined shape by combining a plurality of constituent units in a predetermined state with a predetermined correlation, and by controlling the driving of each constituent unit, The movement is changed.
[0003]
For example, the robot disclosed in Japanese Patent Application Laid-Open No. 5-245784 can be constructed in a desired shape by combining a plurality of joint modules and a plurality of arm modules. The robot sets a unique number for each joint module, and the control unit recognizes the connection order of each joint module based on the unique number obtained by communication with each joint module. The control program can be rewritten to a suitable one.
[0004]
Also, virtual robots and virtual creatures are moved by computer graphics (CG) on the computer, and the behavior of the virtual robots and virtual creatures is changed according to input information by sensors connected to the computer. Such a computer game is known.
[0005]
Furthermore, when simulating a real robot, a model with the same shape and mass as the real robot is built on a computer, and physical forces in the real world such as gravity are applied to this to calculate the movement. The method of obtaining by is described in many textbooks of robots.
[0006]
[Problems to be solved by the invention]
By the way, since the robot disclosed in Japanese Patent Laid-Open No. 5-245784 is based on the premise of a manipulator, it cannot cope with a configuration in which two or more component units are branched and connected. Also, it does not correspond to control based on input information from various sensors. Therefore, the applicant of the present invention previously described as Japanese Patent Application No. 9-19040, in a robot apparatus composed of a plurality of component units, a first storage means for storing shape information for determining the shape of the component units, and a configuration A second storage means for storing movement information necessary for describing the movement of the unit, a third storage means for storing characteristic information of the electronic component housed in the constituent unit, and a coupling state of each constituent unit. It has been proposed to provide detection means for detecting. The control means in this robot apparatus can automatically recognize the entire structure and the motion characteristics of each component unit based on the detection result by the detection means. In the robot apparatus, the control unit uses the control program used to control each component unit to obtain the first data represented in a predetermined data format that is defined in advance for each function of each electronic component. A conversion program for converting to second data represented in a data format used for each function by each electronic component is stored in each storage unit of each component unit. As a result, each component unit can be designed without depending on the data format predetermined by the control program.
[0007]
In this way, the shape and function information is stored in the robot parts, and by connecting them with a signal line connection method (serial bus) having a mechanism capable of knowing the order of connection, the CPU that controls the robot has the shape of the robot. And you can know the types of sensors and actuators and where they are attached.
[0008]
According to the technology disclosed in Japanese Patent Application No. 9-19040, the information held by the robot parts named virtual robots and the software objects managing the connection order are automatically determined from the information held by the serial bus and robot parts. The robot can be constructed and controlled to control the actual robot.
[0009]
SUMMARY OF THE INVENTION An object of the present invention is to configure a common robot component for a real robot and a virtual robot so that a program for controlling the same can be used in common.
[0010]
[Means for Solving the Problems]
The present invention constructs the virtual robot by giving a combination instruction on the program to software having the same configuration as the information or program stored in the actual robot part, and the program controlling the virtual robot is assigned to the virtual robot. It is characterized by controlling the virtual robot by acting.
[0011]
The robot simulation apparatus according to the present invention is stored for each of the above components for obtaining the center of gravity, mass, rotation axis, and inertia matrix at the center of gravity in the coordinate system set for each of a plurality of components constituting the robot. Based on the information, in a coordinate system set for each of a plurality of components constituting the robot, a first calculation means for obtaining an inertia matrix at the center of gravity, mass, rotation axis, and center of gravity, and acquisition order of the components And when the robot is a virtual robot, the first calculating means includes: an acquiring means for performing the coordinate transformation between the components connected using the acquired joining order. Accordingly, in the coordinate system set to each virtual component constituting the virtual robot, the center of gravity, mass, rotary shaft, the inertia matrix at the center of gravity Performed Mel operation, performs a coordinate transformation between each virtual component by the second calculating means, if said robot is a real robot, by the first calculating means, constituting the actual robot each in each of the components set coordinate system, performs centroid, mass, rotary shaft, the calculation for obtaining the inertia matrix at the center of gravity, and performs coordinate transformation between the respective components by the second arithmetic means .
[0012]
In the robot simulation apparatus according to the present invention, when the robot is a virtual robot, the coordinate system set for each virtual component stored in the virtual component constituting the virtual robot is stored. The virtual robot is configured by the first calculation means using the center of gravity, the mass, the rotation axis, the information for obtaining the inertia matrix at the center of gravity and the information for performing coordinate conversion between the connected virtual components. In the coordinate system set for each virtual component, the calculation is performed to obtain the center of gravity, mass, rotation axis, inertia matrix at the center of gravity, and the second calculation means performs coordinate conversion between the virtual components, Simulate the movement of a virtual robot .
[0014]
When the robot is a real robot, the robot simulation apparatus according to the present invention has a center of gravity and a mass in a coordinate system stored in each component constituting the real robot and set in each component. , The rotation axis, the information for obtaining the inertia matrix at the center of gravity, and the information for performing the coordinate conversion between the connected components , the first computing means is used for each component constituting the real robot, respectively. In the set coordinate system, a calculation for obtaining the center of gravity, mass, rotation axis, and inertia matrix at the center of gravity is performed, and the second arithmetic unit performs coordinate conversion between the above-described components to simulate the movement of the real robot.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0016]
First, a schematic configuration of an actual robot is shown in FIG. The real robot shown in FIG. 1 includes an agent model unit 10 and a CPC (Configurable Physical Component) unit 20. The agent model unit 10 includes a CPU 11, a RAM 12, a ROM 13, a serial bus host controller 14, and a general CPU peripheral device 15. Master input / output is performed via the serial bus host controller 14. .
[0017]
In addition, the CPC unit 20 is coupled as a robot component while CPC components 21A, 21B, 21C, 21D, 21E,... Which are physical components are coupled or branched in a tree structure. The robot component, that is, the CPC component includes a HUB 22 that branches the signal line of the coupled serial bus, a signal processing unit 23, and a memory 24. The signal processor 23 for processing the serial bus signal has a controller on the serial bus device side, and performs clock synchronization, error detection, data packet retransmission request, address management, and the like. In addition, the memory 24 is used to control the part data by transferring it to the shape data of the robot part, the physical data necessary for establishing the equation of motion, the function information of the part, or the agent model unit. Programs and the like are stored, and in response to a request from the agent model unit 10, these data and programs are transferred from the serial bus or a control command is input.
[0018]
Next, FIG. 2 shows the software configuration of the actual robot divided into functional components. That is, the agent model unit 10 of the real robot includes a serial bus host controller (hardware and software) 10A that controls the serial bus, and a virtual robot (software) 10B that manages information and connection of each CPC component of the CPC unit. The blueprint robot (software) 10C that defines the meaning of each CPC part in the robot according to the Robot Part Semantics data given by the user, and the behavior model and behavior parameters to make the blueprint robot 10C function as an autonomous robot It comprises an agent controller (software) 10D that performs sensor processing, behavior control, etc.
[0019]
The CPC unit 20 is functionally composed of a serial bus device controller 20A and a robot function unit 20B. The serial bus device controller 20A processes signals input / output from the serial bus, and functionally exchanges data with the serial bus host controller 10A of the agent model unit 10 using a protocol. The robot function unit 20B operates in accordance with data from the serial bus device controller 20A or an instruction from the agent model unit 10, and functionally has a protocol with the virtual robot 10B of the agent model unit 10 to exchange data. Do.
[0020]
In the real robot having such a configuration, serial data input / output processing is performed on the agent model unit 10 side by the hardware of the serial bus host controller 10A and the software for controlling the hardware. That is, at the time of data output, the serial bus host controller 10A adds a synchronization sync pattern, header information, data, error detection, and correction code to the data, and transmits the data after performing modulation such as NRZ. After the data is sent, an acknowledge signal or the like from the destination is received, and after confirming that the data has been acquired, the next data processing is started. At the time of data input, the serial bus host controller 10A performs clock synchronization, sync pattern detection, header information processing, data acquisition, error detection, correction, and the like of the transmitted signal, and sends an acknowledge signal. If there is an error in the data, a retransmission request signal is output. In this way, the serial bus host controller 10A performs data input / output via the serial bus.
[0021]
Further, the connecting order of the CPC parts 21A, 21B,... Of the CPC unit 20 can be known using the fact that the CPC parts 21A, 21B,. That is, the serial bus host controller 10A can know the connecting order of the CPC components 21A, 21B,... By associating the address for passing information to each CPC component with the branch order by the serial bus host controller 10A. On the other hand, the branch coupling portion of the CPC component to the next component is stored as information in the CPC component, and using this information, the shape of the CPC component, the position to be coupled next, and the coupling are coupled there. The serial bus host controller 10A can know the shape of the component. Therefore, when the serial bus host controller 10A passes the data to the virtual robot 10B, the virtual robot 10B is a robot that is in what shape, has what function, and where it is. Information for recognizing the existence can be automatically acquired.
[0022]
That is, the movement of the actual robot, the coordinate system set in a plurality of components that constitute the actual robot, the center of gravity, mass, rotary shaft, obtains the inertia matrix at the center of gravity, the coordinate transformation between linked components By doing so, a simulation can be performed.
[0023]
Therefore, in the actual robot having the configuration shown in FIGS. 1 and 2, the CPC parts 21A, 21B,... Which are physical components are combined as a robot part while being combined or branched in a tree structure. The CPC unit 20 includes the CPC unit 20 and the agent model unit 10 which acquires the information of the CPC components 21A, 21B...・ The drive can be controlled.
[0024]
Next, a virtual robot to which the present invention is applied will be described.
[0025]
The virtual robot to which the present invention is applied includes a virtual CPC unit that combines virtual robot parts that are virtual components instead of physical components in the real robot. Drive control of each virtual robot part is performed. That is, the real robot part is handled as software or virtual robot part that holds only the internal information, and the virtual robot is controlled by the program controlling the real robot.
[0026]
Here, the virtual robot component is software or data displayed using computer graphics (CG) by a workstation or the like, for example.
[0027]
The virtual robot shown in FIG. 3 has a configuration in which the CPC unit 20 is replaced with a virtual CPC unit 120 without changing the agent model unit 10 in the real robot shown in FIGS.
[0028]
That is, the agent model unit 110 of the virtual robot includes a serial bus controller (hardware and software) 110A, a virtual robot (software) 110B, a blueprint robot (software) 110C, and an agent controller (software) 110D. The hardware configuration and the software configuration are the same as the agent model unit 10 in the real robot described above.
[0029]
The virtual CPC unit 120 is configured only by the information of the CPC unit in the above-described real robot, and connects not the physical CPC component but the virtual robot functional component including the data or program existing on the computer. There is a virtual CPC manager 120B made of software.
[0030]
In the virtual CPC unit 120, the agent model unit 110 communicates with the virtual CPC manager 120B through the same serial bus as the serial bus in the real robot, and the virtual CPC manager 120B interprets the serial bus protocol. The virtual serial bus device controller 120A, which reacts in response, is in charge of communication.
[0031]
Further, a viewer 120C (software) for showing the movement of the robot to the user is further present on the virtual CPC unit 120 side. In the above-described real robot, the robot or CPC component receives a force such as gravity in the real physical world, but the virtual robot performs a process such as gravity using software. That is, the virtual world manager 120D emulates a virtual world in which a virtual robot part exists, and the virtual world is drawn on the display by the viewer 120C.
[0032]
In order to draw a virtual world on the display, a general CG technique can be used. For example, the received light level at the observation point may be displayed on the display for the reflected light of the object defining the surface reflection model assuming the direction of the light source. Alternatively, as a simpler drawing method, a two-dimensional projection may be drawn assuming a plane perpendicular to the viewpoint direction of the three-dimensional object.
[0033]
In this way, the virtual robot is constructed by giving a combination instruction on the program to software having the same configuration as the information or program stored in the actual robot part, and the program that has controlled the virtual robot is transferred to the virtual robot. The virtual robot can be controlled by acting.
[0034]
The movement of the virtual robot is determined by calculating the center of gravity, mass, rotation axis, and inertia matrix at the center of gravity in the coordinate system set for each of the virtual components constituting the virtual robot. A simulation can be performed by performing the conversion.
[0035]
In addition, information for obtaining the center of gravity, mass, rotation axis, inertia matrix at the center of gravity and information for performing coordinate conversion between connected virtual components is stored in the coordinate system attached to each virtual component. By doing so, it is possible to perform the simulation by freely removing or adding.
[0036]
Therefore, the virtual robot is constructed by giving a combination instruction on the program to software having the same configuration as the information or program stored in the actual robot part, and the program controlling this is applied to this virtual robot. Thus, the virtual robot can be controlled, and the virtual robot can be controlled by the virtual robot control program obtained by the virtual world manager simulating the virtual robot part or the virtual robot.
[0037]
Note that the virtual world manager's method of simulating virtual robot parts or virtual robots is as follows. There are ways to solve it.
[0038]
In the textbook of robot control theory, the theory of robot control is explained as a problem of reverse kinematics and forward kinematics of robots.
[0039]
Inverse kinematics is the robot angle θ (t) [p × 1]
Angle θ '(t) [p × 1]
Angle θ "(t) [p × 1]
Are given, the general equation of motion J (θ) θ ″ + C (θ ′, θ) + Dθ ′ + P (θ) + E (θ ′, θ) = τ
This is a problem of obtaining the torque on the right side by directly substituting for the left side. here,
J (θ) θ "is the inertia term of p × 1,
C (θ ', θ) is the term for the centrifugal force of p × 1, the Coriolis force,
Dθ ′ is the p × 1 viscous friction coefficient P (θ) is the p × 1 gravity term E (θ ′, θ) is the p × 1 nonlinear friction term,
τ (t) is p × 1 input torque.
[0040]
By solving such an inverse kinematics problem, for example, when a target angle, angular velocity, and angular acceleration are given, a torque necessary to perform such a motion can be obtained.
[0041]
As a method of deriving the equation of motion in the inverse kinematics problem, paying attention to various energy functions of the robot, substituting them into the Lagrangian equation, the balance of force and moment for each link of the robot, action, reaction In particular, there is known a method for obtaining the motion equation of the entire robot by using the input equation of motion and Euler's equation of motion.
[0042]
The forward dynamics problem is the kind of motion that the robot performs when given the initial state of the robot [θ (0), θ (0), θ (0)] and the input torque τ (t). The equation of motion J (θ) θ "+ C (θ ', θ) + Dθ' + P (θ) + E (θ ', θ) = τ
It is a problem to ask based on. That is, the forward dynamics problem is a problem of solving a differential equation, and the above equation is expressed as θ ″ = J (θ) −1 [−C (θ ′, θ) −Dθ′−P (θ) −E (θ ', θ) + τ]
After deformation, an appropriate initial condition θ (0) = θ 0
θ '(0) = θ 0 '
Can be solved by performing numerical integration using the Euler method or the Rungetac method.
[0043]
For example, the forward dynamics problem can be solved by the procedure shown in the flowchart of FIG.
[0044]
In step S1, initial setting is performed at t = 1 and i = 1.
[0045]
In step S2,
h (t) i = INV [θ (t), 0, e i , 0]
Perform the operation.
[0046]
In the next step S3, it is determined whether i = p. If i = p is not satisfied, i = i + 1 is set in step S4, the process returns to step S2, and the process of calculating the next h (t) i is repeated until i = p. Calculate the column. If i = p, the process proceeds to step S5.
[0047]
In step S5,
b (t) = INV [θ (t), θ (t) ′, 0, g]
Calculate b (t) by
[0048]
In the next step S6,
θ "(t) = H (t) -1 [τ (t) -b (t)]
To calculate θ ″ (t).
[0049]
In the next step S7,
θ ′ (t + Δt) = θ ′ (t) + θ ″ (t) Δt
θ (t + Δt) = θ (t) + θ '(t) Δt + θ "(t) Δt 2/2
Calculate
[0050]
In the next step S8,
t = t + Δt
And
[0051]
In the next step S9, it is determined whether or not t> t end . If t> t end is not satisfied, the process returns to step S2, and the processes from step S2 to step S8 are repeated. If t> t end , the process ends.
[0052]
【The invention's effect】
As described above, according to the present invention, it is possible to use a common robot component configuration for a real robot and a virtual robot and to use a program for controlling the same in common.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a real robot to which the present invention is applied.
FIG. 2 is a diagram showing a software configuration of the real robot divided into functional components.
FIG. 3 is a diagram showing a software configuration of a virtual robot to which the present invention is applied divided into functional components.
FIG. 4 is a flowchart showing a general solution to a forward dynamics problem.
[Explanation of symbols]
10, 110 agent model part, 10A, 110A serial bus controller, 10B, 110B virtual robot, 10C, 110C blueprint robot, 10D, 110D agent controller, 11 CPU, 12 RAM 13 ROM, 14 host controller 14, 20 CPC part, 20A Serial bus device controller, 20B Robot functional unit 21A, 21B, 21C, 21D, 21E ... CPC parts, 22 HUB, 23 signal processing unit, 24 memory, 120A virtual serial bus device controller, 120B virtual CPC manager, 120C viewer, 120D Virtual World Manager

Claims (3)

ロボットを構成する複数の構成部品にそれぞれ設定される座標系において、重心,質量,回転軸,重心における慣性行列を求めるための上記構成部品毎に記憶されている情報に基づき、上記ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める第1の演算手段と、
上記構成部品の結合順序を獲得する獲得手段と、
上記獲得された結合順序を用いて連結された構成部品間の座標変換を行う第2の演算手段とを備え、
上記ロボットが仮想ロボットである場合は、上記第1の演算手段により、上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める演算を行い、上記第2の演算手段により上記各仮想構成部品間の座標変換を行い、
上記ロボットが実ロボットである場合は、上記第1の演算手段により、上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める演算を行い、上記第2の演算手段により上記各構成部品間の座標変換を行う
ことを特徴とするロボットシミュレーション装置。
The robot is configured based on information stored for each component for obtaining the center of gravity, mass, rotation axis, and inertia matrix at the center of gravity in a coordinate system set for each of the plurality of components constituting the robot. In a coordinate system set for each of a plurality of component parts,
An acquisition means for acquiring a joining order of the components ;
A second computing means for performing coordinate transformation between components connected using the obtained coupling order,
When the robot is a virtual robot, the first calculation means obtains the center of gravity, mass, rotation axis, and inertia matrix at the center of gravity in the coordinate system set for each virtual component constituting the virtual robot. Perform computation, perform coordinate transformation between the virtual components by the second computing means,
When the robot is a real robot, the first calculation means calculates the center of gravity, mass, rotation axis, and inertia matrix at the center of gravity in the coordinate system set for each component constituting the real robot. And performing coordinate transformation between the component parts by the second computing means .
上記ロボットが仮想ロボットである場合は、上記仮想ロボットを構成する各仮想構成部品に附属して記憶されている、上記各仮想構成部品にそれぞれ設定される座標系において、重心,質量,回転軸,重心における慣性行列を求めるための情報及び連結された仮想構成部品間の座標変換を行うための情報を用いて、
上記第1の演算手段により上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める演算を行い、上記第2の演算手段により上記各仮想構成部品間の座標変換を行い、
上記仮想ロボットの動きをシミュレーションすることを特徴とする請求項1記載のロボットシミュレーション装置。
When the robot is a virtual robot, the center of gravity, the mass, the rotation axis, and the rotation axis in the coordinate system respectively set for each virtual component stored in the virtual component constituting the virtual robot are stored . Using information for determining the inertia matrix at the center of gravity and information for performing coordinate transformation between connected virtual components ,
In the coordinate system set for each virtual component constituting the virtual robot by the first calculation means, calculation is performed to obtain the center of gravity, mass, rotation axis, inertia matrix at the center of gravity, and the second calculation means Perform coordinate transformation between each virtual component above,
The robot simulation apparatus according to claim 1 , wherein the movement of the virtual robot is simulated .
上記ロボットが実ロボットである場合は、上記実ロボットを構成する各構成部品に記憶されている、上記各構成部品にそれぞれ設定される座標系において、重心,質量,回転軸,重心における慣性行列を求めるための情報及び連結された構成部品間の座標変換を行うための情報を用いて、
上記第1の演算手段により上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心,質量,回転軸,重心における慣性行列を求める演算を行い、上記第2の演算手段により上記各構成部品間の座標変換を行い、
上記実ロボットの動きをシミュレーションすることを特徴とする請求項1記載のロボットシミュレーション装置。
When the robot is a real robot , the center of gravity, the mass, the rotation axis, and the inertia matrix at the center of gravity are stored in the coordinate system stored in each component constituting the real robot. Using the information to obtain and the information to perform coordinate transformation between connected components ,
In the coordinate system set for each component constituting the real robot by the first calculation means, calculation is performed to obtain the center of gravity, mass, rotation axis, and inertia matrix at the center of gravity, and the second calculation means performs the above-described calculation. Perform coordinate transformation between each component,
The robot simulation apparatus according to claim 1, wherein the movement of the real robot is simulated.
JP22689497A 1997-08-22 1997-08-22 Robot simulation device Expired - Lifetime JP4121587B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22689497A JP4121587B2 (en) 1997-08-22 1997-08-22 Robot simulation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22689497A JP4121587B2 (en) 1997-08-22 1997-08-22 Robot simulation device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008076568A Division JP4569653B2 (en) 2008-03-24 2008-03-24 Robot control apparatus, robot control method, and robot control program

Publications (2)

Publication Number Publication Date
JPH1158277A JPH1158277A (en) 1999-03-02
JP4121587B2 true JP4121587B2 (en) 2008-07-23

Family

ID=16852259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22689497A Expired - Lifetime JP4121587B2 (en) 1997-08-22 1997-08-22 Robot simulation device

Country Status (1)

Country Link
JP (1) JP4121587B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101026369B1 (en) * 2009-08-05 2011-04-05 (주)시뮬레이션연구소 Actual control system of bot and virtual robot
JP6549654B2 (en) * 2017-08-03 2019-07-24 ファナック株式会社 Robot system simulation apparatus and simulation method
US12210335B2 (en) * 2021-06-03 2025-01-28 Intrinsic Innovation Llc Workcell modeling using motion profile matching and swept profile matching

Also Published As

Publication number Publication date
JPH1158277A (en) 1999-03-02

Similar Documents

Publication Publication Date Title
WO2022078289A1 (en) Simulation test system and method for autonomous driving
CN114206558B (en) Efficient robot control based on input from remote client devices
CN105718065B (en) Interactive inspection analogue system under bus or train route cooperative surroundings
CA1324647C (en) Instruction system of remote-control robot
KR20210114467A (en) Autonomous driving simulation method and apparatus, electronic device and storage medium
WO2011074838A2 (en) Robot synchronizing apparatus and method for same
CN107671857A (en) For service robot operation demonstration and the three-dimensional artificial platform of proof of algorithm
CN115122325A (en) Robust visual servo control method for anthropomorphic manipulator with view field constraint
US10726248B2 (en) Validating gesture recognition capabilities of automated systems
JP4121587B2 (en) Robot simulation device
JP4569653B2 (en) Robot control apparatus, robot control method, and robot control program
CN112613469A (en) Motion control method of target object and related equipment
CN112783142B (en) Simulation test system, method, equipment and storage medium for lane centering control
CN111290381A (en) Federal learning experiment system based on unmanned vehicle
WO2023066201A1 (en) Mechanical arm motion path planning method and apparatus, device, program, and medium
KR100536537B1 (en) Structure description method of robot, robot apparatus, and component parts of robot
CN116394247A (en) Dynamics simulation method of chain type multi-rod flexible joint mechanical arm based on deep reinforcement learning
KR20220150700A (en) System for controlling robot
CN117492381B (en) Robot collaborative pointing simulation visualization method, system, device and storage medium
KR20200084456A (en) Platform and Automotive platform for education of unmanned vehicle
JPH11123680A (en) Structure describing method for robot, robot device, and constituting component for robot
Bayliss et al. Mobile robotics 1997
Livingston A Framework for Remotely Sharing Experimental Environments
Christensen A Robotics Framework for Simulation and Control of a Robotic Arm for Use in Higher Education
Bouaziz et al. Multi-sensors and environment simulator for collision avoidance applications

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060821

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060829

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

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

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

Free format text: PAYMENT UNTIL: 20110509

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110509

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120509

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130509

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130509

Year of fee payment: 5

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

EXPY Cancellation because of completion of term