max@portfolio: ~ — zsh

Last login on ttys000

max@portfolio ~ % whoami

Max Yuan · Mechatronics Engineering @ UWaterloo

max@portfolio ~ % cat now.txt

→ humanoid RL + autonomy on WATonomous

→ training a Unitree Go2 to walk with PPO in Isaac Lab

→ getting into VLAs (π₀ / π₀.5) and sim digital twins

max@portfolio ~ % ros2 launch portfolio site.launch.py

[INFO] [robot_state_publisher]: loaded go2.urdf, so101.urdf

[INFO] [site]: about · projects · experience · awards · skills · contact

[INFO] [site]: ready ✓ scroll down, or type help

scroll

Robotics portfolio

Max Yuan

Mechatronics Engineering @ UWaterloo · WATonomous humanoid team

I build robots that learn to move and handle things: quadruped locomotion with PPO, ROS2 autonomy, and learned + vision-guided manipulation. Next, I'm going deeper into vision-language-action models and simulation.

  • reinforcement learning
  • π₀ VLA
  • ROS2 · Nav2
  • Isaac Sim / Lab
  • computer vision
Max Yuan smiling at a restaurant table
open to robotics & ML co-op roles

Explore in sim

Send a robot somewhere

Two robots loaded from their real URDFs. Pick a waypoint, or type an instruction the way you'd prompt a VLA, and the robot takes you to that part of the site.

loading

drag to orbit · click the floor to set a goal

waiting to load the sim…
The 3D sim couldn't start in this browser (it needs WebGL). The waypoints still work: pick one to jump there.

waypoints are pages of this site. the robot drives you there.

Meshes and kinematics come from Unitree's go2_description and TheRobotStudio's SO-101 URDFs. The gait and grasps here are scripted (inverse kinematics, no trained policy), and the instruction box matches keywords rather than running a model.

Featured work

All projects

Behind the builds

Moments from the lab

  • Max presenting the Brackey Way at the BOTS hackathon
    pitching at BOTS
  • Max next to Bracket Bot
    me + Bracket Bot
  • FTC team 18844 with a Canadian flag at the FIRST World Championships
    Team Canada @ Worlds
  • Max and a teammate beside the RICO arm at Eureka Hacks
    RICO demo day
  • Bracket Bot's gripper holding a slice of toast
    toast, π₀ style
  • The RythmHacks turret: a 3D-printed ping-pong ball launcher with a flywheel and servos, wired to an Arduino
    StudyBuddy 9520 · RythmHacks

Looking for a robotics or ML co-op.

Happy to talk about locomotion policies, sim-to-real transfer, robot manipulation, or anything else in robotics.

max@portfolio:~/about$ cat README.md

The human behind the robots

A bit about me, what I'm working on right now, and what I'm looking for.

Max Yuan in a black polo at a restaurant table
hi, I'm Max

I like robots that have to deal with the real world.

I'm a Mechatronics Engineering student at the University of Waterloo (Honours Co-op, class of 2031). I'm most interested in robots that work in the physical world: legged locomotion, mobile autonomy, and manipulation that mixes learned policies with classical control.

Most of my recent work is robot learning and autonomy. I'm training a Unitree Go2 to walk with PPO in Isaac Lab, I built a ROS2 Nav2 stack that maps and navigates a maze in Isaac Sim, and my team fine-tuned a π₀ vision-language-action model to pull toast out of a toaster, which won 1st place at the BOTS hackathon.

Before university I was co-captain and lead programmer of FTC team 18844 (Pr0teens). We represented Team Canada at the 2025 FIRST World Championships, and I ran robot showcases and SPIKE robotics workshops for 60+ kids across the GTA. Now I'm on WATonomous's humanoid sub team, working on the RL and autonomy stack.

2031BASc Mechatronics, UWaterloo
100+teleop demos collected for π₀
60+kids taught at robotics workshops
2025FIRST Worlds as Team Canada

education

University of Waterloo

BASc, Mechatronics Engineering, Honours Co-op

Sept 2026 – Apr 2031 · Waterloo, ON

right now

WATonomous · Humanoid

RL and autonomy stack. Next up: RL in Isaac Lab and simulation digital twins for π₀.5 VLA development.

looking for

A robotics or ML co-op

Happy to talk about locomotion policies, sim-to-real transfer, robot manipulation, or anything else in robotics.

max@portfolio:~/projects$ ls

Selected projects

Robot learning, autonomy, and manipulation, from hackathon weekends to solo simulation projects and competitive robotics.

Aug – Sept 2026 robot learning in progress

Quadruped locomotion with PPO

Unitree Go2 · NVIDIA Isaac Lab · solo project

A walking policy for a Unitree Go2, trained from scratch with PPO in a custom manager-based RL environment I built in Isaac Lab.

  • Isaac Lab
  • PPO
  • rsl_rl
  • PyTorch
  • curriculum learning
Case study

highlights

  • Built a custom ManagerBasedRLEnv for flat-terrain Go2 locomotion: 48-dim observations, 12-DOF joint-position actions, and a custom reward stack.
  • Designed a sigmoid curriculum that ramps up the foot-lift reward over training, so the policy learns to balance before the reward starts shaping its gait.
  • Early policies learned to crawl; a custom height reward fixed it, and squared action-rate penalties keep joint motion smooth.
  • Next: get-up recovery policies and domain randomization for sim-to-real transfer.
May – July 2026 autonomy

Autonomous maze navigation

NVIDIA Nova Carter · Isaac Sim 5.1 · ROS2 · solo project

A ROS2 navigation stack on a Nova Carter in Isaac Sim. The robot drives into a maze it hasn't seen, builds a map with SLAM, localizes with AMCL, and uses Nav2 to plan and follow a path to the goal.

  • ROS2
  • Nav2
  • slam_toolbox
  • AMCL
  • Isaac Sim
  • RViz
Case study

highlights

  • Integrated slam_toolbox mapping, AMCL localization, and Nav2 with a Regulated Pure Pursuit controller, debugging in RViz.
  • Built the full TF tree (map → odom → chassis_link → sensors) with Isaac Sim action graphs; debugged QoS mismatches, sensor-rate bottlenecks, and frame-authority conflicts.
  • Traced a warped SLAM map to LiDAR scans lagging odometry during turns, and fixed it by raising the RTX LiDAR scan rate to 20 Hz.
Eureka Hacks vision & manipulation

RICO, a tool-fetching arm

4-DOF arm · overhead camera · hackathon team

Ask for a tool in plain language and the arm finds it on the bench and hands it to you. A Groq LLM plans the steps, YOLOv8 finds the tool, and inverse kinematics moves the arm.

  • YOLOv8
  • OpenCV homography
  • inverse kinematics
  • Groq LLM
  • Python
Case study

highlights

  • A Groq LLM turns a plain-language request into a list of robot actions.
  • A homography maps YOLOv8 detections from pixels to positions on the bench, so tools can go anywhere instead of at fixed spots.
  • An inverse kinematics solver turns that position into the joint angles needed to reach and grab the tool.
Sept 2023 – Apr 2025 competition Connect Award · Worlds

FIRST Tech Challenge 18844

Co-captain, lead programmer & driver

Competitive robotics with team 18844, ending at the 2025 FIRST World Championships as Team Canada representatives. I led the software: localization, autonomous pathing, and vision-based pickup.

  • Java
  • PID control
  • odometry
  • OpenCV
  • CNN
Case study

highlights

  • Tuned three PID controllers (x, y, heading) for point-to-point autonomous pathing, turning the integral term on only within 10–20 cm of the target so moves finish without overshoot.
  • Fused two-wheel odometry with IMU heading, rotating robot-frame motion into field coordinates.
  • Automated sample pickup with OpenCV and a custom-trained CNN that estimates each sample's distance and orientation.
mini project Oct 2025 vision & control 2nd place · RythmHacks 2025

StudyBuddy 9520

An anti-procrastination turret · RythmHacks 2025 · team of four

A desk turret that watches you study and fires a ping-pong ball when you get distracted. YOLOv8 spots the distraction, PID loops aim the pan and tilt servos at you, and a flywheel launches the ball.

  • YOLOv8
  • OpenCV
  • PID control
  • Arduino
  • C++
  • Python
  • Onshape
Devpost

highlights

  • Designed the turret in Onshape and 3D-printed it: two high-torque servos for yaw and pitch, and a 1550 RPM DC motor spinning the flywheel.
  • A laptop runs YOLOv8 on a 4K webcam feed to find the distracted person, then sends aim targets to an Arduino UNO over serial. Switching to asynchronous serial removed the lag between detection and motion.
  • A ServoEncoder class wraps PID control and encoder tracking. The servos only covered 60–120° instead of the documented 0–180°, so the PID output had to be normalized and retuned for their non-linear response.
  • When YOLOv8 dropped a detection, the turret kept aiming at the last valid target instead of snapping back.

max@portfolio:~/experience$ git log --oneline

Teams I've built with

A university design team, a competitive robotics team, and where I'm studying.

  1. Humanoid Sub Team

    Sept 2026 – present

    WATonomous · University of Waterloo design team

    • Contributing to the RL and autonomy stack on the humanoid sub team.
    • Upcoming work in reinforcement learning (Isaac Lab) and simulation-based digital twins for π₀.5 VLA model development.
    • Isaac Lab
    • reinforcement learning
    • digital twins
    • π₀.5 VLA
  2. Co-Captain, Lead Programmer & Driver

    Sept 2023 – Apr 2025

    FIRST Tech Challenge · Team 18844 (Pr0teens)

    1st place Connect Award, Ochoa Division, at the 2025 FIRST World Championships, as Team Canada representatives.

    • Distributed work across the programming subdivision, scoping tasks by skill level and integrating everyone's contributions.
    • Ran robot showcases and hands-on SPIKE robotics workshops for 60+ kids across the GTA.
    • Built a PID pathing system fusing two-wheel odometry with IMU data to localize the robot in field coordinates.
    • Automated a pickup system with OpenCV and a custom-trained CNN that estimates distance and orientation.
  3. BASc, Mechatronics Engineering

    Sept 2026 – Apr 2031

    University of Waterloo · Honours Co-op

    Education. Waterloo, ON.

max@portfolio:~/awards$ ls

Awards & wins

Two hackathon podiums and FIRST championship awards.

1st place

BOTS Hackathon · Battle of the Schools · WAT.ai vs. UTMIST · Sept 2026

The Brackey Way, an autonomous sandwich robot

A dual-arm Bracket Bot that takes toast out of a toaster, adds lettuce, and closes the sandwich with no human control. A fine-tuned π₀ VLA handles the toaster grasp, OpenCV + IK handles the lettuce, and a state machine runs the steps. The prize was four Bambu Lab P1S 3D printers.

  • π₀ VLA
  • 100+ teleop demos
  • OpenCV + IK
  • team of four
Read the case study
Max next to Bracket Bot, holding the finished sandwich
the winning sandwich
Max presenting at the BOTS hackathon
pitching it

trophy shelf

1st place

BOTS Hackathon

Battle of the Schools, WAT.ai vs. UTMIST

Sept 2026

2nd place

RythmHacks 2025

StudyBuddy 9520, an anti-procrastination turret · see the project

Oct 2025

1st place · Connect Award

FIRST World Championships

Ochoa Division, as Team Canada representatives

2025

2nd place · Inspire Award

FTC Ontario Provincials

Ontario Provincial Championships

Team 18844

team canada

FTC team 18844 holding a Canadian flag at the FIRST World Championships

Representing Canada at FIRST Worlds 2025

FTC team 18844 (Pr0teens) at the 2025 FIRST World Championships, where we won the 1st place Connect Award in the Ochoa Division. I was co-captain, lead programmer, and driver.

The robot and its code

max@portfolio:~/skills$ cat skills.txt

Skills & tools

Everything here is from my résumé. Hover or tap a skill to see which projects I used it in.

Languages

3 skills

hover or tap a skill with a number to see where I used it.

Environments

3 skills
Linux CLI Git

hover or tap a skill with a number to see where I used it.

Simulation & vision

4 skills

hover or tap a skill with a number to see where I used it.

Robotics & control

9 skills

hover or tap a skill with a number to see where I used it.

Machine learning

6 skills

hover or tap a skill with a number to see where I used it.

Learning next

in progress

what I'm picking up next, and where.

Want it all on one page?

The same skills, plus projects and experience, in my résumé.

max@portfolio:~/contact$ ping max

Let's talk robots

Looking for a robotics or ML co-op. Happy to talk about locomotion policies, sim-to-real transfer, robot manipulation, or anything else in robotics.