Autonomous Systems Lab Prof. Roland Siegwart Master-Thesis Design of a modular character animation tool draft Spring Term 2012 Supervised by: Cedric Pradalier Gilles Caprari Author: Oliver Glauser
Preface... i
ii
Contents Abstract v 1 Introduction 1 1.1 Background.............................. 1 1.2 Goal.................................. 2 1.3 Literature............................... 2 2 Denition 5 2.1 Basic Challenges........................... 5 2.2 Extended Challenges......................... 6 2.3 Properties............................... 6 3 Concept 9 3.1 Mechanical parts........................... 9 3.2 Attitude determination........................ 11 3.3 Data transmition........................... 12 4 Design 13 4.1 Mechanics............................... 13 4.1.1 Connector........................... 14 4.1.2 TBT joint........................... 16 4.1.3 Splitter............................ 21 4.1.4 Bone.............................. 22 4.1.5 Terminator.......................... 22 4.1.6 Collector........................... 23 4.2 Electronics.............................. 23 4.2.1 Hall Sensor.......................... 27 4.2.2 Magnet............................ 27 4.2.3 Microcontroller........................ 27 4.2.4 Wire connection....................... 27 4.2.5 Electrical connector..................... 28 4.2.6 Micrcontroller board..................... 28 4.2.7 Connector board....................... 29 4.2.8 Collector........................... 30 4.3 Software................................ 31 4.3.1 Firmware........................... 31 4.3.2 On computer......................... 34 iii
5 Product 37 5.1 Assembly............................... 37 5.2 Production.............................. 37 5.3 Costs.................................. 39 6 Evaluation 43 6.1 Basic challenges............................ 43 6.2 Extended challenges......................... 43 6.3 General properties.......................... 44 6.4 Technical Properties......................... 45 7 Conclusion 53 7.1 Summary............................... 53 7.2 Outlook................................ 53 Bibliography 55 A Printed circuit boards 57 A.1 Microcontroller Board........................ 57 A.2 Connector Board........................... 64 B Optical Angle Measurement 69 iv
Abstract We present the design for a modular character animation tool to simplify key frame pose denition. The novelty lies within the modularity of the system. An overall solution for the mechanical, electrical and software challenges is developed. The tool consists of a set of parts which can be assembled into an arbitrary skeleton. Geometric information is collected by integrated hall sensors and forwarded via an I2C bus. Previously developed 3D animation software will then continuously update a 3D character skin according to the data received via serial port. The output is a fully working prototype which can be used to investigate the benets of such a modular framework. v
vi
Chapter 1 Introduction 1.1 Background Animation of three-dimensional characters has a wide application: For example in the entertainment industry to create movies, games or advertisements. With today's personal computers and the available software, one does not have to be a professional to create his own simple three-dimensional (3D) animation sequences. However, a computer with a mouse oers only a two-dimensional screen to animate three-dimensional objects and surfaces. Therefore intuition, which grows with experience, is essential for creating three-dimensional animation sequences. This makes it for beginners especially dicult. A typical character animation work ow consists of four steps, shown in gure 1.1. Modeling of the 3D characters skin Rigging of the skeleton, dening handles (in the later mostly referred to as joints) which say where and how the character can be manipulated Skinning is the process of distributing weights to the skin, for each handle on how the handle inuences the skin when it is moved Animating the character,putting the character into dierent poses which can then be interpolated to an animation. Dierent approaches have been developed for each of the above steps, all aimed at boosting the eciency whilst simplyying the process. For example, successful automation attempts for rigging [1] and skinning [2] have been demonstrated with the later developed by the interactive geometry lab (IGL) at ETH, Zurich. For the animation process, two main approaches have been adopted. The rst uses skeleton-based systems whilst the other relies on physical input devices such as puppets equipped with sensors. Unfortunately these puppets are typically humanoid and thus limited to animating human like motion. We address such limitiations in this Master's thesis by designing and prototyping a modular character animation tool that can be used to form arbitrary character skeletons. The project was initiated by the IGL and conducted at the Autonomous Systems Lab (ASL) at ETH Zurich. 1
Chapter 1. Introduction 2 Modeling Rigging Skinning Animating Shape definition Joint definition Joint weight definition (Next) pose definition Store pose (keyframe) Interpolate keyframes (joint angles) Animation sequence for 3D character Using mouse and/or keyboard «Modular character animation tool» Figure 1.1: 3D character animation process 1.2 Goal The goal is a ready-to-use prototype of a modular character animation tool, which can be investigated for its benets in the process of animating 3D characters. The protoype should consist of modular joints, bones and branching elements so that an arbitrary character skeleton can be formed and animated - e.g., humans, hands, animals, fantasy creatures. Using appropriate sensors and transmission methods the skeletons pose should continously be sent to a computer on which software by the IGL will interpret the data and display the according 3D character. The mechanical, the electrical and the rmware design will be developed in the scope of this Master's thesis. The nal prototype should be robust and intuitive to use. 1.3 Literature There are a few projects with a related spirit and some with a similar goal but none known to us with the same goal of creating a modular tool for character animation. 'Topobo' [8] is an educational toy. It is modular and based on servos with kinetic memory. A set of connection crystals and active blocks with an integrated servo can be combined to construct arbitrary models. By twisting and moving the parts motion patterns can be taught to the model. It is not meant to be used for animating characters but is a good example of modularity. 'Posey' [7] which consists of a set of modular bones that can be connected with a socket-and-ball joint is the closest of what has been done so far. With LEDs and optical sensors the transformation is measured and sent wireless to the computer. It is thought as a toy for children and therefore the angular accuracy is rather low. More accurate animation puppets [3], [6], [5], equipped with sensors have been developed. This systems have in common that they are not moudular i.e., limited to humans. In [3] tactile feedback and playback of positions has been implemented by applying servo motors. In evaluation with professionals the intuitivity of a animation puppet was conrmed and one major drawback found
3 1.3. Literature was the lacking modularity of the system. The angles of all three puppets are measured by potentiometers. With the puppets [3] and [6] characters can be directly animated whilst the output of [5] is used as a reference to search a motion capture database with recorded motions. A dierent approach for accessing motion capture databases is the artist's doll presented in [4] which could in principle be extended to characters with arbitrary skeletons as long as the database contains corresponding sequences. Optical systems need a controlled environment and can not handle occlusion, both by hands and if markers are on the wrong side of the model. Sketch-based systems like [9], [11], [10] which are based on 2D sketches are a third way to animate virtual characters. The rst system [9] is designed as interface for a motion capture database (like [5] and [4]) whilst [10] allows the user to animate human characters by drawing gestures which are then interpreted and an according series of parameterized motion sequences is applied to the character drawn. Only [11] is meant to directly animate character skeletons. It converts a series of 2D sketches into a 3D animation. Drawing meaningful 2D sketches remains dicult for beginners.
Chapter 1. Introduction 4