A SELECTION OF RESEARCH TOPICS
PLEASE NOTICE that - unless you are yourself a relic of times gone by - this page is a FOSSIL. I do not intend to take on any more research students, but I preserve the page and its descendants because others have found the material useful. I've left the text unchanged, because it's easy, but some of its implications are no longer significant |
This page is now, and will probably always be, unfinished. Please ask me if you want any more information.
Go to me ( Alan Creak, in case you've
forgotten );
Go to Computer Science.
The topics listed here identify fields of work rather than courses of study planned in detail. That's in the interests of efficiency; it takes a little time to produce a plan, and if no one is ever interested the time is wasted. Generally speaking, unless I've labelled the topics otherwise I can find projects, M.Sc. theses, and Ph.D. theses in all these areas - ask if you're interested, and we can work out a plan to our mutual satisafaction.
Before committing yourself to anything, you might like to look at my policy for research students.
Prospective PhD students from elsewhere might also like to check our department's information sheet, which might answer some questions about procedures and finance.
Many people with severe physical disabilities use communication aids which are operated using a single on-off switch. The switch is used to produce coded signals, which are then converted into conventional character codes. In this group of topics, the aim is to investigate the possibility of combining several channels of different abilities. Some topics address that question more or less directly, while others are concerned with more basic issues which must be resolved on the way to improved systems.
Some years ago I implemented ( by simulation ) a connectionist circuit, not amounting to a neural network, which could accept Morse code and adjust itself to changes in the transmission speed and some other characteristics of the input signal. ( Morse code is a good introductory example for this area, as in its conventional form it uses all the signal characteristics which might turn up in a parallel implementation, but without the parallelism. Once a system can handle those characteristics satisfactorily, a change to two-channel Morse - one for dots and one for dashes - introduces the parallelism. )
Take this simulator, rewrite it if you think it appropriate, and test its performance using Morse input of known statistical properties. To provide the input, write an input generator which translates a given input text into Morse exhibiting statistical properties ( distribution of dot and dash lengths, etc. ) according to a given specification. If you have time, repeat the sequence with two-channel Morse.
Further possibilities :
Write a conventional programme which can accept Morse code and adjust itself to changes in the transmission speed, absolute lengths of dots and dashes, absolute length of short, long, and very long spaces, and any other significant features. ( Morse code is a good introductory example for this area, as in its conventional form it uses all the signal characteristics which might turn up in a parallel implementation, but without the parallelism. Once a system can handle those characteristics satisfactorily, a change to two-channel Morse - one for dots and one for dashes - introduces the parallelism. )
Test the performance of your simulator using Morse input of known statistical properties. To provide the input, write an input generator which translates a given input text into Morse exhibiting statistical properties ( distribution of dot and dash lengths, etc. ) according to a given specification. If you have time, repeat the sequence with two-channel Morse.
Further possibilities :
Most computer input interfaces are based on one or two devices - most commonly, a keyboard and a mouse or some equivalent. For greater generality, it would be good to have an interface which would accommodate an arbitrary selection of devices of any sorts, and produce output signals in some standard form which can be accepted by conventional computer programmes. Archie is an example of a system designed to do just that. Its facilities are intended to make it easy to use the different devices as alternatives, or to use them in conjunction to make multimodal interfaces. There has been other work on multimodal interfaces; examples can be found in most SIGCHI conference proceedings.
This proposal is, first, to explore the utility of PDL as a language for implementing an Archie-like system. PDL is similar in structure to the examples of MIDL which appear in the Archie reference above. It was designed as a message-handling system, and should be well adapted to the Archie requirements. It is of particular interest that PDL is designed for control programmes used in real-time distributed systems, so should be able to cope with the Archie environment, and more, without difficulty.
You should be aware that PDL is one of my languages ( make what you will of that ), still under development, and not guaranteed to behave itself. But it's getting better. It's not impossible that the work will end up with a lot of implementing PDL and not much parallel interfaces, but I think that it should be possible to get as far as a useful interface system of some sort.
Further possibilities :
Many people with disabilities use robots for domestic or work-related tasks,
but the scope of these robots is limited by the possible danger which they pose
to the people they serve. For this reason, robot feeding machines can pick up
food from a plate, but stop with the food presented well in front of the person
who wishes to eat it. The person must then lean forwards and take the food from
the implement used.
Some people cannot manage this. For example, it might be neccessary for food
to be placed at a specific position within someone's mouth before it can be
consumed. Robots are at present not sufficiently safe to be used in such a
sensitive area.
To improve the robots' performance, they must have much better visual
abilities, with which they can "see" the person's face in sufficient detail to
identify the mouth, and to guide the implement within. ( It is obviously
also necessary to have other sensing devices, but the focus of this work is the
vision system. )
With this method, a received picture is distorted using a connectionist
method to fit a standard template ( such as a schematic picture of a
face ). By following the distortion through the network, the positions on
the real picture corresponding to arbitrary points on the template can be
identified.
So far, we know that the method will work, but it hasn't been done well. The
first step is to write a good implementation, using line drawings for the time
being, and to test it thoroughly. ( Ideally, one would hope to make it work
with grey-scale images, but there are significant difficulties in that
direction. ) The tests should explore the effectiveness of the method on
pictures with increasing degrees of distortion, and the performance on simple and
complicated pictures.
Further possibilities :
A technique called Vocabulary Translation Analysis can be used in the
description and design of communications systems such as those used for
rehabilitation purposes. It is based on the principle that in order to transmit a
signal reliably through a sequence of processing stages, it is necessary that
each stage should have some vocabulary in which all components of the signal can
be satisfactorily encoded.
By applying this principle systematically to the interfaces between modules
in a system, a check on the feasibility of the transmission can be carried out;
in addition, by defining the vocabularies at the input and output of a module, a
specification for the performance of the module is obtained.
Study the rather scattered ideas of the VTA work so far, evaluate its
strengths and weaknesses, and produce a more orderly description. Embody this in
a programme which will check that all vocabularies are defined, and can encode
all signals specified for the system.
Further possibilities :
Develop the rather qualitative VTA method into a more formal system
description technique using the interactor notation. This notation is based on
the interactor model of communicating systems, where a system is regarded as a
connected network of formal objects called interactors which can receive signals,
operate on them according to specified rewriting rules, and produce signals which
can be perceived by other interactors.
Further possibilities :
Most computer interfaces used by people are selection interfaces, because we
use the interface to select the task we wish to be done next. It's therefore very
important for the smooth running of a system that the selection interface must
run efficiently. In practice, most of them run not too badly - provided that
you can use them.
Other things being equal ( which they never are, but let's
pretend ), the interfaces are designed for people with reasonably dexterous
hands and good eyesight. If you are not so equipped, which is the case for many
people with various sorts of disability, the conventional interfaces can be very
hard to use. Interface design is therefore a big issue in rehabilitation
computing, and the topics in this group are concerned with various aspects of
interfaces.
How should selection be accomplished ? Different methods are used in
practice. The process can be seen as bipartite : first the selecting probe
must be moved into the vicinity of the item to be selected, then this position
must be registered as significant - so the finger is first moved to the
appropriate place on the keyboard, and the selection is accomplished by pressing
the key. The distinction is clearer with selection by light-beam, or in other
methods in which the probe is not a physical object. In such cases, the selection
might be by activating some other device ( a puff-switch ), or by
dwelling for an extended period on the selected item.
Dwelling has the advantage that it does not require additional
machinery - and, if you do use other means, that the act of operating the
other device can affect the selection, so that the wrong item is selected.
( If you select by eye-gaze, you might move your eye while puffing the
switch. ) It has the disadvantage of taking longer, and it has been found
that almost half the time of a session can be spent in such dwelling.
Perhaps a neater technique would be to use bouncing : move the probe in
smooth curves, with sudden cusps on the selected items. It avoids both waiting
time and switch operation. An enlarged display would probably help, and so would
practice. It isn't very hard to do with a finger on this keyboard - I did
this sentence with only two mistakes. I was certainly selecting more than one
character per second. Some people would be able to do it - I don't know how
many.
A suitable basic experiment might be to construct an interface in which
selection could be either by bouncing or by dwelling, so that direct comparison
would be possible. In the first instance, the probe can be the mouse pointer.
Further possibilities :
As a means of investigating possibilities in more general uses of keyboards,
I've written a programme which can read keyboard signals made by pressing an
arbitrary number of keys - up to the rollover limit - at the same time.
( That doesn't necessarily mean that all the keys are pressed
simultaneously - they might be pressed one by one, and released one by one,
but there's no point during the production of the signal when no key is
depressed. ) My version is a stand-alone programme for Windows 3.x; that was
usable as a prototype, but isn't good enough for more general use.
Write a similar procedure which can be installed in PC or Macintosh
( either will do; both would be special ! ) as a keyboard driver
for general use. It should be switchable in some way so that it can be used
either as a conventional interface or as a general keyboard signal detector.
There should be facilities for setting up the interpretations to be associated
with arbitrary key signals.
Evaluate the system in the first instance by detecting the signals produced
when a hand is placed on the keyboard in an arbitrary pose. How reliable and
reproducible is the signal detected ?
Further possibilities :
Alan Creak,Robot vision.
Topics.
Design and evaluation of rehabilitation communications systems.
Topics.
Selection interfaces.
Topics.
2001, March.
( amended 2007, April. I wasn't going to, but there was a dreadful spelling mistake. )