Asee peer logo

Workshop: Interfacing MATLAB with Sphero Robots for an Introduction to Programming Class

Download Paper |

Conference

14th Annual First-Year Engineering Experience (FYEE) Conference

Location

University of Tennessee in Knoxville, Tennessee

Publication Date

July 30, 2023

Start Date

July 30, 2023

End Date

August 1, 2023

Conference Session

S1B: Workshop II

Tagged Topic

Workshops

Page Count

3

DOI

10.18260/1-2--44865

Permanent URL

https://peer.asee.org/44865

Download Count

70

Request a correction

Paper Authors

biography

Joshua Fagan University of Tennessee at Knoxville

visit author page

Joshua Fagan is a lecturer at the University of Tennessee in Knoxville. Josh's background is in artificial intelligence and he specializes in machine learning and robotics. Josh enjoys sharing his passion for computer science and AI by teaching students of all backgrounds and levels of proficiency. In his free time, Josh likes to garden, cook, woodwork, and run.

visit author page

biography

Amy Katherine Biegalski PE University of Tennessee at Knoxville

visit author page

Dr. Biegalski is a senior lecturer in the Engineering Fundamentals Program at The University of Tennessee, Knoxville. She received her M.S. and Ph.D. in Structural Engineering from the CASE School of Engineering and holds a Michigan PE license. Before joining the faculty of University of Tennessee she worked as a consulting structural engineer in building and bridge design and analysis.

visit author page

Download Paper |

Abstract

This workshop is for engineering and technology educators who want to enhance their programming course with robotics. It will focus on interfacing MATLAB with wheeled robots to provide a fun and engaging introduction to programming, in the context of engineering concepts. Participants will learn how to implement the workshop leaders’ open source toolbox with raspberry pi controlled Sphero RVR robots, allowing instructors and students to program highly customizable robots with MATLAB.

Exploring mobile robotics and autonomous car technology can be enticing for students interested in engineering and technology, but there are limited options for affordable wheeled robots that can be readily programmed with MATLAB, the computer language of choice for many engineering introductory programming classes. MATLAB offers a robust IDE, live help, an extensive amount of built-in toolboxes, and the ability to rapidly prototype and visualize data. The workshop leaders developed a toolbox that implements ROS as a bridge between Python running on a Sphero RVR’s Raspberry Pi and MATLAB running on a student’s computer. With this toolbox, the ROS and Python communications are hidden from the user/student, ensuring beginners in programming are not burdened by extraneous details and complications. This implementation of MATLAB controlled Sphero RVR’s may be a good fit for other classrooms and institutions; the chassis is commercially available and relatively inexpensive, and the system is versatile and easily expandable for adding custom components and features.

This workshop will show participants how their students can use MATLAB to control a raspberry-pi controlled Sphero RVR for developing programming skills. We'll share ideas for how students can gain practical experience with key programming concepts such as flow control, inputs and outputs, and data analysis and manipulation. The vehicular robots simulate some basic autonomous car technology and use of neural networks. Students can learn about data collection and analysis using sensors and actuators, such as ultrasonic sensors, infrared sensors, digital cameras, and motors. We'll show how students can practice programming algorithms that process data from these sensors and control the movements of the robot, such as obstacle avoidance, following algorithms, and lane following. Further explorations can offer hands-on application and connection of concepts learned in their other introductory engineering courses, including tracking positions as vectors and creating pos-vel-acc plots (calculus based physics), examining correlation matrices and confidence data (statistics), Fourier analysis of recorded sounds (signal processing), and early introductions to machine learning and trained networks with object, human, and speech recognition. Example project presentation and assessment activities will be discussed to demonstrate how the activities can develop teamwork, written and oral technical communication, and design skills. The addition of robotics in programming classes adds a fun-factor that is excellent for struggling learners and enables highly motivated students to experiment with implementing MATLAB’s powerful tools.

To have the most impact and provide hands-on practice with the robots, we propose a two part workshop. The first part of the workshop will provide an overview of the system architecture and instruction on classroom implementation. Facilitators will present example classroom activities demonstrating how the toolbox can aid in understanding programming and general engineering challenges. The second part of the workshop will give participants experience interacting with the robots in some basic hands-on activities with the robots that will allow participants a higher appreciation and retention of covered material. A demonstration on how participants can extend the capabilities for their own unique usage will also be provided. Part one will be a prerequisite for part two, but participants can attend only part one.

Proposed learning activity schedule: Part One 1. System overview 2. Survey of workshop participants, background and goals 3. Robot Build - overview of standard Sphero and Raspberry Pi hardware 4. Software - overview of developed software components 5. Example introductory applications for learning programming skills and extension to other first year engineering topics. 6. Example learning outcome based assessment. Part Two 1. Hands-on opportunity to use the robots with MATLAB and explore basic controls 2. Example introductory applications for learning programming skills and extension to other first year engineering topics 3. Participants work to develop their own classroom applications 4. Discussion of potential classroom applications and needs 5. Details of how to add features and expand the toolbox to facilitate unique goals 5.1. Customizing hardware with additional Pi components and 3D printed parts 5.2. How and where to modify code to integrate hardware updates

The workshop doesn’t require prior knowledge of MATLAB, but some knowledge of MATLAB will be beneficial. Participants will be encouraged to perform software setup prework in advance of the workshop so they can fully participate in the hands-on robotics activities. Prework information will be provided to workshop registrants. Participants without the prework software will still have the opportunity to interact with the robots in small groups.

Fagan, J., & Biegalski, A. K. (2023, July), Workshop: Interfacing MATLAB with Sphero Robots for an Introduction to Programming Class Paper presented at 14th Annual First-Year Engineering Experience (FYEE) Conference, University of Tennessee in Knoxville, Tennessee. 10.18260/1-2--44865

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: © 2023 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