How did you get involved in the Centre for Autonomous Systems Technology?
I've been employed by Michael Fisher as a Research Assistant at the University of Liverpool for several years on grants funded by the Engineering and Physical Sciences research council related to the development of Autonomous Systems. It gradually became clear to Michael that researchers in several university departments, particularly Engineering, were also interested in the area. He had the idea to form an interdisciplinary research centre that would bring all these people together. The university liked the idea and backed the plan, appointing two professors to the Centre as well as providing funding for seminars and outreach work. I was involved pretty much from the start, becoming a part of the Centre when it was formed.
How has your research evolved in the last ten years and how do you think it will continue to develop?
When I first started at Liverpool, I was working on the verification of a particular type of artificial intelligence program called a software agent. At the time, I had no real idea that that sort of program was particularly suited to robotic systems and in fact was looking at protocols related to online auctions and negotiation. However, I became involved in research looking specifically at applying these techniques to the control of satellite and space craft systems; this lead to a wider interest in a whole range of robotic systems from robotic arms, to planetary rovers and unmanned aircraft and then, circling back to my original interest in verification, into proving things about the safe behaviour of these systems.
Artificial Intelligence is a fascinating fieled - what are these software agents capable of?
A software agent is a computing system embedded in some larger systems - such as an auction platform where agents can negotiate together about prices, or the kind of robotic systems I work with. To be honest, you can do more or less anything computational with any particular programming language or style, but certain languages and styles make it easier to do some things. Software agents tend to be particularly useful for working in situations where several systems need to work together and communicate, where the environment may be unpredictable or, in our case, where the behaviour needs to be driven by a combination of reacting to events while, at the same time, attempting to achieve some goals.
How do you build something that allows you to reason with it/act for itself and what are the ethical ramifications of this?
Obviously a lot depends on what someone means by reason or act for itself. We are a long way from the kind of general intelligence that we see in humans. However we are very close to systems that can work well in complex and unpredictable environments, environments where we expect the system to regularly encounter situations which the programmers had not considered in great detail. A lot of building such systems depends on cleverly putting together smaller techniques we know a lot about - for instance we have very good algorithms for computing safe paths around obstacles; we have sensor technology which can detect and map obstacles; and we have decision-making algorithms that can make choices about where a robot needs to be to achieve whatever task it has been given. The challenge at the moment is really integrating all these specific techniques together in a way that allows the robot to decide where it needs to be, work out any obstacles in the way of getting there and then compute and follow a route.
In terms of ethical ramifications, we have the problem that if a system is now operating in situations which programmers have not been able to analyze in detail there may be important considerations that have not been taken into account. For instance, consider a robot in the home that has been programmed that it should not touch any furniture (in order not to damage it) but must always navigate around it. Suppose there were a fire and the only safe route to the exit is blocked by a table. Obviously we would want the robot to move and, if necessary damage, the table in order to create a safe exit. We are working with philosophers in order to attempt to understand what an over-arching framework of priorities should look like, so that an autonomous systems can choose sometimes to disobey rules or take actions that are not related to its goals, if there are strong ethical reasons that it should do so.
Build Your Own, our current exhibition, explores the processes between craft, technology and community with pioneering workshops that will develop participants’ digital skills. Could you please tell us a bit more about your LEGO scheme in schools and the techniques that you teach?
The Lego Rovers activity grew out of the work I was doing in programming autonomous systems. I'm a STEM Ambassador which is a government scheme to get Science Technology Engineering and Mathematics practitioners into schools and engaging with children. A school had put out a request for something Space themed for their Science Club and I thought that I should be able to use one of Lego's Mindstorms robots as a pretend planetary rover and show the kids some simple tecniques from agent programming. There is a lot of free software available for these robots and I ended up using a system called leJOS which is a Java based operating system for the robots. This connected simply with the research software I had already developed and so then all I had to do was provide a simple interface so that the children got a taste of the programming style, but didn't have to grapple with a full programming language.
The concept is that the children initially just drive the robot for a bit. I then introduce the time delay for a radio signal to get from the Earth to the moon and they have a lot of fun discovering how much more difficult the robot is to control. I then show them the raw data coming in from a distance sensor, discuss how that can be turned into "I believe there is an obstacle" and then let them construct a rule from a drop down menu of possible actions the robot can take. So they construct rules of the form "if there is an obstacle then stop and turn right".
After the first couple of school visits I had a load of ideas about ways the activity might be improved and got involved in the NASA Global Space Apps hackathons. Developing the activity was set as a challenge and I spent a weekend in Exeter working with a team to provide a mobile phone interface, while other teams from all over the work (Nepal, Singapore, France) all worked on it too, often with their very own take on the basic idea. Some of them used other robot kits, such as Arduinos or Raspberry Pis and there were a lot of really exciting ideas thrown around. Lots of those ideas have ended up in further iterations of the activity for schools. We still haven't really got a good mobile interface yet, but we're recently been awarded some money from the Strategic Technology Facilities Council and will be employing someone over this summer to work on this.
One of the advantages I've found in using Lego is that it is very easy to adapt the physical form of the robot. Recently we took the activity to Cheltenham Science Festival where we were in the DinoZone. With a bit of work I was able to rebuild the robots so that, instead of looking like Mars Rovers, they looked like Triceratops'. Sadly I very quickly had to make them into wheeled Triceratops' because the legs kept falling off and I think some people were quite surprised to find themselves driving robot dinosaurs!
How important do you think it is to teach children these techniques?
I think it is important in several ways; I'm a great believer that everyone benefits from a little scientific literacy. Even if you don't grow up to be a computer programmer, once we have autonomous systems in our homes, understanding a little about how it is sensing and reasoning about things will make a person much better able to predict what it can and can't do and how it is likely to react.
There is also a skills shortage in computing in this country so I do also hope that some of the children I work with will be inspired to go on to become programmers and help to plug that gap.
Do you have any other exciting outreach projects coming up?
The big thing I'm excited about at the moment is finally getting a mobile (or at least tablet) based interface. The children often want to follow the robots around when controlling them and this will make it much easier. We are also hoping we can tidy up the software and make it available in an easily downloadable form. It is all Open Source but most teachers and parents balk a bit at being pointed towards a github repository and told to get on with it.
In the further future we are investigating the possibility of developing a set of tutorials based around Raspberry Pis so that code clubs could build their own mini autonomous rovers as a project over several weeks. This would allow us to run a resource that would encourage learners to delve much more deeply into the control of autonomous systems.
And finally, what are you most excited for in Build Your Own?
I think the current explosion in grassroots "making" is a wonderful thing. Although the hackathons I've been to are a little different from Maker Fairs, the basic idea is the same. I've enjoyed them so much that my whole family went to Exeter with me for the last NASA hackathon. It was a great experience for my daughter to see how a team of people can come together, each contributing different skills and resources to produce something in a short space of time. It was even better when she realised that she could contribute too, designing icons and writing scripts for the computer game we were developing. She got a real sense of achievement and a much more genuine idea of what teamwork can achieve than she does from more artificial exercises in school.
There is so much untapped creativity out there and relatively few people can have jobs that actually use their creative skills on a daily basis. The advantage of collaborative spaces and events is that ideas bounce around and the whole becomes more than the sum of its parts. While someone can build stuff as a hobby, they may not always have an idea for something to build, or may lack a key skill or resource needed to achieve their vision - coming together with other makers gets people over those hurdles and can let them achieve something really amazing.
Build Your Own: Tools for Sharing is on display at FACT until 31 August. Get stuck in and make your own tech-inspired art in Gallery 2's FACTLab.