## 18. Motion Control

### 18.1 Kinematics

• A robot must be able to map between things that it can control, such as joint angles, to the position of the tool in space.

• Describing the position of the robot in terms of joint positions/angles is Joint Space.

• Real space is often described with a number of coordinate systems,

- cartesian

- polar

- spherical

• Positions can also be specified with respect to the robot base (Robot Coordinates), or globally (World Coordinates).

#### 18.1.1 Basic Terms • Robot base coordinates don’t move and are often used to specify robot tool position and orientation. (centre of the robots world)

• Link/Joint Coordinates - specify where joints, endpoints or centers are located.

• Tool coordinates - determine where the tool is and what orientation it is in.

• World Coordinates - relates various robots to other robots and devices.

• Coordinate transformation - Can map from one set of coordinates to another. Most common method is matrix based. One special case of this is the Denavit-Hartenrberg transformation.

#### 18.1.2 Kinematics • Forward kinematics involves finding the endpoint of the robot (xT, yT) given the joint coordinates (theta1, theta2)

• There a number of simple methods for finding these transformations,

- basic geometry

- transformation matrices

- Denavit-Hartenberg transformations

##### 18.1.2.1 - Geometry Methods for Forward Kinematics

• For simple manipulators (especially planar ones) this method is often very fast and efficient.

• The method uses basic trigonometry, and geometry relationships.

• To find the location of the robot above, we can see by inspection, • The problem with geometrical methods are that they become difficult to manage when more complex robots are considered. This problem is overcome with systematic methods.

##### 18.1.2.2 - Geometry Methods for Inverse Kinematics

• To find the location of the robot above, we can see by inspection, • Mathematically this calculation is difficult, and there are often multiple solutions.

#### 18.1.3 Modeling the Robot

• If modeling only one link in motion, the model of the robot can treat all the links as a single moving rigid body, • If multiple joints move at the same time, the model becomes non-linear, in this case there are two approaches taken,

1. Develop a full non-linear controller (can be very complicated).

2. Develop linear approximations of the model/control system in the middle of the normal workspace.

### 18.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.”

#### 18.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?  ##### 18.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.

##### 18.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, #### 18.2.2 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, ### 18.3 Practice Problems

1.

a) A stepping motor is to be used to actuate one joint of a robot arm in a light duty pick and place application. The step angle of the motor is 10 degrees. For each pulse received from the pulse train source the motor rotates through a distance of one step angle.

i) What is the resolution of the stepper motor?

ii) Relate this value to the definitions of control resolution, spatial resolution, and accuracy, as discussed in class.

b) Solve part a) 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.

2. A stepping motor is to be used to drive each of the three linear axes of a cartesian coordinate robot. The motor output shaft will be connected to a screw thread with a screw pitch of 0.125”. It is desired that the control resolution of each of the axes be 0.025”

a) to achieve this control resolution how many step angles are required on the stepper motor?

b) What is the corresponding step angle?

c) Determine the pulse rate that will be required to drive a given joint at a velocity of 3.0”/sec.

3. For the stepper motor of question 6, a pulse train is to be generated by the robot controller.

a) How many pulses are required to rotate the motor through three complete revolutions?

b) If it is desired to rotate the motor at a speed of 25 rev/min, what pulse rate must be generated by the robot controller?

4. A stepping motor is to be used to actuate one joint of a robot arm in a light duty pick and place application. The step angle of the motor is 10 degrees. For each pulse received from the pulse train source the motor rotates through a distance of one step angle.

a) What is the resolution of the stepper motor?

b) Relate this value to the definitions of control resolution, spatial resolution, and accuracy, as discussed in class.

5. Find the forward kinematics for the robots below using geometry methods. 6. Consider the forward kinematic transformation of the two link manipulator below. a) Given the position of the joints, and the lengths of the links, determine the location of the tool centre point using basic geometry.

b) Determine the inverse kinematics for the robot. (i.e., given the position of the tool, determine the joint angles of the robot.) Keep in mind that in this case the solution will have two different cases.

c) Determine two different sets of joint angles required to position the TCP at x=5”, y=6”.

d) What mathematical conditions would indicate the robot position is unreachable? Are there any other cases that are indeterminate?

7. 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. 8. 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.

9. Consider the following motion planning problem.

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.

10. We are designing motion algorithms for a 2 degree of freedom robot. To do this we are developing sample calculations to explore the basic process.

a) We want to move the tool in a straight line through space from (3”, 5”) to (8”, 7”). Develop equations that will give a motion that starts and stops smoothly. The motion should be complete in 1 second. b) Find the velocity of the tool at t=0.5 seconds. c) Plot out the tool position, joint positions and velocities as functions of time.

11. Why do robots not follow exact mathematical paths?

12. We are designing motion algorithms for a 2 degree of freedom robot. To do this we are developing sample calculations to explore the basic process. We want to move the tool in a straight line through space from (8”, 7”) to (3”, 5”). Develop equations that will give a motion that starts and stops smoothly. The motion should be complete in 2 seconds. Show all derivations.

13.