Path Control in Robotics ME 4135, F 2012 Richard R. Lindeke, Ph. D.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Robot Modeling and the Forward Kinematic Solution
Robot Modeling and the Forward Kinematic Solution
From Kinematics to Arm Control a)Calibrating the Kinematics Model b)Arm Motion Selection c)Motor Torque Calculations for a Planetary Robot Arm CS36510.
ME 4135 Differential Motion and the Robot Jacobian Slide Series 6 Fall 2011 R. R. Lindeke, Ph.D.
Manipulator’s Inverse kinematics
Continuing with Jacobian and its uses ME 4135 – Slide Set 7 R. R. Lindeke, Ph. D.
COMP322/S2000/L41 Classification of Robot Arms:by Control Method The Control unit is the brain of the robot. It contains the instructions that direct the.
Constant Jerk Trajectory Generator (TG)
Trajectory Generation
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 6)
Trajectory Planning.  Goal: to generate the reference inputs to the motion control system which ensures that the manipulator executes the planned trajectory.
Introduction to Control: How Its Done In Robotics R. Lindeke, Ph. D. ME 4135.
Robot Modeling and the Forward Kinematic Solution ME 4135 Lecture Series 4 Dr. R. Lindeke – Fall 2011.
ME 4135 Fall 2011 R. R. Lindeke, Ph. D. Robot Dynamics – The Action of a Manipulator When Forced.
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.
Motion Kinematics – Lecture Series 3 ME 4135 – Fall 2011 R. Lindeke.
Trajectory Generation How do I get there? This way!
ME Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Path Control in Robotics
Inverse Kinematics Jacobian Matrix Trajectory Planning
Copyright © 2005 Pearson Education, Inc. Chapter 3 Radian Measure and Circular Functions.
Velocities and Static Force
Linear Motion Are you moving? How do you know? Earth spins on axis at 700 mph Earth revolves around sun 72,000 mph Solar system moves thru galaxy 675,000.
ME 4135 Differential Motion and the Robot Jacobian
ME 4135 Differential Motion and the Robot Jacobian Fall 2012 R. R. Lindeke, Ph.D.
Exploring Engineering
Definition of an Industrial Robot
Physics Montwood High School R. Casao
MOTION.
Ch 8.1 Numerical Methods: The Euler or Tangent Line Method
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
Motion  1 Position, Speed and Velocity  2 Graphs of Motion  3 Acceleration.
© Manfred Huber Autonomous Robots Robot Path Planning.
Robot Dynamics – Slide Set 10 ME 4135 R. R. Lindeke, Ph. D.
Chapter 4 MOTION.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Robotics Chapter 5 – Path and Trajectory Planning
Motion is Relative We always judge motion by comparing a moving object to something else. The “something else” is called a frame of reference.
The City College of New York 1 Dr. Jizhong Xiao Department of Electrical Engineering City College of New York Inverse Kinematics Jacobian.
Chapter Four: Motion  4.1 Position, Speed and Velocity  4.2 Graphs of Motion  4.3 Acceleration.
Spatial Modeling – some fundamentals for Robot Kinematics ME 3230.
Path Control: Linear and Near- Linear Solutions Slide Set 9: ME 4135 R. Lindeke, PhD.
 In this packet we will look at:  The meaning of acceleration  How acceleration is related to velocity and time  2 distinct types acceleration  A.
Trajectory Generation
Accumulator : A robot mechanism designed to pick up a large number of similar objects.
MOTION. Chapter Four: Motion  4.1 Position, Speed and Velocity  4.2 Graphs of Motion  4.3 Acceleration.
Industrial Automation and Robotics
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.
Trajectory Generation
Character Animation Forward and Inverse Kinematics
MOTION.
Kinematics Introduction to Motion
Chapter Four: Motion 4.1 Position, Speed and Velocity
Modeling robot systems
Chapter Four: Motion 4.1 Position, Speed and Velocity
Analytical Modeling of Kinematic Linkages
MOTION.
INTERPOLATION Prof. Samuel Okolie, Prof. Yinka Adekunle & Dr
Path Control: Linear and Near-Linear Solutions
Inverse Kinematics 12/30/2018.
MOTION.
Chapter Four: Motion 4.1 Position, Speed and Velocity
SKTN 2393 Numerical Methods for Nuclear Engineers
Chapter 4 . Trajectory planning and Inverse kinematics
Model of robot system Óbuda University
Constant Jerk Trajectory Generator (TG)
Presentation transcript:

Path Control in Robotics ME 4135, F 2012 Richard R. Lindeke, Ph. D.

Motion Types of Interest Point – to – Point Motion:  All Axes start and end simultaneously  All Geometry is computed for targets and relevant Joint changes which are then forced to be followed during program execution Path or Trajectory Controller Motion  Here the motion is performed through a time sequence of intermediate configurations computed ahead of time (like above but without stop-start operation) or in real time  Paths are “Space Curves” for the n-Frame to follow  This motion is a continuous scheme to move the TCP from one location to the next along a desired (straight or curved) line under direct operational control

Path Control and Motion Types: We will explore the following types of Motion:  Lead Through Path Creation  (Cubic) Polynomial Paths w/ Via Points  Minimum Time Trajectory w/ controlled Acceleration  Lower order Path-Poly Control  LSPB Paths  Craig’s Method for acceleration smoothing  Strict Velocity Control  Joint Interpolated Control  Full Cartesian Control

Lead Through Path Creation Basically this was a technique whereby a skilled operator took a robot arm (for welding or painting) and used it like his/her weld tool or paint sprayer and performed the required process at reasonable speed The robot is equipped with a position recording device and memorizes a large number of points during the teaching session These learned points then would be “played back” to replicate the skilled operators motions

Lead Through Path Creation Advantages:  Simple way to create complex paths  All points are sure to be physically attainable  Playback speed can be controlled by an external device Disadvantages:  Precision placements are required (program must be replayed at exactly the initial placement)  Major concern with operator safety: robot is powered and operator is physically touching it (OSHA rules it unsafe practice!)

Modern Path Control: (Lets look at a simple example) Dr. D’s new ‘Self-powered Automated Coffee Drinker’ Robot It is a simple cantilevered Cartesian device equipped with a spherical wrist that responds to eye movement and thoughts to help the overworked design engineer get coffee while designing and drafting & typing of Reports It follows a straight line path from the cup’s point on a table to the worker’s mouth in ½ second

Lets look at a simple example:

We see that the ‘Bot must travel a space path of 16.45” which can be decomposed into a movement of 9.5” along each of the prismatic joints For ‘accuracy’ lets divide each of the these joint paths into 100 segments From Physics: V joint   d/  t = (9.5/100)/(.5/100) = 19in/second (a reasonable speed!)

Lets look at a simple example: During the 1 st Step then:  Joint 1 starts at 0 and moves to 0.095”  Moves there in seconds  How will it do it?  Of course by Accelerating from a stop to 19 in/sec in seconds  Compute Acc reqr   V/  t Darn – this says that the acceleration is 3800in/sec 2 – this is  10G!!!!!

Lets look at a simple example: So this will certainly be difficult to accomplish! (more likely it will not work) OSHA would be just as upset as when we had the worker holding on to the powered robot – what should we do? I think our approach is too naïve! If we examine the Pos vs. Time, Vel Vs. Time and Acc vs. Time plots we may see why:

Look at a simple example’s Trajectory Curves:

This is Physically Impossible (or rather ‘very energy intensive’) Can we build a reasonable solution that keeps the acceleration to an achievable level? What this would mean is we wouldn’t “instantly” – in one time step – go from stopped to full speed This can be achieved with a “time polynomial” model of motion

Building a ‘Path Polynomial’ Motion Set These are the ‘trajectory’ equations for a joint (Position, Velocity and Acceleration)

Solving the ‘Path Polynomial’ means finding a i ’s for SPECIFIC PATHS We would have “boundary” conditions for position and velocity at both ends of the path We would have the desired total time of travel Using these conditions we can solve for a 0, a 1, a 2 and a 3 to build a 3 rd order path polynomial for the required motion

Solving the ‘Path Polynomial’ means finding a i ’s for SPECIFIC PATHS ‘Poly’s’ holding at starting time and position ‘Poly’s’ holding at ending time and position

Solving the ‘Path Polynomial’ means finding a i ’s for SPECIFIC PATHS Writing these as Matrix Forms:

Solving the ‘Path Polynomial’ means finding a i ’s for SPECIFIC PATHS If we set t 0 = 0 (starting time is when we start counting motion!) then: By examination, a 0 = q 0 & a 1 = q 0 (dot)

Solving the ‘Path Polynomial’ means finding a i ’s for SPECIFIC PATHS Completing the solution consists of forming relationships for: a 2 & a 3 Done by substituting a 0 & a 1 values and solving the last two equation simultaneously: Be Careful and note the order of the positions and velocities!

Applying it to the Coffee ‘Bot Start: X = 0; v = time = 0 End: X = 9.5”; v = time =.5 sec a 0 = 0 ; a 1 = 0 a 2 = (3 * 9.5)/(0.5 2 ) = 114 a 3 = (2 *(- 9.5))/(0.5 3 ) = -152

Applying it to the Coffee ‘Bot Here (specifically):

Applying it to the Coffee ‘Bot Simplifying:

Applying it to the Coffee ‘Bot: Position Position vs. Time

Applying it to the Coffee ‘Bot: Velocity Joint Velocity Vs. Time

Applying it to the Coffee ‘Bot: Acceleration Acceleration Vs. Time

Applying it to the Coffee ‘Bot Using the Path Polynomial Approach: Max Velocity is: 28.5 in/sec (compares to 19 in/sec) Max Acceleration is: 228 in/sec 2 (.6 g) compared to  10 g But, in this method, I require a 100% duty cycle motor since throughout the entire path, the motor is accelerating (either with positive or negative orientation) Can we make a path solution where we accelerate for only part of the path? Turns out we can and we will call it LSPB!

Studying the LSPB model In this model, we will carry forward with a ‘parabolic model’– that is 2 nd order In this model, we will determine a time where we will blend from startup until we reach a constant velocity – (and its greater than 1/100 of the total time!) Here we will see an acceleration followed by a period of “coasting” and then deceleration (often called a trapezoidal velocity model)

Model Building: We must define an acceleration constraint (minimum value) such that the acceleration is guaranteed to be completed within half of the allocated time period of the travel: This assures that there is no overlap for the ‘BLEND Regions’

Looking at the motion over the various regions: During Region 1 (while the joint is Accelerating) (time interval 0 to t blend [t b ]) the Joint moves: q = (V/2)*t b  t b is the acceleration time During the region of ‘Constant Velocity’ the Joint moves: q = V*(t – 2t b ) During Region 3 -- while the joint is decelerating the joint moves: q = (V/2)*t b Total travel distance is q B - q A

Writing a motion equation:

Substituting and Isolating the Unknown (which is blend time) : This is a quadratic equation in t b

Solving for t b : Note: Acceleration is subject to constraint determined above

Applying it to the Coffee ‘Bot Acceleration constraint: Blend time:

Applying it to the Coffee ‘Bot t linear =.5 – 2*0.159 = s Linear Velocity: Positions:  By t b, the Joint has moved: (27.89/2)*.159 = 2.222”  During linear velocity joint moves: 0.181*27.89 = in (thus the pos = 7.277”)  During deceleration joint travels 2.222”  Adding them gives full travel distance: in  9.5in

Plotting the Path trajectory: Notice: the accelerator is ‘off’ during the linear travel segment

The 2 Previous Path Control Methods focused on Start/Stopping Approaches What can we do if we desire to travel by continuing along a path w/o stopping at each point? Here we will focus on a method called ‘dog-tracking’ after the lead and follow techniques employed in dog racing Essentially we would have a situation where the path is laid out (as a series of Via Points) and the joints smoothly maneuver through and between them

‘Craig’s’ Dog Tracking Method

Craig’s Dog Tracking Method Upon Examination of the motion, we find that there are three ‘regimes’ in the motion These are:  Start up regime  Intermediate regimes  Stopping regime Starting and Stopping are similar to LSPB in the way they compute blend time and acceleration During an Intermediate regime we compute acceleration by comparing incoming and outgoing velocities about each point

Craig’s Dog Tracking Method Starting regime Equations: Start Acceleration Start Blend Time Linear Velocity 1→2 linear Velocity

Craig’s Dog Tracking Method Stopping Equations: Stop ‘acceleration’ Stop Blend Time L. Velocity to stop L. Velocity

Craig’s Dog Tracking Method Intermediate Equations: Linear Velocity Acceleration Blend time L. Velocity

Craig’s Dog Tracking Method Upon examination of the set of equation on the previous 3 slides several point should be noted:  Start and Stop are essentially the same but very important differences must be noted  One can’t complete any of the regimes without looking ahead – actually looking ahead to the 2 nd point beyond to see if a joint is stopping or continuing  Start/Stop require  position/  time relationships  Intermediate regimes require  velocity/  time relationships

Craig’s Dog Tracking Method Step 1: Calculate Global ‘usable’ acceleration (magnitude) constraint based on LSPB model applied Pairwise (1 → 2; 2 → 3; etc) Step 2: Focus on Start and Stop Segments Step 3: Complete the table of accelerations, blend times, linear velocity and time at linear velocity

Point Name Position (inch) Delta Position (inch) Arrival Time (sec) Delta Time (sec) A B C D E Lets Expand on Dr. D’s Coffee ‘Bot:

Step 1: Global Acc. Constraint This is largest – should work globally – but lets make sure it doesn’t miss so choose 200ips 2 ‘ cause it’s easier to calculate and is only about.6g

Lets Expand on Dr. D’s Coffee ‘Bot: Next we focus on the start & stop equations: ◦ Starting ◦ Stopping NOTE: can’t compute t lij yet – we lack the data!

Lets Expand on Dr. D’s Coffee ‘Bot: Considering Intermediate B → C:

Lets Expand on Dr. D’s Coffee ‘Bot: On to “C → D” Segment

Lets Expand on Dr. D’s Coffee ‘Bot: Now for Segment D → E:

Summarizing PtPOS T. Time  POS  time T i (blend)AccL. Vel Vel A B C D E

A Final Thought on Dog-Tracking: But if we must travel over or through a certain point, we can define ‘Pseudo-Via’ points that flank the desired target and force the arm to pass the ‘pseudos’ and drive right over the original desired target point

Looking at Velocity Control Achievable Path Desired Path

With this “Velocity Control” The acceleration is set and the new velocity for an upcoming segment is inserted at the appropriate time (place) Over the segment, the arm (joints) lags the desired path We extend the next path velocity curve to intersect the actual achievable path (to a point that is earlier in time than when we would have expected to change) this will mean that the joint can ‘catch up’ to the desired plan for the travel as it ‘blends’ to the new velocity

Linear Path Control Sometimes thought of as Cartesian Control It is based on the idea of Transitions between consecutive required geometries These transitions are based on the solution of a Drive Matrix: The matrices T(r), R a (r), and R o (r) are the translation, rotation wrt Z and rotation wrt Y in transitioning from P initial to P final

Developing the Drive Matrix: Given: P 1 is (n 1, o 1, a 1, d 1 ) And: P 2 is (n 2, o 2, a 2, d 2 ) Then:

Cartesian Control It is used when very exact interaction is required It ‘guaranties’ accurate tool placement at all times It is typically used in time dependent solutions – like interaction while a product is moving

Cartesian Control NOTE: On the conveyor, the H-frame is a time dependent pose in C (conveyor space)

Cartesian Control We desire to attach the “Quality Tag” to the part as it moves by the robot station Requires that the part and robot tool must be in exact contact throughout the attachment process This becomes a ‘Time-based’ Mapping problem

Cartesian Control At Time 1 (P 1 ): At Time 2 (P 2 ):

Cartesian Control Using these two (time-dependent) Poses, we can build the desired drive matrix We can compute the accuracy of the path then as a series of changes to the three control vectors: a, o and d These are updated in real time

Cartesian Control Problems that can result (and must be accounted for) :  Intermediate points that are unreachable – After we compute the initial and final points (that prove to be reachable as individuals), we request the tracking of a, o and d vectors but they exceed joint capabilities or require positions outside the work envelope during the driving action  In certain situations where only certain solutions are possible for the robot, like being near singularities, the desired linear velocity may require very high joint velocities – exceeding capabilities – and the path actually followed will deviate from the one desired as the joints run at their velocity limits

Near Cartesian (Joint Interpolated) Control This is a semi-precise control method developed as a compromise between full-Cartesian and point-to-point motion Basically it is used when a process needs to be held within a ‘band’ about an ideal linear path – for example during painting or bar-code scanning The path is designed to ‘track’ the work as it moves and maintains no more than a given “focal distance” separation between the tool and work surface  It is a path that is close to the target path at all poses but exact only at a few!

Joint-Interpolated Control Step 1: determine the desired path Step 2: Compute the tolerable error and the number of points (‘VIAs’) needed to maintain tool–to–work distances Step 3:Compute IKS’s at each of the VIAs Step 4: Determine “Move time” for each segment:

Joint-Interpolated Control Step 5: Divide the T seg into ‘m’ equal time intervals:

Joint-Interpolated Control Step 6: For each joint, determine angular distance during each time segment  t seg : Step 7: at the beginning of the nth step over a path, joint i servo control receives a target point:

Joint-Interpolated Control Implementing this method begins with determination of the distance between and ultimately the number of Via Points needed This is (really!) a simple trigonometry problem based on the offset distance and error tolerance (  ) at ‘closest approach’

Joint-Interpolated Control -- Model Robot Base 22 1 2 Note: R = R1 = R2

Joint-Interpolated Control -- Model Notice line #1, #2 and R 1 form a right triangle #2 is half the distance between Via Points! R (= R 1 ) is measured at point of closest approach between the robot and part!

Lets try one: A Part 6m long moves by a stationary robot on a conveyor moving at 0.04mps (counter flowing compared to painting direction) If we desire that the robot complete its spraying in 15 seconds ◦ Then, the robot must travel 5.4 m to spray the side of the part nearest it since the part moves during the painting operation. At closest approach, the robot is 1.5 m from the part and needs to have its sprayer 20 cm (  5 cm) from the part. From this data, the R value is: 1.5 – ( ) = 1.35 m

Lets try one: Distance between Via’s is found using: Therefore: The number of Via’s ◦ = 5.4/1.020 = 5.29 so round up to 6 ◦ plus the initial point = = 7

Follow-up Distance between is: 5.4/6 =.9m (rather than 1.020m) What is actual Error band?  Here we see it is:  3.86cm Typically, we find that Joint Interpolated solutions provide better than required (or expected) process control! What if we equally space the Via’s?