University Projects

Notable Group and Solo Projects over 2018 to 2023.

All projects have been awarded a 1st class classification. 

Please also see Insane Ian in the Game Development page.

Gimbalscope Experiment Participant

THE GIMBALSCOPE: SPACECRAFT ATTITUDE CONTROL
FOR HAPTIC FEEDBACK

A Parallel Dual Control Moment Gyroscope for
Ungrounded Directional Force Feedback.

Final year research dissertation.

The Gimbalscope uses a scissored-pair Dual Control Moment Gyroscope to produce torque cues isolated to a single axis. Torques may be generated in three degrees of freedom, are unambiguous, and are able to be correctly perceived by users at a 98% success rate. The Gimbalscope features spatial orientation resolution, allowing its use as a navigation aid. 

Truly ungrounded, remotely operated, and battery-powered, the Gimbalscope seeks to make a novel contribution to the field of ungrounded haptics and increase the accessibility of performing such research with its low-cost, open-standard components and open-source implementation. 

Achievements
• I created a scissored-pair Dual Control Moment Gyroscope and used it to produce moments isolated
to a single axis.
• I used the gyroscope to produce a remotely operated self-contained handheld haptic device.
• I evaluated the ability of users to perceive haptic cues about the roll, pitch, and yaw axes.
• I replicated the experimental findings of J M Walker’s haptic DCMG device paper (doi:10.1109/TOH.2017.2713380).
• I evaluated the ability of users to use the Gimbalscope to identify targets on the horizontal plane.


Dissertation download.

CHI Paper pending.

Mobirise Website Builder

Exploration of PRDE Trader Differential Evolution
Over Aggregated Dynamic Inelastic Markets

IEEE style paper. 
This paper explores the performance of PRDE; a
one-dimensional differential evolution (DE) trading algorithm
in a high-fidelity financial market simulation, and determining
its profitability under varying stochastic market conditions and
sets of evolution parameters. Experiment design took
inspiration from Monte Carlo simulations, covering over 30,000
trials in stable, fluctuating, and volatile supply and demand
schedules to reduce random market variables to expected
values. It is shown that, for all market conditions, a statistically
significant correlation exists between PRDE’s profitability and
its mutation rate. Additionally, this paper describes an extension to
PRDE, replacing its basic DE algorithm with JADE-with archive and naming the new algorithm PRDJ. It is demonstrated that PRDJ’s performance is similar to the expected performance of a PRDE instance with un-optimized parameters, albeit with a faster strategy convergence rate. 

Download.

Goldney National Trust Tour App (2019 - 2020)

As part of our Software Product Engineering second-year module, we were tasked to develop a software solution for a client in Bristol. This project requires us to adopt agile methodologies partnered with progress and task managing software, namely Jira, to develop a solution to satisfy our client's requirements. This repository documents our source code, documentation and report for our final product - The Goldney Hall app.

In an effort to encourage members of the public to enjoy the gardens without a human tour guide, we envisioned a virtual tour app that will guide visitors through the grounds. Our solution was, allowing users to access educational texts, stories, and videos via tagged QR codes around the garden via their phone. We saw the opportunity to create two front-ends, one to allow volunteers to provide us description and image data (a web-based platform) and the other to display this information to visitors (an app-based platform). What is greatly advantageous about this solution is that once set-up and managerial instructions are provided, this solution was completely self-supporting.

Unfortunately, due to COVID-19 and the fact that the project was hosted on AWS as opposed to Azure and not created to UoB Hosting Standards, the project was shelved and not deployed.

Github.
Project Management Portfolio.

Languages:
Java
Kotlin
Go

Video Description

Rasterising and Raytracing Engine

C++ rendering engine. Custom written using SDL2. Capable of rasterising and raytracing.

The raytracing mode features multiple advanced rendering techniques:
Specular Lighting
Phong Shading
Soft Shadows
Reflective Materials
Environment Maps
Refractive Materials (glass) with the Frensel effect
Normal Mapping

Github.

Image Description

Borg Kube (2022)

Borg Kube is a custom written fault tolerant elastic cloud processing infrastructure. The motivation of the project was to provide a basis to run parallelisable tasks on streamed data. An accompanying paper was written describing it in more detail and reporting its performance.
Borg Kube is a Kubernettes-like piece of software which runs on AWS. Workers may run on EC-2 instances and can be created or destroyed on demand. Furthermore, each worker instance hosts an adaptable Docker pod management program, which is referred to as a single 'Borg Kube'.

Full paper

Github and instructions to run.

3Pi+ Metal Detecting Capability (2022)

Experimental paper on the success of converting the Pololu 3Pi+ platform into a metal detecting robot. More specifically, investigating the sensitivity of the LIS3MDL magnetometer to ferrous material. The paper demonstrates that a mobile platform is able to converge on a bearing towards a ferrous object.

Full Paper.

Github

UNIX Operating System Kernel

Video Description

UNIX POSIX Standard Kernel. Custom written. Pre-emptive multitasking capable. Can only be run on dedicated hardware or in a virtual machine. Handles external PS-2 input devices with keyboard and mouse support.

Unfortunately, the hosting site has gone down and I have lost the codebase. All that I could recover is the above video

Mobirise Website Builder

Image Description

Parallelised Game Of Life Simulation (2019)

Parallelised simulation of John Conway's Game of Life written in GO programming language.

This assignment involved taking various principles from concurrent computing and implement them into a Game of Life simulation. Throughout this project we tested and benchmarked each of the stages, testing the speed of processing different scenarios. We would then compare them to the base case which held just the logic without parallelism and use tools such as CPU profiling to examine what was bottlenecking the implementation. 

Paper and report.

Github.

Mobirise Website Builder

Computational Neuroscience Investigation (2020)

The Computational Neuroscience investigation was an exercise in data science and statistics. Neuron spike trains had to be decoded, neuronal models were simulated, and a Hebbian net created and tested.
The investigation made extensive use of Python and the NumPy package.

Report.

Github.

Mobirise