comp 551: advanced robotics lab - rice university · •for that, take comp 450, “algorithmic...

54
1 COMP 551: Advanced Robotics Lab James McLurkin Rice University [email protected]

Upload: others

Post on 05-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

1

COMP 551: Advanced Robotics Lab

James McLurkin Rice University

[email protected]

Page 2: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

2

Page 3: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 3

Course Overview

Learn key concepts of distributed robotic systems

•Sensing/control

•Communication

•Consensus

•State estimation

Implement these concepts on real robots

•This is a Lab course

•With lots of software to write and algorithms to implement

•Python for the first lab, then C for the remaining labs

Page 4: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

4

Course Overview

Page 5: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 5

Course Un-Topics

Algorithmic Robotics

•For that, take COMP 450, “Algorithmic Robotics”

•I will keep the math and theory and proofs to a minimum

Manipulation and Control

•For that, take MECH 498, “Introduction to Robotics”

AI and Machine Learning

•Comp 441, Artificial Intelligence

•ELEC 631, Reinforcement Learning

Page 6: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 6

Staff

Prof. James McLurkin [email protected]

Page 7: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 7

A Book

Not required for the course, might be helpful for the final project

The bibliographic notes are very nice

Page 8: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 8

Grading

This is a lab course:

•Lab Set 1: 20%

•Lab Set 2: 20%

•Lab Set 3: 30%

•Lab Set 4: 30%

The labs will take considerable time

•Start early

•Ask lots of questions

No final

No homework

Page 9: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 9

Collaboration

We will all have to work together

•Solve the challenging problems

•Share experiment design

Submit one code per lab team

•Your code will be written collaboratively

Hand in one report per person

•One or two pages, max

•Tell us what your group design is…

•Tell us what you did

Page 10: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 10

Lab Topics

Lab 1:

•Robot Software Architecture,

•Pose Estimation,

•Behavior-based control

Lab 2:

•Sensors and feedback

•Communications,

Lab 3

•Distributed algorithms,

•Multi-robot configuration control.

Lab 4:

•State Estimation, EKF or Particle Filter

Page 11: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

11

Topics Overview

Page 12: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

12

Basic Robotics

Page 13: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 13

Robot Architecture, Odometry

Multi-threaded software design

Odometry-based pose measurement

Data visualization

Page 14: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

20

Feedback Control

Page 15: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 21

Feedback Control This is one of the most common system diagrams

We will be using it extensively in this course

This is a feedback system. The output “feeds back” to the input.

This is also a control loop. (Because it controls and it loops)

sense compute actuate input output

Page 16: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

22

Deterministic Robot Control Algorithms

Page 17: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 23 23

An Example FSM: Wall detection

no shadow

reset

|angle| < p/2

move forward

rotate left

rotate right

right sensor detect shadow |angle|

< p/2

left sensor detect shadow

|angle| ≥ p/2

|angle| ≥ p/2

[Review dark avoid code in editor]

Page 18: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 24 24

Behavior-Based Control A behavior is a small program (or finite-state machine) that reads the sensors and controls the robot

• Each behavior only does one simple thing

• Each behavior has access to all the sensors of the robot and produces motor outputs (tv, rv)

Only one behavior can be active at a time

• There is a prioritization of behaviors

• More important ones override, or subsume, less important ones

Page 19: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 25

Combining Behaviors We combine behaviors by overriding, or subsuming lower-priority behaviors if a higher-priority behavior becomes active

Wander

Behavior: move and turn

Follow a robot

Behavior: Follow another robot

Avoid Dark

Behavior: avoid shadow at walls Senso

rs

Actu

ato

rs

S

S

subsume operator

highest priority

lowest priority

Page 20: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

26

Probabilistic Robotics

Page 21: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 27

Uncertainty

What is my sensor telling me?

How can I extract perception from sensing?

How can I produce optimal estimates?

Is my sensor even working?

Where am I?

Page 22: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 28

Sensing and Belief s is the state of the robot,

in this case, position

Bel(s) is the robot’s belief about where it is.

P(o|s) is the probability of the sensor observation given the state of the robot.

Page 23: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

29

A Brief, Abridged, somewhat biased, History of Robotics

Page 24: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 30

Pop Quiz!

Name the Robot (1pt)

Name the creator/company/school (2pts)

Explain the significance (3pts)

Winner gets to select from these fine prizes…

Page 25: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 31

Tortoise

Page 26: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 32

Tortoise Behaviors

Page 27: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 33

Page 28: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 34

Page 29: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 35

Page 30: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 36

Shakey

Page 31: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 37

Genghis

Page 32: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 38

Genghis in Action

Page 33: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 40 picture courtesy iRobot

PackBot

Page 34: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 41 pictures courtesy iRobot

Page 35: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 42

NASA’s Spirit and Opportunity

Page 36: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 43

SwarmBot

Page 37: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 44

Message Speed

n = 44, t = 0.250s, speed = 0, RSR = 0

Page 38: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 45

Broadcast Tree Navigation

Purpose: To guide a robot from anywhere in the configuration to the root robot

n = 32, RSR = 0

Page 39: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 46

An Example Application: Building Search

ChargingBot

GuideBot

InteriorBot

BoundaryBot

Page 40: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 47

Blue=Frontiers Red=Interior Green=Charging White=Guides

Page 41: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 48

Page 42: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 49

The Perils of Small Robots in Big Buildings

Page 43: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 50

iRobot Roomba

Page 44: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 51

Kiva Systems

Current Robotic Applications

•Interplanetary exploration

•Tactical military operations

•Warehouse distribution

•Vacuuming

•Underwater exploration

Page 45: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 52

Honda ASIMO

picture courtesy Honda

Page 46: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 53

Big Dog

Page 47: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 54

Disturbance Rejection: Artificial System

“Big Dog”, Boston Dynamics

“Big Dog”, www.bostondynamics.com

Page 48: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 55

Disturbance Rejection: Natural System

“Preflexes”

Jindrich, D. L. and Full, R. J. (2002). Dynamic stabilization of rapid hexapedal locomotion. Journal of

Experimental Biology. 205,2803-2823. (Video and picture courtesy Devin Jindrich)

(Recovery in ~27ms!)

Page 49: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 56

Stanley

Page 50: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Rice University, COMP 551, Spring 2010 57

Page 51: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

58

Job Selection

Page 52: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

The Big Sort

Broad group

Need to know what you guys can do

Rice University, COMP 551, Spring 2010 59

Page 53: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

Lots of Jobs for the Honary TAs

sysadmin

•Administer the git back-end server

web master

•update website

blog masters

•make blog entries

lab experts

•Help get the labs setup

Rice University, COMP 551, Spring 2010 60

Page 54: COMP 551: Advanced Robotics Lab - Rice University · •For that, take COMP 450, “Algorithmic Robotics” •I will keep the math and theory and proofs to a minimum Manipulation

61

Robot Demo!