Technical Projects and Experience

🤖 Robotics

Worked as a full stack robotics engineer with two unmanned ground vehicles (UGV), the ClearPath Jackal and Boston Dynamics Spot. Focus was on building...

  • Autonomy stack and Payload Integration - Evaluated, tested and integrated various sensors into the autonomy stack and payload. T265 camera, IMUs
  • Localisation and Mapping - Performing Simultaneous Localisation and Mapping (SLAM) using Google Cartographer and localisation to pre-built maps using Iterative Closest Point (ICP) techniques within various packages. Solved for april tag position and quaternions by optimising residuals between surveyed target positions on site. Utilisation of Cloud Compare for point cloud processing. . Integrated april tags into localisation and mapping systems to improve accuracy.
  • Path Planning and Navigation - Assessed, tested and tuned various:
    • Obstacle marking algorithms and packages, utilising lidar and depth cameras.
    • Cost map algorithms and packages.
    • Global planning algorithms and packages such Rapidly Exploring Random Trees (RRT).
    • Local planning and control algorithms and packages such as Timed Elastic Bands.
  • Robot Behaviour Control System - Built a full control system using behaviour trees to perform autonomous surveillance missions. Implementation included connection to various subsystems such as external equipment (housing sea container, charging stations, payloads and cloud). Used a Spot ROS wrapper to implement custom autonomy stack on SpotCore. Design was compatible with fleet management systems to control multiple robots and systems.
  • Hardware and Embedded systems - Modified Jackal e-stop controller firmware on ESP32 to utilise heartbeat functionality. Integrated custom e-stops into robotic platforms. Optimised full stack parameters based on compute constraints.
  • Cyber and Networking - Set up a VLAN from the Perth robotics lab to Karratha sites to allow remote operation capability. Robots authenticated to the network using the IEEE 802.1X network standard.
  • Manipulation - Assisted in building robotic manipulation sequences and testing using NASA's affordance template technology . Conducted a PoC with the AWS Sagemaker, AWS Robomaker and Max Kelsen teams on utilising reinforcement learning for dextrous robotic manipulation. The framework utilised ROS simulation in Robomaker, RAY RLlib in Sagemaker and Kubeflow pipelines.
  • CICD - Robot images were containerised using docker. CircleCI was used to manage repositories and packages.
  • Cloud Integration - Deployed AWS Greengrass on robotic platforms to allow fleet docker deployments and cloud streaming of robot metrics and metadata using MQ Telemetry Transport (MQTT). Utilised AWS Kinesis Video Streams to live stream video from robotic platforms to cloud. Data ingested and integrated into cloud hosted digital twin.
  • Site trials - Designed and led the install of a robot housing station sea container on gas processing plant. Led and conducted testing in lab and on site. Designed and ran remote operations room, including design and build of Kabana dashboards.

Languages

  • Python 80%
  • C++ 20%

Operating Systems

  • Ubuntu 50%
  • ROS 50%

Cloud

  • AWS 100%

🧬 Data Science and AI

My data science projects spans over my experience at Woodside and IBM.

  • Australian Government Red Imported Fire Ant Nest Detection Model [professional] - Utilised hyperspectral (Ultraviolet light to Long Wave Infra-Red) imagery taken in helicopter surveillance to train a Region Based Convolutional Neural Network (RCNN) to detect RIFA nests in wide scale images. Eradication teams were sent to detected nests with high model confidence.
  • Rio Tinto Dynamic Scheduling Tool [professional] - Used Natural Language Processing tool Watson Knowledge Studio to build a custom model to analyse maintenance, operator and planner shift handover logs to extract entities and relationships pertaining to equipment health. Built a web application in Flask (PoC) and Django (MVP) which integrated the model endpoint, the Apache CouchDB database and provided REST APIs to the ReactJS UI. This information was used be the dynamic scheduling team to optimise the train scheduling.
  • Classification of bearing health [hackathon] - Amplified sound signal from fan bearings utilising an array of microphones and beamforming algorithms and performed feature engineering to extract audio features. Trained two binary classifiers (a three-layer feedforward neural network and gradient boosted decision trees model) to classify the bearings as healthy or corroded based on the acoustic features.
  • Woodside Investor Relations Tool [professional] - Built a tool in R-Shiny that analyses the sentiment of investor relations meeting transcripts in combination with their historic investment actions to determine the relationship between meeting style and content on investor sentiment and actions.
  • Utilising sound signatures to classify plate damage [professional] - Constructed Finite Element Models (utilising C++ library deal.II) of a plate to simulate the sound signature under different damaged conditions and locations. A large simulated data set of the plate with various damage conditions and locations was collected using the Pawsey Supercomputer. Experimental data was collected and diagnosis of the damage severity and location was performed using the simulated data set.
  • Woodside Sensor Anomaly Detector [professional] - Built a tool to analyse timeseries data from sensors in the field to detect anomalies utilising exponential moving averages and the process control Nelson Rules.
  • Woodside Major Project Reporting Tool [professional] - Built a tool that rolls up data from multiple sources to provide a single view of the status of major projects across the organisation.

Languages

  • Python 50%
  • R 50%

👷‍♂️ Engineering

The majority of my engineering experience has been in the intersection between engineering, reliability and digital.

  • Electrical Equipment in Hazardous Areas - Built a tool that sampled equipment to be inspected and dynamically adjusted it's behaviour based on the inspection results. This tool was built on AWS and integrated directly to SAP through Mulesoft APIs.
  • Process Safety Valves (Pressure Relief Devices) - Built a tool that used Weibull analysis to optimise the maintenance interval of the safety valves based on their safety availability targets. This tool was built on AWS and integrated directly to SAP through Mulesoft APIs.
  • Solving Torsional Systems - Built a tool which performed torsional analysis of rotating equipment and drive train systems utilising the Holzer's method. This solved for the resonant frequencies, mode shapes and stress profiles of the system and automated the production of a report.
  • Equipment Criticality Assessment - Built a tool which gathered data from a number of sources, including mean time to failure, repair time, redundancy, consequence of failure and performed a criticality assessment of the equipment. This tool was used to assess the criticality of all equipment on Woodside assets for maimtenance prioritisation. This tool was built on AWS and automatically placed data in the enterprise data lake on a scheduled basis.

Languages

  • Python 20%
  • Typescript 80%

Cloud

  • AWS 100%

👨‍🎓 PhD

My PhD candidature was performed with the University of Western Australia and the Sonar Systems team of Defence Science and Technology Group of the Australian Defence Force. The work performed can be summarised into the following fields .

  • Applied Mathematics - Over my canditature I built a strong background in applied mathematics, including numerical analysis and partial differential equations of dynamical systems. In particular there was heavy modelling of the acoustic wave equation and the vibration equation for plates. This included separation of variables, solving eigensystems, utilising properties of orthogonality, applying fourier and fourier-bessel transforms, modelling response functions and utilising Green's functions.
  • Experimental Physics - Multiple experiments were performed over my candidature to validate the mathematical models. Experiments were designed, procured and constructed by the team. These included the use of a various sensor types, mechanical shakers, impact hammers, laser vibrometers and data acquisition systems.
  • Finite Element Modelling - Finite element modelling was used to validate the mathematical models. The finite element modelling was performed on the fluid-structure interaction problems in the commercial software packages ANSYS and ABAQUS.
  • Data and Signal Processing - Data and signal processing was used to extract information from the experimental data. This included the use discrete fourier transforms, smoothing wavelet transforms, filtering, and signal processing.

Languages

  • Python 50%
  • Mathematica 50%

👨‍🎓 Undergraduate

Studied mechanical engineering, physics and applied mathematics.

  • Robotics Project - Built a wheeled robot that could navigate an obstacle course, including deploying a bridge to cross a gap wider than the robot's largest dimension. The robot was built using a microcontroller and a number of sensors. The robot was programmed using C++ and the Arduino IDE.
  • Geophysics project - Utilised the finite difference method to model the propagation of seismic waves through a 3D model of the ocean and seabed. The model was validated using the analytical solution of the wave equation.