WO2012108568A1 - 모션 제어 장치 및 방법 - Google Patents

모션 제어 장치 및 방법 Download PDF

Info

Publication number
WO2012108568A1
WO2012108568A1 PCT/KR2011/000928 KR2011000928W WO2012108568A1 WO 2012108568 A1 WO2012108568 A1 WO 2012108568A1 KR 2011000928 W KR2011000928 W KR 2011000928W WO 2012108568 A1 WO2012108568 A1 WO 2012108568A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
dimensional path
path
algorithm
constraints
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.)
Ceased
Application number
PCT/KR2011/000928
Other languages
English (en)
French (fr)
Inventor
이제희
최명걸
김만명
현경렬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SNU R&DB Foundation
Original Assignee
SNU R&DB Foundation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SNU R&DB Foundation filed Critical SNU R&DB Foundation
Publication of WO2012108568A1 publication Critical patent/WO2012108568A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/20Three-dimensional [3D] animation
    • G06T13/40Three-dimensional [3D] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/003Navigation within 3D models or images

Definitions

  • Embodiments of the present invention relate to a motion control apparatus and method, and more particularly, to an apparatus and method for controlling the motion of a character in a complex environment.
  • Embodiments of the present invention by modifying the character's three-dimensional path based on the constraint information, and by modifying the motion fragments, the character can find the path in the complex environment of the virtual world avoiding obstacles, narrow roads, etc. There is a purpose.
  • the motion control apparatus based on the constraint (Constraint) information, for modifying the 3-D (Manual Path) of the motion fragment (Motion Fragment) of the character of the virtual world (Edition) Path correction; And a motion deformation unit deforming the motion piece based on the modified three-dimensional path.
  • the three-dimensional path correction unit to project the three-dimensional path to the ground plane (Ground Plane) of the virtual world to generate a two-dimensional path, and apply the constraint information and the two-dimensional path correction algorithm Modifying the two-dimensional path, generating a plane curve by parameterizing an arc length along the modified two-dimensional path, and applying the constraint information and the two-dimensional path correction algorithm
  • the plane curve may be modified, and the three-dimensional path may be modified based on the modified plane curve.
  • the two-dimensional path correction algorithm comprises the steps of performing shape integrity for the motion piece; And performing scale compensation on the shape preserved motion fragment.
  • the constraint information may include information on at least one of (Contact Constraints).
  • the motion deformation unit by applying the supplementary equality constraints (Supplementary Equality Constraints), it is possible to modify the motion pieces to satisfy the impermeability and contact constraints associated with the environment of the virtual world.
  • supplementary equality constraints Simple Equality Constraints
  • the motion deformation unit may apply inverse kinematics constraints and displacement mapping to deform the motion pieces to satisfy the opacity constraints associated with the environment of the virtual world. Can be.
  • the motion deformation unit may further modify the motion fragment based on at least one of a search algorithm and a path planning algorithm.
  • the search algorithm may be an algorithm based on at least one of cost and heuristics and amortizing computation.
  • the path planning algorithm may be an algorithm based on at least one of a probabilistic roadmap and Rapidly-Exploring Random Trees.
  • a motion control method includes modifying a three-dimensional path for a motion fragment of a character of a virtual world based on constraint information. ; And modifying the motion fragment based on the modified three-dimensional path.
  • the step of modifying the three-dimensional path projecting the three-dimensional path on the ground plane (Ground Plane) of the virtual world to generate a two-dimensional path; Modifying the two-dimensional path by applying the constraint information and the two-dimensional path correction algorithm; Generating a plane curve by parameterizing an arc length along the modified two-dimensional path; Modifying the plane curve by applying the constraint information and the two-dimensional path correction algorithm; And modifying the three-dimensional path based on the modified planar curve.
  • the step of modifying the motion piece may be further modified based on at least one of a search algorithm (Path Search Algorithm) and a path planning algorithm (Path Planning Algorithm).
  • a search algorithm Path Search Algorithm
  • a path planning algorithm Path Planning Algorithm
  • the character can find the way out of constraints such as obstacles and narrow roads in the complex environment of the virtual world.
  • FIG. 1 is a diagram illustrating a virtual world in a complex environment according to an embodiment of the present invention.
  • FIG. 2 is a view showing the configuration of a motion control apparatus according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating constraint information according to an embodiment of the present invention.
  • FIG. 4 is a view showing a three-dimensional path correction operation of the motion control apparatus according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an operation of solving a opacity constraint by a motion control apparatus according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a motion control method according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a virtual world in a complex environment according to an embodiment of the present invention.
  • a virtual world according to an embodiment of the present invention may include complicated environments.
  • the virtual world may include a Many Cylinder World 110, a Jump and Climb Environment 120, and a Narrow Passages Environment 130.
  • an animated character (hereinafter referred to as a 'character') in a virtual world having a complex environment (110, 120, 130) searches for a way ( Search, and control the motion of the character to pass through the complex environment (110, 120, 130).
  • FIG. 2 is a view showing the configuration of a motion control apparatus according to an embodiment of the present invention.
  • the motion control apparatus 200 includes a three-dimensional path correction unit 210 and a motion deformation unit 220.
  • Motion control apparatus 200 may consider the three-dimensional path of the character route.
  • the three-dimensional path correction unit 210 edits a three-dimensional path for the motion fragment of the character of the virtual world, based on the constraint information.
  • the constraint information is non-penetration constraints associated with the environment of the virtual world, contact constraints, continuity constraints and motion associated with the character's motion fragments. It may include information on at least one of the constraints (Motion Constraints).
  • FIG. 3 is a diagram illustrating constraint information according to an embodiment of the present invention.
  • a virtual world may include a constraint associated with an environment (eg, a constraint on an object in the environment) and a constraint associated with a character.
  • Constraints associated with the environment of the virtual world may include a continuous constraint 310, an opacity constraint 320, and a contact constraint 330.
  • Continuous constraint 310 may be automatically specified to determine the position and orientation of the character at the start of the motion piece relative to the character.
  • the motion pieces can be naturally connected.
  • Pinning position and direction on motion path can be formulated as a linear equation.
  • the opacity constraint 320 can be automatically specified at runtime and formulated in an inequality.
  • the virtual world may be designed with curved objects (Convex Objects) for efficient collision detection. At this time, all the concave features can be decomposed into a curved polyhedron.
  • the contact constraints 330 can embody the interaction between the character and the environment. For example, the stance foot must be within a certain range at the first step on the stairs, and the body must face a range of directions to start walking on the stairs.
  • the contact constraint 330 may be formulated with inequalities that specify a range of possible positions and orientations of all body parts.
  • Constraints associated with a character may include motion constraints.
  • Motion constraints can specify how each motion piece is transformed. Deforming a broad jump allows for a wider or narrower jump, but does not allow bending of the character's motion path while the character is in the air. Conversely, walking ability is flexible, but can be sensitive to stretching or crushing. Depending on the embodiment, Extended Double Stance Phases may not allow any variant type.
  • the character can have a movement such as climbing up and down stairs, climbing up objects, jumping.
  • the three-dimensional path correction unit 210 by applying a two-dimensional algorithm two times in the vertical direction and the horizontal direction, so as not to use a nonlinear equation, three-dimensional for the character You can modify the path.
  • FIG. 4 is a view showing a three-dimensional path correction operation of the motion control apparatus according to an embodiment of the present invention.
  • the three-dimensional path correction unit 210 may include a three-dimensional path in a ground plane of a virtual world. Projection of the two-dimensional path (see 410 of FIG. 4) to satisfy the constraint on the ground plane of the virtual world ) Can be created.
  • the 3D path correction unit 210 may apply the constraint information about the ground plane of the virtual world and the 2D path correction algorithm to correct the 2D path (in this case, the modified 2D path: ).
  • the 3D path correction unit 210 parameterizes an Arc length parameterization along the deformed 2D path along the modified 2D path, thereby generating a plane curve ( ) Can be created. At this time, Can be expressed as Equation 1.
  • the 3D path correction unit 210 may modify the plane curve by applying the constraint information on the ly plane (see 420 of FIG. 4) and the 2D path correction algorithm (in this case, the modified plane curve: )
  • the 3D path correction unit 210 may modify the 3D path based on the modified planar curve.
  • the 3D path correction unit 210 may modify the 3D path as shown in Equation 2.
  • Two-Dimensional Path Editing Algorithm is to perform shape preservation on a motion piece of a character and to perform scale compensation on the shape preserved motion piece. It may include.
  • Shape integrity of the two-dimensional path correction algorithm may involve large scale.
  • the 2D path correction algorithm may compensate for scaling artifacts to maintain the length of the initial path.
  • the Laplace formula for performing shape conservation is a linear system. May appear as It may be a length vector representing a modified two-dimensional path.
  • Scale compensation may form an over-determined linear system such as Equation 4.
  • Can be the last transformed path May be a diagonal matrix that determines how well the path is stretched.
  • the two-dimensional path correction algorithm may place more emphasis on scale compensation in order to avoid excessive stretching in locomotion data with alternating single-support phases. . According to another embodiment, the two-dimensional path correction algorithm may place more emphasis on preserving the shape of the stretch after bending for the jump data in the flight phase.
  • extended double stance phases are simply considered to be solid parts of the path and can be set to use hard constraints.
  • Strong constraints ( ) The first step (shape preservation) and the second step (scale compensation) in the two-dimensional path correction algorithm can be an augmented linear system such as Equations 5 and 6.
  • the motion deformer 220 deforms the character's motion piece based on the modified three-dimensional path. That is, the motion transformation unit 220 according to an embodiment may deform the character's posture into the environment of the virtual world in each of the frames.
  • the motion transformation unit 220 may apply Supplementary Equality Constraints to transform the character's motion pieces to satisfy the impermeability and contact constraints associated with the environment of the virtual world. .
  • An impermeability constraint may be set such that a character cannot penetrate an obstacle such as a ground, a wall, or the like in the virtual world according to an embodiment of the present invention.
  • a contact constraint may be set to allow a character to contact an environment such as a land or stairs in the virtual world.
  • the opacity constraints may be set to push each other (Repulser), the contact constraints may be set to pull each other (Attractor).
  • Repulser with impermeable constraints set on obstacles that intersect the character can have equality constraints, and also the Nearest Safe Location with the deepest penetration point. Can be pushed out. Therefore, when the motion control apparatus 200 according to an embodiment analyzes the three-dimensional path of the character, when the object in which the opacity constraint is set and the motion fragment of the character cross in the virtual world, the motion object of the character is not lit. You can perform three-dimensional paths or transform motion fragments so that transmission constraints do not pass through the set object.
  • the desired variable within the range And In the root trajectory, the complementary position / direction fixing constraint may be expressed as Equation 8.
  • the motion modifying unit 220 may repeat the above-described operation until all irregularities related to the opacity constraint or the contact constraint are satisfied or considering the new supplemental constraint does not improve the result.
  • FIG. 5 is a diagram illustrating an operation of solving a opacity constraint by a motion control apparatus according to an embodiment of the present invention.
  • the character's three-dimensional path and motion fragment are set such that the character passes an obstacle in which an impermeability is set in the virtual world (510)
  • the character's three-dimensional path may be modified or the motion piece may be modified (530) so that the character does not pass through the obstacle having the impermeability constraint.
  • the motion deformation unit 220 applies inverse kinematics constraints and displacement mapping to satisfy an opacity constraint associated with an environment of a virtual world. You can transform the character's motion pieces to
  • the motion deformation unit 220 checks the deepest transmission point of the skeleton of the character transmitted to the points (Repulser) in which the opacity constraint is set in the virtual world in an arbitrary frame, Inverse kinematic constraints can be added to move the deepest transmission point to the nearest safe point.
  • the motion transformation unit 220 may deform the specified motion fragment by applying displacement mapping to the set of inverse sneaker constraints.
  • the motion deformation unit 220 may repeat the above-described operation until the character no longer transmits to the points where the impermeability constraint is set or the transmission is no longer improved.
  • the motion deformation unit 220 may further modify the motion fragment of the character based on at least one of a search algorithm and a path planning algorithm.
  • the search algorithm may be an algorithm based on at least one of limited-horizon search, cost and heuristics, and amortizing computation.
  • a character according to an embodiment of the present invention may be provided with a set of actions when selecting a next action.
  • the A * -search algorithm can extend future choices until a systemically optimal path is found. Whenever a new motion option is considered, a deformation of the motion fragment according to one embodiment of the present invention can be used to position the motions back and forth. If the motion must be deformed beyond a user specificizable threshold, the selected motion may no longer be valid.
  • the limited-horizon search method is not valid before the optimum path is found and can be determined as a suboptimal path.
  • Limited-Horizon search can be useful in real-time applications where interactivity is more important than optimality.
  • the limited-horizon search method can also be useful as a local planner that is part of a global path planning algorithm.
  • Equation 9 the cost function for a series of motion pieces can be expressed as shown in Equation 9.
  • Is the energy of the path deformation Is the sum of the measured joint angle changes, Is the preference for each of the motion pieces, and D may represent the moving distance.
  • a straight walking motion (motion piece) may be most preferred over other motions.
  • An admissible heuristics function may assume zero path deformation, zero postural deformation, most preferred motor options, and straight distance to the target point.
  • the search algorithm is only needed at the end of each motion piece (part), and all other frames can simply be reproduced again without much computation. This simple strategy can help you move your character intermittently in real time.
  • the calculation task may be equally divided in all frames to achieve a constant frame rate.
  • the search algorithm is extended with a certain number of motion options and can be paused briefly every frame.
  • the search algorithm can be resumed to find other options not found in the next frame.
  • the procedure of the search algorithm described above may be repeated until the end of the motion fragment (part) is reached and the next action is selected according to the accumulated survey result. Segmentation calculations can achieve a constant frame rate at runtime in real time mutual control.
  • the route planning algorithm may be an algorithm based on at least one of a probabilistic roadmap and Rapidly-Exploring Random Trees.
  • Probabilistic roadmaps can consist of many points randomly drawn from the free space of the environment of the virtual world (points representing the position, direction, and posture of a character).
  • the directional edge may connect a pair of nodes if the local planner can find a short path between the points.
  • Planning the character's motion through the virtual environment can be reduced to graph-searching through the roadmap, including the beginning and end arrays in the roadmap.
  • Probabilistic roadmaps can be constructed to tightly cover all environments in the preprocessing phase. By largely calculating the dense roadmap in advance, high-level array spaces require significant computational resources, but can efficiently address real-time pathfinding requirements. Alternatively, a lazy evaluation approach can construct a roadmap individually for each route finding request.
  • the motion control apparatus 200 may construct a probabilistic road map by a delay calculation method. Given the initial and destination arrangements, motion control device 200 may continue to add random samples to the roadmap until a path is found between the first and destination. Each new sample can be linked to an existing roadmap by using a local planner based on the modification of the motion fragment and the Limited-horizon A * -search algorithm according to one embodiment of the present invention. Delay calculation can roughly measure the minimum number of points required to achieve a goal.
  • RRTs are designed to solve single-query path planning problems without preprocessing. There are several variations of RRTs.
  • the motion control device 200 may be based on the simplest deformation combined with the deformation of the motion piece. RRTs are located at the starting point and can be increased to explore free space by repeatedly sampling new points (nodes). We can randomly sample a free array (position and direction) and search for the nearest point (node) in the search tree. Then, we can check whether the motion pieces destined for the new sample arrays starting from the nearest node can be placed in the environment subject to the given constraint. If a motion piece can be placed in an environment subject to a given constraint, a new branch is added to the tree.
  • the motion control apparatus 200 may repeatedly perform the above-described operations until the search tree finds a target point.
  • FIG. 6 is a flowchart illustrating a motion control method according to an embodiment of the present invention.
  • the motion control method may generate a 3-demantional path for a motion fragment of a character of a virtual world based on constraint information. Edit (610).
  • the constraint information is non-penetration constraints associated with the environment of the virtual world, contact constraints, continuity constraints and motion associated with the character's motion fragments. It may include information on at least one of the constraints (Motion Constraints).
  • the character can have a movement such as climbing up and down stairs, climbing up objects, jumping.
  • the motion control method can modify the three-dimensional path for the character by applying a two-dimensional algorithm two times in the vertical direction and the horizontal direction so as not to use a nonlinear equation. .
  • a motion control method may include a three-dimensional path in a ground plane of a virtual world. Projection of the two-dimensional path (see 410 of FIG. 4) to satisfy the constraint on the ground plane of the virtual world ) Can be created.
  • the motion control method may modify the two-dimensional path by applying constraint information and a two-dimensional path correction algorithm for the ground plane of the virtual world (in this case, the modified two-dimensional path: ).
  • the motion control method parameterizes an Arc length parameterization along the deformed 2D path along the modified two-dimensional path, thereby generating a plane curve ( ) Can be created.
  • an Arc length parameterization along the deformed 2D path along the modified two-dimensional path thereby generating a plane curve ( ) Can be created.
  • the motion control method may modify the plane curve by applying the constraint information on the ly plane (see 420 of FIG. 4) and the two-dimensional path correction algorithm (in this case, the modified plane curve: )
  • the motion control method may modify the 3D path based on the modified planar curve.
  • the 3D path may be modified as in Equation 2 described above.
  • Two-Dimensional Path Editing Algorithm is to perform shape preservation on a motion piece of a character and to perform scale compensation on the shape preserved motion piece. It may include.
  • Shape integrity of the two-dimensional path correction algorithm may involve large scale.
  • the 2D path correction algorithm may compensate for scaling artifacts to maintain the length of the initial path.
  • the Laplace formula for performing shape conservation is a linear system. May appear as It may be a length vector representing a modified two-dimensional path.
  • Equation 3 Soft Constraints are weak in the Laplace formula described above. 2, as described above with reference to FIG. 2, an over-determined linear system such as Equation 3 may be formed.
  • Scale compensation according to an embodiment may form an over-determined linear system such as Equation 4 described above with reference to FIG. 2.
  • the two-dimensional path correction algorithm may place more emphasis on scale compensation in order to avoid excessive stretching in locomotion data with alternating single-support phases. . According to another embodiment, the two-dimensional path correction algorithm may place more emphasis on preserving the shape of the stretch after bending for the jump data in the flight phase.
  • extended double stance phases are simply considered to be solid parts of the path and can be set to use hard constraints.
  • Strong constraints ( ) The first step (shape preservation) and the second step (scale compensation) in the two-dimensional path correction algorithm, as shown in Figure 2, is an augmented linear system such as Can be.
  • the motion control method deforms the motion piece of the character based on the modified three-dimensional path (620). That is, the motion control method according to an embodiment may modify the pose of the character in each of the frames to be put into the environment of the virtual world.
  • the motion control method may apply Supplemental Equality Constraints to transform the character's motion pieces to satisfy the opacity and contact constraints associated with the environment of the virtual world.
  • An impermeability constraint may be set such that a character cannot penetrate an obstacle such as a ground, a wall, or the like in the virtual world according to an embodiment of the present invention.
  • a contact constraint may be set to allow a character to contact an environment such as a land or stairs in the virtual world.
  • the opacity constraints may be set to push each other (Repulser), the contact constraints may be set to pull each other (Attractor).
  • Repulser with impermeable constraints set on obstacles that intersect the character can have equality constraints, and also the Nearest Safe Location with the deepest penetration point. Can be pushed out. Therefore, in the motion control method according to the exemplary embodiment, when the character's motion fragment intersects with the object in which the opacity constraint is set in the virtual world as a result of analyzing the three-dimensional path of the character, the motion object of the character has the opacity constraint You can perform three-dimensional paths or transform motion pieces so that they do not pass through the set object.
  • Supplementary constraints according to an embodiment may be represented by Equation 7 described above with reference to FIG. 2.
  • the supplementary position / direction fixing constraint in the root trajectory may be represented by Equation 8 described above as described with reference to FIG. 2.
  • the motion control method may repeat the above operations until all irregularities related to opacity constraints or contact constraints are satisfied, or considering new complementary constraints does not improve the results.
  • a motion control method may apply inverse kinematics constraints and displacement mapping to transform a character's motion fragment to satisfy an impermeability constraint associated with an environment of a virtual world.
  • the motion control method checks the deepest transmission point of the skeleton of the character transmitted to the repulser where the opacity constraint is set in the virtual world in any frame, and the deepest transmission. Inverse kinematic constraints can be added to move the point to the nearest safe point. In addition, the motion control method can transform a specified motion fragment by applying displacement mapping to a set of inverse sneaker constraints.
  • the motion control method may repeat the above-described operation until the character no longer transmits to the points where the opacity constraint is set or the transmission does not improve any more.
  • the motion control method may further modify a character's motion fragment based on at least one of a search algorithm and a path planning algorithm.
  • the search algorithm may be an algorithm based on at least one of limited-horizon search, cost and heuristics, and amortizing computation.
  • a character according to an embodiment of the present invention may be provided with a set of actions when selecting a next action.
  • the A * -search algorithm can extend future choices until a systemically optimal path is found. Whenever a new motion option is considered, a deformation of the motion fragment according to one embodiment of the present invention can be used to position the motions back and forth. If the motion must be deformed beyond a user specificizable threshold, the selected motion may no longer be valid.
  • the limited-horizon search method is not valid before the optimum path is found and can be determined as a suboptimal path.
  • Limited-Horizon search can be useful in real-time applications where interactivity is more important than optimality.
  • the limited-horizon search method can also be useful as a local planner that is part of a global path planning algorithm.
  • the cost function for a series of motion pieces can be represented by Equation 9 above, as described in FIG. 2.
  • a straight walking motion (motion piece) may be most preferred over other motions.
  • An admissible heuristics function may assume zero path deformation, zero postural deformation, most preferred motor options, and straight distance to the target point.
  • the search algorithm is only needed at the end of each motion piece (part), and all other frames can simply be reproduced again without much computation. This simple strategy can help you move your character intermittently in real time.
  • the calculation task may be equally divided in all frames to achieve a constant frame rate.
  • the search algorithm is extended with a certain number of motion options and can be paused briefly every frame.
  • the search algorithm can be resumed to find other options not found in the next frame.
  • the procedure of the search algorithm described above may be repeated until the end of the motion fragment (part) is reached and the next action is selected according to the accumulated survey result. Segmentation calculations can achieve a constant frame rate at runtime in real time mutual control.
  • the route planning algorithm may be an algorithm based on at least one of a probabilistic roadmap and Rapidly-Exploring Random Trees.
  • Probabilistic roadmaps can consist of many points randomly drawn from the free space of the environment of the virtual world (points representing the position, direction, and posture of a character).
  • the directional edge may connect a pair of nodes if the local planner can find a short path between the points.
  • Planning the character's motion through the virtual environment can be reduced to graph-searching through the roadmap, including the beginning and end arrays in the roadmap.
  • Probabilistic roadmaps can be constructed to tightly cover all environments in the preprocessing phase. By largely calculating the dense roadmap in advance, high-level array spaces require significant computational resources, but can efficiently address real-time pathfinding requirements. Alternatively, a lazy evaluation approach can construct a roadmap individually for each route finding request.
  • the motion control method may construct a probabilistic road map by a delay calculation method. Given the first and destination arrays, the motion control method can continuously add random samples to the roadmap until a path is found between the first and destination. Each new sample can be linked to an existing roadmap by using a local planner based on the modification of the motion fragment and the Limited-horizon A * -search algorithm according to one embodiment of the present invention. Delay calculation can roughly measure the minimum number of points required to achieve a goal.
  • RRTs are designed to solve single-query path planning problems without preprocessing. There are several variations of RRTs.
  • the motion control method according to an embodiment of the present invention may be based on the simplest deformation combined with the deformation of the motion piece. RRTs are located at the starting point and can be increased to explore free space by repeatedly sampling new points (nodes). We can randomly sample a free array (position and direction) and search for the nearest point (node) in the search tree. Then, we can check whether the motion pieces destined for the new sample arrays starting from the nearest node can be placed in the environment subject to the given constraint. If a motion piece can be placed in an environment subject to a given constraint, a new branch is added to the tree. According to an embodiment, the motion control method may repeatedly perform the above-described operation until the search tree finds a target point.
  • Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

모션 제어 장치 및 방법이 개시된다. 본 발명의 실시예들에 따르면, 제약 정보에 기반하여 캐릭터의 3차원 경로를 수정하고, 모션 조각을 변형함으로써, 가상 세계의 복잡한 환경 속에서 캐릭터가 장애물, 좁은 길 등의 제약을 피하여 길을 찾을 수 있다.

Description

모션 제어 장치 및 방법
본 발명의 실시예들은 모션 제어 장치 및 방법에 관한 것으로서, 보다 구체적으로는 복잡한 환경에서 캐릭터의 모션을 제어하는 장치 및 방법에 관한 것이다.
복잡한 가상 환경에서 쌍방향으로 캐릭터들을 제어하는 기술은 컴퓨터 그래픽에서 반복되는 문제점으로 나타난다. 이 문제점은 이전에 state-space searching 기술을 이용하고, 환경과 제어 방법을 위한 미리 계산된 구조들을 설계함으로써 알려지게 되었다.
또한, 유사 리서치 필드의 굉장한 발전에도, 크고 타이트하게 속박된 환경을 통과하여 캐릭터를 제어하는 것은 여전히 어렵다. 왜냐하면, 종래의 캐릭터를 제어하는 기술들은 메모리집약형(memory-intensive) 혹은 계산집약형(computation-intensive)으로 구현되기 때문이다.
모션 캡쳐 데이터를 이용하는 데이터-드리븐 애니메이션(Data-Driven Animation) 기술은 캐릭터 애니메이션에서 표준 기술(Standard Practice)이 되어 가고 있다. 종래의 많은 기술들이 조인트 궤적(joint trajectories)을 수정하거나, 모션 경로를 뒤틀거나, 파라미터화된 모션들의 집단을 섞거나, 모션을 새로운 캐릭터나 환경들에 적용시킴으로써 캡쳐된 인간 모션 데이터(captured human motion data)에 유연성을 추가 하기 위해 발전해왔다. 그러나, 이러한 종래의 기술에 의해 제약된 환경에서 모션 데이터를 위치시키는 것은, 인터랙티브 그래픽 어플리케이션들을 위한 상당한 양의 컴퓨터의 자료들을 요구한다.
본 발명의 실시예들은 제약 정보에 기반하여 캐릭터의 3차원 경로를 수정하고, 모션 조각을 변형함으로써, 가상 세계의 복잡한 환경 속에서 캐릭터가 장애물, 좁은 길 등의 제약을 피하여 길을 찾을 수 있는데 그 목적이 있다.
본 발명의 일실시예에 따른 모션 제어 장치는, 제약(Constraint) 정보에 기반하여, 가상 세계의 캐릭터의 모션 조각(Motion Fragment)에 대한 3차원 경로(3-Demantional Path)를 수정(Editing)하는 경로 수정부; 및 상기 수정된 3차원 경로에 기반하여, 상기 모션 조각을 변형하는 모션 변형부를 포함한다.
본 발명의 일측에 따르면, 상기 3차원 경로 수정부는, 상기 가상 세계의 그라운드 평면(Ground Plane)에 상기 3차원 경로를 투사하여 2차원 경로를 생성하고, 상기 제약 정보 및 2차원 경로 수정 알고리즘을 적용하여 상기 2차원 경로를 수정하며, 상기 수정된 2차원 경로를 따라 호 길이(Arc Length)를 파라미터화하여 평면 커브(Plane Curve)를 생성하고, 상기 제약 정보 및 상기 2차원 경로 수정 알고리즘을 적용하여 상기 평면 커브를 수정하고, 상기 수정된 평면 커브에 기반하여 상기 3차원 경로를 수정할 수 있다.
본 발명의 일측에 따르면, 상기 2차원 경로 수정 알고리즘은 상기 모션 조각에 대하여 형태 보전을 수행하는 단계; 및 상기 형태 보전된 모션 조각에 대하여 스케일 보상을 수행하는 단계를 포함할 수 있다.
본 발명의 일측에 따르면, 상기 제약 정보는, 상기 가상 세계의 환경과 연관된 불투과 제약(Non-penetration Constraints), 접촉 제약(Contact Constraints), 연속적 제약 (Continuity Constraints) 및 상기 모션 조각과 연관된 모션 제약(Motion Constraints) 중 적어도 하나에 대한 정보를 포함할 수 있다.
본 발명의 일측에 따르면, 상기 모션 변형부는, 보충적 등식 제약(Supplementary Equality Constraints)을 적용하여, 상기 가상 세계의 환경과 연관된 불투과 제약 및 접촉 제약을 만족하도록 상기 모션 조각을 변형할 수 있다.
본 발명의 일측에 따르면, 상기 모션 변형부는, 역운동학 제약(Inverse Kinematics Constraints) 및 변위 매핑(Displacement Mapping)을 적용하여, 상기 가상 세계의 환경과 연관된 불투과 제약을 만족하도록 상기 모션 조각을 변형할 수 있다.
본 발명의 일측에 따르면, 상기 모션 변형부는, 검색 알고리즘(Search Algorithm) 및 경로 계획 알고리즘(Path Planning Algorithm) 중 적어도 하나에 더 기반하여, 상기 모션 조각을 변형할 수 있다.
본 발명의 일측에 따르면, 상기 검색 알고리즘은, 비용과 발견적 교수법(Cost and Heuristics) 및 분할 계산법(Amortizing Computation) 중 적어도 하나에 기반한 알고리즘일 수 있다.
본 발명의 일측에 따르면, 상기 경로 계획 알고리즘은, 확률론적 로드맵(Probabilistic Roadmap) 및 RRTs(Rapidly-Exploring Random Trees) 중 적어도 하나에 기반한 알고리즘일 수 있다.
본 발명의 일실시예에 따른 모션 제어 방법은 제약(Constraint) 정보에 기반하여, 가상 세계의 캐릭터의 모션 조각(Motion Fragment)에 대한 3차원 경로(3-Demantional Path)를 수정(Editing)하는 단계; 및 상기 수정된 3차원 경로에 기반하여, 상기 모션 조각을 변형하는 단계를 포함할 수 있다.
본 발명의 일측에 따르면, 상기 3차원 경로를 수정하는 단계는, 상기 가상 세계의 그라운드 평면(Ground Plane)에 상기 3차원 경로를 투사하여 2차원 경로를 생성하는 단계; 상기 제약 정보 및 2차원 경로 수정 알고리즘을 적용하여 상기 2차원 경로를 수정하는 단계; 상기 수정된 2차원 경로를 따라 호 길이(Arc Length)를 파라미터화하여 평면 커브(Plane Curve)를 생성하는 단계; 상기 제약 정보 및 상기 2차원 경로 수정 알고리즘을 적용하여 상기 평면 커브를 수정하는 단계; 및 상기 수정된 평면 커브에 기반하여 상기 3차원 경로를 수정하는 단계를 포함할 수 있다.
본 발명의 일측에 따르면, 상기 모션 조각을 변형하는 단계는, 검색 알고리즘(Search Algorithm) 및 경로 계획 알고리즘(Path Planning Algorithm) 중 적어도 하나에 더 기반하여, 상기 모션 조각을 변형할 수 있다.
제약 정보에 기반하여 캐릭터의 3차원 경로를 수정하고, 모션 조각을 변형함으로써, 가상 세계의 복잡한 환경 속에서 캐릭터가 장애물, 좁은 길 등의 제약을 피하여 길을 찾을 수 있다.
도 1은 본 발명의 일실시예에 따른 복잡한 환경의 가상 세계를 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 모션 제어 장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 제약 정보를 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 모션 제어 장치의 3차원 경로 수정 동작을 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 모션 제어 장치가 불투과 제약을 해결하는 동작을 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 모션 제어 방법을 나타내는 흐름도이다.
이하에서, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 복잡한 환경의 가상 세계를 나타내는 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 가상 세계는 복잡한 환경(Cluttered Environments)을 포함할 수 있다.
일실시예에 따른 가상 세계는 원통이 많은 환경(Many Cylinder World)(110), 점프와 오르기(Jump and Climb) 환경(120) 및 좁은 통로(Narrow Passages) 환경(130)을 포함할 수 있다.
이 때, 본 발명의 일실시예에 따른 모션 제어 장치 및 방법은 복잡한 환경(110, 120, 130)을 갖는 가상 세계에서 애니메이티드 캐릭터(Animated Character, 이하 '캐릭터'라 함)가 길을 검색(Search)하고, 복잡한 환경(110, 120, 130)을 통과할 수 있게 캐릭터의 모션을 제어할 수 있다.
이하, 본 발명의 일실시예에 따른 모션 제어 장치 및 방법에 대해서 상세히 설명한다.
도 2는 본 발명의 일실시예에 따른 모션 제어 장치의 구성을 나타내는 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 모션 제어 장치(200)는 3차원 경로 수정부(210) 및 모션 변형부(220)를 포함한다.
본 발명의 일실시예에 따른 모션 제어 장치(200)는 캐릭터 루트의 3차원적 경로를 고려할 수 있다.
3차원 경로 수정부(210)는 제약(Constraint) 정보에 기반하여, 가상 세계의 캐릭터의 모션 조각(Motion Fragment)에 대한 3차원 경로(3-Demantional Path)를 수정(Editing)한다.
본 발명의 일측에 따르면, 제약 정보는 가상 세계의 환경(Environment)과 연관된 불투과 제약(Non-penetration Constraints), 접촉 제약(Contact Constraints), 연속적 제약(Continuity Constraints) 및 캐릭터의 모션 조각과 연관된 모션 제약(Motion Constraints) 중 적어도 하나에 대한 정보를 포함할 수 있다.
이하, 도 3을 참조하여, 본 발명의 일실시예에 따른 제약 정보에 대해서 상세히 설명한다.
도 3은 본 발명의 일실시예에 따른 제약 정보를 나타내는 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 가상 세계는 환경과 연관된 제약(예를 들어, 환경 내의 객체(Object)에 대한 제약) 및 캐릭터와 연관된 제약을 포함할 수 있다.
일실시예에 따른 가상 세계의 환경과 연관된 제약은 연속 제약(310), 불투과 제약(320) 및 접촉 제약(330)을 포함할 수 있다.
연속 제약(310)은 캐릭터에 대한 모션 조각의 시작에서 캐릭터의 위치와 방향을 확정하기 위해 자동적으로 구체화될 수 있다. 연속 제약(310)에 의해, 모션 조각들은 자연스럽게 연결될 수 있다. 모션 경로에서 위치와 방향의 고정(Pinning position and direction on motion path)은 선형 방정식으로 공식화 될 수 있다.
불투과 제약(320)은 런타임(Runtime)시 자동적으로 구체화될 수 있고, 부등식으로 공식화될 수 있다. 일실시예에 따른 가상 세계는 효율적인 충돌 감지를 위해 구부러진 객체들(Convex Objects)로 디자인될 수 있다. 이 때, 모든 오목한 특징(Features )들은 구부러진 다면체로 분해 될 수 있다.
접촉 제약(330)은 캐릭터와 환경 사이의 상호 작용을 구체화할 수 있다. 예를 들면, 스탠스 풋(Stance Foot)은 계단에서의 첫 번째 스텝에서 일정한 범위 내에 있어야 하고, 몸체(Body)는 계단에서 걷기 시작하기 위해 일정한 범위의 방향을 향해야 한다. 접촉 제약(330)은 모든 몸체 부분의 가능한 위치와 방향의 범위를 구체화한 부등식들로 공식화 될 수 있다.
일실시예에 따른 캐릭터와 연관된 제약은 모션 제약을 포함할 수 있다.
모션 제약은 어떻게 각각의 모션 조각들이 변형되는지를 구체화할 수 있다. 넓은(Broad) 점프를 변형하는 것은 더 넓거나 좁은 점프를 할 수 있게 하지만, 캐릭터가 공중에 있는 동안에 캐릭터의 모션 경로의 구부림을 허용되지 않는다. 역으로, 보행능력은 구부리는 탄력이 있지만, 스트레칭이나 짓누르기에 민감할 수 있다. 실시예에 따라서는, 확장된 이중의 스탠스 단계들(Extended Double Stance Phases)은 어떠한 변형 타입도 허용하지 않을 수 있다.
이하, 다시 도 2를 참조하여, 본 발명의 일실시예에 따른 모션 제어 장치(200)의 3차원 경로 수정부(210)에 대해서 설명한다.
본 발명의 일측에 따르면, 가상 환경은 3차원이기 때문에, 캐릭터는 계단을 오르내리고, 물체에 기어오르고, 점프 하는 등의 움직임을 가질 수 있다. 이 때, 본 발명의 일실시예에 따른 3차원 경로 수정부(210)는 비선형 방정식을 사용하지 않기 위하여, 수직 방향과 수평 방향으로 2차례에 걸쳐 2차원 알고리즘을 적용함으로써, 캐릭터에 대한 3차원 경로를 수정할 수 있다.
도 4는 본 발명의 일실시예에 따른 모션 제어 장치의 3차원 경로 수정 동작을 나타내는 도면이다.
도 2 및 도 4를 참조하면, 일실시예에 따른 3차원 경로 수정부(210)는 가상 세계의 그라운드 평면(Ground Plane)에 3차원 경로(
Figure PCTKR2011000928-appb-I000001
, 도 4의 410 참조)를 투사(Projection)하여, 가상 세계의 그라운드 평면에 대한 제약 조건을 만족시키는 2차원 경로(
Figure PCTKR2011000928-appb-I000002
)를 생성할 수 있다.
또한, 3차원 경로 수정부(210)는 가상 세계의 그라운드 평면에 대한 제약 정보 및 2차원 경로 수정 알고리즘을 적용하여, 2차원 경로를 수정할 수 있다(이 때, 수정된 2차원 경로:
Figure PCTKR2011000928-appb-I000003
).
또한, 3차원 경로 수정부(210)는 수정된 2차원 경로를 따라 호 길이(Arc Length)를 파라미터화(Arc length parameterization along the deformed 2D path)하여, 평면 커브(Plane Curve)(
Figure PCTKR2011000928-appb-I000004
)를 생성할 수 있다. 이 때,
Figure PCTKR2011000928-appb-I000005
는 수식 1과 같이 나타낼 수 있다.
수식 1
Figure PCTKR2011000928-appb-I000006
또한, 3차원 경로 수정부(210)는 l-y 평면(도 4의 420 참조)에 대한 제약 정보 및 2차원 경로 수정 알고리즘을 적용하여 평면 커브를 수정할 수 있다(이 때, 수정된 평면 커브:
Figure PCTKR2011000928-appb-I000007
)
또한, 3차원 경로 수정부(210)는 수정된 평면 커브에 기반하여 3차원 경로를 수정할 수 있다. 일실시예에 따른 3차원 경로 수정부(210)는 수식 2와 같이 3차원 경로를 수정할 수 있다.
수식 2
Figure PCTKR2011000928-appb-I000008
본 발명의 일측에 따른 2차원 경로 수정 알고리즘(Two-Dimentional Path Editing Algorithm)은 캐릭터의 모션 조각에 대하여 형태 보전을 수행하는 단계 및 형태 보전된 모션 조각에 대하여 스케일 보상(Scale Compensation)을 수행하는 단계를 포함할 수 있다.
일실시예에 따른 2차원 경로 수정 알고리즘의 형태 보전은 큰 스케일을 수반할 수 있다. 따라서, 2차원 경로 수정 알고리즘은 형태 보전을 수행한 이후, 초기 경로의 길이를 유지하기 위해 스캐일링 아티팩트(Scaling Artifacts)를 보상할 수 있다.
일실시예에 따른 형태 보전의 수행을 위한 라플라스 공식은 선형 시스템
Figure PCTKR2011000928-appb-I000009
으로 나타날 수 있고, 이 때,
Figure PCTKR2011000928-appb-I000010
이고, 변형된 2차원 경로를 나타내는 길이 벡터일 수 있다.
또한, 상술한 라플라스 공식에 약한 제약(Soft Constraints)
Figure PCTKR2011000928-appb-I000011
을 결합하면, 수식 3과 같은 오버-디터민드 리니어 시스템(Over-Determined Linear System)을 형성할 수 있다.
수식 3
Figure PCTKR2011000928-appb-I000012
이 때,
Figure PCTKR2011000928-appb-I000013
은 제약에 대해서 얼마나 경로가 잘 구부러지는지를 판단하는 대각 행렬(Diagonal Matrix)일 수 있다.
일실시예에 따른 스캐일 보상은 수식 4와 같은 오버-디터민드 리니어 시스템을 형성할 수 있다.
수식 4
Figure PCTKR2011000928-appb-I000014
이 때,
Figure PCTKR2011000928-appb-I000015
는 마지막으로 변형된 경로일 수 있고,
Figure PCTKR2011000928-appb-I000016
는 얼마나 경로가 잘 늘어뜨려지는지를 판단하는 대각 행렬일 수 있다.
일실시예에 따른 2차원 경로 수정 알고리즘은 대체 싱글-서포트 단계에서의 운동 데이터(locomotion data with alternating single-support phases)에 있어서, 과도한 스트레칭(Strecthing)을 피하기 위해 스캐일 보상에 더 비중을 둘 수 있다. 또 다른 일실시예에 따른 2차원 경로 수정 알고리즘은 비행 단계에서의 점프 데이터를 위해서 구부림 이후의 스트레칭의 형태 보전에 더 비중을 둘 수 있다.
일실시예에 따른 2차원 경로 수정 알고리즘에서, 확장된 2중 위치 단계들(Extended double stance phases)은 단순히 경로의 단단한 부분들로 고려되고, 강한 제약(Hard Constraints)를 사용하도록 설정될 수 있다. 강한 제약(
Figure PCTKR2011000928-appb-I000017
)을 삽입하면, 2차원 경로 수정 알고리즘에서의 첫번째 스텝(형태 보전)과 두번째 스텝(스케일 보상)은 수식 5 및 6과 같은 확장된(Augmented) 선형 시스템이 될 수 있다.
수식 5
Figure PCTKR2011000928-appb-I000018
수식 6
Figure PCTKR2011000928-appb-I000019
이 때,
Figure PCTKR2011000928-appb-I000020
은 라그랑주 멀티플라이어(Langrange multipliers)일 수 있다. 수식 5 및 수식 6을 정리하면, 2차원 경로가 최종 수정될 수 있다.
모션 변형부(220)는 수정된 3차원 경로에 기반하여, 캐릭터의 모션 조각을 변형한다. 즉, 일실시예에 따른 모션 변형부(220)는 각각의 프레임들에서 캐릭터의 자세를 가상 세계의 환경 안으로 넣어지도록 변형할 수 있다.
본 발명의 일측에 따르면, 모션 변형부(220)는 보충적 등식 제약(Supplementary Equality Constraints)을 적용하여, 가상 세계의 환경과 연관된 불투과 제약 및 접촉 제약을 만족하도록 캐릭터의 모션 조각을 변형할 수 있다.
본 발명의 일실시예에 따른 가상 세계의 땅, 벽 등과 같은 장애물에는 캐릭터가 관통할 수 없도록 불투과 제약이 설정될 수 있다. 또한, 가상 세계의 땅, 계단과 같은 환경에는 캐릭터가 접촉할 수 있도록 접촉 제약이 설정될 수 있다. 이 때, 불투과 제약들은 서로 밀어낼 수 있도록 설정될 수 있고(Repulser), 접촉 제약들은 서로 당길 수 있도록 설정될 수 있다(Attractor).
캐릭터와 교차되는 장애물에 설정된 불투과 제약이 설정된 점들(Repulser)은 균등 제약(Equality Constraints)을 가질 수 있고, 또한, 가장 깊은 투과점(Deepest Penetration Point)을 가장 가까운 안전 위치(The Nearest Safe Location)로 밀어낼 수 있다. 따라서, 일실시예에 따른 모션 제어 장치(200)는, 캐릭터의 3차원 경로를 분석한 결과, 가상 세계에서 불투과 제약이 설정된 객체와 캐릭터의 모션 조각이 교차하는 경우, 캐릭터의 모션 객체가 불투과 제약이 설정된 객체를 통과하지 않도록 3차원 경로를 수행하거나 모션 조각을 변형할 수 있다.
일실시예에 따른 보충적 제약(Supplementary constraints)은 수식 7과 같이 나타날 수 있다.
수식 7
Figure PCTKR2011000928-appb-I000021
이 때,
Figure PCTKR2011000928-appb-I000022
는 프레임 i에서 캐릭터의 몸체에서 가장 깊은 투과점이고,
Figure PCTKR2011000928-appb-I000023
는 가장 가까운 불투과점일 수 있다. 즉, 투과를 해결하기 위해서 프레임 i에서 루트 위치
Figure PCTKR2011000928-appb-I000024
(Root Position
Figure PCTKR2011000928-appb-I000025
)는
Figure PCTKR2011000928-appb-I000026
만큼 이동되어야 한다(translated).
접촉 제약이 설정된 점들(Attractor)은 서로 충분히 가까운 경우, 캐릭터의 엔드-이펙터(end-effector)를 접촉 지역 안으로 끌어들이기 위해서 균등 제약을 더할 수 있다.
이 때, 프레임 i에서 가능한 범위 내에서 가장 가까운 위치에서의 엔드-이펙터의 위치 및 방향 각각을
Figure PCTKR2011000928-appb-I000027
Figure PCTKR2011000928-appb-I000028
라고 하고, 가능한 범위 내에서의 희망 변수를
Figure PCTKR2011000928-appb-I000029
Figure PCTKR2011000928-appb-I000030
라고 할 때, 루트 궤도(Root trajectory)에서 보충적인 위치/방향 고정 제약은 수식 8과 같이 나타날 수 있다.
수식 8
Figure PCTKR2011000928-appb-I000031
모션 변형부(220)는 불투과 제약 또는 접촉 제약과 관련된 모든 부정식이 만족되거나, 새로운 보충적 제약을 고려하는 것이 결과를 향상시키지 못할 때까지 상술한 동작을 반복 수행할 수 있다.
도 5는 본 발명의 일실시예에 따른 모션 제어 장치가 불투과 제약을 해결하는 동작을 나타내는 도면이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 모션 제어 장치는, 캐릭터가 가상 세계에서 불투과 제약이 설정된 장애물을 통과하도록 캐릭터의 3차원 경로 및 모션 조각이 설정되어 있는 경우(510), 장애물의 불투과 제약(521)을 고려하여(520), 캐릭터가 불투과 제약이 설정된 장애물을 통과하지 않도록 캐릭터의 3차원 경로를 수정하거나 모션 조각을 변형할 수 있다(530).
다시 도 2를 참조하면, 본 발명의 일측에 따른 모션 변형부(220)는 역운동학 제약(Inverse Kinematics Constraints) 및 변위 매핑(Displacement Mapping)을 적용하여, 가상 세계의 환경과 연관된 불투과 제약을 만족하도록 캐릭터의 모션 조각을 변형할 수 있다.
자세히 설명하면, 일실시예에 따른 모션 변형부(220)는 임의의 프레임에서 가상 세계에서 불투과 제약이 설정된 점들(Repulser)에 투과된 캐릭터의 뼈대(skeleton)의 가장 깊은 투과점을 확인하고, 가장 깊은 투과점을 가장 가까운 안전한 점으로 이동시키기 위하여 역운동학 제약을 더할 수 있다. 또한, 모션 변형부(220)는 역운동화 제약의 집합에 변위 매핑을 적용하여 구체화된 모션 조각을 변형시킬 수 있다.
모션 변형부(220)는 불투과 제약이 설정된 점들에 대한 캐릭터의 투과가 더 이상 없게 되거나, 투과가 더 이상 향상되지 않을 때까지 상술한 동작을 반복 수행할 수 있다.
본 발명의 일측에 따르면, 모션 변형부(220)는 검색 알고리즘(Search Algorithm) 및 경로 계획 알고리즘(Path Planning Algorithm) 중 적어도 하나에 더 기반하여, 캐릭터의 모션 조각을 변형할 수 있다.
일실시예에 따른 검색 알고리즘은 리미티드-호리즌 검색법(Limited-Horizon Search), 비용과 발견적 교수법(Cost and Heuristics) 및 분할 계산법(Amortizing Computation) 중 적어도 하나에 기반한 알고리즘일 수 있다.
리미티드-호리즌 검색법과 관련하여, 본 발명의 일실시예에 따른 캐릭터는 다음 동작을 선택할 때, 일련의 동작들의 세트를 제공 받을 수 있다. A*-search 알고리즘은 시스템적으로 최적의 경로가 발견될 때까지 이후의 선택권(future choices)을 확장시킬 수 있다. 새로운 모션의 옵션이 검토될 때마다 본 발명의 일실시예에 따른 모션 조각의 변형은 모션들을 전후 사정에 맞게 위치시키는 데에 이용될 수 있다. 만약 모션이 사용자 구체화 가능 한계점을 넘어 변형되어야만 한다면, 선택된 모션은 더 이상 유효하지 않을 수 있다.
일실시예에 따른 실험에서, 각 프레임마다 90%에서 110%까지 스트레칭하고 2도씩 구부리는 것이 허용될 수 있고, 리미티드-호리즌 검색법(Limited-horizon search)의 경우, 동일한 절차에 의하면서도, 모든 시뮬레이션의 프레임에서 제한된 모션 옵션의 숫자를 확장시킬 수 있다. 그러므로, 리미티드-호리즌 검색법은 최적의 경로가 발견되기 전에 유효하지 않고(Terminate), 차선의 경로로 확정될 수 있다. 리미티드-호리즌 검색법은 상호 관련성(interactivity)이 최적성(optimality)보다 중요한 실시간 어플리케이션에서 유용하게 사용될 수 있다. 또한 리미티드-호리즌 검색법은 글로벌 경로 계획(global path planning) 알고리즘의 부분이 되는 로컬 플래너(local planner)로써 유용하게 사용될 수 있다.
비용과 발견적 교수법과 관련하여, 모션 조각들의 시리즈에 대한 비용 함수는 수식 9와 같이 나타날 수 있다.
수식 9
Figure PCTKR2011000928-appb-I000032
이 때,
Figure PCTKR2011000928-appb-I000033
는 경로 변형의 에너지이고,
Figure PCTKR2011000928-appb-I000034
는 측정된 조인트 각(Joint Angle) 변화의 총합이며,
Figure PCTKR2011000928-appb-I000035
은 각각의 모션 조각들에 대한 선호도이고, D는 이동거리를 나타낼 수 있다.
실시예에 따라서는, 일직선으로 걷는 모션(모션 조각)이 다른 모션에 비해서 가장 선호될 수 있다.
인정되는 발견적 교수법(admissible heuristics function)은 0점 경로 변형, 0점 자세 변형, 가장 선호되는 운동 옵션들 및 목표점까지의 직선 거리를 가정할 수 있다.
분할 계산법과 관련하여, 모션 그래프를 이용한 검색은 모션 조각의 입도에서 수행될 수 있다(Searching with motion graphs performs at the granularity of motion fragments). 따라서, 검색 알고리즘은 각각의 모션 조각(부분)들의 마지막에만 오직 필요하고, 모든 다른 프레임들은 단순히 많은 계산 없이 다시 재생할 수 있다. 이 간단한 전략은 캐릭터를 실시간에 간헐적으로 움직일 수 있게 도와줄 수 있다. 실시예에 따라서는, 일정한 프레임 비율을 이루기 위해 모든 프레임에서 계산 작업이 동등하게 분할될 수 있다. 검색 알고리즘은 일정한 숫자의 운동 옵션들로 확장되고, 매 프레임마다 잠깐씩 정지될 수 있다. 또한, 검색 알고리즘은 다음 프레임에서는 발견 되지 않은 다른 옵션들을 찾기 위해 재개(resume)될 수 있다. 상술한 검색 알고리즘의 절차는 모션 조각(부분)의 마지막에 도달하고, 축적된 조사 결과에 따라 다음 동작을 선택할 때까지 반복될 수 있다. 분할 계산법은 실시간 상호 제어에서 런타임에 일정한 프레임 비율을 달성할 수 있다.
본 발명의 일측에 따르면, 경로 계획 알고리즘은 확률론적 로드맵(Probabilistic Roadmap) 및 RRTs(Rapidly-Exploring Random Trees) 중 적어도 하나에 기반한 알고리즘일 수 있다.
확률론적 로드맵은 가상 세계의 환경의 자유 공간에서부터 무작위로 뽑힌 많은 점들(캐릭터의 위치, 방향, 자세를 나타내는 점)로 이루어질 수 있다. 이 때, 디렉셔널 에지(directional edge)는 로컬 플래너(local planner)가 점들 사이의 단기 경로를 찾아낼 수 있다면 점들(nodes)의 쌍을 연결할 수 있다. 로드맵에 처음과 끝의 배열을 포함하면서, 캐릭터의 모션을 가상 환경을 통해 계획하는 것은 로드맵을 통한 그래프 검색(graph-searching)으로 줄어들 수 있다. 확률론적 로드맵은 전처리 단계(preprocessing phase)에서 모든 환경을 조밀하게 덮기 위해 구성될 수 있다. 조밀한 로드맵을 크게 미리 계산함으로써, 고차원의 배열 공간은 상당한 계산적 리소스들(resources)을 요구하지만, 실시간 경로 찾기 요구를 효율적으로 해결할 수 있다. 대안적으로, 지연 계산 접근(lazy evaluation approach)은 각각의 경로 찾기 요구(문의)에 대해서, 개별적으로 로드맵을 건설할 수 있다. 지연 계산(Lazy evaluation)은 무척 많은 선행 계산 비용과 실시 시간 수행 사이에서 거래를 찾기 위해 시도될 수 있다. 본 발명의 일실시예에 따른 모션 제어 장치(200)는 확률적 로드맵을 지연 계산 방법으로 구축할 수 있다. 처음과 목적지 배열이 주어졌을 때, 모션 제어 장치(200)는 처음과 목적지 사이에서 경로가 발견될 때까지 로드맵에 무작위적 샘플들을 계속적으로 추가할 수 있다. 각각의 새로운 샘플은 본 발명의 일실시예에 따른 모션 조각의 변형과 Limited-horizon A*-search 알고리즘을 기초로 하여 로컬 플래너를 사용함으로써 현존하는 로드맵에 연결될 수 있다. 지연 계산은 목표를 얻기 위해 요구되는 최소한의 점들의 숫자를 대략적으로 측정할 수 있다.
RRTs는 전처리 없이 단일-쿼리 경로 계획(single-query path planning) 문제들을 풀기 위해 고안 되었다. RRTs의 몇몇 가지 변형이 있다. 본 발명의 일실시예에 따른 모션 제어 장치(200)는 모션 조각의 변형과 결합한 가장 간단한 변형을 기초로 할 수 있다. RRTs는 시작점에 위치 되어 있고, 반복적으로 새로운 점(노드)들을 샘플링함으로써 자유 공간을 탐구하기 위해 증가할 수 있다. 우리는 임의적으로 자유로운 배열(위치와 방향)을 샘플링하고, 검색 트리(search tree)에 속한 가장 근접한 점(노드)를 검색할 수 있다. 그 후, 가장 가까운 노드로부터 시작하는 새로운 샘플 배열들로 향하는 모션 조각이 주어진 제약을 조건으로 하는 환경 안에 위치될 수 있는지 검사할 수 있다. 만약, 모션 조각이 주어진 제약을 조건으로 하는 환경 안에 위치할 수 있는 경우, 새로운 가지가 나무에 추가될 수 있다(a new branch is added to the tree). 일실시예에 따른 모션 제어 장치(200)는 검색 트리가 목표 지점을 찾을 때까지 상술한 동작을 반복 수행할 수 있다.
도 6은 본 발명의 일실시예에 따른 모션 제어 방법을 나타내는 흐름도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 모션 제어 방법은 제약(Constraint) 정보에 기반하여, 가상 세계의 캐릭터의 모션 조각(Motion Fragment)에 대한 3차원 경로(3-Demantional Path)를 수정(Editing)한다(610).
본 발명의 일측에 따르면, 제약 정보는 가상 세계의 환경(Environment)과 연관된 불투과 제약(Non-penetration Constraints), 접촉 제약(Contact Constraints), 연속적 제약(Continuity Constraints) 및 캐릭터의 모션 조각과 연관된 모션 제약(Motion Constraints) 중 적어도 하나에 대한 정보를 포함할 수 있다.
본 발명의 일측에 따르면, 가상 환경은 3차원이기 때문에, 캐릭터는 계단을 오르내리고, 물체에 기어오르고, 점프 하는 등의 움직임을 가질 수 있다. 이 때, 본 발명의 일실시예에 따른 모션 제어 방법은 비선형 방정식을 사용하지 않기 위하여, 수직 방향과 수평 방향으로 2차례에 걸쳐 2차원 알고리즘을 적용함으로써, 캐릭터에 대한 3차원 경로를 수정할 수 있다.
일실시예에 따른 모션 제어 방법은 가상 세계의 그라운드 평면(Ground Plane)에 3차원 경로(
Figure PCTKR2011000928-appb-I000036
, 도 4의 410 참조)를 투사(Projection)하여, 가상 세계의 그라운드 평면에 대한 제약 조건을 만족시키는 2차원 경로(
Figure PCTKR2011000928-appb-I000037
)를 생성할 수 있다.
또한, 모션 제어 방법은 가상 세계의 그라운드 평면에 대한 제약 정보 및 2차원 경로 수정 알고리즘을 적용하여, 2차원 경로를 수정할 수 있다(이 때, 수정된 2차원 경로:
Figure PCTKR2011000928-appb-I000038
).
또한, 모션 제어 방법은 수정된 2차원 경로를 따라 호 길이(Arc Length)를 파라미터화(Arc length parameterization along the deformed 2D path)하여, 평면 커브(Plane Curve)(
Figure PCTKR2011000928-appb-I000039
)를 생성할 수 있다. 이 때,
Figure PCTKR2011000928-appb-I000040
는, 도 2에서 설명한 것과 같이, 상술한 수식 1과 같이 나타낼 수 있다.
또한, 모션 제어 방법은 l-y 평면(도 4의 420 참조)에 대한 제약 정보 및 2차원 경로 수정 알고리즘을 적용하여 평면 커브를 수정할 수 있다(이 때, 수정된 평면 커브:
Figure PCTKR2011000928-appb-I000041
)
또한, 모션 제어 방법은 수정된 평면 커브에 기반하여 3차원 경로를 수정할 수 있다. 일실시예에 따른 모션 제어 방법은, 도 2에서 설명한 것과 같이, 상술한 수식 2와 같이 3차원 경로를 수정할 수 있다.
본 발명의 일측에 따른 2차원 경로 수정 알고리즘(Two-Dimentional Path Editing Algorithm)은 캐릭터의 모션 조각에 대하여 형태 보전을 수행하는 단계 및 형태 보전된 모션 조각에 대하여 스케일 보상(Scale Compensation)을 수행하는 단계를 포함할 수 있다.
일실시예에 따른 2차원 경로 수정 알고리즘의 형태 보전은 큰 스케일을 수반할 수 있다. 따라서, 2차원 경로 수정 알고리즘은 형태 보전을 수행한 이후, 초기 경로의 길이를 유지하기 위해 스캐일링 아티팩트(Scaling Artifacts)를 보상할 수 있다.
일실시예에 따른 형태 보전의 수행을 위한 라플라스 공식은 선형 시스템
Figure PCTKR2011000928-appb-I000042
으로 나타날 수 있고, 이 때,
Figure PCTKR2011000928-appb-I000043
이고, 변형된 2차원 경로를 나타내는 길이 벡터일 수 있다.
또한, 상술한 라플라스 공식에 약한 제약(Soft Constraints)
Figure PCTKR2011000928-appb-I000044
을 결합하면, 도 2에서 설명한 것과 같이, 상술한 수식 3과 같은 오버-디터민드 리니어 시스템(Over-Determined Linear System)을 형성할 수 있다.
일실시예에 따른 스캐일 보상은, 도 2에서 설명한 것과 같이, 상술한 수식 4와 같은 오버-디터민드 리니어 시스템을 형성할 수 있다.
일실시예에 따른 2차원 경로 수정 알고리즘은 대체 싱글-서포트 단계에서의 운동 데이터(locomotion data with alternating single-support phases)에 있어서, 과도한 스트레칭(Strecthing)을 피하기 위해 스캐일 보상에 더 비중을 둘 수 있다. 또 다른 일실시예에 따른 2차원 경로 수정 알고리즘은 비행 단계에서의 점프 데이터를 위해서 구부림 이후의 스트레칭의 형태 보전에 더 비중을 둘 수 있다.
일실시예에 따른 2차원 경로 수정 알고리즘에서, 확장된 2중 위치 단계들(Extended double stance phases)은 단순히 경로의 단단한 부분들로 고려되고, 강한 제약(Hard Constraints)를 사용하도록 설정될 수 있다. 강한 제약(
Figure PCTKR2011000928-appb-I000045
)을 삽입하면, 2차원 경로 수정 알고리즘에서의 첫번째 스텝(형태 보전)과 두번째 스텝(스케일 보상)은, 도 2에서 설명한 것과 같이, 상술한 수식 5 및 6과 같은 확장된(Augmented) 선형 시스템이 될 수 있다.
모션 제어 방법은 수정된 3차원 경로에 기반하여, 캐릭터의 모션 조각을 변형한다(620). 즉, 일실시예에 따른 모션 제어 방법은 각각의 프레임들에서 캐릭터의 자세를 가상 세계의 환경 안으로 넣어지도록 변형할 수 있다.
본 발명의 일측에 따르면, 모션 제어 방법은 보충적 등식 제약(Supplementary Equality Constraints)을 적용하여, 가상 세계의 환경과 연관된 불투과 제약 및 접촉 제약을 만족하도록 캐릭터의 모션 조각을 변형할 수 있다.
본 발명의 일실시예에 따른 가상 세계의 땅, 벽 등과 같은 장애물에는 캐릭터가 관통할 수 없도록 불투과 제약이 설정될 수 있다. 또한, 가상 세계의 땅, 계단과 같은 환경에는 캐릭터가 접촉할 수 있도록 접촉 제약이 설정될 수 있다. 이 때, 불투과 제약들은 서로 밀어낼 수 있도록 설정될 수 있고(Repulser), 접촉 제약들은 서로 당길 수 있도록 설정될 수 있다(Attractor).
캐릭터와 교차되는 장애물에 설정된 불투과 제약이 설정된 점들(Repulser)은 균등 제약(Equality Constraints)을 가질 수 있고, 또한, 가장 깊은 투과점(Deepest Penetration Point)을 가장 가까운 안전 위치(The Nearest Safe Location)로 밀어낼 수 있다. 따라서, 일실시예에 따른 모션 제어 방법은, 캐릭터의 3차원 경로를 분석한 결과, 가상 세계에서 불투과 제약이 설정된 객체와 캐릭터의 모션 조각이 교차하는 경우, 캐릭터의 모션 객체가 불투과 제약이 설정된 객체를 통과하지 않도록 3차원 경로를 수행하거나 모션 조각을 변형할 수 있다.
일실시예에 따른 보충적 제약(Supplementary constraints)은, 도 2에서 설명한 것과 같이, 상술한 수식 7과 같이 나타날 수 있다.
접촉 제약이 설정된 점들(Attractor)은 서로 충분히 가까운 경우, 캐릭터의 엔드-이펙터(end-effector)를 접촉 지역 안으로 끌어들이기 위해서 균등 제약을 더할 수 있다.
이 때, 루트 궤도(Root trajectory)에서 보충적인 위치/방향 고정 제약은, 도 2에서 설명한 것과 같이, 상술한 수식 8과 같이 나타날 수 있다.
모션 제어 방법은 불투과 제약 또는 접촉 제약과 관련된 모든 부정식이 만족되거나, 새로운 보충적 제약을 고려하는 것이 결과를 향상시키지 못할 때까지 상술한 동작을 반복 수행할 수 있다.
본 발명의 일측에 따른 모션 제어 방법은 역운동학 제약(Inverse Kinematics Constraints) 및 변위 매핑(Displacement Mapping)을 적용하여, 가상 세계의 환경과 연관된 불투과 제약을 만족하도록 캐릭터의 모션 조각을 변형할 수 있다.
자세히 설명하면, 일실시예에 따른 모션 제어 방법은 임의의 프레임에서 가상 세계에서 불투과 제약이 설정된 점들(Repulser)에 투과된 캐릭터의 뼈대(skeleton)의 가장 깊은 투과점을 확인하고, 가장 깊은 투과점을 가장 가까운 안전한 점으로 이동시키기 위하여 역운동학 제약을 더할 수 있다. 또한, 모션 제어 방법은 역운동화 제약의 집합에 변위 매핑을 적용하여 구체화된 모션 조각을 변형시킬 수 있다.
모션 제어 방법은 불투과 제약이 설정된 점들에 대한 캐릭터의 투과가 더 이상 없게 되거나, 투과가 더 이상 향상되지 않을 때까지 상술한 동작을 반복 수행할 수 있다.
본 발명의 일측에 따르면, 모션 제어 방법은 검색 알고리즘(Search Algorithm) 및 경로 계획 알고리즘(Path Planning Algorithm) 중 적어도 하나에 더 기반하여, 캐릭터의 모션 조각을 변형할 수 있다.
일실시예에 따른 검색 알고리즘은 리미티드-호리즌 검색법(Limited-Horizon Search), 비용과 발견적 교수법(Cost and Heuristics) 및 분할 계산법(Amortizing Computation) 중 적어도 하나에 기반한 알고리즘일 수 있다.
리미티드-호리즌 검색법과 관련하여, 본 발명의 일실시예에 따른 캐릭터는 다음 동작을 선택할 때, 일련의 동작들의 세트를 제공 받을 수 있다. A*-search 알고리즘은 시스템적으로 최적의 경로가 발견될 때까지 이후의 선택권(future choices)을 확장시킬 수 있다. 새로운 모션의 옵션이 검토될 때마다 본 발명의 일실시예에 따른 모션 조각의 변형은 모션들을 전후 사정에 맞게 위치시키는 데에 이용될 수 있다. 만약 모션이 사용자 구체화 가능 한계점을 넘어 변형되어야만 한다면, 선택된 모션은 더 이상 유효하지 않을 수 있다.
일실시예에 따른 실험에서, 각 프레임마다 90%에서 110%까지 스트레칭하고 2도씩 구부리는 것이 허용될 수 있고, 리미티드-호리즌 검색법(Limited-horizon search)의 경우, 동일한 절차에 의하면서도, 모든 시뮬레이션의 프레임에서 제한된 모션 옵션의 숫자를 확장시킬 수 있다. 그러므로, 리미티드-호리즌 검색법은 최적의 경로가 발견되기 전에 유효하지 않고(Terminate), 차선의 경로로 확정될 수 있다. 리미티드-호리즌 검색법은 상호 관련성(interactivity)이 최적성(optimality)보다 중요한 실시간 어플리케이션에서 유용하게 사용될 수 있다. 또한 리미티드-호리즌 검색법은 글로벌 경로 계획(global path planning) 알고리즘의 부분이 되는 로컬 플래너(local planner)로써 유용하게 사용될 수 있다.
비용과 발견적 교수법과 관련하여, 모션 조각들의 시리즈에 대한 비용 함수는, 도 2에서 설명한 것과 같이, 상술한 수식 9와 같이 나타날 수 있다.
실시예에 따라서는, 일직선으로 걷는 모션(모션 조각)이 다른 모션에 비해서 가장 선호될 수 있다.
인정되는 발견적 교수법(admissible heuristics function)은 0점 경로 변형, 0점 자세 변형, 가장 선호되는 운동 옵션들 및 목표점까지의 직선 거리를 가정할 수 있다.
분할 계산법과 관련하여, 모션 그래프를 이용한 검색은 모션 조각의 입도에서 수행될 수 있다(Searching with motion graphs performs at the granularity of motion fragments). 따라서, 검색 알고리즘은 각각의 모션 조각(부분)들의 마지막에만 오직 필요하고, 모든 다른 프레임들은 단순히 많은 계산 없이 다시 재생할 수 있다. 이 간단한 전략은 캐릭터를 실시간에 간헐적으로 움직일 수 있게 도와줄 수 있다. 실시예에 따라서는, 일정한 프레임 비율을 이루기 위해 모든 프레임에서 계산 작업이 동등하게 분할될 수 있다. 검색 알고리즘은 일정한 숫자의 운동 옵션들로 확장되고, 매 프레임마다 잠깐씩 정지될 수 있다. 또한, 검색 알고리즘은 다음 프레임에서는 발견 되지 않은 다른 옵션들을 찾기 위해 재개(resume)될 수 있다. 상술한 검색 알고리즘의 절차는 모션 조각(부분)의 마지막에 도달하고, 축적된 조사 결과에 따라 다음 동작을 선택할 때까지 반복될 수 있다. 분할 계산법은 실시간 상호 제어에서 런타임에 일정한 프레임 비율을 달성할 수 있다.
본 발명의 일측에 따르면, 경로 계획 알고리즘은 확률론적 로드맵(Probabilistic Roadmap) 및 RRTs(Rapidly-Exploring Random Trees) 중 적어도 하나에 기반한 알고리즘일 수 있다.
확률론적 로드맵은 가상 세계의 환경의 자유 공간에서부터 무작위로 뽑힌 많은 점들(캐릭터의 위치, 방향, 자세를 나타내는 점)로 이루어질 수 있다. 이 때, 디렉셔널 에지(directional edge)는 로컬 플래너(local planner)가 점들 사이의 단기 경로를 찾아낼 수 있다면 점들(nodes)의 쌍을 연결할 수 있다. 로드맵에 처음과 끝의 배열을 포함하면서, 캐릭터의 모션을 가상 환경을 통해 계획하는 것은 로드맵을 통한 그래프 검색(graph-searching)으로 줄어들 수 있다. 확률론적 로드맵은 전처리 단계(preprocessing phase)에서 모든 환경을 조밀하게 덮기 위해 구성될 수 있다. 조밀한 로드맵을 크게 미리 계산함으로써, 고차원의 배열 공간은 상당한 계산적 리소스들(resources)을 요구하지만, 실시간 경로 찾기 요구를 효율적으로 해결할 수 있다. 대안적으로, 지연 계산 접근(lazy evaluation approach)은 각각의 경로 찾기 요구(문의)에 대해서, 개별적으로 로드맵을 건설할 수 있다. 지연 계산(Lazy evaluation)은 무척 많은 선행 계산 비용과 실시 시간 수행 사이에서 거래를 찾기 위해 시도될 수 있다. 본 발명의 일실시예에 따른 모션 제어 방법은 확률적 로드맵을 지연 계산 방법으로 구축할 수 있다. 처음과 목적지 배열이 주어졌을 때, 모션 제어 방법은 처음과 목적지 사이에서 경로가 발견될 때까지 로드맵에 무작위적 샘플들을 계속적으로 추가할 수 있다. 각각의 새로운 샘플은 본 발명의 일실시예에 따른 모션 조각의 변형과 Limited-horizon A*-search 알고리즘을 기초로 하여 로컬 플래너를 사용함으로써 현존하는 로드맵에 연결될 수 있다. 지연 계산은 목표를 얻기 위해 요구되는 최소한의 점들의 숫자를 대략적으로 측정할 수 있다.
RRTs는 전처리 없이 단일-쿼리 경로 계획(single-query path planning) 문제들을 풀기 위해 고안 되었다. RRTs의 몇몇 가지 변형이 있다. 본 발명의 일실시예에 따른 모션 제어 방법은 모션 조각의 변형과 결합한 가장 간단한 변형을 기초로 할 수 있다. RRTs는 시작점에 위치 되어 있고, 반복적으로 새로운 점(노드)들을 샘플링함으로써 자유 공간을 탐구하기 위해 증가할 수 있다. 우리는 임의적으로 자유로운 배열(위치와 방향)을 샘플링하고, 검색 트리(search tree)에 속한 가장 근접한 점(노드)를 검색할 수 있다. 그 후, 가장 가까운 노드로부터 시작하는 새로운 샘플 배열들로 향하는 모션 조각이 주어진 제약을 조건으로 하는 환경 안에 위치될 수 있는지 검사할 수 있다. 만약, 모션 조각이 주어진 제약을 조건으로 하는 환경 안에 위치할 수 있는 경우, 새로운 가지가 나무에 추가될 수 있다(a new branch is added to the tree). 일실시예에 따른 모션 제어 방법은 검색 트리가 목표 지점을 찾을 때까지 상술한 동작을 반복 수행할 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (13)

  1. 제약(Constraint) 정보에 기반하여, 가상 세계의 캐릭터의 모션 조각(Motion Fragment)에 대한 3차원 경로(3-Demantional Path)를 수정(Editing)하는 3차원 경로 수정부; 및
    상기 수정된 3차원 경로에 기반하여, 상기 모션 조각을 변형하는 모션 변형부
    를 포함하는 모션 제어 장치.
  2. 제1항에 있어서,
    상기 3차원 경로 수정부는
    상기 가상 세계의 그라운드 평면(Ground Plane)에 상기 3차원 경로를 투사하여 2차원 경로를 생성하고, 상기 제약 정보 및 2차원 경로 수정 알고리즘을 적용하여 상기 2차원 경로를 수정하며,
    상기 수정된 2차원 경로를 따라 호 길이(Arc Length)를 파라미터화하여 평면 커브(Plane Curve)를 생성하고, 상기 제약 정보 및 상기 2차원 경로 수정 알고리즘을 적용하여 상기 평면 커브를 수정하고,
    상기 수정된 평면 커브에 기반하여 상기 3차원 경로를 수정하는 모션 제어 장치.
  3. 제2항에 있어서,
    상기 2차원 경로 수정 알고리즘은
    상기 모션 조각에 대하여 형태 보전을 수행하는 단계; 및
    상기 형태 보전된 모션 조각에 대하여 스케일 보상(Scale Compensation)을 수행하는 단계
    를 포함하는 모션 제어 장치.
  4. 제1항에 있어서,
    상기 제약 정보는
    상기 가상 세계의 환경과 연관된 불투과 제약(Non-penetration Constraints), 접촉 제약(Contact Constraints), 연속적 제약(Continuity Constraints) 및 상기 모션 조각과 연관된 모션 제약(Motion Constraints) 중 적어도 하나에 대한 정보를 포함하는 모션 제어 장치.
  5. 제1항에 있어서,
    상기 모션 변형부는
    보충적 등식 제약(Supplementary Equality Constraints)을 적용하여, 상기 가상 세계의 환경과 연관된 불투과 제약 및 접촉 제약을 만족하도록 상기 모션 조각을 변형하는 모션 제어 장치.
  6. 제1항에 있어서,
    상기 모션 변형부는
    역운동학 제약(Inverse Kinematics Constraints) 및 변위 매핑(Displacement Mapping)을 적용하여, 상기 가상 세계의 환경과 연관된 불투과 제약을 만족하도록 상기 모션 조각을 변형하는 모션 제어 장치.
  7. 제1항에 있어서,
    상기 모션 변형부는
    검색 알고리즘(Search Algorithm) 및 경로 계획 알고리즘(Path Planning Algorithm) 중 적어도 하나에 더 기반하여, 상기 모션 조각을 변형하는 모션 제어 장치.
  8. 제7항에 있어서,
    상기 검색 알고리즘은
    리미티드-호리즌 검색법(Limited-Horizon Search), 비용과 발견적 교수법(Cost and Heuristics) 및 분할 계산법(Amortizing Computation) 중 적어도 하나에 기반한 알고리즘인 모션 제어 장치.
  9. 제7항에 있어서,
    상기 경로 계획 알고리즘은
    확률론적 로드맵(Probabilistic Roadmap) 및 RRTs(Rapidly-Exploring Random Trees) 중 적어도 하나에 기반한 알고리즘인 모션 제어 장치.
  10. 제약(Constraint) 정보에 기반하여, 가상 세계의 캐릭터의 모션 조각(Motion Fragment)에 대한 3차원 경로(3-Demantional Path)를 수정(Editing)하는 단계; 및
    상기 수정된 3차원 경로에 기반하여, 상기 모션 조각을 변형하는 단계
    를 포함하는 모션 제어 방법.
  11. 제10항에 있어서,
    상기 3차원 경로를 수정하는 단계는
    상기 가상 세계의 그라운드 평면(Ground Plane)에 상기 3차원 경로를 투사하여 2차원 경로를 생성하는 단계;
    상기 제약 정보 및 2차원 경로 수정 알고리즘을 적용하여 상기 2차원 경로를 수정하는 단계;
    상기 수정된 2차원 경로를 따라 호 길이(Arc Length)를 파라미터화하여 평면 커브(Plane Curve)를 생성하는 단계;
    상기 제약 정보 및 상기 2차원 경로 수정 알고리즘을 적용하여 상기 평면 커브를 수정하는 단계; 및
    상기 수정된 평면 커브에 기반하여 상기 3차원 경로를 수정하는 단계
    를 포함하는 모션 제어 방법.
  12. 제10항에 있어서,
    상기 모션 조각을 변형하는 단계는
    검색 알고리즘(Search Algorithm) 및 경로 계획 알고리즘(Path Planning Algorithm) 중 적어도 하나에 더 기반하여, 상기 모션 조각을 변형하는 모션 제어 방법.
  13. 제10항 내지 제12항 중 어느 한 항의 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
PCT/KR2011/000928 2011-02-09 2011-02-11 모션 제어 장치 및 방법 Ceased WO2012108568A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0011535 2011-02-09
KR1020110011535A KR101191582B1 (ko) 2011-02-09 2011-02-09 모션 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2012108568A1 true WO2012108568A1 (ko) 2012-08-16

Family

ID=46638774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/000928 Ceased WO2012108568A1 (ko) 2011-02-09 2011-02-11 모션 제어 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101191582B1 (ko)
WO (1) WO2012108568A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9620022B2 (en) 2014-06-10 2017-04-11 Sikorsky Aircraft Corporation Aircraft motion planning method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070132765A1 (en) * 2005-12-09 2007-06-14 Electronics And Telecommunications Research Institute Method of representing and animating two-dimensional humanoid character in three-dimensional space
US20070146372A1 (en) * 2005-12-09 2007-06-28 Digital Steamworks, Llc System, method and computer program product for creating two dimensional (2D) or three dimensional (3D) computer animation from video
KR20090075926A (ko) * 2008-01-07 2009-07-13 이호철 3차원 캐릭터 제작방법 및 3차원 캐릭터를 이용한 서비스방법
KR100916221B1 (ko) * 2006-03-31 2009-09-08 (주)엔브이엘소프트 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070132765A1 (en) * 2005-12-09 2007-06-14 Electronics And Telecommunications Research Institute Method of representing and animating two-dimensional humanoid character in three-dimensional space
US20070146372A1 (en) * 2005-12-09 2007-06-28 Digital Steamworks, Llc System, method and computer program product for creating two dimensional (2D) or three dimensional (3D) computer animation from video
KR100916221B1 (ko) * 2006-03-31 2009-09-08 (주)엔브이엘소프트 3차원 맵에서의 향상된 캐릭터 이동 경로 설정 방법
KR20090075926A (ko) * 2008-01-07 2009-07-13 이호철 3차원 캐릭터 제작방법 및 3차원 캐릭터를 이용한 서비스방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9620022B2 (en) 2014-06-10 2017-04-11 Sikorsky Aircraft Corporation Aircraft motion planning method

Also Published As

Publication number Publication date
KR20120091645A (ko) 2012-08-20
KR101191582B1 (ko) 2012-10-15

Similar Documents

Publication Publication Date Title
WO2019156518A1 (en) Method for tracking hand pose and electronic device thereof
US8170287B2 (en) Real-time self collision and obstacle avoidance
WO2015194864A1 (ko) 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
Xu et al. Visual-haptic aid teleoperation based on 3-D environment modeling and updating
US20100168950A1 (en) Path Planning Device, Path Planning Method, and Computer Program
WO2015194867A1 (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2015194866A1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2020241930A1 (ko) 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를 구현하는 로봇
WO2015194865A1 (ko) 검색 기반 상관 매칭을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2021040214A1 (ko) 이동 로봇 및 그 제어 방법
CN114505840A (zh) 一种自主操作箱式电梯的智能服务机器人
WO2024191234A1 (en) Method and apparatus for processing an image
WO2017007166A1 (ko) 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
Schmid et al. Local reference filter for life-long vision aided inertial navigation
WO2012108568A1 (ko) 모션 제어 장치 및 방법
WO2010143766A1 (ko) 동기화된 복수의 캐릭터의 동작 편집 시스템 및 방법
Melo Modular snake robot velocity for side-winding gaits
Lorch et al. Vigvvam—an Emulation Environment for a Vision Guided Virtual Walking Machine
WO2010087654A2 (ko) 다중 입력 소스를 이용한 오브젝트 조작 장치
WO2014104481A1 (ko) 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법
WO2022086161A1 (ko) 로봇 및 그 제어 방법
CN118163116B (zh) 一种机器人控制方法、装置和机器人
WO2020251151A1 (ko) 3차원 가상 공간 모델을 이용한 사용자 포즈 추정 방법 및 장치
WO2024186080A1 (ko) 자연어 기반 3차원 객체 조작 장치 및 방법
WO2023224326A1 (ko) 깊이 정보를 획득하는 증강 현실 디바이스 및 그 동작 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11858263

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11858263

Country of ref document: EP

Kind code of ref document: A1