mybot: two-wheeled bipedal robot
A wheeled biped that learns to self-balance and drive to goals with a hand-written PPO (no RL libraries), ROS 2 + Gazebo training pipeline, MuJoCo verification, staged curriculum from balance to goal navigation.
I'm Mickyas Tamiru Asfaw, a robotics engineer focused on learned control for mobile robots: hand-written reinforcement learning, classical control (MPC/LQR/PID), and the sim-to-real engineering that makes policies survive contact with reality.
One robot that drives for hours and flies for minutes: a self-balancing two-wheel base with four tilting rotors, controlled by a single reinforcement-learning policy trained through a performance-gated curriculum, with the fly-vs-drive decision learned from an energy-priced reward, not hard-coded.
From-scratch PPO (no RL libraries) beside an MPC/LQR/PID classical stack; one policy advances through six curriculum stages: balance, drive, hover, 3D flight, takeoff/landing, and free drive-or-fly arbitration, without forgetting earlier skills.
Robots that balance, navigate, and transfer from simulation to the real world.
A wheeled biped that learns to self-balance and drive to goals with a hand-written PPO (no RL libraries), ROS 2 + Gazebo training pipeline, MuJoCo verification, staged curriculum from balance to goal navigation.
Vision-based quadrotor collision avoidance in Gazebo, learned from scratch: a TD3 baseline reads stacked depth frames plus a goal direction, and a recurrent-PPO extension flies genuine detours around occluders, 80% deterministic success on the detour task.
A TD3 agent drives a Pioneer 3-DX through cluttered rooms in ROS 2 + Gazebo, reaching random goals collision-free from 3D-LiDAR input while slam_toolbox maps the room live, turning a goal-reaching policy into autonomous exploration. GIPSA-Lab project (Grenoble INP), documented in a published paper.
Learning project, grown well past the start: a segway-style wheeled quadruped learns to balance and drive with PPO in NVIDIA Isaac Lab. An asymmetric actor-critic keeps the deployed policy on onboard-only sensing across 2048 GPU-parallel environments. Four trained policies (balance and velocity, on flat and rough terrain), exported to ONNX and TorchScript, and validated sim-to-sim in a second physics engine (MuJoCo).
Contributor to the Aerial Gym Simulator: multi-agent quadcopter collision avoidance trained with TD3 / SAC in Isaac Gym, massively parallel GPU simulation for aerial swarms.
LPV/H-infinity and LPV/LQR controllers for lateral control of autonomous vehicles, robust stability and performance across varying operating points.
A 5-axis palletizing arm designed and prototyped at Heineken Brewery, CAD in SolidWorks, dynamics in MATLAB/Simulink and CoppeliaSim, Arduino control with a custom Android HMI.
Research and engineering roles across robot perception, learned control, and hardware, from digital twins today back to my first mechatronics prototypes.
I like building the whole stack myself, not because libraries are bad, but because a controller you derived, implemented, and unit-tested is one you can debug at 3 a.m. when the robot does something strange. My PPO implementations are written from the equations up; my reward functions are audited for economic exploits; my simulations carry verification gates that block training when the physics stops making sense.
The thread through my work is locomotion that has to earn trust: statically unstable bases that must balance to exist, aerial systems where the landing is the hard part, and policies that transfer from simulation to hardware because the gap was engineered away, measured latencies, calibrated actuators, and domain randomization on the axes that actually matter.
Right now that thread leads through AETHER-1: taking a simulation-validated hybrid robot to a physical prototype, and toward inspection missions neither drones nor ground robots can complete alone.
Whether it's reinforcement learning that has to run on real hardware, a control problem that refuses to behave, or the AETHER-1 program, I'd love to hear from you.