z-logo
open-access-imgOpen Access
Using Microservices to Modularize Components and Teaching Assistant Development Teams for a Robotics Design Project Computer System
Author(s) -
Jared Mitten,
Andrew T. Phillips,
Kathleen Harper,
Richard Freuler
Publication year - 2020
Publication title -
2019 asee annual conference and exposition proceedings
Language(s) - English
Resource type - Conference proceedings
DOI - 10.18260/1-2--33508
Subject(s) - robotics , computer science , microservices , robot , software , component based software engineering , software engineering , hardware architecture , artificial intelligence , construct (python library) , software system , embedded system , operating system , cloud computing , programming language
This paper describes the use of a microservices architecture for separation of concerns in a complex hardware and software system which runs multiple components of a robotics design and build project. At The Ohio State University, this robotics project serves as a cornerstone design experience in a two-semester first-year engineering honors course sequence. Student teams must design, construct, and program autonomous robots to navigate and complete tasks on a themed course. This extensive robot course system is operated entirely electronically with a system of hardware sensors, outputs, boards, and several pieces of software that track the state and score of each task in real-time. The students operate their robot via a programmable robotics controller that communicates wirelessly with the course system. All the software and hardware components of the course computer system and robot controller are developed and maintained by teams of graduate and undergraduate teaching assistants with technical experience in these areas, and the components must all communicate efficiently so that students have the smoothest experience possible. Managing the complexity of this large computer system is a challenge since several software and hardware components must interact. Microservices allow for a reduction in overall system complexity by structuring the system into a collection of loosely coupled components. The individual system components are thus smaller in scope and are more easily developed and maintained by specialized teams of teaching assistants. This microservices architecture allows several specialized teams to design, develop, and maintain different software and hardware pieces of the robot course simultaneously. By implementing principles of separation of concerns, the system is modularized, which aids with debugging by narrowing the scope of issues that can occur. Additionally, the reduced scope of the individual components makes it easier to explore and implement new innovative design features. Finally, this system allows for onboarding of new teaching assistant team members who may have little or no experience because they are only responsible for learning how a single component works. All these advantages of microservices and separation of concerns allow the teaching assistants to construct an entirely new course scenario every year in a timely and modular manner while strengthening their technical and team working skills. Thus, the goals of this paper are to describe the modular team structure for the development and maintenance of this large robotics course computer system, and to use data from recent years to show the benefits of this structure on the skill development of teaching assistants and on the design experience for the students.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom