## 38. Motion Planning and Trajectory Control

• When there are multiple control loops that must be controlled as a group we must add higher level control techniques to plan motions and then guide single controllers.

38.1 Trajectory Control

• Given a set of points, we must move at given speeds.

#### 38.1.1 Resolved Rate Motion Control

• When the robot motion is important (such as welding applications), the resolved rate method may be useful

• This method requires a good model of the manipulator.

• The figure below shows an incremental interpolator, based on resolved rate motion control.

#### 38.1.2 Cartesian Motion System

• The figure below illustrates a system for making motions in Cartesian space (straight line).

#### 38.1.3 Model Reference Adaptive Control (MRAC)

• To compensate for overly complex, or changing systems we can use an adaptive controller

#### 38.1.4 Digital Control System

• It is more common to use computers to control operations

• The computer must examine sensors, then decide how to change outputs to actuators. But, computers can only do one thing at once, so the approach is limited by CPU speed.

• Note the controlling computer still needs a control algorithm such as PID, resolved rate, MRAC, etc.

• e.g. to control a simple robotic arm with proportional control

• Some sensors, such as encoders can return binary numbers to the computer, instead of analog voltages, this leads to more accurate, noise resistant position measurements.

• The main functions of the control computer are,

1. plans and interpolates a path from the start, to the endpoint in world coordinates.

2. Transforms path points from world to joint coordinates

3. Receives a signal about a completed move, and signals next moves on a path.

4. Executes other motions, not directly driving motion.

• There are two servo loops for each joint,

the inner loop may consist of an amplifier (voltage or current), a joint drive, and a tachometer for velocity feedback.

the outer loop may consist of incremental encoder, counter or microprocessor,

Microprocessor samples the contents of the counter (equal to the BRUs) and transfers this to the computer. The computer compares the counter contents with a program reference to produce the system error. The error signal is fed each ms (for example) to a D/A converter which supplies a voltage proportional to the required axis velocity.

complex calculations for control are possible

software is easy to change for new control laws

the controller can be adapted easily to new operating conditions

the computer does not need retuning, reducing the amount of maintenance required

faults can be easily detected

the computer may be unable to calculate fast enough

the computer is generally less reliable

38.2 Path Planning

• Basic: “While moving the robot arm from point A to B, or along a continuous path, the choices are infinite, with significant differences between methods used.”

#### 38.2.1 Slew Motion

• The simplest form of motion. As the robot moves from point A to point B, each axis of the manipulator travels as quickly as possible from its initial position to its final position. All axis begin moving at the same time, but each axis ends it motion in a length of time that is proportional to the product of its distance moved and its top speed (allowing for acceleration and deceleration)

• Note: slew motion usually results in unnecessary wear on the joints and often leads to unanticipated results in the path taken by the manipulator.

• Example: A three axis manipulator with revolute joints starts with joint angles (40, 80, -40)degrees, and must move to (120, 0, 0)degrees. Assume that the joints have maximum absolute accelerations/decelerations of (50, 100, 150) degrees/sec/sec, and the maximum velocities of (20, 40, 50) degrees/sec. Using slew motion, what is the travel time for each joint?

38.2.1.1 - Joint Interpolated Motion

• Similar to slew motion, except all joints start, and stop at the same time. In the last example for slew motion, all of the joints would have moved until all stopping simultaneously at 4.4 seconds.

• This method only demands needed speeds to accomplish movements in least times

38.2.1.2 - Straight-line motion

• In this method the tool of the robot travels in a straight line between the start and stop points. This can be difficult, and lead to rather erratic motions when the boundaries of the workspace are approached.

• NOTE: straight-line paths are the only paths that will try to move the tool straight through space, all others will move the tool in a curved path.

• The basic method is,

1. Develop a set of points from the start and stop points that minimize acceleration.

2. do the inverse kinematics to find the joint angles of the robot at the specified points.

• Consider the example below,

38.3 Motion Controllers

#### 38.3.1 Computer Control of Robot Paths (Incremental Interpolation)

• Path Planning is a simple process where the path planning methods described before (such as straight line motion) are used before the movement begins, and then a simple real-time lookup table is used.

• The path planner puts all of the values in a trajectory table

• The on-line path controller will look up values from the trajectory table at predetermined time, and use these as setpoints for the controller.

• The effect of the two tier structure is that the robot is always shooting for the next closest ‘knot-point’ along the path.

• The above scheme leads to errors between the planned, and actual path, and lurches occur when the new setpoints are updated for each servo motor.

• The quantization of the desired position requires a decision of what value to use, and this value is fixed for a finite time.

• The result is that the path will tend to look somewhat bumpy,

38.4 Special Issues

#### 38.4.1 Optimal Motion

• Previous sections discuss common industrial methods for path planning, but these methods are generally sub-optimal.

• The example below shows two paths, and the difference in motion time for torque limited actuators.

• In the example above, the arm is bent along the path to reduce the moment of inertia, and thus allows faster motions, but this would not happen with any of the simple control schemes.

• Methods to find these paths efficiently are still in research phases.

#### 38.4.2 Singularities

• Common types of singularities are,

redundant configurations lead to indefinite solutions

joints become straight, and infinite joint velocities are required

positions that may be reached in an infinite number of ways.

• Most of these singularities became obvious mathematically.

• A simple type of singularity often occurs at the edge of the robot workspace

• Another type of robot singularity occurs when the joints flip

• Some forms of solution redundancy can also be considered singularities (the solution to these is to examine the last position, and match the solution to it)

38.5 Problems

Problem 38.1 For the Stanford arm below,

a) list the D-H parameters (Hint: extra “dummy” joints may be required)

b) Find the forward kinematics using homogenous matrices.

c) Find the Jacobian matrix for the arm.

d) If the arm is at θ1 = 45 degrees, θ2 = 45 degrees, r = 0.5m, find the speed of the TCP if the joint velocities are θ’1 = 1 degree/sec, θ’2 = 10 degrees/sec, and r’ = 0.01 m/sec.

Problem 38.2 Find a smooth path for a robot joint that will turn from θ= 75° to θ = -35° in 10 seconds. Do this by developing an equation then calculating points every 1.0 seconds along the path for a total motion time of 10 seconds.

Problem 38.3 A jointed arm robot has three rotary joints, and is required to move all three axes so that the first joint is rotated through 50 degrees; the second joint is rotated through 90 degrees, and the third joint is rotated through 25 degrees. Maximum speed of any of these rotational joints is 10 degrees/sec. Ignore effects of acceleration and deceleration and,

a) determine the time required to move each joint if slew motion (joint motion is independent of all other joints) is used.

b) determine the time required to move the arm to a desired position and the rotational velocity of each joint, if joint interpolated motion (all joints start and stop simultaneously) is used.

c) Solve question 4 under the condition that the three joints move at different rotational velocities. The first joint moves at 10 degrees/sec., the second joint moves at 25 degrees/sec, and the third joint moves at 30°/sec.

Problem 38.4 Find a smooth path for a robot joint that will turn from θ= 75° to θ = -35° in 10 seconds. Do this by developing an equation then calculating points every 1.0 seconds along the path for a total motion time of 10 seconds.

Problem 38.5 a) A jointed arm robot has three rotary joints, and is required to move all three axes so that the first joint is rotated through 50 degrees; the second joint is rotated through 90 degrees, and the third joint is rotated through 25 degrees. Maximum speed of any of these rotational joints is 10 degrees/sec. Ignore effects of acceleration and deceleration and,

b) determine the time required to move each joint if slew motion (joint motion is independent of all other joints) is used.

c) determine the time required to move the arm to a desired position and the rotational velocity of each joint, if joint interpolated motion (all joints start and stop simultaneously) is used.