Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010.

Slides:



Advertisements
Similar presentations
ROBOT VISION Lesson 9: Robot Kinematics Matthias Rüther
Advertisements

Inverse Kinematics Professor Nicola Ferrier ME 2246,
Outline: Introduction Link Description Link-Connection Description
Links and Joints.
Review: Homogeneous Transformations
Introduction to Robotics
Denavit-Hartenberg Convention
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.
Kinematics – Frame Assignment using Denavit-Hartenberg Convention
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Time to Derive Kinematics Model of the Robotic Arm
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Ch. 3: Forward and Inverse Kinematics
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Ch. 3: Forward and Inverse Kinematics
Introduction to ROBOTICS
Animation CS 551 / 651 Kinematics Lecture 09 Kinematics Sarcos Humanoid.
Serial and Parallel Manipulators
Introduction to ROBOTICS
Inverse Kinematics Jacobian Matrix Trajectory Planning
Introduction to ROBOTICS
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
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 5)
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
KINEMATIC CHAINS AND ROBOTS (III). Many robots can be viewed as an open kinematic chains. This lecture continues the discussion on the analysis of kinematic.
Advanced Graphics (and Animation) Spring 2002
Robot Arms, Hands: Kinematics
Definition of an Industrial Robot
KINEMATICS ANALYSIS OF ROBOTS (Part 3). This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. After this.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Feb 17, 2002Robotics 1 Copyright Martin P. Aalund, Ph.D. Kinematics Kinematics is the science of motion without regard to forces. We study the position,
15/09/2015handout 31 Robot Kinematics Logics of presentation: Kinematics: what Coordinate system: way to describe motion Relation between two coordinate.
Lecture 2: Introduction to Concepts in Robotics
Inverse Kinematics.
Robot Dynamics – Slide Set 10 ME 4135 R. R. Lindeke, Ph. D.
KINEMATICS ANALYSIS OF ROBOTS (Part 4). This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. After this.
Manipulator’s Forward kinematics
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).
Review: Differential Kinematics
What is Kinematics. Kinematics studies the motion of bodies.
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.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Just a quick reminder with another example
ROBOT VISION LABORATORY 김 형 석 Robot Applications-B
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 4)
Forward Kinematics Where is my hand ?. Examples Denavit-Hartenberg Specialized description of articulated figures (joints) Each joint has only one degree.
Kinematics Intro :a branch of dynamics that deals with aspects of motion apart from considerations of mass and force Merriam-Webster.
MECH572A Introduction To Robotics Lecture 5 Dept. Of Mechanical Engineering.
Manipulator Kinematics Treatment of motion without regard to the forces that cause it. Contents of lecture: vResume vDirect kinematics vDenavit-Hartenberg.
Fundamentals of Computer Animation
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.
Character Animation Forward and Inverse Kinematics
F o r w a r d K i n e m a t i c s.
Direct Manipulator Kinematics
Introduction to manipulator kinematics
Direct Kinematic Model
Mobile Robot Kinematics
CSE4421/5324: Introduction to Robotics
Homogeneous Transformation Matrices
KINEMATIC CHAINS.
KINEMATIC CHAINS & ROBOTS (I)
Chapter 4 . Trajectory planning and Inverse kinematics
Robotics 1 Copyright Martin P. Aalund, Ph.D.
Presentation transcript:

Structure and Synthesis of Robot Motion Kinematics Subramanian Ramamoorthy School of Informatics 18 January, 2010

What is Kinematics? Kinematics (Greek κινειν, kinein, to move) is a branch of classical mechanics which describes the motion of objects without consideration of the circumstances leading to the motion. As opposed to dynamics - which studies relation between motion of objects and its causes. Robot kinematics is the study of the motion of robots. In a kinematic analysis the position, velocity and acceleration of all the links are calculated without considering the forces that cause this motion. Robot kinematics deals with aspects of redundancy, collision avoidance and singularity avoidance. 18/01/2010Structure and Synthesis of Robot Motion2

Why might we Ignore Causes of Motion Many possible reasons: To get a temporary handle on constraints To restrict the solution space for the more detailed problem Because, sometimes, that is enough (e.g., animation) or even just kinematics can be hard (e.g., biology or surgery) For now: We will discuss this classical view of robot motion In many modern problems, the strict separation of concerns may be hard to achieve – E.g., Humanoid walking is an intricate mix of kinematics and dynamics 18/01/2010Structure and Synthesis of Robot Motion3

Recap: Describing 3-dim motion 18/01/2010Structure and Synthesis of Robot Motion4

Recap: Combined 3-dim Rotations If a robot/object consists of many links/parts, we could compute position of any end with respect to a base via an appropriate sequence of transformations: 18/01/2010Structure and Synthesis of Robot Motion5 Where are these two points w.r.t. each other?

A Typical Scenario Many robotics problems involve a workspace goal that needs to be achieved through joint space actions Translating between the two coordinate systems requires thinking through a sequence of coord. Frames In the figure: – How does object motion translate to robot manipulator motion? 18/01/2010Structure and Synthesis of Robot Motion6

Anatomy of a Typical Robot Manipulator joints links gripper (end effector) Manipulator model from: 18/01/20107Structure and Synthesis of Robot Motion

Two Aspects of Kinematics Forward Kinematics – Given joint angles, compute the transformation between world & gripper coordinates – Relatively straightforward Inverse Kinematics – Given the transformation between world coordinates and an arbitrary frame, compute the joint angles that would line your gripper coordinates up with that frame. – More complex 18/01/20108

Forward Kinematics 18/01/2010Structure and Synthesis of Robot Motion9 Scenario: You have a robotic arm that starts out aligned with the x o -axis. You tell the first link to move by  1 and the second link to move by  2 Question: What is the position of the end of the robotic arm? Solution: Use transformation matrices from earlier lecture

H = R z (  1 ) * T x1 (l 1 ) * R z (  2 ) * T x2 (l 2 ) * R z (  3 ) i.e. Rotating by  1 will put you in the X 1 Y 1 frame. Translate in the along the X 1 axis by l 1. Rotating by  2 will put you in the X 2 Y 2 frame. and so on until you are in the X 3 Y 3 frame. The position of the yellow dot relative to the X 3 Y 3 frame is (l 1, 0). Multiplying H by that position vector will give you the coordinates of the yellow point relative the the X 0 Y 0 frame. Locate the Yellow Dot in Base Frame X2X2 X3X3 Y2Y2 Y3Y3 11 22 3 X1X1 Y1Y1 X0X0 Y0Y0 18/01/201010Structure and Synthesis of Robot Motion Rotation, around z, by Y 2 Translation, along x 2, by l 2

X2X2 X3X3 Y2Y2 Y3Y3 11 22 3 X1X1 Y1Y1 X0X0 Y0Y0 X4X4 Y4Y4 H = R z (  1 ) * T x1 (l 1 ) * R z (  2 ) * T x2 (l 2 ) * R z (  3 ) * T x3 (l 3 ) This takes you from the X 0 Y 0 frame to the X 4 Y 4 frame. The position of the yellow dot relative to the X 4 Y 4 frame is (0,0). Notice that multiplying by the (0,0,0,1) vector will equal the last column of the H matrix. Variation: New Coordinate Frame at the Dot 18/01/201011Structure and Synthesis of Robot Motion

Denavit-Hartenberg Convention A Standard Description involving 4 parameters: a (i-1) : Length of perpendicular between joint axes  (i-1) : Amount of rotation around the common perpendicular so that the joint axes are parallel d (i-1) : The displacement along the Z i axis needed to align the a (i-1) to the a i common perpendiculars.  i : Amount of rotation around the Z i axis needed to align the X (i-1) axis with the X i axis. 18/01/2010Structure and Synthesis of Robot Motion12

Transformation Matrices from DH Convention 18/01/2010Structure and Synthesis of Robot Motion13 Z (i - 1) X (i -1) Y (i -1)  ( i - 1) a (i - 1 ) Z i YiYi XiXi aiai didi  i

11 X Y S Revolute and Prismatic Joints Combined (x, y) Find Angle : More Specifically : arctan2() specifies that it’s in the first quadrant Finding S : Inverse Kinematics: Simplest Example 18/01/201014Structure and Synthesis of Robot Motion

22  (x, y) l2l2 l1l1 Given: l 1, l 2, x, y Find:  1,  2 Redundancy: A unique solution to this problem does not exist - two solutions are possible. Sometimes no solution is possible. (x, y) l2l2 l1l1 l2l2 l1l1 Bit More Complex: 2-link Manipulator 18/01/201015Structure and Synthesis of Robot Motion

l1l1 l2l2 22 11  (x, y) Solving for the Joint Angles 18/01/2010Structure and Synthesis of Robot Motion16

Solving for Joint Angles, Contd. 18/01/2010Structure and Synthesis of Robot Motion17

Things can Begin to Get Complicated… This is still within our model: But, we’d like to avoid tedious calculations like in last slide 18/01/2010Structure and Synthesis of Robot Motion18 Keep feet fixed Hands should follow the mouse

Use of the Jacobian Chain of links maps a set of input variables (Joint Angles) to end effecter variables: The Jacobian is defined as: A transformation from joint velocities to end-point velocities: 18/01/2010Structure and Synthesis of Robot Motion19

Jacobian: A Simple Example 18/01/2010Structure and Synthesis of Robot Motion20

Using the Jacobian Inverse Use task level goals to figure out how end effecter should move - V Solve for the joint angle velocities: Some pitfalls: – J might be singular – Overdetermined system Concept of Pseudoinverse: 18/01/2010Structure and Synthesis of Robot Motion21 When is this singular?

Jacobian of the 2-link Arm 18/01/2010Structure and Synthesis of Robot Motion22

Where are the Singularities in 2-link Arm? 18/01/2010Structure and Synthesis of Robot Motion23 = 0!

Regularizing the Inverse While the pseudoinverse will yield a solution, it may not be the right one always What are the criteria? One way to handle this is to define additional optimisation criteria: 18/01/2010Structure and Synthesis of Robot Motion24

Dealing with Ill-Posedness: Heuristic Optimisation Most real problems we care about will take us into these deep waters – hard to get the “correct” solution One practical approach that is favoured in animation is Cyclic Coordinate Descent – Iterative heuristic procedure, one joint at a time – When faced with a large task, prioritise hierarchically and make easy choices first – Other similar heuristics may also be useful Even so, with branching and multiple chains, one needs more care! 18/01/2010Structure and Synthesis of Robot Motion25 p1p1      p2p2

Other Issues: Closed Chains 18/01/2010Structure and Synthesis of Robot Motion26 Many of our approximations (e.g., Regularized Inverses) may be subject to peculiar constraints such as loop closure.

Learning Inverse Kinematics The relationships we have been discussing are fairly well defined, involving trigonometric functions, etc. It should be possible to approximate/learn them from data Main problem: Inverse kinematics is an ill-posed problem – there are potentially large number of solutions due to redundancies and singularities – This makes the learning problem non-convex One solution, use localized learning – e.g., A. D’Souza, S. Vijayakumar, S. Schaal, Learning Inverse Kinematics, Proc. IROS /01/2010Structure and Synthesis of Robot Motion27

Locally Weighted Learning for IK Use many local models with restricted regions of applicability: The Jacobian can be represented in terms of weighted sums, involving suitable kernels (e.g., Gaussian receptive fields) Then, learning becomes an iterative process involving targets: 18/01/2010Structure and Synthesis of Robot Motion28

Hard Kinematics Problem 1: Constraints & Scale 18/01/2010Structure and Synthesis of Robot Motion29 Source: J-C. Latombe, Stanford.

Hard Kinematics Problem 2: Flexibility, High-DOF, Complex Dynamics 18/01/2010Structure and Synthesis of Robot Motion30 DockingShop Rendering of HIV-1 Protease in Complex with the Cyclic Sulfamide Inhibitor Aha006 (PDB code 1AJV). Source: LBL.

Hard Kinematics Problem 3: Dealing with Non-rigid Objects 18/01/2010Structure and Synthesis of Robot Motion31 Source: J-C. Latombe, Stanford.

Summary We looked at forward and inverse kinematics Forward: Given joint angles, where is the end point? Inverse: If I want end point here, what are the angles? Latter is harder – analytical solutions are tedious and multi-valued, often use local approximations – Could use Machine Learning Other challenging issues: Although we classified problems into categories, real world problems are more diverse (e.g., humans are not really rooted trees) 18/01/2010Structure and Synthesis of Robot Motion32