Wednesday, January 11, 2012

New experiments in the new lab

Last week my PhD student Mehmet started a new series of experiments in embodied behavioural evolution. The exciting new step is that we've now moved to active imitation. In our previous trials robot-robot imitation has been passive; in other words, when robot B imitates robot A, robot A receives no feedback at all - not even that its action has been imitated. With active imitation, robot A receives feedback - it receives information on which of its behaviours has been imitated, how well the behaviour been imitated and by whom.

The switch from passive to active imitation has required a major software rewrite, both for the robots' control code and for the infrastructure. We made the considered decision that the feedback mechanism - unlike the imitation itself - is not embodied. In other words the system infrastructure both figures out which robot has imitated which (not trivial to do) and radios the feedback to the robots themselves. The reason for this decision is that we want to see how that feedback can be used to - for instance - reinforce particular behaviours so that we can model the idea that agents are more likely to re-enact behaviours that have been imitated by other agents, over those that haven't. We are not trying to model active social learning (in which a learner watches a teacher, then the teacher watches the learner to judge how well they've learned, and so on) so we avoid the additional complexity of embodied feedback.

In the first tests with the new active imitation setup we've introduced a simple change to the behaviour selection mechanism. Every robot has a memory with all of its initialised or learned behaviours. Each one of those behaviours now has a counter that gets incremented each time that particular behaviour is imitated. A robot selects which of its stored behaviours to enact, at random, but with probabilities that are determined by the counter values so that a higher count behaviour is more likely to be selected. But, as I've discovered peering at the data generated from the initial runs, it's not at all straightforward to figure out what's going on and - most importantly - what it means. It's the hermeneutic challenge again.

So, for now here's a picture of the experimental setup in our shiny new* lab. Results to follow!















*In November 2011 the Bristol Robotics Lab moved from its old location, in the DuPont building, to T block on the extended Coldharbour Lane campus.

Monday, December 05, 2011

Swarm robotics at the Science Museum

Just spent an awesomely busy weekend at the Science Museum, demonstrating Swarm Robotics. We were here as part of the Robotville exhibition, and - on the wider stage - European Robotics Week. I say we because it was a team effort, led by my PhD student Paul O'Dowd who heroically manned the exhibit all four days, and supported also by postdoc Dr Wenguo Liu. Here is a gallery of pictures from Robotville on the science museum blog, and some more pictures here (photos by Patu Tifinger):




Although exhausting, it was at the same time uplifting. We had a crowd of very interested families and children the whole time - in fact the organisers tell me that Robotville had just short of 8000 visitors over the 4 days of the exhibition. What was really nice was that the whole exhibition was hands-on, and our sturdy e-puck robots - at pretty much eye-level for 5-year olds, attracted lots of small hands interacting with the swarm. A bit like putting your hand into an ants nest (although I doubt the kids would have been so keen on that.)

Let me explain what the robots were doing. Paul had programmed two different demonstrations, one with fixed behaviours and the other with learning.

For the fixed behaviour demo the e-puck robots were programmed with the following low-level behaviours:
  1. Short-range avoidance. If a robot gets too close to another robot or an obstacle then it turns away to avoid it.
  2. Longer-range attraction. If a robot can sense other robots nearby but gets too far from the flock, then it turns back toward the flock. And while in a flock, move slowly.
  3. If a robot loses the flock then it speeds up and wanders at random in an effort to regain the flock (i.e. another robot).
  4. While in a flock, each robot will communicate (via infra-red) its estimate of the position of an external light source to nearby robots in the flock. While communicating the robot flashes its green body LED.
  5. Also while in a flock, each robot will turn toward the 'consensus' direction of the external light source.
The net effect of these low-level behaviours is that the robots will both stay together as a swarm (or flock), and over time, move as a swarm toward the external light source. Both of these swarm-level behaviours are emergent because they result from the low-level robot-robot and robot-environment interactions. While the flocking behaviour is evident in just a few minutes, the overall swarm movement toward the external light source is less obvious. In reality even the flocking behaviour appears chaotic, with robots losing each other, and leaving the flock, or several mini-flocks forming. The reason for this is that all of the low-level behaviours make use of the e-puck robots' multi-purpose Infra-red sensors, and the environment is noisy; in other words because we don't have carefully controlled lighting there is lots of ambient IR light constantly confusing the robots.

The learning demo is a little more complex and makes use of an embedded evolutionary algorithm, actually running within the e-puck robots, so that - over time - the robots learn how to flock. This demo is based on Paul's experimental work, which I described in some detail in an earlier blog post, so I won't go into detail here. It's the robots with the yellow hats in the lower picture above. What's interesting to observe is that initially, the robots are hopeless - constantly crashing into each other or the arena walls, but noticeably over 30 minutes or so we can see the robots learn to control themselves, using information from their sensors. The weird thing here is that, every minute or so, each robot's control software is replaced by a great-great-grand child of itself. The robot's body is not evolving, but invisibly its controller is evolving, so that later generations of controller are more capable.

The magical moment of the two days was when one young lad - maybe 12 years old, who very clearly understood everything straight away and seemed to intuit things I hadn't explained - stayed nearly an hour explaining and demonstrating to other children. Priceless.

Tuesday, September 20, 2011

TAROS lecture: The Ethical Roboticist

Here are the slides for the IET public lecture I gave in Sheffield on 2 September 2011 on the final day of the conference Towards Autonomous Robotic Systems (TAROS).

Wednesday, August 31, 2011

Discussing Asimov's laws of robotics and a draft revision

This is me discussing robot ethics with Dallas Campbell for BBC1's Bang Goes The Theory. I outline the five new ethical principles for roboticists proposed by the EPSRC/AHRC working group. Click here for the working group's full report, including a commentary on these draft proposals.



With thanks to Simon Mackie, senior content producer for the Bang Goes The Theory website, for the code to embed this video clip.

Saturday, August 20, 2011

Robohype and why it's bad for robotics

You are technically literate, an engineer or scientist perhaps with a particular interest in robotics, but you've been stranded on a desert island for the past 30 years. Rescued and returned to civilisation you are keen to find out how far robotics science and technology has advanced and - rejoicing in the marvellous inventions of the Internet and its search engines - you scour the science press for robonews. Scanning the headlines you are thrilled to discover that robots are alive, and sending messages from space; robots can think or are "capable of human reasoning or learning"; robots have feelings, relate to humans, or demonstrate love, even behave ethically. Truly robots have achieved their promised potential.

Then of course you start to dig deeper and read the science behind these stories. The truth dawns. Although the robotics you are reading about is significant work, done by very good people, the fact is - you begin to realise - that now, in 2011, robots cannot properly be said to think, feel, empathise, love or be moral agents; and certainly no robot is, in any meaningful sense, alive, or sentient. Of course your disappointment is tempered by the discovery that astonishing strides have nevertheless been made.

So, robotics is subject to journalistic hype. Nothing new there then. So why am I writing about it here (apart from the fact it annoys the hell out of me)? I write because I think that robohype is a serious problem and an issue that the robotics community should worry about. The problem is this. Most people who read the press reports are lay readers who - perfectly reasonably - will not read much beyond the headline; certainly few will look for the source research. So every time a piece of robohype appears (pretty much every day) the level of mass-delusion about what robots do increases a bit more, and the expectation gap widens. Remember that the expectation gap - the gap between what people think robots are capable of and what they're really capable of - is already wide because of the grip robots have on our cultural imagination. We are at the same time fascinated and fearful of robots, and this fascination feeds the hype because we want (or dread) the robofiction to become true. Which is of course one of the reasons for the hype in the first place.

But the expectation gap is a serious problem. It's a problem because it makes our work as roboticists harder, not least because many of the hard problems we are working on are problems many people think already solved. It's a problem because it is, I believe, creating pressure on us to over-promise when writing grant applications, so solid important incremental research grants get rejected in favour of fantasy projects. Those projects inevitably fail to deliver and over time funding bodies will react by closing down robotics research initiatives - leading to the kind of funding winter that AI saw in the 1990s. And it's a problem because it creates societal expectations on robotics that cannot be met - think of the unrealistic promise of military robots with an artificial conscience.

Who's to blame for the robohype? Well we roboticists must share the blame. When we describe our robots and what they do we use anthropocentric words, especially when trying to explain our work to people outside the robotics community. Within the robotics and AI community we all understand that when we talk about an intelligent robot, what we mean is a robot that behaves as if it were intelligent; intelligent robot is a convenient shorthand. So when we talk to journalists we should not be too surprised when "this robot behaves, in some limited sense, as if it has feelings" gets translated to "this robot has feelings". But science journalists must, I think, do better than this.

Words in robotics, as in life, are important. When we describe our robots, their capabilities and their potential, and when science reporters and bloggers bring our work to wider public attention, we need to choose our words with great care. In humanoid robotics where, after all, the whole idea is to create robots that emulate human behaviours, capabilities and cognition, perhaps we just cannot avoid using anthropocentric words. Maybe we need a new lexicon for describing humanoid robots; perhaps we should stop using words like think, feel, imagine, belief, love, happy altogether? Whatever the answer, I am convinced that robohype is damaging to the robotics project and something must be done.

Monday, July 25, 2011

Manifesto for a Robot Standard Interface Specification

This blog post could well turn out to be to be the most boring I've ever written - but I think it's important. I want to write about something that robotics desperately needs: an industry standard interface specification (see I told you it was going to be boring).

Let me explain what I mean by talking about a fantastically successful standard called MIDI, that has without doubt played a significant role in the success of music technology. MIDI stands for musical instrument digital interface. It provides an industry standard for connecting together electronic musical instruments, i.e. synthesisers, computers and all manner of electronic music gizmos. The important thing about MIDI is that it specifies everything including the physical plug and socket, the electrical signalling, the communications protocol and the messages that can be sent or received by MIDI connected devices. With great foresight MIDI's designers provided in the protocol both standard messages that all MIDI equipped electronic musical instruments would expect to send and receive - and recognise, but also customisable messages that manufacturers could specify for particular instruments and devices. In MIDI each instrument is able to identify itself to another device connected via MIDI; it can say, for example, I'm a Roland synthesiser model ABC. If the other device, a sequencer for instance, recognises the Roland ABC it can then access that instrument's custom features (in addition to the standard functions of all MIDI devices).

Robotics needs a MIDI specification. Let's call it RSIS for Robot Standard Interface Specification. Like MIDI, RSIS would need to specify everything from the physical plug and socket, to the structure and meaning of RSIS messages. Devising a spec for RSIS would not be trivial - my guess is that it would be rather more complex than MIDI because of the more diverse types of robot devices and peripherals. But the benefits would be immense. RSIS would allow robot builders to plug and play different complex sensors and actuators, from different manufacturers, to create new robot bodies and new functionality. Imagine, for instance, being able to take a Willow garage PR2 robot and fit a humanoid robot hand from the Shadow Robot Company. Of course there would need to be a mechanical mounting to physically attach the new hand, but that's not what I'm talking about here; I'm referring to the control interface which would be connected via RSIS. The PR2 would then, via the RSIS connection, sense that a new device had been connected and, using standard RSIS messages, ask the new device to identify itself. On discovering it has a handsome new Shadow hand the PR2 would then install the device driver (downloading it from the cloud if necessary) and, within a few seconds, the new hand becomes fully functional in true plug and play fashion.

Industry standards, and the people who create them, are the unsung heroes of technology. Without these standards, like UMTS, TCP/IP, HTTP or IEEE 802.11 (WiFi to you and me) we wouldn't have ubiquitous mobile phone, internet, web or wireless tech that just works. But more than that, standards are I think part of the essential underpinning infrastructure that kick starts whole new industry sectors. That's why I think standards are so critical to robotics.

Maybe a Robot Standard Interface Specification (or the effort to create it) already exists? If so, I'd very much like to hear about it.

Tuesday, May 31, 2011

Machine intelligence: fake or real?

A few days ago, at the excellent HowTheLightGetsIn festival, I took part in a panel debate called Rise of the Machines. Here was the brief:
From 2001 to The Matrix, intelligent machines and robots have played a central role in our fictions. Some now claim they are about to become fact. Is artificial intelligence possible or just a science fiction fantasy? And would it be a fundamental advance for humankind or an outcome to be feared?
Invited at the last minute, I found myself debating these questions with a distinguished panel consisting of philosophers Peter Hacker and Hilary Lawson, and law academic Lilian EdwardsHenrietta Moore brilliantly chaired.

I shan't attempt to summarise the debate here. I certainly couldn't do it, or the arguments of fellow panelists, justice. In any event it was filmed and should appear soon on IAI TV. What I want to talk about here is the question - which turned out to be central to the debate - of whether machines are, or could ever be regarded as, intelligent.

The position I adopted and argued in the debate is best summed up as simulationist. For the past 10 years or so I have believed our grand project as roboticists is to build robots that aim to be progressively higher fidelity imitations of life, and intelligence. This is a convenient and pragmatic approach: robots that behave as if they are intelligent are no less interesting (as working models of intelligence for instance), or potentially useful, than robots that really are intelligent, and the ethical questions that arise no less pressing*. But, I realised in Hay-on-Wye, the simulationist approach also plays to the arguments of philosophers, including Peter Hacker, that machines cannot ever be truly intelligent in principle.

Reflecting on that debate I realised that my erstwhile position in effect accepts that robots, or AI, will never be truly intelligent, never better than a simulation; that machines can never do more than pretend to be smart. However, I'm now not at all sure that position is logically tenable. The question that keeps going around my head is this: if a thing - biological or artificial - behaves as if it is intelligent, then why shouldn't it be regarded as properly intelligent? Surely behaving intelligently is the same as being intelligent. Isn't that what intelligence is?

Let me offer two arguments in support of this proposition.

There are those who argue that real intelligence is uniquely a property of living organisms. They admit that artificial systems might eventually demonstrate a satisfactory emulation of intelligence but will argue that nothing artificial can truly think, or feel. This is the anthropocentric (or perhaps more accurately, zoocentric) position. The fundamental problem with this position, in my view, is that it fails to explain which properties of biological systems make them uniquely intelligent. Is it that intelligence depends uniquely on exotic properties of biological stuff? The problem here is there's no evidence for such properties. Perhaps intelligence is uniquely an outcome of evolution? Well robot intelligence is now mostly evolved, not designed. Perhaps advanced intelligence requires social structures in order to emerge? I would agree, and point to social robotics as a promising equivalent substrate. Advanced intelligence uniquely requires, perhaps, nurture because really smart animals are not born smart. Again I would agree, and point to the new field of developmental robotics. In short, I argue that it is impossible to propose a property of biological systems, required for intelligence, that is unique to those biological systems and cannot exist as a property of artificial systems.

My second argument is around the question of how intelligence is measured or determined. As I've blogged before, intelligence is a difficult thing to define let alone measure. But one thing is clear - no current measure of intelligence in humans or animals requires us to look inside their brains. We determine a human or animal to be intelligent exclusively on the basis of its actions. For simple animals we observe how they react and look at the sophistication of those responses (as prey or predator for instance). In humans we look formally to examinations (to measure cognitive intelligence) or more generally to ingenuity in social discourse (Machiavellian intelligence), or creativity (artistic or technical intelligence). For advanced animal intelligence we devise ever more ingenious tests, the results from which sometimes challenge or prejudices about where those animals sit on our supposed intelligence scale. We heard from Lilian Edwards during the debate that, in common law, civil responsibility is likewise judged exclusively on actions. A judge may have to make a judgement about the intentions of a defendant but they have to do so only on the evidence of their actions**. I argue, therefore, that it is inconsistent to demand a different test of intelligence for artificial systems. Why should we expect to determine whether a robot is truly intelligent or not on the basis of some not-yet-determined properties of its internal cognitive structures, when we do not require that test of animals or humans?

The counter-intuitive and uncomfortable conclusion: machine intelligence is not fake, it's real.


*perhaps even more so given that such robots are essentially fraudulent.
**with thanks to Lilian for correcting my wording here.

Friday, May 06, 2011

Revisiting Asimov: the Ethical Roboticist

Well it's taken awhile, but the draft revised 'laws of robotics' have now been published. New Scientist article Roboethics for Humans, reporting on the EPSRC/AHRC initiative in roboethics, appears in this week's issue (Issue 2811, 7 May 2011). These new draft ethical principles emerged from a workshop on ethical, legal and societal issues in robotics.

The main outcome from the workshop was a draft statement aimed at initiating a debate within the robotics research and industry community, and more widely. That statement is framed by, first, a set of high-level messages for researchers and the public which encourage responsibility from the robotics community, and hence (we hope) trust in the work of that community. And second, a revised and updated version of Asimov’s three laws of robotics for designers and users of robots; not laws for robots, but guiding principles for roboticists.

The seven high-level messages are:
  1. We believe robots have the potential to provide immense positive impact to society. We want to encourage responsible robot research.
  2. Bad practice (in robotics) hurts us all.
  3. Addressing obvious public concerns (about robots) will help us all make progress.
  4. It is important to demonstrate that we, as roboticists, are committed to the best possible standards of practice.
  5. To understand the context and consequences of our research we should work with experts from other disciplines including: social sciences, law, philosophy and the arts.
  6. We should consider the ethics of transparency: are there limits to what should be openly available?
  7. When we see erroneous accounts in the press, we commit to take the time to contact the reporting journalists.
Isaac Asimov's famous 'laws of robotics' first appeared in 1942 in his short story Runaround. They are (1) A robot may not injure a human being or, through inaction, allow a human being to come to harm; (2) A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law, and (3) A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.



Asimov’s laws updated: instead of 'laws for robots' our revision is a set of five draft 'ethical principles for robotics', i.e. moral precepts for researchers, designers, manufacturers, suppliers and maintainers of robots. We propose:
  1. Robots are multi-use tools. Robots should not be designed solely or primarily to kill or harm humans, except in the interests of national security.
  2. Humans, not robots, are responsible agents. Robots should be designed & operated as far as is practicable to comply with existing laws and fundamental rights & freedoms, including privacy.
  3. Robots are products. They should be designed using processes which assure their safety and security.
  4. Robots are manufactured artefacts. They should not be designed in a deceptive way to exploit vulnerable users; instead their machine nature should be transparent.
  5. The person with legal responsibility for a robot should be attributed.
Now it's important to say, firstly, that these are the work of a group of people so the wording represents a negotiated compromise*. Secondly, they are a first draft. The draft was circulated within the UK robotics community in February, then last month presented to a workshop on Ethical Legal and Societal issues at the European Robotics Forum in Sweden. So, we already have great feedback - which is being collected by EPSRC - but that feedback has not yet been incorporated into any revisions. Thirdly, there is detailed commentary - especially explaining the thinking and rationale for the 7 messages and 5 ethical principles above. That commentary can be found here.

Comments and criticism welcome! To feedback either,
  • post a comment in response to this blog,
  • email EPSRC at RoboticsRetreat@epsrc.ac.uk, or
  • directly contact myself or any of the workshop members listed in the commentary.

*So, while I am a passionate advocate of ethical robotics and very happy to defend the approach that we've taken here, there are some detailed aspects of these principles that I'm not 100% happy with.

Friday, April 29, 2011

Ill robots might get a temperature too

Just spent 4 days at the beautiful Schloss Dagstuhl in SW Germany attending a seminar on Artificial Immune Systems. The Dagstuhl is a remarkable concept – a place dedicated to residential retreats on advanced topics in computer science. Everything you need is there to discuss, think and learn. And learn is what I just did – to the extent that by lunchtime today when the seminar closed I felt like the small boy who asks to be excused from class because “miss, my brain is full”.

Knowing more or less nothing about artificial immune systems it was, for me like sitting in class, except that my teachers are world experts in the subject. A real privilege. So, what are artificial immune systems? They are essentially computer systems inspired by and modelled on biological immune systems. AISs are, I learned, both engineering systems for detecting and perhaps repairing and recovering from faults in artificial systems (in effect system maintenance), and scientific systems for modelling and/or visualising natural immune systems.

I learned that real immune systems are not just one system but several complex and inter-related systems, the biology of which is not fully understood. Thus, interestingly, AISs are modelled on (and models of) our best understanding so far of real immune systems. This of course means that biologists almost certainly have something to gain from engaging with the AIS community. (There are interesting parallels here with my experience of biologists working with roboticsts in Swarm Intelligence.)

The first thing I learned was about the lines of defence to external attack on bodies. The first is physical: the skin. If something gets past this then bodies apply a brute force approach by, for instance raising the temperature. If that doesn’t work then more complex mechanisms in the innate immune system kick-in: white blood cells that attempt to ‘eat’ the invaders. But more sophisticated pathogens require a response from the last line of defence: the adaptive immune system. Here the immune system ‘learns’ how to neutralise a new pathogen with a process called clonal selection. I was astonished to learn that clonal selection actually ‘evolves’ a response. Amazing – embodied evolution going on super-fast inside your body within the adaptive immune system, taking just a couple of days to complete. Now as a roboticist I’m very interested in embodied evolution – and by coincidence I attended a workhop on that very subject just a month ago. But I’d always assumed that embodied evolution was biologically implausible – an engineering trick if you like.  But no – there it is going on inside adaptive immune systems. (As an aside, it appears that we don’t understand the processes that prompted the evolution of adaptive immune systems some 400 million years ago – in jawed vertebrates).

Of course while listening to this fascinating stuff I was all the while wondering what this might mean for robotics. For instance what hazards would require the equivalent of an innate immune response in robots, and which would need an adaptive response. And what exactly is the robot equivalent of an ‘infection’. Would a robot, for instance, get a temperature if it was fighting an infection. Quite possibly yes – the additional computation needed for the robot to figure out how to counter the hazard might indeed need more energy – so the robot would have to slow down its motors to direct its battery power instead to its computer. Sounds familiar doesn’t it: slowing down and getting a temperature!

Swarm robots with faults is something I’ve been worrying about for awhile and, based on the work I blogged about here, at the Dagstuhl I presented my hunch that – while swarm of 100 robots might work ok – swarms of 100,000 robots definitely wouldn’t without something very much like an immune system. That led to some very interesting discussions about the feasibility of co-evolving swarm function and swarm immunity. And, given that we think we’re beginning to understand how to embed and embody evolution across a swarm of robots, this is all beginning to look surprisingly feasible.