Theory of Computation (Fall 2013): Finite State Machines in Mobile Robots

Post on 13-Dec-2014

1030 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

Transcript

Theory of Computation

Finite State Machines in

Mobile Robots

Vladimir Kulyukin

Outline

Biological Foundations of Behavior Innate Release Mechanisms

Motivational Videos

http://www.youtube.com/watch?v=TMvio63yoJs

http://www.youtube.com/watch?v=Dblw3CJTE8M

http://www.youtube.com/watch?v=-0FnGY-E3D4

http://www.youtube.com/watch?v=9LKhAarNWng

Biological Foundations of Behavior

Biological Foundations Of Behavior

• Animal Behavior

• Behavior Coordination & Control

• Computational Theory Of Agency

• Schema Theory

Why Study Animal Behavior?

• Animals provide existence proofs of various aspects of intelligence

• Many animals exhibit intelligent behaviors with virtually no brain assistance

Animal Behavior

• A Behavior is a mapping of sensory inputs to a pattern of motor actions which are used to achieve a task (Murphy 2000)

• Three categories of behavior:

• Reflexive behavior

• Reactive behavior

• Conscious behavior

Reflexive Behavior

• Reflexive behavior is a stimulus-response pair

• Reflexive behavior is hardwired

• Reflexive behavior produces the fastest response time

Reactive Behavior

• Reactive behavior is acquired (learned)

• Reactive behavior is executed without conscious thought

• Examples of reactive behavior: • Riding a bike

• Swimming

• Skiing

Conscious Behavior

• Conscious behavior involves deliberation

• Conscious behavior tends to show up when the agent has to evaluate longer term consequences of its actions

• Conscious behavior is characterized by slower response time

Reflexive Behavior

• Reflexes – response is present as long as stimulus is present

• Taxes – response to move in a specific direction to a stimulus

• Baby turtles go to brightest light

• Ants follow pheromones

• Fixed-Action Pattern – response continues longer than stimulus

Innate Release Mechanisms (IRMs)

Innate Releasing Mechanisms (IRMs)

• An IRM presupposes that there is a specific stimulus (internal or external) which releases or triggers the stereotypical pattern of action

• A releaser is a latch or a boolean variable that has to be set

• The releaser acts as a control signal to activate a behavior

Behavior Coordination & Control

• Innate Releasing Mechanisms (IRM)

• A IRM = A Stimulus (Internal or External) + A Triggered Pattern Of Action

BEHAVIORSensory Input

Releaser

Pattern Of Action+/-

IRM: Simple Release

enum Releaser = {Present, Absent};

Releaser predator;

while ( true ) {

predator = sensePredator();

if ( predator == Present ) runAway();

}

IRM: Compound Release

• A Releaser can consist of multiple releasers

• Releasers can be either external or internal

• Any logical combination of releasers is possible

IRM: Compound Release enum Releaser = {Present, Absent};

Releaser food, hunger;

while ( true ) {

food = senseFood();

hunger = checkHunger();

if ( food == Present && hunger == Present )

feed();

}

IRM: Implicit Chaining

• Releasers can be arranged to chain behaviors

• An initial releaser triggers the first behavior

• Behavior is executed until Its releaser is gone

• Control goes on to the next behavior

Implicit Chaining

• In the previous example, if the agent wakes up and is not hungry, what will it do?

• Let us add a behavior to flee from predators to the previous code

IRM: Implicit Chainingenum Releaser = {Present, Absent};

Releaser food, hunger, child, nursed;

while ( true ) {

food = senseFood();

hunger = checkHunger();

child = checkChild();

nursed = checkNursing();

if ( hunger == Present ) seekFood();

if ( hunger == Present && food == Present) feed();

if ( hunger == Absent && child == Present) nurse();

if ( nursed == Present ) sleep();

}

Inhibiting Behaviors

• The addition of the if-else loop prevents other, less important behaviors from executing

• What if the predator is not seen (say it is behind the agent) for a while?

IRM: Behavior Inhibition

• What happens of there is a Predator?

• The fleeing behavior must be triggered

• The feeding & nursing behaviors must be suspended

• The fleeing behavior inhibits the feeding & nursing behaviors

Behavior Inhibition & Fixed-Pattern Action Effect#define T LONG_TIME

while(true)

{

predator = sensePredator();

if (predator == PRESENT)

for (time = T; time > 0; time--)

flee();

else

{

food = senseFood();

...

}

}

Concurrent Behaviors

• Behaviors can and do exist concurrently and independently

• What happens when two or more behaviors (that are usually not executed concurrently) get released at the same time?

• Equilibrium• Dominance• Cancellation

Equilibrium

• Behaviors seem to balance each other out

• Consider feeding vs. fleeing in a baby squirrel when the food is close enough to a person

• The squirrel is visibly undecided as to whether to go for the food or stay away

Dominance

• One behavior dominates over the other and only the dominant behavior gets executed

• You are hungry and sleepy - you either eat or sleep, not both

Cancellation

• The behaviors cancel each other out

• Male sticklebacks (fish), when their territories overlap, get caught between the need to defend their nest and attach the other fish

• Both stimuli cancel out leaving only the stimuli associated with nest building – so they build another nest

References

Murphy, R. Introduction to AI Robotics. MIT Press.

top related