1 GEOMETRIE Geometrie in der Technik H. Pottmann TU Wien SS 2007.

Slides:



Advertisements
Similar presentations
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
Advertisements

Computer Graphics Lecture 4 Geometry & Transformations.
1 C02,C03 – ,27,29 Advanced Robotics for Autonomous Manipulation Department of Mechanical EngineeringME 696 – Advanced Topics in Mechanical Engineering.
CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Mapping: Scaling Rotation Translation Warp
Chris Hall Aerospace and Ocean Engineering
Recovering metric and affine properties from images
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
2D Geometric Transformations
Recovering metric and affine properties from images
Multiple View Geometry Projective Geometry & Transformations of 2D Vladimir Nedović Intelligent Systems Lab Amsterdam (ISLA) Informatics Institute,
Computer Graphics Recitation 2. 2 The plan today Learn about rotations in 2D and 3D. Representing rotations by quaternions.
The 2D Projective Plane Points and Lines.
1 GEOMETRIE Geometrie in der Technik H. Pottmann TU Wien SS 2007.
IMA Tutorial, Instantaneous Motions - Applications to Problems in Reverse Engineering and 3D Inspection H. Pottmann.
Projective geometry- 2D Acknowledgements Marc Pollefeys: for allowing the use of his excellent slides on this topic
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Uncalibrated Geometry & Stratification Sastry and Yang
Ch. 4: Velocity Kinematics
3-D Geometry.
3D orientation.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Mechanics of Rigid Bodies
3D Motion Estimation. 3D model construction Video Manipulation.
Screw Rotation and Other Rotational Forms
The linear algebra of Canadarm
CS I400/B659: Intelligent Robotics Rigid Transformations.
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Rotations and Translations
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
Elementary Linear Algebra Anton & Rorres, 9th Edition
Homogeneous Coordinates (Projective Space) Let be a point in Euclidean space Change to homogeneous coordinates: Defined up to scale: Can go back to non-homogeneous.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
Rotations and Translations
Sect 5.4: Eigenvalues of I & Principal Axis Transformation
MA4248 Weeks 1-3. Topics Coordinate Systems, Kinematics, Newton’s Laws, Inertial Mass, Force, Momentum, Energy, Harmonic Oscillations (Springs and Pendulums)
KINEMATICS of a ROLLING BALL Wayne Lawton Department of Mathematics National University of Singapore Lecture based on my student’s MSc.
1 C03 – Advanced Robotics for Autonomous Manipulation Department of Mechanical EngineeringME 696 – Advanced Topics in Mechanical Engineering.
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
Slide 9- 1 Copyright © 2006 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Computer Graphics 2D Transformations. 2 of 74 Contents In today’s lecture we’ll cover the following: –Why transformations –Transformations Translation.
Elementary Linear Algebra Anton & Rorres, 9th Edition
EEE. Dept of HONG KONG University of Science and Technology Introduction to Robotics Page 1 Lecture 2. Rigid Body Motion Main Concepts: Configuration Space.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
KINEMATIC CHAINS & ROBOTS (I).
A Flexible New Technique for Camera Calibration Zhengyou Zhang Sung Huh CSPS 643 Individual Presentation 1 February 25,
EECS 274 Computer Vision Affine Structure from Motion.
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
Just a quick reminder with another example
KINEMATICS OF PARTICLES
Comparing Two Motions Jehee Lee Seoul National University.
Trajectory Generation
FROM PARTICLE TO RIGID BODY.
This Week WeekTopic Week 1 Coordinate Systems, Basic Functions Week 2 Trigonometry and Vectors (Part 1) Week 3 Vectors (Part 2) Week 4 Vectors (Part 3:
Uncalibrated reconstruction Calibration with a rig Uncalibrated epipolar geometry Ambiguities in image formation Stratified reconstruction Autocalibration.
Computer Graphics I, Fall 2010 Transformations.
Week 5 - Monday.  What did we talk about last time?  Lines and planes  Trigonometry  Transforms  Affine transforms  Rotation  Scaling  Shearing.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 1)
Theoretical Mechanics DYNAMICS * Navigation: Right (Down) arrow – next slide Left (Up) arrow – previous slide Esc – Exit Notes and Recommendations:
Learning from the Past, Looking to the Future James R. (Jim) Beaty, PhD - NASA Langley Research Center Vehicle Analysis Branch, Systems Analysis & Concepts.
Learning from the Past, Looking to the Future James R. (Jim) Beaty, PhD - NASA Langley Research Center Vehicle Analysis Branch, Systems Analysis & Concepts.
Chapter 10 Lecture 18: Rotation of a Rigid Object about a Fixed Axis: II.
Robotics Chapter 3 – Forward Kinematics
Ch. 2: Rigid Body Motions and Homogeneous Transforms
3D Motion Estimation.
Mobile Robot Kinematics
Uncalibrated Geometry & Stratification
Geometric Objects and Transformations (II)
Screw Rotation and Other Rotational Forms
Presentation transcript:

1 GEOMETRIE Geometrie in der Technik H. Pottmann TU Wien SS 2007

GEOMETRIE 2 Kinematical Geometry

3 GEOMETRIE Overview Kinematical Geometry Planar kinematics Quaternions Velocity field of a rigid body motion Helical motions Kinematic spaces

GEOMETRIE 4 Planar Kinematical Geometry

5 GEOMETRIE Complex numbers and planar kinematics In the plane, a congruence transformation (x 0,y 0 )(x,y), also called (discrete) motion, is given by x=a 1 +x 0 cos-y 0 sin, y=a 2 +x 0 sin+y 0 cos Collecting coordinates in complex numbers z=x+iy, we get with a=a 1 +ia 2, e i = cos +i sin z=a+z 0 e i,  … rotational angle

6 GEOMETRIE Planar kinematics a sequence of congruence transformations, depending continuously on a real parameter t, form a one-parameter motion z(t)=a(t)+z 0 e i(t) For a point z 0 in the moving system  0, z(t) describes its path (trajectory) in the fixed system 

7 GEOMETRIE Example: trochoidal motion Composition of two uniform rotations with angular velocities  and , measured against the fixed system. z(t) = ae it + z 0 e it ?

8 GEOMETRIE trochoids nephroid ellipse  :  = 1:-1 cardioid  :  = 1:2 cycloid (composed of rotation and translation) a=b

9 GEOMETRIE velocity field velocity vectors are found by first derivative, z‘(t)=a‘(t)+z 0 i‘(t)e i(t) at a fixed time instant t=t 0 we set ‘(t 0 )=: (angular velocity) and obtain a linear relation between points z and their velocity z‘: z‘=a‘+i(z-a)

10 GEOMETRIE pole For =0 we have an instantaneous translation for ≠0 we get exactly one point p with vanishing velocity, p=a+(i/)a‘ …. pole (expressed in the fixed system) With p, the velocity field is z‘=i(z-p), i.e., the velocity field of a rotation about p… instantaneous rotation

11 GEOMETRIE polhodes The locus of poles in the fixed (moving) system is called fixed (moving) polhode, respectively. It can be shown that during the motion, the moving polhode rolls on the fixed polhode; the point of tangency being the instantaneous pole. z‘ z p

12 GEOMETRIE Trochoidal motion polhodes are circles Application of this motion in mechanical engineering (e.g. construction of gears)

GEOMETRIE 13 Spatial Kinematics

14 GEOMETRIE Quaternion representation of rotations Discrete rotation about the origin, in matrix notation x=R. x 0, R… orthogonal matrix Orthogonality constraint on R, R. R T =I, is nonlinear. A simplified representation, which is an extension of the use of complex numbers in planar kinematics, uses quaternions. This leads also to a parameterization of the set of orthogonal matrices.

15 GEOMETRIE quaternions A quaternion is a generalized complex number of the form q=q 0 +iq 1 +jq 2 +kq 3 The imaginary units i,j,k satisfy i 2 =j 2 =k 2 =-1 ij=-ji=k and cyclic permutations H=R 4 with addition and multiplication is a skew field

16 GEOMETRIE quaternions conjugate quaternion q*=q 0 -iq 1 -jq 2 -kq 3 (ab)*=b*a* norm N(q)=q 0 2 +q 1 2 +q 2 2 +q 3 2 =qq* inverse q -1 =q*/N(q)

17 GEOMETRIE Embedding R 3 into H We embed R 3 into H as follows x=(x 1,x 2,x 3 )  R 3 x=ix 1 +jx 2 +kx 3 Now take a fixed quaternion a of norm 1 and study the mapping x‘=a*xa We see: N(x‘) = x‘(x‘)*= a*xa a*x*a = = N(x)a*a = N(x)

18 GEOMETRIE Mapping x‘=a*xa This mapping is linear in x preserves the norm can be shown to have positive determinant Therefore: x‘=a*xa represents a rotation about the origin quaternion representation of rotations

19 GEOMETRIE Rotation with quaternions From the quaternion a of norm 1, axis d (embedded in H) and angle  of rotation follow by a=cos(/2)-d sin(/2) The representation x‘=a*xa of a rotation yields a parameterization of orthogonal matrices R with help of the parameters a 0,a 1,a 2,a 3 (see lecture notes) They satisfy a 0 2 +a 1 2 +a 2 2 +a 3 2 =1, and thus we have a mapping between rotations and points a on the unit sphere S 3 R 4

20 GEOMETRIE applications Examples for applications of the quaternion representation: Design of motions (rotational part) via curve design in the 3-sphere S 3  R 4 Shoemake: Bezier-like curves in S 3 Juettler and Wagner: rational curves in S 3 Wallner (2004): nonlinear subdivision in S 3 Explicit solution of the registration problem in R 3 with known correspondences

21 GEOMETRIE First order instantaneous kinematics One-parameter motion in Euclidean 3-space (not just rotation about origin) Velocity vector field is linear: x 0 (t) u(t) x v (x)v (x) 00 

22 GEOMETRIE derivation of velocity field One-parameter motion x(t)=A(t). x 0 +a(t) velocity field x‘(t)=A‘(t). x 0 +a‘(t) express v(x)=x‘(t) in fixed frame by using x 0 =A T. (x-a) v(x)=A‘. A T. x+a‘-A‘. A T. a=:C. x+c

23 GEOMETRIE Derivation of velocity field establish C as skew-symmetric by differentiation of the identity I=A. A T 0=A‘. A T +A. A‘ T =C+C T 0 -c 3 c 2 C= c 3 0 -c 1 -c 2 c 1 0 with c=(c 1,c 2,c 3 ): C. x=c  x

24 GEOMETRIE One-parameter motions with constant velocity vector field 1. translation A p c x v(x)v(x) 2. uniform rotation Rotation axis A has direction vector c and passes through points p with. ( … moment vector of the axis A)

25 GEOMETRIE One-parameter motions with constant velocity vector field General case: helical motion Helical motion is the composition of a rotation about an axis A and a proportional translation parallel to A A t pt p … pitch

26 GEOMETRIE A spatial motion, composed of a einer uniform rotation abgout an axis a and a uniform translation parallel to a is called a uniform helical motion. a... Helical axis Rotational angle  and length of translation s proportional: a rotation with angle  gedreht, so belongs to a translation of length s = p .  The constant quotient p = s /  is called pitch. h... height Continuous (uniform) helical motion

27 GEOMETRIE Remark: discrete helical motion Any two congruent positions of a rigid body can be mapped into each other by a discrete helical motion. It is composed of a rotation about an axis and a translation parallel to this axis. In special cases two positions are related by a pure rotation or a pure translation. a

28 GEOMETRIE Discrete and continuous case In discrete case: Any two positions can be moved into each other by a helical motion (or a special case of it) In continuous case (consider two infinitesimally close positions) The velocity field of a one-parameter motion at any time instant is that of a uniform helical motion (or a special case of it)

29 GEOMETRIE Axis and pitch of a helical motion From the vector the axis and the pitch p of the underlying helical motion are calculated by: a … direction vector of axis A … moment vector of axis A [independent of the choice of q since q  a = (q+ a)  a ] A a o q

30 GEOMETRIE Euclidean motion group embedded in the affin group A Euclidean displacement x= a 0 + A. x 0 = a 0 +x 1 0 a 1 +x 2 0 a 2 +x 3 0 a 3 is a special affine map; A has to be orthogonal If A is an arbitrary matrix, we obtain an affine map. Let us view an affine map as a point (a 0,a 1,a 2,a 3 ) in R 12 (affine space)

31 GEOMETRIE a kinematic space Associate a point in R 12 with an affine copy of the moving body (affine map) Euclidean (rigid body) motions are mapped to points of six-dimensional manifold M 6 in R 12 Continuous motion is mapped to curve in M 6 A 12 R 12

32 GEOMETRIE Metric in R 12 via feature points (1) Moving body represented by feature points X: x 1, x 2, … Squared distance d 2 (,) between two affine maps  and  := sum of squared distances of corresponding feature point positions X (xi)(xi) (xi)(xi) R3R3

33 GEOMETRIE Metric in R 12 via feature points (2) Euclidean metric in R 12 which only depends on barycenter covariance matrix Replace X by 6 vertices f 1, …, f 6 of inertia ellipsoid X (fi)(fi) (fi)(fi) R3R3

34 GEOMETRIE Properties and facts Sufficient to choose some points on the moving body and define the metric with the sum of squared distances of their positions (don‘t need an integral); in fact, sufficient to take vertices of the inertia ellipsoid In the defined metric, the orthogonal projection of a point onto M 6 can be computed explicitly (4th degree problem; use quaternions; see lecture on registration)

GEOMETRIE 35 motion planning

36 GEOMETRIE Curve approximation in robotics and animation Interpolation or approximation of a set of positions by a smooth motion (Shoemake, Jüttler, Belta/Kumar,…) Equivalent to curve interpolation/approximation in group of rigid body motion Can use M 6, S 3,…

37 GEOMETRIE Problem formulation Given N positions (t i ) of a moving body  at time instances t i, compute a smooth rigid body motion (t) which interpolates or approximates the given positions  (t 1 )  (t 2 )  (t 3 )  (t 4 )

38 GEOMETRIE A simple solution (1) the given positions correspond to points in M 6 Interpolate them using a known curve design algorithm results in affinely distorted copies of the moving body (called an affine motion) R 12 M 6

39 GEOMETRIE A simple solution (2) R 12 M 6 c c* Perform orthogonal projection of c onto M 6 (i.e., best approximate each affine position by a congruent copy of the moving body; see registration with known correspondences) The resulting curve c* is the kinematic image of the designed motion

40 GEOMETRIE Example: projection of a C 2 spline

41 GEOMETRIE Energy minimizing motions The following examples have been computed with an algorithm for the computation of energy minimizing splines in manifolds This algorithm has been applied to compute an energy minimizing curve on M 6 R 12. Thus, we obtain an energy-minimizing motion in R 3

42 GEOMETRIE Cyclic motion minimizing cubic spline energy E 2

43 GEOMETRIE Cyclic motion minimizing tension spline energy E t

44 GEOMETRIE Cyclic motion minimizing kinetic energy E 1

45 GEOMETRIE Motion smoothing Curve smoothing on M 6 yields motion smoothing