Maximum velocity control is an attempt to minimize motion time. As described earlier, the use of velocity and acceleration limits are compromises used by designers to avoid more complex control, and planning schemes that are non-linear. The maximum velocity method, in particular, involves determining the distance to the target, and then taking steps (at the maximum velocity) toward the target joint angles. This method will be used for proof of the basic (“Neural Networks for Control”) concept, but the maximum velocity controller could not be used for ‘real’ problems because it requires infinite acceleration at the path endpoints.
A maximum velocity controller uses an unrealistic form of control. It requires that a motion be made by suddenly turning the velocities on fully, until the robot reaches the goal, and then suddenly turning off the velocities.
The obvious problem with this method is that, the sudden switching of velocity requires infinite accelerations. Infinite accelerations would require infinite torques. Thus, this method may not be applied to actuators for direct control, but it could be used to generate velocity set points for a feedback control system.
As is shown, this control method would only require that some knowledge of the difference between the goal and the target be known, then the velocity could be set to its maximum, or minimum limit. The major complication arises when attempting to apply this scheme to a discrete time step controller.
A robot will approach the goal position at full velocity, and stop when it reaches the goal position. In a discrete time step system, the controller must base its decisions upon brief samples of the system state. The result can be oscillations about the goal, as in this simple case,
There are two approaches to solving the oscillation problem. The first is to make the controller steps very small, so that the oscillations become very small. A second approach is to reduce the velocity, below limits, for the last step of the controller, so that the controller may estimate the final step precisely. Both approaches introduce a time step dependance to the controller. If the second scheme is used, and the time step of the system is varied, the controller may still oscillate, but the vibration will tend to die out. The first method requires such short time steps that it is impractical, thus the second method will be used.
If the last step has a magnitude below maximum to allow the robot to slow down near goals, then the effect of a time step change must be considered. If the system time step increases the robot will oscillate about the goal. Then the oscillations will tend to die out, or at worst oscillate indefinitely. If the step size is decreased, the robot will slow down before it has reached the goal.
The previous two cases require a minimum of position and target feedback. In a more sophisticated approach, this feedback could be augmented by a velocity feedback, which would allow the network to grade the acceleration (and thus reduce the jerk). If this were done the manipulator would move at maximum velocity throughout the path, but use a reduced velocity at the start and end of the trajectory.
All the methods shown are time dependant. The degree of time dependance varies. Case A requires knowledge of how large the last time step will be. Case B will require that, the entire path be planned to fit an integer number of time steps, thus every step depends upon the time step duration. Case C requires the last time step be known. It also requires that the first and last time steps are determined together. Case A is best when dealing with the neural network setup. Both other cases require consideration of the time step, for steps other than those near the goal.
When considering motions of many joints, one joint often moves in less time than the other. One joint may be slowed so that both joints finish in unison. This means that the motion of one joint will become time dependant on the other joint. A method that makes the joint motion independent will be called Least Time Finish. In this approach the joints are controlled separately to obtain a least time finish.
If the joints experience a unison (simultaneous) finish, they will result in reduced stresses in the robot. But, for the test case it is desirable to reduce the complexity of the system. Thus, the robot controller will be using Least Time Finish, with separate joint motion plans for each joint.
The inputs for the Maximum Velocity Neural Network Controller are the difference between actual position at step ‘k’, and desired joint positions. The outputs were the desired joint velocities after step ‘k’.
The training set was developed, as discussed in earlier chapters, and the network was trained. Please note that a training and a testing set were generated using the velocity profiles (described earlier in this chapter for generating the optimal path), and the set generation methods of the previous chapter to find sets of points. One interesting development was noted. The network had trouble converging to a reliable solution when it was not ‘taught to stand still’. This meant that the example paths required a few points in space for which the manipulator stood still. Thus, when the optimal paths were calculated, a few time steps were included after the network had successfully reached the goal position.
After the training and testing sets were generated, the network was trained in 30,000 iterations, with a training set of 525 sample points. The network was also tested with a set of 511 test points. A graph of the RMS and average errors, as the network converges, is shown below.
As can be seen, the convergence measures have leveled off. The close match between the training, and the test sets shows that the network has generalized as well. Although, it should be emphasized that since the network is finding a general estimate, the results will not be exact. The average errors were almost zero for each set, while the R.M.S. error was about 2 °/sec. This indicates that the errors tend to vary about zero error, with a scatter up to about 3°/sec.
Now that some confidence has been obtained, for the convergence of the neural network, it is possible to evaluate its ability to estimate the control values. This will be done using a set of ten pairs of endpoints randomly chosen from the original list of 580 endpoint pairs. The same list of path endpoints will be used for all tests, and may be seen in the table below,
To show the controller’s ability to follow the paths, the ideal solutions, generated by the algorithm, are shown first. Then, the neural network solution will follow. This particular example required about 200 time steps, of 0.1 seconds.
Although joint 2 does not move (and is hidden along the 0 degree axis), joint 1 is visible. As seen from this first sample path, the neural network has matched the ideal solution quite closely. The table below summarizes the results from the comparisons.
The paths were arbitrarily determined to have reached the goal when both joints were within 0.1 degrees of the final goal. The network, and the algorithm were both used with a time step of 0.05 seconds. As can be seen the neural network will provide maximum velocity paths as good, or almost as good as the ideal paths. The other graphs may be seen in the following pages, before the end of this chapter.
These results show that the neural network is very capable, when dealing with simple control approaches. The next requirement is to examine the neural network under the influence of some knowledge about the system state. In particular, the Maximum Acceleration Controller must use system velocity, and the distance to the goal, to determine when acceleration should be applied.