Colin Price

Vibration Energy Harvesting (VEH)


Moving towards a carbon-neutral energy balance we are looking for alternative ways to harvest energy. Vibration Energy Harvesting (VEH) is an emerging area of research where periodic motion is converted into electrical power. Think about where vibration energy is wasted: One example is shock absorbers on car suspension, where motion is converted into heat. Why not re-design the shock absorbers to produce electricity? Think about a train; when it travels over a section of track, the track bends down for a while. Why not convert this bending into electricity? Or put a device into your shoe so when you stomp around, each stomp generates electrical power.

There are two main forms of VEH, magnetic and piezo-electric. This project will explore one or both of these technologies. You will conduct a simulation, and if you want, attempt the construction of a physical device. Primary data will be collected from the simulation or device measuring the amount of electrical power generated for various amounts of vibration


Computational Fluid Dynamics


One of the most important applications of computing in engineering is the computation of fluid flow around a body, such as a car, a plane or a wind turbine. Understanding how to promote smooth (laminar) flow and how to avoid chaotic (turbulent) flow is the key to developing energy-efficient solutions. This is Computational Fluid Dynamics (CFD).

This project is a feasibility study where you will answer the question 'Is it feasible to run CFD for meaningful problems on a workstation PC or gaming laptop?'. You will research open-source CPD packages, such as 'LilyPad' (2D using the Processing IDE) or NVIDIA 'Flow' (3D which I guess uses the GPU, and binds to the UE4 engine).

You will use your research to deploy one or more CFD packages, and select one or more problems to implement. This could be the flow of air around an aerofoil (plane wing of wind-turbine blade), or something more complex.

Your primary data will be outputs from the CPD simulations, which you will compare qualitatively or quantitatively with results published in journal articles and standard texts.


From Webots to Realbots

ePuck robot

During this academic year, my Robotics module Comp2403 was taught through the Webots simulator. We used mainly the ePuck robot, a nice critter with a number of sensors including a color camera. Now we have in our posession one real, actual, physical, very expensive ePuck. This project will review various problems we solved using the Webot ePuck (line following, factory floor, maze-solving, object avoidance and basic navigation) and transfer these to the real ePuck. A cross-compiler is available, but we have no experience of using this.

Primary data would be drawn down from the simulated and physical ePuck. This could be used in a number of ways. One approach would be to critically compare the behaviour of real and simulated robot. Or you could choose to focus on the real ePuck and evaluate its performance in solving one or more problems.


Big Bad Robot

Big Bad Robot

Here you will design a controller for this Big Robot so it can navigate around Charles Hastings ground floor. You will need to research and select suitable sensors (laser, LIDAR, ultrasonic, collision, Kinect, color vision) and choose a system architecture, which may involve several microcontrollers (e.g., Arduinos) and even a laptop. You will design your software architecture with the hardware levels in mind.

Primary data would come from the robot. You would critically analyze its performance compared with the intended behaviour, for example did it manage to recognize and avoid stair-wells? Could it avoid humans walking around? Did it obey social distancing?


Guiding the Mind: Influencing choices players make in a FPS Game

Game Level

When you play a game, how do you decide where to go next? Which door to go through, or which staircase to go up. Which path to take out in the open? Here you will study theories of perception and cognition and apply these to designing a game level, or modding one with additional assets which should influence the players' decisions.

Primary research would involve getting a load of folk to play your level(s). You would make a video log of their behaviour and subject this to analysis.


Educational Robot


Here you will design, build and test a two-wheeled educational robot from raw components, to produce a cheap but sophisticated robot to solve problems such as maze following. You will select an appropriate micro-controller (e.g., an Arduino flavour), the drive system (stepper, servo or dc-motors with encoders) and a range of sensors. You will design the chassis and other mechanical components in CAD which will be laser-cut or 3D-printed for you. Then you will code a solution using a suitable IDE (matched to your microcontroller choice).

Primary data will be collected from the robot. Here you will compare its actual performance with the desired performance. A number of tests could be made; accuracy of moving on an arc of set radius, accuracy of navigation between obstacles.


Wind Farm Simulation

Wind Turbine

In this project you will code a simulation of a wind turbine which adapts to the current wind speed in order to achieve optimal performance. This is achieved by varying the generator load on the turbine, and adjusting the pitch of the blades for higher speeds. You will model the CART-3 research turbine from the US National Renewable Energy Laboratory, details and tons of data are available for this turbine. You will verify your model against published research.

Primary data will be collected from the simulation which will be compared with published data. The second phase of the project will look at investigating the layout of wind farms. Here you will change the spacing of the turbines and their geometrical layout, and measure the farm efficiency as these are varied.


Quadruped, Hexapod, Fish-like or Snake Robots


You've probably seen movie-clips of Spot the quadruped robot that can open doors. You may even have been on the Boston Dynamics Website with tons of interesting robots.

The controller for walking or swimming robots is often based on 'Central Pattern Generators' (CPGs), inspired by Biology, consisting of a small number of interconnected neurons. For a quadruped (think horse or dog) these CPGs can successfully reproduce various gaits such as trot, canter, gallop, pronk and bound.

This project will involve researching CPGs and constructing a simulator for a robot of your choice (biped, quadruped, hexapod, snake). The best way to code a CPG will be using Octave or Webots, then you may choose to import your code into a game-engine to produce a 3D-simulation. The engine of choice (mine) is UE4; here you will obtain experience in C++

Primary data will be collected from your simulator. This will be compared with data presented from research in numerous journal articles.

You may prefer to create a physical robot to run your code. This will be possible using servo-motors and 3D-printed parts which you will design in a CAD package.


Porting UDK Levels to UE4

UDK Level


Over the past years we have created a huge number of UDK levels  for use in teaching and research at Worcester. Examples include rehabilitation of stroke victims, footfall planning for architects, virtual labs for learning physics and also mechanical engineering.

We now wish to port some of this work to the Unreal-4 (UE4) engine. This project will involve (i) reviewing the current UDK simulation engine, the code and assets (ii) work out how to port the code and assets to UE4 and document this, to help future researchers, (iii) port several simulation levels from UDK to UE4, such as the launch of a Saturn-V rocket, monster-truck suspension, a wind-turbine for example. Some steps to producing a code-template for UE4 have been made, so you will not be starting from scratch :) 

Primary data will be collected from your simulations where you will compare the accuracy of simulation data with theoretical formulae or real-world data.