Yuvraj
Singh

Self-Made Car Nerd

Industrial Engineering student at Purdue University, Class of 2029. Steering & Brakes, Purdue Baja Racing. Summer researcher at the match Institute, Hannover, Germany.

Institution
Purdue University
Program
B.S. Industrial Engineering
Team
Baja SAE — Steering & Brakes
LinkedIn
About
PURDUE — WEST LAFAYETTE, IN

I'm a sophomore studying Industrial Engineering at Purdue, where I spend most of my time on the parts of a machine that have to fail predictably: brakes, drivetrain, and the structures that hold them together. On Purdue Baja Racing, I work on the Steering & Brakes subsystem — thermal analysis and rotor design for a car that has to survive four hours of endurance racing — and helped out with the drivetrain team on CAD/CAM for the competition gearbox.

This past summer I researched at match — the Institute of Assembly Technology and Robotics in Hannover, Germany, where I designed and built RobotSelector, a mixed-reality app for identifying industrial KUKA robots and streaming their live sensor telemetry — my first experience working inside a European research lab.

I'm also part of Purdue's Student Engineering Research Program (SERP), continuing that same AR/telemetry work, and I founded Future Engineers Academy, a free non-profit that runs hands-on STEM programming for elementary and middle-school kids around Long Island.

Quick Specs

NAMEYuvraj Singh
LOCATIONHicksville, NY
MAJORIndustrial Engineering
CLASS2029
TEAMBaja SAE
SUBSYSTEMSteering & Brakes
RESEARCHSERP
Experience
04 ENTRIES
MAY — JUL 2026 Hannover, Germany Featured

Researcher

match — Institute of Assembly Technology and Robotics

Designed and built RobotSelector, a mixed-reality app for identifying industrial KUKA robotic arms and displaying live sensor telemetry, developed in parallel for Apple Vision Pro (visionOS) and iPad (iPadOS).

  • Engineered an ARKit + RealityKit selection system letting users tap or gaze-select a real robot and highlight it with a dynamic AR overlay
  • Integrated a custom-trained Roboflow instance-segmentation model for KUKA-specific detection via a serverless REST pipeline, replacing generic foreground segmentation
  • Built a live telemetry system pulling temperature, speed, and load from InfluxDB into a floating SwiftUI panel anchored in 3D space above the robot
  • Diagnosed a visionOS platform constraint (no public API for raw camera frames) and architected a forward-compatible pipeline with a static-image fallback, ready to accept live frames the moment Apple exposes the capability
OCT 2025 — PRESENT West Lafayette, IN

Member — Steering & Brakes

Purdue Baja Racing — Baja SAE

Design, analysis, and validation work on the car's braking system, including thermal analysis of the brake rotors under endurance-race loading. Also helped the drivetrain team with CAD/CAM on the competition gearbox.

  • 1st Overall, 1st Endurance, 1st Hill Climb — Baja SAE Oregon 2026
  • Brake rotor thermal modeling built on the team's DCR documentation and validated vehicle parameters
SEP 2020 — JUL 2025 Bethpage, NY

Captain / Drive Coach

FIRST Robotics Competition

Nearly five years on a FIRST robotics team, moving from member to Drive Team Captain and Drive Coach, plus starting a community outreach program for the wider FRC community.

  • Won FIRST Impact Award (2024) and Engineering Inspiration Award (2022, 2023, 2024)
  • Won the Long Island Regional (2022); finalist at the New York City Regional (2024)
  • Placed #19 at the international competition as Drive Team Captain (2024–2025)
  • Founded FIRST Together, a community outreach program for the FRC community
JUL 2023 — PRESENT Hicksville, NY

Founder

Future Engineers Academy

A free non-profit introducing elementary and middle-school kids to STEM — forensics, engineering, biology — through hands-on activities and presentations, currently running at the Hicksville Public Library and expanding to Queens, the greater New York area, and Indiana.

Also Involved With
Sports Analytics Purdue (SAP) — member since Oct 2026
Honors & Awards
6 ENTRIES
AwardProgramYear
1st Overall · 1st Endurance · 1st Hill ClimbBaja SAE Oregon2026
FIRST Impact AwardFIRST Robotics Competition2024
Engineering Inspiration AwardFIRST Robotics Competition2022, 2023, 2024
Long Island Regional WinnerFIRST Robotics Competition2022
New York City Regional FinalistFIRST Robotics Competition2024
3rd Place Engineering Finalist, Long IslandJunior Science & Humanities Symposium2023–2024
Projects
03 FEATURED

Endurance racing puts a brake rotor through hundreds of hard stops over four hours — the question this script answers is whether a given rotor design can absorb that heat without cracking. It walks the full DRB flowchart end to end: total braking energy, how that energy splits between rotor and pad, single-stop temperature rise, a multi-hour endurance simulation with convective cooling, a thermal-stress failure check, and finally a sizing sweep for how much mass can be pocketed out of the rotor before it violates its thermal budget.

  • Vehicle inputs are pulled from the team's Overall DCR Falcon Baseline — measured 392 lb (177.8 kg) comp-ready weight and 35.4 mph top speed — not estimates.
  • Brake bias (65% rear / 35% front) comes from the Steering & Brakes design poster's actual achieved value, not the DCR's target range.
  • Every assumption that isn't backed by a measurement is flagged inline as EDIT ME in the script, so the model is explicit about where it's still conservative versus where it's grounded in real data.
This script is a living document, not a finished deliverable. The latest run updated the rotor mass/geometry from current CAD and replaced the old stationary (zero-convection) cooling assumption with a light forced-convection estimate — every number below is from that run. Thermal FOS at peak still comes in under 1.0, so this is an open problem the team is actively working, not a finished result.
Model Pipeline — 6 Stages
Braking Energy (vehicle KE)
Effusivity Split (rotor vs. pad)
Single-Stop ΔT (adiabatic)
Endurance Time-March (4 hr)
Thermal Stress → Failure Temp
Validated Inputs
ParameterValueSource
Vehicle mass177.8 kg (392 lb)Overall DCR Falcon Baseline — measured, comp-ready
Top speed15.83 m/s (35.4 mph, 2WD)Overall DCR Falcon Baseline — measured
Brake bias65% rear / 35% frontSteering & Brakes design poster — achieved value
Rotor materialSteel 4130, annealedRotor material spec
Rotor mass (CAD)0.451 kgCurrent CAD model — updated from 0.35 kg
Rotor OD / ID177.8 mm / 78.2 mmCurrent CAD model
Rotor thickness2.286 mmCurrent CAD model
Endurance event count~60 brake events / hrDerived from 3:51.4 avg lap time, ~4 zones/lap
Simulation Results
Energy per stop
21.9 kJ
Whole-vehicle KE dissipated in one braking event
Rotor heat fraction
80.0%
Effusivity-based split of energy into the rotor vs. pad
Single-stop ΔT
52.9 K
Adiabatic rise, no time to cool (conservative floor) — down from 68.3 K after the CAD mass update
Peak endurance temp
310.6 °C
Down from 406 °C — re-run with the light forced-convection model (h_conv ≈ 50), reached at t ≈ 3.8 hr
Thermal FOS at peak
0.76
Up from 0.57, but still below 1.0 — real crack risk under this profile, not solved yet
Est. failure temp
243 °C
Bulk rotor temp where thermal FOS would hit 1.0 — unaffected by the mass/cooling update
Min. mass for capacity
0.132 kg
vs. 0.451 kg current CAD mass — 242% margin at target FOS 1.2
Max pocketable mass
40%
Upper bound of the swept range before violating min. mass
Structural energy capacity
46.8 kJ
Max single-event energy before thermal FOS hits 1.0 — new in this script revision
Capacity used per stop
24.3%
Current single-event input vs. structural energy capacity above
Four-panel plot: energy split sensitivity, endurance rotor temperature, pocket removal vs thermal mass limit, and thermal FOS vs pocket removal
Fig. — energy-split sensitivity, simulated 4-hour endurance temperature trace, and the rotor-sizing sweep. Generated from the prior script run — regenerating against the updated cooling model and CAD mass is the next step.
Engineering Insight
Reading the result, not just running the script

The endurance simulation originally treated the rotor as stationary, with zero forced convection, even though the car is actually moving and getting airflow between brake zones. That assumption was unrealistically pessimistic for a full 4-hour race, so it's been replaced with a light-forced-convection estimate (h_conv  ≈ 50 W/m²K, still well below full ram-air cooling at speed). Re-running with that change, plus the updated 0.451 kg CAD mass, dropped simulated peak rotor temperature from ~406°C to 310.6°C and raised the thermal factor of safety from 0.57 to 0.76.

0.76 is progress, not a pass. The rotor now fails by a smaller margin instead of a larger one, but it's still under the 1.0 threshold at the simulated peak — reached about 3.8 hours into the 240-event run, with the rotor cooling back down to 56.6°C by the end. That's the real open problem here, not the cooling coefficient: the model still predicts a crack risk under this specific duty cycle.

The mass side of the ledger looks healthier. The current 0.451 kg CAD rotor clears the 0.132 kg thermal-capacity floor by a 242% margin, and a known prior-year rotor (0.450 kg) clears the same floor by 241.5% in the new reference-rotor cross-check (Stage 6) — so there's room to add material for thermal capacity without meaningfully hurting the pocketing budget. Next step is deciding whether to close the FOS gap with more mass, better real cooling data, or both.

Core Formulas
// Stage 2 — thermal-effusivity energy split (heat into rotor vs. pad) // e = sqrt(rho * k * cp), effusivity of each material gamma_d = (e_rotor*A_contact) / (e_rotor*A_contact + e_pad*A_contact); // Stage 5 — constrained thermal (biaxial) stress from a radial gradient sigma_thermal = rotor.E * rotor.alpha * dT_gradient / (1 - rotor.nu); FOS_thermal = rotor.yield / sigma_thermal; // Stage 5 (new) — max single-event energy before FOS hits 1.0 Q_structural_capacity = rotor.mass * rotor.cp * dT_bulk_fail;
Sample Console Output
// running the script prints a stage-by-stage log to the command window — a representative slice: === STAGE 1: Single-Stop Braking Energy === Vehicle KE dissipated per brake event: 21921.8 J Energy reaching this rotor (rear, 65.0% share): 14249.1 J // ... === STAGE 4: Endurance Simulation === Simulated 240 brake events over 4.0 hr Peak rotor temperature: 310.6 C at t = 13822 s Final rotor temperature: 56.6 C // ... === STAGE 5: Thermal Stress Check === Thermal FOS at current peak temp: 0.76 Estimated rotor bulk temp at FAILURE (FOS=1): 243 C

A destructive pinion testing rig was built by modifying a previous destructive rotor jig in SolidWorks, then assembled and run in the Baja shop. The goal was to validate the current car's pinion tooth geometry under increasing static load and check it against the team's analytical hand-calculator before trusting either one blindly.

Initial validation at 0.5" face width — the current car's configuration, reduced from 0.65" — held up to roughly 105 ft-lbs with no visible tooth wear, chipping, or deformation, closely matching the calculator's prediction. That's a solid baseline, but a rig that never breaks anything doesn't tell you where the real limit is.

  • 0.5" face width pinion held exactly as expected, with no signs of failure at ~105 ft-lbs
  • Strong correlation between test results and the analytical calculator at baseline
  • Rig proved reliable for repeatable data collection across load conditions
  • Face width reduced to 0.1–0.15" to intentionally push the geometry past its limit
Test Timeline
01
Rig Modification

Adapted a prior destructive rotor jig in SolidWorks for the pinion's drive interface and static load path.

02
Baseline Validation

0.5" face width (current car config) held ~105 ft-lbs with zero visible tooth wear or deformation — closely matched the calculator.

03
Reduced-Width Setup

Machined a 0.1–0.15" face width pinion, deliberately undersized to force a failure under load.

Dec 2025 – Mar 2026
Destructive Test & Failure

Loaded to failure on camera, capturing the peak load and failure mode for direct model correlation.

Rig Design — SolidWorks
SolidWorks isometric of the full pinion test rig with torque-wrench drive interface
Close-up CAD detail of the fixture blocks and shaft coupling
Fig. — SolidWorks rig design: full assembly with torque-wrench interface, and fixture-block detail. Same jig used for both the baseline and destructive tests.
Result
Digital load readout climbing toward peak just before the pinion tooth failed
Fig. — load climbing on the digital readout moments before the tooth gave way. Full clip in Documentation ↓.
Where the model meets reality

The reduced 0.1–0.15" face width did exactly what the 0.5" baseline couldn't: it failed. The load climbed steadily on the digital readout, then spiked and dropped out the instant the tooth gave way — a clean, repeatable failure event instead of an assumption.

That failure point is the actual data the team needed. The 0.5" baseline only confirmed the calculator was directionally right; this test gives a real number to calibrate it against — the same rigor applied everywhere on this site: be explicit about what's measured versus assumed.

Industrial mixed reality lets a technician look at real machinery and see live, contextual data floating in space, with no separate dashboard or manual lookup required. RobotSelector recognizes a specific KUKA robot through the camera, lets the user select it with a gaze-and-pinch or a tap, and displays its live telemetry — temperature, speed, load — directly above it in AR.

  • Targets two platforms from largely shared code: Apple Vision Pro (visionOS, hands-free gaze + pinch) and iPad (iPadOS, tap-to-select via ARKit raycasting), so it can be tested on hardware available in the lab.
  • Grew out of an earlier iOS object-detection prototype (AVFoundation + Core ML), then moved to ARKit scene reconstruction on Vision Pro, then added a custom-trained computer-vision model and live sensor telemetry.
  • Key challenge: consumer AR platforms are built around strict camera-privacy models, and general-purpose vision models don't reliably distinguish one KUKA arm from the surrounding machinery — both had to be solved from scratch.
Platform Comparison
ConceptvisionOSiPad
Entry pointImmersiveSpace + WindowGroupWindowGroup only
AR viewRealityViewARView via UIViewRepresentable
GestureSpatialTapGestureUITapGestureRecognizer
Mesh accessSceneReconstructionProviderARWorldTrackingConfiguration
Hit detectionCollision on mesh entitiesarView.raycast()
HighlightMaterial on mesh entitySphere entity at hit point
Live Detection Pipeline
Camera / AR Frame
Roboflow Inference (every 1.5s)
Confidence Filter (≥ 0.5, KUKA class)
AR Highlight + Segmentation Overlay
InfluxDB Telemetry Polling (2s)
Development Timeline
01
iOS Camera Prototype

Live AVFoundation feed with Vision-framework object detection to learn the core capture pipeline before touching AR.

02
Core ML Object Detection

Upgraded from Vision rectangle detection (fell over on curved objects) to a YOLOv3 Core ML model via VNCoreMLRequest.

03
visionOS Mesh Selection

Built the first RobotSelector visionOS app — ARKit SceneReconstructionProvider meshes the room, tap highlights the chunk.

04
iPad Port

Ported selection logic to iPad using ARWorldTrackingConfiguration and arView.raycast(), with automatic LiDAR fallback.

05
InfluxDB Telemetry

Added an InfluxDB client (line-protocol writes, Flux queries) and a floating RobotDataOverlay panel above the selected robot.

06–07
Custom ML via Roboflow

Replaced generic Vision segmentation with a custom-trained Roboflow instance-segmentation model, secured via an .xcconfig API key.

08
Camera Restriction Discovered

Found that visionOS 1.0–1.2 exposes no public API for raw camera frames — a deliberate privacy limit, not a bug — and built static-image workarounds to keep developing.

What's next
Live camera access, multi-robot routing

Full hardware implementation on physical Apple Vision Pro once Apple exposes a frame-stream API — no iPad needed.

Key Challenges
visionOS Camera Restriction

As of visionOS 1.0–1.2, Apple provides no public API to stream raw camera frames — an intentional privacy decision, not a bug — which blocked the planned Roboflow inference loop on Vision Pro hardware.

Fix — mesh-entity tap selection (geometry, not pixels) as a fallback, plus static test images cycled through the asset catalog to develop and demo the ML pipeline while awaiting a future frame-access API.

Generic Segmentation Wasn't Enough

Apple's built-in VNGenerateForegroundInstanceMaskRequest segments any foreground object — it cannot tell a KUKA arm apart from other lab equipment, and offered no class labels or confidence scores.

Fix — trained a custom Roboflow instance-segmentation model on labeled KUKA images, called via the Roboflow Serverless API every 1.5s, filtering results to the KUKA class at ≥ 50% confidence.

One Codebase, Two Interaction Models

visionOS uses gaze + pinch with mesh-entity collision; iPad has no gaze input and must raycast from a 2D tap into the 3D world. Early attempts duplicated app logic per platform.

Fix — kept ARKit session setup and gesture handling platform-specific, but shared all RealityKit entity, material, and InfluxDB telemetry code unchanged across both targets.

Flickering & Camera Freezes

Early iOS prototype bounding boxes flickered because every detection shared the ID "Object," and later builds froze because Vision/Core ML work competed with the camera session on the same thread.

Fix — gave each detection a stable UUID (Identifiable), throttled inference to every 3–6 frames, capped zoom, and dropped capture resolution to 720p to keep the pipeline responsive.

Documentation
02 PROJECTS DOCUMENTED
RobotSelector — SERP 2026

iPad prototype, running on live hardware

Screen recording of RobotSelector on a physical iPad, raycasting onto a real KUKA arm and pulling live telemetry through the floating overlay.

ARKit RealityKit InfluxDB Raycast selection
CYCLE6.0s
PARTS0
CONF.99%
STATUSOK

Everything on this site is backed by a real engineering notebook and a real deliverable. The samples below are pulled directly from the 44-page notebook I kept while building RobotSelector, and from the SERP research poster the project was presented on — full files are one click away if you want to read the whole thing.

Engineering Notebook — Sample Pages

SERP Research Poster

Destructive Pinion Testing — Baja SAE

Reduced-width pinion, loaded to failure

Static load test on the 0.1–0.15" face-width pinion, filmed in the Baja shop — load climbs on the digital readout until the tooth fails and the pinion pops out of mesh.

Static Load Test SolidWorks Rig Baja SAE Drivetrain
LAP1 / ∞
POSP1
SPEED18 mph
LAP TIME 
SEC 1
SEC 2
SEC 3

This test is the direct follow-up to the 0.5" baseline validation — reducing the pinion face width on purpose to find the actual failure point instead of assuming one.

Fig. — the in-person test, moments before failure: load climbing on the digital readout just before the tooth gave way. Click to zoom.

Pinion Torque Test Update #1

Some solid early results. Ran initial validation at 0.5" face width (current car setup, reduced from 0.65") — up to ~105 ft-lbs with no visible damage (no tooth wear, chipping, or deformation). Calculator correlation looked solid at the baseline condition.

  • 0.5" face width pinion held exactly as expected under static load
  • No signs of failure yet — good confidence check for the calculator and current design assumptions
  • Next step: 0.1–0.15" face width test, aiming to push to actual failure and get a real data point for model correlation

Overall: baseline looked good — then it was just a matter of taking it to failure.

Baseline vs. Destructive

Face WidthLoad AppliedOutcome
0.5" (current car)~105 ft-lbsNo visible damage — baseline confirmed
0.1–0.15" (reduced)Loaded to failureTooth failure achieved — destructive data point
Stack
ENGINEERING + SOFTWARE

Mechanical / Analysis

SolidWorks
SolidEdge
Fusion 360
Onshape
ANSYS Workbench
MATLAB
Thermal FEA

Software / AR-ML

Swift
SwiftUI
RealityKit
ARKit
Roboflow
InfluxDB

Programming / Systems

Python
JavaScript
C++
C#
Linux
More projects coming — this list grows as new Baja and research work wraps up.
Skills
ENGINEERING + LEADERSHIP
Robotics Propulsion Systems Machine Learning Algorithms Program Analysis 3D Printing Technology Implementation Laboratory Equipment & Technique Public Speaking Hands-on STEM Training