Session F4E A COLLABORATIVE FRAMEWORK FOR LEARNING

11 downloads 0 Views 116KB Size Report
F4E-12. A COLLABORATIVE FRAMEWORK FOR LEARNING ROBOT MECHANICS: RIO –ROBOTICS .... JavaScript may be embedded in the models as well.
Session F4E A COLLABORATIVE FRAMEWORK FOR LEARNING ROBOT MECHANICS: RIO –ROBOTICS ILLUSTRATIVE SOFTWARE Andrei Lobov 1 , Jose L. Martinez Lastra 2 , Reijo Tuokko3 Abstract - An educational software package called RIO (Robotics Illustrative sOftware) has been designed and developed in order to provide a web-based learning environment on the subject. RIO integrates the VRML (Virtual Reality Modeling Language) model of the robot manipulator and a Matlab™ object representing the manipulator’s topology and dynamics parameters. The user interface consists of a Java applet displayed by the webbrowser along with VRML model. The applet provides a connection to the remote host running Matlab™. A remote PC runs MJS- Matlab™ Java Server, which is capable of intercommunicating with Matlab™, and receives remote users connections. Matlab™ holds an object of the manipulator being studied, however the user is able to affect the Matlab™ object by means of Java applet GUI. Multisessions, involving several users, can be connected to the same Matlab™ object over the Internet simultaneously. Index Terms – distance learning, web classroom application.

INTRODUCTION “It has been commonly said that the ideal learning environment is a student on the one end of a log and Socrates on the other end” [10]. However, there is a problem that there are not enough Socrates available to pay enough attention to each student in the class. As the world has evolved, the logs were replaced by school desks, the student got books to study, the number of specialties has grown, and people have entered the era of computer science, where the computer has became a central tool in most engineering disciplines. As the computer is starting to be used by most students since it is very much related to their future professions, this can be used as a tool for education as well. Adding here that we also live in the era of the Internet, computers can be connected into networks thus creating preconditions for the development of distributed or distance learning environments. In our case the computer was chosen as a tool for studying robotics manipulators. Studying and understanding manipulator mechanics evolves pure math and physics with matrix calculations. These two disciplines are the basic ones during the first year(s) of university studies. Robotics manipulator design and development entail these, as do (all) other engineering disciplines. Mathematics and physics, even if they are the fundamental sciences, which should lie behind each piece of

engineering work, do not appear to be the “easiest” to learn for the majority of students. In the case of mathematics this could probably be explained by the abstract nature of the subject. People tend to understand better the things that they can sense: see, touch, hear or smell. As a result these things take some shape in the human mind. In the case of studying robotic manipulators the key subject to be analyzed is the manipulator itself. Robotics Illustrative sOftware (RIO) was designed, developed and applied in an academic course at Tampere University of Technology, Institute of Production Engineering (TUT/IPE) in order to help and support the student in the learning process by improving motivation with real examples to watch and play with. One of the problems of universities and actually anyone else around the globe is to find and implement cheap and effective solutions for costly problems. In our case the source of expense may be the subject of studies itself or the robotic manipulator. This is usually a very expensive machine to be purchased by the university just for teaching the course. Furthermore, having only few real manipulators in the lab causes a number of other constraints to be taken into account. First of all safety issues have to be followed in the lab during assignment work with real robotics manipulators. Special personnel has to supervise what the students are doing. Studying the behavior of a real manipulator the student is not actually able to see and analyze all aspects related to the manipulator. The operating system of the robot usually straightaway disallows movements that could cause damage to the robot body. In order to get rid of constraints the new dimension appearing in recent years may be used. There all constraints can be easily overcome. This is virtual reality (VR), where the limits of the real world can be eliminated. Another trend of the past decade is the evolution of e-learning. The main idea behind e-learning is a computer that is used as a tool for educational purposes. As an innovation in education it has already taken many different shapes [10]. There may be distance learning, where the course materials and educational environments may be accessed remotely, anytime, from anywhere. There may be instructor-led courses, where the instructor is present during online sessions, so that students can easily ask him or her right away or maybe get special guidance from the instructor. There may be online e-learning or a CD-ROM may be used to provide the educational environment.

1

Andrei Lobov, Tampere University of Technology, Institute of Production Engineering, P.O.Box 589, Tampere, 33101, Finland, [email protected] Jose L. Martinez Lastra, Tampere University of Technology, Institute of Production Engineering, P.O.Box 589, Tampere, 33101, Finland, [email protected] 3 Reijo Tuokko, Tampere University of Technology, Institute of Production Engineering, P.O.Box 589, Tampere, 33101, Finland, [email protected] 2

0-7803-7961-6/03/$17.00 © 2003 IEEE November 5-8, 2003, Boulder, CO 33 rd ASEE/IEEE Frontiers in Education Conference F4E-12

Session F4E In the current paper we present RIO, a framework for distance learning for robotics manipulators. It consists of a set of applications, the principles of which will be discussed in the next section. The section covers all the components of the framework. The last section concludes the paper by presenting an evaluation of the RIO.

RIO – ROBOTICS ILLUSTRATIVE SOFTWARE Robotics Illustrative sOftware (RIO) is a set of applications that provides connectivity between Matlab™ and end-user studying robotic manipulators. The applications that form RIO have different purposes. For example Matlab™ is used as the calculation tool for robot mechanics. Users may be unaware of what Matlab™ is and its syntax. RIO provides an environment where the user concentrates only on the aspects related to the given manipulator without touching manipulator representation in Matlab™. The current approach does not require installation of the whole Matlab™, including the need for multiple licenses, a package on each computer in the laboratory where students do their assignments or in their dorms. Only one machine, which performs as a server, should have Matlab™ installed. The connection to Matlab is provided by the Matlab™ Java Server (MJS) through the JMatLink library. Native methods make it possible to use Matlab's computational engine inside the user’s own Java applications, applets and servlets[1]. JMatLink library contains a set of Java classes that may be used to gain access to Matlab engine, which makes it possible to create, handle and obtain any data related to Matlab and its objects. Having the option to create and manipulate the Matlab from the own Java application, one could easily transmit the data related to Matlab over the distances. MJS performs as a server for remote clients. Figure 1 shows the main entities of the RIO framework.

Which serves as a web-host machine for the MJS and Matlab. The web server is omitted from the picture. The type and the vendor of the server do not play any role except possibly in maintenance costs. In our approach we used Resin from Caucho [11], but in this case it could be any web server. A web server installed on the PC is needed to provide access to Java applet stored on the same PC. It is crucial that the applet be downloaded from the same PC where the MJS is running, since the security policy for applets states that the applet can establish connection only with the host from which it has been downloaded. In RIO the applet took the name of Matlab Java Applet (MCA). When the applet is downloaded and initialized, the user gets the GUI to interact with. In addition the MCA applet tries to establish connection to the MJS. A simple TCP/IP socket connection is implemented between MCA and MJS. MJS holds a server socket and MCA holds a client socket correspondingly. The communication threads are depicted in Figure 1 by commMJS and commMCA. MJS creates separate communication thread for each connection. A number of MCAs can be simultaneously connected to one MJS. The MCA is displayed in the web browser along with the VRML model of the manipulator. The web browser must be equipped with a free-of-charge, downloadable VRML plugin. VRML plug-in displays a 3D model of the manipulator in the web browser. Visualization of the manipulator allows monitoring of how the changes of manipulator parameters such as joint variables or transformation matrix would affect the pose of 3D VRML model. RIO is meant for studying manipulator mechanics; it uses Matlab™ for calculations and VRML model along with Java GUI for displaying the results. The VRML plug-in that has been chosen in our case is Cosmo Player 2.1.1 [5]. The plug-in is suitable for the web browsers running under Windows or Mac OS. These are constraints for the client side. Along with Cosmo Player installation comes the Java package, which provides classes for connectivity of Java applets and VRML models. As the JMatLink allows the connection of Java application to Matlab, the VRML Java package allows connection of applets to the VRML models. Modeling manipulators using VRML

FIGURE 1 RIO FRAMEWORK

The biggest curved-angle rectangle in the figure represents the boundaries of the personal computer (PC).

Virtual Reality Modeling Language (VRML) is used to create three-dimensional worlds that may be networked via the Internet and hyperlinked with the World Wide Web [3]. VRML became an international standard in 1997, however the work for this standardization started in 1994. The World Wide Web community needed a common language to express 3D objects and worlds. VRML allows the expression not only of static worlds; dynamics or time may be added to the models allowing the creation of animated 3D worlds. Furthermore, the worlds may implement sensor nodes enabling the detection of changes in the world, for instance the collision of bodies. JavaScript may be embedded in the models as well.

0-7803-7961-6/03/$17.00 © 2003 IEEE November 5-8, 2003, Boulder, CO 33 rd ASEE/IEEE Frontiers in Education Conference F4E-13

Session F4E In RIO the whole functionality of animating the model was implemented by the Java applet (MCA). The static VRML model of the manipulator was used. VRML contains the instructions for all basic shapes in geometry. The next piece of code gives an example of how the sphere may be created in VRML: #VRML V2.0 utf8 Transform { # Green sphere translation 3 0 1 children [ Shape { geometry Sphere { radius 2.3 } appearance Appearance { material Material { diffuseColor 0 1 0 } # Green } } ] }

VRML integrated development environment (IDE). For instance, VrmlPad [6] textual development environment may be used for world creation. However, since the VRML file format is a basic textual file, any text editor may be used to build the VRML world. Matlab Client Applet In this section we would like to give a taste of what the student actually has to deal with during the assignment in studying manipulator mechanics. In other words what the graphical user interface (GUI) is that assists the student in his/her studies. Figures 3 and 4 show the two manipulators studied. The first is a six-degree mobility manipulator while the second one a different kind of topology – it is a SCARA robot.

VRML files are textual only. Once created no compilation is needed. The file can be simply deployed to the web server folders so any one could remotely browse the world. The term “world” in conjunction with “VRML” or “3D” is used here to reference a virtual world that may be browsed on the screen of the user’s computer. Navigation issues of the world come with the VRML plug-in for the web browser. FIGURE 3 6 DOM MANIPULATOR STUDY ENVIRONMENT.

FIGURE 2 THE VRML OBJECT SHOWN IN WEB- BROWSER

Alternative technology for the 3D worlds may be Java3D[7]. This is the API for the 3D application development from Sun Microsystems. However, Java3D sometimes seems a heavy solution for the Java applets. As with the VRML plug-in for the browser, the user has to install Java3D runtime in the computer, but in addition the Java3D classes may be bigger in size compared to the textual file of VRML. Another advantage of using VRML is that this format is supported by almost all major CAD (AutoCAD, 3D Studio, IGRIP, etc.) tools for 3D modeling. IGRIP especially is used for designing robotic systems. VRML models may be seen in CAD tools or CAD tools may be used for creating VRML models. There is a special

FIGURE 4 SCARA MANIPULATOR STUDY ENVIRONMENT.

GUI of both applications is shown in web browsers. The GUI consists of the VRML model on the left and the Java applet (MCA) on the right. VRML 3D world depicts the pose of the manipulators, while the MCA gives numerical characteristics for the given manipulator. The user is able to introduce new values of the joint variables of the manipulator or to give a transformation matrix. The MCA performs the connection to the MJS passing the user defined values and gets back the result, which is again displayed 0-7803-7961-6/03/$17.00 © 2003 IEEE November 5-8, 2003, Boulder, CO 33 rd ASEE/IEEE Frontiers in Education Conference F4E-14

Session F4E numerically in MCA, and the manipulator takes a corresponding pose. As can be seen in both figures the GUI of MCA is similar. This tends to simplify student intercommunication with RIO. If necessary, new robots can be created quite fast. The environment for a new manipulator requires slight modification of the MCA and MJS. The main time consuming procedure may be the design of VRML model for the new manipulator. However, the whole process, having already built examples, does not take more than eight hours. Matlab™ Java Server Matlab™ Java Server (MJS) (Fig. 5) provides communication with Matlab™ and remote clients. MJS parses data received from Matlab and remote clients to the format applicable for the next receiver (MCA ßà MJS ßà Matlab™). This is the main functionality of the MJS. During the start up the MJS initializes Matlab™ and creates the object of the manipulator. From this moment remote users are actually able to intercommunicate with the object. RIO is in initialized idle state.

Matlab™ The last but not least element in the chain of the VRML model – MCA – MJS is the Matlab™ [2] software. Matlab™ software is used for calculations of manipulator features according to user input made in MCA. A special toolbox is required in Matlab™ in order to work with the robotic manipulators. The Robotics Toolbox for Matlab was developed by Peter I. Core [8]. The toolbox provides much useful functionality related to kinematics, dynamics, and trajectory generation. The Toolbox is based on a very general method of representing the kinematics and dynamics of serial-link manipulators. The Toolbox also provides functions for manipulating datatypes such as vectors, homogeneous transformations and unit-quaternions, which are necessary to represent threedimensional position and orientation [8].

CONCLUSION

The framework of an educational environment for studying robotics manipulators was developed and described in the paper. The components of the framework are simple blocks based on the modern technology outcome. Anyone providing students with educational environments similar to RIO should be a Java programmer to create the blocks of the framework. Virtual Reality Modeling Language is not difficult to learn, since there are static bodies placed in the 3D world, which does not involve any functionality encapsulated into the 3D model of our example. If more sophisticated worlds are required, script language should be used in order to provide some extensions of dynamics to the 3D world. The framework demonstrated here was developed in order to support and motivate students in learning the subject. The framework was first used in autumn 2002 at Tampere University of Technology in a course on Control in Robotics and Automation of Electronics Production. At the end of the course the students gave their feedback about lectures and laboratory assignment content. The course entailed six laboratory tasks (lab) for students to do. The first FIGURE 5 contained the assignment with the RIO software. In the MATLAB™ JAVA SERVER GUI. students’ feedback received at the end of the course the lab was given 4.2 points out of 5. The rest of the tasks were The special communication protocol between MCA and rated with the following values starting from the second and MJS is implemented. MJS runs on the same computer as ending with the sixth (3.93; 3.93; 4.00; 4.67; 4.11). Twenty Matlab™. It is basically capable of executing any command students evaluated the content of the tasks. in Matlab™, which means it is able to execute any RIO was created in order to provide students with a commands of the operating system as well. This may cause powerful and cheap, as we believe, solution that supports the potential danger of damaging the server PC or accessing their studies. any data in it. MCA may request the particular information According to Professor Neil Postman [10], new methods from the MJS related to the manipulator. MJS is capable of or technologies should be always questioned for the receiving requests for certain commands only from the advantages and more important the drawbacks that they may remote users. Thus security issues cannot be violated in this bring. Regarding drawbacks, it appears that the time that has way. MJS connects the Matlab™ which holds a been spent on developing our web classroom application mathematical representation of the manipulator through could be used, for instance, for more contact teaching. JMatLink [1]. However, if we take into account the reusability of the 0-7803-7961-6/03/$17.00 © 2003 IEEE November 5-8, 2003, Boulder, CO 33 rd ASEE/IEEE Frontiers in Education Conference F4E-15

Session F4E software, this drawback should be eliminated. Another possible drawback of such educational environments is that in addition to the personnel who created the environment there should be personnel for maintenance. In RIO this is related to web server management, installation in the lab PCs of the plug-in for the web-browser. In some cases the Java Virtual Machine or Java Runtime Environment has to be installed in the PCs as well. Considering the possible difficulties in the maintenance of the framework, fortunately, we may say that it is hard nowadays to find a university teacher or even an undergraduate student who is not able to install software in the computer. The problem of maintenance is believed never to arise. Do we need computer-supported learning? In our opinion the computer is a tool of a modern engineer. It speeds up the development and analysis process of his or her work. Unfortunately, there are not enough engineers in our world to accomplish their tasks just using pencil and paper. Writing this paper the word speller software was used reducing the time wasted for checking the grammar of the paper highlighting errors. Was it an e-learning process or this is just a common learning process of the human being in his natural environment?

REFERENCES [1]

“JMatLink: Matlab Java Classes”http://www.heldmueller.de/JMatLink/index.html

[2]

“ The MathWorks”, http://www.mathworks.com/

[3]

“ VRML Virtual Reality Modeling Language”, http://www.w3.org/MarkUp/VRML/

[4]

“ VRML97 Specification, ISO/IEC 14772-1:1997”, http://www.web3d.org/Specifications/VRML97/

[5]

“ Cosmo Software”, http://www.ca.com/cosmo/

[6]

“ParallelGraphics (a 3D company)”, http://www.parallelgraphics.com

[7]

“Java 3D API”, http://java.sun.com/products/java-media/3D/

[8]

Corke, P, I, “A Robotics Toolbox for Matlab”, IEEE Robotics and Automation Magazine, March 1996, vol. 3, number 1, page(s): 24 – 32

[9]

Craig, J, J, “Introduction to Robotics: Mechanics and Control”; 2nd Edition, Addison-Wesley Publishing company, 1989.

[10] Pittinsky, M, S, “ The Wired Tower: Perspectives on the Impact of the Internet on Higher Education”, Prentice Hall, ISBN 0-13-042829-9, 2003 [11] “ Caucho Technology”, http://www.caucho.com

0-7803-7961-6/03/$17.00 © 2003 IEEE November 5-8, 2003, Boulder, CO 33 rd ASEE/IEEE Frontiers in Education Conference F4E-16