Hugo Hadfield

I am a cross-stack robotics engineer and researcher, currently building self-driving cars for Wayve. Previously I have worked on robotic motion planning, computer vision for manufacturing, optimal supercomputer software parallelisation, embedded software engineering and electrical circuit design for medical devices and racecars.

My research interests are broad but most of my published work is from my PhD where I focused on the representations of 3D space and formulations and solutions of computer vision, kinematics and dynamics problems with hyper-complex algebras. Information about my PhD thesis can be found here.


PhD Thesis

My PhD research focus was in designing novel computer vision and computer graphics algorithms using conformal geometric algebra (CGA) . I was supervised by Joan Lasenby .

Abstract
Geometric Algebra (GA) has found success in various areas of the physical sciences and engineering over the last decade but remains relatively underutilised in industry and several key topics in the field remain unexplored. This thesis focuses on the practical applications of Geometric Algebra in various interconnected areas of mathematical engineering. In Part I we explore the properties of the objects resulting from the addition of blades in Conformal Geometric Algebra (CGA) and how we might use these objects in computer graphics and robotics algorithms. In Part II we explore how Screw Theory embeds into CGA, how to use this embedding for simulation of the dynamics of rigid bodies, and how practitioners can leverage the geometric primitives built into CGA to represent and solve constraints in multi-body robotic systems.

PDF
The PDF of my thesis can be found here.

HTML
The process of converting a full size latex document like a thesis to HTML is still pretty error prone but the results can be really good when it works. I've had a go converting my thesis to HTML with latex2html, check out the results here.

Open Source Software
To see what code I am working on now check out the pygae organisation on Github. To see what direction my research is going check out my ORCID profile.


Tutorials
The Clifford python package documentation

Slides.com Tutorials


Blog

I'm in the process of writing some blog posts about various things that interest me. Check them out below and drop me an email/tweet if you find them interesting!

Wide Angle Lens Distortion Correction with Straight Lines

This is a blog post that runs through an alternative to standard checkboard and point based lens undistortion using line integral transforms. I look at the intuition behind these techniques and then show how to use these methods in conjunction with OpenCV.
Code accompanying blog post here

Automated Higher-Order Derivative Estimation with Kalmangrad

This blog post introduces Kalmangrad, a Python package that leverages Bayesian filtering techniques to compute smooth, higher-order derivatives from noisy, non-uniformly sampled data. The post includes an example of how to use kalmangrad and a visualation of the comparison with `numpy.gradient` for a particularly nasty problem.
Code accompanying blog post here