Robotics Review Saurabh Gupta Robotic Tasks Manipulation Typical - - PowerPoint PPT Presentation

robotics review
SMART_READER_LITE
LIVE PREVIEW

Robotics Review Saurabh Gupta Robotic Tasks Manipulation Typical - - PowerPoint PPT Presentation

Robotics Review Saurabh Gupta Robotic Tasks Manipulation Typical Robotics Pipeline State Low-level Observations Planning Control Estimation Controller Typical Robotics Pipeline State Low-level Observations Planning Control


slide-1
SLIDE 1

Robotics Review

Saurabh Gupta

slide-2
SLIDE 2

Robotic Tasks

Manipulation

slide-3
SLIDE 3

Typical Robotics Pipeline

Observations State Estimation Planning Low-level Controller Control

slide-4
SLIDE 4

Typical Robotics Pipeline

Observations State Estimation Planning Low-level Controller Control

6DOF Pose Grasp Motion Planning Observed Images

Manipulation

slide-5
SLIDE 5

Robot Navigation

Robot with a first person camera Dropped into a novel environment Navigate around

“Go 300 feet North, 400 feet East”

Goal

“Go Find a Chair”

slide-6
SLIDE 6

Mapping Planning

Observed Images

Path Plan Geometric Reconstruction

Hartley and Zisserman. 2000. Multiple View Geometry in Computer Vision Thrun, Burgard, Fox. 2005. Probabilistic Robotics

  • Canny. 1988. The complexity of robot motion planning.

Kavraki et al. RA1996. Probabilistic roadmaps for path planning in high-dimensional configuration spaces. Lavalle and Kuffner. 2000. Rapidly-exploring random trees: Progress and prospects. Video Credits: Mur-Artal et al., Palmieri et al.

Observations State Estimation Planning Low-level Controller Control

slide-7
SLIDE 7

Typical Robotics Pipeline

Observations State Estimation Planning Low-level Controller Control

6DOF Pose

Observed Images

Geometric or Semantic Maps

Observed Images

slide-8
SLIDE 8

Typical Robotics Pipeline

Observations State Estimation Planning Low-level Controller Control

slide-9
SLIDE 9

Understand how to move a robot

Video from Deepak Pathak.

slide-10
SLIDE 10
  • Link
  • Joint
  • End Effector
  • Base
  • Sensors

Base Shoulder Upper Arm Elbow Block Fore Arm

𝜄1 𝜄2 𝜄3 𝜄4 𝜄5 𝜄6 Slide from Dhiraj Gandhi.

Terminology

slide-11
SLIDE 11

Spaces

(θ1, θ2, θ3, …)

Work Space Configuration Space Task Space

slide-12
SLIDE 12

Configuration Space

! obstacles$" configuration$space$obstacles

Workspace Configuration$ Space

(2$DOF:$translation$only,$no$rotation)

free$space

  • bstacles

Slide from Pieter Abbeel.

slide-13
SLIDE 13

Configuration Space

Slide from Pieter Abbeel.

Another Example

Shoulder Elbow Shoulder Angle Elbow Angle

slide-14
SLIDE 14
  • 1. Task space to Configuration space
  • 2. Configuration space trajectory (dynamically feasible)
  • 3. Trajectory tracking

How to move your robot?

(x, y, θ)

Initial configuration

slide-15
SLIDE 15

Base

𝜄1 𝜄2 𝜄3 𝜄4 𝜄5 𝜄6

Forward Kinematics

Configuration Space to Task Space

Slide from Dhiraj Gandhi.

slide-16
SLIDE 16

𝑌 𝑍

𝜄1 𝜄2 𝑚1 𝑚2

𝑄

𝑚1cos(𝜄1) 𝑚2cos(𝜄1 + 𝜄2) + 𝑚1sin(𝜄1) 𝑚2s𝑗𝑜(𝜄1 + 𝜄2) + 𝑄𝑦 = 𝑄𝑧 =

(Px, Py, Pθ)

Forward Kinematics

Configuration Space to Task Space

Px = l1cos(θ1) + l2cos(θ1 + θ2) Py = l2sin(θ1) + l2sin(θ1 + θ2) Pθ = θ1 + θ2

Slide from Dhiraj Gandhi.

slide-17
SLIDE 17

𝜄1 𝜄2 𝜄3 𝜄4 𝜄5 𝜄6

Forward Kinematics

Configuration Space to Task Space

Slide from Dhiraj Gandhi.

slide-18
SLIDE 18

𝑌𝐵 𝑎𝐵 𝑍𝐵 𝑍𝐶 𝑌𝐶 𝑎𝐶

P

𝑈𝐵

𝐶 =

𝑠11 𝑠21 𝑠12 𝑠22 𝑠31 Δ𝑦 𝑠32 Δ𝑧 𝑠13 𝑠23 𝑠33 Δ𝑨 1 𝑄𝐶 𝑈𝐵

𝐶

𝑄𝐵 =

Forward Kinematics

Configuration Space to Task Space

Slide from Dhiraj Gandhi.

slide-19
SLIDE 19

𝑈 𝑜−1

𝑜

(𝜄𝑜) 𝑈 𝑜−2

𝑜−1(𝜄𝑜)

𝑈 0

1(𝜄1) 𝑈 1 2(𝜄2)…

Forward Kinematics

Configuration Space to Task Space

Slide from Dhiraj Gandhi.

slide-20
SLIDE 20

= 𝑠11 𝑠21 𝑠12 𝑠22 𝑠31 Δ𝑦 𝑠32 Δ𝑧 𝑠13 𝑠23 𝑠33 Δ𝑨 1 𝑔(𝜄1, 𝜄2, . . , 𝜄𝑜−1, 𝜄𝑜) 𝑈 𝑜−1

𝑜

(𝜄𝑜) 𝑈 𝑜−2

𝑜−1(𝜄𝑜)

𝑈 0

1(𝜄1) 𝑈 1 2(𝜄2)…

𝑈 =

Forward Kinematics

Configuration Space to Task Space

Maps configuration space to work space

x = f(θ) =

Slide adapted from Dhiraj Gandhi.

slide-21
SLIDE 21

Inverse Kinematics

Task Space to Configuration Space

Maps configuration space to work space Forward Kinematics

x = f(θ)

Find configuration(s) that map to a given work space point

xd − f(θd) = 0 Solve for in:

θd

Slide adapted from Dhiraj Gandhi, Modern Robotics

Analytical IK Numerical IK

  • Robot Specific
  • Fast
  • Characterize the solution space
slide-22
SLIDE 22

𝑌 𝑍 𝑃 𝐵 𝑄 𝑄′ 𝐵1 𝐵2

𝜄1 𝜄2 𝑚2 𝑚1

Analytical Inverse Kinematics

Task Space to Configuration Space

Slide from Dhiraj Gandhi.

slide-23
SLIDE 23
  • 1. Task space to Configuration space
  • 2. Configuration space trajectory (dynamically feasible)
  • 3. Trajectory tracking

How to move your robot?

(x, y, θ)

Initial configuration Desired configuration

slide-24
SLIDE 24
  • 1. Task space to Configuration space
  • 2. Configuration space trajectory
  • 3. Trajectory tracking

How to move your robot?

(x, y, θ)

Initial configuration Desired configuration

slide-25
SLIDE 25

Path Planning

Configuration Space With Obstacles Goal Config. Feasible State Trajectory + Initial Config. +

Picture Credits: Palmieri et al.

slide-26
SLIDE 26

Path Planning

  • 1. Complete Methods
  • 2. Grid Methods
  • 3. Sampling Methods
  • 4. Potential Fields
  • 5. Trajectory Optimization
slide-27
SLIDE 27

Slide from Pieter Abbeel.

Free/feasible$space Space$ℜn forbidden$ space

Probabilistic Roadmaps

slide-28
SLIDE 28

Probabilistic Roadmaps

Slide from Pieter Abbeel.

Randomly Sample Configurations

slide-29
SLIDE 29

Probabilistic Roadmaps

Slide from Pieter Abbeel.

Randomly Sample Configurations

slide-30
SLIDE 30

Probabilistic Roadmaps

Slide from Pieter Abbeel.

Test Sampled Configurations for Collisions

slide-31
SLIDE 31

Probabilistic Roadmaps

Slide from Pieter Abbeel.

The collision-free configurations are retained as milestones

slide-32
SLIDE 32

Probabilistic Roadmaps

Slide from Pieter Abbeel.

Each milestone is linked by straight paths to its nearest neighbors

slide-33
SLIDE 33

Probabilistic Roadmaps

Slide from Pieter Abbeel.

Paths that undergo collisions are removed

slide-34
SLIDE 34

Probabilistic Roadmaps

Slide from Pieter Abbeel.

The collision-free links are retained as local paths to form the PRM

slide-35
SLIDE 35

Probabilistic Roadmaps

Slide from Pieter Abbeel.

s g

The start and goal configurations are included as milestones

slide-36
SLIDE 36

Probabilistic Roadmaps

Slide from Pieter Abbeel.

s g

The PRM is searched for a path from s to g

slide-37
SLIDE 37

Probabilistic Roadmaps

Slide from Pieter Abbeel.

Challenging to link milestones.

slide-38
SLIDE 38

Probabilistic Roadmaps

Slide from Pieter Abbeel, Modern Robotics.

Challenging to link milestones. Collision checking can be slow. All straight line paths may not be feasible,

  • r a good measure of distance between

states.

start goal

slide-39
SLIDE 39

Rapidly Exploring Random Trees (RRTs)

Slide from Pieter Abbeel.

Build up a tree through generating "next states" in the tree by executing random controls. Kinodynamic planning

slide-40
SLIDE 40

Rapidly Exploring Random Trees (RRTs)

Slide from Pieter Abbeel.

Build up a tree through generating "next states" in the tree by executing random controls.

! SELECT_INPUT(xrand,$xnear)

! Two$point$boundary$value$problem

! If$too$hard$to$solve,$often$just$select$best$out$of$a$set$of$control$sequences.$$

This$set$could$be$random,$or$some$well$chosen$set$of$primitives.

slide-41
SLIDE 41

Rapidly Exploring Random Trees (RRTs)

Slide from Pieter Abbeel.

Build up a tree through generating "next states" in the tree by executing random controls.

slide-42
SLIDE 42

Rapidly Exploring Random Trees (RRTs)

Build up a tree through generating "next states" in the tree by executing random controls.

slide-43
SLIDE 43
  • 1. Task space to Configuration space
  • 2. Configuration space trajectory
  • 3. Trajectory tracking

How to move your robot?

(x, y, θ)

Initial configuration Desired configuration

slide-44
SLIDE 44
  • 1. Task space to Configuration space
  • 2. Configuration space trajectory
  • 3. Trajectory execution

How to move your robot?

(x, y, θ)

Initial configuration Desired configuration

slide-45
SLIDE 45

Trajectory Execution

Dynamically feasible trajectory from planner What control commands should I apply in order to get the robot to robustly track this trajectory?

t

∥xt − xref

t ∥

Cost function xref

t

xt+1 = f(xt, ut) Dynamics function ut Control sequence xt Robot state

Robot location, or joint angles. Velocities, torques. State evolution as we apply control. Low-level control can be formulated as an optimization problem.

slide-46
SLIDE 46

Trajectory Execution

dynamics of arm and environment controller desired behavior forces and torques motions and forces

Feedback Control

Figure from Modern Robotics.

slide-47
SLIDE 47

Low-level Control

Simplifying assumptions: Linear dynamics, quadratic cost.

Exactly solved using dynamic programming.

Linear Quadratic Regulator

Slide from Pieter Abbeel.

slide-48
SLIDE 48

Linear Quadratic Regulator

Ji(x) Cost if the system is in state x, and we have i steps to go. Ji+1(x) Cost if the system is in state x, and we have i+1 steps to go. = minu xTQx + uTRu + Ji(Ax + Bu)

slide-49
SLIDE 49

Linear Quadratic Regulator

Slide from Pieter Abbeel.

slide-50
SLIDE 50

Linear Quadratic Regulator

In summary: J1(x) is quadratic, just like J0(x). Update is the same for all times and can be done in closed form for this particular continuous state-space system and cost!

Slide from Pieter Abbeel.

slide-51
SLIDE 51

Linear Quadratic Regulator

Slide from Pieter Abbeel.

slide-52
SLIDE 52

Linear Quadratic Regulator

Extensions which make it more generally applicable:

  • Affine systems System with stochasticity
  • Regulation around non-zero fixed point for non-linear systems
  • Penalization for change in control inputs
  • Linear time varying (LTV) systems
  • Trajectory following for non-linear systems
slide-53
SLIDE 53

Linear Quadratic Regulator

slide-54
SLIDE 54
  • 1. Task space to Configuration space
  • 2. Configuration space trajectory
  • 3. Trajectory tracking

How to move your robot?

(x, y, θ)

Initial configuration Desired configuration

slide-55
SLIDE 55

Minor Detail

Camera Calibration

Images from Lerrel Pinto.

slide-56
SLIDE 56

B E

𝑈𝐶

𝐷 ?

Camera Calibration

Slide from Dhiraj Gandhi.

slide-57
SLIDE 57

𝑈𝐶

𝐷 ?

E B

Camera Calibration

Slide from Dhiraj Gandhi.

slide-58
SLIDE 58

B

𝑈𝐶

𝐷 ?

E

𝑌𝐶 𝑌𝐷 min

𝑈𝐶

𝐷

( 𝑌𝐶 − 𝑈𝐶

𝐷𝑌𝐷 )

Camera Calibration

Slide from Dhiraj Gandhi.

slide-59
SLIDE 59

min

𝑈𝐶

𝐷

𝑜

𝑗=1

𝑌𝑗

𝐶 − 𝑈𝐶 𝐷𝑌𝑗 𝐷

Camera Calibration

Slide from Dhiraj Gandhi.

slide-60
SLIDE 60

Good Softwares

Slide from Dhiraj Gandhi.

slide-61
SLIDE 61

MoveIt! Example

PyRobot: An Open-Source Robotics Framework for Research and Benchmarking.

slide-62
SLIDE 62
  • 1. Task space to Configuration space
  • 2. Configuration space trajectory
  • 3. Trajectory execution

Robotics Review: How to move your robot?

(x, y, θ)

Initial configuration Desired configuration

Configuration Space Forward / Inverse Kinematics Motion Planning Optimal Control

slide-63
SLIDE 63

Pieter Abbeel's Advanced Robotics Course at Berkeley https://people.eecs.berkeley.edu/~pabbeel/cs287-fa19/

Resources

Howie Choset's Robotic Motion Planning Course at CMU https://www.cs.cmu.edu/~motionplanning/ Kris Hauser’s Robotic Systems Book http://motion.cs.illinois.edu/RoboticSystems/