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

Post on 04-Jul-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

EECS498: Autonomous Robotics Laboratory

Edwin OlsonUniversity of Michigan

Wednesday, January 4, 12

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

Wednesday, January 4, 12

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

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

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

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

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

Teams

• ArmLab & BotLab

‣ Teams assigned by staff

• Final project

‣ Student-selected teams

• Peer Evaluations

Wednesday, January 4, 12

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

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

Course Resources

• Apps

‣ Peer evaluations

‣ Real-time course standing

• Books

‣ There is no textbook.

Wednesday, January 4, 12

Shared lab space

• Lab space is shared with 373

‣ Creates some scheduling hazards!

Wednesday, January 4, 12

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

Cameras and Image Formation

16

Wednesday, January 4, 12

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

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

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

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

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

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

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

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

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

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

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

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

Lens distortions

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

Undistorted

Pin cushion

Barrel (common)

Wednesday, January 4, 12

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

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

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

Just for fun...

Wednesday, January 4, 12

Bayer Patterns

Wednesday, January 4, 12

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

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

JCam

Wednesday, January 4, 12

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

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

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

Example: ICP

Wednesday, January 4, 12

Minard’s Graph of Napoleon’s Army

Wednesday, January 4, 12

Name Voyager

Wednesday, January 4, 12

Graph Clustering

Wednesday, January 4, 12

Wednesday, January 4, 12

Vis

Wednesday, January 4, 12

top related