General Purpose Simulator for Robot Manipulator Kinematics and Visualization
Our simulator environment is intended for flexible testing and implementation of neural network control methods, e.g., to test the sensor-based motion planning approach we developed on our pneumatic robot system. Furthermore, the simulator allows one to define arbitrary camera positions and to visualize the robot motion in 3D. The design of the robot simulator is based on parallel distributed processing and socket-based interprocess communication which allows the different modules of the simulator to run in parallel on a network of workstations. The Figure below outlines the simulator, together with all its modules and communication paths. The robot controller, in our case a Topology Representing Network with the sub-modules for vector quantization, competitive Hebbian learning and diffusion-based path planning, supplies the path plan and the corresponding control signals to execute the plan. The actual robot simulator, on the right side of the Figure, includes the kinematic model of the PUMA, the Geomview package as graphical front-end and vision processing subroutines for detecting gripper and obstacles.
The kinematics we employ for our simulations is based on the PUMA 562 industrial robotic manipulator, a 6-degree of freedom robot arm with a two-fingered gripper. The forward kinematics for the manipulator is calculated by a PEARL program which also handles the communication to and from the neural network controller as well as the data transfer between Geomview and the vision processing. Visualization of the robot arm is based on Geomview, a public domain 3D visualization software. Although it is possible to query Geomview for the position of the robot geometry in `world coordinates', we chose to use the Geomview camera frames as basis for vision processing. This emulates the situation we encounter for an experimental robotic setup where we would like to avoid any calibration tasks for the kinematic or vision parameters and solely rely on sensor feedback to generate the motion plan. Furthermore, the modular design of the simulator allows the kinematics subsystem to be replaced by a real robot.