Mobile robotics is inherently a multidisciplinary field due to the interaction of hardware, software, and electronics to create a machine that can sense its environment and then autonomously navigate in the world to achieve some goal or task. Due to its interdisciplinary nature, courses on mobile robotics draw students from multiple disciplines including computer science, electrical engineering, and mechanical engineering. However, teaching mobile robotics to students from multiple disciplines presents some unique challenges. For example, students in such a course may have divergent interests and skill sets with respect to hardware, software, and electronics. Computer science students may not take a controls course; electrical engineering students may not be familiar with kinematics; mechanical engineering students may not have electronic sensors experience. Therefore, the prerequisite knowledge and skillsets of the students will affect the course topics as well as how they are presented. These challenges also influence the types of assignments given and how they are assessed. Although it is possible to teach robotics with a simulator, there are some important learning opportunities presented with real world hardware. For example, how to handle sensor error, odometry error, dynamic environments, mismatched motors, memory and bandwidth limitations. It would be ideal to have a robot platform with some flexibility such as in the programming language, interface, and programming device in order to address the needs of diverse populations. It would also be desirable to have some flexibility in the robot controller such as in the number of I/O ports, communication ports, ADC, and DAC. This flexibility will enable the expert user to customize the system to suit their unique needs while also not being overwhelming for the novice user. This flexibility allows students to use what they are most familiar with to reduce the learning curve and enables them to achieve small successes in robotics quicker. This solution will take the focus away from the implementation tool and put it on the robotics educational objective.
This paper will present a solution to the need for an educational robotics platform that is suitable for divergent skill sets. It will describe the design of an economical plug and play robot to suit the needs of a mobile robotics course for students from multiple disciplines. This robot system can be programmed in JAVA, Python, Lua or C. It can be programmed with various devices such as smartphones, tablets, or the traditional, laptop computer. This mobile robotics course currently uses off the shelf of slightly modified off the shelf robots to teach robotics history, control, locomotion, navigation, localization, and path planning. The laboratory assignments are obstacle avoidance, path planning, wall following, light tracking, homing, docking, localization, and mapping. The results will indicate that it is possible to use this modular platform to achieve some of the same tasks such as create the basic behaviors needed to complete the lab assignments.
Are you a researcher? Would you like to cite this paper?
Visit the ASEE document repository at
for more tools and easy citations.