HIGHLEVELMANIPULATION PRIMITIVESFORAROBOTARM Supported by National - - PowerPoint PPT Presentation

high level manipulation primitives for a robot arm
SMART_READER_LITE
LIVE PREVIEW

HIGHLEVELMANIPULATION PRIMITIVESFORAROBOTARM Supported by National - - PowerPoint PPT Presentation

ThesisProposalfortheMasterofScienceDegreeinComputerScience PresentedbyGlennV.Nickens AdvisedbyDr.DavidTouretzky Thursday,January29,2009 HIGHLEVELMANIPULATION


slide-1
SLIDE 1

HIGH‐LEVEL
MANIPULATION
 PRIMITIVES
FOR
A
ROBOT
ARM


Thesis
Proposal
for
the
Master
of
Science
Degree
in
Computer
Science

 Presented
by
Glenn
V.
Nickens
 Advised
by
Dr.
David
Touretzky
 Thursday,
January
29,
2009


1


Supported by National Science Foundation awards 0717705 and 0742106 to Carnegie Mellon University, and 0742198 to Norfolk State University.

slide-2
SLIDE 2

Outline 


  • IntroducKon
to
the
research
topic

  • Problem
statement

  • Accomplished
background
work

  • Proposed
method
of
compleKon
and
tesKng

  • Expected
outcome
and
contribuKons

  • Timeline


2


slide-3
SLIDE 3

IntroducKon 


  • Access
to
the
field
of
roboKcs
has
been
limited
in


computer
science
undergraduate
programs
due
to:


– The
complexity
of
the
underlying
mathemaKcs
and
theory
 that
is
needed
to
implement
kinemaKcs,
path
planning
and 
 manipulaKon

 – The
size,
cost
and/or
limited
capabiliKes
of
available
robots 


  • To
help
solve
this
problem,
researchers
at
Carnegie


Mellon
University
have
developed:


– The
Tekkotsu
soSware
framework
 – An
inexpensive
hand‐eye
robot
($995
from
RoPro
Design)


3


slide-4
SLIDE 4

IntroducKon 


  • Tekkotsu


– is
an
open
source
robot
programming
framework
 based
on
C++.
 – is
an
object‐oriented
and
event
passing
 architecture
that
makes
full
use
of
the
template
 and
inheritance
features
of
C++.
 – programmers
use
high‐level
primiKves,
such
as
 “nod
your
head”
and
“walk
to
that
locaKon”,
to
 control
robots.


4


slide-5
SLIDE 5

IntroducKon 


  • The
hand‐eye
robot:


– has
a
three‐link
planar
arm,
with
a
webcam
 a`ached
to
a
pan‐Klt
above
it
for
vision.
 – is
a
small,
affordable
robot
that
fits
on
a
classroom
 table.
 – can
be
programmed
to
manipulate
objects
 idenKfied
by
the
camera.


  • However,
Tekkotsu
does
not
have
high‐level


manipulaKon
primiKves
for
an
arm.


5


slide-6
SLIDE 6

IntroducKon 


  • CreaKng
the
high‐level
primiKves
necessary
to


perform
manipulaKon
with
the
arm
is
the
 subject
of
this
research
proposal.


  • Once
the
primiKves
are
implemented,
I
will


test
them
by
wriKng
a
Kc‐tac‐toe
player.


  • The
player
will
use
only
the
high‐level


primiKves
to
manipulate
the
game
pieces.



6


slide-7
SLIDE 7

Problem
Statement 


I
will:


– design
the
high‐level
manipulaKon
primiKves
 required
to
program
the
hand‐eye
robot.
 – formalize
and
implement
the
algorithms
for
the
 primiKves.
 – demonstrate
that
the
primiKves
are
suitable
for
 performing
complex
tasks.


7


slide-8
SLIDE 8

Background 


  • To
create
the
manipulaKon
primiKves
the


following
are
necessary:


– A
robot
arm
 – KinemaKcs
 – Collision
detecKon
 – Path
planning
 – Path
smoothing


8


slide-9
SLIDE 9

Three‐Link
Planar
Arm


  • Three
Dynamixel
AX‐12


servos


  • Upper
arm
and
forearm


are
constructed
of
 aluminum
tubes
and
 elongated
c‐brackets


  • End‐effector
is
a



c‐bracket


9


slide-10
SLIDE 10

ManipulaKon
Surfaces


  • No
closeable
fingers

  • Must
move
objects
by


pushing
them


  • Three
manipulaKon


surfaces:


– Interior
of
the
c‐bracket
 – Wrist
 – Forearm
&
Upper
arm


10


slide-11
SLIDE 11

Why
not
two
links? 


  • ManipulaKon
in
the


plane
requires
at
least
 3DOF
(x,
y,
and
θ).


  • A
two‐link
arm
only
has


2DOF.


  • A
a
three‐link
arm
can


reach
a
target
from
 many
angles;
a
two‐link
 arm
can
reach
it
from


  • nly
two
angles.


11


slide-12
SLIDE 12

Why
not
four
or
more
links? 


  • Given
a
target
and
angle

  • f
manipulaKon,
a
three‐

link
arm
will
have
at
most
 two
soluKons,
a
four‐link
 arm
may
have
infinitely
 many
soluKons.


  • Solving
kinemaKcs
for
a


four‐link
arm
is
more
 complex
than
for
a
three‐ link
arm.


  • Links
are
expensive


(power,
weight,
wiring).


12


slide-13
SLIDE 13

KinemaKcs 


  • KinemaKcs
describes


the
relaKonship
 between
the
posiKon
 and
orientaKon
of
the
 end‐effector
and
the
 joint
angles
of
the
arm.


13


slide-14
SLIDE 14

Forward
KinemaKcs 


  • Forward/direct
kinemaKcs
calculaKons


determine
the
end
effector
configuraKon
 given
the
joint
angles.


  • Forward
kinemaKcs
calculaKons
are
easily


solved
with
a
series
of
matrix
mulKplicaKons,
 and
will
always
produce
a
unique
soluKon.


14


slide-15
SLIDE 15

Inverse
KinemaKcs 


  • Inverse
kinemaKcs


calculaKons
search
for
a
 set
of
joint
angles
that
 produce
a
specified
end
 effector
configuraKon.


  • Inverse
kinemaKcs


calculaKons
are
harder;
 there
may
be
mulKple
 soluKons,
or
there
may
 be
none.


15


slide-16
SLIDE 16

Inverse
KinemaKcs 


  • In
this
research,
inverse
kinemaKcs
is
used
to


determine
the
shoulder,
elbow,
and
wrist
 angles
given
a
target
posiKon
and
the
 manipulaKon
surface
orientaKon.


  • The
inverse
kinemaKcs
calculaKons
for
the


arm
use
a
four
step
process
based
on
a
 common
analyKcal
approach
documented
in
 the
book
‘Robot
Modeling
and
Control’
(Spong
 2006).


16


slide-17
SLIDE 17

IK
CalculaKon
Process 


Determine
the:
 1) wrist
posiKon
[xw,
yw]
from 
 the
target
point
[xt,
yt]
and
 desired
orientaKon,
ϕt.
 2) elbow
angle,
θ2,
from
the
 wrist
posiKon
[xw,
yw]
and
 arm
dimensions,
L1
and
L2.
 3) shoulder
angle,
θ1.
 4) wrist
angle,
θ3.


17


slide-18
SLIDE 18

IK
Step
1 


  • Determine
the
wrist


posiKon
[xw,
yw]
from
 the
target
point
[xt,
yt]
 and
desired
orientaKon,
 ϕt.


18


slide-19
SLIDE 19

IK
Step
2 


  • Determine
the
elbow


angle,
θ2,
from
the
wrist
 posiKon
[xw,
yw]
and
 arm
dimensions,
L1
and
 L2.


19


slide-20
SLIDE 20

MulKple
SoluKons 


  • The
step
for


determining
the
elbow
 angle,
θ2,
may
produce
 two
soluKons.


  • These
are
called
the


elbow
up
and
elbow
 down
configuraKons.


20


slide-21
SLIDE 21

IK
Step
3 


  • Determine
the
shoulder


angle,
θ1.


21


slide-22
SLIDE 22

IK
Step
4 


  • Determine
the
wrist


angle,
θ3


22


slide-23
SLIDE 23

IK
ModificaKons 


  • The
inverse
kinemaKcs
calculaKon
process


described
thus
far
is
ideal
for
arms
whose
 joints
turn
without
bound
and
whose
 environments
are
obstacle‐free.


  • ModificaKons
have
been
made
to
these


calculaKons
to
create
an
IK
solver
specifically
 for
the
arm
in
this
research.


23


slide-24
SLIDE 24

IK
ModificaKons 


  • The
joints
cannot
turn
a


full
360°
because
 adjacent
arm
segments
 will
collide.


  • The
IK
solver
only
uses


configuraKons
that
are
 within
the
turning
limits


  • f
each
joint.


24


slide-25
SLIDE 25

IK
ModificaKons 


  • SomeKmes
a
target
is
not
reachable
from
a
desired
orientaKon,


but
may
be
reached
from
another
orientaKon.


  • The
IK
solver
will
search
around
the
desired
orientaKon
at
10°


intervals
for
180°
in
both
direcKons
unKl
a
valid
soluKon
is
 found.


25


Desired

  • rientation

Valid

  • rientation
slide-26
SLIDE 26

IK
ModificaKons 


  • When
both
elbow
up
and
elbow
down
configuraKons


are
valid,
the
IK
solver
must
choose
one.


  • It
chooses
the
one
that
has
the
same
elbow
direcKon


as
the
arm’s
current
configuraKon.


26


slide-27
SLIDE 27

IK
ModificaKons 


  • The
IK
solver
uses
a
collision


detecKon
algorithm
to
 check
for
collisions
of
the
 arm
with
itself
or
with


  • bjects
in
the
environment.

  • Arm
segments
and
obstacles


 are
represented
as
 rectangles.


  • The
algorithm
is
based
on


the
SeparaKng
Axis
 Theorem.


27


slide-28
SLIDE 28

Path
Planner 


Once
the
kinemaKcs
solver
has
determined
the
start
 and
end
configuraKons
for
the
arm,
a
collision
free
path 
 must
be
computed
to
move
the
arm.


28


slide-29
SLIDE 29

Path
Planning 


  • Path
planning
is
the
construcKon
of
a


conKnuous
sequence
of
arm
configuraKons
 from
the
start
to
the
end
configuraKon
while
 respecKng
constraints
(Kuffner
2009).



  • The
constraints
in
this
research
are
the
arm’s


joint
limits,
obstacles
in
the
environment,
and
 the
need
to
maintain
contact
with
objects.


  • The
path
planner
in
this
research
is
based
on


an
algorithm
called
RRT‐Connect
(Kuffner
 2000).


29


slide-30
SLIDE 30

Rapidly‐exploring
Random
Trees 


  • Rapidly‐exploring


Random
Trees
(RRTs)
 are
trees
whose
verKces 
 encode
configuraKon
 states
of
the
arm
 (LaValle
1998).


  • The
RRT
grows
by


alternately
extending
 the
tree
in
random
 direcKons
and
moving
 toward
the
goal
 configuraKon.



30


slide-31
SLIDE 31

RRT‐Connect 


  • RRT‐Connect
grows
two


RRTs,
one
from
the
start
 and
one
from
the
goal
 configuraKon,
and
 biases
the
trees
to
grow
 toward
each
other.


  • Once
the
RRTs
connect,


the
path
is
extracted
 using
backtracking.



31


slide-32
SLIDE 32

RRT‐Connect 


  • Path
extracted
using


backtracking
from
the
 two
trees.


32


slide-33
SLIDE 33

Path
Smoothing 


  • The
random
component
of
the
RRT‐Connect


search
oSen
results
in
a
jerky
and
meandering
 soluKon,
therefore
a
smoothing
algorithm
is
 applied
to
the
path.


  • Smoothing
is
accomplished
by
selecKng


random
segments
to
be
snipped
from
the
path 
 aSer
verifying
that
the
shortened
path
will
sKll
 be
collision‐free.


33


slide-34
SLIDE 34

Paths 


  • The
pictures
to
the
right
show


the
arm’s
trajectory
along
a
 path
from
the
start
(green)
to
 the
end
(red)
configuraKon.


  • The
first
image
shows
a
path


constructed
by
the
path
 planner.



  • The
second
image
shows
the


same
path,
but
aSer
the
 smoothing
algorithm
has
been
 applied
to
it.


34


slide-35
SLIDE 35

Methodology 


  • In
this
secKon
I
will
discuss:


– The
high‐level
primiKves
I
have
chosen
so
far
 – How
I
plan
on
implemenKng
them
and
 – How
I
will
demonstrate
the
success
of
my
work


35


slide-36
SLIDE 36

High‐Level
PrimiKves


36


Move an object to a target position

slide-37
SLIDE 37

High‐Level
PrimiKves


37


Sweep a collection of objects

slide-38
SLIDE 38

High‐Level
PrimiKves


38


Pick an object out of a group

slide-39
SLIDE 39

High‐Level
PrimiKves


39


Adjust the orientation of an object

slide-40
SLIDE 40

High‐Level
PrimiKves


40


Propel an object in a direction

slide-41
SLIDE 41

ManipulaKon
Planner


  • To
realize
the
primiKves,
I
will
develop
a


manipulaKon
planner
to
determine:


– Which
manipulaKon
surface
to
use
 – How
to
acquire
contact
with
an
object
 – What
trajectory
the
arm
should
follow


41


slide-42
SLIDE 42

Planning
Process
ComplicaKons 


  • Joint
limits
and

  • bstacles
constrain
the


arm’s
freedom
of
 moKon.


  • The
forearm
will
collide


with
the
upper
arm
or
 the
red
obstacle
if
it
 tries
to
move
inward
or


  • utward,
respecKvely.


42


slide-43
SLIDE 43

Planning
Process
ComplicaKons


43


Planned trajectories must keep the manipulation surface in contact with the object

slide-44
SLIDE 44

Planning
Process
ComplicaKons 


Moving
an
object
with
the
upper
arm
or
the
forearm
 is
imprecise
because
it
may
slide.


44


slide-45
SLIDE 45

Planning
Process
ComplicaKons 


Some
tasks
may
require
mulKple
manipulaKons 


45


In this sequence of images, the arm first moves the blue object with its forearm, then moves it with the c-bracket to get it to the target position.

slide-46
SLIDE 46

ExecuKng
the
Plan


  • I
will
develop
a
manipulaKon
engine
to


execute
the
plans
produced
by
the
 manipulaKon
planner.


  • The
engine
will:


– Monitor
the
execuKon
of
each
step
 – Take
correcKve
acKon
should
something
go
wrong


46


slide-47
SLIDE 47

ManipulaKon
Engine 


  • Monitoring
will
be
done
by:


– verifying
arm
posiKons
by
checking
the
joint
angles.
 – verifying
object
posiKons
using
vision.


  • CorrecKve
acKon
may
have
to
be
taken


because:


– The
arm
may
not
have
acquired
the
object.
 – The
object
may
not
be
where
it
should
be.
 – The
arm
may
have
accidentally
moved
the
object.


47


slide-48
SLIDE 48

ValidaKon:
A
Kc‐tac‐toe
player


  • The
player
will
use
only
three
of
the
primiKves


menKoned
earlier:


– Moving
a
game
piece
 – Sweeping
game
pieces
off
the
board
 – Picking
a
game
piece
from
a
group


  • The
Kc‐tac‐toe
player
will
not
reference
any


low‐level
concepts
such
as
kinemaKcs,
path
 planning
or
manipulaKon
surfaces.


48


slide-49
SLIDE 49

Playing
Kc‐tac‐toe 


49


slide-50
SLIDE 50

ContribuKons/Expected
Outcome 


  • 1. My
work
will
allow
robot
programmers
to
easily


manipulate
objects
by
specifying
desired
effects
and 
 levng
the
planner
figure
out
how
to
achieve
them.



  • 2. Students
in
undergraduate
roboKcs
courses
will
be


able
to
experiment
with
manipulaKon
without
 having
to
write
their
own
kinemaKcs
solvers,
path
 planners,
or
collision
detecKon
algorithms.



50


slide-51
SLIDE 51

ContribuKons/Expected
Outcome 


  • 3. The
manipulaKon


planner
and
engine
 will
be
integrated
into
 the
Tekkotsu
 framework
and
will
be
 used
on
other
robots,
 including
the
Chiara.


51


slide-52
SLIDE 52

Timeline/Milestones 


52


slide-53
SLIDE 53

References 


53


  • 1. Tekkotsu: Getting Started. (2007) Retrieved 26 January 2009 from

Tekkotsu web site: http://tekkotsu.no-ip.org/gettingstarted.html.

  • 2. Spong, Mark W., Seth Hutchinson, and M. Vidyasagar. Robot Modeling

and Control. John Wiley & Sons, 2006.

  • 3. Kuffner, James. “Classical Path Planning with RRTs”.

http://www.kuffner.org/james/plan/. January 13, 2009.

  • 4. Kuffner, James J., Steven M. LaValle. RRT-connect: An efficient approach

to single-query path planning. In Proceedings IEEE International Conference on Robotics and Automation, pages 995--1001, 2000. http://msl.cs.uiuc.edu/~lavalle/rrtpubs.html.

  • 5. LaValle, Steven M. Rapidly-Exploring Random Trees: A New Tool for Path
  • Planning. TR 98-11, Computer Science Dept., Iowa State Univ.

http://msl.cs.uiuc.edu/~lavalle/rrtpubs.html, Oct. 1998.

slide-54
SLIDE 54

QuesKons 


54