Robotics 13

download Robotics 13

of 30

Transcript of Robotics 13

  • 8/8/2019 Robotics 13

    1/30

    CS 491/691(X) - Lecture 8 1

    EXPERT SYSTEMS AND SOLUTIONS

    Email: [email protected]

    [email protected]

    Cell: 9952749533www.researchprojects.info

    PAIYANOOR, OMR, CHENNAI

    Call For Research Projects Final

    year students of B.E in EEE, ECE, EI,

    M.E (Power Systems), M.E (Applied

    Electronics), M.E (Power Electronics)

    Ph.D Electrical and Electronics.

    Students can assemble their hardware in our

    Research labs. Experts will be guiding theprojects.

  • 8/8/2019 Robotics 13

    2/30

    Topics: Introduction toRobotics

    CS 491/691(X)

    Lecture 8

    Instructor: Monica Nicolescu

  • 8/8/2019 Robotics 13

    3/30

    CS 491/691(X) - Lecture 8 3

    Review

    Control Architectures

    Languages for robot control

    Computability

    Organizing principles

    Architecture selection criteria

    Reactive control

  • 8/8/2019 Robotics 13

    4/30

    CS 491/691(X) - Lecture 8 4

    Reactive Control

    Reactive control is based on tight (feedback) loops

    connecting a robot's sensors with its effectors

    Purely reactive systems do not use any internal

    representations of the environment, and do notlook ahead

    They work on a short time-scale and react to the current

    sensory information

    Reactive systems use minimal, if any, state

    information

  • 8/8/2019 Robotics 13

    5/30

    CS 491/691(X) - Lecture 8 5

    Collections of Rules

    Reactive systems consist ofcollections of reactiverules that map specific situations to specific actions

    Analog to stimulus-response, reflexes

    Bypassing the brain allows reflexes to be very fast

    Rules are running concurrently and in parallel

    Situations

    Are extracted directly from sensory input

    Actions

    Are the responses of the system (behaviors)

  • 8/8/2019 Robotics 13

    6/30

    CS 491/691(X) - Lecture 8 6

    Mutually Exclusive Situations

    If the set of situations is mutually exclusive:

    only one situation can be met at a given time

    only one action can be activated

    Often is difficult to split up the situations this way

    To have mutually exclusive situations the controller

    must encode rules for all possible sensory

    combinations, from all sensors This space grows exponentially with the number of

    sensors

  • 8/8/2019 Robotics 13

    7/30

    CS 491/691(X) - Lecture 8 7

    Complete Control Space

    The entire state space of the robot consists of allpossible combinations of the internal and external

    states

    A complete mapping from these states to actions is

    needed such that the robot can respond to all

    possibilities

    This is would be a tedious job and would result in a

    very large look-up table that takes a long time tosearch

    Reactive systems use parallel concurrent reactive

    rules parallel architecture, multi-tasking

  • 8/8/2019 Robotics 13

    8/30

    CS 491/691(X) - Lecture 8 8

    Incomplete Mappings

    In general, complete mappings are not used in hand-

    designed reactive systems

    The most important situations trigger the

    appropriate reactions Default responses are used to cover all other cases

    E.g.: a reactive safe-navigation controller

    If left whisker bent then turn right

    If right whisker bent then turn left

    Ifboth whiskers bent then back up and turn left

    Otherwise, keep going

  • 8/8/2019 Robotics 13

    9/30

    CS 491/691(X) - Lecture 8 9

    Action Selection

    If the rules are not triggered by unique mutually-exclusive conditions, more than one rule can be

    triggered at the same time

    Two or more different commands are sent to the

    actuators

    Deciding which action to take is called action selection

    Arbitration: decide among multiple actions or

    behaviors Fusion: combine multiple actions to produce a single

    command

  • 8/8/2019 Robotics 13

    10/30

    CS 491/691(X) - Lecture 8 10

    Arbitration

    There are many different types of arbitration

    Arbitration can be done based on:

    a fixed priority hierarchy

    rules have pre-assigned priorities

    a dynamic hierarchy

    rules priorities change at run-time

    learning rule priorities may be initialized and are learned at run-

    time, once or continuously

  • 8/8/2019 Robotics 13

    11/30

    CS 491/691(X) - Lecture 8 11

    Multi-Tasking

    Arbitration decides which one action to execute To respond to any rule that might become triggered

    all rules have to be monitored in parallel, andconcurrently

    Ifno obstacle in front move forward

    Ifobstacle in front stop and turn away

    Wait for 30 seconds, then turn in a random direction

    Monitoring sensors in sequence may lead to missing

    important events, or failing to react in real time

    Reactive systems must support parallelism

    The underlying programming language must have multi-

    tasking abilities

  • 8/8/2019 Robotics 13

    12/30

    CS 491/691(X) - Lecture 8 12

    Designing Reactive Systems

    How to can we put together multiple (large number)

    of rules to produce effective, reliable and goal

    directed behavior?

    How do we organize a reactive controller in a

    principled way?

    The best known reactive architecture is the

    Subsumption Architecture (Rod Brooks, MIT,

    1985)

  • 8/8/2019 Robotics 13

    13/30

    CS 491/691(X) - Lecture 8 13

    Vertical v. Horizontal Systems

    Traditional (SPA):

    sense plan act

    Subsumption:

  • 8/8/2019 Robotics 13

    14/30

    CS 491/691(X) - Lecture 8 14

    Biological Inspiration

    The inspiration behind the Subsumption Architecture

    is the evolutionary process:

    New competencies are introduced based on existing ones

    Complete creatures are not thrown out and new

    ones created from scratch

    Instead, solid, useful substrates are used to build up to

    more complex capabilities

  • 8/8/2019 Robotics 13

    15/30

    CS 491/691(X) - Lecture 8 15

    The Subsumption Architecture

    Principles of design

    systems are built from

    the bottom up

    components are task-achieving

    actions/behaviors (avoid-obstacles, find-doors, visit-rooms)

    all rules can be executed in parallel, not in a sequence

    components are organized in layers, from the bottom up

    lowest layers handle most basic tasks

    newly added components and layers exploit the existing

    ones

  • 8/8/2019 Robotics 13

    16/30

    CS 491/691(X) - Lecture 8 16

    Subsumption System Design

    What makes a Subsumption Layer, what should gowhere?

    There is no strict recipe, but some solutions arebetter than others, and most are derived empirically

    How exactly layers are split up depends on thespecifics of the robot, the environment, and the task

  • 8/8/2019 Robotics 13

    17/30

    CS 491/691(X) - Lecture 8 17

    Designing in Subsumption

    Qualitatively specify the overall behavior neededfor the task

    Decompose that into specific and independent

    behaviors (layers) Determine behavior granularity

    Ground low-level behaviors in the robots sensors

    and effectors Incrementally build, test, and add

  • 8/8/2019 Robotics 13

    18/30

    CS 491/691(X) - Lecture 8 18

    Subsumption Layers

    First, we design, implement and debuglayer 0

    Next, we design layer 1

    When layer 1 is designed, layer 0 is

    taken into consideration and utilized, itsexistence is subsumed (thus the name of

    the architecture)

    As layer 1 is added, layer 0 continues to

    function

    Continue designing layers, until the

    desired task is achieved

    level 2

    level 1

    level 0

    sensors actuators

  • 8/8/2019 Robotics 13

    19/30

    CS 491/691(X) - Lecture 8 19

    Suppression and Inhibition

    Higher layers can disable the ones below

    Avoid-obstacles can stop the robot from moving around

    Layer 2 can either:

    Inhibit the output of level 1 or Suppress the input of level 1

    The process is continued all the way to the top level

    AFSMinputs outputs

    suppressor

    inhibitor

    I

    s

    level 2

    level 1

    level 0

    sensors actuators

  • 8/8/2019 Robotics 13

    20/30

    CS 491/691(X) - Lecture 8 20

    Subsumption Language and AFSMs

    The original Subsumption Architecture was

    implemented using the Subsumption Language

    It was based on finite state machines (FSMs)

    augmented with a very small amount of state (AFSMs) AFSMs were implemented in Lisp

    AFSMinputs outputs

    suppressor

    inhibitor

    Is

  • 8/8/2019 Robotics 13

    21/30

    CS 491/691(X) - Lecture 8 21

    Subsumption Language and AFSMs

    Each behavioris represented as an augmented finite statemachine (AFSMs)

    Stimulus (input) or response

    (output) can be inhibited or

    suppressed by other active behaviors

    An AFSM can be in one state at a time, can receive one or

    more inputs, and send one or more outputs

    AFSMs are connected communication wires, which pass

    input and output messages between them; only the last

    message is kept

    AFSMs run asynchronously

    AFSMinputs outputs

    suppressor

    inhibitor

    I

    s

    collide

    haltsonar

  • 8/8/2019 Robotics 13

    22/30

  • 8/8/2019 Robotics 13

    23/30

    CS 491/691(X) - Lecture 8 23

    Wandering in Subsumption

    Brooks 87

  • 8/8/2019 Robotics 13

    24/30

    CS 491/691(X) - Lecture 8 24

    Layering in AFSMNetworks

    Once a basic competence is achieved (e.g., moving aroundsafely), it can be labeled as layer 0

    Layer 1 (e.g., one that looks for objects and collects them),

    can then be added on top and communication is done through

    wires

    The use of layers is meant to modularize the reactive system,

    so it is bad design to put a lot of behaviors within a single

    layer

    Also, it is bad design to put a large number of connections

    between the layers, so that they are strongly coupled

  • 8/8/2019 Robotics 13

    25/30

    CS 491/691(X) - Lecture 8 25

    Module Independence

    Strong coupling implies dependence between

    modules, which violates the modularity of the

    system

    If modules are interdependent, they are not asrobust to failure

    In Subsumption, if higher layers fail, the lower ones

    remain unaffected

    Thus Subsumption has one-way independence

    between layers

    Two-way independence is not practical, why?

  • 8/8/2019 Robotics 13

    26/30

  • 8/8/2019 Robotics 13

    27/30

    CS 491/691(X) - Lecture 8 27

    Using the World

    How can you sequence activities in Subsumption?

    Coupling between layers need not be through the

    system itself (i.e., not through explicit

    communication wires)

    It could be through the world. How?

  • 8/8/2019 Robotics 13

    28/30

    CS 491/691(X) - Lecture 8 28

    Collecting Soda Cans

    Herbert collected empty soda cansand took them home

    Herberts capabilities

    Move around without running intoobstacles

    Detect soda cans using a camera and a

    laser

    An arm that could: extend, sense if thereis a can in the gripper, close the gripper,

    tuck the arm in

  • 8/8/2019 Robotics 13

    29/30

    CS 491/691(X) - Lecture 8 29

    Herbert

    Look for soda cans, when seeing one approach it

    When close, extend the arm toward the soda can

    If the gripper sensors detect something close the

    gripper

    If can is heavy, put it down, otherwise pick it up

    If gripper was closed tuck the arm in and head home

    The robot did not keep internal state about whatit had just done and what it should do next: it

    just sensed!

  • 8/8/2019 Robotics 13

    30/30

    CS 491/691(X) - Lecture 8 30

    Readings

    M. Matari: Chapter 14