Robotic Reinforcement Learning Β· AI Agents Β· LLM Infrastructure Β· Sim-to-Real
PhD Student β Open to Research / Robotics / ML Internships.
PhD student working at the intersection of Robot Learning and Large-scale Systems β I train RL policies in simulation and push them toward real hardware, and I build the AI agents and infrastructure that make both fast and correct.
I came to AI from an unusual direction: an architecture background that taught me to reason about complex systems, geometry, spatial relationships, and the tradeoffs between elegant ideas and real-world constraints. That convinced me the most important problems in the physical world will be solved not by better static tools, but by intelligent systems that can learn, adapt, and act β which drew me to robot learning, simulation, and AI infrastructure. I'm most energized by unfamiliar, technically demanding problems and by turning ideas across disciplines into scalable systems that work in practice.
- π€ Robotics RL in Simulation β training policies in NVIDIA Isaac Sim / Isaac Lab (locomotion / manipulation / sim-to-real) with GPU-parallel environments and PPO/SAC-style training.
- π§ AI Agents β VLM-driven agents that perceive, reason over policy/knowledge, and act in a closed senseβthinkβactβreport loop (see SafetyCommander below).
- βοΈ LLM Infrastructure β contributor to vLLM, the core LLM inference engine: 2 performance PRs merged.
- π¦Ύ ROS 2 β bridging learned policies to real robot stacks (nodes, controllers, perception β action pipelines).
- π¬ Research interests: Reinforcement Learning, AI Agents, Robot Manipulation/Locomotion, GPU-accelerated simulation and sim-to-real transfer.
π« lynnhe02@gmail.com Β· π Texas
| Project | Description | Stack |
|---|---|---|
| SafetyCommander β Autonomous Factory Safety Officer | A VLM agent that owns a safety officer's shift: it watches the production floor on camera, reasons about risk by reading the site's written safety policy (and citing the exact clause it relied on), fires risk-graded actions (log β notify β corrective ticket β escalate β Slack), routes each alert to the right worker, and rolls each shift up into KPI reports + a forward-looking inspection/training plan. The VLM makes every risk decision β no hardcoded rules (edit one line of policy and the verdict flips). Built at the Zapdos Labs Γ Antler hackathon (AI Agents for the American Industrial Revolution); in active development since. | Qwen3-VL on vLLM, YOLO perception, TF-IDF RAG (OSHA/SOP), Flask |
| Arm Reinforcement Learning (Isaac Lab) | Reinforcement-learning training for a Franka Emika Panda manipulator in NVIDIA Isaac Lab β GPU-parallel environments for arm control (reaching / manipulation) with PPO-style policy training in simulation. | Isaac Lab, Isaac Sim, PyTorch, RL |
| Archiagents | End-to-end AI agent for architectural design (collaborative project). Ingests project briefs + CAD/DWG/IFC/Revit files, runs requirement dialogue, generates design schemes and photorealistic renders, and outputs IFC4 BIM models with an embedded Autodesk APS viewer. My role: brought the architecture-domain expertise (B.Arch background) β shaping the design-requirement logic, the agent's reasoning over building programs, and the IFC4 / BIM modeling that turns AI output into valid design deliverables. | Vercel AI SDK, shadcn/ui, Autodesk APS, IFC4 |
| Revit-Civil-AI-Estimator | Revit 2025 add-in that uses OpenAI to automate quantity takeoff and cost estimation for civil-engineering workflows. | C#, OpenAI API, Revit |
- PR #46542 β
[Perf][LoRA](merged): Replaced a per-tokenlist.index()lookup inconvert_mappingβ an O(num_tokens Γ num_loras) hot path the code had flagged with a TODO β by building a reverse{lora_id: index}dict once for O(1) lookups, cutting mapping construction to O(num_tokens). 2.5Γβ6.5Γ faster in microbenchmarks (e.g. 64 LoRAs / 1024 tokens: 275Β΅s β 42Β΅s), with identical output verified against randomized + existing LoRA tests. - PR #46543 β
[Perf][Multimodal](merged): Removed a wasteful O(num_frames) timestamp-list allocation in GLM-4V / GLM video frame sampling, computing each timestamp inline asframe_index * duration_per_frame. Byte-for-byte identical behavior with lower memory on long videos.
- PR #6235 β Documentation fix (merged): Fixed doc typos and
a broken image path across asset-import, IMU, task-workflow, and OSC-controller docs. Merged into IsaacLab's
developbranch; added my name toCONTRIBUTORS.md. - PR #6237 β Bug fix (open, under review): Four state-machine
/ tutorial scripts called
AppLauncher(headless=args_cli.headless)after registering the full launcher CLI arg set β silently dropping every other flag (--viz,--livestream,--enable_cameras, β¦). Forwarded the full parsed args so the flags take effect. Closes #5572. - PR #6306 β Bug fix (open): Corrected an invalid task ID in the Newton-physics sim-to-sim docs (the documented training command failed as written), plus related typos.
Robotics & Simulation
AI / ML
Languages & Systems

