Speedcuber Timer: Creating an Open-Source Platform for Smart Rubik’s Cube Applications

187330-Thumbnail Image.png
Description
Since the early 2000s the Rubik’s Cube has seen growing usage at speedsolving competitions and as an effective tool to teach Science, Technology, Engineering, Mathematics (STEM) topics at hundreds of schools and universities across the world. Recently, cube manufacturers have

Since the early 2000s the Rubik’s Cube has seen growing usage at speedsolving competitions and as an effective tool to teach Science, Technology, Engineering, Mathematics (STEM) topics at hundreds of schools and universities across the world. Recently, cube manufacturers have begun embedding sensors to enable digital face tracking. The live feedback from these so called “smartcubes” enables a new wave of immersive solution tutorials and interactive educational games using the cube as a controller. Existing smartcube software has several limitations. Manufacturers’ applications support only a narrow set of puzzle form factors and application platforms, fragmenting the ecosystem. Most apps require an active internet connection for key features, limiting where users can practice with a smartcube. Finally, existing applications focus on a single 3x3x3connection, losing opportunities afforded by new form factors. This research demonstrates an open-source smartcube application which mitigates these limitations. Particular attention is given to creating an Application Programming Interface (API) for smartcube communication and building representative solve analysis tools. These innovations have included successful negotiations to re-license existing open-source Rubik’sCube software projects to support deployment on multiple platforms, particularly iOS. The resulting application supports smartcubes from three manufacturers, runs on two platforms (Android and iOS), functions entirely offline after an initial download of remote assets, demonstrates concurrent connections with up to six smartcubes, and supports all current and anticipated smartcube form factors. These foundational elements can accelerate future efforts to build smartcube applications, including automated performance feedback systems and personalized gamification of learning experiences. Such advances will hopefully enhance the Rubik’s Cube’s value both as a competitive toy and as a pedagogical tool in educational institutions worldwide.
Date Created
2023
Agent

Development of a Lidar-Based Automatic Steering System for Agricultural Robotics

Description

This thesis proposes a new steering system for agricultural machinery with the aim of improving the automation capabilities of farming robots. Accurate and reliable autonomous machinery has the potential to provide significant benefits to the efficiency of farming operations, but

This thesis proposes a new steering system for agricultural machinery with the aim of improving the automation capabilities of farming robots. Accurate and reliable autonomous machinery has the potential to provide significant benefits to the efficiency of farming operations, but the existing systems for performing one of the most essential automation functions, autonomous steering to keep machinery on the proper course, each have drawbacks that impact their usability in various scenarios. In order to address these issues, a new lidar-based system was developed for automatic steering in a typical farm field. This approach uses a two-dimensional lidar unit to scan the ground in front of the robot to detect and steer based on farm tracks, a common feature in many farm fields. This system was implemented and evaluated, with results demonstrating that the system is capable of providing accurate steering corrections.

Date Created
2023-05
Agent

Building a Mobile Device that Leverages the Power of a Desktop Computer

165594-Thumbnail Image.png
Description

With the recent focus of attention towards remote work and mobile computing, the possibility of taking a powerful workstation wherever needed is enticing. However, even emerging laptops today struggle to compete with desktops in terms of cost, maintenance, and future

With the recent focus of attention towards remote work and mobile computing, the possibility of taking a powerful workstation wherever needed is enticing. However, even emerging laptops today struggle to compete with desktops in terms of cost, maintenance, and future upgrades. The price point of a powerful laptop is considerably higher compared to an equally powerful desktop computer, and most laptops are manufactured in a way that makes upgrading parts of the machine difficult or impossible, forcing a complete purchase in the event of failure or a component needing an upgrade. In the case where someone already owns a desktop computer and must be mobile, instead of needing to purchase a second device at full price, it may be possible to develop a low-cost computer that has just enough power to connect to the existing desktop and run all processing there, using the mobile device only as a user interface. This thesis will explore the development of a custom PCB that utilizes a Raspberry Pi Computer Module 4, as well as the development of a fork of the Open Source project Moonlight to stream a host machine's screen to a remote client. This implementation will be compared against other existing remote desktop solutions to analyze it's performance and quality.

Date Created
2022-05
Agent

D.I.Y. Smartcube: Tracking the Face Turns of a Rubik's Cube Using Embedded Speakers

164535-Thumbnail Image.png
Description

Speedsolving, the art of solving twisty puzzles like the Rubik's Cube as fast as possible, has recently benefitted from the arrival of smartcubes which have special hardware for tracking the cube's face turns and transmitting them via Bluetooth. However, due

Speedsolving, the art of solving twisty puzzles like the Rubik's Cube as fast as possible, has recently benefitted from the arrival of smartcubes which have special hardware for tracking the cube's face turns and transmitting them via Bluetooth. However, due to their embedded electronics, existing smartcubes cannot be used in competition, reducing their utility in personal speedcubing practice. This thesis proposes a sound-based design for tracking the face turns of a standard, non-smart speedcube consisting of an audio processing receiver in software and a small physical speaker configured as a transmitter. Special attention has been given to ensuring that installing the transmitter requires only a reversible centercap replacement on the original cube. This allows the cube to benefit from smartcube features during practice, while still maintaining compliance with competition regulations. Within a controlled test environment, the software receiver perfectly detected a variety of transmitted move sequences. Furthermore, all components required for the physical transmitter were demonstrated to fit within the centercap of a Gans 356 speedcube.

Date Created
2022-05
Agent

Assessing the Impact of a Source Level Optimization Utility for Embedded Systems

161544-Thumbnail Image.png
Description
Embedded software is different in many aspects to traditional software; as such, a software developer may face issues when attempting to transition from traditional to embedded software development. This thesis explores providing feedback and applying optimizations at the source code

Embedded software is different in many aspects to traditional software; as such, a software developer may face issues when attempting to transition from traditional to embedded software development. This thesis explores providing feedback and applying optimizations at the source code level of embedded software. The aim is to measure the impact of these optimizations on teaching embedded software design principles, as well as assessing the relative success of each optimization in terms of a variety of metrics. There are many considerations when altering code and is a known limitation imposed by most software optimization schemes. By applying optimizations at the source level, the aim is to demonstrate what the optimizations do and how they provide value to the resulting software. In order to fulfill these goals, the Embedded C Source Optimizer has been developed, which is used to import and export code, select which optimizations are applied, and provide feedback to the end user. This utility abstracts away the lower level operations performed by each optimization, while conveying the resulting changes to the end user. Since embedded systems are generally quite limited compared to modern computers, someone transitioning from traditional software design to embedded software may find it challenging to understand how to overcome these limitations. Clearly conveying means to improve a naive implementation of an embedded program aids through demonstrating what changes need to be made to satisfy embedded design rules. The optimizations which the utility can apply range from simple replacement operations to more complex applications of implicit utilization of built-in hardware peripherals on supported microcontrollers. Each optimization comes with its own set of considerations, risks, and potential level of improvement to the resulting code. These optimization options are evaluated by comparing embedded software before and after each option is applied through a variety of metrics, allowing the relative success of each to be determined as effectively as possible. The end goal for this utility is to aid in crossing the hurdle from traditional software to embedded software in a comprehensive and educational manner, with the provided optimization options acting as an avenue for teaching embedded concepts.
Date Created
2021
Agent

Physical Human-Bicycle Interfaces for Robotic Balance Assistance

158465-Thumbnail Image.png
Description
Riding a bicycle requires accurately performing several tasks, such as balancing and navigation, which may be difficult or even impossible for persons with disabilities. These difficulties may be partly alleviated by providing active balance and steering assistance to the rider.

Riding a bicycle requires accurately performing several tasks, such as balancing and navigation, which may be difficult or even impossible for persons with disabilities. These difficulties may be partly alleviated by providing active balance and steering assistance to the rider. In order to provide this assistance while maintaining free maneuverability, it is necessary to measure the position of the rider on the bicycle and to understand the rider's intent. Applying autonomy to bicycles also has the potential to address some of the challenges posed by traditional automobiles, including CO2 emissions, land use for roads and parking, pedestrian safety, high ownership cost, and difficulty traversing narrow or partially obstructed paths.

The Smart Bike research platform provides a set of sensors and actuators designed to aid in understanding human-bicycle interaction and to provide active balance control to the bicycle. The platform consists of two specially outfitted bicycles, one with force and inertial measurement sensors and the other with robotic steering and a control moment gyroscope, along with the associated software for collecting useful data and running controlled experiments. Each bicycle operates as a self-contained embedded system, which can be used for untethered field testing or can be linked to a remote user interface for real-time monitoring and configuration. Testing with both systems reveals promising capability for applications in human-bicycle interaction and robotics research.
Date Created
2020
Agent

Using an automated attendance monitoring system to maximize time for class activities

Description

Class instructors at Arizona State University monitor students’ attendance for classes in which attendance is either mandatory or encouraged. Class monitoring can be done using traditional systems such as sign sheets and roll calls. From my initial observations while attending

Class instructors at Arizona State University monitor students’ attendance for classes in which attendance is either mandatory or encouraged. Class monitoring can be done using traditional systems such as sign sheets and roll calls. From my initial observations while attending a class which utilized a sign sheet for class attendance monitoring, I thought the process took long and was inefficient. As a result, I created an automated system that would replace the traditional systems and improve the class monitoring process. Thus, this study aims to determine whether the automated system reduced the time it takes to monitor class attendance, and whether it was efficient.

To examine the above question, the automated system was deployed to 2 classes at Arizona State University. Additionally, surveys were distributed to 2 instructors and 33 students and they were asked to respond to questions relating to class attendance and the monitoring systems which were being used alternatively with the newly-created automated system. Analysis of the responses demonstrated that use of an automated system reduced the time it takes students to mark their presence, and thus increase the time used for other class activities. The results also indicate that the design of the automated system affects the overall time it takes to monitor attendance. On this basis, it is recommended that instructors utilize an automated system to monitor class attendance. Further research is needed to study the time it takes instructors to set up different monitoring systems in order to ascertain that an automated system reduces the overall time it takes to monitor attendance compared to other traditionally used systems.

Date Created
2019-05
Agent