B.S. Electrical Engineering
UCLA '25
๐ Resume
๐ LinkedIn
โ๏ธ torinrory@gmail.com
Iโm a UCLA graduate with a B.S. in Electrical Engineering. Below you can find some of my past projects.
A senior capstone project focused on real-time robotics, embedded systems, and intelligent human-computer interaction.
V.R.O.O.M. is a maze navigation game built around a custom-designed RC car (the Maze Navigator) that explores a physical maze with hidden, virtual walls. The player must guide the car using either voice commands or a custom-built physical controller, discovering walls through trial and error. The game features a PyQt5 desktop interface that visualizes the maze, tracks the carโs position, and offers an omniscient view of the game.
Subsystem | Tech & Tools |
---|---|
Maze Navigator | Raspberry Pi 4, BerryIMU, PiCamera2, L298N, DC Motors, Python, OpenCV, TCP socket server, IMU gyroscope turning, ROI-based line detection |
Maze Program | PyQt5 GUI, recursive backtracking maze algorithm, Python, OpenAI Whisper, difflib fuzzy matching, TCP socket client |
Controller | Raspberry Pi GPIO, Python, physical buttons, TCP socket server |
difflib
fuzzy matching.systemd
, enabling a simple power-on-and-play user experience.Custom Maze Navigator Designed and built the full hardware stack for the Maze Navigator, including the Raspberry Pi 4, L298N Motor Driver, two TT motors, BerryIMU, camera module, and battery pack.
Voice Recognition System Designed and implemented the full voice control interface using OpenAI Whisper with fuzzy keyword matching via Pythonโs difflib
module to support flexible natural language commands.
Gyroscope-Based Turning Developed the IMU-based turning algorithm using BerryIMU. Tuned parameters and resolved sampling issues to achieve reliable 90ยฐ rotations on command.
Custom Controller Interface Built a handheld controller using Raspberry Pi GPIO and Python. Implemented TCP server communication to maintain stable control signal transmission to the Maze Program.
Computer Vision Integration Implemented OpenCV-based line detection using Region of Interest (ROI) analysis and binary thresholding for automated forward movement as the player guides the Maze Navigator through the maze.
Maze Program & GUI Collaborated on the development of the main application, including the PyQt5 GUI (real-time visualization) and the integration of game logic.
Networking Architecture Helped implement and debug TCP socket communication across all subsystems for stable real-time data exchange and reduced system latency.
Programmed an autonomous robot using C++ on an Arduino platform to navigate black-line tracks using infrared sensor feedback. The core challenge was implementing and tuning a PID control algorithm to manage motor speeds for curve handling and maintain course. The robot successfully demonstrates functional path following, staying consistently on the line as intended.
Note on Video: This video shows the successful implementation of the PID controller and line-following logic. While the robot reliably stays on track, the motion reflects the initial tuning stage and further parameter adjustments could enhance movement smoothness.