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
© Copyright 2026 Paperzz