cs 378: autonomous intelligent roboticsjsinapov/teaching/cs378/slides/10_beha… · behavior-based...

70
CS 378: Autonomous Intelligent Robotics Instructor: Jivko Sinapov http://www.cs.utexas.edu/~jsinapov/teaching/cs378/

Upload: others

Post on 12-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

CS 378: Autonomous Intelligent Robotics

Instructor: Jivko Sinapovhttp://www.cs.utexas.edu/~jsinapov/teaching/cs378/

Page 2: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Announcements

FRI Summer Research Fellowships:

https://cns.utexas.edu/fri/beyond-the-freshman-lab/fellowships

Applications are due March 1st but apply now!

Funding is available for 4-5 students per FRI stream

Page 3: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Announcements

Homework 3 is due Friday “night”

Page 4: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',
Page 5: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Readings for this week: Behavior-based robotics

R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'', MIT AI Memo 864, Vol RA-2, No. 1. p. 14-23

R. Brooks (1991). "Intelligence Without Representation", Artificial Intelligence, Volume 47 , Issue 1-3

Page 6: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Progression

2D simulation 3D simulation2D simulation Real World

Page 7: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

The Gazebo 3D simulator

• Install gazebo_ros package:sudo apt-get install ros-indigo-gazebo-ros

• Run the simulator:roslaunch gazebo_ros rubble_world.launch

Page 8: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Today

1) Behavior-Based Robotics

2) ROS Services (part 2)

Page 9: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Behavior-Based Robotics

Page 10: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

A Bit of History

First Industrial Robot (~60s)

Page 11: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Modern Industrial Robots

Page 12: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Teleoperation

Page 13: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Teleoperation

Page 14: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Teleoperation

Page 15: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Teleoperation

Page 16: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Teleoperation

Page 17: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Teleoperation

Page 18: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Robotics Timeline

Page 19: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Teleoperation vs Telepresence

• An early attempt to improve teleoperation was to add more cameras / displays

• Telepresence aims for placing the operator in a virtual reality that mimics the robot's surroundings

Page 20: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Telepresence Robots

http://www.pilotpresence.com/wp-content/uploads/2011/01/remote-presence-systemsv2.jpg

Page 21: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Telepresence Robots

Example:https://www.youtube.com/watch?v=bVe66UW2XUU

Page 22: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

The need for (semi-) autonomy

Page 23: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

How should autonomy be achieved and organized?

Page 24: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Robot Primitives

Page 25: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

The Early Answer (1967): Sense-Plan-Act

Page 26: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

The Early Answer (1967): Sense-Plan-Act

Page 27: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

The Early Answer (1967): Sense-Plan-Act

Page 28: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Early Example of S-P-A

Page 29: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Early Work on Planning

Page 30: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Early Work on Planning

Page 31: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Early Work on Planning

Page 32: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Early Work on Planning

Page 33: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

A More Realistic Example

Page 34: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

A More Realistic Example

Page 35: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

A More Realistic Example

Page 36: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

A More Realistic Example

Is INROOM(IT,R1) true or false?

CONNECTS(D1,R1,R2)?

INROOM(IT,R2)?

IT

Page 37: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Representing Initial State

IT

Page 38: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Representing Goal State

IT

Page 39: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

The “difference” table

Page 40: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Logical Difference

or

Page 41: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Eliminating the Difference

Page 42: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Eliminating the Difference

Page 43: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Eliminating the Difference

Page 44: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Discussion

• What are some limitations of planning with STRIPS?

• Where do the predicates, operators, etc. come from?

Page 45: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Then comes Rodney Brooks...

Page 46: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

GOFAI

• GOFAI: good old-fashioned artificial intelligence

• Typically implemented as a central planner operating on a set of symbols (predicates)

• Tools: logic, predicate logic, PROLOG, Search algorithms, etc.

• Solution: sense → model → plan → act

Page 47: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Brooks' opinion: GOFAI failed

Page 48: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Abstraction is a dangerous weapon

Page 49: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Toy worlds vs. Real worlds

Page 50: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Toy worlds vs. Real worlds

Page 51: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Brook's opinion: GOFAI failed

Page 52: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Alternatives to Sense-Plan-Act

Sense-Plan-Act

Reactive

Hybrid

Page 53: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Reactive Paradigm

Page 54: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Reactive Paradigm Example

Page 55: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Reactive Paradigm Example

Page 56: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Reactive Paradigm Example

. . .

.

Page 57: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Reactive Paradigm Example

Page 58: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Reactive Paradigm Example

. . .

.

Page 59: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

The Hybrid Paradigm

Page 60: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Functional vs. Behavioral Decomposition

Page 61: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Words of Wisdom

Page 62: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Where is Brooks now?

Page 63: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Credits

• “Introduction to AI Robotics” by Robin Murphy

• Slides by Lorenz Hillen from Universität Bielefeld

Page 64: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

ROS Services

Page 65: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Messages vs. Services

Page 66: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Messages vs. Services

Page 67: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Messages vs. Services

Publisher

Subscriber

Client

Server

topi

c

requ

est

resp

onse

Page 68: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Messages vs. Services

Publisher

Subscriber

Client

Server

topi

c

requ

est

resp

onse

t1

t2

t3

Page 69: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

Calling Services in ROS

1) From the command line:rosservice call <service_name> <request>

2) From code

Page 70: CS 378: Autonomous Intelligent Roboticsjsinapov/teaching/cs378/slides/10_Beha… · Behavior-based robotics R. Brooks (1986). ``A Robust Layered Control System for a Mobile Robot'',

THE END