Selected work
Most recent first. Each entry leads with the measurement that mattered, and what it was measured against.-
Quadruped Fall Recovery
The policy was fine. The robot wasn’t the robot it trained against — 216 g heavier, at 77.6% of the torque-to-weight it had learned on.
- 1.4 – 2.1 s
- supine to back on its feet, in 10 of 14 logged recoveries — the other four stalled at 5.4–10.5 s
-
SLAM Walking Robot
Two motors, six bars, and no IMU — a walking robot that still maps an indoor lab and knows where it is inside it.
- 0.211 m
- AMCL localization RMSE on the robot, against a spec of ≤ 0.25 m over N = 35 readings
-
ArmY — Grasp-Pose Selection
Grasp detection offers a hundred ways to pick up a jar. Choosing one is the whole job — and detecting the target accurately turns out not to be the same thing as placing the gripper accurately.
- ±1 cm
- grasp-pose accuracy — the requirement the system did not meet, even though it almost always saw the target
-
Compressed-Air Line-Following Car
Five liters of air at two bar is the entire energy budget — no drive motor, a piston engine I designed, and a lane the camera keeps losing.
- 62.3 m
- travelled on one fill, 86% of the 72.67 m the compressed air should theoretically give
-
RoboMaster Engineer — SCARA Arm
The arm never lifts its own shoulder motors, the beam is a carbon octagon chosen for stiffness per gram, and the lift is two lifts — coarse and fast, then fine and precise.
- 80%
- of the inertia a joint accelerates is the motor's own mass, if you mount it on the joint — so neither shoulder motor rides on the arm
-
Follow-Up Fixturing System
A drilled thin-walled part needs support right at the hole, so this fixture rides on the spindle head. Its feed is laid out to cancel its own moment, and its vacuum cup is soft where it seals and rigid where it locates.
- 0.0018 mm
- feed-module displacement at the 800 N limit load — SolidWorks static FEA, not a measurement