Tandem bike frame optimisation - Finite Element Analysis (FEA)
We were tasked with designing a lightweight unisex tandem bicycle for adults, with a natural frequency above 30Hz, to avoid discomfort, which will function for a minimum of 1 million loading cycles. I created a series of iterations in Solidworks, running simulations on each to assess their performance. Using my knowledge of Finite Element Analysis I was able to optimise the mesh of the model to get the most accurate results, whilst keeping the simulation run-time down during the development stage.
Template sketch to manipulate model
Template sketch to manipulate model
Loads applied
Loads applied
Using mesh control to increase result accuracy
Using mesh control to increase result accuracy
Robot rover
With 4 other team members I designed and built a robot rover to perform 3 tasks: 
1) Roam autonomously without bumping into walls
2) Identify magnetic, ultrasonic and inert rocks
3) Launch a ping pong ball into a goal
Flip-flop design for Additive Manufacture
I designed a flip-flop and defined the process by which it would be manufactured using AM. It's customized to fit the user comfortably by taking a pressure map of their feet. SLS enables it to be printed as one piece to reduce assembly processes and handling, without increasing time due to support removal since the powder can be quickly removed. An HP Jet Fusion 4200 would be used, since it's an SLS printer which can print TPU, a flexible filament. The flip-flop has been designed for the beach, so has holes in the points of highest pressure so allow the foot to breathe, and let water and sand out. The pressure map of the foot has also been embossed on the bottom so that the user leaves footprints in the sand as they walk.
Uni-body design
Uni-body design
Holes to let air in, and water and sand out
Holes to let air in, and water and sand out
Footprint embossed on the bottom to leave footprints in the sand
Footprint embossed on the bottom to leave footprints in the sand
Bracket design optimisation
Group project designing a bracket which would have weights hung off the end. The objectives were to maximise failure load, minimise deflection at the end of the bracket and minimise mass. A lattice structure also had to be included in the design. We used a combination of generative design and shape optimisation in Fusion 360 to iteratively create our final model. We then analysed the stresses in the starting shape we had for our bracket and added a graded lattice structure with custom unit cells. This meant that unit cells would have thicker features if in an area of higher stress, so as to maximise stiffness whilst minimising mass.
Final bracket design
Final bracket design
Tetriling Reassembly Problem - Algorithm Optimisation 
The Tetris Reassembly is a problem to be solved using a python script that consists in filling a given target shape with a given finite collection of tetrominos. The target shape has been generated by using the tetrominos provided and so is known to have at least 1 solution where all the pieces are used and fit perfectly. The size of the target can vary but has a maximum side length (n) of 1000 units and varies in density between 0 and 0.8. As a result, the solution to the problem must not only be accurate but must scale well for these larger problem sizes.
I trailed various approaches to solve the problem, and found that a greedy algorithm had the best accuracy and run-time.
My algorithm gave preference to figure 1b, since it left an "island" to the left of the piece being placed which is a multiple of 4
My algorithm gave preference to figure 1b, since it left an "island" to the left of the piece being placed which is a multiple of 4
My algorithm scaled linearly, which was particularly desirable for the larger grid sizes.
My algorithm scaled linearly, which was particularly desirable for the larger grid sizes.
Wind-farm turbine layout optimisation
Working in a group we used Matlab to optimise the layout and number of wind turbines placed in a given area
for an offshore wind farm in order to maximise total power output. This was subject to the constraint that a wind turbine will take energy out of the wind and therefore any turbine placed behind it will receive wind with a lower velocity than the ambient wind speed. Graphics below are extracts from our final technical report.
Final optimised wind-farm layout
Final optimised wind-farm layout
Wind speed downwind of a turbine
Wind speed downwind of a turbine
Wake effect behind turbines
Wake effect behind turbines
Self-balancing segway robot - PID control
I worked with Amy Mather to write the code for a self-balancing robot. We achieved this by using PID (proportional, integral, derivative) control, and tuning the constants to find the optimal formula. 
Predicting grade results for students - Big Data
Using machine learning I created a model with 2 other students which aimed to predict the outcome (pass or fail) of Portuguese secondary school students studying Portuguese based on a range of factors including personal details, employment status and family background. We theorised that this model would be applied in the education industry as a teacher performance monitoring tool.
We began by analysing the data and randomly splitting it into training, test and validation sets so we could accurately analyse the model performance. We then normalised the training set to remove bias. Following that, we developed a model using a decision tree, which achieved an accuracy of 66%. We also developed a model using Logistic Regression with LASSO penalty, which achieved an accuracy of 73%.
Data distribution with outliers removed after consideration
Data distribution with outliers removed after consideration
This box plot and the previous histogram indicate the data is normally distributed
This box plot and the previous histogram indicate the data is normally distributed
The decision tree of our first model
The decision tree of our first model