A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

Similar documents
This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

What Is SimMechanics?

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

2.7 Cloth Animation. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter 2 123

The jello cube. Undeformed cube. Deformed cube

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

The Jello Cube Assignment 1, CSCI 520. Jernej Barbic, USC

Cloth Simulation. COMP 768 Presentation Zhen Wei

Introduction to Robotics

Robotics kinematics and Dynamics

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Chapter 3: Kinematics Locomotion. Ross Hatton and Howie Choset

ROBOTICS 01PEEQW Laboratory Project #1. Basilio Bona DAUIN Politecnico di Torino

ROBOTICS 01PEEQW Laboratory Project #1. Basilio Bona DAUIN Politecnico di Torino

2. Motion Analysis - Sim-Mechanics

Force Modeling, Quaternion PID, and Optimization

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Lesson 1: Introduction to Pro/MECHANICA Motion

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

PRACTICAL SESSION 4: FORWARD DYNAMICS. Arturo Gil Aparicio.

Chapter 3: Computer Animation Reminder: Descriptive animation. Procedural animation : Examples. Towards methods that generate motion?

INTRODUCTION CHAPTER 1

Flexible Modeling and Simulation Architecture for Haptic Control of Maritime Cranes and Robotic Arms

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Anatomy of a Physics Engine. Erwin Coumans

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

NATIONAL UNIVERSITY OF SINGAPORE. (Semester I: 1999/2000) EE4304/ME ROBOTICS. October/November Time Allowed: 2 Hours

1. Introduction 1 2. Mathematical Representation of Robots

15-780: Problem Set #4

4 Kinematic Linkages. Chapter 4. Kinematic Linkages. Department of Computer Science and Engineering 4-1

Jacobians. 6.1 Linearized Kinematics. Y: = k2( e6)

CS283: Robotics Fall 2016: Robot Arms

Exercise 2b: Model-based control of the ABB IRB 120

Exercise 2b: Model-based control of the ABB IRB 120

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Lecture VI: Constraints and Controllers

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

3. Manipulator Kinematics. Division of Electronic Engineering Prof. Jaebyung Park

Written exams of Robotics 2

Mass-Spring Systems. Last Time?

11. Kinematic models of contact Mechanics of Manipulation

Lecture «Robot Dynamics»: Kinematic Control

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO F ^ k.^

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Model Library Mechanics

Kinematics, Kinematics Chains CS 685

Simulation in Computer Graphics. Deformable Objects. Matthias Teschner. Computer Science Department University of Freiburg

Analysis of mechanisms with flexible beam-like links, rotary joints and assembly errors

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves

Articulated Characters

Simulation in Computer Graphics. Particles. Matthias Teschner. Computer Science Department University of Freiburg

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Humanoid Robots 2: Dynamic Modeling

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

Robot mechanics and kinematics

Internal models for object manipulation: Determining optimal contact locations. Technical Report

Motion Capture & Simulation

1 Trajectories. Class Notes, Trajectory Planning, COMS4733. Figure 1: Robot control system.

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Introduction to Multi-body Dynamics

Robot mechanics and kinematics

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Lab 2A Finding Position and Interpolation with Quaternions

MACHINES AND MECHANISMS

Trajectory Optimization

Design of a dynamic simulation system for VR applications

INSTITUTE OF AERONAUTICAL ENGINEERING

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Modeling of Humanoid Systems Using Deductive Approach

A Simplified Vehicle and Driver Model for Vehicle Systems Development

Particle Systems. Lecture 8 Taku Komura

Advanced Robotic Manipulation

WEEKS 1-2 MECHANISMS

Theory of Machines Course # 1

Line of Sight Stabilization Primer Table of Contents

Support for Multi physics in Chrono

Example 24 Spring-back

[9] D.E. Whitney, "Resolved Motion Rate Control of Manipulators and Human Prostheses," IEEE Transactions on Man-Machine Systems, 1969.

Optimization of a two-link Robotic Manipulator

Spacecraft Actuation Using CMGs and VSCMGs

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

SolidWorks Motion Study Tutorial

An Improved Dynamic Modeling of a 3-RPS Parallel Manipulator using the concept of DeNOC Matrices

ROSE-HULMAN INSTITUTE OF TECHNOLOGY

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

Maths in Motion. Danny Chapman Cumberland Lodge - February Version for distribution. Procedural animation in video games

9. Representing constraint

Motion Simulation and Mechanism Design with SOLIDWORKS Motion 2017

Position Analysis

Theory and Design Issues of Underwater Manipulator

7-Degree-Of-Freedom (DOF) Cable-Driven Humanoid Robot Arm. A thesis presented to. the faculty of. In partial fulfillment

COMP 175 COMPUTER GRAPHICS. Lecture 10: Animation. COMP 175: Computer Graphics March 12, Erik Anderson 08 Animation

Introduction to Solid Modeling Using SolidWorks 2008 COSMOSMotion Tutorial Page 1

Transcription:

CENG 732 Computer Animation This week Inverse Kinematics (continued) Rigid Body Simulation Bodies in free fall Bodies in contact Spring 2006-2007 Week 5 Inverse Kinematics Physically Based Rigid Body Simulation Inverse Kinematics Find the intermediate joint angles given the position and orientation of the end effector Some constraints may also be given E.g., joint angles in a range There may be no solutions Overconstrained There may be multiple solutions Underconstrained Analytic computation for simple cases Given (x,y) coordinate of the end point of the end effector, compute 1 and 2 Solution The Jacobian In many complex joints however, such analytic solutions are not possible. Therefore we use the Jacobian matrix to find the correct joint angle increments that will lead us to the final end effector configuration The Jacobian matrix is a matrix of partial derivatives Each entry shows how much the change in an input parameter effects an output parameter 1

Example Jacobian Example Jacobian Using the Jacobian Computing the Jacobian A simple example Assume we want to find the change in the rotation angles to get the end effector to G Effect of changing s 2

The equation Solving for s If J is not a square matrix Use the pseudo-inverse to compute the joint angles Define H as: Adding Constraints where i is the current joint angle of joint i ci is the desired joint angle for joint i i is the desired angle gain (the higher it is the more difficult to move the joint away from the desired joint angle) Adding Constraints Effect of the control expression Define z as the gradient of H: we are going to add control expression involving z to our solution. Adding the control expression to the solution will not affect the end effector s motion 3

Solving for s with the control expression Rigid Body Simulation Reaction of rigid bodies to forces such as: Gravity Viscosity Friction Forces from collisions Wind When applied to objects, these forces induce linear and angular accelerations Rigid Body Simulation Cycle Physics Primer Read Appendix B.6 (pages 476-488) from the text book for equation that are needed from simple physics simulation The difference from standard physics is that in compute animation the motion of objects at discrete times steps is studied along with significant events and their aftermath. Bodies in Free Fall Position update when the velocity is constant Position update when the velocity is changing due to acceleration A simple example Consider a point at (0,0) with initial velocity of (100,100) feet per second Gravity: (0,-32) feet per second per second We want to compute the position every 1/30 seconds (to generate an animation of 30 frames per second) We are going to compute the beginning and ending velocities for each time interval, and use the average of these velocities to update the position of the point 4

Illustration The computation Initial condition First time period Second time period Path of the particle Acceleration In real life, the forces change as the rigid body changes its position, orientation, and velocity over the time. It is not the best approach to use the acceleration at the beginning of the time interval to compute the velocity at the end (known as Euler integration) Using a different integration method RK2 Method First compute the derivative of y(t) at to (which we call k1). We use k1 to get an initial estimate for y(to+h) labelled y*(to+h). From y*(to+h) we can get an estimate for the derivative of y(t) at to+h, which we will call k2. We then use the average of these two derivatives, k3, to arrive at our final estimate of y(to+h) labelled y*'(to+h). 5

Rotational Motion For non-point objects, the mass extent of the object should be considered Angular velocity is the rate at which the object is rotating irrespective of its linear velocity the direction of the vector gives the axis of orientation the magnitude gives the revolutions per unit time Angular Velocity Two revolutions per second Two revolutions per second Angular velocities are the same (but the instantaneous linear velocities are different) Linear Velocity of a Rotating Point Center of Mass If mass values are provided on some discrete points on the object (i.e. vertices), the total mass and the center of mass is given by Rotating Objects Forces The linear velocity of a point on a rotating object Linear force Torque 6

Linear Momentum Angular Momentum Inertia Tensor Inertia Tensor of a Rotated Object The matrix that describes the distribution of an object s mass in space. Summing up all together An object s state vector Bodies in Contact Collision Both kinematic and dynamic components Kinematic: Do determine whether two objects collide or not. Only dependent on the position and orientations of the objects and how they change over time Dynamic: What happens after collision, what forces are exchanged, how do they affect objects motions 7

Collision handling Kinematic response Take actions after the collision occurs (the penalty method) Back up time to the first instant the collision occurs and determine the appropriate response Kinematic Response Particle-Plane collision Kinematic Response Particle s position is computed at every time step (particle is moving at a constant speed) when we understand that the particle has collided with the plane in the time interval t i-1 and t i. Kinematic Response When collision is detected, the component of the velocity vector in the normal direction is negated by subtracting it twice from the original velocity vector. To model the loss of energy during collision a damping factor 0<k<1 is multiplied with the normal component when it is subtracted the second time Kinematic Response 8