New Trends in CS Embodiment from Engineer’s Point of View Andrej Lúčny

Post on 16-Jan-2016

32 views 0 download

Tags:

description

New Trends in CS Embodiment from Engineer’s Point of View Andrej Lúčny Department of Applied Informatics FMFI UK Bratislava lucny@fmph.uniba.sk www.microstep-mis.com/~andy. /53. Cognitivism. - PowerPoint PPT Presentation

Transcript of New Trends in CS Embodiment from Engineer’s Point of View Andrej Lúčny

1

New Trends in CS

Embodiment from Engineer’s Point of View

Andrej Lúčny

Department of Applied Informatics

FMFI UK Bratislava

lucny@fmph.uniba.sk

www.microstep-mis.com/~andy

/53

2

Cognitivism

• Cognitivism is a kind of philosophy of mind which interpret mental functions as internal manipulation with symbols

• Cognitivists believed that mind is independent from biological hardware (wetware) and analogically can be created on different platforms

• Cognitivists looked for an universal algorithm implementing mind as a whole (example: General Problem Solver)

3

Postcognitivsm

• Postcognitivism is going beyond cognitivism• Postconitivists believe that wetware details are

crucial – though can be simulated – even in form of symbols but not implementing a kind of logic

• Postcognitivist looks for particular solutions for particular processes in mind, they does not concern mind model as traditional algorithm but as modular computer system.

4

Embodiment

• Embodiment is a kind of postcognitivism which concentrate on significance of body for building of a mind model (a control structure) which manipulates with it.

• Embodiment is belief that mind is largely determined by body which it controls

5

The key idea of embodiment

• Imagine two different bodies, e.g. humanoid robot and two wheeled gear robot

6

The key idea of embodiment

• cognitivists would expect the same algorithm fed by little bit different data expressed in the same mechanism of representation

• postcognitivists would expect totally different systems implementing different methods, different data structures, different representation mechanisms, …

7

Why embodiment can be right?

• Because body can be used as a computational device

• It can replace difficult internal computation • And different body provides different capabilities

to be employed in this way

8

System created according embodiment idea can have simpler internal structure

Why embodiment can be right?

9

Engineer’s point of view

• How such kind of thinking can helps to engineer ?

• Imagine that the engineer is developing a control system for a mobile robot operating in dynamic environment

• His job is similar to emulation of mind – in fact of a part mind.

10

Engineer’s point of view

• Living creatures provide to engineers an inspiration – they minic what nature has already done (biomimetic approach)

• Question: When such inspiration is necessary ?

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

11

Scalability problem

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

A simple pipeline is an appropriate architecture in this case

12

Scalability problem

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

13

Minsky’s approach to architecture

• system containing many parallel modules (agents, resources)

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

image

ballleft/right

Turn

left/rightinterpolator

14

Motivation

• How can we provide the proper activation?

• Let us look to the most complex systems we are able to observe – to living creatures

15

Fact 1

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

• Organization 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 inhibits and regulates its spinal cord than controlling it directly

16

Fact 2

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

• Hierarchy of structure copies steps of evolution

17

Adaptive systems versus incremental development

Engineer has two choices:

• To specify structure and let it to evolve population of such structures under simulated selection pressure

• To specify structure and perform hand-made evolution by its incremental development

18

Adaptive systems versus incremental development

• So far, adaptive system (reinforcement learning, neural networks, hidden Markov models, … have big troubles with scalability - i.e. which the primary problem which want to solve by them (!)

• Incremental development has been successfully used (1986 ALLEN, 1993 COG, …) - subsumption and its derivates

19

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

20

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

21

Subsumption

• In other words, the descendant mechanism subsumes the mechanism of its ancestor; therefore the principle is called subsumption.

layer 1

layer 2

layer 3

layer N

……

22

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.

• we then 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.

23

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

24

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.

25

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 it.

26

Subsumption architecture

• level consists of quite simple modules

• these modules communicate by messages sent through wires

Module 2Module 1

Module 3

27

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

28

Inhibition

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

module1 module2

module3

I

new layer

old layer

29

Suppression

• even it can replace communicated messages

module1 module2

module3

S

new layer

old layer

30

Example

• Two wheeled robot navigating in a bureau (ALLEN 1986)

31

Example – step 1

• we start with robot which just goes forward

Forward Right motor

Forward Left motor

forward

forward

32

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

33

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

34

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

35

• 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

(TOTO)

36

Example: reimplementation of ALLEN in VRML

37

• 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

38

Derivate implemented in FMFI UK

• 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)

39

Agent – Space architecture

• indirect communication among reactive agents

• time validity (leasing)

• priority

readwrite

readmonitoring

suppression

S readwrite(prio)

write(prio+1)

inhibition

I

read(default)

write(prio)

delete(prio+1)

40

• Agent-space is a blackboard architecture• models consist of many agents equipped with space - a

storage of named data blocks• there is no direct communication among agents, they

communicate only through space• agents can read, write or delete particular blocks in space• agent knows nothing about other agents, just knows names

and structure of the blocks it manipulates with• agents regularly perform quite a simple code within sense-

select-act cycle which is blocked by timer or by trigger on change in space

41

Details of read, write and delete operations are set

• for operation in real-time (producers overwrite blocks regardless consumers have undertaken their values, moreover automatic expiration of the values is supported)• to pay no attention to order of consumers and producers activation• to enable a higher-level agent to influence communication between any two agents on lower level (to monitor, to stop or to emulate)

42

P

blocks in space

agent agent

write

data flow

readproxy

notification

trigger registration

Sense

Select

Act

agent

Sense

Select

Act

agent

Agent – Space architecture

43

agent agent

blocks in space

read write

data flowPproxy

T

Sense

Select

Act

agent

Sense

Select

Act

agent

Agent – Space architecture

44

Details of read, write and delete operations are:• no method for block creation• reading of non-existing blocks is handled by returning a default value specified by reader• value stored in block can have a limited time validity specified by writer; after its expiration the block becomes automatically empty• value stored in block can have a priority specified by writer; such value overwritten only by value with same or higher priority• space has no knowledge about value meaning; the reader is responsible for correct interpretation

45

Resulted feature are:• each block can be written by many producers and read by many consumers• consumers do not know how much producers generates the value or from whom the read value is coming• if producers writes value with the same priority, it is almost random whose value will be undertaken by consumer• if a consumer is too slow to undertaken all produced values, its input is automatically sampled at the highest possible speed• each agent can be restarted without impact on system operation (recovery from errors)

46

Another example

A mobile robot following a ping-pong ball

47

Cam

era

BW

Sobe

l

Thre

shol

d

Filte

r-iz

ol

Egde

s

Hou

gh- c

ircl

e

Logi

c

Mot

or

Filte

r-th

in

Filte

r-p

rune

Traditional pipeline

48

Competition among more thresholds

49

Cam

era

BW

Sobe

l

Thre

shol

d

Filte

r-iz

ol

Egde

s

Hou

gh- c

ircl

eLo

gic

Mot

or

Filte

r-th

in

Filte

r-p

rune

80

95

65

Vari

ance

Detectors

pseu

do-o

ptim

al th

resh

old

calc

ulat

ion

50

more balls in scene

Detector a

circle-a1circle-a2

circle-a3circle-a4

Detector b

circle-b1circle-b2

circle-b3circle-b4

Detector c

circle-c1circle-c2

circle-c3circle-c4

Logic

Follower

51

LogicFollower

Interpolator

concentration on particular ball

52

LogicFollower

Interpolator

concentration on particular ball protected to occlusion

53

combining ball following with obstacle avoidance(looking for a ball when no ball is present)

Explorer

Logic

Bump

Motor

p

p-1p+1

54

Conclusion

• Subsumption and their various implementation are not suitable for any task

• Its application is matter of art

• However, no better method exists for engineering of systems with complex behavior (e.g. foreseen vehicle)

55

Thank you !

Andrej LúčnyDepartment of Applied Informatics

FMFI UK Bratislava

lucny@fmph.uniba.sk

www.microstep-mis.com/~andy