McAllister Blair

Autonomy, robotics, and perception

I'm a data science student at UC San Diego on the ML & AI track, graduating in June 2027. I build software for machines that operate in the physical world: driving policies that run on real vehicles, robot manipulation learned from demonstration, and safety-critical ROS 2 code in C++.

At ArcellAI I own the robotics layer of an autonomous-lab proposal to the DOE Genesis Mission. I'm seeking internship and full-time roles in autonomy, robotics, and defense.

Experience

ArcellAIAI Engineering Intern
June 2026 to present

Autonomous lab robotics, DOE Genesis Mission proposal

Sep 2026 to present

  • Own the robotics layer of an instrument-neutral autonomous-lab proposal: a simulated skill that moves a sample carrier from a rack into a characterization station and verifies placement before a measurement runs.
  • Specifying the workcell (coordinate frames, planning scene, collision-aware motion in ROS 2 with MoveIt Task Constructor) and tracing successful and failed transfers against a fault catalog.
  • Evaluating learned 6D pose estimation (FoundationPose) against a fiducial-marker baseline for visual placement checks.

Biosignal data quality

June 2026 to Sep 2026

  • Built an ingestion, cleaning, and validation pipeline (Python, Pydantic, MNE) that normalizes inconsistent clinical recordings into one validated schema with hash-based provenance.
  • Designed a configurable quality engine that checks for shape mismatches, missing or duplicate channels, and corrupt records, and reports each issue with a severity level and supporting evidence.
Triton AIUC San Diego autonomous racing team
Aug 2026 to present

Jeep Bot platform team

  • Working on obstacle avoidance for an autonomous campus vehicle (ROS 2, LiDAR and stereo camera): local planning and costmaps, Nav2 integration, and a safety layer.

Selected work

The vehicle driving on a CNN policy trained from my own driving data.

July 2026, DSC 190 at UC San Diego

Autonomous vehicle perception and control

Behavior cloning, CNN, TensorFlow Lite, Raspberry Pi 5, UCSD DSMLP GPU cluster

  • Built a camera-based imitation-learning stack for a 1:10-scale vehicle, training a CNN to map onboard camera frames to steering and throttle.
  • Deployed the model with TensorFlow Lite for on-device inference on a Raspberry Pi 5 running a 20 Hz control loop.
  • Improved validation loss 3.4× across training iterations.
Inputs2D LiDAR (LaserScan), odometry
OutputDrive-command override on the F1Tenth interface
RateEvery incoming scan
StackC++, ROS 2 Jazzy, colcon
Test casesOn-axis, off-axis, stationary vehicle
Ground truthDerived independently of the node's own formulation
Node specification.

August 2026, personal project

Automatic emergency braking node

C++, ROS 2 Jazzy, LiDAR, odometry

A safety node that computes time to collision for every LiDAR beam and overrides drive commands to stop the vehicle before impact. Braking latches once triggered, which keeps the behavior predictable without sensor fusion or filtering.

  • Validated against a synthetic LaserScan and odometry fixture with independently derived ground truth.
  • Confirmed the computed time to collision matches the fixture, the brake fires on the first sample under threshold, and a stationary vehicle never brakes.
The trained policy completing pick-and-place on the physical arm.

February to April 2026, personal project

Robotic arm manipulation with imitation learning

LeRobot SO-101, ACT policy, PyTorch, Hugging Face, Weights & Biases

  • Built a 6-DoF follower arm from hardware assembly through deployment, with a custom PS4 teleoperation interface for collecting demonstrations.
  • Trained an Action Chunking Transformer on 50+ demonstrations, reducing training loss from 0.35 to 0.06.
  • Deployed the policy on the arm and validated autonomous pick-and-place on hardware.
Training report
EvaluationROC-AUC
Random split (leaks subject identity)0.796
Leave one subject out, 15 subjects0.583
Leave one subject out, 13 subjects0.578
Shuffled labels, 100 permutations0.500
Same features and model. Only the evaluation split changes.

2026, personal project

Parkinson's medication-state classifier

EEG, MNE-BIDS, scikit-learn, permutation testing

Classifies whether a Parkinson's patient is on or off levodopa from resting EEG. The first pipeline reported 0.796 ROC-AUC, but its random split leaked patient identity. Rebuilt with leave-one-subject-out evaluation, it holds at 0.578 on unseen patients and beats a permutation null (p = 0.0099).

  • Extracted 48 features across 7 sensorimotor channels from raw OpenNeuro clinical recordings.
  • Removed two paths by which recording gain leaked into the label, using relative band power and a normalized coupling index.
  • Traced the two best-scoring subjects to a preprocessing mismatch flagged in the dataset's own metadata.
R-peak detection on a live recording, and the AD620 front-end. Select either to enlarge.

April 2026 to present, personal project

Biosignal acquisition circuit

AD620 instrumentation amplifier, Arduino Nano Every, PySerial, MNE, SciPy

  • Designed and built an analog front-end with discrete active filtering to capture ECG from surface electrodes.
  • Built a real-time acquisition pipeline sampling at about 190 Hz, with band-pass filtering to remove baseline wander and mains noise.
  • Wrote R-peak detection to compute heart rate from the filtered signal. Designed with EEG acquisition as the end goal.

Technical skills

LanguagesC++, Python, SQL, Bash
Robotics and embeddedROS 2 (Jazzy), MoveIt, workcell design (coordinate frames, planning scenes), LiDAR and odometry processing, real-time control loops, edge deployment (TensorFlow Lite, Raspberry Pi 5, Arduino), analog circuit prototyping (LTspice), Linux, Git
Machine learningPyTorch, TensorFlow/Keras, scikit-learn, imitation learning (behavior cloning, ACT), computer vision, 6D pose estimation, model evaluation, GPU cluster training
Data and signalsNumPy, pandas, SciPy, MNE, time-series analysis, feature engineering, data validation, PostgreSQL

Contact

I'm looking for internship and full-time roles in autonomy, robotics, and defense technology. The best way to reach me is email.