The process of educating students in new and existing technology is an expensive undertaking, requiring investments in machinery, maintenance, training, and facilities. Ultimately, the advance of technology renders this investment obsolete, demanding the replacement of complete systems in order to stay current; any prior investment is effectively wasted. In Engineering Science, the rapid advance in engineering technology combined with increasing class sizes make it difficult to provide adequate access to the latest technology; even if the latest technology is purchased, it may not be enough to allow equal access to all students.
One possible solution to this problem is to provide students with a mechanism to perform experiments “virtually”, through software simulations and/or remotely accessible experiments. Software simulation has the advantage that software can be designed to be configurable: one piece of well-designed simulation software could provide training for several different pieces of related equipment, such as different types of CAD/CAM machinery. Remote experimentation has the advantage that it provides students with greater access to available resources, and allows students to work with the actual equipment, rather than just a simulation.
About the Project
The REMOTE project, headed by Dr. John Dill at Simon Fraser University, is currently combining both software simulation and remote experimentation into a single solution to the problem of providing access to equipment for his ENSC 489 course. The purpose of the REMOTE project is to create an application which students can use to simulate programming a SCORBOT ER-III robot. Once students are satisfied with their complete programs, the application will allow them to upload the completed simulation program to the real manipulator via the Internet, and watch the execution of their program using streaming Internet video technology.
For my undergraduate thesis, I developed one half of the REMOTE project: a simulation application for a simple, open-chain robot. The completed application allows users to create and edit files containing commands to control the simulated robot, and run a simulation. Running a simulation updates both the 3-dimensional representation of the robot’s motion, and the display of the robot’s joint positions in accordance with the user’s program.
Although the REMOTE project only requires a simulator for the SCORBOT ER-III manipulator, the final simulation application is flexible enough that it can be reconfigured to simulate other similar robots. The configuration details for the robot manipulator itself are contained in external configuration files; in the future, a new robot manipulator can be simulated by simply creating a new set of configuration files, without requiring changes to the simulator’s code.
The bulk of this thesis describes the design of a simple, flexible architecture for the simulation of an open-chain robot. This simulation architecture provides developers with the opportunity to easily extend the current simulation engine’s abilities, without requiring modifications to the simulation engine code itself. In the event that developers need to add substantial new abilities to the simulator, the simple design of the simulation engine’s architecture will make it easy to modify the simulation engine to incorporate these new abilities.