Advances in Intelligent Systems Research - of Marcus Hutter
Advances in Intelligent Systems Research - of Marcus Hutter
Advances in Intelligent Systems Research - of Marcus Hutter
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Towards Automated Code Generation<br />
for Autonomous Mobile Robots<br />
D. Kerr<br />
<strong>Intelligent</strong> <strong>Systems</strong><br />
<strong>Research</strong> Centre<br />
University <strong>of</strong> Ulster<br />
Londonderry, BT48 7JL, UK<br />
U. Nehmzow<br />
<strong>Intelligent</strong> <strong>Systems</strong><br />
<strong>Research</strong> Centre<br />
University <strong>of</strong> Ulster<br />
Londonderry, BT48 7JL, UK<br />
S.A. Bill<strong>in</strong>gs<br />
Department <strong>of</strong> Automatic Control<br />
and <strong>Systems</strong> Eng<strong>in</strong>eer<strong>in</strong>g<br />
University <strong>of</strong> Sheffield<br />
Sheffield, S1 3JD, UK<br />
Abstract<br />
With the expected growth <strong>in</strong> mobile robotics the demand<br />
for expertise to develop robot control code will<br />
also <strong>in</strong>crease. As end-users cannot be expected to develop<br />
this control code themselves, a more elegant solution<br />
would be to allow the end-users to teach the robot<br />
by demonstrat<strong>in</strong>g the task.<br />
In this paper we show how route learn<strong>in</strong>g tasks may be<br />
“translated” directly <strong>in</strong>to robot control code simply by<br />
observ<strong>in</strong>g the task. We show how automated code generation<br />
may be facilitated through system identification<br />
— which algorithmically and automatically transfers<br />
human behaviour <strong>in</strong>to control code, us<strong>in</strong>g transparent<br />
mathematical functions. We provide two route<br />
learn<strong>in</strong>g examples where a mobile robot automatically<br />
obta<strong>in</strong>s control code simply by observ<strong>in</strong>g human behaviour,<br />
identify<strong>in</strong>g it us<strong>in</strong>g system identification, and<br />
copy<strong>in</strong>g the behaviour.<br />
Introduction<br />
Motivation<br />
Mobile robotics will play an ever more important role<br />
<strong>in</strong> the future. We expect one growth area to be service<br />
robotics, especially home care robots for the elderly<br />
and <strong>in</strong>firm. Other important growth areas will be<br />
enterta<strong>in</strong>ment robotics and games, as well as security<br />
applications.<br />
All <strong>of</strong> these applications require some high-level, sophisticated<br />
programm<strong>in</strong>g, but the bulk <strong>of</strong> the programm<strong>in</strong>g<br />
work will be “standard” components <strong>of</strong> robot control,<br />
that will consume a lot <strong>of</strong> programmer resources —<br />
resources that could be better used.<br />
In this paper we show that it is possible for trajectory<br />
learn<strong>in</strong>g to obta<strong>in</strong> robot control code automatically,<br />
through system identification (Akanyeti et al.,<br />
2007): Control code was obta<strong>in</strong>ed by observ<strong>in</strong>g a human<br />
demonstrator follow<strong>in</strong>g the desired route, and by<br />
translat<strong>in</strong>g his behaviour directly <strong>in</strong>to code, without programm<strong>in</strong>g.<br />
Learn<strong>in</strong>g by demonstration is by now a widely used<br />
technique <strong>in</strong> robotics (see, for <strong>in</strong>stance, (Demiris, 2009)<br />
and (Demiris and Dearden, 2005)). In terms <strong>of</strong> application<br />
(route learn<strong>in</strong>g), (Coates et al., 2008) are perhaps<br />
the most <strong>in</strong>terest<strong>in</strong>g here to mention: an expert was<br />
used to control a model helicopter, the desired optimal<br />
behaviour was obta<strong>in</strong>ed and modelled from a number<br />
sub-optimal demonstrations performed by the expert.<br />
This model was then used to control the helicopter. In<br />
contrast to our work, (Coates et al., 2008) use a specialist<br />
to provide the demonstration, and their control<br />
model <strong>in</strong>corporates a priori knowledge such as that the<br />
helicopter has to rema<strong>in</strong> stationary for certa<strong>in</strong> manoeuvres.<br />
In our experiments the tra<strong>in</strong>er is not an expert <strong>in</strong><br />
the task, and only needs the ability to demonstrate the<br />
behaviour to the robot.<br />
The experiments <strong>in</strong> this paper develop our approach<br />
further, their purpose is to show that even more complex<br />
behaviour behaviour <strong>of</strong> an agent — route learn<strong>in</strong>g<br />
<strong>in</strong> this case — can the “translated” directly <strong>in</strong>to robot<br />
control code, namely by observ<strong>in</strong>g it, identify<strong>in</strong>g it, us<strong>in</strong>g<br />
system identification, and us<strong>in</strong>g the identified model<br />
<strong>of</strong> the observed behaviour control the robot (Figure 1).<br />
Demonstrator’s<br />
Behaviour<br />
Behaviour is<br />
observed and logged<br />
Sensors<br />
NARMAX<br />
Motors<br />
Behaviour is modelled<br />
through NARMAX<br />
system identification<br />
Obta<strong>in</strong>ed model<br />
controls the robot<br />
Obta<strong>in</strong>ed model is<br />
analysed for stability,<br />
sensitivity to noise, etc.<br />
Figure 1: The “behaviour copier”: a behaviour is<br />
observed and subsequently identified us<strong>in</strong>g system<br />
identification. The obta<strong>in</strong>ed model is then used to<br />
control the robot directly, no human <strong>in</strong>tervention<br />
is required at any po<strong>in</strong>t (other than that the human<br />
demonstrates the desired behaviour to the robot).<br />
In essence the experiments reported here form a “behaviour<br />
copier”, which produces a canonical “carbon<br />
copy” <strong>of</strong> an observed behaviour that can be used to<br />
control an autonomous mobile robot.<br />
55