In this course, I learned how intelligent systems interact with the physical world through inputs, such as sensors, and outputs, like actuators. I explored the development and implementation of intelligent algorithms to process inputs and control real systems. The hands-on experience included programming microcontrollers, such as Arduino, to work with various sensors and actuators. I gained a strong understanding of the basic principles of intelligent systems and the fundamentals of computing as applied to these systems. Additionally, I gained a thorough understanding of how data is processed within intelligent systems. The course also enhanced my algorithmic thinking, enabling me to design algorithms that convert inputs into outputs. I further deepened my knowledge of sensors, transducers, and how systems interact with the physical world through these components.
I collaborated with a team of four to design and build a small-scale autonomous foosball table, where I played a key role in various aspects of the project. I designed and implemented code for the kicking mechanisms, using an Intel D415i RGB-D camera, NEMA stepper motors, and optical encoders, all while leveraging ROS and OpenCV for seamless integration. I also engineered the frame to house all components, ensuring optimal integration and functionality. To improve precision, I designed and 3D printed encoder flags for accurate player position tracking. I also contributed to the wiring of the system, ensuring reliable connections. The project utilized a Raspberry Pi as the core processing unit for real-time control and operation.
My team, alongside our professor, is actively working on further improving the system, and we have had the opportunity to present it at several showcases at the school.
Building on the foundation established in FooBot V1, our team began developing a second iteration of the system with a focus on improving mechanical robustness, sensing performance, and overall system reliability. This effort was supported by a university grant, which enabled us to expand the scope of the project and further develop FooBot as a platform for education and outreach.
One of the major upgrades in V2 was a complete redesign of the frame using 80/20 aluminum extrusions. This modular structure significantly improved the rigidity and durability of the system while allowing us to support a larger foosball table. The new design also makes the platform easier to modify, repair, and scale, an important consideration for long-term use and replication in educational environments.
We also upgraded the vision system to a Basler Ace 2 Pro camera stereo setup. While both V1 and V2 rely on 2D vision rather than depth sensing, the new cameras provide higher image quality, improved frame rates, and better synchronization between views. These improvements lead to more reliable ball detection and tracking, enabling more consistent performance during fast-paced gameplay.
On the actuation side, we transitioned from NEMA stepper motors to Teknic ClearPath DC servo motors. This upgrade introduced closed-loop control, resulting in smoother motion, higher torque efficiency, and improved positional accuracy. Unlike stepper motors, the servo system eliminates missed steps and reduces latency, allowing for faster and more responsive player movements.
Beyond technical improvements, FooBot V2 is being developed with a broader goal in mind: creating an educational platform that can be deployed in schools to introduce students to STEM concepts in an engaging, hands-on way. By combining robotics, computer vision, controls, and system integration into a familiar and interactive game, FooBot serves as a compelling tool for teaching real-world engineering principles.
Overall, FooBot V2 represents a significant evolution of the system, emphasizing modular design, improved sensing and actuation, and a clear focus on educational impact.