AI & Robotics Systems Engineer
I build software where machine learning meets physical equipment: computer vision, robot motion, and industrial automation. Most of the projects below run against simulators or public datasets rather than hardware. Each README says what was measured, on what data, and what the numbers do not cover.
| Project | What it is | Measured |
|---|---|---|
| multi-uav-perception | Aerial detection and tracking: YOLO fine-tuned on VisDrone, ONNX and OpenVINO exports checked for agreement, ByteTrack vs BoT-SORT, and target assignment for three virtual UAVs over a ROS 2 Jazzy graph with a C++ monitor node | mAP50 0.154 → 0.402 on a locked validation subset |
| machine-health-monitor | Predictive maintenance scored on how early the warning comes, not on accuracy, across five simulated machines | EWMA warns ~9 days before fault onset; Isolation Forest only after it |
| reactor-plc-trainer | Batch-reactor simulator that speaks the CODESYS gateway protocol, so students control it with real ladder logic in Machine Expert; includes a 12-chapter beginner course in Indonesian | Its headless mode generated the 400-batch fouling study used against the machine-health detectors |
| modbus-monitor | Modbus TCP monitoring: engineering-unit scaling, 4–20 mA loop-fault detection, alarm hysteresis, and a plant simulator to run against | End-to-end test over a real TCP socket |
| agvnav | Factory AGV simulation: A* global path, DWA local control on LiDAR only, and safety fields that stop for a worker the robot is never told about | No collisions; closest approach 0.16 m to the worker |
| conveyorsort | Reject sorter tracking packages by encoder instead of timer, firing a PLC coil over Modbus TCP, with the belt slowing and stopping mid-run | Reject within 10 mm vs 330 mm for a fixed timer |
- visiongrasp: UR5 pick-and-place in simulation. It covers RGB-D detection, pixel-to-base deprojection, orientation-constrained IK and quintic trajectories.
- wateraudit: effluent BOD/COD soft sensors with conformal prediction intervals, tested in time order on the UCI Water Treatment Plant data.
- driftdetect: a dataset-shift audit with FDR-controlled per-column tests, adversarial validation and attribution, tested on injected drift and real plant data.
- visual-inspection-api: serves YOLO-style ONNX detectors over HTTP, with the output layout detected automatically and NMS written in NumPy.
- iot-telemetry-api: FastAPI telemetry service with JWT auth, idempotent batch ingestion, and the ESP32 firmware that feeds it.
- Languages: Python, C++, VB.NET, Arduino (ESP32)
- Vision and ML: PyTorch, Ultralytics YOLO, OpenCV, ONNX Runtime, OpenVINO, scikit-learn, LightGBM
- Robotics: ROS 2 Jazzy, URDF with ikpy, A* and DWA planning
- Industrial: Modbus TCP (pymodbus), the CODESYS gateway, 4–20 mA signals, ladder logic
- Backend: FastAPI, SQLAlchemy, MySQL/SQLite, Docker Compose