Spatial Modeling – some fundamentals for Robot Kinematics ME 3230.

Slides:



Advertisements
Similar presentations
Announcements. Structure-from-Motion Determining the 3-D structure of the world, and/or the motion of a camera using a sequence of images taken by a moving.
Advertisements

ME 4135 Robotics & Control R. Lindeke, Ph. D.. FKS vs. IKS  In FKS we built a tool for finding end frame geometry from Given Joint data:  In IKS we.
Robot Modeling and the Forward Kinematic Solution
Robot Modeling and the Forward Kinematic Solution
Transformations We want to be able to make changes to the image larger/smaller rotate move This can be efficiently achieved through mathematical operations.
ME 4135 Differential Motion and the Robot Jacobian Slide Series 6 Fall 2011 R. R. Lindeke, Ph.D.
Links and Joints.
Manipulator’s Inverse kinematics
Review: Homogeneous Transformations
Homogeneous Transformations
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Intuitive Kinematics – Converting Between Forward and Reverse Definitions of Space Lecture Series 2 ME 4135 R. R. Lindeke.
Chris Hall Aerospace and Ocean Engineering
Robot Modeling and the Forward Kinematic Solution ME 4135 Lecture Series 4 Dr. R. Lindeke – Fall 2011.
Inverse Kinematics –IKS Solutions ME 4135 – Robotics and Controls R.R. Lindeke, Ph.D., Fall 2011.
The Concepts of Orientation/Rotation ‘Transformations’ ME Lecture Series 2 Fall 2011, Dr. R. Lindeke 1.
HCI 530 : Seminar (HCI) Damian Schofield. HCI 530: Seminar (HCI) Transforms –Two Dimensional –Three Dimensional The Graphics Pipeline.
Motion Kinematics – Lecture Series 3 ME 4135 – Fall 2011 R. Lindeke.
Rational Trigonometry Applied to Robotics
IK: Choose these angles!
Ch. 4: Velocity Kinematics
Inverse Kinematics How do I put my hand here? IK: Choose these angles!
Introduction to ROBOTICS
Slide Set 3 – Review of Matrix Methods Applicable to Robot Control
Rotations and Translations. Representing a Point 3D A tri-dimensional point A is a reference coordinate system here.
Introduction to ROBOTICS
Inverse Kinematics Jacobian Matrix Trajectory Planning
Screw Rotation and Other Rotational Forms
ME 4135 Robotics & Control Slide Set 3 – Review of Matrix Methods Applicable to Robot Control.
The linear algebra of Canadarm
An Introduction to Robot Kinematics
KINEMATICS ANALYSIS OF ROBOTS (Part 1) ENG4406 ROBOTICS AND MACHINE VISION PART 2 LECTURE 8.
More details and examples on robot arms and kinematics
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
1 Matrix Math ©Anthony Steed Overview n To revise Vectors Matrices n New stuff Homogenous co-ordinates 3D transformations as matrices.
ME 4135 Differential Motion and the Robot Jacobian
ME 4135 Differential Motion and the Robot Jacobian Fall 2012 R. R. Lindeke, Ph.D.
Mathematical Fundamentals
Rotations and Translations
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Unit 11, Part 2: Introduction To Logarithms. Logarithms were originally developed to simplify complex arithmetic calculations. They were designed to transform.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
Kinematics of Robot Manipulator
Unit 11, Part 2: Introduction To Logarithms. Logarithms were originally developed to simplify complex arithmetic calculations. They were designed to transform.
Chapter 2 Robot Kinematics: Position Analysis
Robot Dynamics – Slide Set 10 ME 4135 R. R. Lindeke, Ph. D.
Chapter 4 Matrices By: Matt Raimondi.
KINEMATICS ANALYSIS OF ROBOTS (Part 2)
Spatial Descriptions and Transformations Sebastian van Delden USC Upstate
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
KINEMATIC CHAINS & ROBOTS (I).
Robot Kinematics: Position Analysis 2.1 INTRODUCTION  Forward Kinematics: to determine where the robot ’ s hand is? (If all joint variables are known)
What is Kinematics. Kinematics studies the motion of bodies.
Just a quick reminder with another example
Chapter 2: Description of position and orientation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: Introduction. Descriptions:
Computer Graphics Matrices
KINEMATICS ANALYSIS OF ROBOTS (Part 5). This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. After this.
ME 4135 Robotics & Control R. Lindeke, Ph. D.. FKS vs. IKS  In FKS we built a tool for finding end frame geometry from Given Joint data:  In IKS we.
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Spatcial Description & Transformation
Mobile Robot Kinematics
Introduction to Vectors and Frames
CHAPTER 2 FORWARD KINEMATIC 1.
GAM 325/425: Applied 3D Geometry
3D Transformation CS380: Computer Graphics Sung-Eui Yoon (윤성의)
KINEMATIC CHAINS & ROBOTS (I)
Chapter 2 Mathematical Analysis for Kinematics
Chapter 3. Kinematic analysis
Presentation transcript:

Spatial Modeling – some fundamentals for Robot Kinematics ME 3230

Considering Translation and Rotation Translation, in a simple sense, is just the movement of one point from another without changing the orientation of space. We can assign space frames (coordinate systems) to any object in space – (or all objects in space!). If we wish to relate one object (and its space frame) to any other space frame we should be able to write a set of equations that represent each axis of the remote space in another’s systems axes and write a vector that relate the positions of the origins of the ‘systems’ to each other.

Translational Transformation In physics we said to just add the two vectors (because the vector numbers are ‘the same’ since the axes point in the same directions) So if A 1 is at (2,7,3) in ‘1 th Space’ then it is at: (2,7,3) + (12,35,45) = (2+12, 7+35, 3+45) = (14,42,48) in Null Space But this (simple vector addition) –only works for simple translation where space is not ‘reorientated’! We must then Generalize the method (to me this ‘general approach’ is easier – but it seems more cumbersome when we start thinking this way!)

Defining the Homogeneous Transformation Matrix It is a 4x4 Matrix that describes “3-Space” with information that relates Orientation and Position (pose) of a remote space to a local space n x o x a x d x n y o y a y d y n z o z a z d z N vector projects the X rem Axis to the Local Coordinate System O vector projects the Y rem Axis to the Local Coordinate System A vector projects the Z rem Axis to the Local Coordinate System D vector is the position of the origin of the remote space in Local Coordinate dimensions This 3x3 ‘Sub-Matrix’ is the information that relates orientation of Frame rem to Frame Local (This is called R the rotational Submatrix)

Defining the Homogeneous Transformation Matrix n x o x a x d x n y o y a y d y n z o z a z d z Perspective or Projection Vector Scaling Factor This matrix is a transformation tool for space motion!

HTM – A Physical Interpretation 1. A representation of a Coordinate Transformation relating the coordinates of a point ‘P’ between 2 like- geometrid (-- ie SO 3 --) different coordinate systems 2. A representation of the Position and Orientation (POSE) of a transformed coordinate frame in the “space” defined by a fixed coordinate frame 3. An OPERATION that takes a vector P and rotates and/or translates it to a new vector P t in the same coordinate frame

Lets use it on our ‘Translational’ problem What is the n vector here Here, since X 1 points in X 0 direction, it is simply: (1,0,0) Using the same reasoning: The o vector is: (0,1,0) And the a vector is: (0,0,1) Here the d vector is: The definition of the origin of Frame 1 in Frame 0 coordinates: (12,35,45)

Solving: H. Transformation Matrix is: Point A 1 to ‘1 space’: The solution of where A 1 is in Frame 0 is the product of these two matrices! T 0 1 = T 1 A =

Solution is given by: T 0 1 · T 1 A = Hey, This works! (we got the same answer) -at least for this translational stuff!

What about Rotational Transformations? Lets start with a “Pure Rotation” A Pure Rotation is one about only 1 axis (a separable rotation) We will consider this about Z 0 (Initially) This means: Rotate the ‘Remote’ Frame 1 by an angle  about the Z 0 axis of ‘Local’ Frame 0

After Rotation we find this Relationship

What is the Representation of P 1 in Both Frames? Assume the (identical) point is at (2,4,6) 1 And we had rotated Frame 1 by 37 degrees about the Z 0 Axis Where is the point as defined in Frame 0 ? We will employ the Method of Inner Products to find this.

By Inner Products: Relating these two definition of the SAME Point:

Collecting & Simplifying : Rewriting it in Matrix Form: Psst:This is a R matrix!

Converting it to a HTM Form (4x4) Vector of origin1 to orgin0 is (0,0,0) – they are the same point!

Lets See?  is 37deg and P1 is (2,4,6) Cos  = Sin  = HTM is: Model is: Computation is just like we observed physically!

What about Pure Rotation about X or Y Axes? Uses the same Inner Product approach (Cosines of angles between vectors after rotation) T rotx = T roty =

Lets look at Another Issue! Since we are in Matrix Math now, We remember that the “order of multiplication” matters That is A*B  B*A (in general) When we deal with physical space this is true as well. But it even offers one more added difficulty: Did we take motion Relatively (space is redefined after an operation)? Are all operations taken W.R.T. a fixed geometric space?

Now We Can Define 2 Cases: Case 1 is where we “redefine” Space after each operation Case 2 is where all operations are taken against a fixed (inertia) space frame

Check Order issue: 1 st Translate (4,0,0) then rotate 90  about Z axis Its almost like drawing a cat!

Given P 2 (1,1,0) 2 Where is it in Space 0 ? Lets Guess it is found by applying an (overall) Transformation given by:

Is (3,1,0,1) 0 Equal to T 2 0 *(1,1,0,1) 2 ?

Check Order issue: Rotate then Translate Should be different physically! Lets See

Given P 2 (1,1,0) 2 Where is it in Space 0 ? Lets Guess it is found by applying an (overall) Transformation given by:

Is (-1,5,0,1) 0 Equal to T 2 0 *(1,1,0,1) 2 ?

Checking Case Two Here we don’t redefine space between operations That is, all operations are taken WRT a fixed coordinate system

First, Lets Try Translate/Rotate This Looks Familiar! The effect is just like the Rotate then Translate operational order when we were in Case 1 Therefore, To get the Transformation Model, we must write: T rot *T trans Yes, the order of multiplying is reversed from the order of operating!

Now lets Try Rotate/Translate: Looks Familiar Too! This is just like what happened in Case 1 when we did Translate then Rotate The overall effect here must be: T trans * T rot Yes the order of multiplying is again reversed from the order of operating!

This can be Generalized For Case 1 operations (space is redefined between each operation), the OVERALL EFFECT is found by taking the product of the operations in the order they are taken For Case 2 operations (all operations taken W.R.T. a fixed Frame), the OVERALL EFFECT is found by forming the product of the individual operations taken in reverse order

This Does Matter! Robotic Modeling is a Case 1 problem Euler Orientation is a Case 1 problem However, Roll-Pitch-Yaw Orientation is a Case 2 problem Finally, Robot Mapping is (typically) a Case 1 problem –Lets look into robot mapping

One Last General Idea: Robot Mapping This is an offline tool for finding Robot Targets (IKS targeting) Moves Robot programming ‘Upstairs’ – to the engineering office Relies on CAD models and geometry defined in increasingly complex spaces Looks at chains of Transforms to define targets and robot tooling in common coordinate frames

Robot Mapping: Ce Ta P Ho n Tool R 0 Note: Drill not shown, (the Tool frame is actually located at the drill tip!)

Robot Mapping The idea here is to match up the Tool’s geometric pose with the pose of a Target in our work space. If we have a part that needs a hole drilled at a certain location, we must get the tool, carried by the robot, to this location (actually a point right above the drilled hole and also at the bottom of the drilled hole will be needed). Remembering earlier, to equate poses, they must be defined in a common coordinate system.

Robot Mapping (cont.) Typically, we would have a lot of geometric information about our working environment ‘just laying around’ This data would be in the CAD drawings of parts and in CAD facilities plans of our cells and factories Additionally the information is also provided in equipment drawings (tables, fixtures, even robots to some extent) But, if we are going to talk about a robot, that machine is a series of adjustable joints and links that can be moved around (in an IKS sense) to put the tool accurately at the working positions we need. The Necessary Pose is (within the robot): T n o

Robot Mapping (cont.) Thinking about what we know: –We would know where we want a hole in a part (in part coordinates) or: T P Ho –We likely want to place the part at a specific location on a table or in a fixture or: T Ta P or T F P (known in process documentation) –The Table in the Cell (or fixture on a Table) T Ce Ta or (T Ta F and T Ce Ta ) would be known in our facility designs and/or process documentation

Robot Mapping (cont.) Other thing we would know: –Were our robot is placed in the cell: T Ce R from facility drawings –Were the robot Cartesian home frame is located in the Robot space: T R 0 from equipment drawings –And finally where a tool is mounted to the end of the robot wrist: T n tool by measuring the tool and holder What we would like to find is: T 0 n which contains the information about where the robot needs to ‘pose’ to do the hole drilling operation!

Robot Mapping (cont.) Knowing this stuff, we should be able to generate a kinematic chain (of HTM’s) – our map – that defines the hole in the cell: T Ce Ta *T Ta P *T P Ho At the same time we can build a kinematic chain for mapping the Tool (the drill) back to the Cell too: T CE R *T R 0 *T 0 n *T n tool Now equate the two – they are defined in a common reference system – and isolate the desired information (T 0 n ) –That is, extract the ‘unknown’ from the ‘known stuff’ Hey – Order matters in the Case 1 Scheme!

Robot Mapping (cont.) Equating the two kinematic chains: T Ce Ta *T Ta P *T P Ho = T CE R *T R 0 *T 0 n *T n tool Now, to isolate the T 0 n information (our desired pose for the robot), we must remove the “knowns” step-by-step on the RHS of this equation. To do this we multiply by their inverses. BUT we must maintain order when we do it!

Robot Mapping (cont.) 1 st we move T CE R (T CE R ) -1 *T Ce Ta *T Ta P *T P Ho = T R 0 *T 0 n *T n tool Here we have to ‘pre-multiply’ both the LHS & RHS by the inverse of the T CE R matrix Then we move T R 0 by pre-multiplying by (T R 0 ) -1 on both sides (T R 0 ) -1 *(T CE R ) -1 *T Ce Ta *T Ta P *T P Ho =T 0 n *T n tool

Robot Mapping (cont.) Finally we isolate the T 0 n matrix by ‘post- multiplying’ both side by: (T n tool ) -1 (T R 0 ) -1 *(T CE R ) -1 *T Ce Ta *T Ta P *T P Ho * (T n tool ) -1 = T 0 n This T 0 n would contain the data we need to solve the IKS (joint positioning) equations for any Robot type!

Robot Mapping – Inverses of HTM’s Taking the Inverse of a HTM is “EASY!!!” = Easy because, physically, it is the same as defining the original ‘close’ frame in the ‘remote’ frame’s space (we have changed – or inversed – our point of view!) This is the Transpose of the R sub-matrix of the original HTM

Now its your turn: Homework –Do Text problems from Chapter 2 in Spong & Vidyasagar: #5, 7, 8, 15, and 18 (posted at library reserve) –Approach problem 18 as a Mapping Problem – submit it for grading next Friday