41
Toward Process Architectures for Behavioural Robotics Jon Simpson [email protected] School of Computing, University of Kent.

Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Toward Process Architecturesfor Behavioural Robotics

Jon [email protected] of Computing, University of Kent.

Page 2: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

How should we structure process-oriented behavioural control programs?

Page 3: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Architectures for behavioural robotics in the context of process-oriented programming.

Page 4: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Distil design principles and components for behavioural control via process architectures.

Page 5: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Behavioural robotics.Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally, a three-layer system.

Page 6: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Three-layer systems.Deliberative & reactive components, co-ordinated by and

co-existing with a support layer.

Page 7: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Behavioural robotics requires concurrency.Use a concurrent language for implementation.

Page 8: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

occam-piProcess-oriented programming language.

Runtime support for small robotics platforms.Surveyor SRV-1, Mindstorms RCX, IPRE Scribbler, Pioneer 3-DX.

Page 9: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Process-oriented programming.Networks of concurrent processes communicating synchronously via channels.

Page 10: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,
Page 11: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

ArchitecturesPrinciples and methodologies for complexity management in system development.

Page 12: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Previous Work- Subsumption Architecture in occam-pi (2006)

- Visual Process-oriented Programming for Robotics (2008)

Page 13: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Subsumption ArchitectureBrooks (1984, 1986)

Page 14: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Subsumption ArchitectureCommunicating modules form ‘levels of competence.’

Suppression of inputs and inhibition of outputs.

Page 15: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Detect objects, turn away from them.

Move into space, stop if a collision will occur.

min.distance prevent.collision

object.detect pivot

motor.controlS10

Page 16: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Detect objects, turn away from them.

Move into space, stop if a collision will occur.

min.distance prevent.collision

object.detect pivot

motor.controlS10

Page 17: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Move forward if there is an obstruction behind.

Detect objects, turn away from them.

Move into space, stop if a collision will occur.

min.distance prevent.collision

object.detect pivot

space.behind

laser.scanner

sonar.ring

motor.controlS10

I1

Page 18: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

BenefitsInhibitor and suppressor primitives.

Structural layers of behaviour modules.

Page 19: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

ProblemsTight layer interactions negatively effect scalability.

Modules spy on lower modules, creating hidden dependencies.

Rich process implementation versus state machines.

Page 20: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Colony ArchitectureConnell (1987)

Page 21: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Colony ArchitectureRefinement of the subsumption architecture.

Layers not strictly hierarchical.

No inhibition, only suppression at behaviour edges.

Page 22: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Colony ArchitectureImproves scalability, allowing only behaviour interactions.

Changes fed back into a later revision of Subsumption.

Page 23: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Action-SelectionMaes (1989)

Page 24: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Action SelectionModules controlled via activation levels.

Primed depending on action and the environment.

Page 25: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Drive forward

Is there space in front?

Turn left

Goal: Navigate space

activation

activation

Page 26: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Drive forward

Is there space in front?

Turn left

Goal: Navigate space

activation

activation

Page 27: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Drive forward

Is there space in front?

Turn left

Goal: Navigate space

activation

activation

Page 28: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Action SelectionInteresting, but leads to highly connected networks.

Simplest implementation uses a separate decision network.

Page 29: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Motor SchemaArkin (1987)

Page 30: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Motor SchemaPerceptual schemata identify features and conditions in the environment, providing data to motor schema.

Motor schemata control the motion or activity of the robot.

Groupings of the two are known as assemblages.

Page 31: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Planner State

detect.tilt balance

! motor.sum

detect.obstacles avoid.obstacle

detect.lateral.motion

detect.approach

Planner

Active planner task: Move toward moving object on lateral motion.

motion.track move.toward

Inactive planner task: Back away from something approaching

motion.track back.off

Key

perpetual schema

motor schema

active schema

Page 32: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

PlannerPerceptual schemas build a state machine planner.

Planner can load assemblages based on conditions.

Page 33: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Wait for motion

Back off

Move toward

Start

when approach = 0

approached

lateral motion

when lateral motion = 0

Page 34: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Motor SchemasDesign rules plus a ‘vector.sum’ primitive.

Separation between planning and sensing/acting.

State machines produce simple reasoning.

Page 35: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Distributed Architecture for Mobile NavigationRosenblatt (1995)

Page 36: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

DAMNArbiters using voting to perform command fusion.

Weighting of votes can be fixed or altered using a mode manager for sequential action.

Page 37: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Modules

Seek lateral motion

Back off when approached Balance

Avoidobstacles

DAMN ArbiterRobot

Controller

Move awayMove toward

Detect lateral motion

Detect approach

votes votescommands

Page 38: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

DAMNRe-use from Motor Schemas of sensing and activity.

Connected between behaviours and arbiter.

Arbiter and control process take advantage of expressive processes.

Page 39: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Quantitative Evaluation- Code metrics for solving specific tasks.

- Processes or LOC

- Good measures of complexity?

Page 40: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

The Road AheadMore behavioural architectures.ATLANTIS (Gatt 1992), SSS (Connell 1992).

From process-orientation toward robot architectures.

Structures & tooling for visual programming.

Page 41: Toward Process Architectures for Behavioural Robotics€¦ · Behavioural robotics. Behaviour-based AI uses a modular decomposition of the system’s intelligence into, generally,

Thank you.Questions welcome.