ROS 2 · C++20 · SLAM & NAVIGATION · AI-NATIVE DEV SYSTEMS

Jung Mo Kang

Robotics Software Engineer·6 yrs

Open to conversations about robotics software, ROS 2 architecture, and AI-native engineering practice.

I build autonomous mobile robots, and the engineering system around foundation models that lets them ship safely.

6 yrs
building & field-deploying robot software
30+
AMRs shipped into factory operation
50+
serving robots in real-world service

Robotics tools, built end-to-end

Estimator cores kept free of middleware, ROS 2 wired in only at the edges, and every performance claim backed by tests plus committed evaluation artifacts, not screenshots.

Evaluation plot from prism_loc: localization position error and yaw error over time across three random seeds.
Case study

prism_loc

Pluggable LiDAR localization for ROS 2: 2D MCL, 3D NDT-MCL, and LiDAR+IMU+RTK-GNSS ESKF fusion over middleware-free C++17 estimator cores, one map→odom contract.

ROS 2C++17MCLESKF

Production robotics, delivered on-site

Client and employer names withheld. What “on-site” meant here: months of bring-up on the factory floor, crash triage against real hardware, and pilots carried into commercial rollout.

Factory logistics automation: AMR fleet

AMR software engineer, on-site deployment

  • Built ROS-based AMR autonomy and the fleet-side ACS bridge protocol (WebSocket) connecting robots to the plant control system.
  • Automated mass installation and mapping/logging workflows, making a 30+ robot rollout at an overseas factory repeatable. The protocol carried the project into commercial rollout.
  • Lived on-site for months of bring-up: crash triage with gdb, alarm-code and charging-sequence fixes on real hardware.
ROSC++PythonWebSocketon-site

Serving robots at scale

Feature development, maintenance, field debugging

  • Maintained and extended C++ autonomy features across 50+ robots serving in restaurants and cafés; multi-robot showcases at industry exhibitions.
  • Built a web app for assembly-conformance QA (Node.js/Express + ROS bridge) that sharply cut manual inspection time, and mass-production Ubuntu images for repeatable manufacturing.
ROSC++Node.jsmanufacturing

Autonomous mobility-assistance chair

Bring-up → autonomy → certification

  • Brought a rider-carrying autonomous chair from bare hardware to a drivable, obstacle-avoiding system; tuned avoidance path planning for safety around people.
  • Passed public-institution certification testing, cleared for real-site service in a public museum setting.
ROSC++motion planningcertification

Airport guide robot + Android SDK

SDK architecture & robot integration

  • Designed a Kotlin Android SDK (rosbridge WebSocket, Coroutines/Flow, MVVM) that lets external apps command ROS robots, no CLI required.
  • Integrated with a third-party fleet system and shipped service modes (guidance, signage, docent, patrol) plus custom OS images and OTA updates.
KotlinAndroidSDKfleet integration

Autonomous cart PoC

Full robot software, algorithm tuning

  • Delivered an indoor autonomous logistics cart pilot in two months on an existing platform: new sensor integration, side-sensing deceleration on turns, site mapping, operator handover.
ROSC++PoCsensors

3D vision sensor applications

Application engineer

  • Built the control, logging, and licensing software for an in-house 3D vision sensor: a C# WinForms application plus a C++ encryption/licensing library.
C#C++.NETlicensing

The system around the model

What sets my work apart is not that I use foundation models. It is the engineering system I build around them, proven on a safety-critical robot codebase.

Pipelines, not prompts

An orchestrator coordinates specialized sub-agents with context isolation per task. The unit of work is a structured task with defined inputs, a verification step, and a record, not a chat.

Gates that make AI safe to ship

Every commit is auto-reviewed; merges gate on AI review plus ASan/UBSan/TSan sanitizers in CI. The gates don't care who wrote the code, human or model.

A platform, not a one-off

Custom skills, event hooks, tool integrations, and cross-session memory: a small internal platform with its own standards, repeatable beyond any single project.

Judgment about model limits

Model output is grounded against real-robot behavior before it is trusted; models are selected per task for reliability; my own FM usage is logged and self-audited.

Writing & case studies

Long-form on how I engineer, and a deep dive on one flagship project: architecture, contracts, and the tradeoffs behind them.

About

I'm a robotics software engineer with six years building and deploying autonomous mobile robots across smart-factory, logistics, mobility-assistance, airport, and food-service settings. I've shipped 30+ AMRs and 50+ serving robots into real-world operation.

I solve at the system level: onboard autonomy, fleet and control-system integration, GUIs, and communication protocols, not just at the code level. Right now I'm leading a multi-year migration of a legacy ROS 1 robot stack to a modular, middleware-agnostic ROS 2 platform in C++20, owning it from architecture through release. Before software, I trained in international trade, and I bring that domain-first habit of thinking to engineering.

What drives me is turning robots from research demos into products that actually work on the floor.

Core stack

C++20ROS 2PythonKotlinSLAM & navigationNav2DDSLinuxDockerCI/CDmulti-agent AI tooling

Languages

Korean (native) · English (professional) · German (B1)