new trends in cs embodiment from engineer’s point of view andrej lúčny
DESCRIPTION
New Trends in CS Embodiment from Engineer’s Point of View Andrej Lúčny Department of Applied Informatics FMFI UK Bratislava [email protected] www.microstep-mis.com/~andy. /53. Cognitivism. - PowerPoint PPT PresentationTRANSCRIPT
1
New Trends in CS
Embodiment from Engineer’s Point of View
Andrej Lúčny
Department of Applied Informatics
FMFI UK Bratislava
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
www.microstep-mis.com/~andy