Aung Kaung Myat

Robot Learning · Manipulation · Physical AI

Robotics Software Engineer

Real robots at work; learned perception and control in the projects here, measured against classical baselines

  • ROS2
  • C++
  • Python
  • PyTorch
Aung Kaung Myat
01

About

Robotics Software Engineer. ROS2, C++ and LiDAR perception on real mobile robots in my current role. The projects here are personal work on learned perception and control — trained in simulation, measured against a classical baseline that had to be beaten, exported to run on device.

Current Focus
Robot learning on CPU — detection, pose regression, RL policies · Sim-to-real method: domain randomisation, system identification, ONNX export · ROS2 manipulation with MoveIt2
Career Goal
Physical AI Engineer — shipping learned behaviour onto real machines: sim-to-real transfer, legged locomotion, and perception that holds up outside a staged scene.
02

Technical Stack

Core

  • ROS2 (Humble)
  • C++
  • Python
  • Linux
  • Docker

Robot Learning

  • PPO
  • LQR
  • Domain randomisation
  • System identification
  • Sim-to-real transfer

ML / DL

  • PyTorch
  • CNN
  • Object detection
  • Pose regression
  • ONNX Runtime

Perception

  • LiDAR
  • IMU
  • Sensor fusion
  • OpenCV
  • PCL

Navigation & Manipulation

  • Nav2
  • SLAM
  • MoveIt2
  • OMPL

Simulation

  • MuJoCo
  • Gazebo
  • RViz
03

Projects

Walkthroughs
01

Tabletop Clutter Detector

  • Python
  • PyTorch
  • MuJoCo
  • ONNX Runtime
  • Anchor-free detector for 3–6 overlapping objects on a table; every box read straight out of the renderer's segmentation buffer, so no label is hand-drawn
  • mAP@[.5:.95] of 0.911 against a fitted classical pipeline's 0.532 — with COCO mAP implemented from scratch and unit-tested rather than imported
  • 1.20 ms per image through ONNX Runtime on 8 CPU threads, 1.8× faster than the classical baseline it beats
02

PPO vs LQR on Cart-Pole

  • Python
  • PyTorch
  • NumPy
  • MuJoCo
  • PPO written from first principles — no gymnasium, no baselines library — against an LQR controller solved from the linearised physics
  • 16 seeds reported as median and IQR, plus ablations on GAE, advantage normalisation and ratio clipping, each judged by a permutation test
  • LQR solves at zero sample cost; PPO needs a median 62,144 environment steps and ends with a smaller basin of attraction — reported where the learned policy loses, not only where it wins
03

Microduck Locomotion on CPU

  • Python
  • MuJoCo
  • PyTorch
  • ONNX
  • Balance-and-recover policy for a 25 cm, 14-servo open-source biped, trained in MuJoCo with no GPU anywhere in the stack
  • Feasibility measured before any training was committed: 13,300 sustained env-steps/s across 8 processes, after three earlier figures turned out to be short bursts
  • 48-dimensional observation contract fixed and a PD hold-pose baseline measured at 108.7 ± 2.9 of 500 for the policy to beat; training is the next step
04

Cube Pose Regression CNN

  • Python
  • PyTorch
  • MuJoCo
  • OpenCV
  • Planar pose (x, y, yaw) of a cube recovered from a single 128×128 render, with a hand-written OpenCV baseline measured first so the network has something to beat
  • A spatial soft-argmax head reaches 0.59 mm median error with 27k parameters — 5× smaller and more accurate than the 130k flatten head
  • Calibrating one scalar removed a systematic +2.98 mm radial bias from the classical baseline and closed 53% of the gap for free — the reason the baseline is refitted, not dismissed
05

MoveIt2 Pick & Place Demo

  • Python
  • C++
  • MoveIt2
  • ROS2
  • Franka Panda
  • 7-DOF Franka Panda clears seven balls from a table using only what the camera detects — no grasp pose is hard-coded anywhere in the loop
  • Simulated camera → HSV detection → C++ reachability validator → state machine, so an unreachable target is rejected before the planner is ever asked
  • Cartesian-first execution with OMPL RRTConnect as fallback, action-server verification at startup, and recovery to a known state when planning fails
06

Fleet Monitoring System

  • Python
  • ROS2
  • Kafka
  • Docker
  • Distributed multi-robot telemetry pipeline: ROS2 → Kafka → QuestDB time-series database
  • Simulates production fleet infrastructure with multiple TurtleBot3 robots in Gazebo
  • Containerised stack with Docker; real-time dashboard over the PostgreSQL wire protocol