Fuzzy Mobile Robots: A Student Design Workshop

Similar documents
< 94 > Visiting Professors

Computer Science. Embedded systems today. Microcontroller MCR

SAM - Sensors, Actuators and Microcontrollers in Mobile Robots

FUZZY EXPERT. Dr. Kasim M. Al-Aubidy. Philadelphia University. Computer Eng. Dept February 2002 University of Damascus-Syria

Learning Methods for Fuzzy Systems

Process to Identify Minimum Passing Criteria and Objective Evidence in Support of ABET EC2000 Criteria Fulfillment

A Practical Approach to Embedded Systems Engineering Workforce Development

University of Toronto Physics Practicals. University of Toronto Physics Practicals. University of Toronto Physics Practicals

A student diagnosing and evaluation system for laboratory-based academic exercises

AC : DESIGNING AN UNDERGRADUATE ROBOTICS ENGINEERING CURRICULUM: UNIFIED ROBOTICS I AND II

A Hands-on First-year Electrical Engineering Introduction Course

Using a PLC+Flowchart Programming to Engage STEM Interest

LEGO MINDSTORMS Education EV3 Coding Activities

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

Software Maintenance

Course Specifications

Development of an IT Curriculum. Dr. Jochen Koubek Humboldt-Universität zu Berlin Technische Universität Berlin 2008

Knowledge-Based - Systems

Application of Virtual Instruments (VIs) for an enhanced learning environment

Microcontroller VU

Infrared Paper Dryer Control Scheme

Quantitative Evaluation of an Intuitive Teaching Method for Industrial Robot Using a Force / Moment Direction Sensor

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

Distributed Weather Net: Wireless Sensor Network Supported Inquiry-Based Learning

Unit purpose and aim. Level: 3 Sub-level: Unit 315 Credit value: 6 Guided learning hours: 50

Computer Organization I (Tietokoneen toiminta)

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

Seminar - Organic Computing

ECE-492 SENIOR ADVANCED DESIGN PROJECT

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Embedded System Design

Evolutive Neural Net Fuzzy Filtering: Basic Description

Circuit Simulators: A Revolutionary E-Learning Platform

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

ARTICULATION AGREEMENT

Leveraging MOOCs to bring entrepreneurship and innovation to everyone on campus

Computer Science 141: Computing Hardware Course Information Fall 2012

SYLLABUS- ACCOUNTING 5250: Advanced Auditing (SPRING 2017)

Enhancing Learning with a Poster Session in Engineering Economy

OFFICIAL DOCUMENT. Foreign Credits, Inc. Jawaharlal Nehru Technological University

Case of the Department of Biomedical Engineering at the Lebanese. International University

THE VIRTUAL WELDING REVOLUTION HAS ARRIVED... AND IT S ON THE MOVE!

AAC/BOT Page 1 of 9

AC : FACILITATING VERTICALLY INTEGRATED DESIGN TEAMS

Modeling user preferences and norms in context-aware systems

Data Fusion Models in WSNs: Comparison and Analysis

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

CWIS 23,3. Nikolaos Avouris Human Computer Interaction Group, University of Patras, Patras, Greece

Group A Lecture 1. Future suite of learning resources. How will these be created?

Graphic Imaging Technology II - Part two of a two-year program designed to offer students skills in typesetting, art and pasteup,

Project-Based-Learning: Outcomes, Descriptors and Design

Lecture 10: Reinforcement Learning

CUSTOMER TRAINING COURSE PROGRAMME TECHNICAL TRAINING

An Introduction to Simio for Beginners

LABORATORY : A PROJECT-BASED LEARNING EXAMPLE ON POWER ELECTRONICS

Student Perceptions of Reflective Learning Activities

Multidisciplinary Engineering Systems 2 nd and 3rd Year College-Wide Courses

AC : HANDS ON PROGRAMMABLE LOGIC CONTROLLER (PLC) LABORATORY FOR AN INDUSTRIAL CONTROLS COURSE

Meeting Agenda for 9/6

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Moderator: Gary Weckman Ohio University USA

Control Tutorials for MATLAB and Simulink

Laboratorio di Intelligenza Artificiale e Robotica

PROJECT DESCRIPTION SLAM

Intel-powered Classmate PC. SMART Response* Training Foils. Version 2.0

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

White Paper. The Art of Learning

Student User s Guide to the Project Integration Management Simulation. Based on the PMBOK Guide - 5 th edition

GACE Computer Science Assessment Test at a Glance

TEACHING AND EXAMINATION REGULATIONS (TER) (see Article 7.13 of the Higher Education and Research Act) MASTER S PROGRAMME EMBEDDED SYSTEMS

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Undergraduate Program Guide. Bachelor of Science. Computer Science DEPARTMENT OF COMPUTER SCIENCE and ENGINEERING

Radius STEM Readiness TM

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Courses in English. Application Development Technology. Artificial Intelligence. 2017/18 Spring Semester. Database access

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL

STUDYING RULES For the first study cycle at International Burch University

Digital Fabrication and Aunt Sarah: Enabling Quadratic Explorations via Technology. Michael L. Connell University of Houston - Downtown

Session H1B Teaching Introductory Electrical Engineering: Project-Based Learning Experience

Self-archived version. Citation:

Ecole Polytechnique Fédérale de Lausanne EPFL School of Computer and Communication Sciences IC. School of Computer and Communication Sciences

Computed Expert System of Support Technology Tests in the Process of Investment Casting Elements of Aircraft Engines

All Professional Engineering Positions, 0800

Calculators in a Middle School Mathematics Classroom: Helpful or Harmful?

Ansys Tutorial Random Vibration

A Reinforcement Learning Variant for Control Scheduling

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Ministry of Education, Republic of Palau Executive Summary

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

Oregon Institute of Technology Computer Systems Engineering Technology Department Embedded Systems Engineering Technology Program Assessment

NSF Grantee s Meeting December 4 th, Gerhard Klimeck

A Case-Based Approach To Imitation Learning in Robotic Agents

Grades. From Your Friends at The MAILBOX

Robot Shaping: Developing Autonomous Agents through Learning*

Bachelor of Engineering

D Road Maps 6. A Guide to Learning System Dynamics. System Dynamics in Education Project

Examining the Structure of a Multidisciplinary Engineering Capstone Design Program

Remote Control Laboratory Via Internet Using Matlab and Simulink

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course

Transcription:

Session 1048 Fuzzy Mobile Robots: A Student Design Workshop Rocio Alba-Flores, Marian S. Stachowicz Department of Electrical and Computer Engineering University of Minnesota Duluth, MN 55812 ralbaflo@d.umn.edu, mstachow@d.umn.edu Abstract This paper describes the Design Workshop course offered at the Electrical and Computer Engineering Department (ECE) at the University of Minnesota Duluth (UMD). This workshop course is one mechanism by which students completing the ECE program at UMD can satisfy the requirement for a senior design project. The design workshop topic for the spring 2002 was the use of fuzzy logic to control mobile robots. In this workshop, students worked in small groups and were required to design, build and program a mobile robot with intelligent behaviors using fuzzy logic. In this workshop no formal lectures were taught, however the students received an intensive review covering the topics of the 68HC12 microcontroller, principles of mobile robots, sensors, and fuzzy logic. Introduction In the last decade, the topic of mobile robots has become very attractive to engineering students. It has been shown that students working in this topic show more interest in learning digital electronics, microcontrollers, and analog circuits, and we think that this is because they see an immediate application of the subjects they are learning. Fuzzy logic has emerged as a practical alternative that provides a convenient method to implement nonlinear controllers. Fuzzy controllers work differently than conventional controllers; expert knowledge is used instead of differential equations to describe a system. This knowledge can be expressed in a very natural way using linguistic variables, which are described by fuzzy sets. Fuzzy logic-based systems can be found in a variety of applications such as the controlling of subway systems and complex industrial processes, as well as for household and entertainment electronics, diagnosis systems and other expert systems. Fuzzy logic has been used primarily on large-scale computing systems and personal computers. The introduction of Motorola's Page 8.589.1

MC68HC12 microcontroller, which incorporates several fuzzy logic primitives in its instruction set, has made possible the implementation of fuzzy controllers in microprocessor-based systems. The MC68HC12 includes specific assembly language instructions that implement the fuzzy logic operations of trapezoidal membership, rule evaluation, and weighted average defuzzification. Additional instructions that are helpful in fuzzy logic applications include Min/Max instructions and table lookup operations. This set of features makes the MC68HC12 uniquely suited to lowlevel applications that make use of fuzzy logic principles. In the next lines we describe the characteristics of the Design Workshop conducted in the Electrical and Computer Engineering Department at the University of Minnesota Duluth. In this workshop students were required to design, build, and program a mobile robot with intelligent behaviors using fuzzy logic as contained in the features of the MC68HC12 microcontroller. Setting All the students that took this class had previous experience working with the 68HC11 microcontroller. They completed the introductory microprocessor class, in which they learned the 68HC11 architecture and the assembly language. Therefore all the students had the necessary background to start using the 68HC12. In relation to the topics of the design and implementation of mobile robots, sensors and interfaces, all the students had the background in digital design and analog systems to be able to understand and learn by themselves the basic principles of mobile robots and sensors, and they were able to design and build the required interfaces to connect the sensors to the 68HC12. In relation to fuzzy logic, some of the students took the elective course Fuzzy Set Theory and Its Applications, and they were familiar with this subject. However, most of the students were not familiar with fuzzy logic and they had to learn it during the intensive review of the topic and by self-learning. During the review period, students were assigned individual experiments and homework using the Fuzzy Logic Package [1] for Mathematica from Wolfram Research Inc. After the review period, the students had a clear idea of the basics behind fuzzy logic and the way they were going to use it for their projects. For the integration of the groups, the students chose their partners, with the restrictions of having three persons per group, and at least one member of the group should have taken the Fuzzy Set Theory and Its Applications course. With this, we ensured some homogeneity in the groups and the success of the projects. Since students worked in teams, each team was responsible for their own designs and the proper functioning of their project. However, in order to keep a close contact among the students taking the workshop, we kept a class environment during all the semester, having weekly meetings where students presented and talked about the progress and problems that they were having in their projects. This setting made an ideal environment for a class to learn together and learn from each other and benefit from experiences of other students. Objectives and Organization of the Course Having the ABET 2000 criteria in mind, the objectives that were established for this course were: Page 8.589.2

Expose students to team-based design and experience team learning, Since no formal lectures were given, the students exercised their own self-learning and research skills, Expose students to engineering problems with realistic constrains, and use their creativity, knowledge, and skills acquired in previous courses to solve the problems, Exercise their oral and written communication skills, and improve them by presenting written reports and oral presentations during the semester. The students had fifteen weeks to do all the work, from the definition of the project to the development and completion of the project. To achieve the goals, the activities were planned as follows. During the first three weeks, an intensive review covering the topics of the 68HC12 microcontroller, principles of mobile robots, sensors, and fuzzy set theory was given. During this time the students also learned the use of the Fuzzy Logic Package for Mathematica. In the weeks four and five the groups were formed, and the groups started to define the objectives of their projects. For the definition of the projects, several suggestions for possible projects were given by the instructors, but it was strongly recommended that each group developed ideas of its own. Also several papers related to the application of fuzzy logic to mobile robots were given as references. During week six, each group presented a written and oral proposal of its project. Feedback from faculty and peers was given in order to ensure an even set of projects with the same complexity level. During weeks seven and eight students worked in the simulation part of their projects. This means that before starting to build their real robots, students simulated the intelligent behaviors using the Fuzzy Logic Package for Mathematica [1]. During week nine, written reports and oral presentations were given by each group, in which they presented the results of their simulations. Starting week ten, students began to build their mobile robots and to implement the fuzzy logic algorithm using the 68HC12 microcontroller. Some interfaces were designed and built to connect different sensors to the 68HC12 microcontroller. On the last week of the semester, week fifteen, each group presented to the class instructors a formal and complete written technical report. Also each group gave a formal oral presentation, open to the student body and faculty. The written report and oral presentation had to follow the specifications given in the Senior Project guide of the ECE department at UMD. The following table describes the activities performed during this workshop Week Activities 1 Intensive review of fuzzy set theory 2 Laboratory experiments using the Fuzzy Logic Package for Mathematica 3 Intensive review of the 68HC12 microcontroller: its architecture and instruction set. Sensors for mobile robots. 4 Laboratory experiments programming the 68HC12 5 Groups were formed. Definition of the projects 6 Oral presentation of the proposed projects 7-8 Project simulations using the Fuzzy Logic Package for Mathematica 9 Simulation results: oral presentation and written reports Page 8.589.3

10-12 Hardware implementation. Interfacing sensors with the 68HC12. Programming the 68HC12 to create intelligent behaviors 13 Progress presentation and demonstration of the projects 15 Final presentation of the projects. Oral and written reports. Demonstration of the working project Hardware Each team was given the same basic parts to design and build their mobile robot: a metallic platform, two wheels, two DC motors, drivers for the motors, a rechargeable battery, three infrared sensors, and a NMT MRK board [2]. Depending on the particular project, there were different types of sensors available for the students. Some of the sensors were: photocells, thermistors, small microphones, micro switches, small cameras, and ultrasound rangers. Some of the sensors required an interface to connect them to the NMT MRK board, therefore each team had to design and implement the appropriate interfaces. With these components, students had a wide range of hardware support for designing their projects. The NMT MRK Board In previous workshop courses [3], [4] and senior projects based on microcontroller applications, the Motorola M68HC12EVB Evaluation Board had been used. The main disadvantage that we have found in this board for applications using Fuzzy Logic has been the small amount of memory available. The M68HC12EVB includes 1K byte of RAM, half of which is used by Motorola on board monitor software, 768 bytes of EEPROM, and 32K bytes of Flash EEPROM containing Motorola s monitor program, which can be erased and replaced with the user s application code. The Flash EEPROM has a very limited lifetime of only about one hundred erase/program cycles; therefore it is not useful for program development. Memory expansion is possible, at the expense of some of the microcontroller s I/O capabilities. Looking for a better option, we chose the NMT MRK board [2], which has very similar features to the M68HC12EVB, plus 32K bytes of RAM. With this amount of memory, the students did not have to worry about running out of memory, and they could concentrate on programming intelligent behaviors using fuzzy logic. Another feature on the NMT MRK board that was very useful for our application was its dual-h bridge that can drive two DC motors. The main features of the NMT MRK board are: - Eight input/output ports - Timing functions (input capture and output compare) - Serial ports (serial communications and serial peripheral interfaces) - Six 8 or 10 bits, analog-to-digital converter channel - Four pulse-width modulated outputs - 32Kbyte of RAM - Two PWM channels to connect DC motors Software for the simulation Page 8.589.4

Students verified their preliminary project ideas using the Fuzzy Logic Package [1] for Mathematica, from Wolfram Research, Inc. The Fuzzy Logic Package supplies users with an essential set of functions for creating, modifying, and visualizing fuzzy sets and fuzzy logicbased systems. The package also uses digital fuzzy sets, which makes fuzzy sets easier to understand and apply to practical, real world problems. Students can use the package's built-in functions at every stage of the fuzzy logic design process. Fuzzy Logic on the MC68HC12 This workshop class used the NMT MRK board, which contains a MC68HC912B32 microcontroller. The MC68HC912B12 microcontroller includes several instructions in its instruction set that are specifically meant to support fuzzy logic applications. These instructions are: 1.- MEM - Evaluates trapezoidal membership functions 2.- REV/REVW - Performs unweighted / weighted MIN-MAX rule evaluation 3.- WAV - Performs weighted average defuzzification These instructions are described in this section. In addition to these specialized functions, the MC68HC12 instruction set has also been expanded to include more generic operations such as min/max calculations and table lookup actions that help to facilitate fuzzy logic operations. The MEM instruction evaluates trapezoidal membership functions. These functions are at the heart of the definition of fuzzy sets, the foundation for fuzzy logic. Membership functions define the degree to which a particular value or element belongs to a set, on a scale from 00 to FF in hexadecimal. The degree of membership ramps up linearly from 00 to FF over a specified range of input values. It then remains at FF for a specified interval, and then ramps back down to 00 over another specified range. The trapezoidal shape of this membership function characterizes the degree to which a particular value belongs to the set being defined. In using the MEM instruction, the programmer first defines the function in a data structure in memory. Then the MEM instruction is applied to a particular input value to determine the extent to which it belongs in the set, from 00 (not at all) to FF (completely). This process is known as fuzzification, and results in a set of fuzzy values that describe characteristics of input variables in the system. Rule evaluation using the REV and REVW instructions in the MC68HCI2's instruction set is the process by which fuzzy logic performs calculations. These calculations are evaluated by processing the fuzzy values produced by MEM through a number of rules that describe the system. In un-weighted rule evaluation, using REV, all rules have equal importance in determining the result. In weighted rule evaluation, using REVW, some rules may have more impact on the result than others through a weighting system that multiplies the result of a given rule evaluation by a fractional weight between 0 and 1. In the process of evaluating a specific rule, fuzzy values are combined via a Min operation to represent the logistical "and" operator, while results of several rule evaluations are combined via a Max operation to represent the logistical "or" operator. The result of the rule evaluation process is a set of fuzzy outputs that describe the degree to which each output should have specific values in the system. The results at this point are not usable as final outputs of the calculation because the fuzzy values indicate only the degree to which an output should have a specific value, not the final value itself. Page 8.589.5

The final step in fuzzy logic calculations is the defuzzification step, performed by the WAV instruction. WAV uses the fuzzy output values produced by REV or REVW and the list of specific possible output values to calculate a weighted average value for each output variable in the system. WAV accomplishes this task by calculating a sum of products of each possible output value times the fuzzy value corresponding to that output and by calculating the sum of all the fuzzy values. The first of these sums is divided by the second using a separate divide instruction to produce the overall value of the final output variable. Design Projects Students taking the Design Workshop class were given several suggestions for possible projects, and encouraged to develop ideas on their own as well. One of the projects was to create a "racecar" robot that will adjust speed for proper cornering. The fuzzy control was used to create a rule-based controller to select the proper wheel speed and steering angle using the input distances. In another project the goal was to implement a mobile robot that followed a moving object at a constant distance, and was capable of steering around the corners. Another team worked in the design and implementation of an insect behavior robot. In this project fuzzy control was used to implement the avoidance of light, sound, and obstacles. There were five teams in this workshop and the titles of the projects were: Follow the Leader, Heat Sensing Mobile Robot, Fuzzy Controlled Insect, Racecar Robot, and Sumo Robot. Figure 1 shows three of the projects. Page 8.589.6

Evaluation Scheme The projects were evaluated in several stages, in a gradual and continuous way. In the weekly meetings, each team presented the evolution of their projects and received orientation from the instructors. The objectives of these weekly meetings were also to have a close observation of the teams progress and assure that each team member contributed to the teamwork because for the final grade, all the members of each team obtained the same grade. During the ninth week, 40% Page 8.589.7

of the final grade was assigned, after the students presented a written report and oral presentation of the results of their simulations. Another 40% of the final grade was assigned to the students during week fifteen when they demonstrated that their project was working in accordance to the specifications. The last 20% of the final grade was assigned based on the final oral presentation, taking into account the quality and clarity of the presentation, and the completeness of the final written report. Conclusions In this workshop it was found that students were more motivated in learning fuzzy logic theory and microcontroller programming by applying them to the design and implementation of mobile robots. By requiring students to use the MC68HC12 and take the advantage of the fuzzy logic features in the system, the students gained an excellent understanding in both disciplines: microcontrollers and fuzzy logic. In particular they learned how to apply this knowledge to develop a mobile robot and program intelligent behaviors. Students were also exposed to team learning experience and team-based design, and had the opportunity to exercise and improve their written and oral communication skills. References [1] Stachowicz, M. S., Lance Beall, "Fuzzy Logic Package for Mathematica", Wolfram Research, Inc, (1998). [2] New Mexico Tech, Department of Electrical Engineering, Retrieved February 4, 2002, from the Web Site: http://www.ee.nmt.edu/~mrobokit [3] Carroll, C.R., Stachowicz, M.S. "Fuzzy logic on the MC68HC12 microcontroller: a student design workshop", Computers in Education Journal, February, (2001). [4] Carroll, C.R, "Design Workshop Experience using the Motorola 68HC12 microcontroller", Proceeding of the 1998 North Midwest section meeting of ASEE, Winona, MN, (1998). [5] Pack, D.J., Barrett, S.E, The 68HC12 Microcontroller: Theory and Applications, Prentice Hall, (2001). [6] Motorola Semiconductor, "CPU12 Reference Manual", Motorola Inc., (1997). 7. Motorola Semiconductor, "M68HC12B Family, Technical Data", Motorola Inc., (1997). Page 8.589.8

ROCIO ALBA-FLORES. Rocio Alba-Flores received her Bachelor in Science from the National Polytechnic Institute in Mexico, and M.S. and Ph.D. degrees from Tulane University. Dr. Alba is an Assistant Professor at the Electrical and Computer Engineering department at the University of Minnesota Duluth. Her interests include control, robotics, image processing, digital systems, and microprocessor applications. MARIAN S. STACHOWICZ. He received his M.Sc. degree in Control and Computer Engineering from the LETI, Soviet Union and both his Ph.D. and D.Sc. from A G-H, Poland. Professor Marian S. Stachowicz heads the Laboratory for Intelligent Systems at UMD. His work centers on artificial intelligence and soft computing, decision analysis and control. He is co-author of Fuzzy Logic Package for Mathematica. Page 8.589.9