1 / 21

Mainstreaming Motes in Undergraduate Computer Engineering Curriculum

This article discusses the integration of sensor networks and motes into the undergraduate computer engineering curriculum, emphasizing practical applications and project-based learning. The Flock project is used as a case study to demonstrate the use of motes in teaching concepts such as sound generation, emergent behavior, and ad hoc networks. The course structure and use of TinyOS are also highlighted.

ajoyce
Download Presentation

Mainstreaming Motes in Undergraduate Computer Engineering Curriculum

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Flock:Mainstreaming Motes into the Undergraduate Computer Engineering Curriculum Waylon Brunette Department of Computer Science & Engineering University of Washington (joint work with Bruce Hemingway, Tom Anderl, and Gaetano Borriello) IEEE Computer, August 2004 The Flock

  2. Outline • A short personal history • A quick overview of UW curriculum and CSE466 • Sensor networks in an undergraduate curriculum • Conclusion The Flock

  3. Undergraduate History • UW- BS in Computer Engineering (2002) • Plant Care - undergraduate research project • sensors monitor plant’s health, robot waters at the right time • A. LaMarca, W. Brunette, D. Koizumi, M. Lease, S. Sigurdsson, K. Sikorski, D. Fox, G. Borriello. Making Sensor Networks Practical with Robots. 1st International Conference on Pervasive Computing (Springer-Verlag Lecture Notes in Computer Science Vol. 2414), Zurich, Switzerland, pp. 152-166, August 2002. • A. LaMarca, W. Brunette, D. Koizumi, M. Lease, S. Sigurdsson, K. Sikorski, D. Fox, G. Borriello. PlantCare: An Investigation in Practical Ubiquitous Systems. 4th International Conference on Ubiquitous Computing (Springer-Verlag Lecture Notes in Computer Science Vol. 2498), Goteborg, Sweden, pp. 316-332, September 2002. • MULEs - senior capstone project • using mobility for connectivity in sparse sensor networks • R. C. Shah, S. Roy, S. Jain and W. Brunette, "Data MULEs: Modeling a three-tier architecture for sparse sensor networks", IEEE Sensor Network Protocols and Applications (SNPA), Anchorage, May 2003. • R. C. Shah, S. Roy, S. Jain and W. Brunette, "Data MULEs: Modeling and analysis of a three-tier architecture for sparse sensor networks", Elsevier Ad Hoc Networks Journal, vol. 1, issues 2-3, Sept. 2003, pp. 215-233. • S. Jain, R. C. Shah, W. Brunette, G. Borriello and S. Roy, "Exploiting mobility for energy-efficient data collection in sensor networks", IEEE WiOpt, 2004. The Flock

  4. Computer Engineering Curriculum • In the dark ages • Computer architecture and CPU design • 1990s • Systems built around highly integrated microcontrollers or FPGAs • 2000s • Embedded software and operating systems • Application focused • Now, wireless communication opens up new vistas The Flock

  5. UW – Computer Engineering • Shared core curriculum with CS program • Computer engineers specialization courses TechComm II TechCommI Engl. Comp. Adv Logic CapstoneDesign Digital Design Comp Org EmbeddedSoftware Languages Intro II Intro I CSE Elec Networking DiscreteMath CS Theory CSE Elec OS DataStructures Math 124/134 Math 125/135 Math 126/136 Math 308/318 Stat 390/391 Circuits Phys 121 Phys 122 Intro EE The Flock

  6. CSE 466: Software for Embedded Systems • Course Goals • Basic microcontroller architecture • Motivation for their special features that distinguish them from microprocessors • Interfacing techniques • Connecting microcontrollers to sensors and actuators (both digital and analog) • Panorama of design considerations and constraints • Issues that must be addressed by software developers of embedded systems • Power management methods • Basic communication protocols • Both wired and wireless • Facility with a complete set of tools for embedded systems programming • Emphasis on debugging and testing • Implement at least two embedded systems • particular focus on interaction between multiple devices • communication between devices and general-purpose computers The Flock

  7. CSE 466: Course Project • Complete a large project that embodies the major course topics • Project should be simple but expandable • The project should include: • Multiple device communication • Deal with constrained resources • Control hardware by directly manipulating the I/O • Introduce an embedded OS • Participate in a multi-agent project – team effort • Use current technology The Flock

  8. The Flock Project • Used motes to teach the concepts of the class and at the same time exposed students to an emerging technology • Combine: • Sound Generation • Emergent Behavior • Ad hoc networks • Subjective Goal: • Generate behavior that mimics the effect of birds cooperating to sing the same song but vary the particular song over time – in our atrium • Meets Project Goals: • Requires use of timers, radio communication, and direct manipulation of hardware for sound generation The Flock

  9. Course Structure • 10 week course • Taught using bottom up approach • Incremental laboratory projects to familiarize students with tools and components The Flock

  10. Motes and TinyOS • Motes • Worked well with existing curriculum • ATMega16 and avr-gcc were already used • Standard platform with built-in radio and other hardware • Existing TinyOS code base • Convenient form factor for adding sensors • TinyOS • Event-based style helped students understand: • Time constraints • Code structure (need to write short non-blocking routines) • Existing modular code base saved time • Made a more complex project possible • Provided a degree of abstraction The Flock

  11. Amplitude Sustain level Attack Decay Sustain Release Sound Generation • Used PWM with low pass filter to generate sound • Taxes the systems memory and CPU • Wave and sequence tables used to generate the sound take up a large part of memory • Uses many processor cycles, requiring efficient coding • Many students used a 15.625kHz sampling rate on the mica2dots (4 MHz crystals) • Processing had to complete in 256 cycles • Timing errors are easily detectable (<10 ms) • Gives quick feedback on program accuracy • Code inaccuracies are generally audible The Flock

  12. Student Input • Presented a simplified algorithm • Purposefully incomplete • Wanted student feedback • Experience the design process and how to deal with ambiguities • Initially presented the flock concept in the context of emergent behavior and cellar automata • Final algorithm incorporated many student suggestions • Increased student interest • Students became involved in making sure the project worked The Flock

  13. Flock Basic Behavior • Sing the same song for a little while • Songs start, then spread, then die out • Over time, different songs emerge as dominant for some period The Flock

  14. Flock Network Design • Uses received radio packets to generate behavior • Packet is sent when a song is completed • Radio packets collected over random amount of time (bounded by min/max) • Decisions depend on neighbor nodes • Nodes with closer proximity are more heavily weighted when choosing next song • Utilizes signal strength to give the closer mote more weight The Flock

  15. Dynamic Flock • Designed for non-deterministic group behavior • Adjustable network parameters • Allows flock behavioral control • Allows change in avg sound density • Allowed evaluation of individual nodes • Inject commands via the radio • Start/Stop • Update global parameters • Max number of song repetitions • Listen times • Threshold • Probabilities • TxPower The Flock

  16. The Concert • The final exam for the class was a concert • Each student had a mote to contribute (50 motes) • Same rules, different code in each mote • The mote had to “qualify” • Testing scripts were used to simulate the flock to eliminate nodes that would cause problems • Used for grading projects The Flock

  17. Flock Expansion • Add light sensors to determine day or night • Change sounds • Day – Bird calls • Night – Crickets • Both – Babbling stream, or other sounds • Would require sensors to aggregate data • Sensors near lights that are on 24/7 would need the aggregated data to determine day or night • Add microphone to determine when its appropriate to make noise and what volume is appropriate • Further vary the songs based on network traffic The Flock

  18. Mote integration in CSE466 • Fit in well with the rest of the course material • Successfully introduced students to an embedded OS • Reinforced layers of abstraction with modular design • Allowed a more complicated project to be completed • Event-based style reinforced non-blocking and short routines • Presented debugging challenges for students • Reinforced the earlier concepts of debugging • Fewer I/O options on motes than breadboard • Needed to debug hardware so they could hear the sound output and ensure their timing was correct (simulator doesn’t work well) The Flock

  19. Course Challenges • Installation of tools on lab image machines • Conflicts between specialized and pre-installed versions • Specializing generic software can be a problem • Increased emphasis of testing tools • Must be easy to use – e.g., logic analyzer for sensor nets • Created broadcast test fixtures – simulation not enough • Institutionalize teaching materials • Generic sensor network kit • Do not require a local expert • TinyOS is a moving target The Flock

  20. Sensor network education • Integration into undergraduate curriculum enables sensor network senior projects and participation in research projects • Exposes students to emerging technology • Allows application focused projects that energize students to complete more challenging assignments • Friends and family can understand the application • Feeds into more specialized/focused graduate courses that emphasize open research questions The Flock

  21. Conclusion • Successful in integrating traditional course topics with sensor networks • Effective use of TinyOS to illustrate embedded software abstraction layers • Second iteration this year is developing a package of materials for distribution • Several students were already able to employ motes in their capstone projects (follow-on course) • Leads to increased undergraduate participation in research projects that use sensor networks • Working toward a permanent installation in CSE atrium The Flock

More Related