Projects

Each project covers more than one discipline. For each one I’ve listed what I did myself, and team projects say so.

  1. 01Haptic wrist
  2. 02Field mobile manipulator
  3. 03Hopping robot
  4. 04Quadruped
  5. 05Lightsaber demo
  6. 06Wrist test suite
  7. 07Teleoperation software
  8. 08Replicator
  9. 09Sisyphus
  10. 10Spherical Go

01 · MSc thesis and Barrett Technology

Haptic wrist for the Barrett WAM

A cable-driven haptic wrist that mounts on a Barrett WAM arm on the operator’s side. Together they give full 7-DOF control of a follower WAM, and the operator feels the forces the follower meets.

The wrist was the final stage of a research project that ran from 2014 to 2026. I developed it through my MSc at the University of Alberta, then spent four months in 2026 at Barrett Technology in the Boston area, the company behind the WAM, designing and building the final version alongside their engineers.

The haptic wrist on an optical table in the lab, with its handle at the top and a blue Barrett drive on the side
The final version on the bench at the University of Alberta.
Range
172° / 131° / 69°pronation–supination, flexion–extension, ulnar–radial deviation
Bandwidth
33–40 Hzclosed loop, per joint
Peak torque
8.4 N·mmost of a person’s wrist strength
Control loop
500 HzCANopen, with a 2 ms safety supervisor
Drives
Barrett Puck® P4-37™ with TQ ILM50 frameless motors
Transmission
Two motors share flexion and deviation through a cable differential
Role
Designed and built the final version with Barrett’s engineers, from mechanism to firmware
When
MSc from Sep 2024; Barrett Technology for four months in 2026
Status
Final version: two units built at Barrett; demoed at IROS 2026
Tools
CAD, FEA, CNC, KiCad, CANopen, C++, Python, libbarrett

At Barrett Technology, Boston area (2026)

In my MSc

02 · Research team

Haptic mobile manipulator for the IDEaS challenge

A teleoperated robot for disaster zones and other places too dangerous to send a person. A 7-DOF Barrett WAM rides on a Clearpath Husky. The operator drives it from a second WAM fitted with a cable-driven wrist, feels the forces the robot meets, and sees the scene in VR through a 360° camera. Our team demonstrated it to the Department of National Defence as one of eight finalists in the IDEaS challenge.

Role
Undergraduate research assistant: mobile base, sensing and ROS integration
When
2022 – 2024
Outcome
Finalist team (1 of 8); funded by a $500K IDEaS grant
Stack
ROS, SLAM, FLIR Ladybug2 and Blackfly, Oculus Rift, two WAMs

How the system works

What I did

03 · Personal project

Variable-pitch hopping robot

A one-legged hopping robot whose leg is driven by a screw with a variable-pitch groove, so the gear ratio changes along the stroke: high force from a crouch, high speed at takeoff. Three reaction wheels on a cube corner steer it in flight.

Hopping in place in simulation, under a realistic sensor-noise model. Full clip with controls in the write-up.
Role
Solo: mechanism, electronics, controls and firmware
When
2026 – present
Status
Controller proven in simulation; board designed; hardware build next
Tools
Python, MuJoCo, C++ on Teensy 4.1, KiCad, CAN

What I did

04 · Research platform

HAL, a quadruped with an actuated spine

A 9-DOF quadruped research robot with a spine actuator, designed to stay mechanically sound through long experiments and dynamic gaits, as a platform for reinforcement-learning research.

The HAL quadruped's MuJoCo model standing on a plain floor
HAL’s MuJoCo model, rebuilt from the CAD.
Role
Mechanical design, manufacturing and actuator electronics
Structure
CNC-machined aluminum and carbon-fiber nylon prints
Actuation
BLDC motors with absolute magnetic encoders
Tools
CAD, CNC, 3D printing, MuJoCo MJX, Brax PPO

What I did

05 · Barrett Technology

Haptic lightsaber demo

A sword-fighting game for a WAM fitted with the haptic wrist. The arm renders the blade’s contacts, so a block pushes back, and resistance depends on where the blade is hit. Visitors to Barrett’s booth at IROS 2026 in Pittsburgh played it through the week.

Headset view of the game: a hand holding a blue saber crossed with a red one in a corridor
The Meta Quest 3 view. The saber follows the wrist; the arm is drawn from the grip position, not tracked.
Role
Game, haptic rendering and viewers
When
2026, at Barrett Technology
Status
Shown at IROS 2026
Tools
C++, libbarrett, Python, WebXR

What I did

06 · MSc thesis

Haptic wrist test suite

Automated bench experiments that measure what the wrist can render: closed-loop bandwidth, friction, Z-width, virtual-wall hardness, impedance and thermal limits. Each experiment can dry-run against a simulated wrist before it touches hardware, and each has a paired analysis that writes the figures.

Bode plot of tracking gain and phase for the three wrist joints, crossing minus 3 dB between 33 and 40 Hz
Measured tracking response for each joint: −3 dB at 33 Hz (pronation–supination), 38 Hz (flexion–extension) and 40 Hz (ulnar–radial deviation).
Role
Solo: experiments, driver and analysis
When
2026
Status
Run on two wrists; feeding the thesis
Tools
Python, C++, CANopen, NumPy, SciPy

What I did

07 · Lab team

WAM teleoperation software

Our lab’s leader–follower system for two Barrett WAM arms, which the haptic wrist plugs into. This is team software; I worked on it with Dylan Miller, Sergey Khlynovskiy and Amir Noohian.

An operator wearing a headset drives the leader WAM arm through the haptic wrist
The leader side: an operator drives one WAM through the haptic wrist. Figure from our IROS 2026 submission.
Role
Contributor: torque control, gripper, haptic handle, Docker
When
2024 – 2026
Status
Used in our IROS 2026 submission
Tools
C++, ROS Noetic, libbarrett, Teensy, CAN-FD, Docker

What I did

08 · Personal project

Replicator

Planning CAM for 3-axis machining. Open a STEP part, say which holes are threads and which bores need a fit, and it plans the whole job: setups, workholding, toolpaths, measure-and-correct checkpoints and LinuxCNC G-code. The goal is CAM that feels like a 3D-printer slicer.

Replicator Studio showing a block with holes, one bore selected and its fit settings in a side panel
Replicator Studio, setting a fit on a bore.
Role
Solo
When
2026
Status
Early but end to end; not yet run on a real machine
Tools
C++20, OpenCASCADE, Clipper2, wxWidgets, Catch2

What it does

09 · Personal project

Sisyphus

A Mac app for indoor cycling. It holds a smart trainer at a target wattage (ERG mode) over standard Bluetooth, in a small glass overlay that floats over full-screen video. A tiny Sisyphus pushes his boulder one step per pedal stroke.

The Sisyphus overlay showing power, target, cadence, heart rate and ride time
Role
Solo
When
2026
Status
Open source, MIT license
Tools
Swift, CoreBluetooth, no third-party dependencies

10 · Personal project

Spherical Go

Go played on a sphere. The board is a latitude–longitude grid with a point at each pole, shown as a globe and as a stereographic map. It uses Tromp–Taylor rules, which carry over to a closed board with almost no changes.

A Go board drawn on a globe beside the same board as a stereographic map
The computer playing itself on the small board.
Role
Solo
When
Started 2022, updated 2026
Status
Playable, three board sizes
Tools
C++17, OpenGL

Also

Smaller builds and industry work