// hello, world

hi, i'm ethan.

Robotics & AI @ UCL

I build intelligent systems that bridge the gap between software and the physical world. Focused on autonomous robotics, legged robotics, and cool things.

// projects

UKSEDS Olympus Rover Trials

UKSEDS Olympus Rover Trials

Awarded Best CDR Report as Mechanical Design Lead for "Gut Genug", an autonomous rover that maps a pit and collects sand samples — designed and 3D-printed its rotary bucket drum sampling system in Fusion 360.

Fusion 360 · 3D Printing · DfM

Inverted Pendulum Cart

Inverted Pendulum Cart

A non-linear Python simulation and physical Arduino build of an inverted pendulum cart, using LQR/Pole Placement control and a multi-sensor Kalman filter to catch and recover a falling pendulum.

Python · SciPy · Arduino · Kalman Filter

Gomoku Reinforcement Learning

Gomoku Reinforcement Learning

An AlphaZero-based reinforcement learning agent for Gomoku, combining a dual-headed ResNet with Monte Carlo Tree Search and an 11-level self-play curriculum to master a 10⁵⁰-state game.

ResNet · MCTS · DQN · NumPy

BiegSam Autonomous Robot

BiegSam Autonomous Robot

An autonomous multi-terrain robot built in six weeks, combining line tracking, wall following and stair climbing via a closed-loop control system with ultrasonic and reflectance sensors.

CAD · C · Arduino

Smart Fan System

Smart Fan System

A team-built smart fan system that adjusts RPM based on proximity, temperature and orientation, prototyped with soldering, laser cutting and 3D printing.

Arduino · 3D Printing

// experience

Robotics Software Developer

UCL Industry Project with Laelaps AI

Mar 2026 — Jul 2026

ROS 2 · PettingZoo · PyTorch · Gazebo

  • Developed a sim-to-real Multi-Agent Reinforcement Learning (MARL) pipeline for Unitree Go2 quadrupeds in partnership with Laelaps AI.
  • Designed centralised training, decentralised execution (CTDE) policies using PettingZoo and PyTorch. Tested on 2 quadrupeds in Gazebo simulation.
  • Engineered a robust ROS 2 Humble overlay framework integrating ros_gz_bridge and gz_ros2_control to cleanly decouple 2D occupancy-grid training from 3D physics execution.

Technical Officer

UCL Robotics Society

Jul 2026 — Present

Astro · Cloudflare Pages · DNS

  • Took over as lead developer of uclrobotics.com from the previous maintainer, redesigning and rebuilding the site in Astro to modernise its layout, content, and navigation.
  • Migrated hosting to Cloudflare Pages and resolved custom domain and DNS configuration issues, including a .co.uk to .com redirect, to bring the new site live under the primary domain.

Coding Teacher

BlueShift Education, London

Sep 2025 — Jul 2026

Python · Scratch · MakeCode Arcade

  • Mentored groups of ≈15 students, fostering an engaging learning environment and providing 1-on-1 technical support to debug Scratch, Python and MakeCode Arcade code.

Hybrid Work Experience Programme

Capgemini, London

Apr 2023

Agile · SAP

  • Observed the application of agile methodologies and the role of ERP systems (SAP) in managing large-scale data
  • Collaborated in a group to research a sample business case and pitch findings to industry mentors

// tech stack

Programming

  • Python
  • C
  • JavaScript
  • HTML
  • CSS
  • SQL

Tools & Frameworks

  • Arduino
  • Fusion 360
  • Git
  • GNU/Linux
  • MATLAB
  • Simulink
  • Node.js
  • Pandas
  • Scikit-learn
  • ROS 2
  • Gazebo

// education

MEng Robotics and Artificial Intelligence

University College London

2024 — 2028

A*A*A in Maths, Physics, Computer Science

Trinity School Croydon

  • A* in EPQ on AI integration in social media algorithms
  • 12 GCSE Grade 9
2022 — 2024