Subsumption architecture Andrej L ny Department of Applied - - PowerPoint PPT Presentation

subsumption architecture
SMART_READER_LITE
LIVE PREVIEW

Subsumption architecture Andrej L ny Department of Applied - - PowerPoint PPT Presentation

Robotic Summer School 2009 Subsumption architecture Andrej L ny Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk www.microstep-mis.com/~andy 1 /32 Biomimetic approach Living creatures


slide-1
SLIDE 1

1

Robotic Summer School 2009

Subsumption architecture

Andrej Lúčny

Department of Applied Informatics, FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk www.microstep-mis.com/~andy

/32

slide-2
SLIDE 2

2

Biomimetic approach

  • Living creatures provide to engineers

inspiration: engineers can mimic what nature has already created

/32

slide-3
SLIDE 3

3

The main biological inspiration

  • Structure of a

living creature is a result of (Darwinian) evolution

  • The structure

reflects steps

  • f the evolution

/32

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

8

Scalability problem

However 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

slide-9
SLIDE 9

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 ball left/right Turn left/right interpolator

/32

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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 biological

evolution

/32

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

15

STAGE n STAGE 2

Development by subsumption

SYSTEM

time

Situation 1 Situation 2 Situation n STAGE 1 STAGE 1

STAGE 2

  • Step 1

Step 2 Step n

………

Result

STAGE 1

/32

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

18

Subsumption architecture

  • level consists of quite simple modules
  • these modules communicate by messages

sent through ‘wires’

module 2 module 1 module 3

/32

slide-19
SLIDE 19

19

Influence mechanisms

Subsumption architecture suppose three mechanisms supporting the influence:

  • Monitoring
  • Inhibition
  • Suppression

/32

slide-20
SLIDE 20

20

Monitoring

  • the newer level can monitor messages

communicated between modules in the

  • lder level by connecting to the same wire.

module1 module2 module3

new layer

  • ld layer

/32

slide-21
SLIDE 21

21

Inhibition

  • it can also inhibit the communication by

temporary interruption of the wire

module1 module2 module3

I

new layer

  • ld layer

/32

slide-22
SLIDE 22

22

Suppression

  • even it can replace communicated messages

module1 module2 module3

S

new layer

  • ld layer

/32

slide-23
SLIDE 23

23

An example

  • Two wheeled robot navigating in a bureau (modified

reimplementation of ALLEN, Brooks 1986)

/32

slide-24
SLIDE 24

24

Example – step 1

  • we start with robot which just goes forward

Forward Right motor Forward Left motor

forward forward

/32

slide-25
SLIDE 25

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 motor

S

Avoid Detection

forward forward backward

  • bstacle

S

backward

/32

slide-26
SLIDE 26

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

  • nly when no obstacles are detected and we implement it

just by apparent detection of obstacles

Forward Right motor Forward Left motor

S

Avoid Detection

forward forward backward

  • bstacle

Turn Random

random phantom obstacle trigger

S S

backward

/32

slide-27
SLIDE 27

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 motor

S

Avoid Detection

forward forward backward

  • bstacle

Turn Random

random phantom obstacle trigger

S S

backward controlled phantom obstacle

Transfer

S

Compass

direction

Explorer

path

/32

slide-28
SLIDE 28

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 motor

S

Avoid Detection

forward forward backward

  • bstacle

Turn Random

random phantom obstacle trigger

S S

backward controlled phantom obstacle

Transfer

S

Compass

direction

Explorer

path

S

Example – step 5

Navigate Land marks

goal intended path

user goal

  • bstacle

/32

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

32

Thank you !

Andrej Lúčny

Department of Applied Informatics FMFI, Comenius University, Bratislava lucny@fmph.uniba.sk www.microstep-mis.com/~andy www.robotics.sk

/32