9. Chapter 8: Maximum Acceleration Motion Planner
Unlike the Maximum velocity controller, the maximum acceleration controller is more realistic, although compromises are still made in the name of simplicity. The possibility of a velocity constraint in the actuator is ignored in favor of acceleration. The accelerations are also assumed to be limited by a constant maximum, and minimum, which is linear over the workspace. As mentioned before this is an approximation based on the weakest configuration case for the manipulator. The manipulator acceleration limits will vary as the state of the manipulator changes.
A major benefit of the maximum acceleration controller is that over long paths, the manipulator may gain a lot of speed. This case will be realized by a control scheme that does not consider the jerk. Ignoring the maximum jerk may result in slip of electric motors, and excessive wear on mechanical parts. A large jerk could also cause a payload to slip from the gripper (as could large accelerations and velocities).
Many of the same conditions used for this case were used for the maximum velocity controller. This includes the fixed time step constraints, and joint motion finish in least time. This will allow joint motion to be treated independently. This problem is more complex than the maximum velocity planner because it requires a feedback for part of the system state (i.e., velocity).
When maximum acceleration is used for a motion constraint, the path tends to take on a smooth S-shape, where the initial/final parts of the motion have a smooth start/end. The S-shape results because the acceleration is on fully for the first portion of the motion. The acceleration then fully reverses for the second portion of the motion. The effect is a velocity profile that has a triangular shape.
Figure 9.1 Figure 8.1: Velocity and Acceleration for Maximum Acceleration Motion
Figure 9.2 Figure 8.2: Position Diagram for Maximum Acceleration
When attempting to plan motions with Maximum Accelerations, it is useful to consider the velocity profile. The planner must know when the acceleration is to be switched from acceleration to deceleration. For this particular case the switching point is at the midpoint between the start and stop. It is also possible to plan this path by observing the current velocity, and the distance from the target. These may be used to suggest the velocity that will move the manipulator toward the goal.
The requirement for an integer number of steps causes some problems. If a path is not set up to complete the path motion in an integer number of steps, then the acceleration of one or more steps must be adjusted. This will make the profile fit within an integer number of steps. The velocity slope (i.e., acceleration) may be adjusted at several times during the motion. In particular the points of interest are at the motion start, stop and acceleration reversal at the motion midpoint.
When adjusting the velocity profile to obtain an integer number of time steps, all the points of interest should be adjusted. This will result in a smoother function for the neural network to learn, and improve training time and convergence. The rounded corners will allow the controller to reduce the jerk of the motion, while maintaining optimum time.
Unlike the Maximum Velocity controller, the Maximum Acceleration controller is affected by the number of motion time steps. The number of steps may be even or odd, and this affects the shape of the Velocity curve.
The velocity profiles may be developed, as they were for the maximum velocity profiles. A greater number of cases are possible for the maximum acceleration, these will be shown and discussed. A simple case of corner rounding is shown in Case A. This case is also shown with some of the variables, and equations of interest. The centre of the path has a high jerk, but the jerk has been smoothed near the start and stop points.
Figure 9.3 Figure 8.3: Case A: The first and last time steps are scaled to match the stop point.
Case B is the complement to Case A, the corner rounding occurs at the inflection point for the path. Thus, jerk caused by sudden deceleration is now reduced, but the start and stop jerks are left unchanged.
Figure 9.4 Figure 8.4: Case B: Smooth Midpoint Inflection.
An entirely different approach may be observed in Case C where the velocity along the entire curve is reduced. This does not reduce the effect of the jerk very much.
Figure 9.5 Figure 8.5: Case C: Reduced Velocity.
Case D takes an undesirable approach in which the acceleration is reduced during the first part of the motion, but it approaches the goal at maximum deceleration.
Figure 9.6 Figure 8.6: Case D: Acceleration Hybrid Case.
Case E has the same problem as Case D, except that the acceleration is reduced during the last stages of motion.
Figure 9.7 Figure 8.7: Case E: Acceleration Hybrid Case.
Case F takes a different approach by having a skewed function after the inflection point. This approach is very difficult to quantify, because of problems with matching up curves. Case G has similar problems.
Figure 9.8 Figure 8.8: Case F: A Reduced Inflection with an odd number of steps.
Figure 9.9 Figure 8.9: Case G: The Inverse of Case E
The ideal cases, which use many of the best features of the other cases are shown below. Both use corner rounding, and when combined they will allow consideration of cases that use both even and odd numbers of steps.
Figure 9.10 Figure 8.10: Case H: Smoothed start and inflection points (even numbers of steps)
Figure 9.11 Figure 8.11: Case I: Smoothed start and inflection (odd numbers of steps).
These two cases may serve as the basis for the maximum acceleration motion in discrete time steps. Thus, two cases are shown below with more detail, and both will be called Case 1 and Case 2, henceforth.
In Case 1 the solution is shown for the motion when an even number of steps is required.
Figure 9.12 Figure 8.12: Case 1: Optimal Path (even numbers of steps)
The derivation for this case is displayed. As can be seen the derivation is based on simple geometry. The idea present in this derivation may be carried forward to the next case.
Case 2 shows the Velocity profile that must be used when there are an odd number of steps. It should be noted that both the first and second cases have symmetry and corner rounding.
Figure 9.13 Figure 8.13: Case 2: Optimal Path (odd numbers of steps).
The maximum acceleration controller will produce an output of acceleration. To formulate the acceleration, the velocity and the distance left to be travelled will be required. Thus, the distance to target, and velocities will be inputs to the system.
Figure 9.14 Figure 8.14: Maximum Acceleration Controller for Robot
The training set was developed for this controller, in the same manner as the maximum velocity controller, and then the controller was trained. There were a total of six time steps added to the end of every path to allow some examples of the manipulator standing still. The paths were also formulated with Least Time Finish for the joints. Thus, the joint motions were still decoupled for this case.
The network was trained with 476 data points, randomly chosen from the optimal paths of the list of 580. The network was also tested with a set of 472 points, also derived from the same set of paths between the 580 paths. The Average and RMS errors, during training, are shown in the graph below.
Figure 9.15 Figure 8.15: Training Convergence for Maximum Acceleration Network
The graph shows a high degree of convergence for the network. The average error is seen to be about zero degrees. The RMS error has settled below 2 degrees, which is better than what the Maximum Velocity Neural Network obtained. These results show that the network has converged and generalized.
Figure 9.16 Figure 8.16: Neural Network Convergence Statistics
One of the test paths for the manipulator is shown below. The path shown demonstrates the S-shape.
Figure 9.17 Figure 8.17: Comparison of Algorithm and Neural Network for Test Path 1
The path for joint 2 is not seen, because it is constant at zero degrees. This motion will show the results when only a single joint is in motion. The results from the neural network are also shown.
This motion shows that the network is capable of producing a motion with the maximum acceleration constraint. This motion also occurs in a time which is close to the best time available with the algorithm. This case may also be seen to occur in the other cases.
Determining the path time was complicated for the Maximum Acceleration Controller. This was due to a tendency to overshoot the goal occasionally, particularly on long paths. Thus, it was decided to declare a path complete when the joint positions were within 1.0 °, and the accelerations were less than 1.0 °/s2. The Neural Network planners tended to have a steady state error, which may be observed in the graphs at the end of this chapter.
Figure 9.18 Figure 8.18: Path Times for Test Paths
The Neural network paths were found using a system time step of 0.05 s, resulting in a few hundred time steps.
The results seen in Test Case 1 prove that the neural network is able to build an internal model of this controller and apply the model. The graphs of the remaining test cases follow.
As can be seen in test cases 5 and 10, the Maximum Acceleration controller has a tendency to overshoot when handling the more complex problems over long distances. The point in time at which the deceleration begins is very critical. Small errors in the choice of the deceleration point lead to sub-optimal paths. Sometimes the difference is not very large and in others the difference is significant.
The next logical step is to determine if the network can deal with a problem that has coupling between the two joint motions. This problem is logically the Maximum Joint Torque Constraint.
Figure 9.19 Figure 8.19: Comparison of Algorithm and Neural Network for Test Path 2
Figure 9.20 Figure 8.20: Comparison of Algorithm and Neural Network for Test Path 3
Figure 9.21 Figure 8.21: Comparison of Algorithm and Neural Network for Test Path 4
Figure 9.22 Figure 8.22: Comparison of Algorithm and Neural Network for Test Path 5
Figure 9.23 Figure 8.23: Comparison of Algorithm and Neural Network for Test Path 6
Figure 9.24 Figure 8.24: Comparison of Algorithm and Neural Network for Test Path 7
Figure 9.25 Figure 8.25: Comparison of Algorithm and Neural Network for Test Path 8
Figure 9.26 Figure 8.26: Comparison of Algorithm and Neural Network for Test Path 9
Figure 9.27 Figure 8.27: Comparison of Algorithm and Neural Network for Test Path 10