JP5699648B2 - Operation control method, robot and program - Google Patents

Operation control method, robot and program Download PDF

Info

Publication number
JP5699648B2
JP5699648B2 JP2011021062A JP2011021062A JP5699648B2 JP 5699648 B2 JP5699648 B2 JP 5699648B2 JP 2011021062 A JP2011021062 A JP 2011021062A JP 2011021062 A JP2011021062 A JP 2011021062A JP 5699648 B2 JP5699648 B2 JP 5699648B2
Authority
JP
Japan
Prior art keywords
movable
graph
motion
robot
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011021062A
Other languages
Japanese (ja)
Other versions
JP2012157964A (en
Inventor
久俊 山岡
久俊 山岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011021062A priority Critical patent/JP5699648B2/en
Publication of JP2012157964A publication Critical patent/JP2012157964A/en
Application granted granted Critical
Publication of JP5699648B2 publication Critical patent/JP5699648B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロボット等のインタラクティブデバイスに設けられたモータ等の駆動部、或いは、コンピュータグラフィック(CG:Computer Graphic)アニメーションキャラクタの動作を制御する動作制御方法、ロボット及びプログラムに関する。   The present invention relates to a motion control method, a robot, and a program for controlling a motion of a drive unit such as a motor provided in an interactive device such as a robot, or a computer graphic (CG) computer character.

介護ロボット、教育ロボット等を含むコミュニケーションロボットは、人間とのインタラクションを行う機能を有する。このようなコミュニケーションロボットは、人間から見て生き物らしい自然な動作、即ち、機械的ではない動作をすることで、インタラクションをより円滑にすることができる。   Communication robots including care robots, educational robots, and the like have a function of interacting with humans. Such a communication robot can make the interaction smoother by performing a natural operation that seems to be a living thing from the viewpoint of a human, that is, a non-mechanical operation.

人間又は動物の体の特定部分の関節が大きく動いた場合、この関節と直接繋がっていない他の関節も、大きく動いた関節と連動して微小に動く。これは、関節が筋肉や皮膚に引っ張られたり、体の重心と姿勢が変化すると関節が受ける力の方向が変わること等による。又、このような他の関節と連動した動きの影響は、連鎖的に他の関節へも複雑に伝播していくものと考えられる。他の関節と連動した動きの影響で生じる関節の微小な動きは、例えばアームの先端を目標位置まで正確に移動させることが目的の産業用ロボット等では不要な動きであるが、人間との親和性を重視したコミュニケーションロボットにおいては、生き物らしい自然な動作を演出するために必要な動きである。   When a joint of a specific part of a human or animal body moves greatly, other joints that are not directly connected to this joint move minutely in conjunction with the greatly moved joint. This is because the direction of force received by the joint changes when the joint is pulled by muscles or skin, or when the center of gravity and posture of the body change. In addition, it is considered that the influence of the movement linked with other joints propagates to other joints in a chained manner. The minute movement of the joint that occurs due to the influence of movement that is linked to other joints is unnecessary for industrial robots that aim to move the tip of the arm to the target position accurately. In a communication robot that emphasizes sex, this movement is necessary to produce natural movements that seem to be creatures.

通常、コミュニケーションロボットは、各関節の動きを定義したモーション(又は、動作パターン)を予め作成しておき、コミュニケーションロボットが動作中は随時これらのモーションに従って動くことで「くしゃみ」や「手を振って喜ぶ」等の様々な動作又は表現を行う。しかし、従来のコミュニケーションロボットでは、これらのモーションにおいてある関節の動きは他の関節に伝わることがないため、モーションが定義されていない関節はモーションを実行中完全に停止(又は、静止)した状態にある。このように、モーションが定義されている関節のみが動くので、コミュニケーションロボットの動きが機械的になってしまう。例えば、コミュニケーションロボットが口を開けて首を大きく縦に振りながら「くしゃみ」をするモーションを予め定義しても、「くしゃみ」をする時に同時に腕や脚も微小に動かなければ、人間から見ると生き物として違和感のある不自然な動作になってしまう。   Usually, a communication robot creates motions (or motion patterns) that define the movement of each joint in advance, and while the communication robot is operating, it moves according to these motions at any time, so that “sneeze” and “ Various actions or expressions such as “joy” are performed. However, in conventional communication robots, the movements of certain joints in these motions are not transmitted to other joints, so joints for which no motion is defined are completely stopped (or stopped) while the motion is being executed. is there. In this way, since only the joint in which the motion is defined moves, the movement of the communication robot becomes mechanical. For example, even if a communication robot opens a mouth and swings its head up and down to “sneeze” in advance, if it does not move the arms and legs at the same time when “sneezing” It becomes an unnatural movement with a sense of incongruity as a creature.

コミュニケーションロボットの不自然な動作に対処するため、現状では設計者が、関節間の影響による各関節の微小な動きを推定しながらモーションを作成している。例えば、「くしゃみ」のモーションを作成する際には、首の動きにつられて腕が動き、更に腕が動くと脚も微妙に動くといった各関節の動きを作成している。しかし、このようなモーションの作成には多大な労力と時間を要する。又、自然な動作をする1つのモーションを作成したとしても、連続して同じモーションを実行した場合等には、作成した微妙な関節の動きまで同じ動作が繰り返されるため、人間が見ると不自然な印象を受けてしまう。   In order to deal with unnatural movements of communication robots, designers currently create motions while estimating minute movements of each joint due to the influence between joints. For example, when creating a “sneeze” motion, the movement of each joint is created such that the arm moves according to the movement of the neck, and when the arm moves, the leg also moves slightly. However, creating such a motion requires a great deal of labor and time. Also, even if one motion that creates natural motion is created, if the same motion is executed continuously, the same motion is repeated until the created subtle joint motion. I get an impression.

ロボットの動作を補完する技術としては、例えばロボットの骨格リンクデータを保持し、ある部位の動きから運動学的に他の部位の動きを導く各種手法が提案されている。又、ロボットが歩行中に受ける重力等の力を計算することにより、実質的に下肢部分を自由に揺動させる手法(例えば、特許文献1)等も提案されている。しかし、これらの提案手法は、上記の如き筋肉や皮膚の張り、或いは、重心や姿勢の変化、或いは、その他多くの要因による微妙な動作を考慮したものではない。   As a technique for complementing the operation of the robot, for example, various methods have been proposed that hold the skeleton link data of the robot and kinematically derive the movement of another part from the movement of a certain part. In addition, a technique (for example, Patent Document 1) or the like that freely swings the lower limb portion by calculating a force such as gravity that the robot receives during walking has been proposed. However, these proposed methods do not take into account such delicate movements due to muscle or skin tension, changes in the center of gravity or posture, or many other factors.

筋肉や皮膚の張り等を考慮した、精密な体のモデルを作成して物理的なシミュレーションを行えば、上記の如き微妙な動作をある程度は再現できる可能性がある。しかし、このようなモデルの作成やシミュレーションは非常に困難であり、仮にそのようなモデルを作成できたとしても、このモデルを体の構造が異なる他のロボットには適用できない可能性が高い。   If a precise body model that takes into account muscle and skin tension is created and a physical simulation is performed, the above-described subtle movements may be reproduced to some extent. However, it is very difficult to create and simulate such a model, and even if such a model can be created, there is a high possibility that this model cannot be applied to other robots having different body structures.

一方、アニメーション作成ツールによりCGアニメーションキャラクタを作成する場合、ロボットの場合と同様にアニメーションキャラクタの関節を動かすことで、画面上でアニメーションキャラクタに各種動作を行わせることができる。しかし、アニメーション作成ツールにより動かしたい関節のみを動かしたのでは、動く関節に影響されて微小な動作を行う他の関節の動きが生成されないため、ロボットの場合と同様にアニメーションキャラクタの動作が人間から見ると違和感のある不自然な動作になってしまう。   On the other hand, when creating a CG animation character using the animation creation tool, the animation character can perform various operations on the screen by moving the joint of the animation character as in the case of the robot. However, if you move only the joint you want to move with the animation creation tool, movements of other joints that perform minute movements are not generated due to the moving joint. If you look at it, it will be unnatural and unnatural.

特表2004−531400号公報Special table 2004-531400 gazette 特開2007−125629号公報JP 2007-125629 A

従来の動作制御方法では、ロボット又はアニメーションキャラクタの関節を動かす場合、モーション(又は、動作パターン)で定義された関節のみが動き他の関節は静止した状態にあるため、ロボット又はアニメーションキャラクタに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせることは難しいという問題があった。   In the conventional motion control method, when moving the joint of the robot or animation character, only the joint defined by the motion (or motion pattern) moves and the other joints are in a stationary state. There has been a problem that it is difficult to perform an operation, for example, a natural operation that does not seem strange to humans.

そこで、本発明は、比較的簡単な制御でロボット又はアニメーションキャラクタに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせることが可能な動作制御方法、ロボット及びプログラムを提供することを目的とする。   Therefore, the present invention provides a motion control method, a robot, and a program capable of causing a robot or an animation character to perform a smooth motion, for example, a natural motion without a sense of incongruity from a human viewpoint, with relatively simple control. Objective.

本発明の一観点によれば、複数の可動部を有するロボット又はアニメーションキャラクタの動作が、動かす動作可動部で時系列に定義された動作パターンを、記憶部に格納されており可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフに基づいて更新する更新手順と、前記更新手順により更新された動作パターンに基づいて前記複数の可動部を制御する制御手順と、可動部間の影響の度合いを前記グラフの構造上の熱拡散計算により求める計算手順をコンピュータで実行し、前記更新手順は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作生成す動作制御方法が提供される。 According to one aspect of the present invention, a motion pattern defined in time series by a motion movable unit that moves a motion of a robot or animation character having a plurality of movable units is stored in a storage unit, and movement between the movable units An update procedure for updating based on a graph in which the movable parts are linked with each other according to the influence of the control, a control procedure for controlling the plurality of movable parts based on the operation pattern updated by the update procedure, and between the movable parts The calculation procedure for obtaining the degree of the influence of the graph by the thermal diffusion calculation on the structure of the graph is executed by a computer, and the update procedure is performed by being influenced by the motion movable portion in addition to the motion movable portion based on the graph. operation control method that generates an operation of the slave movable unit that is provided.

本発明の一観点によれば、複数の可動部を有するロボットであって、可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフを格納する記憶部と、動かす動作可動部で時系列に定義された動作パターンを、前記記憶部に格納された前記グラフに基づいて更新する計算部と、前記計算部により更新された動作パターンに基づいて前記複数の可動部を制御する指令部を備え、前記計算部は、可動部間の影響の度合いを前記グラフの構造上の熱拡散計算により求め、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作生成すロボットが提供される。 According to one aspect of the present invention, a robot having a plurality of movable parts, a storage unit that stores a graph in which the movable parts are linked by a link according to the influence of movement between the movable parts, and an operation movable part that moves A calculation unit for updating the operation pattern defined in time series based on the graph stored in the storage unit, and a command for controlling the plurality of movable units based on the operation pattern updated by the calculation unit The calculation unit calculates the degree of influence between the movable parts by thermal diffusion calculation on the structure of the graph, and adds to the operation movable part based on the graph and is affected by the operation movable part. robot that generates an operation of the slave movable unit that is provided.

本発明の一観点によれば、コンピュータに、複数の可動部を有するロボット又はアニメーションキャラクタの動作を制御させるプログラムであって、前記ロボット又はアニメーションキャラクタの動作が、動かす動作可動部で時系列に定義された動作パターンを、記憶部に格納されており可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフに基づいて更新する更新手順と、前記更新手順により更新された動作パターンに基づいて前記複数の可動部を制御する制御手順と、可動部間の影響の度合いを前記グラフの構造上の熱拡散計算により求める計算手順をコンピュータに実行させ、前記更新手順は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作生成すプログラムが提供される。 According to one aspect of the present invention, there is provided a program for causing a computer to control the movement of a robot or animation character having a plurality of movable parts, wherein the movement of the robot or animation character is defined in time series by the moving action movable part. An updated procedure for updating the motion pattern stored in the storage unit based on a graph in which the movable parts are linked by a link according to the influence of the motion between the movable parts, and the motion pattern updated by the update procedure The computer executes a control procedure for controlling the plurality of movable parts based on the above and a calculation procedure for determining the degree of influence between the movable parts by thermal diffusion calculation on the structure of the graph, and the update procedure is performed on the graph. based addition to the operation moving part, a program that generates an operation of the slave moving part that operates under the influence on the operation movable portion It is subjected.

開示の動作制御方法、ロボット及びプログラムによれば、比較的簡単な制御でロボット又はアニメーションキャラクタに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせることが可能となる。   According to the disclosed motion control method, robot, and program, it is possible to cause a robot or an animation character to perform a smooth motion, for example, a natural motion without a sense of incongruity from a human viewpoint, with relatively simple control.

本発明の第1実施例におけるインタラクティブデバイスの一例を示すブロック図である。It is a block diagram which shows an example of the interactive device in 1st Example of this invention. モータコマンドテーブルの一例を説明する図である。It is a figure explaining an example of a motor command table. 関節グラフと重みの一例を説明する図である。It is a figure explaining an example of a joint graph and a weight. n×n行列の一例を示す図である。It is a figure which shows an example of an nxn matrix. n×n行列より求めた行列の一例を示す図である。It is a figure which shows an example of the matrix calculated | required from the nxn matrix. 従属関節が動作関節より受ける影響量を説明する図である。It is a figure explaining the amount of influence which a subordinate joint receives from an operation joint. 従属関節の動作量を決定する処理を説明するフローチャートである。It is a flowchart explaining the process which determines the operation amount of a dependent joint. 更新されたコマンドテーブルの一例を説明する図である。It is a figure explaining an example of the updated command table. 1サイクル当たりの処理を説明するフローチャートである。It is a flowchart explaining the process per cycle. 1サイクル経過後の、更新されたコマンドテーブルの一例を説明する図である。It is a figure explaining an example of the updated command table after one cycle progress. 従属関節が動作関節から受ける影響量を説明する図である。It is a figure explaining the amount of influence which a subordinate joint receives from an operation joint. 更新されたコマンドテーブルの一例を説明する図である。It is a figure explaining an example of the updated command table. 図4に示すn×n行列の重みを考慮して生成される行列が、パラメータの違いによってどのように異なるのかを説明する図である。It is a figure explaining how the matrix produced | generated considering the weight of the nxn matrix shown in FIG. 4 changes with the difference in a parameter. 時間による従属関節への拡散熱量の違いを説明する図である。It is a figure explaining the difference in the amount of diffusion heat to a subordinate joint by time. 処理部全体の処理を説明するフローチャートである。It is a flowchart explaining the process of the whole process part. 編集ツールの画面の一例を示す図である。It is a figure which shows an example of the screen of an editing tool. 編集ツールの処理の一例を説明するフローチャートである。It is a flowchart explaining an example of a process of an editing tool. CGアニメーションキャラクタの一例を示す図である。It is a figure which shows an example of a CG animation character.

開示の動作制御方法、ロボット及びプログラムでは、ロボット又はアニメーションキャラクタのモーション(又は、動作パターン)で定義された動作関節に加え、動作関節に影響されて微小な動作を行う他の従属関節の動きを自動的に生成することで、比較的簡単な制御でロボット又はアニメーションキャラクタに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせる。   In the motion control method, the robot, and the program of the disclosure, in addition to the motion joint defined by the motion (or motion pattern) of the robot or the animation character, the motion of other subordinate joints that are affected by the motion joint and perform a minute motion By generating automatically, a robot or an animation character can perform a smooth operation, for example, a natural operation that does not feel uncomfortable from a human viewpoint, with relatively simple control.

例えば、直接動かされていない従属関節を、直接動かされている動作関節の動きに応じて従属的に動かすことで、精密な体のモデルを作成して物理的なシミュレーションを行うのではなく、例えば設計者が自らの勘や経験に基づいて定義した関節グラフ構造を利用することで、ロボット又はアニメーションキャラクタに円滑な動作を行わせる。これにより、複数の関節を有するロボット又はアニメーションキャラクタであれば、基本的にはどのような構造のロボット又はアニメーションキャラクタであっても、比較的容易、且つ、比較的短時間に適切な動作制御が行える。   For example, instead of creating a precise body model and performing a physical simulation by subordinately moving a dependent joint that is not directly moved according to the movement of a moving joint that is directly moved, for example, By using the joint graph structure defined by the designer based on his own intuition and experience, the robot or animation character is caused to perform a smooth operation. As a result, as long as it is a robot or animation character having a plurality of joints, basically any structure robot or animation character can be controlled relatively easily and in a relatively short time. Yes.

又、関節間の影響の度合いを関節グラフ構造上の熱拡散計算により求めることで、関節間の連鎖的及び相互的な影響を考慮した動作制御が可能となる。この結果、設計者が関節グラフ構造を作成する際の直感を自然に反映させたロボット又はアニメーションキャラクタの動きを生成することができる。ロボット又はアニメーションキャラクタの円滑な動作を実現することで、例えば人間との親和性を向上して生き物らしい自然な動作を演出することもできる。   Further, by obtaining the degree of influence between joints by heat diffusion calculation on the joint graph structure, it is possible to perform motion control in consideration of the linkage and mutual influence between joints. As a result, it is possible to generate the movement of the robot or animation character that naturally reflects the intuition when the designer creates the joint graph structure. By realizing the smooth movement of the robot or animation character, for example, it is possible to improve the affinity with a human and produce a natural movement that seems to be a creature.

以下に、開示の動作制御方法、ロボット及びプログラムの各実施例を図面と共に説明する。   Hereinafter, embodiments of the disclosed operation control method, robot, and program will be described with reference to the drawings.

(第1実施例)
図1は、本発明の第1実施例におけるインタラクティブデバイスの一例を示すブロック図である。この例では、インタラクティブデバイスはコミュニケーションロボットにより形成されている。
(First embodiment)
FIG. 1 is a block diagram showing an example of an interactive device according to the first embodiment of the present invention. In this example, the interactive device is formed by a communication robot.

図1に示すコミュニケーションロボット(以下、単にロボットと言う)1は、処理部11、記憶部12、及び可動部群13を有する。処理部11は、CPU(Central Processing Unit)等のプロセッサで形成されている。記憶部12は、半導体記憶装置、光記憶装置、光磁気記憶装置、磁気記憶装置等で形成されており、複数の記憶装置、或いは、複数種類の記憶装置で形成されていても良い。半導体記憶装置には、RAM(Random Access Memory)、ROM(Read Only Memory)、メモリカード等が含まれる。光、光磁気、及び磁気記憶装置には、ディスク装置等が含まれる。記憶部12は、可搬型の記憶装置を含んでも良い。可動部群13は、ロボット1に設けられている複数の関節(図示せず)に相当する複数の可動部を有する。各可動部は、関節と、関節を駆動するモータ等の駆動部を有する。尚、以下の説明における「関節」とは、ロボット1のうち、例えば人間の体の関節に相当する部分に限定されず、可動部分を総称して指すものとする。   A communication robot (hereinafter simply referred to as a robot) 1 illustrated in FIG. 1 includes a processing unit 11, a storage unit 12, and a movable unit group 13. The processing unit 11 is formed by a processor such as a CPU (Central Processing Unit). The storage unit 12 is formed of a semiconductor storage device, an optical storage device, a magneto-optical storage device, a magnetic storage device, or the like, and may be formed of a plurality of storage devices or a plurality of types of storage devices. The semiconductor storage device includes a RAM (Random Access Memory), a ROM (Read Only Memory), a memory card, and the like. Optical, magneto-optical, and magnetic storage devices include disk devices and the like. The storage unit 12 may include a portable storage device. The movable part group 13 has a plurality of movable parts corresponding to a plurality of joints (not shown) provided in the robot 1. Each movable part has a joint and a drive part such as a motor for driving the joint. The “joint” in the following description is not limited to a portion corresponding to, for example, a joint of a human body in the robot 1 and generically refers to a movable portion.

処理部11は、モーション読み込み部111、熱分布計算部112、動き計算部113、及びモータ指令部114を有する。記憶部12は、モーションデータベース(DB:Data-Base)121、関節グラフ122、モータコマンドテーブル123、熱分布124、及び処理部11に動作制御処理を実行させるプログラム(図示せず)を格納している。処理部11は、記憶部12に格納されているプログラムを実行することで、モーション読み込み部111、熱分布計算部112、動き計算部113、及びモータ指令部114の夫々の機能を含むロボット1の各種機能を実現する。つまり、記憶部12に格納されているプログラムには、処理部11に動作制御処理を含むロボット1の処理を実行させる各手順が含まれる。プログラムを格納したコンピュータ読み取り可能な記憶媒体は、この例では記憶部12を形成する少なくとも1つの記憶装置で形成可能である。   The processing unit 11 includes a motion reading unit 111, a heat distribution calculation unit 112, a motion calculation unit 113, and a motor command unit 114. The storage unit 12 stores a motion database (DB: Data-Base) 121, a joint graph 122, a motor command table 123, a heat distribution 124, and a program (not shown) that causes the processing unit 11 to execute an operation control process. Yes. The processing unit 11 executes the program stored in the storage unit 12, thereby enabling the robot 1 including the functions of the motion reading unit 111, the heat distribution calculation unit 112, the motion calculation unit 113, and the motor command unit 114. Implement various functions. That is, the program stored in the storage unit 12 includes each procedure for causing the processing unit 11 to execute the process of the robot 1 including the operation control process. The computer-readable storage medium storing the program can be formed by at least one storage device forming the storage unit 12 in this example.

(モータコマンドテーブル)
この例では、ロボット1は、時間軸上で可動部群13内の関節を駆動する各モータの回転角度を時系列で指定するモーションデータ(又は、動作パターンデータ)に基づいて動作することにより、様々な動作又は表現を行う。モーションデータは、ロボット1の動作実行時にモーション読み込み部111により各モータへの具体的な指示に逐次変換され、例えば図2に示すようなモータコマンドテーブル123に保持され管理される。図2は、モータコマンドテーブル123の一例を説明する図である。図2に示す例では、「口」、「首(tilt)」、「首(roll)」に対してモータの回転量の指令値が格納されている。首(pan)、首(tilt)、首(roll)は、互いに直交する3軸を中心としたロボット1の首の回転角度(パン、チルト、ロール)を示す。尚、関節は、図2に示す右耳、左耳、右まぶた、左まぶた、口、首(pan)、首(tilt)、首(roll)、右肩、左肩、右腕、左腕、右股、左股、右膝、及び左膝に限定されないことは、言うまでもない。
(Motor command table)
In this example, the robot 1 operates on the time axis based on motion data (or operation pattern data) that specifies the rotation angle of each motor that drives the joint in the movable unit group 13 in time series. Perform various actions or expressions. The motion data is sequentially converted into specific instructions for each motor by the motion reading unit 111 when the operation of the robot 1 is executed, and is held and managed, for example, in a motor command table 123 as shown in FIG. FIG. 2 is a diagram for explaining an example of the motor command table 123. In the example shown in FIG. 2, command values for the rotation amount of the motor are stored for “mouth”, “tilt”, and “roll”. Neck (pan), neck (tilt), and neck (roll) indicate rotation angles (pan, tilt, roll) of the neck of the robot 1 around three axes orthogonal to each other. The joints shown in FIG. 2 are the right ear, left ear, right eyelid, left eyelid, mouth, neck (pan), neck (tilt), neck (roll), right shoulder, left shoulder, right arm, left arm, right crotch, Needless to say, the present invention is not limited to the left crotch, right knee, and left knee.

図2中、横軸で示す時刻の単位は、ロボット1の動作周期(例えば、0を含まない1000ミリ秒以下の値)であり、四辺形で示された各フィールド内の符号付きの数値が、対応するモータの回転量の指令値(°)を表す。ロボット1が動作中は、モーション読み込み部111によりモーションDB121から順次モーションデータが読み出され、記憶部12内のモータコマンドテーブル123にコマンドが割り当てられる。例えば、複数のモーションデータが並行してモータコマンドテーブル123に割り当てられる。モータコマンドテーブル123の内容は、時間の経過と共に図2中矢印で示すように左側にずれて(即ち、スライドして)、時刻T0〜T1にスライドしてきたコマンドが対応するモータにモータ指定部114を介して送信される。このとき、時刻T0〜T1のフィールド内に数値が設定されている関節は、モーションデータにより動作が指定されている動作関節である。一方、フィールド内が空白の関節は、モーションデータにより動作が指定されていない関節であり、従来であれば停止している。この例では、従来であれば停止しているこれらの関節を従属関節と定義して、動作関節に従属させた微小な動きを生成する。従属関節と定義された関節に対しては、例えばモータコマンドテーブル123の時刻T0〜T1のフィールドに新たにコマンドを割り付ける。   In FIG. 2, the unit of time shown on the horizontal axis is the operation cycle of the robot 1 (for example, a value of 1000 milliseconds or less not including 0), and the signed numerical value in each field indicated by a quadrilateral is Represents the command value (°) of the rotation amount of the corresponding motor. While the robot 1 is operating, the motion reading unit 111 sequentially reads motion data from the motion DB 121 and assigns commands to the motor command table 123 in the storage unit 12. For example, a plurality of motion data is assigned to the motor command table 123 in parallel. The contents of the motor command table 123 are shifted to the left as indicated by the arrows in FIG. 2 (ie, slid) with the passage of time, and the motor designation unit 114 corresponds to the motor corresponding to the command slid at time T0 to T1. Sent through. At this time, the joint whose numerical value is set in the field of time T0 to T1 is the motion joint whose motion is specified by the motion data. On the other hand, a joint whose field is blank is a joint whose operation is not specified by the motion data, and is stopped in the prior art. In this example, these joints that have been stopped in the past are defined as dependent joints, and minute movements subordinate to the moving joints are generated. For a joint defined as a dependent joint, for example, a new command is assigned to the field of times T0 to T1 in the motor command table 123.

(関節グラフ)
先ず、ロボット1の複数の関節のうち、設計者により「関連」があると判断された関節同士をリンクで結んだ関節グラフ122を記憶部12に保持しておく。ここで、「関連」とは、例えば以下のような理由R1,R2により、ある関節の動きが他の関節に伝わることを言う。
R1:他の関節が筋肉や皮膚の動きに引っ張られる。
R2:体の重心と姿勢が変化することにより、各関節が受ける力の方向が変わる。
(Joint graph)
First, among the plurality of joints of the robot 1, a joint graph 122 in which joints determined to be “related” by the designer are connected by a link is held in the storage unit 12. Here, “relevant” means that the movement of a certain joint is transmitted to another joint for the following reasons R1 and R2.
R1: Other joints are pulled by the movement of muscles and skin.
R2: When the center of gravity and posture of the body change, the direction of the force received by each joint changes.

従って、関節グラフ122は、ロボット1の骨格的なリンク構造を定義したものではなく、設計者が上記の如き関節間の動きの影響を自由に想像、考慮して作成されたものである。つまり、関節グラフ122は、設計者が理由R1,R2等の関節間の動きの影響を考慮した上で任意に決定した条件に基づいて作成され、関節間の動きの影響に応じて関節同士をリンクで結んだものである。   Therefore, the joint graph 122 does not define the skeletal link structure of the robot 1, but is created by the designer who freely imagines and considers the influence of the movement between the joints as described above. In other words, the joint graph 122 is created based on a condition determined arbitrarily by the designer in consideration of the influence of movement between joints such as the reasons R1 and R2, and the joints are displayed according to the influence of movement between the joints. It is connected with a link.

(関節グラフのリンク上の重み)
関節グラフ122のリンクには、関節間の影響の度合いが関節間の重みとして付加(又は、設定)される。例えば、ロボット1が口を大きく開けた時、ロボット1が犬型の場合は耳も口の動きに連動して動くと予想できるが、その移動量は僅かであると仮定して口と耳とのリンク上の重みを小さく設定する。一方、肩の関節が大きく動いた時は、腕の関節も大きく動くと仮定し、肩と腕を結んでいるリンクの重みを比較的大きめに設定する。尚、この重みの付けの方法も、ロボット1の動きの個性として設計者が自由に設定可能である。
(Weight on link of joint graph)
The degree of influence between the joints is added (or set) as a weight between the joints in the joint graph 122. For example, when the robot 1 opens its mouth wide, if the robot 1 is dog-shaped, it can be predicted that the ears will move in conjunction with the movement of the mouth, but the amount of movement is assumed to be small and the mouth and ears Set a smaller weight on the link. On the other hand, when the shoulder joint moves greatly, it is assumed that the arm joint also moves greatly, and the weight of the link connecting the shoulder and the arm is set relatively large. Note that this weighting method can also be freely set by the designer as the individuality of the movement of the robot 1.

図3は、関節グラフ122とリンクに付加された重みの一例を説明する図である。関節グラフ122とそのリンクに付加された重みは、設計者により任意に定義可能である。図3中、○印は関節を示し、○印内には「右耳」、「口」等といった関節の名称(又は、部位)が示されている。リンクは○印と○印を接続する直線で表されており、直線の近傍に示されている数値はリンクに付加された重みを表す。   FIG. 3 is a diagram for explaining an example of the weight added to the joint graph 122 and the link. The weight added to the joint graph 122 and its link can be arbitrarily defined by the designer. In FIG. 3, ◯ indicates a joint, and the name (or part) of the joint such as “right ear”, “mouth”, and the like is indicated in the ◯ mark. The link is represented by a straight line connecting the ○ mark and the ○ mark, and the numerical value shown in the vicinity of the straight line represents the weight added to the link.

Figure 0005699648
Figure 0005699648

Figure 0005699648
Figure 0005699648

Figure 0005699648
Figure 0005699648

Figure 0005699648
Figure 0005699648

Figure 0005699648
Figure 0005699648

Figure 0005699648
Figure 0005699648

図6に示す関節グラフ122では、例えば右肩が首(tilt)と直結しているが、首(pan)と、首(roll) 経由でも首(tilt) に繋がっている。又、首(pan)及び首 (roll)は夫々首(tilt)に直結しているが、左肩経由でも首(tilt)に夫々異なる重み付きのリンクで繋がっている。ある関節が他の関節から受ける影響を考慮する上で、このような関節の相互接続による影響も考慮しても良い。実際の生き物も、関節同士は連鎖的に影響し合うものと考えるのが自然であるが、熱分布計算から求められる図6に示す関節グラフ122の影響量は、このような関節間の複数経路、及び各経路(即ち、リンク)に付加された異なる重み(即ち、図2で示した重み)を全て含んで計算した結果である。従って、関節グラフ122の影響量は、直結している関節間との重みのみにより定まる値ではない。   In the joint graph 122 shown in FIG. 6, for example, the right shoulder is directly connected to the neck (tilt), but is connected to the neck (tilt) via the neck (pan) and the neck (roll). In addition, the neck (pan) and the neck (roll) are connected directly to the neck (tilt), but they are connected to the neck (tilt) via links with different weights via the left shoulder. In considering the influence of a joint from other joints, the influence of such joint interconnection may also be considered. Naturally, it is natural to think that the joints of the actual creature also affect each other in a chain, but the influence amount of the joint graph 122 shown in FIG. , And different weights (ie, the weights shown in FIG. 2) added to each path (ie, link). Therefore, the influence amount of the joint graph 122 is not a value determined only by the weight between the directly connected joints.

又、図6において、○印で表される関節を繋ぐ直線のうち、太線は同じ関節から延びる複数のリンクのうち影響量とリンク上の重みの積が最大のリンクを示す。各従属関節の回転方向は、この太線で示すリンクで接続された先の関節と、そのリンクに設定された動作パターンから決まる。   In FIG. 6, among the straight lines connecting the joints indicated by ◯, the thick line indicates the link having the maximum product of the influence amount and the weight on the link among a plurality of links extending from the same joint. The rotation direction of each dependent joint is determined from the previous joint connected by the link indicated by the bold line and the motion pattern set for the link.

Figure 0005699648
Figure 0005699648

Figure 0005699648
Figure 0005699648

実際には、図7の如き処理、即ち、式(2)を用いた動作量の計算が動作関節の数分だけ行われた後に加算される。尚、上記の例では、首(tilt)だけが動作関節である。   In practice, the processing is performed as shown in FIG. 7, that is, after the motion amount calculation using the equation (2) is performed for the number of motion joints, it is added. In the above example, only the neck is the motion joint.

Figure 0005699648
Figure 0005699648

モータ指令部114からモータへの指令は、図8に示す更新後のコマンドテーブル123の時刻T0〜T1にあるフィールド分が送信される。このようにして、ロボット1の動作の1サイクル当たりの処理が行われる。   The command from the motor command unit 114 to the motor is transmitted for fields at times T0 to T1 in the updated command table 123 shown in FIG. In this way, processing per cycle of the operation of the robot 1 is performed.

Figure 0005699648
Figure 0005699648

尚、1サイクル経過後は、コマンドテーブル123の内容が1つ左にスライドし、同様の処理が繰り返され、図8に示すコマンドテーブル123は1サイクル後に図10に示すように更新される。図10は、1サイクル経過後の、更新されたコマンドテーブル123の一例を説明する図である。図10中、図8と同一部分には同一符号を付し、その説明は省略する。   After one cycle, the contents of the command table 123 slides one place to the left and the same processing is repeated. The command table 123 shown in FIG. 8 is updated after one cycle as shown in FIG. FIG. 10 is a diagram illustrating an example of the updated command table 123 after one cycle has elapsed. 10, parts that are the same as the parts shown in FIG. 8 are given the same reference numerals, and explanation thereof is omitted.

Figure 0005699648
Figure 0005699648

この結果、図9のフローチャートに従って各従属関節の動作量を、夫々の動作関節からの影響量を足し合わせて決定すると、図10に示すコマンドテーブル123は図12に示すように更新される。図12は、更新されたコマンドテーブル123の一例を説明する図である。図12中、図10と同一部分には同一符号を付し、その説明は省略する。   As a result, when the motion amount of each dependent joint is determined by adding the influence amounts from the respective motion joints according to the flowchart of FIG. 9, the command table 123 shown in FIG. 10 is updated as shown in FIG. FIG. 12 is a diagram for explaining an example of the updated command table 123. In FIG. 12, the same parts as those in FIG.

Figure 0005699648
Figure 0005699648

Figure 0005699648
Figure 0005699648

図15は、処理部11全体の処理を説明するフローチャートである。図15において、ステップS21では、モーション読み込み部111が記憶部12内のモーションDB121からモーションを読み込む。ステップS22では、モーション読み込み部111が読み込んだモーションを各モータへの具体的な指示に逐次変換して記憶部12内のモータコマンドテーブル123に割り当てて保持する。ステップS23では、動き計算部113が記憶部12内に既に格納されている熱分布124に基づいて従属関節の動きを計算し、計算結果に基づいてモータコマンドテーブル123を例えば図8に示すように更新する。ステップS24では、モータ指令部114が更新されたモータコマンドテーブル123に基づいて可動部群13内の該当するモータを制御、即ち、作動させる。   FIG. 15 is a flowchart for explaining processing of the entire processing unit 11. In FIG. 15, in step S <b> 21, the motion reading unit 111 reads a motion from the motion DB 121 in the storage unit 12. In step S <b> 22, the motion read by the motion reading unit 111 is sequentially converted into specific instructions for each motor, assigned to the motor command table 123 in the storage unit 12 and held. In step S23, the motion calculation unit 113 calculates the motion of the subordinate joint based on the heat distribution 124 already stored in the storage unit 12, and the motor command table 123 is calculated based on the calculation result as shown in FIG. Update. In step S24, the motor command unit 114 controls, that is, operates the corresponding motor in the movable unit group 13 based on the updated motor command table 123.

Figure 0005699648
Figure 0005699648

上記の如く、この例において定義する関節グラフ構造(即ち、関節間のリンクの仕方、重みの付け方、回転パターンの決め方)は、ロボット1の動きの個性として、ロボット1が夫々固有の物を持ち、又、動作モードに応じて任意にその構造を変更可能である。このため、設計者が直感的、且つ、容易に関節グラフ構造を作成し、編集可能とする編集ツールを用いても良い。図16は、編集ツールの画面の一例を示す図であり、図17は、編集ツールの処理の一例を説明するフローチャートである。編集ツールは、プロセッサ、記憶部、キーボード等の入力部、及び表示部を備えた汎用のコンピュータシステム(図示せず)に搭載される。   As described above, the joint graph structure defined in this example (i.e., how to link between joints, how to assign weights, how to determine the rotation pattern), as the individuality of the movement of the robot 1, each robot 1 has a unique object. The structure can be arbitrarily changed according to the operation mode. For this reason, an editing tool that allows a designer to create and edit a joint graph structure intuitively and easily may be used. FIG. 16 is a diagram illustrating an example of the editing tool screen, and FIG. 17 is a flowchart illustrating an example of processing of the editing tool. The editing tool is mounted on a general-purpose computer system (not shown) including a processor, a storage unit, an input unit such as a keyboard, and a display unit.

図16に示す編集ツールの画面30は、コンピュータシステムの表示部に表示され、設計者(又は、操作者)がコンピュータシステムの入力部から情報及び指示を入力することで関節グラフ構造の作成及び編集を可能とするGUI(Graphical User Interface)を提供する。図16に示す例では、入力部から操作可能である、画面30内にシミュレーションの開始を指示するためのシミュレーションボタン31、関節間のリンクを書くペンツール32、及び関節間の回転パターン(即ち、回転量、回転方向)の定義を決定する決定部33が編集ツールの画面30に含まれる。又、編集ツールの画面30には、作成中又は編集中の関節グラフを表示する関節グラフ表示部34も含まれる。   The editing tool screen 30 shown in FIG. 16 is displayed on the display unit of the computer system, and the designer (or operator) creates and edits the joint graph structure by inputting information and instructions from the input unit of the computer system. A GUI (Graphical User Interface) is provided. In the example shown in FIG. 16, a simulation button 31 for instructing the start of simulation within the screen 30, a pen tool 32 for writing a link between joints, and a rotation pattern between joints (that is, rotation) that can be operated from the input unit. An editing tool screen 30 includes a determination unit 33 that determines the definition of the amount and the rotation direction. The editing tool screen 30 also includes a joint graph display unit 34 for displaying a joint graph being created or edited.

図17に示す処理は、コンピュータシステムのプロセッサが記憶部に格納された編集ツールのプログラムを実行することにより実現される。図17において、シミュレーションボタン31が操作されると、ステップS31では関節グラフ構造の作成手順が実行され、ステップS32では作成中の関節グラフ上でのシミュレーション手順が実行される。ステップS33では、関節グラフ構造の作成終了判定手順が実行され、ステップS33の判定結果がNOであると処理はステップS31へ戻り、判定結果がYESであると処理はステップS34へ進む。ステップS34では、関節グラフ構造設定書き出し手順が実行され、作成された関節グラフが表示部の画面30内の関節グラフ表示部34に表示されると共に、記憶部に設定され格納される。   The processing shown in FIG. 17 is realized by the execution of an editing tool program stored in the storage unit by the processor of the computer system. In FIG. 17, when the simulation button 31 is operated, a joint graph structure creation procedure is executed in step S31, and a simulation procedure on the joint graph being created is executed in step S32. In step S33, the joint graph structure creation end determination procedure is executed. If the determination result in step S33 is NO, the process returns to step S31, and if the determination result is YES, the process proceeds to step S34. In step S34, the joint graph structure setting writing procedure is executed, and the created joint graph is displayed on the joint graph display unit 34 in the screen 30 of the display unit, and is set and stored in the storage unit.

ステップS31の関節グラフ構造の作成手順は、入力部によりペンツール32を操作することでロボット1の関節間のリンクの定義を行う定義手順311、入力部により決定部33を操作することでリンク上の回転パターンの定義を決定して記憶部に設定する回転パターン設定手順312、及び入力部のテンキー等の操作によりリンク上の重みを入力して記憶部に設定する重み設定手順313を含む。   The procedure for creating the joint graph structure in step S31 includes a definition procedure 311 for defining a link between joints of the robot 1 by operating the pen tool 32 with the input unit, and a link on the link by operating the determination unit 33 with the input unit. A rotation pattern setting procedure 312 for determining the definition of the rotation pattern and setting it in the storage unit, and a weight setting procedure 313 for inputting the weight on the link by operating the numeric keypad of the input unit and setting it in the storage unit are included.

ステップS32のシミュレーション手順は、入力部からの操作により動作関節とするノードを関節グラフ表示部34に表示された関節グラフから選択する選択手順321、及び従属関節が動作関節から受ける影響をリアルタイムに計算して関節グラフ表示部34に表示された関節グラフ上に表示する表示手順322を含む。   The simulation procedure of step S32 calculates in real time the selection procedure 321 for selecting a node to be a moving joint by an operation from the input unit from the joint graph displayed on the joint graph display unit 34, and the influence of the dependent joint from the moving joint. Then, a display procedure 322 for displaying on the joint graph displayed on the joint graph display unit 34 is included.

本実施例によれば、比較的簡単な制御でロボットに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせることが可能となる。又、編集ツールを用いることで、設計者は比較的簡単、且つ、容易に関節グラフの作成及び編集を行うことができる。   According to the present embodiment, it is possible to cause the robot to perform a smooth operation, for example, a natural operation that does not give a sense of incongruity to humans, with relatively simple control. Further, by using the editing tool, the designer can create and edit the joint graph relatively easily and easily.

(第2実施例)
開示の動作制御方法、ロボット及びプログラムは、多関節で構成されるロボットを含むインタラクティブデバイスに限らず、多関節で構成されるCGアニメーションキャラクタの動き制御にも適用可能である。
(Second embodiment)
The disclosed motion control method, robot, and program are not limited to an interactive device including a robot composed of multiple joints, but can be applied to motion control of a CG animation character composed of multiple joints.

アニメーション作成ツールによりCGアニメーションキャラクタを作成する場合、ロボットの場合と同様にアニメーションキャラクタの関節を動かすことで、画面上でアニメーションキャラクタに各種動作を行わせることができる。しかし、アニメーション作成ツールにより動かしたい動作関節のみを動かしたのでは、動作関節に影響されて微小な動作を行う他の従属関節の動きが生成されない。そこで、本発明の第2実施例では、上記第1実施例におけるロボットの場合と同様に、アニメーションキャラクタのモーション(又は、動作パターン)で定義された動作関節に加え、動作関節に影響されて微小な動作を行う他の従属関節の動きを自動的に生成する。これにより、比較的簡単な制御でアニメーションキャラクタに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせることが可能となる。   When creating a CG animation character using the animation creation tool, the animation character can perform various operations on the screen by moving the joint of the animation character as in the case of the robot. However, if only the motion joint to be moved is moved by the animation creation tool, the motion of other subordinate joints that are affected by the motion joint and perform minute motions are not generated. Therefore, in the second embodiment of the present invention, as in the case of the robot in the first embodiment, in addition to the motion joint defined by the motion (or motion pattern) of the animation character, Automatically generate movements of other subordinate joints that perform various actions. As a result, it is possible to cause the animation character to perform a smooth operation, for example, a natural operation that does not give a sense of incongruity to humans, with relatively simple control.

図18は、CGアニメーションキャラクタの一例を示す図である。図18において、300は多関節を有する人間型のCGアニメーションキャラクタを示し、400は多関節を有する犬型のCGアニメーションキャラクタを示す。開示の動作制御方法をCGアニメーションキャラクタ300又は400の動き制御に適用することで、円滑な動きのCGアニメーションキャラクタ300又は400を自動生成することが可能となる。   FIG. 18 is a diagram illustrating an example of a CG animation character. In FIG. 18, 300 indicates a human-type CG animation character having a multi-joint, and 400 indicates a dog-type CG animation character having a multi-joint. By applying the disclosed motion control method to the motion control of the CG animation character 300 or 400, the CG animation character 300 or 400 having a smooth motion can be automatically generated.

以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
複数の可動部を有するロボット又はアニメーションキャラクタの動作が、動かす動作可動部で時系列に定義された動作パターンを、記憶部に格納されており可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフに基づいて更新する更新手順と、
前記更新手順により更新された動作パターンに基づいて前記複数の可動部を制御する制御手順
をコンピュータで実行し、
前記更新手順は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作を自動的に生成することを特徴とする、動作制御方法。
(付記2)
前記グラフの各リンクには、可動部間の影響の度合いが重みとして付加されていることを特徴とする、付記1記載の動作制御方法。
(付記3)
前記動作パターンは、各動作可動部の回転量及び回転方向を指定することを特徴とする、付記1又は2記載の動作制御方法。
(付記4)
可動部間の影響の度合いを前記グラフ構造上の熱拡散計算により求める計算手順を更に前記コンピュータで実行することを特徴とする、付記1乃至3のいずれか1項記載の動作制御方法。

Figure 0005699648
Figure 0005699648
(付記7)
複数の可動部を有するロボットであって、
可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフを格納する記憶部と、
動かす動作可動部で時系列に定義された動作パターンを、前記記憶部に格納された前記グラフに基づいて更新する計算部と、
前記計算部により更新された動作パターンに基づいて前記複数の可動部を制御する指令部を備え、
前記計算部は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作を自動的に生成することを特徴とする、ロボット。
(付記8)
前記グラフの各リンクには、可動部間の影響の度合いが重みとして付加されていることを特徴とする、付記7記載のロボット。
(付記9)
前記動作パターンは、各動作可動部の回転量及び回転方向を指定することを特徴とする、付記7又は8記載のロボット。
(付記10)
前記計算部は、可動部間の影響の度合いを前記グラフ構造上の熱拡散計算により求めることを特徴とする、付記7乃至9のいずれか1項記載のロボット。
Figure 0005699648
Figure 0005699648
(付記13)
コンピュータに、複数の可動部を有するロボット又はアニメーションキャラクタの動作を制御させるプログラムであって、
前記ロボット又はアニメーションキャラクタの動作が、動かす動作可動部で時系列に定義された動作パターンを、記憶部に格納されており可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフに基づいて更新する更新手順と、
前記更新手順により更新された動作パターンに基づいて前記複数の可動部を制御する制御手順
をコンピュータに実行させ、
前記更新手順は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作を自動的に生成することを特徴とする、プログラム。
(付記14)
前記グラフの各リンクには、可動部間の影響の度合いが重みとして付加されていることを特徴とする、付記13記載のプログラム。
(付記15)
前記動作パターンは、各動作可動部の回転量及び回転方向を指定することを特徴とする、付記13又は14記載のプログラム。
(付記16)
可動部間の影響の度合いを前記グラフ構造上の熱拡散計算により求める計算手順を更に前記コンピュータに実行させることを特徴とする、付記13乃至15のいずれか1項記載のプログラム。
Figure 0005699648
Figure 0005699648
The following additional notes are further disclosed with respect to the embodiment including the above examples.
(Appendix 1)
The movement pattern of the robot or animation character having a plurality of movable parts is stored in the storage unit, and the movable parts are moved according to the influence of the movement between the movable parts. An update procedure that updates based on the linked graph,
A computer executes a control procedure for controlling the plurality of movable parts based on the operation pattern updated by the update procedure,
The update procedure automatically generates an operation of a subordinate movable part that operates under the influence of the operation movable part in addition to the operation movable part based on the graph.
(Appendix 2)
The operation control method according to appendix 1, wherein a degree of influence between movable parts is added to each link of the graph as a weight.
(Appendix 3)
The motion control method according to appendix 1 or 2, wherein the motion pattern specifies a rotation amount and a rotation direction of each motion movable portion.
(Appendix 4)
The operation control method according to any one of appendices 1 to 3, wherein a calculation procedure for obtaining a degree of influence between the movable parts by heat diffusion calculation on the graph structure is further executed by the computer.
Figure 0005699648
Figure 0005699648
(Appendix 7)
A robot having a plurality of movable parts,
A storage unit for storing a graph in which the movable parts are linked with each other according to the influence of the movement between the movable parts;
A calculation unit that updates an operation pattern defined in time series by the moving operation unit to be moved based on the graph stored in the storage unit;
A command unit for controlling the plurality of movable units based on the operation pattern updated by the calculation unit;
The robot according to claim 1, wherein the calculation unit automatically generates an operation of a subordinate movable unit that operates under the influence of the operation movable unit in addition to the operation movable unit based on the graph.
(Appendix 8)
The robot according to appendix 7, wherein the degree of influence between the movable parts is added to each link of the graph as a weight.
(Appendix 9)
9. The robot according to appendix 7 or 8, wherein the motion pattern specifies a rotation amount and a rotation direction of each motion movable portion.
(Appendix 10)
The robot according to any one of appendices 7 to 9, wherein the calculation unit obtains the degree of influence between the movable units by thermal diffusion calculation on the graph structure.
Figure 0005699648
Figure 0005699648
(Appendix 13)
A program for causing a computer to control the operation of a robot or animation character having a plurality of movable parts,
A graph in which motion patterns defined in time series by the motion movable portion that moves the motion of the robot or animation character are stored in the storage portion and the movable portions are linked by a link according to the influence of the motion between the movable portions An update procedure to update based on
Causing the computer to execute a control procedure for controlling the plurality of movable parts based on the operation pattern updated by the update procedure,
The update procedure automatically generates an operation of a subordinate movable unit that operates under the influence of the operation movable unit in addition to the operation movable unit based on the graph.
(Appendix 14)
14. The program according to appendix 13, wherein the degree of influence between movable parts is added to each link of the graph as a weight.
(Appendix 15)
15. The program according to appendix 13 or 14, wherein the operation pattern specifies a rotation amount and a rotation direction of each operation movable part.
(Appendix 16)
The program according to any one of appendices 13 to 15, further causing the computer to execute a calculation procedure for obtaining a degree of influence between the movable parts by thermal diffusion calculation on the graph structure.
Figure 0005699648
Figure 0005699648

1 ロボット
11 処理部
12 記憶部
13 可動部群
111 モーション読み込み部
112 熱分布計算部
113 動き計算部
114 モータ指令部
121 モーションDB
122 関節グラフ
123 モータコマンドテーブル
124 熱分布
DESCRIPTION OF SYMBOLS 1 Robot 11 Processing part 12 Storage part 13 Movable part group 111 Motion reading part 112 Heat distribution calculation part 113 Motion calculation part 114 Motor command part 121 Motion DB
122 Joint graph 123 Motor command table 124 Heat distribution

Claims (6)

コンピュータに、複数の可動部を有するロボット又はアニメーションキャラクタの動作を制御させるプログラムであって、
前記ロボット又はアニメーションキャラクタの動作が、動かす動作可動部で時系列に定義された動作パターンを、記憶部に格納されており可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフに基づいて更新する更新手順と、
前記更新手順により更新された動作パターンに基づいて前記複数の可動部を制御する制御手順と、
可動部間の影響の度合いを前記グラフの構造上の熱拡散計算により求める計算手順
をコンピュータに実行させ、
前記更新手順は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作生成することを特徴とする、プログラム。
A program for causing a computer to control the operation of a robot or animation character having a plurality of movable parts,
A graph in which motion patterns defined in time series by the motion movable portion that moves the motion of the robot or animation character are stored in the storage portion and the movable portions are linked by a link according to the influence of the motion between the movable portions An update procedure to update based on
A control procedure for controlling the plurality of movable parts based on the operation pattern updated by the update procedure ;
Causing a computer to execute a calculation procedure for determining the degree of influence between moving parts by thermal diffusion calculation on the structure of the graph ;
The update procedure, the operation applied to the movable portion, and generating an operation dependent movable section operating been influenced by the operation movable portion on the basis of the graph program.
前記グラフの各リンクには、可動部間の影響の度合いが重みとして付加されていることを特徴とする、請求項1記載のプログラム。   The program according to claim 1, wherein a degree of influence between movable parts is added to each link of the graph as a weight. 前記計算手順は、
前記複数の可動部の数がn個の場合、前記グラフのリンクに付加された重みを用いて可動部iと可動部jの重みを(i,j)成分に持つn×n行列Pを定義し、
Iをn×nの単位行列として前記行列Pを用いて次式の計算を行うことにより行列Mを求め、
Figure 0005699648
前記行列Mの要素(i,j)は、前記可動部jを熱源として、前記熱源から時間t内に重み付きの前記グラフ上を辿って前記可動部iに流入してきた熱量とみなすことを特徴とする、請求項1又は2記載のプログラム。
The calculation procedure is as follows:
When the number of the plurality of movable parts is n, an n × n matrix P having weights of the movable part i and the movable part j as (i, j) components is defined using the weight added to the link of the graph. And
A matrix M is obtained by performing the following calculation using the matrix P, where I is an n × n unit matrix:
Figure 0005699648
The element (i, j) of the matrix M is regarded as the amount of heat flowing from the heat source into the movable part i through the weighted graph within the time t from the heat source as the heat source. The program according to claim 1 or 2.
前記計算手順は、行の和
Figure 0005699648
が1となるような正規化を行うことを特徴とする、請求項3記載のプログラム。
The calculation procedure is the sum of rows
Figure 0005699648
4. The program according to claim 3, wherein normalization is performed so that becomes 1.
複数の可動部を有するロボットであって、
可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフを格納する記憶部と、
動かす動作可動部で時系列に定義された動作パターンを、前記記憶部に格納された前記グラフに基づいて更新する計算部と、
前記計算部により更新された動作パターンに基づいて前記複数の可動部を制御する指令部を備え、
前記計算部は、可動部間の影響の度合いを前記グラフの構造上の熱拡散計算により求め、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作生成することを特徴とする、ロボット。
A robot having a plurality of movable parts,
A storage unit for storing a graph in which the movable parts are linked with each other according to the influence of the movement between the movable parts;
A calculation unit that updates an operation pattern defined in time series by the moving operation unit to be moved based on the graph stored in the storage unit;
A command unit for controlling the plurality of movable units based on the operation pattern updated by the calculation unit;
The calculation unit obtains the degree of influence between the movable units by thermal diffusion calculation on the structure of the graph, and in addition to the operation movable unit based on the graph, a dependent movable unit that operates by being influenced by the operation movable unit A robot characterized by generating a motion of .
複数の可動部を有するロボット又はアニメーションキャラクタの動作が、動かす動作可動部で時系列に定義された動作パターンを、記憶部に格納されており可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフに基づいて更新する更新手順と、
前記更新手順により更新された動作パターンに基づいて前記複数の可動部を制御する制御手順と、
可動部間の影響の度合いを前記グラフの構造上の熱拡散計算により求める計算手順
をコンピュータで実行し、
前記更新手順は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作生成することを特徴とする、動作制御方法。
The movement pattern of the robot or animation character having a plurality of movable parts is stored in the storage unit, and the movable parts are moved according to the influence of the movement between the movable parts. An update procedure that updates based on the linked graph,
A control procedure for controlling the plurality of movable parts based on the operation pattern updated by the update procedure ;
The computer performs a calculation procedure for determining the degree of influence between moving parts by thermal diffusion calculation on the structure of the graph ,
The update procedure, in addition to the operation movable portion on the basis of the graph, and generating an operation dependent movable section operating been influenced by the operation movable part, operation control method.
JP2011021062A 2011-02-02 2011-02-02 Operation control method, robot and program Expired - Fee Related JP5699648B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011021062A JP5699648B2 (en) 2011-02-02 2011-02-02 Operation control method, robot and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011021062A JP5699648B2 (en) 2011-02-02 2011-02-02 Operation control method, robot and program

Publications (2)

Publication Number Publication Date
JP2012157964A JP2012157964A (en) 2012-08-23
JP5699648B2 true JP5699648B2 (en) 2015-04-15

Family

ID=46838928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011021062A Expired - Fee Related JP5699648B2 (en) 2011-02-02 2011-02-02 Operation control method, robot and program

Country Status (1)

Country Link
JP (1) JP5699648B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021024782A1 (en) * 2019-08-02 2021-02-11

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1190866A (en) * 1997-09-12 1999-04-06 Sony Corp Editing method for operating pattern for multiped walking body
JP4380042B2 (en) * 2000-09-04 2009-12-09 ソニー株式会社 Animation generation method and apparatus
JP3955756B2 (en) * 2001-12-05 2007-08-08 日本電信電話株式会社 Operation control apparatus, method and program
FR2839176A1 (en) * 2002-04-30 2003-10-31 Koninkl Philips Electronics Nv ROBOT ANIMATION SYSTEM COMPRISING A SET OF MOVING PARTS

Also Published As

Publication number Publication date
JP2012157964A (en) 2012-08-23

Similar Documents

Publication Publication Date Title
De Giorgio et al. Human-machine collaboration in virtual reality for adaptive production engineering
JP6227683B2 (en) A way to develop and control a robot to get a movement that matches an animated character.
JP6662773B2 (en) A system for neurobehavioral animation
US9330502B2 (en) Mixed reality simulation methods and systems
KR101098834B1 (en) Apparatus and method for generating motion based on dynamics
KR20050116156A (en) Apparatus and method for generating behaviour in an object
EP1748391A2 (en) Three-dimensional animation of soft tissue of characters using controls associated with a surface mesh
JP5118220B2 (en) Motion modeling apparatus and method, and program
JP2010531743A (en) Method for editing robot motion
JP5232129B2 (en) Virtual character generation device and virtual character generation program
JP4267508B2 (en) Optimization of ergonomic movement of virtual dummy
Bhatti et al. Procedural animation of 3d humanoid characters using trigonometric expressions
Ho et al. A finite state machine based on topology coordinates for wrestling games
JP5699648B2 (en) Operation control method, robot and program
Shen et al. Haptic-enabled telementoring surgery simulation
Kuo et al. Motion generation from MTM semantics
Bhati et al. Analysis of design principles and requirements for procedural rigging of bipeds and quadrupeds characters with custom manipulators for animation
JPH1021420A (en) Picture composition device/method
Ghani Wayang kulit: Digital puppetry character rigging using Maya MEL language
JP2015148994A (en) Kinetics calculation method and program, and recording medium
JP2022088007A (en) Image generating program, recording medium, and image generating method
JP3837479B2 (en) Motion signal generation method, apparatus and motion signal generation program for operating body
Badler Simulated Humans, Graphical Behaviors, and Animated Agents
US20230306667A1 (en) Procedural animation engine and editor for sample-based design of stylized walking gaits for bipedal robots
Wang et al. Reinforcement Learning based End-to-End Control of Bimanual Robotic Coordination

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150202

R150 Certificate of patent or registration of utility model

Ref document number: 5699648

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees