40
CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Embed Size (px)

Citation preview

Page 1: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

CMPUT 412 Review

Martin Jagersand

Camilo Perez

University of Alberta

WAM $100,000

iRobot

Packbot $100,000

Student robots

$100-500

Page 2: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Robot?

Page 3: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Robotics broad field:

Arms, hands, rover, UAV,…

Page 4: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

How do we categorize these robots?

• What they can do?

• What sensors they have?

• How they move

• Most robots can move things (but varying distances)

• We can generally equip any robot with any type of sensor.

• The motion properties of an arm is different from a mobile robot/car and a UAV/helicopter

Page 5: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Mobile Robots(ground)

• Moves on 2D ground surface• Needs just 2 motors• Inexpensive• Easy to model and control• Large range of motion• Hard to exactly localize• Cannot generally pick things

up and manipulate them

Page 6: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Robot arms and hands(linkages)

• Moves in 6DOF (3D position, 3D orientation)

• Min 6 motors in linkage

• (near) Perfect localization

• Expensive

• Easy to control

• Manipulates!

Page 7: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Free-flying robotsAerial and Underwater

• Moves in 6DOF (3D position, 3D orientation)

• Generally underactuated (4DOF)

• Hard to model and control

• User error = Crash and break

• Hard to exactly localize

• RC heli inexpesive,

• Military UAV expensive

Page 8: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Parts of a Robot

• Motors

• Motor controllers

• Transmission

• Linkages

• Sensors

• Computer

Page 9: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Majority Robotics in practice: Robot arms in Manufacturing

• Engineered environment

• Repeated motion

1 million arms in operation worldwide

http://en.wikipedia.org/wiki/Industrial_robot

Page 10: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Emerging Robotics Applications

Space - in-orbit, repair and maintenance, planetary exploration anthropomorphic design facilitates collaboration with humans

Military or Hazardous - supply chain and logistics support, re-

fueling, bomb disposal, toxic/radioactive cleanup

Health - clinical applications, "aging-in-place,” physical and cognitive prosthetics in assisted-living facilities

Basic Science - computational models of cognitive systems, task learning, human interfaces

No or few robots currently operate reliably in these areas!

Page 11: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Newer robots

DARPA WAMs

Boston dynamics

UofA’sRobotics and Vision group

Page 12: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

What is a robot?

A physical system that (semi-) “autonomously” senses the environment

and acts in it. Autonomy might be a continuous, not a discrete attribute

Researchers disagree on what kind and how much autonomy is needed

Robot :

Robot Wars, Battlebots

Canada Arm2

Robocup

none full

DARPA Manipulation Challenge

There may be other axes along which to evaluate robots, too…

Page 13: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Autonomyhuman-controlled independent

less

World Modeling

more

Capabilities

huh? (1)

wow (10)

How much information about the world does the robot internalize?

Who's making the decisions?

Page 14: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

CS 154: algorithms for programming autonomous

robots

Robot Plot

Bar Monkey (9)

Roomba (7) Genghis (3)

Stanford Cart (3)Shakey (3)

Al Gore (11)

MERs (8)

Sims (5)

Capability (0-10)

Stanley/Boss (9)

Autonomyhuman-controlled

less

World Modeling

more

Unimate (4)da Vinci (2)

Page 15: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Sense Plan Act (SPA) Stanford Cart

Hans Moravec @ SAIL

......1976

SE

NS

ING

AC

TIN

G

perc

eptio

n

wor

ld m

odel

ing

Pla

nnin

g

task

exe

cutio

n

mot

or c

ontr

ol

“functional” task decomposition“horizontal” subtasks

Page 16: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Cartland (outdoors)

Page 17: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Reactive, Subsumption “Robot Insects”

Rodney Brooks @ MIT

......1985

avoid objects

wander

explore

build maps

identify objects

planning and reasoning

SEN

SIN

G

AC

TIN

G“behavioral” task decomposition“vertical” subtasks

Page 18: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Subsumption

Genghis

1) Standing by tuning the parameters of two behaviors: the leg “swing” and the leg “lift”

2) Simple walking: one leg at a time

3) Force Balancing: via incorporated force sensors on the legs

4) Obstacle traversal: the legs should lift much higher if need be

5) Anticipation: uses touch sensors (whiskers) to detect obstacles

6) Pitch stabilization: uses an inclinometer to stabilize fore/aft pitch

7) Prowling: uses infrared sensors to start walking when a human approaches

8) Steering: uses the difference in two IR sensors to follow

57 modules wired together !

Page 19: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Subsumption Architecture

runaway behavior

wander behavior

navigate behavior

Page 20: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Robot Architecture

how much / how do we represent the world internally ?

Task-specific

Not at all

As much as

possible!

Reactive paradigm

SPA paradigm

Subsumption paradigmPotential Fields (later)

Behavior-based architecture

As much as

possible.Hybrid approaches

sense

plan act

sense

act

different ways of composing behaviors

stimulus – response == "behavior"

Page 21: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Environment Representation: The Map Categories

• Recognizable Locations • Topological Maps

2 km

100 km

200 m50 km

y

x{W}

• Metric Topological Maps • Fully Metric Maps (continuos or discrete)

Cou

rtes

y K

. A

rras

Page 22: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Kinematics

If we move a wheel one radian, how does the robot center move?

Robot geometry and kinematic analysis gives answers!

from sort of simple to sort of complex

manipulator modeling

wheeled platforms

Page 23: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Kinematic modeling: Arm

Strategy: 1. Model each joint separately2. Combine joints and linkage lengthsA simple example follows here.More general treatment of next lecture

RobotAbstract model

http://www.societyofrobots.com/robot_arm_tutorial.shtml

Page 24: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Coordinate frames & forward kinematics• Three coordinate frames:

• Positions:

• Orientation of the tool frame:0 1

2

11

11

1

1

sin

cos

a

a

y

x

ty

x

aa

aa

y

x

21211

21211

2

2

sinsin

coscos

0 1 2

)cos()sin(

)sin()cos(

ˆˆˆˆ

ˆˆˆˆ

2121

2121

0202

020202

yyyx

xyxxR

1

0

00 yx ,

)cos(

)sin(ˆ

)sin(

)cos(ˆ

21

212

21

212

yx ,

Page 25: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Inverse kinematics• Find the joint angles for a desired tool position

• Two solutions!: elbow up and elbow down

22

21

22

21

22

2 1)sin(2

)cos( DDaa

aayx tt

D

D21

2

1tan

)cos(

)sin(tantan

221

22111

aa

a

x

y

Page 26: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Homogenous coordinates: Uniform matrix representation of translation and rotation

The yellow dot is the origin of a tool coordinate X4Y4 frame

X2

X3Y2

Y3

1

2

3

1

2 3

X1

Y1

X0

Y0

X4

Y4

H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ) * Tx3(l3)

This takes you from the X0Y0 frame to the X4Y4 frame.

The position of the yellow dot relative to the X4Y4 frame is (0,0).

1

0

0

0

H

1

Z

Y

X

Notice that multiplying by the (0,0,0,1) vector will equal the last column of the H matrix.

Page 27: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Numerical Inverse Kinematics

• Cartesian Location

• Motor joint angles:

• Local linear model:

• Numerical steps: 1 Solve:

2 Update:

y = x;y;z[ ]T = f (x)

x = x1; x2; . . . xn[ ]T

É y = J (x)É x

yã à yk = J É x

xk+1 = xk + É x

y0

Page 28: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

X2

X3Y2

Y3

x1

x2

x3

1

2 3

X1

Y1

X0

Y0

X4

Y4

Function:

Jacobian J = matrix of partial derivatives:

•Analytic J: Take derivatives of H•Numeric estimation: Test movements or Broydens method (cmput 340, Heath Ch 5,6)

IlxxfW ),()(4 H

The Numeric solution: How to solve?Newton’s Method

j

i

x

xf )(J

Page 29: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Numerical Inverse Kinematics

1. Solve for motion:

2. Move robot joints:

3. Read actual Cartesian move

4. Update Jacobian:

[yã à yk] = J É x

xk+1 = xk + É x

Jêk+1 = Jêk +É xTÉ x

(É y à JêkÉ x)É xT

É yMove the robot to each subgoal in sequence

Goal

y0

yky1

y2

É y

Iterate until convergence at final goal

Page 30: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Kinematics: Differential drive

VR

VL

2d

ICC

- each wheel must be traveling at the same angular velocity around the ICC

Rrobot’s turning radius

3) Determine the robot’s speed around the ICC and its linear velocity

x

y

2) Determine the point (the radius) around which the robot is turning.

1) Specify system measurements - consider possible coordinate systems

Thus,

So, the robot’s velocity is V = R = ( VR + VL ) / 2

V

So, where’s the robot?

R+d) = VL

R-d) = VR

= ( VR - VL ) / 2d

R = d ( VR + VL ) / ( VR - VL )

Page 31: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Kinematics

things have to change over time, t

4) Integrate to obtain position

Kinematics: Differential drive

VR

VL

2d

ICC

R(t)robot’s turning radius

(t)

= ( VR - VL ) / 2d

R = d ( VR + VL ) / ( VR - VL )

V = R = ( VR + VL ) / 2

Vx = V(t) cos((t))

Vy = V(t) sin((t))

with

x

y

V(t)

What has to happen to change the ICC ?

x(t) = ∫ V(t) cos((t)) dt

y(t) = ∫ V(t) sin((t)) dt

(t) = ∫ (t) dt

Thus,

Page 32: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Uncertain motion: Probabilistic kinematics

• Repeated application of the sensor model for short movements.

• For a motion command u, and starting position x’, what is the probability to end at x?

x’u

p(x|u,x’)

u

x’

Page 33: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

holonomicity

- makes it more difficult to navigate between two arbitrary points

- need to resort to techniques like parallel parking

But the Nomad’s differential motion is constrained.

two DOF are freely controllable; the third is

only indirectly accessible

Synchro Drive

By definition, a robot is holonomic if it can move to change its pose instantaneously in all available directions.

Mobile robots mentioned thus far share an important (if frustrating) property: they are nonholonomic .

Page 34: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Sensors:• Cameras Laser range finder Cameras and 3D TOF laser

Our robotOur robot CMU HerbCMU Herb Darpa Manip challengeDarpa Manip challenge

Page 35: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Sensors on a $300 UAV

• AR.Drone

Ultrasonic distanceUltrasonic distance

(height)(height)

Front and down facing Front and down facing cameracamera

Page 36: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Classification of Sensors

• Where is the information coming from?– Inside: Proprioceptive sensors

• motor speed, wheel load, heading of the robot, battery status

– Outside: Exteroceptive sensors • distances to objects, intensity of the ambient light, unique features

• How does it work? Requires energy emission?– No: Passive sensors

• temperature probes, microphones, CCD

– Yes: Active sensors • Controlled interaction -> better performance• Interference

• Simple vs. composite (sonar vs. wheel sensor)

Page 37: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Simple visual sensing:LED markers

• Put camera overhead pointing straight down on worktable.– Adjust cam position so pixel [u,v] = s[X,Y].

Pixel coordinates are scaled world coord– Lower brightness so LED brightest

• Put LED on robot end-effector• Detection algorithm:

– Threshold brightest pixels I(u,v)>200– Find centroid [u,v] of max pixels

• Variations:– Blinking LED can enhance detection in

ambient light.– Different color LED’s can be detected

separately from R,G,B color video.

LED

Camera

XX

YY

uu

vv

Page 38: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

system dynamics

Robot motor (joint) control(More of an Engineering discipline than CS)

• We can create a desired tool path/velocity– Use inverse kinematics and Jacobian to create desired joint

trajectories

measured trajectory (w/ sensor noise)

error controller

actual trajectory

desired trajectory

Page 39: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Accuracy, Repeatability and Resolution

An classic arm - The PUMA 560

• Accuracy– Factory about 10mm

– Calibrated 1-5mm

• Repeatability 1mm• Resolution 0.1mm

Page 40: CMPUT 412 Review Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $100-500

Upcoming: More accurate control though Visual Servoing

: Current Image Features: Desired Image Features