Jenkins — Modular Perception and Control Brown Computer [email protected] — ROUGH...

12
Jenkins — Modular Perception and Control Brown Computer Science [email protected] — ROUGH DRAFT (05.19.2005) 1 Workshop Introduction: Modular Perception and Control for Autonomous Robotics Chad Jenkins Assistant Professor Computer Science Department Brown University Robotics 2005 Workshop on Modular Foundations for Perception and Control June 11, 2005 Cambridge, MA USA

Transcript of Jenkins — Modular Perception and Control Brown Computer [email protected] — ROUGH...

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

1

Workshop Introduction:Modular Perception and Control for Autonomous Robotics

Chad JenkinsAssistant Professor

Computer Science DepartmentBrown University

Robotics 2005 Workshop on Modular Foundations for Perception and Control

June 11, 2005Cambridge, MA USA

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

2

Common Background

● Brooks’ Subsumption Architecture introduced the use of modular components for autonomous robot perception and control during the mid-1980’s

● Since then, modularity has been a crucial aspect of robotics systems, including:– Behavior-based and hybrid autonomous control

● Trajectory formation, manipulation, robot teams– Parsimonious state spaces

● Reinforcement learning and decision making– Human-robot interaction

● Gesture recognition and imitation learning

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

3

Common Background

● Modularity is typically cast in terms of behaviors or models at two levels of abstraction:– Primitive modules that encode basic low-level behavior– Compositional modules that compose existing modules

to provide greater functionality● Through modularity, we are able to

– Limit the cost of searching for high-DOF systems– Respond promptly in potentially dynamic environments– Provide scalability over time in developing perception

and control systems

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

4

A General View for Primitive Modules

Low-level Sensing

Modular Vocabulary of

Primitives

Motor-level Actuation

Set desired motion trajectory

Task-level Controller

Internal Planner

Human Communication

Encode observed motion into vocabulary

Interact through common vocabulary

Plan using modular capabilities

Execute modules to achieve objectivesTask-level

Skill-level

Motor-level

CompositionalModules

Compose existing modules into new functions

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

5

The Greater Challenge for Modularity

● These issues get to a greater questions:– Why do roboticists continually reinvent modular

architectures and components for practical applications/platforms?

● Programming languages analogy:– Java code is platform independent– Any computer with a virtual machine can run Java code– Libraries are reused to construct greater functionality

● Should this be our goal for robotics?– Obviously, our problem is harder

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

6

Underlying Issues

● To this point, there is little unified consensus the following four interrelated issues– Principles for modular design and development– General module representation– Common interface structure– Refinement of modules over time

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

7

Issue 1: Modular Development

● What modules are necessary?– Size, scope, and interaction among modules

● How should the modules be developed?● Robotics has not adopted a general methodology

for designing and developing modular controllers. – Instead, ad hoc decisions or biased domain knowledge

is applied to a specific implementation. – I believe modules should be learned in a data-driven

fashion from the real-world.

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

8

Issue 2: Module Representation

● Is there a general formulation for encoding a wide spectrum of primitive modules?

● Can compositional operators be defined for sequencing and superposition?

● Can we avoid coding limited-purpose modules or learning overly specific policies?

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

9

Issue 3: Common Interface Structure● Ideally, modules are used in a wide variety of applications

– Neural prosthesis, humanoid robots, dynamics-based interactive entertainment, human-robot teams, assistive robotics, robotic telepresence, smart spaces

– Involving a variety of problems: low-bandwidth communication, mixed-initiative interaction, user modeling, gesture recognition, distributed inference, exteroceptive information, attention/saliency

● Modules should be generally applicable and not engineered for specific objective

● Is there a general interface structure capable of expressing the output of a wide spectrum of modules?– Avoiding complex data structure for handling many special cases

● Some architectures exist, but are domain specific– Player/Stage (mobile), Orocos (industrial), Yarp (humanoid)

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

10

Issue 4: Refinement over time

● Aspects of control and perception change over a robot’s useful lifetime.

● How amenable are modules to modification?● Can modules be added or removed without

complication?● Which modules should be refined and when?

– Should primitives be developed and then remain static?● How much to the primitives need to account for

subtle changes to the robot’s dynamics over time?

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

11

My Approach● Prediction is the key element

– Modules provide the expectation for future states● Learn predictive modules from data

– Categorize and generalize in an unsupervised fashion to a NLDS– Gradient field s.t. \hat{x}_m[n+1] = f_m(x[n],u[n]) ; y[n] = g(x[n])

● Predictions directional vectors in state space– Applications access modules at each time step for control or

perception tasks● Learned modules are exemplar-based

– Modifying an example redefines the behavior of the module● Currently working on composition operators and modules

Jenkins — Modular Perception and Control

Brown Computer [email protected] — ROUGH DRAFT (05.19.2005)

12

...

Develop training programs

Human performance

Matrix Analogy: Jujitsu

Punch

Stand ready

Kick

Jump

Download to human

Capture data from performance Learn behaviors

Human-likerobot control

Enhanced human performance

Perception of human activity