EN2533 Robotics Challenge
Overview
| Role: | I served as the Lead Electrical and Firmware Engineer for the EN2533 Robotics Challenge. My role encompassed the complete electrical architecture, component integration, and the development of the robot's high-level firmware and user interface. |
| Outcome: | Developed a highly capable autonomous robot equipped with an interactive display-based UI for task selection. The robot successfully executed complex navigational and manipulation tasks, demonstrating robust integration of hardware control and software modularity. |
| Skills Applied: | PlatformIOC++ (Arduino)Electrical DesignFirmware DevelopmentUI Design (Embedded)Robotics Integration |
Electrical & Firmware Architecture
- Full Electrical Design & Assembly
- Architected the power distribution and signal routing for multiple sensors, motor drivers, and the central processing unit.
- Performed the final assembly and soldering of all electrical subsystems, ensuring high reliability under dynamic operating conditions.
- Firmware Development with PlatformIO
- Leveraged PlatformIO in VSCode to build a modular firmware structure, optimizing for rapid iteration and debugging.
- Implemented PID control loops for precise motor speed and position management, alongside sensor fusion for accurate navigation.
- Interactive UI & Display Integration
- Designed and implemented a custom UI on an onboard display, allowing the user to select specific tasks and view real-time robot status.
- Developed a robust state machine to handle task selection, execution, and error reporting, enhancing the robot's autonomy and user-friendliness.
- Component selection
- We selected VLX53L0X TOF sensor for distanct measurement for its accuarcy.
- We selected JGB25-370 motor for its low speed hogh torque performance which was testing in the ramp climping task. We paired the motor with BTS7960B driver for its high current handling capability.
- For the grabber we used MG90 servo motors mainly due it the metal gear desgin allowing us to hold the balls better. And we implemented current sensing so we can had feedback on object pickup and it enabled us to stop overloading the motors.
- We selected Arduino mega 2560 mainly for the GPIO requirement of our robot. it needed to support 2 motor controllers, 2 serco motors, 1 IR panel, 5 TOF sensors, and a another 2 motors for the shooting machanism.
Conclusion
The EN2533 Robotics Challenge was a highlight of my undergraduate experience, offering the perfect opportunity to bridge the gap between electrical engineering and firmware development. By designing the entire electrical system and writing the firmware from scratch, I gained an appreciation for the complexities of hardware-software co-design. The addition of a display-based UI not only set our robot apart but also provided a vital interface for real-world interaction helping with tuning the robot and debugging. This project reinforced my ability to manage a full-stack robotics project and deliver a sophisticated, well-integrated machine capable of tackling complex autonomous tasks.
Gallery


