## Buchal, R.O., ElMaraghy, W.H., Jack, H., and Lee, D.M.A., “Intelligent Robot Motion Planning and Control”, IRIS-PRECARN First Annual Conference, Vancouver, B.C., January, 1991.Neural Networks for Robot Motion Planning and Control ## Introduction:Time is an important consideration in planning robot motions. However, in most cases the problem of finding a time optimal robot motion involves an indeterminate solution. Thus, in spite of years of diligent research the motion planners have tended to fall into three categories. Figure 1.1: Robot used as test case for this work Unfortunately, as the motion approaches the optimum, there is an increase in computation time, and the dependence upon mathematical techniques. There are generally three main problems in motion planning. (i) Determining and optimal Path. (ii) Determining an optimal Trajectory (iii) Determining an optimal Path and Trajectory combination (i.e., an optimal motion plan) Many authors have proposed excellent solutions to all of these problems. For example, the configuration space method of Lozano-Perez [1983] and the Generalized Cones method of Brooks [1983] can find geometrically good paths, using the shortest path length to approximate shortest time. On the other hand Bobrow et al. [1983] propose a method for finding the time optimal trajectory plan for a given path. Although none of this work addresses the problem of finding the optimal motion. An optimal motion is a compromise between the best trajectories and paths. Thus, optimal motions are often approached with some form of optimization technique. An example of this is Buchal et al [1989] who represented a motion as a set of points in space and time. They directly optimize the points for minimum time while avoiding collisions, joint torque limits, and joint angle limits. Previously, optimization methods failed on the basis of excessive computation time and complexity. These features have prevented optimal motion planners from being more than just an academic curiosities. It was recognized that neural networks may overcome the problems with optimal motion planners. This is not to say that they will replace motion planning methods, but will serve to enhance them. The features which make neural networks particularly attractive are, They are fault tolerant (loss of neurons will not stop the computer) Their operation speed is very high because of the parallel architecture They can learn an approximate model for a problem without construction of a formal model (learning requires a few good examples of inputs and expected outputs) Neural Networks can generalize to solutions never learned. We have found that neural networks have been able to work in real-time to produce good estimates of the optimal motions. The basic procedure used in this research [Jack, 1991] has been, 1. Find a large number of optimal motions for the robot. 2. Choose some examples from the motion. 3. Train the network to estimate optimal motions. 4. Test the neural network performance against a set of motions not used to train the neural network. ## Finding Optimal Robot Motions:A new approach was used for finding optimal robot motions. This approach used Bezier spline segments to model the motion, and optimization techniques to reduce the motion time. The spline was set up to represent the joint positions at various path times. The spline was set up to represent various joint positions at various path times. The optimization routines adjusted the spline points to adjust the path shape. The optimization algorithms adjusted the segment durations to alter the trajectories along the path. The optimization routines used were a Hookes and Jeeves search [Siddall, 1982] and a Random Walk search. The Hookes and Jeeves search is a pattern search algorithm which searches rapidly, but experiences difficulties in highly constrained problems, like the motion planning problem. The Random Walk search tends to overcome constraints, but converges slowly. Thus, both searches were used repeatedly to move toward the global optimum. The results for optimizing a number of unique robot motions about the workspace may be seen later in figure 1.3. The reader should note that the results from the optimization are not necessarily located at the global optimum. But, this was considered irrelevant because the neural network was being evaluated for its ability to estimate the solution to be produced by an optimization routine. ## A Neural Controller:After 100 unique motions had been found with the optimization routines, points were randomly chosen from all of the motions. These points were made up of, joint angles to goal positions, and, These were used to train the neural network, for operation as seen in figure 1.2. The training of the neural network took a few days on a Sun-4 computer. The neural network was feed forward using sigmoidal activation functions, and the backpropagation learning algorithm. There were 20 neurons used in a single hidden layer. When training was complete, the network was tested using the same points used for testing the optimization routines. The test cases were a different set of motions, not used in the training data. The final results are seen in figure 1.3. The reader should also note that the outputs of the neural network were scaled to their maximum torque limits, unless they were near zero. These results also appear in figure 1.3. ## Results:The reader will note (in figure 1.3) that the scaled outputs of the neural network yielded very good results. In many cases the path times were within 10% of the optimized path time. There were two notable cases. In Case #1, the neural network was able to produce a motion time better than the optimization routines (thus indicating an optimization problem). The results in Case #5 were very poor. A brief summary of conclusions (with no explanation) which appear in Jack [1991] appear below. (i) The network solution degrades near the edge of the workspace training regions. (ii) Longer motions allowed errors to accumulate, thus reducing quality. (iii) The neural network always moved to the goal position, even in the worst cases. (iv) Poor results from the optimization did not stop the neural network from learning a good estimation. (v) The neural network software could run faster than any comparable non-linear controller (vi) The neurons and the network are much simpler than many optimization techniques. Figure 1.3: The results for Optimization, and Neural Network test motions. ## References:Bobrow, J.E., Debowsky, S., and Gibson, J.S., 1983, “On the Optimal Control of Robotic Manipulators with Actuator Constraints”, 1983 Proceedings of the American Controls Conference. Brooks, R.A., 1983, "Planning Collision-free Motions for Pick-and-Place Operations", The International Journal of Robotics Research, Vol. 2, No. 4, pp. 19-44. Buchal, R.O., and Cherchas, D.B., 1989, “An Iterative Method for Generating Kinematically Feasible Interference-free robot trajectories”, Robotica, Vol.7. Jack, H., “Application of Neural Networks to Robot Motion Planning and Control”, Masters thesis at the University of Western Ontario, January 1991. Lozano-Perez, T., 1983, "Spatial Planning: A Configuration Space Approach", IEEE Transactions on Computers, Vol.c-32, No.2. Siddall, J.N., 1982, “Optimal Engineering Design”, Marcel Dekker Inc., New York. ## 1. Fore Mater## 2. Chapter 1: Introduction## 3. Chapter 2: A Review of Robot Motion Planning## 4. Chapter 3: Artificial Neural Networks## 5. Chapter 4: A Survey of Neural Network Applications in Robotics## 6. Chapter 5: A Simple Robot Model## 7. Chapter 6: Feed Forward Neural Networks for Motion Planning## 8. Chapter 7: Maximum Velocity Motion Planner## 9. Chapter 8: Maximum Acceleration Motion Planner## 10. Chapter 9: Splines for Motion Modelling## 11. Chapter 10: Finding Near Optimal Robot Motions## 12. Chapter 11: Near-Optimal Motion with Bezier Splines## 13. Chapter 12: Maximum Torque Path Planning## 14. Chapter 13: Maximum Torque with Scaled Neural Network## 15. Chapter 14: Discussion and Conclusions## 16. Appendix A: Kinematics of a Two Link Revolute Manipulator## 17. Appendix B: Dynamics of Two Link Manipulators## 19. Appendix C: Neural Network Subroutines## 21. Appendix D: Adaptive Time Step Runge-Kutta## 23. Appendix E: Global Definitions for Software## 25. Appendix F: Dynamics Module## 27. Appendix G: Hookes and Jeeves Optimization Modules## 29. Appendix H: Path Optimization Subroutines## 31. Appendix I: Neural Network Motion Planning Modules## 33. Appendix J: Path Planning Function Module## 36. Appendix K: Neural Network Batch Training Program## 38. Appendix L: User Interface Program## 40. References## 1. Fore Mater## 2. Abstract## 3. Aknowlegements## 4. Nomenclature## 5. Glossary## 6. Introduction## 7. Process Planning## 8. Product Modelling## 9. A Review of AI Planning Techniques## 10. Planning to Find Manufacturing Processes## 11. Operation Planning## 12. Test Cases## 13. Conclusions## 14. Future Work## 15. References |