[go: up one dir, main page]

JP3668289B2 - Robot motion teaching system - Google Patents

Robot motion teaching system Download PDF

Info

Publication number
JP3668289B2
JP3668289B2 JP14814995A JP14814995A JP3668289B2 JP 3668289 B2 JP3668289 B2 JP 3668289B2 JP 14814995 A JP14814995 A JP 14814995A JP 14814995 A JP14814995 A JP 14814995A JP 3668289 B2 JP3668289 B2 JP 3668289B2
Authority
JP
Japan
Prior art keywords
skeleton
image
robot
teaching
unit
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 - Fee Related
Application number
JP14814995A
Other languages
Japanese (ja)
Other versions
JPH08314527A (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.)
Ricoh Elemex Corp
Original Assignee
Ricoh Elemex 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 Ricoh Elemex Corp filed Critical Ricoh Elemex Corp
Priority to JP14814995A priority Critical patent/JP3668289B2/en
Publication of JPH08314527A publication Critical patent/JPH08314527A/en
Application granted granted Critical
Publication of JP3668289B2 publication Critical patent/JP3668289B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Image Processing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

【0001】
【産業上の利用分野】
本発明はロボットの動作教示システムに関する。
【0002】
【従来の技術】
従来、ロボットに動作を教示する方法としては、例えばロボットの各部位について、その部位の動作の開始位置に原点設定を行い、次にその動作の終了位置までその部位をマニュアル駆動させるか、あるいは手でその部位を終了位置まで動かして、対応するアクチュエータの作動範囲(変位)を求め、これを教示データとして取り込む方法が用いられている。
【0003】
【発明が解決しようとする課題】
上述の方法においては、1つの動作を教示するために、ロボットの各部位毎に個々のアクチュエータの変位を定めなければならず、教示のための工程数が多くなり、多大な時間と労力を要する問題がある。また、教示データとして考慮されるのは各アクチュエータの変位のみであり、各部位の空間的な位置や動きを直接決定することはできない。そのため、所望の動きを達成するための各部位の空間位置の移り変わりは、各アクチュエータの変位を変えながら試行錯誤的に決定する他はなく、例えば人間のしぐさ等、微妙で複雑な動作を模写する場合等においては、ロボットの動作が不自然でぎこちないものになりやすい欠点があった。
【0004】
本発明の課題は、教示作業が単純で理解しやすく、しかも能率的に行うことができ、また教示内容に基づいて実現されるロボットの動作が微妙で複雑なものであっても、これを滑らかに行わせることができるロボットの動作教示システムを提供することにある。
【0005】
【課題を解決するための手段】
上述の課題を解決するために、本発明の動作教示システムは下記の要件を含み、経時的に記録した一連のモデルとなる人の動きからロボットの教示データをデータ化することを特徴とする。
(1)画像表示手段:教示すべきこの人型ロボットの動作に対応するモデルとなる人の動作を経時的に記録した一連のモデル画像と前記ロボットの骨格を線図として表示する画像(以下、骨格画像という)とを合わせ込んで表示する。
(2)骨格位置決め手段:その画像表示手段上において、人型ロボットの骨格画像の関節機構や骨格単位を、前記モデルとなる人の動作を経時的に記録したモデル画像の内の特定の時刻の画像に対して重ね合わせて位置合わせするものとして構成することができる。
(3)教示データ演算手段:この経時的に記録した一連のモデル画像の内の特定の時刻の画像間による時間軸上において、その互いに前後するモデル画像に対し、前記骨格位置決め手段によって、前記骨格画像がそれぞれ位置合わせされた画像を作り、その骨格画像の変位に基づいて、前記人型ロボットの骨格単位の変位データ、関節機構を介した骨格単位の間の回転角度データ又は人型ロボットの骨格単位を駆動するアクチュエータ駆動量データのいずれかを、ロボットの教示データとして演算する。
【0006】
例えば、教示するべき動作をモデルに実際に行わせてこれを一連の画像として記録し、それら各画像にロボットの骨格画像をそれぞれ位置合わせすることによって、経時的に変化するモデル動作の特定の時刻毎に、骨格画像のモデル画像に対する位置決めが行われ、互いに前後する画像、例えば隣り合う画像間での骨格の変位に基づいてロボットの教示データが演算される。従って、モデル画像を適当な時間間隔でサンプリングすることにより、従来の手法に比べてモデルの動きをより忠実にデータ化することができ、ひいてはそのデータに基づいてロボットに自然で滑らかな動作を行わせることができる。そして、教示のための作業内容は、画像表示手段の画面上でモデル画像に骨格画像を位置合わせする操作が中心となるので理解しやすく、しかもロボットの部位毎にアクチュエータの駆動量を求める必要がなくなるので、教示工数を大幅に削減することができる。
【0007】
例えば人間の動作を模写するロボットに対しては、教示されるべき動作を人間のモデルに行わせ、それをビデオカメラ等の撮影手段により動画として記録し、その動画を画像表示手段にコマ送り再生しながら、その動画のコマ毎に骨格画像の位置合わせ操作を行えばよい。ここで、記録されたモデル画像の寸法は、選定したモデルの寸法(あるいは体形)によって変化する場合があるが、この場合は、骨格画像の各骨格単位の長さを、表示手段に表示されるモデル画像の寸法に合わせて伸縮可能とすることができる。
【0008】
ここで、モデル画像の時間間隔は、教示すべきロボット動作に応じて変化させることができる。例えば、ビデオ画像をコマ送り再生する場合、それら画像のコマは一定の時間間隔で撮影されたものとなるが、比較的単純なモデル動作を教示する場合には、一定枚数のコマを間引くことによって、隣接するモデル画像の時間間隔を大きくすることができる。これにより、教示に必要な画像の枚数が減少して教示作業を効率化することができる。また演算に必要なデータ量が減少するので、ロボット作動時のハードウェアの負担が軽減され、動作の応答性を高めることができる。
【0009】
次に、人型ロボットの骨格の一部のものに対しては教示データ演算手段により、時間軸上において互いに前後するモデル画像に対しそれぞれ入力された骨格画像の変位に基づいて前記骨格単位の教示データを算出する一方、その教示データが算定されないロボットの骨格単位、及びロボット骨格における関節機構や骨格単位によって表される人の各部の名前がつけられたロボット部位に対応して、補助入力手段を設けておくことができる。そして、その補助入力手段により、それらロボットの骨格ないしロボット部位に対しては、その補助入力手段から教示データが個別に入力されることとなる。例えば、モデル画像に位置合わせされた骨格画像からは教示データの生成が困難あるいは不可能なロボット部位(例えば手首、指、目、口等の動き、ランプの点灯など)については、補助入力手段から直接教示データを入力することができ、これによりロボット細部に対するきめ細かい動作の教示が可能となる。
【0010】
ロボットの骨格は、具体的には、関節機構によって結合された複数の骨格単位を含み、それら骨格単位はそれら関節機構に設けられたアクチュエータにより駆動されるように構成することができる。この場合、モデルに対して予め基準姿勢を設定しておき、また、教示データ演算手段に、その基準姿勢のモデル画像に対し位置合わせされた骨格画像に対する各アクチュエータの基準位置を含む基準データを記憶する、基準データ記憶手段を設けることができる。そして教示データ演算手段は、その基準データに基づいて、各時刻における各骨格単位の空間変位を算出し、その変位に基づいて各アクチュエータの駆動量を算出する。
【0011】
次に、モデル画像に対する骨格画像の合わせ位置の入力は、それら各骨格単位上の両端部に予め定められた目印点の、表示手段の表示画面上における位置を指定することにより行うことができる。そのためのより具体的な装置構成として、例えば下記のようなものを例示できる。すなわち、骨格位置決め手段にマウス、トラックボール等のポインティングデバイスを設け、表示手段には、その表示画面上にモデル画像及び骨格画像とともに、そのポインティングデバイスの操作に伴い画面上を移動するポインタを表示させる。そして、骨格画像をモデル画像に対し位置合わせする際には、目印点のうちの位置合わせするべきものを選択し、モデル画像上に設定されるその合わせ位置にポインタを合わせ、ポインティングデバイスに付随する入力部を操作して該目印点の合わせ位置を指定することにより、その位置合わせ後の目印点に対応する位置に、骨格単位が位置合わせされる。このようにすれば、モデル画像に対する骨格画像の位置合わせ操作を、より直接的で理解しやすいものとすることができる。
【0012】
また、複数の骨格単位が組を形成し、その組に含まれる各骨格単位同士の相対的な位置関係に予め定められた拘束条件を設定することができる。そして、その組に属する骨格単位の目印点のうち、その一部のものについてモデル画像に対する合わせ位置の指定を行うことにより、残余の目印点の合わせ位置が、その拘束条件に基づいて定められるように構成することができる。このようにすることで、位置合わせ操作が単純化されて作業時間を短くすることができるほか、ロボット部位に対し構造上あり得ない位置が指定されるといった不都合を未然に防ぐ効果も得られる。
【0013】
ここで、骨格単位に対し、モデル画像に対する位置合わせの順序を予め決めておき、その順序に従って位置合わせの操作を行うようにすることができる。この場合、ある骨格単位の位置合わせ操作が終了した場合には、次に操作を行うべき骨格単位の目印点の色を変えたり点滅させるなど、他の目印点とその表示状態を異ならせるように構成することができる。
【0014】
次に、骨格単位の変位から、骨格単位を駆動するアクチュエータの駆動量を算出する機構であるが、具体的には次のようなものを採用することができる。すなわち、ロボットの骨格の任意の1つの骨格単位(以下、第一骨格単位という)と、その第一骨格単位にアクチュエータを介して結合された第二骨格単位とに対し、教示データ演算手段が、時間軸上で互いに前後する骨格画像の少なくとも一方のものに対し、その第一骨格単位と第二骨格単位とに、回転移動又は並進移動の少なくとも一方を施して、両骨格画像の第一骨格単位同士を互いに重ね合わせる。そして、その重ね合わされた状態で、両骨格画像間における第二骨格単位の変位を算出し、その算出結果に基づいて各アクチュエータの駆動量が算出される。
【0015】
教示データ演算手段は、画像表示手段に2次元的に表示された骨格単位の画像と、既知の寸法を有する標準体の画像とに基づいて、骨格単位の三次元的な位置を算出するものとして構成することができる。
【0016】
上述の動作教示システムには、教示データ演算手段に基づいて演算・生成された教示データを記憶する教示データ記憶手段と、その記憶された教示データを編集する教示データ編集手段を設けることができる。編集手段を用いることにより、生成された教示データの修正や追加あるいは削除を容易に行うことができる。また、教示データを、ロボットの動作の種類、及びロボットの部位毎に設定された編集項目別に編集可能なものとしておけば、ロボットに複雑な一連の動作を行わせる場合でも、動作別あるいは部位別に編集されたロボットの教示データを随時組み合せることにより、その教示データを比較的簡単に作成することができる

【0017】
【実施例】
以下、本発明の一実施例を図面を用いて説明する。
図1は、本発明の動作教示システムの構成例を示すブロック図である。動作教示システム1は、教示データ演算手段を構成するCPU2、ROM3、RAM4を含むシステム制御部5を備え、これに画像取込制御部6、表示制御部7、入力装置インターフェース8、プログラム記憶装置9、教示データ記憶装置10、動画データ記憶装置11が接続されている。そして、入力装置インターフェース8には骨格位置決め手段として、クリックボタン12a(入力部)を備えたマウス12、キーボード13が接続されている。
【0018】
表示制御部7には画像表示手段としてのCRT14が接続されている。一方、画像取込制御部6は、ビデオ再生装置(VTR)15が接続されるとともに、VRAM16とデータ転送用プロセッサ17とを備え、VRAM16に格納された画像表示データが、バス18を介して表示制御部7に直接転送可能とされている。
【0019】
また、CPU2には通信インターフェース152及び153と通信回線150を介して、ロボット動作の試演を行うためのグラフィックシュミレータ(以下、単にシュミレータという)151が接続されている。シュミレータ151は、図2に示すように、CPU154と、これに接続されたROM155、RAM156、VRAM157、表示制御部158、及び入力装置インターフェース160を備え、表示制御部158にはロボット動作の試演動画を表示するCRT159等の表示装置が、また入力装置インターフェース160にはキーボード161等の入力部が接続されている。また、教示システム1と通信するための通信インターフェース153がCPU154に接続されている。
【0020】
次に、動作教示の対象となるロボットは、例えば人間の動きを模写するロボットとして構成することができる。このロボットは、例えば図3に示すような骨格19を有し、関節機構31〜37で互いに接続される下記の骨格単位を備えている。
・頭部20:それぞれ駆動可能な目部20aと口部20cを備え、目部20aには明滅可能なランプ20bが配置される。口部20cは開閉駆動可能とされている。
・肩21、背骨22、腰骨23:これらは、互いに結合されて胴体部を形成している。
・左右の腕部:それぞれ上腕骨24、下腕骨25、手首29を備える。
・左右の脚部:それぞれ上肢骨26、下肢骨27、足首30を備える。
なお、各関節機構31〜37に設けられるアクチュエータの種類(パルスモータ、サーボモータ、ピストンシリンダ等)と軸の本数、軸の回転の自由度、及び軸の回転ないしピストンのスライドの範囲等は各骨格単位毎に個別に設定されている。
【0021】
上記骨格単位のうち、いくつかのものは組を形成し、その組に含まれる各骨格単位同士の相対的な位置関係には予め定められた拘束条件が設定される。例えば、両脚部を構成する骨格単位を例にとれば、図4に示すようにその下肢骨27は、上肢骨26に沿う直線と腰骨23に直角な直線とが作る平面P内のみを動くという拘束条件が設定されている(なお、図4においては、関節機構35及び36(図3)は描いていない)。従って、上肢骨26の上端位置と下肢骨27の下端位置とを指定すれば、両者の結合点(膝に相当する部分)の位置は、上記拘束条件に従って自動的に定まることとなる。このような拘束条件は、プログラム記憶装置9の拘束条件記憶部110(図5)に記憶され、教示データの算出に随時使用される。
【0022】
次に、プログラム記憶装置9には、図5に示す各プログラムが格納されるとともに、必要に応じてCPU2により読み出され、RAM4の所定のエリアに書き込まれて使用される。
(1)動画取込みプログラム90:VTR15で再生されたモデル動作の画像を、画像取込制御部6を介して動画データとして取り込み、光磁気ディスク装置等で構成された動画データ記憶装置11に記憶させる。
(2)モデル画像表示プログラム91:動画データ記憶装置11に記憶された動画データに基づいて、指定されたコマのモデル画像をCRT14に表示させる。
(3)骨格画像表示プログラム92:ロボット骨格19(図3)に対応する骨格画像の画像データを作成し、図19に示すように、そのデータに基づく骨格画像38をモデル画像39とともにCRT14に表示させる。
【0023】
(4)骨格画像位置合わせプログラム94:マウス12を使用して、CRT14に表示された骨格画像38を、モデル画像39に対し重ね合わせてこれを位置合わせする。ここで、CRT14の画面上においてモデル画像39の画面上の寸法に骨格画像38の寸法を合わせ込む処理も本プログラムによって行われる。
(5)変位計算プログラム96:CRT14に2次元的に表示された各骨格単位の画像から、それら骨格単位の実際の空間における3次元的な位置を計算し、それに基づいて時間的に相前後する2つの画像間における各骨格単位の変位を算出する。その算出処理は、各骨格単位毎に用意された寸法既知の標準体を所定の方向から撮影して得られたその標準体画像の寸法と、対応する骨格単位の画面上における寸法とを比較することにより実行される。なお標準体の寸法データは、プログラム記憶装置の標準体寸法データ記憶部112に格納されている。
(6)アクチュエータ駆動量計算プログラム98:上記骨格単位の変位に対応する各アクチュエータの駆動量を算出し、上記変位データとともに教示データ記憶装置10に記憶させる。
【0024】
(7)動作時間設定プログラム100:使用する動画のコマに、ロボット動作の実時間軸上の時間を設定するとともに、隣接するコマの時間間隔から各アクチュエータの駆動速度を算出し、これを教示データの一部として教示データ記憶装置10に記憶させる。
(8)補助入力プログラム102:予め指定された骨格単位ないしロボット部位に対する教示データの補助入力処理を、マウス12ないしキーボード13を使用することにより行う。このような補助入力処理は、骨格画像38とモデル画像との位置合わせ処理による教示データの生成が比較的困難な骨格単位ないし部位に対し適用され、例えば図3に示す頭部20の目部20aや口部20bの動き、目部20aに配置されたランプ20bの明滅等がこれに該当する。一方、いくつかの骨格単位については、特定の動作モードに対してのみ位置合わせ処理による教示データの生成が困難なこともありうるが、そのような場合も、上記方法による教示データの入力が可能である。この方法は、例えば、頭部20aの前後傾、左右傾、回転等、あるいは関節機構33(肘に相当)に対する上腕骨24と下腕骨25の長手方向軸線周りの回転、手首29の回転、指の曲げ状態等に対し適用可能である。なお、このような入力処理は、本実施例では、骨格画像38のモデル画像39に対する位置合わせ処理を行う画面(図19)とは別画面(あるいは別ウィンドウ)を開いて行うようになっている。
【0025】
(9)コマ修正プログラム104:指定されたコマにおいて、骨格画像の位置合わせ処理により入力された教示データの変更修正(例えば骨格単位の位置変更等)を行う。なお、前述の拘束条件で結ばれた骨格単位のいずれかの位置を変更した場合、その拘束条件が破れないように他の骨格単位の位置も自動修正する。
(10)コマ削除・追加プログラム105:指定されたコマのデータを削除し、また、指定されたコマ位置の次に新規教示データ入力を行うコマの追加・挿入を行う。(11)逐次表示プログラム106:各コマの骨格画像を時系列順に、一定の時間間隔で逐次画面に表示する。これにより、骨格画像の大まかな動きの変化を確認することができ、実際のロボット動作の簡易シュミレート手段として利用することができる。
(12)骨格位置固定設定プログラム107:骨格画像38の位置合わせ処理時に、予め指定した骨格単位の位置を固定化する設定を行う。すなわち、教示するべき動作において、特定の骨格単位がほとんど動かないことがわかっている場合には、その骨格単位に対し位置固定の設定を行うことにより、骨格画像38の位置合わせ処理を簡略化することができる。
【0026】
(13)教示データファイル編集プログラム108(教示データ編集手段):教示データを、ロボットの動作の種類やロボットの部位等、予め設定された編集項目別にファイル分割し、ファイル名を付与して教示データ記憶装置10に記憶・保存する。
(14)シュミレータ起動プログラム109:指定されたロボット動作の教示データをグラフィックシュミレータ151に転送し、シュミレータ151側におけるロボット動作の試演(シュミレーション)処理の起動を促す。
【0027】
以下、動作教示システム1における処理の流れをフローチャートを用いて説明する。
図6は処理全体の大まかな流れを示すものであって、次の各処理のいずれかを選択するようになっている。なお、選択時にはCRT14に所定の選択画面がウィンドウ表示され、そこに表示された選択項目をマウス12を用いて選択することにより、個々の処理ウィンドウが開くようになっている。
(1)教示入力(S1000からS1100に向かう処理):モデル画像に対する骨格画像の重ね合わせ処理を行い、教示データを作成する。
(2)教示修正(S2000からS2100に向かう処理):作成された教示データの修正を行う。
(3)教示試演(S3000からS3100に向かう処理):グラフィックシュミレータ151を使用して、ロボット動作の試演を行う。
(4)終了指示(S4000から終了へ向かう処理):処理終了の指示を行う。
【0028】
教示入力が選択された場合はS1100において教示入力処理を行う。ここで、教示入力に先立って、教示する動作を人間のモデルに行わせ、そのモデル画像38が例えば図16に示すように、所定のコマ時間間隔でビデオカメラにより動画撮影される。そして、図1のVTR15により再生されたその動画が、画像取込制御部6を介して動画データとして取り込まれ、動画データ記憶装置11に記憶される。ここで、動画データ記憶装置11に記憶されている動画データは、図17に示すように、モデルが比較的複雑な動きを行っている場合には、そのコマ80の間隔が密になるように、逆に動きが比較的単調な場合にはコマ80の間隔が粗となるように、その動画のコマが、動画データ取り込み時あるいは取り込み後のデータ編集時に適宜間引かれる。
【0029】
図7は、S1100の教示入力処理の詳細を示すフローチャートであって、教示不要な部位(例えば、教示するべき動作を通じてほとんどその動作に関与しない骨格単位や部位)の設定を行なった後(S1101)、図18に示すような、ウィンドウW1及びW2をそれぞれ表示する(S1102、S1103)。このうち、一方のウィンドウW1にはモデル画像39が表示され、他方のウィンドウW2には骨格画像38が表示される。なお、骨格画像38は、図3に示すロボット骨格19を簡略化した線図として表示される。なお、ロボット骨格19の各骨格単位の両端位置は、図18の骨格画像38上で下記のようにインデックスが付与されている。
・頭部20:H、f1。
・肩21:A1、H及びH、A2。
・背骨22:G及びH。ここで、Gは各骨格単位の変位からアクチュエータの駆動量を算出する際の基準位置として採用される。
・腰骨23:L1及びL2 。GがL1とL2を結ぶ線分の中点に位置付けられている。
・上腕骨24、下腕骨25:A1、Ae1、Ah1及びA2、Ae2、Ah2。
・上肢骨26、下肢骨27:L1、Lk1、Lf1及びL2、Lk2、Lf2。
【0030】
図7に戻って、S1104において、ビデオカメラにモデルを正対させて撮影したモデル画像38(図18)に、骨格画像39の寸法を合わせ込む処理を行う。その処理の詳細を図8及び図9に示す。すなわち、正対ポーズのモデル画像38をウィンドウW1に骨格画像39をウィンドウW2に表示し(C101〜103)、各骨格単位の長さをモデル画像の対応部位に合わせ込む(C104)。ここで骨格画像39の各骨格単位に対しては、予め標準寸法が設定されている。その合わせ込みの処理であるが、図9に示すように、まず基準点Gの位置を合わせ込み(C201)、続いてその基準点Gから次第に遠ざかるように、各骨格単位の端点を順次合わせ込んでゆく。
【0031】
ここで、モデル画像38に対し、骨格画像39の端点を合わせ込むための入力方法であるが、図18に示すように、ウィンドウW2上には各端点が目印点として表示され、また、ウィンドウW1上にはマウス12の移動に伴い画面上を移動するポインタ40が表示される。目印点の合わせ込みは、G点から始まって次第に骨格の末端へ向かう方向に、予め設定された順序で行われるようになっており、ウィンドウW2に表示された骨格画像38上において、次に合わせ込みを行うべき端点が点滅してこれを知らせるようになっている。そして、ウィンドウW1上のモデル画像38上の指定するべき位置にポインタ40を合わせ、マウス12のクリックボタンを操作することにより、ウィンドウW2上で点滅表示された端点の、モデル画像38上での重ね位置が確定され、それとすでに確定されている端点の位置に基づいて、各骨格単位の長さが順次計算されてゆく(C202〜C210)。また、長さが定められた骨格単位は、ウィンドウW1のモデル画像38に対し順次重ね描画されてゆく。
【0032】
ここで、正対ポーズにおけるモデル画像38はほぼ左右対称であることから、上腕骨24と下腕骨25、ならびに上肢骨26と下肢骨27(図3)の各端点は、左右いずれか一方のものが位置決めされれば、他方のものも自動的に位置決めされるように処理が行われる。また、頭部20を表すH及びF1間の距離は、頭部20以外の骨格単位についてその算出された寸法と標準寸法とを比較し、その比率と頭部20の標準寸法とに基づいて定められる(C210)。なお、ウィンドウW1に予め設定された標準寸法の骨格画像を、モデル画像38とともに表示し、そのウィンドウW1上で骨格画像の各骨格単位の端点をモデル画像38に合わせ込む処理を行ってもよい。この場合、ウィンドウW2は省略することも可能である。次に、図8に戻り、算出された骨格単位の寸法に合わせて、正対ポーズの骨格画像38をウィンドウW1に再描画した後(C105)、図7のS1105に進む。ここで、正対ポーズに対応する骨格画像38に対しては、各アクチュエータの駆動位置が基準データとして予め設定されており、その設定内容がプログラム記憶装置9の基準データ記憶部113に格納されている。
【0033】
続いて、S1105〜S1109において、骨格画像38の位置合わせを行う動画のコマ番号を指定することにより、そのコマのモデル画像のデータが取り込まれ、骨格画像の位置合わせ処理(骨格画像入力)に移る。図10〜図12は、その位置合わせ処理(S1109)の内容の詳細を示すフローチャートである。すなわち、図10のC301〜C305に示すように、取り込んだコマのモデル画像39に対し、G点から始めて次第に遠ざかる方向に、骨格画像38の各端点の位置をモデル画像39に対し合わせ込んでゆく。その入力例を図19に示しているが、手順は前述の寸法合わせ処理の場合とほぼ同様であり、ウィンドウW2上で点滅表示される端点のウィンドウW1での合わせ位置をマウス12で指定しながら、モデル画像39に対する位置合わせ入力を行ってゆく。この場合も、ウィンドウW1上のモデル画像39に対し、位置合わせの終わった部分から順に骨格画像38が重ね描画されてゆく。ここで、左右の脚部及び腕部については、前述の寸法合わせ処理とは異なり、個々に入力処理が行われることとなる。なお、S1101(図7)において設定された教示不要部位については、位置合わせ入力がスキップされる。
【0034】
図11は、一例として、両脚部に相当する部位の位置合わせ処理の流れを示しており、右脚部及び左脚部のそれぞれについて、上肢骨26の上端点L1(L2)の位置合わせを行った後、下肢骨27の下端点Lf1(Lf2)の位置合わせが行われるようになっている(C410〜C403)。ここで、図4に示す拘束条件により、L1(L2)及びLf1(Lf2)が指定されれば、膝に相当するLk1(Lk2)の位置は自動的に定まるので入力は行われない。このようにして、各端点の画面上の座標が算出され、その画面座標と各骨格単位の標準体寸法データ112(図5)に基づいて実際の空間における端点の3次元座標が算出される。
【0035】
次に、図7に戻ってS1110に進み、上記位置合わせ処理では教示データの生成が困難なないし不可能な骨格単位ないし部位に対し、それらの空間位置の補助入力処理を、マウス12ないしキーボード13を使用することにより行う。この入力処理は、上記位置合わせ処理とは別のウィンドウを開き、そのウィンドウ上に該当する骨格単位ないし部位の画像を表示して、位置設定のために予め用意された各種処理コマンド(例えば骨格単位の平行移動、あるいは回転など)を、マウス12あるいはキーボード13からの入力により選択・実行しながら、骨格単位や部位毎に個別に入力を行ってゆく。
【0036】
以上で、1つのコマに対する教示入力処理が終了するが、次のコマの処理に移る場合はコマ番号を更新し、直前のコマの骨格画像38及びモデル画像39を描画しなおすとともに(S1111〜S1113)、S1107に返って処理を繰り返す。一方、コマへの入力作業を終了する場合は(S1114〜S1116)、ウィンドウW1とW2を閉じて図6のS1200に進む。
【0037】
S1200では、上記教示入力により得られた、各コマ毎の骨格単位の端点の空間位置座標に基づいて、骨格単位を駆動するアクチュエータの駆動量を駆動データとして算出する処理が行われる。すなわち、図12に示すように、隣り合う2枚のコマの番号を指定して、その各骨格単位の端点の空間位置座標を読み込み、その空間位置座標に基づいて各骨格単位間に設けられたアクチュエータの駆動量が算出される(C501〜C503)。
【0038】
その算出方法を図20に模式的に示している。例えば、図20(a)示すように、点Gを固定として、先順のコマNpにおけるL1、Lk1の位置が後順のコマNsにおいて、L1’、Lk1’に移った場合、(b)に示すように、G−L1−Lk1の角度を固定するとともに、線分GL1及び線分L1Lk1(それぞれ請求項でいう第一骨格単位及び第二骨格単位)に回転移動を施し、線分GL1を線分GL1’に重ね合わせる。そして、回転移動後の各点の空間座標から、コマNp側の線分L1Lk1と、コマNs側の線分L1’Lk1’とのなす角度θを算出することにより、両骨格単位の間に配置されたアクチュエータの各軸の回転角度を求めることができる。このような骨格単位の回転移動(場合によっては並進移動)と第二骨格単位の回転角度を求める処理を、G点から骨格の末端へ向かう方向に順次施してゆけば、各関節機構に含まれるアクチュエータの駆動量が順次算出されることとなる。
【0039】
ここで、最初のコマの骨格画像が正対ポーズのものでない場合は、基準データ記憶部113(図5)に格納されたアクチュエータの基準位置をもとに、その最初のコマに対する各アクチュエータの駆動位置を算出しておけばよい。なお、以上の説明では、アクチュエータはモータで構成されており、第一及び第二の骨格単位同士はそのモータ軸の回転により、相対的な回転運動のみを行うものとしたが、ピストンロッド等をアクチュエータとした場合は、そのピストンの伸縮により骨格単位間で相対的な並進運動が行われる場合もある。そのような場合は、第二骨格単位の回転角度の他、並進移動距離も算出するようにする。なお、このようなアクチュエータの駆動量の算出は、必ずしも教示の段階で行う必要はなく、例えば骨格単位の端点の変位データのみを教示の段階で算出しておくようにしてもよい。そして、それを用いた駆動量の計算は、ロボット駆動時にその動作の進行に合わせて逐次行い、結果を順次ロボットのアクチュエータ駆動制御部に与えるようにすることができる。また、変位データの算出は、互いに隣接するモデル画像を用いて行なう態様の他、ある基準時刻における共通のモデル画像と各時刻におけるモデル画像とを使用して算出するようにしてもよい。
【0040】
次に、図6のS1300に進み、入力が終わった各コマに対しロボット動作の実時間軸上の時間を設定する。その処理の詳細を図13のフローチャートに示す。すなわち、時間設定用のウィンドウを開いて骨格画像データをコマ番号順に読み出し、ウィンドウ内に骨格画像を順次表示しながら時間入力を行ってゆく(C601〜C605)。そして、C6051において、直前のコマとの時間間隔から各アクチュエータの駆動速度を算出し、C606において、その時間間隔で全てのアクチュエータが駆動完了できるかどうかを判定する。完了できるようであれば、C607でその入力された時間及びアクチュエータ駆動速度を格納し、C608でコマ番号をインクリメントしてC603に戻り、処理を繰り返す。また、駆動完了できないようであればC605に戻って時間入力をやり直す。そして、時間の入力処理が終わるとC612でウィンドウを閉じて図6のS1400に進む。
【0041】
S1400では、最終的に得られた教示データを教示データ記憶装置10に記憶・保存する。その処理の流れは図14に示す通りであって、データ全体のファイル名を、そのデータの動作名で入力し、次に予め定められたロボット部位の分類(例えば拘束条件で結ばれる骨格単位の組、独立した骨格単位、骨格単位以外の部位など)に従い、部位毎のサブファイル名を入力する(C701、C702)。これを受けて、教示データはその部位別のサブファイルに分割され、それぞれ入力されたサブファイル名が付与されるとともに(C703)、入力された動作名で指定される記憶装置10のディレクトリに保存される(C704)。これら各部位毎のサブファイルは、実際にロボットの駆動に使用する際には必要なものがファイル結合されて、ロボット作動のプログラムに組み込まれることとなる。一方、異なる動作のデータのサブファイルでも、そのデータ形式を統一しておけば、サブファイルを適当に選んで組合せたり、ある動作のサブファイルを別の動作のサブファイルに転用したりすること等が可能となる。
【0042】
次に、このようにして作成された教示データの修正を行いたい場合には、図6のS2000以下の処理が実行される。まず、S2100で動作名入力により教示データのファイルを指定し、S2200でそのデータが読み込まれる。そして、S2300でその修正処理が行われるが、その処理の詳細は図15に示されている。まず、修正入力用ウィンドウ(図19等に示す教示入力用のウィンドウと同型式)を開き(C801、C802)、先順のコマのものから順に骨格画像データが読み込まれて、ウィンドウに骨格画像が描かれる(C803、C804)。そして、コマの修正、コマの削除、コマの追加、コマの逐次表示等、修正のために用意された処理メニューから、所望の項目を選択して、その項目に対応する処理を行うこととなる。
【0043】
すなわち、コマ修正を選択した場合は、表示されたコマの骨格画像の修正(例えば、骨格単位の重ね位置の変更など)が行われる(C808、C809)。また、コマ削除を選択した場合は表示されたコマの削除が行われ(C810、C811)、コマの追加が選択された場合は、表示されたコマの次に新規のコマを挿入し、教示入力時と同様の操作・処理により骨格画像のモデル画像への重ね入力等が行われ(C812、C813 )。さらに、コマの逐次表示が選択された場合には、各コマの骨格画像を時系列順に、一定の時間間隔で逐次ウィンドウに表示する処理が行われる(C814、C815)。そして、処理が終了すれば、C817でコマ番号を更新してC805に返り、処理を繰り返す。また、処理が終わればC818でウィンドウを閉じて図6のS2400に進む。S2400では、修正、追加、削除されたコマの前後で、教示データの再計算・更新を行い、S2500でこれを保存して処理を終了する。
【0044】
次に、作成した教示データに基づいて、グラフィックシュミレータ151により、実際のロボットの動きを試演することができる。この場合は、S3000以下の処理となるが、まずS3100で試演させたい動作名を入力すると、S3200でその動作の試演処理が開始される。その処理の概略であるが、まずその動作名で保存されている教示データを読み出して、これを試演開始命令信号とともにグラフィックシュミレータ151側へ転送する。グラフィックシュミレータ151はこれを受けて、ROM155(図2)に格納されたロボット画像データ生成プログラム155aによりロボットの画像を合成し、受信した教示データに基づいてシュミレートプログラム155bにより、CRT159にロボット動作試演の動画を表示する。なお、キーボード161からの入力により、試演動画を早送りあるいはスロー再生したり、あるいは特定の部位の動きを拡大表示するなど、画像のコントロールを行うようにすることができる。なお、グラフィックシュミレータ15は省略してもよい。
【図面の簡単な説明】
【図1】本発明の教示システムの一構成例を示すブロック図。
【図2】グラフィックシュミレータの構成を示すブロック図。
【図3】ロボット骨格の模式図。
【図4】骨格の脚部に対する拘束条件の説明図。
【図5】プログラム記憶装置の内容を示す説明図。
【図6】教示システムの全体の処理の流れを示すフローチャート。
【図7】教示入力処理のフローチャート。
【図8】教示入力処理において、骨格単位長さを定める処理の流れを示すフローチャート。
【図9】同じく、各骨格単位の端点の位置合わせ処理の流れを示すフローチャート。
【図10】同じく、骨格の端点の座標を算出する処理の流れを示すフローチャート。
【図11】同じく、脚部を作る骨格単位の端点の座標を算出する処理の流れを示すフローチャート。
【図12】同じく、教示データ算出の流れを示すフローチャート。
【図13】同じく、時間入力処理の流れを示すフローチャート。
【図14】同じく、教示データ保存処理の流れを示すフローチャート。
【図15】教示修正処理の流れを示すフローチャート。
【図16】動画のコマの模式図。
【図17】コマの時間軸上における配列の一例を示す模式図。
【図18】正対モデルに対する骨格画像の寸法合わせ処理の説明図。
【図19】モデル画像に対する骨格画像の位置合わせ処理の説明図
【図20】アクチュエータの駆動量を算出する方法の説明図。
【符号の説明】
1 動作教示システム
5 システム制御部(教示データ演算手段)
6 画像取込制御部
7 表示制御部
9 プログラム記憶装置
10 教示データ記憶装置
12 マウス(骨格位置決め手段)
14 CRT(画像表示手段)
19 ロボット骨格
31〜37 関節機構
38 骨格画像
39 モデル画像
40 ポインタ
90 動画取り込みプログラム
91 モデル画像表示プログラム
92 骨格画像表示プログラム
94 骨格画像位置合わせプログラム
96 変位計算プログラム
98 アクチュエータ駆動量計算プログラム
100 動作時間設定プログラム
102 補助入力プログラム
104 コマ修正プログラム
105 コマ削除・追加プログラム
106 逐次表示プログラム
108 骨格単位固定設定プログラム
109 教示データファイル編集プログラム
110 拘束条件記憶部
112 標準体寸法データ記憶部
[0001]
[Industrial application fields]
The present invention relates to a robot motion teaching system.
[0002]
[Prior art]
Conventionally, as a method for teaching a robot to perform an operation, for example, for each part of the robot, the origin is set at the operation start position of the part, and then the part is manually driven to the end position of the operation, or manually. In this method, the part is moved to the end position to determine the operating range (displacement) of the corresponding actuator, and this is taken in as teaching data.
[0003]
[Problems to be solved by the invention]
In the above method, in order to teach one operation, it is necessary to determine the displacement of each actuator for each part of the robot, which increases the number of steps for teaching and requires a lot of time and labor. There's a problem. Further, only the displacement of each actuator is considered as teaching data, and the spatial position and movement of each part cannot be directly determined. Therefore, the spatial position of each part to achieve the desired movement is determined by trial and error while changing the displacement of each actuator. For example, a subtle and complicated movement such as a human gesture is copied. In some cases, the robot operation tends to be unnatural and awkward.
[0004]
The problem of the present invention is that the teaching work is simple and easy to understand and can be performed efficiently, and even if the robot operation realized based on the teaching content is delicate and complicated, it can be smoothly performed. It is an object of the present invention to provide a robot motion teaching system that can be performed.
[0005]
[Means for Solving the Problems]
In order to solve the above problems, the motion teaching system of the present invention includes the following requirements. The robot teaching data is converted into data from a series of modeled human movements recorded over time. It is characterized by that.
(1) Image display means: a series of model images in which movements of a person who becomes a model corresponding to the movements of the humanoid robot to be taught are recorded over time and the skeleton of the robot Display as a diagram Images (hereinafter referred to as skeleton images) Put together indicate.
(2) Skeletal positioning means: On the image display means, the joint mechanism and the skeleton unit of the skeleton image of the humanoid robot are recorded at a specific time in the model image in which the movement of the person who becomes the model is recorded over time. The image can be configured to be superimposed and aligned with the image.
(3) Teach data calculation means: The skeleton positioning means applies the model images that are adjacent to each other on the time axis between the images at a specific time in the series of model images recorded over time. , The skeleton image Each aligned Make an image and its Based on the displacement of the skeleton image, either the displacement data of the skeleton unit of the humanoid robot, the rotation angle data between the skeleton units via the joint mechanism, or the actuator driving amount data for driving the skeleton unit of the humanoid robot. Calculated as robot teaching data.
[0006]
For example, let the model actually perform the action to be taught, record it as a series of images, and align the robot's skeleton image with each of these images, so that a specific time of the model action that changes over time Each time, positioning of the skeleton image with respect to the model image is performed, and the teaching data of the robot is calculated based on the skeletal displacement between adjacent images, for example, adjacent images. Therefore, by sampling the model image at an appropriate time interval, the model movement can be converted into data more faithfully than the conventional method, and as a result, the robot performs a natural and smooth motion based on the data. Can be made. The work content for teaching is easy to understand because the operation of aligning the skeleton image with the model image on the screen of the image display means is easy to understand, and it is necessary to determine the drive amount of the actuator for each part of the robot. This eliminates the teaching man-hours.
[0007]
For example, for a robot that replicates human movements, let the human model perform the movements that are to be taught, record it as a moving picture using a shooting means such as a video camera, and play back the moving picture on the image display means. However, a skeleton image alignment operation may be performed for each frame of the moving image. Here, the size of the recorded model image may vary depending on the size (or body shape) of the selected model. In this case, the length of each skeleton unit of the skeleton image is displayed on the display means. It can be expanded and contracted according to the dimensions of the model image.
[0008]
Here, the time interval of the model image can be changed according to the robot operation to be taught. For example, when video images are played back frame-by-frame, the frames of the images are taken at a certain time interval. However, when teaching a relatively simple model operation, a certain number of frames are thinned out. The time interval between adjacent model images can be increased. As a result, the number of images required for teaching can be reduced and teaching work can be made more efficient. In addition, since the amount of data required for the calculation is reduced, the burden on hardware during operation of the robot is reduced, and the responsiveness of the operation can be improved.
[0009]
next, Humanoid For some robot skeletons , Based on the displacement of the skeleton image respectively input to the model images that move back and forth on the time axis by the teaching data calculation means Of the skeleton unit While calculating teaching data, The teaching data is not calculated Robot skeleton unit, as well as Names of human parts represented by joint mechanisms and skeleton units in the robot skeleton Auxiliary input means can be provided corresponding to the robot part. And by the auxiliary input means, Them robot Skeleton Or robot of The teaching data is individually input from the auxiliary input means to the part. For example, for a robot part (eg movement of wrist, finger, eye, mouth, etc., lighting of a lamp, etc.) where it is difficult or impossible to generate teaching data from the skeleton image aligned with the model image, the auxiliary input means Direct teaching data can be directly input, which enables detailed motion teaching to robot details.
[0010]
Specifically, the skeleton of the robot includes a plurality of skeleton units connected by a joint mechanism, and the skeleton units can be configured to be driven by an actuator provided in the joint mechanism. In this case, a reference posture is set in advance for the model, and reference data including a reference position of each actuator with respect to the skeleton image aligned with the model image of the reference posture is stored in the teaching data calculation means. Reference data storage means can be provided. The teaching data calculation means calculates the spatial displacement of each skeleton unit at each time based on the reference data, and calculates the driving amount of each actuator based on the displacement.
[0011]
Next, the input of the alignment position of the skeleton image with respect to the model image can be performed by designating the positions on the display screen of the display means of the predetermined mark points at both ends on each skeleton unit. As a more specific device configuration for that purpose, for example, the following can be exemplified. That is, a pointing device such as a mouse or a trackball is provided in the skeleton positioning means, and the display means displays a pointer that moves on the screen as the pointing device is operated along with the model image and the skeleton image on the display screen. . Then, when aligning the skeleton image with the model image, the mark point to be aligned is selected, the pointer is aligned with the alignment position set on the model image, and attached to the pointing device. By operating the input unit and designating the alignment position of the mark point, the skeleton unit is aligned at the position corresponding to the mark point after the alignment. In this way, the alignment operation of the skeleton image with respect to the model image can be made more direct and easy to understand.
[0012]
Further, a plurality of skeleton units form a set, and a predetermined constraint condition can be set for the relative positional relationship between the skeleton units included in the set. Then, by specifying the alignment position with respect to the model image for some of the mark points of the skeleton units belonging to the set, the alignment positions of the remaining mark points are determined based on the constraint conditions. Can be configured. In this way, the positioning operation can be simplified and the working time can be shortened, and the effect of preventing the inconvenience of designating a position that cannot be structurally specified for the robot part can be obtained.
[0013]
Here, with respect to the skeleton unit, the order of alignment with respect to the model image can be determined in advance, and the alignment operation can be performed according to the order. In this case, when the alignment operation of a certain skeleton unit is completed, the display state of the skeleton unit to be operated next is changed or blinked, such as changing the color of the mark point of the skeleton unit or blinking. Can be configured.
[0014]
Next, a mechanism for calculating the drive amount of the actuator that drives the skeleton unit from the displacement of the skeleton unit, specifically, the following can be employed. That is, for any one skeleton unit of the skeleton of the robot (hereinafter referred to as the first skeleton unit) and the second skeleton unit coupled to the first skeleton unit via an actuator, the teaching data calculation means includes: At least one of the first skeleton unit and the second skeleton unit is subjected to at least one of rotational movement or translational movement for at least one of the skeleton images that are mutually before and after on the time axis, and the first skeleton unit of both skeleton images Overlap each other. Then, the displacement of the second skeleton unit between both skeleton images is calculated in the superimposed state, and the drive amount of each actuator is calculated based on the calculation result.
[0015]
The teaching data calculation means calculates the three-dimensional position of the skeleton unit based on the image of the skeleton unit displayed two-dimensionally on the image display means and the standard image having a known size. Can be configured.
[0016]
The operation teaching system described above can be provided with teaching data storage means for storing teaching data calculated and generated based on teaching data calculation means, and teaching data editing means for editing the stored teaching data. By using the editing means, it is possible to easily correct, add, or delete the generated teaching data. Also, if the teaching data can be edited according to the type of robot operation and the edit items set for each robot part, even if the robot performs a complex series of actions, By combining edited robot teaching data as needed, the teaching data can be created relatively easily.
.
[0017]
【Example】
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration example of an operation teaching system of the present invention. The motion teaching system 1 includes a system control unit 5 including a CPU 2, a ROM 3, and a RAM 4 that constitute teaching data calculation means, and further includes an image capture control unit 6, a display control unit 7, an input device interface 8, and a program storage device 9. The teaching data storage device 10 and the moving image data storage device 11 are connected. The input device interface 8 is connected with a mouse 12 having a click button 12a (input unit) and a keyboard 13 as skeleton positioning means.
[0018]
A CRT 14 as an image display means is connected to the display control unit 7. On the other hand, the image capture control unit 6 is connected to a video playback device (VTR) 15 and includes a VRAM 16 and a data transfer processor 17, and the image display data stored in the VRAM 16 is displayed via the bus 18. Direct transfer to the control unit 7 is possible.
[0019]
Further, a graphic simulator (hereinafter simply referred to as a simulator) 151 for performing a robot motion demonstration is connected to the CPU 2 via communication interfaces 152 and 153 and a communication line 150. As shown in FIG. 2, the simulator 151 includes a CPU 154, a ROM 155, a RAM 156, a VRAM 157, a display control unit 158, and an input device interface 160 connected to the CPU 154. A display device such as a CRT 159 is displayed, and an input unit such as a keyboard 161 is connected to the input device interface 160. A communication interface 153 for communicating with the teaching system 1 is connected to the CPU 154.
[0020]
Next, the robot that is the target of motion teaching can be configured as a robot that replicates human movement, for example. This robot has a skeleton 19 as shown in FIG. 3, for example, and includes the following skeleton units connected to each other by joint mechanisms 31 to 37.
Head 20: Each has an eye 20a and a mouth 20c that can be driven, and a blinking lamp 20b is disposed on the eye 20a. The opening 20c can be opened and closed.
-Shoulder 21, spine 22 and hip bone 23: these are joined together to form a torso.
Left and right arm portions: each includes a humerus 24, a humerus 25, and a wrist 29.
-Left and right leg portions: each includes an upper limb bone 26, a lower limb bone 27, and an ankle 30.
The types of actuators (pulse motors, servo motors, piston cylinders, etc.) provided in each joint mechanism 31 to 37, the number of shafts, the degree of freedom of shaft rotation, the range of shaft rotation or piston slide, etc. It is set individually for each skeletal unit.
[0021]
Some of the skeleton units form a set, and a predetermined constraint condition is set for the relative positional relationship between the skeleton units included in the set. For example, taking the skeleton unit constituting both legs as an example, the lower limb bone 27 moves only in a plane P formed by a straight line along the upper limb bone 26 and a straight line perpendicular to the hip bone 23 as shown in FIG. Restriction conditions are set (in FIG. 4, the joint mechanisms 35 and 36 (FIG. 3) are not drawn). Therefore, if the upper end position of the upper limb bone 26 and the lower end position of the lower limb bone 27 are designated, the position of the coupling point between them (the portion corresponding to the knee) is automatically determined according to the constraint conditions. Such constraint conditions are stored in the constraint condition storage unit 110 (FIG. 5) of the program storage device 9 and used as needed for calculation of teaching data.
[0022]
Next, each program shown in FIG. 5 is stored in the program storage device 9, read out by the CPU 2 as necessary, and written into a predetermined area of the RAM 4 for use.
(1) Movie capture program 90: The image of the model operation reproduced by the VTR 15 is captured as movie data via the image capture control unit 6 and stored in the movie data storage device 11 constituted by a magneto-optical disk device or the like. .
(2) Model image display program 91: The model image of the designated frame is displayed on the CRT 14 based on the moving image data stored in the moving image data storage device 11.
(3) Skeletal image display program 92: Creates image data of a skeleton image corresponding to the robot skeleton 19 (FIG. 3), and displays the skeleton image 38 based on the data together with the model image 39 on the CRT 14 as shown in FIG. Let
[0023]
(4) Skeletal image alignment program 94: Using the mouse 12, the skeleton image 38 displayed on the CRT 14 is superimposed on the model image 39 and aligned. Here, the process of matching the size of the skeleton image 38 with the size of the model image 39 on the screen of the CRT 14 is also performed by this program.
(5) Displacement calculation program 96: From the image of each skeleton unit displayed two-dimensionally on the CRT 14, the three-dimensional position of the skeleton unit in the actual space is calculated, and based on this, the time sequence follows. The displacement of each skeleton unit between two images is calculated. The calculation process compares the size of the standard body image obtained by photographing a standard body of known dimensions prepared for each skeleton unit from a predetermined direction and the size of the corresponding skeleton unit on the screen. Is executed. The standard body dimension data is stored in the standard body dimension data storage unit 112 of the program storage device.
(6) Actuator drive amount calculation program 98: The drive amount of each actuator corresponding to the displacement of the skeleton unit is calculated and stored in the teaching data storage device 10 together with the displacement data.
[0024]
(7) Operation time setting program 100: Sets the time on the real time axis of the robot operation to the moving image frame to be used, calculates the driving speed of each actuator from the time interval of adjacent frames, and uses this as teaching data Is stored in the teaching data storage device 10.
(8) Auxiliary input program 102: Performs auxiliary input processing of teaching data for a skeleton unit or robot part designated in advance by using the mouse 12 or the keyboard 13. Such an auxiliary input process is applied to a skeleton unit or region where teaching data is relatively difficult to generate by the alignment process between the skeleton image 38 and the model image. For example, the eye 20a of the head 20 shown in FIG. And the movement of the mouth portion 20b, the blinking of the lamp 20b disposed in the eye portion 20a, and the like. On the other hand, for some skeleton units, it may be difficult to generate teaching data by alignment processing only for a specific operation mode. In such a case, teaching data can be input by the above method. It is. This method includes, for example, forward / backward tilt, left / right tilt, rotation, etc. of the head 20a, rotation around the longitudinal axis of the humerus 24 and lower humerus 25 with respect to the joint mechanism 33 (corresponding to the elbow), rotation of the wrist 29, finger It is applicable to the bending state of In this embodiment, such input processing is performed by opening a screen (or another window) different from the screen (FIG. 19) for performing the alignment processing of the skeleton image 38 with respect to the model image 39. .
[0025]
(9) Frame correction program 104: The specified frame is changed and corrected (for example, the position of the skeleton unit is changed) in the teaching data input by the skeleton image alignment process. In addition, when the position of any of the skeleton units connected under the above-described constraint conditions is changed, the positions of the other skeleton units are automatically corrected so that the constraint conditions are not violated.
(10) Frame deletion / addition program 105: Deletes the data of the designated frame, and adds / inserts a frame for inputting new teaching data after the designated frame position. (11) Sequential display program 106: The skeleton images of each frame are sequentially displayed on the screen at regular time intervals in time series order. As a result, it is possible to confirm a rough change in the motion of the skeleton image, and it can be used as a simple simulation means for actual robot operation.
(12) Skeletal position fixing setting program 107: A setting for fixing the position of a skeleton unit designated in advance at the time of alignment processing of the skeleton image 38 is performed. That is, in the operation to be taught, when it is known that a specific skeleton unit hardly moves, the position fixing process is performed for the skeleton unit, thereby simplifying the alignment process of the skeleton image 38. be able to.
[0026]
(13) Teaching data file editing program 108 (teaching data editing means): Teaching data is divided into files according to preset editing items such as robot operation types and robot parts, and teaching data is given file names. Store / save in the storage device 10.
(14) Simulator activation program 109: The teaching data of the designated robot operation is transferred to the graphic simulator 151, and the activation of the robot operation trial (simulation) processing on the simulator 151 side is prompted.
[0027]
Hereinafter, the flow of processing in the motion teaching system 1 will be described with reference to flowcharts.
FIG. 6 shows a rough flow of the entire process, and one of the following processes is selected. At the time of selection, a predetermined selection screen is displayed in a window on the CRT 14, and each processing window is opened by selecting a selection item displayed there using the mouse 12.
(1) Teach input (processing from S1000 to S1100): A skeleton image is superimposed on a model image to create teaching data.
(2) Teach correction (processing from S2000 to S2100): The created teaching data is corrected.
(3) Teaching demonstration (processing from S3000 to S3100): Using the graphic simulator 151, a robot motion is demonstrated.
(4) Termination instruction (processing from S4000 to termination): A process termination instruction is issued.
[0028]
If teaching input is selected, teaching input processing is performed in S1100. Here, prior to teaching input, the teaching operation is performed on a human model, and the model image 38 is captured by a video camera at predetermined frame time intervals as shown in FIG. 16, for example. Then, the moving image reproduced by the VTR 15 of FIG. 1 is captured as moving image data via the image capturing control unit 6 and stored in the moving image data storage device 11. Here, as shown in FIG. 17, the moving image data stored in the moving image data storage device 11 is arranged so that the intervals of the frames 80 are close when the model moves relatively complicatedly. On the contrary, when the motion is relatively monotonous, the frame of the moving image is appropriately thinned out when capturing the moving image data or editing the data after the capturing so that the interval between the frames 80 becomes coarse.
[0029]
FIG. 7 is a flowchart showing the details of the teaching input process of S1100, after setting a part that does not require teaching (for example, a skeleton unit or a part that is hardly involved in the action through the action to be taught) (S1101). As shown in FIG. 18, windows W1 and W2 are respectively displayed (S1102, S1103). Among these, the model image 39 is displayed in one window W1, and the skeleton image 38 is displayed in the other window W2. The skeleton image 38 is displayed as a simplified diagram of the robot skeleton 19 shown in FIG. The both end positions of each skeleton unit of the robot skeleton 19 are indexed as follows on the skeleton image 38 of FIG.
-Head 20: H, f1.
-Shoulder 21: A1, H and H, A2.
-Spine 22: G and H. Here, G is adopted as a reference position when the driving amount of the actuator is calculated from the displacement of each skeleton unit.
-Hipbone 23: L1 and L2. G is positioned at the midpoint of the line segment connecting L1 and L2.
The humerus 24 and the humerus 25: A1, Ae1, Ah1 and A2, Ae2, Ah2.
Upper limb bone 26 and lower limb bone 27: L1, Lk1, Lf1 and L2, Lk2, Lf2.
[0030]
Returning to FIG. 7, in S1104, a process of matching the size of the skeleton image 39 with the model image 38 (FIG. 18) taken with the model facing the video camera is performed. Details of the processing are shown in FIGS. That is, the model image 38 of the facing pose is displayed in the window W1 and the skeleton image 39 is displayed in the window W2 (C101 to 103), and the length of each skeleton unit is matched with the corresponding part of the model image (C104). Here, standard dimensions are set in advance for each skeleton unit of the skeleton image 39. As shown in FIG. 9, first, the position of the reference point G is aligned (C201), and then the end points of each skeleton unit are sequentially aligned so as to gradually move away from the reference point G. Go out.
[0031]
Here, the input method is to match the end points of the skeleton image 39 to the model image 38. As shown in FIG. 18, each end point is displayed as a mark point on the window W2, and the window W1. A pointer 40 that moves on the screen as the mouse 12 moves is displayed above. The alignment of the mark points is performed in a preset order in the direction starting from the point G and gradually toward the end of the skeleton. Next, the alignment is performed on the skeleton image 38 displayed in the window W2. The end point that should be included is blinking to notify this. Then, the pointer 40 is moved to the position to be specified on the model image 38 on the window W1 and the click button of the mouse 12 is operated, so that the end points blinked on the window W2 are superimposed on the model image 38. The position is determined, and the length of each skeletal unit is sequentially calculated based on the positions of the already determined end points (C202 to C210). Further, the skeletal unit having a predetermined length is sequentially drawn on the model image 38 of the window W1.
[0032]
Here, since the model image 38 in the facing pose is substantially bilaterally symmetric, each of the end points of the humerus 24 and the lower humerus 25 and the upper limb bone 26 and the lower limb bone 27 (FIG. 3) is either left or right. If is positioned, processing is performed so that the other is automatically positioned. The distance between H and F1 representing the head 20 is determined based on the ratio and the standard dimension of the head 20 by comparing the calculated dimensions and standard dimensions of the skeleton units other than the head 20. (C210). Alternatively, a process may be performed in which a skeleton image having a standard size set in advance in the window W1 is displayed together with the model image 38, and the end points of each skeleton unit of the skeleton image are aligned with the model image 38 on the window W1. In this case, the window W2 can be omitted. Next, returning to FIG. 8, after redrawing the skeleton image 38 of the facing pose in the window W1 in accordance with the calculated size of the skeleton unit (C105), the process proceeds to S1105 in FIG. Here, with respect to the skeleton image 38 corresponding to the facing pose, the driving position of each actuator is preset as reference data, and the setting contents are stored in the reference data storage unit 113 of the program storage device 9. Yes.
[0033]
Subsequently, in S1105 to S1109, by specifying the frame number of the moving image for aligning the skeleton image 38, the model image data of the frame is captured, and the process proceeds to the skeleton image alignment process (skeleton image input). . 10 to 12 are flowcharts showing details of the contents of the alignment processing (S1109). That is, as shown in C301 to C305 in FIG. 10, the position of each end point of the skeleton image 38 is aligned with the model image 39 in the direction starting from the point G and gradually moving away from the captured frame model image 39. . An example of the input is shown in FIG. 19, but the procedure is substantially the same as in the case of the dimension adjustment process described above, and the mouse 12 specifies the alignment position in the window W1 of the end point blinking on the window W2. Then, alignment input for the model image 39 is performed. In this case as well, the skeleton image 38 is drawn over the model image 39 on the window W1 in order from the part where the alignment is completed. Here, the left and right leg portions and arm portions are individually subjected to input processing, unlike the above-described dimension matching processing. Note that the registration input is skipped for the teaching unnecessary part set in S1101 (FIG. 7).
[0034]
FIG. 11 shows, as an example, the flow of position alignment processing corresponding to both leg portions, and the upper end point L1 (L2) of the upper limb bone 26 is aligned for each of the right leg portion and the left leg portion. After that, the lower end point Lf1 (Lf2) of the lower limb bone 27 is aligned (C410 to C403). Here, if L1 (L2) and Lf1 (Lf2) are designated by the constraint condition shown in FIG. 4, the position of Lk1 (Lk2) corresponding to the knee is automatically determined, and no input is performed. In this way, the coordinates on the screen of each end point are calculated, and the three-dimensional coordinates of the end points in the actual space are calculated based on the screen coordinates and the standard body size data 112 (FIG. 5) of each skeleton unit.
[0035]
Next, returning to FIG. 7 and proceeding to S1110, auxiliary input processing of the spatial position is performed on the skeleton unit or part for which it is difficult or impossible to generate teaching data by the above alignment processing. By using. In this input process, a window different from the alignment process is opened, an image of the corresponding skeleton unit or region is displayed on the window, and various processing commands (for example, skeleton unit) prepared in advance for position setting are displayed. Are input individually for each skeletal unit or region, while selecting and executing the translation, rotation, etc.) by input from the mouse 12 or the keyboard 13.
[0036]
This completes the teaching input process for one frame. However, when the process proceeds to the next frame, the frame number is updated, and the skeleton image 38 and model image 39 of the immediately preceding frame are redrawn (S1111 to S1113). ), Return to S1107 and repeat the process. On the other hand, when the input operation to the frame is to be ended (S1114 to S1116), the windows W1 and W2 are closed and the process proceeds to S1200 in FIG.
[0037]
In S1200, a process of calculating the drive amount of the actuator that drives the skeleton unit as drive data is performed based on the spatial position coordinates of the end points of the skeleton unit for each frame obtained by the teaching input. That is, as shown in FIG. 12, by designating the numbers of two adjacent frames, the spatial position coordinates of the end points of each skeleton unit are read, and provided between the skeleton units based on the spatial position coordinates. The driving amount of the actuator is calculated (C501 to C503).
[0038]
The calculation method is schematically shown in FIG. For example, as shown in FIG. 20A, when the point G is fixed and the positions of L1 and Lk1 in the preceding frame Np move to L1 ′ and Lk1 ′ in the subsequent frame Ns, the process proceeds to (b). As shown, the angle of G-L1-Lk1 is fixed, the line segment GL1 and the line segment L1Lk1 (the first skeleton unit and the second skeleton unit in the claims) are rotationally moved, and the line segment GL1 is displayed as a line. Overlay the minute GL1 '. Then, by calculating the angle θ formed by the line segment L1Lk1 on the frame Np side and the line segment L1′Lk1 ′ on the frame Ns side from the spatial coordinates of each point after the rotational movement, it is arranged between both skeleton units. The rotation angle of each axis of the actuator can be obtained. If such a rotational movement (in some cases translational movement) of the skeleton unit and a process for obtaining the rotation angle of the second skeleton unit are sequentially performed in the direction from the point G to the end of the skeleton, each joint mechanism is included. The drive amount of the actuator is sequentially calculated.
[0039]
Here, when the skeleton image of the first frame is not a face-to-face pose, each actuator is driven with respect to the first frame based on the reference position of the actuator stored in the reference data storage unit 113 (FIG. 5). What is necessary is just to calculate a position. In the above description, the actuator is composed of a motor, and the first and second skeleton units perform only relative rotational motion by rotation of the motor shaft. In the case of an actuator, relative translational movement may be performed between the skeleton units due to expansion and contraction of the piston. In such a case, the translational movement distance is calculated in addition to the rotation angle of the second skeleton unit. It should be noted that such calculation of the driving amount of the actuator is not necessarily performed at the teaching stage. For example, only the displacement data of the end points of the skeleton unit may be calculated at the teaching stage. Then, the calculation of the drive amount using this can be sequentially performed according to the progress of the operation when the robot is driven, and the result can be sequentially given to the actuator drive control unit of the robot. Further, the displacement data may be calculated using a common model image at a certain reference time and a model image at each time in addition to a mode in which the model images are adjacent to each other.
[0040]
Next, the process proceeds to S1300 in FIG. 6, and the time on the real time axis of the robot operation is set for each frame for which input has been completed. Details of the processing are shown in the flowchart of FIG. That is, the time setting window is opened, the skeleton image data is read in the frame number order, and the time is input while the skeleton images are sequentially displayed in the window (C601 to C605). Then, in C6051, the driving speed of each actuator is calculated from the time interval with the immediately preceding frame, and in C606, it is determined whether or not the driving of all actuators can be completed at that time interval. If it can be completed, the input time and actuator drive speed are stored in C607, the frame number is incremented in C608, the process returns to C603, and the process is repeated. If the driving cannot be completed, the process returns to C605 and the time is input again. When the time input process is completed, the window is closed at C612 and the process proceeds to S1400 in FIG.
[0041]
In S1400, the finally obtained teaching data is stored / saved in the teaching data storage device 10. The flow of the processing is as shown in FIG. 14. The file name of the entire data is input as the operation name of the data, and then the robot part classification (for example, the skeleton unit connected by the constraint condition) is determined. The subfile name for each part is input according to a group, an independent skeleton unit, a part other than the skeleton unit, etc. (C701, C702). In response to this, the teaching data is divided into subfiles for each part, given the input subfile names (C703), and stored in the directory of the storage device 10 specified by the input operation name. (C704). As for the subfiles for each part, those necessary for actual use for driving the robot are combined into a file and incorporated into the robot operation program. On the other hand, if the data format of the subfiles for different operations is unified, the subfiles can be selected and combined appropriately, or the subfile for one operation can be used as a subfile for another operation. Is possible.
[0042]
Next, when it is desired to correct the teaching data created in this way, the processing after S2000 in FIG. 6 is executed. First, a teaching data file is designated by inputting an operation name in S2100, and the data is read in S2200. Then, the correction process is performed in S2300, and details of the process are shown in FIG. First, the correction input window (same type as the teaching input window shown in FIG. 19 and the like) is opened (C801, C802), and the skeleton image data is read in order from the previous frame, and the skeleton image is displayed in the window. It is drawn (C803, C804). Then, a desired item is selected from a processing menu prepared for correction, such as frame correction, frame deletion, frame addition, and frame sequential display, and processing corresponding to the item is performed. .
[0043]
That is, when the frame correction is selected, the skeleton image of the displayed frame is corrected (for example, changing the overlapping position of the skeleton unit) (C808, C809). In addition, when the frame deletion is selected, the displayed frame is deleted (C810, C811). When the addition of a frame is selected, a new frame is inserted after the displayed frame, and teaching input is performed. The skeleton image is overlaid on the model image by the same operation and processing as the time (C812, C813). Furthermore, when the sequential display of frames is selected, a process of displaying the skeleton images of each frame sequentially on the window at a certain time interval in time series order is performed (C814, C815). When the process is completed, the frame number is updated in C817, the process returns to C805, and the process is repeated. When the process is completed, the window is closed at C818 and the process proceeds to S2400 in FIG. In S2400, the teaching data is recalculated / updated before and after the frame that has been corrected, added, or deleted, and in S2500, this is saved, and the process ends.
[0044]
Next, based on the created teaching data, the graphic simulator 151 can be used to test the actual robot movement. In this case, the processing from S3000 is performed, but first, when an operation name desired to be performed in S3100 is input, the operation demonstration processing is started in S3200. The outline of the process is as follows. First, the teaching data stored under the operation name is read out and transferred to the graphic simulator 151 side together with the trial start command signal. In response to this, the graphic simulator 151 synthesizes the robot image by the robot image data generation program 155a stored in the ROM 155 (FIG. 2), and the CRT 159 performs the robot operation demonstration by the simulation program 155b based on the received teaching data. Display a video. In addition, it is possible to control the image by fast-forwarding or slow-playing the trial moving image, or displaying an enlarged movement of a specific part by inputting from the keyboard 161. The graphic simulator 15 may be omitted.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example of a teaching system according to the present invention.
FIG. 2 is a block diagram showing a configuration of a graphic simulator.
FIG. 3 is a schematic diagram of a robot skeleton.
FIG. 4 is an explanatory diagram of a constraint condition for a leg portion of a skeleton.
FIG. 5 is an explanatory diagram showing the contents of a program storage device.
FIG. 6 is a flowchart showing the overall processing flow of the teaching system.
FIG. 7 is a flowchart of teaching input processing.
FIG. 8 is a flowchart showing a flow of processing for determining a skeleton unit length in teaching input processing;
FIG. 9 is a flowchart showing the flow of end point alignment processing for each skeleton unit.
FIG. 10 is a flowchart showing the flow of processing for calculating the coordinates of the end points of the skeleton.
FIG. 11 is a flowchart showing the flow of processing for calculating the coordinates of the end points of the skeleton unit that forms the leg portion.
FIG. 12 is a flowchart showing the flow of teaching data calculation.
FIG. 13 is a flowchart showing the flow of time input processing in the same manner.
FIG. 14 is a flowchart showing the flow of teaching data storage processing.
FIG. 15 is a flowchart showing the flow of teaching correction processing.
FIG. 16 is a schematic diagram of a moving image frame.
FIG. 17 is a schematic diagram illustrating an example of an arrangement of frames on a time axis.
FIG. 18 is an explanatory diagram of a skeleton image size matching process for a directly-facing model.
FIG. 19 is an explanatory diagram of a skeleton image alignment process with respect to a model image;
FIG. 20 is an explanatory diagram of a method for calculating the drive amount of an actuator.
[Explanation of symbols]
1 Operation teaching system
5 System controller (Teaching data calculation means)
6 Image capture control unit
7 Display controller
9 Program storage device
10 Teaching data storage device
12 Mouse (skeleton positioning means)
14 CRT (image display means)
19 Robot skeleton
31-37 Joint mechanism
38 Skeletal images
39 Model image
40 pointer
90 Movie import program
91 Model image display program
92 Skeletal image display program
94 Skeletal image alignment program
96 Displacement calculation program
98 Actuator drive amount calculation program
100 Operating time setting program
102 Auxiliary input program
104 frame correction program
105 frame deletion / addition program
106 Sequential display program
108 Skeletal unit fixed setting program
109 Teaching data file editing program
110 Restraint condition storage unit
112 Standard body size data storage

Claims (10)

ロボットは関節機構とその関節機構で互いに接続された骨格単位で構成するロボットの骨格によって人型を表しており、
教示すべきこの人型ロボットの動作に対応するモデルとなる人の動作を経時的に記録した一連のモデル画像と前記ロボットの骨格を線図として表示する画像(以下、骨格画像という)とを合わせ込んで表示する画像表示手段を設け、
その画像表示手段において、人型ロボットの骨格画像の関節機構や骨格単位を、前記モデルとなる人の動作を経時的に記録したモデル画像の内の特定の時刻の画像に対して重ね合わせて位置合わせする骨格位置決め手段と、
この経時的に記録した一連のモデル画像の内の特定の時刻の画像間による時間軸上において、その互いに前後するモデル画像に対し、前記骨格位置決め手段によって、前記骨格画像がそれぞれ位置合わせされた画像を作り、その骨格画像の変位に基づいて、前記人型ロボットの骨格単位の変位データ、関節機構を介した骨格単位の間の回転角度データ又は人型ロボットの骨格単位を駆動するアクチュエータ駆動量データのいずれかを、前記ロボットの教示データとして演算する教示データ演算手段と、
を含み、経時的に記録した一連のモデルとなる人の動きをロボットの教示データとしてデータ化することを特徴とするロボットの動作教示システム。
A robot represents a human form by a skeleton of a robot composed of a joint mechanism and a skeleton unit connected to each other by the joint mechanism,
Image to be displayed as a series of model images recorded over time the operation of the person who made a model corresponding to the operation of the humanoid robot should teach the skeleton of the robot as a line diagram (hereinafter, referred to as skeleton image) and the combined an image display means for crowded in view is provided,
In the image display means, the joint mechanism or skeleton unit of the skeleton image of the humanoid robot is superimposed on the image at a specific time in the model image in which the movement of the person who becomes the model is recorded over time. Skeleton positioning means to be matched;
On the time axis by between specific times of the image of the recorded over time with a series of model image, to model images before and after each other, by the skeleton positioning means, an image in which the skeleton image is respectively aligned Based on the displacement of the skeleton image, the displacement data of the skeleton unit of the humanoid robot, the rotation angle data between the skeleton units via the joint mechanism, or the actuator driving amount data for driving the skeleton unit of the humanoid robot Any of the above, teaching data calculation means for calculating as teaching data of the robot,
Only including, over time the robot operation teaching system, characterized in that data of the recorded series of models to become human motion into a robot of the teaching data.
前記モデル画像の時間軸上の間隔は、教示すべき前記ロボット動作に応じて変化するものとされる請求項1記載の動作教示システム。The motion teaching system according to claim 1, wherein an interval on the time axis of the model image changes according to the robot motion to be taught. 前記人型ロボットの骨格の一部のものに対しては、前記教示データ演算手段により、前記時間軸上において互いに前後するモデル画像に対しそれぞれ入力された前記骨格画像の変位に基づいて前記骨格単位の教示データが算定されるとともに、
その教示データが算定されないロボットの骨格単位、及び前記ロボット骨格における関節機構や骨格単位によって表される人の各部の名前がつけられたロボット部位に対応して補助入力手段が設けられ、その補助入力手段により、それらロボットの骨格ないしロボットの部位の教示データが個別に入力されている請求項1又は2に記載の動作教示システム。
For a part of the skeleton of the humanoid robot, the skeleton unit is determined based on the displacement of the skeleton image respectively input to the model images that are moved back and forth on the time axis by the teaching data calculation unit. Teaching data is calculated,
Auxiliary input means are provided corresponding to the robot skeleton unit for which the teaching data is not calculated, and the robot part with the name of each part of the person represented by the joint mechanism or skeleton unit in the robot skeleton. 3. The motion teaching system according to claim 1 , wherein teaching data of the robot skeleton or the robot part is individually input by the means.
前記人型ロボットの骨格は関節機構によって結合された複数の骨格単位で構成されており、それら骨格単位はその関節機構に設けられたアクチュエータにより駆動されるものとされ、さらに、
前記モデルに対して予め基準姿勢が設定され、
前記教示データ演算手段は、
その基準姿勢のモデル画像に位置合わせされた前記骨格画像に対する、前記各アクチュエータの基準位置を含む基準データを記憶する基準データ記憶手段を備え、その基準データに基づいて、各時刻における前記各骨格単位の変位データを算出するものとされる請求項1ないし3のいずれかに記載の動作教示システム。
The skeleton of the humanoid robot is composed of a plurality of skeleton units connected by a joint mechanism, and these skeleton units are driven by an actuator provided in the joint mechanism.
A reference posture is set in advance for the model,
The teaching data calculation means includes
Reference data storage means for storing reference data including a reference position of each actuator with respect to the skeleton image aligned with the model image of the reference posture, and based on the reference data, each skeleton unit at each time The motion teaching system according to claim 1 , wherein the displacement data is calculated .
前記モデル画像に対する前記骨格画像の位置合わせのための入力は、前記各骨格単位上の両端部に予め定められた目印点の、前記表示手段の表示画面上における位置を指定することにより行われる請求項記載の動作教示システム。 Input for alignment of the skeletal images for the model image, said predetermined landmark points at both ends on each backbone units, Ru performed by specifying a position on the display screen of the display means The operation teaching system according to claim 4 . 複数の前記骨格単位が組を形成し、その組に含まれる各骨格単位同士の相対的な位置関係に予め定められた拘束条件が設定され、当該組に属する骨格単位の各目印点のうち、その一部のものについて前記モデル画像に対する合わせ位置の指定を行うことにより、残余の目印点の合わせ位置は、前記拘束条件に基づいて定められるものとされている請求項5記載の動作教示システム。 A plurality of the skeleton units form a set, a predetermined constraint condition is set for the relative positional relationship between the skeleton units included in the set, and among the mark points of the skeleton units belonging to the set, by performing the specified align with respect to the model image for that of the part, alignment of the remaining landmark point, the operation teaching system according to claim 5 that is shall be determined based on the constraint conditions. 前記骨格位置決め手段はマウス、トラックボール等のポインティングデバイスを備え、前記表示手段は、その表示画面上に前記モデル画像及び前記骨格画像とともに、前記ポインティングデバイスの操作に伴い該画面上を移動するポインタを表示するものとされ、前記骨格画像を前記モデル画像に対し位置合わせする際には、前記目印点のうち位置合わせするべきものを選択し、前記モデル画像上に設定されるその合わせ位置に前記ポインタを合わせ、前記ポインティングデバイスに付随する入力部を操作して前記目印点の合わせ位置を指定することにより、その位置合わせ後の目印点に対応する位置に 、前記骨格単位が位置合わせされる請求項5又は記載の動作教示システム。 The skeleton positioning means includes a pointing device such as a mouse and a trackball, and the display means includes a pointer that moves on the display screen along with the model image and the skeleton image as the pointing device is operated. When the skeleton image is aligned with the model image, the mark point to be aligned is selected and the pointer is set to the alignment position set on the model image. the combined, by specifying the alignment of the mark point by operating an input unit associated with the pointing device, the position corresponding to the mark points after the positioning, claims the framework units Ru aligned The operation teaching system according to 5 or 6. 前記ロボットの骨格の任意の1つの骨格単位(以下、第一骨格単位という)と、その第一骨格単位にアクチュエータを介して結合された第二骨格単位とに対し、前記教示データ演算手段は、前記時間軸上で互いに前後する骨格画像の少なくとも一方のものに対し、その前記第一骨格単位と前記第二骨格単位とに、回転移動又は並進移動の少なくとも一方を施して、両骨格画像の第一骨格単位同士を互いに重ね合わせるとともに、その重ね合わされた状態で、前記両骨格画像間における前記第二骨格単位の変位を算出し、その算出結果に基づいて、前記アクチュエータの駆動量を算出するものとされる請求項4ないし7のいずれかに記載の動作教示システム。 For any one skeleton unit of the skeleton of the robot (hereinafter referred to as a first skeleton unit) and a second skeleton unit connected to the first skeleton unit via an actuator, the teaching data calculation means includes: At least one of the first skeleton unit and the second skeleton unit is subjected to at least one of rotational movement or translational movement for at least one of the skeletal images moving forward and backward with respect to each other on the time axis. One skeleton unit is overlapped with each other, and in the overlapped state, the displacement of the second skeleton unit between the two skeleton images is calculated, and the driving amount of the actuator is calculated based on the calculation result operation teaching system according to any of claims 4 to 7 are. 前記教示データ演算手段は、前記画像表示手段に2次元的に表示された前記骨格単位の画像と、既知の寸法を有する標準体の画像とに基づいて、該骨格単位の3次元的な位置を算出するものとされる請求項ないし8のいずれかに記載の動作教示システム。 The teaching data calculation means calculates a three-dimensional position of the skeleton unit based on the image of the skeleton unit two-dimensionally displayed on the image display means and a standard image having a known size. The motion teaching system according to claim 4 , wherein the motion teaching system is calculated. 前記教示データ演算手段により演算された教示データを記憶する教示データ記憶手段と、その記憶された教示データを、前記ロボットの動作の種類、及び前記ロボットの部位毎に設定された編集項目別に編集する教示データ編集手段を含む請求項ないし9のいずれかに記載の動作教示システム。The teaching data storage means for storing the teaching data calculated by the teaching data calculation means , and the stored teaching data are edited according to the type of operation of the robot and the editing items set for each part of the robot. operation teaching system according to any one of claims 1 to 9 including the teaching data editing means.
JP14814995A 1995-05-22 1995-05-22 Robot motion teaching system Expired - Fee Related JP3668289B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14814995A JP3668289B2 (en) 1995-05-22 1995-05-22 Robot motion teaching system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14814995A JP3668289B2 (en) 1995-05-22 1995-05-22 Robot motion teaching system

Publications (2)

Publication Number Publication Date
JPH08314527A JPH08314527A (en) 1996-11-29
JP3668289B2 true JP3668289B2 (en) 2005-07-06

Family

ID=15446364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14814995A Expired - Fee Related JP3668289B2 (en) 1995-05-22 1995-05-22 Robot motion teaching system

Country Status (1)

Country Link
JP (1) JP3668289B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220080683A (en) * 2020-12-07 2022-06-14 정영규 Ai skeleton annotation system interface and method for generating posture data for learning

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW384249B (en) * 1997-08-22 2000-03-11 Sony Corp Structure describing method for robot, robot device, and constituting component for robot
JP4765155B2 (en) 2000-09-28 2011-09-07 ソニー株式会社 Authoring system, authoring method, and storage medium
JP5865192B2 (en) * 2012-06-27 2016-02-17 株式会社神戸製鋼所 Teaching data editing system and program
WO2015117641A1 (en) * 2014-02-05 2015-08-13 Abb Technology Ltd A system and method for defining motions of a plurality of robots cooperatively performing a show
JP2017107503A (en) * 2015-12-11 2017-06-15 株式会社リコー Information processing apparatus, information processing method, program, and system
JP6295313B1 (en) * 2016-12-02 2018-03-14 株式会社ドワンゴ Information processing apparatus, information processing method, and program
CN111002289B (en) * 2019-11-25 2021-08-17 华中科技大学 Robot online teaching method, device, terminal device and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237703A (en) * 1988-03-18 1989-09-22 Hitachi Ltd Robot teaching device
JPH077304B2 (en) * 1989-06-16 1995-01-30 株式会社安川電機 Robot offline teaching method
JPH0320870A (en) * 1989-06-19 1991-01-29 Pfu Ltd How to register and search image information
JPH04217480A (en) * 1990-12-17 1992-08-07 Nippon Telegr & Teleph Corp <Ntt> Teaching device for motion procedure of robot
JPH04279979A (en) * 1990-12-25 1992-10-06 Kongouzen Souhonzan Shiyourinji Motion analyzing method
JPH05305590A (en) * 1992-04-30 1993-11-19 Mitsubishi Heavy Ind Ltd Robot teaching device
JP3132156B2 (en) * 1992-05-22 2001-02-05 本田技研工業株式会社 Gait generator for legged mobile robot

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220080683A (en) * 2020-12-07 2022-06-14 정영규 Ai skeleton annotation system interface and method for generating posture data for learning
KR102680661B1 (en) * 2020-12-07 2024-07-03 정영규 Ai skeleton annotation system interface and method for generating posture data for learning

Also Published As

Publication number Publication date
JPH08314527A (en) 1996-11-29

Similar Documents

Publication Publication Date Title
US5692117A (en) Method and apparatus for producing animated drawings and in-between drawings
US7561160B2 (en) Data editing program, data editing method, data editing apparatus and storage medium
EP2043049A2 (en) Facial animation using motion capture data
EP1435280B1 (en) A method and a system for programming an industrial robot
JP3668289B2 (en) Robot motion teaching system
US20160328887A1 (en) Systems and methods for providing assistance for manipulating objects using virtual proxies and virtual replicas
EP0827115B1 (en) Animation control apparatus and method
Kuroki et al. Motion creating system for a small biped entertainment robot
US20050280644A1 (en) Image processing method, image processing apparatus, image processing program, and storage medium
JP2008030136A (en) Apparatus and method for compiling action of robot, as well as computer/program
JP4039595B2 (en) Robot system
EP1329852A1 (en) Video information producing device
JP2820639B2 (en) Robot control method and robot system
JP3995348B2 (en) Robot system
JP2001067488A (en) Image processor and method for image processing, and storage medium
JPH10340354A (en) Action generator, action control method and storage medium stored with program for executing the same
JP3672723B2 (en) Person CG production method
JPS62269205A (en) Off-line teaching system for robot
CN110782533B (en) System for virtual role interaction control in virtual previewing
CN116503522A (en) Interactive picture rendering method, device, equipment, storage medium and program product
JPH06274577A (en) Information processor with operating history output function
JPH0741569B2 (en) Object motion control system
CN100361074C (en) Visualized 3D graphics control programming method
JPH0844908A (en) Three-dimensional image processing device and three-dimensional image processing method
JP2010253640A (en) Posture data input device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040802

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050408

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120415

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120415

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130415

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130415

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees