eecs498: autonomous robotics laboratory · • armlab ‣ create a poster-abstract, effective...

46
EECS498: Autonomous Robotics Laboratory Edwin Olson University of Michigan Wednesday, January 4, 12

Upload: others

Post on 04-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

EECS498: Autonomous Robotics Laboratory

Edwin OlsonUniversity of Michigan

Wednesday, January 4, 12

Page 2: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Course Overview• Goal: Develop a pragmatic understanding of both theoretical

principles and real-world issues, enabling you to design and program robotic systems incorporating sensing, planning, and acting.

• Course topics:

‣ Kinematics

‣ Inverse Kinematics

‣ Sensors & Sensor Processing

‣ Motors & Control

‣ Planning

‣ State Estimation

‣ Embedded Systems

Wednesday, January 4, 12

Page 3: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Wednesday, January 4, 12

Page 4: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Evaluation

• Two major labs, each with multiple check points.

‣ ArmLab

‣ BotLab

• Midterm bonus

Labs 30%

Midterms 32%

Final Project 32%

Quizzes 5%

Course Eval 1%

Wednesday, January 4, 12

Page 5: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Lab/Project Deliverables• In addition to short-response lab writeups:

• ArmLab

‣ Create a poster

- Abstract, effective visuals

• BotLab

‣ Oral presentations (e.g. power point)

• Final project

‣ Interactive demonstration in Tishman hall

Wednesday, January 4, 12

Page 6: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Course Policies• Collaboration

‣ “Peer programming”, not parallelization

‣ No use of outside resources

‣ Teams can share ideas, but not solutions/code

• Group work certifications

‣ “I participated and contributed to team discussions on each problem, and I attest to the integrity of each solution. Our team met as a group on [DATE(s)].”

‣ Note any qualifications (we’re reasonable).

‣ Signatures

Wednesday, January 4, 12

Page 7: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Lateness

• Assignments due at 11:59p; 10% lateness penalty per day; no credit after three days

• Excused missed exams/quizzes

‣ Quizzes: not considered in grading

‣ Exams: oral make-up exams

• Unexcused exams/quizzes: 0.

Wednesday, January 4, 12

Page 8: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Lab Policies• Food restricted

‣ Non-sticky beverages at stations

‣ Anything else discouraged, but some tolerance for responsible snacking away from workstation.

• No removal of equipment without advance permission.

• Notify staff of accidents, broken equipment.

• Secret door code: XXXXXX

Wednesday, January 4, 12

Page 9: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Teams

• ArmLab & BotLab

‣ Teams assigned by staff

• Final project

‣ Student-selected teams

• Peer Evaluations

Wednesday, January 4, 12

Page 10: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Teaming

• Working on a team is an engineering problem in itself.

• At the beginning of each lab, discuss

‣ When/where will you meet?

‣ What do you expect of each other?

‣ What will you do if problems arise?

Wednesday, January 4, 12

Page 11: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Final Projects• Scope

‣ Implement a more complicated algorithm

‣ Implement a system of multiple algorithms

‣ Develop a principled new algorithm

‣ Develop a compelling real-world implementation

• Evaluation

‣ 50% Technical merit

‣ 25% Interactivity and engagingness of presentation

‣ 25% Web exhibit

Wednesday, January 4, 12

Page 13: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Course Resources

• Apps

‣ Peer evaluations

‣ Real-time course standing

• Books

‣ There is no textbook.

Wednesday, January 4, 12

Page 14: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Shared lab space

• Lab space is shared with 373

‣ Creates some scheduling hazards!

Wednesday, January 4, 12

Page 15: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Lab HoursM T W R F

8

9

10 Labture Labture

11

12

1 Ols

2 Ols/Mort

3 Mort

4

5

6

7

8

Wednesday, January 4, 12

Page 16: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Cameras and Image Formation

16

Wednesday, January 4, 12

Page 17: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

World Simplest Camera?

• Just hold up a piece of film

• Do we get an image on the film?

‣ For each piece of the film, where do the photons come from?

The world Film

Wednesday, January 4, 12

Page 18: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

World Simplest Camera?

• Just hold up a piece of film

• Do we get an image on the film?

‣ For each piece of the film, where do the photons come from?

The world Film

Wednesday, January 4, 12

Page 19: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

World Simplest Camera?

• Just hold up a piece of film

• Do we get an image on the film?

‣ For each piece of the film, where do the photons come from?

The world Film

Wednesday, January 4, 12

Page 20: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

World Simplest Camera?

• Just hold up a piece of film

• Do we get an image on the film?

‣ For each piece of the film, where do the photons come from?

The world Film

Wednesday, January 4, 12

Page 21: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

World Simplest Camera?

• Just hold up a piece of film

• Do we get an image on the film?

‣ For each piece of the film, where do the photons come from?

The world Film

Wednesday, January 4, 12

Page 22: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

World Simplest Camera?

• Just hold up a piece of film

• Do we get an image on the film?

‣ For each piece of the film, where do the photons come from?

The world Film

Wednesday, January 4, 12

Page 23: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Let’s add an aperture

• An aperture blocks all but a small subset of the rays

‣ Causes the image to appear in focus!

Wednesday, January 4, 12

Page 24: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Aperture Size

• Why not make the aperture super small?

‣ A “pin-hole” lens.

‣ Not enough light to “register” on our film

• What happens when the aperture is bigger?

‣ More rays can fit through--- blurrier image

• Is there any way of getting a sharp image, but allow more light through?

‣ Yes! A lens.

Wednesday, January 4, 12

Page 25: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Lenses

• A lens collects rays with a particular divergence and refocuses them to a point.

‣ But points at the “wrong” distance won’t be refocused exactly.

• Depth of field: how much of the scene is in focus

• We’re going to ignore this today, however--- we’re going to assume a “pin-hole” model.

f z

Wednesday, January 4, 12

Page 26: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Perspective Projection

• The pinhole creates two similar triangles

‣ Allows us to determine x’ in terms of x

f z

x’

x

Wednesday, January 4, 12

Page 27: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Perspective Projection

• The pinhole creates two similar triangles

‣ Allows us to determine x’ in terms of x

f z

x’

x

x’ = -xf/z(why is it negative? we’ll assume from here on out that the camera “unflips” the image.)

Wednesday, January 4, 12

Page 28: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Perspective Projection

• What are the pixel coordinates where the flame appears?

‣ x’ = fx/z + c

‣ Measure f in “pixels” and add an offset (so that the “middle” pixel is in the middle of the image)

f z

x’

x

Wednesday, January 4, 12

Page 29: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Lens distortions

• Unfortunately, real (imperfect) lenses further complicate life.

Undistorted

Pin cushion

Barrel (common)

Wednesday, January 4, 12

Page 30: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Calibration

• Often use a planar target

• Compute geometrical relationship between points on (known) target and observed points.

‣ For planar targets: a “homography”

• Optimize camera parameters to match observed images.

Wednesday, January 4, 12

Page 31: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Correcting for lens distortion

• Radial Distortion1. Compute the pixel coordinates assuming the lens is undistorted

2. Convert to polar form

3. Compute r’ = f(r)

4. Convert r’ and θ back to Cartesian coordinates.

• Function f() is typically nasty polynomial functions.

‣ We find the parameters by using non-linear optimization algorithms

r,θ

Wednesday, January 4, 12

Page 32: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Color Cameras• Incoming light is described in terms of a power spectral density

• “Color” isn’t a physical property of light

‣ It’s made up by our eyes and brain!

‣ Different types of incoming light can have the same “color”

S Response

M Response

L Response

Eye

Wednesday, January 4, 12

Page 33: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Just for fun...

Wednesday, January 4, 12

Page 34: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Bayer Patterns

Wednesday, January 4, 12

Page 35: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Bayer Patterns

• Why does this matter?

‣ At each pixel, two color channels are interpolated based on nearby pixels

• Thus, a color camera is more blurry than a monochrome camera.

Wednesday, January 4, 12

Page 36: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Bayer Pattern Artifacts• When the color of an area is uniform,

Bayer patterns work well.

• What happens when there is a rapid change in color?

‣ R, G, and B sub-pixels may observe different PSDs

‣ Interpolated colors may not exist anywhere!

Average of nearby red pixels = red... so there willbe a red output pixel eventhough the incoming light is

either white or black.

Wednesday, January 4, 12

Page 37: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

JCam

Wednesday, January 4, 12

Page 38: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Visualization• Fraction of brain devoted to vision

‣ 25-50%

‣ (depending on who you ask)

• That’s an awful lot of processing power…

‣ Try to use it when you’re working on a hard problem!

Wednesday, January 4, 12

Page 39: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Why make visualizations?

• Visualization is the single best use of researcher time.

‣ Find bugs faster

‣ Verify algorithms and build intuition

‣ Generate figures/movies for papers/talks

Wednesday, January 4, 12

Page 40: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Visualization Tips• Start by visualizing

‣ When designing a system, design your debugging interface first.

• Visualize creatively

‣ Experiment with different rendering schemes.

‣ A pretty interface is often a good interface.

• Exploit time

‣ Make movies, not just images

‣ Especially with iterative algorithms!

• Become an expert in a visualization package

• Vis

Wednesday, January 4, 12

Page 41: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Example: ICP

Wednesday, January 4, 12

Page 42: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Minard’s Graph of Napoleon’s Army

Wednesday, January 4, 12

Page 43: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Name Voyager

Wednesday, January 4, 12

Page 44: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Graph Clustering

Wednesday, January 4, 12

Page 45: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Wednesday, January 4, 12

Page 46: EECS498: Autonomous Robotics Laboratory · • ArmLab ‣ Create a poster-Abstract, effective visuals • BotLab ‣ Oral presentations (e.g. power point) • Final project ‣ Interactive

Vis

Wednesday, January 4, 12