![]() |
Philippe Beaudoin Projects and Publications home page
|
||||||
2010 |
|||||||
![]() |
Generalized Biped Walking Control. We present a control strategy for physically-simulated walking motions that generalizes well across gait parameters, motion styles, character proportions, and a variety of skills. The control is real-time, requires no character-specific or motion-specific tuning, is robust to disturbances, and is simple to compute. The method works by integrating tracking, using proportional-derivative control; foot placement, using an inverted pendulum model; and adjustments for gravity and velocity errors, using Jacobian transpose control. High-level gait parameters allow for forwards-and-backwards walking, various walking speeds, turns, walk-to-stop, idling, and stop-to-walk behaviors. Character proportions and motion styles can be authored interactively, with edits resulting in the instant realization of a suitable controller. The control is further shown to generalize across a variety of walking-related skills, including picking up objects placed at any height, lifting and walking with heavy crates, pushing and pulling crates, stepping over obstacles, ducking under obstacles, and climbing steps.
|
||||||
2009 |
|||||||
![]() |
Robust Task-based Control Policies for Physics-based Characters. We present a method for precomputing robust task-based control policies for physically simulated characters. This allows for characters that can demonstrate skill and purpose in completing a given task, such as walking to a target location, while physically interacting with the environment in significant ways. As input, the method assumes an abstract action vocabulary consisting of balance-aware, step-based controllers. A novel constrained state exploration phase is first used to define a character dynamics model as well as a finite volume of character states over which the control policy will be defined. An optimized control policy is then computed using reinforcement learning. The final policy spans the cross-product of the character state and task state, and is more robust than the conrollers it is constructed from. We demonstrate real-time results for six locomotion-based tasks and on three highly-varied bipedal characters. We further provide a game-scenario demonstration.
|
||||||
2008 |
|||||||
![]() |
Synthesis of Constrained Walking Skills. Simulated characters in simulated worlds require simulated skills. We present a framework that takes a basic walk cycle controller as input and automatically develops a flexible physically-simulated walking skill, namely that of navigating over terrains with gaps or other stepping constraints. The planning and control required for solving this problem need to be strongly coupled. The planner needs to be aware of the capabilities of the controller, and the process for designing the controller needs to be aware of what types of actions will be requested by the planner. We present a synthesis analysis- synthesis framework for this type of problem. First, an offline optimization method is applied in order to compute example control solutions for example problems from the given task domain. Second, the example motions and their underlying control patterns are analyzed to build a low-dimensional step-to-step model of the dynamics. Third, this model is exploited by a planner to solve new instances of the task at interactive rates. We demonstrate real-time navigation across constrained terrain for physics-based simulations of 2D and 3D characters. Because the framework sythesizes its own example data, it can be applied to bipedal characters for which no motion data is available.
|
||||||
![]() |
Motion-Motif Graphs. We present a technique to automatically distill a motion-motif graph from an arbitrary collection of motion capture data. Motion motifs represent clusters of similar motions and together with their encompassing motion graph they lend understandable structure to the contents and connectivity of large motion datasets. They can be used in support of motion compression, the removal of redundant motions, and the creation of blend spaces. This paper develops a string-based motif-finding algorithm which allows for a user-controlled compromise between motif length and the number of motions in a motif. It allows for time warps within motifs and assigns the majority of the input data to relevant motifs. Results are demonstrated for large datasets (more than 100,000 frames) with computation times of tens of minutes.
|
||||||
![]() |
Continuation Methods for Adapting Simulated Skills. Modeling the large space of possible human motions requires scalable techniques. Generalizing from example motions or example controllers is one way to provide the required scalability. We present techniques for generalizing a controller for physics-based walking to significantly different tasks, such as climbing a large step up, or pushing a heavy object. Continuation methods solve such problems using a progressive sequence of problems that trace a path from an existing solved problem to the final desired-butunsolved problem. Each step in the continuation sequence makes progress towards the target problem while further adapting the solution. We describe and evaluate a number of choices in applying continuation methods to adapting walking gaits for tasks involving interaction with the environment. The methods have been successfully applied to automatically adapt a regular cyclic walk to climbing a 65cm step, stepping over a 55cm sill, pushing heavy furniture, walking up steep inclines, and walking on ice. The continuation path further provides parameterized solutions to these problems.
|
||||||
![]() |
Multiresolution Point-set Surfaces Multiresolution representations of 3D surfaces make it possible to concentrate the efforts of a modification at the appropriate level of detail. This paper introduces a multiresolution representation for point-set surfaces. At each level, the point set is smoothed and downsampled, and the geometric details are encoded along the smoothed surface normal. The resulting structure is only slightly larger than the original point set and allows to reconstruct it precisely. We demonstrate how it can be used for surface deformation and for frequency band scaling.
|
||||||
2007 |
|||||||
![]() |
Automatic Construction of Compact Motion Graphs Motion capture data often requires substantial processing before it becomes useful. We propose a technique that automatically distills a compact motion graph from an arbitrary collection of motion capture data. At its heart, the process identifies clusters of similar motions which we call ``motion bundles''. Motion bundles and their encompassing motion graph provide a readily understandable structuring of the motion data. They can serve as a shared tool in support of common types of motion processing, including motion segmentation, motion compression, the creation of blend spaces, and the identification of connectivity to support motion resequencing. We use a novel string-based representation of motions to help find motion bundles. Users can specify a preference for long-duration bundles or bundles containing many motions. We demonstrate results using data for boxing, walking and various exercise motions, and we show that meaningful partitions are retained in the face of noise.
|
||||||
![]() |
Adapting Wavelet Compression to Human Motion Capture Clips Motion capture data is an effective way of synthesizing human motion for many interactive applications, including games and simulations. A compact, easy-to-decode representation is needed for the motion data in order to support the real-time motion of a large number of characters with minimal memory and minimal computational overhead. We present a wavelet-based compression technique that is specially adapted to the nature of joint-angle data. In particular, we define wavelet coefficient selection as a discrete optimization problem within a tractable search space adapted to the nature of the data. We further extend this technique to take into account visual artifacts such as footskate. The proposed techniques are compared to standard truncated wavelet compression as well as principal component analysis based compression. The fast decompression times and our focus on short, recomposable animation clips make the proposed techniques a realistic choice for many interactive applications. It provides 35:1 compression of reasonable quality on 120Hz data across a number of example motions. Unlike other recent work on motion compression, our technique is applied directly to joint angles. Furthermore, motion clips can be compressed independently of each other and motion clips can be efficiently spliced together, as is common in many game applications.
|
||||||
2006 |
|||||||
![]() |
Real-time Soft Shadows using the PDSM Technique This chapter presents the adaptation of the DSM structure to capture the attenuation from an extended light source, in an approach similar to that of Agrawala et al. [Agrawala:2000]. The PDSM method stores the attenuation function for every 3D location in the PDSM field of view. New objects can then be added in the scene with high-quality soft shadows cast on them without recomputing the PDSM. The PDSM also has advantages compared to approaches such as lightmaps since it does not require any surface parameterization of the objects. It can even be cast on objects that do not have any surface, such as fog.
|
||||||
2005 |
|||||||
![]() |
Particle-based Viscoelastic Fluid Simulation We present a new particle-based method for viscoelastic fluid simulation. We achieve realistic small-scale behavior of substances such as paint or mud as they splash on moving objects. Incompressibility and particle anti-clustering are enforced with a double density relaxation procedure which updates particle positions according to two opposing pressure terms. From this process surface tension effects emerge, enabling drop and filament formation. Elastic and non-linear plastic effects are obtained by adding springs with varying rest length between particles. We also extend the technique to handle interaction between fluid and dynamic objects. Various simulation scenarios are presented including rain drops, fountains, clay manipulation, and floating objects. The method is robust and stable, and can animate splashing behavior at interactive framerates.
|
||||||
2004 |
|||||||
![]() |
Compressed Multisampling for Efficient Hardware Edge Antialiasing Today's hardware graphics accelerators incorporate techniques to antialias edges and minimize geometry-related sampling artifacts. Two such techniques, brute force supersampling and multisampling, increase the sampling rate by rasterizing the triangles in a larger antialiasing buffer that is then filtered down to the size of the framebuffer. The sampling rate is proportional to the number of subsamples in the antialiasing buffer and, when no compression is used, to the memory it occupies. In turn, a larger antialiasing buffer implies an increase in bandwidth, one of the limiting resources for today's applications. In this paper we propose a mechanism to compress the antialiasing buffer and limit the bandwidth requirements while maintaining higher sampling rates. The usual framebuffer-related functions of OpenGL are supported: alpha blending, stenciling, color operations, and color masking. The technique is scalable, allowing for user-specified maximal and minimal sampling rates. The compression scheme includes a mechanism to nicely degrade the quality when too much information would be required. A lower bound on the quality of the resulting image is also available since the sampling rate will never be less than the user-specified minimal rate. The compression scheme is simple enough to be incorporated into standard hardware graphics accelerators. Software simulations show that, for a given bandwidth, our technique offers improved visual results over multisampling schemes.
|
||||||
2002 |
|||||||
![]() |
A Non-Integer Power Function on the Pixel Shader Raising a variable to a non-integer power is an operation often encountered in computer graphics. It is required, for example, to compute the specular term in various shading schemes. It can also be used to produce a smooth conditional function useful in many pixel shaders. Like many other techniques, a quality gain can be achieved by computing the function per pixel rather than per vertex. This text presents a simple shader trick that performs a good per pixel approximation of a non-integer power function. The technique works for input values between 0 and 1 and supports large exponents.
|
||||||
![]() |
Dynamic tessellation of a base mesh A primitive of a base mesh having at least three base vertices is dynamically tessellated to enable smooth changes in detail of an image rendered on a screen. A respective floating point vertex tessellation value (Fv) is assigned to each base vertex of the base mesh, based on a desired level of detail in the rendered image. For each edge of the primitive: a respective floating point edge tessellation rate (Fe) of the edge is calculated using the respective vertex tessellation values (Fv) of the base vertices terminating the edge. A position of at least one child vertex of the primitive is then calculated using the respective calculated edge tessellation rate (Fe). By this means, child vertices of the primitive can be generated coincident with a parent vertex, and smoothly migrate in response to changing vertex tessellation values of the base vertices of the primitive.
|
||||||
2001 |
|||||||
![]() |
Realistic and Controllable Fire Simulation We introduce a set of techniques that are used together to produce realistic-looking animations of burning objects. These include a new method for simulating spreading on polygonal meshes. A key component of our approach consists in using individual flames as primitives to animate and render the fire. This simplification enables rapid computation and gives more intuitive control over the simulation without compromising realism. It also scales well, making it possible to animate phenomena ranging from simple candle-like flames to complex, widespread fires.
|