Reseach topics:

Artificial Intelligence; Symbolic Logic; Goal/Plan Recognition; Computer Vision

About Me

I am currently pursuing a PhD at Ghent University, funded by FWO, SB fellowship. My PhD research focused on symbolic AI based methods for goal recognition, goal recognition design, action prediction and robot assistance, and on the learning of symbolic action definitions from unlabelled image pairs. My teaching activities included assisting with the pratical classes for a System Design course (including writing worksheets and exams) and writting master's thesis proposals.

At Aberystwyth University I gained an MEng in Software Engineering. Whilst in Aberystwyth, I setup and chaired the Aberystwyth University BCS Student Chapter and CompSciSoc; and I was a member of the BCS Mid-Wales Branch committee. My MEng dissertation, titled "Artificial Immune System For Tracking and Detecting Objects in Real-Time"​, gave me as insight into working on a research project; and allowed me to gain some knowledge of Machine Learning and Computer Vision.

I am keen to learn new skills and to get involved with different aspects of research. In the furture I hope to collaborate with other researches and become involved in running conferences, workshops and events.

PhD dissertation : Symbolic AI Techniques to Facilitate Proactive Robot Assistance


Symbolic models of an agent's behaviour facilitate artificial agents with the ability to recognise a human's intentions and plan their own actions. In my doctoral dissertation, intention recognition includes determining the human's goal and predicting which action the human will perform next. These predictions enable a robot to create and execute a task plan, and thus provide proactive assistance. In other words, the robot autonomously assists the person whenever it is able to. Moreover, when the robot is integrated into a smart environment, the robot acquires up to date state information from IoT sensors and commands IoT actuators to expand its manipulation capabilities. Our continual planning framework reduces the amount of information the robot's task planner must reason on and decreases the frequency of (re)planning. As the development of symbolic models can be a time consuming and error prone, we developed a method for learning these models from pairs of images.

MEng Dissertation : Artificial Immune System (AIS) for Tracking and Detecting Objects in Real-Time


Our immune systems have evolved overtime to become extremely efficient at fighting off foreign bodies called pathogens. As new pathogens emerge are immune systems must adapt to deal with the pathogen using the knowledge gained when dealing with similar pathogens.

When it comes to detecting objects, the software must adapt to dealing with new perspectives of the object. These perspectives could be caused for example by a changing in lighting, the object rotating or by the camera moving. It traditional vision systems if the object changes considerably from the set of training data, then the object can no longer be detected.

Assuming that the objects appearance will only gradually change the artificial immune system can build up a network of appearances. Related appearances will be linked and over time the software should become more robust to large changes and noise. The more an appearance is used the higher weighting it will have within the network. If an appearance has not been seen for a set length of time then it will be removed from the network.

The appearances will be passed over the image and the Euclidean distance will be used to find the most likely position of the object. Several constraints and predictions will be put in place to improve the computational time, allowing the software to work on a real-time video feed.

Johannes Gutenberg University Mainz : Summer Intern

I created a Java interface for Scavenger, a tool for computing sub-algorithms in parallel and sharing the results with dependent sub-algorithms. I built a package for Weka, that allows Weka’s cross fold validation to make use of Scavenger. I also wrote a generic hierarchical clustering algorithm to show the befits of using Scavenger.

For more information on Scavenger please see :

Summary of my time at CERN

For my year in industry I spent 12 months working at CERN(European Organization for Nuclear Research), as a technical student. I worked in EN-ICE-SCD section on the Quality Assurance (QA) and testing of the software produced by the section.

EN-ICE-SCD is the Engineering(EN) department, In- dustrial Controls Engineering (ICE) group, SCADA Systems (SCD) section. EN-ICE provides software and a support service to the experiments for some of the control systems being used. This includes upgrades, installation and a support line.

The section I was working in develops frameworks for WinCC-OA, written in C++ and CTRL, which is a C-like language. WinCC-OA, whose full name is SIMATIC WinCC Open Architecture, is a SCADA (Supervisory Control and Data Acquisition) system produced by ETM[3]. It can be used for small control systems that have one project running on a machine, to very large redundant control systems that are distributed across multiple projects running on any number of machines.

While at CERN I worked on the Graphical User Interface (GUI) testing, automated static code analysis, automated unit testing and reviewing of the frameworks metioned above.

For the GUI testing we used a tool called Squish[4]. We automaticall ran this on several virtual machines(VM) using Jenkins[5]. We then used Jira[1] to record any issues this found.

I created an automated static code analysis tool for the frameworks using a tool called ConQAT[2] and automated using Python. I added some CTRL language specfic anaysis to ConQAT. I also ran some anaysis without using ConQAT and created an APEX[6] application to display this data.

For more information on the tools I used please see :