Forward Kinematics and Configuration Space

Slides:



Advertisements
Similar presentations
Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Advertisements

Outline: Introduction Link Description Link-Connection Description
Links and Joints.
Introduction University of Bridgeport 1 Introduction to ROBOTICS.
University of Bridgeport
CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
Kinematic Modelling in Robotics
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward Kinematics. Focus on links chains May be combined in a tree structure Degrees of Freedom Number of independent position variables (i.e. joints.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Configuration Space CS 326 A: Motion Planning
Introduction to Robotics
Time to Derive Kinematics Model of the Robotic Arm
CS 326A: Motion Planning Configuration Space. Motion Planning Framework Continuous representation (configuration space and related spaces + constraints)
Ch. 3: Forward and Inverse Kinematics
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
Introduction to ROBOTICS
Serial and Parallel Manipulators
Introduction to ROBOTICS
Introduction to ROBOTICS
More details and examples on robot arms and kinematics
Forward Kinematics and Jacobians Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Definition of an Industrial Robot
Lecture 2: Introduction to Concepts in Robotics
CS B659: Principles of Intelligent Robot Motion Configuration Space.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
EEE. Dept of HONG KONG University of Science and Technology Introduction to Robotics Page 1 Lecture 2. Rigid Body Motion Main Concepts: Configuration Space.
KINEMATIC CHAINS & ROBOTS (I).
COMP322/S2000/L91 Direct Kinematics- The Arm Equation Link Coordinates and Kinematics Parameters (Cont‘d) Another example: A 5-axis articulated robot (Rhino.
Trajectory Generation
Forward Kinematics and Configurations
NUS CS 5247 David Hsu Configuration Space. 2 What is a path?
Robotics Chapter 3 – Forward Kinematics
Velocity Propagation Between Robot Links 3/4 Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA.
Kinematics 제어시스템 이론 및 실습 조현우
Denavit-Hartenberg Convention
Forward Kinematics and Configurations
Instructor Prof. Shih-Chung Kang 2008 Spring
IK: Choose these angles!
Trajectory Generation
Mitsubishi robot arm.
Denavit-Hartenberg Convention
F o r w a r d K i n e m a t i c s.
Direct Manipulator Kinematics
ROTATIONS & TRANSLATIONS
CHAPTER 2 FORWARD KINEMATIC 1.
Introduction to manipulator kinematics
CHAPTER 3 ROBOT CLASSIFICATION
Direct Kinematic Model
Mobile Robot Kinematics
Special English for Industrial Robot
CSE4421/5324: Introduction to Robotics
CHAPTER 3 ROBOT CLASSIFICATION
ECE 383/ME 442: Intro to Robotics and Automation
Inverse Kinematics, Jacobians
Homogeneous Transformation Matrices
CSE4421/5324: Introduction to Robotics
Manipulator Dynamics 2 Instructor: Jacob Rosen
Inverse Kinematics 12/30/2018.
Robotics kinematics: D-H Approach
KINEMATIC CHAINS.
Forward Kinematics: Denavit-Hartenberg (DH) Notation
KINEMATIC CHAINS & ROBOTS (I)
Outline: Introduction Solvability Manipulator subspace when n<6
Chapter 2 Mathematical Analysis for Kinematics
Special English for Industrial Robot
Chapter 4 . Trajectory planning and Inverse kinematics
Chapter 3. Kinematic analysis
Presentation transcript:

Forward Kinematics and Configuration Space Kris Hauser ECE 383 / ME 442 Fall 2015 1

Agenda Principles Ch. 3.1-4, 3.8 Planning Algorithms Ch. 3 3.3-4

Robots have different shapes and kinematics! What is a motion?

Idea: Reduce robot to a point  Configuration Space Feasible space Forbidden space

Configuration Space A robot configuration is a specification of the transforms of all links relative to a fixed coordinate system Usually a configuration is expressed as a “vector” of parameters q=(q1,…,qn) q1 q2 q3 qn

Rigid Robot 3-parameter representation: q = (x,y,q) workspace robot reference direction q y reference point x 3-parameter representation: q = (x,y,q) In a 3-D workspace q would be of the form (x,y,z,a,b,g)

Articulated Robot q1 q2 q = (q1,q2,…,q10)

Protein

Configuration Space q y x Space of all its possible configurations But the topology of this space is in general not that of a Cartesian space q q’ 3-D cylinder embedded in 4-D space y q robot x x y q 2p S1 R2S1

Configuration Space C = S1 x S1 Space of all its possible configurations But the topology of this space is in general not that of a Cartesian space C = S1 x S1

Configuration Space C = S1xS1 Space of all its possible configurations But the topology of this space is in general not that of a Cartesian space C = S1xS1

Configuration Space C = S1xS1 Space of all its possible configurations But the topology of this space is in general not that of a Cartesian space C = S1xS1

What is its topology? q1 q2 (S1)7xI3 (I: Interval of reals)

Structure of Configuration Space It is a manifold, i.e., for each point q, there is a 1-to-1 map between a neighborhood of q and a ball in Cartesian space Rn, where n is the dimensionality of C This map is a local coordinate system called a chart. C can always be covered by a finite number of charts. Such a set is called an atlas

Example: A sphere

Rigid Robot in 2-D Workspace reference direction q y reference point x 3-parameter representation: q = (x,y,q) with q  [0,2p). Two charts are needed Other representation: q = (x,y,cosq,sinq) C-space is a 3-D cylinder R2 x S1 embedded in a 4-D space

Notion of a (Geometric) Path q 1 3 n 4 2 t(s) A path in C is a piece of continuous curve connecting two configurations q and q’: t : s  [0,1]  t (s)  C

Examples A straight line segment linearly interpolating between a and b t(s) = (1-s) a + s b What about interpolating orientations? A polynomial with coeffients c0,…,cn t(s) = c0 + c1s + … + cnsn Piecewise polynomials Piecewise linear Splines (B-spline, hermite splines are popular) Can be an arbitrary curve Only limited by your imagination and representation capabilities

Notion of Trajectory vs. Path q 1 3 n 4 2 t(t) A trajectory is a path parameterized by time: t : t  [0,T]  t (t)  C

Translating & Rotating Rigid Robot in 2-D Workspace x y q reference point robot reference direction workspace q x y 2p configuration space What is the placement of the robot in the workspace at configuration (0,0,0)?

Translating & Rotating Rigid Robot in 2-D Workspace x y q reference point robot reference direction workspace q x y 2p configuration space What is the placement of the robot in the workspace at configuration (0,0,0)? 21

Translating & Rotating Rigid Robot in 2-D Workspace x y q reference point robot reference direction workspace q x y 2p configuration space What is this path in the workspace? What would be the path in configuration space corresponding to a full rotation of the robot about point P? P

Every robot maps to a point in its configuration space ... ~40 D 15 D 6 D q 1 3 n 4 12 D ~65-120 D

... and every robot path is a curve in configuration space q 1 3 n 4

… and obstacles (and other constraints) map to configuration space obstacles q 1 3 n 4 25

Philosophy Reason about motion in the configuration space Reason about geometry in the workspace But we often need to relate movement to geometry and vice versa! How?

Forward Kinematics

Articulated Robot Robot: usually a rigid articulated structure Geometric CAD models, relative to movable reference frames A configuration is a canonical representation that specifies the placement of those frames (forward kinematics) q1 q2

Serial robot classification R: revolute P: prismatic Standard industrial robots: 6R 6R+1 (with gripper) 2RP (SCARA robots) 3P (xyz gantry) 6R SCARA Gantry

Parallel robots Often used to translate rotation => translation and vice versa (We’ll discuss how to model these next time) Gough-Stewart platform

Configuration space vs workspace End effector: a designated “tool point” on the robot, usually at the terminal link (Reachable) workspace: range of reachable tool point positions / orientations given robot structure, joint limits

Forward Kinematics Given: A kinematic reference frame of the robot Joint angles q1,…,qn Find rigid frames T1,…,Tn relative to T0 A frame T=(R,t) consists of a rotation R and a translation t so that T·x = R·x + t Make notation easy: use homogeneous coordinates Transformation composition goes from right to left: T1·T2 indicates the transformation T2 first, then T1

Kinematic Model of Articulated Robots: Reference Frame T2ref T3ref L2 T4ref T0 L3 T1ref L1 L0

Rotating the first joint T1(q1) = T1ref·R(q1) q1 T1(q1) T0 T1ref L0

Where is the second joint? T2(q1) ? T2ref T0 q1

Where is the second joint? T2ref T0 q1 T2parent(q1) = T1(q1) ·(T1ref)-1·T2ref

After rotating joint 2 q2 T2R T0 q1 T2(q1,q2) = T1(q1) ·(T1ref)-1·T2ref·R(q2)

After rotating joint 2 q2 T2R T0 q1 Denote T2->1ref = (T1ref)-1·T2ref (frame relative to parent) T2(q1,q2) = T1(q1) ·T2->1ref·R(q2)

Exercise Calculate the forward kinematics of this 2-joint arm T1(q1) = T1ref·R(q1) T2(q1,q2) = T1(q1) ·T2->1ref·R(q2) 𝑇 1 𝑟𝑒𝑓 = 1 0 𝐿 0 0 1 0 0 0 1 𝑇 2 𝑟𝑒𝑓 = 1 0 𝐿 1 0 1 0 0 0 1 𝑅 𝑞 𝑖 = 𝑐 𝑖 − 𝑠 𝑖 0 𝑠 𝑖 𝑐 𝑖 0 0 0 1 with 𝑐 𝑖 ≡ cos 𝑞 𝑖 , 𝑠 𝑖 ≡ sin 𝑞 𝑖

General Formula Denote 𝑇 𝑖→𝑖−1 𝑟𝑒𝑓 = 𝑇 𝑖−1 𝑟𝑒𝑓 −1 𝑇 𝑖 𝑟𝑒𝑓 (ref frame relative to parent) 𝑇 𝑘 𝑞 1 ,…, 𝑞 𝑘 = 𝑖=1 𝑘 𝑇 𝑖→𝑖−1 𝑟𝑒𝑓 𝑅( 𝑞 𝑖 ) T2(q1,q2) T3(q1,..,q3) L2 T4(q1,…,q4) T0 L3 T1(q1) L1 L0

Generalization to tree structures Topological sort: p[k] = parent of link k Denote 𝑇 𝑖→𝑝[𝑖] 𝑟𝑒𝑓 = 𝑇 𝑝 𝑖 𝑟𝑒𝑓 −1 𝑇 𝑖 𝑟𝑒𝑓 (frame i relative to parent) Let A(i) be the list of ancestors of i (sorted from root to i) 𝑇 𝑘 𝑞 1 ,…, 𝑞 𝑘 = 𝑖∈𝐴(𝑘) 𝑇 𝑖→𝑝[𝑖] 𝑟𝑒𝑓 𝑅( 𝑞 𝑖 )

To 3D… Much the same, except joint axis must be defined (relative to parent) Angle-axis parameterization

Generalizations Prismatic joints Ball joints Cylindrical joints Spirals Free-floating bases From LaValle, Planning Algorithms

Robot kinematics (summary) A chain- or tree-structured robot’s kinematics are defined by A number of links: 𝑛 A list of parent indices 𝑝[1],…,𝑝[𝑛] (nil denotes world frame) The links must be sorted such that p[i] < i A list of transforms from link to parent, at the reference configuration: 𝑇 1→𝑝 1 𝑟𝑒𝑓 , …, 𝑇 𝑛→𝑝 𝑛 𝑟𝑒𝑓 May also have joint limits: 𝑞 1,𝑚𝑖𝑛 ,…, 𝑞 𝑛,𝑚𝑖𝑛 and 𝑞 1,𝑚𝑎𝑥 ,…, 𝑞 𝑛,𝑚𝑎𝑥 An indication of whether each link is connected to its parent via a rotational (revolute) or a translational (prismatic) joint, and the axis of rotation or translation Given kinematics and the configuration 𝑞=( 𝑞 1 ,…, 𝑞 𝑛 ), can compute the transforms for each link using one forward pass

Forward pass Compute 𝑇 𝑖 𝑞 iteratively: For i=1,..,n: Done If p[i]=nil, then: 𝑇 𝑖 𝑞 ← 𝑇 𝑖−>𝑝 𝑖 𝑟𝑒𝑓 ⋅ 𝑇 𝑖,𝑙𝑜𝑐𝑎𝑙 ( 𝑞 𝑖 ) Else: 𝑇 𝑖 𝑞 ← 𝑇 𝑝 𝑖 𝑞 ⋅ 𝑇 𝑖−>𝑝 𝑖 𝑟𝑒𝑓 ⋅ 𝑇 𝑖,𝑙𝑜𝑐𝑎𝑙 𝑞 𝑖 Done

Denavit-Hartenberg Convention A more compact representation of a serial robot’s reference transforms and rotation/translation axes Convention: reference transform Z axes points along joint axes, X axes points along common normals between joint and parent’s joint. Reduces number of parameters to 4 per link I don’t prefer using it because sometimes it forces you to choose nonsensical reference frames. Just be aware it exists.

Modeling different joints Revolute (rotational) joints: Define the axis of link i, 𝑣 𝑖 , as a unit vector in the local frame 𝑞 𝑖 gives counter-clockwise angle about axis Local transform is 𝑇 𝑖,𝑙𝑜𝑐𝑎𝑙 𝑞 𝑖 ≡ 𝑅 𝐴𝐴 𝑣 𝑖 , 𝑞 𝑖 Prismatic (translational) joints 𝑞 𝑖 gives translation distance about axis Local transform is 𝑇 𝑖,𝑙𝑜𝑐𝑎𝑙 𝑞 𝑖 = 𝐼 𝑞 𝑖 𝑣 𝑖 0 1 Screw joints Define the scaled axis of link i, 𝑣 𝑖 , as a vector in the local frame defining how much the screw translates given one radian clockwise turn about 𝑣 𝑖 𝑞 𝑖 gives counter-clockwise angle about axis 𝑣 𝑖 ≡ 𝑣 𝑖 / 𝑣 𝑖 Local transform is 𝑇 𝑖,𝑙𝑜𝑐𝑎𝑙 𝑞 𝑖 = 𝑅 𝐴𝐴 ( 𝑣 𝑖 , 𝑞 𝑖 ) 𝑞 𝑖 𝑣 𝑖 0 1

Exercise Suppose in an n-link chain, we’ve compute all the frames for configuration 𝑞. Now, only one joint angle i is changed from 𝑞 𝑖 −> 𝑞 𝑖 ’. How many operations must we perform to determine 𝑇 𝑛 (𝑞′)?

Next class (Analytical) inverse kinematics Reading: Paul, R.  Robot manipulators: mathematics, programming, and control : the computer control of robot manipulators.  Chapter 4.