Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Mechanism emulation with a magnetically levitated input/output device Vlaar, Tim 1994

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-ubc_1995-0062.pdf [ 4.43MB ]
Metadata
JSON: 831-1.0064834.json
JSON-LD: 831-1.0064834-ld.json
RDF/XML (Pretty): 831-1.0064834-rdf.xml
RDF/JSON: 831-1.0064834-rdf.json
Turtle: 831-1.0064834-turtle.txt
N-Triples: 831-1.0064834-rdf-ntriples.txt
Original Record: 831-1.0064834-source.json
Full Text
831-1.0064834-fulltext.txt
Citation
831-1.0064834.ris

Full Text

MECHANISM EMULATION WITH A M A G N E T I C A L L Y LEVITATED INPUT/OUTPUT DEVICE By Tim Vlaar B.A.Sc. (Electrical Engineering) University of British Columbia, 1991 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES DEPARTMENT OF ELECTRICAL ENGINEERING We accept this thesis as conforming to trj£ required standard THE UNIVERSITY OF BRITISH COLUMBIA December 1994 © T im Vlaar, 1994 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for refer-ence and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Department of Electrical Engineering The University of British Columbia 2075 Wesbrook Place Vancouver, Canada V 6 T 1W5 Date: Abstract The emulation of stiff walls and stick-slip friction has been developed. A high performance, six degree-of-freedom , fine motion, magnetically levitated input/output device was used in the implementation. For the stiff wall emulation, two control algorithms were developed from the commonly used mass-spring-damper model: an observer-based design, and a braking pulse design. The mass-spring-damper model is limited in its achievable stiffness due to instability. Both control methods increased perceived stiffness substantially (stably) for one degree-of-freedom. The braking pulse method for stiff wall emulation was extended to a six degree-of-freedom case in which a small cube is constrained within a larger cube. The contact forces and torques between the mobile inner cube and outer constraining cube are felt by the operator. A further extension was to a larger workspace which was developed by mounting the fine motion device on the end-effector of a coarse motion, six degree-of-freedom, elbow manipulator with a spherical wrist. The manipulator was controlled in rate mode by the fine motion device. Experiments have been designed to test the position at which a subject feels the stiff wall, and the completion time for a subject to move from an unconstrained environment to the stiff wall. For stick-slip friction, a modified Karnopp model was implemented using a Position Deriva-tive (PD) controller within the stick friction threshold. Even though the PD controller allows some motion during the stick phase, the haptic feedback provided is remarkably similar to stick-slip friction. ii Table of Contents Abstract ii List of Tables vi List of Figures vii 1 Introduction 1 1.1 Teleoperation 1 1.2 Haptic Interface 2 1.2.1 Magnetically Levitated Joystick 3 1.2.2 Coarse-Fine Approach 4 1.3 Objectives 5 1.3.1 Stiff Wall Emulation 6 1.3.2 Stick-Slip Friction Emulation . . 7 1.4 Experiments 7 1.5 Brief Survey of the Thesis 8 2 Implementation of the Coarse-Fine Setup 9 2.1 Overview 9 2.2 Hardware 9 2.2.1 Magnetically Levitated Joystick 9 2.2.2 CRS A460 Robot 12 2.2.3 Hardware Configuration 13 2.3 Software 16 2.3.1 Software Configuration • 16 iii 2.3.2 Rate Control 18 2.3.3 Robot Kinematic Transformations 21 2.3.4 Coordinate Transformations 21 2.3.5 Filtering 22 2.4 Tracking Results 24 3 Mechanical Emulat ion of Stiff Walls 29 3.1 Background 29 3.2 Stiff Wall Emulation ,'. 29 3.3 Observer-Based Controllers for Stiff Wall Emulation 33 3.3.1 Second-Order Observer-based Controller 33 3.3.2 Experimental Overview -. . 35 3.3.3 Results . 35 3.3.4 Third-Order Observer-Based Controller 39 3.3.5 Results 41 3.4 Braking Pulse for Stiff Wall Emulation 45 3.5 Stiff Wall Emulation Extented to Six Degrees-of-Freedom 53 3.5.1 Proportional Force Calculation 53 3.5.2 Braking Pulse Force Calculation . 54 4 Mechanical Emulat ion of Stick-Slip Frict ion 58 5 Stiff Wal l Exper iments 64 5.1 Accuracy 64 5.2 Completion Time 65 6 Conclusions 67 6.1 Contributions 67 6.2 Future Work 68 iv Bibliography 70 A Coefficient of Restitution Derivation 73 B Discretization of Mass 76 C Subject Forms " 78 v List of Tables 1.1 Human Operator Input/Output Capabilities 5 2.2 Coarse-fine system parameters 21 3.3 Off Axis Gains Using P D Control 36 3.4 Z-Axis Gains for P D and 2nd Order Observer-Based Controller 36 3.5 Z-Axis Gains for Third-Order Observer-based Controller 42 vi List of Figures 1.1 Stiff wall model 5 2.2 The TJBC maglev joystick assembly sketch 11 2.3 Photograph of coarse-fine system 14 2.4 Hardware Setup 15 2.5 Software Setup 16 2.6 Block diagram for rate control. 19 2.7 Block diagram of the coarse fine system 20 2.8 Profile of possible rate functions . 23 2.9 Desired and measured X position of robot end-effector 25 2.10 Desired and measured Y position of robot end-effector 26 2.11 Desired and measured Z position of robot end-effector 26 2.12 Desired and measured rotation of robot end-effector. 27 2.13 Desired and measured rotation axes' of robot end-effector 27 2.14 Three-dimensional position tracking view of robot end-effector 28 3.15 The maximum absolute values of the roots'of the characteristic polynomial . . . 30 3.16 Block diagram of observer-based control system. . .. 34 3.17 Measured position of the flotor after being released . 37 3.18 Velocity of the flotor after being released onto an emulated, observer-based, stiff wall 37 3.19 The control effort applied by an observer-based .controller 38 3.20 The time profile of one control loop cycle 39 3.21 Execution times of position sensing and control effort 39 vii 3.22 Position of the flotor for third-order observer-based controller as flotor is released 43 3.23 Calculated velocity of the flotor for the third-order observer-based controller when flotor is released 43 3.24 Control effort applied to the flotor by the third order system 44 3.25 Simulated position of the flotor after being released onto an emulated stiff wall . 46 3.26 Simulated control forces on the flotor after being released onto an emulated surface 47 3.27 M a t l a b r M / S i m u l i n k r M block diag ram of stiff wall emulation 48 3.28 Velocity vs position of flotor when released onto an emulated stiff wall 49 3.29 Measured flotor position after being released onto an emulated stiff wall 49 3.30 Recorded control forces after being released onto an emulated stiff wall 50 3.31 Measured position of flotor as it is being manipulated by an operator 51 3.32 Control forces exerted on the flotor when manipulated by an operator 52 3.33 Two dimensional view of total force, Ft, and torque, recalculation 53 3.34 Calculated forces applied to the flotor as it encounters the stiff walls of corner. . 56 3.35 Calculated torques applied to the flotor as it encounters the stiff walls of corner. 57 4.36 Karnopp's model for stick-slip friction 59 4.37 Digital controller emulation of stick-slip friction 60 4.38 Measured and simulated flotor position 61 4.39 Measured and simulated flotor velocity 62 4.40 Measured position and XSTUCK position of the flotor 63 A.41 Schematic of Surface contact model 73 C.42 Information sheet for subjects doing accuracy tests on maglev wrist 78 C.43 Information sheet for subjects doing time completion tests on coarse-fine system. 79 viii First and foremost, I would like to thank my supervisor Dr. Tim Salcudean. I feel he has given me far more than duty requires. I am grateful for what he has taught me both academi-cally and practically, and the opportunities he has given me that have challenged my inner fears. I would like to thank research engineers and fellow graduate students Alison Taylor, Niall Parker, Simon Bachmann, Dan Chan, Shyan Ku, Chia-Tung Chen, Joseph Yan, Ming Zhu, John Hu, and Ray Sewlochan for guidance, discussion, and friendship. The work done by Mark Milligan, Chris Sheffield, Dave Fletcher, Don Dawson and Leiff Kjolby also deserve thanks. I must thank Karen Gosling for being patient and understanding. Finally, I dedicate this work to my parents and my brother for always being there. Funding for the work in this thesis was provided by an ASI fellowship and IRIS 2. ix Chapter 1 Introduction The title of the thesis gives an indication of what the thesis is about. Essentially, the chapters within the body of the thesis describe a joystick and the emulation of stiff walls and stick-slip friction. But first, an overview is useful to familiarize the reader with the subjects that are involved in the ideas presented later. 1.1 Teleoperation Teleoperation, as the name implies, is an operation from over or through a barrier. A teleop-eration system consists of two major components: a joystick (master) controlled by a human, and a remote manipulator (slave) that interacts with the environment. During operation the slave follows the master in a predetermined manner (e.g. tracking the position of the master). The combination of dexterity and decision making ability of the human, together with the ability of the slave manipulator to operate in inhospitable and inaccessible environments make teleoperation a very powerful tool. As early as the 1950s, mechanical teleoperation systems were being used to manipulate radioactive material [14]. Now, with high speed computers, teleoperations systems are much more versatile, and can be found in nuclear, underwater, space, medical [35], industrial, and security and civil applications [15]. By measuring the environmental forces at the slave, forces can be applied to the master to give the operator a feeling of the environment in which the slave is working. This is true whether the slave is simulated in a virtual world, or is operating in the real world. One example of an application that involves a virtual slave manipulator is surgery training [37, 22]. With 1 Chapter 1. Introduction 2 a simulated patient and slave displayed on a computer screen, the trainee would be able to control the slave using the master and feel the tissues and blood vessels of a patient without actually going inside the patient. The forces applied to the master during the operation would be calculated from the interaction between the model of the slave and the model of the tissues and blood vessels. Another application is in the area of computer-aided design ( C A D ) . In C A D , the user can manipulate tools or components to see how they interact and fit together. Again, the interaction forces are calculated from the tool model and the component models. In these applications, the master and slave are in close proximity, but this does not always have to be the case. Distances between the master and slave are only limited by transmitters and receivers, but the signal delay, due to large distances, from master to slave and back rules out the use of measured forces for feedback [38]. Instead, the use of "virtual fixtures" has been proposed [21]. The master would work against a synthesized virtual environment that is a replica of the physical environment of the slave. It is updated regularly but with a delay; allowing the operator to program the slave behavior in the virtual environment free from delay. For such applications, the feedback forces applied to the master enhance accuracy and safety [2]. Ideally, transparency 1 would be achieved, but only a few devices are capable of such high performance. The masters are commonly called haptic 2 interfaces. 1.2 Haptic Interface A haptic interface is designed to be an interface between the human and the slave manipulator. Generally, when one talks about a haptic interface, the accompanying slave is an emulation in a computer simulated world. The model of the slave interacts with the model of the environment. The interaction forces are calculated based on some law and are sent back to the haptic interface to be actuated. Essentially, it is designed to immerse the operator in the virtual world through transparency describes a situation where an operator manipulating the master experiences the same kines-thetic and tactile sensations as experienced when manipulating the work environment directly. 2haptic. relating to or based on the sense of touch [11]. Chapter 1. Introduction 3 kinesthesia 3 and touch. Although the idea of providing kinesthetic and touch feedback to the computer user has been put forward as early as 1972 [18], compared to the plethora of devices available for user input (e.g., mice, joysticks, trackballs, graphics tablets and light pens), there are only a handful of devices designed to provide kinesthetic and tactile 4 feedback to the user. There are several reasons for the lack of such "haptic interfaces". First, the computational requirements for hap tic interface control are substantial and could not be satisfied with inexpensive microcontrollers until quite recently. Second, only recently has there been any work in the design of high-performance mechanical systems usable as haptic interfaces. Examples include the systems designed by Iwata [9, 10], the magnetically levitated (maglev) joysticks designed by Hollis and Salcudean [31, 33, 34, 32], the hand system designed at Harvard [29], the 4-DOF manipulandum developed at Northwestern University [27], the 2-DOF direct-drive "MagicMouse" [20] and the Queens Haptic Interface [30]. A magnetically levitated joystick is used as part of the hardware setup for this thesis. 1.2.1 Magnetically Levitated Joystick The U.B.C. magnetically levitated joystick (also referred to as maglev joystick or maglev wrist) has many of the qualities desired in a hand controller needed for psychophysical experimentation and mechanism emulation. The maglev wrist is a levitated rigid body similar to a multi-dimensional speaker with wide gaps between the coil and the magnets. Its operation is explained in Chapter 2. The maglev wrist is an easily programmed device. The stiffness and damping can be altered dynamically by changing controller gains within the software. The device is essentially frictionless. Air damping and friction due to wire connections are minimal. It has a low moving mass and high force and position bandwidth; furthermore, the 3kinesthesia: the sensation by which bodily position, weight, muscle tension, and movement are perceived [11]. 4tactile: of, relating to , affecting, or having a sense of touch [11]. Chapter 1. Introduction 4 position sensing has high resolution. Since the maglev wrist is an active device, additional hardware must be added to provide the necessary power. The power requirements can be large even when maintaining a nominal center position (up to 140 Watts). One concern when operating the maglev joystick as a master is the possibility of power failure. In this event, the handle will drop. Misleading position data from the handle could cause the device being controlled by the maglev joystick to move unpredictably. Because the actuation forces are generated by coils moving in a magnetic gap, the workspace is inherently small; however, this can be compensated for by placing the maglev joystick on a coarse motion platform. 1.2.2 Coarse-Fine Approach The ability of a teleoperation system to accurately reproduce, at the master, the mechani-cal impedance encountered by the slave is broadly referred to as "transparency". Because it depends on the mechanics, controller, hand and environmental impedances, and human psy-chophysics, transparency is difficult to quantify. Broad attempts based on the experience of experts and some human psychophysics are presented in [26, 37]. The experimental work presented in [33, 39], has shown that high transparency can be achieved by a fine motion master/coarse-fine slave approach to teleoperation system design. The system used identical maglev master and wrist, and;its only drawback was the relatively small motion range of the master. However, as suggested in [33], the small motion range can be overcome by mounting the maglev master on a coarse motion platform. In every other respect (frequency response, back-driveability, etc.) the device used in [33] exceeds the requirements for transparency presented in [26]. One of the long term goals of the work presented in this thesis is to develop a coarse-fine hand controller by using performance specifications obtained with the U B C maglev master [33] mounted on a CRS-A460 robot. In this thesis the feasibility of such a concept is demonstrated by using this system to generate realistic emulation of physical phenomena such as static friction Chapter 1. Introduction 5 Table 1.1: Human Operator Input/Output Capabilities Output Arbitrary trajectory tracking 1 Hz. Periodic (or known) trajectory tracking 7 Hz. Reflexive responses 10 Hz. Isometric responses (i.e., force responses without motion) 10 Hz. Input Proprioceptive/kinesthetic sensing 20-30 Hz. Tactile sensing (low-amplitude vibrations) 320 Hz. and contact with stiff walls. 1.3 Objectives velocity before contact T ~" contact ^ surface spring ^ r ^ damper //'//////// Figure 1.1: Stiff wall model. Before psychophysical experiments can begin that quantify required specifications for hand controllers, emulations must be devised that exhibit realistic interactions with an environment. Two extremes exist: the free motion environment, and the rigid environment. For realistic sensations, true free motion, and a perfectly rigid environment do not need to be emulated. This is true because human sensory limits only need to be matched for full perception, see Table 1.1 [37]. Lawrence analyzes free impedance, constrained impedance, and human sensory limits in [7]. The knowledge of these limits can be exploited to simulate the sensations of free motion and rigidity, but first a model for the two different environments must be formulated. Free motion Chapter 1. Introduction 6 can be modelled as a free mass in unconstrained space. A stiff wall can be modelled as the spring and damper in Figure 1.1 with a high spring stiffness [17, 16, 23]. Previous mechanism emulation is reported by Minsky, et al. [23] and Ouh-Young, et al. [24]. The emulation of sandpaper has been done by Minsky," et al. [23] for testing roughness perception. Subjects were able to order the sandpaper patches with reasonable consistency. Ouh-Young, et al. [24] successfully built a molecular docking system. The intention was to aid operators in fitting complex drug molecules together. In this thesis stiff walls and stick-slip friction have been emulated successfully. 1.3.1 Stiff Wall Emulation Colgate, et al. [17, 16], and Minsky, et al. [23] have discussed the emulation of stiff walls. They found that the system formed by the operator and the hand controller often becomes unstable at the contact surface (see Figure 1.1). Colgate argues that an appropriate solution is to ensure passivity of the hand controller (z.e.the energy input to the device is greater than or equal to the energy output by the device). The excess energy is found in the compression and release of a virtual spring. During compression, the control effort approximates the spring force that is held for each control cycle. The average force is less than that of the physical spring. During release, the same approximation occurs, but the average force is greater than that of the physical spring. The difference between the two average forces indicate the storage of energy. This argument is conservative because a non-passive stiff wall can be emulated stably. Although a passive system ensures stability, the stiff wall may not be stiff enough to be perceived as a rigid wall. Furthermore, a passive wall cannot be emulated with a control delay because a delay induces energy storage. It has been found by Minsky, et al. [23] that increasing virtual damping and increasing the control sampling rate stabilize the system. Velocity is approximated by a position difference equation. This virtual damping has a limit though; when increased too much, it causes insta-bility. A higher control sampling rate was also found to have a stabilizing effect, but hardware Chapter 1. Introduction 7 limitations may prevent a higher control sampling rate. In this thesis, two approaches have been adopted to deal with the stability problem of stiff walls. The first utilizes the spring damper system, but adds a braking pulse at the surface that removes the kinetic energy upon collision with the stiff wall. This stops the motion of the hand controller and makes the surface feel hard. The second approach is based on an observer design that takes into account the one period control sampling delay between sensing and actuation. 1.3.2 Stick-Slip Frict ion Emulat ion The emulation of stick-slip friction involves two modes-stick and slip. The stick mode keeps a body in place until a force threshold is reached; at this point, the body begins to slip with a velocity. When the body slows below a threshold velocity, it sticks again. Stick-slip friction is present in most actuators and is normally an undesired characteristic that must be overcome. In some actuators, stick-slip friction can be ignored, but in other actuators, it can cause limit cycles and other nonlinear behaviour. Nevertheless, stick-slip friction has useful applications such as maintaining the position of a hand controller. 1.4 Exper iments An experiment that evaluates the tradeoffs in the emulation of stiff walls has to be designed. Since no standard tests have been found, some were developed. It is desirable to design objective tests because they are easier to administer and are less confounding. Two reasonable criteria for judging the effectiveness of the stiff wall have been developed. They are an accuracy test and a completion time test. In the accuracy test, the subject locates a wall as accurately as possible. In the completion time test, the subject attempts to complete an assigned task in a minimum time. For both tests, statistical analysis must be performed on the resulting date to determine how significant the data is. From the statistical analysis, it can be determined how useful the new method for the emulation of a stiff wall is. Chapter 1. Introduction 8 1.5 Brief Survey of the Thesis Chapter 2 gives an explanation of the hardware and software used in the coarse-fine structure. Chapter 3 introduces emulation methods for stiff walls. Detailed explanations of an observer-based design and braking pulse design are presented. Simulations and experiments are per-formed. Chapter 4 introduces and explains the emulation of stick-slip friction. Simulations are compared with experiments with good results. Chapter 5 details the experiments which test the emulation of stiff walls using the UBC mag-netically levitated wrist and a CRS-A460 robot. Chapter 6 is the concluding chapter and includes contributions and future work. Chapter 2 Implementation of the Coarse-Fine Setup 2.1 Overview This chapter describes the implementation of the coarse-fine hand controller. On the end-effector of the CRS-A460 robot (coarse stage) is mounted the U B C magnetically levitated joystick (fine stage). In this coarse-fme configuration, the high performance required of a haptic interface is furnished by the maglev joystick while the large workspace is provided by the robot. The structure of the maglev joystick is described and shown, and a brief description of the CRS A460 robot and the hardware is presented. Later, in the software section, the software modules and interaction between the robot, display, and control are described and shown in Figure 2.5. Further more, the rate control implementation that provides the operator with a large motion range is described. Finally, some tracking results are shown. 2.2 Hardware 2.2.1 Magnetically Levitated Joystick The unique feature of the hardware is the U B C magnetically levitated joystick (referred to as joystick or wrist), designed by Salcudean following [31]. Its assembly sketch and characteristics are shown in Figure 2.2 and Table 1. The device has six Lorentz actuators, arranged in a star configuration with 120° symmetry. Each actuator consists of a flat coil immersed in the magnetic field of four rectangular magnets attached to permeable plates that contain the flux. -The actuator produces a force proportional to the current passing through the coil. In keeping with the terminology of [31], the actively 9 Chapter 2. Implementation of the Coarse-Fine Setup -10 levitated joystick handle is referred to as the "flotor". The location of the flotor with respect to the stator is detected by sensing the projections of three narrow-beam LEDs on the surfaces of three two-dimensional Position Sensing Diodes [12]. Actuator currents are provided by power amplifiers each having a maximum continuous current of 10 A. Chapter 2. Implementation of the Coarse-Fine Setup 11 Flotor Top LED Mounting Columns Vertical Magnet Assembly PSD Mounts Vertical Coil Horizontal Magnet Assembly Flotor Base Horizontal Coil Support Post Stator Base Figure 2.2: The U B C maglev joystick assembly sketch (by C .T . Chen). Chapter 2. Implementation of the Coarse-Fine Setup 12 Table 1: UBC MagLev Joystick Characteristics Dimensions Cylinder with r = 66 mm, ft = 110 mm Stator mass 2 Kg Flotor mass 0.65 Kg Payload (continuous) 2 Kg (along the z-axis) Translation Range ± 4 . 5 mm from center Rotation Range ± 6° from center Resolution < 5 pm (trans.), < 10 /irad (rot.) Force/Torque Freq. Resp. >3 kHz Closed-Loop Position Resp. >30 Hz (trans.), >15 Hz (rot.) Freq. Resp. Actuator force constant 2 N/A Max. continuous current 3 A / coil Peak current 10 A / coil In comparison to the maglev wrists presented in [31, 32], that use coils arranged on the faces of a hexagonal cylindrical shell, the U B C wrist is substantially smaller, although it can produce the same forces and only slightly reduced torques. For the experiments presented in this thesis, the U B C maglev joystick flotor can be modelled as a single controlled rigid mass, of mass m = 0.7kg. Wi th the present current amplifiers, the maximum force along the vertical axis is 60 N . 2.2.2 CRS A460 Robot The CRS A460 robot is an elbow manipulator with a spherical wrist as shown in Figure 2.3. The movement of the robot can be programmed in several ways. The simplest is through the use of the R A P L - I I language that comes with the robot controller and is run on an Intel 8086/8087 microprocessor. Although R A P L - I I is relatively easy to use, it is slow and inflexible. Instead, a process control program (PCP) [5, 39] is used to control the motion of the robot. A VMEbus system generates setpoints (robot desired positions) from the maglev wrist position and sends them across a parallel channel, as 16-bit joint angles, to the robot controller. Within the controller a P C P accepts the setpoints and delivers them to the trajectory generator. A setpoint is sent every 32 ms (can be set as low as 16 ms). The synchronization between the robot controller and the VMEbus system is achieved using parallel port handshake lines. The Chapter 2. Implementation of the Coarse-Fine Setup 13 VMEbus system waits until the controller is ready .to accept a setpoint. Once the setpoint is received, six axis cards compute and execute the appropriate velocity profiles for the each joint. Each axis card possesses an Intel 8096 microprocessor for computation. For a more complete description of the robot, controller, and communications see [5, 4, 39, 6]. 2.2.3 Hardware Configuration The maglev joystick flotor is kept in controlled "flight" by the VMEbus system, which consists of a SPARCengine™ processor running the V x W o r k s r i W real-time operating system, and as-sociated input-output cards. A Silicon Graphics workstation is used for graphical display and communicates with the haptic interface control processor (SPARCengine) via a serial link. The maglev joystick is attached to the end of a six degree-of-freedom (DOF) robot (CRS A460) to enlarge the workspace; Figure 2.3 is a photograph of the setup and Figure 2.4 is the correspond-ing planar drawing. VxWorks communicates with the robot controller through a M i c r o V M E 210 board that receives and transmits data across a 16 channel parallel link. In addition to the commercial hardware described above, a robot support bracket and a gripper adapter plate were designed. The robot support bracket allows the robot to be placed on the ground, and the gripper adapter plate gives the robot a reasonable work volume free of singularities. Figure 2.3: Photograph of coarse-fine system. Chapter 2. Implementation of the Coarse-Fine Setup 15 1. Six current channels supplying power to the maglev wrist coils. 2 . Six signal channels indicating required current for the maglev wrist coils. 3. Twelve signal channels sensing position from the position sensing diodes. 4. Twelve conditioned signal channels from the position sensing diodes. 5. Signal channels indicating the position of the robot. 6. Six signal channels sending and indicating the position of the robot. 7. Current channels supplying current to the robot. 8. Serial channel indicating position of virtual box. Figure 2.4: Hardware Setup. Chapter 2. Implementation of the Coarse-Fine Setup 16 2.3 Software 2.3.1 Software Configuration Software Implementation Silicon Graphics Display Position and Orientation Communications Task Maglev Joystick Task CRS Robot Task and Communications Robot Communications (robot side) Start Draw outer box wire frame Draw inner box sides Get new position and orientation Update position and orientation (start) Get position and orientation Send position and orientation Delay 1/20 th of a second Data Transfer: 1. Filtered maglev joystick position. 2. Current robot position and orientation. 3 . Robot joint angles. 4. Current commanded robot joint angles over parallel channel. 5. Current position and orientation of end-effector. 6. Current position and orientation of end-effector across serial line. (start) Sense maglev joystick position Transform position to world coordinates Filter position and send Calculate world flotor position Calculate cube force Centering force: world, local Apply forces to flotor Get current robot joint angles ® Do forward kinematics and send I Get rate from filtered "I joystick position Calculate next robot position from rate Limit position to constrained env. Do inverse kinematics Limit joint motion Send joint position to CRS robot Figure 2.5: Software Setup. Send current robot joint angles Receive CRS robot joint angles Move robot toward desired position (4) For the coarse-fine system there are five main software routines that are executed. They are shown in Figure 2.5, and the following section discusses their interaction. Of these five rou-tines, three are executed on the VME-based SPARCengine™ (VxWorks): the position and orientation communications task, the maglev joystick task, and the CRS robot task. The robot communications routine is executed by the robot controller and the graphics routine runs on the Silicon Graphics workstation. A brief description of each follows. Chapter 2. Implementation of the Coarse-Fine Setup 17 1. Graphical display is provided by a Silicon Graphics workstation (SGI). For example, Fig-ures 2.3, 2.4, illustrate the position of a surface-rendered rigid cube constrained within a wireframe cube. The inner cube coordinates are determined from the coordinates received from VxWorks via a serial link. A three-element Cartesian coordinate system is used for position and a four-element quaternion [13] for rotation. A l l seven 14-bit integers are received as a packet over the serial link and converted to floating point values correspond-ing to the seven coordinates. The quaternion is used instead of the nine element rotation matrix because fewer elements are required for transfer. The rigid inner cube is moved to new coordinates (rotation followed by translation) whenever they are received. Then, it is redrawn and the cycle begins again. 2. The position and orientation task executing on VxWorks communicates the current ma-glev flotor world coordinates to the SGI. First, the floating point coordinates are read from the maglev joystick task. Next, the coordinates are converted into 14-bit integer values. These integers are sent across the serial line as a packet to the SGI workstation. The packet starts with a three-element Cartesian coordinate and ends with a four-element quaternion coordinate. A packet is sent only every l /20th of a second. This rate has proved to be sufficient because sending data across the serial line at a significantly greater rate is pointless when humans can only see changes at 25-30 Hz [1]. The update rate of l /20th of a second has proved to be sufficient for visual perception. 3. The maglev joystick task computes the coordinates (position and orientation) of the flotor, the control effort to be applied to the flotor, and the desired robot endpoint velocity. The control effort applied to the flotor is calculated from the local and world flotor coordinates. The current world robot coordinates are received from the CRS robot task. Two sets of control forces applied to the flotor calculated from these coordinates. The first is a centering force that is calculated from the displacement of the world flotor position from the nominal center xrejw (explained later). The second is the force applied to the flotor when contacting objects on the graphical display. Before the desired endpoint velocity of r Chapter 2. Implementation of the Coarse-Fine Setup 18 the robot is calculated, the flotor coordinates are filtered to remove high frequency motions (e.g., greater than 1 Hz translation, 3 Hz rotation). The filtered flotor coordinates are sent to the CRS robot task as explained in subsection 2.3.5. 4. Initially, the CRS robot task receives joint setpoints from the CRS robot. Once the starting joint setpoints are received, the CRS robot task computes the forward kinematics to find the initial end-effector position. From the initial position, the CRS robot task takes the desired rate from the maglev joystick task and calculates the next position in world coordinates. If the end-effector position infringes upon object boundaries within the workspace, a new end-effector position is calculated at the boundary of the object. The inverse kinematics are computed to give the robot joint setpoints within the joint limits. These setpoints are transferred to the robot controller via a parallel link and executed. After the joint setpoints are sent to the robot controller, a new rate command is taken and executed. Although the robot is controlled in rate mode, it is tracking the position of the flotor. See subsection 2.3.2. 5. The robot communications task is a P C P running on the CRS controller. It begins by reading the robot joint angles from memory and sending them to the VMEbus via the parallel port on the controller. Next, it receives setpoints from the CRS robot task and passes them to memory to be read by the axis- cards. The axis cards read the joint setpoints, plan a trajectory, and execute the trajectory. Control of data transfer is maintained by the robot P C P . When the controller is ready to send and receive new joint setpoints, the routine is executed again. 2.3.2 Rate Control In the coarse-fine approach for a hand controller, the coarse stage (CRS robot) must track the fine stage (maglev joystick) in some way. Two common approaches are position control and rate control. In position control, the coarse stage motion is a scaled version of the fine stage motion. Chapter 2. Implementation of the Coarse-Fine Setup 19 xCRS = KAxtJ (2.1) where XCRS is the robot position, K is the scaling factor, and Axj is the transformed maglev joystick position in flotor coordinates. A local centering force is applied to the flotor that restores the flotor to the world center. The disadvantage of position control is poor control resolution. The robot becomes undesirably sensitive to small displacements in flotor position. In addition, position control is not feasible because the slightest delay causes instability [39]. In subsequent experiments, rate control is used. Ax, Coordinate Tranformation a K C R S V C R S 'Inverse Kinematics Joint angle set points to robot controller Figure 2.6: Block diagram for rate control. In rate control, the robot moves at a velocity proportional to the displacement of the flotor from its nominal position. The equations are XCRS = - XCRS) (2.2) XCRS + OLXCRS = axj (2.3) where XCRS is the CRS robot end-effector position, Axj is the maglev wrist flotor position, and a > 0 is the rate gain. From (2.3), it follows that the robot position tracks the flotor. The nominal position of the flotor is taken to be zero, so the calculated rate is proportional to the flotor deflection from the nominal center in world coordinates. Figure 2.6 shows the block diagram for rate control. It should be noted that Axj is in flotor coordinates and XCRS and Xj are in world coordinates. A high rate gain, a, provides fast tracking of the flotor. However, due to the high gain, instability can result when the robot tries to keep the stator centered within the flotor. A small Chapter 2. Implementation of the Coarse-Fine Setup 20 deadband 1 surrounding the local center position of the flotor is introduced to create a stable center position. Also, a restoring force is added to return the flotor to the world center when released. To achieve the restoring force, a force proportional to the position of the flotor relative to the world center, xrej_w is applied to, the flotor. This pushes the flotor towards center, in turn, moving the robot to center. Additional information about rate control can be found in [39] and [28]. A block diagram of the full rate controlled coarse-fine system can be seen in Figure 2.7. In the coarse-fine system with rate control, other issues arise that are addressed in the next section. First, the kinematic calculation (the transformation from Cartesian coordinates to joint angles and back) and the coordinate transformation are explained. Second, high frequency movements of the flotor tend to start large oscillations that lead to automatic power shut off. These movements can be filtered out to improve stability. Finally, the transition between the deadband and rate control is not smooth, so a more gradual transition can be implemented. The procedure for obtaining the values in Table 2.2 for the rate control system in Figure 2.7 will be explained later. Ax |Coordinate Transformation Y+ kp+kd s -—r*") 1 +Y AX' Filter J U Normalized Rate function Inverse Kinematics Joint angle setpoints to robot controller T Forward Sensed joint Kinematics angles Robot joint angle actuation Environment interaction force calculations Coordinates to Silicon Graphics Display Note: the initial position of the robot is assumed to be known. Figure 2.7: Block diagram of the coarse fine system. lThe deadband is the area in which the master has no effect on the slave thereby increasing stability. Chapter 2. Implementation of the Coarse-Fine Setup 21 Table 2.2: Coarse-fine system parameters Axis kp k units kd units Xref-W units P units fc units X 0.3 0.03 N / m m 0.02 N*s/mm 110.0 mm 8.0 mm/mm 1.0 Hz Y 0.3 0.03 N / m m 0.02 N*s/mm 0.0 mm 8.0 mm/mm 1.0 Hz Z. 0.3 0.03 N / m m 0.02 N*s/mm 910.0 mm 8.0 mm/mm 1.0 Hz X-rotation 10.0 N/rad 0.2 N*s/rad Y-rotation 10.0 N/rad 0.2 N*s/rad Z-rotation 10.0 N/rad 0.2 N*s/rad 9 2.5 N/rad 0.0 rad 0.05 rad/rad 3.0 Hz Note: rotations were taken as an angle 6 about some axis except kp and kd. They were taken as the rotation about each axis. 2.3.3 Robot Kinematic Transformations The robot controller can receive joint angle setpoints or Cartesian setpoints. Joint angle set-points are chosen because the slow down in update rate due to the transformation between Cartesian coordinates and joint angles (inverse kinematics) on the controller is too high (e.g. 55 ms compared to the joint angle update rate of 16 ms). Hence, the inverse kinematics are computed on the VMEbus . Another solution is to compute the jacobian and use joint control. This should work well, but has not been tried. Figure 2.7 shows the inverse kinematics being performed just before the joint angles are sent to the robot controller. Forward kinematics transform the robot joint angles into Cartesian coordinates. The for-ward kinematics can be seen in Figure 2.7. The robot senses the robot joint angles and sends them to the VMEbus where the forward kinematics are performed. The resulting Cartesian co-ordinates are used to calculate the forces applied to the flotor. Methods for calculating forward and inverse kinematics are explained in [25]. 2.3.4 Coordinate Transformations With the maglev joystick mounted on the end-effector of the robot, the local flotor frame rotates and translates with the end-effector. The coordinates of the flotor are measured with respect to the stator, so the flotor coordinate frame is not aligned with the world frame in which rate control is computed. Therefore, a coordinate transformation is performed to align Chapter 2. Implementation of the Coarse-Fine Setup 22 the frames. The robot then moves in the same direction as the flotor regardless of the position and orientation of the flotor. 2.3.5 Filtering The transformed position of the flotor is low-pass filtered to reduce high frequency motions that determine the rate of the robot. The high frequency motions are attenuated because they introduce instability into the system. The instability results because of the robot delay in achieving the desired position. A large high frequency motion of the flotor will give a large rate command, and when the robot tries to track the position, the maglev stator will move quickly within the flotor (delayed slightly). This results in a rapid change in rate command and instability. The filter removes these high frequency motions and stabilizes the system. The filter is shown in Figure 2.7. Rate Function Although a linear rate function has been explained earlier, a non-linear function can be enforced with a deadband near the center region of the maglev joystick. From the edge of the deadband to the edge of the workspace of the flotor, a function is used to calculate the command rate. See figure 2.8. The commanded rate is a result of the function evaluated at the absolute normalized position and multiplied by a rate gain and sign(xcurrent). The normalized position of the flotor is.(xcurrent - xdeadband)/(xmax - xjeadband) where x c u r T e n t is the current flotor position, Xdeadband is the deadband position Umit, and x m a x is the workspace position Umit. A higher order function was chosen because abrupt transition between the deadband and the Unear rate function resulted in jittering. The cubed function which creates a smoother transition was adopted. Chapter 2. Implementation of the Coarse-Fine Setup 23 Commanded Rate due to Position of Flotor -1 0 1 2 3 4 5 6 Absolute Position of The Flotor (mm) Deadband Normalized Rate Figure 2.8: Profile of some possible rate functions. Shown are \x\ (Linear position), \x2\ (squared position), and \x3\ (cubed position). Finding the Rate Control Parameters The value of xref_w in Table 2.2 for the rate control system in Figure 2.7 was solved analytically, but the remaining parameters were found through experimentation. First of all, a cube had to be found within the workspace of the robot. It had to be the maximum size possible with a minimum achievable rotational angle of thirty degrees anywhere within the cube and about any axis. The size and location of the box was limited by singularities, joint limits, and reach. The cube was found to be centered at xTej_w — [110.0,0.0,910.0] mm with respect to the coordinate system in Figure 2.4 and had a side length of 130.0 mm. The rate gain,/?, was chosen to give a reasonably fast motion at maximum flotor deflection. Next, a digital filter was implemented to stabilize the system for small flotor deflections. A second-order butterworth filter with a 1.0 Hz cut-off frequency was chosen for translation and a 3.0 Hz cut-off was chosen for rotation. Chapter 2. Implementation of the Coarse-Fine Setup 24 The tradeoff was attenuation of quick motions that destabilize the system versus the desired quick response. The gain, k, was chosen to give a world centering force large enough to allow adequate centering yet small enough to be easily managed near the edge of the workspace. The final gains, kp and kd, were chosen to prevent oscillations due to the world centering force, and at the same time, allow the world centering force to adequately center the flotor. Some tracking results are shown in the next section. 2.4 Tracking Results After the coarse-fine system was completed, some results were taken to give an indication of performance. In the following, there are five plots that show the tracking of the robot end-effector. A l l these plots are derived from the same tracking experiment. The experiment involved moving the flotor up quickly then down in the -fa:, — y, and — z direction toward a constraining corner. The quick lifting motion was incorporated to show how fast the system responded. After the quick lifting motion, the flotor was pushed in the direction of the corner and held there for a brief moment and released. The world centering force pushed the flotor back toward the nominal center which in turn moved the robot back to center. Figures 2.9, 2.10, 2.11 show the x, y and z position components of the motion. Figure 2.14 a three-dimensional view of the end-effector moving to the corner and back. Figures 2.12 and 2.13 show the rotation and axis of rotation of the end-effector as it moves along its trajectory. The measured rotation and axes are noisy only to small motion. If the motions were larger, the noise would be relatively much smaller. On some of the plots, the robot end-effector position does not return to center. The expla-nation for this is the interaction between the local flotor centering force and the world flotor centering force. The local centering force has a much higher gain than the world centering force. When the location of the flotor comes near the nominal center position, the world cen-tering force becomes small in comparison to the local centering force. At some point near the nominal position, the two forces balance out and keep the flotor within the deadband. Within Chapter 2. Implementation of the Coarse-Fine Setup 25 the deadband, the flotor is not commanding the robot to move, so the robot stops near the nominal position, but not at the nominal position. There is a tradeoff between error in restored position and stability (due to the local centering force). End-effector tracking of the commanded position is good, but there is an approximate 120 ms delay between sending a desired position to the robot controller and the robot achieving the desired position. It should be noted that the positions of are measured in world coordinates with respect to a nominal center at xref_w and zero rotation. Plot of Desired and Measured X position 80 60 40 | 20 ° 0 -20 -40 -60 Desired Position Measured Position { l: ~\\ r' li 1 i r: ti \> I, [• it |l v r Ii • f -V / * 4 6 8 Time (seconds) 10 12 Figure 2.9: Desired and measured X position of robot end-effector. In the following chapters, the emulation of stiff walls and static friction, carried out initially on the maglev joystick and later on the coarse-fine system, are explained. Here, the stiff wall emulation corresponds to the environmental interaction box in Figure 2.7. Chapter 2. Implementation of the Coarse-Fine Setup 26 Plot of Desired and Measured Y position 3 4 5 Time (seconds) Figure 2.10: Desired and measured Y position of robot end-effector. Plot of Desired and Measured Z position 3 4 5 Time (seconds) Figure 2.11: Desired and measured Z position of robot end-effector. Chapter 2. Implementation of the Coarse-Fine Setup 27 Plot of Desired and Measured Rotation 6.5 o K 5.5 4.5 1 1 1 A : 1 1 •Desired-Rotation V 1 W Measured Rotation S !' j. 11 : l : n j A v / i • 1 1 i ? : V,. — i f / 1 Ai < " j >• r 0 1 2 3 4 5 6 7 8 9 10 Time (seconds) Figure 2.12: Desired and measured rotation of robot end-effector. Plot of Normalized Desired and Measured Rotation Axis Components 0.9 0.8 0.7 (/) 0) 3 g 0.6 c g 0.5 Q. E o %™ <D N 15 § 0.3 o z 0.2 0.1 0 1 1 1 1 ! z ! ! / \ ! i \ r r 1 * i ! i 1 1 1 1 Desired Axid i i i i i i J Measured Akis i i j X / • 1 I ! ! i < i / T I I 1 1 1 I I 1 4 5 6 Time (seconds) 10 Figure 2.13: Desired and measured rotation axes of robot end-effector. Chapter 2. Implementation of the Coarse-Fine Setup 28 Plot of Desired and Measured Flotor Position Figure 2.14: Three-dimensional position tracking view of robot end-effector. The asterisk, "*", is the starting position of the robot. The path first moves up, then down into the +x, -y, and —z corner and finally back to center. Chapter 3 Mechanical Emulation of Stiff Walls 3.1 Background This chapter addresses the emulation of stiff walls. Stiff wall emulation is difficult to achieve because, due to trade-offs between control performance and stability robustness, very stiff backdriveable systems that have a sufficient margin of stability to allow interaction with an operator are difficult to design. In this chapter, it is argued that, for fight, direct-drive devices with collocated actuation and sensing, the major limitation in the implementation of stiff walls by a common digital P D (position-derivative) controller is the delay caused by data acquisition and control signal computation. Similar limitations have been noted in [23], based on a phase margin argument, and in [17], using a passivity argument, but the results in [23] are optimistic while the results in [17] are conservative. It is also shown, through simulations and experiments , that a remarkably effective way of increasing the perceived stiffness of a virtual wall in a stable manner is. to add a "braking pulse" to the control signal upon penetration into the virtual wall. 3.2 Stiff Wall Emulation A model of a hand-held joystick flotor interacting with a stiff wall is given by mx = / — kdi — kpx if x < 0 = / if x > 0 (3.4) where x is the mass displacement, kp is the wall stiffness and kd is the wall damping. The hand force / can be thought of as having an exogenous "active" component that depends on the 29 Chapter 3. Mechanical Emulation of Stiff Walls 30 mass position and the force desired by the operator, and a "passive" component that depends on x and the hand impedance, or / = fa — Ex. The 0.99, 0.95, 0.9 and 0.85 level sets of max(abs(roots(chi))) -0.05 0.05 0.1 0.15 0.2 0.25 . 0.3 0.35 0.4 Normalized velocity gain cv Figure 3.15: Level sets of the largest magnitude of the roots of % vs non-dimensional coefficients Cp, Cy. Experimental evidence (of the authors and reported elsewhere), suggests that the operator hand impedance has a stabilizing effect on the flotor, since the hand acts primarily as a damper. Since the human impedance, H, is difficult to quantify (it depends on the grip, arm extension, etc.), it makes sense to consider first the emulation of a stiff wall when the flotor is pushed by a constant force, that, if it could be isolated, would correspond to the active component fa of the hand force. This can be implemented in a controllable way by "dropping" the flotor onto the emulated stiff surface. The position of a rigid body penetrating the stiff wall under these conditions is given by the solution to (3.4) with / = mg. The derivation for / = 0 is given in Appendix A. The derivation Chapter 3. Mechanical Emulation of Stiff Walls 31 for / = mg is not given because the equations must be solved numerically. For two parallel surfaces, each modelled by a spring-damper system as in (3.4) with / = 0, a rigid body bouncing between the two surfaces with an initial velocity VQ bounce only if the surface damping coefficient p = —7^— < 1 (otherwise, a response without overshoot would result). If p < 1, it can be shown by integrating x2 between crossings into and out of the wall, that the coefficient of energy restitution to the rigid mass for each bounce against the stiff surface is given by r = exp( yp ), which exhibits a sharp decrease from 1 even for very small p (r < 0.6 for p > 0.1). After ten bounces, the amplitude is 1 percent of the original amplitude. Since the energy of the object decreases exponentially in r with the number of bounces, it is clear that a rigid object moving between two surfaces should reach continuous contact in a very short time. Similarly with / = mg and the rigid mass bouncing on one surface, continuous contact would be reached in a very short time. This is obviously supported by experience with most real objects and surfaces, and indicates that the instability problem noted in haptic interfaces is not a "contact" instability, but, rather a question of instability within the stiff wall. The state-space representation of the analog stiff wall, (3.4), with / = 0 is the following. 0 1 1 0 X = x+ — 0 0 m 1 y = 1 0 x A C x r -j T Ax + Bu (3.5) where x is the position of the mass, x x x and u = [kp kd]x. Consider now the discrete controller implementation of the stiff wall (3.4). Assuming that the actuation force is constant between measurement samples, the discretized model of the stiff wall becomes Chapter 3. Mechanical Emulation of Stiff Walls 32 1 T T 2 / (2m) 0 1 Tim yk - [1 CVJxfc = Cxk A Uk - Gxk + Huk (3.6) where T is the sampling interval, x;t is the state-vector of position and velocity sampled at frequency 1/T, and the notation Sk = s(kT) is used for any signal s. This leads to the z-domain transfer function model T 2 2 + 1 y(z) = rC/(z) (3.7) 2m ( 2 - l ) 2 The stiff wall component of (3.4) is usually implemented by a digital P D controller, using a first-order finite difference approximation of the velocity term: . Uk = -kpXk-i - -^ (z/i-i - Xk-2), and leads to a closed-loop characteristic polynomial given by X{z) = z4 - 2z3 + (1 + cp + cv)z2 + cpz - cv , where the non-dimensional "stiffness" and "damping" are given by T rp2 — r, ~kd 2m (3.8) (3.9) (3.10) The level sets of the maximum absolute values of the roots of x(z) c a n b e plotted vs the non-dimensional coefficients cp and cv and are shown in Figure 3.15. They show fundamental limitations on the achievable "virtual" stiffness and damping with the controller (3.8). For example, with m = 0.7 kg'and 1/T = 200 Hz, the maximum kp in (3.8) is approximately 3900 N / m , and is achieved with a value of kd in (3.8) of approximately 60 N/ (m/s ) . Furthermore, the interpretation of kp and kd as virtual stiffness and damping is incorrect. A n ideal analog con-troller implementing (3.4) with ftp=3900 N / m and 6e=60 N / m would produce an underdamped response that settles very fast after a reasonable overshoot, while the discrete implementation (3.8) would lead to a marginally stable system. Chapter 3. Mechanical Emulation of Stiff Walls 33 It is important to note that, unlike in previously reported work, the model (3.8) includes a one-sample delay between the position signal and the applied force. Such a delay always occurs in practice, as the control sampling rate is increased to the maximum that allows the control signal to be computed from measurements, and does not allow full placement of the closed-loop (discrete-time) system poles. Instead of applying the control law (3.8), a much better design approach would be to add a pole at the origin of the model (3.7) to include the computational delay, and then perform a robust, observer-based discrete-time controller design. This would allow arbitrary pole placement and a tradeoff of wall stiffness vs robustness to disturbances and model errors, i.e., hand forces and impedances. A second approach that increases the perceived stiffness of a stiff wall has been implemented with excellent results. This approach uses a braking pulse that brings the flotor to a stop in one control cycle. It is explained after the observer-based controller. 3.3 Observer-Based Controllers for Stiff Wall Emulation In this section, a second-order observer-based controller, based on the model (3.7) is designed and implemented. Plots showing the position, velocity, and control effort for the second-order observer-based controller and the controller based on the P D control law, (3.8), are shown. For these plots, the flotor is dropped onto an emulated surface and the control effort is applied for y < 0. Finally, a third-order observer-based controller is designed and implemented based on the model (3.11). Plots showing position, velocity, and control effort for two stiffnesses, 20 N /mm and 40 N /mm, are shown for comparison. 3.3.1 Second-Order Observer-based Controller Since we know the dynamics of the discrete system, (3.6) we can create a state observer that gives a better estimate of velocity than the currently used first-order finite difference equation Chapter 3. Mechanical Emulation of Stiff Walls 34 vk_i = ~Vk~2. A better estimate would hopefully lead to a higher damping gain ,kd, and consequently, a higher attainable stiffness gain, kp. The observer equations are obtained by using a copy of the model of the plant driven by the output error: X f c + i = Gkk +Huk +Ke(yk - Vk) yk = Cik (3.12) where x is the estimated state vector and the control law is uk = —kpXk-\ — kdVk-i- The block diagram for (3.12) is in Figure 3.16. z 1 ! X k-1. K K -1 W x k+ll X, * L removes the y component of x^ Figure 3.16: Block diagram of observer-based control system. Chapter 3. Mechanical Emulation of Stiff Walls. 35 The observer error dynamics are given by (x J k + 1-xj t + 1) = (G-ireC)(xjfe-xjb). (3.13) The eigenvalues of (G - KeC) become the poles of the characteristic equation for the observer. So, the poles can be placed by altering Ke, thereby, shaping the response. The characteristic equation is A 0 0 A = A 2 + (Kei - 2)A + 1 - Kei + Ke2T. (3.15) For deadbeat response (i.e., all poles at the origin), one should select Kei = 2 and Ke2 = ^. 3.3.2 Experimental Overview Using the above theory, an observer-based controller has been implemented on the maglev joystick along one axis (Z-axis). Although only the Z-axis is presently working, the control easily extends to all six degrees of freedom. To maintain consistency and repeatability, the flotor was released from its maximum height of approximately five millimeters. This removes the human aspect, and ensures the flotor is released from the same height each time. Furthermore, the other five axes were stiffened up (see Table 3.3 for values) to prevent experimenter interference when the flotor was released, and to prevent motion along other axes while the flotor is falling. The control forces are applied when the flotor is below the plane x = 0 that define the "virtual surface". The forces stop the flotor and hold it at rest against gravity. The flotor is in free motion while above the surface with only gravity pulling it down.' 3.3.3 Results The experiments were performed on the P D and observer-based controllers at 500 Hz. The re-sulting plots can be seen in Figures 3.17,3.18,and 3.19 with the corresponding gains in Table 3.4. 1 T + 0 1 Ke2 1 0 (3.14) A - 1 + Ktl -T K e2 A - 1 Chapter 3. Mechanical Emulation of Stiff Walls 36 Table 3.3: Off Axis Gains Using P D Control Axis kp units kd units X 4.0 N / m m 0.03 N*s/mm Y 4.0 N / m m 0.03 N*s/mm X-rotation 50.0 N/rad 1.0 N*s/rad Y-rotation 50.0 N/ rad 1.0 N*s/rad Z-rotation 50.0 N/rad 1.0 N*s/rad Table 3.4: Z-Axis Gains for P D and 2 n d Order Observer-Based Controller. PD^ Controller Observer-Based Controller Gains kp kd kp kd' Values 10.0 0.05 10.0 0.05 3.5 900.0 Units N / m m N*s/mm N / m m N*s/mm N / m m N*s/mm The poles of the observer are at z = —0.7236 and z = —0.2764. A visual comparison between the P D controller and the observer-based controller can be made by looking at the plots in Figures 3.17,3.18, and 3.19. The flotor was dropped at separate times for clarity. There are two different events in which the flotor is released. In the first one, a P D controller is used to emulate the stiff wall, while in the second one, the observer-based controller is used. The plots show that the observer-based controller, using an estimate of velocity, has a better response and the oscillations die out quickly. The implication is that there is an increase in the region of stability when the estimated velocity is used. Although the second-order observer-based controller provides an improvement, the poles still cannot be fully placed. A further improvement is made by designing a third-order observer-based controller that takes into account the one unit delay. Chapter 3. Mechanical Emulation of Stiff Walls 37 Position of Flotor when Dropped 61 1 1 1 1 1 1 r -2h _ol 1 1 1 1 1 1 1 ' 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Time (seconds) Figure 3.17: Measured position of the flotor as it is released form its maximum height. The control effort is applied as the flotor crosses the zero position. Both the observer-based controller and the P D control are shown. Figure 3.18: Velocity of the flotor as it is released from its maximum height. The control effort is applied once the flotor passes the zero position. A second-order observer-based controller and P D controller are being used. Chapter 3. Mechanical Emulation of Stiff Walls 38 Control Effort Applied to Flotor when Dropped 40 30 % 20 a> o 0 -10 -20 -30 -40 0.1 1 1 1 1 1 1 1 1 : : i : " : " ' : j'; : : Observer-Based controi i' : 1 : pp control |i | , 1 -; = J; ;• ; : : i: . i 1 i i i i 0.2 0.3 0.4 0.5 Time (seconds) 0.6 0.7 0.8 Figure 3.19: The control effort supplied by the observer-based controller and the P D controller. The control effort is supplied after the flotor crosses the zero position. Chapter 3. Mechanical Emulation of Stiff Walls 39 3.3.4 Third-Order Observer-Based Controller Typical Time Profile of Maglev Wrist Control at 500 Hz. Time Markers initialization (0.03 ms) position sampling (1 ms) x . xx - i * t monitoring and control effort output d e b u g g ? n g (0.05 ms) (o.420ms) \ > " > calculations ^ (0.45 ms) s1 J Time control cycle (2 ms) Figure 3.20: The time profile of one control loop cycle at 500Hz. Measurements were taken from a voltage change on one channel of the D / A board. The D / A conversion rate was not taken into account because it is relatively small (5 micro seconds). The third-order observer-based controller was designed and implemented by adding a pole to the model (3.7) to get (3.11). In the second-order observer-based controller design, full pole-placement was not possible because of an incorrect model due to the delay between sensing and actuation; hence, the system could not be completely controllable and completely observable. k-1 k-1 k+1 LJc-2 •k-1 • k+1 time lk+2 Beginning of Sampling Period Position Sensed Control Effort Applied Figure 3.21: Execution times of position sensing and control effort. Chapter 3. Mechanical Emulation of Stiff Walls 40 This delay can be seen in Figure 3.20. Although the position sampling occurs for a large part of the control cycle, it can be approximated by a short sampling at the beginning of the control cycle. A sample and hold is implemented that holds the signals until the A / D conversion takes place. The control update rate is set at the highest frequency possible for the best performance, so the sampling occurs at the beginning of the cycle and the control effort is applied at the end of the cycle which introduces the delay, see Figure 3.21. The third-order design follows that of subsection 3.3.1. In the third-order system, the G , H , and C matrices in (3.6) cannot be found easily. There-fore, the standard observable canonical form is chosen. This leads to the state space represen-tation of the observer 0 0 0 • -2m 1 0 - 1 Zl 2m 0 1 2 0 uk (3.16) Vk = 0 0 1 (3-17) Following the procedure in subsection 3.3.1, the third-order observer design turns out to be X j t + i = (G - KeC)±k - Huk + KeVk (3.18) where G = H = 0 0 1 0 0 1 22 2m l l 2m (3.19) (3.20) Chapter 3. Mechanical Emulation of Stiff Walls 41 C Ke and x .0 0 1 J , KlXk-l - K2Xk-l ~ ^3Xk-l; T I A ei It- e2 A es i II in j (3.21) (3.22) (3.23) (3.24) (3.25) The characteristic equation of (G - KeC) gives the poles of the observer which can be placed using Ke. The resulting characteristic equation is: A 0 0 0 A 0 0 0 A 0 0 0 1 0 - 1 0 1 2 + Kei K, E2 K, e3 0 0 1 A 3 + (Kea - 2)A 2 + (1 + Ke2 )A + Kei (3.26) (3.27) 3.3.5 Results Deadbeat response requires all poles to be at z — 0, (Kei = 0,Ke2 = — 1,A%3 = 2) gives performance similar to P D control. Choosing the poles such that a relationship between the gains Ki, K2i and K3 give a stiffness, kp, and a damping kd is not obvious. One approach is to choose kp and kd for the P D controller that gives the desired closed-loop frequency response. Then, place the closed-loop poles of the third-order controller such that the frequency responses are similar. This has been done, and in practice, the same stiffness was achieved as the P D control, but not any greater. Another approach is to change the observer gains through trial and error. Using this method, a higher stiffness was achieved. This was accomplished by altering the observer gains to min-imize the small amplitude vibrations along the vertical (Z-axis) seen on S te thoscope™. The gains of the controller were then increased to the edge of stability. It was found that the stiffness could be approximated by Ii\ = 0.0, K2 = 50,, and K3 = 50 + kp. Again the observer gains Chapter 3. Mechanical Emulation of Stiff Walls 42 Table 3.5: Z-Axis Gains for Third-Order Observer-based Controller. Controller Observer ' Static Stiffness Gains Ki K2 K3 Kei 3rd order 0.0 50.0 70.0 0.0 -0.6 3.4 20 N / m m 3 r d order 0.0 50.0 90.0 0.0 -0.6 3.4 40 N/m'm were set to minimize the magnitude of vibration. This was repeated until the oscillations could no longer be minimized. At this point, the observer poles for the third-order system were found to be at z = 0.0, z = - 0 . 4 , 2 = —1.0 with a control sampling rate of.500 Hz. The gains are specified in Table 3.5. Using the trial and error method, the maximum stiffness turned out to be more than twice that achievable by P D control. The experiment in subsection (3.3.2) was performed on the third order system. The plots in Figures 3.22, 3.23 and 3.24 show the third-order system for comparison of position, velocity and control effort as the flotor is released onto an emulated stiff wall. In each plot, two static stiffnesses were used, 20 N / m m and 40 N / m m . These plots show that the third-order observer-based design significantly improves the emulation of a stiff wall performance and gives the ability to increase the stiffness of the wall substantially. Another method for increasing the perceived stiffness of a stiff wall takes a very different approach. Instead, the P D control is used as previously mention, and a braking force pulse is applied to the flotor upon transition into the emulated stiff wall. The following section shows the analysis and experiments of the braking pulse. Chapter 3. Mechanical Emulation of Stiff Walls 43 Position of Flotor when Released for Observer-Based Controller .1 2 — 1 1 1 1 1 i -: \ -V •\ : : I stiffness = 40 N/mm ; — : i stiffness - 20 N/mm : A i i 1 V : : r — ! i i i o l I I 1 1 1 1 ' 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Time (seconds) Figure 3.22: The position of the flotor for third-order observer-based controller as the flotor is released in separate events is shown. Two stiffness are shown: 20 N / m m and 40 N / m m . 400 300 200 h Velocity of Flotor when Released for Observer-Based Controller „ 100 -100 -200 -300 -400 0.1 0.2 stiffness =;40 N/mm ; stiffness = 20 N/mm : 0.3 0.4 0.5 Time (seconds) 0.6 0.7 0.8 Figure 3.23: The calculated flotor velocity of the third-order observer-based controller is shown as the flotor is released in separate events. The velocity is calculated from Xk~*k~i, xk being the measured position. Two stiffnesses are shown: 20 N / m m and 40 N / m m . Chapter 3. Mechanical Emulation of Stiff Walls 44 Control Effort Applied to Flotor when Released for Observer-Based Controller — I 1 1 : 1 ... ,. i 1 stiffness = 40 N/mm stiffness = 20 N/mm i •" i i" ' it i(i " \'i ....JJ.j.L^ : 1 1 )l I I 1 1 1 1 1 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Time (seconds) Figure 3.24: The control effort applied to the flotor by the third-order system. Two stiffnesses are shown: 20 N / m m and 40 N / m m . Chapter 3. Mechanical Emulation of Stiff Walls 45 3.4 Braking Pulse for Stiff Wall Emulation This approach to the emulation of a stiff wall is motivated by the fact that an object colliding with a very stiff surface would stop almost instantly upon impact. Accordingly, upon impact with the virtual wall, the mass should be brought to zero velocity as fast as possible, i.e., during one control period. Providing that the required force does not saturate the actuator, the "braking pulse" from velocity vk-\ to zero velocity (again, assuming constant force between control samples) can be calculated as fpulse = rn(vk - vk-i)/T = -mvk_x/T . (3.28) This corresponds to very high damping upon wall penetration, and, for £fc_i < 0, can be implemented as Uk = -(kpuUe + kd/T)(xk-i - Xk-2) (3.29) if Xk-2 > 0 and xk-i < 0 kd uk = -kpXk-i - Y^Xk~l ~ Xk~2) (3.30) otherwise, where k p u i s e + kd/T = m/T2. Because the additional high damping only occurs on the wall surface, it does not have a de-stabilizing effect (it is impossible to hold the flotor exactly on the emulated wall edge). The fall of the flotor onto a virtual stiff wall was simulated in M a t l a b ™ / S i m u l i n k ™ with the resulting position and applied control forces shown in Figures 3.25 and 3.26 while using a hybrid continuous (flotor dynamics) - discrete (controller) system, shown in Figure 3.27. The controller simulation used (3.30), running at 1/T = 200 Hz, but was implemented with one less delay than shown in (3.30), (i.e., with k := k + 1 on the right hand side of (3.30)), a transport delay of A T = 0.0015 ms, and a reduced pulse width for the braking force (0.003 seconds instead of 0.005 seconds). This closely matches the A / D conversion - control computation -D / A conversion cycle, as the control processor performs other tasks (variable monitoring, I /O , Chapter 3. Mechanical Emulation of Stiff Walls 46 Simulated Flotor Position -with pulso •[ without pulse .4! . 1 1 1 1 1 1 1 1 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Time (seconds) Figure 3.25: Simulated position of the flotor as it is released onto an emulated stiff wall. The flotor penetrates the surface less and oscillates less when the braking force pulse is applied. etc.) after sending new current values to the D / A board, and allows for the slew-rate of the coil drivers. The results, with gains kp — 6000 N / m , kd — 80 N/(m/s) and kpu\se — 220 N/(m/s) are shown in Figures 3.29 and 3.30. A phase-plane plot displaying the experimental flotor trajectories is shown in Figure 3.28. For comparison, a simulation of a fully analog system implementing (3.4) with ke = kp, be = kd, is also shown (a 10 kHz low-pass filter is applied to the control signal to make it realizable). The deterioration of performance due to controller discretization and the positive effect of the braking pulse on the discrete controller are clearly displayed. The experimental data obtained when the flotor is released onto the virtual wall is shown in Figures 3.29 and 3.30. The flotor mass and the control rate and gains were the same as used in the simulation presented in Figure 3.28. Data collected while an operator manipulates the flotor against the virtual wall is shown in Figures 3.31 and 3.32. The braking pulse applied to the flotor on crossing the surface is perceived similarly to hitting a hard surface, and even generates an audible effect and vibration on the computer table on which the joystick rests. Although no careful psychophysical analysis Chapter 3. Mechanical Emulation of Stiff Walls 47 Control Force 0.15 0.2 0.25 Time (seconds) Figure 3.26: Simulated control forces applied to flotor when it is released on emulated stiff wall. Control forces are higher when the flotor penetrates the surface and reducing oscillations due to braking force pulse. was performed, many operators had difficulty differentiating between the virtual wall and the metal stator that mechanically limits the flotor range. No stability problems, nor chattering, were encountered. Even though hand parameters (inertia, stiffness, damping) obviously vary from an operator to another, the magnitude of the braking pulse did not require adjustment to different operator hands. Chapter 3. Mechanical Emulation of Stiff Walls ' 48 xdot • scopef -mg + Sum record xdot • scopexdot |—•|^ >—•flTIj-1—•fl/s" 1/m 11 12 Computation delay T x>0 Switch Sum1 |/0.005)z+| T x<=0 :000z-28d T_x_pulse record x S/H 11 if x<=0 Oifx>0 z-1 z pulse T T , P1 • scopex © Clock time recordt scopex1 Figure 3.27: Matlab™/Simulink™ block diagram of stiff wall emulation. Chapter 3. Mechanical Emulation of Stiff Walls 49 Figure 3.29: Measured flotor position after being released onto an emulated stiff wall. The flotor penetrates the surface less and oscillates less when the braking force pulse is applied. Chapter 3. Mechanical Emulation of Stiff Walls 50 Figure 3.30: Recorded control forces applied to flotor when it is released onto an emulated stiff wall. Control'forces are higher when the flotor penetrates the surface and reducing oscillations due to braking force pulse. Chapter 3. Mechanical Emulation of Stiff Walls 0.5 Flotor Position as Flotor is Hit against the Surface 0.5 1 1.5 2 2.5 3 3.5 Time (seconds) Flotor Position as Flotor is Hit against the Surface 1.5 2 2.5 Time (seconds) 3.5 Figure 3.31: Manipulation of the flotor by an operator; showing the position of the flotor the operator hits the virtual wall several times then presses continuously against it. Chapter 3. Mechanical Emulation of Stiff Walls 52 Force Applied to Flotor as it is Hit against the Surface o o •o a> a. a. < CD O 30 20 10 0 -10 i i i i W i l l I p u i c x [ I \: i . IL ! | I 0.5 1.5 2 2.5 3 Time (seconds) 3.5 "0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time (seconds) Force Applied to Flotor as it is Hit against the Surface 4.5 Figure 3.32: Control forces are shown when an operator holds the flotor and hits the virtual wall several times, then presses continuously against it. Chapter 3. Mechanical Emulation of Stiff Walls 3.5 Stiff Wall Emulation Extented to Six Degrees-of-Freedom 53 Outer Cube Figure 3.33: Two dimensional view of total force, Ft: and torque, recalculation. Although the emulation of a stiff wall is interesting, it does not have much practical use in one degree-of-freedom. In the real world, objects can be positioned in six degrees-of-freedom (DOF). So, when stiff walls in the real world are emulated, they must have all six DOF. A simple extension has been devised on a prototype problem in which a small cube is constrained inside a larger cube. Contact between the corners, edges, and walls of the two cubes constitutes stiff wall interaction. The outside cube is immobile, and the inside cube moves about in all six DOF freely. A photograph of the cubes can be seen in Chapter 2. 3.5.1 Proportional Force Calculation The forces applied to the inner box are calculated similarly to [36], but the configuration differs. Instead, the forces are calculated from the eight vertices of the inner cube and the sides of the outer cube. When a vertex passes through an outer cube side, a force proportional to the Chapter 3. Mechanical Emulation of Stiff Walls 54 displacement between the outer cube side and the vertex is calculated. Figure 3.33 shows a two dimensional view of the outer and inner cubes. A spring with constant k is drawn in to illustrate the proportional forces. Since the outer and inner cubes exist in a Cartesian coordinate system, it is very simple to find the displacement. It is just the difference between the Cartesian component x,y, or z and the corresponding face. The corresponding face is the one normal to the Cartesian component. The displacement multiplied by gain k can be considered a spring force with spring constant k. The forces at each of the vertices is summed up component wise to give a total force Ft, 8 £ = (3.31) t=i where i is the vertex number, Fe, = [Fx F * FX]T, and Ft = [Ftx F * F?]T. The resultant torque, due to the forces Fei and lines of action not passing through the center of the inner cube, is calculated as, 8 f t = £ > x F e , . (3.32) where ft — [TX TV TZ]T. The resultant force and torque is then applied to the flotor to simulate a small cube hitting the surfaces within the larger cube. 3.5.2 Braking Pulse Force Calculation In addition to the proportional force calculation mentioned in the previous subsection, the braking force can be applied when the inner cube comes in contact with the surfaces of the outer cube. Assuming there is an equivalent kinetic energy distribution across all the vertices the following calculations can be done to find the resulting forces and torques due to the braking pulse. This assumption is incorrect, but it gives a good estimate. To compute the braking pulse force, the velocity of each of the vertices on the cube are calculated from vk-\ — Xk-i~Xk~2 along each Cartesian coordinate. This results in a total of 24 velocities. The braking pulse force is calculated with a mass of 0.7 kg from equation (3.28) for the components of the vertices making the transition into the wall. The force on each vertex, Chapter 3. Mechanical Emulation of Stiff Walls 55 FPi is summed component wise with the environmental forces Fei to get the total force Ft. 8 (3.33) t=i The resulting torque is found by computing 8 ft = X > x ( F e , + JFP l). (3.34) The computed forces are then actuated to simulate a small cube inside a larger constraining cube. Data has been collected that show the calculated control forces applied to the flotor using the coarse-fine setup. The data was collected as the flotor of the coarse-fine setup was moved from its nominal center position into a corner of the outside constraining cube. The flotor corresponds to the inner cube and the virtual stiff walls correspond to the outer constraining cube in Figure 3.33. In Figure 3.34, the high magnitude, one sampling period force pulses occur when one of the inner cube vertices cross into the stiff wall. These pulses are a result of the braking pulse force calculations in equation (3.33). The force pulses in Figure 3.34 show that the flotor contacted the — z surface first followed by the -y surface and finally the + 2 surface. The small pulses after each large pulse are the other vertices going through the surface with lower velocities due to large pulse slowing the flotor down. The forces applied after each pulse are calculated from equation (3.31) and depend on the vertex penetration. In Figure 3.35, the torque pulses coincide with the occurrences of the force pulses. In fact, the torque pulses are calculated from the force pulses in equation (3.34). There are two torque pulses occurring at the same time because only one vertex made contact with the wall which generates a torque about the axes orthogonal to the contact velocity. Hence, the rotation pulses occur about the x and y axes first, then the x and z axes and finally the y and 2 axes. To find out how much the braking pulse enhances the perception of a stiff wall, some experiments must be done. A n overview of some of the experiments proposed for such a Chapter 3. Mechanical Emulation of Stiff Walls 56 Plot of Force along X,Y,Z axes when Encountering Stiff Walls 250 -200 2.6 2.8 3 3.2 Time (seconds) Figure 3.34: Calculated forces applied to the flotor as it encounters the stiff walls of corner. purpose are presented in Chapter 5. Chapter 4 will explain the emulation of stick-slip friction and give some experimental results. Chapter 3. Mechanical Emulation of Stiff Walls 57 Plot of Torque about X,Y,Z axes when Encountering Stiff Walls 100 50 -50 I - i r i X-axis Y-axis Z-axis i i' i' ; ii i1 i'l :'i i'i :i !i : ; !'j ; ; s i : •\ ' '•• i i Time (seconds) Figure 3.35: Calculated torques applied to the flotor as it encounters the stiff walls of corner. Chapter 4 Mechanical Emulation of Stick-Slip Friction The emulation of stick-slip friction could be an extremely useful feature in a haptic interface. For example, an object could be positioned on the screen and frozen there without separate operator intervention such as key strokes, mouse-button clicks, etc.. In a joystick controlling a slave robot, stick-slip friction would allow switching to position from rate mode without the slave being returned to a null position when the operator releases the control. In a microsurgery operation, a slave controlled by a master incorporating stick-slip friction could place a clamp and hold it in place while the operator attends to another task. These examples show the merit of stick-slip friction. The emulation presented in this chapter uses a slightly modified version of Karnopp's model [8]. According to Karnopp's model, a mass sliding on a surface with stick-slip friction could be in two states. If STUCK, any external force fext acting on the mass with \fext\ < fmax is balanced exactly and the mass remains in the STUCK state. If the external force magnitude exceeds / m a x , the mass state changes to SLIDING. While in the SLIDING state, a damping force —kdx is exerted. The condition for transition from the SLIDING to STUCK state is \x\ < vmin, where u m ,„ is a small threshold velocity. The equations of motion are: mx = fext - kdX + fstick (4.35) stick fext if STUCK fstick — 0 if SLIDING 58 Chapter 4. Mechanical Emulation of Stick-Slip Friction 59 spring force i 1 + Fstick slope = 1 4 - ^ ^ slope = -1000 N/m Kv=80 N/(m/s) 1 1 X ^ 1 s • m S Figure 4.36: Karnopp's model for stick-slip friction, with the state change being governed by | / e x t | fmax S T U C K SLIDING . (4.36) Stiction forces cannot be emulated precisely with a frictionless mechanism, as the mechanism would have to have infinite gain position feedback or perfect-force tracking. Instead, a P D controller can be used to emulate stick-slip friction as follows: mx = fext - kdX +• fstick fstick = kp(xSTUCK - z) if S T U C K fstick = 0 if SLIDING (4.37) Chapter 4. Mechanical Emulation of Stick-Slip Friction 60 spring force slope = -1000 N/m Transport Delay 1 1 X • 1 s • m • S if a==1 then if a==0 then Kd=80 I N/(m/s) stick slip G>-1/z unit delay Kp = 6000 N/m matlab function state, m x d 1/z unit delay S / H K sample and hold Figure 4.37: Digital controller emulation of stick-slip friction. \kp(xSTUCK - x)\ > fmax STUCK SLIDING |a:| < vm{n (set XSTUCK = x upon transition) (4.38) In one of the experiments used to evaluate stick-slip friction emulation, fext was implemented Chapter 4. Mechanical Emulation of Stick-Slip Friction 61 Position after Virtual Spring is Released 2.5 E E CO o Q-0.5 Kamopp Model Flotor Model: Actual Results 0.05 0.1 0.15 Time (seconds) 0.2 0.25 Figure 4.38: Measured and simulated flotor position for the Karnopp model, the digital em-ulation, and the physical emulation of stick-slip friction. The flotor is pushed by a virtual spring. as a virtual spring force fext = ks(xs — x) with stiffness ks = 1000 N / m and center xs = 3 mm. Karnopp's model for this experiment and its emulation are shown in Figure 4.36 while the digital controller emulation of Karnopp's model is shown in Figure 4.37. The negative slope line that transforms the position, x, into the spring force, Figures 4.36 and 4.37, does not go through the origin because the null position of the spring is placed 3 mm off center. The negative slope line crosses the horizontal axis at 3 mm null position. The spring was triggered at time t = 0 seconds against the resting (i.e., flown in S T U C K state) flotor mass. The position and velocity of the flotor mass are displayed against the Karnopp model simulation and the digital emulation in Figures 4.38 and 4.39 . The gains and thresholds used were kp = 6000 N / m , kd = 80 N/ (m/s ) , vm{n = 5 mm/s, and j m a x - 2 N . The control rate was 1/T = 200 Hz. Chapter 4. Mechanical Emulation of Stick-Slip Friction 62 Plot of Velocity after Spring is Released Time (seconds) Figure 4.39: Measured and simulated flotor velocity for the Karnopp model, the digital emula-tion and the physical emulation of stick-slip friction. The flotor is pushed by a virtual spring. It can be seen that the motion of the flotor closely approximates that simulated by Karnopp's model. In fact, in Figure 4.38 the digital emulation of Karnopp's model is difficult to distinguish from the simulation of Karnopp's model. The oscillations of the flotor in the S T U C K position could be reduced substantially with a higher control rate. The initial velocity undershoot (time t = 0.05 seconds) is due to the increased restoring force kp(xsTUCK - x) as the flotor is pushed out of its S T U C K state. As there will always be a finite slope force vs position curve holding the flotor in its S T U C K case, it is unlikely that this overshoot can be eliminated with better control. The velocity overshoot can also be seen in the digital emulation (flotor model) indicating the overshoot is due to implementation. Figure 4.40 compares plots of the actual flotor position and xSTUCK as the joystick flotor is manipulated by an operator (all six axes are controlled in stick-slip mode for this experiment). Chapter 4. Mechanical Emulation of Stick-Slip Friction 63 Plot of Position and "Stick" Center Position -2 -4 Actual F 'Stick" C (desired otor Pos enter Pc position it )S > ! on tion 1 1 g l I I I I I I I 1 1 1 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (seconds) Figure 4.40: Measured position and XSTUCK position of the flotor as the joystick flotor is manipulated by an operator. ' Each change in value of xSTUCK represents a stick-sliding-stick transition. With the parameter values given above, the operator can control the flotor position with a resolution of about 0.33 mm. A higher position gain and smaller force threshold would allow much finer granularity. Chapter 5 Stiff Wall Experiments The braking pulse method for emulating a stiff wall must be tested against the common P D control method for various stiffnesses (including the maximum stiffness). The tests should prove whether or not the pulse is a significant aid in stiff wall perception. Two experiments to test stiff wall (hard contact) emulation were planned. The first is an accuracy test with only the maglev joystick and the second is a time completion test with the coarse-fine setup. In the first experiment, the subject tries to place the flotor on an emulated stiff surface. When the subject feels the surface, the subject presses a button to signal the position. The position is recorded along with the maximum penetration into the wall. The analysis of the recorded values will follow. In the second experiment the CRS-A460 robot is used to enlarge the workspace of the maglev wrist. In this experiment, a small cube is placed within are larger cube. The small cube is controlled by the flotor with the cube location corresponding to the flotor location. When this cube encounters the walls of the outer cube, the stiff wall sensations are encountered. The experiment involves moving the smaller cube into the corner of the larger cube. The completion time, position, and penetration errors are recorded. Two forms to be given to the subjects are in Appendix B . 5.1 Accuracy In the accuracy experiment, a two factor test should be performed., with stiffnesses and the pulse being the factors. An example of the number of iterations per subject would be 100 with five trials per stiffness, ten stiffnesses, and two pulse settings (i.e.with a pulse and without a pulse). With 100 iterations the testing should last approximately 10-15 minutes per subject. 64 Chapter 5. Stiff Wall Experiments 65 The subjects should perform a task that compares the position accuracy of the hard contact sensation. The numbered steps are as follows: 1. grasp flotor handle. 2. move flotor quickly to surface. 3. when on the edge of surface press the button. 4. lift up hand and release flotor. 5. go back to 1 for a new stiffness and trial (unless the testing is completed) In this experiment the position where the subject presses the button, maximum error (pen-etration), and maximum penetration are recorded. On each iteration, a random stiffness is chosen to eliminate the learning effect. In addition, trials at each stiffness are completed to give a more accurate result. Throughout the testing, the subject is not allowed to look at the flotor to determine the position visually. Furthermore, subjects release the flotor after each trial to decrease learning effects due to hand position. 5.2 Completion Time The completion time experiment was devised for the coarse-fine hand-controller in which a smaller cube is constrained by a larger cube as illustrated in Chapter 2. A three-factor experi-ment should be performed. The factors being braking pulse, compliance x , and stiffness. The completion time experiment involves moving the flotor to the front left corner of the outer transparent cube in the least time possible. At the same time, the subject should try to minimize penetration. The steps are as follows: 1. press button to release flotor (#1). 2. move flotor to corner. 1 Compliance plays a large role in completion time. It was desirable to find what aids completion time the most, so compliance was included as a factor. Chapter 5. Stiff Wall Experiments 66 3. press button when just contacting corner (#2). 4. release flotor to return to center. 5. press button to stiffen flotor (#3). 6. go back to 1 for a new stiffness and trial (unless task has completed). The parameters being recorded are the completion times between button presses #1 and #2, the position and orientation of the flotor, and the force and torque applied to the flotor at button press #2. In addition, the maximum position error, the maximum angle error, the maximum force, and the maximum torque are recorded. The position maximum.is calculated as the maximum position penetration magnitude between button presses #1 and #2. The maximum angle error is the maximum angle between button presses #1 and #2 when forces are applied to the flotor. The maximum force and torque are the maximum resultant magnitudes of the force and torque between button presses #1 and #2. A n example of a test would be each subject performs five trials, at six stiffness, two pulse settings (i.e. no pulse and full pulse) and two compliance settings (i.e. no compliance and using compliance) would result in 120 iterations per subject. For these settings, each subject should take approximately 30 minutes to perform all the iterations. Each subject should be given a training session for each combination of the factors. The training period lasted until the subject felt comfortable with the task, and observation of the subject showed the subject understood and completed each trial competently. Chapter 6 Conclusions The main thrust of this thesis was to emulate stiff walls and stick-slip friction on the maglev joystick. Two methods, an observer-based design and a braking pulse design, have been used to emulate stiff walls and give good results. The braking pulse control scheme has been extended to six degrees-of-freedom and further extended to a coarse-fine system that offers a larger workspace. Psychophysical experiments can now be performed to determine the significance of the control schemes. Stick-slip friction has been emulated to aid the operator by maintaining the position of the maglev joystick when released. Both of these emulations can be applied to other haptic interfaces to enhance the perception of a slave environment whether it is real or simulated. 6.1 Contributions • A new control algorithm has been developed for stiff wall emulation. The new method removes the energy upon impact in one control cycle. Experiments, and observations of colleagues show that the emulation works very well; sometimes it was difficult for operators to distinguish between the emulation of hard contact and contact at the edge of the workspace. • Second-order and third-order observer-based controllers have been developed. The second-order observer-based controller gives a better estimate of velocity, so higher damping can be used and thus a stiffer wall can be emulated. The third-order observer-based controller models the one period sampling period delay between sampling and actuation. Stiffnesses 67 Chapter 6. Conclusions 68 at least twice the achievable stiffness of the PD controller have been emulated stably. • A modified version of Karnopp's model for stick-slip friction has been implemented. This keeps the handle of an active hand controller in place when released. In addition, the effects of stick-slip friction can be studied with the emulation. • There is good agreement between experimental results and simulation results for stiff walls and stick-slip friction. • Six degree-of-freedom versions of stiff walls and stick-slip friction have been developed and implemented. • A method for tracking with a centering force through rate control has been developed and implemented. • An accuracy and completion time test has been designed that will show how well the emulation of the stiff wall performs. Subjects will have to be found and tested at a later date. 6.2 Future Work • Human experiments need to be devised that determine the frequency response charac-teristics for hard contact and free motion. Some effort should be put into formulating objective experiments, but subjective experiments may be more practical. • A higher speed real time operating system should be obtained to improve performance. • A new coarse motion platform should be acquired that has adequate performance specifi-cations for the coarse-fine system. In addition, direct access to sensor data and actuator control are desirable, so that velocity profiles can be fully controlled. • For high speed, coarse stage motions, a high degree of coupling occurs between the maglev flotor and the coarse stage. In order to lower maglev flotor stiffnesses and improve haptic Chapter 6. Conclusions 69 sensations, coupling should be compensated for. • The coarse-fine haptic system should be incorporated into a more complex virtual envi-ronment. • The control forces applied to the maglev flotor should be matched to the x3 rate command. Bibliography [I] A . K . Jain. Fundamentals of Digital-Image Processing. Prentice Hall , Inc., 1989. [2] B . Hannaford, L . Wood, B . Guggisberg, D. McAffee, and H . Zak. Performance evaluation of a six-axis force-reflecting teleoperator. Technical report, California Institue of Technology, Pasadena, C A , June 1989. [3] B . Ostle. Statistics in Research. The Iowa State University Press, second edition, 1963. [4] CRS Plus Inc. A460 Series: Small Industrial Robot System Service Manual. [5] CRS Plus Inc. A460 Series: Small Industrial Robot System (Technical Manual). [6] C .T . Chen. C R S - V M E Communication Handbook, September 1993. Available from T. Salcudean, University of British Columbia, 2356 Main Mal l , Vancouver, B . C . , Canada V 6 T 1W5. [7] D . A . Lawrence and J . D. Chapel. Performance trade-offs for hand controller design. In Proc. IEEE Intl. Conf. on Robotics and Automation, volume 4, pages 3211-3216, May 1994. [8] D. Karnopp. Computer simulation of stick-slip friction in mechanical dynamic systems. ASME Journal of Dynamic Systems, Measurement and Control, 107:100-103, 1985. [9] H . Iwata. Artificial reality with force-feedback: Development of desktop virtual space with compact master manipulator. In Proceedings of SIGGRAPH '90, pages 165-170, Dallas, August 1990. [10] H . Iwata. Pen-based haptic virtual environment. In IEEE Virtual Reality Annual Inter-national Symposium, pages 287-292, Seattle W A . , 1993. [II] Patrick Hanks, editor. Collins English Dictionary. William Collins Sons & Co. Ltd . , second edition edition, 1987. [12] R . L . Hollis and R . H . Taylor. Non-contact sensor for two-dimensional translation and ro-tation. IBM Technical Disclosure Bulletin, 30(7):33-34, December 1987. [13] J . C. K . Chou. Quarternion kinematic and dynamic differential equations. In IEEE Trans-actions on Robotics and Automation, volume 8, February 1992. [14] J . Vertut and P. Coiffet. Robot Technology, Vol. 3A: Teleoperations and Robotics: Evolu-tion and Development. Prentice-Hall Series on Robot Technology. Prentice-Hall, 1984. 70 Bibliography 71 [15] J . Vertut and P. Coiffet. Robot Technology, Vol. SB: Teleoperations and Robotics: Evolution and Development. Prentice-Hall Series on Robot Technology. Prentice-Hall, 1985. [16] J .E . Colgate and G. Schenkel. Passivity of a class of sampled-data systems: Application to haptic interfaces. In 1994 American Control Conference, 1994. [17] J .E . Colgate, P .E . Grafing, M . C . Stanley, and G . Schenkel. Implementation of stiff virtual walls in force-reflecting interfaces. In IEEE Virtual Reality annual international Sympo-sium, pages 202-208, 1993. [18] J .J . Batter and F.P. Brooks, Jr. Grope-1: A computer display to the sense of feel. In Proceedings of the International Federation of Information Processing (1FIP), pages 759-763, 1972. [19] K . Ogata. Discrete-Time Control Systems. Prentice-Hall, Englewood Cliffs, New Jersey, U S A , 1987. [20] Kelley. A . J . and Salcudean. S.E. Magicmouse: tactile and kinesthetic feedback in the human-computer interface using an electromagnetically actuated input/output device. In IEEE Transactions on Robotics and Automation, Jan 1993. conditionally accepted for publication. [21] L . B . Rosenberg. The use of virtual fixtures to enhance telemanipulation with time de-lay. In H . Kazerooni, J .E . Colgate, and B . D . Adelstein, editors, Advances in Robotics, Mechatronics and Haptic Interfaces, 1993, pages 29-36, New York, 1993. A S M E . [22] M . Bajura, H . Fuchs, and R. Ohbuchi. Merging virtual objects with the real world: Seeing ultrasound imagery within the patient. Computer Graphics, pages 203-209, July 1992. [23] M . Minsky, M . Ouh-young, O. Steele, F .P. Brooks, Jr., and M . Behensky. Feeling and seeing: Issues in force display. In Proceedings 1990 Symposium on Interactive 3D Graphics, volume 24, pages 235-243, March 1990. [24] M . Ouh-young, M . Pique, J . Hughes, N . Srinivasan, and F.P. Brooks, Jr. Using a manipu-lator for force display in molecular docking. In IEEE International Conference on Robotics and Automation, pages 1824-1829, 1988. [25] Mark W . Spong and M . Vidyasagar. Robot Dynamics and Control. John Wiley and Sons, New York, New York, 1989. [26] P. Fischer, R. Daniel, and K.V.Siva. Specification and Design of Input Devices for Tele-operation. In Proc. IEEE Conf. Robotics Automat., pages 540-545, May 1990. [27] P. Millman, M . Stanley, P. Grafing, and J .E. Colgate. A system for the implementation and kinesthetic display of virtual environments. In Proceedings of SPIE-the International Society for Optical Engineering: Telemanipulator Technology, volume 1833, pages 49-56, Boston, 1992. Bibliography 72 [28] N . Parker. Application of force feedback to heavy duty hydraulic machines. Master's thesis, University of British Columbia, October 1992. [29] R . D . Howe. A force-reflecting teleoperated hand system for the study of tactile sensing in precision manipulation. In IEEE International Conference on Robotics and Automation, pages 1321-1326, Nice, France, 1992. [30] R . E . Ellis, O . M . Ismaeil, and M . G . Lipsett. Design and evaluation of a high-performance prototype force-feedback motion controller. In H . Kazerooni, J .E . Colgate, and B . D . Adel-stein, editors, Advances in Robotics, Mechatronics and Haptic Interfaces, 1993, pages 55-64, New York, 1993. A S M E . [31] R . L . Hollis, S. Salcudean, and P .A. Allan. A Six Degree-of-Freedom Magnetically Levitated Variable Compliance Fine Motion Wrist: Design, Modelling and Control. IEEE Trans. Robotics Automat., 7(3):320-332, June 1991. [32] S.-R. Oh, R . L . Hollis, and S. Salcudean. Precision Assembly with A Magnetically Levitated Wrist. In Proc. IEEE Conf. Robotics Automat., pages 127-134, Atlanta, U S A , May 2-6, 1993. [33] S. Salcudean, N . M . Wong, and R . L . Hollis. A Force-Reflecting Teleoperation System with Magnetically Levitated Master and Wrist. In Proc. IEEE Conf. Robotics Automat., Nice, France, May 10-15, 1992. [34] S.E. Salcudean and R . L . Hollis. Input/output system for computer-user interfaces using magnetic levitation, u.s. patent number 5,146,566, September 1992. [35] S.E. Salcudean and J . Yan. Towards a Motion Scaling System for Microsurgery, June 8-11 1993. The Third Annual I R I S - P R E C A R N Conference, Ottawa, Canada. [36] T. Kotoku, K . Komoriya, and K . Tanie. A force display system for virtual environments and its evaluation. In Proceeding of IEEE Workshop on Robot and Human Communication, September 1992. [37] T. L . Brooks. Telerobot response requirements. Technical report, S T X Robotics, 4400 Forbes Blvd. , Lanham, M D 20706, March 1990. [38] W . R. Ferrel. Delayed force feedback. In IEEE Transactions on Human Factors, volume 8, pages 449-455, October 1966. [39] N . M . Wong. Implementation of a force-reflecting telerobotic system with magnetically levitated master and wrist. Master's thesis, University of British Columbia, December 1992. Appendix A Coefficient of Restitution Derivation m x> 0 x = 0,x=v0, t=0. X < 0 (Impact Phase) 7777T7T77T Figure A.41: Schematic of Surface contact model. The coefficient of restitution of a mass hitting a stiff wall, modelled by an spring-damper, is derived. The derivation is used to investigate how fast a falling mass looses energy within the modelled wall, and thus how fast it settles to one percent of its original energy. Figure A.41 shows the system being modelled. The loss of energy in one bounce can be found by integrating x2 between crossings into and out of the wall. The energy before impact with the wall is, V i = —mv (A.39) The energy after impact with the wall is, V2 - -kexz + -mvl (A.40) 73 Appendix A. Coefficient of Restitution Derivation 74 The change in energy within the wall, V2, can be integrated between zero crossings to find the total loss of energy during the impact phase. V2 = kexx + mvv = kexx + i(—kex — bex) = —bex2 (A.41) But first x must be found from the equation for the stiff wall (A.42) (A.43) (A.43) to make it easier to x = — UQX — 2pu>ox. (A.44) To find the solution for x in equation (A.44) the Laplace transform is taken and the equation is rearranged. s2 + 2pu0s + w 0 2 = 0 (A.45) Next, the roots from equation (A.45) are found as, si,2 - -P^o ±j\/l- p2u0. (A.46) Now, the inverse Laplace transform is taken to find x(t) = Aexp(-pu0t) sin(^/l - p2u0t + ip). (A.47) Since the initial conditions, x(0) = 0 and i(0) = vo, are known, x(t) and x(t) can be found as x(t) = 7 = = = — exp(-pu0t) s in(v/l - p2v0t) (A.48) V I - p2u>0 mx = —kex — bex X = X X. m m The substitutions ^ = UQ2 and j£ = 2puo are made in equation work with. The result is Appendix A. Coefficient of Restitution Derivation 75 and = / _ ! ! L _ exp(-pu0t) sin(v / l - /t> 2<Jof - <£), (A.49) v i - P where sin = A / 1 - p 2 . The zero crossing of at i = t0 (out of the wall) can be found by-setting s i n ( \ / l — p2uoto) — 0 in equation (A.48). After some manipulation, to is found to be, t0 = v To find x2(t) the identity, sin 2 a = 1 - c o s ( 2 o ; ) ; j s used-to get 2 2 x{tf = 2 ( 1 ^ ^ 2 ) exp(-2/rja;o0 - 2(i- p2) e x P ( - 2 ^ ) c o s ^ 1 - p2u0t - 2<f>). (A.50) Integrating equation (A.50) between zero crossings at t = 0 and 2 = io, the energy dissipated is Edissipated = be / i(<)2eft = - r - ( l - exp( ===271-) (A.51) Jo 2 V 1 - P = E0(l-exV(—-7==2n). (A.52) V1 - P 2 .En. is the kinetic energy, V i , just before impact. The energy restituted after one bounce is EQ — Edissipated, s o the coefficient of restitution is ^ EQ Edissipated EQ = e x p ( _ _ L _ 2 7 r . (A.54) Appendix B Discretization of Mass In SS (state space), the analog system can be described as follows. 0 1 1 0 X — x + — 0 0 m 1 where x is the position of the flotor and x = 1 0 x x (B.55) (B.56) The above system must be discretized. First we start with a compact form of the above analog system. i = Ax + Bu (B.57) Since we know, = e^ e-*o) x(to) + f e A ^ B u(r) dr (B.58) we can substitute kT = to and kT + T = t for the sampling instants, where k = 0,1,2,. . . and get, rkT+T x(kT-rT) = eATx(kT)-r eA^kT+T-^ B U(T) dr (B.59) JkT x(kT + T) = eAT x(kT) + eA(kT+T) / e~Ar dr B u{kT) JkT written more compactly as: (B.60) x(kT + T) = Gx(kT) + Hu(kT) (B.61) 76 Appendix B. Discretization of Mass 77 G 1 T 0 1 rkT+T H = eA(kT+V I e~ATdrB JkT 1 T 1 kT • ' rp kT2+T2 1 2 0 T2 2m 0 1 0 1 0 T m T . m . Hence, after discretization we get, Xk+l = 1 T Xk + T2 2m Uk 0 1 T. . m . Vk = 1 0 Xk where T is the sampling period, m is the mass, xk = x(kT) = position and velocity of the flotor respectively. Xk vk (B.62) (B.63) (B.64) (B.65) ; Xk, Vk are the current Appendix C Subject Forms Name: Date: Last First Age: Sex: Experience: 0 1 2 3 4 5 none full knowledge First method: Stiffness / Stiffness + Force Objective: The objective of the experiment is to find out how accurately (with respect to position) humans can feel the surface of two hard contact emulations. The first method is the emulation of a spring, the second method is the emulation of a spring plus an additional force. In the analysis following the experiments, these methods will be compared for accuracy. Training: The training involves moving the flotor of the UBC magnetically levitated wrist in a vertical motion. When the surface is felt, the red button in the other hand is pressed. This initiates a new stiffness. The flotor must then be released and gripped again. The flotor is again moved until the surface is felt. This will be repeated until the person is comfortable with the operation. Both hard contact emulations will be applied to the user. The subject will be given the immediate results of each interaction. Experiment: The experiment is very similar to the training. First, the subject sits in a comfortable position. Second, when the subject is ready to perform the test, the red button must be pressed. The subject will then grip the flotor and move it quickly to meet the surface. When the subject feels the edge of the surface, the red button must be pressed. The subject then releases the flotor and grips it again. The positions where the subject presses the red button are being recorded. In addition, the time is being recorded, but has no use at this time although the subject is asked to find the surface as quickly as possible. Note: The subject can stop or leave the experiment at any time! Signed: . Figure C.42: Information sheet for subjects doing accuracy tests on maglev wrist. 78 Appendix C. Subject Forms 79 Name: Date: Last First Age: Sex: Experience: 0 1 2 3 4 5 none full knowledge Method: Order: Stiffness with compliance Stiffness without compliance Stiffness with force and compliance Stiffness with force and without compliance Objective: The object of this experiment is to find out how quickly subjects can move a small box into a comer of a larger box with the least amount of position and force error for a given comer stiffness. Furthermore, four different methods will be used and compared on the basis of time completion and error. These methods are: stiffness with compliance, stiffness without compliance, stiffness with force and compliance, and stiffness with force and without compliance. Training: The training involves moving the flotor of the UBC magnetically levitated wrist from the center position to a corner. Initially, the flotor is stiff,. When the subject is ready to begin the trial, the button is presses to begin timing and to lower the stiffness of the flotor. The subject then moves the flotor to the comer of the outer box. When the inner box is square with the outer box, and the forces due to the surface are small, the subject presses the button again. The flotor is then released to allow it to return to center. Once the flotor has returned to center, the button is pressed again to stiffen the wrist. When the subject is ready for the next trial, the red button is pressed and the process starts over for a different surface stiffness. The results are given to the subject after each trial. Experiment: The experiment is the same as the training except, the results will not be given to the subject. The task is essentially a time completion task, i.e. each trial is done as fast as possible. The subject should also try to minimize the forces due to contact. Note: The subject can stop or leave the experiment at any time! Signed: Figure C.43: Information sheet for subjects doing time completion tests on coarse-fine system 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0064834/manifest

Comment

Related Items