FILE 07 // BBB-2091

CLOSED
ORG
e-Yantra, IIT Bombay (RMI team)
LOCATION
NIT Trichy / e-Yantra, IIT Bombay
DATES
SEP 2024 TO NOV 2024
  • CoppeliaSim
  • MATLAB
  • Python

Balancing Builder Bot

1.27 s
Settling time (impulse response, sim)

DOCUMENTS ON FILE · 01

Brief

Team BB#2091’s entry for the e-Yantra Robotics Competition: a two-wheeled self-balancing robot fitted with a gripper, required to traverse a predefined path crossing obstacles while picking up and dropping foam boxes, all while staying balanced.

Problem

Balancing a two-wheeled robot is an inverted-pendulum control problem on its own; adding a gripper that picks up and releases mass mid-traversal continuously shifts the system’s centre of mass, so the balance controller has to stay stable through those load changes, not just at rest.

Approach

  • Modeled the robot as an inverted pendulum on wheels using the Euler-Lagrange method, deriving the state-space representation (x, ẋ, θ, θ̇) in MATLAB.
  • Computed the state and input matrices (A, B) via Jacobians of the equations of motion, and found the system’s equilibrium points and their stability (the upright point is unstable; the hanging point is marginally stable).
  • Designed an LQR controller (u = -Kx) with Q and R cost matrices tuned to prioritize which states get corrected most aggressively, computing gains with MATLAB’s lqr().
  • Implemented the controller in CoppeliaSim via Python, reading body position/orientation/velocity through the simulator’s object-handle API and actuating both wheel joints from the computed control law.
  • Added a gripper (one revolute joint, one prismatic claw joint) for pick-and-place, with keyboard-driven joint control and a dynamic axis-recalibration step for rotations beyond 45°, to keep turning stable at large tilt angles.

Results

The bot balanced, traversed the assigned path, and completed pick-and-place of the foam boxes in CoppeliaSim, delivering a 1.27-second settling time on impulse response.

Status / Next

Completed; project closed after the competition submission.