Projects.

I design and build robotics and software projects, from custom actuators and motor control to autonomous navigation and computer vision. Each project is an opportunity to turn complex engineering ideas into practical, working systems.

Explore projects

Project / 01

Insert project title

01 / Project image

Aims

Insert info here.

Methods

Insert info here.

Technologies

Insert info here.

Project / 02

QDD Robotic Actuator

02 / QDD Robotic Actuator

Aims

  • Understanding PMSM and BLDC motors.
  • To design a motor with high torque output while remaining back-driveable for robotics applications.
  • Understanding 3-phase motor drive electronics theory.

Methods

The majority of the motor frame is 3D printed at 100% infill. I used a 10010 motor stator and wound it with 1mm dia' magnet wire. The windings were joined in a Y termination for maximal torque and a 3:4 pole to magnet ratio was selected for its low cogging factor. I used a 7:1 planetary gearbox mounted inside the motor to retain back-driveability while increasing torque and decreasing the actuator size. The motor was tested using an FOC motor controller and an AS5600 magnetic encoder mounted on the rear of the motor casing.

Technologies

  • BLDC/PMSM
  • Solidworks
  • Planetary gearboxes
  • BLDC motor control
  • FOC

Project / 03

Biomimetic Robotic Dog

03 / Biomimetic Robotic Dog

Aims

  • Experiment with biomimetic robot configurations and compliant mechanisms.
  • Design a low-cost robotic dog using the materials I already had available to me.
  • Implement inverse kinematic models that account for compliant mechanisms.

Methods

The dog leg is driven by Propdrive 2830 800Kv drone motors and 3D-printed two-stage planetary gearboxes with a total 1:8 reduction ratio. The elbow joint motor is mounted near the top of the leg, and the force is transferred by a belt. Rotary encoders are mounted at the gearbox outputs to provide joint-angle position data. I stopped developing this project after this stage because I realised the design was fundamentally flawed. The motors are designed for high RPM, not output torque, and the 3D-printed gearboxes stripped their teeth under high torque loads. I was also using drone ESCs to drive the motors, which is inaccurate and reduces the output torque. Instead of developing the project further, I moved on to developing my own robotic actuator, with the long-term plan of having it drive a biomimetic robot dog in the future.

Technologies

  • Compliant mechanisms
  • Robot kinematics
  • Motor control
  • Gearbox design
  • Solidworks

Project / 04

Inverse Kinematics Solver

04 / Inverse Kinematics Solver

Aims

  • To develop a tool to visualise various configurations of robotic arms and manipulators.
  • To learn about methods of inverse kinematics solving for different configurations.
  • To gain more experience in coding.

Methods

The program tracks the mouse and calculates joint angles and positions using cyclic coordinate descent. PyGame is used to visualise the arm configurations and for the setup GUI. The program sets up an "arm" class which holds values for all of its joints relative to the previous link.

Technologies

  • Python
  • Inverse kinematics
  • Cyclic coordinate descent

Project / 05

Miniature Quadruped

05 / Miniature Quadruped

Aims

  • To learn the basics of robot kinematics.
  • To learn the basics of microcontrollers.
  • To learn to use servo motors.

Methods

This was my first ever robotics project. It uses an arduino mega and a breadboard built into the robot to drive 12 servo motors and run inverse kinematics code. It is constructed from foam board so the small servos are not over burdened.

Technologies

  • Arduino
  • Inverse Kinematics
  • Servo motors
  • Quadruped Robot Walking
  • PWM