Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT...

142
Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India

Transcript of Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT...

Page 1: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Introduction to Robotics

Amitabha Mukerjee

IIT Kanpur, India

Page 2: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

What is a Robot? Mobile Robots

Robot properties:

Flexibility in Motion

Mobile robots

daksh ROV: de-mining robot 20 commissioned in Indian

army 2011. 100+ more on order

built by R&D Engineers, Pune

daksh platform derived gun mounted robot (GMR)

Page 3: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

What is a Robot? Articulated Robots

Robot properties:

Flexibility in Motion

Mobile robots

Articulated Robots

Soccer playing humanoid robot[http://labintsis.com]

Page 4: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot you can own

Roomba vacuumCleaning robot

By i-robotPrice: ~ rs. 15-30K

Page 5: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Algorithms for Robot motion

Roomba vacuumCleaning robot

By i-robotPrice: ~ rs. 30K https://www.youtube.com/watch?v=dweVBqei9L

A

Page 6: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Models of Robot Motion

Circular robot

World Frame(Workspace frame)

W

Page 7: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Models of Robot Motion

Robot frame

R

y

x

y

xWorld Frame(Workspace frame)

DEFINITION: degrees of freedom:

number of parameters needed to fix the robot frame Rin the world frame W

NOTE: Given robot frame R, every point on the robot is known

W

given configuration qfor a certain pose of the robot, the set of points on the robot is a function of the configuration: say R(q)

(x,y) = configuration(vector q)

Page 8: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Non-Circular Robot

DEFINITION: degrees of freedom:

number of parameters needed to fix the robot frame Rin the world frame W

How many parameters needed to fix the robot frame if it can only translate?

How many if it can rotate as well?

W

Page 9: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Motion in 3-D: Piano movers problem

General 3D motion:

How many parameters needed to fix the pose?

Can a design be assembled?

Test based on CAD models

Page 10: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Research mobile robot

Turtlebot

Based on i-robot (roomba) platform(with kinect RGB-D sensor)

ROS (open-source) software

Price: ~ 75K

Page 11: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Articulated robots

Page 12: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

What is a Robot?

Robots properties:

Flexibility in Motion

Mobile robots

Articulated robots

SCARA 4-axis arm(4 degrees-of-freedom)

by Systemantics Bangalore

Page 13: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Industrial Robot

Robots involve

Flexibility in Motion

Mobile robots

Articulated robots

Industrial robot

Page 14: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Industrial Robots

Page 15: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

How to program a welding robot?

Page 16: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

What is a Robot?

Robot properties

Flexibility in Motion

Mobile robots

Articulated robots

Industrial robot

Surgicalrobots

perfint healthcare, chennai

Page 17: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Surgical Robot : Lumbar biopsy

needle path as planned on CAT scan

inserted needle position

Page 18: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Modeling Articulated Robots

Kinematic chain: Pose of Link n depends on the poses of Links 1...(n-1)

Transformation between frame of link (n-1) and link n, depends on a single motion parameter, say θn

Exercise:What are the coordinates of the orgin of the end-effector center?

Page 19: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Modeling Articulated Robots

workspace configuration space

θ1

θ2

Exercise:Sketch the robot pose for the configuration [0, -90]

Page 20: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Modeling Articulated Robots

Forward kinematicsMapping from configuration q to robot pose, i.e. R(q)

Usually, R() is the product of a sequence of transformations from frame i to frame i+1.

Note: Must be very systematic in how frames are attached to each link

Inverse kinematicsa. Given robot pose, find qOr b. Given end-effector pose, find q

Q. Is the answer in (b) unique?

Page 21: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

What is a Robot?

Robots properties

Flexibility in Motion

Mobile robots

Articulated robots

Digital actors

Page 22: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Reality: limited functionality

Page 23: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Mobility isnt everything

Page 24: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

What is a Robot?

Robots involve

Flexibility in Motion

Dentists cradle?

Washing machine?

Intentionality

Measure : not default probability distribution

e.g. Turn-taking (contingent behaviour)

Goal : intrinsic or extrinsic

Page 25: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Motion Planning

Amitabha Mukerjee

IIT Kanpur, India

Page 26: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

indian edition rs 425

Page 27: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Sensing and Motion Planning

Bohori/Venkatesh/Singh/Mukerjee:2005[bohori venkatesh singh mukerjee 05]

Page 28: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Programming a robot

Aldebaran Nao

Grasping an offered ball

Page 29: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Programming a robot

1. detect ball using colour:

image captured by nao HSV binarized contour detected

2. estimate distance of ball (depth)from image size

3. Inverse kinematics to grasp ballSensing in the workspace

Motion planning in C-space

Page 30: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Configuration Space

Page 31: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Motion Planning

(xS,yS)goal

start

(xG,yG)

Obstacle B

Valid paths will lieamong those where the robot does not hit the obstacle

find path P from start to goal s.t.

for all t, R(t) ∩ B = Ø

How to characterize the set of poses for which the robot does not hit the obstacle B?

Page 32: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Motion Planning

How to characterize the set of poses for which the robot does not hit the obstacle B?

Page 33: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Continuum approaches vs Discretization

Two approaches to Robot motion planning:

• continuum: treat motion space as single continuum

optimization

• discretization:decompose motion space into regions / segments

graph-search

Page 34: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Potential fields

Potential fields

1. Goal: negative (attractive) potential Obstacles: positive (repulsive) potential

2. Robot moves along gradient

3. Problems:

- need to integrate the potential over the area of robot

- problem of local minima

goal

start

Obstacle B

Page 35: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Finite area robots

Instead of integrating over robot area, restrict to a set of control pointse.g. vertices

Problem: With control points r1 and r2 on robot R(q), edge E1 may still hit Obstacle.

Attempt to reduce computation to points

Page 36: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Local Minima

persists even for point robots

Page 37: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Nature of Configuration spaces

Page 38: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Model

Page 39: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Models of Robot Motion

Robot frame

R

y

x

y

xWorld Frame(Workspace frame)

DEFINITION: degrees of freedom:

number of parameters needed to fix the robot frame Rin the world frame W

W

given configuration qfor a certain pose of the robot, the set of points on the robot is a function of the configuration: say R(q)

(x,y) = configuration(vector q)

Page 40: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Motion Planning

find path P from qS to qG s.t. for all q ϵ P, R(q) ∩ B = Ø

? generate paths and check each point on every path?

Would it be easier to identify Qfreefirst?

Page 41: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Motion Planning

Q QB

QB = [ q | R(q) ∩ B ≠ Ø }

goal qstart q

Page 42: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Motion Planning in C-space

Q

start q

pathconfigurations are points in C-space

path P is a line

if P ∩ QB = Ø, then path isin Qfree

QB

goal q

Page 43: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Motion Planning in C-space

Qworkspace

Configuration space

Page 44: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

startgoal

CB

Robot Motion Planning

workspace W

configuration space C

path

Page 45: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Non-circular mobile robotsTriangle - translational edges of C-obstacle

are parallel to obstacle and robot edges...

C-obstacle

Page 46: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Non-circular mobile robots

C-space with rotation θ (polygonal obstacle)

Page 47: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Configuration Space for Articulated Robots

Page 48: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Configuration Space Analysis

Basic steps (for ANY constrained motion system):

1. determine degrees of freedom (DOF)

2. assign a set of configuration parameters qe.g. for mobile robots, fix a frame on the robot

3. identify the mapping R : Q →W, i.e. R(q) is the set of points occupied by the robot in configuration q

4. For any q and given obstacle B, can determine if R(q) ∩ B = Ø. can identify Qfree

Main benefit: The search can be done for a point

5. However, computation of C-spaces is not needed in practice; primarily a conceptual tool.

Page 49: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Articulated Robot C-space

How many parameters needed to fix the robot pose ?

What may be one assignment for the configuration parameters?

Page 50: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

C-space as manifolds

Topology of C-space: Torus (S1 x S1)

Choset, H etal 2007, Principles of robot motion: Theory, algorithms, and implementations, chapter 3

Page 51: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

C-space as manifolds

• manifold: generalization of curves / surfaces

every point on manifold has a neighbourhood homeomorphic to an open set in Rn

• Mapping Φ : S T is bijective (covers all of T and has unique inverse)Φ is homeomorphic:

(f / f-1 are continuous)diffeomorphic :

(f / f-1 are C∞ smooth)

Page 52: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Neighbourhood of q is mappable to R2

global topology is not R2 but S1 x S1 (torus)

C-space as manifolds

Page 53: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Map from C-space to W

Given configuration q, determine volume occupied by R(q) in workspace

For multi-link manipulators, spatial pose of link (n+1) depends on joint configuration q for joints 1, 2, ..., n.

Forward Kinematics

Map from W to C-space: given pose in workspace, find q

Inverse Kinematics

Page 54: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Mapping obstacles

Point obstacle in workspace

Obstacle in Configuration Space

Page 55: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Articulated Robot C-space

Path in workspace Path in Configuration Space

Page 56: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Graph-based approaches

Page 57: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Visibility Graph methods

Page 58: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Visibility Graph methods

Construct edges between visible vertices

Sufficient to use only supporting and separating tangents

Complexity: Direct visibility test: O(n3)

(tests for each vtx: O(n) emanations x O(n) obst edges)

Plane sweep algorithm: O(n2logn)

Page 59: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Visibility Graph methods

Page 60: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Visibility Graph methods

Sufficient to use only supporting and separating tangents

Finds “shortest” path – but too close to obstacles

Page 61: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Cell decomposition methods

Trapezoidal decomposition: Each cell is convex.

Sweep line construction: O(nlogn)

Graphsearch: O(nlogn)

Path: avoids obstacle boundary but has high curvature bends

Page 62: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Roadmap methods

Page 63: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Roadmaps

any roadmap RM must have three properties:

Connectivity: path exists between any q′START and q′GOAL in RM

Accessibility: exists a path from any qSTART ∊ Qfree to some q′START∊ RM

Departability: exists a path from some q′GOAL ∊ RM to any qGOAL ∊Qfree

Page 64: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Staying away from Obstacles: Generalized Voronoi Graphs

Voronoi Region of obstacle i :

Voronoi diagram:set of q equidistant from at least two obstacles

Page 65: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Generalized Voronoi Graphs

Page 66: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

GVG Roadmaps

Accessibility / Deparability: Gradient descent on distance from dominant obstacle : guaranteed to reach from any

qSTART ∊ Qfree to some q′START ∊ RM

motion is along a “retract” or brushfire trajectory

Connectivity: GVG is Connected if path exists

Page 67: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Sensor based Voronoi roadmap construction

Page 68: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Canny’s Silhouette roadmap

Page 69: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Canny’s Silhouette roadmap

Page 70: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Canny’s Complexity Analysis

n: = degrees of freedom of robot (dim of C-space)

obstacles C-space boundaries represented as p polynomials of maximum degree w

Complexity:any navigation path-planning problem can be solved in pn(logp)wO(n4) time

Page 71: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Probabilistic Roadmap (PRM)

Page 72: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Probabilistic Roadmap

Sample n poses q1…qn in the WORKSPACE

Free space nodes: Reject qi that intersect with an obstacle, remaining nodes q are in Qfree

Local planning: in k-nearest neighbours, if path <qi,qj>collision-free, add edge to graph

Resulting graph = Probabilistic Roadmap

Page 73: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Local Planner

Objective: Test if path <qi,qj> is collision-free

Linear Subdivision algorithm: start at midpoint(qi,qj) ; subdivide recursively until desired precision

Page 74: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Probabilistic Roadmaps (PRM)

Page 75: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Sampling-based motion planningSample n poses q1…qn in the workspace

Reject qn that overlap with an obstacle, remaining poses are in Qfree

Use local planning to determine if a path exists between neighbours qi and qj.

Resulting graph = Probabilistic Roadmap

Probabilistically complete: As #samples n ∞, Prob (success) 1

Page 76: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Hyper-redundant robot motion planning using PRM

[sinha mukerjee dasgupta 02]

Page 77: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Hyper-redundant robot motion planning using PRM

[sinha mukerjee dasgupta 02]

Page 78: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Hyper-redundant motion planning

[sinha mukerjee dasgupta 02]

Time:Exponential in DOFs

Page 79: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Design for manipulability

[sinha mukerjee dasgupta 02]

Page 80: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

PRM applications

42 DOFs: [Sánchez and J. C. Latombe 02]

Page 81: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Narrow corridor problem

Solution: generate more samples near boundary – bias the sample towards boundary region– if midpoint between two obstacle nodes is free, add

Page 82: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

PRM applications : Protein folding

Page 83: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Sampling based methods: PRM

Page 84: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Continuum methods: Overcoming Local minima

Page 85: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Grid-based: Wave-front

• Grid-based model

• given a start grid cell qS assign it the value “2”

• Every neighbour gridcell gets +1

• Until grid is filled

• Given a goal cell qG use greedy search to find path back to goal

Page 86: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Grid-based: Wave-front

O(kd) space / time

Page 87: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Navigation Function : Sphere space

[Rimon Koditschek 92]

• Spherical wall (r0), with spherical obstacles inside

• Obstacle distance wallobstacles

Page 88: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Sphere space

Rimon Koditschek 92

center qiradius ri

Page 89: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Navigation Function : Sphere space

[Rimon Koditschek 92]

• Spherical wall (r0), with spherical obstacles inside

• Obstacle distance

• Goal potential with high exponent

• Instead of sum, use product to combine obstacle potentials

• For high k, has unique minima at goal

wallobstacles

Page 90: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Navigation Function

Choset etal 05

k=4

k=8 k=10

k=6

++

+ +

Page 91: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Navigation Function

Choset etal 05

φ : S → [0, 1] : navigation function on sphere space S.

For any space F if exists diffeomorphicmapping h : F → S(i.e. h is smooth, bijective, and has a smooth inverse),

then φ = φ∘ h is a navigation function on F

Page 92: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Sensori-motor map learning

Page 93: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Cognitive Architecture: Levels of AbstractionsEx

tern

al W

orld

Lang

uage

, Log

ic, a

nd C

ogni

tion

Page 94: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Visuo-Motor expertise

[A. van der Meer, 1997: Keeping the arm in the limelight]

Newborns (10-24 days)

Small weights tied to wrists

Will resist weights to movethe arm they can see

Will let it droop ifthey can't see it

in darkened room,works hard to position arm

in a narrow beam of light

Page 95: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Observing self motions

Page 96: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Simulation

Page 97: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

residual variance = 1 – r2(Dg, Dy); r = linear correlation coefficientDg = geodesic distance matrix; Dy = manifold distance

Manifold dimension

Page 98: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Discovering Configuration Space

Collect a set of images of the robot at random configurations

Reduce the image set to a low dimensional representation

Latent variables: (y1, y2,... yd)for d=2, each image represented as a

pair of values

Page 99: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Smoothly Deformable objects

Object S = set of connected points S in G ⊂ Rd.

Deformation function h : G G is a function of a parameter vector q = {q1...qk}.

Smooth Deformation : S hS(q), is a diffeomorphism from G to G

Page 100: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Smoothly Deformable objects

Ex.1

Articulated chain with N rigid links, and k joints, each with 1 DOF each.

hS determined by {q1...qk}, where each qi is the parameter associated with each joint.

Page 101: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Deformable objects

LEMMA:

The space of shapes and poses of S is a manifold of at most k dimensions. (k = dimensionality of q).

Any x IN S(q) has a neighbourhood N, s.t. there is a homeomorphism phi from N onto the space Q of {q1...qN}. In RN

the map phi can be composed of the motion transformation T(q1..qm) [a special euclidean group) andthe smooth deformation shape funnction hS(q1..qd)

Both of these transformations being diffeomorphic.

Page 102: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Imaging transformation

Page 103: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Visual Manifold theorem

If S is a smoothly moving, visually distinguishable, deformable object, then any image of S, taken from a fixed camera, would lie on a manifold of at most N dimensions in the image space.

Page 104: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Visual Distinguishability

Page 105: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Structure Discovery

Page 106: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Simulation

Page 107: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...
Page 108: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Structure Learning

Page 109: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

• Latent variables:– Distributed on S1 x S1 topology– Along circumferential path: θ1; along radial: θ2

– Naïve, non-metric representation of θ1,θ2

• Manifold transformation = mapping between input images (workspace) ↔ naive θ1,θ2 (C-space)– manifold → image ≈ naïve forward kinematics– image → manifold ≈ naïve inverse kinematics

Robot Structure Learning

Page 110: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

• Latent variables:– Distributed on S1 x S1 topology– Along circumferential path: θ1; along radial: θ2

– Naïve, non-metric representation of θ1,θ2

• Manifold transformation = mapping between input images (workspace) ↔ naive θ1,θ2 (C-space)– manifold → image ≈ naïve forward kinematics– image → manifold ≈ naïve inverse kinematics

Robot Structure Learning

Page 111: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Mapping to control parameters

Supervised: Image to (θ1,θ2)

Page 112: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Mapping to control parameters

Supervised: Manifold (y1,y2)

to (θ1,θ2)

Page 113: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Formal and Naïve Representations

Page 114: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Discovered (Naïve) Representation

Page 115: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Motion Planning

Page 116: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Motion planning

Given start / goal image, map to manifold using local interpolation

Use k-nn connectivity in manifold as “roadmap” for motion planning

Page 117: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Obstacle modeling by node deletion

If obstacle intersects robot in image space → delete corresponding nodes from “visual roadmap”

Page 118: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Path planning as obstacle moves

Page 119: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Constrained Motion

Page 120: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Obstacle modeling by node deletion

Page 121: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Path planning as obstacle moves

Page 122: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Obstacle modeling by node deletion

Page 123: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Mobile robots

Page 124: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...
Page 125: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Residual error : disk robot

Page 126: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Robot Motion Planning

Source

Destination

Page 127: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Path Planning Interface

Page 128: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...
Page 129: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...
Page 130: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Real robots

Page 131: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

SCARA arm

Page 132: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

SCARA arm : degrees of freedom

Page 133: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Background Subtraction : Robotimage

learned background

foreground (moving part)

Page 134: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Background Subtraction : Obstacle

Page 135: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Visual Configuration Space

Page 136: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...
Page 137: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

5-DOF Adept CRS manipulator

Page 138: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Application to Graphics

Page 139: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Head Motion

Page 140: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Conclusion

Page 141: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Beyond Geometry

• Geometry is not everything!!

• Real robots have limitations on acceleration owing to torque / inertia Dynamics

• Learning to plan motions?

- Babies learn to move arms

- Learn low-dimensional representations of motion

• Grasping / Assembly : Motions along obstacle boundary

Page 142: Introduction to Robotics - CSE - IIT Kanpur · Introduction to Robotics Amitabha Mukerjee IIT Kanpur, India. What is a Robot? Mobile Robots Robot properties: ...

Humans and Robots

madhur ambastha cs665 2002