1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied...

32
1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava [email protected] www.microstep-mis.com/~andy / 32

Transcript of 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied...

Page 1: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

1

Robotic Summer School 2009

Subsumption architecture

Andrej LúčnyDepartment of Applied Informatics,

FMFI, Comenius University, Bratislava

[email protected]

www.microstep-mis.com/~andy

/32

Page 2: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

2

Biomimetic approach

• Living creatures provide to engineers inspiration: engineers can mimic what nature has already created

/32

Page 3: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

3

The main biological inspiration

• Structure of a living creature is a result of (Darwinian) evolution

• The structure reflects steps of the evolution

/32

Page 4: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

4

Adaptive systems versus incremental development

• Nowadays, biomimetic approach is mostly concerned as tied with domain of genetic algorithms, genetic programming and machine learning

• However, we present strategy how to mimic evolution in a hand-made way following general principles of individual’s structure

/32

Page 5: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

5

Another biological inspiration

• Structure of living creatures has several typical features: parallelism and hierarchy

• Hierarchy is based rather on regulation than activation

if one severs an eel’s head from its spinal cord, the eel does not stop its sinuous swimming but its movements become perfectly regular and continuous. It means its brain rather inhibits and regulates its spinal cord than controlling it directly

/32

Page 6: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

6

Why biomimetic approach ?

• Question: When biomimetic inspiration is necessary ?

• Answer: When the intended behavior of your robot is really complex

example: foreseeing vehicle

/32

Page 7: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

7

Scalability problem

For many useful industrial applications it is sufficient to solve a particular problem

In this case, a simple pipeline is usually suitable architecture

/32

Page 8: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

8

Scalability problemHowever other tasks like control of mobile robots or simulated creatures require a more complex behavior and more advanced architecture

Robot COG (AiLab MIT, 1993) /32

Page 9: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

9

Minsky’s approach to architecture• system containing many parallel modules (agents,

resources) • Complex global behavior emerges from simple

local behaviours of individual modules (agents, resources)

• Control = activation of a proper set of modules at a proper situation

image

ballleft/right

Turn

left/rightinterpolator

/32

Page 10: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

10

Looking for an architecture

• We have many modules continuosly running in parallel

• We have a mechanism of data exchange among the modules

• How can we provide the proper activation?

• A possible solution: subsumption/32

Page 11: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

11

Subsumption

• It is a method for engineering of artificial systems with complex behavior

• It was proposed by R. Brooks in the mid-eighties

• It mimics simplified biologicalevolution

/32

Page 12: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

12

Subsumption

The relation between the ancestor and its descendant is simplified here in such a way that the descendant contains exactly the same control mechanism as the ancestor, enriched just by an additional layer of control.

layer 1

layer 2

layer 1

It is based on the evolutionary fact that any complex control has an origin in a simpler ancestor

/32

Page 13: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

13

Simplification of evolution• In other words, the descendant mechanism

subsumes complete mechanism of its ascendant; therefore the principle is called subsumption.

layer 1

layer 2

layer 3

layer N

……

/32

Page 14: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

14

Development by subsumption

• At the first we design suitable sensors and actuators which are expected to be sufficient.

• Then we imagine a sequence of evolutionary steps which could result in the desired control starting from a simple base.

• Then we incrementally develop each step as an additional layer to the previous simpler version.

• In doing so, each step brings a set of new features, but causes no harm to features which have been already implemented.

/32

Page 15: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

15

STAGE n

STAGE 2

Development by subsumption

SYSTEM

time

Situation 1

Situation 2

Situation n

STAGE 1 STAGE 1

STAGE 2

OK OK

OK OK

OK

OK

0 Step 1 Step 2 Step n

……

Result…

STAGE 1

…/32

Page 16: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

16

Situatedness

• It is recommended to design the evolutionary steps in such a way that each step corresponds to the desired control under simplified conditions.

• When the real situation is as simple as concerned for a particular step, it will be handled only by the corresponding layer and layers which are (evolutionary) older.

• Getting to more and more difficult situation, newer and newer levels are activated to influence the resulting control.

/32

Page 17: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

17

Appropriate modularity required

• However, how could the newer levels influence the older ones?

• The older levels have been designed for a particular purpose and have no interfaces for future development!

• The answer is: they have to have modular structure which enables the influence.

/32

Page 18: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

18

Subsumption architecture

• level consists of quite simple modules

• these modules communicate by messages sent through ‘wires’

module 2module 1

module 3

/32

Page 19: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

19

Influence mechanisms

Subsumption architecture suppose three mechanisms supporting the influence:

• Monitoring

• Inhibition

• Suppression

/32

Page 20: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

20

Monitoring

• the newer level can monitor messages communicated between modules in the older level by connecting to the same wire.

module1 module2

module3

new layer

old layer

/32

Page 21: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

21

Inhibition

• it can also inhibit the communication by temporary interruption of the wire

module1 module2

module3

I

new layer

old layer

/32

Page 22: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

22

Suppression

• even it can replace communicated messages

module1 module2

module3

S

new layer

old layer

/32

Page 23: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

23

An example

• Two wheeled robot navigating in a bureau (modified reimplementation of ALLEN, Brooks 1986)

/32

Page 24: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

24

Example – step 1

• we start with robot which just goes forward

Forward Right motor

Forward Left motor

forward

forward

/32

Page 25: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

25

Example – step 2• Then we add a layer which recognizes obstacles and while

they are detected, the layer replaces messages for one wheel to backward. As a result, the robot does not collide.

Forward Right motor

Forward Left motorS

AvoidDetection

forward

forward

backwardobstacle

S

backward

/32

Page 26: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

26

Example – step 3• However easily it can happen that it stays in the same

region, moving in a cycle. Thus we add a layer which sometimes causes its random turn. We perform such a turn only when no obstacles are detected and we implement it just by apparent detection of obstacles

Forward Right motor

Forward Left motorS

AvoidDetection

forward

forward

backwardobstacle

TurnRandomrandom phantom obstacletrigger

S

S

backward

/32

Page 27: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

27

Example – step 4• another layer can a global movement in an absolute direction – from one part to another

part of bureau. Once such direction is chosen, we implement its following by turns which are apparently random for the older layers, but in fact they keep the robot at the chosen trajectory

Forward Right motor

Forward Left motorS

AvoidDetection

forward

forward

backwardobstacle

TurnRandomrandom phantom obstacletrigger

S

S

backward

controlled phantom obstacle

Transfer

S

Compassdirection

Explorerpath

/32

Page 28: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

28

• Other level can detects landmarks and having received a goal from user it can navigate to one of them by emulation of the chosen direction in the lower level

Forward Right motor

Forward Left motorS

AvoidDetection

forward

forward

backwardobstacle

TurnRandomrandom phantom obstacletrigger

S

S

backward

controlled phantom obstacle

Transfer

S

Compassdirection

Explorerpath

S

Example – step 5

NavigateLandmarks

goalintended path

user goal

obstacle

/32

Page 29: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

29

• behavior-based architectures: restriction of the influence to suppression of layer outputs (simplification)

• fine-grained architecture: accumulation of various actions generated by various levels is enabled (data fusion, more close to neural networks)

• many others

Derivates of subsumption architecture

/32

Page 30: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

30

Derivate implemented at Comenius University, Bratislava

• Long tradition of embodied approch for engineering due to Jozef Kelemen(1992 common work with Marvin Minsky)

• agent-space architecture: extension of the influence potential by modernizing the architecture which overcomes the limitations of the hardware layout typical for the original concept

(Lucny 2004)/32

Page 31: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

31

Conclusion• Subsumption architecture is a biologically

inspired method of development of complex systems

• Typical features: incremental development, situatedness, decentralization, influence by inhibition and suppression

• Reference: Brooks, R.: Cambrian Intelligence, MIT Press, Cambridge, 1999

/32

Page 32: 1 Robotic Summer School 2009 Subsumption architecture Andrej Lúčny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk.

32

Thank you !

Andrej LúčnyDepartment of Applied Informatics

FMFI, Comenius University, Bratislava

[email protected]

www.microstep-mis.com/~andy

www.robotics.sk

/32