ros after cs1?

40
ROS after CS1? 6 robots, 6 quadcopters, 60 students, and ROS Zach Dodds, Harvey Mudd College 02/29/2012

Upload: hakien

Post on 14-Feb-2017

247 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ROS after CS1?

ROS after CS1?6 robots, 6 quadcopters,

60 students, and ROS

Zach Dodds, Harvey Mudd College 02/29/2012

Page 2: ROS after CS1?

An experiment underway... 1-unit lab (one is required)

5 sections of 124 with CS1 or CS24 with CS1 or CS2

1 of seniors

6 Creates + 6 Kinects +

6 netbooks + 6 drones

≈ $6k

Goal: to increase students'

computational sophistication

not to teach

ROS or robotics

Page 3: ROS after CS1?

N/A?

all situations are different...

Page 4: ROS after CS1?

Line-following creates command-line & Python

Color segmentation Kinects: RGB event-handling

Finite-state control - finite-state machines

Visual servoing -

weekly, 2-3 hrs.; 1 hr. for write-up; no other work

Lab challenge New hardware CS Topics Emphasized

1

2

3

4

Week

The labs

Visual servoing -understanding vs.

implementingWall-angle estimation Kinects: Depth

Robot minion! - proportional control

Wall-following - larger-scale integration

Gestural control quadcopters GUI/visualization

Autonomous flight - defensive programming

(Open-ended projects) all/any self-defined problems

4

5

6

7

9

10

11-14

Page 5: ROS after CS1?

Line-following creates command-line & Python

Color segmentation Kinects: RGB event-handling

Finite-state control - finite-state machines

Visual servoing -

weekly, 2-3 hrs.; 1 hr. for write-up; no other work

Lab challenge New hardware CS Topics Emphasized

1

2

3

4

Week

The labs

Visual servoing -understanding vs.

implementingWall-angle estimation Kinects: Depth

Robot minion! - proportional control

Wall-following - larger-scale integration

Gestural control quadcopters GUI/visualization

Autonomous flight - defensive programming

(Open-ended projects) all/any self-defined problems

4

5

6

7

9

10

11-14

Page 6: ROS after CS1?

Western State College

from visiting last summer...

15 hours later

Page 7: ROS after CS1?

Western State College

... to outreach this winter

Page 8: ROS after CS1?

Western State College

... to outreach this winter

Page 9: ROS after CS1?

Week 1 CreateLine following command-line and Python

thanks: Matt Boutell

easy medium

difficult

Page 10: ROS after CS1?

Week 1 CreateLine following command-line and Python

made it! (the video is 4x)

Page 11: ROS after CS1?

Week 2

RGB and HSV

Kinect: RGBColor segmentation keyboard/mouse events

original image with overlay segmented image

Page 12: ROS after CS1?

Week 2 challenging (!) warm-up activity

... to identify RGB and HSV components

Page 13: ROS after CS1?

Week 2 Kinect: RGBColor segmentation keyboard/mouse events

Creativity? Recursion!

Page 14: ROS after CS1?

Week 3 Kinect: RGBFinite-state control finite-state machines

+ Kinect images...

+ your own custom

state-machine thread

keybd

robot sensors...

forward

back

Page 15: ROS after CS1?

Week 4 Kinect: RGBFinite-state controlunderstanding vs.

implementation

Task: to drive the robot to any point clicked in the Kinect's image

Extra! then get back again...

Why is this difficult? – and why is it even more difficult to go left?

Page 16: ROS after CS1?

Week 4 Kinect: RGBFinite-state controlunderstanding vs.

implementation

Page 17: ROS after CS1?

Week 4 Kinect: RGBFinite-state controlunderstanding vs.

implementation

The race!

Page 18: ROS after CS1?

Week 4 Kinect: RGBFinite-state controlunderstanding vs.

implementation

The race: a more polished view...

Page 19: ROS after CS1?

Week 5 Kinect: DepthWall-angle estimationunderstanding vs.

implementation

Kinect's range images

Page 20: ROS after CS1?

Week 5 Kinect: DepthWall-angle estimationunderstanding vs.

implementation

What if this pixel at (42,240) reads 1 meter "deep"?

What are that point's coordinates in meters?

Page 21: ROS after CS1?

Week 5 Kinect: DepthWall-angle estimationunderstanding vs.

implementation

Page 22: ROS after CS1?

Week 5 Kinect: DepthWall-angle estimationunderstanding vs.

implementation

What is this angle, in depth?

Page 23: ROS after CS1?

Feedback on labs 3-5... understanding vs.

implementation

Page 24: ROS after CS1?

Feedback on labs 3-5... understanding vs.

implementation

Page 25: ROS after CS1?

Week 6 Kinect: DepthRobot follower proportional control

Challenge: lead your robot out the

door, into another room, and back

things can always be worse...?

Page 26: ROS after CS1?

Weeks 6-7 lots of floor time

Page 27: ROS after CS1?

Weeks 6-7 lots of floor time

even when it does work

Page 28: ROS after CS1?

Week 6 Kinect: DepthRobot follower proportional control

success... (at 2x)

Page 29: ROS after CS1?

Week 7 Kinect: DepthWall followerintegration and

debugging

moving-wall following (2x)

Page 30: ROS after CS1?

Week 7 Kinect: DepthWall followerintegration and

debugging

down the halls...

Page 31: ROS after CS1?

Week 9 quadcoptersGesture control GUI/visualization

"Supermanning" the drone – from the drone's point of view.

Page 32: ROS after CS1?

Week 10 quadcoptersAutonomous flightdefensive

programming

Escape!

Page 33: ROS after CS1?

Weeks 11-14 open-ended projects self-defined problems

U Penn-like perching?

cat-and-mouse robots (4x)

drone/Create cooperation

Page 34: ROS after CS1?

Summer!

Page 35: ROS after CS1?

Summer!

Page 36: ROS after CS1?

In conclusion...

Computational confidence-

building right after CS1

command-line

flaky hardware

making state explicit

difficult debugging

compelling applications!

10-20 page write-up with screenshots,

videos, descriptions, and reflectionGetting beyond DWIC...

Self-directed portfolio of

results (and failures)

compelling applications!

Page 37: ROS after CS1?
Page 38: ROS after CS1?
Page 39: ROS after CS1?
Page 40: ROS after CS1?

Week 2 challenging (!) warm-up activity

... to identify RGB and HSV components