Lead Engineers

Ethan Vance
Profile Picture

Ethan Vance

Managed hardware communication and system connectivity.

Electronics & Integration Specialist

Electronics & Integration Specialist

Nabil Khondaker
Profile Picture

Nabil Khondaker

Designing the software brain and vision intelligence.

Systems Architect & Intelligence Lead

Systems Architect & Intelligence Lead

Hamza Malik
Profile Picture

Hamza Malik

Precisely tuned the mathematical precision of movement.

Controls & Dynamics Engineer

Controls & Dynamics Engineer

Arav Mehta
Profile Picture

Arav Mehta

Engineered the physical hardware and arena environment.

Mechanical & Structural Engineer

Mechanical & Structural Engineer

Engineers

2R Planar Robot Paddle Project

This was my first successful hands-on project for a dual enrollment Robotic Systems project at Chaffey College. My group opted to create the 2R planar arm playing a game similar to air hockey or Pong.

We were given a robotics kit that included several DYNAMIXEL stepper motors and were tasked with creating a system to demonstrate our understanding of controls as taught in our course. Our group opted to design and build a 2-Degree-of-Freedom (2-DoF) planar robotic arm to play an interactive game similar to air hockey or Pong.

The system operates autonomously by analyzing a top-down workspace view via a camera, running predictive trajectory models to intercept a moving ball, and executing dynamic joint-torque control algorithms to swing the arm and swat the ball back across the arena. I was largely responsible for programming the robot's behavior with Python and implementing its vision processing with OpenCV.

For structural reference and spatial orientation of the setup, see the layout configurations documented in the media panels.

Mechanical Design & Hardware Assembly

The physical system was assembled to isolate movement strictly to a two-dimensional, flat workspace while ensuring structural rigidity under high motor accelerations.

Computer Vision Pipeline & Live Telemetry

The entire software backend is written in Python, using OpenCV to capture frames, process binary masks, track object centroids, and render real-time tracking data.

Our video output features a split-screen view: a separately recorded physical perspective on the right, and the primary camera's live processing view on the left, which overlays several critical control and tracking variables.

Control Theory & Algorithm Implementation

The mathematical backbone of our joint space control loop comes from the course textbook, Robotics: Modeling, Planning, and Control by Siciliano et al. Because this project was a capstone assignment for a controls class, we implemented and benchmarked three variations of an Inverse Dynamics Control Loop to observe the performance differences on real hardware:

1. Simplified Inverse Dynamics (Constant/Average Inertia)

This served as our primary baseline. This model simplifies the math by completely ignoring the Christoffel terms (Coriolis and centrifugal forces, denoted as n in textbook control loops). It also treats the system's inertia matrix B as a constant baseline average rather than updating it dynamically based on the arm's instantaneous shape.

For a flat, planar manipulator moving over a localized workspace, this simplification is highly effective. It allowed us to pre-compute a single matrix once at system startup, massively reducing the computational cycles needed for every time-step. Our testing confirmed that this basic constant-inertia loop was robust enough for our game.

2. Inertial Inverse Dynamics

This variation adds a layer of precision by calculating the configuration-dependent inertia matrix B(q) dynamically at every control execution step. It tracks the changing joint angles but continues to omit the velocity-dependent Coriolis and centrifugal vectors (n). While mathematically more accurate over long-range strokes, it demands higher CPU utilization per cycle.

3. Full Inverse Dynamics

This represents the complete textbook loop, incorporating the entire rigid body dynamics formulation. It calculates the exact configuration-dependent inertia B(q) alongside the full velocity-dependent torque vector n(q, q˙) for Coriolis and centrifugal forces at every step. While mathematically complete, our physical testing showed that the structural limits of our small planar system made the extra computations practically redundant compared to the simplified constant-inertia model.

Real-World Gain Tuning Observations

Because we needed to demonstrate how the robot operates under different gains, we explicitly tested various PID parameters, which revealed distinct behavioral traits:

Hardware Limitations & Engineering Bottlenecks

Transitioning from pure textbook theory to physical mechanical engineering brought up several hardware issues and real-world system errors:

References

Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. Robotics: Modeling, Planning, and Control. Springer Science & Business Media.