Mechatronics education in the Department of Mechanical

advertisement
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.
Download