Development of a learning system for robot control - Leong, Marcus Khee Ing (Nanyang Technological University, 2020)
In recent years, robot manipulators are gaining popularities and become increasingly important in many fields such as manufacturing and logistic sectors. In order to control the robot manipulators, engineers or professionals with technical knowledge are required to carefully model and identify the kinematic model of the robot manipulators. This project aims to develop a learning algorithm that can learn the Jacobian matrix of the robot with the use of neural network and control the end-effector to follow a predefined trajectory without modelling the robot kinematics. An industrial robot manipulator UR5e was used in this project. To ensure safety, the learning algorithm was first tested on a simulator, URSim before implementing on the UR5e. Furthermore, to illustrate the performance, two different optimization methods (incremental algorithm and gradient descent) are used to update the weights of the neural network. These optimization methods are tested and compared based on the regression task (approximating the Jacobian matrix) and the classification task on MNIST dataset. The neural network is trained with joint angle and joint velocity as inputs, while the target is to predict the end-effector velocity. Since the kinematic model of UR5e is assumed to be unknown, the end-effector position is detected by using an external sensor (Kinect for Windows 2012) and ArUco marker. The joint angles and joint velocities are obtained from the UR5e controller. The neural network is first trained offline and online before it is tested with a different trajectory. After training, the learning algorithm is tested on another desired trajectory position which is shifted to a different plane with a different speed. Comparisons of learning algorithms with and without updating the neural network weights are also made.