JP5699648B2 - Operation control method, robot and program - Google Patents
Operation control method, robot and program Download PDFInfo
- 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
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.
従来の動作制御方法では、ロボット又はアニメーションキャラクタの関節を動かす場合、モーション(又は、動作パターン)で定義された関節のみが動き他の関節は静止した状態にあるため、ロボット又はアニメーションキャラクタに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせることは難しいという問題があった。 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.
開示の動作制御方法、ロボット及びプログラムでは、ロボット又はアニメーションキャラクタのモーション(又は、動作パターン)で定義された動作関節に加え、動作関節に影響されて微小な動作を行う他の従属関節の動きを自動的に生成することで、比較的簡単な制御でロボット又はアニメーションキャラクタに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせる。 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
処理部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
(モータコマンドテーブル)
この例では、ロボット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
図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
(関節グラフ)
先ず、ロボット1の複数の関節のうち、設計者により「関連」があると判断された関節同士をリンクで結んだ関節グラフ122を記憶部12に保持しておく。ここで、「関連」とは、例えば以下のような理由R1,R2により、ある関節の動きが他の関節に伝わることを言う。
R1:他の関節が筋肉や皮膚の動きに引っ張られる。
R2:体の重心と姿勢が変化することにより、各関節が受ける力の方向が変わる。
(Joint graph)
First, among the plurality of joints of the
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
(関節グラフのリンク上の重み)
関節グラフ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
図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.
図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.
実際には、図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.
モータ指令部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
尚、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.
この結果、図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.
図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
上記の如く、この例において定義する関節グラフ構造(即ち、関節間のリンクの仕方、重みの付け方、回転パターンの決め方)は、ロボット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
図16に示す編集ツールの画面30は、コンピュータシステムの表示部に表示され、設計者(又は、操作者)がコンピュータシステムの入力部から情報及び指示を入力することで関節グラフ構造の作成及び編集を可能とするGUI(Graphical User Interface)を提供する。図16に示す例では、入力部から操作可能である、画面30内にシミュレーションの開始を指示するためのシミュレーションボタン31、関節間のリンクを書くペンツール32、及び関節間の回転パターン(即ち、回転量、回転方向)の定義を決定する決定部33が編集ツールの画面30に含まれる。又、編集ツールの画面30には、作成中又は編集中の関節グラフを表示する関節グラフ表示部34も含まれる。
The
図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
ステップS31の関節グラフ構造の作成手順は、入力部によりペンツール32を操作することでロボット1の関節間のリンクの定義を行う定義手順311、入力部により決定部33を操作することでリンク上の回転パターンの定義を決定して記憶部に設定する回転パターン設定手順312、及び入力部のテンキー等の操作によりリンク上の重みを入力して記憶部に設定する重み設定手順313を含む。
The procedure for creating the joint graph structure in step S31 includes a
ステップS32のシミュレーション手順は、入力部からの操作により動作関節とするノードを関節グラフ表示部34に表示された関節グラフから選択する選択手順321、及び従属関節が動作関節から受ける影響をリアルタイムに計算して関節グラフ表示部34に表示された関節グラフ上に表示する表示手順322を含む。
The simulation procedure of step S32 calculates in real time the
本実施例によれば、比較的簡単な制御でロボットに円滑な動作、例えば人間からみて違和感のない自然な動作を行わせることが可能となる。又、編集ツールを用いることで、設計者は比較的簡単、且つ、容易に関節グラフの作成及び編集を行うことができる。 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
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
複数の可動部を有するロボット又はアニメーションキャラクタの動作が、動かす動作可動部で時系列に定義された動作パターンを、記憶部に格納されており可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフに基づいて更新する更新手順と、
前記更新手順により更新された動作パターンに基づいて前記複数の可動部を制御する制御手順
をコンピュータで実行し、
前記更新手順は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作を自動的に生成することを特徴とする、動作制御方法。
(付記2)
前記グラフの各リンクには、可動部間の影響の度合いが重みとして付加されていることを特徴とする、付記1記載の動作制御方法。
(付記3)
前記動作パターンは、各動作可動部の回転量及び回転方向を指定することを特徴とする、付記1又は2記載の動作制御方法。
(付記4)
可動部間の影響の度合いを前記グラフ構造上の熱拡散計算により求める計算手順を更に前記コンピュータで実行することを特徴とする、付記1乃至3のいずれか1項記載の動作制御方法。
複数の可動部を有するロボットであって、
可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフを格納する記憶部と、
動かす動作可動部で時系列に定義された動作パターンを、前記記憶部に格納された前記グラフに基づいて更新する計算部と、
前記計算部により更新された動作パターンに基づいて前記複数の可動部を制御する指令部を備え、
前記計算部は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作を自動的に生成することを特徴とする、ロボット。
(付記8)
前記グラフの各リンクには、可動部間の影響の度合いが重みとして付加されていることを特徴とする、付記7記載のロボット。
(付記9)
前記動作パターンは、各動作可動部の回転量及び回転方向を指定することを特徴とする、付記7又は8記載のロボット。
(付記10)
前記計算部は、可動部間の影響の度合いを前記グラフ構造上の熱拡散計算により求めることを特徴とする、付記7乃至9のいずれか1項記載のロボット。
コンピュータに、複数の可動部を有するロボット又はアニメーションキャラクタの動作を制御させるプログラムであって、
前記ロボット又はアニメーションキャラクタの動作が、動かす動作可動部で時系列に定義された動作パターンを、記憶部に格納されており可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフに基づいて更新する更新手順と、
前記更新手順により更新された動作パターンに基づいて前記複数の可動部を制御する制御手順
をコンピュータに実行させ、
前記更新手順は、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作を自動的に生成することを特徴とする、プログラム。
(付記14)
前記グラフの各リンクには、可動部間の影響の度合いが重みとして付加されていることを特徴とする、付記13記載のプログラム。
(付記15)
前記動作パターンは、各動作可動部の回転量及び回転方向を指定することを特徴とする、付記13又は14記載のプログラム。
(付記16)
可動部間の影響の度合いを前記グラフ構造上の熱拡散計算により求める計算手順を更に前記コンピュータに実行させることを特徴とする、付記13乃至15のいずれか1項記載のプログラム。
(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 3)
The motion control method according to
(Appendix 4)
The operation control method according to any one of
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
(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.
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 15)
15. The program according to
(Appendix 16)
The program according to any one of
1 ロボット
11 処理部
12 記憶部
13 可動部群
111 モーション読み込み部
112 熱分布計算部
113 動き計算部
114 モータ指令部
121 モーションDB
122 関節グラフ
123 モータコマンドテーブル
124 熱分布
DESCRIPTION OF
122
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.
前記複数の可動部の数がn個の場合、前記グラフのリンクに付加された重みを用いて可動部iと可動部jの重みを(i,j)成分に持つn×n行列Pを定義し、
Iをn×nの単位行列として前記行列Pを用いて次式の計算を行うことにより行列Mを求め、
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:
可動部間の動きの影響に応じて可動部同士をリンクで結んだグラフを格納する記憶部と、
動かす動作可動部で時系列に定義された動作パターンを、前記記憶部に格納された前記グラフに基づいて更新する計算部と、
前記計算部により更新された動作パターンに基づいて前記複数の可動部を制御する指令部を備え、
前記計算部は、可動部間の影響の度合いを前記グラフの構造上の熱拡散計算により求め、前記グラフに基づいて前記動作可動部に加え、前記動作可動部に影響されて動作する従属可動部の動作を生成することを特徴とする、ロボット。 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021024782A1 (en) * | 2019-08-02 | 2021-02-11 |
Family Cites Families (4)
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 |
-
2011
- 2011-02-02 JP JP2011021062A patent/JP5699648B2/en not_active Expired - Fee Related
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 |