I am a Computer Engineering student at Penn State University (B.S., expected 2028). I work on robotics software: ROS / ROS 2 bring-up, LiDAR mapping and navigation, multi-robot communication, and controlling a 3D printer that rides on a mobile robot.
- Now: ROS 2 Jazzy on a Clearpath Husky A200 (SLAM, Nav2, 3D LiDAR maps) and linking it to a Unitree Go2 over Wi‑Fi for a 3D-reconstruction / digital-twin project
- Research: mobile additive manufacturing. I built the print controller that pauses, resumes and edits G-code while a KUKA KMR iiwa moves
- Summer 2026: AI framework SDK development intern at H World Group (Shanghai)
- ROBOX robotics club: Embedded Systems Team Lead & Treasurer
| Project | What it is | Stack |
|---|---|---|
| HuskyA200 | Clearpath Husky A200 on ROS 2 Jazzy: bring-up, SLAM + Nav2, and a KISS-ICP 3D LiDAR map (0.13 m drift over 59.5 m) | ROS 2 · C++ · Python |
| Husky-Go2-MultiRobot | Husky ↔ Unitree Go2 over Wi‑Fi: unitree_sdk2 → ROS 2 bridge and a zenoh link across Foxy / Jazzy; the Husky commands the dog to stand up / lie down |
ROS 2 · C++ · zenoh |
| Mobile-AM-Print-Control | Line-level pause / resume, G-code override & injection, and motion-based auto pause for a printer on a mobile manipulator | ROS · Python · Printrun |
| Single-Image-to-3D-Reconstruction | One photo → depth (Depth Anything V2) → colored point cloud and mesh | PyTorch · NumPy |
| ROS-OctoPrint | OctoPrint-based G-code streamer with precise pause, latency benchmarks and feed-rate override | ROS · Python · REST |
| Setup-ROS-on-macOS-Apple-Silicon | Field guide: four ways to run ROS on M-series Macs, with real errors and fixes | Docker · ROS 1/2 |
| ROS-based-Multi-Sensor | Vibration + IMU acquisition framework for industrial-robot condition monitoring (in progress) | ROS · Python |