A Detailed Look into Forward and Inverse Kinematics
|
|
- Karin Skinner
- 5 years ago
- Views:
Transcription
1 A Detailed Look into Forward and Inverse Kinematics Kinematics = Study of movement, motion independent of the underlying forces that cause them September 19-26, 2016
2 Kinematics Preliminaries Preliminaries: On transformation matrices
3 Kinematics of Simple Systems Triangle translating and rotating in 2D
4 Kinematics of Simple Systems What are the degrees of freedom of this system? What is its configurational space? Triangle translating and rotating in 2D
5 Kinematics of Interesting Systems Serial linkage in a 2D workspace (obstacles in gray)
6 Kinematics of Complex Systems Serial linkage with many links (many dofs) serpentine robots protein backbone chains
7 Rigid-Body Transformation z Preserves Euclidean distances between points in a rigid body T T(x) T(y) y T(y) T(x) = y-x x y A rigid-body transformation consists of: rotation and translation x
8 Rigid-body Transformation in 2D y x
9 Rigid-body Transformation in 2D y x
10 Rigid-body Transformation in 2D y x
11 Rigid-body Transformation in 2D y x
12 Rigid-body Transformation in 2D y Why? Rotation matrix: j i cos -sin sin cos t y Translation component: t x x t x t y
13 Rigid-body Transformation in 2D y Rotation matrix: j i i 1 j 1 i 2 j 2 t y t x x Vector (i 1,i 2 ) is new unit vector, with what coordinates in old world frame? What about (j 1,j 2 )?
14 Rigid-body Transformation in 2D y b j i a b Rotation matrix: = i 1 j 1 i 2 j 2 a b t y b v a a t x x Transformation of a point?
15 Homogeneous Coordinate Matrix in 2D y y t y y x t x x x The rotation and translation can be combined together in a homogeneous coordinate matrix What is a homogeneous coordinate matrix? Is translation a linear transformation?
16 Homogeneous Coordinate Matrix in 2D y y i 1 j 1 t x i 2 j 2 t y t y y x t x x x T = (t,r) T(x) = t + Rx x cos -sin t x x t x + x cos - y sin y = sin cos t y y = t y + x sin + y cos
17 Rigid-body Transformations in 3D 2? 1
18 Homogeneous Coordinate Matrix in 3D z y z k x i j y R i 1 j 1 k 1 t x i 2 j 2 k 2 t y i 3 j 3 k 3 t z x with: i i i 2 3 = 1 i 1 j 1 + i 2 j 2 + i 3 j 3 = 0 det(r) = +1 R -1 = R T Why? Why? Why? Why?
19 Rotations around Axes Plus Translation in 3D z z y y ccw rotation Rotation by around y axis: cos 0 sin t x t y -sin 0 cos t z xx Rotation by around x axis: Rotation by around z axis: cos -sin 0 t x sin cos 0 t y t z t x 0 cos -sin t y 0 sin cos t z
20 Rotation Around Arbitrary Vector v in 3D R(v, ) =? Step 1. Translate v to origin to obtain vector k Step 2. Rotate around centered vector k Step 3. Translate back Step 3. v How does one rotate around a centered vector? Step 2. k Step 1.
21 Rotation Around Centered Vector k in 3D R(k, ) = k x k x v + c k x k y v - k z s k x k z v + k y s k x k y v + k z s k y k y v + c k y k z v - k x s k x k z v - k y s k y k z v + k x s k z k z v + c where: k = (k x k y k z ) T s = sin c = cos v = 1-cos k
22 Rotation Around Centered Vector k in 3D How is R(k, ) obtained? 1. Rotate k so that the rotation axis is aligned with one of the principle x, y, z coordinate axes 2. Perform rotation of object about coordinate axis 3. Perform inverse rotation of 1 Details at aph/modeling/mod_tran/3drota.htm
23 Homogeneous Coordinate Matrix in 3D z y (x,y,z) z (x,y,z ) k x i j y x i 1 j 1 k 1 t x x y i 2 j 2 k 2 t y y z = i 3 j 3 k 3 t z z x Composition of two transforms represented by matrices T 1 and T 2 : T 2 T 1 Which one is applied first?
24 A Serial Linkage Model
25 Rotations in the Serial Linkage Model Rotating around a i by angle affects positions of following joints a i+2, a i+3, and others down the chain Rotation is about arbitrary vector b i (rotational axis shown) by specified/desired angle
26 Joint rotation in the Serial Linkage Model Anchor: First joint placed at origin of coordinate system Link b i defined from joint a i to a i+1 Rotating around a i by angle affects positions of following joints a i+2, a i+3, and others down the chain
27 Rotating a Bond in the Serial Linkage Model R(b i, ) = Translate(a i ) * R(axis, ) * Translate(-a i )
28 Chaining Rotations in a Serial Linkage Two rotations need to be applied at the same time: one around joint 3 by 30 deg, another around joint 5 by 15 degrees. Joints between bonds 3 to 5 updated by: But the joints after bond 5 are updated by:
29 Drawbacks of Homogeneous Coordinate Matrix x i1 j1 k1 tx x y i2 j2 k2 ty y z = i3 j3 k3 tz z Accumulation of computing errors along a serial linkage and repeated computation
30 Drawbacks of Homogeneous Coordinate Matrix x i1 j1 k1 tx x y i2 j2 k2 ty y z = i3 j3 k3 tz z Rotation representation in rotation matrices is redundant Only 3 parameters are actually needed Why 3-parameters for representing rotations?
31 Drawbacks of Homogeneous Coordinate Matrix x i1 j1 k1 tx x y i2 j2 k2 ty y z = i3 j3 k3 tz z A rotation representation expresses the orientation of a rigid body (or coordinate frame) relative to a reference frame. Rotation representation in homogeneous coordinate matrix is the matrix consisting of new axes i,j,k in the rotated coordinate frame. Rotation matrix is often called the Direction Cosine Matrix (DCM), as the new axes can be described in terms of their coordinates relative to the reference axes (recall our derivation of the rotation in 2D).
32 Drawbacks of Homogeneous Coordinate Matrix x i1 j1 k1 tx x y i2 j2 k2 ty y z = i3 j3 k3 tz z A rotation representation expresses the orientation of a rigid body (or coordinate frame) relative to a reference frame. Euler s rotation theorem: (1) The displacement of a rigid body (or coordinate frame) with one point fixed is described by a rotation about some axis. (2) Such a rotation may be uniquely described by a minimum of 3 dofs. Rotation matrix has a total of 9 parameters that are not independent Orthonormality specifies 6 constraints (3 for normality, 3 for orthogonality) A total of 9-6 = 3 independent parameters represent the rotation
33 Goal: Less Redundant Rotation Representations Rotation representations: Rotation matrix, Euler angles, Axis-angle, Unit Quaternions Rotation representation in rotation matrices is redundant Euler angles are an example of non-redundant 3-parameters representations of rotations Non-redundant 3-parameter representations of rotations like Euler angles have many problems: No simple algebra: composing rotations is not straightforward Singularities: many points map to same point in another representations The unit quaternion is a less redundant rotation representation that uses four parameters
34 Representations of Rotations A brief summary of rotation representations: matrix_.28or_direction_cosine_matrix.2c_dcm.29
35 Unit Quaternion (for Rotations in 3D) Quaternion: p = (a, bi, cj, dk) - 4 parameters Extensions of complex numbers i 2 = j 2 = k 2 = jk = -1 ij = k; jk = i; ki = j i; ji = -k; kj = -i; ik = -j Convenient to describe them as scalar plus vector: p = a + v, or p = (a, v) where vector v = <b c d> Unit quaternion: p 2 = 1 a,b,c,d can be defined so that p represents rotation around unit vector by a certain angle
36 Unit Quaternion (for Rotations in 3D) Allows compact representation of rotation R(r, ) around vector r by angle R(r, ) = (cos /2, r 1 sin /2, r 2 sin /2, r 3 sin /2) = (cos /2, r sin /2) R(r, ) Same rotation can be encoded in two ways (cos /2, r sin /2) or (cos (, -r sin ( ) R(-r, 2 ) Space of unit quaternions: Unit 3-sphere in 4-D space with antipodal points identified
37 Operations on Quaternions P = p 0 + p (scalar part is p 0, vector part is p) Q = q 0 + q (different operations can be defined) Product PQ is more interesting - it can be represented as another quaternion R = r 0 + r = PQ where r 0 = p 0 q 0 p.q (. denotes inner product) and r = p 0 q + q 0 p + p q ( denotes outer product) Conjugate of P is another quaternion P * = p 0 - p
38 Rotation of a Vector u Using Unit Quaternions Vector u = (x,y,z) can be represented as a quaternion 0 + x We want to rotate u around unit centered vector n by angle Let rotation R(n, ) be represented by a quaternion P R(n, ) Let P* be the conjugate of P Rotation of x yields x : 0 + x = P R(n, ) (0 + x) P* R(n, )
39 Forward and Inverse Kinematics Some more examples: Forward Kinematics on manipulators February 17, 2014
40 FK for Two-Linkage Chain x = l 1 cos 1 + l 2 cos( ) y = l 1 sin 1 + l 2 sin( ) 2 l 1 l 2 (x,y) 1
41 FK for Two-Linkage Chain x = l 1 cos 1 + l 2 cos( ) y = l 1 sin 1 + l 2 sin( ) x = x 1 + x 2 x 1 = l 1 cos 1 x 2 = l 2 cos( ) = l 2 cos(- ) y 1 y 2 2 l 1 1 x 2 l 2 (x,y) = - 1 ( 2 - ) = -( ) - = x 2 = l 2 cos( ) 1 x 1 x 2 y = y 1 - y 2 y 1 = l 1 sin 1 y 2 = l 2 sin( ) = -l 2 sin(- ) = l 2 sin( ) y = l 1 sin 1 + l2 sin( 1 + 2)
42 FK for Two-Linkage Chain x = l 1 cos 1 + l 2 cos( ) y = l 1 sin 1 + l 2 sin( ) 2 l 1 l 2 (x,y) Another, easier way Think of local frames and Rigid-body transformations 1 Think of local frames and rigid-body transformations
43 FK for Two-Linkage Chain x = l 1 cos 1 + l 2 cos( ) y = l 1 sin 1 + l 2 sin( ) (x 1,y 1 ) 2 l 1 l 2 (x 2,y 2 ) Another, easier way Think of local frames and Rigid-body transformations 1 Think of local frames and rigid-body transformations (x 0,y 0 ) What is (x 2,y 2 ) in coordinate system at (x 1,y 1 ) What is (x 1,y 1 ) in coordinate system at (x 0,y 0 ) Chose x-axes on links
44 FK for Two-Linkage Chain cos 1 -sin 1 x 0 (x 1,y 1 ) 2 j 1 i 1 l 2 j 2 T 1 0 = sin 1 cos 1 y l 1 (x 2,y 2 ) j 0 (x 0,y 0 ) 1 i 0 i 2 cos -sin l 1 T 2 1 = sin cos What is (x 2,y 2 ) in coordinate system at (x 0,y 0 ) Just accumulate transformations: (x 2,y 2 ) = T 1 0 * T 2 1 * [l2 0] T
45 Linkage (Internal Coordinate) Model anchor joint T? T? Can express any frame relative to any frame Just accumulate transformations
46 Relative Position of Two Joints T i+2 k-1 T i+1 i+1 T k k joint i i joint k T ik = position of joint k in joint i T ik = T i i+1 T i+1 i+2 T k-1 k [where chain grows from i to k]
47 Optional Reading (youtube video explains in detail): Denavit-Hartenberg Model derivation based on J.J. Craig. Introduction to Robotics. Addison Wesley, reading, MA, Research article : Zhang, M. and Kavraki, L. E.. A New Method for Fast and Accurate Derivation of Molecular Conformations. Journal of Chemical Information and Computer Sciences, 42(1):64 70,
48 Forward and Inverse Kinematics Inverse Kinematics February 17, 2014
49 IK In Robotics Solve for the dofs in order to satisfy spatial constraints on end effectors Extra
50 IK In Robotics Extra
51 IK In Computer Graphics, Games, Virtual Reality Real-Time Joint Coupling of the Spine for Inverse Kinematics Raunhardt, Boulic JVRB 2008 Extra
52 IK In Computational Biology Filling gaps in structure determination by X-ray crystallography Lotan, Bedem, Latombe Extra
53 IK In Computational Biology Computing conformational ensembles of loops in proteins Shehu, Proteins 2006 Extra
54 Solving the IK Problem for Two-Linkage Chain l 1 l 2 (x,y) 2 = cos -1 x 2 + y 2 l 12 l 2 2 2d 1 d 2 1 = -x(l 2 sin 2 ) + y(l 1 + d 2 cos 2 ) y(l 2 sin 2 ) + x(l 1 + l 2 cos 2 ) Two solutions
55 Solving the IK Problem for Two-Linkage Chain 2 l 1 l 2 (x,y) 1 Two solutions
56 A More Complicated Example 2 d 2 d 3 (x,y, ) d Finite number of solutions d 3 d 2 ( 1, 2, 3 ) d 1
57 General Results for the IK Problem 6-joint chain in 3-D space: N DOF =0 Why? At most 16 distinct IK solutions q 6 Target pose for end effector q 2 q 3 q 4 q 5 q 1
58 General Results for the IK Problem 6-joint chain in 3-D space: N DOF =0 Why? At most 16 distinct IK solutions q 6 End effector target pose q 2 q 3 q 4 q 5 q 1 6-joint chain 6 dofs Target pose 3 translation and 3 orientation constraints So: 6 6 = 0 free dofs IK solutions can be enumerated
59 Analytical or Exact IK Methods Can solve only for 6 joints Write forward kinematics in the form of polynomial equations (use t = tan( /2) Solve
60 IK Methods/Solvers Computer Science Exact IK solvers [Manocha, Canny 94] [Manocha et al. 95] [Zhang, Kavraki 02] [Zhang, White, Wang, Goldman, Kavraki 04] Biology/Crystallography Exact IK solvers [Go, Scheraga 70] [Wedemeyer, Scheraga 99] [Coutsias et al. 04] Optimization IK solvers Optimization IK solvers [Wang, Chen 91] [Fine et al. 86] [Shenkin et al. 87] Cyclic Coordinate Descent: Applications for protein loops [Canutescu, Dunbrack 03] [Han, Amato 00] [Xie, Amato 03] [Cortes, Simeon, Laumond 02] [Cortes et al. 04] [Shehu et al ]
61 Basic Idea of Iterative IK Methods Can solve only for arbitrary number of joints 1. Compute error e = target pose current pose 2. Find changes to joint values that minimize e 2 3. Apply through forward kinematics 4. Repeat until e 2 is below a threshold or we run out of patience for more iterations
62 IK as an Optimization (Minimization) Problem Q = (q 1 q 2 q n ): n-vector of dofs = ( 1 2 n ): n-vector of values to dofs k end effectors with current poses denoted s 1 s k Target poses for end effectors: t 1 t k Two fundamental observations: s 1 s k depend on ( 1 2 n ) through forward kinematics function: written as: s = s( ) IK problem is to find values for 1 2 n so that t i = s i ( ) for all i
63 IK as an Optimization (Minimization) Problem There may be no closed-form solution to t i = s i ( ) Iterative methods approximate a good solution We want ds/dt s.t. s + ds/dt = t So, ds/dt is velocity and we want it to be e Using chain rule: ds( )/dt = s/ ( ) * d /dt Velocity in s related to speed in theta via partial derivatives
64 IK as an Optimization (Minimization) Problem Let Ji( ) = s/ ( ) -- J is called the Jacobian matrix Note that J can be viewed as a mxn matrix (m = 3k) Then: ds( )/dt = J( ) * d /dt s 1 ( 1 )/ 1 s 1 ( 2 )/ 2 s 1 ( n )/ n s 2 ( 1 )/ 1 s 2 ( 2 )/ 2 s 2 ( n )/ n s 6 ( 1 )/ 1 s 6 ( 2 )/ 2 s 6 ( n )/ n
65 IK as an Optimization (Minimization) Problem So: ds( )/dt = J( ) * d /dt J( ) = s/ ( ) leads to an iterative way of solving t i = s i ( ): Given current values for, s, t, compute J( ) Find an update d s.t. the change ds = J( ) d updates s to reach t In other words, find d s.t. 0 = e( + d ) = t s( + d ) = J( ) d Iterative methods fall in two categories: (all in one):find values d by which to update all angles (one at a time). find d i to increment i, update s, then continue to i+1
66 Computing the Jacobian Jacobian entries s/ ( ) are usually not hard to calculate For rotational joints (see Buss review for other types of dofs) s i / ( j ) = v j x (s i - p j ) where v j is unit vector along the rotational axis for j and p j is the position of the joint Intuition: s i - p j, v j form a plane perpendicular to circle followed by link i in rotation around v j (forms basis of cyclic coordinate descent method)
67 How to Compute Inverse of Jacobian We want inverse of J, not J itself, because we want to find d ds/dt = J( ) d J -1 ( ) ds/dt = J -1 ( ) J( ) d = d So, by finding J -1 ( ), we find d
68 Finding Inverse of Jacobian is Not Trival J is an 6 n matrix. Assume rank(j) = 6 Find d s.t. e = J( ) d would mean d = J -1 e May not have rank 6, which means inverse may not exist Transpose or pseudo inverse are often used for J -1 Transpose of J approaches (easiest to implement) Pseudo inverse of J approaches (allows introducing null space of J) Damped least squares (see Buss review, most stable but slow)
69 Jacobian Transpose Approach Find d s.t. e = J( ) d would mean d = J -1 e Transpose J T : d = J T e scalar needs to be small to reduce magnitude of error e Transpose always exists, but often produces poor quality solutions
70 Jacobian Pseudo Inverse Approach Find d s.t. e = J( ) d would mean d = J -1 e Pseudo inverse J + : d = J + e J + also called Moore-Penrose inverse Gives best solution to J d = e in sense of least squares Has instability issues near singularities A singular value decomposition (SVD) of J gives an easy way to compute J +
71 Jacobian Pseudo Inverse Approach J + has an additional property: I - J J + performs a projection onto the null space of J (self-motion manifold) Null space is space of vectors such that ds = 0 { d J d = 0} has dim = n 6 Any vector of values to joint dofs that minimizes some other objective function (e.g. potential energy of a protein chain) can be projected onto the null space and obtain a vector that minimizes energy and keeps the end effectors in their place
72 Computation of J + from SVD of J 1. SVD decomposition J = U V T where: - U in an 6 6 square orthonormal matrix - V is an n 6 square orthonormal matrix - is of the form diag[ i ]: J + = V + U T where + =diag[1/ i ] Can verify that JJ + = (U V T ) (V + U T ) = I
73 SVD of J Yields Null Space of J J dx U 6 6 V T n dq =
74 SVD of J Yields Null Space of J J dx U 6 6 V T 6 n n n dq = 0 Some singular values will be 0 Corresponding vectors in V T form null space Gram-Schmidt orthogonalization
75 SVD of J Yields Null Space of J J dx U 6 6 V T 6 n n n dq = 0 N T (n-6) basis N of null space
76 Minimization of Objective Function with Closure Input: Chain with ends at target poses Repeat 1. Compute Jacobian matrix J at current q 2. Compute null-space basis N using SVD of J 3. Compute gradient T( ) and y=- T( ) 4. Move along projection NN T y until minimum of T is reached or closure is broken I. Lotan, H. van den Bedem, A.M. Deacon and J.-C Latombe. Computing Protein Structures from Electron Density Maps: The Missing Loop Problem. Proc. 6th Workshop on Algorithmic Foundations of Robotics (WAFR `04)
Inverse Kinematics (IK)
Inverse Kinematics Inverse Kinematics (IK) Given a kinematic chain (serial linkage), the position/orientation of one end relative to the other q 4 q (closed chain), find the values 5 of the joint parameters
More informationCS612 - Algorithms in Bioinformatics
Fall 2017 Structural Manipulation November 22, 2017 Rapid Structural Analysis Methods Emergence of large structural databases which do not allow manual (visual) analysis and require efficient 3-D search
More informationJane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute
Jane Li Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute (3 pts) Compare the testing methods for testing path segment and finding first
More informationCALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES
CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model
More informationVisual Recognition: Image Formation
Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know
More informationMTRX4700 Experimental Robotics
MTRX 4700 : Experimental Robotics Lecture 2 Stefan B. Williams Slide 1 Course Outline Week Date Content Labs Due Dates 1 5 Mar Introduction, history & philosophy of robotics 2 12 Mar Robot kinematics &
More informationCS 775: Advanced Computer Graphics. Lecture 3 : Kinematics
CS 775: Advanced Computer Graphics Lecture 3 : Kinematics Traditional Cell Animation, hand drawn, 2D Lead Animator for keyframes http://animation.about.com/od/flashanimationtutorials/ss/flash31detanim2.htm
More informationJane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute
Jane Li Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute What are the DH parameters for describing the relative pose of the two frames?
More informationThis week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.
CENG 732 Computer Animation Spring 2006-2007 Week 4 Shape Deformation Animating Articulated Structures: Forward Kinematics/Inverse Kinematics This week Shape Deformation FFD: Free Form Deformation Hierarchical
More informationJacobian: Velocities and Static Forces 1/4
Jacobian: Velocities and Static Forces /4 Advanced Robotic - MAE 6D - Department of Mechanical & Aerospace Engineering - UCLA Kinematics Relations - Joint & Cartesian Spaces A robot is often used to manipulate
More informationJacobian: Velocities and Static Forces 1/4
Jacobian: Velocities and Static Forces /4 Models of Robot Manipulation - EE 54 - Department of Electrical Engineering - University of Washington Kinematics Relations - Joint & Cartesian Spaces A robot
More informationVector Algebra Transformations. Lecture 4
Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures
More informationQuaternions and Rotations
CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body
More informationME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander
ME 597: AUTONOMOUS MOILE ROOTICS SECTION 2 COORDINATE TRANSFORMS Prof. Steven Waslander OUTLINE Coordinate Frames and Transforms Rotation Matrices Euler Angles Quaternions Homogeneous Transforms 2 COORDINATE
More informationInverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator
Inverse Kinematics of 6 DOF Serial Manipulator Robotics Inverse Kinematics of 6 DOF Serial Manipulator Vladimír Smutný Center for Machine Perception Czech Institute for Informatics, Robotics, and Cybernetics
More informationRobot mechanics and kinematics
University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2016/17 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot
More informationLecture «Robot Dynamics»: Kinematic Control
Lecture «Robot Dynamics»: Kinematic Control 151-0851-00 V lecture: CAB G11 Tuesday 10:15 12:00, every week exercise: HG E1.2 Wednesday 8:15 10:00, according to schedule (about every 2nd week) Marco Hutter,
More informationCS354 Computer Graphics Rotations and Quaternions
Slide Credit: Don Fussell CS354 Computer Graphics Rotations and Quaternions Qixing Huang April 4th 2018 Orientation Position and Orientation The position of an object can be represented as a translation
More information12.1 Quaternions and Rotations
Fall 2015 CSCI 420 Computer Graphics 12.1 Quaternions and Rotations Hao Li http://cs420.hao-li.com 1 Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera
More informationIntroduction to Robotics
Université de Strasbourg Introduction to Robotics Bernard BAYLE, 2013 http://eavr.u-strasbg.fr/ bernard Modelling of a SCARA-type robotic manipulator SCARA-type robotic manipulators: introduction SCARA-type
More informationQuaternions and Rotations
CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body
More information3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)
3D Transformations CS 4620 Lecture 10 1 Translation 2 Scaling 3 Rotation about z axis 4 Rotation about x axis 5 Rotation about y axis 6 Properties of Matrices Translations: linear part is the identity
More informationDIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS
DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS ALBA PEREZ Robotics and Automation Laboratory University of California, Irvine Irvine, CA 9697 email: maperez@uci.edu AND J. MICHAEL MCCARTHY Department of Mechanical
More informationChapter 2 Kinematics of Mechanisms
Chapter Kinematics of Mechanisms.1 Preamble Robot kinematics is the study of the motion (kinematics) of robotic mechanisms. In a kinematic analysis, the position, velocity, and acceleration of all the
More informationControl of industrial robots. Kinematic redundancy
Control of industrial robots Kinematic redundancy Prof. Paolo Rocco (paolo.rocco@polimi.it) Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Kinematic redundancy Direct kinematics
More informationToday. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices
Computergrafik Matthias Zwicker Universität Bern Herbst 2008 Today Transformations & matrices Introduction Matrices Homogeneous Affine transformations Concatenating transformations Change of Common coordinate
More informationAnatomical Descriptions That Compute Functional Attributes
Anatomical Descriptions That Compute Functional Attributes Goal: To write a description of an anatomical structure that leads directly to the calculation of its functional attributes. For instance, an
More informationQuaternions and Rotations
CSCI 420 Computer Graphics Lecture 20 and Rotations Rotations Motion Capture [Angel Ch. 3.14] Rotations Very important in computer animation and robotics Joint angles, rigid body orientations, camera parameters
More informationQuaternions and Rotations
CSCI 480 Computer Graphics Lecture 20 and Rotations April 6, 2011 Jernej Barbic Rotations Motion Capture [Ch. 4.12] University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s11/ 1 Rotations
More informationAnimation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation
Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate
More informationArticulated Characters
Articulated Characters Skeleton A skeleton is a framework of rigid body bones connected by articulated joints Used as an (invisible?) armature to position and orient geometry (usually surface triangles)
More informationRobot mechanics and kinematics
University of Pisa Master of Science in Computer Science Course of Robotics (ROB) A.Y. 2017/18 cecilia.laschi@santannapisa.it http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start Robot
More informationKinematic Model of Robot Manipulators
Kinematic Model of Robot Manipulators Claudio Melchiorri Dipartimento di Ingegneria dell Energia Elettrica e dell Informazione (DEI) Università di Bologna email: claudio.melchiorri@unibo.it C. Melchiorri
More information10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T
3 3 Motion Control (wheeled robots) Introduction: Mobile Robot Kinematics Requirements for Motion Control Kinematic / dynamic model of the robot Model of the interaction between the wheel and the ground
More informationTransformations Week 9, Lecture 18
CS 536 Computer Graphics Transformations Week 9, Lecture 18 2D Transformations David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 3 2D Affine Transformations
More informationEuclidean Space. Definition 1 (Euclidean Space) A Euclidean space is a finite-dimensional vector space over the reals R, with an inner product,.
Definition 1 () A Euclidean space is a finite-dimensional vector space over the reals R, with an inner product,. 1 Inner Product Definition 2 (Inner Product) An inner product, on a real vector space X
More informationTo do this the end effector of the robot must be correctly positioned relative to the work piece.
Spatial Descriptions and Transformations typical robotic task is to grasp a work piece supplied by a conveyer belt or similar mechanism in an automated manufacturing environment, transfer it to a new position
More informationMETR 4202: Advanced Control & Robotics
Position & Orientation & State t home with Homogenous Transformations METR 4202: dvanced Control & Robotics Drs Surya Singh, Paul Pounds, and Hanna Kurniawati Lecture # 2 July 30, 2012 metr4202@itee.uq.edu.au
More informationa a= a a =a a 1 =1 Division turned out to be equivalent to multiplication: a b= a b =a 1 b
MATH 245 Extra Effort ( points) My assistant read through my first draft, got half a page in, and skipped to the end. So I will save you the flipping. Here is the assignment. Do just one of them. All the
More informationComputer Animation. Rick Parent
Algorithms and Techniques Kinematic Linkages Hierarchical Modeling Relative motion Parent-child relationship Simplifies motion specification Constrains motion Reduces dimensionality Modeling & animating
More informationGeometric Transformations
Geometric Transformations CS 4620 Lecture 9 2017 Steve Marschner 1 A little quick math background Notation for sets, functions, mappings Linear and affine transformations Matrices Matrix-vector multiplication
More informationEEE 187: Robotics Summary 2
1 EEE 187: Robotics Summary 2 09/05/2017 Robotic system components A robotic system has three major components: Actuators: the muscles of the robot Sensors: provide information about the environment and
More informationCS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations
CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars
More information3D Kinematics. Consists of two parts
D Kinematics Consists of two parts D rotation D translation The same as D D rotation is more complicated than D rotation (restricted to z-ais) Net, we will discuss the treatment for spatial (D) rotation
More informationCS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods
CS545 Contents IX Inverse Kinematics Analytical Methods Iterative (Differential) Methods Geometric and Analytical Jacobian Jacobian Transpose Method Pseudo-Inverse Pseudo-Inverse with Optimization Extended
More informationPlanar Robot Kinematics
V. Kumar lanar Robot Kinematics The mathematical modeling of spatial linkages is quite involved. t is useful to start with planar robots because the kinematics of planar mechanisms is generally much simpler
More informationIndustrial Robots : Manipulators, Kinematics, Dynamics
Industrial Robots : Manipulators, Kinematics, Dynamics z z y x z y x z y y x x In Industrial terms Robot Manipulators The study of robot manipulators involves dealing with the positions and orientations
More informationRobotics I. March 27, 2018
Robotics I March 27, 28 Exercise Consider the 5-dof spatial robot in Fig., having the third and fifth joints of the prismatic type while the others are revolute. z O x Figure : A 5-dof robot, with a RRPRP
More informationQuaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods
uaternion to Euler Angle Conversion for Arbitrary Rotation Sequence Using Geometric Methods ê = normalized Euler ation axis i Noel H. Hughes Nomenclature = indices of first, second and third Euler
More informationKinematic Synthesis. October 6, 2015 Mark Plecnik
Kinematic Synthesis October 6, 2015 Mark Plecnik Classifying Mechanisms Several dichotomies Serial and Parallel Few DOFS and Many DOFS Planar/Spherical and Spatial Rigid and Compliant Mechanism Trade-offs
More informationQuaternion Rotations AUI Course Denbigh Starkey
Major points of these notes: Quaternion Rotations AUI Course Denbigh Starkey. What I will and won t be doing. Definition of a quaternion and notation 3 3. Using quaternions to rotate any point around an
More informationθ x Week Date Lecture (M: 2:05p-3:50, 50-N202) 1 23-Jul Introduction + Representing Position & Orientation & State 2 30-Jul
θ x 2018 School of Information Technology and Electrical Engineering at the University of Queensland Lecture Schedule Week Date Lecture (M: 2:05p-3:50, 50-N202) 1 23-Jul Introduction + Representing Position
More informationTriangulation: A new algorithm for Inverse Kinematics
Triangulation: A new algorithm for Inverse Kinematics R. Müller-Cajar 1, R. Mukundan 1, 1 University of Canterbury, Dept. Computer Science & Software Engineering. Email: rdc32@student.canterbury.ac.nz
More informationQuaternions & Rotation in 3D Space
Quaternions & Rotation in 3D Space 1 Overview Quaternions: definition Quaternion properties Quaternions and rotation matrices Quaternion-rotation matrices relationship Spherical linear interpolation Concluding
More informationInverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018
Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018 Welman, 1993 Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation, Chris
More informationA simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s
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
More informationKinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University
Kinematics CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Kinematics Kinematics: The science of pure motion, considered without reference to the matter of objects moved, or to the
More informationInverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm
Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm Mohammed Z. Al-Faiz,MIEEE Computer Engineering Dept. Nahrain University Baghdad, Iraq Mohammed S.Saleh
More informationRotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011
Rotation and Orientation: Fundamentals Perelyaev Sergei VARNA, 0 What is Rotation? Not intuitive Formal definitions are also confusing Many different ways to describe Rotation (direction cosine) matri
More informationOrientation & Quaternions
Orientation & Quaternions Orientation Position and Orientation The position of an object can be represented as a translation of the object from the origin The orientation of an object can be represented
More information3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11
3D Transformations CS 4620 Lecture 11 1 Announcements A2 due tomorrow Demos on Monday Please sign up for a slot Post on piazza 2 Translation 3 Scaling 4 Rotation about z axis 5 Rotation about x axis 6
More informationParallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric
Parallel Robots Mechanics and Control H AMID D TAG HI RAD CRC Press Taylor & Francis Group Boca Raton London NewYoric CRC Press Is an Imprint of the Taylor & Francis Croup, an informs business Contents
More informationJacobians. 6.1 Linearized Kinematics. Y: = k2( e6)
Jacobians 6.1 Linearized Kinematics In previous chapters we have seen how kinematics relates the joint angles to the position and orientation of the robot's endeffector. This means that, for a serial robot,
More informationPosition and Orientation Control of Robot Manipulators Using Dual Quaternion Feedback
Position and Orientation Control of Robot Manipulators Using Dual Quaternion Feedback Hoang-Lan Pham, Véronique Perdereau, Bruno Vilhena Adorno and Philippe Fraisse UPMC Univ Paris 6, UMR 7222, F-755,
More informationCOMP30019 Graphics and Interaction Kinematics
COMP30019 Graphics and Interaction Kinematics Department of Computing and Information Systems The Lecture outline Introduction Forward kinematics Inverse kinematics Kinematics I am robot (am I?) Forward
More informationJane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute
Jane Li Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute We know how to describe the transformation of a single rigid object w.r.t. a single
More informationChapter 3 : Computer Animation
Chapter 3 : Computer Animation Histor First animation films (Disne) 30 drawings / second animator in chief : ke frames others : secondar drawings Use the computer to interpolate? positions orientations
More informationautorob.github.io Inverse Kinematics UM EECS 398/598 - autorob.github.io
autorob.github.io Inverse Kinematics Objective (revisited) Goal: Given the structure of a robot arm, compute Forward kinematics: predicting the pose of the end-effector, given joint positions. Inverse
More informationCS184: Using Quaternions to Represent Rotation
Page 1 of 5 CS 184 home page A note on these notes: These notes on quaternions were created as a resource for students taking CS184 at UC Berkeley. I am not doing any research related to quaternions and
More informationLecture Note 3: Rotational Motion
ECE5463: Introduction to Robotics Lecture Note 3: Rotational Motion Prof. Wei Zhang Department of Electrical and Computer Engineering Ohio State University Columbus, Ohio, USA Spring 2018 Lecture 3 (ECE5463
More informationISE 422/ME 478/ISE 522 Robotic Systems
ISE 422/ME 478/ISE 522 Robotic Systems Overview of Course R. Van Til Industrial & Systems Engineering Dept. Oakland University 1 What kind of robots will be studied? This kind Not this kind 2 Robots Used
More informationIntroductionToRobotics-Lecture02
IntroductionToRobotics-Lecture02 Instructor (Oussama Khatib):Okay. Let's get started. So as always, the lecture starts with a video segment, and today's video segment comes from 1991, and from the group
More informationMEM380 Applied Autonomous Robots Winter Robot Kinematics
MEM38 Applied Autonomous obots Winter obot Kinematics Coordinate Transformations Motivation Ultimatel, we are interested in the motion of the robot with respect to a global or inertial navigation frame
More informationMCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics
MCE/EEC 647/747: Robot Dynamics and Control Lecture 3: Forward and Inverse Kinematics Denavit-Hartenberg Convention Reading: SHV Chapter 3 Mechanical Engineering Hanz Richter, PhD MCE503 p.1/12 Aims of
More informationHumanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz
Humanoid Robotics Inverse Kinematics and Whole-Body Motion Planning Maren Bennewitz 1 Motivation Plan a sequence of configurations (vector of joint angle values) that let the robot move from its current
More information2D/3D Geometric Transformations and Scene Graphs
2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background
More informationKinematics of the Stewart Platform (Reality Check 1: page 67)
MATH 5: Computer Project # - Due on September 7, Kinematics of the Stewart Platform (Reality Check : page 7) A Stewart platform consists of six variable length struts, or prismatic joints, supporting a
More informationTransformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering
RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Transformation Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Announcement Project
More informationWhy animate humans? Why is this hard? Aspects of the Problem. These lectures. Animation Apreciation 101
Animation by Example Lecture 1: Introduction, Human Representation Michael Gleicher University of Wisconsin- Madison www.cs.wisc.edu/~gleicher www.cs.wisc.edu/graphics Why animate humans? Movies Television
More informationKinematics, Kinematics Chains CS 685
Kinematics, Kinematics Chains CS 685 Previously Representation of rigid body motion Two different interpretations - as transformations between different coord. frames - as operators acting on a rigid body
More information[2] J. "Kinematics," in The International Encyclopedia of Robotics, R. Dorf and S. Nof, Editors, John C. Wiley and Sons, New York, 1988.
92 Chapter 3 Manipulator kinematics The major expense in calculating kinematics is often the calculation of the transcendental functions (sine and cosine). When these functions are available as part of
More informationDETC APPROXIMATE MOTION SYNTHESIS OF SPHERICAL KINEMATIC CHAINS
Proceedings of the ASME 2007 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2007 September 4-7, 2007, Las Vegas, Nevada, USA DETC2007-34372
More informationQuaternions and Euler Angles
Quaternions and Euler Angles Revision #1 This document describes how the VR Audio Kit handles the orientation of the 3D Sound One headset using quaternions and Euler angles, and how to convert between
More informationMath background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6
Math background 2D Geometric Transformations CS 4620 Lecture 6 Read: Chapter 2: Miscellaneous Math Chapter 5: Linear Algebra Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector
More informationKINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG
KINEMATICS FOR ANIMATION Rémi Ronfard, Animation, M2R MOSIG Direct and inverse kinematics in animation Fast numerical methods for inverse kinematics by Bill Baxter My Adventures with Inverse Kinematics
More informationVisualizing Quaternions
Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion
More informationA Review Paper on Analysis and Simulation of Kinematics of 3R Robot with the Help of RoboAnalyzer
A Review Paper on Analysis and Simulation of Kinematics of 3R Robot with the Help of RoboAnalyzer Ambuja Singh Student Saakshi Singh Student, Ratna Priya Kanchan Student, Abstract -Robot kinematics the
More informationME 115(a): Final Exam (Winter Quarter 2009/2010)
ME 115(a): Final Exam (Winter Quarter 2009/2010) Instructions 1. Limit your total time to 5 hours. That is, it is okay to take a break in the middle of the exam if you need to ask a question, or go to
More informationÉCOLE POLYTECHNIQUE DE MONTRÉAL
ÉCOLE POLYTECHNIQUE DE MONTRÉAL MODELIZATION OF A 3-PSP 3-DOF PARALLEL MANIPULATOR USED AS FLIGHT SIMULATOR MOVING SEAT. MASTER IN ENGINEERING PROJET III MEC693 SUBMITTED TO: Luc Baron Ph.D. Mechanical
More informationFundamentals of Computer Animation
Fundamentals of Computer Animation Orientation and Rotation University of Calgary GraphicsJungle Project CPSC 587 5 page Motivation Finding the most natural and compact way to present rotation and orientations
More informationSolving IK problems for open chains using optimization methods
Proceedings of the International Multiconference on Computer Science and Information Technology pp. 933 937 ISBN 978-83-60810-14-9 ISSN 1896-7094 Solving IK problems for open chains using optimization
More informationHumanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz
Humanoid Robotics Inverse Kinematics and Whole-Body Motion Planning Maren Bennewitz 1 Motivation Planning for object manipulation Whole-body motion to reach a desired goal configuration Generate a sequence
More informationCV: 3D sensing and calibration
CV: 3D sensing and calibration Coordinate system changes; perspective transformation; Stereo and structured light MSU CSE 803 1 roadmap using multiple cameras using structured light projector 3D transformations
More informationSpecifying Complex Scenes
Transformations Specifying Complex Scenes (x,y,z) (r x,r y,r z ) 2 (,,) Specifying Complex Scenes Absolute position is not very natural Need a way to describe relative relationship: The lego is on top
More informationME/CS 133(a): Final Exam (Fall Quarter 2017/2018)
ME/CS 133(a): Final Exam (Fall Quarter 2017/2018) Instructions 1. Limit your total time to 5 hours. You can take a break in the middle of the exam if you need to ask a question, or go to dinner, etc. That
More informationMultiple View Geometry in Computer Vision
Multiple View Geometry in Computer Vision Prasanna Sahoo Department of Mathematics University of Louisville 1 Projective 3D Geometry (Back to Chapter 2) Lecture 6 2 Singular Value Decomposition Given a
More informationRobots are built to accomplish complex and difficult tasks that require highly non-linear motions.
Path and Trajectory specification Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Specifying the desired motion to achieve a specified goal is often a
More informationA New Algorithm for Measuring and Optimizing the Manipulability Index
DOI 10.1007/s10846-009-9388-9 A New Algorithm for Measuring and Optimizing the Manipulability Index Ayssam Yehia Elkady Mohammed Mohammed Tarek Sobh Received: 16 September 2009 / Accepted: 27 October 2009
More information2D Object Definition (1/3)
2D Object Definition (1/3) Lines and Polylines Lines drawn between ordered points to create more complex forms called polylines Same first and last point make closed polyline or polygon Can intersect itself
More informationInverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector
Inverse Kinematics Given a desired position (p) & orientation (R) of the end-effector q ( q, q, q ) 1 2 n Find the joint variables which can bring the robot the desired configuration z y x 1 The Inverse
More information