530 likes | 826 Views
Path Control in Robotics. ME 4135 Lecture series 8 Richard R. Lindeke, Ph. D. Motion Types of Interest. Point – to – Point Motion: All Axes start and end simultaneously
E N D
Path Control in Robotics ME 4135 Lecture series 8 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: Vjoint d/ t = (9.5/100)/(.5/100) = 19in/second (a reasonable speed!)
Lets look at a simple example: • During the 1st Step then: • Joint 1 starts at 0 and moves to 0.095” • Moves there in 0.005 seconds • How will it do it? • Of course by Accelerating from a stop to 19 in/sec in 0.005 seconds • Compute AccreqrV/t Darn – this says that the acceleration is 3800in/sec2 – 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:
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’ is a matter of finding ai’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 a0, a1, a2 and a3 to build a 3rd order path polynomial for the required motion
Solving the ‘Path Polynomial’ is a matter of finding ai’s for specific paths ‘Poly’s’ holding at starting time and position ‘Poly’s’ holding at ending time and position
Solving the ‘Path Polynomial’ is a matter of finding ai’s for specific paths • Writing these as Matrix Forms:
Solving the ‘Path Polynomial’ is a matter of finding ai’s for specific paths • If we set t0 = 0 (starting time is when we start counting motion!) then: By examination, a0 = q0 & a1 = q0(dot)
Solving the ‘Path Polynomial’ is a matter of finding ai’s for specific paths • Completing the solution consists of forming relationships for: a2 & a3 • Done by substitutinga0 &a1 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 = 0 @ time = 0 • End: X = 9.5”; v = 0 @ time = .5 sec • a0 = 0 ; a1 = 0 • a2 = (3 * 9.5)/(0.52) = 114 • a3 = (2 *(- 9.5))/(0.53) = -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/sec2 (.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’ • 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 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 tblend [tb]) the Joint moves: q = (V/2)*tb • tb is the acceleration time • During the region of ‘Constant Velocity’ the Joint moves: q = V*(t – 2tb) • During Region 3 -- while the joint is decelerating the joint moves: q = (V/2)*tb • Total travel distance is qB - qA
Substituting and Isolating the Unknown (blend time): This is a quadratic equation in tb
Solving for tb: Note: Acceleration is subject to above constraint
Applying it to the Coffee ‘Bot • Acceleration constraint: • Blend time:
Applying it to the Coffee ‘Bot • tlinear=.5 – 2*0.159 = 0.181 s • Linear Velocity: • Positions: • By tb, Joint moves: (27.89/2)*.159 = 2.222 in • During linear velocity joint moves: 0.181*27.89 = 5.055 in (thus the pos = 7.277”) • During deceleration joint travels 2.222 in • Adding them gives full travel distance: 2.222 + 5.055 + 2.222 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 ‘G12’ methods – continuing along a path w/o stopping? • 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 • 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 Time @ linear Velocity
Craig’s Dog Tracking Method • Stopping Equation: Stop ‘acceleration’ Stop Blend Time L. Velocity to stop Time @ L. Velocity
Craig’s Dog Tracking Method • Intermediate Equations: Linear Velocity Acceleration Blend time 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 differencesmust be noted • One can’t complete any of the regimes without looking ahead – actually looking ahead to the 2nd 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
Lets Expand on Dr. D’s Coffee Drinker ‘Bot: • Step 1: Global Acc. Constraint This is largest – should work globally – but lets make sure it doesn’t miss so choose 200ips2 ‘cause it’s easier to calculate and is only about .6g
Lets Expand on Dr. D’s Coffee Drinker ‘Bot: • Next we focus on the start & stop equations: • Starting • Stopping NOTE: can’t compute tlij yet – we lack the data!
Lets Expand on Dr. D’s Coffee Drinker ‘Bot: • Considering Intermediate B→C:
Lets Expand on Dr. D’s Coffee Drinker ‘Bot: • On to “C→D” Segment
Lets Expand on Dr. D’s Coffee Drinker ‘Bot: • Now for Segment D→E:
A Final Thought on Dog-Tracking: But if we must travel over 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