In our firstyear engineering module, we proudly present BiStable, a twowheel inverted pendulum robot that can steer aswell as balance. Equipped with the ROS2 framework, BiStable can be controlled wirelessly via a gamepad or through hand tracking using an external camera.
Operating on a Raspberry Pi 4 8GB, BiStable communicates data to the ESP32 via microROS. Its two NEMA 17 stepper motors, driven by A4988 stepper drivers, allow for precise PID tuning in realtime via the gamepad interface. Additionally, an equilibrium offset feature accommodates offcenter payloads, enabling nonzero balancing angles.
To streamline usability, PID constants are stored in EEPROM, eliminating the need for recalibration at startup. While successful, our project could benefit from enhancements such as a more accurate gyroscope to reduce drift, implementing a Kalman filter for improved performance, and upgrading to brushless stepper motors for smoother operation.
For further details and project documentation, visit our GitHub repository at github.com/TheHassanShahzad/BiStable_scripts. BiStable comprises three additional repositories for various functionalities and enhancements