PRJ-002 / Project sheetComplete

GNN for Mechanical Health Monitoring

A robot is a graph. The question was whether a diagnostic should be handed that structure, or made to work it out.

My thesis. A graph neural network approach to health monitoring of robotic systems, modelling mechanical components and the interactions between them so degradation and faults show up before they become failures.

Fig. 01Live inference in ROS 2. A structural weakening fault is called in on the elbow at 0.9 severity through the fault service on the right, while the diagnosis topic underneath publishes fault state, confidence, per joint scores and inference latency each tick.
Type
Undergraduate thesis, UNSW Sydney
Supervisor
Dr. Ang Liu
Platform
Simulated 6 DoF manipulator, UR5e kinematics
Model
Spatio temporal GNN, PyTorch
Pipeline
ROS 2, ONNX runtime
Protocol
9 variants, 3 seeds, run aware splits
Role
Thesis
Stack
Python, PyTorch, Graph Neural Networks, ROS 2
01

The question

Joints and links form a kinematic chain, sensors attach to components, and disturbances travel along physical connections - so a robot, topologically speaking, is a graph! Graph neural networks are established for structural and machinery health monitoring, but almost nothing had been published on multi joint robots, and nothing at all had put the robot's own configuration into the diagnostic.

The thesis tests two ways structural knowledge could enter the model. The first gates the graph's connectivity on joint configuration, so that which components are considered connected depends on the pose the arm is in. The second stops assuming the joint to sensor coupling is known at all and learns it, using the learned coupling to attribute a fault back to the joint that caused it. Both were posed as open questions rather than foregone conclusions, and the experiment was built so a null result would be as attributable as a positive one.

02

The corpus

There is no public fault dataset for instrumented manipulators, so the first deliverable was a ROS 2 pipeline that generates one. Six nodes take a trajectory curriculum through fault modulated sensor synthesis to labelled graph snapshots on disk: single joint sweeps, coordinated pairs and whole arm motion, each crossed with three speed and three payload scales.

Six fault modes are injected analytically, four mechanical and two in the instrumentation, with mechanical faults attenuating along the chain so a fault at the elbow leaves a decayed imprint at the wrist and shoulder. The scheduler enumerates every joint against every fault type against every severity, so no cell of that space can be missing from a long enough recording. Twelve sessions were recorded, and every sample is stamped with the session that produced it.

That stamp is what makes the numbers mean anything. With a window of 16 and a stride of 4, neighbouring windows share twelve of their sixteen snapshots, so a naive shuffle puts near duplicates of training windows into the test set and measures memorisation. Splitting by whole recording session instead keeps every window from a session on one side of the split, and normalisation statistics are computed from the training partition alone.

03

The models

Nine variants share one experimental design. Two baselines mark the ends: a non graph MLP that never mixes information between nodes, and a graph attention network that learns edge weights implicitly over the structural mask. Four spatio temporal GNNs form a 2x2 over pose conditioning and a learned residual on the adjacency, so each factor's marginal effect can be read straight off the matrix, with a spectral feature probe added to rule out feature poverty as an explanation for any null.

The last two variants carry the primary contribution: a learned coupling matrix that predicts each sensor's embedding from the joints it couples to. A self supervised penalty holds that reconstruction tight on healthy data, so a fault, which breaks the normal joint to sensor relationship, spikes residual energy at exactly the sensors coupled to the faulted joint, and scattering that energy back through the coupling localises it.

04

What came out

Pose conditioning returned a clean null. It improved neither classification nor localisation, on any graph, at any window size. A single seed pilot had shown a gain; under a three seed protocol it vanished, which is why the protocol changed and why the result is reported in full rather than buried. What the mechanism does leave behind is one interpretable number: the converged bandwidth, which says how strongly configuration gates transmission through this arm, and which settles well below its initialisation.

The learned coupling was the opposite. It localises faults at 0.95 in distribution, and at roughly 0.79 when the sensor mounting is withheld from the model entirely, the retrofit case where sensors are added to an existing machine without a verified map of what observes what. Every fixed graph and non graph baseline collapses to chance there. It also recovers the true coupling at 0.97 correlation, so training yields an inspectable map of which sensors observe which joints as a by product.

Underneath both answers sits the most robust finding of the study: structure is necessary for localisation, not for classification. The non graph baseline classifies faults competitively at 0.934 and localises at 0.168, which is chance across six joints, while every graph variant clears 0.88. The graph does not tell you what the fault is any better. It is what lets the system say where.

05

Running live

The best checkpoint exports to ONNX and runs inside a ROS 2 node, buffering a sliding window of incoming snapshots, applying the stored training normalisation and publishing a diagnosis every tick with per joint scores and its own measured latency. Inference sits under a millisecond on CPU against the 50 ms budget of the 20 Hz tick, so the same schema flows unchanged from the simulator through training to live diagnosis.

06

Documents

PDF48 pages · 1.9 MB

Mechanical Health Monitoring of Robotic Systems Using Graph Neural Networks

The full thesis: where the work sits in the literature, the simulation pipeline and graph schema, the nine model variants and the multi seed results, including the negative one.

Want the detail behind this one? Just ask.