Lecture 12: Kinesthetic haptic devices: Higher degrees of freedom

ME 327: Design and Control of Haptic Systems
Autumn 2015
Lecture 12:
Kinesthetic haptic devices:
Higher degrees of freedom
Allison M. Okamura
Stanford University
kinematics
(Hapkit reminder)
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
transmission
✓2
Capstan drive
✓1
✓1
✓2
✓2
Friction drive
✓1
✓1
✓2
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Hapkit kinematics
xhandle
rpulley ✓pulley = rsector ✓sector
rhandle
xhandle = rhandle ✓sector
rsector
✓sector
rpulley
✓pulley
Stanford University
xhandle
rhandle rpulley
=
✓pulley
rsector
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Hapkit force/torque relationships
relationship between ⌧ = F r
force and torque:
Fhandle
rhandle
⌧pulley
⌧sector
=
rpulley
rsector
Fhandle
⌧sector
=
rhandle
rsector
⌧sector
rpulley
⌧pulley
Stanford University
Fhandle
rsector
=
⌧pulley
rhandle rpulley
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
kinematics
(a more complete
introduction)
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
suggested references
• Introduction to robotics : mechanics and control
John J. Craig
• Robot modeling and control
Mark W. Spong, Seth Hutchinson, M.Vidyasagar
• A mathematical introduction to robotic manipulation
Richard M. Murray, Zexiang Li, S. Shankar Sastry
• Springer handbook of robotics
B. Siciliano, Oussama Khatib (eds.)
http://site.ebrary.com/lib/stanford/docDetail.action?
docID=10284823
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
kinematics
• The study of movement
• The branch of classical mechanics that describes the
motion of objects without consideration of the
forces that cause it
• Why do you need it?
– Determine endpoint position and/or joint positions
– Calculate mechanism velocities, accelerations, etc.
– Calculate force-torque relationships
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
degrees of freedom
• Number of independent position variables needed
to in order to locate all parts of a mechanism
• DOF of motion
• DOF of sensing
• DOF of actuation
• The DOF of a mechanism does not always
correspond to number of joints
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
it will help to prototype!
round head
paper fasteners
officedepot.com
www.rogersconnection.com/triangles
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
joints
• Think of a
manipulator/
interface as a set of
bodies connected
by a chain of joints
• Revolute is the
most common
joint for robots
From Craig, p. 69
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
forward kinematics for
higher degrees of freedom
for mechanical trackers that use joint angle sensors, you need a
map between joint space and Cartesian space
fwd kinematics: from joint angles, calculate endpoint position
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
joint variables
Be careful how you define joint positions
Absolute
Stanford University
Relative
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
absolute forward kinematics
x = L1cos(θ1) + L2cos(θ2)
y = L1sin(θ1) + L2sin(θ2)
(Often done this way for haptic devices)
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
relative forward kinematics
x = L1cos(θ1) + L2cos(θ1+θ2)
y = L1sin(θ1) + L2sin(θ1+ θ2)
(Often done this way for robots)
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Inverse Kinematics
• Using the end-effector position, calculate the joint
angles necessary to achieve that position
• Not used often for haptics
– But could be useful for planning/design
• There can be:
– No solution (workspace issue)
– One solution
– More than one solution
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
example
• Two possible solutions
• Two approaches:
– algebraic method (using
transformation matrices)
– geometric method
• Your devices should be simple
enough that you can just use
geometry
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
computing end-effector velocity
• forward kinematics tells us the endpoint
position based on joint positions
• how do we calculate endpoint velocity from
joint velocities?
• use a matrix called the Jacobian
ẋ = J q̇
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
formulating the Jacobian
multidimensional form
of the chain rule:
assemble in
matrix form:

ẋ
ẏ
@x
ẋ =
q̇1 +
@q1
@y
ẏ =
q̇1 +
@q1
..
.
=
"
@x
@q1
@y
@q1
@x
q̇2 + · · ·
@q2
@y
q̇2 + · · ·
@q2
@x
@q2
@y
@q2
#
q̇1
q̇2
ẋ = J q̇
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Singularities
• Many devices will have configurations at which the
Jacobian is singular
• This means that the device has lost one or more
degrees of freedom in Cartesian Space
• Two kinds:
– Workspace boundary
– Workspace interior
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Singularity Math
• If the matrix is invertible, then it is non-singular.
−1
˙
θ = J x˙
• Can check invertibility of J by taking the
determinant of J. If the determinant is equal to 0,
then J is singular.
• Can use this method to check which values of θ
will cause singularities.
€
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Calculating Singularities
Simplify text: sin(θ1+θ2)=s12
−L1s1 − L2 s12 −L2 s12
det ( J (θ )) =
L1c1 + L2c12 L2c12
= (−L1s1 − L2 s12 )L2c12 + (L1c1 + L2c12 )L2 s12
For what values of θ1 and θ2 does this equal zero?
€
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
compute the necessary
joint torques
the Jacobian can also be used to relate joint
torques to end-effector forces:
T
⌧ =J f
this is a key equation for multi-degree-offreedom haptic devices
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
how do you get this equation?
the Principle of virtual
work
states that changing the
coordinate frame does
not change the total
work of a system
f· x=⌧· q
x=⌧
T
q
f J q=⌧
T
q
f
T
T
T
f J =⌧
T
T
J f =⌧
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
force generation signals
desired force
(in computer) counts
D/A
volts
amplifiers
voltage or current
actuator
force/torque transmission & kinematics
endpoint
force/torque
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Phantom Omni
kinematics
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Phantom Omni
End-Effector
Base
Rear
Stanford University
!
ME 327: Design and Control of Haptic Systems
Front
© Allison M. Okamura, 2015
phantom omni
link lengths
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
phantom omni
End-Effector
End-Effector
End-Effector
singular configurations
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Base
Rear
Front
phantom omni
Figure 2: Phantom Omni’s configuration
l1 ⇡ 0.1321 [m],
l2 ⇡ 0.1321 [m].
If ✓3 is fixed, we can regard this as a two-link manipulator. When ✓3 = 0, on the y


y
l1 sin ✓1 + l2 sin ✓2
=
z
l1 cos ✓1 + l2 cos ✓2
z plane,
3
Now, let us consider ✓3 . Note that ✓3 a↵ects x and z position, but not y position. So, we first
calculate a link length, L, on the z x plane:
L = l1 cos ✓1 + l2 cos ✓2
(1)
Then, rotating the link length L around the y-axis gives you the forward kinematics of an Omni:
2 3 2
3 2
3
x
L sin ✓3
(l1 cos ✓1 + l2 cos ✓2 ) sin ✓3
4 y 5 = 4 l1 sin ✓1 + l2 sin ✓2 5 = 4
5
l1 sin ✓1 + l2 sin ✓2
z
L cos ✓3
(l1 cos ✓1 + l2 cos ✓2 ) cos ✓3
Part C
By definition,
Stanford
University
Jacobian matrix
Omni
is
ME for
327:the
Design
and Control
of Haptic Systems
2
3
© Allison M. Okamura, 2015
L = l1 cos ✓1 + l2 cos ✓2
Then, rotating the link length L around the y-axis gives you the forward kinematics of an
2 3 2
3 2
3
x
L sin ✓3
(l1 cos ✓1 + l2 cos ✓2 ) sin ✓3
4 y 5 = 4 l1 sin ✓1 + l2 sin ✓2 5 = 4
5
l1 sin ✓1 + l2 sin ✓2
z
L cos ✓3
(l1 cos ✓1 + l2 cos ✓2 ) cos ✓3
phantom omni
Part C
By definition, Jacobian matrix for the Omni is
2
3
J
6
= 4
2
= 4
@x
@✓1
@y
@✓1
@z
@✓1
@x
@✓2
@y
@✓2
@z
@✓2
@x
@✓3
@y
@✓3
@z
@✓3
l1 sin ✓1 sin ✓3
l1 cos ✓1
l1 sin ✓1 cos ✓3
7
5
l2 sin ✓2 sin ✓3
l2 cos ✓2
l2 sin ✓2 cos ✓3
3
(l1 cos ✓1 + l2 cos ✓2 ) cos ✓3
5
0
(l1 cos ✓1 + l2 cos ✓2 ) sin ✓3
Part D
Computing the cartesian endpoint velocities is straightword using the Jacobian and the
locities. The joint velocities must first be converted into rad/s.
2 3
ẋ Control of Haptic Systems
Stanford University
ME 327: Design and
© Allison M. Okamura, 2015
4 ẏ 5 = J ✓˙
Part
the
endC
effector as functions of θ1, θ2, and θ3.
By definition, Jacobian matrix for the Omni is
C. Determine the Jacobian of the Omni. Don’t forget the chain rule when taking partial derivatives! Write
2
3
T
T
@x
@x
@x
˙
˙
˙
out the matrix so that it can
be
used
in
an
equation
of
the
form
˙
˙
˙
x
y
z
=
J
θ
θ
θ
[
]
[ 1 2 3] .
@✓1
@✓2
@✓3
6 @y @y @y 7
Hint: Enter theJ forward
and @✓Jacobian
= 4kinematics
5 into a program such as Matlab, where you can change the angles and
@✓1
@✓2
3
@z check
@z for seeing if the forward kinematics are being calculated correctly is to have your
observe the change in output. @z
A reality
@✓1
@✓2
@✓3
3
Matlab script construct a2simple stick drawing of the device. Turn€in a hardcopy of any code you write.
l1 sin ✓1 sin ✓3
l2 sin ✓2 sin ✓3 (l1 cos ✓1 + l2 cos ✓2 ) cos ✓3
5
T
l1 coshas
✓1 joint angles
l2 cos ✓2 
0
= 4currently
D. Assume the device
θ = [ 45 −45  0  ] , which is near the center of its
l1 sin ✓1 cos ✓3
l2 sin ✓2 cos ✓3
(l1 cos ✓1 + l2 cos ✓2 ) sin ✓3
workspace. If the joint velocities are θ˙ = [180 90 0]T degrees per second, what is the vector of Cartesian
endpoint velocities?
€
Part D
E. Suppose that you want the€robot end-effector to push on tissue with a Cartesian force vector of
Tthe cartesian endpoint velocities is straightword using the Jacobian and the joint veComputing
F = [ 4 1 3] N. Your device is at the same position as stated above. What vector of joint torques
locities.
jointtovelocities
beend-effector?
converted into rad/s.
would beThe
needed
create thismust
forcefirst
at the
2 3
ẋ


 T
F. Now you are at a position such that the
are
θ
=
45
10
0
[
] . You would like to output the
˙
4 ẏjoint
5 angles
= J✓
same Cartesian force vector, F = [4 1 ż 3]T N. What joint torques are required? Are the torques higher
2
3
or lower than at the previous position? Why is this so?
⇡
=€ J 4 ⇡2 5
G. Are there any singularities
of this device within its reachable workspace? You don’t have to calculate
€
0
them from the Jacobian (unless you want to); just2use your 3intuition about the geometry of the device.
0.00
You can play with a real Omni to help you figure this out.
= 4 0.44 5 [m/s]
0.15
phantom omni
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
Hint: Enter the forward kinematics and Jacobian into a program such as Matlab, where you can change the angles and
observe the change in output. A reality check for seeing if the forward kinematics are being calculated correctly is to have your
Matlab script construct a simple stick drawing of the device. Turn€in a hardcopy of any code you write.
phantom omni
D. Assume the device currently has joint angles θ = [45  −45  0  ]T , which is near the center of its
workspace. If the joint velocities are θ˙ = [180 90 0]T degrees per second, what is the vector of Cartesian
endpoint velocities?
€
E. Suppose that you want the€robot end-effector to push on tissue with a Cartesian force vector of
T
F = [ 4 1 3] N. Your device is at the same position as stated above. What vector of joint torques
would be needed to create this force at the end-effector?
T
F. Now you are at a position such that the joint angles are θ = [45  10  0  ] . You would like to output the
Part
E
same Cartesian
force vector, F = [4 1 3]T N. What joint torques are required? Are the torques higher
or lower
than at thejoint
previous
position?
is thismatrix
so? and Cartesian force:
You
can calculate
torques
from Why
Jacobian
€
T
⌧ within
= J
F reachable
G. Are there any singularities
of this device
workspace? You don’t have to calculate
€
2 its
3
them from the Jacobian (unless you want to); just use
0.19your intuition about the geometry of the device.
You can play with a real Omni to help you figure
out. 5 [N-m]
0.37
= 4 this
0.75
Note that this assumes that all the energy generated from the motors would equal the work done
by the end e↵ector, that is, there is no energy loss.
Part F
Again, you can calculate joint torques from Jacobian matrix and Cartesian force:
2
3
Stanford University
ME 327: Design and Control
© Allison M. Okamura, 2015
0.19 of Haptic Systems
pantograph
mechanism
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
pantograph
Definition 1: a mechanical linkage
connected in a manner based on
parallelograms so that the
movement of one pen, in tracing
an image, produces identical
movements in a second pen.
Definition 2: a kind of structure
that can compress or extend like
an accordion
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
pantograph haptic device
Xiyang Yeh, ME 327 2012
http://charm.stanford.edu/ME327/Xiyang
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
pantograph haptic device
Sam Schorr and Jared Muirhead, ME 327 2012
http://charm.stanford.edu/ME327/JaredAndSam
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
ww.cim.mcgill.ca/⇠haptic
e performance
e system called
gree-of-freedom
mized dynamic
ly conditioned.
of producing
and can resolve
provements are
nimsms. Mech-
could be used as a scientific instrument. Our intention is
to make the system available in open-source, hardware and
software.
An important aspect of the Pantograph, a planar parallel
mechanism (Fig. 1d), is the nature of its interface: a nonslip plate on which the fingerpad rests (Fig. 1e). Judiciously
programmed tangential interaction forces fT at the interface
(Fig. 1e) have the effect of causing fingertip deformations and
tactile sensations that resemble exploring real surfaces.
pantograph haptic device
%NCODERS
computational
n the control of
flecting virtual
the availability
raction signals.
trolled stimuli.
knowledge of
ll cases, these
characterized.
mersion’s Imilable generaly introduced:
mega R , HapCat/Pro R ; plus
n, interesting,
e also become
from commeretheless, that a
h performance
4ORQUERS
a
b
)NTERFACE0LATE
!CCELEROMETER
OPTIONAL
,OAD#ELL
c
d
MM
MM
e ‘Pantograph’
M SIGCHI conthe creation of
asily replicated
f components.
ch would have
tics so that it
e
fN
fT
Campion and Hayward, IROS 2005
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1545066
for Robotics and
and Engineering
Fig. 1. Pantograph Mk II electromechanical hardware. a) Side view showing
the main electromechanical components. b) Front view. c) Photograph. d) Top
view of the five-bar mechanism and plate constrained to 2-DOF. e) The
interaction force has two components: fN is measured by the load cell and
fT results from coupling the finger tip to the actuators via linkages.
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
example
Find the forward kinematics
Find the Jacobian
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015
a commercial
3-DOF device
Slides from Francois Conti about
Force Dimension
and the Novint Falcon
Stanford University
ME 327: Design and Control of Haptic Systems
© Allison M. Okamura, 2015