JP5458245B2 - Operation control apparatus, method thereof, and program - Google Patents
Operation control apparatus, method thereof, and program Download PDFInfo
- Publication number
- JP5458245B2 JP5458245B2 JP2010145171A JP2010145171A JP5458245B2 JP 5458245 B2 JP5458245 B2 JP 5458245B2 JP 2010145171 A JP2010145171 A JP 2010145171A JP 2010145171 A JP2010145171 A JP 2010145171A JP 5458245 B2 JP5458245 B2 JP 5458245B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- posture
- motion
- information
- time
- 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.)
- Active
Links
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Description
本発明は、利用者の操作情報に基づいて制御対象物の動きを制御する動作制御装置等に関する。 The present invention relates to an operation control device that controls the movement of a controlled object based on user operation information.
現在、コンピュータゲームなどのインタラクティブなアプリケーションにおいて、利用者がキャラクタに行わせることのできる動作の自由度は非常に限られている。現在のインターフェースとしては、ゲームパッド、マウス、キーボードなどの入力機器を使用し、利用者がボタンを押すことで、歩行、パンチ、キックなどの予め決められた動作を実行するというものが一般的である。キャラクタの動作は、予め作成された短い動作データを再生することで実現されており、利用者が動作の姿勢や速度などのスタイルを自在に変えたり、新しい動作を作り出したりすることはできない。 Currently, in interactive applications such as computer games, the degree of freedom of actions that a user can perform on a character is very limited. Current interfaces typically use input devices such as gamepads, mice, and keyboards, and perform predetermined actions such as walking, punching, and kicking when a user presses a button. is there. The movement of the character is realized by reproducing short movement data created in advance, and the user cannot freely change the style such as the posture and speed of the movement or create a new movement.
しかし、キャラクタを自由に操作できるインターフェースは、例えば、格闘ゲームにおいてキャラクタに様々な格闘動作を行わせたり、3次元仮想世界等でのアバターを用いたコミュニケーションにおいてアバターに身振り手振りなどのジェスチャを行わせたり、音楽に合わせてキャラクタがダンスするアニメーションを制作したりといった、多様な動作をインタラクティブに表現することが要求される用途で非常に重要となる。 However, an interface that allows the character to freely operate, for example, allows a character to perform various fighting actions in a fighting game, or allows avatars to perform gestures such as gestures in communication using an avatar in a three-dimensional virtual world. It is very important for applications that require interactive expression of various movements, such as creating animations in which characters dance to music.
近年、統計学的アプローチを用いて、与えられた制約条件を満たす自然な姿勢や動作を生成する、Style−based IK(Style−Based Inverse Kinematics:逆運動学計算)手法が提案されている(非特許文献1ないし3を参照)。Style−based IKでは、あらかじめ多数の姿勢を低次元の潜在空間に写像することで、学習モデルを構築し、制約条件が与えられると、潜在空間内で制約条件を満たす姿勢(座標)を探索し、潜在空間内で周囲の複数の姿勢をブレンドすることで姿勢を計算する。 In recent years, a Style-based IK (Style-Based Inverse Kinematics) method has been proposed that uses a statistical approach to generate natural postures and movements that satisfy given constraints (non-kinematic calculations) (non-kinematics). (See Patent Documents 1 to 3). In Style-based IK, a learning model is constructed by mapping a large number of postures to a low-dimensional latent space in advance, and when constraints are given, the postures (coordinates) that satisfy the constraints in the latent space are searched. Calculate the pose by blending multiple surrounding poses in the latent space.
利用者が操作しているキャラクタの各部位の位置を制約条件として、Style−based IKを適用することで、キャラクタの姿勢を生成できる。しかし、Style−based IKをキャラクタの操作に利用するにはいくつかの問題がある。まず、一つ目の問題として、異なる種類の動作の姿勢を一つの学習モデルで表現することはできないということがある。姿勢が多数になると潜在空間へうまく写像できない、また、同じ制約条件でもどのような姿勢が期待されるかは動作によって異なるため、適切な姿勢が求められないといった問題が生じる。二つ目の問題として、3次元空間での部位の軌道が与えられたときに、与えられた軌道の制約条件を満たす潜在空間での軌道が連続になるとは限らない。そのため、部位の制約位置を連続的に変化させたとしても、出力姿勢も滑らかに変化するとは限らず、動作としては不自然になってしまう。 By applying the Style-based IK with the position of each part of the character operated by the user as a constraint condition, the posture of the character can be generated. However, there are some problems in using the Style-based IK for manipulating characters. First, the first problem is that different types of movement postures cannot be expressed by a single learning model. When there are a large number of postures, there is a problem that mapping to the latent space cannot be performed well, and what posture is expected even under the same constraint condition differs depending on the operation, so that an appropriate posture cannot be obtained. As a second problem, when a trajectory of a part in a three-dimensional space is given, the trajectory in the latent space that satisfies the constraint condition of the given trajectory is not always continuous. For this reason, even if the constrained position of the part is continuously changed, the output posture is not always changed smoothly, and the operation becomes unnatural.
また、利用者の操作に応じてキャラクタの動作を生成する技術として、例えば、マウスやペンなどのインターフェースを用いて入力された1点の座標や軌道をもとに動作を生成する手法が研究されている。利用者がマウスやペンを用いて仮想空間の地面の上に軌道を描画し、その軌道に応じてキャラクタの歩行動作を生成するシステムは、多数開発されている(非特許文献4を参照)。 In addition, as a technique for generating a character motion in response to a user operation, for example, a method for generating a motion based on a single point coordinate or trajectory input using an interface such as a mouse or a pen has been studied. ing. Many systems have been developed in which a user draws a trajectory on the ground in a virtual space using a mouse or a pen and generates a character's walking motion according to the trajectory (see Non-Patent Document 4).
利用者がキャラクタの腰の軌道を描画したときに、入力された線の形(ジェスチャ)に応じて動作を選択することで、歩行、走行以外に、ジャンプや宙返りなどの動作を行わせるシステムが提案されている(非特許文献5を参照)。また、利用者が、動作の起点にな
る対象から、動作の終点になる対象に向かって画面上に線を引くことで、その2つの対象に応じて適切な動作を選択して実行する手法が提案されている(非特許文献6を参照)。
When a user draws a character's waist trajectory, a system that performs actions such as jumping and somersault in addition to walking and running by selecting an action according to the shape of the input line (gesture) It has been proposed (see Non-Patent Document 5). In addition, there is a technique in which a user draws a line on the screen from an object that is a starting point of an action to an object that is an end point of the action, and selects and executes an appropriate action according to the two objects. It has been proposed (see Non-Patent Document 6).
さらに、姿勢ではなく動作全体を統計モデルで表現することで、入力された部位の軌道に応じた動作生成を実現する技術が提案されている(非特許文献7を参照)。 Furthermore, a technique has been proposed that realizes motion generation according to the trajectory of an input part by expressing the entire motion, not the posture, with a statistical model (see Non-Patent Document 7).
さらにまた、予め利用者がキー姿勢を表すマーカを仮想空間上に配置しておき、利用者がマウスを操作したときのマウス座標と各マーカとの距離に応じて各キー姿勢をブレンドすることで、利用者が動作を生成できるインターフェースが提案されている(非特許文献8を参照)。 Furthermore, by placing a marker representing the key posture in the virtual space in advance by the user and blending each key posture according to the distance between the mouse coordinates and each marker when the user operates the mouse. An interface that allows a user to generate an action has been proposed (see Non-Patent Document 8).
さらにまた、マウス操作により単純な多関節体の一部の関節のみの動きを操作し、全身の動きをPD制御と動力学シミュレーションを用いて生成する手法が提案されている(非特許文献3を参照)。 Furthermore, a method has been proposed in which the movement of only a part of a simple articulated body is operated by a mouse operation, and the whole body movement is generated using PD control and dynamics simulation (see Non-Patent Document 3). reference).
さらにまた、3次元空間中でマーカを動かすことで、キャラクタの一部の部位の動きを入力するシステムが提案されている(非特許文献9を参照)。 Furthermore, a system has been proposed in which the movement of a part of a character is input by moving a marker in a three-dimensional space (see Non-Patent Document 9).
しかしながら、上述したようにStyle−based IKをキャラクタの操作に利用するには、異なる種類の動作の姿勢を一つの学習モデルで表現することはできないという課題を有する。また、姿勢が多数になると潜在空間へうまく写像できず、同じ制約条件でもどのような姿勢が期待されるかは動作によって異なるため、適切な姿勢が求められないといった課題を有する。さらに、3次元空間での部位の軌道が与えられたときに、部位の制約位置を連続的に変化させたとしても、出力姿勢も滑らかに変化するとは限らず、動作としては不自然になってしまうという課題を有する。 However, as described above, in order to use the style-based IK for the operation of the character, there is a problem that postures of different types of movement cannot be expressed by one learning model. In addition, when there are a large number of postures, mapping to the latent space cannot be performed well, and what posture is expected under the same constraint condition varies depending on the operation, and thus there is a problem that an appropriate posture cannot be obtained. Furthermore, even when the position of the part in the three-dimensional space is given, even if the restriction position of the part is continuously changed, the output posture does not always change smoothly, and the operation becomes unnatural. It has the problem that it ends up.
非特許文献3に示す技術は、人間の自然な動きを提案手法で生成することは困難であるという課題を有する。非特許文献4に示す技術は、キャラクタに行わせることができる動作が、歩行や走行の動作に限られてしまうという課題を有する。非特許文献5、6に示す技術は、入力に応じて動作を選択して再生するだけであるため、動作中の姿勢や動きを細かく制御することができないという課題を有する。 The technique shown in Non-Patent Document 3 has a problem that it is difficult to generate a natural human movement by the proposed method. The technique shown in Non-Patent Document 4 has a problem that the actions that can be performed by the character are limited to walking and running actions. The techniques shown in Non-Patent Documents 5 and 6 have a problem that the posture and movement during the operation cannot be finely controlled because only the operation is selected and reproduced according to the input.
非特許文献7に示す技術は、動作全体をブレンドして再生するため、動作を途中で止めたり戻したり、自由に姿勢を変化させたりするといったことはできないという課題を有する。非特許文献8に示す技術は、自然な動作を生成するためには、適切な位置にキー姿勢を配置し、適切なタイミング、位置にポインタを動かす必要があり熟練を要するという課題を有する。また、Style−based IKと同様、一組のキー姿勢だけで異なる種類の動作に対応することは難しいという課題を有する。非特許文献9に示す技術は、一度に一つの部位しか操作できないため、動作を作成するためには何度も入力を繰り返す必要があり、動作の操作には適さないという課題を有する。 The technique shown in Non-Patent Document 7 has a problem that since the entire motion is blended and reproduced, the motion cannot be stopped or returned in the middle, or the posture cannot be freely changed. The technique shown in Non-Patent Document 8 has a problem that in order to generate a natural motion, it is necessary to arrange a key posture at an appropriate position and move the pointer to an appropriate timing and position, which requires skill. Further, like the Style-based IK, there is a problem that it is difficult to cope with different types of operations with only one set of key postures. The technique shown in Non-Patent Document 9 has a problem that since only one part can be operated at a time, it is necessary to repeat an input many times in order to create an operation, which is not suitable for the operation of the operation.
市販のアニメーションソフトウェアは、IKを用いてキー姿勢を変更できる機能があるが、リアルタイムに動作を制御することはできない。原理的には、マルチタッチ入力とIKを組み合わせて、複数の部位を同時に動かすことで、動作を制御できるが、自然な動きを生成するためには、多数の部位を同時に操作する必要があるため、現実的に利用することは難しい。先述の通り、Style−based IKには、制約条件を連続的に変化させたとしても出力姿勢が連続的に変化するとは限らないという問題があるため、姿勢操作には向いているが、動作操作には適していない。非特許文献1、2においても、潜在空間に描画された軌道から動作生成、キーフレームの姿勢を変化させることで動作変形などの応用は行われているが、3次元空間もしくは画面上の軌道からの動作生成は行われていない。 Commercially available animation software has a function that can change the key posture using IK, but cannot control the operation in real time. In principle, the movement can be controlled by combining multiple touch inputs and IK and moving multiple parts at the same time. However, in order to generate natural movement, it is necessary to operate many parts simultaneously. It is difficult to use realistically. As described above, Style-based IK has a problem that the output posture does not always change continuously even if the constraint condition is continuously changed. Not suitable for. In Non-Patent Documents 1 and 2, applications such as motion generation are performed by changing the posture of the key frame by generating the motion from the trajectory drawn in the latent space, but from the trajectory on the three-dimensional space or the screen. No action is generated.
そこで、本発明は一般に利用者がキャラクタを操作する場合、姿勢を変化させる姿勢制御と、パンチやキックなどの何らかの型のある動作を行わせる動作制御の2種類の制御があることに注目し、姿勢制御、及び各動作の動作制御に、異なる学習モデルを使用する。また、両制御において、学習モデルを用いた姿勢計算方法を使い分ける。使用する学習モデルは、利用者の操作に応じて切り替える。また、姿勢制御時に連続的な姿勢が出力されるとは限らないという問題や、単純に連続的に姿勢を生成するだけでは物理的に不自然な動きとなる可能性があるという問題、学習モデルの切り替え時に姿勢が急激に変化する問題を解決するため、物理シミュレーションを用いた追従制御を適用した動作制御装置等を提供する。 Therefore, in the present invention, it is noted that there are generally two types of control: posture control for changing the posture when the user operates the character, and motion control for performing some type of motion such as punching and kicking, Different learning models are used for posture control and motion control of each motion. In both controls, a posture calculation method using a learning model is properly used. The learning model to be used is switched according to the user's operation. In addition, there is a problem that a continuous posture is not always output during posture control, a problem that there is a possibility that a physically unnatural movement may occur by simply generating a posture continuously, a learning model In order to solve the problem that the posture changes suddenly at the time of switching, a motion control device and the like applying tracking control using physical simulation is provided.
本願に開示する動作制御装置は、利用者の操作情報に基づいて制御対象物の動きを制御する動作制御装置において、前記利用者が行った操作に関する操作情報を入力する操作入力手段と、前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段と、予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿
勢の変化を制御する姿勢制御手段と、予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の主要部位の動作を制御する動作制御手段と、前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の任意の部位の動作の制御を切り替える制御切替手段と、前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段とを備えるものである。
The motion control device disclosed in the present application is a motion control device that controls movement of a control object based on user operation information, and an operation input unit that inputs operation information related to an operation performed by the user, and the input Based on the operation information, the constraint condition calculating means for calculating the target position of the control object and calculating the constraint condition, and posture learning model information learned based on a plurality of types of posture information given in advance And a posture control means for controlling a change in posture not having a predetermined type based on the constraint condition, and a plurality of motion learnings for each motion learned based on a plurality of types of motion information given in advance. Based on the model information and the constraint conditions, motion control means for controlling the motion of the main part of the control object having a predetermined type, and control of the posture change based on the operation information, Is based on the results calculated by the control switching means, the posture control means, and the motion control means for switching the operation of an arbitrary part of the control object, and follows the calculation result to change the attitude of the control object. Tracking control means for calculating.
このように、本願に開示する動作制御装置においては、姿勢学習モデル情報、及び制約条件に基づいて、所定の型を持たない姿勢の変化を制御し、複数の動作学習モデル情報、及び制約条件に基づいて、所定の型を持つ制御対象物の主要部位の動作を制御し、それらの制御の切り替えを行う制御切替手段を備えるため、多数の姿勢であっても潜在空間にうまく写像することができ、異なる種類の動作を同時に制御することができるという効果を奏する。 As described above, in the motion control device disclosed in the present application, based on posture learning model information and constraint conditions, a change in posture that does not have a predetermined type is controlled, and a plurality of motion learning model information and constraint conditions are set. Based on this, it is equipped with a control switching means that controls the operation of the main parts of a control object having a predetermined type and switches between these controls, so that even a large number of postures can be mapped well into the latent space. There is an effect that different types of operations can be controlled simultaneously.
本願に開示する動作制御装置は、前記操作入力手段が、複数の系の操作情報を同時に入力するマルチ入力であるものである。 In the motion control device disclosed in the present application, the operation input unit is a multi-input that inputs operation information of a plurality of systems simultaneously.
このように、本願に開示する動作制御装置においては、複数の系の操作情報を同時に入力するマルチ入力であるため、複数種類の動作や姿勢を同時に制御することで、制御対象の動きの自由度を大きくし、利用者の意図が反映された動作の制御を行うことができるという効果を奏する。 As described above, the motion control device disclosed in the present application is a multi-input that inputs operation information of a plurality of systems at the same time. Therefore, by controlling a plurality of types of motions and postures at the same time, the degree of freedom of movement of the control target is controlled. As a result, it is possible to control the operation reflecting the user's intention.
本願に開示する動作制御装置は、前記追従制御手段が、前記操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算するものである。 In the motion control device disclosed in the present application, the follow-up control unit calculates a motion by physical simulation for a part of the control target that is not included in the operation information.
このように、本願に開示する動作制御装置においては、操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算するため、連続的な姿勢を出力し、物理的に自然な動きを実現し、動作ごとに学習モデルが切り替わる場合であっても急激な動きの変化がなく、自然な動きを実現することができるという効果を奏する。 As described above, in the motion control device disclosed in the present application, for the part of the control target that is not included in the operation information, a motion is calculated by physical simulation. Even when the movement is realized and the learning model is switched for each movement, there is an effect that a natural movement can be realized without a sudden movement change.
本願に開示する動作制御装置は、前記制御切替手段が、前記動作学習モデル情報の学習に使用した前記任意の部位の軌道の平均と前記操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うものである。 In the motion control device disclosed in the present application, the control switching unit is configured to determine the position on the screen of the average of the trajectory of the arbitrary part used for learning the motion learning model information and the trajectory of the operation information, and the time. Switching is determined based on the degree of coincidence of changes.
このように、本願に開示する動作制御装置においては、動作学習モデル情報の学習に使用した任意の部位の軌道の平均と操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うため、姿勢制御と動作制御とを自動でスムーズに切り替えて、滑らかで自然な動作を実現することができるという効果を奏する。 As described above, in the motion control device disclosed in the present application, the degree of coincidence of the change in the position and time on the screen between the trajectory average of any part used for learning the motion learning model information and the trajectory of the operation information. Therefore, since the switching determination is performed, the posture control and the motion control can be automatically and smoothly switched to achieve a smooth and natural motion.
本願に開示する動作制御装置は、前記制御対象物の動作中に、前記操作情報の入力がなくなるか、又は操作情報の変化がなくなった場合に、前記制御対象物の動作を進めるか戻すかを判定するためのタイミングに関する時間判定情報が予め設定されており、前記動作制御手段が、前記操作情報の入力がなくなるか、又は変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された時間判定情報に基づいて、順時間方向に動作を進めるか、又は逆時間方向に動作を進めるかを判定する時間方向判定手段を備え、前記時間方向判定手段の判定結果に基づいて、順時間方向又は逆時間方向に動作を進める制御を行うものである。 The motion control device disclosed in the present application determines whether to advance or return the operation of the control object when the operation information is not input or the operation information is not changed during the operation of the control object. Time determination information related to the timing for determination is set in advance, and when the operation control unit does not input or changes the operation information, the standardization time of the posture in the latent space of the previous frame And a time direction determination means for determining whether to advance the operation in the forward time direction or the operation in the reverse time direction based on the preset time determination information, and the determination result of the time direction determination means Based on the above, control is performed to advance the operation in the forward time direction or the reverse time direction.
このように、本願に開示する動作制御装置においては、動作中に操作情報の入力がなくなるか、又は変化がなくなった場合に、制御対象物が動作を順時間方向に進めるか逆時間
方向に進めるかを判定するため、物理的に自然な動作を実現し、状況に適した動作を実現することができるという効果を奏する。
As described above, in the operation control device disclosed in the present application, when the operation information is not input or no change occurs during the operation, the control object advances the operation in the forward time direction or the reverse time direction. Therefore, it is possible to realize a physically natural operation and an operation suitable for the situation.
本願に開示する動作制御装置は、前記制御対象物の動作中に、前記操作情報の変化がなくなった場合に、前記制御対象物の動作を静止するか否かを判定するためのタイミングに関する静止判定情報が予め設定されており、前記動作制御手段が、前記操作情報の変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された静止判定情報に基づいて、前記制御対象物の動作を静止するか否かを判定する静止判定手段を備え、前記静止判定手段の判定結果に基づいて、動作を順時間方向もしくは逆時間方向に進めて制御するか、又は前のフレームと同じ動作の姿勢を維持する制御を行うものである。 The motion control device disclosed in the present application is a stationary determination related to a timing for determining whether or not the operation of the control target is to be stopped when the operation information is not changed during the operation of the control target. Information is set in advance, and when the operation control means no longer changes in the operation information, based on the standardization time of the posture in the latent space of the previous frame and the preset stationary determination information, A stationary determination unit that determines whether or not the operation of the control target object is stationary; and based on a determination result of the stationary determination unit, the control is performed by moving the operation in the forward time direction or the reverse time direction, or before The control is performed to maintain the same operation posture as the frame.
このように、本願に開示する動作制御装置においては、動作中に操作情報の変化がなくなった場合に、制御対象物が動作を静止するか否かを判定するため、物理的に自然な動作を実現し、状況に適した動作を実現することができるという効果を奏する。 As described above, in the motion control device disclosed in the present application, when there is no change in the operation information during the motion, in order to determine whether the controlled object stops the motion, a physically natural motion is performed. This achieves an effect that it can realize an operation suitable for the situation.
本願に開示する動作制御装置は、前記動作制御手段が、前記操作情報の入力が前のフレームから変化している場合に、前記入力された操作情報についての制約条件を満たす動作姿勢を生成し、当該生成した動作姿勢の標準化時刻が、前のフレームにおける動作姿勢の時刻から所定の閾値の範囲内であるか否かを判定する時間制御判定手段を備え、前記時間制御判定手段の判定結果に基づいて、前記生成された動作姿勢の標準化時刻が、所定の閾値の範囲内である場合は、当該生成された動作姿勢で制御し、前記所定の閾値の範囲外である場合は、前記生成された動作姿勢に向かって潜在空間内を所定の時間、順時間方向又は逆時間方向に時間を進め、当該進めた時刻における潜在空間内の位置に基づいて前記動作姿勢を合成して制御するものである。 In the motion control device disclosed in the present application, the motion control means generates a motion posture that satisfies a constraint condition for the input operation information when the input of the operation information has changed from a previous frame, Time control determining means for determining whether the generated standardized time of the motion posture is within a predetermined threshold range from the motion posture time in the previous frame, based on the determination result of the time control determination means When the standardized time of the generated motion posture is within a predetermined threshold range, control is performed with the generated motion posture, and when it is out of the predetermined threshold range, the generated motion posture is generated. Advancing time in the latent space toward the movement posture in a predetermined time, forward time direction or backward time direction, and combining and controlling the movement posture based on the position in the latent space at the advanced time A.
このように、本願に開示する動作制御装置においては、必要に応じて動作姿勢を合成することで、特に急激な動作姿勢の変化に対しても、連続性を考慮した自然な動きを実現することができるという効果を奏する。 As described above, in the motion control device disclosed in the present application, by combining the motion posture as necessary, it is possible to realize a natural motion considering continuity even when the motion posture is changed suddenly. There is an effect that can be.
以下、本発明の実施の形態を説明する。本発明は多くの異なる形態で実施可能である。従って、本実施形態の記載内容のみで本発明を解釈すべきではない。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。 Embodiments of the present invention will be described below. The present invention can be implemented in many different forms. Therefore, the present invention should not be construed based only on the description of the present embodiment. Also, the same reference numerals are given to the same elements throughout the present embodiment.
(本発明の第1の実施形態)
本実施形態に係る動作制御装置について、図1ないし図12を用いて説明する。図1は、本実施形態に係る動作制御装置の操作入力の一例を示す図、図2は、本実施形態に係る動作制御装置における姿勢制御用の潜在空間の一例を示す図、図3は、本実施形態に係る動作制御装置における複数の動作の開始軌道の例を示す図、図4は、本実施形態に係る動作制御装置における動作状態を示す図、図5は、本実施形態に係る動作制御装置における動作制御用の潜在空間の一例を示す図、図6は、本実施形態に係る動作制御装置のハードウェア構成図、図7は、本実施形態に係る動作制御装置の機能ブロック図、図8は、本実施形態に係る動作制御装置における動作制御部の機能ブロック図、図9は、本実施形態に係る動作制御装置における追従制御部の機能ブロック図、図10は、本実施形態に係る動作制御装置の動作を示すフローチャート、図11は、本実施形態に係る動作制御装置における動作制御処理を示すフローチャート、図12は、本実施形態に係る動作制御装置における追従制御処理を示すフローチャートである。
(First embodiment of the present invention)
The operation control apparatus according to the present embodiment will be described with reference to FIGS. FIG. 1 is a diagram illustrating an example of an operation input of the motion control device according to the present embodiment, FIG. 2 is a diagram illustrating an example of a latent space for posture control in the motion control device according to the present embodiment, and FIG. FIG. 4 is a diagram illustrating an example of a start trajectory of a plurality of motions in the motion control device according to the present embodiment, FIG. 4 is a diagram illustrating motion states in the motion control device according to the present embodiment, and FIG. 5 is a motion according to the present embodiment. FIG. 6 is a diagram illustrating an example of a potential space for operation control in the control device, FIG. 6 is a hardware configuration diagram of the operation control device according to the present embodiment, and FIG. 7 is a functional block diagram of the operation control device according to the present embodiment. FIG. 8 is a functional block diagram of the operation control unit in the operation control apparatus according to the present embodiment, FIG. 9 is a functional block diagram of the tracking control unit in the operation control apparatus according to the present embodiment, and FIG. The operation of the motion control device Flowchart, Fig. 11 is a flowchart showing the operation control process in the operation control device according to the present embodiment, FIG. 12 is a flow chart showing a following control process in the operation control device according to the present embodiment.
本実施形態に係る動作制御装置は、図1に示すように、マルチタッチ入力に基づき、毎フレームのキャラクタの姿勢を制御して出力するものである。なお、入力機器は、マルチ入力をサポートするものであればよく、例えば複数のポインタ、複数のマウス等を用いる構成であってもよい。 As shown in FIG. 1, the motion control apparatus according to the present embodiment controls and outputs the character posture of each frame based on multi-touch input. The input device may be any device that supports multi-input, and may be configured to use a plurality of pointers, a plurality of mice, and the like.
マルチタッチ入力により、利用者がキャラクタの部位をタッチ・ドラッグすると、各タッチ点ごとに部位・目標位置の制約条件が生成され、その制約条件にもとづいて、出力姿勢が計算される。ここで、目標位置の制約条件は、2次元の画面上の位置であるため、実際には、3次元空間の直線となる。 When a user touches and drags a character part by multi-touch input, a part / target position constraint condition is generated for each touch point, and an output posture is calculated based on the constraint condition. Here, since the constraint condition of the target position is a position on the two-dimensional screen, it is actually a straight line in the three-dimensional space.
先述の通り、本実施形態においては、姿勢制御時と動作制御時によって、学習モデルを切り替えて使用する。また、動作制御については、動作の種類ごとに異なる学習モデルを使用する。システムは、初期状態では姿勢制御を使用する。利用者がキャラクタの部位を動かしたときの軌道が、あらかじめ用意されたいずれかの動作に近ければ、その動作の学習モデルに切り替えて、動作制御を行う。利用者の入力により、実行中の動作が終了したときには、姿勢制御を使用する状態に戻る。 As described above, in the present embodiment, the learning model is switched and used depending on the posture control and the motion control. For motion control, a different learning model is used for each motion type. The system uses attitude control in the initial state. If the trajectory when the user moves the part of the character is close to any of the movements prepared in advance, the movement control is performed by switching to the learning model of the movement. When the operation being executed is terminated by the user's input, the state returns to the state in which the posture control is used.
また、本実施形態では、自然な姿勢変化を実現するため、姿勢制御・動作制御による姿勢をそのまま出力するのではなく、追従制御を用いて出力姿勢を生成する。本実施形態では、キャラクタの部位以外の場所をタッチしたときの動作や、ピンチ・スワイプなどのマルチタッチによるジェスチャを行ったときの動作は、特に定義されていないため、これらは、アプリケーションに応じて、例えば視点操作などの別の機能に割り当てることができる。 In this embodiment, in order to realize a natural posture change, the posture by the posture control / motion control is not output as it is, but the output posture is generated by using the follow-up control. In this embodiment, the action when touching a place other than the character's part and the action when performing a multi-touch gesture such as pinch / swipe are not particularly defined. , For example, can be assigned to another function such as a viewpoint operation.
姿勢制御について説明する。本実施形態における姿勢制御は、キャラクタが姿勢を変えたり、手や足を自由に動かしたりするような、特定の動作の型にはまらない動きの操作を目的としたものである。本実施形態では、Style−based IKの手法を用いて姿勢を生成する。データ構造としては、姿勢制御と動作制御のそれぞれにおいて、異なる姿勢計算方法を用いる。 Posture control will be described. The posture control in the present embodiment is intended for a motion operation that does not fit in a specific motion type, such as a character changing posture or moving a hand or a foot freely. In the present embodiment, the attitude is generated using the Style-based IK technique. As the data structure, different attitude calculation methods are used for attitude control and motion control.
姿勢制御においては、予め与えられた姿勢情報に基づいて学習したモデルを用いる。サンプル姿勢を低次元の潜在空間(本実施形態では2次元の潜在空間を使用)に写像する方法として、幾つかの手法があるが(例えば、非特許文献1、2を参照)、本実施形態の実装では、多次元尺度構成法(MDS)を用いて、サンプル姿勢同士の距離が潜在空間上でもできる限り近くなるよう写像する手法を用いる。サンプル姿勢間の距離は、腰の位置と体の向きが一致するよう両姿勢を移動・回転した上で、全関節の距離の平均により計算する。 In posture control, a model learned based on posture information given in advance is used. There are several methods for mapping the sample posture to a low-dimensional latent space (in this embodiment, a two-dimensional latent space is used) (for example, see Non-Patent Documents 1 and 2). In the implementation of, a method is used in which the distance between sample postures is mapped as close as possible in the latent space by using a multidimensional scaling method (MDS). The distance between sample postures is calculated by averaging the distances of all joints after moving and rotating both postures so that the waist position and body orientation match.
学習に使うサンプル姿勢には、キャラクタが立った状態でのさまざまな姿勢変化を含む動作データから姿勢を取り出して使用する。また、キャラクタに各動作を行わせる場合も、動作開始判定が行われる前の動作の初期の姿勢は、姿勢制御を用いて生成されることになるため、各動作の学習に用いる動作データの開始部分の姿勢も使用する(動作開始判定、動作制御については詳細を後述する)。また、全てのサンプル姿勢について、左右にミラーリングした姿勢も学習に使用する。図2に学習結果の潜在空間の例を示す。 As the sample posture used for learning, the posture is extracted from the motion data including various posture changes when the character is standing. In addition, when the character performs each motion, the initial posture of the motion before the motion start determination is generated using the posture control, so the motion data used for learning each motion is started. The position of the part is also used (details of operation start determination and operation control will be described later). For all sample postures, the mirrored postures are used for learning. FIG. 2 shows an example of a latent space of learning results.
利用者からの入力により、一つまたは複数の部位の目標位置が指定されると、学習モデルを用いて、指定された制約条件に近い姿勢を生成する。指定された制約条件に対応する潜在空間の座標を探索し、周囲のサンプル姿勢を合成することで姿勢を生成する。 When a target position of one or a plurality of parts is designated by an input from the user, a posture close to the designated constraint condition is generated using a learning model. The coordinates of the latent space corresponding to the specified constraint condition are searched, and the attitude is generated by synthesizing surrounding sample attitudes.
予め潜在空間をグリッドに分け、グリッドごとの代表となるサンプル姿勢を求めておき、それらと入力された制約条件を比較することで、効率的に探索を行うことができる。このとき、利用者が画面上で入力する制約条件は、画面上の2次元の座標であるため、三次元空間の直線に対応する。この直線と、サンプル姿勢の部位の位置との距離の平均値を計算することで、制約姿勢とサンプル姿勢の距離が求まる。入力された制約条件に最も合うグリッドが求まったら、その周囲のグリッドのサンプル姿勢と制約条件の距離を計算し、距離に応じてサンプル姿勢を合成(加重平均)することで姿勢を計算する。姿勢の合成は、関節の回転をブレンドすることにより行う。腰の位置・向きについては、サンプル姿勢を取り出したときの元の動作の開始状態からの相対的な移動・回転をブレンドし、姿勢制御開始時のキャラクタの位置・向きに加えることで計算する。 It is possible to efficiently search by dividing the latent space into grids, obtaining representative sample postures for each grid, and comparing the input constraint conditions with them. At this time, the constraint condition that the user inputs on the screen is a two-dimensional coordinate on the screen, and therefore corresponds to a straight line in the three-dimensional space. By calculating the average value of the distance between this straight line and the position of the part of the sample posture, the distance between the restricted posture and the sample posture can be obtained. When a grid that best matches the input constraint is found, the sample posture of the surrounding grid and the distance between the constraints are calculated, and the posture is calculated by combining (weighted average) the sample postures according to the distance. Posture synthesis is performed by blending joint rotations. The position / orientation of the waist is calculated by blending the relative movement / rotation from the starting state of the original motion when the sample posture is taken out and adding it to the character's position / orientation at the start of posture control.
Style−based IKにより生成した姿勢は、なるべく制約条件を満たすようサンプル姿勢を合成したものであるため、制約条件を完全に満たすとは限らない。そこで、本実施形態では、出力結果の姿勢に、従来のIK計算を適用して、制約条件を満たすように変形する。本実施形態の実装では、比較的高速なCCD(Cyclic−Coordinate−Descent) IK手法を用いる。 Since the posture generated by Style-based IK is a sample posture that is combined so as to satisfy the constraint as much as possible, the constraint is not completely satisfied. Therefore, in the present embodiment, the conventional IK calculation is applied to the posture of the output result so that the constraint condition is satisfied. In the implementation of this embodiment, a relatively high speed CCD (Cyclic-Coordinate-Decent) IK method is used.
上述したように、Style−based IKでは、3次元空間で連続した制約条件の軌道を与えたときに、潜在空間でも連続した軌道になることは保証されないため、利用者がキャラクタの部位を連続的に動かしたとしても、潜在空間での座標は不連続な点に移動してしまい、結果的に急激に姿勢が変化する可能性がある。本実施形態では、姿勢制御においては、この問題は考慮せず、単純に姿勢を生成し、追従制御の処理を加えることで出力姿勢が連続になるようにする。後述する動作制御と同様に、潜在空間上で徐々に座標を変化させる方法を用いることもできるが、特に動きの型があるわけではない姿勢制御においては、そのような方法で連続的な姿勢変化を生成したとしても、意味のある動作になるとは限らないため、上記のような方法を用いる。 As described above, in Style-based IK, when a continuous trajectory of a constraint condition is given in a three-dimensional space, it is not guaranteed that the trajectory will be a continuous trajectory in the latent space. Even if it is moved, the coordinates in the latent space move to discontinuous points, and as a result, the posture may change suddenly. In the present embodiment, this problem is not taken into account in the posture control, and the posture is simply generated, and the output posture is made continuous by adding the tracking control process. As with the motion control described later, a method of gradually changing the coordinates in the latent space can be used, but in posture control where there is no particular type of motion, such a method is used for continuous posture change. Even if generated, it is not always a meaningful operation, so the above method is used.
また、Style−based IKにより動作を生成する場合、単純に制約条件に合う姿勢を連続的に生成しているだけであるため、動作として自然になるとは限らない。例えば、現実の人間の動作であれば、ある部位を急に動かすると、動きを急激に止めること
はできないため、動きを止めた後でも体が動いたり、動かした部位以外の部位にも力が伝わって揺れたり、といった動きが生じる。このような動作を再現するためには、何らかの方法で力学的な要素を考慮して動作を生成する必要がある。本実施形態では、この問題についても、後述する追従制御を用いることで解決する。
In addition, when generating an action by Style-based IK, it is not always natural as an action because it simply generates postures that meet the constraints. For example, if it is a real human movement, if you move a part suddenly, you cannot stop the movement suddenly, so the body moves even after stopping the movement, and the force is also applied to parts other than the part that moved Movements such as shaking are transmitted. In order to reproduce such an operation, it is necessary to generate the operation in consideration of dynamic elements by some method. In the present embodiment, this problem is also solved by using the follow-up control described later.
次に、動作制御について説明する。動作制御は、何らかの型のある動作の操作を目的としたものである。姿勢制御中に、利用者がキャラクタに何らかの動作を行うような入力をした場合、その動作に対応する動作制御に切り替える。 Next, operation control will be described. Motion control is intended for the operation of some type of motion. If the user inputs any action to the character during the posture control, the control is switched to the action control corresponding to the action.
動作の開始条件は、利用者が部位を動かした画面上の軌道と、動作の部位の動き画面に投影した軌道との距離により判定する。予め各動作には、動作の主要部位を手動で指定し(例えば、右手でパンチをする動作であれば主要部位は右手など)、その動作の学習に使用した全動作データの当該部位の平均軌道を求めておく。図3に動作の開始軌道の例を示す。 The motion start condition is determined by the distance between the trajectory on the screen where the user moves the part and the trajectory projected on the motion screen of the part of the motion. For each action, manually specify the main part of the action manually (for example, if the action is punching with the right hand, the main part is the right hand), and the average trajectory of that part of all action data used for learning that action Ask for. FIG. 3 shows an example of an operation start trajectory.
利用者がその部位を動かしたときに、入力軌道と動作軌道の間の画面上での位置・時間変化の一致度から動作制御の開始判定を行う。一致度の計算では、両方の軌道を画面座標・時刻の配列により表現し、まずは、動的計画法により最も近い点同士の組み合わせを先頭から順番に求める。そして、各点同士の画面上での距離の平均値、及び入力・動作開始時間からの相対時間の差の平均値の合計により一致度を求める。一致度が閾値以下であれば、その動作の動作制御に切り替える。 When the user moves the part, the start of motion control is determined from the degree of coincidence of the position and time changes on the screen between the input trajectory and the motion trajectory. In calculating the degree of coincidence, both trajectories are represented by an arrangement of screen coordinates and time, and first, the combination of the closest points is obtained in order from the top by dynamic programming. Then, the degree of coincidence is obtained by the sum of the average value of the distances between the points on the screen and the average value of the relative time difference from the input / operation start time. If the degree of coincidence is less than or equal to the threshold, the operation is switched to the operation control.
なお、動作開始の判定のとき、視点によっては動作軌道が画面に対して垂直に近くなってしまい、軌道を入力しにくかったり、誤認識の可能性が高くなったりしてしまう。そこで、軌道全体を表すベクトルを予め計算しておき、そのベクトルと視線ベクトルとの間の角度が一定値以下の動作は、開始判定の候補から除くようにする。例えば、利用者がキャラクタにパンチ動作を行わせたいときには、キャラクタを正面から見た状態では行わせることはできず、視点を操作してキャラクタを側面から見る状態にした上で、パンチ動作を行うようにキャラクタの手先を動かす必要がある。一般に、利用者がキャラクタに何らかの動作を行わせたいときには、動きを入力しやすいよう視点を変えることは自然であるため、このような視点に関する制約を導入することは妥当であると考えられる。図3の例では、実行可能な動作の軌道が点線、実行不可能な動作の軌道が実線で示されている。 When determining whether to start an operation, depending on the viewpoint, the operation trajectory becomes nearly perpendicular to the screen, making it difficult to input the trajectory or increasing the possibility of erroneous recognition. Therefore, a vector representing the entire trajectory is calculated in advance, and an operation in which the angle between the vector and the line-of-sight vector is equal to or smaller than a certain value is excluded from the start determination candidates. For example, when the user wants the character to perform a punching action, the character cannot be viewed from the front, but the punching action is performed after the viewpoint is operated and the character is viewed from the side. It is necessary to move the hand of the character. In general, when a user wants a character to perform some action, it is natural to change the viewpoint so that the user can easily input a movement. Therefore, it is considered appropriate to introduce such restrictions on the viewpoint. In the example of FIG. 3, a trajectory of an executable action is indicated by a dotted line, and a trajectory of an impossible action is indicated by a solid line.
動作制御では、基本的には姿勢制御で用いたものと同様の手法により動作を生成する。しかし、動作制御では、型に従って動作する必要がある。例えば、パンチ動作において、利用者が急激に手先の位置を前に動かしたとしても、急にその位置に合った姿勢になるのではなく、パンチの動作を行いながら、その姿勢になる必要がある。ただし、動作制御では、動作を必ずしも順方向に実行するだけではなく、動きを逆の方向に戻したり、同じ動きを繰り返したりすることもあるため、そのような動作の生成にも対応する必要がある。 In motion control, motion is basically generated by the same method as that used in posture control. However, in operation control, it is necessary to operate according to the type. For example, in a punching operation, even if the user suddenly moves the position of the hand forward, the posture does not suddenly match the position but needs to be in the posture while performing the punching operation. . However, in motion control, not only the motion is always executed in the forward direction, but the motion may be returned in the reverse direction or the same motion may be repeated, so it is necessary to cope with the generation of such motion. is there.
一方、利用者が部位の位置を固定するように入力を続けたとしても、不自然な姿勢で動きを静止させることは望ましくない。例えば、歩く途中の足を動かしている途中の姿勢で静止したり、ジャンプ中に空中で静止したりすると、物理的に正しくない不自然な動作になってしまう。同じく、利用者が動作の途中で入力をやめてしまった(全ての指を離した)ときには、動作の途中の姿勢で静止するのではなく、動作開始時点の姿勢に戻るか、動作を最後まで実行してしまうことが期待される。本実施形態では、このような制約も考慮して姿勢を生成する。 On the other hand, even if the user continues to input so as to fix the position of the part, it is not desirable to stop the movement in an unnatural posture. For example, if you stand still in the middle of moving your feet while walking, or if you stop in the air while jumping, it will result in an unnatural motion that is not physically correct. Similarly, when the user stops input during the operation (releases all fingers), the user returns to the posture at the start of the operation, or the operation is executed to the end, instead of being stopped in the posture during the operation. It is expected to do. In the present embodiment, the posture is generated in consideration of such restrictions.
まず、各動作の学習処理では、サンプル姿勢を潜在空間に写像する際に、姿勢だけではなく、サンプル姿勢の動作時刻(もとの動作データでの動作開始時を0、終了時を1とし
たときの標準化時刻)と、以下の動作状態を記録しておく。
(1)静止可否:静止を許すか/許さないか
(2)自動再生:操作をやめた際に開始姿勢まで逆方向に再生するか/終了姿勢まで順方向に再生するか
上記の各種類の状態は独立であるため、種類ごとに状態を設定する。例えば、各動作データに手作業で状態の区間を指定しておき、その情報をもとに各サンプル姿勢の状態を決定するようにしてもよい(図4を参照)。また、動作制御のための潜在空間の例を図5に示す。図5では、もとの動作中で連続する姿勢(点)同士が線で結ばれており、各点は時刻の情報も含まれている。
First, in the learning process of each motion, when mapping the sample posture to the latent space, not only the posture but also the motion time of the sample posture (the motion start time with the original motion data is set to 0, and the end time is set to 1). Time standardization time) and the following operating states are recorded.
(1) Standstill propriety: Whether to allow or not to stand still (2) Automatic playback: Whether to play backward to the start posture or to play forward to the end posture when the operation is stopped Since is independent, the state is set for each type. For example, a state section may be manually specified for each motion data, and the state of each sample posture may be determined based on the information (see FIG. 4). An example of a latent space for operation control is shown in FIG. In FIG. 5, continuous postures (points) in the original motion are connected by a line, and each point also includes time information.
姿勢生成時には、上記の目的を満たすために、連続性を考慮した動作生成を行う。まずは、姿勢制御時と同様、入力された制約条件にもとづいて、潜在空間内での座標を探索する。このとき、座標に対応する姿勢だけではなく、動作の標準化時刻もブレンドして求める。前フレームの動作時刻と探索姿勢の動作時刻の間が離れている場合は、探索姿勢を出力する代わりに、探索姿勢に向かって潜在空間内で一定時間を進めた(又は戻した)姿勢を出力する。各サンプル姿勢に、次の時刻の姿勢へのベクトルを記録しておくことで、潜在空間内でどちらの方向に進むかを決定する。 At the time of posture generation, motion generation considering continuity is performed in order to satisfy the above purpose. First, as in the attitude control, the coordinates in the latent space are searched based on the input constraint conditions. At this time, not only the posture corresponding to the coordinates but also the standardized time of the operation is obtained by blending. When the motion time of the previous frame is far from the motion time of the search posture, instead of outputting the search posture, the posture advanced (or returned) by a certain time in the latent space toward the search posture is output. To do. In each sample posture, a vector to the posture at the next time is recorded to determine which direction to proceed in the latent space.
動作制御中に利用者が入力をやめた場合には、現在の姿勢の状態に基づいて、順方向に再生するか、逆方向に再生するかを決定し、上記と同様に潜在空間における進行方向のベクトルを求めて、姿勢を生成する。動作の終了姿勢に達した場合は、動作制御を終了し、姿勢制御の状態に戻る。姿勢制御と動作制御の間で制御方法を切り替える際、両者に共通のサンプル姿勢を含むようにしたとしても、姿勢が急激に変化し、不自然な動作になる可能性がある。本実施形態では、この問題についても、後述する追従制御を導入することにより解決する。 When the user stops input during motion control, it decides whether to play in the forward direction or the backward direction based on the state of the current posture. Find a vector and generate a pose. When the movement end posture is reached, the motion control is ended and the posture control state is restored. When the control method is switched between posture control and motion control, even if both include a common sample posture, the posture may change abruptly, resulting in an unnatural motion. In this embodiment, this problem is also solved by introducing tracking control described later.
次に、追従制御について説明する。追従制御は、姿勢制御・動作制御により計算された目標姿勢にもとづいて、キャラクタの姿勢を変化させることで、自然な動作を生成することを目的とする。上述の通り、姿勢制御には姿勢が連続的に変化するとは限らない、身体を動かしたときの揺れなど物理法則にもとづく動きには対応できない、といった問題がある。また、姿勢制御・動作制御の切り替え時に姿勢が急激に変化する可能性がある。本実施形態では、物理シミュレーションを用いた追従制御を適用することでこれらの問題を解決する。 Next, the follow-up control will be described. The purpose of the follow-up control is to generate a natural motion by changing the character's posture based on the target posture calculated by the posture control / motion control. As described above, posture control has problems that posture does not always change continuously, and that movement based on physical laws such as shaking when the body is moved cannot be handled. Also, the posture may change suddenly when switching between posture control and motion control. In the present embodiment, these problems are solved by applying tracking control using physical simulation.
追従制御では、姿勢制御や動作制御により出力された姿勢を目標姿勢として、目標姿勢に追従するようなPD制御を行い、物理シミュレーションによってキャラクタの姿勢変化を計算する。PD制御は、非特許文献3や参考文献1(Victor B.Zordan, Anna Majkowska, Bill Chiu, Matthew Fast. "Dynamic Response for Motion Capture Animation", ACM Transaction of Graphics(Proc. of SIGGRAPH 2005), Vol.24, Issue 3, pp.697-701, 2005)等でも広く使われているが、目標姿勢に近づくよう個々の関節を独立に制御するため、緩慢な動きとなってしまうなど、人間らしい自然な動作は再現できない。そこで、本実施形態では、姿勢制御中、及び制御切り替え直後の、利用者が直接操作していない部位にのみ追従制御結果の姿勢を用いる。他の部位については、姿勢制御・動作制御による姿勢をそのまま用いる。 In the follow-up control, PD control that follows the target posture is performed using the posture output by the posture control or motion control as the target posture, and the posture change of the character is calculated by physical simulation. Non-patent Document 3 and Reference Document 1 (Victor B. Zordan, Anna Majkowska, Bill Chiu, Matthew Fast. “Dynamic Response for Motion Capture Animation”, ACM Transaction of Graphics (Proc. Of SIGGRAPH 2005), Vol. 24, Issue 3, pp.697-701, 2005), etc., but because individual joints are controlled independently so as to approach the target posture, it becomes a human-like natural movement such as slow movement. Cannot be reproduced. Therefore, in the present embodiment, the posture of the follow-up control result is used only for a portion that is not directly operated by the user during posture control and immediately after control switching. For other parts, postures based on posture control / motion control are used as they are.
本実施形態では、参考文献1と同様の手法を用い、追従制御による姿勢を計算する。姿勢制御・動作制御の出力から目標姿勢が決まったら、PD制御により、各関節のトルクを計算する。このトルクに従って、動力学シミュレーションを行うことにより、姿勢変化を計算する。下半身の姿勢変化に関しては、同様にPD制御を用いて、腰の並進移動力・回転トルクを求め、動力学シミュレーションに適用する。このとき、全身の姿勢のうち、利
用者が操作をしていない部位の関節のみ、追従制御の結果を使用する。人体を、右肩〜右手、左肩〜左手、腰〜首、下半身、の範囲に分け、それぞれの範囲ごとに、利用者が操作をしている部位が全くなければ、追従制御の結果の関節角度を使用する。追従制御を用いることで、連続的な姿勢変化を実現する。また、例えば、姿勢制御中に右腕を動かしたときに、腰や左腕なども揺れが伝わって若干動くような、学習モデルに含まれていない動きも再現できる。
In the present embodiment, a posture by tracking control is calculated using the same method as in Reference Document 1. When the target posture is determined from the output of the posture control / motion control, the torque of each joint is calculated by PD control. The posture change is calculated by performing a dynamic simulation according to this torque. Regarding the posture change of the lower body, similarly, PD control is used to determine the translational movement force / rotation torque of the waist and apply it to the dynamic simulation. At this time, the result of the follow-up control is used only for the joint of the part of the whole body posture that is not operated by the user. The human body is divided into the range of right shoulder to right hand, left shoulder to left hand, waist to neck, and lower body, and if there is no part that the user is operating for each range, the joint angle resulting from the follow-up control Is used. By using tracking control, continuous posture change is realized. For example, when the right arm is moved during posture control, movements that are not included in the learning model can be reproduced, such as the hips and left arm moving slightly due to shaking.
図6に、本実施形態に係る動作制御装置のハードウェアの構成を示す。動作制御装置1は、システムプログラムや各種プログラム(例えば、姿勢制御プログラム、動作制御プログラム等)が格納されているROM13と、各種データ(例えば、姿勢学習情報、動作学習情報等)が格納されているHD(ハードディスク)14と、各種プログラム等が必要に応じて読み出され、CPU11の作業領域として用いられるRAM12と、読み出されたプログラム等に基づいて実際の演算を実行するCPU11と、他の装置(例えば、ネットワークを通じてオンラインとなっている他の端末等)と通信を行うためのインタフェースである通信I/F15と、コントローラ、ゲームパッド、キーボード、マウス等の入力機器からの入力を受け付けたり、ディスプレイ、プリンタ等にデータを出力するためのインタフェースである入出力I/F16とを備える。この入出力I/F16として、例えば家庭用ゲーム装置ではゲームプログラムが格納されている、CD−ROM、DVD−ROM等の光ディスクやゲームカセットに対応するドライブ等に加え、USB、RS232C等も含まれる。 FIG. 6 shows a hardware configuration of the operation control apparatus according to the present embodiment. The motion control device 1 stores a ROM 13 in which system programs and various programs (for example, posture control programs and motion control programs) are stored, and various data (for example, posture learning information and motion learning information). An HD (Hard Disk) 14, various programs and the like are read out as necessary, a RAM 12 used as a work area of the CPU 11, a CPU 11 that executes an actual calculation based on the read programs and the like, and other devices Accepts input from a communication I / F 15 that is an interface for communicating with (for example, another terminal that is online through a network), and input devices such as a controller, a game pad, a keyboard, and a mouse, and a display , An interface for outputting data to a printer, etc. That and an input and output I / F16. The input / output I / F 16 includes, for example, USB, RS232C, etc. in addition to optical discs such as CD-ROM and DVD-ROM, drives corresponding to game cassettes, etc., which store game programs in home game devices. .
図7に、本実施形態に係る動作制御装置の機能ブロック図を示す。動作制御装置1は、操作情報入力部21と制約条件演算部22と動作選択・切替部23と動作制御部24と姿勢制御部25と追従制御部26と姿勢学習モデル情報27と動作学習モデル情報28とディスプレイ30とを備える。動作選択・切替部23は、さらに動作選択部231と切替部232とを備える。 FIG. 7 shows a functional block diagram of the operation control apparatus according to the present embodiment. The motion control apparatus 1 includes an operation information input unit 21, a constraint condition calculation unit 22, a motion selection / switching unit 23, a motion control unit 24, a posture control unit 25, a follow-up control unit 26, posture learning model information 27, and motion learning model information. 28 and a display 30. The operation selection / switching unit 23 further includes an operation selection unit 231 and a switching unit 232.
操作情報入力部21は、利用者が行った操作に関する操作情報29を入力する。利用者が行う操作として、コントローラ、ゲームパッド、キーボード、マウス等を用いた操作が含まれるが、ディスプレイ上のキャラクタの動きの自由度を増すために、本実施形態では特にマルチタッチデバイスを用いることが望ましい。 The operation information input unit 21 inputs operation information 29 related to the operation performed by the user. The operations performed by the user include operations using a controller, a game pad, a keyboard, a mouse, etc. In order to increase the freedom of movement of characters on the display, a multi-touch device is particularly used in this embodiment. Is desirable.
制約条件演算部22は、操作情報入力部21で入力された操作情報21(ここでは、マルチタッチデバイスを用いたマルチタッチの操作情報とする)に基づいて、利用者がタッチしたタッチ点ごとに部位・目標位置(2次元画面上の座標)の制約条件を生成する。 Based on the operation information 21 (here, multi-touch operation information using a multi-touch device) input by the operation information input unit 21, the constraint condition calculation unit 22 is set for each touch point touched by the user. A constraint condition for the part / target position (coordinates on the two-dimensional screen) is generated.
動作選択・切替部23は、キャラクタが姿勢を変えたり、手足を自由に動かしたりするような特定の動作の型にはまらない姿勢制御中に、何らかの型のある動作の操作が入力された場合に、その動作に対応する動作学習モデル情報28を動作選択部231が選択し、切替部232が、その動作制御に切り替える。具体的には、上述したように、動作の主要部位を指定し、その動作の学習に使用した全動作データの当該部位の平均軌道と、操作により入力された入力軌道との間の画面上での位置・時間変化の一致度により切り替えの判定を行う。 The motion selection / switching unit 23 receives an operation of a certain type during a posture control that does not fit in a specific motion type in which the character changes the posture or moves the limbs freely. The action selection unit 231 selects the action learning model information 28 corresponding to the action, and the switching part 232 switches to the action control. Specifically, as described above, on the screen between the average trajectory of the relevant part of all the motion data used for learning the motion and the input trajectory input by the operation, specifying the main part of the motion Switching is determined based on the degree of coincidence of the position and time changes.
姿勢制御部25は、制約条件と、予め与えられた姿勢情報に基づいて学習がなされた姿勢学習モデル情報27とに基づいて出力姿勢を計算することで、特定の動作の型にはまらない動きを制御する。 The posture control unit 25 calculates an output posture based on the constraint condition and the posture learning model information 27 learned based on the posture information given in advance, so that a motion that does not fit in a specific motion type can be obtained. Control.
動作制御部24は、動作選択・切替部23が姿勢制御から動作制御に切り替えると共に、特定の動作を選択した場合に、その選択した動作に対応する動作学習モデル情報28に
基づいて出力姿勢を計算することで、型のある動作を制御する。ここでは、動作学習モデル情報28の作成時に、潜在空間内の各座標における動作の標準化時刻を記録しておき、動作の姿勢を生成する場合には、潜在空間内の座標に対応する姿勢だけでなく、動作の標準化時刻も求めることで上述したように連続性を実現する。
The motion control unit 24 calculates the output posture based on the motion learning model information 28 corresponding to the selected motion when the motion selection / switching unit 23 switches from the posture control to the motion control and selects a specific motion. By doing so, you control the typed action. Here, when the motion learning model information 28 is created, the standard time of motion at each coordinate in the latent space is recorded, and when the motion posture is generated, only the posture corresponding to the coordinate in the latent space is used. In addition, the continuity is realized as described above by obtaining the standardized time of the operation.
ここで、動作制御部24についてさらに詳細に説明する。図8において、動作制御部24は、静止判定部31と時間方向判定部32と動作時間制御判定部33と動作時間制御部34と姿勢計算部35とを備える。 Here, the operation control unit 24 will be described in more detail. In FIG. 8, the motion control unit 24 includes a stillness determination unit 31, a time direction determination unit 32, a motion time control determination unit 33, a motion time control unit 34, and an attitude calculation unit 35.
静止判定部31は、例えば部位の位置を固定するような入力(マルチタッチのタッチ位置が固定)がある場合に、動作の途中であっても動作を静止するかどうかを、標準化時刻と予め設定された動作の区間におけるタイミング情報(図4を参照)とに基づいて判定する。静止する場合には、姿勢計算部35が前のフレームと同じ動作姿勢を維持する姿勢計算を行い、静止しない場合には、以下に説明する時間方向の判定を行う。 For example, when there is an input that fixes the position of the part (multi-touch touch position is fixed), the stationary determination unit 31 sets in advance whether the operation is stationary even during the operation and the standardized time The determination is made based on the timing information (see FIG. 4) in the section of the performed operation. When stationary, the posture calculation unit 35 performs posture calculation to maintain the same motion posture as the previous frame, and when not stationary, the time direction determination described below is performed.
時間方向判定部32は、例えば部位の位置を固定するような入力があるものの動作を静止できない状態である場合や、利用者が動作の途中で入力を辞めてしまった(マルチタッチから全ての指を離した)ような場合に、順方向に時間を進めるか逆方向に時間を進めるかを、標準化時刻と予め設定された動作の区間におけるタイミング情報(図4を参照)とに基づいて判定する。判定の結果に応じて、動作時間制御部34が順時間方向、又は逆時間方向に時間を制御し、姿勢計算部35が姿勢を計算する。 For example, the time direction determination unit 32 is in a state where there is an input that fixes the position of the part but the operation cannot be stopped, or the user quits the input in the middle of the operation (from multi-touch to all fingers In the case where the time is advanced in the forward direction or in the reverse direction, it is determined based on the standardized time and the timing information (see FIG. 4) in the preset operation period. . Depending on the determination result, the operation time control unit 34 controls the time in the forward time direction or the reverse time direction, and the posture calculation unit 35 calculates the posture.
動作時間制御判定部33は、入力された操作情報についての制約条件を満たす動作姿勢の標準化時刻(一旦、姿勢計算部35にて姿勢計算された計算情報における標準化時刻)が、前のフレームの潜在空間における動作姿勢の標準化時刻から所定の時刻の範囲内であるかどうかを判定する。所定の時刻の範囲内であれば、姿勢計算部35がそのまま動作姿勢の計算を行う。所定の時刻の範囲外であれば、動作時間制御部34が、順時間方向又は逆時間方向に時間を制御し、姿勢計算部35が、その時刻における動作姿勢を合成して、姿勢の計算を行う。 The motion time control determination unit 33 sets the standardization time of the motion posture satisfying the constraint condition for the input operation information (the standardization time in the calculation information calculated by the posture calculation unit 35 once) as the potential of the previous frame. It is determined whether it is within a predetermined time range from the standardized time of the motion posture in the space. If it is within the range of the predetermined time, the posture calculation unit 35 calculates the motion posture as it is. If it is out of the predetermined time range, the motion time control unit 34 controls the time in the forward time direction or the reverse time direction, and the posture calculation unit 35 synthesizes the motion posture at that time to calculate the posture. Do.
図7に戻って、追従制御部26は、姿勢制御部25の制御、及び動作制御部24により計算された目標姿勢に基づいて、姿勢を変化させて自然な動作を生成してディスプレイ30に出力する。 Returning to FIG. 7, the tracking control unit 26 generates a natural motion by changing the posture based on the control of the posture control unit 25 and the target posture calculated by the motion control unit 24, and outputs it to the display 30. To do.
ここで、追従制御部26についてさらに詳細に説明する。図9において、追従制御部26は、関節トルク算出部41と物理シミュレーション部42と入力部位特定部43と出力姿勢特定部44とを備える。この追従制御部26は、動作制御中は処理を行わず動作姿勢をそのまま出力姿勢とする。 Here, the follow-up control unit 26 will be described in more detail. In FIG. 9, the follow-up control unit 26 includes a joint torque calculation unit 41, a physical simulation unit 42, an input part specifying unit 43, and an output posture specifying unit 44. This follow-up control unit 26 does not perform processing during motion control, and uses the motion posture as it is as the output posture.
関節トルク算出部41は、前のフレームの姿勢を目標姿勢に近づけるためにPD制御により関節トルクを計算する。物理シミュレーション部42は、計算した関節トルクに基づいて、動力学シミュレーションを行って姿勢を求める。ここで求められる姿勢を更新姿勢とする。入力部位特定部43は、操作情報の入力がある部位と操作情報の入力がない部位とを、それぞれ特定する。出力姿勢設定部44は、操作情報の入力がある部位については、目標姿勢の関節角度を出力姿勢に設定し、操作情報の入力がない部位については、更新姿勢の関節角度を出力姿勢に設定する。 The joint torque calculator 41 calculates joint torque by PD control in order to bring the posture of the previous frame closer to the target posture. Based on the calculated joint torque, the physical simulation unit 42 performs a dynamic simulation to obtain a posture. The posture obtained here is the updated posture. The input part specifying unit 43 specifies a part where the operation information is input and a part where the operation information is not input. The output posture setting unit 44 sets the joint angle of the target posture as the output posture for a portion where the operation information is input, and sets the joint angle of the updated posture as the output posture for a portion where the operation information is not input. .
図10は、動作制御装置の処理手順を示すフローチャートである。まず、マルチタッチによる入力情報が、操作情報29として操作情報入力部21に入力される(S11)。制約条件演算部22が、タッチ点ごとに部位と目標位置の制約条件を演算する(S12)。
初期状態では姿勢制御部25が姿勢制御を行い(S13)、動作が入力された場合に、動作選択・切替部23が対応する動作の選択と制御の切り替えを行う。動作制御部24は、選択された動作学習モデル情報に基づいて動作制御を行う(S14)。
FIG. 10 is a flowchart illustrating a processing procedure of the operation control apparatus. First, input information by multi-touch is input to the operation information input unit 21 as operation information 29 (S11). The constraint condition calculation unit 22 calculates a constraint condition between the part and the target position for each touch point (S12).
In the initial state, the posture control unit 25 performs posture control (S13), and when an operation is input, the operation selection / switching unit 23 selects the corresponding operation and switches between the controls. The motion control unit 24 performs motion control based on the selected motion learning model information (S14).
ここで、ステップS14の動作制御の処理手順について、図11を用いてさらに詳細に説明する。動作制御が開始されると、まず操作情報の入力があるかどうかを判定し(S21)、入力がない場合は、時間方向判定部32が、標準化時刻と予め設定された動作の区間におけるタイミング情報とに基づいて、時間方向の判定を行う(S25)。順時間方向の場合は、動作姿勢を順時間方向(目標姿勢に進める方向)に進めて制御し(S26)、逆時間方向の場合は、動作姿勢を逆時間方向(前の姿勢に戻す方向)に進めて制御して(S27)、処理を終了する。 Here, the processing procedure of the operation control in step S14 will be described in more detail with reference to FIG. When the operation control is started, it is first determined whether or not operation information has been input (S21). If there is no input, the time direction determination unit 32 performs timing information in the standardized time and a preset operation interval. Based on the above, the time direction is determined (S25). In the case of the forward time direction, the motion posture is advanced and controlled in the forward time direction (direction to advance to the target posture) (S26), and in the case of the reverse time direction, the motion posture is reversed in the reverse time direction (direction to return to the previous posture). The process proceeds to (S27) and the process is terminated.
S21で入力がある場合は、入力された操作情報が前のフレームと同じであるかどうかを判定し(S22)、同じである場合は、静止判定部31が静止判定を行い(S23)、異なる場合は、動作時間制御判定部33が動作時間の制御を行うかどうかの判定を行う(S28)。S23で静止判定部31が静止しないと判定した場合は、前記で説明したS25以降の処理を行う。静止判定部31が静止すると判定した場合は、前のフレームと同じ動作姿勢を維持する制御をして(S24)、処理を終了する。 If there is an input in S21, it is determined whether or not the input operation information is the same as the previous frame (S22), and if it is the same, the stillness determination unit 31 performs a stillness determination (S23) and is different. In this case, the operation time control determination unit 33 determines whether to control the operation time (S28). If it is determined in S23 that the stillness determination unit 31 is not stationary, the processing after S25 described above is performed. If it is determined that the stillness determination unit 31 is still, control is performed to maintain the same motion posture as the previous frame (S24), and the process ends.
S28で動作時間制御判定部33が動作時間の制御をしないと判定した場合は、入力された操作情報についての制約条件に従って、そのまま動作姿勢を制御して(S29)、処理を終了する。動作時間を制御すると判定した場合は、順時間方向又は逆時間方向に所定時間だけ進めた時刻における動作姿勢を合成して制御し(S30)、処理を終了する。なお、ここで言う所定時間だけ進めた時刻とは、合成判定部33が、合成をするかどうかを判定する際に用いた、所定の時刻未満の範囲内である。 When the operation time control determination unit 33 determines not to control the operation time in S28, the operation posture is controlled as it is according to the constraint condition on the input operation information (S29), and the process is terminated. When it is determined that the operation time is to be controlled, the operation posture at the time advanced by a predetermined time in the forward time direction or the reverse time direction is synthesized and controlled (S30), and the process ends. The time advanced by the predetermined time referred to here is within a range less than the predetermined time used when the composition determination unit 33 determines whether to perform composition.
図10に戻って、上記姿勢制御、動作制御により、目標姿勢を計算し(S15)、追従制御部26が追従制御を行う(S16)。 Returning to FIG. 10, the target posture is calculated by the posture control and motion control (S15), and the tracking control unit 26 performs tracking control (S16).
ここで、ステップS16の追従制御の処理手順について、図12を用いてさらに詳細に説明する。追従制御が開始されると、まず制御モードが動作制御か姿勢制御かを判定する(S31)。動作制御の場合は、目標姿勢をそのまま出力し(S32、S33)、処理を終了する。姿勢制御の場合は、関節トルクを計算し(S34)、関節トルクに基づく動力学シミュレーションを実行する(S35)。操作情報の入力がある部位とない部位とを特定し、入力がある部位については、目標姿勢に関節角度を設定して出力する動作姿勢として設定し、入力がない部位については、動力学シミュレーションで求めた更新姿勢に関節角度を設定して出力する動作姿勢として設定し(S36)、動作姿勢を出力処理して(S33)、処理を終了する。 Here, the processing procedure of the follow-up control in step S16 will be described in more detail with reference to FIG. When follow-up control is started, it is first determined whether the control mode is motion control or attitude control (S31). In the case of motion control, the target posture is output as it is (S32, S33), and the process ends. In the case of posture control, a joint torque is calculated (S34), and a dynamic simulation based on the joint torque is executed (S35). Identify parts with and without input of operation information, set parts with inputs as motion postures to set and output joint angles as target postures, and parts with no inputs by dynamic simulation The obtained updated posture is set as a motion posture to be set and output (S36), the motion posture is output (S33), and the processing is terminated.
図10に戻って、追従制御された出力姿勢をディスプレイ30に表示して(S17)、処理を終了する。 Returning to FIG. 10, the output posture subjected to the follow-up control is displayed on the display 30 (S17), and the process ends.
以上の前記実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら実施形態に多様な変更又は改良を加えることが可能である。 Although the present invention has been described with the above-described embodiments, the technical scope of the present invention is not limited to the scope described in the embodiments, and various changes or improvements can be added to these embodiments.
上記実施形態に示す手法を実装した。この実装したシステムを使用して、キャラクタの操作を行い、期待した通りの操作が行えることが確認された(図1を参照)。また、姿勢制御から動作制御に移る際の判定については、概ね正しく判定された。さらに、入力され
た部位の位置によっては、不自然な姿勢になってしまうことが稀にあったが、これは入力された制約条件を満たすように、Style−based IKの後に従来のIKを適用して、姿勢を修正しているためであると考えられる。この問題は、より多数のサンプル姿勢を追加したり、IKによる姿勢の修正を制限したりすることで、解決することができる。
The technique shown in the above embodiment was implemented. Using this installed system, it was confirmed that the characters can be operated and the operations as expected can be performed (see FIG. 1). Moreover, about the determination at the time of moving from posture control to motion control, it was determined substantially correctly. In addition, depending on the position of the input part, there was rarely an unnatural posture, but this applied the conventional IK after the Style-based IK so as to satisfy the input constraint condition. This is probably because the posture is corrected. This problem can be solved by adding a larger number of sample postures or limiting posture correction by IK.
開発したシステムを用いて実際にキャラクタの操作を行ってみた結果、利用者の操作に応じて、利用者が行わせようとしている動作を選択し、その動作を実現する工夫がなされているため、一つの部位を動かすだけでも、想定した動作が実現できていた。さらに、マルチタッチで複数の操作入力を同時に行った場合には、姿勢制御中に複数の部位を動かしたり、動作制御中に姿勢を変えて動きに変化をつけたりすることができた。また、キャラクタを操作する際には、必ずしも部位を動かすだけでなく、ある部位は動かさないように固定したい、ということもあり、そのような要求も、マルチタッチにより実現することができた。 As a result of actually operating the character using the developed system, according to the operation of the user, the action that the user is going to perform is selected, and the device has been devised to realize that action, The expected motion could be realized by moving only one part. Furthermore, when multiple operation inputs were performed simultaneously with multi-touch, it was possible to move a plurality of parts during posture control, or change the posture by changing posture during motion control. In addition, when manipulating the character, it is not always necessary to move the part, but it may be necessary to fix a part so as not to move, and such a request can also be realized by multi-touch.
画面を直接タッチして操作を行うと、画面が手で隠れてしまうため見にくくなるときがある。そのため、前の動作が終わるまでキャラクタの部位をタッチできず、次の動作を先行して入力することができない、といった問題がある。これらの問題については、複数の画面を用いたり、動作終了時の姿勢を仮に表示して操作できるようにしたり、といった解決方法が考えられる。 If you operate by touching the screen directly, it may be difficult to see because the screen is hidden by hand. For this reason, there is a problem that the character part cannot be touched until the previous action is completed, and the next action cannot be input in advance. As for these problems, there are conceivable solutions such as using a plurality of screens or displaying the posture at the end of the operation so that it can be operated.
また、操作可能な動作の種類に関する問題として、予め登録されている動作以外の動作は実現できない、という問題がある。また、例えば、歩きながら手を振るなど、複数の動作の組み合わせも、実現が難しい。キャラクタの移動に関しては、現在は歩行動作や方向転換動作を腰の移動に応じて実行することは可能だが、任意の軌道に沿って歩かせるようなことは難しい。移動動作に関しては、特殊な動作判定・生成の手法を利用して、腰をある程度の距離以上ドラッグするとその軌道に応じてキャラクタを歩き回らせる、といった拡張が考えられる。 Further, as a problem related to the types of operations that can be operated, there is a problem that operations other than pre-registered operations cannot be realized. Also, it is difficult to realize a combination of a plurality of operations such as waving hands while walking. With regard to the movement of the character, it is currently possible to execute a walking action or a direction changing action in accordance with the movement of the hips, but it is difficult to walk along an arbitrary trajectory. With regard to the moving motion, an extension may be considered in which a character is walked according to the trajectory by dragging the waist more than a certain distance using a special motion determination / generation method.
1 動作制御装置
11 CPU
12 RAM
13 ROM
14 HD
15 通信I/F
16 入出力I/F
21 操作情報入力部
22 制約条件演算部
23 動作選択・切替部
231 動作選択部
232 切替部
24 動作制御部
25 姿勢制御部
26 追従制御部
27 姿勢学習モデル情報
28 動作学習モデル情報
29 操作情報
30 ディスプレイ
31 静止判定部
32 時間方向判定部
33 合成判定部
34 動作姿勢合成部
35 制御処理部
41 関節トルク算出部
42 物理シミュレーション部
43 入力部位特定部
44 出力姿勢設定部
1 Operation control device 11 CPU
12 RAM
13 ROM
14 HD
15 Communication I / F
16 Input / output I / F
DESCRIPTION OF SYMBOLS 21 Operation information input part 22 Constraint condition calculating part 23 Action selection / switching part 231 Action selection part 232 Switching part 24 Action control part 25 Attitude control part 26 Follow-up control part 27 Attitude learning model information 28 Action learning model information 29 Operation information 30 Display 31 stationary determination unit 32 time direction determination unit 33 synthesis determination unit 34 motion posture synthesis unit 35 control processing unit 41 joint torque calculation unit 42 physical simulation unit 43 input part specification unit 44 output posture setting unit
Claims (9)
前記利用者が行った操作に関する操作情報を入力する操作入力手段と、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段と、
予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御手段と、
予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の任意の部位の動作を制御する動作制御手段と、
前記操作情報に基づいて、姿勢制御、又は動作制御を切り替える制御切替手段と、
前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段とを備えることを特徴とする動作制御装置。 In the motion control device that controls the movement of the controlled object based on the operation information of the user,
Operation input means for inputting operation information related to the operation performed by the user;
Based on the input operation information, a constraint condition calculation unit that calculates a constraint condition by calculating a target position of the control object;
Posture learning model information learned based on a plurality of types of posture information given in advance, and posture control means for controlling a change in posture not having a predetermined type based on the constraint condition;
A plurality of motion learning model information for each motion learned based on a plurality of types of motion information given in advance, and a motion of an arbitrary part of the control object having a predetermined type based on the constraint condition Operation control means for controlling
Control switching means for switching posture control or motion control based on the operation information;
An operation control apparatus comprising: the attitude control unit; and a tracking control unit that calculates the attitude of the object to be controlled by following the calculation result based on the result calculated by the operation control unit.
前記操作入力手段が、複数の系の操作情報を同時に入力するマルチ入力であることを特徴とする動作制御装置。 The operation control apparatus according to claim 1,
The operation control device is characterized in that the operation input means is a multi-input that inputs operation information of a plurality of systems simultaneously.
前記追従制御手段が、前記操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算することを特徴とする動作制御装置。 In the operation control device according to claim 1 or 2,
The motion control apparatus, wherein the follow-up control means calculates a motion by physical simulation for a part of the control object that is not included in the operation information.
前記制御切替手段が、前記動作学習モデル情報の学習に使用した前記任意の部位の軌道の平均と前記操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うことを特徴とする動作制御装置。 In the operation control device according to any one of claims 1 to 3,
The control switching means switches based on the position on the screen of the trajectory average of the arbitrary part used for learning the motion learning model information and the trajectory of the operation information, and the degree of coincidence of changes in time. An operation control apparatus characterized by performing the determination.
前記制御対象物の動作中に、前記操作情報の入力がなくなるか、又は操作情報の変化がなくなった場合に、前記制御対象物の動作を進めるか戻すかを判定するためのタイミングに関する時間判定情報が予め設定されており、
前記動作制御手段が、
前記操作情報の入力がなくなるか、又は変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された時間判定情報に基づいて、順時間方向に動作を進めるか、又は逆時間方向に動作を進めるかを判定する時間方向判定手段を備え、
前記時間方向判定手段の判定結果に基づいて、順時間方向又は逆時間方向に動作を進める制御を行うことを特徴とする動作制御装置。 In the operation control device according to any one of claims 1 to 4,
Time determination information related to timing for determining whether to advance or return the operation of the control object when the operation information is not input or the operation information is not changed during the operation of the control object. Is preset,
The operation control means is
Whether the operation is advanced in the forward time direction based on the standardized time of the posture in the latent space of the previous frame and the preset time determination information when the operation information is not input or no longer changes Or a time direction determination means for determining whether to move the operation in the reverse time direction,
An operation control apparatus that performs control to advance an operation in a forward time direction or a reverse time direction based on a determination result of the time direction determination means.
前記制御対象物の動作中に、前記操作情報の変化がなくなった場合に、前記制御対象物の動作を静止するか否かを判定するためのタイミングに関する静止判定情報が予め設定されており、
前記動作制御手段が、
前記操作情報の変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された静止判定情報に基づいて、前記制御対象物の動作を静止するか否かを判定する静止判定手段を備え、
前記静止判定手段の判定結果に基づいて、動作を順時間方向もしくは逆時間方向に進めて制御するか、又は前のフレームと同じ動作の姿勢を維持する制御を行うことを特徴とする動作制御装置。 In the operation control device according to any one of claims 1 to 5,
In the operation of the control object, when there is no change in the operation information, stationary determination information related to the timing for determining whether to stop the operation of the control object is preset,
The operation control means is
When there is no change in the operation information, it is determined whether or not the operation of the control object is to be stopped based on the standardization time of the posture in the latent space of the previous frame and the preset stationary determination information. A stationary determination means for
Based on the determination result of the stillness determination means, the operation is controlled by advancing the operation in the forward time direction or the reverse time direction, or performing the control to maintain the same operation posture as the previous frame. .
前記動作制御手段が、
前記操作情報の入力が前のフレームから変化している場合に、前記入力された操作情報についての制約条件を満たす動作姿勢を生成し、当該生成した動作姿勢の標準化時刻が、前のフレームにおける動作姿勢の時刻から所定の閾値の範囲内であるか否かを判定する時間制御判定手段を備え、
前記時間制御判定手段の判定結果に基づいて、前記生成された動作姿勢の標準化時刻が、所定の閾値の範囲内である場合は、当該生成された動作姿勢で制御し、前記所定の閾値の範囲外である場合は、前記生成された動作姿勢に向かって潜在空間内を所定の時間、順時間方向又は逆時間方向に時間を進め、当該進めた時刻における潜在空間内の位置に基づいて前記動作姿勢を合成して制御することを特徴とする動作制御装置。 In the operation control device according to any one of claims 1 to 6,
The operation control means is
When the input of the operation information has changed from the previous frame, an operation posture that satisfies the constraint condition for the input operation information is generated, and the standardized time of the generated operation posture is the operation in the previous frame. Time control determination means for determining whether or not the posture time is within a predetermined threshold range,
Based on the determination result of the time control determination means, when the standardized time of the generated motion posture is within a predetermined threshold range, control is performed with the generated motion posture, and the predetermined threshold range When it is outside, the time is advanced in the latent space toward the generated motion posture in a predetermined time, forward time direction or reverse time direction, and the motion is based on the position in the latent space at the advanced time. A motion control apparatus characterized by combining and controlling a posture.
前記利用者が行った操作に関する操作情報を入力する操作入力ステップと、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出ステップと、
前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の主要部位の動作の制御を切り替える制御切替手段と、
前記制御切替手段の切り替えにしたがい、予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御処理、又は予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の任意の部位の動作を制御する動作制御処理を実行する制御ステップと、
前記姿勢制御ステップ、及び動作制御ステップが計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御ステップとを含むことを特徴とする動作制御方法。 In an operation control method in which a computer controls the movement of an object to be controlled based on user operation information,
An operation input step of inputting operation information related to the operation performed by the user;
A constraint condition calculating step for calculating a constraint condition by calculating a target position of the control object based on the input operation information;
Based on the operation information, control switching means for switching the control of the posture change, or the control of the operation of the main part of the control object;
A posture for controlling a change in posture not having a predetermined type based on posture learning model information learned based on a plurality of types of posture information given in advance and the constraint conditions in accordance with switching of the control switching means. Based on the control processing or a plurality of motion learning model information for each motion that has been learned based on a plurality of types of motion information given in advance and the constraint condition, any of the control objects having a predetermined type A control step for executing a motion control process for controlling the motion of the part;
A motion control method comprising: a posture control step; and a follow-up control step for calculating a posture of the control object based on the calculation result based on the result calculated by the posture control step and the motion control step.
前記利用者が行った操作に関する操作情報を入力する操作入力手段、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段、
予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御手段、
予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の主要部位の動作を制御する動作制御手段、
前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の任意の部位の動作の制御を切り替える制御切替手段、
前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段としてコンピュータを機能させることを特徴とする動作制御プログラム。 In an operation control program that causes a computer to function to control the movement of an object to be controlled based on user operation information,
Operation input means for inputting operation information relating to the operation performed by the user;
Based on the input operation information, a constraint condition calculation unit that calculates a constraint condition by calculating a target position of the control object,
Posture learning model information learned based on a plurality of types of posture information given in advance, and posture control means for controlling a change in posture not having a predetermined type based on the constraint condition;
A plurality of motion learning model information for each motion learned based on a plurality of types of motion information given in advance, and the motion of the main part of the control object having a predetermined type based on the constraint condition Operation control means for controlling,
Based on the operation information, control switching means for switching control of posture change, or control of operation of an arbitrary part of the control object,
An operation control program for causing a computer to function as follow-up control means for calculating the attitude of the object to be controlled based on results calculated by the attitude control means and the action control means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010145171A JP5458245B2 (en) | 2010-06-25 | 2010-06-25 | Operation control apparatus, method thereof, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010145171A JP5458245B2 (en) | 2010-06-25 | 2010-06-25 | Operation control apparatus, method thereof, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012008862A JP2012008862A (en) | 2012-01-12 |
| JP5458245B2 true JP5458245B2 (en) | 2014-04-02 |
Family
ID=45539310
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010145171A Active JP5458245B2 (en) | 2010-06-25 | 2010-06-25 | Operation control apparatus, method thereof, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5458245B2 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SG10201601110VA (en) | 2011-02-17 | 2016-03-30 | Univ Pennsylvania | Compositions and methods for altering tissue specificity and improving aav9-mediated gene transfer |
| JP6973388B2 (en) * | 2016-06-16 | 2021-11-24 | ソニーグループ株式会社 | Information processing equipment, information processing methods and programs |
| JP6295313B1 (en) * | 2016-12-02 | 2018-03-14 | 株式会社ドワンゴ | Information processing apparatus, information processing method, and program |
| JP6326167B1 (en) * | 2017-03-31 | 2018-05-16 | 株式会社ドワンゴ | Learning device, learning method, learning program, moving image distribution device, activity device, activity program, and moving image generation device |
| CN110262739A (en) * | 2019-07-01 | 2019-09-20 | 联想(北京)有限公司 | Switching method, device and electronic equipment |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004030502A (en) * | 2002-06-28 | 2004-01-29 | Sangaku Renkei Kiko Kyushu:Kk | Simulation method, simulation apparatus, and simulation program |
| JP4903371B2 (en) * | 2004-07-29 | 2012-03-28 | 任天堂株式会社 | Game device and game program using touch panel |
| JP4701395B2 (en) * | 2005-10-14 | 2011-06-15 | 国立大学法人九州工業大学 | Drawing control device |
-
2010
- 2010-06-25 JP JP2010145171A patent/JP5458245B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2012008862A (en) | 2012-01-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| De Araùjo et al. | Mockup Builder: 3D modeling on and above the surface | |
| Wang et al. | Gesturar: An authoring system for creating freehand interactive augmented reality applications | |
| US11836843B2 (en) | Enhanced pose generation based on conditional modeling of inverse kinematics | |
| Seol et al. | Creature features: online motion puppetry for non-human characters | |
| Aliprantis et al. | Natural Interaction in Augmented Reality Context. | |
| US20230377268A1 (en) | Method and apparatus for multiple dimension image creation | |
| Schmidt et al. | Sketching and composing widgets for 3d manipulation | |
| Wilke et al. | From dance notation to human animation: The LabanDancer project | |
| Lockwood et al. | Fingerwalking: motion editing with contact-based hand performance | |
| Ishigaki et al. | Performance-based control interface for character animation | |
| Sabir et al. | The Molecular Control Toolkit: Controlling 3D molecular graphics via gesture and voice | |
| JP5458245B2 (en) | Operation control apparatus, method thereof, and program | |
| Lee et al. | Design and empirical evaluation of a novel near-field interaction metaphor on distant object manipulation in VR | |
| Fender et al. | Creature teacher: A performance-based animation system for creating cyclic movements | |
| Oshita | Multi-touch interface for character motion control using example-based posture synthesis | |
| Luo et al. | VR-Doh: Hands-on 3D Modeling in Virtual Reality | |
| Peng et al. | 21‐2: exploring 3D interactive performance animation for VR/AR applications using low‐cost motion capture | |
| Hagedorn et al. | Sketch-based navigation in 3d virtual environments | |
| US20130311969A1 (en) | Systems and Methods for Runtime Control of Hierarchical Objects | |
| Liu et al. | COMTIS: Customizable touchless interaction system for large screen visualization | |
| Jeon et al. | A sketch interface to empower novices to create 3D animations | |
| Oshita | Multi-touch interface for character motion control using model-based approach | |
| Harviainen et al. | Camera-based interactions for augmented reality | |
| Friedman et al. | Using a brain-computer interface in highly-immersive virtual reality | |
| Mastra et al. | Virtual reality dance tracks from skeletal animations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130308 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131031 |
|
| 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: 20131126 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131202 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5458245 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |