JPH08314524A - Control method for robot and robot system - Google Patents

Control method for robot and robot system

Info

Publication number
JPH08314524A
JPH08314524A JP14815095A JP14815095A JPH08314524A JP H08314524 A JPH08314524 A JP H08314524A JP 14815095 A JP14815095 A JP 14815095A JP 14815095 A JP14815095 A JP 14815095A JP H08314524 A JPH08314524 A JP H08314524A
Authority
JP
Japan
Prior art keywords
skeleton
data
robot
drive
actuator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP14815095A
Other languages
Japanese (ja)
Other versions
JP2820639B2 (en
Inventor
Kenji Kamiya
賢治 神谷
Yuichiro Ichioka
祐一朗 市岡
Megumi Takano
恵 高野
Teruo Kato
輝雄 加藤
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 JP7148150A priority Critical patent/JP2820639B2/en
Publication of JPH08314524A publication Critical patent/JPH08314524A/en
Application granted granted Critical
Publication of JP2820639B2 publication Critical patent/JP2820639B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PURPOSE: To provide a robot system which can easily execute the programming of a high-order robot operation including a series of low-order operations and the rewriting of it. CONSTITUTION: The robot system 1 is provided with a program storage part 205, a program read means 204 and an actuator operation control part 212. A high-order operation program regulated by the combination of middle-order operation commands is stored in a program storage part 207. A middle-order operation routine constituted integrally of plural pieces of low-order operation data in units of driving data of actuators 213 provided for plural robot parts is stored in the storage part 207 in accordance with the middle-order operation commands. The program read means 204 reads the high-order operation program in the unit of the middle-order operation command. An actuator operation control part 212 controls the driving of the actuators 213 based on the combination of the middle-order operation routines corresponding to the respective middle-order operation commands.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はロボットの制御方法及び
ロボットシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot control method and robot system.

【0002】[0002]

【従来の技術】人間の動きを模写するロボット等、各種
多関節ロボットに所定の動作を行わせる場合、その動作
をプログラミングするために、従来はロボットを駆動す
る各アクチュエータの駆動量を、動作の時系列に従って
個別に設定する方法がとられている。この場合、あるロ
ボットの動作において、複数のロボット部位の動きが同
時にあるいは連係して起こる場合、それらロボット部位
毎にアクチュエータの駆動量を指定しなければならな
い。例えば、「歩く」という動作を例にとれば、これに
は両足の動きの他に、腕の振りや肩の上下といった動作
が付随しており、それら各部の動作のプログラムが個別
に組み立てられる。そして、「1歩前に進み出て礼を
し、そのまま下がってもとの場所に帰る」というよう
な、より複雑な上位動作をプログラミングする場合は、
その上位動作を、「1歩前に進み出る」、「礼をす
る」、「1歩下がる」という下位動作に分解してプログ
ラミング作業が行われる。
2. Description of the Related Art When various articulated robots, such as a robot that imitates human movements, perform predetermined movements, conventionally, in order to program the movements, the drive amount of each actuator for driving the robots is changed. The method of setting individually according to the time series is adopted. In this case, when the movements of a plurality of robot parts occur simultaneously or in association with each other in the operation of a certain robot, it is necessary to specify the drive amount of the actuator for each robot part. For example, in the case of an action of "walking", this involves movements of both legs, as well as movements of an arm and shoulders up and down, and the programs for the movements of the respective parts are individually assembled. And if you want to program a more complicated higher-level action, such as "Go ahead one step, thank you, and then go back to the original place",
The programming operation is performed by decomposing the higher-order motions into lower-order motions such as "go ahead one step", "give thanks", and "fall one step".

【0003】[0003]

【発明が解決しようとする課題】上記従来の方法は、ロ
ボット部位毎に多数のアクチュエータの駆動量やその作
動順序をいちいち設定しなければならないので、プログ
ラミング作業に時間がかかり、複雑な上位動作のプログ
ラムを効率よく作成するの適しているとはいい難い。ま
た、上位動作の内容を変更したい場合には、各アクチュ
エータの駆動量レベルでプログラムないしデータを書き
換えなければならず、その作業に時間がかかる。すなわ
ち、ロボットの動作内容の変更がそれほど容易でないた
め、ロボットの各種動作への融通性に欠ける難点があ
る。
In the above-mentioned conventional method, since the driving amount of a large number of actuators and the operation order of the actuators must be set for each robot part, it takes a long time to perform programming work, and complicated high-order operation is required. It is hard to say that it is suitable for writing programs efficiently. Further, when it is desired to change the contents of the higher-order operation, the program or data must be rewritten at the drive amount level of each actuator, which takes time. That is, since it is not so easy to change the operation content of the robot, there is a drawback in that it lacks flexibility in various operations of the robot.

【0004】本発明の課題は、一連の下位動作を含む上
位のロボット動作のプログラミングやその書換えを容易
に行うことができ、ひいてはロボットに多様な動作を比
較的簡単に行なわせることができるロボットの制御方法
及びロボットシステムを提供することにある。
An object of the present invention is to provide a robot capable of easily programming and rewriting an upper robot motion including a series of lower motions, and thus allowing the robot to perform various motions relatively easily. It is to provide a control method and a robot system.

【0005】[0005]

【課題を解決するための手段】上述の課題を解決するた
めに本発明のロボットの制御方法は、複数のロボット部
位に設けられたアクチュエータの駆動に関する駆動デー
タを単位として下位動作データを形成し、その下位動作
データを複数統合してロボットの基本動作を規定する中
位動作ルーチンを構築し、それら各中位動作ルーチンに
中位動作コマンドを対応させ、その中位動作コマンドの
組み合わせにより上位動作プログラムを規定し、その上
位動作プログラムを中位動作コマンドの単位で読み出し
つつ、その読み出された各中位動作コマンドに対応する
中位動作ルーチンの組み合わせに基づいて、アクチュエ
ータの駆動を制御することを特徴とする。
In order to solve the above-mentioned problems, a robot control method of the present invention forms subordinate operation data in units of drive data relating to the drive of actuators provided in a plurality of robot parts, A plurality of lower-order movement data are integrated to build a middle-order movement routine that defines the basic movements of the robot, a middle-order movement command is associated with each middle-order movement routine, and a higher-order movement program is created by combining the middle-order movement commands. Is specified, and the drive of the actuator is controlled based on the combination of the middle-order operation routines corresponding to the read middle-order operation commands while reading the higher-order operation program in units of the middle-order operation commands. Characterize.

【0006】また、上記制御方法に基づく本発明のロボ
ットシステムは、下記の要件を含むことを特徴とする。 プログラム記憶部:中位動作コマンドの組み合わせに
より規定される上位動作プログラムを記憶する。中位動
作コマンドは、ロボットの基本動作を規定する中位動作
ルーチンに対応するものであり、その中位動作ルーチン
は、複数のロボット部位に設けられたアクチュエータの
駆動に関する駆動データを単位とする下位動作データが
複数統合されて構築される。 プログラム読出手段:プログラム記憶部に記憶された
中位動作コマンドの単位で上位動作プログラムを読み出
す。 アクチュエータ動作制御部:読み出された各中位動作
コマンドに対応する中位動作ルーチンの組み合わせに基
づいて、アクチュエータの駆動を制御する。
A robot system of the present invention based on the above control method is characterized by including the following requirements. Program storage unit: Stores an upper operation program defined by a combination of middle operation commands. The middle-level motion command corresponds to a middle-level motion routine that defines the basic motion of the robot, and the middle-level motion routine is a low-order unit in which drive data relating to the driving of actuators provided in a plurality of robot parts is used as a unit. It is constructed by integrating multiple motion data. Program reading means: Reads out a higher-order operation program in units of middle-order operation commands stored in the program storage section. Actuator operation control unit: Controls the drive of the actuator based on a combination of the medium-level operation routines corresponding to the read medium-level operation commands.

【0007】上記構成の制御方法及びロボットシステム
においては、例えば「1歩前に進み出て礼をし、1歩下
がってもとの場所に戻る」という上位動作のプログラム
は、「1歩進む」、「礼をする」、「1歩下がる」とい
う中位動作にそれぞれ対応する中位動作コマンドの組み
合わせとして規定される。そして、例えば「1歩進む」
という中位動作の場合、「脚の踏み出し」、「腕の振
り」のような下位動作を、各ロボット部位のアクチュエ
ータの駆動データを単位とする下位動作データで記述し
ておき、その下位動作データを複数統合することによ
り、中位動作ルーチンが一種のモジュールとして構築さ
れる。
In the control method and the robot system configured as described above, for example, the program of the higher operation of "go ahead one step and thank you, and return to the original place even if you step back one step", "take one step", It is defined as a combination of middle-level motion commands corresponding to the middle-level motions of "give thanks" and "one step down", respectively. And, for example, "take one step"
In the case of the middle-level motion, the lower-level motion data such as "stepping on the leg" and "arm swing" is described in the lower-level motion data in units of the drive data of the actuator of each robot part, and the lower-level motion data is described. By integrating a plurality of, the middle level operation routine is constructed as a kind of module.

【0008】このような中位動作ルーチン(モジュー
ル)を予め必要な数だけ用意しておけば、上位動作のプ
ログラムは、対応する中位動作コマンドを適宜組み合わ
せるだけで作成でき、複雑な一連の動作でも比較的簡単
にプログラミングできる。また、プログラムの内容は、
中位動作コマンドの追加、削除、入れ替え等を行うだけ
で容易に書き換えることができ、上位動作の内容変更や
修正が容易である。さらに、上位動作のプログラムは中
位動作コマンドを主体に構成されるので容量が小さく、
多数の上位動作プログラムを用意する必要がある場合で
も、ディスクやメモリの占有量が少なくてすみ、そのイ
ンストール作業も簡便である。
If a required number of such middle-level operation routines (modules) are prepared in advance, a program for higher-level operation can be created by simply combining the corresponding middle-level operation commands, and a complicated series of operations can be performed. But programming is relatively easy. Also, the contents of the program are
It can be easily rewritten simply by adding, deleting, or replacing the middle-level operation command, and the contents of the higher-level operation can be easily changed or modified. Furthermore, since the program for higher-level operation is composed mainly of medium-level operation commands, its capacity is small,
Even if it is necessary to prepare a large number of higher-level operation programs, the amount of disk and memory occupied is small, and the installation work is simple.

【0009】ここで、プログラム記憶部に記憶された中
位動作コマンドの組み合わせに基づく上位動作プログラ
ムに対し、その中位動作コマンドの組み替え、追加、削
除の少なくともいずれかを指令して上位動作プログラム
の書換えを行う、上位動作プログラム書換手段を設ける
ことができる。
Here, at least one of rearrangement, addition, and deletion of the middle-order operation command is instructed to the higher-order operation program based on the combination of the middle-order operation commands stored in the program storage unit. A high-order operation program rewriting means for rewriting can be provided.

【0010】次に、下位動作データを形成する駆動デー
タは、アクチュエータの駆動量を算出するための駆動量
算出用データとすることができ、これに対応してアクチ
ュエータ動作制御部は、その駆動量算出用データに基づ
いて、そのロボット部位に含まれるアクチュエータの駆
動量をそれぞれ算出し、その算出された駆動量に基づい
てアクチュエータの駆動を制御する算出・駆動制御手段
を備えたものとして構成することができる。このように
すれば、アクチュエータの駆動量はロボット動作の進行
に伴い逐次的に算出されるので、プログラム記憶部に各
アクチュエータの全ての駆動量データを予め記憶してお
く必要がなくなり、全体のデータ量を減少させることが
できる。ここで、算出・駆動手段を各ロボット部位毎に
設けておき、さらに、中位動作ルーチンに基づく下位動
作データの実行に伴い、駆動量算出用データを算出・駆
動制御手段にそれぞれ送信するデータ送信手段を設ける
こともできる。このようにすれば、アクチュエータの駆
動量の算出がロボット部位毎に並行して行われるので、
アクチュエータ駆動の応答性を高めることができる。
Next, the drive data forming the lower order operation data can be drive amount calculation data for calculating the drive amount of the actuator. In response to this, the actuator operation control section causes the drive amount to be calculated. The driving amount of the actuator included in the robot part is calculated based on the calculation data, and the driving amount of the actuator is controlled based on the calculated driving amount. You can By doing so, the drive amount of the actuator is sequentially calculated as the robot operation progresses, so that it is not necessary to previously store all the drive amount data of each actuator in the program storage unit, and the entire data The amount can be reduced. Here, the calculation / driving means is provided for each robot part, and further, the data transmission for transmitting the driving amount calculation data to the calculation / driving control means with the execution of the lower-order movement data based on the middle-order movement routine. Means can also be provided. In this way, the drive amount of the actuator is calculated in parallel for each robot part,
The response of the actuator drive can be improved.

【0011】次に、複数のロボット部位のうちの少なく
とも一部のものを、複数の骨格単位とそれら骨格単位の
間に配置されたアクチュエータとを有する骨格を備える
ものとすることができる。この場合、そのロボット部位
に対応する駆動量算出用データは、ロボット動作の各時
間毎の各骨格単位の変位データを含むものとすることが
できる。そして、算出・駆動制御手段は、骨格単位の、
時間的に相前後する変位データに基づいて、その骨格単
位に対応するアクチュエータの駆動量を算出するものと
することができる。また、さらに具体的には、骨格の任
意の1つの骨格単位(以下、第一骨格単位という)と、
その第一骨格単位にアクチュエータを介して結合された
第二骨格単位とに対し、算出・駆動制御手段が以下のよ
うに駆動量の算出を行うものとすることができる。すな
わち、相前後する時刻における、第一骨格単位と第二骨
格単位との位置に対し、回転移動又は並進移動の少なく
とも一方を施して、それら各時刻における第一骨格単位
同士を重ね合わせる処理を行う。そして、その状態でそ
れら時刻間における第二骨格単位の変位を算出し、その
算出結果に基づいて、アクチュエータの駆動量を算出す
る。
Next, at least a part of the plurality of robot parts can be provided with a skeleton having a plurality of skeleton units and actuators arranged between the skeleton units. In this case, the drive amount calculation data corresponding to the robot part may include displacement data of each skeleton unit for each time of robot operation. Then, the calculation / drive control means is
The drive amount of the actuator corresponding to the skeletal unit can be calculated based on the displacement data that are temporally behind each other. Further, more specifically, an arbitrary one skeleton unit of the skeleton (hereinafter referred to as a first skeleton unit),
The calculation / drive control means may calculate the drive amount for the second skeleton unit coupled to the first skeleton unit via the actuator as follows. That is, at least one of rotational movement and translational movement is performed on the positions of the first skeleton unit and the second skeleton unit at successive times, and the processing for superimposing the first skeleton units at those times is performed. . Then, in that state, the displacement of the second skeleton unit between those times is calculated, and the drive amount of the actuator is calculated based on the calculation result.

【0012】また、複数のロボット部位のうちの少なく
とも一部のものが、上記骨格を備えるものとされる場合
には、以下のような要件を含む駆動データ作成装置を設
けることができる。 画像表示手段:ロボット動作に対応するモデルの動作
を経時的に記録した一連のモデル画像とロボットの骨格
の画像(骨格画像)を表示する。 骨格位置決め手段:画像表示手段上において骨格画像
を、モデル画像に対応する位置に位置合わせする。具体
的には、表示手段において、骨格画像をモデル画像に対
し重ね合わせることにより、モデル画像に対して位置合
わせするものとして構成することができる。 駆動データ演算手段:時間軸上において互いに前後す
るモデル画像に対し、それぞれ位置合わせされた骨格画
像の変位に基づいて骨格の変位データ、骨格間角度デー
タ(これら2つを駆動量計算用データとみなすことがで
きる)又はアクチュエータ駆動量データのいずれかを、
駆動データとして演算する。
Further, when at least a part of the plurality of robot parts is provided with the above-mentioned skeleton, it is possible to provide a drive data creating device including the following requirements. Image display means: Displays a series of model images in which the motion of the model corresponding to the robot motion is recorded over time and an image of the skeleton of the robot (skeleton image). Skeleton positioning means: Aligns the skeleton image on the image display means with the position corresponding to the model image. Specifically, the display means can be configured to be aligned with the model image by superimposing the skeleton image on the model image. Drive data calculation means: Skeleton displacement data and skeleton angle data based on the displacements of the skeleton images that are aligned with respect to the model images moving forward and backward on the time axis (these two are regarded as drive amount calculation data). Or the actuator drive amount data,
Calculate as drive data.

【0013】例えば、ある中位動作を人間のモデルに実
際に行わせてこれを一連の画像として記録し、それら各
画像にロボットの骨格画像をそれぞれ位置合わせするこ
とによって、経時的に変化するモデル動作の特定の時刻
毎に、骨格画像のモデル画像に対する位置決めが行わ
れ、隣り合う画像間での骨格の変位に基づいて駆動デー
タが演算される。このようにすれば、その中位動作に含
まれる各部位毎の下位動作データを一括して得ることが
でき、中位動作コマンドを付与して記憶部に保存すれば
そのまま中位動作ルーチンとしての使用が可能となる。
そして、その駆動データを作成するための作業は、画像
表示手段の画面上でモデル画像に骨格画像を位置合わせ
する操作が中心となるので内容が理解しやすく、また、
ロボットの部位毎にアクチュエータの駆動量をいちいち
設定する必要がなくなるので、上位動作プログラム作成
に必要な多量の駆動データを合理的かつ簡便に得ること
ができる。
For example, a model that changes over time is obtained by causing a human model to actually perform a certain intermediate motion, recording this as a series of images, and aligning each of these images with the skeleton image of the robot. The skeleton image is positioned with respect to the model image at each specific time of operation, and drive data is calculated based on the displacement of the skeleton between adjacent images. By doing this, it is possible to collectively obtain the lower-order motion data for each part included in the middle-level motion, and if a middle-level motion command is given and saved in the storage unit, it will be used as a middle-level motion routine. It can be used.
Then, the work for creating the drive data is centered on the operation of aligning the skeleton image with the model image on the screen of the image display means, so the contents are easy to understand, and
Since it is not necessary to individually set the drive amount of the actuator for each part of the robot, it is possible to reasonably and easily obtain a large amount of drive data necessary for creating the higher-order operation program.

【0014】上述の駆動データ作成装置には、駆動デー
タ演算手段に基づいて演算・生成された駆動データを記
憶する駆動データ記憶手段と、その記憶された駆動デー
タを編集する駆動データ編集手段を設けることができ
る。編集手段を用いることにより、生成された駆動デー
タの修正や追加あるいは削除を容易に行うことができ
る。また、その編集手段は、中位動作の種類やロボット
の部位別に駆動データを編集するものとでき、これによ
り、下位動作データの差し替えや、異なる中位動作ルー
チン間での下位動作データの交換等を行うことができる
ので、データの汎用性を高めてロボットにより多様な動
作を行わせることが可能となる。さらに、異なる中位動
作間で、同じロボット部位の比較的似通った下位動作を
1つの下位動作に統一することもでき、全体のデータ量
を減らしてロボット動作の応答性を高める効果も有す
る。
The above-described drive data creation device is provided with drive data storage means for storing drive data calculated and generated based on the drive data calculation means, and drive data editing means for editing the stored drive data. be able to. By using the editing means, it is possible to easily correct, add or delete the generated drive data. In addition, the editing means can edit the drive data for each type of middle-level motion and the part of the robot, whereby replacement of lower-level motion data, exchange of lower-level motion data between different middle-level motion routines, etc. Therefore, the versatility of the data can be enhanced and various operations can be performed by the robot. Further, it is also possible to unify relatively similar lower-level motions of the same robot part between different middle-level motions into one lower-level motion, which has the effect of reducing the overall data amount and increasing the responsiveness of the robot motion.

【0015】上記駆動データ作成装置においては、例え
ばロボットに人間の動作を模写させる場合、人間のモデ
ルが行う動作をビデオカメラ等の撮影手段により動画と
して記録し、その動画を画像表示手段にコマ送り再生し
ながら、その動画のコマ毎に骨格画像の位置合わせ操作
を行えばよい。ここで、記録されたモデル画像の寸法
は、選定したモデルの寸法(あるいは体形)によって変
化する場合があるが、この場合は、骨格画像の各骨格単
位の長さを、表示手段に表示されるモデル画像の寸法に
合わせて伸縮可能とすることができる。
In the above drive data creating apparatus, for example, when a robot's motion is copied, the motion of the human model is recorded as a moving image by a photographing means such as a video camera, and the moving image is frame-fed to the image display means. The position of the skeleton image may be adjusted for each frame of the moving image during playback. Here, the dimension of the recorded model image may change depending on the dimension (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 made expandable and contractable according to the dimensions of the model image.

【0016】また、モデル画像の時間間隔は、ロボット
の動作内容に応じて変化させることができる。例えば、
ビデオ画像をコマ送り再生する場合、それら画像のコマ
は一定の時間間隔で撮影されたものとなるが、比較的単
純なモデル動作をデータ化する場合には、一定枚数のコ
マを間引くことによって、隣接するモデル画像の時間間
隔を大きくすることができる。これにより、教示に必要
な画像の枚数が減少して教示作業を効率化することがで
きる。また演算に必要なデータ量が減少するので、ロボ
ット動作の応答性を高めることができる。
Further, the time intervals of the model images can be changed according to the operation contents of the robot. For example,
When playing back video images frame by frame, the frames of those images are taken at fixed time intervals, but when converting a relatively simple model motion into data, by thinning out a fixed number of frames, The time interval between adjacent model images can be increased. As a result, the number of images required for teaching is reduced, and teaching work can be made more efficient. Moreover, since the amount of data required for the calculation is reduced, the responsiveness of the robot operation can be improved.

【0017】次に、ロボットの骨格の一部のものに対し
ては、駆動データ演算手段により、時間軸上において互
いに前後するモデル画像に対しそれぞれ入力された骨格
画像の変位に基づいて駆動データを算定する一方、ロボ
ットの骨格の残余のもの及び骨格以外の予め定められた
ロボット部位に対応して、補助入力手段を設けておき、
その補助入力手段から、それら残余の骨格及びロボット
部位に対する駆動データを個別に入力する構成とするこ
とができる。例えば、モデル画像に位置合わせされた骨
格画像からは駆動データの演算が困難あるいは不可能な
ロボット部位(例えば手首、指、目、口等の動き、ラン
プの点灯など)については、補助入力手段から直接駆動
データを入力することができ、これによりロボット細部
に対するきめ細かい動作を実現することができる。
Next, with respect to a part of the skeleton of the robot, the driving data calculating means generates driving data based on the displacements of the skeleton images respectively inputted to the model images which are in front of and behind each other on the time axis. While calculating, auxiliary input means are provided corresponding to the remaining parts of the robot skeleton and predetermined robot parts other than the skeleton,
The auxiliary input means may be configured to individually input the drive data for the remaining skeleton and the robot part. For example, for a robot part (for example, movement of wrist, finger, eye, mouth, etc., lighting of a lamp, etc.) for which it is difficult or impossible to calculate drive data from the skeleton image aligned with the model image, the auxiliary input means is used. It is possible to directly input the drive data, and thus it is possible to realize a fine movement for the details of the robot.

【0018】ロボットの骨格は、具体的には、関節機構
によって結合された複数の骨格単位を含み、それら骨格
単位はそれら関節機構に設けられたアクチュエータによ
り駆動されるように構成することができる。この場合、
モデルに対して予め基準姿勢を設定しておき、また、駆
動データ演算手段に、その基準姿勢のモデル画像に対し
位置合わせされた骨格画像に対する各アクチュエータ
の、その基準位置を含む基準データを記憶する基準デー
タ記憶手段を設けることができる。そして駆動データ演
算手段は、その基準データに基づいて各時刻における各
骨格単位の変位を算出し、あるいはその変位に基づいて
各アクチュエータの駆動量を算出する。
Specifically, the skeleton of the robot includes a plurality of skeleton units connected by an articulation mechanism, and the skeleton units can be configured to be driven by an actuator provided in the articulation mechanism. in this case,
A reference attitude is set in advance for the model, and the drive data calculation means stores reference data including the reference position of each actuator for the skeleton image aligned with the model image of the reference attitude. Reference data storage means can be provided. Then, the drive data calculation means calculates the displacement of each skeleton unit at each time based on the reference data, or calculates the drive amount of each actuator based on the displacement.

【0019】次に、モデル画像に対する骨格画像の合わ
せ位置の入力は、それら各骨格単位上の両端部に予め定
められた目印点の、表示手段の表示画面上における位置
を指定することにより行うことができる。そのためのよ
り具体的な装置構成として、例えば下記のようなものを
例示できる。すなわち、骨格位置決め手段にマウス、ト
ラックボール等のポインティングデバイスを設け、表示
手段には、その表示画面上にモデル画像及び骨格画像と
ともに、そのポインティングデバイスの操作に伴い該画
面上を移動するポインタを表示させる。そして、骨格画
像をモデル画像に対し位置合わせする際には、目印点の
うちの位置合わせするべきものを選択し、モデル画像上
に設定されるその合わせ位置にポインタを合わせ、ポイ
ンティングデバイスに付随する入力部を操作して該目印
点の合わせ位置を指定することにより、その位置合わせ
の目印点に対応する位置に、骨格単位が位置合わせされ
る。このようにすれば、モデル画像に対する骨格画像の
位置合わせ操作を、より直接的で理解しやすいものとす
ることができる。
Next, the input of the alignment position of the skeleton image with respect to the model image is performed by designating the positions on the display screen of the display means of the predetermined mark points at both ends of each skeleton unit. You can As a more specific device configuration therefor, 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 model image and a skeleton image on the display screen and a pointer that moves on the screen in accordance with the operation of the pointing device. Let Then, when aligning the skeleton image with the model image, one of the mark points to be aligned is selected, the pointer is aligned with the alignment position set on the model image, and the mark is attached to the pointing device. The skeleton unit is aligned with the position corresponding to the alignment mark point by operating the input unit to specify the alignment position of the alignment mark. By doing so, the positioning operation of the skeleton image with respect to the model image can be made more direct and easy to understand.

【0020】また、複数の骨格単位が組を形成し、その
組に含まれる各骨格単位同士の相対的な位置関係に予め
定められた拘束条件を設定することができる。そして、
その組に属する骨格単位の目印点のうち、その一部のも
のについてモデル画像に対する合わせ位置の指定を行う
ことにより、残余の目印点の合わせ位置が、その拘束条
件に基づいて定められるように構成することができる。
このようにすることで、位置合わせ操作が単純化されて
作業時間を短くすることができるほか、ロボット部位に
対し構造上あり得ない位置が指定されるといった不都合
を未然に防ぐ効果も得られる。
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. And
A part of the skeleton mark points belonging to the set is specified as a matching position with respect to the model image, so that the matching position of the remaining mark points is determined based on the constraint condition. can do.
By doing so, the positioning operation can be simplified and the working time can be shortened, and the inconvenience of designating a position that is structurally impossible for the robot part can be obtained.

【0021】ここで、骨格単位に対し、モデル画像に対
する位置合わせの順序を予め決めておき、その順序に従
って位置合わせの操作を行うようにすることができる。
この場合、ある骨格単位の位置合わせ操作が終了した場
合には、次に操作を行うべき骨格単位の目印点の色を変
えたり、点滅させるなど、他の目印点とその表示状態を
異ならせるように構成することができる。
Here, it is possible to predetermine the order of alignment of the skeleton unit with respect to the model image, and perform the alignment operation according to the order.
In this case, when the alignment operation for a certain skeleton unit is completed, the color of the mark point of the skeleton unit to be operated next should be changed or blinked to make the display state different from other mark points. Can be configured to.

【0022】次に、骨格単位の変位から、骨格単位を駆
動するアクチュエータの駆動量を算出する機構である
が、具体的には次のようなものを採用することができ
る。すなわち、ロボットの骨格の任意の1つの骨格単位
(以下、第一骨格単位という)と、その第一骨格単位に
アクチュエータを介して結合された第二骨格単位とに対
し、駆動データ演算手段が、時間軸上で互いに前後する
骨格画像の少なくとも一方のものに対し、その第一骨格
単位と第二骨格単位とに、回転移動又は並進移動の少な
くとも一方を施して、両骨格画像の第一骨格単位同士を
互いに重ね合わせる。そして、その重ね合わされた状態
で、両骨格画像間における第二骨格単位の変位を算出
し、その算出結果に基づいて各アクチュエータの駆動量
が算出される。
Next, the mechanism for calculating the drive amount of the actuator for driving the skeleton unit from the displacement of the skeleton unit, specifically, the following can be adopted. That is, the drive data calculation means for an arbitrary one skeleton unit (hereinafter, referred to as a first skeleton unit) of the skeleton of the robot and a second skeleton unit connected to the first skeleton unit via an actuator, The first skeleton unit of both skeleton images is obtained by subjecting at least one of the skeleton images moving forward and backward on the time axis to at least one of rotational movement and translational movement of the first skeleton unit and the second skeleton unit. Overlap each other. Then, in the superposed state, the displacement of the second skeleton unit between both skeleton images is calculated, and the drive amount of each actuator is calculated based on the calculation result.

【0023】駆動データ演算手段は、画像表示手段に2
次元的に表示された骨格単位の画像と、既知の寸法を有
する標準体の画像とに基づいて、骨格単位の3次元的な
位置を算出するものとして構成することができる。
The drive data calculation means is provided in the image display means.
The three-dimensional position of the skeleton unit can be calculated based on the image of the skeleton unit displayed dimensionally and the image of the standard body having a known dimension.

【0024】[0024]

【実施例】以下、本発明の一実施例を図面を用いて説明
する。図1は、本発明の一実施例たるロボットシステム
200の全体構成を示しており、ロボット201、ロボ
ット制御部202、駆動データ作成装置1、グラフィッ
クシュミレータ151を備えており、これらがそれぞれ
通信インターフェース203、152、153を介して
通信回線150により互いに接続されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows the overall configuration of a robot system 200 as an embodiment of the present invention, which includes a robot 201, a robot controller 202, a drive data creation device 1, and a graphic simulator 151, which are each a communication interface 203. , 152, 153, and are connected to each other by a communication line 150.

【0025】ロボット制御部202は、CPU204と
これに接続されるRAM205、ROM206、ハード
ディスク装置等で構成される記憶装置207、キーボー
ド等の入力装置208、表示制御部210等を備える。
そして、表示制御部210にはCRT等の表示装置21
1が接続され、また、CPU204には通信インターフ
ェース203が接続される。
The robot controller 202 includes a CPU 204, a RAM 205, a ROM 206 connected to the CPU 204, a storage device 207 including a hard disk device, an input device 208 such as a keyboard, and a display controller 210.
The display control unit 210 includes a display device 21 such as a CRT.
1 is connected, and the communication interface 203 is connected to the CPU 204.

【0026】一方、ロボット201は、例えば人間の動
きを模写するロボットとして構成され、図2に示すよう
に、骨格単位20〜30が関節機構31〜37で互いに
接続される骨格19を備える。そして、この骨格は、例
えば下記のようなロボット部位(以下、部位A、B、C
・・・等という)に区分されている。 ・頭部(20):駆動可能な目部20aと口部20cを
備え、目部20aには明滅可能なランプ20bが配置さ
れるとともに、口部20cは開閉駆動可能とされてい
る。 ・胴体:肩21、背骨22、腰骨23を含む。 ・左右の腕部:それぞれ上腕骨24、下腕骨25、手首
29を備える。 ・左右の脚部:それぞれ上肢骨26、下肢骨27、足首
30を備える。
On the other hand, the robot 201 is constructed, for example, as a robot that imitates the movement of a human, and as shown in FIG. 2, the skeleton units 20 to 30 are provided with skeletons 19 connected to each other by joint mechanisms 31 to 37. Then, this skeleton has, for example, the following robot parts (hereinafter, parts A, B, and C).
..., etc.). Head (20): A drivable eye portion 20a and a mouth portion 20c are provided. A blinkable lamp 20b is arranged in the eye portion 20a, and the mouth portion 20c can be opened and closed. -Torso: Includes shoulder 21, spine 22, and hip bone 23. -Left and right arm parts: Each has a humerus 24, a lower humerus 25, and a wrist 29. Left and right legs: Upper limb bone 26, lower limb bone 27, and ankle 30, respectively.

【0027】そして、図1に示すようにロボット201
には、上記各部位A、B、C等のそれぞれに対応して算
出・駆動制御部(算出・駆動制御手段)212が設けら
れ、ロボット制御部202のCPU204にそれぞれ接
続されている。そして、これら算出・駆動制御部212
に対し、各部位に含まれるアクチュエータ213が接続
されている。なお、図2の各関節機構31〜37に設け
られるアクチュエータの種類(パルスモータ、サーボモ
ータ、ピストンシリンダ等)と軸の本数、軸の回転の自
由度、及び軸の回転ないしピストンのスライドの範囲等
は各骨格単位毎に個別に設定されている。
Then, as shown in FIG.
A calculation / drive control section (calculation / drive control means) 212 is provided corresponding to each of the parts A, B, C, etc., and is connected to the CPU 204 of the robot control section 202. Then, the calculation / drive control unit 212
On the other hand, the actuator 213 included in each part is connected. The types of actuators (pulse motor, servo motor, piston cylinder, etc.) provided in each joint mechanism 31 to 37 in FIG. 2, the number of shafts, the degree of freedom of shaft rotation, and the range of shaft rotation or piston sliding. Etc. are individually set for each skeleton unit.

【0028】次に、図3に示すように、ロボット制御部
202の記憶装置207には、上位動作プログラム記憶
部207a、中位動作コマンド解析プログラム記憶部2
07b、中位動作ルーチン記憶部207c、中位動作補
正プログラム記憶部207d、書換用プログラム記憶部
207fが形成されており、それぞれ対応するプログラ
ムないしルーチン(あるいはデータ)を記憶している。
Next, as shown in FIG. 3, the storage device 207 of the robot control unit 202 includes a high-order operation program storage unit 207a and a middle-order operation command analysis program storage unit 2.
07b, a middle operation routine storage unit 207c, a middle operation correction program storage unit 207d, and a rewriting program storage unit 207f are formed, and each stores a corresponding program or routine (or data).

【0029】各プログラムの作用は以下の通りである。 (1)上位動作プログラム:予め用意された中位動作コマ
ンドから適当なものを選んで配列することにより、所望
の上位動作を記述する。例えばロボット201に「右を
向いて4歩歩き、回れ右して1歩半踏み出し、空手チョ
ップのポーズをとる」という一連の上位動作を行わせた
い場合には、その上位動作プログラムは、図4に示すよ
うに、「右を向く」、「右脚部半歩」、「左脚部1歩」
等、その上位動作を構成する中位動作のコマンド(中位
動作コマンド)が、原則としてその実行順に配列され
る。
The operation of each program is as follows. (1) Upper operation program: A desired upper operation is described by selecting an appropriate middle operation command prepared in advance and arranging it. For example, when the robot 201 wants to perform a series of higher-level actions such as "walk to the right for four steps, turn to the right for one and a half steps, and take a karate chop pose", the higher-level action program is as shown in FIG. As shown in, "turn right", "half step of right leg", "one step of left leg"
As a general rule, middle-order operation commands (middle-order operation commands) composing the higher-order operations are arranged in the order of execution.

【0030】(2)中位動作ルーチン:上記各中位動作コ
マンド毎に形成されており、ロボット201の部位A、
B、C・・・のそれぞれに対し、その部位に含まれるア
クチュエータの駆動データDA1、DA2、・・・、DB1、DB
2、・・・等と、それら駆動データを、各部位の算出・
駆動制御部212に送信するためのデータ送信プログラ
ムPA、PB、・・等を含む。これらデータ送信プログラ
ムPA、PB、・・等は、中位動作コマンドで指定される
中位動作に対して、部位A、B、C、・・・等が各々定
められた動作を行うように(例えば「右脚部1歩」とい
う中位動作に対しては、右の脚部が踏み出しの動作を、
及びその踏み出しに合わせて左右の腕部が前後振りの動
作をそれぞれ行うように)、各アクチュエータの駆動デ
ータDA1、DA2を、各部位の駆動データ算出部212に順
次送信する。ここで、各データ送信プログラムPA、P
B、・・等は、対応する駆動データの組(DA1、DA2、・
・・)、(DB1、DB2、・・・)等とともに、下位動作デ
ータを構成することとなる。ここで、駆動データDA1、D
A2、・・・等は、各アクチュエータにより駆動される骨
格単位の両端の各時間毎の変位データを含むものとされ
るが、骨格単位間の角度データとすることもできる。一
方、駆動データDA1、DA2、・・・等を、各アクチュエー
タの各時間毎の駆動量とすることもできる。
(2) Middle operation routine: formed for each of the above middle operation commands, the part A of the robot 201,
For each of B, C ..., Drive data DA1, DA2, ..., DB1, DB of actuators included in that part
2, ..., etc. and those driving data are calculated for each part.
Data transmission programs PA, PB, etc. for transmission to the drive control unit 212 are included. These data transmission programs PA, PB, ... Etc. perform the operations in which the parts A, B, C, ... Are respectively defined for the middle operation specified by the middle operation command ( For example, for the middle movement of "one step of the right leg", the movement of the right leg to step
Further, the driving data DA1 and DA2 of each actuator are sequentially transmitted to the driving data calculation unit 212 of each part so that the left and right arms perform forward and backward swinging motions in accordance with the stepping-out). Here, each data transmission program PA, P
B, ..., etc. are the corresponding drive data sets (DA1, DA2, ...
・ ・), (DB1, DB2, ...) and so on, which constitutes the lower-order operation data. Here, drive data DA1, D
A2, ... Are supposed to include displacement data at both ends of the skeleton unit driven by each actuator, but may be angle data between the skeleton units. On the other hand, the drive data DA1, DA2, ... Can be used as the drive amount for each time of each actuator.

【0031】(3)中位動作コマンド解析プログラム:中
位動作コマンドの単位で上位動作プログラムを読み出
し、対応する中位動作プログラムを順次起動させる。 (4)中位動作補正プログラム:中位動作ルーチンに基づ
くロボットの動作開始位置が、直前の中位動作ルーチン
によるロボット動作の終了位置と一致しない場合に、動
作のつなぎのために必要な補正動作を生成する。 (5)書換用プログラム:上位動作プログラムの書換えな
いし新規作成を行う。具体的には、表示装置211(図
1)にプログラム作成画面を開き、入力装置208を用
いて上位動作コマンドを図4に示すような形式で入力
し、その入力内容に上位動作プログラム名を付与して、
記憶装置207の上位動作プログラム記憶部207aに
記憶させる。また、記憶された上位動作プログラムをプ
ログラム作成画面に表示させ、入力装置208からの入
力に基づいて上位動作コマンドの追加、削除、挿入等を
行い、プログラムの修正・編集を実行する。
(3) Medium-level operation command analysis program: A high-level operation program is read in units of medium-level operation commands, and corresponding intermediate-level operation programs are sequentially activated. (4) Medium motion compensation program: Corrective motion required for joining motions when the robot motion start position based on the medium motion routine does not match the end position of the robot motion by the immediately previous medium motion routine. To generate. (5) Rewriting program: Rewrites or newly creates a host operation program. Specifically, the program creation screen is opened on the display device 211 (FIG. 1), the upper operation command is input using the input device 208 in the format as shown in FIG. 4, and the upper operation program name is given to the input content. do it,
It is stored in the upper operation program storage unit 207a of the storage device 207. Further, the stored higher-order operation program is displayed on the program creation screen, and the higher-order operation command is added, deleted, inserted, etc. based on the input from the input device 208, and the program is corrected / edited.

【0032】一方、図5に示すように、RAM205に
は、上位動作プログラム格納部205a、中位動作コマ
ンド解析プログラム格納部205b、中位動作ルーチン
格納部(I)205c、中位動作ルーチン格納部(II)20
5d等が形成され、それぞれ記憶装置207から読み出
された対応するプログラム、データ等を格納するように
なっている。ここで、中位動作ルーチン格納部が(I)と
(II)の2つ設けられているのは、次に実行する中位動作
ルーチンを予め読み込んで蓄積しておくことにより、ロ
ボット201が次の動作に移る際の、記憶装置207か
らのデータ読込みに基づく応答の遅れを低減するためで
ある。
On the other hand, as shown in FIG. 5, the RAM 205 includes a high-order operation program storage section 205a, a middle-level operation command analysis program storage section 205b, a middle-level operation routine storage section (I) 205c, and a middle-level operation routine storage section. (II) 20
5d and the like are formed to store the corresponding programs and data read from the storage device 207, respectively. Here, the intermediate operation routine storage section is (I)
Two of (II) are provided. By reading and accumulating a middle-level operation routine to be executed next, the data is read from the storage device 207 when the robot 201 moves to the next operation. This is to reduce the delay of the response based on.

【0033】また、算出・駆動制御部212は、図6に
示すように、それぞれCPU214、RAM215、R
OM216等を備え、ROM216には駆動量算出プロ
グラム216aが格納されている。そして、算出・駆動
制御部212は中位動作ルーチンの実行に伴い、ロボッ
ト制御部202側から受信した駆動データDA1、DA2、・
・・等に基づいて、CPU214に接続された各アクチ
ュエータ213(図1)の駆動量を時系列順に算出し、
その算出結果に基づいて各アクチュエータ213を駆動
する。その算出方法については後述する。
Further, as shown in FIG. 6, the calculation / drive control section 212 has a CPU 214, a RAM 215, and an R, respectively.
The OM 216 and the like are provided, and the drive amount calculation program 216a is stored in the ROM 216. Then, the calculation / drive control unit 212 executes the middle-level operation routine, and the drive data DA1, DA2, ...
.., etc., and calculates the drive amount of each actuator 213 (FIG. 1) connected to the CPU 214 in chronological order,
Each actuator 213 is driven based on the calculation result. The calculation method will be described later.

【0034】図7は、駆動データ作成装置1の構成例を
示すブロック図である。駆動データ作成装置1は、駆動
データ演算手段を構成するCPU2、ROM3、RAM
4を含む装置制御部5を備え、これに画像取込制御部
6、表示制御部7、入力装置インターフェース8、プロ
グラム記憶装置9、駆動データ記憶装置10、動画デー
タ記憶装置11が接続されている。そして、入力装置イ
ンターフェース8にはクリックボタン12a(入力部)
を備えた骨格位置決め手段として、マウス12、キーボ
ード13が接続されている。
FIG. 7 is a block diagram showing an example of the structure of the drive data creating apparatus 1. The drive data creation device 1 includes a CPU 2, a ROM 3, and a RAM that constitute drive data calculation means.
4 is provided with a device control unit 5 including an image capture control unit 6, a display control unit 7, an input device interface 8, a program storage device 9, a drive data storage device 10, and a moving image data storage device 11. . The input device interface 8 has a click button 12a (input section).
A mouse 12 and a keyboard 13 are connected as a skeleton positioning means having the above.

【0035】表示制御部7には画像表示手段としてのC
RT14が接続されている。一方、画像取込制御部6
は、ビデオ再生装置(VTR)15が接続されるととも
に、VRAM16とデータ転送用プロセッサ17とを備
え、VRAM16に格納された画像表示データが、バス
18を介して表示制御部7に直接転送可能とされてい
る。
The display control unit 7 has C as an image display means.
RT14 is connected. On the other hand, the image capture controller 6
Is equipped with a VRAM 16 and a data transfer processor 17 while being connected to a video playback device (VTR) 15, and image display data stored in the VRAM 16 can be directly transferred to the display control unit 7 via a bus 18. Has been done.

【0036】次に、プログラム記憶装置9には、図8に
示す各プログラムが格納されるとともに、必要に応じて
CPU2により読み出され、RAM4の所定のエリアに
書き込まれて使用される。 (1)動画取込みプログラム90:VTR15で再生され
たモデル動作の画像を、画像取込制御部6を介して動画
データとして取り込み、光磁気ディスク装置等で構成さ
れた動画データ記憶装置11に記憶させる。 (2)モデル画像表示プログラム91:動画データ記憶装
置11に記憶された動画データに基づいて、指定された
コマのモデル画像をCRT14に表示させる。 (3)骨格画像表示プログラム92:ロボット骨格19
(図2)に対応する骨格画像の画像データを作成し、図
28に示すように、そのデータに基づく骨格画像38を
モデル画像39とともにCRT14に表示させる。
Next, each program shown in FIG. 8 is stored in the program storage device 9 and is read by the CPU 2 as necessary and written in a predetermined area of the RAM 4 for use. (1) Video capture program 90: The image of the model motion reproduced by the VTR 15 is captured as video data via the image capture control unit 6 and stored in the video data storage device 11 composed of 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) Skeleton image display program 92: robot skeleton 19
Image data of a skeleton image corresponding to (FIG. 2) is created, and as shown in FIG. 28, the skeleton image 38 based on the data is displayed on the CRT 14 together with the model image 39.

【0037】(4)骨格画像位置合わせプログラム94:
マウス12を使用して、CRT14に表示された骨格画
像38を、モデル画像39に対し重ね合わせてこれを位
置合わせする。ここで、CRT14の画面上においてモ
デル画像39の寸法に骨格画像38の寸法を合わせ込む
処理も本プログラムによって行われる。 (5)変位計算プログラム96:CRT14に2次元的に
表示された各骨格単位の画像から、それら骨格単位の実
際の空間における3次元的な位置を計算し、それに基づ
いて時間的に相前後する2つの画像間における各骨格単
位の変位を算出する。その算出処理は、各骨格単位毎に
用意された寸法既知の標準体を所定の方向から撮影して
得られたその標準体画像の寸法と、対応する骨格単位の
画面上における寸法とを比較することにより実行され
る。なお標準体の寸法データは、プログラム記憶装置の
標準体寸法データ記憶部112に格納されている。 (6)アクチュエータ駆動量計算プログラム98:上記骨
格単位の変位に対応する各アクチュエータの駆動量を算
出し、上記変位データとともに駆動データ記憶装置10
に記憶させる。
(4) Skeleton image registration 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 processing for 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: Calculates the three-dimensional position of each skeleton unit in the actual space from the images of each skeleton unit displayed two-dimensionally on the CRT 14, and moves in chronological order based on it. The displacement of each skeleton unit between the two images is calculated. The calculation process compares the size of a standard body image obtained by photographing a standard body of known size prepared for each skeleton unit from a predetermined direction with the size of the corresponding skeleton unit on the screen. It is executed by The standard body size data is stored in the standard body size 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 in the skeleton unit is calculated, and the drive data storage device 10 together with the displacement data.
To memorize.

【0038】(7)動作時間設定プログラム100:使用
する動画のコマに対し、ロボット動作の実時間軸上の時
間を設定するとともに、隣接するコマの時間間隔から各
アクチュエータの駆動速度を算出し、これを駆動データ
の一部として駆動データ記憶装置10に記憶させる。 (8)補助入力プログラム102:予め指定された骨格単
位ないしロボット部位に対する駆動データの補助入力処
理を、マウス12ないしキーボード13を使用すること
により行う。このような補助入力処理は、骨格画像38
とモデル画像との位置合わせ処理による駆動データの生
成が比較的困難な骨格単位ないし部位に対し適用され、
例えば図2に示す頭部20の目部20aや口部20bの
動き、目部20aに配置されたランプ20bの明滅等が
これに該当する。一方、いくつかの骨格単位について
は、特定の動作モードに対してのみ位置合わせ処理によ
る駆動データの生成が困難なこともありうるが、そのよ
うな場合も、上記方法による駆動データの入力が可能で
ある。この方法は、例えば、頭部20aの前後傾、左右
傾、回転等、あるいは関節機構33(肘に相当)に対す
る上腕骨24と下腕骨25の長手方向軸線周りの回転、
手首29の回転、指の曲げ状態等に対し適用可能であ
る。なお、このような入力処理は、本実施例では、骨格
画像38のモデル画像39に対する位置合わせ処理を行
う画面(図28)とは別画面(あるいは別ウィンドウ)
を開いて行うようになっている。
(7) Motion time setting program 100: The time on the real time axis of the robot motion is set for the moving image frame to be used, and the driving speed of each actuator is calculated from the time interval between adjacent frames. This is stored in the drive data storage device 10 as a part of the drive data. (8) Auxiliary input program 102: Auxiliary input processing of drive data for a skeletal unit or robot part designated in advance is performed by using the mouse 12 or the keyboard 13. Such auxiliary input processing is performed by the skeleton image 38.
It is applied to the skeletal unit or site where it is relatively difficult to generate drive data by the registration process between the
For example, the movement of the eye portion 20a and the mouth portion 20b of the head portion 20 shown in FIG. 2 and the blinking of the lamp 20b arranged in the eye portion 20a correspond to this. On the other hand, for some skeletal units, it may be difficult to generate drive data by alignment processing only for a specific operation mode, but even in such a case, drive data can be input by the above method. Is. This method is performed by, for example, tilting the head 20a forward and backward, tilting left and right, rotating, or rotating the humerus 24 and the lower humer 25 around the longitudinal axis with respect to the joint mechanism 33 (corresponding to an elbow),
It is applicable to the rotation of the wrist 29, the bending state of the finger, and the like. It should be noted that, in the present embodiment, such an input process is a screen (or another window) different from the screen (FIG. 28) in which the skeleton image 38 is aligned with the model image 39.
It is designed to be opened.

【0039】(9)コマ修正プログラム104:指定され
たコマにおいて、骨格画像の位置合わせ処理により入力
された駆動データの変更修正(例えば骨格単位の位置変
更等)を行う。なお、前述の拘束条件で結ばれた骨格単
位のいずれかの位置を変更した場合、その拘束条件が破
れないように他の骨格単位の位置も自動修正する。 (10)コマ削除・追加プログラム105:指定されたコマ
のデータを削除し、また、指定されたコマ位置の次に新
規駆動データ入力を行うコマの追加・挿入を行う。 (11)逐次表示プログラム106:各コマの骨格画像を時
系列順に、一定の時間間隔で逐次画面に表示する。これ
により、骨格画像の大まかな動きの変化を確認すること
ができ、実際のロボット動作の簡易シュミレート手段と
して利用することができる。 (12)不要部位設定プログラム107:骨格画像38の位
置合わせ処理時に、駆動データの演算が不要な部位の設
定を行う。例えば、対象となる動作において、特定の部
位がほとんど動かないことがわかっている場合には、そ
の部位に対し不要部位設定を行うことにより、その部位
が、定められた位置に固定化されるとともに、該部位に
対する骨格画像38の位置合わせ処理がスキップされ
る。
(9) Frame correction program 104: The drive data input by the skeleton image position adjustment processing is changed and corrected (for example, the position of each skeleton is changed) in the designated frame. When any position of the skeleton unit connected by the above-mentioned constraint condition is changed, the positions of other skeleton units are automatically corrected so that the constraint condition is not broken. (10) Frame deletion / addition program 105: Deletes data of a specified frame, and adds / inserts a frame for inputting new drive data next to the specified frame position. (11) Sequential display program 106: The skeletal images of each frame are sequentially displayed on the screen in chronological order at regular time intervals. Accordingly, it is possible to confirm a rough change in the movement of the skeleton image, and it can be used as a simple simulation means of an actual robot operation. (12) Unnecessary part setting program 107: When the position of the skeleton image 38 is aligned, a part for which driving data is unnecessary is set. For example, when it is known that a specific part hardly moves in the target motion, the unnecessary part is set to the part so that the part is fixed at the determined position. The process of aligning the skeleton image 38 with respect to the part is skipped.

【0040】(13)駆動データファイル編集プログラム1
08(駆動データ編集手段):駆動データを、中位動作
の種類やロボットの部位別にファイル分割し、中位動作
コマンド名を付与して駆動データ記憶装置10に記憶・
保存する。 (14)シュミレータ起動プログラム109:指定されたロ
ボット動作の駆動データをグラフィックシュミレータ1
51に転送し、シュミレータ151側におけるロボット
動作の試演(シュミレーション)処理の起動を促す。
(13) Driving data file editing program 1
08 (driving data editing means): The driving data is divided into files according to the type of medium-level movement and the part of the robot, and the medium-level movement command name is given and stored in the driving data storage device 10.
save. (14) Simulator start-up program 109: The drive data of the specified robot movement is transferred to the graphic simulator 1.
Then, the process is transferred to 51, and the simulator 151 is prompted to start the robot motion demonstration process.

【0041】また、駆動データ作成装置1のCPU2に
は通信インターフェース152及び153と通信回線1
50を介して、ロボット動作の試演を行うためのグラフ
ィックシュミレータ(以下、単にシュミレータという)
151が接続されている。シュミレータ151は、図9
に示すように、CPU154と、これに接続されたRO
M155、RAM156、VRAM157、表示制御部
158、及び入力装置インターフェース160を備え、
表示制御部158にはロボット動作の試演動画を表示す
るCRT159等の表示装置が、また入力装置インター
フェース160にはキーボード161等の入力部が接続
されている。また、駆動データ作成装置1と通信するた
めの通信インターフェース153がCPU154に接続
されている。
Further, the CPU 2 of the drive data creating apparatus 1 has the communication interfaces 152 and 153 and the communication line 1.
A graphic simulator (hereinafter simply referred to as a simulator) for performing a trial demonstration of robot operation via 50
151 is connected. The simulator 151 is shown in FIG.
As shown in, the CPU 154 and the RO connected to it
An M155, a RAM 156, a VRAM 157, a display controller 158, and an input device interface 160 are provided,
The display control unit 158 is connected to a display device such as a CRT 159 for displaying a demonstration movie of robot operation, and the input device interface 160 is connected to an input unit such as a keyboard 161. Also, a communication interface 153 for communicating with the drive data creation device 1 is connected to the CPU 154.

【0042】次に、図2に示すロボット201の骨格1
9を形成する骨格単位のうち、いくつかのものは組を形
成し、その組に含まれる各骨格単位同士の相対的な位置
関係には予め定められた拘束条件が設定される。例え
ば、両脚部を構成する骨格単位を例にとれば、図10に
示すようにその下肢骨27は、上肢骨26に沿う直線と
腰骨23に直角な直線とが作る平面P内のみを動くとい
う拘束条件が設定されている(なお、図10において
は、関節機構35及び36(図2)は描いていない)。
従って、上肢骨26の上端位置と下肢骨27の下端位置
とを指定すれば、両者の結合点(膝に相当する部分)の
位置は、上記拘束条件に従って自動的に定まることとな
る。このような拘束条件は、プログラム記憶装置9の拘
束条件記憶部110(図8)に記憶され、駆動データの
算出に使用される。
Next, the skeleton 1 of the robot 201 shown in FIG.
Some of the skeletal units forming 9 form a set, and a predetermined constraint condition is set for the relative positional relationship between the skeletal units included in the set. For example, in the case of a skeletal unit that constitutes both legs, as shown in FIG. 10, the lower limb bone 27 moves only within a plane P formed by a straight line along the upper limb bone 26 and a straight line perpendicular to the hip bone 23. The constraint condition is set (the joint mechanisms 35 and 36 (FIG. 2) are not drawn in FIG. 10).
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 connecting point between them (the part corresponding to the knee) is automatically determined according to the above-mentioned constraint condition. Such constraint conditions are stored in the constraint condition storage unit 110 (FIG. 8) of the program storage device 9 and used for calculation of drive data.

【0043】以下、本実施例のロボットシステム1の作
用について説明する。まず、ロボット201を作動させ
る場合の処理の流れであるが、図1の入力装置208等
により上位動作プログラム名を指定してこれを起動させ
ると、中位動作コマンド解析プログラムが起動し、図1
1のフローチャートに示すように、M1において上位動作
プログラムの最初の中位動作コマンドが読み込まれ、M2
で対応する中位動作ルーチンがRAM205の中位動作
ルーチン格納部(I)205cに格納される。次に、その
格納された中位動作ルーチンに対し信号を発してこれを
起動させる(M3)。また、その中位動作ルーチンの実行
中に、M4で次の中位動作コマンドを読み込み、対応する
中位動作ルーチンをRAM205の空いている中位動作
ルーチン格納部(この場合、格納部(II))に格納する。
さらに、M6において起動・実行中の中位動作ルーチン
(格納部(I)側)から中位側処理完了信号が送信されて
きていれば、格納部(II)205dに格納された中位動作
ルーチンに起動信号を送信する(M7)。そして、M8にお
いて次の中位動作コマンドが存在すればM4へ返り、次の
コマンドを読み込んで対応する中位動作ルーチンを空い
ている格納部(この場合、格納部(I))に格納し、以下
同様の処理を繰り返すことにより、上位動作プログラム
が中位動作コマンド単位で実行されてゆく。なお、次の
中位動作コマンドが存在しないか、終了コマンドである
場合には処理を終了する。
The operation of the robot system 1 of this embodiment will be described below. First, regarding the flow of processing when operating the robot 201, when a higher-order operation program name is designated by the input device 208 or the like in FIG. 1 and activated, the middle-level operation command analysis program is activated, and FIG.
As shown in the flow chart of No. 1, the first middle operation command of the upper operation program is read in M1 and M2
The corresponding middle-level operation routine is stored in the middle-level operation routine storage section (I) 205c of the RAM 205. Next, a signal is issued to the stored intermediate operation routine to activate it (M3). Also, while the middle operation routine is being executed, the next middle operation command is read by M4, and the corresponding middle operation routine is stored in the empty middle operation routine storage section of the RAM 205 (in this case, the storage section (II)). ).
Further, if a middle-level processing completion signal is transmitted from the middle-level operation routine (storage unit (I) side) that is being started and executed in M6, the middle-level operation routine stored in the storage unit (II) 205d. Send a start signal to (M7). Then, if there is a next middle-level operation command in M8, it returns to M4, reads the next command, stores the corresponding middle-level operation routine in the empty storage section (in this case, storage section (I)), By repeating the same processing thereafter, the upper operation program is executed in units of middle operation commands. If the next middle operation command does not exist or if it is an end command, the process ends.

【0044】次に、中位動作ルーチン側での処理である
が、図12のフローチャートに示すように、上位動作プ
ログラム側から起動信号を受けることにより、各部位の
アクチュエータの駆動データを読み込み(B1、B2)、駆
動データ送信プログラムの起動により、アクチュエータ
の各時間毎の変位データとして記述された駆動データ
を、各部位の算出・駆動制御部212へ時系列順に送信
する。そして、算出・駆動制御部212側では、駆動量
算出プログラム216aに基づいて、その変位データに
基づいて各アクチュエータの駆動量を算出し、その算出
結果に基づいてそれらアクチュエータを駆動する。
Next, regarding the processing on the side of the intermediate operation routine, as shown in the flowchart of FIG. 12, by receiving a start signal from the upper operation program side, the drive data of the actuator of each part is read (B1 , B2) and the drive data transmission program is activated to transmit the drive data described as displacement data for each time of the actuator to the calculation / drive control unit 212 of each part in chronological order. Then, the calculation / drive control unit 212 side calculates the drive amount of each actuator based on the displacement data based on the drive amount calculation program 216a, and drives the actuators based on the calculation result.

【0045】駆動量の算出方法としては、一例として、
以下のような原理に基づく方法を採用することができ
る。まず、図2に示した骨格19において、各骨格単位
の両端位置に例えば図27(W1)のようにインデック
スを付与する。 ・頭部20:H、f1。 ・肩21:A1、H及びH、A2。 ・背骨22:G及びH。ここで、Gは各骨格単位の変位
からアクチュエータの駆動量を算出する際の基準位置と
して使用される。 ・腰骨23:L1及びL2 。GがL1とL2を結ぶ線分の
中点に位置付けられている。 ・上腕骨24、下腕骨25:A1、Ae1、Ah1及びA
2、Ae2、Ah2。 ・上肢骨26、下肢骨27:L1、Lk1、Lf1及びL
2、Lk2、Lf2。 そして、変位データは、各骨格単位の両端の変位として
算出される。
As a method of calculating the driving amount, for example,
A method based on the following principle can be adopted. First, in the skeleton 19 shown in FIG. 2, indexes are given to both end positions of each skeleton unit as shown in FIG. 27 (W1), for example.・ Head 20: H, f1. -Shoulder 21: A1, H and H, A2. -Spine 22: G and H. Here, G is used as a reference position when calculating the drive amount of the actuator from the displacement of each skeleton unit. -Hipbone 23: L1 and L2. G is located at the midpoint of the line segment connecting L1 and L2. Humerus 24, lower humerus 25: A1, Ae1, Ah1 and A
2, Ae2, Ah2. -Upper limb bone 26, lower limb bone 27: L1, Lk1, Lf1 and L
2, Lk2, Lf2. Then, the displacement data is calculated as the displacement of both ends of each skeleton unit.

【0046】例えば図27の、左側の脚部に対しては、
図13(a)に模式的に示すように、点Gの位置が不変
で、ある時刻T1におけるL1、Lk1の位置が次の時刻
T2におけるL1’、Lk1’に移った場合、(b)に示
すように、線分GL1及び線分L1Lk1(それぞれ請求
項でいう第一骨格単位及び第二骨格単位)に回転移動を
施し、線分GL1を線分GL1’に重ね合わせる。そし
て、回転移動後の各点の空間座標から、時刻T1の線分
L1Lk1と、時刻T2の線分L1’Lk1’とのなす角度
θを算出することにより、両骨格単位(すなわち、上腕
部26及び下脚部27の間に配置されたアクチュエータ
の各軸の回転角度を求めることができる。このような骨
格単位の回転移動と第二骨格単位の回転角度を求める処
理を、骨格の末端へ向かう方向に順次施してゆけば、各
関節機構に含まれるアクチュエータの駆動量が順次算出
されることとなる。なお、以上の説明では、アクチュエ
ータはモータで構成されており、第一及び第二の骨格単
位同士はそのモータ軸の回転により、相対的な回転運動
のみを行うものとしたが、ピストンロッド等をアクチュ
エータとした場合は、そのピストンの伸縮により骨格単
位間で相対的な並進運動が行われる場合もある。そのよ
うな場合は、第二骨格単位の回転角度の他、並進移動距
離も算出するようにする。
For example, for the left leg of FIG. 27,
As shown schematically in FIG. 13A, when the position of the point G is unchanged and the positions of L1 and Lk1 at a certain time T1 move to L1 ′ and Lk1 ′ at the next time T2, As shown, the line segment GL1 and the line segment L1Lk1 (the first skeleton unit and the second skeleton unit in the claims, respectively) are rotationally moved to superimpose the line segment GL1 on the line segment GL1 ′. Then, the angle θ formed by the line segment L1Lk1 at time T1 and the line segment L1′Lk1 ′ at time T2 is calculated from the spatial coordinates of the respective points after the rotational movement, whereby both skeleton units (that is, the upper arm 26 And the rotation angle of each axis of the actuator disposed between the lower leg portion 27. The process of determining the rotational movement of the skeleton unit and the rotation angle of the second skeleton unit is performed in the direction toward the end of the skeleton. The driving amount of the actuators included in each joint mechanism is sequentially calculated by applying the actuators to the first and second skeleton units in the above description. Although only the relative rotation between them is performed by the rotation of their motor shafts, when piston rods etc. are used as actuators, expansion and contraction of the piston causes relative translational movement between skeleton units. In such a case, in addition to the rotation angle of the second skeleton unit, the translation distance is also calculated.

【0047】このようにしてアクチュエータの駆動量が
算出され、その中位動作ルーチンの駆動データに基づく
アクチュエータの一連の駆動が終了すると、駆動量算出
プログラム216aからは下位側処理完了信号が中位動
作ルーチン側へ送信される。中位動作ルーチン側では、
図12のB4でこれを受け、中位側処理完了信号を上位動
作プログラムへ送信する。なお、アクチュエータの駆動
量そのものを駆動データとして送信する場合には、算出
・駆動制御部側での上記算出処理は不要となる。
When the drive amount of the actuator is calculated in this way and a series of drive of the actuator based on the drive data of the intermediate operation routine is completed, the drive amount calculation program 216a sends the lower processing end signal to the intermediate operation. Sent to the routine side. On the medium operation routine side,
Receiving this at B4 in FIG. 12, the middle side processing completion signal is transmitted to the upper operation program. When the drive amount of the actuator itself is transmitted as drive data, the above calculation process on the calculation / drive control unit side becomes unnecessary.

【0048】図14は、上述の流れに基づくロボット2
01の上位動作の具体的な実行例を示している。すなわ
ち、「4歩歩く」という上位動作を実行するために、そ
の上位動作プログラムは、「右脚部半歩」、「左脚部1
歩」、「右脚部1歩」、「左脚部半歩」の各中位動作コ
マンドを含むものとなる。そして、例えば最初の「右足
半歩」の中位動作ルーチンの実行内容は、右脚部及び左
腕部の各部位に対しそれぞれ「半歩踏出し」及び「前降
り」であり、それら部位の関連アクチュエータの駆動デ
ータを時系列順に算出・駆動制御部212へ送信する。
そして、算出・駆動制御部では送信されてきた駆動デー
タに基づいて駆動量を算出し、対応するアクチュエータ
を駆動して、次の中位動作コマンド「左脚部1歩」の実
行へ移る。
FIG. 14 shows a robot 2 based on the above flow.
The specific execution example of the upper operation of 01 is shown. That is, in order to execute the higher-order motion of “walking four steps”, the higher-order motion programs are “right leg half step” and “left leg part 1”.
It includes the middle-level motion commands of "step", "one step on the right leg", and "half step on the left leg". Then, for example, the contents of the execution of the first middle-step motion routine of "half step of the right foot" are "half stepping" and "front stepping down" for the respective parts of the right leg and the left arm, and the relations between these parts. The drive data of the actuator is calculated in time series and transmitted to the drive / control unit 212.
Then, the calculation / drive control unit calculates the drive amount based on the transmitted drive data, drives the corresponding actuator, and shifts to the execution of the next middle-order operation command "left leg 1 step".

【0049】上述のような駆動データは駆動データ作成
装置1により作成することができる。以下、駆動データ
作成装置1(図7)の作動の流れをフローチャートを用
いて説明する。図15は処理全体の大まかな流れを示す
ものであって、次の各処理のいずれかを選択するように
なっている。なお、選択時にはCRT14に所定の選択
画面がウィンドウ表示され、そこに表示された選択項目
をマウス12を用いて選択することにより、個々の処理
ウィンドウが開くようになっている。 (1)入力(S1000からS1100に向かう処理):モデル画像
に対する骨格画像の重ね合わせ処理を行い、駆動データ
を作成(換言すれば、ロボット201への動作の教示)
する。 (2)修正(S2000からS2100に向かう処理):作成された
駆動データの修正を行う。 (3)試演(S3000からS3100に向かう処理):グラフィッ
クシュミレータ151を使用して、ロボット動作の試演
を行う。 (4)終了指示(S4000から終了へ向かう処理):処理終了
の指示を行う。
The drive data as described above can be created by the drive data creating apparatus 1. The flow of operation of the drive data creation device 1 (FIG. 7) will be described below with reference to a flowchart. FIG. 15 shows a rough flow of the entire processing, and one of the following processings is selected. In addition, at the time of selection, a predetermined selection screen is displayed on the CRT 14 as a window, and individual processing windows are opened by selecting the selection items displayed there with the mouse 12. (1) Input (process from S1000 to S1100): The skeleton image is superposed on the model image to create drive data (in other words, teaching of the operation to the robot 201).
To do. (2) Correction (processing from S2000 to S2100): The created drive data is corrected. (3) Demonstration (process from S3000 to S3100): Using the graphic simulator 151, a robot motion is demonstrated. (4) End instruction (process from S4000 to end): Gives an instruction to end the process.

【0050】入力が選択された場合はS1100において入
力処理が中位動作の単位で行われる。ここで、入力に先
立ってその中位動作を人間のモデルに行わせ、例えば図
25に示すように、そのモデル画像38を所定のコマ時
間間隔でビデオカメラにより動画撮影しておく。そし
て、図7のVTR15により再生されたその動画が、画
像取込制御部6を介して動画データとして取り込まれ、
動画データ記憶装置11に記憶されている。ここで、動
画データ記憶装置11に記憶されている動画データは、
図26に示すように、モデルが比較的複雑な動きを行っ
ている場合には、そのコマ80の間隔が密になるよう
に、逆に動きが比較的単調な場合にはコマ80の間隔が
粗となるように、その動画のコマが、動画データ取り込
み時あるいは取り込み後のデータ編集時に適宜間引かれ
る。
When the input is selected, the input processing is performed in the unit of middle level operation in S1100. Here, prior to the input, the human model is caused to perform the middle operation, and as shown in FIG. 25, the model image 38 is taken as a moving image by the video camera at predetermined time intervals. Then, the moving image reproduced by the VTR 15 of FIG. 7 is captured as moving image data via the image capture control unit 6,
It is stored in the moving image data storage device 11. Here, the moving image data stored in the moving image data storage device 11 is
As shown in FIG. 26, when the model is moving in a relatively complicated manner, the intervals of the frames 80 are close. On the contrary, when the motion is relatively monotonous, the intervals of the frames 80 are small. To make it coarse, the frames of the moving image are appropriately thinned when the moving image data is loaded or when the data is edited after the loading.

【0051】図16は、S1100の入力処理の詳細を示す
フローチャートであって、まず駆動データの演算が不要
な部位の設定を行なった後(S1101)、図27に示すよ
うなウィンドウW1及びW2をそれぞれ表示する(S1102、S
1103)。このうち、一方のウィンドウW1にはモデル画像
39が表示され、他方のウィンドウW2には骨格画像38
が表示される。なお、骨格画像38は、図2に示すロボ
ット骨格19を簡略化した線図として表示される。
FIG. 16 is a flow chart showing the details of the input processing of S1100. After first setting the portion where the drive data calculation is unnecessary (S1101), the windows W1 and W2 as shown in FIG. 27 are displayed. Display each (S1102, S
1103). Of these, the model image 39 is displayed in one window W1, and the skeleton image 38 is displayed in the other window W2.
Is displayed. The skeleton image 38 is displayed as a simplified diagram of the robot skeleton 19 shown in FIG.

【0052】図16に戻って、S1104において、ビデオ
カメラにモデルを正対させて撮影したモデル画像38
(図27)に、骨格画像39の寸法を合わせ込む処理を
行う。その処理の詳細を図17及び図18に示す。すな
わち、図17において、正対ポーズのモデル画像38を
ウィンドウW1に、骨格画像39をウィンドウW2に表示
し(C101〜103)、各骨格単位の長さをモデル画像の対
応部位に合わせ込む(C104)。ここで骨格画像39の各
骨格単位に対しては、予め標準寸法が設定されている。
その合わせ込みの処理であるが、図18に示すように、
まず基準点Gの位置を合わせ込み(C201)、続いてその
基準点Gから次第に遠ざかるように、各骨格単位の端点
を順次合わせ込んでゆく。
Returning to FIG. 16, in S1104, the model image 38 photographed with the model facing the video camera.
A process for fitting the dimensions of the skeleton image 39 to (FIG. 27) is performed. Details of the processing are shown in FIGS. 17 and 18. That is, in FIG. 17, the model image 38 in 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 adjusted to the corresponding portion of the model image (C104). ). Here, standard dimensions are set in advance for each skeleton unit of the skeleton image 39.
The matching process is as shown in FIG.
First, the position of the reference point G is adjusted (C201), and then the end points of the respective skeleton units are sequentially adjusted so as to gradually move away from the reference point G.

【0053】ここで、モデル画像38に対し、骨格画像
39の端点を合わせ込むための入力方法であるが、図2
7に示すように、ウィンドウW2上には各端点が目印点と
して表示され、また、ウィンドウW1上にはマウス12
の移動に伴い画面上を移動するポインタ40が表示され
る。目印点の合わせ込みは、G点から始まって次第に骨
格の末端へ向かう方向に、予め設定された順序で行われ
るようになっており、ウィンドウW2に表示された骨格
画像38上において、次に合わせ込みを行うべき端点が
点滅してこれを知らせるようになっている。そして、ウ
ィンドウW1上のモデル画像38上の指定するべき位置
にポインタ40を合わせ、マウス12のクリックボタン
を操作することにより、ウィンドウW2上で点滅表示さ
れた端点の、モデル画像38上での重ね位置が確定さ
れ、それとすでに確定されている端点の位置に基づい
て、各骨格単位の長さが順次計算されてゆく(C202〜C2
10)。また、長さが定められた骨格単位は、ウィンドウ
W1のモデル画像38に対し順次重ね描画されてゆく。
Here, the input method for fitting the end points of the skeleton image 39 to the model image 38 is shown in FIG.
As shown in FIG. 7, each end point is displayed as a mark point on the window W2, and the mouse 12 is displayed on the window W1.
A pointer 40 that moves on the screen is displayed along with the movement of. The registration of the mark points is performed in a preset order in the direction starting from the point G and gradually moving toward the end of the skeleton, and the next matching is performed on the skeleton image 38 displayed in the window W2. The end points to be included in the flashing flashes to inform you. Then, by moving the pointer 40 to the position to be designated on the model image 38 on the window W1 and operating the click button of the mouse 12, the blinking end points on the window W2 are overlaid on the model image 38. The position is fixed, and the length of each skeleton unit is calculated sequentially based on the positions of the end points that have already been fixed (C202 to C2
Ten). Further, the skeleton unit of which the length is determined is sequentially drawn on the model image 38 of the window W1.

【0054】ここで、正対ポーズにおけるモデル画像3
8はほぼ左右対称であることから、上腕骨24と下腕骨
25、ならびに上肢骨26と下肢骨27(図2)の各端
点は、左右いずれか一方のものが位置決めされれば、他
方のものも自動的に位置決めされるように処理が行われ
る。また、頭部20の寸法(H及びF1間の距離、図2
8)は、頭部20以外の骨格単位の標準寸法と算出され
た寸法とを比較し、その寸法比率と頭部20の標準寸法
とに基づいて定められる(C210)。なお、ウィンドウW
1に予め設定された標準寸法の骨格画像を、モデル画像
38とともに表示し、そのウィンドウW1上で骨格画像
の各骨格単位の端点をモデル画像38に合わせ込む処理
を行ってもよい。この場合、ウィンドウW2は省略する
ことも可能である。次に、図17に戻り、算出された骨
格単位の寸法に合わせて、正対ポーズの骨格画像38を
ウィンドウW1に再描画した後(C105)、図16のS1105
に進む。ここで、正対ポーズに対応する骨格画像38に
対しては、各アクチュエータの駆動位置が基準データと
して予め設定されており、その設定内容がプログラム記
憶装置9の基準データ記憶部113に格納されている。
Here, the model image 3 in the facing pose 3
Since 8 is substantially symmetrical, each end point of the humerus bone 24 and the inferior arm bone 25, and the upper limb bone 26 and the lower limb bone 27 (FIG. 2) is the other one if the left or right one is positioned. Is also automatically positioned. Also, the size of the head 20 (distance between H and F1, FIG.
8) is determined based on the dimensional ratio and the standard size of the head 20 by comparing the standard size of the skeleton unit other than the head 20 with the calculated size (C210). The window W
A skeleton image having a standard size preset to 1 may be displayed together with the model image 38, and the end point of each skeleton unit of the skeleton image may be adjusted to the model image 38 on the window W1. In this case, the window W2 can be omitted. Next, returning to FIG. 17, after the skeleton image 38 in the facing pose is redrawn in the window W1 according to the calculated size of the skeleton unit (C105), S1105 in FIG.
Proceed to. 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 content is stored in the reference data storage unit 113 of the program storage device 9. There is.

【0055】続いて、S1105〜S1109において、骨格画像
38の位置合わせを行う動画のコマ番号を指定すること
により、そのコマのモデル画像のデータが取り込まれ、
骨格画像の位置合わせ処理(骨格画像入力)に移る。図
19〜図21は、その位置合わせ処理(S1109)の内容
の詳細を示すフローチャートである。すなわち、図19
のC301〜C305に示すように、取り込んだコマのモデル画
像39に対し、G点から始めて次第に遠ざかる方向に、
骨格画像38の各端点の位置をモデル画像39に対し合
わせ込んでゆく。その入力例を図28に示しているが、
手順は前述の寸法合わせ処理の場合とほぼ同様であり、
ウィンドウW2上で点滅表示される端点のウィンドウW1
での合わせ位置をマウス12で指定しながら、モデル画
像39に対する位置合わせ入力を行ってゆく。この場合
も、ウィンドウW1上のモデル画像39に対し、位置合
わせの終わった部分から順に骨格画像38が重ね描画さ
れてゆく。ここで、左右の脚部及び腕部については、前
述の寸法合わせ処理とは異なり、個々に入力処理が行わ
れることとなる。なお、S1101(図16)において設定
された教示不要部位については、位置合わせ入力がスキ
ップされる。
Subsequently, in S1105 to S1109, by specifying the frame number of the moving image for aligning the skeleton image 38, the data of the model image of the frame is fetched,
The process proceeds to the skeleton image registration processing (skeleton image input). 19 to 21 are flowcharts showing details of the contents of the alignment processing (S1109). That is, FIG.
As shown in C301 to C305, in the direction starting from point G and gradually moving away from the model image 39 of the captured frame,
The positions of the end points of the skeleton image 38 are adjusted to the model image 39. The input example is shown in FIG. 28.
The procedure is almost the same as the case of the dimension matching process described above,
Window W1 at the end point blinking on window W2
While designating the alignment position in (1) with the mouse 12, the alignment input for the model image 39 is performed. Also in this case, the skeleton image 38 is sequentially drawn on the model image 39 on the window W1 from the position where the alignment is completed. Here, the left and right legs and arms are individually subjected to input processing, unlike the above-described dimension matching processing. Note that the alignment input is skipped for the teaching unnecessary portion set in S1101 (FIG. 16).

【0056】図20は、両脚部に相当する部位の位置合
わせ処理の流れを一例として示しており、右脚部及び左
脚部のそれぞれについて、上肢骨26の上端点L1(L
2)の位置合わせを行った後、下肢骨27の下端点Lf1
(Lf2)の位置合わせが行われるようになっている(C
410〜C403)。ここで、図10に示す拘束条件により、
L1(L2)及びLf1(Lf2)が指定されれば、膝に相
当するLk1(Lk2)の位置は自動的に定まるので入力
は行われない。このようにして、各端点の画面上の座標
が算出され、その画面座標と各骨格単位の標準体寸法デ
ータ112(図8)に基づいて実際の空間における端点
の3次元座標が算出される。
FIG. 20 shows, as an example, the flow of the alignment processing of the parts corresponding to both legs. The upper end point L1 (L1) of the upper limb bone 26 of each of the right leg and the left leg is shown.
After performing the alignment of 2), the lower end point Lf1 of the lower limb bone 27
Positioning of (Lf2) is performed (C
410-C403). Here, according to the constraint condition shown in FIG.
If L1 (L2) and Lf1 (Lf2) are designated, the position of Lk1 (Lk2) corresponding to the knee is automatically determined, so no input is made. In this way, the coordinates of each end point on the screen are calculated, and the three-dimensional coordinates of the end point in the actual space are calculated based on the screen coordinates and the standard body size data 112 (FIG. 8) of each skeleton unit.

【0057】次に、図16に戻ってS1110に進み、上記
位置合わせ処理では駆動データの生成が困難ないし不可
能な骨格単位ないし部位に対し、それらの空間位置の補
助入力処理を、マウス12ないしキーボード13を使用
することにより行う。この入力処理は、上記位置合わせ
処理とは別のウィンドウを開き、そのウィンドウ上に該
当する骨格単位ないし部位の画像を表示して、位置設定
のために予め用意された各種処理コマンド(例えば骨格
単位の平行移動、あるいは回転など)を、マウス12あ
るいはキーボード13からの入力により選択・実行しな
がら、骨格単位や部位毎に個別に入力を行ってゆく。
Next, returning to FIG. 16 and proceeding to S1110, auxiliary input processing of the spatial position of the skeleton unit or site for which it is difficult or impossible to generate drive data by the above-mentioned alignment processing is performed by the mouse 12 or. This is done by using the keyboard 13. This input processing opens a window different from the above-mentioned registration processing, displays the image of the corresponding skeleton unit or site on the window, and displays various processing commands (for example, skeleton unit) prepared in advance for position setting. Parallel movement, rotation, etc.) are selected and executed by inputting from the mouse 12 or the keyboard 13, while inputting individually for each skeleton unit or site.

【0058】以上で、1つのコマに対する入力処理が終
了するが、次のコマの処理に移る場合はコマ番号を更新
し、直前のコマの骨格画像38及びモデル画像39を描
画しなおすとともに(S1111〜S1113)、S1107に返って
処理を繰り返す。一方、コマへの入力作業を終了する場
合は(S1114〜S1116)、ウィンドウW1とW2を閉じて図
15のS1200に進む。
When the input process for one frame is completed as described above, but when the process proceeds to the next frame, the frame number is updated, and the skeleton image 38 and the model image 39 of the immediately preceding frame are redrawn (S1111). ~ S1113), and returns to S1107 to repeat the process. On the other hand, when finishing the input work to the frame (S1114 to S1116), the windows W1 and W2 are closed and the process proceeds to S1200 in FIG.

【0059】ここで、上述のようにして得られた各端点
の変位データが、そのまま駆動データとして使用される
場合にはS1300に進むが、その変位データから各アクチ
ュエータの駆動量の算出まで行う場合には、S1200の処
理、すなわち上記入力により得られた、各コマ毎の骨格
単位の端点の空間位置座標に基づいて、骨格単位を駆動
するアクチュエータの駆動量を算出する処理が挿入され
る。すなわち、図21に示すように、隣り合う2枚のコ
マの番号を指定して、その各骨格単位の端点の空間位置
座標を読み込み、その空間位置座標に基づいて各骨格単
位間に設けられたアクチュエータの駆動量が算出される
(C501〜C503)。その算出処理の内容は、前述の駆動量
算出プログラム216により各アクチュエータの駆動量
を算出する処理とほぼ同様であるので詳しい説明は省略
する。なお、最初のコマの骨格画像が正対ポーズのもの
でない場合は、基準データ記憶部113(図8)に格納
されたアクチュエータの基準位置をもとに、その最初の
コマに対する各アクチュエータの駆動位置を算出してお
けばよい。
Here, when the displacement data of each end point obtained as described above is used as it is as drive data, the process proceeds to S1300. However, when the displacement data is calculated from the displacement data In step S1200, a process for calculating the drive amount of the actuator that drives the skeleton unit is inserted based on the spatial position coordinates of the end points of the skeleton unit for each frame obtained by the above input. That is, as shown in FIG. 21, the numbers of two adjacent frames are designated, the spatial position coordinates of the end points of the respective skeleton units are read, and the space positions are provided between the skeleton units based on the spatial position coordinates. The drive amount of the actuator is calculated (C501 to C503). The content of the calculation process is almost the same as the process of calculating the drive amount of each actuator by the drive amount calculation program 216 described above, and thus detailed description thereof will be omitted. If the skeleton image of the first frame is not of the facing pose, the drive position of each actuator for the first frame is determined based on the reference position of the actuator stored in the reference data storage unit 113 (FIG. 8). Should be calculated.

【0060】次に、図15のS1300に進み、入力が終わ
った各コマに対しロボット動作の実時間軸上の時間を設
定する。その処理の詳細を図22のフローチャートに示
す。すなわち、時間設定用のウィンドウを開いて骨格画
像データをコマ番号順に読み出し、ウィンドウ内に骨格
画像を順次表示しながら時間入力を行ってゆく(C601〜
C605)。そして、C6051において、直前のコマとの時間
間隔から各アクチュエータの駆動速度を算出し、C606に
おいて、その時間間隔で全てのアクチュエータが駆動完
了できるかどうかを判定する。完了できるようであれ
ば、C607でその入力された時間及びアクチュエータ駆動
速度を格納し、C608でコマ番号をインクリメントしてC6
03に戻り、処理を繰り返す。また、駆動完了できないよ
うであればC605に戻って時間入力をやり直す。そして、
時間の入力処理が終わるとC612でウィンドウを閉じて図
15のS1400に進む。
Next, proceeding to S1300 in FIG. 15, the time on the real time axis of the robot operation is set for each frame for which input has been completed. The details of the processing are shown in the flowchart of FIG. That is, the window for setting the time is opened, the skeleton image data is read in the order of frame numbers, and the time is input while sequentially displaying the skeleton images in the window (C601-
C605). Then, in C6051, the driving speed of each actuator is calculated from the time interval from the immediately preceding frame, and in C606, it is determined whether or not all the actuators can be driven 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, and C6 is incremented.
Return to 03 and repeat the process. If the driving cannot be completed, the process returns to C605 and the time is input again. And
When the time input process ends, the window is closed at C612 and the process proceeds to S1400 in FIG.

【0061】S1400では、最終的に得られた駆動データ
を駆動データ記憶装置10に記憶・保存する。その処理
の流れは図23に示す通りであって、まず、C701で中位
動作コマンド名を入力する。そして、駆動データはその
部位別に分割され(C702)、それぞれデータ送信プログ
ラム(PA、PB、・・・等、図3)が挿入されて下位動
作データのサブファイルが形成される(C702)。そし
て、それらサブファイルが、入力された中位動作コマン
ド名で統合されて、中位動作ルーチンとして記憶装置1
0に保存される(C703)。なお、各下位動作データのサ
ブファイルは、互いに異なる中位動作ルーチン間での交
換や差し替えが可能とされている。
In S1400, the drive data finally obtained is stored / stored in the drive data storage device 10. The flow of the process is as shown in FIG. 23. First, the middle level operation command name is input at C701. Then, the drive data is divided for each part (C702), and a data transmission program (PA, PB, ..., FIG. 3) is inserted into each to form a sub-file of the lower operation data (C702). Then, these subfiles are integrated by the input middle-level operation command name, and the storage device 1 is integrated as a middle-level operation routine.
It is saved in 0 (C703). In addition, the sub-files of the respective lower-order operation data can be exchanged or replaced between different middle-level operation routines.

【0062】次に、このようにして作成された駆動デー
タの修正を行いたい場合には、図15のS2000以下の処
理が実行される。まず、S2100で動作名入力により駆動
データのファイルを指定し、S2200でそのデータが読み
込まれる。そして、S2300でその修正処理が行われる
が、その処理の詳細は図24に示されている。まず、修
正入力用ウィンドウ(図28等に示す位置決め入力用の
ウィンドウと同型式)を開き(C801、C802)、先順のコ
マのものから順に骨格画像データが読み込まれて、ウィ
ンドウに骨格画像が描かれる(C803、C804)。そして、
コマの修正、コマの削除、コマの追加、コマの逐次表示
等、修正のために用意された処理メニューから、所望の
項目を選択して、その項目に対応する処理を行うことと
なる。
Next, when it is desired to correct the drive data created in this way, the processing from S2000 onward in FIG. 15 is executed. First, in S2100, a drive data file is specified by inputting an operation name, and the data is read in S2200. Then, the correction process is performed in S2300, and the details of the process are shown in FIG. First, open the correction input window (the same model as the positioning input window shown in FIG. 28) (C801, C802), the skeletal image data is read in order from the previous frame, and the skeletal image is displayed in the window. It is drawn (C803, C804). And
A desired item is selected from a processing menu prepared for correction such as correction of a frame, deletion of a frame, addition of a frame, and sequential display of frames, and a process corresponding to the selected item is performed.

【0063】すなわち、コマ修正を選択した場合は、表
示されたコマの骨格画像の修正(例えば、骨格単位の重
ね位置の変更など)が行われる(C808、C809)。また、
コマ削除を選択した場合は表示されたコマの削除が行わ
れる(C810、C811)、コマの追加が選択された場合は、
表示されたコマの次に新規のコマを挿入し、入力時と同
様の操作・処理により骨格画像のモデル画像への重ね入
力等が行われ(C812、C813 )。さらに、コマの逐次表
示が選択された場合には、各コマの骨格画像を時系列順
に、一定の時間間隔で逐次ウィンドウに表示する処理が
行われる(C814、C815)。そして、処理が終了すれば、
C817でコマ番号を更新してC805に返って、処理を繰り返
す。また、処理が終わればC818でウィンドウを閉じて図
15のS2400に進む。また、S2400では、修正、追加、削
除されたコマの前後で、駆動データの更新を行い、S250
0でこれを保存して処理を終了する。
That is, when the frame correction is selected, the skeleton image of the displayed frame is corrected (for example, the overlapping position of the skeleton unit is changed) (C808, C809). Also,
If you select to delete frames, the displayed frame will be deleted (C810, C811). If you select to add a frame,
A new frame is inserted next to the displayed frame, and the skeleton image is overlaid on the model image by the same operation and processing as at the time of input (C812, C813). Further, when the sequential display of the frames is selected, a process of sequentially displaying the skeleton images of the respective frames in a time-sequential order in a window at regular time intervals is performed (C814, C815). And when the process ends,
The frame number is updated with C817, returned to C805, and the process is repeated. When the processing is completed, the window is closed at C818 and the process proceeds to S2400 in FIG. Also, in S2400, the drive data is updated before and after the frames that have been corrected, added, or deleted.
Save this with 0 to end the process.

【0064】次に、作成した駆動データに基づいて、グ
ラフィックシュミレータ151により、実際のロボット
の動きを試演することができる。この場合は、図15の
S3000以下の処理となるが、まずS3100で試演させたい動
作名を入力すると、S3200でその動作の試演処理が開始
される。その処理の概略であるが、まずその動作名で保
存されている駆動データを読み出して、これを試演開始
命令信号とともにグラフィックシュミレータ151側へ
転送する。グラフィックシュミレータ151はこれを受
けて、ROM155(図9)に格納されたロボット画像
データ生成プログラム155aによりロボットの画像を
合成し、受信した駆動データに基づいてシュミレートプ
ログラム155bにより、CRT159にロボット動作
試演の動画を表示する。なお、キーボード161からの
入力により、試演動画を早送りあるいはスロー再生した
り、あるいは特定の部位の動きを拡大表示するなど、画
像のコントロールを行うようにすることができる。な
お、グラフィックシュミレータ151は省略することも
できる。
Next, based on the created drive data, the graphic simulator 151 can demonstrate the actual movement of the robot. In this case,
The process is from S3000 onwards, but first enter the name of the action you want to perform in S3100, and the demonstration process for that action will start in S3200. The outline of the processing is as follows. First, the drive data stored under the operation name is read out, and this is 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. 9), and based on the received drive data, the simulation program 155b causes the CRT 159 to perform a robot operation demonstration. Display the video. By inputting from the keyboard 161, it is possible to perform image control such as fast-forwarding or slow-moving the demonstration movie, or enlarging and displaying the movement of a specific part. The graphic simulator 151 may be omitted.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明のロボットシステムの全体構成を示すブ
ロック図。
FIG. 1 is a block diagram showing the overall configuration of a robot system of the present invention.

【図2】ロボット骨格の模式図。FIG. 2 is a schematic diagram of a robot skeleton.

【図3】ロボット制御部の記憶装置の内容を示す説明
図。
FIG. 3 is an explanatory diagram showing the contents of a storage device of a robot controller.

【図4】上位動作プログラムの一例を示す説明図。FIG. 4 is an explanatory diagram showing an example of a higher-level operation program.

【図5】ロボット制御部のRAMの内容を示す説明図。FIG. 5 is an explanatory diagram showing the contents of a RAM of a robot controller.

【図6】算出・駆動制御部の構成を示すブロック図。FIG. 6 is a block diagram showing a configuration of a calculation / drive control unit.

【図7】駆動データ作成装置の一構成例を示すブロック
図。
FIG. 7 is a block diagram showing a configuration example of a drive data creation device.

【図8】そのプログラム記憶装置の内容を示す説明図。FIG. 8 is an explanatory diagram showing the contents of the program storage device.

【図9】グラフィックシュミレータの構成を示すブロッ
ク図。
FIG. 9 is a block diagram showing a configuration of a graphic simulator.

【図10】脚部骨格に対する拘束条件の説明図。FIG. 10 is an explanatory diagram of constraint conditions for the leg skeleton.

【図11】上位動作プログラムによる処理の流れを示す
フローチャート。
FIG. 11 is a flowchart showing the flow of processing by a higher-level operation program.

【図12】中位動作ルーチンの処理の流れを示すフロー
チャート。
FIG. 12 is a flowchart showing a processing flow of a middle-level operation routine.

【図13】アクチュエータの駆動量を算出する方法の説
明図。
FIG. 13 is an explanatory diagram of a method of calculating a drive amount of an actuator.

【図14】ロボットの動作の流れをプログラム階層と対
応付けて説明する図。
FIG. 14 is a diagram illustrating the flow of the operation of the robot in association with the program hierarchy.

【図15】駆動データ作成装置の全体の処理の流れを示
すフローチャート。
FIG. 15 is a flowchart showing the overall processing flow of the drive data creation device.

【図16】その入力処理のフローチャート。FIG. 16 is a flowchart of the input process.

【図17】その入力処理において、骨格単位長さを定め
る処理の流れを示すフローチャート。
FIG. 17 is a flowchart showing a flow of processing for determining a skeleton unit length in the input processing.

【図18】同じく、各骨格単位の端点の位置合わせ処理
の流れを示すフローチャート。
FIG. 18 is a flow chart showing a flow of alignment processing of the end points of each skeleton unit.

【図19】同じく、骨格の端点の座標を算出する処理の
流れを示すフローチャート。
FIG. 19 is a flow chart showing the flow of processing for calculating the coordinates of the end points of the skeleton.

【図20】同じく、脚部を作る骨格単位の端点の座標を
算出する処理の流れを示すフローチャート。
FIG. 20 is a flow chart showing the flow of processing for calculating the coordinates of the end points of the skeleton units that make up the legs.

【図21】同じく、駆動データ算出の流れを示すフロー
チャート。
FIG. 21 is a flow chart showing a flow of driving data calculation.

【図22】同じく、時間入力処理の流れを示すフローチ
ャート。
FIG. 22 is a flow chart showing a flow of time input processing.

【図23】同じく、駆動データ保存処理の流れを示すフ
ローチャート。
FIG. 23 is a flowchart similarly showing the flow of drive data storage processing.

【図24】修正処理の流れを示すフローチャート。FIG. 24 is a flowchart showing the flow of correction processing.

【図25】動画のコマの模式図。FIG. 25 is a schematic diagram of moving image frames.

【図26】コマの時間軸上における配列の一例を示す模
式図。
FIG. 26 is a schematic diagram showing an example of an arrangement of frames on a time axis.

【図27】正対モデルに対する骨格画像の寸法合わせ処
理の説明図。
FIG. 27 is an explanatory diagram of a skeletal image dimension matching process for the facing model.

【図28】骨格画像のモデル画像に対する位置合わせ処
理の説明図
FIG. 28 is an explanatory diagram of alignment processing of a skeleton image with respect to a model image.

【符号の説明】[Explanation of symbols]

1 駆動データ作成装置 5 システム制御部(駆動データ演算手段) 200 ロボットシステム 201 ロボット 202 ロボット制御部 204 CPU(読出制御部) 205 RAM 205a 上位動作プログラム格納部 205b 中位動作コマンド解析プログラム格納部 205c 中位動作ルーチン格納部(I) 205c 中位動作ルーチン格納部(II) 205e データ送信プログラム格納部 207 記憶装置 207a 上位動作プログラム記憶部 207b 中位動作コマンド解析プログラム記憶部 207c 中位動作ルーチン記憶部 207d 中位動作補正プログラム記憶部 207e データ送信プログラム記憶部 207f 書換用プログラム記憶部 208 入力装置(プログラム書換手段) 212 算出・駆動制御部 213 アクチュエータ 1 Drive Data Generation Device 5 System Control Unit (Drive Data Calculation Means) 200 Robot System 201 Robot 202 Robot Control Unit 204 CPU (Read Control Unit) 205 RAM 205a Upper Operation Program Storage 205b Medium Operation Command Analysis Program Storage 205c Medium Position operation routine storage unit (I) 205c middle level operation routine storage unit (II) 205e data transmission program storage unit 207 storage device 207a upper level operation program storage unit 207b middle level operation command analysis program storage unit 207c middle level operation routine storage unit 207d Medium operation correction program storage unit 207e Data transmission program storage unit 207f Rewriting program storage unit 208 Input device (program rewriting unit) 212 Calculation / drive control unit 213 Actuator

───────────────────────────────────────────────────── フロントページの続き (72)発明者 加藤 輝雄 愛知県名古屋市東区泉二丁目28番24号 リ コーエレメックス株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Teruo Kato 2-28-24 Izumi 2-chome, Higashi-ku, Nagoya-shi, Aichi Ricoh Elemex Co., Ltd.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 複数のロボット部位に設けられたアクチ
ュエータの駆動に関する駆動データを単位として下位動
作データを形成し、 その下位動作データを複数統合してロボットの基本動作
を規定する中位動作ルーチンを構築し、 それら各中位動作ルーチンに中位動作コマンドを対応さ
せ、 その中位動作コマンドの組み合わせにより上位動作プロ
グラムを規定し、 その上位動作プログラムを前記中位動作コマンドの単位
で読み出しつつ、その読み出された各中位動作コマンド
に対応する中位動作ルーチンの組み合わせに基づいて、
前記アクチュエータの駆動を制御することを特徴とする
ロボットの制御方法。
1. A medium-level operation routine that forms lower-order operation data in units of drive data relating to the drive of actuators provided in a plurality of robot parts, and integrates the plurality of lower-order operation data to define a basic operation of the robot. The middle-level operation command is made to correspond to each of the middle-level operation routines, and the upper-level operation program is defined by the combination of the middle-level operation commands. Based on the combination of medium-level operation routines corresponding to each medium-level operation command read,
A method for controlling a robot, comprising controlling driving of the actuator.
【請求項2】 複数のロボット部位に設けられたアクチ
ュエータの駆動に関する駆動データを単位とする下位動
作データが複数統合されて構築された、ロボットの基本
動作を規定する中位動作ルーチン及びこれと対応付けら
れた中位動作コマンドを用い、これら中位動作コマンド
の組み合わせにより規定される上位動作プログラムを記
憶するプログラム記憶部と、 そのプログラム記憶部に記憶された前記上位動作プログ
ラムを、前記中位動作コマンドの単位で読み出すプログ
ラム読出手段と、 その読み出された各中位動作コマンドに対応する中位動
作ルーチンの組み合わせに基づいて、前記アクチュエー
タの駆動を制御するアクチュエータ動作制御部と、 を含むことを特徴とするロボットシステム。
2. A middle-level operation routine that defines a basic operation of the robot, which is constructed by integrating a plurality of lower-order operation data in units of drive data related to the drive of actuators provided in a plurality of robot parts, and corresponding thereto. Using the attached middle-level operation command, the program storage section that stores the upper-level operation program defined by the combination of these middle-level operation commands, and the higher-level operation program stored in the program storage section Program read means for reading in units of commands, and an actuator operation control unit for controlling the drive of the actuator based on a combination of the intermediate operation routines corresponding to the read intermediate operation commands. Characteristic robot system.
【請求項3】 前記プログラム記憶部に記憶された前記
中位動作コマンドの組み合わせに基づく前記上位動作プ
ログラムに対し、その中位動作コマンドの組み替え、追
加、削除の少なくともいずれかを指令して前記上位動作
プログラムの書換えを行う、上位動作プログラム書換手
段を備えた請求項2記載のロボットシステム。
3. The high-order operation program is instructed to the upper-order operation program based on the combination of the middle-order operation commands stored in the program storage unit, and at least one of the middle-order operation commands is rearranged, added, or deleted. The robot system according to claim 2, further comprising a higher-order operation program rewriting means for rewriting the operation program.
【請求項4】 前記下位動作データを形成する駆動デー
タは、前記アクチュエータの駆動量を算出するための駆
動量算出用データとされるとともに、前記アクチュエー
タ動作制御部は、 前記各ロボット部位毎に設けられ、前記駆動量算出用デ
ータに基づいて、そのロボット部位に含まれるアクチュ
エータの駆動量をそれぞれ算出し、その算出された駆動
量に基づいて前記アクチュエータの駆動を制御する算出
・駆動制御手段と、 前記中位動作ルーチンに基づく前記下位動作データの実
行に伴い、前記駆動量算出用データを前記算出・駆動制
御手段にそれぞれ送信するデータ送信手段と、 を含む請求項2又は3のいずれかに記載のロボットシス
テム。
4. The drive data forming the lower order motion data is drive amount calculation data for calculating the drive amount of the actuator, and the actuator operation control unit is provided for each robot part. Calculating / driving control means for respectively calculating the driving amount of the actuator included in the robot part based on the driving amount calculation data, and controlling the driving of the actuator based on the calculated driving amount; 4. A data transmission unit that transmits the drive amount calculation data to the calculation / drive control unit when the lower-order operation data is executed based on the middle-level operation routine. Robot system.
【請求項5】 前記複数のロボット部位のうちの少なく
とも一部のものが、複数の骨格単位とそれら骨格単位の
間に配置された前記アクチュエータとを有する骨格を備
えるものとされ、 そのロボット部位に対応する前記駆動量算出用データ
は、ロボット動作の各時間毎の、前記各骨格単位の変位
データを含むものとされ、 前記算出・駆動制御手段は、前記骨格単位の、時間的に
相前後する前記変位データに基づいて、その骨格単位に
対応するアクチュエータの駆動量を算出するものとされ
る請求項4記載のロボットシステム。
5. At least a part of the plurality of robot parts is provided with a skeleton having a plurality of skeletal units and the actuator arranged between the skeletal units, and the robot parts are provided in the robot parts. The corresponding drive amount calculation data is assumed to include displacement data of each skeleton unit for each time of robot operation, and the calculation / drive control means sequentially moves the skeleton units in time. The robot system according to claim 4, wherein the drive amount of the actuator corresponding to the skeleton unit is calculated based on the displacement data.
【請求項6】 前記骨格の任意の1つの骨格単位(以
下、第一骨格単位という)と、その第一骨格単位にアク
チュエータを介して結合された第二骨格単位とに対し、
前記算出・駆動制御手段は、 相前後する時刻における、前記第一骨格単位及び前記第
二骨格単位の各位置に対し、回転移動又は並進移動の少
なくとも一方を施して、それら各時刻における第一骨格
単位同士を重ね合わせる処理を行い、その状態で前記時
刻間における前記第二骨格単位の変位を算出し、その算
出結果に基づいて、前記アクチュエータの駆動量を算出
するものとされる請求項5記載のロボットシステム。
6. An arbitrary one skeleton unit (hereinafter, referred to as a first skeleton unit) of the skeleton and a second skeleton unit bonded to the first skeleton unit via an actuator,
The calculation / drive control means performs at least one of rotational movement and translational movement on each position of the first skeleton unit and the second skeleton unit at successive times, and the first skeleton at each time. The process of superposing units is performed, the displacement of the second skeleton unit between the times is calculated in that state, and the drive amount of the actuator is calculated based on the calculation result. Robot system.
【請求項7】 前記複数のロボット部位のうちの少なく
とも一部のものが、複数の骨格単位とそれら骨格単位の
間に配置された前記アクチュエータとを有する骨格を備
えるものとされるとともに、 前記駆動データを作成するための駆動データ作成装置で
あって、 ロボット動作に対応するモデルの動作を経時的に記録し
た一連のモデル画像と、前記骨格の画像を表示する画像
表示手段と、 その表示手段において前記骨格画像を、前記モデル画像
に対して位置合わせする骨格位置決め手段と、 時間軸上において互いに前後するモデル画像に対しそれ
ぞれ位置合わせされた前記骨格画像の変位に基づいて、
前記駆動データを算出するデータ演算手段と、 を含む駆動データ作成装置を備えた請求項2ないし6の
いずれかに記載のロボットシステム。
7. At least a part of the plurality of robot parts includes a skeleton having a plurality of skeleton units and the actuator arranged between the skeleton units, and the drive is provided. A drive data creation device for creating data, comprising a series of model images in which model motions corresponding to robot motions are recorded over time, image display means for displaying the image of the skeleton, and the display means. Based on the skeleton positioning means for aligning the skeleton image with respect to the model image, and the displacement of the skeleton image respectively aligned with respect to the model images that are in front of and behind each other on the time axis,
The robot system according to any one of claims 2 to 6, further comprising: a drive data creation device including: a data calculation unit that calculates the drive data.
【請求項8】 前記駆動データ作成装置の前記骨格位置
決め手段は、前記表示手段において前記骨格画像を、前
記モデル画像に対し重ね合わせることにより、該モデル
画像に対して位置合わせするものとされる請求項7記載
のロボットシステム。
8. The skeleton positioning means of the drive data creating apparatus is adapted to position the skeleton image on the model image by superimposing the skeleton image on the model image on the display means. Item 7. The robot system according to Item 7.
JP7148150A 1995-05-22 1995-05-22 Robot control method and robot system Expired - Fee Related JP2820639B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7148150A JP2820639B2 (en) 1995-05-22 1995-05-22 Robot control method and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7148150A JP2820639B2 (en) 1995-05-22 1995-05-22 Robot control method and robot system

Publications (2)

Publication Number Publication Date
JPH08314524A true JPH08314524A (en) 1996-11-29
JP2820639B2 JP2820639B2 (en) 1998-11-05

Family

ID=15446388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7148150A Expired - Fee Related JP2820639B2 (en) 1995-05-22 1995-05-22 Robot control method and robot system

Country Status (1)

Country Link
JP (1) JP2820639B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998051454A1 (en) * 1997-05-12 1998-11-19 Kawasaki Jukogyo Kabushiki Kaisha Robot controller
JP2002120174A (en) * 2000-10-11 2002-04-23 Sony Corp Authoring system, authoring method and storage medium
WO2003043788A1 (en) * 2001-11-19 2003-05-30 Japan Science And Technology Corporation Two-legged walking type human-shaped robot
JP2011121167A (en) * 2009-12-09 2011-06-23 Korea Electronics Telecommun Method of achieving task based on action of robot system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998051454A1 (en) * 1997-05-12 1998-11-19 Kawasaki Jukogyo Kabushiki Kaisha Robot controller
US6218802B1 (en) 1997-05-12 2001-04-17 Kawasaki Jukogyo Kabushiki Kaisha Robot control unit
JP2002120174A (en) * 2000-10-11 2002-04-23 Sony Corp Authoring system, authoring method and storage medium
WO2003043788A1 (en) * 2001-11-19 2003-05-30 Japan Science And Technology Corporation Two-legged walking type human-shaped robot
JP2011121167A (en) * 2009-12-09 2011-06-23 Korea Electronics Telecommun Method of achieving task based on action of robot system

Also Published As

Publication number Publication date
JP2820639B2 (en) 1998-11-05

Similar Documents

Publication Publication Date Title
US8390628B2 (en) Facial animation using motion capture data
US5692117A (en) Method and apparatus for producing animated drawings and in-between drawings
KR101098834B1 (en) Apparatus and method for generating motion based on dynamics
US7928985B2 (en) Rigging for an animated character moving along a path
EP2549344A1 (en) Controller support device, simulation method of control program, support program of controller and computer-readable storage medium storing support program of controller
JP2006510496A (en) System and method for controlling a robot
JP2008030136A (en) Apparatus and method for compiling action of robot, as well as computer/program
Calvert et al. The integration of subjective and objective data in the animation of human movement
Sanna et al. A kinect-based interface to animate virtual characters
JP2820639B2 (en) Robot control method and robot system
JP3668289B2 (en) Robot motion teaching system
JP4039595B2 (en) Robot system
US7002584B2 (en) Video information producing device
CN111598983A (en) Animation system, animation method, storage medium, and program product
JP3995348B2 (en) Robot system
CN107424207A (en) A kind of Virtual Maintenance Simulation method and device based on data fusion
JPH10302085A (en) Operation recording system for cg model
CN116503522A (en) Interactive picture rendering method, device, equipment, storage medium and program product
JP2714100B2 (en) How to make a video
Magnenat-Thalmann et al. Construction and Animation of a Synthetic Actress.
Vieira Da Silva et al. A new interface paradigm for motion capture based animation systems
CN1731348A (en) Visualized three-dimensional graphic control programming method
CN110782533B (en) System for virtual role interaction control in virtual previewing
JPH0741569B2 (en) Object motion control system
KR102016224B1 (en) texture path searching mathod method using the plug-in program

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees