Work

Ball Balancing Robot

Robotics
ROS
CAD

A ball-balancing robot with 3-RPS parallel manipulator and PID control system

Tools & Technologies

Arduino Arduino
Inventor Inventor

Collaborators

Loading profiles...

Home Escape System

Loading Home Escape System...

We paired with a cutting-edge music API and a team of horticulturalists to build AI-generated playlists that maximize houseplant health.

DevBrandingBackend

Extendable Sword

Loading Extendable Sword...

Custom designed extendable sword with intricate mechanical details and fantasy aesthetics. Features retractable blade mechanism and detailed handle design.

CADMechanical Design3D ModelingFantasy

3D Printed Headlights

Loading 3D Printed Headlights...

Custom designed and 3D printed automotive headlight assembly with optimized lighting distribution and modern aesthetics.

CAD3D PrintingAutomotive

Ball Balancing Robot

Loading Ball Balancing Robot...

Ball balancing robot model

RoboticsROSCAD

Iris-dome Assembly

Loading Iris-dome Assembly...

We paired with a cutting-edge music API and a team of horticulturalists to build AI-generated playlists that maximize houseplant health.

Dev

The Ball-Balancing Robot dynamically stabilizes a steel ball on a tilting touchscreen platform, preventing it from rolling off the edges. This project required integrating mechanical, electrical, and software components into a cohesive system, highlighting practical applications of control systems and robotics.

Key Features

1. 3-RPS Parallel Manipulator Framework

The platform uses three stepper motors to control three mechanically operated legs, achieving precise movements with three degrees of freedom.

3-RPS parallel manipulator framework showing three mechanically operated legs

2. PID Control Algorithm

A closed feedback loop processes real-time data from the resistive touchscreen to adjust platform tilt, maintaining balance.

  • Proportional gain: ( K_p = 4E-4 )
  • Integral gain: ( K_i = 2E-6 )
  • Derivative gain: ( K_d = 7E-3 )
PID control system diagram showing feedback loop for ball balancing

3. Inverse Kinematics

Stepper motors adjust based on derived angles to position the ball precisely, calculated through mathematical models and implemented in Arduino.

4. Microstepping

Fine control with 1/32 microstepping for smooth and precise motor movements, achieving 6400 steps per revolution.

5. Custom 3D Design

View Model

All components, including the platform and mechanical legs, were designed and 3D-printed using PLA material.

3D CAD model of ball balancing robot platform
Detailed view of robot mechanical components and assembly

Challenges and Solutions

  • Current Limitations: Optimized motor performance by calibrating driver current to 1.25A.
  • 3D Printing Tolerances: Adjusted designs for better assembly fit, ensuring stability and precision.
  • Hardware Upgrades: Transitioned from Arduino UNO to Arduino Mega for expanded I/O capabilities and resolved serial communication issues.

Learning Outcomes

This project provided hands-on experience with mechatronics systems, emphasizing:

  • Designing and implementing control algorithms.
  • Integrating hardware components.
  • Systematic debugging and troubleshooting in a complex interdisciplinary setting.

Future Improvements

  • Enhanced Responsiveness: Refine PID tuning to reduce oscillations and improve ball stability during disturbances.
  • Dynamic Movement Patterns: Add features to move the ball in predefined paths using updated control logic.
  • User Interaction: Integrate an LED screen and control buttons for better usability and testing.

Explore the intricacies of control systems and robotics through this project that blends innovation and practical application.