JP2820639B2 - Robot control method and robot system - Google Patents

Robot control method and robot system

Info

Publication number
JP2820639B2
JP2820639B2 JP7148150A JP14815095A JP2820639B2 JP 2820639 B2 JP2820639 B2 JP 2820639B2 JP 7148150 A JP7148150 A JP 7148150A JP 14815095 A JP14815095 A JP 14815095A JP 2820639 B2 JP2820639 B2 JP 2820639B2
Authority
JP
Japan
Prior art keywords
skeleton
data
robot
drive
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP7148150A
Other languages
Japanese (ja)
Other versions
JPH08314524A (en
Inventor
賢治 神谷
祐一朗 市岡
恵 高野
輝雄 加藤
Original Assignee
中小企業事業団
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 中小企業事業団 filed Critical 中小企業事業団
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)

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 a robot system.

【0002】[0002]

【従来の技術】人間の動きを模写するロボット等、各種
多関節ロボットに所定の動作を行わせる場合、その動作
をプログラミングするために、従来はロボットを駆動す
る各アクチュエータの駆動量を、動作の時系列に従って
個別に設定する方法がとられている。この場合、あるロ
ボットの動作において、複数のロボット部位の動きが同
時にあるいは連係して起こる場合、それらロボット部位
毎にアクチュエータの駆動量を指定しなければならな
い。例えば、「歩く」という動作を例にとれば、これに
は両足の動きの他に、腕の振りや肩の上下といった動作
が付随しており、それら各部の動作のプログラムが個別
に組み立てられる。そして、「1歩前に進み出て礼を
し、そのまま下がってもとの場所に帰る」というよう
な、より複雑な上位動作をプログラミングする場合は、
その上位動作を、「1歩前に進み出る」、「礼をす
る」、「1歩下がる」という下位動作に分解してプログ
ラミング作業が行われる。
2. Description of the Related Art When a variety of articulated robots such as a robot that simulates a human motion perform a predetermined operation, the amount of drive of each actuator that drives the robot is conventionally determined by programming the operation. A method of individually setting the time series is adopted. In this case, in the operation of a certain robot, when the movements of a plurality of robot parts occur simultaneously or in cooperation, the drive amount of the actuator must be specified for each of the robot parts. For example, in the case of the operation of "walking", for example, in addition to the movement of both legs, this operation is accompanied by the operation of swinging the arms and raising and lowering the shoulders, and the programs for the operations of these parts are individually assembled. And if you want to program a more complex higher-level action, such as "go one step forward and thank and go down and go back to where you were,"
The programming operation is performed by disassembling the higher-order operation into lower-order operations of “going forward one step”, “grate”, and “go down one step”.

【0003】[0003]

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

【0004】本発明の課題は、一連の下位動作を含む上
位のロボット動作のプログラミングやその書換えを容易
に行うことができ、ひいてはロボットに多様な動作を比
較的簡単に行なわせることができるロボットの制御方法
及びロボットシステムを提供することにある。
[0004] It is an object of the present invention to provide a robot capable of easily performing programming and rewriting of a higher-order robot operation including a series of lower-order operations, and thereby allowing the robot to perform various operations 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 according to the present invention forms lower-order operation data in units of drive data relating to driving actuators provided in a plurality of robot parts. A middle-level operation routine that defines the basic operation of the robot is constructed by integrating a plurality of the lower-level operation data, and a middle-level operation command is assigned to each of the middle-level operation routines. And controlling the driving of the actuator based on a combination of the middle-level operation routines corresponding to the read-out middle-level operation commands while reading out the higher-level operation program in units of the middle-level operation commands. Features.

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

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

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

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

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

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

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

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

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

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

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

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

【0018】ロボットの骨格は、具体的には、関節機構
によって結合された複数の骨格単位を含み、それら骨格
単位はそれら関節機構に設けられたアクチュエータによ
り駆動されるように構成することができる。この場合、
モデルに対して予め基準姿勢を設定しておき、また、駆
動データ演算手段に、その基準姿勢のモデル画像に対し
位置合わせされた骨格画像に対する各アクチュエータ
の、その基準位置を含む基準データを記憶する基準デー
タ記憶手段を設けることができる。そして駆動データ演
算手段は、その基準データに基づいて各時刻における各
骨格単位の変位を算出し、あるいはその変位に基づいて
各アクチュエータの駆動量を算出する。
Specifically, the skeleton of the robot includes a plurality of skeleton units connected by joint mechanisms, and these skeleton units can be configured to be driven by actuators provided in the joint mechanisms. in this case,
A reference posture is set in advance for the model, and reference data including the reference position of each actuator for the skeleton image aligned with the model image of the reference posture is stored in the drive data calculation means. Reference data storage means may be provided. 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. Can be. As a more specific device configuration for that purpose, for example, the following can be exemplified. That is, a pointing device such as a mouse or a trackball is provided in the skeleton positioning means, and a pointer that moves on the screen along with the operation of the pointing device is displayed on the display screen together with the model image and the skeleton image on the display screen. Let it. Then, when aligning the skeleton image with the model image, select the landmark point to be aligned, position the pointer at the alignment position set on the model image, and attach the pointer to the pointing device. By operating the input unit and designating the alignment position of the landmark point, the skeleton unit is positioned at a position corresponding to the landmark point of the positioning. In this way, the operation of aligning 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 group, and a predetermined constraint condition can be set for the relative positional relationship between the skeleton units included in the group. And
By designating the alignment position with respect to the model image for some of the landmark points of the skeleton unit belonging to the set, the alignment position of the remaining landmark points is determined based on the constraint condition. can do.
By doing so, the position adjustment operation can be simplified and the working time can be shortened, and also the effect of preventing the inconvenience of specifying a structurally impossible position for the robot part can be obtained.

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

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

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

【0024】[0024]

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

【0025】ロボット制御部202は、CPU204と
これに接続されるRAM205、ROM206、ハード
ディスク装置等で構成される記憶装置207、キーボー
ド等の入力装置208、表示制御部210等を備える。
そして、表示制御部210にはCRT等の表示装置21
1が接続され、また、CPU204には通信インターフ
ェース203が接続される。
The robot control unit 202 includes a CPU 204, a RAM 205 and a ROM 206 connected thereto, a storage device 207 including a hard disk device, an input device 208 such as a keyboard, a display control unit 210, and the like.
The display control unit 210 includes a display device 21 such as a CRT.
1 is connected, and a 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 configured as, for example, a robot that mimics the movement of a human, and includes a skeleton 19 in which skeleton units 20 to 30 are connected to each other by joint mechanisms 31 to 37 as shown in FIG. Then, this skeleton includes, for example, the following robot parts (hereinafter, parts A, B, and C)
.. Etc.). -Head (20): Equipped with a drivable eye 20a and a mouth 20c, a blinkable lamp 20b is arranged in the eye 20a, and the mouth 20c can be opened and closed. -Torso: includes shoulder 21, spine 22, and hip 23. -Left and right arms: provided with a humerus 24, a lower humerus 25, and a wrist 29, respectively. Left and right legs: provided with an upper limb bone 26, a lower limb bone 27, and an ankle 30, respectively.

【0027】そして、図1に示すようにロボット201
には、上記各部位A、B、C等のそれぞれに対応して算
出・駆動制御部(算出・駆動制御手段)212が設けら
れ、ロボット制御部202のCPU204にそれぞれ接
続されている。そして、これら算出・駆動制御部212
に対し、各部位に含まれるアクチュエータ213が接続
されている。なお、図2の各関節機構31〜37に設け
られるアクチュエータの種類(パルスモータ、サーボモ
ータ、ピストンシリンダ等)と軸の本数、軸の回転の自
由度、及び軸の回転ないしピストンのスライドの範囲等
は各骨格単位毎に個別に設定されている。
Then, as shown in FIG.
Are provided with calculation / drive control units (calculation / drive control means) 212 corresponding to the respective parts A, B, C, etc., and are connected to the CPU 204 of the robot control unit 202, respectively. Then, these calculation / drive control units 212
, An actuator 213 included in each part is connected. The types of actuators (pulse motors, servomotors, piston cylinders, etc.) and the number of shafts, the degree of freedom of shaft rotation, and the range of shaft rotation or piston sliding provided in each of the joint mechanisms 31 to 37 in FIG. Are set individually 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 stores a higher-order operation program storage unit 207a, a middle-order operation command analysis program storage unit 2
07b, a medium operation routine storage unit 207c, a medium operation correction program storage unit 207d, and a rewriting program storage unit 207f, each of which 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-level operation program: A desired higher-level operation is described by selecting and arranging appropriate middle-level operation commands prepared in advance. For example, when the robot 201 wants to perform a series of higher-order operations such as "walk rightward, walk four steps, turn right, step one and a half steps, and pose for karate chop", the higher-order operation program is as shown in FIG. "Turn right", "right leg half step", "left leg one step"
The commands of the middle operation (middle operation commands) constituting the higher operation are arranged in the order of execution in principle.

【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,
For each of B, C,..., Drive data DA1, DA2,.
2, ..., etc., and drive data of each part
Data transmission programs PA, PB,... For transmission to the drive control unit 212 are included. These data transmission programs PA, PB,..., Etc. perform the operations defined by the parts A, B, C,. For example, for a middle motion of “one step of the right leg”, the right leg takes a stepping action,
And the left and right arms perform the forward and backward swing motions in accordance with the stepping), and sequentially transmit the drive data DA1 and DA2 of each actuator to the drive data calculation unit 212 of each part. Here, each data transmission program PA, P
B, etc. are the corresponding drive data sets (DA1, DA2,
..), (DB1, DB2,...), Etc., constitute lower operation data. Here, drive data DA1, D
A2,..., And the like include displacement data of both ends of the skeleton unit driven by each actuator at each time, but may also be angle data between skeleton units. On the other hand, the drive data DA1, DA2,..., Etc. may be the drive amount of each actuator for each time.

【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 the corresponding medium-level operation programs are sequentially activated. (4) Intermediate motion correction program: When the robot's operation start position based on the intermediate operation routine does not match the robot operation end position according to the immediately preceding intermediate operation routine, a correction operation necessary for connecting the operations. Generate (5) Rewriting program: Rewrites or newly creates a higher-level operation program. Specifically, a program creation screen is opened on the display device 211 (FIG. 1), a higher-level operation command is input using the input device 208 in a format as shown in FIG. 4, and a higher-level operation program name is given to the input content. do it,
It is stored in the higher-level operation program storage unit 207a of the storage device 207. Also, the stored higher-level operation program is displayed on a program creation screen, and upper-level operation commands are added, deleted, inserted, and the like based on an input from the input device 208, and the program is corrected and 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 has a higher-level operation program storage section 205a, a medium-level operation command analysis program storage section 205b, a medium-level operation routine storage section (I) 205c, and a medium-level operation routine storage section. (II) 20
5d and the like are formed to store corresponding programs, data, and the like read from the storage device 207, respectively. Here, the intermediate operation routine storage unit is (I)
(II) is provided in such a manner that the intermediate operation routine to be executed next is read and stored in advance, so that the robot 201 reads data from the storage device 207 when the robot 201 moves to the next operation. This is to reduce the response delay based on

【0033】また、算出・駆動制御部212は、図6に
示すように、それぞれCPU214、RAM215、R
OM216等を備え、ROM216には駆動量算出プロ
グラム216aが格納されている。そして、算出・駆動
制御部212は中位動作ルーチンの実行に伴い、ロボッ
ト制御部202側から受信した駆動データDA1、DA2、・
・・等に基づいて、CPU214に接続された各アクチ
ュエータ213(図1)の駆動量を時系列順に算出し、
その算出結果に基づいて各アクチュエータ213を駆動
する。その算出方法については後述する。
As shown in FIG. 6, the calculation / drive control unit 212 includes a CPU 214, a RAM 215, and an R
A drive amount calculation program 216a is stored in the ROM 216. The calculation / drive control unit 212 drives the drive data DA1, DA2,.
.., Etc., the drive amounts of the actuators 213 (FIG. 1) connected to the CPU 214 are calculated 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にはクリックボタン(入力部)を備え
た骨格位置決め手段として、マウス12、キーボード1
3が接続されている。
FIG. 7 is a block diagram showing an example of the configuration of the drive data creation device 1. The drive data creation device 1 includes a CPU 2, a ROM 3, and a RAM that constitute drive data calculation means.
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 are connected to the device control unit 5 including . The input device interface 8 includes a mouse 12 and a keyboard 1 as skeleton positioning means having a click button (input unit).
3 are connected.

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

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

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

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

【0039】(9)コマ修正プログラム104:指定され
たコマにおいて、骨格画像の位置合わせ処理により入力
された駆動データの変更修正(例えば骨格単位の位置変
更等)を行う。なお、前述の拘束条件で結ばれた骨格単
位のいずれかの位置を変更した場合、その拘束条件が破
れないように他の骨格単位の位置も自動修正する。 (10)コマ削除・追加プログラム105:指定されたコマ
のデータを削除し、また、指定されたコマ位置の次に新
規駆動データ入力を行うコマの追加・挿入を行う。 (11)逐次表示プログラム106:各コマの骨格画像を時
系列順に、一定の時間間隔で逐次画面に表示する。これ
により、骨格画像の大まかな動きの変化を確認すること
ができ、実際のロボット動作の簡易シュミレート手段と
して利用することができる。 (12)不要部位設定プログラム107:骨格画像38の位
置合わせ処理時に、駆動データの演算が不要な部位の設
定を行う。例えば、対象となる動作において、特定の部
位がほとんど動かないことがわかっている場合には、そ
の部位に対し不要部位設定を行うことにより、その部位
が、定められた位置に固定化されるとともに、該部位に
対する骨格画像38の位置合わせ処理がスキップされ
る。
(9) Frame correction program 104: Changes and corrects (eg, changes the position of skeleton units, etc.) the drive data input by the skeleton image alignment process in the specified frame. When one of the positions of the skeleton units connected under the above-described constraint conditions is changed, the positions of other skeleton units are automatically corrected so that the restriction conditions are 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 displayed on the screen sequentially at a fixed time interval in chronological order. As a result, a rough change in the movement of the skeleton image can be confirmed, and the skeleton image can be used as a simple simulation means for actual robot operation. (12) Unnecessary part setting program 107: A part that does not require calculation of drive data is set at the time of the alignment processing of the skeleton image 38. For example, if it is known that a specific part hardly moves in the target operation, the unnecessary part is set for that part, so that the part is fixed at a predetermined position and Then, the positioning process of the skeleton image 38 with respect to the part is skipped.

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

【0041】また、駆動データ作成装置1のCPU2に
は通信インターフェース152及び153と通信回線1
50を介して、ロボット動作の試演を行うためのグラフ
ィックシュミレータ(以下、単にシュミレータという)
151が接続されている。シュミレータ151は、図9
に示すように、CPU154と、これに接続されたRO
M155、RAM156、VRAM157、表示制御部
158、及び入力装置インターフェース160を備え、
表示制御部158にはロボット動作の試演動画を表示す
るCRT159等の表示装置が、また入力装置インター
フェース160にはキーボード161等の入力部が接続
されている。また、駆動データ作成装置1と通信するた
めの通信インターフェース153がCPU154に接続
されている。
The CPU 2 of the drive data generating apparatus 1 has communication interfaces 152 and 153 and a communication line 1
A graphic simulator (hereinafter, simply referred to as a simulator) for performing a demonstration of a robot operation via the 50
151 are connected. The simulator 151 is shown in FIG.
As shown in the figure, the CPU 154 and the RO connected thereto
M155, RAM 156, VRAM 157, display control unit 158, and input device interface 160,
The display control unit 158 is connected to a display device such as a CRT 159 for displaying a test moving image of the robot operation, and the input device interface 160 is connected to an input unit such as a keyboard 161. Further, 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, taking the skeletal unit constituting both legs as an example, as shown in FIG. 10, the lower limb bone 27 moves only in a plane P formed by a straight line along the upper limb bone 26 and a straight line perpendicular to the hip bone 23. The constraint conditions are set (note that the joint mechanisms 35 and 36 (FIG. 2) are not shown 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 connection point (portion corresponding to the knee) between them is automatically determined according to the above-described 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 calculating 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))に格納し、以下
同様の処理を繰り返すことにより、上位動作プログラム
が中位動作コマンド単位で実行されてゆく。なお、次の
中位動作コマンドが存在しないか、終了コマンドである
場合には処理を終了する。
Hereinafter, the operation of the robot system 1 of the present embodiment will be described. First, the process flow for operating the robot 201 is as follows. When a higher-level operation program name is designated and activated by the input device 208 or the like in FIG. 1, a middle-level operation command analysis program is activated, and FIG.
As shown in the flowchart of FIG. 1, the first middle-level operation command of the higher-level operation program is read in M1, and M2
Are stored in the middle-level operation routine storage (I) 205c of the RAM 205. Next, a signal is issued to the stored middle-level operation routine to activate it (M3). Also, during execution of the middle operation routine, 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 has been 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 (M7). Then, if there is a next middle operation command in M8, the process returns to M4, reads the next command, and stores the corresponding middle operation routine in an empty storage unit (in this case, storage unit (I)), Thereafter, by repeating the same processing, the higher-level operation program is executed in units of middle-level operation commands. If the next intermediate operation command does not exist or is an end command, the process ends.

【0044】次に、中位動作ルーチン側での処理である
が、図12のフローチャートに示すように、上位動作プ
ログラム側から起動信号を受けることにより、各部位の
アクチュエータの駆動データを読み込み(B1、B2)、駆
動データ送信プログラムの起動により、アクチュエータ
の各時間毎の変位データとして記述された駆動データ
を、各部位の算出・駆動制御部212へ時系列順に送信
する。そして、算出・駆動制御部212側では、駆動量
算出プログラム216aに基づいて、その変位データに
基づいて各アクチュエータの駆動量を算出し、その算出
結果に基づいてそれらアクチュエータを駆動する。
Next, regarding the processing on the middle-level operation routine side, as shown in the flow chart of FIG. 12, upon receiving a start signal from the higher-level operation program side, drive data of the actuator of each part is read (B1). , B2), by activating the drive data transmission program, the drive data described as displacement data for each time of the actuator is transmitted to the calculation / drive control unit 212 of each part in chronological order. Then, the calculation / drive control unit 212 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 drive amount, for example,
A method based on the following principle can be adopted. First, in the skeleton 19 shown in FIG. 2, an index is given to both end positions of each skeleton unit, for example, as shown in FIG. 27 (W1). -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 positioned at the midpoint of the line connecting L1 and L2. -Humerus 24, 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. The displacement data is calculated as the displacement at both ends of each skeleton unit.

【0046】例えば図27の、左側の脚部に対しては、
図13(a)に模式的に示すように、点Gの位置が不変
で、ある時刻T1におけるL1、Lk1の位置が次の時
刻T2におけるL1’、Lk1’に移った場合、(b)
に示すように、線分GL1及び線分L1Lk1(それぞ
れ請求項でいう第一骨格単位及び第二骨格単位)に回転
移動を施し、線分GL1を線分GL1’に重ね合わせ
る。そして、回転移動後の各点の空間座標から、時刻T
1の線分L1Lk1と、時刻T2の線分L1’Lk1’
とのなす角度θを算出することにより、両骨格単位(す
なわち、上腕部26及び下脚部27の間に配置されたア
クチュエータの各軸)の回転角度を求めることができ
る。このような骨格単位の回転移動と第二骨格単位の回
転角度を求める処理を、骨格の末端へ向かう方向に順次
施してゆけば、各関節機構に含まれるアクチュエータの
駆動量が順次算出されることとなる。なお、以上の説明
では、アクチュエータはモータで構成されており、第一
及び第二の骨格単位同士はそのモータ軸の回転により、
相対的な回転運動のみを行うものとしたが、ピストンロ
ッド等をアクチュエータとした場合は、そのピストンの
伸縮により骨格単位間で相対的な並進運動が行われる場
合もある。そのような場合は、第二骨格単位の回転角度
の他、並進移動距離も算出するようにする。
For example, for the left leg in FIG.
As schematically shown 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, (b)
As shown in (2), 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 overlap the line segment GL1 with the line segment GL1 '. Then, from the spatial coordinates of each point after the rotational movement, the time T
1 line segment L1Lk1 and a time segment T1 line segment L1′Lk1 ′.
Is calculated, the rotation angle of both skeleton units (that is, each axis of the actuator disposed between the upper arm 26 and the lower leg 27 ) can be obtained. By sequentially performing such processing for determining the rotational movement of the skeleton unit and the rotation angle of the second skeleton unit in the direction toward the end of the skeleton, the drive amount of the actuator included in each joint mechanism is sequentially calculated. Becomes In the above description, the actuator is configured by a motor, and the first and second skeleton units are rotated by rotation of the motor shaft.
Although only a relative rotational motion is performed, when a piston rod or the like is used as an actuator, a relative translational motion may be performed between skeleton units due to expansion and contraction of the piston. In such a case, the translation distance is calculated in addition to the rotation angle of the second skeleton unit.

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

【0048】図14は、上述の流れに基づくロボット2
01の上位動作の具体的な実行例を示している。すなわ
ち、「4歩歩く」という上位動作を実行するために、そ
の上位動作プログラムは、「右脚部半歩」、「左脚部1
歩」、「右脚部1歩」、「左脚部半歩」の各中位動作コ
マンドを含むものとなる。そして、例えば最初の「右足
半歩」の中位動作ルーチンの実行内容は、右脚部及び左
腕部の各部位に対しそれぞれ「半歩踏出し」及び「前降
り」であり、それら部位の関連アクチュエータの駆動デ
ータを時系列順に算出・駆動制御部212へ送信する。
そして、算出・駆動制御部では送信されてきた駆動デー
タに基づいて駆動量を算出し、対応するアクチュエータ
を駆動して、次の中位動作コマンド「左脚部1歩」の実
行へ移る。
FIG. 14 shows a robot 2 based on the above flow.
13 shows a specific execution example of the higher-order operation of No. 01. That is, in order to execute a higher-order operation of “walking four steps”, the higher-order operation program includes “right leg half step”, “left leg 1”.
Step, right leg one step, and left leg half step. For example, the contents of execution of the middle action routine of the first “half step of the right foot” are “half step” and “step down” for each part of the right leg and the left arm, respectively. The drive data of the actuator is transmitted to the calculation / drive control unit 212 in chronological order.
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-level motion command “left leg one 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 creation device 1. Hereinafter, the operation flow of the drive data creation device 1 (FIG. 7) will be described using a flowchart. FIG. 15 shows a general flow of the entire process, and one of the following processes is selected. At the time of selection, a predetermined selection screen is displayed on the CRT 14 as a window, and by selecting the selection item displayed there using the mouse 12, individual processing windows are opened. (1) Input (processing from S1000 to S1100): superimposition processing of a skeleton image on a model image is performed, and drive data is created (in other words, operation of the robot 201 is taught).
I do. (2) Correction (processing from S2000 to S2100): The generated drive data is corrected. (3) Demonstration (processing from S3000 to S3100): A demonstration of the robot operation is performed using the graphic simulator 151. (4) Termination instruction (processing from S4000 to termination): An instruction to terminate the processing is issued.

【0050】入力が選択された場合はS1100におい
て入力処理が中位動作の単位で行われる。ここで、入力
に先立ってその中位動作を人間のモデルに行わせ、例え
ば図25に示すように、そのモデル画像39を所定のコ
マ時間間隔でビデオカメラにより動画撮影しておく。そ
して、図7のVTR15により再生されたその動画が、
画像取込制御部6を介して動画データとして取り込ま
れ、動画データ記憶装置11に記憶されている。ここ
で、動画データ記憶装置11に記憶されている動画デー
タは、図26に示すように、モデルが比較的複雑な動き
を行っている場合には、そのコマ80の間隔が密になる
ように、逆に動きが比較的単調な場合にはコマ80の間
隔が粗となるように、その動画のコマが、動画データ取
り込み時あるいは取り込み後のデータ編集時に適宜間引
かれる。
If an input is selected, an input process is performed in S1100 in units of middle-level operation. Here, prior to the input, the intermediate action is performed by a human model. For example, as shown in FIG. 25, the model image 39 is photographed by a video camera at predetermined frame time intervals. Then, the moving image reproduced by the VTR 15 in FIG.
The moving image data is captured via the image capturing control unit 6 and stored in the moving image data storage device 11. Here, as shown in FIG. 26, the moving image data stored in the moving image data storage device 11 may be arranged such that when the model is performing a relatively complicated movement, the intervals between the frames 80 are close. Conversely, when the movement is relatively monotonous, the frames of the moving image are appropriately thinned out at the time of capturing the moving image data or at the time of editing the data after the capturing so that the interval between the frames 80 becomes coarse.

【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 in S1100. First, after setting a portion that does not require calculation of drive data (S1101), windows W1 and W2 as shown in FIG. Display each (S1102, S
1103). 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において、ビ
デオカメラにモデルを正対させて撮影したモデル画像3
(図27)に、骨格画像38の寸法を合わせ込む処理
を行う。その処理の詳細を図17及び図18に示す。す
なわち、図17において、正対ポーズのモデル画像39
をウィンドウW1に、骨格画像38をウィンドウW2に
表示し(C101〜103)、各骨格単位の長さをモデ
ル画像の対応部位に合わせ込む(C104)。ここで
格画像38の各骨格単位に対しては、予め標準寸法が設
定されている。その合わせ込みの処理であるが、図18
に示すように、まず基準点Gの位置を合わせ込み(C2
01)、続いてその基準点Gから次第に遠ざかるよう
に、各骨格単位の端点を順次合わせ込んでゆく。
Returning to FIG. 16, in step S1104, a model image 3 photographed with the model facing the video camera.
9 (FIG. 27) is performed to adjust the size of the skeleton image 38 . Details of the processing are shown in FIGS. That is, in FIG. 17, the model image 39 of the facing pose is shown.
Is displayed in the window W1 and the skeleton image 38 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 bone
Standard dimensions are set in advance for each skeleton unit of the case image 38 . FIG. 18 shows an example of the adjustment process.
As shown in the figure, first, the position of the reference point G is adjusted (C2
01) Then, end points of each skeleton unit are sequentially adjusted so as to gradually move away from the reference point G.

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

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

【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 designating the frame number of the moving image for performing the positioning of the skeleton image 38, the data of the model image of the frame is acquired.
Move to the skeleton image alignment processing (skeleton image input). FIGS. 19 to 21 are flowcharts showing the details of the contents of the positioning process (S1109). That is, FIG.
As shown in C301 to C305, the model image 39 of the captured frame is gradually moved away from the point G, starting from the point G.
The position of each end point of the skeleton image 38 is adjusted to the model image 39. FIG. 28 shows an example of the input.
The procedure is almost the same as for the dimension matching process described above,
End point window W1 blinking on window W2
While the mouse 12 is used to specify the position to be aligned, the position input for the model image 39 is performed. Also in this case, the skeletal image 38 is sequentially drawn on the model image 39 on the window W1 from the position where the alignment is completed. Here, input processing is performed individually for the left and right legs and arms, unlike the above-described dimension matching processing. It should be noted that the position input is skipped for the teaching unnecessary part set in S1101 (FIG. 16).

【0056】図20は、両脚部に相当する部位の位置合
わせ処理の流れを一例として示しており、右脚部及び左
脚部のそれぞれについて、上肢骨26の上端点L1(L
2)の位置合わせを行った後、下肢骨27の下端点Lf
1(Lf2)の位置合わせが行われるようになっている
C401〜C403)。ここで、図10に示す拘束条
件により、L1(L2)及びLf1(Lf2)が指定さ
れれば、膝に相当するLk1(Lk2)の位置は自動的
に定まるので入力は行われない。このようにして、各端
点の画面上の座標が算出され、その画面座標と各骨格単
位の標準体寸法データ112(図8)に基づいて実際の
空間における端点の3次元座標が算出される。
FIG. 20 shows, as an example, the flow of the positioning process of the parts corresponding to the two legs. For each of the right leg and the left leg, the upper end point L1 (L1) of the upper limb bone 26 is shown.
After the alignment of 2), the lower end point Lf of the lower limb bone 27 is obtained.
1 (Lf2) is performed ( C401 to C403). Here, if L1 (L2) and Lf1 (Lf2) are designated by the constraint conditions shown in FIG. 10, the input is not performed because the position of Lk1 (Lk2) corresponding to the knee is automatically determined. In this manner, 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, the process proceeds to step S1110. For the skeleton units or parts for which it is difficult or impossible to generate drive data in the above-described alignment processing, auxiliary input processing of their spatial positions is performed by using the mouse 12 or This is performed by using the keyboard 13. In this input processing, a window different from the above-described alignment processing is opened, an image of the corresponding skeleton unit or site is displayed on the window, and various processing commands (for example, skeleton unit) prepared in advance for position setting are set. Of the skeletal unit and each part are selected and executed by inputting from the mouse 12 or the keyboard 13.

【0058】以上で、1つのコマに対する入力処理が終
了するが、次のコマの処理に移る場合はコマ番号を更新
し、直前のコマの骨格画像38及びモデル画像39を描
画しなおすとともに(S1111〜S1113)、S1107に返って
処理を繰り返す。一方、コマへの入力作業を終了する場
合は(S1114〜S1116)、ウィンドウW1とW2を閉じて図
15のS1200に進む。
The input processing for one frame is completed as described above. However, when the processing moves 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). To S1113), and returns to S1107 to repeat the processing. On the other hand, when the input operation to the frame is completed (S1114 to S1116), the windows W1 and W2 are closed and the process proceeds to S1200 of FIG.

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

【0060】次に、図15のS1300に進み、入力が終わ
った各コマに対しロボット動作の実時間軸上の時間を設
定する。その処理の詳細を図22のフローチャートに示
す。すなわち、時間設定用のウィンドウを開いて骨格画
像データをコマ番号順に読み出し、ウィンドウ内に骨格
画像を順次表示しながら時間入力を行ってゆく(C601〜
C605)。そして、C6051において、直前のコマとの時間
間隔から各アクチュエータの駆動速度を算出し、C606に
おいて、その時間間隔で全てのアクチュエータが駆動完
了できるかどうかを判定する。完了できるようであれ
ば、C607でその入力された時間及びアクチュエータ駆動
速度を格納し、C608でコマ番号をインクリメントしてC6
03に戻り、処理を繰り返す。また、駆動完了できないよ
うであればC605に戻って時間入力をやり直す。そして、
時間の入力処理が終わるとC612でウィンドウを閉じて図
15のS1400に進む。
Next, the flow advances to S1300 in FIG. 15, and the time on the real time axis of the robot operation is set for each frame for which input has been completed. Details of the processing are shown in the flowchart of FIG. That is, a time setting window is opened, skeleton image data is read out in the order of frame numbers, and time is input while sequentially displaying skeleton images in the window (C601 to C601).
C605). Then, in C6051, the driving speed of each actuator is calculated from the time interval with the immediately preceding frame, and in C606, it is determined whether or not all the actuators can be completed driving at that time interval. If it can be completed, the input time and the actuator drive speed are stored in C607, the frame number is incremented in C608, and C6 is stored.
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 is completed, 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 finally obtained drive data is stored and stored in the drive data storage device 10. The flow of the process is as shown in FIG. 23. First, a middle operation command name is input in C701. Then, the drive data is divided for each part (C702), and a data transmission program (PA, PB,..., Etc., FIG. 3) is inserted to form a sub-file of lower-order operation data (C702). Then, these sub-files are integrated under the input middle operation command name, and are stored in the storage device 1 as a middle operation routine.
0 (C703). The sub-file of each lower-level 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, a drive data file is designated by inputting an operation name in S2100, and the data is read in S2200. Then, the correction processing is performed in S2300, and details of the processing are shown in FIG. First, a correction input window (same type as the positioning input window shown in FIG. 28 or the like) is opened (C801, C802), and skeleton image data is read in order from the frame in the first order, and the skeleton 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 frame correction, frame deletion, frame addition, frame sequential display, and the like, and processing corresponding to that item is performed.

【0063】すなわち、コマ修正を選択した場合は、表
示されたコマの骨格画像の修正(例えば、骨格単位の重
ね位置の変更など)が行われる(C808、C80
9)。また、コマ削除を選択した場合は表示されたコマ
の削除が行われる(C810、C811)、コマの追加
が選択された場合は、表示されたコマの次に新規のコマ
を挿入し、入力時と同様の操作・処理により骨格画像の
モデル画像への重ね入力等が行われる(C812、C8
13)。さらに、コマの逐次表示が選択された場合に
は、各コマの骨格画像を時系列順に、一定の時間間隔で
逐次ウィンドウに表示する処理が行われる(C814、
C815)。そして、処理が終了すれば、C817でコ
マ番号を更新してC804に返って、処理を繰り返す。
また、処理が終わればC818でウィンドウを閉じて図
15のS2400に進む。また、S2400では、修
正、追加、削除されたコマの前後で、駆動データの更新
を行い、S2500でこれを保存して処理を終了する。
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, C80).
9). When the frame deletion is selected, the displayed frame is deleted (C810, C811). When the addition of the frame is selected, a new frame is inserted next to the displayed frame, and the input frame is deleted. By the same operation and processing as in (1), the skeleton image is overlaid on the model image, etc. (C812, C8)
13). Further, when the sequential display of the frames is selected, a process of sequentially displaying the skeleton images of the respective frames on the window in a time series at a constant time interval is performed (C814,
C815). When the processing is completed, the frame number is updated in C817 , and the process returns to C804 to repeat the processing.
Upon completion of the process, the window is closed at C818, and the process proceeds to S2400 in FIG. In step S2400, the drive data is updated before and after the corrected, added, or deleted frame. In step S2500, the drive data is updated, and the process ends.

【0064】次に、作成した駆動データに基づいて、グ
ラフィックシュミレータ151により、実際のロボット
の動きを試演することができる。この場合は、図15の
S3000以下の処理となるが、まずS3100で試演させたい動
作名を入力すると、S3200でその動作の試演処理が開始
される。その処理の概略であるが、まずその動作名で保
存されている駆動データを読み出して、これを試演開始
命令信号とともにグラフィックシュミレータ151側へ
転送する。グラフィックシュミレータ151はこれを受
けて、ROM155(図9)に格納されたロボット画像
データ生成プログラム155aによりロボットの画像を
合成し、受信した駆動データに基づいてシュミレートプ
ログラム155bにより、CRT159にロボット動作
試演の動画を表示する。なお、キーボード161からの
入力により、試演動画を早送りあるいはスロー再生した
り、あるいは特定の部位の動きを拡大表示するなど、画
像のコントロールを行うようにすることができる。な
お、グラフィックシュミレータ151は省略することも
できる。
Next, based on the created driving data, the actual motion of the robot can be tested by the graphic simulator 151. In this case, FIG.
The process is performed after S3000. First, when an operation name desired to be performed in S3100 is input, a test process of the operation is started in S3200. The outline of the process is as follows. First, the drive data stored under the operation name is read out and transferred to the graphic simulator 151 together with the trial start command signal. The graphics simulator 151 receives this, synthesizes a robot image by the robot image data generation program 155a stored in the ROM 155 (FIG. 9), and performs a robot operation trial on the CRT 159 by the simulation program 155b based on the received drive data. Display a movie. It is to be noted that an image can be controlled by inputting from the keyboard 161, such as fast-forwarding or slow-playing the trial moving image or enlarging and displaying the movement of a specific portion. Note that the graphic simulator 151 can be omitted.

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

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

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

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

【図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 control unit.

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

【図7】駆動データ作成装置の一構成例を示すブロック
図。
FIG. 7 is a block diagram illustrating a configuration example of a driving 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 a constraint condition for a 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 the flow of processing 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 view for explaining 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 flowchart showing the flow of a process for aligning end points of each skeleton unit.

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

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

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

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

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

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

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

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

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

【図28】骨格画像のモデル画像に対する位置合わせ処
理の説明図
FIG. 28 is an explanatory diagram of a registration process 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) 205 中位動作ルーチン格納部(II) 205e 中位動作補正プログラム格納部 207 記憶装置 207a 上位動作プログラム記憶部 207b 中位動作コマンド解析プログラム記憶部 207c 中位動作ルーチン記憶部207d 中位動作補正プログラム記憶部 207f 書換用プログラム記憶部 208 入力装置(プログラム書換手段) 212 算出・駆動制御部 213 アクチュエータReference Signs List 1 drive data creation device 5 system control unit (drive data calculation unit) 200 robot system 201 robot 202 robot control unit 204 CPU (read control unit) 205 RAM 205a higher-order operation program storage unit 205b middle-order operation command analysis program storage unit 205c Medium operation routine storage unit (I) 205 d Medium operation routine storage unit (II) 205 e Medium operation correction program storage unit 207 Storage device 207 a Upper operation program storage unit 207 b Medium operation command analysis program storage unit 207 c Medium operation routine Storage unit 207d Medium operation correction program storage unit 207f Rewriting program storage unit 208 Input device (program rewriting unit) 212 Calculation / drive control unit 213 Actuator

───────────────────────────────────────────────────── フロントページの続き (72)発明者 加藤 輝雄 愛知県名古屋市東区泉二丁目28番24号 リコーエレメックス株式会社内 (56)参考文献 特開 昭60−151716(JP,A) 特開 昭63−257005(JP,A) 特開 平5−265531(JP,A) 特開 平2−81102(JP,A) (58)調査した分野(Int.Cl.6,DB名) G05B 19/4155 B25J 13/00──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Teruo Kato 2-28-24 Izumi, Higashi-ku, Nagoya City, Aichi Prefecture Inside Ricoh Elemex Co., Ltd. (56) References JP-A-60-151716 (JP, A) 63-257005 (JP, A) JP-A-5-265531 (JP, A) JP-A-2-81102 (JP, A) (58) Fields studied (Int. Cl. 6 , DB name) G05B 19 / 4155 B25J 13/00

Claims (8)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数のロボット部位に設けられたアクチ
ュエータの駆動に関する駆動データを単位として下位動
作データを形成し、 その下位動作データを複数統合してロボットの基本動作
を規定する中位動作ルーチンを構築し、 それら各中位動作ルーチンに中位動作コマンドを対応さ
せ、 その中位動作コマンドの組み合わせにより上位動作プロ
グラムを規定し、 その上位動作プログラムを前記中位動作コマンドの単位
で読み出しつつ、その読み出された各中位動作コマンド
に対応する中位動作ルーチンの組み合わせに基づいて、
前記アクチュエータの駆動を制御することを特徴とする
ロボットの制御方法。
1. A medium-level operation routine that forms lower-level operation data in units of drive data relating to driving of actuators provided in a plurality of robot parts and integrates the plurality of lower-level operation data to define a basic operation of the robot. A middle operation command corresponding to each of the middle operation routines, a higher operation program is defined by a combination of the middle operation commands, and the higher operation program is read out in units of the middle operation command. Based on the combination of the middle operation routine corresponding to each of the read middle operation commands,
A method for controlling a robot, comprising controlling the driving of the actuator.
【請求項2】 複数のロボット部位に設けられたアクチ
ュエータの駆動に関する駆動データを単位とする下位動
作データが複数統合されて構築された、ロボットの基本
動作を規定する中位動作ルーチン及びこれと対応付けら
れた中位動作コマンドを用い、これら中位動作コマンド
の組み合わせにより規定される上位動作プログラムを記
憶するプログラム記憶部と、 そのプログラム記憶部に記憶された前記上位動作プログ
ラムを、前記中位動作コマンドの単位で読み出すプログ
ラム読出手段と、 その読み出された各中位動作コマンドに対応する中位動
作ルーチンの組み合わせに基づいて、前記アクチュエー
タの駆動を制御するアクチュエータ動作制御部と、 を含むことを特徴とするロボットシステム。
2. A middle-level operation routine for defining a basic operation of a robot, which is constructed by integrating a plurality of lower-level operation data in units of drive data relating to driving actuators provided in a plurality of robot parts, and a corresponding operation. A program storage unit that stores a higher-level operation program defined by a combination of these middle-level operation commands, using the attached middle-level operation command; and stores the higher-level operation program stored in the program storage unit in the middle-level operation command. Program reading means for reading in units of commands, and an actuator operation control unit for controlling the driving of the actuator based on a combination of medium operation routines corresponding to the read medium operation commands. Characteristic robot system.
【請求項3】 前記プログラム記憶部に記憶された前記
中位動作コマンドの組み合わせに基づく前記上位動作プ
ログラムに対し、その中位動作コマンドの組み替え、追
加、削除の少なくともいずれかを指令して前記上位動作
プログラムの書換えを行う、上位動作プログラム書換手
段を備えた請求項2記載のロボットシステム。
3. The high-order operation program based on the combination of the middle-level operation commands stored in the program storage unit is commanded to perform at least one of rearrangement, addition, and deletion of the middle-level operation command, and 3. The robot system according to claim 2, further comprising a host operation program rewriting means for rewriting the operation program.
【請求項4】 前記下位動作データを形成する駆動デー
タは、前記アクチュエータの駆動量を算出するための駆
動量算出用データとされるとともに、前記アクチュエー
タ動作制御部は、 前記各ロボット部位毎に設けられ、前記駆動量算出用デ
ータに基づいて、そのロボット部位に含まれるアクチュ
エータの駆動量をそれぞれ算出し、その算出された駆動
量に基づいて前記アクチュエータの駆動を制御する算出
・駆動制御手段と、 前記中位動作ルーチンに基づく前記下位動作データの実
行に伴い、前記駆動量算出用データを前記算出・駆動制
御手段にそれぞれ送信するデータ送信手段と、 を含む請求項2又は3のいずれかに記載のロボットシス
テム。
4. The drive data forming the lower-order operation data is drive amount calculation data for calculating a drive amount of the actuator, and the actuator operation control unit is provided for each of the robot parts. A calculation / drive control unit that calculates a drive amount of an actuator included in the robot part based on the drive amount calculation data, and controls the drive of the actuator based on the calculated drive amount; 4. The data transmission means for transmitting the drive amount calculation data to the calculation / drive control means, respectively, in accordance with the execution of the lower-order operation data based on the middle-level operation routine. Robot system.
【請求項5】 前記複数のロボット部位のうちの少なく
とも一部のものが、複数の骨格単位とそれら骨格単位の
間に配置された前記アクチュエータとを有する骨格を備
えるものとされ、 そのロボット部位に対応する前記駆動量算出用データ
は、ロボット動作の各時間毎の、前記各骨格単位の変位
データを含むものとされ、 前記算出・駆動制御手段は、前記骨格単位の、時間的に
相前後する前記変位データに基づいて、その骨格単位に
対応するアクチュエータの駆動量を算出するものとされ
る請求項4記載のロボットシステム。
5. At least a part of the plurality of robot parts includes a skeleton having a plurality of skeleton units and the actuator disposed between the skeleton units. The corresponding drive amount calculation data includes displacement data of each of the skeleton units for each time of the robot operation, and the calculation / drive control unit sets the skeleton units in time sequence. The robot system according to claim 4, wherein a drive amount of an actuator corresponding to the skeleton unit is calculated based on the displacement data.
【請求項6】 前記骨格の任意の1つの骨格単位(以
下、第一骨格単位という)と、その第一骨格単位にアク
チュエータを介して結合された第二骨格単位とに対し、
前記算出・駆動制御手段は、 相前後する時刻における、前記第一骨格単位及び前記第
二骨格単位の各位置に対し、回転移動又は並進移動の少
なくとも一方を施して、それら各時刻における第一骨格
単位同士を重ね合わせる処理を行い、その状態で前記時
刻間における前記第二骨格単位の変位を算出し、その算
出結果に基づいて、前記アクチュエータの駆動量を算出
するものとされる請求項5記載のロボットシステム。
6. An arbitrary one of the skeleton units of the skeleton (hereinafter, referred to as a first skeleton unit) and a second skeleton unit bonded to the first skeleton unit via an actuator.
The calculation / drive control unit performs at least one of a rotational movement and a translational movement on each of the positions of the first skeleton unit and the second skeleton unit at successive times, and the first skeleton at each of the times. 6. The apparatus according to claim 5, wherein a process of superimposing the units is performed, a displacement of the second skeleton unit between the times is calculated in that state, and a driving 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 disposed between the skeleton units. A drive data creation device for creating data, comprising: a series of model images in which the operation of a model corresponding to a robot operation is recorded with time; image display means for displaying the image of the skeleton; A skeleton positioning unit that positions the skeleton image with respect to the model image, and a displacement of the skeleton image that is positioned with respect to each of the model images that precede and follow each other on the time axis.
The robot system according to any one of claims 2 to 6, further comprising a driving data generating device, comprising: a data calculating unit that calculates the driving data.
【請求項8】 前記駆動データ作成装置の前記骨格位置
決め手段は、前記表示手段において前記骨格画像を、前
記モデル画像に対し重ね合わせることにより、該モデル
画像に対して位置合わせするものとされる請求項7記載
のロボットシステム。
8. The skeleton locating means of the drive data generating device, wherein the skeleton image is superimposed on the model image on the display means, thereby aligning the skeleton image with the model image. 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 JPH08314524A (en) 1996-11-29
JP2820639B2 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3269005B2 (en) * 1997-05-12 2002-03-25 川崎重工業株式会社 Robot controller
JP4670136B2 (en) * 2000-10-11 2011-04-13 ソニー株式会社 Authoring system, authoring method, and storage medium
JP2003145456A (en) * 2001-11-19 2003-05-20 Japan Science & Technology Corp Bipedal human-type robot
KR101277275B1 (en) * 2009-12-09 2013-06-20 한국전자통신연구원 Task implementation method based on behavior in robot system

Also Published As

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

Similar Documents

Publication Publication Date Title
US5692117A (en) Method and apparatus for producing animated drawings and in-between drawings
US8390628B2 (en) Facial animation using motion capture data
KR101098834B1 (en) Apparatus and method for generating motion based on dynamics
US20080312770A1 (en) Camera and animation controller, systems and methods
JP2820639B2 (en) Robot control method and robot system
Calvert et al. The integration of subjective and objective data in the animation of human movement
CN112184863B (en) Animation data processing method and device
JP2008030136A (en) Apparatus and method for compiling action of robot, as well as computer/program
JP4039595B2 (en) Robot system
EP1031946B1 (en) Recording medium,Image processing method and unit with integrated shaping model data
US20010003449A1 (en) System for controlling and editing motion of computer graphics model
JPH08314527A (en) Operation teaching system for robot
US7002584B2 (en) Video information producing device
JP3995348B2 (en) Robot system
JPH10302085A (en) Operation recording system for cg model
CN116503522A (en) Interactive picture rendering method, device, equipment, storage medium and program product
JP3672723B2 (en) Person CG production method
Magnenat-Thalmann et al. Construction and Animation of a Synthetic Actress.
Guo et al. Controlling movement using parametric frame space interpolation
JP2714100B2 (en) How to make a video
JPH0741569B2 (en) Object motion control system
JP7486860B1 (en) Image synthesis device, image synthesis method, and program
JP2002144263A (en) Motion teaching and playback device of robot, its method and recording medium recording motion teaching and playback program of robot
JP5464406B2 (en) Posture data input device
JPH10302083A (en) Operation control system for cg model

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