Using Physics for Motion Retargeting

Size: px
Start display at page:

Download "Using Physics for Motion Retargeting"

Transcription

1 Thesis Submitted to Utrecht University for the degree of Master of Science Supervisor: drs. Arno Kamphuis INF/SCR Utrecht University Department of Computer Science MSc Program: Game and Media Technology 29 October 2010

2 Acknowledgements First of all, I would like to thank everyone involved in the research, writing and presentation of this thesis. Special thanks goes out to my supervisor drs. Arno Kamphuis for his guidance and contributions throughout my thesis project and the last years at the university, and to dr. ir. Frank van der Stappen as approver of this thesis. I would also like to thank the involved members of the Games and Virtual Worlds research group, in particular dr. ir. Arjan Egges and MSc Ben van Basten, and the Animation group for their help and advice. Finally, I would like to thank my family and close friends who have always supported me and believed in me.

3 Abstract The increasing quality of animations in (serious) games and simulations has led to a rapid increase of motion data and in the case of motion capture an increase in recordings, since every possible motion and variation has to be recorded. When using motions for different type of characters, what is known as motion retargeting, either multiple recordings have to be made which is very time consuming and expensive or motions have to be edited which is also very time consuming and might result in incorrect motions. Therefore, we propose a new method for adjusting and retargeting motions to other type of characters by combining motion capture with physical simulation. By combining motion capture with physical simulation less recordings are needed, while still getting resulting animations which are physically and visually correct. We use a motion captured animation as input for the input character, a physical ragdoll as an intermediate character which simulates the input character by applying forces on the ragdoll s rigid bodies and finally an output character (virtual human) which is animated by the ragdoll. We implemented the technique and results were very promising. Besides being able to retarget motions to different styles and characters, common errors like knee popping, footskating and incorrect joint orientations of motion captured animations are also corrected or reduced.

4 Table of Contents 1. Introduction Previous Work Motion Retargeting Physical Simulation Method Outline Basic Approach Preliminary Experiments Parameters Experiment 1: single body, linear motion Setup Results Experiment 2: multiple bodies with hinges, linear motion Setup Results Experiment 3: multiple bodies, force on single point, rotational motion Setup Results Experiment 4: multiple bodies, forces on multiple points, rotational motion Setup Results Experiment 5: multiple bodies with hinges, rotational motion Setup Results Preliminary Conclusions Method Skeleton structure Ragdoll structure Input animations Technique Parameters Joint limits...43

5 Joint Stiffness Usage of extra retargeting points End Retargeting vs. Center Retargeting Physics update rate and animation sample rate Spring and damper settings Showing and reviewing results Framework Experiments: to show what is needed for our technique to produce valid results Experiment 1: constrain movements to human-like motions with joint limits Setup Results: all retargeting points enabled and knee joint limits disabled/enabled Results: knee retargeting points disabled and joint limits disabled/enabled Conclusions Experiment 2: stabilize joints with extra retargeting points and joint stiffness Setup Results: joint stiffness disabled and extra retargeting points disabled/enabled Results: joint stiffness enabled and extra retargeting points disabled/enabled Conclusions Experiment 3: prevent and simulate rotation with extra retargeting points Setup Results: extra retargeting points disabled/enabled Conclusions Experiment 4: stabilize motions with higher physics update rate and higher animation sample rate Setup Results: low vs. high physics update rate and animation sample rate Conclusions Experiments: to show that we can adjust motions to other styles Experiment 1: One-on-one simulation Setup...108

6 Results: varying spring and damper settings Results: using End Retargeting vs. Hybrid Center Retargeting Conclusions Experiment 2: Lazy walking simulation Setup Results: varying spring and damper settings Results: using frictions Results: varying density Results: using gravity Results: disabling retargeting points Results: using End Retargeting vs. Hybrid Center Retargeting Conclusions Experiment 3: Fierce walking simulation Setup Results: using gravity Results: disabling retargeting points Conclusions Experiment 4: Fatty walking simulation Setup Results: varying spring and damper settings Results: varying density of rigid bodies Results: using gravity Results: using external forces Results: using End Retargeting vs. Hybrid Center Retargeting Conclusions Experiment 5: Female walking simulation Setup Results: varying spring and damper settings Results: varying density Results: using gravity Results: using external forces Results: using End Retargeting vs. Hybrid Center retargeting Conclusions...160

7 7. Experiments: to show the possibilities of correcting common errors in motion captured animations Experiment 1: Correcting knee popping Setup Results Conclusions Experiment 2: Correcting footskating Setup Results Conclusions Experiment 3: Correcting incorrect joint orientations Setup Results Conclusions Experiments: to show our technique is able to interact with the environment Experiment 1: Pushed while walking Setup Results Conclusions Experiment 2: Tripped while walking Setup Results Conclusions Results Physical Correctness Naturalness Flexibility Performance Conclusion and Future Work Conclusion Future Work Bibliography...198

8 1. Introduction Motion capture is a technique for recording motions of (in most cases) a human, which is used to animate a virtual human [vwvbero09]. It is used in games and movies, but also in more serious areas like the military, medical applications, serious games and researches. Advantages of motion capture are the reduction of time and work, but mostly realistic or natural motions [vwvbero09]. However, there are also some problems with motion capture. One of them is when the virtual human has a different shape and/or proportions than the originally recorded human, for example when using an animation for different type of characters. The problem of adaptation and adjustment is called the motion retargeting problem [Gle98]. A lot of methods have been researched and introduced to solve this problem, all with their advantages and disadvantages. Common solutions to overcome this problem are making more motion capture recordings, which is very time consuming and expensive and editing of motions which is also very time consuming and might result in incorrect motions. Therefore, we propose a new method for adjusting and retargeting motions to other type of characters by combining motion capture with physical simulation. We use physics, by using a physical ragdoll as an intermediate character, to map motion captured animations to a virtual human. By combining motion capture with physical simulation less recordings are needed, while still getting resulting animations which are physically and visually correct. Physics is a new way of making animations and actions in 3D animation more realistic. By using physical constraints, external forces like gravity and interaction with the environment, animations can be produced that simulate the real world and are physically correct, unlike kinematic based animations which do not have physical constraints and interaction with the environment and external forces like gravity [MTT96]. Of course physics itself is an old science, but it is very compute-intensive and only recently it has been made more easy and time and cost-effective to use physics calculations for real-time 3D animations and actions. Developments of physics hardware and engines, that are part of or can be used with 3D engines, have made this possible [vwvbero09, Mac06]. 8

9 As mentioned, we combine motion capture with physical simulation. This is done by using a motion captured animation as the motion of the input character, a physical ragdoll as an intermediate character which simulates the input character by applying forces on the ragdoll s rigid bodies and finally an output character which is animated by the skeleton of the ragdoll. Forces applied on the ragdoll s rigid bodies are modelled as spring-damper systems. In order to simulate a motion captured animation one-on-one, correct spring and damper settings have to be found. Adjusting and retargeting motions to other type of characters is achieved by adjusting these spring and damper settings and the following physics parameters: density of ragdoll s rigid bodies, frictions and external forces like gravity. By using this approach with a physical ragdoll we ensure physical correctness and hopefully overcoming other common errors of motion captured animations like knee popping [Ari06], footskating [KSG02] and incorrect joint orientations Previous Work As mentioned before, a lot of methods have been researched and introduced to overcome the motion retargeting problem but all with its own advantages and disadvantages. Therefore, we will introduce the motion retargeting problem and discuss various approaches to this problem. In order to understand our different physical approach, we will discuss physical simulation and its most important aspects Motion Retargeting The term motion retargeting was first brought up by Michael Gleicher in his SIGGRAPH 98 article[gle98]. A technique was presented for motion retargeting: adapting an animated motion from one character to another. The focus is on adapting motion from one articulated character to another with identical structure but different segment lengths. The goal of the method is to reuse motions created for one character on other characters, while maintaining the original motion properties. Adaptations are needed and the article presents a method for finding them. Constraints are identified and a numerical solver computes the adaptation to the original motion. The solver is a space-time constraints method which considers the entire motion simultaneously, computing whole motions instead of individual frames like when using inverse kinematics. One of the problems when using space-time for retargeting is that some properties are difficult to encode mathematically as constraints or objectives. Also, not 9

10 all properties required are known, and one has to decide which properties and constraints are important in a given setting, since not all are needed. The simplicity of the method however leads to lower quality results, artifacts and a narrow range of applicable motions. For example physics and postures are not taken into account, which leads to unrealistic and unbalanced results. This can only partly be improved with richer sets of constraints and objective functions, combined with improved solvers. As mentioned above, the method in this form cannot adapt motions to other characters with unidentical structures, only difference in segment lengths are taken into account. The next method however tries to tackle this problem by using an intermediate skeleton to convert the movements between hierarchically and geometrically different characters [MBBT00]. Adjustment is performed by an inverse kinematics engine while the resulting motions are kept as close as possible to the captured motions. The approach and important step of this technique is using an intermediate skeleton which globalizes the captured skeleton and motion, to use it on other geometrically and topologically different characters. When mapping motions from the intermediate character to the final target skeleton, correspondences have to be set manually for each corresponding bone. The inverse kinematics engine then enforces the specified constraints while maintaining the original captured posture. These constraints can be expressed as desirable locations for body elements during motion retargeting. Parameters specified by the user include which particular node of the hierarchy is constrained, which object is the goal of the constraint and what kind of constraint is it. The performance of this method is highly dependent on the number and type of constraints, therefore, complex cases take a while. This implementation of inverse kinematics also does not converge if goals of the tasks are part of the character's hierarchy. Therefore, there would be no solution if the goal of the character's left hand is to touch its own right hand. But this method also has its advantages. One advantage is the possibility to extend this method for target skeletons with more bones than the input skeleton (in the paper it is implemented on target skeletons with fewer bones only). Motion captured posture is also preserved while enforcing new constraints. And lastly for this method the intermediate skeleton is only defined once instead of the method [PW99] introduced by Zoran Popović and Andrew Witkin. For their method an abstract character has to be defined for each new motion. 10

11 The approach of Zoran Popović and Andrew Witkin is called physically based motion transformation [PW99]. The method is based on motion transformation while preserving physical properties of the motion. The global approach is simplifying the input motion by abstracting the input skeleton to an abstract character and mapping the input motion to this simplified model. Therefore, motions will no longer be dynamically correct. Space-time motion fitting is used to overcome this problem. When this is done animations are edited to achieve a transformed motion sequence. This is finally remapped back onto the input skeleton and motion to produce the final transformed animation sequence. This method is best suited for high-energy and dynamic character movement. A big disadvantage however is the motion fitting part that mostly needs to be done manually. There is no guarantee that dynamic properties are preserved since no dynamic computations are done on the original input skeleton. Also, this method only implements transformed animations rather than implementing it for usage on other target skeletons. As mentioned above, the physically based motion transformation method by Zoran Popović and Andrew Witkin [PW99], transforms motions while preserving physical properties of the motion. Using physical simulation is the next step to preserve and enforce physical properties and, therefore, physical correctness. To understand our physical approach to the problem and the differences with existing methods we will now discuss physical simulation Physical Simulation In physical simulations the physical body of the virtual human is modeled as a system of rigid bodies, connected by joints. Motions are generated by applying forces and torques on the joints of the physical ragdoll, these motions are constraint by the DOF and limits of the joints [vwvbero09]. When these forces and torques are known and used to animate the virtual human, we speak of forward dynamics. On the other hand the process of finding the necessary forces and torques given the movement of its bodies is called inverse dynamics [vwvbero09]. Physical simulations can be divided in control-based and constraint based physical simulations. Control-based is mostly used and is a real-time technique. Constraint based on the other hand is currently not a real-time technique and calculates forces and torques on joints to satisfy certain animation constraints (e.g. pose at key time) 11

12 [vwvbero09]. Control-based methods use dynamic controllers to apply forces and torques on joints. Such a controller together with the physical body of a virtual human it controls form a physical control system [KMB96], see also Figure [vwvbero09]. Figure A Physical Control System As shown in Figure 1.1.1, the input of a controller is the desired value of the system s variables. Output of the controller is a set of joint forces and torques that should bring the system s variables closer to their desired value, while maintaining physical body properties. Besides these forces and torques, forces from gravity and ground contacts, and other external forces and torques are applied to the physical body of the virtual human. The physical body is finally animated using Forward Dynamics which results in animation of the virtual human. The new state is then sent back to the controller [vwvbero09]. An often used controller is the Proportional Derivative (PD) controller (e.g. in [FvdPT01, YLS04, ACSF07]). The output forces and torques of the PD controller is proportional to the difference in position and velocity between the desired and the actual state, which makes it behave similarly to a spring-damper system: ( ) ( & & ) τ = k x x + k x x (1) p desired actual d desired actual In the formula x desired is the desired state, x actual is the actual state, &x is the time derivative of x and k p and k d are the proportional and derivative gains. Values for k p 12

13 and k d are found by trial-and-error and depend on the characteristics of both the system and the desired motion [KMB96]. A recently popular physical simulation based approach which uses these controllers to track motion of motion captured animations is physical tracking. Tracking controllers track the rotation of joints specified in a motion captured animation. These joint rotations are specified as the desired states for the physical controllers of each joint. The resulting motion obeys the laws of physics. However, a big issue of physical tracking is the sensitivity to motion capture noise, retargeting errors, tracking errors and environmental changes which easily disturb the balance of the virtual human [vwvbero09]. Also, tracking PD controllers have to be very stiff (high PD-gains), which results in another issue that has to be solved, namely stiff reaction to the environment Method Our method uses a physical ragdoll as an intermediate character to animate the final target character (virtual human). A ragdoll consists of a collection of multiple rigid bodies and is being held together by a system of (joint) constraints that restricts the relative movements of the bodies [vwvbero09]. In our method the ragdoll is animated with forces, modelled by spring-damper systems between the ragdoll and the input skeleton, to simulate a motion captured input animation. The ragdoll control can be visualized as a marionette, see Figure A marionette is a puppet controlled using wires attached to a control bar [BBE05]. In our method the puppet is replaced by the ragdoll, the control bar is replaced by the input skeleton which controls the ragdoll and the wires at the attach points are replaced by springdamper systems. The distance between the input skeleton and the ragdoll is kept as small as possible during a one-on-one simulation, instead of the long length of the marionette's wires. Increasing this distance changes the behaviour of the ragdoll. This is done by loosening the spring-damper systems. Therefore, these spring-damper systems can be seen as adjusted PD controllers which are used to reach a desired position from the actual position, by applying calculated forces on the ragdoll at each attach point of these spring-damper systems in the direction of its desired position. Instead of using controllers to directly apply forces and torques on joints we use it to apply forces at the various spring-damper systems 13

14 attach points on the ragdoll s rigid bodies. This approach is therefore different from physical tracking where the joint rotations of the joints, specified in the motion captured input animation, are used to calculate the torques needed for the joints to get to the desired rotations as we have discussed in Section Besides this we use other physics parameters to change the behaviour of the ragdoll. These parameters are the density of ragdoll s rigid bodies, frictions and external forces like gravity. As mentioned before, the ragdoll consists of multiple rigid bodies with joints in between where needed. Each rigid body has multiple attach points, where the springdamper systems are attached for more precise handling and simulation of the ragdoll. The other ends of the spring-damper systems are attached on the corresponding attach points of the input skeleton. By experimenting, correct values will be found for the spring and damper constants for each spring-damper system attached to the ragdoll and input skeleton for a one-on-one simulation. By adjusting these spring and damper constants and the other physics parameters mentioned above, we are able to use this ragdoll to adjust and retarget motions to the final target character in real-time in the virtual world. Figure Marionette's visualization of our ragdoll control 14

15 1.3. Outline In Chapter 2 we will discuss the basic approach and background information of the proposed method. We will also discuss the resulting research questions and expected advantages of our approach. In order to show that our method produces results indicating that the method can be used to simulate human motions, preliminary experiments are carried out in Chapter 3. The method is shown in more detail in Chapter 4. We discuss the skeleton and ragdoll structure which are used to simulate human motions. We describe these motions that will be used in our experiments. The technique is discussed, which shows the different steps of our method, leading to the introduction of important parameters of our technique. Finally, we will discuss the actual implementation of our method. In Chapter 5 we experiment with the parameters introduced in Chapter 4 and show how they influence the resulting animations. These experiments will show that our method produces valid results. In order to adjust and retarget motions to other type of characters, we will experiment in Chapter 6 with the following parameters: spring and damper constants, density of ragdoll s rigid bodies, frictions and external forces like gravity. Besides adjusting and retargeting motions to other type of characters, we want to show the possibilities of our method to correct common errors in motion captured animations. Experiments in Chapter 7 will show correction of knee popping, footskating and incorrect joint orientations. To show another advantage of the physical approach of our method, namely interaction with the environment, we carry out two experiments in Chapter 8. The first one is a pushed while walking simulation and the second one is a tripped while walking simulation. Results of all previous experiments will be discussed in Chapter 9 and compared to other methods. We will look at physical correctness, naturalness, flexibility and performance. Finally, conclusions will be drawn and possible improvements and extensions are presented in Chapter

16 2. Basic Approach The general workflow of capturing motions and using these motions to animate a 3D character is: Capturing the motions with motion capture hardware like Vicon iq [Vic], output is a set of marker data (in the case of Vicon: C3D). Manually align the marker data in for example MotionBuilder [Mob] onto an intermediate skeleton (MotionBuilder: Actor), which consists of a set of constraints. Fitting the actor data to the target skeleton (MotionBuilder: Character) which results in an animation file (FBX/BVH). The animation file is finally used to animate the skeleton of a virtual human (3D character), we call this the output skeleton. Our method removes the last step of the workflow and instead adds an input skeleton, a physical ragdoll and an output skeleton to the end of the workflow. The output skeleton of the virtual human is now being animated by the ragdoll instead of directly by the motion captured animation. The ragdoll simulates the input skeleton by forces applied on the ragdoll s rigid bodies instead of forces and torques applying directly and only on the ragdoll s joints. The last step of the workflow therefore will be: Animation of the input skeleton by the animation file. Animation of the physical ragdoll by simulating the input skeleton with forces applying on the ragdoll s rigid bodies. Animation of the output skeleton by passing joint positions and orientations of the physical ragdoll. This is mainly done to adjust and retarget motions to the same or other type of characters, by using a physical ragdoll as an extra intermediate character, but also to reduce common errors of motion captured animations. As mentioned earlier, a ragdoll consists of a collection of multiple rigid bodies and is being held together by a system of (joint) constraints that restricts the relative 16

17 movements of the bodies [vwvbero09]. The ragdoll is animated with forces modelled by spring-damper systems between the ragdoll and the input skeleton, to simulate a motion captured input animation. In physics, a rigid body is a solid body of finite size that does not deform. For any given two points the distance between them remains constant and there is no relative translation or rotation among them. As we have explained in Section 1.1.2, in physical simulations forces and torques are usually applied on the joints to animate the ragdoll. Our method however applies forces on the rigid bodies to animate the ragdoll. Before continuing with the ragdoll animation we will give a short introduction into physics for some background information useful for understanding physical simulations and the physical approach of our method. The basis for almost all physics are Newton's three laws of motion[new99]. Newton's first law of motion states that an object continues to rest (or move with a constant velocity) unless acted upon by an external net force. The constant velocity is defined as a constant speed in an unchanging direction. Newton's second law of motion states that the rate of change of momentum p r of a body is equal to the resultant force F r acting on the body and is in the same direction: r r r d d r rd d F = p = ( mv) = v m + m v dt dt dt dt (2) Since the second law applies to an object with constant mass, the first term can be left out, and by substituting using the definition of acceleration we get the equation: r r F = ma (3) Which explains this law often being stated as the net force on an object being equal to the mass of the object multiplied by its acceleration. Newton's third law of motion states that whenever a first body exerts a force F r on a second body, the second body exerts a force F r on the first body. F r and F r are equal in magnitude and opposite in direction. A simplification of this law: "To every action there is an equal and opposite reaction: the forces of two bodies on each other are always equal and are directed in opposite directions": 17

18 r r F1,2 = F 2,1 (4) These laws describe the relationship between the forces acting on a body and the motion of that body. Therefore, forces are the cause of changing or tending to change a state of rest or motion of an object. Torques, also called Moments ( M r ), on the other hand are the angular equivalent to force. While the net force is equal to the change in linear momentum, the net torque is equal to the change in angular momentum: r M = r F r (5) r F is the force vector and r r is the displacement vector. We will now discuss different type of forces important for our method. First of all, forces can be divided in contact and non-contact forces. Examples of contact forces are friction and normal forces. Gravity on the other hand is a non-contact force. About gravity, Newton's law of gravitation states that the gravitation force ( F ) is proportional to the product of the two masses, inversely proportional to the square of the distance between the two Centers of Mass and acting on the line connecting the two centers: F mm 1 2 g = G 2 r r (6) r g In this formula the G stands for gravitational constant, m 1 and m 2 are the masses and r is the distance between the two Centers of Mass. The Center of Mass is the point at which all the mass can be considered to be "concentrated". As mentioned earlier, Newton's third law states that for every action there is a reaction, the normal force is such a reaction force. When an object is resting on a surface (with other words the action force exerted on the surface), the reaction force of the surface on the object is the normal force. Also, when this object is resting and a force is applied on the object, a static friction force is acting on the object from the surface. When the applied force is lower than the maximum static friction force, the object will not move, when it is higher the object will start moving. The maximum possible friction force between two surfaces 18

19 before sliding begins, is the product of the coefficient of static friction and the normal force: fs F = μ F (7) max s n When the object is already moving, the static friction becomes dynamic/kinetic friction (which is smaller): fk F = μ F (8) k n Fluid dynamic drag (also called air or fluid resistance) is another type of force and refer to forces opposing the relative motion of an object through a fluid (liquid or gas e.g. water and air). These forces however are influenced by many factors like fluid/matter properties, shape of the object and motion of fluid/object. A practical formula to calculate this force of drag is: 1 2 Fd = ρv AC d (9) 2 F d is the force of drag, ρ is the mass density of the fluid, v is the velocity of the object relative to the fluid, A is the reference area, and C d is the drag coefficient. The reference area is the area of the orthographic projection of the object on a plane perpendicular to the direction of motion. The last type of forces we will discuss are forces exerted by springs and dampers, these forces are the basis of our method. Springs are used to connect two or more bodies and react on extension and compression. Their length relative to the rest-length determines the force they apply. Dampers on the other hand try to slow down the motion between two objects connected by a spring and depend on the relative speed between those objects. ( ) F = k L r s s L (10) L F d ( ) kd v1 v2 L L = L L (11) 19

20 Combining these two formulas: F = k ( L r) + k 1 s d F = F 1 2 ( ) v 1 v2 L L L L (12) This is also how the spring-damper systems are implemented in our method to calculate the necessary forces to apply on the rigid bodies of the ragdoll to simulate the input skeleton. This leads us to ragdoll physics. Ragdoll physics is a type of computer animation that is automatically generated in real-time while obeying the laws of physics. Automatically generated animations are used to achieve more complex, realistic or diverse animations than with predefined animations. Ragdoll physics is mostly used in games to simulate falling to the ground (when dying) and standing up of characters, while responding to uneven terrain and dynamic obstacles [Mac06]. An example of realistically falling to the ground, can be seen in Figure 2.1 [Mw2]. We however use it to simulate realistic motions and adjust and retarget these motions to other type of characters. Figure 2.1 Ragdoll physics example from the game: Call of Duty: Modern Warfare 2 20

21 As said earlier, the physical ragdoll consists of a collection of multiple rigid bodies with constraints like joints (e.g. elbow, shoulder, and knee joints) to keep the rigid bodies together and restrict the movements of the bodies relative to each other. Therefore, joints are important for the quality and validity of the simulation and thus for our method. In real life a joint (like a hinge) is a connection between two objects which constrains the movement of the objects. In physics it is also used as a connection between two objects and constrains the movement of these objects so they can only have certain positions and orientations relative to each other [Joi]. There are different types of (physical) joints, the ones important for us are hinges (Figure 2.2 [Joi]) and ball joints (Figure 2.3 [Joi]), also known as spherical joints. Hinges have a fixed axis of rotation and are limited to only rotate around this fixed axis. Therefore, a hinge is a 1 DOF joint. For a simple implementation of a knee one can use a hinge as joint to simulate simple knee constraints. For more complex and realistic (but more expensive) animation of human joints one can use ball joints. Ball joints are 3 DOF joints and simulate joints like our hip and shoulder. Figure 2.2 Implementation of a hinge in ODE 21

22 Figure 2.3 Implementation of a ball joint in ODE The body structure we use for our method is a simplified human body structure in the form of a ragdoll. The body structure is represented as a hierarchical set of joints, with other words a series of nested joints, in conformity with H-Anim standards [Hum], which specify a standard way of representing humanoids. The body hierarchy is an inverse tree hierarchy with the root at the top acting as the parent and its children below. All other joints are children of and connected to the root. Each group also has its parent-children relationships. The nodes of the tree therefore consist of the body's joints. The hierarchical tree defines the relationship between the joints and its bodies. When for example the left shoulder rotates the whole left arm will rotate. We will go further into detail and show the body structures in Chapter 4. We will now explain the use of a ragdoll in our retargeting method. As mentioned earlier the ragdoll can be visualized as a marionette (Figure 1.2.1). A marionette is a puppet controlled using wires attached to a control bar [BBE05]. In our method the puppet is replaced by the ragdoll, the control bar is replaced by the input skeleton which controls the ragdoll and the wires are replaced by spring-damper systems. The distance between the input skeleton and the ragdoll is kept as small as possible during a one-on-one simulation, instead of the long length of the marionette's wires. When needed, we can adjust this distance by loosening the spring-damper systems to change 22

23 the behaviour of the ragdoll. Therefore, these spring-damper systems can be seen as adjusted PD controllers which are used to reach a desired position from the actual position, by applying calculated forces on the ragdoll at each attach point of these spring-damper systems in the direction of its desired position. Instead of using controllers to directly apply forces and torques on joints we use it to apply forces at the various spring-damper systems attach points on the ragdoll s rigid bodies. This approach is therefore different from physical tracking where the joint rotations of the joints, specified in the motion captured input animation, are used to calculate the torques needed for the joints to get to the desired rotations as we have discussed in Section Besides this, we will use other physics parameters to change the behaviour of the ragdoll. These parameters are the density of ragdoll s rigid bodies, frictions and external forces like gravity. As mentioned before, each rigid body has multiple attach points, where the springdamper systems are attached for more precise handling and simulation of the ragdoll. The other end of the spring-damper systems are attached on the corresponding attach points of the input skeleton. By experimenting, correct values will be found for the spring and damper constants for each spring-damper system attached to the ragdoll and input skeleton, that are needed to keep the ragdoll as close as possible to the input skeleton. This means that the positions of the ragdoll s attach points (which act as the actual positions) should be as close as possible to the positions of the attach points of the input skeleton (which act as the desired positions). Forces are calculated with the following spring-damper system function: ( p ( ) d ( )) F[ axis] = k distance + k rel_vel direction[ axis ] (13) F [axis]= amount of force in corresponding axis direction k p = spring constant: higher value means more springiness k d = damper constant: higher value means more damping distance = distance between the actual position and the desired position rel_vel = relative velocity between the two corresponding attach points direction = direction from the actual position to desired position 23

24 Animation of the final output skeleton (virtual human) is done by passing angles and position data of joints in real-time from the intermediate ragdoll to the final output skeleton. This is the first step of our method, simulating an animation one-on-one, after which we will adjust and retarget motions to the same or other type of characters. To be able to answer our main research question: 1. Is it possible to use physics for motion retargeting, by combining a motion captured animation with a physical ragdoll as an intermediate character? we will use a motion captured animation of one type of character for other type of characters. To use animations for other type of characters we adjust the springdamper systems and the other physics parameters: density of ragdoll s rigid bodies, frictions and external forces like gravity. By changing these parameters motions can get bigger or smaller and faster or slower, dependent on the values of these parameters and what kind of animation we want. By experimenting with these parameters we will get values for these parameters typical for some type of character. We can then answer the research related question: 2. Is it possible to make one type of character, walk like another type of character? which will also answer our main research question. From the results of above mentioned experiments the following research related question can also be answered: 3. Is it possible to change the behaviour of an animation by only adjusting the spring-damper systems and the other physics parameters: density of ragdoll s rigid bodies, frictions and external forces like gravity? Another important parameter that influences the quality of the simulation is the amount of spring-damper systems used to animate a rigid body of the ragdoll. For more precise simulations more spring-damper systems are needed, this will however lead to more calculations and thus will be more expensive. Therefore, a balance has to 24

25 be found to achieve the most performance and quality at the same time. This will answer the research related question: 4. How many spring-damper systems are at least needed for each body? Besides the amount of spring-damper systems, the quality is also dependent on the placement of these spring-damper systems on a body. In order to find the best placements, experiments have to be carried out. We will also look at the possibilities of our method to correct common errors in motion captured animations. We can then answer the research related question: 5. What are the possibilities of our method to correct common errors in motion captured animations? And finally to fully exploit the physical approach of our method, since the physical ragdoll is used in a physical environment, we will look at the interaction of the ragdoll with the environment. We will then be able to answer the research related question: 6. Is the physical ragdoll able to adjust to its physical surroundings and external forces while still maintaining its motions and behaviour? By carrying out experiments we will get answers to our research questions. These answers and results will show if the physical approach of our method will lead to the following expected advantages: Physical correctness is ensured by using a ragdoll and environment with physics constraints. Natural motions of the motion capturing process are still maintained. Usage of physics and the ability to adjust in real-time by using a physical ragdoll. Combination of techniques, using advantages of each technique and possibly eliminating their disadvantages. Overcoming common motion capture, retargeting and physics problems like knee popping, footskating and balance. 25

26 3. Preliminary Experiments In order to show if our approach produces valid results, preliminary experiments have to be carried out. We experiment with spring-damper systems, their placements (attach points) and joints by simulating basic physics objects in a physics test environment. This will show the motion behaviour of objects when using physics for simulation and the core of our method. Therefore, this is an important step before simulating a skeleton by a physical ragdoll. For the preliminary experiments we use a test framework that uses the physics engine ODE (Open Dynamics Engine [Ode]) and OGRE for visualization [Ogr]. For each experiment we have blue and red boxes, blue boxes will act as the input skeleton and provide the input motion that needs to be simulated by the red boxes which act as the physical ragdoll. Since these are still preliminary experiments, no precise measuring is needed yet. More important at this stage is how natural the simulated motions are and if the method produces results which indicate that we can use the method to simulate a skeleton by a physical ragdoll. The quality of the simulation is therefore only measured visually Parameters Our method uses spring-damper systems, connecting the physical ragdoll to the input skeleton, to animate the physical ragdoll. Forces are calculated by these spring-damper systems that are needed to push the rigid bodies of the physical ragdoll (from the actual position) to the corresponding (desired) positions of the input skeleton. These forces are calculated for each attach point with the spring-damper system mentioned earlier in Chapter 2: ( p ( ) d ( )) F[ axis] = k distance + k rel_vel direction[ axis ] (14) F [axis]= amount of force in corresponding axis direction k p = spring constant: higher value means more springiness k d = damper constant: higher value means more damping distance = distance between the actual position and the desired position rel_vel = relative velocity between the two corresponding attach points direction = direction from the actual position to desired position 26

27 In each timestep, corresponding forces are calculated to minimize the distance between the physical ragdoll and the input skeleton. Parameters that need to be found and adjusted, for each spring-damper system attached to the physical ragdoll, are the spring constant ( k p ) and the damper constant ( k d ). These two parameters of each spring-damper system influence the behaviour of the physical ragdoll and, therefore, are very important for the animation of the final target character. During preliminary experiments, we will experiment with these parameters to show their influence on the simulation Experiment 1: single body, linear motion The first experiment shows the behaviour of objects when using a spring-damper system between a blue box and a corresponding red box, while moving the blue box. The motion of the blue box is therefore the input motion Setup Our test setup consists of a blue box and a red box. The blue box acts as the input skeleton and its motion is predefined over time. The motion is a linear movement and loops back and forth. The red box act as the physical ragdoll and simulates the blue box, while the blue box is moving. This is achieved by using a spring-damper system between the two boxes. The spring-damper system is attached on the center of the red box and on the other end the center of the blue box, see Figure The springdamper system calculates the necessary force to minimize the distance between the red (physical ragdoll) and the blue (input skeleton) box. The calculated force is applied on the center of the body, this is done at each timestep. We use 0.01sec as a timestep, this means every 0.01sec forces are recalculated and applied. Figure Preliminary experiment 1 setup: spring-damper system attached to center of bodies 27

28 Results During the experiment, we notice that varying spring and damper constants lead to interesting and promising behaviours. A high spring constant results in the red box quickly moving to the blue box, but passing the blue box when the damping constant is not high enough. When increasing the damping constant the bounciness of the motion is lowered and the simulation gets more stable. To achieve the most stable simulation, we try different values for the spring and damper constants. A spring constant between and a damping constant of 100 to 150 results in a stable and good simulation, the red box is almost always at (or around) the same position as the blue box at every timestep. This is clearly shown in Figure Figure preliminary experiment 1 result at different time moments When simulating a slower simulation, where the red box cannot keep up with the blue box, the spring constant has to be lowered to slow down the red box. This behaviour of the spring-damper system is exactly what we want with our simulation Experiment 2: multiple bodies with hinges, linear motion In the second experiment, the behaviour of multiple objects with hinges in between (see Figure 3.3.1) are shown. We have chosen a hinge joint since we want to simulate a pendulum motion, which could correspond to motion of a leg constrained by hinge (1DOF) joints. 28

29 Figure Preliminary experiment 2 setup: using hinges and multiple bodies Setup Our test setup consists of four blue boxes and four red boxes. The blue boxes are aligned under each other. The red boxes are connected to each other with a hinge joint in between. The blue boxes act as the input skeleton and their motions are predefined over time. The motions are linear movements, loop back and forth and each blue box moves with a different speed. The topmost is the slowest, the second a 29

30 bit faster, the third faster than the second and the fourth (the bottom one) the fastest. The red boxes act as the physical ragdoll and simulate the blue boxes, while the blue boxes are moving. This is still done by using spring-damper systems between the corresponding blue and red boxes. Figure Left image: simulation without hinges, right image: simulation with hinges between the red boxes (preliminary experiment 2) Results The simulation behaves like we thought it would, see Figure Because of the hinges, the red boxes are not able to keep up with the blue boxes since the blue boxes are still only carrying out linear motions and not bending motions like the red boxes constrained by hinges. The behaviour of the red boxes is how it should be. The red boxes try to follow the blue boxes and as a whole rotate while simulating because of the hinges, resulting in a pendulum motion. We also noticed the same behaviour during this experiment when varying the spring and damper constants. Results are good, therefore, we continue with our preliminary experiments Experiment 3: multiple bodies, force on single point, rotational motion During previous experiments, linear motions were simulated and forces were applied on the center of the body. However, to simulate rotational motions, spring-damper systems have to be attached at another point on the body. The different placement of 30

31 the spring-damper system is shown in Figure This experiment will show the behaviour of the red boxes when the blue boxes have a rotational motion as input. Figure Preliminary experiment 3 setup: spring-damper system attached at another (single) point on the body for simulation of rotation Setup Our setup consists of four blue boxes and four red boxes. The blue boxes are aligned under each other. The blue boxes acts as the input skeleton and their motions are predefined over time. The motions are linear movements, loop back and forth and each blue box moves with a different speed. The topmost is the slowest, the second a bit faster, the third faster than the second and the fourth (the bottom one) the fastest. But while they are moving linearly, they get a rotational motion as well. They rotate with an angle of 90 degrees (45 degrees clockwise and 45 degrees counter clockwise) and like the linear motion also back and forth. The red boxes act as the physical ragdoll and simulate the blue boxes with the spring-damper systems between the corresponding blue and red boxes. We apply the forces on a single point (at another point on the body than the center of the body) on each red box, as shown in Figure Results Red boxes are now rotating, but they get swung around with a lot of force and with a lot of rotation, see Figure The unstable simulation is the result of applying forces on a single point which is not the center of the body. At every timestep a great amount of force is applied on a single point and pushes or pulls a red box without another force keeping the red box stable. Therefore, we need to have another point on 31

32 the red box on which we can apply forces as well, to keep the simulation stable and to be able to simulate rotational motions. Figure Preliminary experiment 3 results in an unstable simulation 3.5. Experiment 4: multiple bodies, forces on multiple points, rotational motion Our next experiment consists of attaching multiple spring-damper systems on a body, see Figure 3.5.1, to be able to simulate rotational motions while keeping the simulation stable. 32

33 Figure Preliminary Experiment 4 setup: two spring-damper systems are attached onto each body Setup The setup we use is almost the same as the third experiment. Our setup consists of four blue boxes and four red boxes. The blue boxes are aligned under each other. The blue boxes act as the input skeleton and their motions are predefined over time. The motions are linear movements, loop back and forth and each blue box moves with a different speed. The topmost is the slowest, the second a bit faster, the third faster than the second and the fourth (the bottom one) the fastest. But while they are moving linearly they get a rotational motion as well. They rotate with an angle of 90 degrees (45 degrees clockwise and 45 degrees counter clockwise) and like the linear motion also back and forth. However, red boxes (which act as the physical ragdoll) now simulate the blue boxes with two spring-damper systems between the corresponding blue and red boxes. Since two spring-damper systems are attached on a body, forces are applied on two points of a red box instead of one Results Figure shows promising results when applying forces on multiple points on the red boxes. Red boxes are now able to simulate rotational motions of the blue boxes while maintaining the linear motions. The simulation is stable and the motions are simulated in every possible way. Also, the behaviour of the parameters is still the same. 33

34 Figure Experiment 4 result: stable simulation including rotation 3.6. Experiment 5: multiple bodies with hinges, rotational motion Preliminary experiment 2 showed the usefulness of joints in the simulation, this is the reason for using hinge joints in the last preliminary experiment. The behaviour of the complete simulation is shown by simulating linear and rotational motions while the red boxes are connected to each other with hinges, like in preliminary experiment Setup Our setup consists of four blue boxes and four red boxes. The blue boxes are aligned under each other. The blue boxes act as the input skeleton and their motions are predefined over time. The motions are linear movements, loop back and forth and each blue box moves with a different speed. The topmost is the slowest, the second a bit faster, the third faster than the second and the fourth (the bottom one) the fastest. While they are moving linearly they get a rotational motion as well. They rotate with an angle of 90 degrees (45 degrees clockwise and 45 degrees counter clockwise) and like the linear motion also back and forth. The red boxes act as the physical ragdoll and simulate the blue boxes with two spring-damper systems between the corresponding blue and red boxes. Since two spring-damper systems are attached on a body, forces are applied on two points of the red boxes. Hinges are placed between the red boxes, connecting them and constraining their movements, see also Figure

35 Figure Preliminary experiment 5 setup: multiple spring-damper systems and hinges between the red bodies 35

36 Results The simulation behaves like we thought it would. Because of the hinges, the red boxes are not able to keep up with the blue boxes since the blue boxes move without hingeconstraints unlike the red boxes. However, this behaviour of the red boxes is how it should be, they try to follow the blue boxes, and curl up while following because of the hinges, see Figure Because of this they can also quickly buckle to the opposite side, while maintaining the original line of the blue boxes. These results are promising. Results show that we are able to simulate linear and rotational motions with constrained bodies. Besides this, these results also indicate the possibility of improving physically impossible motion (of blue boxes) toward realistic motion (of red boxes which look like human joint constrained motions). Figure Preliminary experiment 5 result during different time moments 36

37 3.7. Preliminary Conclusions Preliminary experiment 1 showed the basic use of a spring-damper system that applies forces to the red body to simulate the blue box. The red body acts as the physical ragdoll, the blue box acts as the input skeleton and its motion is predefined over time. The motion of the blue box is therefore the input motion. During the first preliminary experiment we noticed how important the spring and damper parameters were to achieve a stable and accurate simulation. This simulation also showed that the approach of our method produces good results, indicating it is usable for more complex simulations. In preliminary experiment 2 we introduced another set of bodies and hinges between the simulating boxes. The red bodies behaved as expected, they tried to follow the blue boxes and as a whole rotate while following because of the constraint of the hinges. This showed the usefulness of joints in our method and that it still behaved like it should despite the extra joint constraints and bodies. Preliminary experiment 3 showed the behaviour when rotation was introduced. The spring-damper system was attached to another point than the center of the body. Results showed an unstable simulation, because only one point on the body was used to attach the spring-damper system (and it was not the center) and, therefore, it swung around with a lot of force resulting in fast and unstable rotational movements. This problem was solved in preliminary experiment 4. Instead of one spring-damper system, we used two spring-damper systems. These were attached to two different and opposite points on each body. This experiment showed the usefulness of using multiple spring-damper systems for simulation. Rotation was now possible and this approach resulted in a stable and accurate simulation. In the last experiment we used hinges again, since preliminary experiment 2 showed the usefulness of joints in the simulation, but now in a more complex simulation with rotation (the same as in preliminary experiment 4). The behaviour however was still the same as in the second preliminary experiment with the simple simulation. The red bodies tried to follow the blue bodies despite the extra constraints of the hinges. Results showed that we are able to simulate linear and rotational motions with constrained bodies. Besides this, these results also indicated the possibility of improving physically impossible motion toward realistic motion by using joint constraints. 37

38 Preliminary experiments have shown the motion behaviour of objects when using physics for simulation. Experiments showed the influence of spring-damper systems, their placement and joints on the simulation. We have also shown that our method produces valid results, which indicate that our method can be extended to simulate a skeleton by a physical ragdoll and that experiments can be carried out to show the possibilities of correcting physically incorrect motions. 38

39 4. Method Before going into more detail about simulating a complete skeleton and, therefore, our method, we will give an overview of the workflow of our method: We have an input character, a ragdoll and an output character (virtual human). First, the input character is animated by a given motion captured keyframe animation that animates the skeleton of the input character (input skeleton). In the background this input character is simulated by a ragdoll. The ragdoll finally passes its animation to the output skeleton, which animates the output character (virtual human). In order to simulate the input skeleton we need to read in the skeleton structure, build a physical ragdoll from this information and use our method to animate this ragdoll with forces to simulate the provided motion captured animation. Therefore, we will first discuss the skeleton and ragdoll structure Skeleton structure The structure of the skeleton we use is based on the H-Anim specification [Hum]. The body structure is represented as a hierarchical set of joints, with other words a series of nested joints, in conformity with H-Anim standards [Hum], which specify a standard way of representing humanoids. The body hierarchy is an inverse tree hierarchy with the root at the top acting as the parent and its children below. Therefore, all other joints are children of and connected to the root. Each group also has its parent-children relationships. Therefore, the nodes of the tree consist of the skeleton's joints. When for example the left shoulder rotates, the whole left arm will rotate. The hierarchical tree, therefore, defines the relationship between the joints and bones, while the joints and bones define the structure of the skeleton. A pose of a virtual human is therefore set by rotating the joints [vwvbero09]. The complete H-Anim body structure however has a lot of joints that are not needed and used in our animations. The joints that are important for our method are shown in Figure

40 Figure Joint positions of input skeleton Note: subtalars are positioned behind the feet at the corresponding joint markers Figure shows the joints which we use to extract the joints position data. This position data will be used to create and animate the ragdoll. Next, we will show the ragdoll structure, consisting of rigid bodies and joints, which is created from the joints position data of the input skeleton. 40

41 4.2. Ragdoll structure Figure Joint positions of ragdoll Our ragdoll however has a more simplified structure and only has the necessary joints and bodies needed to simulate the input skeleton, as shown in Figure The omitted joints are not used because these joints do not change their orientations during our animations. However, they are needed to create the ragdoll. When looking at the joint types, the joints of the ragdoll are all spherical joints (3DOF), except for the knee joint which is a pivotal hinge joint (2DOF) and the ankle which is a hinge joint (1DOF). 41

42 4.3. Input animations As mentioned, we use motion captured animations as input for our method. The animations that we will use are basic motion captured walking animations recorded in our motion capture lab. Our animation files contain positional and rotational data of the skeleton s joints (shown in Figure 4.1.1). Each used animation is translated, resulting in the root starting at the zero x- and z-position. Also, animations will be rotated to have the body faced forward at the start. Therefore, all animations start by walking forward along the positive z-axis, which is toward the camera. We do this pre-processing to be able to compare animations and review results better with each other. Also, all animations that we will use are forward walking animations. For our simulations, however, we will play these animations forward and backward. The resulting animation will therefore be a forward and backward animation (which is the same forward animation but mirrored). The above summed up: Animations all start with the root at zero x- and z-position. Animations all start with the body faced in the positive z-axis direction and initially walking along the positive z-axis, which is toward the camera. The input animation is played forward and backward, resulting in a forward and backward animation (which is the same as the forward animation but mirrored) Technique We will now give a step-by-step overview of our technique, the steps are as follows: Retargeting points (previously used attach points of the spring-damper systems are now called retargeting points) are set at the exact same positions on the input skeleton and the ragdoll (see Figure 4.5.3). Our technique keeps the distance of the retargeting points between the input skeleton and the ragdoll (and, therefore, the output skeleton) as close as possible. The following is done at every timestep: o First, positions of the retargeting points on the input skeleton are extracted. o After this, positions of the retargeting points on the ragdoll are extracted. o Forces are then calculated by a spring-damper model between each retargeting point on the input skeleton and the ragdoll to minimize the distance between 42

43 these points. With other words, minimizing the distance between the desired position (position of the input skeleton s retargeting point) and the actual position (position of the ragdoll s retargeting point). o These forces are then applied on the rigid bodies of the ragdoll at the corresponding retargeting points. o Root position of the ragdoll and orientations of the joints are then passed on to the output skeleton. o This will finally animate the output character (virtual human) resulting in a simulation of the input character Parameters We have just shown the different steps of our technique. But to achieve valid results, parameters have to be set correctly. These parameters are: Joint limits Joint stiffness Usage of extra retargeting points End vs. Center Retargeting Physics update rate and animation sample rate Spring and damper settings We will now discuss each of them before showing the influence of these parameters on the simulation Joint limits During preliminary experiments we already came by the joint limits parameter, however, no limits were set during preliminary experiments. Joint limits constrain the movements of a joint, like the behaviour of human joints in the real world. The different types of joint limits that can be set at a joint (dependent on the joint type) are: twist limit and swing limit. A twist limit defines the high and low limits of a twisting motion about the joint s twist axis. Figure shows the twist limit of the knee. Here we set the twist axis as the axis coming out of the paper or screen. 43

44 Figure Twist limits [0,180] of the ragdoll s knee joint The swing limit defines the angle which the joint can rotate away from the swing axis. The swing axis defines the center of the swing limit cone as shown in Figure [Phya]. As mentioned in Section 4.2 (Ragdoll structure), we use less and more simplified joints than real life joints. Therefore we will use approximate rotation limits for our joints, which will provide us the necessary ragdoll body rotations. The limits are set to roughly estimated human joint limits. 44

45 Figure Simplified representation of the swing limit and twist limit of a ragdoll s spherical shoulder joint Joint Stiffness Another joint parameter is joint stiffness. Joint stiffness defines how much force is needed to actually make the rigid bodies attached to the joint move relative to each other. The higher the stiffness, the harder it is to rotate the joint. In the physics engine it is actually implemented as a local spring-damper system that forces the orientation of a joint to the default orientation, with other words a local PD controller. Setting a zero spring force and a high damper force, results in setting the stiffness of a joint. When setting a higher joint stiffness, more forces are needed to change the orientation of the joint and, therefore, making the joint stiffer Usage of extra retargeting points During preliminary tests (Chapter 3) we have seen that using more retargeting points resulted in more stable motions and we have also seen that they are needed for rotations (Section 3.5). For our method we implement two extra retargeting points next to the each original retargeting point, one at each side. Figure shows the 45

46 placement of the original (red dots) and extra retargeting points (blue dots) on the ragdoll. The input skeleton also has these retargeting points at the exact same positions. Figure End Retargeting: Ragdoll with positions of original retargeting points (red dots) and extra retargeting points (blue dots) Figure shows the placement of the retargeting points when using the End Retargeting method. We call this the End Retargeting method, because the retargeting points are placed at the end of the bodies and bones. This is the default retargeting method used for our experiments, unless otherwise noted. We place the extra retargeting points next to the original retargeting points (which are set at the 46

47 position of the joints), because unstable motions particularly start at the joints. Also, the more freedom of movement at a joint, the more unstable motions. In particular the spherical spine joints are more sensitive to unstable motions. Figure also shows a different placement of retargeting points at the root and hips. A close up is shown in Figure Figure Close up of root and hips retargeting points Note: dotted lines are only for visualization purposes The extra retargeting points of the hips are in front of and behind the original retargeting points to achieve more stable and balanced hip motions, since we now create a bigger balancing surface (horizontal blue rectangle) that is holding the hips in place instead of the original red triangle. This effect is therefore increased when adding extra retargeting points in front of and behind the root. These extra root retargeting points however will be mainly used for adjusting motions to other styles, and particularly the female walking style. But we will get to that later in Section

48 End Retargeting vs. Center Retargeting Figure showed the placements of the retargeting points when using End Retargeting (with retargeting points at the end of the bodies and bones). However, we also want to see the behaviour of the ragdoll and, therefore, the resulting output animation when retargeting points are not set at the end but instead at the center of the bodies and bones. We call this the Center Retargeting method. Figure shows the placement of the original (red dots) and extra retargeting points (blue dots) of the Center Retargeting method. Figure Center Retargeting: Ragdoll with positions of original retargeting points (red dots) and extra retargeting points (blue dots) 48

49 The only retargeting points that did not change positions are the hip retargeting points, since the hip retargeting points do not have their own bodies, but instead are on the same body (pelvis) as the root retargeting points Physics update rate and animation sample rate Besides extra retargeting points, another set of parameters that is important for stabilizing motions of the ragdoll are: physics update rate and animation sample rate. The first parameter, physics update rate, is also called physics simulation timestep [Phya]. In Section 4.4 we explained the technique of our method. At each timestep we calculate the forces that are needed to minimize the distance between the ragdoll and the input skeleton and then the physics simulation is updated. A higher physics update rate (which means smaller timesteps) therefore results in more updates. Since we use keyframe animations, we also want these animations to have enough position data updates for our method. When we call the position of the input skeleton at a certain time it is possible that there is no pose stored in the keyframe animation at the requested time, instead the nearest keyframe is used. Of course we can interpolate to get the pose at that time, but when using update rates a lot higher than the average animation sample rate of 30fps, interpolation will not be the solution anymore. Therefore, a higher animation sample rate is needed, which means resampling of animations to a higher sample rate (upsampling) Spring and damper settings During the simulation, forces are applied on the ragdoll s rigid bodies to simulate the input skeleton. These forces are determined by spring-damper systems. Therefore, as we have seen in the preliminary experiments in Chapter 3, settings of the springdamper systems play an important role in the accuracy and behaviour of the simulation. The spring-damper systems are the basis of our method. Varying spring and damper settings results in different output animations. This is also what we want, since we want to adjust motions to other styles besides being able to simulate an animation one-on-one. The most important parameters of our method are now explained. We will now show what results we will get and how we will review them. 49

50 4.6. Showing and reviewing results Dependent on the experiment we will show and discuss screenshots, movies and graphs generated from the experimentation data. We will review the resulting simulations by looking at remarkable behaviours, differences but also similarities shown in these screenshots, movies and graphs. Besides recording movies and screenshots during the simulations, we will keep track of the following data: Positions of retargeting points Distances between retargeting points on input skeleton and ragdoll o from these distances we will calculate the minimum, maximum, average distance and the standard deviation of each retargeting point Linear velocities of the retargeting points Rotations of joints (rotation angles) Angular velocities of these rotations Some important information regarding reading and understanding the resulting graphs. Directions: positive x-direction = left of character (as seen from the character) negative x-direction = right of character (as seen from the character) positive y-direction = upward negative y-direction = downward positive z-direction = forward (toward camera) negative z-direction = backward (away from camera) Units (unless otherwise noted): positions are world positions in cm distances are in cm time is in seconds velocities are in cm/second rotation angles are in degrees angular velocities are in degrees/second 50

51 4.7. Framework Before moving on to the experiments, some information about the framework. For the preliminary experiments we used a small test framework which was build on OGRE [Ogr] and ODE [Ode], this was sufficient for our preliminary experiments. However, for the implementation of our method a more complex framework is needed. We will use the 3D engine RAGE (build by Utrecht University Computer Science department Games and Virtual Worlds research group), which is also built on OGRE, but instead is a complete game engine compared to the previous used framework. RAGE has native support for animation data (BVH and FBX). As physics engine we will use Nvidia s PhysX [Phyb] instead of ODE. We have chosen for Nvidia s PhysX because performance is an important factor for our method. 51

52 5. Experiments: to show what is needed for our technique to produce valid results We will now show what is needed for our technique to produce valid results. We will use End Retargeting instead of Center Retargeting, since this method is better at oneon-one simulations, as we will show in Chapter 6. Also, we use the same spring and damper settings for each experiment to get comparable results. These are the settings that result in the best one-on-one simulation Experiment 1: constrain movements to human-like motions with joint limits During preliminary tests we already came by the joint parameter joint limits. Joint limits constrain the movements of a joint, like the behaviour of human joints in the real world. Figure Rotation limit of the ragdoll s knee 52

53 With this experiment we want to show if joint limits need to be set to simulate the input skeleton Setup We use a standard human skeleton model (as mentioned in Section 4.1) as input skeleton. The input animation is a standard straight forward walking animation played forward and backward. We focus on the left knee joint, because joint limits are almost reached here during the input walking animation. We set the rotation limits of the knee joint to minimum 0 and maximum 180 degrees, which means the calf is able to rotate away from the thigh from 0 to 180 degrees in one way as shown in Figure To show the behaviour of the left leg during the experimentation, we will show the orientations of the left knee and the distances during the simulation of the left knee and left ankle. We also show information of the left ankle because the motions of the left knee influence the motions of the left ankle. We do this by showing generated graphs from the experimentation data, and also with recorded movies and screenshots of the simulation. To show the different behaviours when disabling and enabling joint limits, we will run the experiment with four different setups: Enable all retargeting points and disable knee joint limits Enable all retargeting points and enable knee joint limits Disable knee retargeting points and disabled knee joint limits Disable knee retargeting points and enable knee joint limits 53

54 Results: all retargeting points enabled and knee joint limits disabled/enabled In order to see the influence of joint limits, we first enable all retargeting points while disabling the knee joint limits. The resulting animation can be seen in Movie Movie All retargeting points enabled, knee joint limits disabled All RetPoints enabled no knee jointlimit (Xvid).avi 54

55 Movie shows that there are no problems on first sight when simulating the original input animation without the joint limits. For comparison, we will show the movie of the simulation with the knee joint limits enabled, see Movie Movie All retargeting points enabled, knee joint limits enabled All RetPoints enabled knee jointlimit (Xvid).avi 55

56 To show if there is a difference between enabling or disabling joint limits, we measure the knee angle (between the left thigh and left calf) while disabling and enabling joint limits and put these in a graph. Left knee angle of ragdoll angle (deg) knee joint limits disabled knee joint limits enabled knee joint limit max angle knee joint limit min angle time (s) Figure Left knee angles of ragdoll during simulation: all retargeting points enabled, knee joint limits disabled/enabled The left knee angles of the ragdoll are shown in Figure First, we want to light out a behaviour of human walking that is shown in the above graph, namely bending of the knee of one leg when the other leg is stepping forward or backward. We will explain this by first giving some information about the input animation. The animation starts with the character standing in a rest pose with both his legs next to each other (at t=0). His legs are almost fully stretched with a knee angle of about 170 degrees. From this standing pose he starts walking by lifting his right leg to do a forward step. During this forward step, the left knee bends in and out (with an angle of about 10 to 20 degrees) to set off and make the forward step with his right leg. Before putting down his right foot, the left knee is already bending in preparation for the forward step with his left leg. The same behaviour also shows for the right leg. This human walking behaviour was captured in the recorded animation, but is also showing in the output animation. This is for example clear to be seen at the first marker on the graph during the second forward step of his right leg. We also notice another remarkable behaviour of the output animation. Although the input animation is a mirrored forward and backward motion, the output animation is 56

57 not. The progress of the graph is roughly the same (mirrored at t = 6.5sec) when comparing the forward motion (t < 6.5sec) with the backward motion (t > 6.5sec). But when looking closer we see lower high-peaks and also somewhat lower low-peaks during the backward motion. This indicates less stretched legs and more bending of the knee during the backward motion. When comparing the two output animations (knee joint limits disabled or enabled), we see that there are only small differences. At the second marker we can see such a difference. The angle of the left knee is about 5 degrees smaller here when joint limits are enabled, meaning a less stretched left leg at the point where the left foot is almost put back down on the ground. But besides this, we see not much difference. In order to see if positions of the left knee and left ankle differ more while the knee angles remain about the same, we will show distances graphs (in Figure 5.1.3) of the left knee and left ankle retargeting points between the input skeleton and the ragdoll. 57

58 Left knee distances between retargeting points of input skeleton and ragdoll - joint limits disabled 1 min distance max distance avg distance std deviation distance (cm) Left knee distances between retargeting points of input skeleton and ragdoll - joint limits enabled 1 min distance max distance avg distance std deviation distance (cm) Figure Various distances between left knee retargeting point on input skeleton and ragdoll: all retargeting points enabled, knee joint limits disabled/enabled In Figure 5.1.3, distances are shown between the left knee retargeting point on the input skeleton and ragdoll. The graph shows a bigger maximum distance when joint limits are enabled, the standard deviation and average distance however show a small improvement, meaning setting joint limits slightly improves the overall simulation but also increases the maximum distance. This increase in maximum distance can be explained. Motions are constrained when setting joint limits, therefore, a position of the input animation might not be reachable due to the joint limits. The input animation is a motion captured animation, incorrect positions and/or rotations are possible during motion capturing and creating the actual animation. 58

59 Left ankle distances between retargeting points of input skeleton and ragdoll joint limits disabled 1 min distance max distance avg distance std deviation distance (cm) Left ankle distances between retargeting points of input skeleton and ragdoll joint limits enabled 1 min distance max distance avg distance std deviation distance (cm) Figure Various distances between left ankle retargeting point on input skeleton and ragdoll: all retargeting points enabled, knee joint limits disabled/enabled When looking at the distances graphs of the left ankle in Figure 5.1.4, we see an overall improvement when enabling joint limits. This means that while differences do not show in the movie, resulting graphs do show differences in favour of the simulation when joint limits are enabled. Besides the angles and distances graphs, we want to show the linear velocity graph in the z-direction (forward/backward direction of the input skeleton and ragdoll). 59

60 Left knee inputlinvel.z vs outputlinvel.z - joint limits disabled linear velocity (cm/s) inputlinvel.z outputlinvel.z time (s) Left knee inputlinvel.z vs outputlinvel.z - joint limits enabled linear velocity (cm/s) inputlinvel.z outputlinvel.z Figure time (s) Left knee inputlinvel.z vs. outputlinvel.z: all retargeting points enabled, knee joint limits disabled/enabled Graphs in Figure show the linear velocities of the retargeting point on the left knee during the simulation. Both graphs show a more smoothed out progression of the linear velocity in the z-direction with less high peaks, which indicate smaller linear velocity changes during the simulation. But we do see a bit more linear velocity changes when joint limits are disabled, making the graph more dense. Also, the nature of keyframe animations is shown here by the peaks going up and down to a zero linear velocity, because of no recorded change in positions in the keyframe animation (with other words there is no recorded keyframe at that time). The output linear velocity however is continually changing and not hitting the zero linear velocity when the left knee is moving. 60

61 The same also applies to the x- and y-direction, but we specifically want to show the linear velocity in the z-direction because it shows another remarkable behaviour. During the backward animation we notice the linear velocity of the ragdoll s left knee is positive for a little bit before going back to a negative linear velocity, as shown at the marked spots. This means that the left knee is moving forwards a bit during the bending motion mentioned earlier, when the other leg is lifted up to do a backward step. This forward motion of the knee is a human walking behaviour when walking backward. However, the input animation is just a recorded forward walking animation played forward and backward. The linear velocity of the input walking animation does not cross the zero linear velocity line while walking forward, therefore, when mirrored (played backward) it still does not cross this line. This means no forward motion of the bending knee is shown in the input animation when walking backward. The input animation itself does not have this behaviour, but due to the constraints of the ragdoll the output animation does show this behaviour. This behaviour is about the same in both output animations as shown in Figure

62 Left knee linear velocity difference between retargeting points of input skeleton and ragdoll joint limits disabled 1 min vel diff max vel diff avg vel diff std deviation linear velocity difference (cm/s) Left knee linear velocity difference between retargeting points of input skeleton and ragdoll joint limits enabled 1 min vel diff max vel diff avg vel diff std deviation linear velocity difference (cm/s) Figure Various linear velocity differences between left knee retargeting points of input skeleton and ragdoll: all retargeting points enabled, knee joint limits disabled/enabled When looking at the linear velocity difference graphs in Figure 5.1.6, we see a large maximum distance. However, this value can be ignored, since this maximum value takes place when the linear velocity of the input animation is zero, because of the lack of keyframe information while the left knee is still moving. To show this behaviour, we included the maximum distance in the graph. The average and standard deviation do not show much difference between both simulations, indicating that the joint limits do not have much influence on the linear velocity. The same can be said about the linear velocity difference graphs of the left ankle in Figure

63 Left ankle linear velocity difference between retargeting points of input skeleton and ragdoll joint limits disabled 1 min vel diff max vel diff avg vel diff std deviation linear velocity difference (cm/s) Left ankle linear velocity difference between retargeting points of input skeleton and ragdoll joint limits enabled 1 min vel diff max vel diff avg vel diff std deviation linear velocity difference (cm/s) Figure Various linear velocity differences between left ankle retargeting points of input skeleton and ragdoll: all retargeting points enabled, knee joint limits disabled/enabled As previous graphs in Figure show, there are velocity differences (regardless of disabled or enabled joint limits), and these are positive differences. Graphs show that the output animation has more smoothed out linear velocities, indicating a smoother and, therefore, more natural animation while still simulating the original walking animation. This is because of the difference with the nature of keyframe animations, which only have positional data information at certain keyframe times and, therefore, only change of velocities at those times. This nature of keyframe animations also explains the high velocity difference, since in between keyframes there are no position and, therefore, no velocity changes while the ragdoll continuously has position and 63

64 velocity changes. But we will go deeper into this later on in Section 5.4, which is about stabilizing motions with smaller physics timesteps and higher (re)sampled animations. From these graphs (Figures ) and movies (Movies and 5.1.2) of the simulations, we can conclude that when we use all retargeting points and disable the knee joint limits, we do not get incorrect joint orientations while simulating the input skeleton. There are some differences but these differences are small and not noticeable in the output animation. The many retargeting points take care of animating the ragdoll correctly, when we try to simulate the input animation as close as possible. We did notice an important aspect of human walking behaviour during our first experiment. We noticed the left knee bending in and out to set off and make a forward step with the right leg, this was clearly shown in Figure (first marker). The same behaviour also showed for the right leg. This human walking behaviour was captured in the recorded input animation and was also to be seen on the graph of the output animations (Figure 5.1.2). Also, we noticed a human behaviour in the output animation during the backward played forward motion. This is shown in Figure 5.1.2, where lower low- and highpeaks indicated less stretched legs and more bending of the knee when walking backward. The input backward animation, however, is just a mirrored animation of the forward animation and does not have this behaviour, but the output animation does show this human walking behaviour. Therefore, this behaviour was just the result of how the ragdoll behaves when walking backward, without actually setting this behaviour on the ragdoll. Another remarkable behaviour was shown when looking at the linear velocity in the z- direction. Figure showed that in the output animation the knee was moving a bit forward, during the bending motion mentioned above when walking backward, while the input animation does not have this motion. This forward motion of the knee is also a human walking behaviour, when walking backward, and as above the result of how the ragdoll behaves when walking backward, without setting this behaviour on the ragdoll. This behaviour was however independent of disabling or enabling joint limits. To show that in other circumstances joint limits are really needed, we will set up an experiment where joint limits do make a difference. We will disable the knee 64

65 retargeting points on the knee and see how the legs behave with and without joint limits. This is also a necessary experiment, since we want to experiment with disabling certain retargeting points Results: knee retargeting points disabled and joint limits disabled/enabled Now, we disable the knee retargeting points, since we did not get much difference as showed in previous experiment, when all retargeting points are enabled. Figure shows a screenshot of the output animation, when knee retargeting points and joint limits both are disabled. 65

66 Figure t = 3 sec : knee retargeting points disabled, knee joint limits disabled left: input animation, right: output animation Figure shows that incorrect angles are introduced when we disable the knee retargeting points, while the knee limits are disabled as well. This is even more clear in Movie

67 Movie Knee retargeting points disabled, knee joint limits disabled Knee RetPoints disabled - no knee jointlimit (Xvid).avi Movie shows both legs bending further at the knee joints than humanly possible. For comparison we will show a screenshot and the movie of the simulation with the knee joint limits enabled, while still disabling the knee retargeting points. 67

68 Figure t = 4 sec : knee retargeting points disabled, knee joint limits enabled left: input animation, right: output animation Here we see the legs of the output animation are not oriented the same as the input animation, but they are still humanly correct. 68

69 Movie Knee retargeting points disabled, knee joint limits enabled Knee RetPoints disabled - knee jointlimit (Xvid).avi Movie shows a simulation with not the same leg orientations as the input animation, but more importantly the resulting output animation is still humanly possible. 69

70 The difference when disabling and enabling joint limits is also shown clearly in the following knee angle graph, in Figure Left knee angle of ragdoll angle (degrees) time (sec) knee joint limits disabled knee joint limits enabled knee joint limit max angle knee joint limit min angle Figure Left knee angles of ragdoll during simulation: Knee retargeting points disabled, knee joint limits disabled/enabled As we have mentioned earlier, the minimum knee angle limit is zero degrees and the maximum knee angle limit is 180 degrees, these limits are also shown in the graph. The graph clearly shows that the left knee angle crosses the maximum limit with about 60 degrees when joint limits are disabled, while the left knee angle stays safe below the maximum limit of 180 degrees, when joint limits are enabled. During our first experiment we also noticed that peaks in Figure are slightly lower during the backward animation, which means a smaller knee angle range. Now, we see this behaviour as well, but the differences are now a lot larger than our first experiment. When knee joint limits are disabled, we see angles between 120 and 220 degrees during the backward animation instead of angles between 140 and 240 degrees during the forward animation. When joint limits are enabled we see angles between 120 and 170 degrees during the backward animation instead of angles between 140 and 170 degrees during the forward animation. This shows the human behaviour of bending the knee more when walking backward. Also, when looking at the graph when joint limits are enabled we see a familiar characteristic of the behaviour of the left knee (angle) at the markers. This was also to be seen in Figure and discussed in our previous experiment (when all retargeting 70

71 points were enabled). We see the left knee is also bending in a bit when the right leg is stepping forward, the same goes for the right knee. However, in this case we have disabled the knee retargeting points, this means that the knees are not forced to do this bending motion when the other leg is stepping forward. But nevertheless, these motions appear in the output animation and are the result of the walking behaviour of the ragdoll. Next, we will show the distances graphs in Figure , these clearly show the incorrect orientations of the left knee. Left knee distances between retargeting points of input skeleton and ragdoll - joint limits disabled 1 min distance max distance avg distance std deviation distance (cm) Left knee distances between retargeting points of input skeleton and ragdoll - joint limits enabled 1 min distance max distance avg distance std deviation distance (cm) Figure Various distances between left knee retargeting points on input skeleton and ragdoll: knee retargeting points disabled, knee joint limits disabled/enabled 71

72 Graphs in Figure show that every distance of the left knee is doubled when joint limits are disabled. This is not surprising, since we have already seen the incorrect position of the knee when joint limits are disabled. Left ankle distances between retargeting points of input skeleton and ragdoll joint limits disabled 1 min distance max distance avg distance std deviation distance (cm) Left ankle distances between retargeting points of input skeleton and ragdoll joint limits enabled 1 min distance max distance avg distance std deviation distance (cm) Figure Various distances between left ankle retargeting points on input skeleton and ragdoll: knee retargeting points disabled, knee joint limits disabled/enabled The left ankle, however, as shown in Figure , shows that when joint limits are disabled the output animation has a better left ankle positioning. This is because there are no constraints on the left knee, resulting in more freedom of movement for the left ankle to get to its correct position. 72

73 Conclusions We have seen the behaviour of the simulation when joint limits are disabled and enabled, while all retargeting points are enabled or while the knee retargeting points are disabled. While experimenting, we noticed a few remarkable human walking behaviours in combination with the behaviour of the ragdoll. During our first experiment, when all retargeting points were enabled and joint limits were disabled and enabled, we noticed the knee bending behaviour during a forward or backward step which was clearly shown in Figure (for example at the first marker). We noticed the left knee bending in and out to set off and make a forward step with the right leg. The same behaviour also showed for the right leg. This human walking behaviour was captured in the recorded input animation and was also to be seen on the graph of the output animations. During our second experiment, when knee retargeting points were disabled and joint limits were disabled and enabled, we noticed the same knee bending behaviour again. The same bending behaviour occurred although the knees were not forced anymore to simulate this knee bending motion. Therefore, this bending behaviour was the result of the joint limit of the knees and other constraints and parameters of the ragdoll. Also, we noticed a human walking behaviour in the output animation during the backward played forward motion. This was first shown in Figure where lower low- and high-peaks indicated less stretched legs and more bending of the knee when walking backward. The input backward animation, however, is just a mirrored animation of the forward animation and does not have this behaviour, but the output animation does show this human walking behaviour. This behaviour was even more clearly shown when knee retargeting points were disabled, see Figure Lower angles have now dropped with 20 degrees. This was also just the behaviour of how the ragdoll walks backward, without setting this behaviour on the ragdoll. Another human walking behaviour was shown during this backward played forward animation. Figure showed the forward motion of the left knee when walking backward, shown at the markers. During the same bending motion of the knee, as mentioned above, we noticed that the knee was moving forward a bit, while the input animation did not have these motions. This is however a human behaviour when walking backward and was the result of the walking behaviour of the ragdoll, while no 73

74 such behaviour was set on the ragdoll. This behaviour was independent of disabling or enabling joint limits. From the experiments in this section, we have seen that when simulating an animation as close as possible, there is not really the need to use joint limits when enough retargeting points are used. There are some differences, but these differences are small. To show that joint limits are needed in other circumstances, we ran the experiment with the knee retargeting points disabled. The resulted simulation showed that when joint limits are disabled, incorrect orientations and angles are introduced. Since we want to adjust and correct motions and since we do not want situations where joints might end up with incorrect orientations and angles, we do need joint limits to constrain the movements of our ragdoll to rule out incorrect motion behaviours due to incorrect orientation and angles of joints. 74

75 5.2. Experiment 2: stabilize joints with extra retargeting points and joint stiffness One of the issues of our method is stabilizing motions of the ragdoll, since the ragdoll is only driven by external forces applied on the bodies. More freedom of movement at a joint means more unstable wobbling motions. In particular the spherical spine joints are sensitive to movements when large forces apply on them. That is why we choose to focus on the spine, to show that we need to stabilize joints to achieve stable and correct motions. To achieve this, we will use extra retargeting points and joint stiffness to stabilize the joints Setup For this experiment we will also use a standard human skeleton model as input skeleton. The input animation is the same straight walking animation played forward and backward. And as mentioned above, we will focus on the spine joint and in particular the first spine joint above the root joint of our ragdoll (which corresponds to the vl5 joint [Hum] of our input skeleton, see also Figures and 4.2.1). Specifically, we will look at the extra retargeting point next to it (see Figure 4.5.3), since unstable wobbling motions are easy to be seen here. From now on, we will call this point spine@pt1 (spine@extra retargeting point 1), which is positioned 15cm on the right of the original spine joint (vl5), as seen from the character. During the simulation we will keep track of the positions, velocities and distances between the retargeting points of the input skeleton and the ragdoll. We will then show the results with generated graphs from the experimentation data, recorded movies and screenshots of the simulation. To show that using extra retargeting points and setting joint stiffness are needed to stabilize joints, we will run the experiment with the following setups: Disable joint stiffness and disable extra retargeting points Disable joint stiffness and enable extra retargeting points Enable joint stiffness and disable extra retargeting points Enable joint stiffness and enable extra retargeting points 75

76 Results: joint stiffness disabled and extra retargeting points disabled/enabled In order to see the influence of extra retargeting points, we will disable and enable them, while we disable the joint stiffness of a joint. Figure shows a screenshot of the output animation, when joint stiffness and extra retargeting points are disabled. Figure t = 6 sec : joint stiffness disabled, extra retargeting points disabled left: input animation, right: output animation 76

77 Figure clearly shows the wobbling motion at the spine, especially at the area of interest, indicated here with the red rectangle. Also, because of disabled extra retargeting points, incorrect orientations of bodies (e.g. hands and head) show up. This is shown more clearly in Movie Movie Joint stiffness disabled, extra retargeting points disabled left: input animation, right: output animation JointStiffness disabled - Extra RetPoints disabled (Xvid).avi 77

78 Figure and Movie show the resulting simulation with joint stiffness disabled and extra retargeting points enabled. Figure t = 5 sec : joint stiffness disabled, extra retargeting points enabled left: input animation, right: output animation 78

79 Movie Joint stiffness disabled, extra retargeting points enabled JointStiffness disabled - Extra RetPoints enabled (Xvid).avi Figure and Movie show the use of extra retargeting points, to stabilize joints and motions. There are still some wobbling motions, but far less than in the previous setup (joint stiffness disabled and extra retargeting points disabled). Also, the hands and head are not rotating away now, but instead follow the original input animation. Therefore, extra retargeting points are needed to stabilize the joints and motions and prevent unwanted rotations but, as we will show in Section 5.3, are needed as well to simulate rotations. 79

80 For now, we will only focus on the unstable wobbling motions and review the results by showing the following graphs of the simulation data. We will first show the position graphs between the two output animations. The first graph in Figure shows that results are somewhat the same in the x-direction, when extra retargeting points are disabled or enabled. The line of the simulation when extra retargeting points are enabled, however, shows some lower peaks indicating that the extra retargeting points are constraining motions that can lead up to an average difference of about one centimeter. The y-position graph (second graph of Figure 5.2.3) shows a lot more difference. The line of the simulation, when extra retargeting points are enabled, clearly shows less smooth curves and also lower peaks, indicating less wobbling motions in the y- direction. This means a better simulation of the input animation. The overall motion in the z-direction (third graph of Figure 5.2.3) seems to be somewhat the same. The simulation, when extra retargeting points are enabled, however, does show a more continuing line. This means less wobbling motions in the z-direction, but these differences are small. 80

81 outputpos.x - joint stiffness disabled position (cm) extra ret points disabled extra ret points enabled time (s) Spine@pt1 outputpos.y - joint stiffness disabled position (cm) extra ret points disabled extra ret points enabled time (s) Spine@pt1 outputpos.z - joint stiffness disabled position (cm) extra ret points disabled extra ret points enabled Figure time (s) Spine@pt1 inputpos.x,y,z vs outputpos.x,y,z: joint stiffness disabled, extra retargeting points disabled/enabled 81

82 The behaviour of the two simulations is shown more clearly in the following distances graphs in Figure distances between retargeting points of input skeleton and ragdoll joint stiffness disabled and extra retargeting points disabled 1 min distance max distance avg distance std deviation distance (cm) Spine@pt1 distances between retargeting points of input skeleton and ragdoll joint stiffness disabled and extra retargeting points enabled 1 min distance max distance avg distance std deviation distance (cm) Figure Various distances between Spine@pt1 retargeting points on input skeleton and ragdoll: joint stiffness disabled, extra retargeting points disabled/enabled The distances graphs in Figure show the differences when extra retargeting points are disabled or enabled. The graphs show that distances are minimal twice as high when extra retargeting points are disabled. This is not surprising, when looking back at the movies and position graphs of the two simulations. 82

83 From previous graphs (Figures and 5.2.4) together with the movies (Movies and 5.2.2) and screenshots (Figures and 5.2.2) of the simulations, we can conclude that extra retargeting points are needed to achieve more stable and less wobbling motions, especially at the joints. Also, extra retargeting points are needed to prevent unwanted rotations, which was clearly to be seen in the movies (Movies and 5.2.2) and screenshots (Figures and 5.2.2). 83

84 Results: joint stiffness enabled and extra retargeting points disabled/enabled We now experiment with disabling and enabling extra retargeting points, while the stiffness of a joint is enabled. The simulation is shown in Movie Movie Joint stiffness enabled, extra retargeting points disabled left: input animation, right: output animation JointStiffness enabled - Extra RetPoints disabled (Xvid).avi Movie shows that setting the joint stiffness highly improves the stability of the joints and the overall motion of the ragdoll. Now, forces need to be higher to actually 84

85 change the orientation of a joint. Too small forces will not be able to orient the joint in an unwanted or incorrect orientation. Wobbling motions are therefore now unnoticeable, especially at the spine. However, we still notice unwanted motions at the feet and incorrect orientation of the hands. We now show if enabling extra retargeting points will remove these unwanted motions and rotations. Movie Joint stiffness enabled, extra retargeting points enabled JointStiffness disabled - Extra RetPoints enabled (Xvid).avi Movie shows a stable and correct simulation of the input animation when extra retargeting points and joint stiffness are both enabled. The unwanted motions at the 85

86 feet and orientations at the hands, which were noticed when only joint stiffness was enabled disappeared as well. Extra retargeting points prevent unwanted motions and rotations, while the joint stiffness removes all unwanted wobbling motions. As mentioned in the previous experiment, we will now only focus on the unstable wobbling motions. We will now show the position graphs of both simulations in Figure

87 outputpos.x - joint stiffness enabled position (cm) extra ret points disabled extra ret points enabled time (s) Spine@pt1 outputpos.y - joint stiffness enabled position (cm) extra ret points disabled extra ret points enabled time (s) Spine@pt1 outputpos.z - joint stiffness enabled position (cm) extra ret points disabled extra ret points enabled Figure time (s) Spine@pt1 outputpos.x: joint stiffness enabled, extra retargeting points disabled/enabled 87

88 When comparing the position graphs of these simulations to the simulations where we disabled joint stiffness (Figure 5.2.3), we see that the simulation now results in more stable graphs. Lines are now going less rapidly up and down, especially in the y- direction. By enabling extra retargeting points, we even get better results. Peaks are lower most of the time when enabling extra retargeting points, which results in a better simulation of the input animation. As mentioned before, besides improving stability, extra retargeting points are used to get all retargeting points to the right position. This is shown in the distances graph, where distances are at least doubled when extra retargeting points are disabled. Spine@pt1 distances between retargeting points of input skeleton and ragdoll joint stiffness enabled and extra retargeting points disabled 1 min distance max distance avg distance std deviation distance Spine@pt1 distances between retargeting points of input skeleton and ragdoll spine stiffness enabled and extra retargeting points enabled 1 min distance max distance avg distance std deviation distance (cm) Figure Various distances between Spine@pt1 retargeting points on input skeleton and ragdoll: joint stiffness enabled, extra retargeting points disabled/enabled 88

89 Conclusions We have shown that there are two parameters to stabilize joints and prevent unwanted wobbling motions. We get more stable joints, when enabling extra retargeting points, also unwanted rotations are prevented. Only enabling extra retargeting points, however, does not completely remove the wobbling motions. By enabling joint stiffness, we do prevent these wobbling motions at the joints, especially at the spine. Now, small forces do not affect the joints and stable motions are the result of this. Experiments also show that only using joint stiffness is not enough for correct positioning. From the graphs (Figures ), screenshots (Figures and 5.2.2) and movies (Movies and 5.2.2) we can conclude that extra retargeting points are needed to get all retargeting points on the ragdoll to the correct position, which prevents unwanted rotations, while joint stiffness is needed to prevent wobbling motions by stabilizing joints and, therefore, the overall motion of the ragdoll. Next, we will show that these extra retargeting points are not only needed to prevent rotations, as we have seen during this experiment, but to simulate rotations as well. 89

90 5.3. Experiment 3: prevent and simulate rotation with extra retargeting points As mentioned in the previous experiment, extra retargeting points are not only needed to prevent rotations but also to simulate rotation of bodies. This is what we will show in this experiment Setup For this experiment, we also use a standard human skeleton model as input skeleton and a straight forward walking animation, played forward and backward. We will focus on the rotation of the right fore arm and in particular the right wrist, since the orientation of the right hand is dependent on the orientation of the right wrist. We will be able to see incorrect rotations by looking at the position of a point on the right hand, called rightwrist@pt1 and has an offset of 5cm from the center of the right wrist. The hands will stay in the default pose, in line of the forearm and will only change orientation when the wrist is rotating. During the simulation, we will keep track of the rotation angles, angular velocities and distances between the point on the input skeleton and the ragdoll. We will then show the results with generated graphs from the experimentation data, recorded movies and screenshots of the simulation. To show that extra retargeting points are needed to simulate and prevent rotation, we will run the experiment with the following setups: Disable extra retargeting points Enable extra retargeting points 90

91 Results: extra retargeting points disabled/enabled First, we will show the simulation with extra retargeting points disabled. A screenshot of the resulting animation is shown in Figure and the movie of the simulation is shown in Movie Figure t = 6 sec : extra retargeting points disabled left: input animation, right: output animation 91

92 Movie Extra retargeting points disabled left: input animation, right: output animation ExtraRetPointsForRotationsDisabled (Xvid).avi Figure and Movie clearly show the incorrect orientation of the hands (and head, but we will now only focus on the hands). Now, only the original retargeting points are used (see Figure 4.5.3). Therefore, no rotational motions are simulated and incorrect rotations occur at joints, since they all have a certain rotational freedom. 92

93 For comparison we will show the movie of the simulation when extra retargeting points are enabled, see Movie Movie Extra retargeting points enabled ExtraRetPointsForRotationsEnabled (Xvid).avi To show the incorrect orientation of the hands we will show the local rotation angles of the right wrist of both simulations in the next graph. We define this local rotation as the rotation of the forearm (since the rotation of the wrist is the rotation of the forearm) relative to the upper arm with the vector from center of elbow to center of wrist as rotation axis. 93

94 Right wrist rotation of ragdoll rotation angle (deg) extra ret points disabled extra ret points enabled max rotation limit time (s) Figure Rotation about rotation axis of right wrist of ragdoll extra retargeting points disabled vs. enabled The graph in Figure clearly shows incorrect orientations when extra retargeting points are disabled, compared to when extra retargeting points are enabled. The correct rotation of the right wrist is almost all the time around 40 degrees, meaning the orientation of the right hand is about 40 degrees inward (from the default pose of the hand), during the walking animation. The progress of the line of the first simulation, when extra retargeting points are disabled, first shows a rotation in the opposite direction (outward rotation) from the initial orientation and then switches between rotating inward and outward (time= +/- 0-4sec). After this, the graph shows rotations from about an angle of 40 degrees towards the maximum rotation angle of 90 degrees inward (time=4-7sec). During the backward walking animation the right hand stays at around 90 degrees inward for about 3 seconds (time=7-10sec), ending with two more inward rotations hitting the 90 degrees limit again, before going back towards an angle of 40 degrees. Before continuing, we want to explain the marked decreasing and increasing of rotation angles, while in the movie the orientation of the hand is about the same as seen from the camera. As mentioned earlier, the shown rotations are local (forearm) rotations, meaning rotations of the forearm relative to the upper arm. At the marked spot, the right upper arm rotates inward and outward, while the forearm stays the same, causing the decrease and increase of the right forearm/wrist rotation. 94

95 Next, we will show the angular velocities (about the rotation axis of the forearm) of both simulations. Right wrist angular velocity of ragdoll angular velocity (deg/s) extra ret points disabled extra ret points enabled Figure time (s) Angular velocities of right wrist@pt1 of ragdoll (output animation) extra retargeting points disabled vs. enabled The first things we notice in Figure 5.3.3, are the higher peaks which indicate higher angular velocities (positive and negative), while at these points they should have been a lot lower. The second thing we notice, are the marked moments where the angular velocity of the first simulation (when extra retargeting points are disabled) increases while the angular velocity of the second simulation decreases. Both behaviours of the first simulation are the result of incorrect rotations, when extra retargeting points are disabled. 95

96 Right distances between retargeting points of input skeleton and ragdoll extra retargeting points disabled 1 min distance max distance avg distance std deviation distance (cm) Right wrist@pt1 distances between retargeting points of input skeleton and ragdoll extra retargeting points enabled 1 min distance max distance avg distance std deviation distance (cm) Figure Various distances between right wrist@pt1 retargeting points on input skeleton and ragdoll: extra retargeting points disabled/enabled From the distances graphs in Figure 5.3.4, we can conclude that due to the incorrect rotations, distances (of the earlier mentioned point on the right wrist) are doubled when extra retargeting points are disabled. 96

97 Conclusions We have seen that without the extra retargeting points, incorrect rotations occur. Previous experiment showed incorrect rotations of the hand, compared to the input animation. The graph of the rotation angle clearly shows the incorrect behaviour of the first simulation (when extra retargeting points are disabled), the line goes up and down between 20 and 90 degrees, while it should be stable at around 40 degrees like the original input rotation. Because of these incorrect rotations, we also see a lot of difference in the angular velocity and especially in the distances graph, which is not surprising. When looking back at the graphs, movies and screenshots, we can conclude that this experiment has clearly shown that extra retargeting points are really needed to prevent and to simulate rotation. 97

98 5.4. Experiment 4: stabilize motions with higher physics update rate and higher animation sample rate We have already seen that extra retargeting points and joint stiffness stabilize motions of the ragdoll and, therefore, the output animation. Besides these parameters, two other parameters are important to achieve stable simulations. The first parameter is the physics simulation timestep or update rate of the physics engine. We will show the influence of smaller physics timesteps (more position updates). Also, we have already mentioned the nature of keyframe animations, poses of the skeleton are only stored at recorded keyframe times. When we call the position of the skeleton at a certain time, it is possible that there is no pose stored in the keyframe animation at the requested time, instead the nearest keyframe is used. Of course, we can interpolate to get the pose at that time, but when using update rates much higher than the average animation sample rate of 30fps, interpolation will not be the solution anymore Setup We set the (variable) physics update rate to 1/1000sec, however this timestep is not always reached during the simulation, but it will give us good enough results. Due to the various force calculations an average update rate of 1/170sec is reached. We resample our animations 6 times to 180fps (6 x 30fps), which will give us enough position data for our method. We will show why these high physics update rate and animation sample rate are needed and that low physics update rates and sample rates will result in incorrect, unstable and unpredictable simulations. Also, we will focus on the left foot, since unstable motions are easy to be seen here, when the physics up rate and the animation sample rate are low. We will run the experiment with the following setups: Low physics update rate and low animation sample rate (default physics update rate of 1/60sec and default animation sample rate of 30fps High physics update rate and high animation sample rate (physics update rate of 1/1000sec, with an average of 1/170sec, and an animation sample rate of 180fps) 98

99 Results: low vs. high physics update rate and animation sample rate First, we will show the simulation with a low physics update rate and a low animation sample rate. Figure t = 5 sec : low physics update rate, low animation sample rate left: input animation, right: output animation 99

100 Movie Low physics update rate, low animation sample rate left: input animation, right: output animation lowUpdate rate - lowsample rate (Xvid).avi Movie shows unstable motions, when using a low physics update rate and a low animation sample rate. This is also clearly to be seen in Figure 5.4.1, we see an incorrect foot placement. We especially see these unstable motions at the shoulder joints and feet, they both go up and down during the simulation, while the input animation does not have these motions. 100

101 We will now use a high physics update rate and animation sample rate. The resulting movie is shown in Movie Movie High physics update rate, high animation sample rate highUpdate rate - highsample rate (Xvid).avi Movie shows a stable and correct simulation. The up and down movements of the shoulder and feet have disappeared. The following graphs will show the differences when using low or high physics update rates and animation sample rates. 101

102 First, we will show the angle of the left foot relative to the left calf. This angle is dependent on the ankle joint, but for this experiment we will call this the left foot angle. The graph of the left foot angle (Figure 5.4.2) should show the incorrect motions, since both feet were going up and down rapidly during the incorrect simulation (Movie 5.4.1). Left foot angle of ragdoll angle (degrees) low physics update rate and animation sample rate high physics update rate and animation sample rate ankle joint limit max angle ankle joint limit min angle time (sec) Figure Left foot angle: low vs. high physics update rate and animation sample rate The default angle of the left foot, relative to the left calf, is at about 90 degrees and this is also the start angle in our simulation. The minimum joint limit angle is -45 degrees and the maximum joint limit angle is +45 degrees. Therefore, the left foot has a rotation range of 45 to 135 degrees as shown in the graph. Both simulations, however, stay safe within the limits. We do see bigger and more rotations in the first simulation (low physics update rate and animation sample rate) compared to the second simulation (high physics update rate and animation sample rate), which has smaller rotation changes. Also, at certain points in the first simulation, the rotation angle increases and decreases with 20 degrees, while the rotation angle of the second simulation stays at about the same angle. Figure clearly shows the unwanted up and down rotation behaviour of both feet, during the first simulation. 102

103 Left foot outputpos.x position (cm) low physics update rate and animation sample rate high physics update rate and animation sample rate time (s) Left foot outputpos.y position (cm) low physics update rate and animation sample rate high physics update rate and animation sample rate time (s) Left foot outputpos.z position (cm) low physics update rate and animation sample rate high physics update rate and animation sample rate Figure time (s) Left foot outputpos.x,y,z: Low vs. high physics update rate and animation sample rate 103

104 We also see the same on the position graphs of the left foot, in Figure Both simulations are able to follow the input animation, but the simulation with a higher physics update rate and animation sample rate shows better results, especially in the y- direction. For example, we see the line of the first simulation going up and down when it should only be a line going upward. This is clearly shown at the markers at or near the zero position. This indicates that up and down motions appear, when there is only an upward motion. Also, the line of the first simulation continues its path upward/downward, while the line of the original input animation is already going the other way. This behaviour is shown at the marked peaks. This indicates that up and down motions continue its directions, before moving in the correct way. This unstable behaviour, however, is less shown in the second simulation. 104

105 Left foot distances between retargeting points of input skeleton and ragdoll low physics update rate and animation sample rate 1 min distance max distance avg distance std deviation distance (cm) Left foot distances between retargeting points of input skeleton and ragdoll high physics update rate and animation sample rate 1 min distance max distance avg distance std deviation distance (cm) Figure Various distances between left foot retargeting points on input skeleton and ragdoll: low vs. high physics update rate and animation sample rate The distances graphs in Figure show that there is a lot of distance differences between the two simulations. Distances are at least twice as high when a low physics update rate and animation sample rate are used. This is not surprising, after seeing the rotation and position graphs. 105

106 Conclusions We have shown that using a higher physics update rate and animation sample rate results in a better simulation of the input animation. We do not have enough position updates, when using low physics update rates to achieve a stable simulation. The solution for this problem is more frequently position updates. Besides this, we also need to use animations with a higher sample rate, otherwise we will not have enough position data for the physics driven animation to work with. A possibility is using interpolation of the keyframe animation, but this is not doable when using high physics update rates and will result in slower performance and eventually in unstable simulations. The left foot angle graph (Figure 5.4.2) clearly showed the unstable and incorrect behaviour, when a low physics update rate and animation sample rate are used. From previous graphs (Figures ), screenshots (Figure 5.4.1) and movies (Movies and 5.4.2) we can conclude that a higher physics update rate and animation sample rate are needed to achieve a stable simulation. 106

107 6. Experiments: to show that we can adjust motions to other styles During previous experiments in Chapter 5, we have shown the different parameters that were important for our technique to produce valid results. We will now show that our method can adjust motions to other styles. Style improves the naturalness of an animation and affects the way a virtual human moves. Styles can be divided in static (such as age and sex) and dynamic (such as emotion) characteristics [vwvbero09]. In order to show that we can adjust motions to other styles, we will first show that we can simulate motions of the input character one-on-one on the ragdoll and, therefore, on the output character (virtual human). Then, we will adjust motions to other styles by varying the parameters mentioned below. These styles are: Lazy walking Fierce walking Fatty walking Female walking Dependent on the style we want, we will show how different parameters and techniques influence the resulting animation, these are: Spring and damper settings Frictions Density of rigid bodies Gravity Disabling of retargeting points External Forces End Retargeting vs. Hybrid Center Retargeting Since it cannot be measured if, for example, a walking animation is a lazy walking animation, we will only show and discuss visual results and comparisons when adjusting motions to other styles. 107

108 6.1. Experiment 1: One-on-one simulation In order to show that we can adjust motions to other styles, we will first show that we can simulate motions of the input animation one-on-one on the ragdoll Setup To be able to simulate the input animation one-on-one, we first have to set the necessary parameters. These parameters are the ones discussed in the previous chapter, like joint limits and joint stiffness, but besides these, we also need to set the correct spring and damper settings to get the output animation as close as possible to the input animation. During previous experiments, we set the spring and damper parameters at the same values, to be able to compare results independent from the spring and damper settings. Now, we only need to vary the spring and damper settings, since the purpose here is to get an animation as close as possible to the input animation. Also, we will show the differences between End Retargeting and Center Retargeting, since these represent the two different variations of our technique. We will show how the type of retargeting influences the output animation. To show that we can simulate motions of the input animation one-on-one, we will show movies together with distances graphs, to compare the output animation to the input animation. We will also focus on the root joint position and orientation, and show its positions and orientations during the simulation, since the root is one of the more important joints to show the overall position and orientation of the character. The different setups will be: Varying spring and damper settings Using End Retargeting vs. Hybrid Center Retargeting 108

109 Results: varying spring and damper settings For this experiment, we vary these settings until we get the best animation output, an animation as close as possible to the input animation. This result is shown in Movie For now, we will only use End Retargeting. Movie Output Animation: One-on-one simulation End Retargeting left: input animation, right: output animation One-on-one Simulation (Xvid).avi 109

110 Movie shows (almost) no difference between the input and the output animation, indicating that we can visually simulate an animation one-on-on. We will generate the necessary graphs to see if they show the same. First, we will show the position graphs of the root joint of the output animation compared to the input animation (Figure 6.1.1). 110

111 Root inputpos.x vs. outputpos.x position (cm) inputpos.x outputpos.x time (s) Root inputpos.y vs. outputpos.y position (cm) inputpos.y outputpos.y time (s) Root inputpos.z vs. outputpos.z position (cm) inputpos.z outputpos.z Figure time (s) Root inputpos.x,y,z vs. outputpos.x,y,z: Output animation: One-on-one simulation End Retargeting 111

112 In Figure 6.1.1, the graph in the z-direction clearly shows that there is almost no difference in the forward motion of the character at the root joint. The x-direction graph shows some difference, but these differences are small. The most noticeable differences in this graph are at the peaks where the character is starting to walk backward. During the experiments in the previous chapter, we have also seen that the motion of the ragdoll is somewhat different and is showing human walking behaviours during the backward animation. While the input animation is just a forward walking animation, played forward and backward. In the y-direction, we also notice more differences during the backward animation, although the differences are only about 0.5 cm on average. This means, the overall motion of the output animation is the same as the input animation. There are some differences, especially during the backward walking animation, but these differences are small. In order to see if the root of the output animation is also oriented the same way as the input animation, we will show the orientation of the root joint. Root rotation of input animation vs. output animation rotation angle (deg) input rotation output rotation time (s) Figure Root input rotation vs. output rotation Output animation: One-on-one simulation End Retargeting The graph in Figure represents the rotation of the root joint relative to the world s y-axis. An angle of zero degrees (no rotation about the rotation axis) means facing straight forward to the camera. The graph shows that there are some small orientation differences, varying from 2 to 4 degrees. We also notice here that these 112

113 differences are bigger although the rotations itself are lower during the backward animation. This indicates that during the backward animation the body is more facing toward the camera. Also, the progress of the output animation line is different (see marked points) compared to the input animation line, during the backward animation. This is also due to the same backward walking behaviour mentioned in the previous chapter. The progress is about the same, during the forward animation, only the rotations are a bit bigger. To compare the overall motion of the output animation to the input animation we will first show the distances graph of the root and then the distances graph of all joints used. Root distances between input animation and output animation 1 min distance max distance avg distance std deviation distance (cm) Figure Various root distances between input animation and output animation Output animation: One-on-one simulation - End Retargeting Figure shows that while the maximum distance is about 3 cm, the average distance is lower than 1 cm with a standard deviation of about 0.5 cm. This shows that the distance of the root between the input and output animation is quite small at all times. The next graph shows the distances of all joints used. 113

114 Distances between input animation and output animation skullbase r_sternoclavicular vt10 vc4 root r_subtalar vl3 vl1 r_shoulder vl5 vc2 l_subtalar l_wrist l_foot r_foot min distance max distance avg distance std deviation l_hip r_hip l_sternoclavicular r_wrist l_shoulder l_ankle l_knee r_ankle l_elbow r_elbow r_knee distance (cm) Figure Various distances between joints of the input skeleton and ragdoll Output animation: One-on-one simulation - End Retargeting Figure shows that large maximum distances mostly occur at the legs and the arms. These distances vary from 3 to 7 cm. The average distances however are a lot smaller and vary between 1 and 2 cm, with a standard deviation of 0.5 to 1 cm. Therefore, we can conclude that the overall distances are not that high. 114

115 When looking back at the previous graphs and the shown movie we can say that although there are some differences (mostly due to the backward walking behaviour), for example when looking at the orientations and maximum distances, the overall motion of the output animation is the same as the input animation. This is clearly to be seen in the movie (Movie 6.1.1), the position graphs (Figures 6.1.1) and the average and standard deviation distance graphs (Figure 6.1.4). This means that although there are some underlying differences, when looking in more detail, our method is able to simulate an animation one-on-one Results: using End Retargeting vs. Hybrid Center Retargeting In the previous experiment, we showed that we can simulate an animation one-onone. We will now show what the influence of the type of retargeting is on the output animation. As mentioned earlier in Section 4.5.4, we have two types of retargeting: End Retargeting and Center Retargeting. The positions of the retargeting points of each method are shown in Figure (End Retargeting) and in Figure (Center Retargeting). During previous experiments we used End Retargeting. We will now show the results when using Center Retargeting, since we also want to see the motion behaviour of Center Retargeting when adjusting motions to other styles. The resulting animation of the one-on-one simulation, when using Center Retargeting, can be seen in Movie

116 Movie Output animation: One-on-one simulation - Center Retargeting left: input animation, right: output animation CenterRetargeting (Xvid).avi Movie shows some differences between the input and the output animation. The first thing we notice are the legs, more bouncing motions can be seen here. Also, both feet are not standing still, when they are planted on the ground. They tend to move back and forth and sideways, indicating unstable motions. We also notice that the knees seem to bend more to the sides, during the walking animation. The overall motion of the body, however, seems smoother with more bouncing motions, making the walking motion less stiff and in this case more natural (apart from the feet). 116

117 Root outputpos.x of end retargeting vs. center retargeting position (cm) end retargeting center retargeting time (s) Root outputpos.y of end retargeting vs. center retargeting position (cm) end retargeting center retargeting time (s) Root outputpos.z of end retargeting vs. center retargeting position (cm) end retargeting center retargeting Figure time (s) Root outputpos.x,y,z of End Retargeting vs. Center Retargeting Output animation: One-on-one simulation 117

118 In Figure 6.1.5, we show the position graphs of both output simulations, to see the differences between End Retargeting and Center Retargeting. The bouncing motions are shown in the graphs at the marked spots. Now, when a motion changes its direction, a more curved line appears instead of and abrupt change of direction. This is especially shown in the x- and y-direction. The z-direction graph in Figure shows some small differences, but these are not noticeable. To see if there are differences between the two simulations, we will show the orientation of the root joint. Root rotation of end retargeting vs. center retargeting rotation angle (deg) end retargeting center retargeting time (s) Figure Root rotation of End Retargeting vs. Center Retargeting Output animation: One-on-one simulation The graph in Figure shows some rotation differences, but we do not see smoother curves like in the position graphs. However, there are two remarkable spots (both marked in the graph), where the Center Retargeting shows a decrease in rotation instead of an increase. At these points, the graph of the original input animation (Figure 6.1.2) also shows a decrease in rotation. This means the Center Retargeting is simulating the rotation of the input animation better, compared to End Retargeting, at those points. But besides that, we do not see a better or worse simulation of the input animation compared to the End Retargeting simulation, when looking at the root rotation graph, in Figure

119 To compare the overall motion of the output animation to the input animation of both simulations, we will first show the distances graph of the root and then the distances graph of all joints used. Root distances between input animation and output animation - end retargeting 1 min distance max distance avg distance std deviation distance (cm) Root distances between input animation and output animation - center retargeting 1 min distance max distance avg distance std deviation distance (cm) Figure Various root distances between input animation and output animation of End Retargeting vs. Center Retargeting Output animation: One-on-one simulation Figure shows small differences between the two simulations. The root has a smaller average distance, as shown in the graph in the End Retargeting simulation, but the Center Retargeting simulation has a lower standard deviation, indicating a smaller deviation of the average distance. 119

120 Distances between input animation and output animation r_shoulder r_elbow l_shoulder vt10 l_wrist vc4 r_sternoclavicular root l_elbow vl5 r_wrist vl1 vl3 l_sternoclavicular vc2 min distance max distance avg distance std deviation skullbase r_hip l_hip l_knee r_knee r_foot l_foot l_ankle r_ankle l_subtalar r_subtalar distance (cm) Figure Various distances between joints of the input skeleton and ragdoll Output animation: One-on-one simulation Center Retargeting The graph in Figure also shows big maximum distances mostly at the legs. Maximum distances are now doubled, compared to the End Retargeting simulation (Figure 6.1.4). When looking at the average distances, we notice a big difference at the subtalars, indicating the unstable feet motions on the ground. The average distance was 1 cm, but in this simulation the average distance is increased to almost 8 cm. The cause of this are less original and extra retargeting points on the feet and at 120

121 less stable positions (when using Center Retargeting compared to End Retargeting, as shown in Figure 4.5.5), while the feet are more sensitive to unstable motions. In order to solve this problem we will use the same retargeting points on the feet as used in the End Retargeting method, see Figure Therefore, our original Center Retargeting method will be a Hybrid retargeting method, using both methods. We will now show the movie and the distances graph of the simulation, when these Center Retargeting points on the feet are replaced by End Retargeting points to stabilize the feet. We will now call this: Hybrid Center Retargeting. 121

122 Movie Output animation: One-on-one simulation Hybrid Center Retargeting left: input animation, right: output animation HybridCenterRetargeting (Xvid).avi 122

123 Distances between input animation and output animation r_elbow r_shoulder r_wrist l_shoulder r_foot root vt10 l_elbow vc4 vl5 r_sternoclavicular vl3 vl1 r_subtalar l_wrist min distance max distance avg distance std deviation l_sternoclavicular vc2 skullbase l_foot l_subtalar r_hip l_hip l_knee r_knee l_ankle r_ankle distance (cm) Figure Various distances of the joints used between input animation and output animation Output animation: One-on-one simulation Hybrid Center Retargeting The resulting output animation clearly shows better feet retargeting in Movie We also see a lot of improvement in the distances graph (Figure 6.1.9), especially at the subtalars. The average distances of the subtalars have decreased from 7.5cm to 1cm and the maximum distance from 15.5cm to 6cm. Besides these remarkable 123

124 improvements, we also see them at other leg retargeting points. This means Center Retargeting is now also usable and without unstable motions, by combining End Retargeting with Center Retargeting which resulted in the Hybrid Center Retargeting method Conclusions Our first experiment showed that there were no visual differences between the output animation and the input animation (when using End Retargeting). There were, however, some differences when looking more in detail. The orientation of the root (Figure 6.1.2) and maximum distances of the output animation (Figure 6.1.4) showed some differences, compared to the input animation, but these differences were small. Therefore, they were not noticeable in the movie of the output animation (Movie 6.1.1). The position (Figure 6.1.1) and the average and standard deviation graphs (Figure 6.1.4) also showed that the two animations were almost identical. Therefore, we can conclude that although there are some underlying differences when looking in more detail, our method is able to simulate an animation one-on-one. When we compared the two variations of our technique, End Retargeting versus Center Retargeting, we clearly saw some differences. The movie of the Center Retargeting simulation (Movie 6.1.2) showed smoother and more bouncing motions, these motions were also to be seen in the position graphs (Figure 6.1.5). The position graphs showed smoother curves with some higher peaks, indicating smoother and more bouncing motions while keeping its stability at the root. However, this was not the case for the feet. While the root showed no unstable motions, and instead even smoother and more bouncing motions, the feet did show unstable motions. Back and forth and sideward motions were seen in the movie (Movie 6.1.2) and in the graphs (Figures and 6.1.8). Especially the distances graph (Figure 6.1.8) showed these unstable motions at the feet, and in particular at the subtalars. For the other parts of the body, not many differences were shown in these distances graphs. The cause of the unstable feet motions was fewer original and extra retargeting points on the feet and at less stable positions (when using Center Retargeting compared to End Retargeting, see Figures and 4.5.3). Therefore, the solution for this problem was combining the two retargeting methods by using the same retargeting points on the feet as used in the End Retargeting method, while still using the Center Retargeting points for the rest of the body. After replacing these retargeting points, the unstable 124

125 feet motions disappeared, while still retaining the smoother and bouncing behaviour of Center Retargeting. This is good, since we want to simulate other styles and these smoother and bouncing motions might be usable for these simulations. We call this method Hybrid Center Retargeting. 125

126 6.2. Experiment 2: Lazy walking simulation The first style we want to simulate is a lazy walk. With a lazy walk we mean slandering, walking with the least effort possible, looking slower and somewhat heavier. More in detail, for us a lazy walk is a less stiff walk and appearing slower and heavier, with a bended back instead of the fairly straight back as in the input animation. Also, arms have a less stiff swing or just positioned next to the body. The head is also less stiff and moves with the upper body. Legs are more bended. Also, feet are less lifted up and slandering over the floor, giving it an overall slandering look. Therefore, what we want is getting a resulting output animation which visually looks like a lazy walking animation Setup To reach this style of walking, we will first experiment with the spring and damper settings (while using End Retargeting), since these influence the global walking behaviour. Then, we will show the influence of frictions on the simulation. We will vary densities of various rigid bodies to make certain body parts heavier, giving them a heavier look. We will also show if using gravity results in a better lazy walking simulation. In order to see if using Hybrid Center Retargeting results in a better simulation, we will compare the Hybrid Center Retargeting method with the default End Retargeting method Results: varying spring and damper settings To achieve a walking animation, which is more like a lazy walking animation, we vary the spring and damper settings. First, we loosen up the root and spine spring and dampers by decreasing the spring and damper settings and, therefore, forcing a more bended back. We notice the bended back when the character is walking forward, since the spine is now pulled less towards its original position and, therefore, moving forward slower than the rest of the body. However, when walking backward, the opposite happens. We see a straight back, because the limits of the spine joints prevent the spine from bending the other way. To achieve less stiff head motions, we loosen up the head spring and dampers a bit, resulting in the head showing up and down motions when walking. 126

127 In order to make the arms less stiff, we loosen up these spring and dampers. This results in the arms swinging back and forth, without the stiff stopping motion of the input animation. The spring and dampers at the legs, however, remain at default normal settings, since adjusting these spring and dampers results in unwanted motions. During experimenting, we noticed that by loosening up the hips, more sideward wobbling motions at the hips appear. Also, when loosening up the knees, this effect is amplified. Loosening up the ankles results in knee bending toward the sides, but also in toe walking (putting down toe first when planting foot) when walking forward. Finally, loosening up the spring and dampers of the feet results in bad feet motions. Therefore, we do not change the spring and dampers at the legs. The resulting animation is shown in Movie

128 Movie Output animation: Lazy walking End Retargeting Parameters changed: spring and damper settings left: input animation, right: output animation Lazy Walking - varyspringdampers (Xvid).avi Results: using frictions Previous experiment showed that adjusting spring and damper settings at the legs resulted in unwanted motions, therefore, no adjustments were made to the leg motions. Therefore, we will now use frictions to see if we can adjust motions of the legs, while maintaining stable motions. 128

129 When using physics, friction can be set as a property of materials of physics objects. Materials define the properties of objects, in the case of friction the surface properties. There are two different types of frictions to be set, static friction and dynamic friction. We have already explained these types of forces in Chapter 2, but we will give a short explanation about these two types of forces. Static friction is the stopping force against the object when resting on a surface. Therefore, the higher the static friction, the harder it is to move the object when it is resting on the surface. Dynamic friction on the other hand, is the stopping force against the object when moving along a surface. A higher dynamic friction means less gliding along the surface. In order to simulate the slandering motions of the feet over the floor, we will use frictions. To be able to generate frictions between the feet and the ground, a physics ground plane has to be used. We set the physics ground plane at the zero y-position, the same position as the rendered surface, shown in the simulations. Results are shown in Movie

130 Movie Output animation: Lazy walking - End Retargeting Parameters changed: frictions on feet and ground plane left: input animation, right: output animation Lazy Walking - Frictions (Xvid).avi Movie shows that setting frictions to high values makes it harder for the feet to move forward. This results in slandering motions of the feet. When walking backward this effect is gone, because the heel is always lifted up when stepping backward. This results in less ground contact and, therefore, less friction compared to forward walking. Using frictions, however, did not result in unstable or unwanted feet 130

131 motions, but instead showed slandering motions of the feet, which is one of the behaviours we want to simulate Results: varying density We now use another approach to simulate a lazy walking animation, namely by varying the density of the rigid bodies. Each rigid body (with other words each body part of the ragdoll) has a density value. This body density value determines the mass of that body part. They all have the same density values at default. Increasing the density of certain body parts will result in these body parts being heavier than originally. This is a property that we can use for our lazy walking simulation. Since when looking at a lazy walking animation, it seems as if the character is heavier. In order to make these body parts (look) heavier, we increase the density of the head and arms 10 times. Increasing the densities of the legs and upper body results in unwanted swinging motions, therefore, we do not change the densities of the legs and upper body. When setting the spring and dampers to the settings we obtained in the first lazy walking simulation experiment, spring and damper forces are not high enough at the points where we decreased them, resulting in incorrect motions of these bodies. Therefore, we set the spring and damper settings at the default settings. Frictions in combination with the physics ground plane, on the other hand, are used in this simulation. The resulting simulation is shown in Movie

132 Movie Output animation: Lazy walking - End Retargeting Parameters changed: higher density head and arms left: input animation, right: output animation Lazy Walking - Density (Heavier head and arms) (Xvid).avi Movie clearly shows heavier head motion, a more swinging motion and with more intensity is shown. Also, arm movements show as if more forces are needed to move them forward. This results in an overall heavier look of the walking animation, as if more forces are needed to walk. In combination with using frictions, the movie shows an animation which is beginning to look like a lazy walking animation. Besides only during the forward animation, wanted results are now also shown during the 132

133 backward animation. This is due to the spring and dampers set at default values, particularly at the spine Results: using gravity Besides applying spring and damper forces on the rigid bodies, another force, namely gravity (which was explained earlier in Chapter 2), can also be applied on the rigid bodies. The default setting of gravity is 0 m/s 2, which was used in all previous experiments. This experiment shows the influence of gravity on the simulation. The resulting animation is shown in Movie

134 Movie Output animation: Lazy walking - End Retargeting Parameters changed: gravity of -3 m/s 2 left: input animation, right: output animation Lazy Walking - Gravity (Xvid).avi The effect of gravity is clearly shown in Movie The whole body is pulled more toward the ground, while the feet stay at the same position due to the physics ground plane. Therefore, knees and spine are more bended, resulting in a more bended back. The head is now looking slightly upward, because of the forward force of the body. Therefore, when walking backward the head is less tilted upward and faces toward the 134

135 camera instead. Also, both arms are now less bended and more pointed toward the floor due to gravity. The resulted gravity setting is -3 m/s 2. The movie also shows the use of previous frictions and density settings in this experiment. However, we noticed that there is an increase in friction forces due to the gravity, since both feet are now also pulled more toward the ground. Therefore, lower frictions were needed to prevent unrealistic feetground friction motions, because of too high frictions Results: disabling retargeting points In the first experiment of the lazy walking simulation (Section 6.2.2) we decreased some spring and damper forces to create some lazy walking behaviours. In the third experiment however we noticed that by setting gravity, there is no more need to decrease spring and damper forces to create a lazy walking animation, since this resulted in unwanted motions. Therefore, disabling retargeting points is not needed for this simulation Results: using End Retargeting vs. Hybrid Center Retargeting We will now show if using Hybrid Center Retargeting instead of the End Retargeting method (used in previous experiments) results in a better lazy walking simulation. We will use the frictions, density and gravity settings, resulted from previous experiments. Both retargeting methods are shown in Movie Left animation uses End Retargeting Method, right animation uses Hybrid Center Retargeting. 135

136 Movie Output animation: Lazy walking End vs. Hybrid Center Retargeting Parameters changed: retargeting method left: End Retargeting, right: Hybrid Center Retargeting Lazy Walking End vs Hybrid Center Retargeting (Xvid).avi Movie shows that some results we got earlier are gone, when using Hybrid Center Retargeting. For example, both feet are not slandering over the floor anymore because they are lifted up more now, when walking forward. Also, higher forces are now needed to hold the head upward. These higher forces result in stiffer head motions. Also, higher densities of the physics arm bodies result in more unwanted hand rotations, compared to End Retargeting. 136

137 Conclusions Previous experiments showed the influence of the parameters on the simulation. Results showed that not every parameter has a positive influence on the simulation. The first experiment (Section 6.2.2) showed that loosening up the spring and damper settings of the head and arms resulted in less stiff motions. Loosening up the spine spring and damper settings resulted in a more bended back. However, this was only the case when the character was moving forward, moving backward resulted in a straight back (due to the spine joints limits). Therefore, wanted results were only obtained during forward walking and not during backward walking. During this experiment we also noticed that we could not change the spring and dampers of the legs, because that resulted in unstable feet motions. But since we also want a slandering motion of the legs, in particular at the feet, we experimented with friction forces in Section To use frictions, a physics ground plane was needed to create frictions between the feet and the floor surface. Then, we set the necessary friction values on the feet and the ground plane. We set them at high values to make it harder for the feet to move forward, which resulted in slandering motions of the feet. This effect was only visible during forward walking, because there was less ground contact and, therefore, less friction during backward walking, compared to forward walking. When walking backward, heels are lifted up more, compared to the toes when walking forward. Experiment three (Section 6.2.4) showed the influence of increased density of certain rigid bodies on the simulation, while enabling frictions and setting the spring and damper settings to default normal values. Increasing the density of the arms and head resulted in heavier looking motions of these body parts and overall animation, as if more forces were needed to walk. Now, pleasing results were achieved during forward, but also during backward walking. The resulting animation started to look like a lazy walking animation. Experiment four (Section 6.2.5) introduced the parameter gravity. During previous simulations gravity was set to zero. Now, gravity was used to pull the body more toward the ground, while still simulating the input animation. The effect of gravity was clearly shown in Movie The whole body was pulled more toward the ground while both feet stayed at about the same position due to the physics ground plane. Therefore, knees and spine were more bended resulting in a more bended back. 137

138 The same kind of pose we managed to achieve during the first experiment when we decreased the spine spring and damper forces. However, this time the back stayed bended when walking backward. Also, both arms were now pointing more toward the floor due to the gravity. We also noticed that due to gravity, frictions were increased between feet and ground plane. Both feet were now pulled more toward the ground, resulting in unrealistic feet-ground friction motions. Therefore, lower frictions were needed to prevent these unwanted friction motions, because of too high frictions. Finally, we showed the influence of the method of retargeting (Section 6.2.7). Hybrid Center Retargeting was used and compared to the (default) End Retargeting method used in previous experiments. The resulting movie (Movie 6.2.5) showed that lazy walking behaviours, we got earlier during previous experiments, were gone when using Hybrid Center Retargeting. Feet were now not slandering over the floor anymore, because both feet were more lifted up when walking forward. Also, we had to increase the spring and damper forces at the head to keep it upward. This resulted in stiffer head motions. Also, because of the higher arm densities unwanted hand rotations were seen, when using Hybrid Center Retargeting. When looking back at the results, we can conclude that we can adjust the original walking animation to a lazy walking animation, by combining and setting the corresponding frictions, density and gravity. 138

139 6.3. Experiment 3: Fierce walking simulation The second style we want to simulate is a fierce walk. For us, a fierce walk is a stiff and strong walk with the head tilted upward a bit and shoulders lifted up, making the character look broader and stronger Setup Since the input animation is already a somewhat stiff and strong walking animation, we will not vary the spring and damper settings, but use the best settings for a oneon-one simulation instead. We will show the influence of gravity on the simulation, to see if we can make the walk even more fierce. Also, we will show the result when disabling certain retargeting points. We do not want to constrain foot motions, shift balance or smooth out motions. Therefore, we do not need to use the other parameters Results: using gravity In the previous experiment in Section 6.2 (lazy walking simulation), we saw the influence of gravity on the simulation. However, we increased the densities of the head and arms in that simulation. We will now show the influence of gravity while maintaining the same densities. To make the character look broader, we will use a negative gravity of -4 m/s 2 to pull the (upper) body downward, while the arms are still in about the same position. The resulting movie is shown in Movie

140 Movie Output animation: Fierce walking - End Retargeting Parameters changed: gravity of -4 m/s 2 left: input animation, right: output animation Fierce Walking - Gravity(-4) (Xvid).avi Movie shows the character is standing stronger on his feet with more bended knees and looking broader, due to the gravity force pulling the body to the ground Results: disabling retargeting points Previous simulation already showed the somewhat broader looking character, we will now show the head tilted upward a bit. For this we disable the original head 140

141 retargeting point (which is the red dot at the top of the head in Figure 4.5.3). When walking forward, the top of the head is not retargeted. Since other points on the head are still retargeted, disabling the top head retargeting point results in the head being tilted upward. However, this effect is gone when walking backward. Movie shows the resulting animation. Movie Output animation: Fierce walking - End Retargeting Parameters changed: disabled head retargeting point left: input animation, right: output animation Fierce Walking - Disabled Retargeting Point (Xvid).avi 141

142 Conclusions Previous simulations showed the influence of gravity and disabling of a retargeting point on the simulation. We managed to give the character a broader look, by using gravity to pull the body toward the ground, while maintaining the positions of the arms. This resulted in the shoulders being lifted upward, more bended knees to compensate the downward force of the gravity and, therefore, resulting in standing stronger on his feet. By disabling the retargeting point on top of the head, the head was lifted upward a bit when walking forward, since other retargeting points on the neck and head were still enabled. The input animation was already a somewhat stiff and strong walking animation. By using gravity and disabling the head retargeting point, we can conclude that we managed to adjust the original (somewhat fierce) animation to an even more fierce walking animation. 142

143 6.4. Experiment 4: Fatty walking simulation We will now simulate a fatty walk. With a fatty walk, we mean a big and heavy person walking. When looking at some movies of big and heavy persons walking, we notice a few characteristics. Besides looking heavier, we also notice that the upper body is stiffer with less hip movements (upper body and hips moving as a whole), arm swing is slower, less controlled and closer to the body and legs are more bended while walking more on the heels than on the toes. The upper body is also more forward positioned, resulting in the chin being closer to the chest and a shorter neck Setup To achieve this style of walking, we will first experiment with the spring and damper settings (while using End Retargeting). The character and, therefore, the animation will be made heavier by increasing the density of certain body parts. We will also show if using gravity will improve the fatty walking simulation. To simulate a more forward positioned upper body, we will also experiment with external forces. And finally, we will show the results when using Hybrid Center Retargeting and compare it to the default End Retargeting method Results: varying spring and damper settings By decreasing the spring and damper settings at the arms, arm movements are slightly delayed and swinging further than the input animation. This results in catching up motions of the arms. As we have seen in the lazy walking simulation, adjusting the spring and damper settings at the legs result in unstable feet motions. Therefore, we will only adjust the spring and damper settings at the arm. The resulting movie is shown in Movie

144 Movie Output animation: Fatty walking End Retargeting Parameters changed: spring and damper settings left: input animation, right: output animation Fatty Walking - varyspringdampers (Xvid).avi Results: varying density of rigid bodies To make the animation look heavier, we increase the density of the neck, head and arms, like the lazy walking simulation. Increasing the density of the upper body results in the upper body swinging to the left and right, which is not what we want. The density of the thighs and calves are increased a bit, since increasing too much results in unwanted swinging motions, as we have seen during the lazy simulation. 144

145 Movie Output animation: Fatty walking End Retargeting Parameters changed: higher density head, arms and legs left: input animation, right: output animation Fatty Walking - Density (Heavier head, arms and legs) (Xvid).avi Results: using gravity We will now experiment with gravity. By setting gravity, the character is pulled downward to the ground resulting in a more solid stance. This is what we want, since we want to achieve a bigger and heavier character animation. When using gravity however, spring and damper forces at the arms do not need to be decreased anymore, since the gravity is already slowing down the arm movements. Otherwise, they are 145

146 slowed down too much and start dangling next to the body. Using gravity also results in the character walking more on his heels than on his toes. The resulting movie is shown in Movie Movie Output animation: Fatty walking - End Retargeting Parameters changed: gravity of -3 m/s 2 left: input animation, right: output animation Fatty Walking - Gravity(-3) (Xvid).avi 146

147 Results: using external forces The last characteristic of a fatty walking simulation, a more forward upper body, is simulated by using external forces. We use continuing external forces, which pushes the upper body forward (toward the camera). This results in a more forward positioned upper body, while the rest of the body stays at about the same position. The new pose shows as if the character has a bigger belly and chest. Also, the chin is closer to the upper body and the neck looks shorter. Therefore, besides the normal spring and damper forces and gravity, extra external forces are now also applied on the upper body. The resulting movie is shown in Movie

148 Movie Output animation: Fatty walking - End Retargeting Parameters changed: external forces left: input animation, right: output animation Fatty Walking - ExternalForces (Xvid).avi Movie clearly shows the effects of external forces as mentioned. Another result of this change in pose is an increasing effect of walking on the heels, to compensate the more forward positioned upper body. This is also a human walking behaviour in real life when the upper body is bigger, heavier and more forward positioned. 148

149 Results: using End Retargeting vs. Hybrid Center Retargeting We will now see if using Hybrid Center Retargeting will improve the fatty walking simulation. Movie Output animation: Fatty walking End vs. Hybrid Center Retargeting Parameters changed: retargeting method left: End Retargeting, right: Hybrid Center Retargeting Fatty Walking - End vs Hybrid Center Retargeting (Xvid).avi Movie shows that there is not much difference when using End or Hybrid Center Retargeting. Both feet do swing a bit more in the Hybrid Center Retargeting 149

150 simulation, due to retargeting method in combination with the higher leg densities, but the difference is small. However, we had to increase the spring and damper forces at the head to keep it upright, otherwise it kept pointing downward. This resulted in somewhat stiffer head motions Conclusions Previous experiments showed that adjusting certain parameters, resulted in an animation with characteristics of a big and heavy person walking. To slow down the arm swing, we first loosened up the arm spring and damper settings. Then, we increased the density of the arms, neck, head and legs. This resulted in the same heavier looking arms and head motions as in the lazy walking simulation. As mentioned in Section 6.4.3, we also increased the density of the thighs and calves a bit, since increasing them too much resulted in unwanted swinging motions, as we have seen during the lazy walking simulation. This resulted in somewhat heavier looking leg motions with a small increase of swinging motions. Increasing the density of the upper body resulted in unwanted sideward swinging motions of the upper body. Therefore, the density of the upper body was not increased. To give the simulation an even heavier look, we used gravity to pull the character more downward to the ground resulting in a more solid stance. Also, because of the gravity, the character was now walking more on his heels than on his toes. This was good since heavier and bigger people walk more on the back of the heels than on the toes, because of a better foot support. We also used external forces to achieve a more forward positioned upper body, which was clearly shown in Movie Finally, we compared the differences between End Retargeting and Hybrid Center Retargeting, but not many differences were seen. The legs, however, were swinging more than we wanted, when using Hybrid Center Retargeting, because of the higher leg densities in combination with the retargeting method. Besides that, we did not notice much difference. From this, we can conclude that by adjusting the original motions with physics parameters, characteristics of a fatty walking can be simulated. The more forward positioned upper body, closer chin to the upper body and shorter neck were achieved by using external forces. Heavier looking arms, head and legs were achieved by increasing densities. And finally, a more solid stance and more walking on the heels than the toes, were achieved by using gravity. 150

151 6.5. Experiment 5: Female walking simulation The last simulation will be a female walking simulation. The characteristics that we are looking for in our simulation are: a lighter walk (instead of heavier we want to make the walking animation look lighter), smoother motions, up and down hip motions, legs closer to each other, knees pointing forward, more walking on toes than on heels, arms more next to the body, head facing more forward, a forward positioned chest and backward positioned pelvis to achieve a more hollowed back and, therefore, a feminine pose Setup To reach this style of walking, we will first experiment with the spring and damper settings (while using End Retargeting) to achieve smoother motions. Then, we will vary the densities to a more female ratio, by increasing the densities at the hips and thighs. We will also show if gravity will help us to simulate a female walking. In order to achieve a more feminine pose, we will use external forces. And finally we will show if using another retargeting method (Hybrid Center Retargeting) will improve the female walking simulation, when compared to the default End Retargeting method. We will now use a female character as input and output character. This way, we can immediately see if the resulting simulation is a female walking animation. First, we will show the one-on-one simulation of the input animation, with a male character as input and a female character as output. This will show that adjusting motions and, therefore, retargeting is needed, to achieve a female walking animation. 151

152 Movie Output animation: Female walking End Retargeting No parameters changed: One-on-one simulation left: input animation, right: output animation Female Walking One-on-one (Xvid).avi Results: varying spring and damper settings To adjust the animation to a more female animation, we first loosen up the hips. This results in smoother hip motions. Also, the hips are now moving more up and down. The resulting movie is shown in Movie

153 Movie Output animation: Female walking End Retargeting Parameters changed: spring and damper settings left: input animation, right: output animation Female Walking - varyspringdampers (Xvid).avi Results: varying density In order to achieve a more female ragdoll behaviour, while maintaining the same ragdoll structure, we now vary the density of some body parts. The female body has more curves than the male body, especially at the hips (pelvis) and thighs, therefore, 153

154 we increase the densities at the pelvis and thighs. The resulting movie is shown in Movie Movie Output animation: Female walking End Retargeting Parameters changed: higher density pelvis and thighs left: input animation, right: output animation Female Walking - Density(heavierPelvisThighs) (Xvid).avi Movie still shows the up and down motions of the hips, but now these motions look a bit stronger with the increased densities. 154

155 Results: using gravity In previous experiments, the gravity parameter was used to make an animation look heavier. Now, we want to make an animation that looks lighter, therefore, we will use a positive gravity. The resulting movie is shown in Movie Movie Output animation: Female walking - End Retargeting Parameters changed: gravity of +1 m/s 2 left: input animation, right: output animation Female Walking - Gravity(+1) (Xvid).avi 155

156 Movie shows that the character is now walking a bit more on the toes instead of the heels. Legs are less bended as well, since the body is lifted up a bit due to the gravity. This also results in the knees coming a bit closer to each other, but they still point too much outward, for a female walking. The movie also shows the head of the character lifted up a bit, facing more forward. These effects are increased when gravity is set higher. However, increasing the gravity too much, results in the heels not touching the ground anymore. The resulting setting is a gravity of 1 m/s 2 and stronger spring and damper settings at the legs, to keep the heels on the ground when they are planted. One negative side effect of the positive gravity, is the belly being slightly pushed to the back, when moving backward. Therefore, in order to correct the spine and achieve a more female-like hollowed back, we will use external forces in the next experiment Results: using external forces We will now show the influence of external forces on the simulation. To correct the spine pose to achieve a more feminine hollowed back, we will use continuing external forces. We use a small force on the chest, to push the upper body slightly forward and a small force on the pelvis, to push it slightly backward. To achieve a more female walk, we also apply forces against the legs to push them inward. The resulting hollowed back is shown in Figure 6.5.1, here the resulting feminine pose of the character is compared to the original pose. 156

157 Figure Output animation: Female walking - End Retargeting Parameters changed: external forces left: before pose - straight back, right: after pose - hollowed back 157

158 Movie Output animation: Female walking - End Retargeting Parameters changed: external forces left: input animation, right: output animation Female Walking - ExternalForces (Xvid).avi Movie shows the more hollowed back and, therefore, a more feminine pose as a result of external forces applying on the chest and pelvis. The movie also clearly shows that the legs are now really close to each other, resulting in a feminine walk which really changes the input animation into a female animation. Furthermore, the head is held up, facing more forward. 158

159 Results: using End Retargeting vs. Hybrid Center retargeting We will now see if using Hybrid Center Retargeting improves the female walking simulation, compared to End Retargeting. Movie Output animation: Female walking End vs. Hybrid Center Retargeting Parameters changed: retargeting method left: End Retargeting, right: Hybrid Center Retargeting Female Walking - End vs Hybrid Center Retargeting (Xvid).avi 159

160 While the Hybrid Center Retargeting simulation in Movie does show somewhat smoother motions (although differences are only small), we do see some unwanted bouncing motions at the feet. Also, the hands are rotating too much compared to the End Retargeting method, resulting in unwanted and unrealistic rotations Conclusions Previous experiments showed that we could simulate characteristics of a female walking. We managed to simulate the up and down hip motions by loosening up spring and dampers at the hips and by increasing the density at the hips (pelvis) and thighs. Also, a lighter walk was achieved by using a positive gravity. This also resulted in the character walking more on the toes than on the heels. Also, due to this lifting up of the body, knees got a bit closer together and legs were less bended. In order to simulate a more hollowed back, we used external forces to push the chest slightly forward and the pelvis slightly backward. This resulted in a really feminine pose. Also, to achieve female walking leg motions, external forces were used to push the legs closer to each other. This was the final step to adjust the input male walking animation to a female walking animation. Using the Hybrid Center Retargeting method resulted in somewhat smoother motions, but unfortunately some unwanted bouncing motions were seen at the feet. Therefore, in order to achieve the best results, the End Retargeting method should be used. We can therefore conclude that the input male walking animation can be adjusted to a female walking animation and retargeted on a female character. 160

161 7. Experiments: to show the possibilities of correcting common errors in motion captured animations We will now show the possibilities of our method to correct common errors in motion captured animations. The first experiment will show the possibilities of correcting knee popping. Knee popping is a common artifact of Inverse Kinematics and refers to snapping of the knee when reaching or coming from a fully stretched leg [Ari06]. The second experiment will show the possibilities of correcting foot skating. When using motion capture, raw data normally has to be fit onto a skeleton and then edited before an animation is generated. This process can generate artifacts. One of these artifacts is the foot not staying in place while it should not be moving and remain planted. This is known as footskating [KSG02]. Besides this, footskating can also occur due to incorrect motion capture, with other words incorrect raw data. The last experiment will show the possibilities of correcting incorrect joint orientations, which is also a result of bad motion capturing or editing, like footskating Experiment 1: Correcting knee popping In the first experiment we focus on correcting knee popping. A common and practical solution to this problem is allowing imperceptible bone length changes [KSG02]. The effect of bone length changes has been studied and found effective [HRvdP04] and, therefore, is a common solution in commercial applications. Our method however uses another approach, namely damping of the knee joint when reaching or coming from a fully stretched leg. No bone length changes are made Setup For this experiment we will use another animation than previously used. The animation is a forward walking motion with a slight turn, which is played forward and backward. This animation has knee popping which we will try to correct by using knee damping. First, we will experiment with the default maximum joint limit of 180 degrees (after which knee damping occurs). When using the default maximum joint 161

162 limit does not result in correction of knee popping, we will experiment with a lower maximum joint limit Results The first simulation uses the default maximum knee joint limit of 180 degrees. The resulting animation can be seen in Movie Movie Knee popping correction default maximum knee joint limit left: input animation, right: output animation kneepopping default max knee joint limit (Xvid).avi 162

163 Left knee angle of ragdoll - input animation vs. output animation angle (degrees) knee joint angle input knee joint angle output knee joint limit max angle knee joint limit min angle time (sec) Figure Left knee angle normal joint limit of 180 degrees Input animation vs. output animation Knee pops of the input animation are clearly to be seen in Movie and at the marked points in Figure We see flat horizontal lines at about 175 degrees. The output animation, however, has less of these horizontal lines. Some peaks are also more smoothed out, indicating less knee pops, although they are still visible at some points. This was also to be seen in Movie The graph also shows that 180 degrees is never reached, but instead a maximum angle is reached of about 175 degrees. Therefore, we will lower the knee joint limit to 170 degrees. This means that damping will now already occur at 170 degrees instead of 180 degrees. Angles higher than 170 degrees can still be reached, however rotations above 170 degrees will be highly damped and hopefully leading to correction of knee popping. We will first show the resulting graph. 163

164 Left knee angle of ragdoll - input animation vs. output animation angle (degrees) knee joint angle input knee joint angle output knee joint limit max adjusted knee joint limit min time (sec) Figure Left knee angle Joint limit of 170 degrees instead of 180 degrees Input animation vs. output animation The graph in Figure clearly shows an improvement compared to previous result. Since it is a soft limit and knee damping starts above 170 degrees, rotations higher than 170 degrees are still possible but now highly damped. Most peaks are smoothed out and stay below or near 170 degrees, resulting in correction of almost all knee pops. The resulting movie is shown in Movie

165 Movie Knee popping correction adjusted maximum knee joint limit left: input animation, right: output animation kneepopping - adjusted max knee joint limit (Xvid).avi Movie shows a good result. While almost all knee pops were gone in the graph, visually they are all gone. We do not see any knee pops in the resulting animation anymore. 165

166 Conclusions This experiment showed the possibility of our method to correct knee popping by using knee damping. However, we noticed that a lower knee joint limit had to be set to enable knee damping sooner, to achieve better results. Results were promising and almost all knee pops were gone in the graph. When looking at the output animation movie, no knee pops were visible anymore to the eye. This means that our method is able to correct or at least reduce knee popping in animations, while keeping bone lengths the same. 166

167 7.2. Experiment 2: Correcting footskating Besides knee popping, another common problem with motion capture is footskating. As explained earlier, unwanted motions that appear when the foot is not staying in place, while it should not be moving and remain planted [KSG02] Setup Usually a foot plant detection method has to be used on the character to know when a foot is planted, to be able to correct or prevent footskating. Various foot plant detection methods are discussed in [IAF06] and [GBT06]. Some methods use the height and the speed of the foot to determine foot plants. However, most of these techniques suffer from noisy data. Our approach to the footskating problem makes use of the physics approach of our method. We use breakable physics joints and the built-in collision reporting between physics actors of our physics engine. We use this collision reporting to check when the left foot or right foot of the ragdoll is in contact with the physics ground plane. When the base of the foot is in full contact with the ground plane (flat on the ground), four contact points, at the corners of the base of the foot, are generated. We use this information to determine a foot plant and then we create four breakable joints at each contact point. In physics engines joints can be set to be breakable, which means that the joint will snap apart if a large enough force and/or torque (determined by the max force and max torque limits) is pulling it apart [Phya]. Setting high max force and max torque limits will result in the foot staying stable on the ground, when forces and/or torques below these limits are trying to pull the breakable joints apart. Higher max force and max torque limits are therefore better to prevent footskating. However, too high limits will either prevent the foot from moving at all or introduce unwanted dragging foot motions over the ground. Results will show if constraining both feet with breakable joints, to eliminate unwanted feet motions, will be enough to prevent footskating. We will use an animation with clearly noticeable footskating, played forward and backward, to show the possibilities of our anti-footskating method. We will use the position data of the left foot joint in our left foot position graphs. 167

168 Results We will first show the movie of the animation when no adjustments are made regarding footskating, see Movie This means that no ground plane is used yet. Movie Footskating correction: none (no ground plane) left: input animation, right: output animation Footskating-NoGroundPlane (Xvid).avi Movie shows two similar animations, since no footskating correction is applied. 168

169 Footskating correction - no groundplane - inputpos.x vs. outputpos.x position (cm) inputpos.x outputpos.x time (s) Footskating correction - no groundplane - inputpos.y vs. outputpos.y position (cm) inputpos.y outputpos.y time (s) Footskating correction - no groundplane - inputpos.z vs. outputpos.z position (cm) inputpos.z outputpos.z Figure time (s) Left foot inputpos.x,y,z vs. outputpos.x,y,z: Footskating correction: none (no ground plane) 169

170 Position graphs of the left foot, in Figure 7.2.1, clearly show the footskating behaviour of the animations. This behaviour is shown in every direction. The x-direction graph shows these decreasing and increasing of positions particularly at the marked footskating moments. These moments indicate a short and quick sideward motion of the feet, while at these points they should remain at the same position. The y- direction graph shows position of the left foot going below the zero position (ground). With other words below the floor surface, since the floor surface is at the zero y- position. The z-direction graph shows the same behaviour as the x-direction, but now short and quick backward/forward motions, these footskating moments are also marked in the graph. In order to prevent unwanted foot motions when a foot is planted, we add a physics ground plane and use our anti-footskating method. The resulting simulation can be seen in Movie

171 Movie Footskating correction: ground plane + our anti-footskating method left: input animation, right: output animation Footskating-AntiFootSkating (Xvid).avi Footskating-AntiFootSkating slowmotion (Xvid).avi Movie clearly shows less unwanted feet motions when a foot is planted. The output animation shows the physics ground plane preventing both feet from going through the floor surface. The movie also shows that our anti-footskating method results in more stable foot plants. Only few small incorrect foot plants are noticeable when compared to the original input animation. Also, our method shows that while 171

172 maintaining physical constraints of the ragdoll, no visual discontinuities (or other artifacts) are introduced as a result of preventing footskating like in [KSG02]. While the input animation was an animation with excessive footskating, resulting animation has shown that our physics approach is able to prevent or reduce footskating. Therefore, these results are promising. We will now look at the position graphs of the resulting simulation. The position graphs can be seen in Figure When looking at the graphs we see the same. The y-position graph shows that the left foot is now almost always above or on the zero position, in the output animation. The x- and z-position graphs also clearly show less footskating motions, especially during the backward walking. More horizontal lines are shown, instead of lines going up and down, indicating that the left foot is now less moving backward/forward or sideward when the foot is planted. 172

173 Footskating correction - inputpos.x vs. outputpos.x position (cm) inputpos.x outputpos.x time (s) Footskating correction - inputpos.y vs. outputpos.y position (cm) inputpos.y outputpos.y time (s) Footskating correction - inputpos.z vs. outputpos.z position (cm) inputpos.z outputpos.z Figure time (s) Left foot inputpos.x,y,z vs. outputpos.x,y,z: Footskating correction: ground plane + our anti-footskating method 173

174 Conclusions When looking back at previous experiments to correct footskating, we can conclude that using a physics ground plane prevents both feet of the ragdoll from going below the floor surface. This was also shown in the position graphs in Figure compared to Figure The backward/forward and sideward footskating motions were mostly corrected by our anti-footskating method. By using the built-in collision reporting of the physics engine, no other foot plant detection method was needed. By setting a high max force and max torque limits on the breakable joints, at the corners of the base of a foot, we constrained the foot and prevented unwanted motions when a foot was planted. Therefore, we can conclude that, while maintaining physical constraints of the ragdoll and while not introducing visual discontinuities (or other artifacts), our physics approach is able to prevent or reduce footskating. Because this approach looks promising, we will discuss improvements in the Future Work section in Chapter

175 7.3. Experiment 3: Correcting incorrect joint orientations During one of our experiments we noticed a different orientation of the forearm in the output animation, compared to the input animation. When looking closer we noticed that the orientation of the forearm in the input animation, which actually means the orientation of the elbow joint, was incorrect and in a humanly impossible way. This was the cause of the difference in orientation of the output animation, since the ragdoll s joint constraints prevented this incorrect orientation in the output animation Setup To show that our method can correct incorrect joint orientations, we will show screenshots, movies and orientation graphs of the resulting simulation. We will focus on the right arm (elbow joint), where the incorrect orientation is shown Results To show the incorrect right arm orientation of the input animation compared to the corrected (adjusted) right arm orientation of the output animation, a screenshot is shown, in Figure 7.3.1, of both animations next to each other. The red rectangle shows the incorrect orientation of the input animation, the green rectangle shows the correct orientation of the output animation. 175

176 Figure Left: input animation with incorrect right elbow joint orientation Right: output animation with correct right elbow joint orientation As Movie shows, the incorrect orientation is shown from the beginning of the animation till the end. 176

Physics Based Ragdoll Animation

Physics Based Ragdoll Animation Physics Based Ragdoll Animation Arash Ghodsi & David Wilson Abstract Ragdoll animation is a technique used to add realism to falling bodies with multiple joints, such as a human model. Doing it right can

More information

It Is Raining Cats. Margaret Kwok St #: Biology 438

It Is Raining Cats. Margaret Kwok St #: Biology 438 It Is Raining Cats Margaret Kwok St #: 80445992 Biology 438 Abstract Cats are known to right themselves by rotating their bodies while falling through the air and despite being released from almost any

More information

Modeling and Control of Trawl Systems

Modeling and Control of Trawl Systems Modeling and Control of Trawl Systems Karl-Johan Reite, SINTEF Fisheries and Aquaculture Supervisor: Professor A. J. Sørensen * Advisor: Professor H. Ellingsen * * Norwegian University of Science and Technology

More information

Writing Simple Procedures Drawing a Pentagon Copying a Procedure Commanding PenUp and PenDown Drawing a Broken Line...

Writing Simple Procedures Drawing a Pentagon Copying a Procedure Commanding PenUp and PenDown Drawing a Broken Line... Turtle Guide Contents Introduction... 1 What is Turtle Used For?... 1 The Turtle Toolbar... 2 Do I Have Turtle?... 3 Reviewing Your Licence Agreement... 3 Starting Turtle... 3 Key Features... 4 Placing

More information

5 State of the Turtles

5 State of the Turtles CHALLENGE 5 State of the Turtles In the previous Challenges, you altered several turtle properties (e.g., heading, color, etc.). These properties, called turtle variables or states, allow the turtles to

More information

My name is Erin Catto and I want to thank you for coming to my tutorial.

My name is Erin Catto and I want to thank you for coming to my tutorial. Hello everyone! My name is Erin Catto and I want to thank you for coming to my tutorial. Today I m going to discuss my work on the Diablo 3 ragdoll system. I learned a lot working on this

More information

Scratch Lesson Plan. Part One: Structure. Part Two: Movement

Scratch Lesson Plan. Part One: Structure. Part Two: Movement Scratch Lesson Plan Scratch is a powerful tool that lets you learn the basics of coding by using easy, snap-together sections of code. It s completely free to use, and all the games made with scratch are

More information

Lecture 1: Turtle Graphics. the turtle and the crane and the swallow observe the time of their coming; Jeremiah 8:7

Lecture 1: Turtle Graphics. the turtle and the crane and the swallow observe the time of their coming; Jeremiah 8:7 Lecture 1: Turtle Graphics the turtle and the crane and the sallo observe the time of their coming; Jeremiah 8:7 1. Turtle Graphics The turtle is a handy paradigm for the study of geometry. Imagine a turtle

More information

FPGA-based Emotional Behavior Design for Pet Robot

FPGA-based Emotional Behavior Design for Pet Robot FPGA-based Emotional Behavior Design for Pet Robot Chi-Tai Cheng, Shih-An Li, Yu-Ting Yang, and Ching-Chang Wong Department of Electrical Engineering, Tamkang University 151, Ying-Chuan Road, Tamsui, Taipei

More information

8/19/2013. Topic 14: Body support & locomotion. What structures are used for locomotion? What structures are used for locomotion?

8/19/2013. Topic 14: Body support & locomotion. What structures are used for locomotion? What structures are used for locomotion? Topic 4: Body support & locomotion What are components of locomotion? What structures are used for locomotion? How does locomotion happen? Forces Lever systems What is the difference between performance

More information

Catapult Activity. Catapult Buy From Art.com

Catapult Activity. Catapult Buy From Art.com Catapult Buy From Art.com Catapult Activity We typically think of a catapult as something that was used in the Middle Ages to destroy the walls of a castle as in the poster shown here. But Catapults have

More information

Canine Behaviour Shelter Course. FODS Shelter Initiative. Shelter Initiative 16 Choosing a Dog

Canine Behaviour Shelter Course. FODS Shelter Initiative. Shelter Initiative 16 Choosing a Dog Canine Behaviour Shelter Course FODS Shelter Initiative Shelter Initiative 16 Choosing a Dog Some tips for both shelter and Potential Adopters to consider Some questions for PA to ask and shelter to know

More information

Chapter VII Non-linear SSI analysis of Structure-Isolated footings -soil system

Chapter VII Non-linear SSI analysis of Structure-Isolated footings -soil system Chapter VII 192 7.1. Introduction Chapter VII Non-linear SSI analysis of Structure-Isolated footings -soil system A program NLSSI-F has been developed, using FORTRAN, to conduct non-linear soilstructure

More information

6. 1 Leaping Lizards!

6. 1 Leaping Lizards! 1 TRANSFORMATION AND SYMMETRY 6.1 6. 1 Leaping Lizards! A Develop Understanding Task Animated films and cartoons are now usually produced using computer technology, rather than the hand-drawn images of

More information

Mechanics 2. Impulse and Momentum MEI, 17/06/05 1/10. Chapter Assessment

Mechanics 2. Impulse and Momentum MEI, 17/06/05 1/10. Chapter Assessment Chapter Assessment Mechanics 2 Impulse and Momentum 1. Two cars are being driven on a level skid pan on which resistances to motion, acceleration and braking may be all neglected. Car A, of mass 1200 kg,

More information

Clicker Training Guide

Clicker Training Guide Clicker Training Guide Thank you for choosing the PetSafe brand. Through consistent use of our products, you can have a better behaved dog in less time than with other training tools. If you have any questions,

More information

RUBBER NINJAS MODDING TUTORIAL

RUBBER NINJAS MODDING TUTORIAL RUBBER NINJAS MODDING TUTORIAL This tutorial is for users that want to make their own campaigns, characters and ragdolls for Rubber Ninjas. You can use mods only with the full version of Rubber Ninjas.

More information

Proceedings of the ASME nd International Conference on Ocean, Offshore and Arctic Engineering OMAE2013 June 9-14, 2013, Nantes, France

Proceedings of the ASME nd International Conference on Ocean, Offshore and Arctic Engineering OMAE2013 June 9-14, 2013, Nantes, France Proceedings of the ASME 213 32nd International Conference on Ocean, Offshore and Arctic Engineering OMAE213 June 9-14, 213, Nantes, France OMAE213-149 SIMULATION OF HOOKING EVENT IN FISH TRAWLING OPERATION

More information

The City School. Learn Create Program

The City School. Learn Create Program Learn Create Program What is Scratch? Scratch is a free programmable toolkit that enables kids to create their own games, animated stories, and interactive art share their creations with one another over

More information

Sketch Out the Design

Sketch Out the Design 9 Making an Advanced Platformer he first Super Mario Bros. game was introduced in 1985 and became Nintendo s greatest video game franchise and one of the most influential games of all time. Because the

More information

THE PECO BONING AID A TECHNOLOGICAL ENHANCEMENT OF BEEF QUARTER BONING PRODUCTIVITY

THE PECO BONING AID A TECHNOLOGICAL ENHANCEMENT OF BEEF QUARTER BONING PRODUCTIVITY THE PECO BONING AID THE PECO BONING AID A TECHNOLOGICAL ENHANCEMENT OF BEEF QUARTER BONING PRODUCTIVITY Traditional beef quarter boning techniques have largely remained unchanged for decades. Recent technological

More information

Recurrent neural network grammars. Slide credits: Chris Dyer, Adhiguna Kuncoro

Recurrent neural network grammars. Slide credits: Chris Dyer, Adhiguna Kuncoro Recurrent neural network grammars Slide credits: Chris Dyer, Adhiguna Kuncoro Widespread phenomenon: Polarity items can only appear in certain contexts Example: anybody is a polarity item that tends to

More information

Loose Leash Walking. Core Rules Applied:

Loose Leash Walking. Core Rules Applied: Loose Leash Walking Many people try to take their dog out for a walk to exercise and at the same time expect them to walk perfectly on leash. Exercise and Loose Leash should be separated into 2 different

More information

Call of the Wild. Investigating Predator/Prey Relationships

Call of the Wild. Investigating Predator/Prey Relationships Biology Call of the Wild Investigating Predator/Prey Relationships MATERIALS AND RESOURCES EACH GROUP calculator computer spoon, plastic 100 beans, individual pinto plate, paper ABOUT THIS LESSON This

More information

Representation, Visualization and Querying of Sea Turtle Migrations Using the MLPQ Constraint Database System

Representation, Visualization and Querying of Sea Turtle Migrations Using the MLPQ Constraint Database System Representation, Visualization and Querying of Sea Turtle Migrations Using the MLPQ Constraint Database System SEMERE WOLDEMARIAM and PETER Z. REVESZ Department of Computer Science and Engineering University

More information

~~~***~~~ A Book For Young Programmers On Scratch. ~~~***~~~

~~~***~~~ A Book For Young Programmers On Scratch. ~~~***~~~ ~~~***~~~ A Book For Young Programmers On Scratch. Golikov Denis & Golikov Artem ~~~***~~~ Copyright Golikov Denis & Golikov Artem 2013 All rights reserved. translator Elizaveta Hesketh License Notes.

More information

Elicia Calhoun Seminar for Mobility Challenged Handlers PART 3

Elicia Calhoun Seminar for Mobility Challenged Handlers PART 3 Elicia Calhoun Seminar for Mobility Challenged Handlers Directional cues and self-control: PART 3 In order for a mobility challenged handler to compete successfully in agility, the handler must be able

More information

Nathan A. Thompson, Ph.D. Adjunct Faculty, University of Cincinnati Vice President, Assessment Systems Corporation

Nathan A. Thompson, Ph.D. Adjunct Faculty, University of Cincinnati Vice President, Assessment Systems Corporation An Introduction to Computerized Adaptive Testing Nathan A. Thompson, Ph.D. Adjunct Faculty, University of Cincinnati Vice President, Assessment Systems Corporation Welcome! CAT: tests that adapt to each

More information

288 Seymour River Place North Vancouver, BC V7H 1W6

288 Seymour River Place North Vancouver, BC V7H 1W6 288 Seymour River Place North Vancouver, BC V7H 1W6 animationtoys@gmail.com February 20 th, 2005 Mr. Lucky One School of Engineering Science Simon Fraser University 8888 University Dr. Burnaby, BC V5A

More information

Workbook. Version 3. Created by G. Mullin and D. Carty

Workbook. Version 3. Created by G. Mullin and D. Carty Workbook Version 3 Created by G. Mullin and D. Carty Introduction... 3 Task 1. Load Scratch... 3 Task 2. Get familiar with the Scratch Interface... 3 Task 3. Changing the name of a Sprite... 5 Task 4.

More information

Recall: The Earliest Thoughts about Flying Took place before the days of science.

Recall: The Earliest Thoughts about Flying Took place before the days of science. Recall: The Earliest Thoughts about Flying Took place before the days of science. Before man began to investigate with carefully planned experiments, and to figure things out in an orderly fashion. Men

More information

Pet Selective Automated Food Dispenser

Pet Selective Automated Food Dispenser Pet Selective Automated Food Dispenser By Advika Battini Ali Yaqoob Vibhu Vanjari TA: Yuchen He Team Number: 46 Proposal for ECE 445, Senior Design, Spring 2018, University of Illinois Urbana Champaign

More information

University of Pennsylvania. From Perception and Reasoning to Grasping

University of Pennsylvania. From Perception and Reasoning to Grasping University of Pennsylvania GRASP LAB PR2GRASP: From Perception and Reasoning to Grasping Led by Maxim Likhachev Kostas Daniilides Vijay Kumar Katherine J. Kuchenbecker Jianbo Shi Daniel D. Lee Mark Yim

More information

POLICE K9 UNIVERSITY 2016 NINO DROWAERT ALL RIGHTS RESERVED

POLICE K9 UNIVERSITY 2016 NINO DROWAERT ALL RIGHTS RESERVED POLICE K9 UNIVERSITY Police K9 University is an exclusive training program for law enforcement, military and security agencies. Nino s unique crossover from a high level dog sports background transcending

More information

How to Design Worlds

How to Design Worlds How to Design Worlds CS 5010 Program Design Paradigms Bootcamp Lesson 3.2 Mitchell Wand, 2012-2014 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. 1

More information

THE EFFECT OF DISTRACTERS ON STUDENT PERFORMANCE ON THE FORCE CONCEPT INVENTORY

THE EFFECT OF DISTRACTERS ON STUDENT PERFORMANCE ON THE FORCE CONCEPT INVENTORY THE EFFECT OF DISTRACTERS ON STUDENT PERFORMANCE ON THE FORCE CONCEPT INVENTORY N. Sanjay Rebello (srebello@clarion.edu) 104 Peirce Center, Physics Department, Clarion University of Pennsylvania, Clarion,

More information

Five simple boosts, huge relationship. BOOST. relationship

Five simple boosts, huge relationship. BOOST. relationship Five simple boosts, huge relationship. BOOST relationship Relationship can be a powerful force in your dog training. In fact, it can mean the difference between dog training success and dog training frustration

More information

Mechanical signals at the base of a rat vibrissa: the effect of intrinsic vibrissa curvature and implications for tactile exploration

Mechanical signals at the base of a rat vibrissa: the effect of intrinsic vibrissa curvature and implications for tactile exploration Mechanical signals at the base of a rat vibrissa: the effect of intrinsic vibrissa curvature and implications for tactile exploration Brian W. Quist and Mitra J. Z. Hartmann J Neurophysiol 107:2298-2312,

More information

Chapter 6. Dynamic. 6.1 Introduction. 6.2 Case Study/Engineering Application

Chapter 6. Dynamic. 6.1 Introduction. 6.2 Case Study/Engineering Application Chapter Dynamic. Introduction In the last chapters, we have discussed the static analysis of structures. Static analysis holds when the loads are slowly applied. When the loads are suddenly applied, or

More information

Jumpers Judges Guide

Jumpers Judges Guide Jumpers events will officially become standard classes as of 1 January 2009. For judges, this will require some new skills in course designing and judging. This guide has been designed to give judges information

More information

Rear Crosses with Drive and Confidence

Rear Crosses with Drive and Confidence Rear Crosses with Drive and Confidence Article and photos by Ann Croft Is it necessary to be able to do rear crosses on course to succeed in agility? I liken the idea of doing agility without the option

More information

Teaching Eye Contact as a Default Behavior

Teaching Eye Contact as a Default Behavior Whole Dog Training 619-561-2602 www.wholedogtraining.com Email: dogmomca@cox.net Teaching Eye Contact as a Default Behavior Don t you just love to watch dogs that are walking next to their pet parent,

More information

2. Stress analysis in the pair sled - flat insert for bi-condylar endoprosthesis by W.LINK

2. Stress analysis in the pair sled - flat insert for bi-condylar endoprosthesis by W.LINK Journal of Applied Mathematics and Computational Mechanics 2015, 14(2), 41-48 www.amcm.pcz.pl p-issn 2299-9965 DOI: 10.17512/jamcm.2015.2.05 e-issn 2353-0588 STRESS OCCURRING IN THE FRICTION NODE OF ELEMENTS

More information

Upgrade KIT IV Operation Manual

Upgrade KIT IV Operation Manual Upgrade KIT IV Operation Manual Be sure to read this document before using the machine. We recommend that you keep this document nearby for future reference. Before you start It is important to perform

More information

MIND TO MIND the Art and Science of Training

MIND TO MIND the Art and Science of Training 1 Mind to Mind Clicking For Stacking Most people think that a dog is conformation trained if it walks on a leash and doesn t sit or bite the judge. Professionals know that training a dog for the Specials

More information

Design of High Speed Vedic Multiplier Using Carry Select Adder with Brent Kung Adder

Design of High Speed Vedic Multiplier Using Carry Select Adder with Brent Kung Adder Design of High Speed Vedic Multiplier Using Carry Select Adder with Brent Kung Adder Kathi Anoosha M.Tech(VLSI&ES), AVN Institute of Engineering and Technology. Sasi Kiran, M.Tech Assistant Professor,

More information

Design of a High Speed Adder

Design of a High Speed Adder Design of a High Speed Adder Aritra Mitra 1, Bhavesh Sharma 2, Nilesh Didwania 3 and Amit Bakshi 4 Aritra.mitra000@gmail.com, Abakshi.ece@gmail.com Abstract In this paper we have compared different addition

More information

Welcome to the case study for how I cured my dog s doorbell barking in just 21 days.

Welcome to the case study for how I cured my dog s doorbell barking in just 21 days. Welcome to the case study for how I cured my dog s doorbell barking in just 21 days. My name is Chet Womach, and I am the founder of TheDogTrainingSecret.com, a website dedicated to giving people simple

More information

ROUGH TERRAIN CRANE GR-120NL GR-120N

ROUGH TERRAIN CRANE GR-120NL GR-120N ROUGH TERRAIN CRANE GR-120NL GR-120N (Standard Jib) JAPANESE SPECIFICATIONS CARRIER MODEL OUTLINE SPEC. NO. GR-120NL 12 t hook X-type Outrigger GR-120N-2-00101 GR-120NL 12 t hook H-type Outrigger GR-120N-2-00102

More information

Our training program... 4

Our training program... 4 1 Introduction Agility truly is the ultimate dog sport! It combines speed and precision, teamwork and independence, dog training skills and handler finesse in a wonderfully complex mix. Agility has the

More information

Female Persistency Post-Peak - Managing Fertility and Production

Female Persistency Post-Peak - Managing Fertility and Production May 2013 Female Persistency Post-Peak - Managing Fertility and Production Michael Longley, Global Technical Transfer Manager Summary Introduction Chick numbers are most often reduced during the period

More information

Female Persistency Post-Peak - Managing Fertility and Production

Female Persistency Post-Peak - Managing Fertility and Production Female Persistency Post-Peak - Managing Fertility and Production Michael Longley, Global Technical Transfer Manager May 2013 SUMMARY Introduction Chick numbers are most often reduced during the period

More information

PetSpy Advanced Dog Training System, Model M86N

PetSpy Advanced Dog Training System, Model M86N PetSpy Advanced Dog Training System, Model M86N What is in the Package: PetSpy Advanced Dog Training System: Remote Transmitter Receiver Collar Frequency: 433.825Mhz Transmitter: 3.7V 500mA LiPo Receiver:

More information

AGILITY REGULATIONS OF THE. Open Junior Agility Championships

AGILITY REGULATIONS OF THE. Open Junior Agility Championships AGILITY REGULATIONS OF THE Open Junior Agility Championships 2013 Content Our Aim 3 Introduction 3 Handler Age Categories 3 Jump Height Categories 3 Courses 3 - General - Course Design - Competition Process

More information

Trends and challenges in Engineering geodesy

Trends and challenges in Engineering geodesy Trends and challenges in Engineering geodesy Rudolf STAIGER rudolf.staiger@hs-bochum.de International Federation of Surveyors Féderation Internationale des Géomètres Internationale Vereinigung der Vermessungsingenieure

More information

MGL Avionics EFIS G2 and iefis. Guide to using the MGL RDAC CAN interface with the UL Power engines

MGL Avionics EFIS G2 and iefis. Guide to using the MGL RDAC CAN interface with the UL Power engines MGL Avionics EFIS G2 and iefis Guide to using the MGL RDAC CAN interface with the UL Power engines General The RDAC CAN interface forms the bridge between the UL Power ECU and an MGL Avionics G2 EFIS system

More information

Turtle Ballet: Simulating Parallel Turtles in a Nonparallel LOGO Version. Erich Neuwirth

Turtle Ballet: Simulating Parallel Turtles in a Nonparallel LOGO Version. Erich Neuwirth Turtle Ballet: Simulating Parallel Turtles in a Nonparallel LOGO Version Erich Neuwirth University of Vienna, Dept. of Statistics and Decision Support Systems Computer Supported Didactics Working Group

More information

AKC TRAINING. AKC Canine Good Citizen Training

AKC TRAINING. AKC Canine Good Citizen Training AKC TRAINING AKC Canine Good Citizen Training We are proud to offer the AKC Canine Good Citizen Training and Evaluation Program. Please feel free to contact us about this additional training for your dog.

More information

Naughty But Nice. minute. 3gamechangers

Naughty But Nice. minute. 3gamechangers Naughty But Nice minute 3gamechangers 1. cone game To play this game, all you need is a plastic cone or cup that your dog can fit their muzzle in and their dinner! In this game, you reward your dog for

More information

Finch Robot: snap level 4

Finch Robot: snap level 4 Finch Robot: snap level 4 copyright 2017 birdbrain technologies llc the finch is a great way to get started with programming. we'll use snap!, a visual programming language, to control our finch. First,

More information

Cattle Producer s Library

Cattle Producer s Library Western Beef Resource Committee Cattle Producer s Library Management Section CL791 Low-Stress Livestock Handling on Pasture and Range Roger Ingram, University of California Cooperative Extension Farm Advisor

More information

Neck. Forelimbs. ,pine. Hindlimbs. PropriocepAion. Area. -ick CiAh each exercise yob do! Mark with an L (left side) or R (right side)!

Neck. Forelimbs. ,pine. Hindlimbs. PropriocepAion. Area. -ick CiAh each exercise yob do! Mark with an L (left side) or R (right side)! Mini Book! FiAness Analysis Each K9 Fitness exercise has a function. It s important to make sure there is balance in your fitness work. By marking the appropriate boxes below after every training session

More information

Story Points: Estimating Magnitude

Story Points: Estimating Magnitude Story Points.fm Page 33 Tuesday, May 25, 2004 8:50 PM Chapter 4 Story Points: Estimating Magnitude In a good shoe, I wear a size six, but a seven feels so good, I buy a size eight. Dolly Parton in Steel

More information

DLS Sample Preparation Guide

DLS Sample Preparation Guide DLS Sample Preparation Guide The Leica TCS SP8 DLS is an innovative concept to integrate the Light Sheet Microscopy technology into the confocal microscope. Due to its unique optical architecture samples

More information

Advanced Hunting Aptitude Evaluation (AHAE)

Advanced Hunting Aptitude Evaluation (AHAE) 1 Advanced Hunting Aptitude Evaluation (AHAE) Purpose The purpose of this evaluation is to record the level of hunting aptitude and trainability in the young dog up to approximately 2.5 years old. At this

More information

Carsten Behn. Technical Mechanics Group Department of Mechanical Engineering Ilmenau University of Technology / Germany

Carsten Behn. Technical Mechanics Group Department of Mechanical Engineering Ilmenau University of Technology / Germany Carsten Behn Technical Mechanics Group Department of Mechanical Engineering Ilmenau University of Technology / Germany Preface Outline Introduction - Motivation - Bionic aspects - Living paradigms - Anatomy

More information

Adjustment Factors in NSIP 1

Adjustment Factors in NSIP 1 Adjustment Factors in NSIP 1 David Notter and Daniel Brown Summary Multiplicative adjustment factors for effects of type of birth and rearing on weaning and postweaning lamb weights were systematically

More information

Code Documentation MFA (Movable Finite Automata) Eric Klemchak CS391/CS392

Code Documentation MFA (Movable Finite Automata) Eric Klemchak CS391/CS392 Code Documentation MFA (Movable Finite Automata) Eric Klemchak CS391/CS392 1 Contents 1.Overview... 2 1.1Introduction... 2 1.2MajorFunctions... 2 2.Dataflow... 2 3Controlflow... 3 4.Logical/PhysicalDataDesignDescription...

More information

Mini slide, Series MSN narrow version Ø 6-16 mm double-acting with magnetic piston cushioning: elastic with integrated ball rail guide

Mini slide, Series MSN narrow version Ø 6-16 mm double-acting with magnetic piston cushioning: elastic with integrated ball rail guide Piston rod cylinders uide cylinders ini slide, Series SN 1 Ambient temperature min./max. +0 C / +60 C edium Compressed air ax. particle size 5 µm Oil content of compressed air 0 mg/m³ - 1 mg/m³ Pressure

More information

Basic Assistance Harness Pricing & Measuring

Basic Assistance Harness Pricing & Measuring Basic Assistance Harness Pricing & Measuring Service/Assistance Dog harness with straps custom made to fit your dog Flexible leather balance handle made to your desired height Chose fixed or detachable

More information

Lecture 4: Controllability and observability

Lecture 4: Controllability and observability Lecture 4: Controllability and observability Lecture 4: Controllability and observability p.1/9 Part 1: Controllability Lecture 4: Controllability and observability p.2/9 Example Two inverted pendula mounted

More information

FOOD WEB FOREST MUNCHERS

FOOD WEB FOREST MUNCHERS FOOD WEB FOREST MUNCHERS Subject: Science Skills: Classification, Comparison, Discussion, Kinesthetic, Large group, Modeling, Simulation Duration: -2 Class Periods Setting: Outside or Large Open Area Materials:

More information

funded by Reducing antibiotics in pig farming

funded by Reducing antibiotics in pig farming funded by Reducing antibiotics in pig farming The widespread use of antibiotics (also known as antibacterials) in human and animal medicine increases the level of resistant bacteria. This makes it more

More information

Design of Low Power and High Speed Carry Select Adder Using Brent Kung Adder

Design of Low Power and High Speed Carry Select Adder Using Brent Kung Adder Design of Low Power and High Speed Carry Select Adder Using Brent Kung Adder Dr.K.Srinivasulu Professor, Dept of ECE, Malla Reddy Collage of Engineering. Abstract: The binary addition is the basic arithmetic

More information

Proofing Done Properly How to use distractions to improve your dog s understanding

Proofing Done Properly How to use distractions to improve your dog s understanding 1515 Central Avenue South, Kent, WA 98032 (253) 854-WOOF(9663) voice / (253) 850-DOGS fax www.familydogonline.com / Info@FamilyDogOnline.com Proofing Done Properly How to use distractions to improve your

More information

Comparison of Parallel Prefix Adders Performance in an FPGA

Comparison of Parallel Prefix Adders Performance in an FPGA International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 3, Issue 6 (September 2012), PP. 62-67 Comparison of Parallel Prefix Adders Performance

More information

Subdomain Entry Vocabulary Modules Evaluation

Subdomain Entry Vocabulary Modules Evaluation Subdomain Entry Vocabulary Modules Evaluation Technical Report Vivien Petras August 11, 2000 Abstract: Subdomain entry vocabulary modules represent a way to provide a more specialized retrieval vocabulary

More information

IQ Range. Electrical Data 3-Phase Power Supplies. Keeping the World Flowing

IQ Range. Electrical Data 3-Phase Power Supplies. Keeping the World Flowing IQ Range Electrical Data 3-Phase Power Supplies Keeping the World Flowing Contents Section Page Introduction 3 50 Hz 380 V 5 0 V 6 415 V 7 4 V 8 500 V 9 6 V 60 Hz 8 V 11 2 V 0 V 13 4 V 14 460 V 15 480

More information

S Fault Indicators. S.T.A.R. Type CR Faulted Circuit Indicator Installation Instructions. Contents PRODUCT INFORMATION

S Fault Indicators. S.T.A.R. Type CR Faulted Circuit Indicator Installation Instructions. Contents PRODUCT INFORMATION Fault Indicators S.T.A.R. Type CR Faulted Circuit Indicator Installation Instructions Service Information S320-75-1 Contents Product Information..........................1 Safety Information............................2

More information

Hip Dysplasia. So What is Hip Dysplasia? If this Disease Starts in Puppy hood, Why are Most Affected Dogs Elderly?

Hip Dysplasia. So What is Hip Dysplasia? If this Disease Starts in Puppy hood, Why are Most Affected Dogs Elderly? Hip Dysplasia Hip dysplasia is a common condition of large breed dogs and many dog owners have heard of it but the fact is that anyone owning a large breed dog or considering a large breed dog as a pet

More information

A standardized cage measurement system: A versatile tool for calculating usable cage space 1

A standardized cage measurement system: A versatile tool for calculating usable cage space 1 2012 Poultry Science Association, Inc. A standardized cage measurement system: A versatile tool for calculating usable cage space 1 A. S. Kiess,* P. Y. Hester, 1 J. A. Mench, R. C. Newberry, and J. P.

More information

NBN 3MIN GAME CHANGERS

NBN 3MIN GAME CHANGERS NBN 3MIN GAME CHANGERS DOGS WHO HAVE LESS PREDICTABLE SCHEDULES ARE MUCH HAPPIER IN THEIR EVERYDAY LIFE STOP WORRYING ABOUT WHAT CAN GO WRONG, GET EXCITED ABOUT WHAT WILL GO RIGHT! absolutedogstraining.com

More information

K9 Search and Rescue Team Inc. 35 Railroad Avenue, Dolores, CO, (970)

K9 Search and Rescue Team Inc. 35 Railroad Avenue, Dolores, CO, (970) SECTION 1 CANINE OBEDIENCE AND AGILITY STANDARDS PURPOSE: This section of the Obedience and Agility Standards is in place mainly for young dogs (under six months of age). Dogs six months and up should

More information

Answers to Questions about Smarter Balanced 2017 Test Results. March 27, 2018

Answers to Questions about Smarter Balanced 2017 Test Results. March 27, 2018 Answers to Questions about Smarter Balanced Test Results March 27, 2018 Smarter Balanced Assessment Consortium, 2018 Table of Contents Table of Contents...1 Background...2 Jurisdictions included in Studies...2

More information

Mathematical models for dog rabies that include the curtailing effect of human intervention

Mathematical models for dog rabies that include the curtailing effect of human intervention Mathematical models for dog rabies that include the curtailing effect of human intervention Tiffany Ngo Leung Supervised by Dr Stephen A Davis RMIT University Abstract Rabies is a zoonotic viral disease

More information

Higher National Unit Specification. General information for centres. Unit code: F3V4 34

Higher National Unit Specification. General information for centres. Unit code: F3V4 34 Higher National Unit Specification General information for centres Unit title: Dog Training Unit code: F3V4 34 Unit purpose: This Unit provides knowledge and understanding of how dogs learn and how this

More information

What this guide covers

What this guide covers What this guide covers This guide highlights the importance of understanding and communicating effectively with animals - to ultimately improve animal welfare and productivity in the Middle East and Africa.

More information

Comments on the Beauceron Standard By M. Maurice Hermel (Translated by C. Batson)

Comments on the Beauceron Standard By M. Maurice Hermel (Translated by C. Batson) Comments on the Beauceron Standard By M. Maurice Hermel (Translated by C. Batson) The following are comments written by M. Hermel for the FCI Standard #44 published on 10/25/06. They were approved by the

More information

KOOTENAI / SHOSHONE 4-H DOG PROGRAM AGILITY TRAINING RESOURCE GUIDE & EXHIBITION RULES

KOOTENAI / SHOSHONE 4-H DOG PROGRAM AGILITY TRAINING RESOURCE GUIDE & EXHIBITION RULES KOOTENAI / SHOSHONE 4-H DOG PROGRAM AGILITY TRAINING RESOURCE GUIDE & EXHIBITION RULES Revised: March 2004 Training Your Dog for Agility Level 1 W EEK 1 Objectives and goals of Agility practice. 1. Verbal

More information

AGILITY REGULATIONS OF THE. Open Junior Agility Championships

AGILITY REGULATIONS OF THE. Open Junior Agility Championships AGILITY REGULATIONS OF THE Open Junior Agility Championships 2016-2017 Content Our Aim 3 Introduction 3 Handler Age Categories 3 Jump Height Categories 3 Courses 3 - General - Course Design - Competition

More information

SECTION IV-1 PARLOURS

SECTION IV-1 PARLOURS SECTION IV-1: PARLOURS 1 SECTION IV-1 PARLOURS 1. PARLOURS Parlours are effective milking management systems on many dairy sheep operations. The ability to milk a number of ewes at one time allows for

More information

Controllability of Complex Networks. Yang-Yu Liu, Jean-Jacques Slotine, Albert-Laszlo Barbasi Presented By Arindam Bhattacharya

Controllability of Complex Networks. Yang-Yu Liu, Jean-Jacques Slotine, Albert-Laszlo Barbasi Presented By Arindam Bhattacharya Controllability of Complex Networks Yang-Yu Liu, Jean-Jacques Slotine, Albert-Laszlo Barbasi Presented By Arindam Bhattacharya Index Overview Network Controllability Controllability of real networks An

More information

Instruction Manual. 6. Connectors. Latest news and tips can be taken from Be flapscinated.

Instruction Manual. 6. Connectors. Latest news and tips can be taken from   Be flapscinated. 6. Connectors Instruction Manual 1 4 2 3 1: Power cord for pump, 2: Cable for lighting, 3: Power supply for lighting, 4: Switch for lighting Latest news and tips can be taken from www.jellyflap.de! Be

More information

Bluefang. All-In-One Smart Phone Controlled Super Collar. Instruction Manual. US and International Patents Pending

Bluefang. All-In-One Smart Phone Controlled Super Collar. Instruction Manual. US and International Patents Pending Bluefang All-In-One Smart Phone Controlled Super Collar Instruction Manual US and International Patents Pending The Only pet collar that gives you: Remote Training Bark Control Containment Fitness Tracking

More information

Grade: 8. Author: Hope Phillips

Grade: 8. Author: Hope Phillips Title: Fish Aquariums Real-World Connection: Grade: 8 Author: Hope Phillips BIG Idea: Linear Functions Fish aquariums can be found in homes, restaurants, and businesses. From simple goldfish to exotic

More information

Part III: Estimating Size

Part III: Estimating Size Part III: Estimating Size Separate estimates of size from estimates of duration Example: Moving a pile of dirt example Size: 300 cubic feet of dirt Convert size to an estimate of duration Wheelbarrow holds

More information

COMPARING DNA SEQUENCES TO UNDERSTAND EVOLUTIONARY RELATIONSHIPS WITH BLAST

COMPARING DNA SEQUENCES TO UNDERSTAND EVOLUTIONARY RELATIONSHIPS WITH BLAST Big Idea 1 Evolution INVESTIGATION 3 COMPARING DNA SEQUENCES TO UNDERSTAND EVOLUTIONARY RELATIONSHIPS WITH BLAST How can bioinformatics be used as a tool to determine evolutionary relationships and to

More information

Obedience Personality Test Adapted from The Intelligence of Dogs, pages , Stanley Coren, Free Press, 1994.

Obedience Personality Test Adapted from The Intelligence of Dogs, pages , Stanley Coren, Free Press, 1994. Obedience Personality Test Adapted from The Intelligence of Dogs, pages 194-207, Stanley Coren, Free Press, 1994. Date of Test: / / Test Sequence: Puppy of Name of Puppy: Description of Puppy: Age of Puppy:

More information

Coding with Scratch Popping balloons

Coding with Scratch Popping balloons Getting started If you haven t used Scratch before we suggest you first take a look at our project Coding with Scratch First Steps Page 1 Popping Balloons In this game the cat will move around the screen

More information

Psy Advanced Laboratory in Operant Behavior Dognition Laboratory One. I. Let s see how well your dog can observe pointing signals.

Psy Advanced Laboratory in Operant Behavior Dognition Laboratory One. I. Let s see how well your dog can observe pointing signals. Psy 331.03 Advanced Laboratory in Operant Behavior Dognition Laboratory One Research Team: Dog: I. Let s see how well your dog can observe pointing signals. Procedure: 1. You will need treats, 2 cones,

More information