610 likes | 713 Views
Development and Validation of a Low Cost, Flexible, Open Source Robot for Use as a Teaching and Research Tool Across the Educational Spectrum. Dissertation Defense By Abraham L. Howell Thursday, March 29, 2012. Committee Members. Roy T.R. McGrann, Chair - ME Dept.
E N D
Development and Validation of a Low Cost, Flexible, Open Source Robot for Use as a Teaching and Research Tool Across the Educational Spectrum Dissertation Defense By Abraham L. Howell Thursday, March 29, 2012
Committee Members • Roy T.R. McGrann, Chair - ME Dept. • Bruce T. Murray, Member – ME Dept. • Richard R. Culver, Member - ME Dept. • Richard R. Eckert, Member - CS Dept. • Harold W. Lewis III, Member - SSIE Dept. • Patrick P. Madden, Outside Examiner – CS Dept.
Defense Outline • Background and motivation • Review of engineering education literature • Statement of Research • Developed teaching and robotics research tool, Open-Robot • Initial investigative research results for Open-Robot • Open-Robot’s use in swarm research • Final research results for Open-Robot • Final conclusions and future work
Background and Motivation – Robots as a Teaching Tool Motivate Captivate Reinforce Concepts & Theories Extend Concepts & Theories Real World Context STEM Careers
Background and Motivation – Robots as a Research Tool for Swarm Robotics Test New Algorithms Validate Simulator Results Test New Hardware Designs Cost Centralized & Decentralized Real World Interactions
Review of Engineering Education Literature Attitudinal Surveys Pre-Post Tests Assessment Summer Camps Capstone Design Projects Classroom, Laboratory, Problem-Based, and Project-Based Learning, Design Competitions and Early Research Involvement Science, Technology, Engineering & Mathematics (STEM) Robotics, Programming, Engineering K-12 Undergraduate Engineering Educational Spectrum
Statement of Research • The primary focus of this dissertation has been to develop and validate a low-cost, flexible, open source robot that can be used as a teaching tool across the educational spectrum and as a research tool in the area of swarm robotics. • Question 1 • Can a specially developed robot teaching tool positively impact student learning? • Question 2 • Can a specially developed robot research tool be used to validate swarm robotics algorithms and hardware designs? • Hypothesis 1 • A symbiotic relationship between engineering educators and swarm robotics researchers can be created when a common robot platform is utilized by both parties.
Initial Investigative Research Results for Open-Robot • Use in undergraduate bioengineering course. • Autonomous Agents course. • Use in undergraduate computer science course. • Microcontrollers and Robotics course. • Use in high school programming classes. • Java and C++ classes. • Use in high school physics class. • Tele-research with Minnesota High School.
Use in Undergraduate Bioengineering Course • In the Spring of 2006, an earlier version of Open-Robot, BIObot, was used in BE380B Autonomous Agents as part of a National Science Foundation (NSF) Curriculum and Laboratory Improvement (CCLI)Grant. • All the laboratories were designed to leverage BIObot as a teaching tool. • Specially designed Pocket PC software provided students with a means of interacting and controlling BIObot wirelessly. • Course focused on the following: habituation, sensitization, reflexes, classic control theory, fuzzy logic systems, neural networks, genetic algorithms and genetic programming.
Working with the BIObot robots helped me to understand the course concepts better. • The software interfaces for the BIObots and the Pocket PC's were easy to work with. • Using the BIObots was fun. • The BIObots helped me to learn how to use the various methods and techniques learned in class. • The concepts and ideas from the lectures were not clear to me until we used them with the BIObots in the lab. • The BIObots made me want to learn more so that I could make the robots do more things. • It was easy to figure out how to program the BIObots. • The BIObots made me appreciate the difference between a classroom example and running a system in the real world.
Use in High School Programming Classes • An earlier version of Open-Robot, BIObot, was leveraged in (2) high school programming classes that focused on Java and C++. • Robot intervention occurred near the end of the class and just prior to the final project. • A total of (3) lectures and corresponding laboratories provided an introduction to the robots, sensors, serial communication and specially designed C++ and Java class libraries. • First lecture and lab focused on introducing robot and its sensors. • Second lecture and lab familiarized students with corresponding class library. • Third lecture discussed how to create behaviors such as obstacle avoidance and light tracking.
Using BIObots was fun. • It was easy to figure out how to program BIObot. • The BIObots made me want to learn more so that I could make the robots do more things. • The BIObots made me appreciate the difference between a classroom example and running a system in the real world. • After working with BIObot I am more interested in science. • The use of BIObots in this class is a good idea. • Using BIObots enhanced my interest in this class. • After working with BIObot I am more interested in engineering.
Use in Undergraduate Computer Science Course • In the Spring of 2007, an earlier version of Open-Robot, BIObot, was integrated with a microcontrollers and robotics course. • Robot was used as a teaching tool in (3) out of the (12) laboratories. • Low-Level Serial I/O • Wireless Communication with Bluetooth • High-Level Robot Behaviors • Results of this work were published and presented at the 2008 ASEE Annual Conference and Exposition, Pittsburgh, PA
I enjoyed working with the BIObot robot in this lab. • BIObot helped to clarify the concepts associated with this lab. • It was easy to interface BIObot with the QwikFlash microcontroller board. • BIObot helped me to better understand real-world hardware/software interaction. • Working with BIObot increased my interest in this lab. • BIObot helped me to better understand serial communication. • I recommend using BIObot in this lab for future course offerings. • I would like to work with BIObot again.
I enjoyed working with the BIObot robot in this lab. • BIObot helped to clarify the concepts associated with this lab. • Connecting BIObot with a desktop computer was not difficult. • BIObot helped me to better understand wireless robot control. • Working with BIObot increased my interest in this lab. • Programming BIObot was not difficult and it helped me to better understand the issues associated with wireless control. • I recommend using BIObot in this lab for future course offerings. • After working with BIObot, I am more interested in learning about wireless control.
I enjoyed working with the BIObot robot in this lab. • BIObot helped to clarify the concepts associated with this lab. • It was easy to program BIObot for obstacle avoidance. • Programming BIObot for two competing behaviors (obstacle avoidance and light tracking) is difficult. • Working with BIObot increased my interest in this lab. • BIObot helped me to better understand how robots sense objects and navigate in unknown environments. • I recommend using BIObot in this lab for future course offerings. • BIObot helped me to better understand how to program robots for real-world applications.
Use in High School Physics Class – Long Distance Educational Research • In 2009 a total of (10) Unassembled Open-Robot kits were leveraged by a Minnesota high school. • Robots were used as part of a project-based learning opportunity for a physics teacher’s class. • A total of (30) students worked in small groups to perform all the required soldering and mechanical assembly. • Also had to perform initial electrical debug. • In order to satisfy the final deliverable each group had to develop a program that controlled their Open-Robot with a behavior of their own design.
S1: Ability to identify a capacitor, resistor, and voltage regulator. • S2: Knowledge and understanding of common electronic components i.e. capacitor, resistor, and voltage regulator. • S3: Ability to solder through-hole components. • S4: Knowledge and understanding of robot sensors. • S5: Ability to assemble a programmable robot. • S6: Knowledge of robot programming.
I enjoyed assembling OPEN-ROBOT’s circuit boards. • I enjoyed assembling OPEN-ROBOT’s mechanical components. • I did not know how to solder until working with OPEN-ROBOT. • It was fun to work with a real-world robot like OPEN-ROBOT. • Working with OPEN-ROBOT has increased my interest in this class. • I want to learn how to program OPEN-ROBOT. • I recommend using OPEN-ROBOT in future classes. • I would like to work with OPEN-ROBOT again.
I enjoyed assembling OPEN-ROBOT’s circuit boards. • I enjoyed assembling OPEN-ROBOT’s mechanical components. • I did not know how to solder until working with OPEN-ROBOT. • It was fun to work with a real-world robot like OPEN-ROBOT. • Working with OPEN-ROBOT has increased my interest in this class. • I want to learn how to program OPEN-ROBOT. • I recommend using OPEN-ROBOT in future classes. • I would like to work with OPEN-ROBOT again.
Use in High School Physics Class – Comments from Students • “Awesome” • “This was probably the best part of my senior year. Thanks for the opportunity.” • “It was a great experience!!!” • “Fun. Robot = learning physics.” • “This was the highlight of my senior year in high school.” • “It was a good experience.”
Initial Research Results – Issues with Assessment Methodology • Question 1: Can a specially developed robot teaching tool positively impact student learning? • Based upon the initial results we have gained additional insight and say yes this appears to be possible! • However, these results only reveal that students overall perceived an increase in knowledge, skills/abilities and interest in the subject matter under investigation. • We must directly quantify changes in student knowledge and correlate this to working with the teaching tool, so that this work can be deemed a rigorous validation. • How do we achieve this goal?
Open-Robots Use in Swarm Research • Using RFID and Open-Robot to evolve foraging behavior. • Using ZigBee™ to control a swarm of Open-Robots. • Cultural Transmission in a swarm of Open-Robots.
Using RFID and Open-Robot to Evolve Foraging Behavior • As part of the Swarm Robotics Research component, Open-Robot was used in an experiment to evolve foraging behavior. • RFID tags were loaded with virtual food and then embedded in a 4x8 foot environment. • Custom C# software was developed and leveraged Genetic Programming as a means of evolving foraging behavior for Open-Robot. • Results of this work were published and presented at the 2006 Genetic and Evolutionary Computation Conference, which was held in Seattle, WA
Using ZigBee™ to Control a Swarm of Open-Robots • A total of (3) Open-Robots were outfitted with a custom-designed ZigBee™ circuit board. • ZigBee™ is a low-cost, low-power wireless alternative to WiFi 802.11. • Allows for one-to-one and one-to-many network communication. • A custom centralized software controller was developed and used to provide foraging behavior to all (3) Open-Robots. • Demonstrated how ZigBee™ could be used to wirelessly control a swarm of robots. • Results of this work were published and presented at the 4th International Conference on Cybernetics and Information Technologies, Systems and Applications (CITSA 2007)
Cultural Transmission in a Swarm of Open-Robots • A total of (12) Open-Robots were used as part of a graduate student’s masters degree thesis work in BU’s Bioengineering department. • This work focused on developing a novel, decentralized control technique for swarms of robots. • RFID tags were leveraged as a mechanism for robots to transfer their respective behaviors indirectly to other robots in the swarm. • Robots searched the environment using different motion behaviors. • Results of this work were presented and published at the 2nd IEEE Symposium on Artificial Life (2009), which was held in Nashville, TN.
Final Research Results for Open-Robot • Assessment of student performance. • Specially developed pre/post/post testing methodology. • Course layout. • Learning modules and objectives. • Results of Pre/Post testing. • Results of Sentence Stem surveys. • Final conclusions and future work.
Assessment Methodology – Need for a Novel Quantitative Method • The initial investigative research phase solely leveraged attitudinal surveys in an attempt to solicit student feedback with respect to Open-Robot’s educational effectiveness in specific learning environments across the educational spectrum. • Attitudinal surveys or student-centric perspectives do not actually quantify the degree to which a student’s learning is affected, but instead they quantify each student’s attitude or perception regarding the usage of Open-Robot as a teaching tool. • The above-statements greatly illuminate the need for a novel quantitative methodology that will rigorously measure changes in student knowledge throughout the learning process. • How do we achieve this goal?
Specially Developed Assessment Methodology – Ideal Model Student Knowledge Learning Module Post-Laboratory Test Post-Lecture Test Pre-Lecture Test Progression of Time within Learning Module
Final Research Results for Open-Robot • Assessment of student performance. • Specially developed pre/post/post testing methodology. • Course layout. • Learning modules and objectives. • Results of Pre/Post testing. • Results of Sentence Stem surveys. • Final conclusions and future work.
Learning Objectives- Learning Module#7 Serial IO • Demonstrate the fundamentals of synchronous and asynchronous serial communication. • Be able to represent asynchronous and synchronous serial communication data frames in a graphical manner. • Be able to calculate baud rates and character transmission rates. • Interface a microcontroller’s UART with a desktop or laptop computer’s RS-232 serial port. • Configure a microcontroller’s UART for asynchronous serial communication using assembly level programming. • Develop and debug assembly level code for receiving and sending ASCII readable characters.
Learning Objectives- Learning Module#8 Embedded C • Understand the fundamentals of A/D hardware and how it can be used to interface robotic sensors. • Interpret non-linear sensor outputs and correlate to real-world units. • Understand the fundamentals of robotic odometry and how wheel encoders can be used for control feedback. • Develop and debug C code for a mobile robot that receives serial commands, executes commands, and sends back command responses. • Debug C code using an in-circuit programmer/debugger tool.
Learning Objectives- Learning Module#9 Wireless Robot Control • Understand the fundamentals of wireless control in the context of robots. • WiFi, ZigBee, Bluetooth and infrared communication. • Communication protocols and how to interface with hardware. • Understand the fundamentals of simple control algorithms and develop high-level programs that control a robot across a wireless connection. • Understand the fundamentals of proportional control algorithms and develop high-level programs that control a robot across a wireless connection. • Be able to tune the proportional gain parameters of a given proportional control system. • Be able to select a suitable control algorithm based upon system requirements.
Learning Objectives- Learning Module#10 Control Architectures • Understand the fundamentals of reactive, deliberative and subsumption control architectures. • Be able to select a viable control architecture for a given problem. • Design suitable subsumption control architecture for a given problem. • Develop and debug high-level code that implements subsumption control for a wireless robot. • Leverage multithreading or simple timers along with a task coordinator.
Learning Objectives- Learning Module#11 Fuzzy Inference Systems for Robot Control • Understand the fundamentals of fuzzy inference systems (FIS). • Define a suitable FIS using a block diagram. • Setup and configure a FIS. • Define and represent fuzzy relations for linguistic variables. • Calculate triangular and trapezoidal membership functions. • Evaluate If-Then Rules. • Calculate fuzzified and defuzzified outputs. • State the difference between Mamdani style and Fuzzy Singleton defuzzification. • Design, implement and tune a FIS that supplies different behaviors that control a wireless robot.
Final Research Results for Open-Robot • Assessment of student performance. • Specially developed pre/post/post testing methodology. • Course layout. • Learning modules and objectives. • Results of Pre/Post testing. • Results of Sentence Stem surveys. • Final conclusions and future work.
Results of Pre/Post/Post Testing • Each student was assigned a number, so that their corresponding pre-lecture, post-lecture and post lab results could be analyzed. • This provides a more in-depth view into how a specific student’s knowledge evolved throughout the learning process. • Unfortunately there were only a total of 9 students that participated in this study. • In order to deem the results from each learning module statistically significant they were first analyzed for normality using Anderson-Darling. • A Paired T-Test was used to determine whether or not the post-lecture and post-lab score changes were significant.
Results of Pre/Post/Post Testing – Testing for Normality using Anderson-Darling Test • H0: Data follows a Normal Distribution • H1: Data does not follow a Normal Distribution • If P-Value > .05 & AD < Critical Value (CV), then accept null hypothesis and conclude that data follows a normal distribution. • If P-Value ≤ .05 & AD > Critical Value (CV), then reject null hypothesis and conclude that data follows a non-normal distribution.
Results of Pre/Post/Post Testing – Results of Paired T-Test • H0: Test A to Test B Differences are not significant • H1: Test A to Test B Differences are significant • If P-Value < .05, then reject null hypothesis. • If P-Value ≥ .05, then accept null hypothesis. • Paired T-Test reveals that Post-Lecture and Post-Lab changes are statistically significant.
Learning Module#7 – Serial I/O • Learning Module#8 – Introduction to Open-Robot & Embedded C • Learning Module#9 – Wireless Robot Control • Learning Module#10 – Behavior Control Architectures • Learning Module#11– Fuzzy Logic Inference Systems for Robot Control
Why did Student#3 and 9 regress? • Student#3 leveraged an incorrect solution methodology on question#1. • Question#1 required an iterative solution process, so that the baud rate error could be minimized, but Student#3 did not use an iterative process. • Student#9 answered two parts of question#3 correctly on the pre-lecture test, but only one part on the post-lecture. • Question#1 & 2 were answered incorrectly on both the pre-lecture and post-lecture tests.
It is possible that student#6 was responsible for the success of group#2 in the Serial IO laboratory.
Why did Student#7 stagnate after the Post-Lecture test? • Question#2 and 3 were answered in a similar manner on the Post-Lecture and Post-Lab. • Had difficulty answering question#1 on all three tests. • Question#1 focuses on learning objective#1 & 2, which is related to concepts associated with robotic sensors that output a non-linear, varying voltage and must be interfaced with a microcontroller’s analog-to-digital hardware.
After examining the individual tests in detail, it is interesting to find that student#5 and 8 also had difficulty with question#1 even through their respective level of knowledge continued to grow from pre-lecture to post-lecture and post-lecture to post-lab.
What happened to Student#3 and 7? • A closer look at the tests reveals that Student#3 made a mathematical error on question#3 for the Post-Lab test. The methodology was correct, so in essence student#3 stagnated. • Student#7 simply stagnated after the post-lecture test.
Pre-Test shows that students knew very little about Subsumption Architecture. • A majority of the students converge upon saturation after the pre-lecture.
Pre-Test results show that students knew very little about Fuzzy Logic. • Student#3 did not answer any of the questions on the pre-lecture and only question#3 on the post-lecture and post-lab test. • An informal inquiry with student#3 revealed that he/she had been extremely busy with other courses and simply had not been able to devote the appropriate amount of time in or out of class.
The post-lecture and post-lab tests for student#6 show that he/she partially answered question#1, 2, and 3 in a similar manner, but simply did not answer question#4. • Question#4 attempted to measure student knowledge relative to the evaluation of If-Then-Rules.
Final Research Results for Open-Robot • Assessment of student performance. • Specially developed pre/post/post testing methodology. • Course layout. • Learning modules and objectives. • Results of Pre/Post testing. • Results of Sentence Stem surveys. • Final conclusions and future work.