June 24, 2017
June 24, 2017
June 28, 2017
Computers in Education
Engineering cornerstone design projects often involve an objective evaluation of how well the developed systems interact with their environment. Simulating environments that incorporate a varied number of factors while also providing objective evaluation of performance is a challenging task. To address this, a low cost, easily adaptable, and modular system of networked embedded devices was developed for use in [the Institution's] First-Year Engineering Honors Program's "Cornerstone" Design Project. Students are given a microcontroller, access to a “store” with available components, and a budget with which to purchase parts, with the goal to develop a robot responsible for accomplishing a variety of tasks on the course in under two minutes. At the end of the semester, each of the teams of four students and their robots compete at the robot competition.
During the design project, which has been running for 23 years, teams of four students are given a microcontroller, access to a “store” with available components, and a budget with which to purchase parts, with the goal to develop a robot responsible for accomplishing a variety of tasks on the 18 square foot course in under two minutes. At the final competition, four teams run their robots on four identical courses, which are all linked together.
The major goals for this system are consistency between the sections, objectivity of scoring, and modularity. Because of this, all four sections contain the same hardware and run the same software. Control of the course is maintained by a central PC. This PC communicates with the scoring system to automatically assign appropriate scores to each robot on each run, providing an entirely objective scoring mechanism. The central PC maintains a timer on each run, which has millisecond precision, so robots that complete the course with the same score can still be ranked. This takes the human error out of timing, providing objectivity of scoring.
Every region on the course is controlled by a Raspberry Pi 2 Model B. The Raspberry Pi is the main controller for each region, but it connects and remains synchronized to the central PC via an Ethernet connection. Connected to each Raspberry Pi are three other electronic entities, including an Arduino (via a serial connection), an IO Board (via i2c), and a PWM Board (via i2c). The Arduino provides other processing capabilities, such as controlling specific types of LEDs for effects. The IO board controls buttons and switches, and the PWM board controls LEDs and motors. These boards were designed or chosen because they provide the hardware modularity required for this system.
Software modularity is another key component of this system. By running the same C# code on both the central PC and the Raspberry Pis, the software only needs to be written once, reducing the potential for bugs and increasing reliability for the students. The modularity of the software is reflective of the modularity of the hardware: low level software components can be directly mapped to corresponding hardware components. Additionally, higher level components, such as the user interface that students interact with to control the requirements and manage their runs, can be developed modularly as well, relying on the low level components in order to provide precisely defined behavior for the students.
Because this software maintains the state of the course at any given time, it enables the Robot Positioning System (RPS) to communicate that state to the robots on the course. Students can rely on these inputs as they design their solution. A result of the software patterns of modularity and abstraction is that robots can only interact physically with the course, or obtain data from RPS, but they cannot write to the network, pass commands to the course, or cause any undefined physical behavior. Therefore, the course is encapsulated and abstracted from the students, allowing them to focus on their project without the requirement that they understand how the course functions under the hood.
The Under-the-Course electronics and software provide the students with the ability to solve the problem they are presented without understanding the system that runs the course. This system enables the existence of a mechanism for the students’ robots to obtain data about the state of the course, so that the students are able to write code that interacts with the environment in real time. Finally, because of this system, it is possible to completely and objectively score any robot’s interaction with the course, in terms of the completion of tasks and the time it took to complete those tasks.
Schulz, M. H., & Danish, E. J., & Leonhardt, T. W., & Jackson, J. W., & Frank, D. J., & Freuler, R. J. (2017, June), Modular System of Networked Embedded Components for a First-Year Engineering Cornerstone Design Project Paper presented at 2017 ASEE Annual Conference & Exposition, Columbus, Ohio. 10.18260/1-2--28683
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2017 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015