cognitive robotics: robustness through model-based … · cognitive robotics i.e., how to create...

80
Cognitive Robotics I.e., How to create “thinking” robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd, 2015. Slide contributions: Jacob Beal 2/3/2016 Cognitive Robotics-Introduction 1

Upload: others

Post on 28-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Cognitive RoboticsI.e., How to create “thinking” robots

Prof. Brian Williams and Steve Levine (TA)

IntroductionFebruary 3rd, 2015.

Slide contributions:Jacob Beal

2/3/2016 Cognitive Robotics-Introduction 1

Page 2: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Today’s AssignmentsProblems Sets:• None! Problem Set #1 out next Monday, due in 1½ weeks .

Readings:• Today: Williams, B. C., et. al., “Model-based Programming of Fault-

Aware Systems,” AI Magazine, 24, pp. 61-75, 2004.• Next: Williams, B. C. and Ragno, R. “Conflict-directed A* and its

Role in Model-based Embedded Systems,” Special Issue on Theory and Applications of Satisfiability Testing, Journal of Discrete Applied Math, 155, pp. 1562-1595, 2003.

Note:• Problem sets, readings and lecture slides posted on 16.412J course site.• Background: open courseware, 16.410/13 Principles of Autonomy and Decision

Making.

2/3/2016 Cognitive Robotics-Introduction 2

Page 3: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Course in a Nutshell

• Course Structure and Logistics

• Programming Cognitive Robots

• Self-Adaptive and Self-Repairing Systems

• Programs that Monitor State

Outline

3

Page 4: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Coordinating Network Embedded Systems

• We are creating vast networks

of embedded systems that

perform critical functions over

long periods of time.

• These long-lived systems

achieve robustness by

coordinating a complex

network of devices.

• Programming these systems

robustly is becoming an

increasingly daunting task.

2/25/2015 Goal-directed Autonomous Systems and Model-based Programming4

This image is in the public domain.

Page 5: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Command script

00:00 Go to x1,y100:20 Go to x2,y200:40 Go to x3,y3…04:10 Go to xn,yn

Plant

Commands

2/3/2016 Cognitive Robotics-Introduction 5

Page 6: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Model-based Executive

Observations Commands

“Put out the fires at Locations 1 and 2, and return to the base in an hour. Avoid no fly zones. Here is a map, including reservoirs and gas stations.”

Qualitative State Plan

Plant

[Leaute & Williams, AAAI 05]

2/3/2016 Cognitive Robotics-Introduction 6

Page 7: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Robustness through Collaboration

2/3/2016 Cognitive Robotics-Introduction 7

Page 8: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

2/3/2016 Cognitive Robotics-Introduction 8

Page 9: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

67��2������������������ !)����

�����������1��������! �(��

$����% �������(���1�����$��� ������>28�� �

�� �������%��=�� �� '��3��(�� �(���� ��!(������������

'��(��?� ����1 �� � � ���(��� ��� ���� ����1�������� ������������ �������������%(������(�

!2�

42������

+/*/+,-0 8���1 �� � %(������(�!)������ 3� �1��� �����������

© sources unknown. All rights reserved. This content is excluded from our CreativeCommons license. For more information, see https://ocw.mit.edu/help/faq-fair-use/.

9

Page 10: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Programming Cognitive Systems

1. Embedded programming languages elevated to the goal-level through partial specification and operations on state (RMPL).

2. Language executives that achieve robustness by reasoning over constraint-based models and by bounding risk (Enterprise).

3. Interfaces to support human interaction fluidly and at the cognitive level (Uhura, Pike …).

This image is in the public domain.

2/3/2016 Goal-directed Autonomous Systems and Model-based Programming 10

Page 11: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Course in a Nutshell

• Course Structure and Logistics

• Programming Cognitive Robots

• Self-Adaptive and Self-Repairing Systems

• Programs that Monitor State

Outline

2/3/2016 Cognitive Robotics-Introduction 11

Page 12: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Crash Course in AutonomyI.e., Programming Cognitive Robots

Prof. Brian Williams & Eric TimmonsErez Karpas, Andrew Wang, Peng Yu, Steve Levine, Pedro Santana, Simon Fang,

Enrique Gonzales, David Wang and Peng Yu.IntroductionJanuary 12, 2015.

2/3/2016 Cognitive Robotics-Introduction 12

Page 13: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• How to program cognitive robots in terms of goals, to perform complex tasks.

• Intuitions underlying how robots “reason.”

• Exposure to basic computational concepts.

16:412J: State-of-the-art reasoning methods.

About

2/3/2016 Cognitive Robotics-Introduction 13

Page 14: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Driven by a Grand Challenge

© National Geographic Partners, LLC. All rights reserved. This

content is excluded from our Creative Commons license. For

more information,see https://ocw.mit.edu/help/faq-fair-use/.

© sources unknown. All rights reserved. This content isexcluded from our Creative Commons license. For moreinformation, see https://ocw.mit.edu/help/faq-fair-use/.

2/3/2016 Cognitive Robotics-Introduction 14

Page 15: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Embedded in simulations and hardware

Working out-of-the-box with your ‘15 holiday gift

© Parrot SA. All rights reserved. This content is excluded from our Creative Commonslicense. For more information, see https://ocw.mit.edu/help/faq-fair-use/.

2/3/2016 Cognitive Robotics-Introduction 15

Page 16: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

16:412J: Driven by a Grand Challenge

RobOrienteering

© British Orienteering. All rights reserved. This content is excluded from our CreativeCommons license. For more information, see https://ocw.mit.edu/help/faq-fair-use/.

162/3/2016 Cognitive Robotics-Introduction

Page 17: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

16:412J: Embedded in simulations and hardware

Works with a lot of elbow grease and a bit of luck

172/3/2016 Cognitive Robotics-Introduction

Page 18: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Traditional Programming

“Cognitive” Programming

ReactiveModel-basedProgramming

Language (RMPL)

+ Python

Programs that Monitor State

Programs with Flexible Time

Programs with Goal States

Programs with Continuous State

Programs that Collaborate

Advanced lectures…

Risk-bounded Programming

Grand Challenge

TODAY

END OFSEMESTER

TIM

E

2/3/2016 Cognitive Robotics-Introduction 18

Page 19: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• program cognitive robots by specifying goalsand models

• Research, describe, and implement decision-making algorithms that enable robots to monitor, plan and coordinate in the real world

• implement complex missions with real robot.

You’ll walk out knowing how to

192/3/2016 Cognitive Robotics-Introduction

Page 20: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Be warned – bleeding edge!

2/3/2016 Cognitive Robotics-Introduction

A clipart of blooded knife removed due to copyright restrictions.

20

Page 21: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

COURSE LOGISTICSPolicies, grading, and assignments

2/3/2016 16.412J / 6.834J ï Cognitive Robotics 21

Page 22: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Stellar website

• Piazza (for course-related discussion)

• Staff email list

Websites & emails

2/3/2016 16.412J / 6.834J ï Cognitive Robotics 22

Page 23: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Students must attend lectures

– Vital to learning course material

– Plan on attending all lectures

– Expected to do assigned readings before lecture

• Randomly-scheduled 5-minute mini quizzes

– Not difficult / stressful

Lectures & Office Hours

232/3/2016 16.412J / 6.834J ï Cognitive Robotics

Page 24: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Modeling exercises

• Using existing autonomy tools

• Implementing algorithms (Python)

Assignments: Problem sets

242/3/2016 16.412J / 6.834J ï Cognitive Robotics

Page 25: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Course culminates in grand challenge!

– Orienteering theme

– Simulation & real hardware

Assignments: Grand Challenge

252/3/2016 16.412J / 6.834J ï Cognitive Robotics

Page 26: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• What it’s like doing research in autonomy

• Teams of 5-6 will:

– Present full 80 minute lecture on researched topic

– Implement topic (Python)

– Release code, API, and tutorial / documentation for class

• Will be used in grand challenge

Assignments: Advanced Lectures

262/3/2016 16.412J / 6.834J ï Cognitive Robotics

Page 27: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Computers, tablets: for note taking only!

Please do not:

– Check email or facebook, surf web, watch adorable cat videos 😿, etc.

Research shows it also distracts others nearby

Electronics use policy in lecture

272/3/2016 16.412J / 6.834J ï Cognitive Robotics

Page 28: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Grading

Item Weight

Participation & attendance (mini quizzes) 10%

Problem sets 40%

Advanced lecture & implementation 30%

Grand challenge 20%

* Staff reserves the right to consider other factors & adjust formula

282/3/2016 16.412J / 6.834J ï Cognitive Robotics

Page 29: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Collaboration allowed, such that you:

– Acknowledge collaborators

– Involved in all aspects of work (no dividing up)

– Write your own solutions

• Advanced lectures & grand challenge

– Working in teams, expect equal contributions

• Course bibles prohibited

Collaboration Policy

292/3/2016 16.412J / 6.834J ï Cognitive Robotics

Page 30: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

TA: Steve Levine

4th year Ph.D student in CS (MERS group) Research:Intent recognition & adaptation for robots

B.S. from MIT in ‘11, course 6M.Eng from MIT in ‘12, course 69th year (!) at MIT! So old!

302/3/2016 16.412J / 6.834J ï Cognitive Robotics

Page 31: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Course in a Nutshell

• Logistics

• Programming Cognitive Robots

• Self-Adaptive and Self-Repairing Systems

• Programs that Monitor State

Outline

2/3/2016 Cognitive Robotics-Introduction 31

Page 32: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Programs on State - Firefighting Scenario

base1

lake2

fire2

lake1

fire1

uav1

base2no-fly zone

no-fly zone no-fly zone

2/25/2015 Goal-directed Autonomous Systems and Model-based Programming 32

Page 33: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Firefighting in RMPL: Traditional Imperative programclass Main{

UAV uav1;

Lake lake1;

Lake lake2;

Fire fire1;

Fire fire2;

...

method run() {

sequence{

uav1.takeoff();

uav1.fly_base1_to_lake1();

uav1.load_water(lake1);

uav1.fly_lake1_to_fire1();

uav1.drop_water_high_altitute(fire1);

uav1.fly_fire1_to_lake1();

uav1.load_water(lake1);

uav1.fly_lake1_to_fire1();

uav1.drop_water_low_altitute(fire1);

uav1.fly_fire1_to_lake2();

uav1.load_water(lake2);

uav1.fly_lake2_to_fire2();

uav1.drop_water_high_altitute(fire2);

uav1.fly_fire2_to_lake2();

uav1.load_water(lake2);

uav1.fly_lake2_to_fire2();

uav1.drop_water_low_altitute(fire2);

uav1.fly_fire2_to_base1();

uav1.land();

}

}}

2/25/2015 Goal-directed Autonomous Systems and Model-based Programming 33

Page 34: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

class Main{

UAV uav1;

Lake lake1;

Lake lake2;

Fire fire1;

Fire fire2;

...

method run() {

sequence{

(fire1 == out);

(fire2 == out);

(uav1.flying == no &&

uav1.location == base_1_location);

}

}

}

Firefighting in RMPL: A Program on State

2/25/2015 Goal-directed Autonomous Systems and Model-based Programming 34

Page 35: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

class Main{

UAV uav1;

Lake lake1;

Lake lake2;

Fire fire1;

Fire fire2;

...

method run() {

sequence{

(fire1 == out);

(fire2 == out);

(uav1.flying == no &&

uav1.location == base_1_location);

}

}

}

Firefighting in RMPL: Setup & Initial Conditions

Main (){

uav1 = new UAV();

uav1.location= base_1_location;

uav1.flying = no;

uav1.loaded = no;

lake1 = new Lake();

lake1.location = lake_1_location;

lake2 = new Lake();

lake2.location = lake_2_location;

fire1 = new Fire();

fire1.location = fire_1_location;

fire1 = high;

fire2 = new Fire();

fire2.location = fire_2_location;

fire2 = high;

}

352/25/2015 Goal-directed Autonomous Systems and Model-based Programming

Page 36: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

class UAV {

Roadmap location;

Boolean flying;

Boolean loaded;

primitive method takeoff()

flying == no => flying == yes;

primitive method land()

flying == yes => flying == no;

primitive method load_water(Lake lakespot)

((flying == yes) && (loaded == no) && (lakespot.location == location)) => loaded == yes;

primitive method drop_water_high_altitude(Fire firespot)

((flying == yes) && (loaded == yes) && (firespot.location == location) && (firespot == high))

=> ((loaded == no) && (firespot == medium));

primitive method drop_water_low_altitude(Fire firespot)

((flying == yes) && (loaded == yes) && (firespot.location == location) && (firespot == medium))

=> ((loaded == no) && (firespot == out));

#MOTION_PRIMITIVES(location, fly, flying==yes)

}

Firefighting in RMPL: Model of Actions

class Lake {

Roadmap location;

}

class Fire{

initial value high;

value medium;

value out;

Roadmap location;

}

362/25/2015 Goal-directed Autonomous Systems and Model-based Programming

Page 37: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

class UAV {

Roadmap location;

Boolean flying;

Boolean loaded;

primitive method takeoff()

flying == no => flying == yes;

primitive method land()

flying == yes => flying == no;

primitive method load_water(Lake lakespot)

((flying == yes) && (loaded == no) && (lakespot.location == location)) => loaded == yes;

primitive method drop_water_high_altitude(Fire firespot)

((flying == yes) && (loaded == yes) && (firespot.location == location) && (firespot == high))

=> ((loaded == no) && (firespot == medium));

primitive method drop_water_low_altitude(Fire firespot)

((flying == yes) && (loaded == yes) && (firespot.location == location) && (firespot == medium))

=> ((loaded == no) && (firespot == out));

#MOTION_PRIMITIVES(location, fly, flying==yes)

}

Firefighting in RMPL: Model of Actions

class Lake {

Roadmap location;

}

class Fire{

initial value high;

value medium;

value out;

Roadmap location;

}

2/25/2015 Goal-directed Autonomous Systems and Model-based Programming 37

Page 38: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Simulation Testing: Firefighting Scenario

2/25/2015 Goal-directed Autonomous Systems and Model-based Programming 38

Page 39: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Decision-making algorithm: Activity Planning

fly_base_to_lake

fly_base_to_fire1

fly_base_to_fire2

Solve Relaxed Planning Problem

fly_lake_to_fire1

. . .

Goal

load_water

fly_lake_to_fire1

fly_fire2_to_lake

f = g + h

2/25/2015 Goal-directed Autonomous Systems and Model-based Programming 39

Page 40: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Course in a Nutshell

• Logistics

• Programming Cognitive Robots

• Self-Adaptive and Self-Repairing Systems

• Programs that Monitor State

Outline

2/3/2016 Cognitive Robotics-Introduction 40

Page 41: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

“Autonomous” vehicles explore far away places .. but often end in disaster!

2/3/2016 Cognitive Robotics-Introduction 41

© Woods Hole Oceanographic Institution. All rights reserved. Thiscontent is excluded from our Creative Commons license. For moreinformation, see https://ocw.mit.edu/help/faq-fair-use/.

Page 42: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

What you should really learn from immune systems about adversarial design

Jacob Beal

NDIST December, 2015

Not for release: images shamelessly ganked from web 42

Courtesy of Jacob Beal. Used with permission.

Page 43: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

The Immune System(as noticed by computer scientists)

BlacklistBlacklist

Whitelist

INSUFFICIENT

Complementsof Jake Beal

(Source: the Human Immune Response System www.uta.edu/chagas/images/immunSys.jpg)43

Page 44: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

But there’s more to the immune system…

• Physical barriers

• Inhospitable environments

• Tolerance

• Death

Complementsof Jake Beal

44

Page 45: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Physical Barriers• Skin, gastrointestinal wall, blood/brain barrier

• Saliva, tears, mucus (nose, lungs, gut, . . .)

• Defense by discarding

Complementsof Jake Beal

45

Page 46: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Inhospitable environments• Fever: high temperature inhibits bacterial

growth

• Enzymes in saliva, tears, nasal secretions, perspiration, milk, sperm

• . . .

• Skin is acidic

46

Page 47: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Tolerance

• Follicular mites

• Parasitic worms

• Dead viruses in the genome

• Microbiome

– Gut commensals

– Flora for various cavities

>3000 cryptic drug-like molecule gene clusters! (Fischbach, Science, 2015)

Natural flora occupy niches and consume resources

Human follicular mite

Complementsof Jake Beal

47

Page 48: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Death

• Cell self-inhibition, suicide

• Reproductive barriers for parasites

Complementsof Jake Beal

48

Page 49: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Model-based Programs Offer Layers of Defense

SPlant

Obs Cntrl

Model-basedEmbedded Programs

S

ContinuousReactive

Commanding

Continuous Mode/StateEstimation

Model

Languages that achieve robustness through decision layers that are:

• Suspicious•Monitor states and goals.

• Adapt to disturbance• Adjust timing

• Select contingencies

• State Aware

• Plan to achieve goals states.

• Precise

• Achieve continuous goal states.

• Collaborate• Executes programs, revise goals and plan with humans.

• Manage Risk• Executes programs in uncertain environments with bounded risk.

49

Page 50: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

A single “cognitive system” language and executive.

UserKirk

Pike

Sulu

Goals &

models

in RMPL

Control

Commands

Enterprise

Coordinates and monitors tasks

Plans paths

Sketches mission and assigns tasks

Burton

Plans actions

Bones

Diagnoses likely failures

Uhura

Collaboratively resolves goal failures

© source unknown. All rights reserved. This content is

excluded from our Creative Commons license. For more

information, see https://ocw.mit.edu/help/faq-fair-use/.

502/25/2015 Goal-directed Autonomous Systems and Model-based Programming

Page 51: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Course in a Nutshell

• Logistics

• Programming Cognitive Robots

• Self-Adaptive and Self-Repairing Systems

• Programs that Monitor State

Outline

512/3/2016 Cognitive Robotics-Introduction

Page 52: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

When things go wrong…

522/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 53: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Something unexpected things happen

– Not modeled in plan!

– How to react?

• Execution monitoring: detecting when things go wrong

• Replanning: fixing the problem (later in this course)

Execution monitoring: detecting problems

532/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 54: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

542/3/2016 Cognitive Robotics-Introduction

Page 55: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Volcano eruption!

Base Station

Program sequence of actions in RMPL

method run() {

sequence {

uav.launch();

uav.fly_to_base_station();

uav.pick_up_med_kit();

uav.fly_to_hikers();

uav.drop_off_med_kit();

}

}

Actions have preconditions &effects like before

552/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 56: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Volcano eruption!

Base Station

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give med kitto climbers

What could possibly go wrong??

562/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 57: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give med kitto climbers

time

Preconditions & effects of actions

572/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 58: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Q pick up med kit

time

Preconditions & effects of actions

582/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 59: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Q pick up med kit

time

Preconditions & effects of actions

Q has med kit!

Q has empty cargo bay

Q near med kit

Q’s cargo bay full

592/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 60: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Q give med kitto climbers

time

Preconditions & effects of actions

Q has a med kit

Q near climbers

602/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 61: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Preconditions & effects of actions

Q has med kit

612/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 62: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Where do preconditions come from?

Q near climbers

Q has med kit

622/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 63: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Where do preconditions come from?

Q has med kitQ in the air

Q near climbers

632/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 64: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Where do preconditions come from?

Q has med kitQ in the air

Q in the air

Q near climbers

642/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 65: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Where do preconditions come from?

Q has med kitQ in the air

Q near med kitQ in the air

Q near climbers

652/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 66: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Where do preconditions come from?

Q has med kitQ in the air

Q has empty cargo bay

Q near med kitQ in the air

Q near climbers

662/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 67: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Causal link: one action produces something needed by a later action

These are called “causal links”

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Q has med kit

672/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 68: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

What happens if something goes wrong?

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Q has med kit

XQ drops med kit!

682/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 69: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

What happens if something goes wrong?

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Q has med kit

XQ drops med kit!

692/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 70: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

If condition is violated during causal link, signal failure.

Causal links allow execution monitoring

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give suppliesto climbers

time

Q has med kit

XQ drops med kit!

702/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 71: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Causal links tell you what needs to hold, and when

• Tells you what’s relevant to the plan

• Can be used offline, for error checking

Causal links for execution monitoring

712/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 72: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

We need:

1. Sensing.

2. Action model.

3. Plan.

How do we do execution monitoring?

722/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 73: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

1. Sensing

“Q has medical kit”

732/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 74: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Q pick up med kit

time

2. Action model

Q has med kit!

Q has empty cargo bay

Q near med kit

Q’s cargo bay full

742/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 75: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Launch QQ fly to

Base StationQ pick up med kit

Q fly tohikers

Q give med kitto climbers

time

3. Plan

752/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 76: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Offline:

• Use plan & action model to extract causal links

Online:

• Continuously sense monitor those causal links

How do we do execution monitoring?

762/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 77: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

• Need to monitor the plan when executing

• Causal links:

– What needs to be true, and when

– Offline (checking) and online (monitoring)

Key takeaways

772/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 78: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

A single “cognitive system” language and executive.

UserKirk

Pike

Sulu

Goals &

models

in RMPL

Control

Commands

Enterprise

Coordinates and monitors tasks

Plans paths

Sketches mission and assigns tasks

Burton

Plans actions

Bones

Diagnoses likely failures

Uhura

Collaboratively resolves goal failures

78

© source unknown. All rights reserved. This content is

excluded from our Creative Commons license. For more

information, see https://ocw.mit.edu/help/faq-fair-use/.

2/25/2015 Goal-directed Autonomous Systems and Model-based Programming

Page 79: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

Extraction (non-temporal, totally-ordered plan - offline):

for each action in plan:

for each precondition p of action:

a_p = latest action in plan with effect p

Add causal link: a_p to action over p

Monitoring (online):

while True:

cls = currently active causal links (based on actions)

state = measure state with sensors

for each causal link cl in cls:

p = predicate associated with cl

if not(p in state):

Trigger execution monitoring exception!

Causal link extraction algorithm

792/9/2015 16.412J / 6.834J - Cognitive Robotics - Execution Monitoring

Page 80: Cognitive Robotics: Robustness Through Model-Based … · Cognitive Robotics I.e., How to create thinking robots Prof. Brian Williams and Steve Levine (TA) Introduction February 3rd,

MIT OpenCourseWarehttps://ocw.mit.edu

16.412J / 6.834J Cognitive RoboticsSpring 2016

For information about citing these materials or our Terms of Use, visit: https://ocw.mit.edu/terms.