Hi, I’m Tam
I am an Electromechanical Systems Engineering Technology student at Cal Poly Pomona. I currently work as a Research Assistant and an Engineering Tutor in the College of Engineering department. I enjoy working collaboratively with others and taking on hands-on engineering tasks, especially 3D modeling, 3D printing, prototyping, testing, and troubleshooting electromechanical systems.
Line-Following Robot
Line-Following Robot
I developed a cost-effective line-following robot that is capable of accurately tracking complex paths using a simple and efficient design. Emphasized reliability and performance while minimizing component cost and system complexity. The robot uses IR LEDs and phototransistors sensors as its “eyes” to see and move along a black line.
Designed & Manufacturing
I designed and modeled the Line-Following Robot’s parts, including the frame, wheels, mounts, and caster wheel, using SolidWorks. The parts were then fabricated via 3D printing using PLA.
Cont.
Electrical Systems
I soldered resistors, IR LEDs, phototransistors, and wiring onto a perfboard to build the circuit, ensuring solid and reliable connections. The system was then integrated with an Arduino MEGA 2560 and the Arduino Motor Shield (L298) to control the two motors. The robot will run until all of its sensors (the black phototransistor) no longer receive any IR light from the IR LEDs (the white LEDs). All of those components are cheap since they are mainly used for my academic labs.
Programming
I developed the control program for the line-following robot using Arduino IDE, consisting of approximately 130+ lines of code. The system was tuned through multiple iterations over several days to achieve stable and accurate path tracking.
One of the main challenges was the limited performance of the IR sensors, which produced a narrow output range (approximately 0–20) compared to the typical analog 0–1023 output range. This made the robot become difficult to follow the path correctly and required careful calibration, threshold tuning, and repeated testing to achieve reliable behavior.
Lines 13-32: The parameters that need to be adjusted repeatedly after each testing
Lines 104–126: The Arduino uses parameters defined in lines 13–32 and the output from the sensors to perform logical operations and determine the robot’s direction, such as which motor (or both) should move or stop
Lines 130-138: The final lines will show how the robot is responding to its environment so that I can adjust the sensors parameters to match the output from the sensors range (min/max values) and the determine if the robot is adjusting to the correct direction or not.
Final Demonstration
This demonstration shows the robot operating at its maximum speed without swaying too much. The current system is able to follow the path reliably, though there is still room for improvement, such as using higher quality sensors and stronger motor with better battery to enhance its speed, sensor sensitivity, and stability.
The Single-Speed Bicycle
The Single-Speed Bicycle
For this project, I led a team of 5 to develop a simple, single-speed bicycle. The goal was to create a complete and functional design while emphasizing simplicity, reliability, and proper component integration.
Part Models & Drawings
Fork
Ball Bearing
Bicycle Frame
Assembly Models & Drawings
Lower Front Bicycle Sub-Assembly
Crank Assembly
Full Assembly Drawing
Research Project
(The Spherical Robot)
The Spherical Robot (In Progress)
This research project focuses on the design and development of a spherical robot capable of maintaining stable and controlled rolling motion across a variety of surface conditions. The robot consists of an external spherical shell with an internal drive mechanism that generates the motion required to roll and steer the shell. For this project, I am responsible for the mechanical design, electronical wiring, 3D printing, programming, and assembly the systems together.
Initial Design
The first internal drive mechanism was based on a specialized gear system known as ABENICS. In this concept, the inner surface of the spherical shell incorporates a matching gear profile that interacts with the ABENICS gears. Unlike traditional gears, which primarily transmit motion about a single axis, the ABENICS mechanism allows rolling and power transmission in multiple directions. This makes it well suited for a spherical robot, where the internal mechanism must drive and steer the outer shell in different directions.
The gears showed below have the same tooth profile as traditional gears, however, their geometry are very different, and for a gear like the spherical gear and outer spherical gear, they can rotate in multiple direction. The pinion gears will be used to drive the monopole gears, and the monopole gears will drive the spherical gear. The spherical gear will drive the outer spherical gear, which is the housing that contains the robot.
Pinion Gear
The picture below shows the initial design assembly of the Sphrical Robot where the yellow parts are the spherical gear, monopole gear, drive gear, and the whole spherical shell also has gear tooth shape internally
Monopole Gear
Spherical Gear
Cont.
The spherical gear will be used to drive the outer spherical gear which is also the housing that contain the whole robot inside.
Spherical Shell
By using a custom housing, I am able to test the spherical gear (left picture) and the two monopole gears on each side (right picture) to see whether they can mesh correctly or not.
New Design
The previous design presented several challenges, mainly due to the complexity of the spherical shell. In particular, accurately designing and fabricating the gear teeth along the inner surface of the shell proved difficult. To address these limitations, my professor and I developed an alternative design that achieves similar functionality using stepper motors and omni wheels. This approach not only simplify the mechanical design but also make it easier to produce the parts using 3D printer as well.
Internal Driving Mechanism
New Spherical Robot Assembly
Spherical Shell
Testing Phase
The robot is currently in the testing phase, with plans to integrate additional sensors, including a gyroscope and accelerometer, to improve motion stability and directional control.