College - Author 1

College of Engineering

Department - Author 1

Computer Engineering Department

Degree Name - Author 1

BS in Computer Engineering

College - Author 2

College of Engineering

Department - Author 2

Computer Engineering Department

Degree - Author 2

BS in Computer Engineering

College - Author 3

College of Engineering

Department - Author 3

Computer Engineering Department

Degree - Author 3

BS in Computer Engineering

Date

6-2023

Primary Advisor

Andrew Danowitz, College of Engineering, Computer Engineering Department

Additional Advisors

Rich Murray, College of Engineering, Computer Engineering Department

Abstract/Summary

The RoverX Senior Project has been an evolutionary process, with its roots in the RoverX Capstone project which concluded in the Winter of 2023. Our journey commenced with a core focus on hardware, which culminated in the successful creation of the Minimum Viable Product (MVP). Further information on our initial endeavors can be found in the 2022 "Alpha Report" and the 2023 "Summary of Handoff Contents/Quick Start Guide" for the RoverX project. However, recognizing the limitless possibilities of software in enhancing the rover's capabilities, our focus shifted towards this exciting frontier. Our final quarter of the senior project was dedicated to refining the source code and generating comprehensive documentation, which will serve as an invaluable guide for future rover teams. In consultation with Prof. Murray, we embarked on the creation of a command layer. The intention behind this was to provide a user-friendly interface where high-level commands could be input and subsequently executed by the rover. The unique structure of this layer was conceived to include an outer layer written in C++, which would then interact with Python-based movement functions controlling the rover. This interaction is facilitated by an innovative "interpreter", designed to bridge the C++ and Python realms by translating C++ commands into executable Python scripts. This strategic choice was fueled by the impending transition of the rover's source code from Python to C++ or another object-oriented language by the subsequent rover team. Our aim was to provide a flexible outer layer that could be seamlessly integrated with the new C++ rover source code. In essence, we envisaged creating a dynamic platform that could adapt to future advancements, fostering an environment of continuous development and innovation for the RoverX project.

COinS