Enabling Affordable Industrial Robotics Education through Simulation
Author(s) -
Scott Kuhl,
Aleksandr Sergeyev,
James Walker,
Shashank Barkur Lakshmikanth,
Mark Highum,
Nasser Alaraje,
Ruimin zhang,
Mark Kinney
Publication year - 2016
Language(s) - English
Resource type - Conference proceedings
DOI - 10.18260/p.26949
Subject(s) - robotics , outreach , artificial intelligence , robot , computer science , software , educational robotics , software engineering , industrial robot , robot end effector , engineering management , engineering , programming language , political science , law
Existing industrial robot training software is often too expensive for schools to provide for students or for students to acquire on their own. For example, high schools and community colleges may want to provide students with a basic level of experience with programming industrial robots. If the software is accessible and free, such training software could provide a platform for anyone to learn more about industrial robotics. In this paper, we describe the development of RobotRun , a software package that simulates an industrial robot and teach pendant controller. The software allows students to practice basic programming tasks which control the movement and function of the robot. When completed, this open-source program will be suitable for use in high-school outreach activities and in any degree program which focuses on industrial robotics such as twoor four-year Electrical Engineering Technology programs. RobotRun was written in the Java programming language by two students over the course of a summer. It provides a 3D view of a robotic arm, allows the use of diferent end efectors, and will eventually be used to simulate diferent factory environments and processes. In addition, the system allows students to learn about controlling the end efector in diferent coordinate frames and programming paths that the robotic arm should follow. The teach pendant controller resembles real teach pendants and therefore provides students with a learning experience that can be transferred to real-world industrial robotics applications. This project is a part of a larger collaboration between Michigan Technological University and Bay de Noc Community College which aims to develop curricula and training materials to supplement the RobotRun software. Background & Introduction Providing K-12 students and others in the workforce the tools necessary to easily learn robotics can help support the goal of improving student access to STEM-related ields and careers. There have been many publications, initiatives, and projects which have aimed to increase robotics education among students. Many of these research projects are aimed at applications such as mobile or personal robots1–5 instead of the practical skills necessary to operate and program industrial robots. Educational experiences with industrial robotics can help train students to develop skills necessary for some jobs, and also give them a wider knowledge of robotics, programming, problem-solving techniques, mathematical principles, and cooperative learning. This paper describes the development of a free, open-source tool, called RobotRun which aims to help meet this need for industrial robotics training. This project is funded by the National Science Foundation and is a collaboration between Michigan Technological University and Bay de Noc Community College. Other parts of the project, outside the scope of this paper, include the development of training and curriculum materials that can be used by teachers to learn how to efectively teach robotics concepts using our software. Existing software for industrial robotics remains expensive and cumbersome for many educators to use. For example, a high school teacher who wants to expose their students to basic concepts related to industrial robotics control might have to buy software that costs hundreds or thousands of dollars for a small number of licenses such as RoboLogix (Logic Design Inc.),6 ROBOGUIDE (FANUC),7 and RobotStudio (ABB).8 Other free and open-source educational robotics software packages focus on providing a platform for simulating mobile or personal robots such as Gazebo.9 All of these existing tools are either too expensive, complex, or have a focus outside of training people for industrial robotics. Our RobotRun software is functional, but is still under development. Currently, it provides a 3D view of a robotic arm, allows selection of diferent end-efectors, and allows the user to control the robot through a realistic teach pendant which is analogous to teach pendants used in industrial robotics. In the future, we plan to ine-tune the software based on feedback, add features, and add some common industrial scenarios which would be useful for training. Overview of the Software We began development on the RobotRun software in the Summer of 2015. Two Computer Science graduate students collaborated with other students and faculty in the Department of Computer Science and the School of Technology to identify the required features for the software. Although the initial version of the software is complete, additional software development is planned. The software is written in Processing (which builds upon the Java programming language) and uses OpenGL to display a real-time 3D visualization of a robotic arm. It has been tested on Windows and Linux. In the future, we hope to add support for Mac OS X. An overview of the graphical user interface is shown in Figure 1. The igure shows (1) the robotic arm which was modeled using CAD software and imported into our program with custom software. The arm was designed to resemble the appearance of typical industrial robots. Figure 1 also shows (2) a small status display which shows the current active coordinate frame (joint or world), speed, joint rotation, and whether the shift and step buttons are on or of. A (3) utility toolbar has buttons for hiding the interface, moving the camera, making a video recording of the scene, and changing the tool/end efector. When the camera movement button is activated, dragging the mouse on the scene will change the camera’s view on the robot. A (4) teach pendant is displayed on the left side of the screen which resembles real-world teach pendants. The teach pendant includes a (5) text display and all of the buttons needed to program the robot and control other functions. Figure 2 shows a close-up view of the teach pendant with a menu being displayed. The user will interact with the robot primarily through this teach pendant to allow users to practice the skills that they need to eiciently program a real-world robot. Figure 1: An overview of RobotRun interface showing a robotic showing a robotic arm with an end efector (right), a teach pendant (upper left), and overlaid status information (upper right). See the text for a description of the individually labeled items in this igure. Figure 2: A closeup view of the teach pendant displaying a menu. Figure 3: A series of images showing the robotic arm moving the end efector up in world coordinates using our IK implementation. Implementation Details In order to simulate the robotic arm, our software needed an inverse kinematics (IK) solver which enables the software to calculate appropriate joint angles which cause the end efector to be at the appropriate position. Since the primary goal of the software is to serve as an educational tool, we have implemented a basic, but functional, IK algorithm. The algorithm is a variation of Cyclic Coordinate Descent (CCD). For every movement of the robot, a series of points along the path are calculated and then CCD is performed to move the end efector through all of the points on the path. Although the existing implementation is likely adequate in most circumstances, we hope to either improve the existing IK algorithm or replace it with a diferent approach so that the robot’s movement appears smoother, more natural, and less computationally expensive. For example, we plan to implement a Jacobian Transpose solution and compare the results. The series of screenshots shown in Figures 3 through illustrate the movement of the end efector vertically in world coordinates. Each of the robot’s joints can be jogged using the buttons at the bottom of the teach pendant. When one of the buttons is clicked with the mouse, the corresponding joint starts to move until the button is clicked again. There are also buttons to adjust the speed at which the joint changes. When set to operate in the world coordinate frame, jogging the robot changes the position of the end efector and our IK algorithm calculates appropriate joint angles. Initial support has also been added to create and save custom frames as an alternative to the world coordinate frame. This is done by having the user select three points that, together with the starting point, form approximately orthogonal line segments, which are then converted into perfectly orthonormal line segments to serve as the axes of a custom coordinate frame. The software internally converts between world coordinates and custom coordinates when performing calculations. Since this software is intended to be an educational tool, we included a feature which allows users to record videos of their screen along with audio from the user’s microphone. This allows a teacher to create videos which demonstrate how to do common tasks or allows a student to record a video of what they have completed and send it to a teacher. This feature is available if fmpeg is installed—a free and open-source video/audio encoder and decoder. Programs for the robot can be created, edited, and run. To create a program, the user enters a name using the keys on the teach pendant. Next, a series of points are recorded by jogging the robot and pressing the appropriate keys on the teach pendant to either record a new point or overwrite an existing point. Motion instructions can be ine (i.e., efectively linear), continuous (the end efector follows a curving path between points), or circular (the end efector traces a path along an arc). The software executes ine motion instructions by linearly interpolating between the current and next point. For continuous instructions, assuming that the current point is A and the next two points are B and C, the software creates a curved path by linearly interpolating toward a target point that moves from B to point C as the end efector draws nearer to point B. The instruction can specify the amount of curving which controls the speed of t
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom