|
The Articulated Robot Controller (ARC) is a software application designed to be a teaching tool for instructors of the Industrial Technology Department at Southeastern Louisiana University. ARC provides control of the Industrial Technology Department’s array of articulated robots. Phase 1 (September 2004 - December 2004) Entails construction of the Mainframe application and interface to control the Saturn 5 robot. Development Crew: Phillip Jackson, William Wayne, Jeff Bentivegna and Todd Scheurich. |
|||
|
|
|
|
|
|
Main
Application
The main application window is known as the Mainframe, this same Mainframe is the programming interface for all the robots ARC is used to control. This gives the user a solid and familiar interface no matter which robot they are programming.
The robot's native high-level programming language
is called Machine Control Language (MCL). For ARC we created "Actions"
which are MCL robot instructions and MCL programming structures in
descriptive language. Actions are stored and organized in the Library.
To make a program, actions are queued up in the Action List. The
Action's parameters are specified in the Action Parameters
Panel along the bottom. This panel also displays
usage and parameter information about actions in the Library or Action
List. The actions in the Action List are translated into MCL code
for compilation.
|
||
|
|
||
|
Development
Diagrams The Mainframe is used for all robots, but in order to interface with each robot, a different set of modules must be created in order to communicate and control each robot. Because the same Mainframe is used, communication between each swappable robot module and the unchanging Mainframe must be standardized so the Mainframe need not know which robot or robot module it is interfacing with. This way a new robot module can be created and plugged in, without any modification to the Mainframe. ![]() Figure 2 - Diagrams In order to do this efficiently, Class Structure and Module Communication diagrams were used to coordinate dependant module development. The diagrams were able to quickly convey the interaction and restriction of modules; thereby, allowing developers to make independent design decisions regarding their portion of the project without risking design destruction or module overlap. The design of the Saturn 5 component of ARC will serve as a blueprint to build the other Mainframe-to-robot interface components. |
||
|
|
||
| Terminal
/ Controller Interface Each robot has a hardware controller supplied by the robot manufacturer, which serves as the hardware interface to the robot. The robot-specific portion of ARC, the robot modules, is the liaison between the Mainframe and the robot's hardware controller. Though all the robot modules look the same from the Mainframe side, each robot module created is unique, with its own communication challenges to overcome. In order to overcome these, the control configuration of that robot must be analyzed. The control configuration of the Saturn 5 robot is shown below.
Figure 3 - Saturn 5 Control Config
Figure
4 - Saturn 5 Robot
The Saturn 5 communication module talks to the robot's hardware controller through the serial port. There is chatter in both directions, as the hardware controller responds back to the ARC terminal with summary information regarding actions performed and the robot's current state. |
||
|
|
||
Robot
Modules: Saturn 5 The robot-specific modules include the Virtual Pendant (keypad, bottom left), the 3D Simulation (top left), and the Robot Communication module (back-end). The Virtual Pendant and the Simulation are displayed in the far left column of the application and can be hidden or made visible as desired. Figure 5 - Mainframe with Pendant & Simulation
The Virtual Pendant is designed to be identical to the actual Saturn
5 Pendant in form and function; including the menu display and interaction.
This allows seamless transition from the Virtual Pendant to the real
one.
The 3D Simulation is rendered in OpenGL and shows robot movement in response to Virtual Pendant commands. The presence of the simulation allows students to gain experience and confidence in controlling the robot without risking damage to the robot itself, or machines around it. In a classroom of many students, it allows all students to simultaneously mimic instruction from a professor without having to, for example, take turns physically using the actual robot pendant. It facilitates interactive instruction en masse, and allows student-to-robot familiarization at an unprecedented level, without financial risk. The Communication module must handle all traffic to and from the Virtual Pendant and the Simulation, as well as the 4 major standardized functions required by the Mainframe: Connect Disconnect Compile Run If ARC is connected to the robot's hardware controller, then Virtual Pendant will control the physical robot and function as the physical pendant would. If not connected, then it no longer has interaction with the hardware controller, and therefore the physical robot, but will still control the simulation. |
||
|
|
||
Direct
MCL Programming The Articulated Robot Controller is primarily a teaching tool, and has the goal of educating its users in direct MCL programming. Though ARC was created to replace the manufacturer's application which was a simple text editor for direct MCL robot programming; providing direct MCL programming is not the flaw of the manufacturers application. Its flaw is that its learning curve is so steep it intimidates even those familiar with computer programming. Figure 6 - OEM Software For those experienced in MCL programming, a simple text editor is a powerful method of robot programming, but for those unfamiliar with MCL, the above screen is utterly useless. ARC's Action List and Library lower knowledge one must possess before beginning to program the robot, but once experienced, using the Action List quickly becomes cumbersome. In order to guide users from the Action List to MCL source code, ARC's Source Editor is used. Figure 7 - Full Mainframe Managed Mode Unmanaged Mode |
||
|
|
||
| Summary The Library allows the user to quickly assess the robot’s capabilities and more intelligently select a set of actions to complete the desired task. The Action List allows the user to see the desired actions in clear, plain language and decreases the possibility of confusion due to computer programming lingo or structure that is foreign to them. This allows the user to maintain their focus on the larger goal of completing the desired task, without getting lost in the details. The Virtual Pendant allows direct control of the robot and the 3D Simulation allows user to practice robot control and gain confidence before actually interacting with the robot. Finally, the Source Editor allows the user to code MCL source directly and once familiar with the interface, the user can migrate effortlessly to programming a different robot. The Mainframe is functional, as is the Saturn 5 robot module, and development of the Articulated Robot Controller will continue in the spring semester of 2005. This will include polishing of the interface and the addition of modules for each of the robots in the Industrial Technology Laboratory. |
||
©2004
Phillip Jackson Rampant CodeCraft Blog
Title-banner 'gear' by Erik, Portions of Figure 3 by Everaldo |