Mechatronics 13 (2003) 1–11 Mechatronics education in the Department of Mechanical Engineering at the University of Utah Sanford Meek a,* , Scott Field a, Santosh Devasia b a b Department of Mechanical Engineering, University of Utah, Room 2202 MEB, 50 South Central Campus Drive, Salt Lake City, UT 84112-9208, USA Department of Mechanical Engineering, Room 143, P.O. Box 352600, University of Washington, Seattle, WA 98195-2600, USA Abstract The Department of Mechanical Engineering at the University of Utah has three approaches to mechatronics education. First, a basic course that is a required class for all mechanical engineering students has been developed. Second, a Certificate of Mechatronics which provides a recognition for the student with more advanced work in the area is offered. Third, an outreach program to provide mechatronic courses to working engineers is being developed. Ó 2002 Published by Elsevier Science Ltd. 1. Introduction Many schools are presently offering or are planning to offer courses or programs in mechatronics. There are many ways to offer the material. The easiest and most common approach is to offer an elective class for upper level undergraduate and/or lower level graduate students. If mechatronics is, however, a fundamental topic in engineering, then it should be a required class in all undergraduate curricula. With this perspective, the Department of Mechanical Engineering at the University of Utah does consider mechatronics as a core part of the undergraduate curriculum. The problem becomes then how can a new core topic be integrated with an existing curriculum in an already very full schedule. * Corresponding author. E-mail address: meek@mech.utah.edu (S. Meek). 0957-4158/03/$ - see front matter Ó 2002 Published by Elsevier Science Ltd. PII: S 0 9 5 7 - 4 1 5 8 ( 0 1 ) 0 0 0 5 8 - 7 2 S. Meek et al. / Mechatronics 13 (2003) 1–11 At the graduate level, the addition of courses is rather easy as there are neither set curriculum requirements nor Accreditation Board for Engineering and Technology (ABET) requirements. Instead, the problem is that of outreach of a mechatronics course to working engineers. Between the undergraduate and graduate levels there has been created a certificate program that allows undergraduates to add a specialty of mechatronics or a graduate student to learn the specialty without the full graduate degree requirements. The Department of Mechanical Engineering at the University of Utah is pursuing three directions towards mechatronics education. Two approaches, a required undergraduate core course and an undergraduate Certificate of Mechatronics are in place and have been quite successful. The success has been measured in the interest in the subject by the students and the success of those students in gaining employment in companies in the mechatronics industry. It also helps in the ABET requirements for design, integration, and teamwork. 2. Required undergraduate course A required course in mechatronics has been developed as a year-long course for third year students. In order not to add additional course hours to an already full curriculum, we restructured existing courses to emphasize our mechatronics pedagogical philosophy. This is a holistic approach to the subject. Being a mechanical engineering department, we emphasize the mechanical design while integrating concepts of actuators, sensors, controls, and computer systems. For example, we have taken traditional mechanisms and controls classes and restructured and combined them with extensive hands-on experiments to present the integrated design philosophy. In this way, we have not added course hours to the students’ curriculum but still give all students an exposure to the mechatronics concepts. The course covers: mechanical systems (traditional mechanisms ideas), actuators (motors), sensors (traditional instrumentation ideas), system modelling, and basic controls. The use of desk-top computers and microcontrollers are used in the development of all of the topics. 2.1. Laboratory The course also includes a laboratory in which the concepts are reinforced through physical examples in hands-on experiments. The students use mechanical as well as electrical breadboards to build laboratory experiments. Data are collected with computers running National Instruments LabView CVI software. The choice of this is to encourage C programming and programming skills in general. Traditional electronic and laboratory equipment such as oscilloscopes, meters, force gauges, and other measuring instruments are also used. The laboratory exercises include basic measurement and instrumentation instruction, introduction to various types of sensors and actuators, and basic feedback controls ideas, such as steady-state error, PID controllers. In addition to the basic S. Meek et al. / Mechatronics 13 (2003) 1–11 3 exercises, the students design automated data collection experiment. An example of this is a dynamometer for a small electric motor. The student design and build a torque gauge (using strain gauges and the associated electronics), connect the motor, torque gauge, particle brake, and a tachometer on a mechanical breadboard. They write a program in LabView CVI to drive the motor at a voltage. The computer then collects the outputs of the tachometer and torque gauge. The data are then plotted on the screen with the proper dimensions. A new voltage is given to the motor and the process is repeated until a complete torque–speed curve is obtained for the motor. 2.2. Project In addition to the laboratory work, there is a year-long project where teams of students design and build a mechatronics system. In order to make the project fun for the students, the projects are autonomous robots that play in a competition at the end of the course. Typical competitions are: robot basket ball, sumo wrestling, robot soccer, robot hockey, and, this past year, robot biathlon (see Fig. 1). Currently, a Handy Board [4] is used as the robot controller. The C programming is preferred so that the complexity of teaching assembly code is avoided. If the students wish to learn the assembly code, they take elective courses in that subject. Fig. 1. Winning biathlon robot. 4 S. Meek et al. / Mechatronics 13 (2003) 1–11 The purpose of the project is to integrate the mechatronics ideas in a single design goal. The projects are always in the form of a contest. In the biathlon, for example, the robots follow the course by tracking a tape on the floor using light sensors. There are three targets marked by light bulbs so that the robots can use infrared sensors to direct a ping–pong ball shooter to shoot two ping–pong balls at each target. The students must do all of the mechanical design for driving and steering of the robot, the mechanical design of the ping–pong ball shooter (with reloading), and targeting of the shooter towards the target. In addition to the mechanical design there is the electrical circuit design, microcontroller programming, and of course the overall strategy and intelligence of the implementation of the control of the robot. 2.3. ABET requirements The mechatronics course provides a major part of the ABET requirements for ‘‘an integrated design experience’’ as well as emphasis on communication, teamwork, and computer integration. Specifically, we use the mechatronics courses to meet the ABET criteria: a, b, c, d, e, g, i, j, and k. ABET accreditation criteria is on their web page: www.abet.org. 3. Certificate in mechatronics For students who are interested in pursuing a specialization in mechatronics, the department offers a Certificate of Mechatronics. It is an undergraduate certificate that is awarded upon graduation or after graduation. The requirements are classes in the various topics of mechatronics – control theory, microprocessors, computer interfaces, and motors. Some of these courses are from other departments giving the student a multidisciplinary perspective of mechatronics. Students from mechanical engineering, electrical engineering, and computer science have received or are currently working towards the certificate. A mechatronics project is also required where the student must design, build, and demonstrate a mechatronic system. 4. Distance learning course The University of Utah is expanding its already strong core classes in mechatronics to students in industry, other schools, and correspondence classes by supplying the mechatronics labs through the Internet. Lab work is essential for mechatronics classes, this is why an Internet-based lab is ideal for correspondence classes. Labs that are already part of the mechatronics curriculum will be adapted to run through the Internet. S. Meek et al. / Mechatronics 13 (2003) 1–11 5 4.1. Internet-based labs for distance learning Due to the rapid expansion of the Internet and the improved speeds, schools have started to look into the Internet as a medium to run remote labs. The University of Tennessee at Chattanooga and Stanford University have implemented remote labs where students can run various experiments, but the students cannot change parameters in the middle of the lab [2,3] St. Cloud State University has a remote system where the student must download the client software and must run it on a Windowsbased system [1]. More recently, the University of Hagen is implementing a remote system using Java’s Client/Server model to set up remote labs across multiple schools [5]. This section explains how the Mechanical Engineering Department at the University of Utah is implementing the Internet-based labs for the mechatronics courses. It begins by reviewing the necessary hardware and software, then describing an example and finally discussing the cost of such a system. 4.1.1. Hardware configuration The computer used is a Micron Millennia Pentium III 600 MHz with 256 MB of RAM, 10 GB hard drive, and 10/100 Mbs Ethernet card. Windows 2000 Server was chosen as the operating system. This allows the computer to act as the server, video capture, and data-acquisition device. For video input, ViewCast’s Osprey 101 video capture card with Philips Color Multimedia Camera was used. National Instruments’ PCI-MIO-16E-4 card was chosen for the data-acquisition because similar cards were already effectively working with the classroom labs. The PID controller lab also requires a power amplifier, power supply, and an electric motor with potentiometer and tachometer. Of course, the actual lab hardware would change from lab to lab. The hardware has two analog outputs. This allows for control of two motors simultaneously. With the addition of another video capture card and camera the system could control at least two labs simultaneously. The largest limitation on the system is the video capturing and encoding. This puts about a 25–40% load on the CPU, while the experiments and server account for less than 5% on the average. The combination of analog outputs and load on CPU would limit the system to two labs simultaneously. 4.1.2. Software configuration and implementation Java was chosen as the primary programming language for all programming related to the project because of its cross-platform capabilities. Java runs well on the Windows 2000 Server and equally well on any operating system the client’s computer may be running. The overall goal for the software was to design as much as possible in Java’s JavaBeans components Application Programming Interface (API). JavaBeans is designed to allow programmers to reuse and implement code in an organized and easy fashion. By using the JavaBeans API, labs can be created or changed easily while maintaining the same interface on any platform. The components created for the lab were extended from the Java Foundation Classes (JFC). This assures that the components have a similar API as the basic components provided in JFC. For instance, all of the Indicator components were 6 S. Meek et al. / Mechatronics 13 (2003) 1–11 extended from the JComponent class (see Fig. 2). The indicator components inherited the paintComponent( ) method that tells how to display the component. Then the Indicator component added some of its own methods and the BarIndicator and SlideIndicator components extended Indicator and inherited its methods as well as JComponent’s. In the end, the BarIndicator, SlideIndicator, or any other component can be added just as easily as a JFC button to an applet or a stand-alone program. Since the structure for creating JavaBeans was followed, the components will have the same interface as other JFC components and are even useable in visual Independent Developer (IDE’s) for simply dragging and dropping components into an applet or program. The software to run the labs is broken into two primary sections, a client and a server. The server is the computer in the lab that communicates with the dataacquisition card, various controls, and other components. The client portion is in the form of a Java Applet run through the users web browser. Even though there are two separate sections, all of the components are designed with a parallel component in mind (see Fig. 3). The idea is to take an analog input component and place it in the server program. Then the programmer places a matching analog input visual display component in the applet and has it listen to the analog input component on the server. In order to implement all of the components in Java various technologies needed to be used. The libraries for the data-acquisition card were all written for C++ programming language. A technology from Microsoft called J/Direct was used to communicate from the java programs to the dynamic link libraries. A J/Direct function is written to marshal the data between the two languages. The only problem with this technique is it now limits the program to only work on that machine. To communicate through the Internet two other technologies were used. The first is Java’s Remote Method Invocation (RMI). RMI allows for the real-time update and control of the remote system. A method is set up in the applet and is mapped to a corresponding method on the server. When the method is called in the usual Fig. 2. Java class inheritance environments. S. Meek et al. / Mechatronics 13 (2003) 1–11 7 Fig. 3. Parallel JavaBean components. fashion on the client’s machine it is remotely invoked on the server. The second technology is called sockets. Sockets are a way of sending and receiving information through a network. A socket can be established directly between two computers to have a two-way communication or sockets can be set up to broadcast the information to a desired location that any program can then listen to. We used sockets to send the stream of information from the server to the listening applets. Overall the various components are capable of handling any type of remote laboratory testing or control. The remote method calls happen almost instantly and this allows for the real-time control of the experiment. The streams of data allow for any form of data display and saving. The java components will run on any machine that has Java 1.2 capable virtual machine. Most Microsoft machines are also not equipped with the RMI components of Java. Either of these problems can be easily fixed with a one time plug-in download. 4.2. Example lab The example lab is a control theory lab that allows the students to learn how PID control algorithms can control an inverted pendulum. This lab will be a template for future labs and will contain five general features that all labs will need to have. First, the lab (controlling an inverted pendulum) has input and output through a dataacquisition card that will allow the student to control and read data. Second, it has real-time video to display the lab environment for a visual feedback. Third, the lab requires safety measures to make sure the lab is safe for people in the room while it is remotely running. Fourth, the lab works the same on all operating systems and Internet browsers to allow the maximum amount of students access to the labs. Finally, the lab uses reusable programming code for future labs to maintain the same interface and ease of implementation. 8 S. Meek et al. / Mechatronics 13 (2003) 1–11 First the student would connect to a web page that has a tutorial on PID controller theory and the various concepts that the lab would cover. Second the student would log on with their user name and password. This allows them to gain control of the lab to make sure that no others can interrupt their experiments. Because multicasting streams are used for the data output, one student has control, but other students can still connect and watch the experiment without interfering. Once the student has properly logged on, they would be sent to a web page showing a video display of the lab experiment and an applet with the various controls. For example, Fig. 4 shows a basic layout for a Proportional controller lab. For the PID controller lab, the student can change the gains or the desired angle at anytime throughout the experiment and the values are instantly updated. The student can also start or stop the acquisition of data. This gives them the ability to hold and evaluate the data. If they want to compare the data to an earlier reading they can scroll back to view earlier information. Once students have the necessary data they can save the data and then retrieve it through an FTP site to be used with Matlab or some other data display software. Overall the student can test various gains and angle changes to investigate the effects of a PID controller. Fig. 4. Example applet display. S. Meek et al. / Mechatronics 13 (2003) 1–11 9 Fig. 5. Example lab components. As mentioned earlier, all of the parts of the client program are components to do some job with a parallel component on the server program. In the example, there are components to read the position and velocity from sensors. These are paralleled by two components in the Applet that display the values on the client’s computer (see Fig. 5). There are also components on the Applet for updating the Position Gain and the Velocity Gain that are paralleled by similar update components on the server program. Safety is another consideration for the lab. There are a few steps that have been taken towards safety. First, the lab workspace is enclosed with a sensor-activated door. When someone tries to remotely run the lab with the door open they will receive a message stating the lab is currently undergoing maintenance. Second, the applet automatically shuts down motors if the student ever exits in the middle of the lab. Finally, there are time limitations that will shut down motors and reset the system if it is left running. The time needed to do the PID lab can vary depending upon the extent of investigation. The shortest case would be to: log on, run one set of gains, acquire data, save data and then log off. This can all be done in under 5 min. Of course, the lab is not meant to be done as quickly as possible and this is why all of the various controls and real-time updating is implemented. This should allow the student to fully experiment with the system and in turn learn just as much as if they were in lab. 4.3. Cost analysis Creating and maintaining an Internet-based laboratory has various cost concerns. There is primary set up and installation, maintaining and upgrade of equipment, and the labs need some type of operator/programmer. For the one computer-based laboratory at the University of Utah the initial set up cost was about $3300 for the 10 S. Meek et al. / Mechatronics 13 (2003) 1–11 Table 1 Cost analysis Hardware Price Computer (600 MHz w/256 MB) Data acquisition card (NI PCI-MIO-16E-4) Video capture card & camera (Osprey 101 w/Philips camera) Power amplifier Triple output power supply Electric motor w/Potentiometer & Tachometer $2000 $1000 $300 In lab In lab In lab Total $3300 various hardware components (see Table 1). This hardware set up should last for many years. The cost of computers continues to drop, so that the equivalent system would be less now than when originally purchased. Beyond the initial set up there will be need for maintenance and upgrades. The maintenance cost for hardware should be relatively low because the hardware will not be handled directly by as many people as with an in-house lab. The primary cost after set up will be some type of operator/programmer. Once a lab is designed a teaching assistant could be trained to check on and maintain the system. The larger cost would be having someone design the labs. Since the components to design the labs are based on the JavaBeans API any programmer can quickly learn to add a component and then connect it to its parallel component. Designing the components to be easily implemented allows for a very short learning curve in how to create labs. 4.4. Future work The Internet-based labs at the University of Utah are designed to be fairly robust, but there are still more things that can be done. Some of the smaller changes that can be investigated are trying to implement a similar system on a Unix or Linux-based server. We chose Windows 2000 because of the support for more data-acquisition and video capture devices. A Unix or Linux-based server may have other performance benefits. Another area for performance improvement would be to remove the necessity of using J/Direct to communicate with the data-acquisition card. This would require rewriting the drivers into java classes, but the end result would make the entire system truly cross-platform independent. The next big step would be to implement an entire laboratory of eight or 10 different labs all running at the same time. This could be potentially done with two or three computers, one for data-acquisition, one for video capture, and one to act as the server. 5. Conclusions In conclusion, the Mechanical Engineering Department at the University of Utah has successfully implemented mechatronics education at two levels: a required third S. Meek et al. / Mechatronics 13 (2003) 1–11 11 year sequence of classes for undergraduates and a Certificate of Mechatronics for undergraduate and graduate students. An Internet-based laboratory that allows for mechatronics labs to be run from any location has also been developed. The laboratory system has been created economically by focusing on using one computer as the web server, video capture, and data-acquisition and control. Using Java applets as the primary interface allows the labs to be run on any machine while maintaining the same working interface. The real-time control and feedback simulates the in-lab experience, giving the student the freedom to experiment and play with each lab. In the end, the system allows simple creation of experiments with robust capabilities through the Internet. The success of the Internet-based course and laboratory has not been fully implemented into the curriculum. References [1] Heneghan JM. Real time, remote circuits and electronics laboratories for distance learning. In: ASEE Annual Conference Proceedings, June 28–July 1, 1998. 1998. p. 6. [2] Henry J. Running laboratory experiments via the World Wide Web. In: ASEE Annual Conference Proceedings, June 28–July 1, 1998. 1998. p. 17. [3] Hesselink L, Dharmarus R, Bjornson E. CyberLab, A new paradigm in distance learning. In: Instrumentation Newsletter, Third Quarter 1999. 1999. p. A1–2. [4] Martin FG. The handy board technical reference. Arlington, MA: Gleason Research; 1998. [5] Roehring C, Andreas J. Virtual lab for controlling real experiments via internet. In: Proceedings of the IEEE International Symposium on Computer-Aided Control System Design, August 22–27, 1999. 1999. p. 279–84.