Humanoid motion generation based on physics based controllers has the potential to revolutionize the realism and autonomy of motion in games, movies and even robotics. The area of simulation and control is broad and this thesis focuses on the problem of designing humanoid animations with physics-based controllers. Physics based animation has been an active field of research since the 90's but to this day has had rather minor appearances in the CG Industry. The primary setback is the complexity of the programming task that is needed and the lack of tools for artists to design robust controllers.
The primary contribution of my work is the development of a set of tools that allow non-programmers to develop feedback based controllers to generate and parametrize different motion skills for a physics based character. In my system a user, who is knowledgeable about humanoid physics, is able to develop controllers for physics based characters with an intuitive user interface by visually creating a graph structure, independent of the character's mass properties, that represents the control hierarchy. Then our system explores the range of functionality of the input graph to make a parametrized controller. Our system has several low level components that maintain balance and allow the manipulation of the character configuration through Inverse Kinematics and Virtual Forces.
I also present a control interface and network communication system to control motions for a humanoid robot and a method for using an XBox Kinect to recognize hand configurations. The intent of this last topic is to explore novel possible user interfaces to control and experiment with variations of physics controllers.