Project descriptions for summer interns 2017 (e.g. international JRA, Sussex JRA)

Dr Andrew Philippides, Prof Thomas Nowotny and Dr Paul Graham have recently obtained EPSRC funding for the “Brains on Board” project. In this project we are investigating bio-mimetic controllers for autonomous robots, using the brain of the honeybee as a blueprint. The project builds on the work of the recently completed Green Brain project (

The proposed internship projects align with the Brains on Board project and would be supervised by Dr Philippides, Dr Graham or Prof Nowotny and the Research Fellows of Brains on Board.


Project 1 (View based navigation)

In this project the JRA will investigate what type of visual systems are good for insect-inspired robot navigation. Using our industrial gantry robot, the student will use existing models of insect visual systems and test their usefulness for view based navigation. Students will not have to do lots of programming, but should be confident at thinking algorithmically and mathematically. Students should also be systematic and organised for the practical components of the work.

Mentors: Paul Graham ( and Alex Dewar (


Project 2 (Refined Arduino-based eNose)

This project would build on the work of a JRA in 2016, who designed a PCB board for an Arduino-based handheld eNose. The project would aim to refine the design to include temperature and humidity sensors and controllable heating potentials. A candidate would need to have some experience with PCB design and electronics.

Mentors: Thomas Nowotny (


Project 3 (GPU accelerated computing and robotics)

In this project the JRA will investigate how to simulate a bee brain model on a mobile GPU accelerated device (NVIDIA Jetson) and will perform some experiments with this simulation on a wheeled robot. The goal would be to demonstrate a proof of concept for brain-inspired operation of the wheeled robot in a simple paradigm, such as light following. A successful candidate would need to have strong programming skills.

Mentors: Jamie Knight (, Thomas Nowotny ( and James Turner (


Project 4 (Insect-inspired navigation on tracked robots)

For this project, the JRA will investigate how best to implement insect-inspired algorithms for vision-based homing on a small tracked robot. Using our knowledge about the structure of visual receptive fields in Drosophila the JRA will attempt to uncover the simple computational strategies that could underlie visually guided navigation in insects. A candidate should ideally have either some experience with programming or mathematics.

Mentors: Alex Dewar ( and Andy Philippides (


Project 4 (View-based navigation App)

In this project, the JRA will take our existing navigation algorithms and get them running on a mobile (Android) app. It will build on an existing App but test and develop it based on the results of those tests. The project does not require experience of App-programming (though this would be helpful), but will require programming skills. Knowledge of image processing would also be useful but not essential.

Mentors: Andy Philippides (

Proposals and ideas for potential INCF projects within Google Summer of Code

GPU enhanced Neuronal Networks (GeNN)

GeNN is an open source framework for GPU accelerated simulations of spiking neuronal networks based on code generation methods. Users define neuronal networks in a simple C++ API. GeNN translates this model description into optimised CUDA and C/C++ code that can then be used in user-side application code to simulate the described network. Depending on the GPU hardware and the model details, GeNN can achieve speedups between none and 500X.

Below are a number of proposals that suggest improvements and extensions to GeNN.


Project 1: A PyNN interface to GeNN

PyNN is a Python based framework for describing neuronal network models. It is widely used in the computational neuroscience and neuromorphic computing communities. The proposal is to develop a PyNN interface for GeNN so that users of PyNN will be able to benefit from accelerated GPU simulations with GeNN. Important aspects of this work will be a flexible design that allows for future changes in both PyNN and GeNN, good coverage of the entire PyNN model range and optimised data management between Python and the C/C++ based GeNN.

Skills required: Python, PyNN, C/C++; experience with neuronal network simulations and CUDA would be helpful.

Mentors: Jamie Knight (, Michael Schmuker (, and Thomas Nowotny (


Project 2: Adding MPI support to GeNN

Currently GeNN generates C/C++ and CUDA code designed to run on a single GPU on a single shared-memory system. However, in order to improve their power-efficiency, modern computer cluster and supercomputer systems have begun to include GPU acceleration. By adding support for MPI (Message Passing Interface) to GeNN, the simulation of large models could be further accelerated by distributing it amongst multiple nodes using MPI.

An important aspect of this work will be to balance the parallelisation of simulations across the hierarchy of MPI-based parallelism of hosts and the thread/block based parallelism on individual GPUs.

Skills required: C/C++, MPI; experience with neuronal network simulations would be helpful.

Mentors: Jamie Knight (, Thomas Nowotny (