My projects fall into two categories: useful and research (which isn't meant to say that research isn't useful!)
Automatically Planning a Hill-Walk
When a hill-walker looks at a map to plan a walk for a day (s)he uses quite a lot of knowledge in interpreting the map. A number of factors have to be taken into account:
· What are the features of interest that 'anchor' the route (e.g. tops of hills)?
· How long is the route?
· How much climbing is involved?
· How long will it take?
· What are the significant 'way points' (i.e. the intermediate points that anchor the route such as cols, river crossings, etc.)?
· How do you avoid certain features (slopes that are too steep, cliffs, rivers that are too wide, etc)?
· Where do you start and finish the walk (usually involves road access)? Do these have to be the same?
The aim of this project is to see what maps are available electronically, and to see if it is possible to use the information contained within them to propose a day's walk given some initial constraints (e.g. hill(s) to be climbed, maximum distance and time, etc.). A lot of examples are available in books – one way of testing the success of the project would be to see if these routes are reproduced. Last year's project on Munro bagging started to look at electronic maps and would provide a good starting point.
An assistant for planning theatrical productions
One of the earliest tasks that has to be performed by the director of any theatrical production is that of ‘blocking’. This mean deciding where the characters shall be on stage at any particular time, how they get from one position to another, how they enter and exit etc. These movements need to be related to the lines that are being spoken or sung.
The object of the project would be to develop a web-based package that would assist a director in performing this task. The client software would allow the producer to sketch out the essentials of a set (i.e. entrances, exits and any significant locations, e.g. a table), to plot the movement of characters, and to tie this to the script. The results would be kept on the server and available (a) to the director for editing and (b) to members of the cast to inspect (in read-only mode). Suitable provision would have to be made for the printing of hard-copy.
I have worked with a local producer who has generated and used such blocking diagrams on paper and who would be very interested in such a project. A well designed and implemented solution would get used. To the best of my knowledge there is nothing like this available commercially.
JessWin Mark 2
Those of you who did CS3014 last year will have used ClipsWin – a development environment for CLIPS which ran under windows. ClipsWin works very well and is reliable. This year CS3014 practicals use Jess (which is similar to CLIPS but implemented in Java) and practicals are being done in a Linux lab (where ClipsWin can't be used). An IDE called JessWin is supposed to be a Java implementation of ClipsWin . Unfortunately (as the third years will tell you) it is buggy.
The aim of this project is to re-implement ClipsWin from scratch as JessWin(2). The functionality of ClipsWin would be used as the starting point for the requirements for JessWin(2) but the differences between Jess and CLIPS would have to be taken into account.
My main research interest is in the application of knowledge-based techniques to the interpretation and abstraction of complex multi-channel time series. My current work is concerned with the physiological data (heart rate, oxygen saturation, etc) that are routinely measured in Intensive Care Units.
However I'm getting interested in the interpretation of the measurements of motion (mainly hand and arm) that people make in undertaking simple everyday tasks (such as making a cup of tea). One application area is that of the monitoring and rehabilitation of patients who have suffered a stroke. The projects would be undertaken in collaboration with colleagues in Psychology (Dr Mark Mon-Williams) and Rehabilitation Medicine (Dr Alistair Cozens).
One of the ways of measuring motion of a person over time is to attach small optical markers and to track the positions of those markers in 3-D space. Mark uses a system called Optotrak to do this.
Once we have the measurements of the locations of parts of the subjects body over time (as time series in X, Y and Z for each marker) the problem is to say what he or she is doing at any particular moment. That way we can see if there is any cognitive impairment due to the stroke – is the person undertaking the task in the way that an unimpaired person would, or do they seem to be confused.
The aim of this project is to write software which will analyse these signals and compare them with higher level descriptions of the tasks. A considerable number of analysis routines written in Java are already available through the TSNet system and these could be built upon.