3-Axis Unicycle Robot
Robotics projects are inherently complex and often struggle with accurately modeling system dynamics.
Recent advances in machine learning, particularly reinforcement learning (RL), offer new possibilities by allowing robots to fully engage with the intricacies of their environments without the simplifications required by traditional controllers.
This shift not only enhances the adaptability and capability of robots but also enables them to handle dynamic and challenging scenarios more effectively.
Project Goal: Develop a self-balancing unicycle robot using an RL algorithm.
Outcome: We integrated control theory, hardware, software, and RL simulation training to build a single degree of freedom reaction wheel inverted pendulum. It automattically stand up from rest and can balance indefinitely with both a classical PID controller and a more aggressive RL controller.
In the upcoming 2024-2025 year we will complete the full robot.
The team:
Links: Poster PDF, Design Report, Course Info
Model:
Images:
Key Concepts:
- System dynamics. To reduce coupling between axes, each reaction wheel axis of move is perpendicular to the two others.
- Physical design. In designing the complete robot, we optimized for a low center of mass to allow it to automatically self-right, and having the center of mass aligned with our axes.
- Actuators. Our actuators place steel rings far from the axel of the motor to maximize the moment of inertia. The flywheel is driven by a brushless DC motor that provides a high torque-to-mass ratio.
- Computer and software systems. An NVIDIA Jetson Nano is our main processor which provides the computational power to run inference for RL controllers. Moteus-n1 drivers interacting with the motors, and IMU sensors provide a complete description of the robot’s state.
- Control. The controller is the brain. It reads from sensors computes a decision and sends it to the motors to execute. Classical control will serve as a benchmark for RL control.
- Prototype. Building a single degree of freedom prototype allows for testing, integrating systems and developing control algorithms early on.