A C++20 library and interactive application for building and simulating Dynamic Neural Field architectures in real time. Benchmarked 15–41% faster than the next fastest framework.


My current work focuses on robotic autonomy through AI, particularly Dynamic Field Theory, and Evolutionary Computation. Before entering academia, I spent 3.5 years developing and deploying production robotic systems, giving me practical experience taking robots from initial development to real-world operation.
I build and maintain open-source C++ software for robotics and research, with a focus on maintainability, performance, and reproducibility.
A C++20 library and interactive application for building and simulating Dynamic Neural Field architectures in real time. Benchmarked 15–41% faster than the next fastest framework.
Combines NEAT neuroevolution with Dynamic Neural Fields to evolve interpretable, neurally inspired control architectures.
Evolves Dynamic Neural Field control architectures for joint action, where the robot has to read its partner and contribute the complementary half of a shared task. Deployed on a physical robot arm with no parameter retuning.
Cross-platform toolkit for building interfaces with Dear ImGui, ImPlot and the node editor.
A compact kinematics solution for Universal Robots arms — small enough to read in five minutes.
A C++ interface and worked examples for driving CoppeliaSim simulations from native code.
Virtual-reality experiments showing that robots which anticipate human intention produce smoother collaboration and fewer collisions.
The ergonomic analysis, simulation models and control code behind the CE-certified UR10e work-cell that went into production.
Simulates progressive degeneration in a Dynamic Neural Field architecture and measures how far behaviour holds as connections are lost.
ROS simulation packages for the MiR mobile base — navigation, mapping and the launch files to drive it in Gazebo.
My research focuses on robotic autonomy through Evolutionary Computation and Dynamic Field Theory, particularly for human–robot collaboration. I develop bio-inspired computational models and the software needed to test them in simulation and on physical robots.
A neuroevolutionary method for automatically designing Dynamic Neural Field architectures. It evolves both the network structure and its parameters, reducing the need to manually design controllers.
The method was evaluated across Dynamic Field Theory tasks and more complex problems requiring intermediate representations to emerge.
Applying neuroevolution to generate bio-inspired controllers for a robot working alongside a person.
The controller evolves internal mechanisms for joint action (through simulation), allowing the robot to interpret its partner’s behaviour and contribute the complementary part of a shared task.
For this particular task, the resulting controller was deployed on a KUKA LBR iiwa using ROS2, vision, and MoveIt2. The best evolved controller was transferred to the physical robot without parameter retuning and tested on object arrangements not seen during evolution.
Best Innovation in HRI — NeuroDesign Award, IEEE RO-MAN 2025
A performance-focused C++20 library and interactive application for building and simulating Dynamic Neural Field architectures in real time.
The simulation engine is designed for efficient execution and is paired with an interactive interface built with Dear ImGui and ImPlot for building, inspecting, and modifying models while they run.
Benchmarked 15–41% faster than the next fastest framework in a cross-platform comparison of four Dynamic Field Theory implementations.
A Dynamic Neural Field architecture for modelling human intent and enabling anticipatory robot behaviour.
The system was built around dnf-composer, integrated with CoppeliaSim for the robotic simulation and an HTC Vive virtual-reality setup for the human participant.
We tested anticipatory and non-anticipatory robot behaviour in a human–robot collaboration study, evaluating both participant perception and task performance.
Anticipatory behaviour improved several collaboration measures and significantly reduced collisions.
A study of robustness in Dynamic Neural Field architectures under progressive neuron loss and synaptic disruption.
The work also investigated recovery through re-learning using Learning from Demonstration (LfD), testing whether damaged architectures could recover behaviour from new demonstrations.
The models continued functioning under substantial degradation, and re-learning recovered behaviour in damaged architectures.
Guest Assistant Lecturer teaching Automation & Robotics (kinematics, dynamics, PLCs) and Power Electronics (conversion topologies, circuit simulation). Led lectures and lab sessions for undergraduate engineering students, combining theory with hands-on practical work.
Part of a multidisciplinary team developing collaborative robotic systems from process analysis and simulation through prototyping, factory-floor deployment, and CE certification.
Two robot cells were deployed and remain in production.
A mobile manipulation system combining a UR10e arm and MiR200 mobile base.
The robot navigates between workstations, docks, picks and palletises parts, and sorts defective parts using machine vision. The system includes shared-workspace safety systems.
The system uses a ROS-based architecture connecting task management, vision, robot control, mobile navigation, and safety monitoring.




A collaborative robot cell developed to automate physically demanding pre-assembly work.
The team analysed the manual process, designed and simulated candidate solutions, built a laboratory prototype, and deployed and certified the final system on the factory floor.
The deployment increased productivity by 7.11%, while reducing ergonomic risk across the evaluated tasks.




A C++ implementation of forward and inverse kinematics for Universal Robots manipulators.
The library computes all valid inverse-kinematics solutions and validates them through forward-kinematics round trips. It also integrates with CoppeliaSim and MATLAB.
A differential-drive mobile robot developed from chassis and electronics through to control software.
The system used dynamical systems for navigation, PID speed control, encoder-based odometry, and onboard camera target detection. Behaviour was tested in simulation before deployment.
A sensor glove controls a five-finger robotic hand over a wireless connection.
An Arduino reads and transmits finger sensor data, while an STM32 processes the data and generates PWM signals to control each finger in real time.