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