Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Design and control of a bilateral motion-scaling system using magnetic levitation 1994

You don't seem to have a PDF reader installed, try download the pdf

Item Metadata


ubc_1994-0169.pdf [ 3.58MB ]
JSON: 1.0087367.json
JSON-LD: 1.0087367+ld.json
RDF/XML (Pretty): 1.0087367.xml
RDF/JSON: 1.0087367+rdf.json
Turtle: 1.0087367+rdf-turtle.txt
N-Triples: 1.0087367+rdf-ntriples.txt

Full Text

DESIGN AND CONTROL OF A BILATERAL MOTION-SCALING SYSTEM USING MAGNETIC LEVITATION By Joseph Yan B.A.Sc. (Engineering Physics) 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 ELECTRICAL ENGINEERING We accept this thesis as conforming to e required standard THE UNIVERSITY OF BRITISH COLUMBIA March 1994 © Joseph Yan, 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 reference 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. Electrical Engineering The University of British Columbia 2075 Wesbrook Place Vancouver, Canada V6T 1Z1 Date: zc. )T Abstract Microsurgery is an ideal field to utilize the advantages of robotic technology because the tasks involve tool positioning and force sensing capabilities beyond the normal range of human abilities. A robotic manipulator that can reliably extend the surgeon’s manipulation ability by scaling down hand motions and scaling up tool forces would be extremely useful in facilitating microsurgery and alleviating the physical and psychological stress many microsurgeons face in their work. The work described involves the development of a prototype bilateral teleoperation system for experiments in microsurgery. A dual-stage approach is proposed in which two magnetically levitated wrists (a macro-master and a micro-slave) would share a common base positioned at the surgical site by a coarse-motion transport robot. The system hard ware is described in the first part of the thesis including a discussion on the proposed features and the issues in the slave wrist design. In the second part, aspects of coordi nation and control both at the coarse-positioning stage and the fine-motion scaling level are presented. More specifically, an H-based approach to controller design permitting a convenient means to find a compromise between performance and robustness is presented and then experimentally demonstrated. 11 Table of Contents Abstract ii List of Tables vi List of Figures vii Acknowledgement x 1 1234568910 2 System Hardware 2.1 Overview 2.1.1 System Requirements 2.1.2 Proposed Configuration 2.2 Safety 1 Introduction 1.1 Medical Robots 1.2 Microsurgery 1.3 Teleoperation 1.3.1 Teleoperated Microsurgery 1.3.2 Ideal Teleoperation 1.3.3 Actuation Technologies 1.3.4 Magnetic Levitation Technology 1.3.5 Bilateral Control 1.4 Thesis Overview 11 11 11 13 15 111 2.3 Maglev Wrists 16 2.3.1 Actuation 16 2.3.2 Sensing 17 2.3.3 Operation 18 3 Micro-wrist Design 22 3.1 General Scaling Characteristics 22 3.2 Mechanical Design 24 3.3 Operational Specifications 29 4 Controller Design 33 4.1 Teleoperation Control History 33 4.1.1 Preliminaries 33 4.1.2 Measuring Performance 36 4.1.3 Approaches to Controller Design 40 4.2 Dual-Stage Teleoperation 49 4.2.1 Decoupled Coarse-Fine Control 50 4.2.2 Wrist Level Fine-Motion Control 51 4.3 H Control for Fine-Motion Control 54 4.3.1 Standard Problem 55 4.3.2 Robust Performance 56 4.3.3 Synthesis in Matlab 58 4.3.4 Modelling & Synthesis 60 5 Simulations and Experiments 70 5.1 Design Example 70 5.1.1 Nominal Free Motion Tracking 75 iv 5.1.2 Trading Off Different Performance Criteria 80 5.1.3 Trading Off Performance and Robustness 80 5.1.4 Hard Contact 86 5.1.5 PID Control 89 6 Conclusions 96 6.1 Contributions 96 6.2 Future Work 97 Bibliography 101 Appendices 107 A Isometric Views of Individual Microwrist Parts 107 B Machining and Tolerances 110 C Matlab Source Code for H Controller Synthesis 112 C.1 Main File: synsy.m 112 C.2 Plant: G.205m.m 112 C.3 Miscellaneous Functions: conrowss.m, concolss.m, hinfprep.m 114 C.4 The State-Space Result 116 V List of Tables 2.1 Force/Torque Sensors Characteristics 20 3.2 Maglev Wrists Characteristics 32 vi List of Figures 1.1 Basic Teleoperation . . . 4 2.2 14 2.3 15 2.4 17 2.5 18 2.6 19 2.7 21 3.8 23 3.9 25 3.10 26 3.11 28 3.12 29 3.13 30 3.14 31 4.15 . . . 34 4.16 51 4.17 52 4.18 . . . . 55 4.19 59 4.20 61 Proposed System Configuration Experimental System Configuration Basic Maglev Actuator Optical Position/Orientation Sensing System 6-DOF Force/Torque Sensors Control of Single Maglev Wrist B-field Scaling from a Magnetized Body . . Microwrist in Operation Slave Maglev Wrist Assembly Microwrist Parts Actuator Force vs. Energy Product Actuator Configuration Determination of Transformation Matrix . . General Teleoperation Model Decoupled Coarse-Fine Control Single Degree-of-Freedom Teleoperation. H Block Diagrams Augmented Plant for Robust Performance Framework for Controller Synthesis . . . vii 4.21 Modelling Disturbance at the Manipulator Output 5.22 523 5.24 5.25 5.26 5.27 5.28 5.29 5.30 5.31 5.32 5.33 5.34 5.35 5.36 5.37 5.38 5.39 5.40 64 A.41 Flotor Coil Top Support Fl A.42 Flotor Coil Strip F2 A.43 Flotor Coil Bottom Support F3 A.44 Flotor Axial Support F4 A.45 Stator Support Rods Si Framework for Design Example 71 Bode Plots for Output Weighting Functions 73 Bode Plots for ,c Controller Gains 76 Closed-Loop Responses to Exogenous Forces for Controller ic 77 Simulation for i: Free Motion Tracking 78 Experiment for icr: Free Motion Tracking 79 Tracking Responses for Controller k2 . . 81 Tracking Responses for Controller I3 . . 82 Responses to Slave Disturbances 83 Simulation for ic3: Free Motion Tracking 84 Experiment for I3: Free Motion Tracking 85 Tracking Responses for Controller i 86 Simulation for ic4: Free Motion Tracking 87 Experiment for ic4: Free Motion Tracking 88 Simulation for Ii: Hard Contact 90 Simulation for I5: Hard Contact 91 Experiments in Hard Contact 92 Experiment for PID Controller: Free Motion 94 Experiment for PID Controller: Hard Contact 95 107 107 108 108 108 viii A.46 Stator hon Core S2.108 A.47 Stator PSD Mounting Block S3 109 A.48 Stator Ring Support S4 109 A.49 Stator Peripheral Magnets S5 109 B.50 Recommended Order of Fabrication 110 ix Acknowledgement I owe gratitude to many individuals for helping me along in my work. First I wish to thank Dr. Nancy Van Laeken and Betty Pearson for helping me to understand microsurgery by permitting observation of their work, providing useful resource materials and discussing various issues with me. I would also like to thank Leiff Kjolby, Don Dawson and Dave Fletcher for machining work, Mark Milligan for some electronics work, and Chris Sheffield for help in the acquisition of parts. I am grateful to many of my colleagues, especially Chia-Tung Chen, John Hu, Tim Vlaar, Alison Taylor, Niall Parker, Kam Fung, and Grace Cheng, for help in a multitude of areas ranging from proofreads, photography, and discussions of a technical nature to friendship, encouragement, and discussions of a more philosophical nature. I am indebted to Dr. Tim Salcudean for help far above and beyond his duty in his capacity as my supervisor. Despite a busy schedule, he always made time to discuss the project, review my work, and provide valuable insights (indeed, most of the ideas presented in this work were initiated by Tim) but, in addition to these duties one might expect of a supervisor, he has also given encouragement and guidance for me in vocation, academia, and extracurricular activities. Finally, I dedicate this work to my parents to whom I owe the most. They have supported and encouraged me at every step and, although I often take them for granted, I love them very much. Support of this work by IRIS project C-9, by the Science Council of British Columbia (project 38, 1993), and an NSERC Graduate Scholarship is gratefully acknowledged. x Chapter 1 Introduction 1.1 Medical Robots The increasing number of robotic applications in the medical field demonstrates that the medical community is receptive to new devices. Rehabilitation for the disabled is the health care area which has benefitted most from robotic technology. Rehabilitative systems include prosthetic and orthotic devices (and their associated tactile sensors), assistive vision sensing systems for the blind, and “rehab-manipulators” which aid in performing a variety of everyday tasks in a minimally-structured environment [1, 2]. Robots are becoming more prominent in operating rooms, either in an assistive or an enabling capacity. Assistive devices perform tasks which would otherwise require a surgical assistant and are aimed towards making low-cost “solo” surgery possible with increased safety and a consistently high level of quality. An instance of this is an ap paratus capable of holding and manipulating a patient’s limb, a task requiring much physical endurance when carried out by humans [3]. By comparison, enabling devices augment the surgeon’s skill and permit the execution of difficult or impossible tasks. The surgical robot for the custom milling of bone for cementless implants [4] and the bilateral microsurgery teleoperator proposed in this thesis are examples of such systems. 1 Chapter 1. Introduction 2 1.2 Microsurgery Microsurgical procedures involve tool positioning and force sensing capabilities bordering on the normal range of human abilities. The motions required are typically as small as a few microns and the forces encountered may be as delicate as a few grams. When required, microsurgery commonly constitutes a few hours of an operation and is usually performed after several hours of routine procedure so fatigue, which accentuates phys iological tremor, is a significant problem for the microsurgeon. Despite the increasing demand for microsurgery operations, fewer physicians are opting for this specialty be cause of the excessive physical and psychological stress involved. Microsurgeons require an advanced level of training and employ highly specialized equipment. Thus, micro surgery is an ideal field to utilize the advantages robotic technology has to offer. An estimate of the quantitative requirements in microsurgery was obtained from videotaped microsurgery and the limited literature on the subject. The videotape has footage of a right facial nerve palsy operation, involving suturing of nerves roughly 1 mm in diameter [5]. The microforceps instrument used was observed to have translational motion primarily along the tool axis, less than +2.5 mm, while rotational motion was mostly about an axis perpendicular to the tool, less than +2.5°. Controlled motions as small as a few microns were typical. Data in [6] shows the tissue/tool force encountered in opthalmic surgery averaged 30 grams and did not exceed 43 grams. There is no data on the required tool force resolution but humans have a hand force sensing resolution roughly 0.5% of the full scale (from 0.07 to 20 N) [7] so if this level of precision is extended to microsurgery, assuming a force range of about 50 grams, the resolution would need to be at least 0.25 grams. Manipulation for microsurgery tasks is guided solely by vision without any of the kinesthetic feedback which surgeons are accustomed to in routine surgery. The fine Chapter 1. Introduction 3 forces experienced during microsurgery tasks are further attenuated by the nature of the tools which often employ a pair of lever arms to scale down displacements. Vision allows continuous and accurate tool positioning but augmenting it with force feedback would provide a faster and more natural response for manipulation. The kinesthetic sensations absent in conventional microsurgery can be provided by teleoperation. 1.3 Teleoperation Teleoperation may be viewed as that branch of robotics which concerns the manipu lation of environments or spaces which are generally inaccessible to man. The basic teleoperation system’, consists of a slave device tracking a master device which is di rectly manipulated by a human operator (see Figure 1.1). When the master is also actuated based on the sensor signals from the slave, such a system is described as being bilateral (also as being force-reflecting, or as possessing force-feedback). The kinesthetic sensations provided in force-reflecting teleoperators can substantially enhance operator performance both in speed and safety [8, 9]. The usual applications cited for teleoperation are in space exploration, nuclear waste handling and subsea exploration where the environments are hazardous and it is prefer able to have the operator remotely located at a safer and more comfortable site. Another domain which is increasingly being exploited is magnitude scaling of forces and motions. At the microscopic level, this concept is used to improve resolution as demonstrated by systems which allow the manipulation of individual biological cells [10] or give the per ception of feeling atomic surfaces [11]. At the other end of the spectrum, human capacity can be increased, for example, through the use of man-amplifiers or exoskeletal extenders which magnify the operator’s strength and motions [12]. ‘The terms “teleoperation system”, “telerobotic system”, “telemanipulator” and “teleoperator” will be used synonymously Chapter 1. Introduction 4 Operator Site I Remote Site Figure 1.1: Basic Teleoperation 1.3.1 Teleoperated Microsurgery There have been numerous attempts to define a robotic microsurgery application. Charles has looked at developing a system in his own field of opthamology and has produced quan titative specifications by measuring surgeon hand motions and tool-tissue forces during vitreoretinal surgery [13, 6]. A robot developed in Japan for use in corneal transplanta tion [14, 15] is primarily an automated device but suffers from poor positioning accuracy. Several robots have been developed for stereotactic neurosurgery [16, 17]. In both ex amples cited, the manipulator must be programmed by the surgeon with an appropriate trajectory and this can be a tedious task. Other research in robotic microsurgery systems can be found in [18, 19, 20, 21] but the author has no knowledge of any systems in actual use. This project entails the development of the prototype for a telerobotic system that can be used in a microsurgical environment. By scaling down the movements from the surgeon’s hand to the surgical tool while, simultaneously, sensing forces exerted on the tool and magnifying them to the hand, the surgeon would possess a significantly increased ( \— N I Tazk Environment () Chapter 1. Introduction 5 level of dexterity. Such a system would be extremely useful in facilitating microsurgery and in alleviating the physical and psychological stress many microsurgeons suffer in their work. 1.3.2 Ideal Teleoperation At this point, it would be instructive to consider what the “ideal” telemanipulator is. Intuitively, ideal telemanipulation provides complete transparency of the man-machine interface (i.e., the operator feels as if he/she is working directly on the environment). In [7], Handlykken suggests that the ideal bilateral manipulator “behaves like two weight less arms connected by an infinitely stiff massless mechanical linkage”. Yokokohji and Yoshikawa describe the ideal teleoperator as one in which, when an operating force is applied to the system, the position and force responses of the master and slave arms are absolutely equal, respectively [22]. These notions differ in that the latter includes the manipulators’ dynamics while the former is really the special case when the arms are massless. The final definition considered arises from a human factors standpoint. Here, the hand controller impedance characteristics would be adjusted to fit the opera tor’s preferences and then continuously varied to reduce fatigue and improve precision [23, 24]. In the first two definitions, one-to-one correspondence between the master and slave is assumed although the second definition can easily be modified for a system with position and/or force scaling. It would seem that the ideal telemanipulator for microsurgery is one in which the position and force responses for the slave are scalar multiples of the master’s responses. By appropriate choice of the independent position and force scaling ratios, the operator would have the perception of working directly on larger, less delicate vessels and tissues so this would be comparable to routine surgery. Although the human factors definition described is not as objective as the others, it may be preferred for Chapter 1. Introduction 6 our application because individual surgeons have different degrees of dexterity and skill and possess a wide range of physical attributes. Fatigue is also a significant problem in microsurgery and compensation for it would be helpful. Adjustable compliance is a desirable feature for controlling the interaction of the tool with the environment and can be used to improve stability. The system’s performance might be assessed by how close it comes to ideal teleop eration. [25, p.81-83] and [1, p.88-104] also outline a ilumber of “secondary figures of merit” used to evaluate the overall system. Some of the more important figures ill this project are force application (capacity, accuracy, resolution and bandwidth), positioning capability (workspace, accuracy, resolution aild bandwidth), stiffness, inertia, stability and robustness, sensitivity, cross-coupling, drift, compliance, reliability and safety, cost of collstruction and maintenance, and skill required to operate. The last three items deal more with functional evaluation rather than performance evaluation. Some of these figures are limited by the hardware (actuation mechanisms) and some are limited by the software (controller design). 1.3.3 Actuation Technologies The engineer of a bilateral teleoperator is faced with a variety of options for actuation, both for the master and the slave. The common classes considered are pneumatic, electric and hydraulic. Under each of these categories, there is a choice in the device construction and in the type of motion (i.e., linear or rotary). Furthermore, the action may be directly drivell or transmitted using mechanisms such as gears, belts, cables, linkages, or shafts. Each actuator category has its own virtues and shortcomings. Pneumatic actuators tend to be compact and lightweight but have poor capabilities 111 power output, band width, and stiffness. Under the category of electric actuators are conventional electromag netic motors, piezoelectrics and shape memory alloys (SMA). Electromagnetic motors are Chapter 1. Introduction 7 the mechanisms of choice for most applications because they can provide good stiffness and high bandwidth at relatively low cost and maintenance. The drawbacks are that they exhibit some level of torque ripple and tend to be heavy; transmission mechanisms are often used to overcome the weight problem but they always introduce some friction and backlash which degrades performance. Piezoelectrics and SMAs generally provide silent, compact and lightweight actuation but have a limited range of motion and possess hysteresis to some degree. Piezoelectrics have a bandwidth in excess of a few hundred Hz but have low stiffness and a motion range roughly 0.01 % of their size [26]. SMAs have a good power output/weight ratio and a motion range two orders of magnitude higher than piezoelectrics but also a much lower bandwidth (because they rely on Joule heating), low power efficiency (limited in theory by the second law of thermodynamics), and problems in fatigue failure [27]. Hydraulic actuators are suitable for applications requiring high force and power output. Their disadvantages, compared to conventional motors, are that they have lower bandwidth, lower efficiency and greater complexity. This is only a brief survey on actuators but is not, by any means, an exhaustive list of the available technologies. The choice of actuators largely depends on the application. For bilateral telemanipu lators, limitations on the master often restrict the system transparency [9, 28]. For good kinesthetic feel, the master should be capable of smooth, articulate and backdriveable motion with an adequate response bandwidth over a comfortable range of forces and motions [9, 25]. The smooth motion requirement eliminates the use of most transmis sion mechanisms because of friction and backlash. Without gears, pulleys, etc., motors are not suitable for motions in multiple degrees-of-freedom (DOF) because they are too heavy to transport with sufficient speed. The necessity for high bandwidth makes the use of pneumatics and hydraulics objectionable while the comfortable range of motions required rules out the use of piezoelectrics and SMAs. Chapter 1. Introduction 8 For the microsurgery application, the slave must be capable of executing accurate and delicate motions and, hence, must possess similar properties described for the master except for the comfortable motion and force ranges. In the first targetted application of microvascular work, the required tool motion range as described previously in Section 1.2 indicates that piezoelectrics and SMAs may also be inadequate for the slave. 1.3.4 Magnetic Levitation Technology Lorentz magnetic actuation technology, which can be classified as an electric type actua tor, has long been used in devices such as audio speakers and computer hard disk drives to provide precise, high speed motion along a single DOF. More recently, a magnetically levitated (maglev) wrist based on the same technology and offering high performance 6 DOF motion was presented in [29, 30]. Maglev wrists do not have any problems concern ing backlash, friction, backdriveability, or articulateness and they rate well with many of the secondary figures of merit previously mentioned in Section 1.3.2. The maglev wrists were chosen for this project because of their superior positioning and force application capabilities which are more than adequate for microsurgery tasks. A coarse-fine slave, fine master teleoperation system using maglev wrists was described in [31], while exper imental results showing exceptional performance were presented in [32]. The proposed microsurgery teleoperator is adapted from [31] to be a coarse-stage robot transporting a fine-stage dual-maglev assembly. In fairness to other actuation technologies, it should be noted that maglev wrists are not without their problems. The two primary shortcomings are the limited motion range and the power consumption. The motioll range is limited by the size of the magnetic gaps and there is an inherent tradeoff between the available motion range and the forces achievable (i.e., larger gaps permit greater motion but less force and vice-versa). Forces are generated by passing currents through magnetic gaps so simply levitating the device Chapter 1. Introduction 9 requires power even though no useful work is done. In this sense, this technology is not very efficient and the power consumed manifests itself in the form of heat. The ability to dissipate this heat directly limits the currents that can be used, effectively limiting the achievable forces. 1.3.5 Bilateral Control A telemanipulator without a well-designed controller will provide inferior performance regardless of the quality of actuation. In general, the goal in the bilateral controller design problem is to realize a stable system with “optimal” performance. The problem is a difficult one because there is no universally accepted way to quantify this performance. This is primarily because the desired dynamics largely depend on the application. For example, in some situations, position control is more important than force control but in other situations, the reverse is true. Furthermore, these can be viewed as the two extremes of the impedance control spectrum. A performance measure is used for system evaluation and comparison; to define it, the designer needs to consider what ideal teleoperation is. The presence of time delays, uncertainties and/or measurement noise have the effect of destabilizing the system and the controller’s robustness to these problems may be included in the performance measure or be specified in a separate stability measure. A crucial design step is to make a reasonable model of the system. Inclusion of the operator and environment in this model is necessary because it is widely recognized that when they interact with the teleoperator, the system dynamics may be significantly altered. This complicates the analysis and many authors choose to simply assume that the interaction at both sites is with a passive physical system (see Section 4.1.1). The design of the bilateral controller is a nontrivial one. In this thesis, a general design strategy based on H theory has been developed and is described in Section 4.3.4. This approach allows a convenient means to tradeoff the optimization of performance against Chapter 1. Introduction 10 robustness. Simulations and experiments with controllers designed using this framework show encouraging results. 1.4 Thesis Overview The thesis project work is twofold. At the mechanical design level, work has encompassed the proposal of a dual-stage teleoperation system and the design and fabrication of the miniature slave maglev wrist (an existing UBC maglev wrist will be employed as the mas ter), including an analysis of the relation between maglev actuator performance and size. At the controller design level, work has involved the design, simulation, implemeiltation, and experimentation of an H-based bilateral controller. The targetted applications of the system described in this report are in microsurgery for enhancing a surgeoll’s ability in tool positioning and kinesthetic force sensing. More specifically, the operations in which this should prove useful occur in, but are not limited to, reconstructive surgery, opthalmic surgery, ear surgery and neurosurgery. The remainder of the thesis is organized as follows: Features of the overall system are described in Chapter 2, followed by a detailed description of the maglev slave design in Chapter 3. Chapter 4 provides some history in the theory of bilateral controllers, de scribes the dual-stage control scheme, and then presents the H-optimization framework for synthesizing the fine-motion scaling controller. Simulations and experimental results can be found in Chapter 5. Finally, conclusions and ideas for future work are presented in Chapter 6. Chapter 2 System Hardware 2.1 Overview 2.1.1 System Requirements Some qualitative features desirable in a practical microsurgery teleoperation system were identified through consultations with surgeons [33] and observations of several microsur gical procedures [5]. 1. Downward motion scaling from master to slave. Human tool positioning is barely adequate for microsurgery because the required resolution is on the order of microns [5]. Downward motion scaling would increase the resolution of the surgical tool and allow the microsurgeon to use larger, more comfortable motions requiring less dexterity and effort. This increased comfort would also help to reduce fatigue, and hence physiological tremor which is a significant problem at such a critical scale. Tremor would be further attenuated by the motion scaling or it may even be filtered through software. 2. Upward force scaling from slave to master. Currently, surgeons rely on vision, ex perience, and a great deal of patience when performing microsurgery but delicate tissues and vessels can easily be damaged even by highly-skilled surgeons. Trauma tized vessels require longer recovery times or may result in unsuccessful operations that need to be repeated [34]. Although vision allows continuous and accurate 11 Chapter 2. System Hardware 12 tool positioning, force feedback would provide a faster and more natural response for manipulation (the approximate feedback loop times for vision and force are, respectively, 190-260 ms and 125 ms [34)). Aided with kinesthetic sensing, the microsurgeon could execute tool motions with increased speed and safety. 3. Programmable motion/force scaling ratios and compliance. The scaling ratios should be selectable by the surgeon for the particular operation and for his/her comfort. A reasonable choice of motion-scaling ratio would be the visual magnification of the microscope to provide better correlation between what is seen and what is felt. The master compliance would affect how the command tool feels to the surgeon and the slave compliance would affect how the operating tool interacts with the en vironment. The slave should have a low compliance so that it can be actuated with low forces and its motion response will be more sensitive to environment forces. 4. Programmable force and motion limits. Implementation of motion and force limits would be valuable to restrict the slave workspace, avoid application of excessive forces, and/or guide the tool for controlled motions (e.g., to maintain a cut no deeper than 30 tm or to prevent exerting detrimental forces greater than 50 grams). 5. Convenient manual over-ride of motion scaling. The hands of the surgeon should always be in close proximity to the operating site so the teleoperation can easily be over-ridden. This feature increases safety and surgeon confidence in employing the system. 6. Backdriveability over a large motion range. The surgeon should be able to quickly remove the system and resume routine operations when the microsurgery is con cluded or in the event of complications. Chapter 2. System Hardware 13 7. Conventional command tool. The overall system should be commanded by a tool similar to commonly used medical instruments. A comfortable handle should have a handle diameter of 5-10 mm [34]. The tools for surgery have evolved over decades of experience and a familiar and ergonomic design would be necessary in promoting its acceptance among surgeons. In addition to this, use of the command tool to control the slave should not be mentally demanding. The easiest interface would have the master and slave devices kinematically similar and always in the same orientation. 2.1.2 Proposed Configuration To satisfy these requirements, a dual-stage structure consisting of a fine-motion scaling system transported by a coarse-positioning mechanism is proposed. A schematic of the configuration is illustrated in Figure 2.2 and a photo of the prototype system to be used for experiments is shown in Figure 2.3 (compare these to the more traditional teleoperator of Figure 1.1). A macro-motion master and micro-motion slave’ would share a common stator mounted at the gripper end of a redundant transport stage. By implementing coarse-fine control concepts, the system would support the large workspace of the transport robot while retaining the performance characteristics of the fine-motion devices [35, 30]. This proposed configuration is adapted from the one in [31] which has exhibited exceptional performance. The minimum requirements on the transport stage are that it provide enough force to compensate for the weight of the fine-motion stage and that its motion range be large enough to allow the tool to easily be situated at the operating site(s) and removed when necessary. Although passive mechanisms, which are often perceived to be safer, can 1The terms “macro-motion master”, “macrowrist”, and “master wrist” will be used interchangeably to refer to the master maglev device; similarly, the slave maglev device will be called the “micro-motion slave”, “microwrist”, or “slave wrist”. Chapter 2. System Hardware 14 satisfy these criteria, a robot which tracks the motion of the command tool in some way (backdriveability is implicit here) would allow a more convenient means to position the surgical tool. For safety, a counterbalanced design might be used so that active forces are not necessary to compensate for gravity. Visual endpoint sensing by the operator eliminates the need for high positioning accuracy in the robot control although high position resolution is still necessary to achieve smooth motion and prevent endpoint vibrations; these vibrations would be transmitted to the common stator and adversely affect the motion of the slave. The motion of the fine-motion devices with respect to the common stator is coordi nated by a scaling force-reflecting controller. The macrowrist and microwrist are mounted on the shared stator in the same orientation so that using the master to control the slave can be done with relative ease; this is in contrast to the system in [31] in which control of the coarse-fine slave endpoint using a remote fine master was found to be mentally demanding whether the tracking was done with respect to the world frame or the gripper Coarse—Motion Robot Figure 2.2: Proposed System Configuration Chapter 2. System Hardware 15 frame. The coarse-motion stage will be stationary for small motions of the maglev mas ter fiotor and will track it when its motions are large (i.e., about to exceed its motion range), allowing the operator to accurately position the slave tool over a large range of positions and orientations; this dual-stage control approach is discussed in greater detail in Section 4.2. 2.2 Safety Due to the delicate nature of microsurgery, safety considerations have been significant in the system design. The importance of safety is difficult to overstate and this section gives a relatively brief list of the pertinent details in this area. Firstly, the system has attributes which make it safer to use than conventional tools and these are the primary features which make it desirable. These include the reduced tool motions, magnified kinesthetic sensing, and the limits on motion and force ranges that can be implemented. Figure 2.3: Experimental System Configuration Chapter 2. System Hardware 16 Secondly, the system would possess safety features which help prevent or minimize any damage resulting from system malfunctions. With regard to the transport stage, it would allow quick removal of the tool and might have a disable switch to keep it stationary when necessary. The medical community may feel more comfortable with a counterbalanced and passive structure to eliminate the need for active forces. With regard to the slave, it is lightweight and mechanically constrained so that without power, it can apply a force no greater than its own weight and cannot move far. With power on, the current in each coil, and hence the amount of force exerted, is limited through software and hardware (fuses). As well, the surgeon’s hands would always be close to the operating site and the slave has a handle to allow an over-ride if necessary. Finally, there are other pragmatic details such as sterilization and de-magnetization of the tool tips which would need to be fully addressed before the system can actually be used but they are beyond the scope of this thesis. 2.3 Maglev Wrists 2.3.1 Actuation Each fine-motion maglev wrist consists of two rigid elements — a magnetic-field-generating stator and a lightweight, rigid flotor with conducting coils located in the magnetic gaps. Levitation of the flotor arises from Lorentz forces generated between the two elements when current is passed through the coils. Flotor levitation eliminates common mechanical problems such as friction and backlash, resulting in exceptional capabilities in positioning (in bandwidth, resolution, and accuracy) and force application (in bandwidth, resolution, and accuracy). The only physical connections between the flotor and stator are flexible connectors for energizing the coil currents, powering the infra-red LEDs, and acquiring the F/T sensor signals [30]. Chapter 2. System Hardware 17 Figure 2.4 depicts a typical Lorentz actuator which consists of a flat coil situated be tween a pair of magnet assemblies producing a strong magnetic field. A Lorentz magnetic force F is generated when current I is passed through the coil: F = Ij(dl x B) (2.1) where B is the gap magnetic field, dl is a differential wire element pointing in the current direction, and the integration is performed over the coil wire length L. The more ap proximate calculation usually employed for a coil of N turns is derived from considering the force on 2N straight wires (force is applied on both sides of each coil): F = 2N11 x B (2.2) where 1 is the length of wire in the effective field, and I is the current in each wire. F Coil Soft Fe Permanent Plates Magnets ‘1’ Figure 2.4: Basic Maglev Actuator 2.3.2 Sensing Accurate optical position/orientation sensing is realized by measuring the projections of narrow LED beams from the flotor striking three dual-axis position sensing detectors Chapter 2. System Hardware 18 (PSDs) mounted on the stator. The three coplanar beams are 120° apart as shown in Figure 2.5. Details on the hardware, signal conditioning, and calibration for the optical sensing can be found in [36] while the algorithm and necessary calculations for determining position are given in [37]. LED Beams Figure 2.5: Optical Position/Orientation Sensing System Each wrist can be equipped with commercial 6-axis F/T sensors (see Figure 2.6). Although these sensors are optional, they are expected to significantly improve the tele operation performance during contact tasks. The manufacturer specifications for each device are given in Table 2.1. The JR3 F/T sensor has previously been used for the macrowrist but not in this project. The ATI 9105 Nano-F/T sensor purchased for the microwrist has not yet been tested; the values specified in the table are for the original special calibration arranged with the manufacturer. The dimensions and mass of the ATI sensor include the mounting plates which constitute most of the volume and mass. 2.3.3 Operation When operating a single maglev wrist, the basic operation is shown in Figure 2.7. The controller takes in the reference setpoint (in the form of desired position and/or force) and sensed position and then outputs a set of commanded forces and torques. These Stator — Frarne — — — Flotor Frame Dual—Axis — Position Sensing Detectors Chapter 2. System Hardware 19 commands are represented by the wrench vector w = [fT TTJT which can be applied via the transformation w = MI (where I is the vector of coil currents and M is a roughly constant matrix; e.g., see equation (3.6)). The wrench vector can be controlled to allow forces and motions in a limited range, 6 DOF workspace. The achievable resolution in force application and positioning is limited by the resolution of the digital-to-analog (D/A) and analog-to-digital (A/D) conversions, respectively. The 12-bit D/A output channels being used allow force resolution 0.02% of the full range assuming negligible noise in the coil current drivers; for example, with the microwrist, current drivers with a range of ±3A are being built so the best resolution in force application possible would then be (0.02%)(6A)(0.8N/A) 0.OO1N 0.1g. The 16-bit A/D input channels allow a theoretical position sensing resolution of 0.00 15 % of the range of motion of the light beam across the PSD surface; referring again to the microwrist example, the signal conditioning was calibrated for a motion range of roughly 6 mm so the best resolution in positioning possible would then be (0.0015%)(6mrn) 0.1im (noise in the electronics and from Figure 2.6: 6-DOF Force/Torque Sensors Chapter 2. System Hardware 20 Characteristic jR3 ATI Mass 320 g 6.7 g Cylindrical Dimensions: Diameter 7.5 cm 1.6 cm Height 3.2 cm 1.2 cm Range: F and F 11 kg 300 g 22kg 600g Torque 86 360 gcm Resolution: FandF 3g 0.16g 6g 0.32g Torque 0.02 kg•cm 0.18 gcm t Manufacturer specifications Special calibration Table 2.1: Force/Torque Sensors Characteristics other light sources currently limits the position sensing to roughly him). More generally, the controller might also utilize F/T sensor signals from the flotor and, in teleoperation, sensed information from the other wrist. The original maglev wrists have successfully been employed in teleoperation exper iments, in unilateral mode [11], and force-reflecting mode [31, 38], including a system having identical master and slave maglev wrists [31, 32]. Experience with these fine motion devices indicated that the motion range and performance they provided (see Table 3.2 of Section 3.2) were adequate for the project master in providing fast motion tracking and excellent kinesthetic feedback. Chapter 2. System Hardware 21 Inverse Dynamic Coil Current - Transformation Data Actuation Force/Torque Data Maglev Wrist System F -I D/A I - Current I PowerDriver _j Supply Coils LEDs ControllerSet—Point Flotor Location (wrt Stator) Lorentz I Forces Flotor Kinematic PSD Data Transformation - LED I Beams StatorPermanentMagnets ra S ___ I I A/D I SignalI Conditioning L Figure 2.7: Control of Single Maglev Wrist Chapter 3 Micro-wrist Design 3.1 General Scaling Characteristics In designing the microwrist with the desired characteristics, the simple scaling of previous maglev wrists should be examined. In the remainder of this section, a scaling factor n is assumed. Magnetic Field. Recall from (2.1) that the force achievable in each actuator is directly proportional to the magnitude of B. A general analysis of the effect of n on this field can be performed by comparing the vector potentials, A1 and A2, for a magnetized body V1 at a point F1, and the scaled body V2 at the scaled location F2 (see Figure 3.8). For V1, Ai(p) = fvi Mr( rdVl (3.3) where M is the magnetization, r = and is the permeability of free space [39, p. 362-3]. For V2 (using the same magnetic material so that M remains unchanged), to ç Mxnr A2(np) = I dV2 47r Jv2 (nr)3 = 3dV1= nAi(p) (3.4) Using (3.4) and the relationship B = V x A, it can be shown that B2(np) = Bi(p). Thus, for any shape and configuration of magnetized bodies, B is invariant to dimension scaling. Power. The continuous power that can be delivered to the actuator is equivalent to 22 Chapter 3. Micro-wrist Design 23 V2 \ J r pp nr 1 Thp Figure 3.8: B-field Scaling from a Magnetized Body the maximum rate of thermal dissipation, P = A/IT. The area A for thermal dissipation is proportional to n2, while the allowed temperature gradient ZT does not change. The average heat transfer coefficient ii for free convection from horizontal plates is roughly constant [40], while formulae for vertical and inclined plates indicate an expected increase in Ii for n < 1, which has favourable implications for the microwrist design. Thus P scales approximately as n2. While forced convection is a possible way to cool the coils, it is unlikely because the lightweight fiotor would be affected by the air flow. Force. Using the coil resistance equation, R = pL/A (for a wire with resistivity p, total length L, and cross-sectional area As), we get R oc n1. The relation j2 = P/R and the previous result for power shows the maximum current scales according to I cc Finally, from (2.1), F cc Chapter 3. Micro-wrist Design 24 Acceleration. The acceleration capability is the actuator force-to-mass ratio. The mass rn is proportional to n3 and so the ratio scales according to F/rn cx n112. This relationship demonstrates that the actuator acceleration capability is expected to improve for n < 1. These scaling aspects apply to maglev actuation in general and is not unique to our design. Discussions on how the performance of other actuators scale with size can be found in [41, 42]. 3.2 Mechanical Design In the slave wrist mechanical design, some of the important issues considered are the following: 1. The fiotor should be lightweight to reduce the power required to actuate it and make its motion more sensitive to environment forces. The inadequacy of the existing macrowrists with respect to this need for low mechanical impedance is the primary reason for the design of the microwrist. 2. The translational and rotational motion range should be large enough for the tasks desired. 3. The coils and magnets should be chosen in conjunction so that the forces required can be achieved with reasonable voltages and currents. 4. The system should possess a high degree of symmetry to reduce the complexity in modeling and in fabrication. 5. For maintenance purposes, the parts should be easy to manufacture within reason able tolerances and easy to assemble/disassemble. Chapter 3. Micro-wrist Design 25 6. The system should be inherently safe and simple so surgeons will feel comfortable using it. A drawing of the resulting microwrist and a photograph of it during operation (with out the tool and F/T sensor) are shown in Figure 3.9. The assembly of the device is depicted in Figure 3.10. The flotor parts are photographed in Figure 3.11(b) (the pencil is included only for size comparison). Most of the pieces are made from aluminum. The coils were painstakingly wound on a lathe using copper roundwire (AWG 35), each with approximately 125 turns. The resulting coils were not very uniform (e.g., the length of the smallest coil was just over 11% smaller than that of the largest coil) but this can be compensated for in the calibration for the wrench vector transformation matrix. Better uniformity and higher packing efficiency could be expected with flat wire. The average resistance, inductance, thickness, and width (measured between the inner and outer perimeters) of the coils are, respectively, 7.4, 0.23 mH, 0.85 mm, and 6.8 mm. The coils are mounted using Figure 3.9: Microwrist in Operation Chapter 3. Micro-wrist Design 26 6 DOF Force/Torque Sensor Stator Peripheral Magnets Flotor LED Assembly Stator Ring Support Stator PSD Assembly Interchangeable Tool Stator Fe Core Flotor Top Stator Support Rods Flotor Coils Figure 3.10: Slave Maglev Wrist Assembly Chapter 3. Micro-wrist Design 27 thermally conductive epoxy for better heat dissipation and protected with an aluminum sheet on both sides. Standard copper wire is rated to 100° C [43] but a test coil was heated beyond 140° C before the cyanoacrylate adhesive holding it together began to break down; although the core temperature would be slightly higher, a conservative specification on the maximum surface temperature would be 90°C. A test coil, prepared with the epoxy and aluminum sheets, was run continously at 0.4 A of current resulting in a surface temperature rise of 17 Celsius degrees (from 23°C to 40°C). Since the power that can be dissipated is directly proportional to the temperature gradient, one could expect to safely dissipate four times as much power, or pass twice as much current (for a maximum continuous current of 0.8 A). Another reason this estimate is conservative is that the power can be dissipated over the entire surface of the flotor rather than just the aluminum sheets. After addition of the tool and force/torque sensor, the fiotor is expected to weigh 41 g. The stator parts are photographed in Figure 3.11(c). An inexpensive means of in creasing the field is through the use of soft iron for the back plates and stator core (the resulting field in the gap centers of the microwrist was measured to be 0.4 T). The magnets being used have the highest energy product commercially available (NdFeB 45 MG.Oe). Each magnet has dimensions 4.5 mm (height) x 4.5 mm (width) x 13 mm (length) with magnetization parallel to the width. Some conservative assumptions for calculation are that the average length of wire in the field is 10 mm (use a value only slightly larger than the average primary axis of the coil inner perimeter) and that only 4.5 mm/6.8 mm = 66% of the wires are useful for actuation. Using (2.2), the force constant for a single actuator in the microwrist can be calculated as follows: Kf = F/I = 2NIB = (2)(125 66%)(0.Olm)(0.4T) = 0.66N/A (3.5) Chapter 3. Micro-wrist Design 28 Figure 3.11: Microwrist Parts Experimentally, an average current of 0.15 A in each of the three axial actuators were required to levitate the 35 gram fiotor indicating an actual force constant of Kf =0.76 N/A. Recent advances in ceramic magnets have increased the fields available, making ma glev actuation even more attractive. Figure 3.12 was derived showing how the maximum continous force for a single actuator in the microwrist varies with the energy product of NdFeB magnets (using the experimental Kf, assuming a maximum continous current of 0.8 A, and taking data for the magnets from [44]). The configuration of several actuators is shown in Figure 3.13. Having the actuators on the periphery maximizes the torque for a given size. The basic actuator differs from the ones in the macrowrist in that the magnet is only on one side of the coil. Although this makes the fabrication simpler, a problem with this design is nonlinearity in the field which weakens away from each magnet, closer to the stator core. A gaussmeter was (a) Stator and Flotor (c) Stator Parts Chapter 3. Micro-wrist Design 29 used to measure the gap field between a pair of magnets and a piece of soft iron and then repeated for a configuration in which the iron was replaced by a single magnet; these experiments demonstrated that it is likely magnets embedded in the stator core will reduce the nonlinearity and increase the field by over 15% in some regions. The UDT DL1O PSDs can potentially provide submicron resolution [45]. An oscillo scope trace of a PSD signal showed ambient light injects roughly 10 tm of noise in each signal but since position is determined by the difference in a pair of signals and the noise is mostly in phase, the actual noise observed is about 1 1um. The use of optical filters is being pursued to reduce this. Figure 3.12: Actuator Force vs. Energy Product 3.3 Operational Specifications The determination of the matrix transforming currents to forces on the flotor can be made from examination of Figure 3.14. Adopting the coordinate system in the diagram Microwrist Single Actuator Force vs. Maximum Energy Product a a L1 0 0 C 0 0 E E Chapter 3. Micro-wrist Design 30 0 Figure 3.13: Actuator Configuration with the coil centers on the x-y plane, the wrench vector w is related to the coil currents I by the relation: — 0 1 0 — 0 I 0 0 0 0 12 F 0 1 0 1 0 1 13 = Kf (3.6) 0 d 0 d 0 —d 14 0 —d 0 —d 0 0 15 —d 0 —d 0 —d 0 16 where the distance d from each coil to the center is 11.5 mm and the force constant Kf is 0.76 N/A. The fiotor has a translational motion range from its center position of +2.25 mm along z and up to +1.7 mm in the x-y plane. The rotational motion range is ±10° about z, and ±4° about an axis in the x-y plane. These motion ranges are not independent of each other so if the fiotor is actuated to one of its translational motion limits, then there is no rotational freedom. The expected maximum continuous force is 1.8 N axially and 0.9 N laterally (ignoring the fiotor mass) while the maximum continuous torque is 30 Nmm about z and 15 N•mm about an axis in the x-y plane. As previously noted in Section 2.3.3, Chapter 3. Micro-wrist Design 31 the force resolution expected is 1 mN. The force bandwidth for the microwrist can be estimated to be 32 kllz from the coil resistance and inductance (R/L); however, since the force depends on current, the quality of the current amplifier electronics can extend this bandwidth. This far exceeds the speed of the current computational hardware which only operates at 250 Hz when operating both wrists. The slave designed is expected to meet the tool requirements outlined in Section 1.2 although experiments in microsurgery will be used to confirm this. A summary of the measured and estimated characteristics of the system’s maglev wrists is presented in Table 3.2. Figure 3.14: Determination of Transformation Matrix Chapter 3. Micro-wrist Design 32 Characteristic Mastert Slave Flotor mass 600 g 35 g Cylindrical Dimensions: Diameter 13 cm 7 cm Height 11 cm 6 cm Single Actuator: Maximum continuous current 3 A 0.8 A Force/Amp 2 N/A 0.76 N/A Maximum continuous axial force 18 N 1.8 N Nominal Motion range: z translation +4.5 mm +2.25 mm x-y translation +4.5 mm +1.7 mm z rotation +7° +10° x-y rotation +7° +4° Force Bandwidths 3.7 kHz 32 kllz Position Resolution 5 um 1.0 gum Force Resolution 0.1 N 0.001 N t UBC maglev wrist presented in [31, 32] j Force bandwidth assumed limited by coil inductance Table 3.2: Maglev Wrists Characteristics Chapter 4 Controller Design As previously discussed, the goal in designing controllers is to realize a stable system with optimal performance. The challenges are to develop a reasonable system model, deter mine the desired behaviour depending on the application and plant limitations, and then design the controller to optimize the performance in the face of possible uncertainties, disturbances, measurement noise, and time delays. This chapter presents a brief history of ideas in bilateral control, followed by a discussion on the motion coordination and control for the dual-stage structure proposed, and concludes with an H-based approach to designing controllers. 4.1 Teleoperation Control History Bilateral teleoperation is still a relatively recent field with much of the analysis and development of controller architectures occurring in the past decade. This section is concerned with some measures of performance in the literature and several interesting approaches to the nontrivial bilateral control problem. 4.1.1 Preliminaries An important step in the synthesis and analysis of controllers is to develop an accurate model. A commonly used approach is to consider 5 separate subsystems as shown in Figure 4.15, e.g., [46, 47, 48]. The operator and task environment each interact with a single subsystem (i.e., their 33 Chapter 4. Controller Design 34 respective manipulators). The master and slave manipulators each interact with their re spective environments (the operator can be considered to be the “master’s environment”) and the controller. The arrows indicate that the flow can be in either direction. How ever, it should be recognized that a signal “entering” the controller is a measured quantity whereas one “exiting” is a desired setpoint (these will be denoted by the subscript d). Usually, continuous contact is assumed between the manipulator and its environment so Uh Vm and Ve v. Sometimes, the master, controller, and slave will be grouped into a single block representing the teleoperator as shown by the dashed line in Figure 4.15, e.g., [23, 22, 49]. A possible problem with doing this is that, if the designer is not careful, the individual dynamics and limitations of each manipulator may be concealed so unrealistic controllers may be synthesized. For simplicity, the blocks are usually modeled as linear, time-invariant (LTI) systems in which the dynamics of the force transmission and position responses can be mathe matically characterized by a set of network functions. One can then draw upon the vast amount of network theory for synthesis and analysis of the controller. A further simpli fication often made is assuming passive environments. Physically, a device is passive if it cannot increase the total energy of a system in which it is an element (assuming it has no initial energy). Mathematically, an n-port is passive if for any set of injected flows L TeeoJ2ercLtorJ Figure 4.15: General Teleoperation Model Chapter 4. Controller Design 35 (v) and applied efforts (f) satisfying its network function, then f T(t)v(t)dt> 0 (4.7) Colgate and Hogan showed that when a 2-port A(s) (such as the communication block) is connected to a passive 1-port B(s) (perhaps the environment, or environment and slave together) then passivity of A(s) is sufficient for demonstrating overall stability and is also necessary when dealing with any passive B(s) [50]. If the limited range of environment impedances encountered is known, then requiring passivity of the 2-port to maintain stability is overly conservative; alternatively, if the environment possesses an active state-dependent term, then there is no guarantee of absolute stability. The mathematical network functions most commonly used for the LTI blocks are the impedance Z(s), admittance Y(s), and hybrid H(s) matrices. For example, in [46], the communication is represented by the hybrid matrix H(s) satisfying frnd(s) H(s) Vm(5) (4.8) Vd(S) fe(5) A less intuitive representation that is sometimes useful is the scattering matrix S(s) which maps efforts plus flows into efforts minus flows [51]. For example, (4.8) can be changed to f(s) — v(s) = S(s)[f(s) + v(s)] (4.9) where f(s) = [fmd(S) fe(5)]T and v(s) = [Vm() — vsd(s)]T. One advantage of using S(s) is that it readily allows determination of whether the system is passive; a system is passive if the co-norm of its scattering matrix is no greater than unity (i.e., SIIOO 1) [51]. Chapter 4. Controller Design 36 4.1.2 Measuring Performance We now take a brief look at how some researchers have addressed the need to define performance in bilateral teleoperation. Time-Based Measures In experimental work with teleoperation, a frequently used performance measure is the time required to complete a task [52, 9]. This “task completion time” is desired to be as small as possible. Another example of a time-based measure is the one used by Ananiev and Nakhapet jan [1, p. 14], 1 ret2 1Q = AX(t) I + AYT(t) dtj (4.10) t2—il tI where t1 and t2 are the initial and final times, respectively, of the trajectory tracking, /XT and AYT are the 2-D cartesian coordinate deviations (additional coordinates can easily be defined), and 9 is desired to be as small as possible. A problem with this quan tity is that it is very frame dependent. Another observation is that perfect performance (i.e., Q = 0) does not require any transparency as long as the slave tracks the master exactly. These time-based measures are easy to quantify experimentally but they cannot be expressed in terms of engineering variables so it is difficult, if not impossible, to design for them. Other obvious problems include the dependence on the human subject and on the task at hand. The remaining performance measures described are frequency-based. Chapter 4. Controller Design 37 Transmitted Impedance Measure In [49], Lawrence models the teleoperator as the 2-port characterized by the hybrid matrix satisfying fh(s) = Hii(s) H12(s) Ve(S) (4.11) Vh(S) H21(s) H22(s) fe(3) Setting fe(S) = Ze(S) Ve(), where Ze is the environment impedance, yields the transmit ted impedance, Z(s). fh = (H11 —H12Z)(H21 —H22Z)’Vh = ZtVh (4.12) Perfect transparency here is described as having the transmitted impedance the same as the environment impedance (i.e., Z Ze); this is equivalent to the ideal response requirement of [22] and is satisfied when H11 = H22 = 0 and H21Ze = ZeH12. Lawrence therefore suggests that Z be used as the transparency measure. Unfortunately, no for mula is provided to actually quantify this transparency. Z by itself certainly provides no useful gauge but must be compared to Ze. However, even closeness of Z and Ze at a given frequency isn’t a good measure because the “feel” may not be good if their shapes are different at that frequency (e.g., ZT might be sloping up at 20 dB/decade so it will feel like a mass while Ze might intersect it as a horizontal line and feel like a damper). This suggests that the performance should somehow be quantified over a weighted frequency range of the impedance difference (or its slope). For evaluating stability, Lawrence uses the standard Nyquist plot. Chapter 4. Controller Design 38 Performance Index of Maneuverability In [22], Yokokohji and Yoshikawa define a “performance index of maneuverability” based on the following formulation. Let Xm(8) = Gmp(s)rop(s); fm(s) = Gmf(5)rop(.5) (4 13) x3(s) =G3(s)r0; f3(s) = where Top 15 the operator’s force input, the subscripts m and s refer to the master and slave, respectively, and p and f indicate whether the transfer function G(.,.)(s) is for position or for force, respectively. Now define some performance indices. Position Index: = J°”t F(Gmp(jw), G(jw))W(w)dw 4 14 Force Index: Jf = jmam F(Gmf(jw) ,8f(jw))W(w)dw where F(.,.) is a “suitable difference function” for transfer functions, W() is a weighting function of frequency, and Wmax is the manipulation bandwidth of humans. If J,, and Jf are small, then the performance index is high. This measure is more clear than the one given in [49] but also has its problems. The transfer functions G(.,.) (s) are dependent on the environment impedance so Ze should appear explicitly in the performance index. Again, there are no examples of the index calculation nor suggestions for suitable differenee or weighting functions to use. The weighting and difference functions for the separate indices should probably be different. The evaluation of stability is based on passivity. Although not explicitly stated, it appears that the stability measure is the norm of the system scattering matrix which must be less than unity and is generally smaller for systems with greater stability margins. H, Performance With regard to H-based controllers, a reasonable measure is the x-norm of the resulting closed-loop transfer function, denoted by this norm is desired to be as small Chapter 4. Controller Design 39 as possible for a given plant. This approach allows specification for performance and robustness in a single measure (see Section 4.3.2). Because H control is well adapted for multi-input, multi-output (MIMO) systems, active environments which can apply exogenous forces can easily be included. These issues of a single measure and including active environments can be compared to the previous two examples in which performance and stability are evaluated separately, and a passive environment is always assumed. For example, in [53], Kazerooni et. al. propose an H design framework for teleoper ators. Assuming a set of desired dynamics for the system (X8 = AxXm, f = Affm, fm = ZmXm, fs ZsX8, where AfZm = Z3A), then the deviation of the actual response can be quantified by an error vector z defined by W(X3 — Axm) z Wf(fsAffm) (4.15) Wzm(Xm — Z’fm) where W(.) are frequency weighting function matrices (W8x3— Z’f8) could have been substituted for any element of z). Then for the vector of exogenous signals represented by w, the controller should be designed to minimize TZWWOO. The measure of performance is which is chosen as the upper bound on this norm (i.e., y > It is stated that -y is the designer’s choice; however, -y cannot be chosen arbitrarily small and it seems intuitive that its minimization is the design objective. For a specified plant G, the smaller can be made, the better the performance of the controller. In some ways, this formulation is similar to the performance index of maneuverability described in [22] because it is a measure of a weighted difference between the desired and actual transfer functions. Although some experimental results are discussed, there are no calculations to show what weighting functions should be used and what performance values were achieved. It seems reasonable to set the desired dynamics to be the ideal dynamics of direct manipulation as chosen in the control approach discussed in [31]. Chapter 4. Controller Design 40 Before closing this discussion on the performance of H controllers, it should be noticed that a properly specified plant will allow the designer to quickly assess how well the controller meets the specifications. The reference value for the cc-norm then is unity so if < 1, the controller can meet the design goals and if y > 1, it cannot. It might also be loosely argued that if -y is not close to unity, then the plant may have been poorly specified because if the designer had carefully considered the system dynamics and limitations then a reasonable choice of weightings could have been made; however, if the designer had this much insight, then H theory might not really have been necessary for the optimization! 4.1.3 Approaches to Controller Design Network Models Raju et. al. developed the use of 2-port network models to design bilateral controllers [23]. In this paper and the next two examples described, the telemanipulator is modeled as a single block so that only three subsystems need to be considered (see Figure 4.15). Raju models both the human operator and the environment by second order impedances. By modeling these as passive immitances, the overall design is simplified because the oniy requirement for stability is passivity of the teleoperator. Although in reality, the operator is not passive, the authors feel that such a model is sufficient for their work. The teleoperator 2-port model is represented by the impedance matrix satisfying fh(s) Vm(S) = Z(s) (4.16) fe(S) vs(s) The control laws are then chosen to obtain impedance characteristics at each port that satisfy the performance requirements which are specified in the form of a maximum Chapter 4. Controller Design 41 position error, a minimum response bandwidth and a maximum overshoot. In this paper, a simple example that used position and velocity errors in the control law is given by Xm(S) fm(s) —k11 —k12 k13 k14 Vm() (4.17) f5(s) k21 k22 —Ic23 —k24 x3(s) vs(s) with the sign convention adopted to suggest that the response effort should oppose the flow at the ports. It is interesting to note that the gains are constants instead of transfer functions and no force measurements are used. It is also possible to view this as a first order controller if only position measurements are available. In [22], Yokokohji and Yoshikawa adopt the same impedance network as in (4.16). The controller design objective is to realize the ideal response: when the operator applies an operating force to the system, the position and force responses of the master and slave arms, are absolutely equal, respectively, regardless of the task dynamics. The authors derive a controller scheme utilizing all measured values (i.e., forces and positions of master and slave) that achieves this performance! Of course, this derivation assumes no parameter uncertainties, disturbances, sensor noise, nor time delays. The form of the controller used is Xm fm K(s) K12 K13(s) K14 fh (4.18) f8 K21(s) K22 K23(s) K24 fe where the position gains have the form K3(s) = k + ks + kaS2, = 1, 2 and 1, 3, and the force gains are constants. This is more general than the one in (4.17) because it utilizes sensed force information and second order gains on the position. It Chapter 4. Controller Design 42 is shown that for a controller realizing the less stringent requirement of identical master and slave position responses, the scattering matrix norm is subunity and, hence, system stability is guaranteed by assuming the environment and operator are passive except for a state-independent operating force. However, this also assumes availability of exact and instantaneous measurement signals so robustness to time delays and plant uncertainties is not dealt with. In [49], Lawrence characterizes the teleoperator via a 2-port hybrid matrix as previ ously described by (4.11). Recall that his approach is to design the controller so that Z is close to Ze. It is shown that the mechanical dynamics of the manipulators makes it impossible to satisfy the perfect transparency condition and that a general teleoperator architecture utilizing all four measurements (e.g., as in (4.18)) is necessary to obtain “good” transparency. No controller is actually suggested although different features of two control architectures are compared. Impedance Control Hogan describes a control strategy for a manipulator in contact with the environment [54]. The argument is that a manipulator in contact with the environment may not be treated as an isolated system and when the amount of dynamic interaction at the ma nipulator/environment interface is not negligible, the inability to control the mechancial work exchanged makes strategies to control only position, velocity, or force inadequate. The proposed solution is to control the impedance, and hence, the dynamic behaviour of the manipulator. Along any degree of freedom with dynamic interaction between two physical systems, one may be viewed as an impedance and the other as an admittance. For LTI systems, either immitance characterizes the other but for general manipulation which is nonlinear, this is not true and real physical systems exist which can be described in one form but not Chapter 4. Controller Design 43 the other. In most other papers, the teleoperator is often represented by a 2-port with the choice of immitances being made on the basis of convenience so this nonlinearity is not truly addressed. Hogan argues that for almost all manipulatory tasks, the environment is essentially an admittance because it accepts force inputs and the motion response is the output. Consequently, the manipulator should be viewed as an impedance and the controller should be capable of modulating this impedance as required for the task. The assumption that the environment is an admittance directly leads to the validity of manipulator impedance superposition, even when uncoupled from the environment or each behaviour being superimposed is nonlinear. This allows the controller to be designed to simultaneoulsy satisfy different requirements by superimposing different actions. Although teleoperation is not specifically discussed by Hogan in [54], it is an area in which the impedance controller described can be used. Indeed, impedance controllers for telemanipulators are described in a number of papers. Hannaford proposed bilat eral impedance control employing estimators to identify the operator and environment impedances which are then used to modulate the manipulator impedances [55]. In [56], Colgate provides an insightful discussion on designing a bilateral manipulator to “shape” the perceived environment impedance, with special attention given to systems in which the dynamics of the master and slave are not desired to be the same. An impedance controller is used with impedance matching in [47] by Slotine and Niemeyer for pre venting reflections in a passive controller. The success of impedance control depends on the availability and accuracy of the environment model and this can be a draw back. An interesting approach to overcoming this difficulty proposed in [56] is to use the structured-singular-value j to provide robust impedance shaping. Chapter 4. Controller Design 44 Passive Control In [461, Anderson and Spong address the problem that time delays have a destabilizing effect on bilateral teleoperators. The overall system is represented by the five subsystems previously shown in Figure 4.15. The communication block can be expressed by the hybrid equation as in (4.8) which is restated here. frnd(s) = H(s) Vm(3) (4.19) —vd(s) fe(5) The standard control law, 0 eT H(s) = , (4.20) _esT 0 makes the measured master velocity the slave velocity setpoirit and the measured envi ronment force the master force setpoint. If there is any time delay (i.e., T > 0), it is non-passive (this is easily verified by looking at IISW), and this may lead to instability. The communication is redefined to mimic the dynamics of a lossless transmission line to exploit its passive nature. The resulting symmetrical communication block can easily be shown to be passive for all time delays by examining its scattering matrix. tanh(sT) sech(sT) 0 e_8T H(s) = 5(s) = — = 1. (4.21) —sech(sT) tanh(sT) e_ST 0 The implementation of this in the time-domain is frnd(t) = f8(t — T) + Vm(t) — V8d(t — T) (4.22) Vsd(t) Vm(t — T) — f8(t) + fmci(t — T) It is interesting to note that the hybrid matrix representation of this control is somewhat counterintuitive because the presence of hyperbolic functions would seem to indicate that future measurements are required. This demonstrates the importance of choosing a mathematical model which can provide an insightful solution. Chapter 4. Controller Design 45 Niemeyer and Slotine provide an extension to this passivity-based approach by includ ing a wave impedance term b and looking at the use of impedance control [47]. They use an energy-based derivation in which wave variables representing power are transmitted. (4.22) becomes fmd(t) = f8(t — T) + b[Vm(t) — v8d(t — T)] (4.23) Vsd(t) Vm(t T) — [f3(t) — fmd(t — T)] By using a symmetric configuration with an impedance controller on either side of the communication block, impedances can be matched at both sides to prevent wave reflec tions which corrupt the flow of useful information. In view of how the passive control law helps to maintain stability in the presence of time delays, we felt it would be instructive to see how this applies to signals being transformed by a more general transfer function F(s). For perfect time delays, F(s) e2’ but now consider a first order transformation function defined by F(s) = (1 —s)/(l+ s). Notice a few of the similarities: • Both are in J?HO (i.e., the Hardy space of rational functions with real coefficients and finite co-norm) but not their inverses. • Both are all-pass with F(jü)I = 1 Vwe. • Both introduce a phase lag of increasing magnitude as .‘ increases; however, for e_8T, the lag increases without bound (0 = —wT) while for (1 — s)/(1 + s) it increases only up to 1800 (0 = tan1(2w/(w — 1))). • Both do not affect DC signals (i.e., P(0) = 1). In light of these similarities, a control law with a similar S(s) using the first order transfer Chapter 4. Controller Design 46 function F(s) was attempted. 0 F(s) S(s) = F(s) 0 1/2 ( 0 P*(j) 0 P(j) = supA I F’(j.ü) 0 P(jw) 0 P(jw)2 0 = sup = sup A’!2(I) = 1 0 IF(i”)2 This shows that indeed, the system is passive. It is not difficult to see that this can easily be extended to a communication block with the frequency-domain implementation, frnd(s) = Vm(5)+Fl(8)[fs(5)Vsd(S)] (4.24) f3(s) —vd(s) +P2(S)[fmd(5) — where Pi(s),F2(s)RH, and Pi(jw)I,(P2( < 1VweJ?. Proof: The scattering matrix for (4.24) is 0 Pi(s) S(s) = P2(s) 0 1 2 0 P(j) 0 Pi(jw)ISWoo = supJ I P(jw) 0 P2(j) 0 P2(jw) 0 = sup2 =sup(P1(J,P2(Jw)) 1 0 Pi(j)2 Thus, the system is passive.D The conclusion is that as long as the communication block affects measurements from one site to another with a transfer function that belongs to and norm no greater than unity, then the control law (4.24) is passive. This is true even if the transfer functions Chapter 4. Controller Design 47 for each direction are different from each other. This suggests a more general approach to passive controller design than the one proposed in [46]. It should be added that Lawn and Hannaford experimentally test the passivity con cept of [46] and conclude that the stability guarantee comes at the expense of reduced stiffness, resulting in poor teleoperator transparency [52]; the experimental task comple tion times were found to be 50% higher for the passive control approach compared to more conventional approaches. Hoo Control In [31], Salcudean et. al. attempt to mimic Handlykken’s ideal massless, rigid link between an identical master and slave, as suggested in [7]. First, local controllers at the master and slave sites are used to provide proper and stable transfer functions Pm(s) and P3(s) relating the forces and positions for each manipulator. The measured hand and environment forces are fed to the slave and master actuators, respectively along with a “coordinating force” based on the positional error e. The control law then is given by = feCe f8 = fh + Ce (4.25) A parameterization of all coordinating force transfer functions which stabilize the system is given by C = [I — Q(Pm +P3)]’Q where QeJtHm. Some analysis shows that the system dynamics can be represented by an admittance matrix. Xm = Pm(1Q(PmP8)) (fhfe) (4.26) Ps(I+Q(PmP6)) The admittance matrix has the advantage of being strictly proper whereas the hybrid and impedance matrices are improper. The approach is to use Hm-optimization to find the Chapter 4. Controller Design 48 Q which best shapes the closed-loop response (minimize the tracking error and maximize transparency) and then find the corresponding C to implement. The primary advantage of this parameterization of all stabilizing compensators is the ability to choose a desired Q and then finding the required compensator. Another useful aspect is it allows one to easily check if a particular compensator is stabilizing or not. The problem may be posed as any standard H problem for which numerous algorithms are available to optimize performance [57, 58, 59]. Some issues that need to be addresssed are the assumption of stable local transfer functions (e.g., the environment impedances may change this) and the robustness to measurement noise. Kazerooni et. al. attempt to use H control theory to shape the relationships be tween forces and positions at both ends of the teleoperator [531. A Norton equivalent representation of the operator is chosen to model the source of force interacting with the master manipulator. A fair bit of experimental work is shown in getting the transfer function matrices for the human arm dynamics and environment dynamics for a spe cific task performed in a certain manner. The approach is to minimize a weighted error between the actual and desired transfer functions for positions and forces as described previously. The control signals are based only on the measured contact forces at both sites; the authors confess that this controller may suffer from positional error buildup but dismiss it as partially correctable by periodic initialization of both manipulators. In [48], Leung et. al. combine H control and n-synthesis’ into a single framework to design a teleoperator which is stable for a pre-specified time delay while optimizing performance characteristics. The design is done in two stages: (a) design for free motion so an operator force results in motion of the master and corresponding motion of the slave without any slave dynamics being fed back to the master; and (b) design for constrained ‘it-synthesis will not be described here but can be found in any book with a good discussion on multivariable control such as [60, 61]. Essentially, it permits the designer to decouple uncertainties so that a less conservative controller can be found. Chapter 4. Controller Design 49 motion where the measured environment contact force results in master actuation forces to reflect this interaction. For the first stage, standard H techniques are used on both the master and slave to minimize the error vector; this amounts to getting good velocity tracking of both manip ulators, ensuring actuator inputs do not exceed specified saturation limits, and providing good disturbance rejection properties. This optimization determines the controller gains on measured positions. The master is unaffected by the slave dynamics so time delays do not affect the overall system stability. The second stage is a bit more difficult. In addition to the previous design speci fications, the master force feedback tracking of the sensed environment force must be minimized, and the system must be stabilized for a specified time delay in the com munication channel. For this stage, the time delay and performance specifications are transformed into uncertainty blocks, which the controller design must be made robust to. This problem is then ideally suited for n-synthesis techniques. The touted advantages of this approach are that the design for delay and performance are executed in a single step and the resulting controller is not overly conservative in the sense that slightly larger time delays actually do destabilize the system. A case study is provided but it does not provide much insight into the effectiveness of the approach. 4.2 Dual-Stage Teleoperation Now the discussion is turned to the motion coordination and control for the proposed microsurgery teleoperator structure. This section describes the dual-stage teleoperation approach. The focus will be on a single DOF but the results can be extended to all six DOF. Chapter 4. Controller Design 50 4.2.1 Decoupled Coarse-Fine Control A decoupled coarse-fine, hybrid rate/position control strategy is proposed for the robot tool positioning. In the basic scheme, illustrated in Figure 4.16, the slave local motion x3 is always controlled in position mode to track the master local motion Xm (this fine- motion stage is elaborated on in Sections 4.2.2 and 4.3.4), while the transport robot’s endpoint location XR is controlled in rate mode to track the master only when it is near its local workspace edge. The small centering motion, barely noticeable to the operator, is necessary to allow the slave manipulator to be positioned against a stiff obstacle with the master fiotor in its center [62]; except for this term, the control of x. and XR are essentially decoupled. The time delay is shown because a significant delay is inherent in the controller for the existing transport robot. The control would then be implemented as Xsd — xm/np f(xm) Xml>T XRd= ( kx8 otherwise Xm = XR+Xm X = XR + x (4.27) where ri is the desired motion scaling ratio, r defines the deadband range, f(.) is a scaling function2,k is a small constant, and Xm and X are the absolute master and slave positions, respectively. Thus, the slave can be operated in scaling (as will usually be the case) or non-scaling mode (e.g., when relatively large but accurate motions are required). When using rate control, the quality of smooth motion is dependent upon the robot’s positioning resolution 2Several possible scaling functions are described in [62] but the one that likely will be implemented first is f(am) = K(IXmI — r)sgn(xm). Chapter 4. Controller Design 51 Figure 4.16: Decoupled Coarse-Fine Control but this is not perceived to be a problem. High positioning accuracy is achieved through visual endpoint sensing. A safety feature can be added to avoid unintentional use of the coarse-stage rate control; two possible solutions are to include an option to disable the robot motion or to provide sensory (e.g., audible, kinesthetic, or visual) warnings when the master is near the rate control region. 4.2.2 Wrist Level Fine-Motion Control The motion of the two maglev wrists with respect to the common base is coordinated by a scaling force-reflecting controller and here the discussion is for the ideal case. After linearization and gravity feedforward, the maglev wrist flotors can be modeled as single rigid bodies with the motions along orthogonal axes being decoupled. This justifies the use of a single DOF model of teleoperation. The bodies obey the following equations of motion: mms2x = fh + fm = fha — HXm + fm Master Local Workspace Rate Control Active Region Fine —motion Coctrse —motion Control Control m8s2x3 = fe + fs = fea — Ex8 + f8 (4.28) Chapter 4. Controller Design 52 Figure 4.17: Single Degree-of-Freedom Teleoperation where mm, m3,Xm, Xs, fm, and f3 are, respectively, the master and slave masses, positions and actuator forces. For the stability analysis, the operator hand force fh and environ ment force f are each considered to possess active exogenous components fha and fea, respectively, and passive feedback components fhp = HXm and f, = —Ex dependent on the hand and environment impedances, respectively. Ideal teleoperation implies complete system transparency. For identical master/slave systems and unity scaling ratios, the concept of ideal teleoperation can be realized by setting fm = fe and f8 = fh, where hand and environment force measurements are assumed to be available and exact. For a bilateral motion-scaling and force-scaling system, transparency is slightly more complicated. Consider that the upward force-scaling ratio flf and the downward motion- scaling ratio n, are independently chosen constants (i.e., the goals are fm = flffe and Xm = rtx3). Then, for a mass ratio Tim = mm/rns, these desired scalings are achieved Force Sccthing: n1 fh Master Position Scaling: i/np Slave Chapter 4. Controller Design 53 with the control law frn = flffe fh + (nj — flrnTi’p)fe (4.29) mp This results in the following equations relating exogenous forces to positions: fha + flffea = (mms2 + H + Xm np J + fea = ( pm 2 + H + x3 (4.30) flf \ flf flf J By examining (4.29), when flf = the force scaling from master to slave is l/nf, as one might expect. However, when flf there is a local feedback term at the slave making its “apparent” mass a scaling of the actual mass by flpm/flf, as seen in (4.30). At the master end, the environment impedance will feel like E scaled by the ratio flf/flp, while the slave feels H by the inverse ratio. It was shown that a local feedback could occur in the slave to change its apparent mass but a similar feedback could just as easily be used to make the master’s apparent mass different. These equations demonstrate that our ideal teleoperation can be achieved for n7, and flf chosen independently by applying (4.29); however, for transparency in which the apparent master and slave device properties do not differ from their actual ones, we require flf Of course, ideal teleoperation is impossible due to time delays, modeling errors, mea surement noise, etc.. Each wrist would suffer from positional drift even without any exogenous forces (this problem can be remedied with a local controller, e.g., PID, to each wrist). Using a controller with only force measurements as in (4.29) would also result in a loss of kinematic correspondence between master and slave. This problem can be solved by using a coordinating force term f based on the positional error [31, 62]: f = (kp+skv+)(xmnpxs) Chapter 4. Controller Design 54 frn = Tlffcfc = f + (nj — nrnnp)fe + (4.31) mp flf Even when force measurements are not available, f can be used to control the wrists although much higher gains (in k and k) are required. One final note about the con troller (4.29) is that positive local feedback generally leads to a lower stability margin so this restricts the independence in choosing the scaling ratios (in particular, it would be desirable to have 71 flmflp). Stable transparent teleoperation can be sought through a multitude of control strate gies. A coordinating force strategy similar to the one in [31] using only simple PID gains on the position tracking error has already been implemented experimentally and provides relatively good transparency. A more advanced controller based on H-optimization the ory has also had experimental success and is presented next. 4.3 H Control for Fine-Motion Control In 1981, Zames introduced the concept of H control as a method of synthesizing a con troller to minimize the sensitivity of a simple single-input, single-output (SISO) system [63]. Since then, the field of H-optimal control has grown tremendously and is widely recognized for its theoretical and practical use in synthesizing and analyzing controllers. The co-norm of a transfer matrix 0(s) is defined as its maximum singular value a over all frequencies. := sup U(G(jw)) (4.32) Essentially, it places a bound on the output of a signal in the following sense: if y = Cu then WYB2 GIIuII2 (for areal,vector-valuedsignalx(t), xW2 = [fxT(t)x(t)dt]/). Chapter 4. Controller Design 55 4.3.1 Standard Problem To motivate this section, the standard H problem is described. w z Consider the block diagram in Figure 4.18(a). There are four vector-valued signals of interest: the plant’s exogenous inputs w (e.g., reference signals, disturbances, measure ment noise, etc.), the error outputs z to be minimized (e.g., tracking errors, weighted actuator outputs, etc.), the compensator control signals u and the measurements y used in the control law. The plant G and controller K are assumed to be systems which can be mathematically represented by proper, real-rational transfer matrices. Frequency de pendent weighting functions which characterize the desired behaviour are assumed to be absorbed in the plant G (e.g., for reducing sensitivity to disturbances or for increasing robustness to plant uncertainties). It sometimes is instructive to separate the exogenous inputs as in Figure 4.18(b) so that disturbances are represented by v1 and measurement noise is represented by v2. The system is internally stable if the nine transfer matrices from w, v1, and v2 to z, y, and u are in l?H. z (a) Standard Problem (b) Robust Problem Figure 4.18: H Block Diagrams Chapter 4. Controller Design 56 Returning to the model in Figure 4.18(a), the plant G can be partitioned as Gii(s) G12(s) G(s) = (4.33) G21(s) G22(s) For a given compensator K, the resulting input/output closed-loop transfer function matrix is given by = F1(G, K) = G11 + G12K(I —G22K)’G1 (4.34) The notation F1(G, K) explicitly acknowledges that the matrix is a linear fractional transformation on K specific to C but the notation will be adopted for convenience. The H-optimization problem is to find the realizable proper, real-rational controller K which stabilizes G and minimizes the norm ITZWOO. If such a K exists then G is said to be stabilizable. Define y as the upper bound on the norm (IITW < -y). Then mathematically, this problem can be cast in the following form: Given G, solve the minimization of : := inf(WT0) 7 (4.35)IE’I’ where ‘I’ is the set of all controllers which stabilize G. Design for the H criterion cor responds to designing for the worst-case exogenous signal. The analytical and numerical solution to this problem is nontrivial because it may not exist (if G is unstabilizable) or may not be unique. 4.3.2 Robust Performance Although H control was originally introduced for shaping the system sensitivity func tion S(s) to provide good performance, it can just as easily be used for its dual, the complementary sensitivity function T(s), to provide robustness. That is to say, instead Chapter 4. Controller Design 57 of minimizing the norm of the weighted sensitivity minimize IWaTW (the notation for the weights will become evident soon). Now with the H approach, it is possible to combine these two and minimize a single norm defined by: w1s (4.36) W3T This is described as the “Mixed-Sensitivity Approach” in [61], but is more commonly known as the “Robust Performance Problem” [60]. Because of the relationship between S(s) and T(s) (i.e., their sum must be unity), there is an inherent tradeoff and one can only be minimized at the expense of the other. The practical solution is to minimize S(s) at low frequencies where the model is more accurate and performance is more important, and then minimize T(s) at high frequencies where there is more uncertainty and robustness is more important. This is done by choosing Wi(s) to be low-pass and W3(s) to be high-pass; if the norm is desired to be subunity then a restriction in the choice of weightings in order for a solution to exist is ö(W’(jw)) + (W’(j)) > 1Ve (4.37) To see how this might be used in a plant, consider a standard feedback control system and its transformed H model as shown in Figure 4.19(a) and (b), respectively. S(s) and T(s) are the mappings from a reference input r to the error signal e and the output y, respectively. From a practical standpoint, it is also important to limit the control signal u and this can be achieved by including it as an output. The H approach is to minimize the norm of the matrix mapping r to a vector with all three of these signals, properly weighted: W1e W1S Z W2u = W2KS r = Tzrr (4.38) W3y W3T Chapter 4. Controller Design 58 so the goal is to minimize TzrIc,o. It should be easily recognized that the relative magnitudes of W1 and W3 can be used to tradeoff the performance versus robustness. For example, if it is found that performance is not good enough at a certain frequency then W1 should be increased in that region while if instability is occurring, then W3 should be increased. 4.8.3 Synthesis in Matlab [57] showed that H (sub)optimal controllers exist if solutions to a set of associated Ricatti equations exist. The Matlab Robust Control Toolbox [61] uses a “loop-shifting two-Ricatti” algorithm to calculate the H controller with the option of performing a binary “P-iteration” to get an optimal P to achieve the goal: PT() 1 (4.39) T() where the designer specifies the set of indices q on which the iteration is to be performed (in [61], -y is the symbol for the scaling parameter but here, P is used to avoid confusion with the notation in previous sections; in fact, P is more like the reciprocal of y in (4.35)). The other indices q are not scaled either because they cannot (e.g., once the actuator limitations are known, the saturation signals cannot be altered) or the particular error signal isn’t too significant (e.g., if the position tracking is only required to be within a certain percentage but force tracking should be optimized, then the iteration would be performed on the force error but not the position error). This is consistent with the two different viewpoints on weightings which are that they may be fixed quantities not subject to manipulation by the designer or that they are parameters chosen by the designer to allow different criteria to be traded off. If a solution for which I’ < 1 is found, then the requirements are too strict and the weighting function for the indices in need to be Chapter 4. Controller Design 59 (b) Transformed into H problem Figure 4.19: Augmented Plant for Robust Performance r z3 (a) Standard feedback control problem Chapter 4. Controller Design 60 reduced by a factor of F; similarly, if F > 1, then tighter requirements can be made by increasing the weighting function for the indices in q by I’. The algorithm accepts the plant in a state-space form G58 satisfying AB1 B2 x x z = C1 D11 D12 w = G33 w (4.40) y C2 D21 D22 u U and outputs the compensator and resulting closed-loop system. However, the description includes absorbed weightings so the real closed-loop system must be calculated separately. The Matlab H functions require that some conditions be satisfied. dim(w) dim(y) = rank(D21) dim(z) > dim(u) = rank(D12) (4.41) Thus, there must be more exogenous inputs than measurements and more output signals than actuator signals. The rank restrictions mean that some components must be proper but not strictly proper. These restrictions do not stem from H theory but rather from the algorithm employed. 4.3.4 Modelling & Synthesis The most general structure of the model in our framework appears in Figure 4.20. Fm and P3 are the master and slave plants, respectively, fh is the operator hand force which can be decoupled into an active part fha and a passive part fhp, and similarly, the environment force fe can be decoupled into fea and f,. The applied actuator and the net forces on the master and slave are, respectively, fma, fsa, fm and f3 (this is slightly different than the nomenclature in Section 4.1), while the output master and slave positions are, respectively, Xm and x3. Measurement noise in the force and position signals can be Chapter 4. Controller Design 61 Figure 4.20: Framework for Controller Synthesis Chapter 4. Controller Design 62 represented by the vector v2 = [nfm Ttfs 12pm fl8]T which result in the measurement signal used in the compensator y = [fh fe fern fejT Disturbances are represented by the vector v1 = [dcrn d3]T which alter the commanded actuator forces u = [frna !salT. WT represents a time delay, H and E represent the hand and environment “impedances”, respectively, and finally, K represents the compensator which is to be designed. Some remarks about this structure need to be made: 1. This can easily be transformed into either of the standard Hrn configurations. The signals v1 and v2 were absorbed in w as in Figure 4.18(a). 2. Even in the simplest 1-DOF case, the teleoperation problem is MIMO because the minimum required inputs are fh and fe and the minimum outputs involve Xrn and xs. 3. H and B are not the conventionally used impedances in which the mapping is from velocity to force. However, it is notationally more convenient to use a single function for mapping between the signals of interest (position and force). The reader who finds this difficult can remedy the situation by adding a differentiator s from the position signal to the impedance block. 4. In the synthesis, the actuator amplitude saturation limits shown in the figure were not used because they are nonlinearities which cannot be handled in Hrn theory. However, in the simulations and experiments, these saturations have been imple mented. Although an amplitude saturation was not used, a saturation weighting to limit high frequency actuation was used in the synthesis. Chapter 4. Controller Design 63 5. The time delay WT(s) = c_ST is infinite-dimensional in polynomial space and ob viously cannot be implemented in state-space. An all-pass approximation of arbi trarily high order can be made for WT using the MacLaurin series expansion: = 1+x+x2/2+36 ... -sT — ____ — 1 — sT/2 + (sT)2/8 — (sT)3/48 + e — eST/2 — 1 + sT/2 + (sT)2/8 + (sT)3/48 + Approximations using a truncation of this series are most valid at low frequencies and if other frequencies are of interest then a more general Taylor series expansion about a different value can be used. 6. WT(s) has only been added to the slave side to consider the case of remote teleop eration in which the controller is on the master’s side. It would be just as easy, but unlikely necessary, to model such delays on the master side. For the fine-motion scaling stage, delays are expected to be negligible. 7. Fm and P are assumed to be the resulting transfer functions after the use of local controllers to stabilize each manipulator. For example, in our experiments, local PD controllers have been used so that Fm = 1/(mms2 + bmS + km) and = 1/(m5s2+ b3s + Jc8). Here, Pm and F3 are assumed to be given but, more generally, their local controllers might need to be designed for a particular task (e.g., choose them according to the functions E and H). 8. The disturbances here are assumed to be at the compensator outputs (or equiv alently at each manipulator input) which can be interpreted as random forces or torques acting on the arms or uncertainties in the compensator, perhaps due to calibration error or discretization of the output signals. Although not shown in Fig ure 4.20, disturbances can also be at the outputs of the manipulators; for example, for the master manipulator, this is shown in Figuie 4.21(a). The difference between Chapter 4. Controller Design 64 frn the disturbance and noise is clear when interpreting m as the nominal position, Xm as the actual position, and m as the measured position. By including disturbances in the model, robustness to unexpected signals or to modeled uncertainties can be increased. When dealing with uncertainties, the designer usually assumes either an additive perturbation as in Figure 4.21(b) (Pm,actuai() = Pm(s) + a()) or a multiplicative perturbation as in Figure 4.21(c) (Pm,actual(S) = (I + zm(S)Fm(S)) with some known bound on the norm of the perturbation. (b) Additive Perturbation (c) Multiplicative Perturbation Figure 4.21: Modelling Disturbance at the Manipulator Output The designer is left to decide which error signals to minimize and how to weigh them to provide the desired behaviour. The difficulty is that there is a great deal of freedom in these choices and it may seem rather arbitrary how this is done. As an example, a possible set of outputs to minimize is as follows: • Zi = Wi(fma — nfWTfe): The master actuator force should track the delayed environment force (since the presence of the delay makes instantaneous tracking impossible), scaled by a specified force scaling ratio flf. This is a performance fm (a) Disturbance Signal npm x m Chapter 4. Controller Design 65 requirement which is important at lower frequencies so W1 is chosen to be low- pass. Minimization of this signal might be described as “maximizing the force transparency at the master”. • Z2 =W(XsWTPm(fh+nfWTfe)/np): The slave position should track the delayed motion of the “expected” master motion scaled by a specified position scaling ration ni,. It is “expected” because it depends on the forces fh and fe but does not include fma. Again, this is a performance requirement and W2 is chosen to be low- pass. Minimization of this signal might be described as “maximizing the position transparency at the slave”. • Z3 = W3(Xm — nx5): Kinematic correspondence between the master and slave should be maintained. This signal is similar to z2 and, in fact, they are essentially equivalent when z1 is perfectly optimized (i.e., frna = rifWTfe) and there is no time delay. W3 is chosen to be low-pass. • Z4 = W4fma: W4 is chosen to be high-pass. This serves the dual purpose of limiting the master actuator so it saturates at high frequencies and improves robustness because the controller output will roll off at high frequencies. • Z5 W5fsa: W5 is chosen to be high-pass for the slave actuator using the same reasoning as for W4. The redundancy between z2 and z3 can be eliminated by ignoring one of them; an other option is to design a more symmetric controller by changing z2 to maximize the force transparency at the slave. The weighting functions Wfm, Wfs, Wpm, Wps, Wem, and W3 describe the frequency spectrums in the noise signals flfm, flf3 pm, and n7,3 and disturbance signals dcm, and d3, respectively (i.e., fl(.) = W(.)ñ(.) for ()I2 1 and Chapter 4. Controller Design 66 d(.) = W(.)d(.) for IIdoW2 < 1). With the choice of z made, the model can be transformed into the standard problem. Define the signals W = [fha fea fm flf3 pm ps dcm 5}T, y = [fh+flfm WTfe+ flf8 Xm + pm WTX8 +8jT, U [Ima !salT and z = [zi ... zS]T, then the plant is de scribed by G = W0G1 WOtLtGl2 1 (4.42)[ G21W G22 ] where =G IH Lw1[y] uj W1 = diag{1,1,Wfm,Wfs,Wpm,Wps,Wcm,Wcs} W0 = diag{Wi,W2,345} r 0 —flfWT 0 0 0 0 1 nfEP3EW1+P3E WTPmI PsWPmflj/flp 0 0 0 0 WpPmHPm F8EWT (i + flfPmEWI np 1+PE np ) - 11 — PmH flpPsE 0 0 0 0 FmH flPEWT 0 0 0000 0 0 L 0 0 0000 0 0 1 flfEFEW7 WTPmHPmfl PSEWT (i + flfPmEPEW)flp flp FmH flP8EWT 1 0 0 1 Chapter 4. Controller Design 67 1+PmH 0 1 0 0 0 HPmH 0 C21 = 0 1+PE 0 1 0 0 0 —WEFSE PmH 0 0010 FmH 0 0 WTP8E 0 0 0 1 0 WP8E HPmH 0 0 -WEPSE G22— PmH 0 0 WPsE where FmH = 1+FrnH and PsE = 1E are introduced for notational convenience. Wj represents the weightings at the plant inputs (weighting functions might have been used in place of unity on the exogenous force signals to reflect their expected spectrums) and is less subject to design than W0, which represents the weightings at the specified outputs. It should be recognized that for the SISO case, it doesn’t matter if the weighting is considered at the input or output but for the MIMO case, the choice is more important; for example, the poles of a weighting function used at one input will show up in the transfer function of that input to every output but if it is used at an output, it exists in transfer functions for every input signal to only that output. It should be observed that it is reasonably easy to simplify the plant C (and the corresponding signals) to simpler models. For example, (i) to ignore the time delay, set WT = 1; (ii) if no F/T sensing is available, remove rows 6 and 7 and columns 3 and 4; (iii) to ignore the passive feedback, set E = H = 0 FmH = Fm, FE = F5; (iv) for identical master and slave with unity scaling, set Fm = P5 and ii = = 1; and (v) to ignore the actuator saturations, remove rows 3 and 4. Chapter 4. Controller Design 68 Controller Advantages At this point, it is worth pointing out the differences between this approach and most others. The most important feature to keep in mind is how general this approach is. There is no assumption of a passive environment as in most papers. Both the human and environment can be active systems applying exogenous force signals. If a stabilizing K can be found, then the stability is guaranteed because the work deals directly with the closed-loop system. The signals of interest here are forces and positions. Other approaches often adopt velocities instead of positions and there are two reasons this might be done; firstly, forces and velocities can be used together in passivity theory (e.g., as in (4.7)), and secondly, the mapping from force to velocity has a single pole but the mapping to position has a double pole. Intuitively, the position signal is more important and velocity stability does not guarantee position stability. A multiple of control objectives can be simultaneously specified and the performance can be measured in a single value. This provides a convenient framework for trading off various design criteria by changing both the input and output weightings. There is also a means to address the well-known time delay problem by including an approxima tion of arbitarily high order for the delay; however, it may be argued that because an approximation is employed, stability is not guaranteed or that impractically high order approximations are required in some cases. Although most of the discussion has been on downward motion-scaling and upward force-scaling, the framework is valid for any inde pendently chosen scaling ratios so it can just as easily be used in the control of devices such as man-amplifiers. This is the most general controller of the ones discussed so far because it uses all the position and force signals and places no restriction on the order of their gains. Chapter 4. Controller Design 69 The problem has been cast in a H framework which works well for MIMO systems. There are a number of solutions for standard H problems and some other concepts, such as the parameterization of all stabilizing compensators, should prove useful. Unfortunately, this approach has not overcome the problem of needing a model of the impedances for contact forces. In the experiments, it will be demonstrated that this can be important in hard contact tasks. However, this shortcoming does not invalidate the controller framework of Figure 4.20 because it does not preclude the existence of some sort of impedance estimator “embedded” in the controller. Chapter 5 Simulations and Experiments 5.1 Design Example In this chapter, a detailed example is presented to show how the H framework described in the previous chapter can be used to design a motion-scaling controller. The general synthesis algorithm used here is to initialize the master and slave parameters, call a sub routine to build each “subplant” (G11, ...G22 and their augmented counterparts), combine them into a single plant, use model reduction and separate it into the state-space form G88, and finally, use the Matlab “hinfopt” function [61] to find the compensator. Without the model reduction, the synthesis is slow and the resulting high order controller would be impractical to implement. To start with, the structure of the model here is as shown in Figure 5.22 which was adapted from Figure 4.20. The F/T sensors have not been attached to the wrists yet and time delays are assumed to be negligible so these aspects are reflected in the model. The simulations and experiments are only for motion along a single DOF (the vertical z-axis). The master flotor mass is 0.62 kg and a local PD controller with a proportional constant 150 N/rn and damping 3 N/(rn/s) is applied (these gains were chosen somewhat arbitrarily; also, the experiments include an integral term to eliminate the steady-state error but it is assumed to be small enough to ignore in the synthesis). The slave flotor mass is 35 grams and it is reasonable to adjust its local PD controller to make its transfer 70 Chapter 5. Simulations and Experiments 71 L fin Thp _x, x Figure 5.22: Framework for Design Example Chapter 5. Simulations and Experiments 72 function a scalar multiple of the one for the master. The resulting transfer functions mapping force to position for the master Fm(s) and slave F3(s) are Fm(s) = 0.62s2 +3s + 150 F3(s) = 0.035s2 + 0.17s + 8.6 (5.43) Define the signals as w = [fha fea 9pm ps cm d3]T, y = [xm + pm x3 + fl3]T, and it [fma !sa]T. The output vector is chosen to be Wi(fma — l2ffe) = W2(xm rix3) (5.44) W3fma W4fsa The first output allows maximization of the master force transparency, the second is for maintaining kinematic correspondence, and the third and fourth help limit the high frequency actuator gains. It should be remembered that the bandwidths for the actuators must be higher than those for both the force and position tracking so that control signals can be applied to optimize them. As well, human asymmetrical input/output capabilities indicate that the force transparency bandwidth should be higher than that for kinematic correspondence [24]. The weighting functions should reflect these qualities. For example, for the kinematic correspondence, the designer might want the error to be less than 10% for frequencies below 10 rad/s but allow errors above 40 rad/s to be as high as 100%; the weighting could then be chosen to be W2(s) = Similar reasoning could be used to choose the other weightings. Bode plots for the ones used are as shown in Figure 5.23. To determine the measurement noise weightings, both wrists were deactivated and their position signals were stored. A spectrum analysis of these signals revealed that the Go ind B cj Cu c IP ‘ Io 0 1 ! I + r I I) I’ -. 0 Chapter 5. Simulations and Experiments 74 noise was not concentrated in any area so for simplicity, the noise weighting signals were chosen to be constants of the largest components seen: Wpm = 2.5[tm and W 1gm; in reality, the high frequency uncertainty is expected to be quite high and this should be represented in the weightings. A similar analysis might have been performed on the out puts from the current drivers to determine the spectrum of disturbance signals expected but this was not done as stable performance was achieved with the simple assumption of low frequency disturbances of magnitude 1 mN in the microwrist (previously calculated as the highest force resolution using the present hardware) and 10 mN in the macrowrist (the weighting spectrums assumed are Wcm and W8 = OO1) The motion and force scaling ratios were selected to be n, = 10 and flf = 40, respectively. The model of the plant then becomes G = W0G’11 WOUG12 (545) 02l Win 022 where z w G y ‘U diag{1,1,Wpm,Wps,Wcm,Wcs} W0 diag{Wi,W2,34} 0 1+PE 0 0 1 flfEPgE FmH flpFsE 0 0 FmH —nP8EG11 0 0 00 0 0 0 0 00 0 0 Chapter 5. Simulations and Experiments 75 1 flfEF.9E FmH —rLPFSE 1 0 o 1 PmH 0 1 0 FmH 0 o PsE 0 1 0 PsE PmH 0 o sE In the following examples, a nominal controller is synthesized, and then it is shown how one might try to improve different performance criteria, improve robustness, and account for human and environment impedances. 5.1.1 Nominal Free Motion Tracking For this first example, the impedances will be set to zero (i.e., H = £ = 0). This choice considers that each wrist might be in free motion and simplifies the plant to be controlled (some of the elements vanish and others have lower order). This plant has an order of almost 40 but for the synthesis, the Matlab balanced model reduction function “balmr” was used to reduce it to 10. By performing the F-iteration on the first two outputs, a controller was found with the parameter F = 0.320, implying that in the worst case, the error signals may be as much as three times larger than the performance specifications; this controller will be designated as it1. The resulting continuous-time controller gains are as shown in Figure 5.24. Although it may not be obvious from the Bode plots, each gain is a strictly proper transfer function. The closed-loop responses for the unaugmented plant (i.e., without the weighting functions) are shown in Figure 5.25 for the force inputs (the responses to each noise and disturbance input are not as important and do not CD 0 < CD _ — . • CD CD CD CD Ct) Co CD 0 O C D E CD — . C O o - i. CD Co CD C D . CD “ C . II . o • CD CD Co — . C O CD Ct) CD ‘ ) Co ( — . CD Co Co C _ 0 ÷ _ CD _ CO _ CD CD _ CD Co CD CD CD - — CD C Co II Co Co II C/ ) Co C D : CD C o O : : CD _ CO CD c O CD _ Co “ C Co Co Co <1 Co C CD — . CD CD C O _ • C 0 C C ÷ C D — CD C () CD _ CD . C) C) Co . Co C CD Co Co , . — . CD ‘ CD Co CD ÷ Co _ Co 0 0 ‘ CD Co CD • : CD . CD (yq CD C) C < CD - c • Co . 02 CD C CD CD CD — CD CD <1 — . C CD 0 ‘ CD - - G an dB G an dB r j CD CD CD O . 51 Co Th CD CD — CD C) 9-. C) o 0 — . o 0 CDCo 0 Co Co 0 F — ’ o D ’ - + SD _. _ _ _ _ _ _ _ _ _ _ _ _ _ _ cyq ‘ — ‘ — ‘ — F C I D 0 Co Co — . Co CD C) : i C) CD Co ) C) 0 0 0 c: 2 0 0 ‘ - + 0 0 I- ’ L. Chapter 5. Simulations and Experiments 78 Master Forces vs. Time (f_h=” “; fma= I Time (s) Slave Forces vs. Time (f_e=”_____ ‘; f_sa=” %204o’6o’84i’2ii’6i2 Time (s) Positions vs. Time (x_m=” “; 1 0x_s=’ 0.1 0’40’6 Time (s) Figure 5.26: Simulation for i: Free Motion Tracking state-space controller was used in the simulation to more accurately describe the system in the experiments. For the experiments, the state-space controller was discretized for a sampling period of 5 ms using a Tustin approximation. The “feel” was reasonably good and some exper imental results are shown in Figure 5.27 (the F/T sensors have not yet been mounted on the wrist flotors so the exogenous forces cannot be displayed). In (a), the master was randomly driven by hand with the slave in free motion and in (b), the roles were reversed. Chapter 5. Simulations and Experiments 0.5 ci, Actuator Forces vs. Time (f_ma=__; 40*f_sa= -1.5 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time (s) Positions vs. lime (x_m=”__._.; 1 0*x_s= IIIII :.. .‘.J :: Time (s) (a) Driving master while slave in free motion Actuator Forces vs. Time (f_ma= ; 40f_sa= I I I I I I I 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) Positions vs. Time (x_m=..; 1 0*x_s= E C .2 0 0 0 z C.) 0 U- E5 C 0 0 0 iiiiii 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) (b) Driving slave while master in free motion Figure 5.27: Experiment for icr: Free Motion Tracking 79 Chapter 5. Simulations and Experiments 80 5.1.2 Trading Off Different Performance Criteria Consider now that the designer may want better force tracking. The simplest way to do this is to change the weighting W1 to be larger in the frequency range of interest. For simplicity, W1 was made four times larger and the synthesis was repeated. A new controller, k2, was obtained with the parameter F = 0.082. It is interesting to note here that 1’ decreased by almost as much as W1 was increased, indicating that there may be no significant improvement in the force tracking but the position tracking may be four times as bad. Only the Bode plots for the force and position tracking responses are important and these are shown in Figure 5.28. When compared to the closed-loop responses of controller i in Figure 5.25, it is seen that the new force tracking is actually worse at low frequencies but becomes better for frequencies above 200 rad/s or 32 Hz; the position tracking is also worse at low frequencies but is relatively unchanged for high frequencies. Thus, slightly better high frequency force tracking was achieved at the expense of low frequency tracking of both position and force. It is likely that the reason no significant improvement in the force tracking could be made is that the performance in controller ic1 was already close to the limitations given the assumed disturbances and actuator limitations. Experiments with the controller ,i2 showed that the transparency perceived by the operator is worse, as expected because the manipulation at low frequencies is much poorer. 5.1.3 Trading Off Performance and Robustness In the last section, it was mentioned that the force transparency may be limited by the assumptions on disturbances and actuation. Now consider how one might sacrifice some robustness to get better performance. For example, consider the original plant but assume no force disturbances and that the actuator limitations are only half of what CD C C E I I G n dB G n dB Pb ae do g C i. j C) CD :: :: :. :: a q o C C 00 I. h - ) CO ( C CD CD CD CO C C C c CD Co o • CO C D 8 < CD o ‘ CD a ± I- Co CD CD CD a. CD CD — . CD CD CO — . CD , s_ *_ ± 3 o ID -S CD 0 CD CD 0 CD II CD — CO . . IC e C C $D CD CO CD — . — ‘ Cs - : CD g II C CD — . 0 — . C CO II c -b - = CO C) ÷ CD C CO CD — c O I- ± CO C ‘ - CD 5 ± <1 $ -- H CD CD i— Ph as e do g C-) C CO 5± I__ 3 C) C C 0 oq CD CC C) 5± — . Co CD CD CO • ) CD C CO C CD CD CO 5 ± , - j C CD CD C) CO C a ; CO CD — . CD CD C-) o1 I- :j CD CD CD ID CO CD CD CD a CD 5 ± CO C — . a ; — . CD CD CD , 5± cz O -- a ; I-— . . — 3 5± C CD a ; CD 5 ± ‘ — 4-s o CD CD I- CO CD Co CO CO 5± o ± CD C 5- 4- = H CD ‘ - 03 a ; C 0 — 4- — 5- 4- I 00 P h o de g Ct, CD :. .; H .. . C. Y ci’ 0 CD Co C CO CD Co 0 CA D - CO C , o- q 0 C, C , C , 0 C, P h o do g I- ’ - o C, I-’ 0 CO C C , C C, CO Go k, dB Ph oo e do g G n dB G n dB I I Ph oo o do g o CO - C , ! C C, o CO 00 Chapter 5. Simulations and Experiments 84 Master Forces vs. Time (f_h=” “; fma=” 1c z ci) 0 0 LI 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Time (s) Slave Forces vs. Time (f_e=” “; f_sa=” 0.2 2 Time (s) Positions vs. Time (x_m=” “; 1 0*x_s=h 0.05 2 U, 0 U- -0.05 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Time (s) Figure 5.31: Simulation for I3: Free Motion Tracking much better force and position tracking (the force tracking is indeed closer to the orig inally specified forty times). Experimentation with the new controller is shown in Fig ure 5.32. The higher frequency actuation components expected were observed and the system was less stable as evidenced by oscillations when neither manipulator was held. Alternatively, if greater robustness was required, the designer could assume larger disturbances. Controller i was synthesized by assuming disturbances at the master and slave that were ten times their original values and the parameter was F = 0.25. liji’ .1 lir I Chapter 5. Simulations and Experiments 85 Actuator Forces vs. Time (f_ma=” _; 40*f_sa=....) : 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) Positions vs. Time (x_m=__”; 1 0*x_s=_...) w 5 E C .Q 0 Cl) 0 0 -5 -1r 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) (a’) Driving master while slave in free motion Actuator Forces vs. Time (f_ma=” _; 40*tsa=_...) 40 20 z 0 Ii- -20 -40 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) Positions vs. Time (x_m= ; 10x_s= 10 I I I I 1 1 C I I I I 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) (b) Driving slave while master in free motion Figure 5.32: Experiment for I3: Free Motion Tracking kIi1 ii tII ll CD Co C C , )— - CD o o ‘ • < CD Co 0 — . o 0 Z C D : — . — . C Co ± 0 CD CD CD ‘ Co ÷ CD 0 0 Co I— _ CO CD 0 — . , , Co Co C) C. ) o C -. Z C O - — . - - • a c C) 0 0 C+ CD 0 Co ? 0 CD C) o — . 0 CD C) 0 CD CD — . CD ‘ o CD C. 5 CD c, SD CD CD 0) - ‘ C D ‘ • l C J 0 < C D o CD (• CD Co C .’ CD 0 c CD CD CD , CD C) 0 C ± • ‘ 3 . CD Co — CD - o c CD C/) ‘ CD CO CO C) C D 0 CD — • — • CO 0 CD Co CD CD C/) o C Co CD C 7) Co • CD — . CO CD Co CD ‘ C — 0 C ± Co 0 CD I CD I C) 0 Co I-. C- . 0 C) 0 C) -a . C C) 0 0 P h e do g G n dB CD C1 C) — - ciq H CD I-d 0 0 I I 00 Chapter 5. Simulations and Experiments 87 Master Forces vs. Time (fh=” “; f_ma=” 10 Time (s) Slave Forces vs. Time (f_e=” “; f_sa=” “) ° I tL: Time (s) Positions vs. Time (xm=’______ 1 O*x_s=h 0.1 0.60.811.21.41.6 1.8 2 Time (s) Figure 5.34: Simulation for I4: Free Motion Tracking Chapter 5. Simulations and Experiments 88 Actuator Forces vs. Time (f_ma= _...; 40*f_sa= —1 —1 I I I I I I I 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) Positions vs. Time (x_m= ; 1 0*x_s= Time (s) (a) Driving master while slave in free motion Actuator Forces vs. Time (Lma=° ; 4Of_sa= 5 I I 5 —1 I I I I 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) Positions vs. Time (x_m= ; 1 0*xs= I I I I 10 Time (s) (b) Driving slave while master in free motion Figure 5.35: Experiment for I4: Free Motion Tracking Chapter 5. Simulations and Experiments 89 impedance of 500 N/rn is suddenly introduced resulting in unstable oscillatory behaviour that builds quite rapidly. To overcome this, an impedance model of the environment as a spring was included in the plant. A relatively small value of E = 10 N/rn was assumed and the resulting controller, I5, had a P value of 0.402. Simulations of this controller showed that the system remains stable for impedances even larger than 3000 N/rn. This can be seen in Figure 5.37 in which the contact was introduced as before. The fact that the simulations are stable for impedances much higher than the one specified would seem somewhat conservative but this is not quite true because measurement noise was included in the synthesis but not the simulations. A problem with this simulation is that it is not very accurate because constant contact with the environment is assumed. The discontin uous forces expected in experiments would likely make things worse. A more important problem is that the synthesis is performed for a situation with a constant environment impedance so stability is not guaranteed for free motion. It may be possible to model the environment impedances as uncertainties as previously described in Section 4.3.4 but this has not yet been pursued. As expected, hard contact was found to be a problem experimentally as evidenced in Figure 5.38(a). Here, both wrists were left in free motion and a rigid metal surface was brought to the edge of the slave flotor edge and stiffly held there, resulting in instability. The modified controller designed for contact with the environment was implemented and successful in achieving stability under the same conditions (see Figure 5.38(b)). The force reflection for is was noticeably poorer than for i but still quite good. 5.1.5 PID Control For comparison purposes, results for a PID controller are presented in Figure 5.39. The master was set to track four times the slave position with a PID gain of Km(s) = 1.5+0.03s+ (i.e., frna() Km(s)(4xs()xm()) where frna() is in Newtons and x3(s) Chapter 5. Simulations and Experiments 90 Master Forces vs. Time (t_h=” “; f_ma=” DV f Z : : s — Jci) n_ . —. :__._._ .. 2 ‘ : o . Ii. : : 50 0.5 1 1.5 Time (s) Slave Forces vs. Time (f_e=’ “; f_sa=” -2 0.5 1.5 Time (s) Positions vs. Time (x_m=” “; 1 O*x_s=f I) 05 . .5 Time (s) Figure 5.36: Simulation for ic1: Hard Contact Chapter 5. Simulations and Experiments z a) 0 Ii- z a) oC LI Master Forces vs. Time (f_h=”_____ f_ma=” 91 ‘-3 0 : : : : : : i r . . .1 — : J’ ..I...I . : : 11,1 r 5 I I I I I I I 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Time (s) Slave Forces vs. Time (f_e=” “; f_sa=” L 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Time (s) 1 Positions vs. Time (x_m=” “; 1 0*x_s=h E C 0 U) 0 0 -5 1 - 0 i Time (s) Figure 5.37: Simulation for i: Hard Contact 1 Chapter 5. Simulations and Experiments 92 Actuator Forces vs. Time (f_ma=”_ _; 40f_sa= I I I I I I I 2 05 115 2 25 Time (s) Positions vs. Time (x_m=j; 1 0*x_s= K) Time (s) (a) Controller ic1 designed for free motion Actuator Forces vs. Time (f_ma=j; 40*f_sa=n 0.4 I I I I I 02 j \fl.1 ‘V 0%o41I52I5e3I54I55 Time (s) Positions vs. Time (x_m=J; 10*x_s= 0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) (b) Controller .‘c designed for constrained motion Figure 5.38: Experiments in Hard Contact C.; ,I I I I I I I I I Chapter 5. Simulations and Experiments 93 and Xm(S) are in millimeters) while the slave tracked one tenth the master position with a gain of K3(s) = 0.1 + 0.005s + . The actuator forces shown in the figure are higher than for the other controllers partly because they absorb the PID controllers already present in the H controllers. The controllers should not be directly compared because asymmetrical position tracking was specified; there was no force tracking requirement. The resulting “feel” is quite good. However, the instability under hard contact is worse for this situation as seen in Figure 5.40. 2-2 a- -4 I I I I 5t5 2 2.5 3 3.5 4 4.5 Time (s) Positions vs. Time (x_m=” __“; 10*x_s= Time (s) (a) Driving master while slave in free motion Actuator Forces vs. Time (f_ma=..; 40*f_sa= Chapter 5. Simulations and Experiments 94 Actuator Forces vs. Time (f_ma= ; 4Of_sa= z 5 2C 10 z 0 LL -10 Time (s) Positions vs. Time (x_m= ; 1 0*x_s= 2C 10 E C 0 -10 0 -20 I I I 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) (b) Driving slave while master in free motion Figure 5.39: Experiment for PID Controller: Free Motion Chapter 5. Simulations and Experiments 20 . 10 C) Actuator Forces vs. Time (f_ma=° °; 40*f_sa=n -10 -2C I I 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (5) Positions vs. Time (x_m=_ _; 1 0*x_s= E C 0 C’) 0 0 Figure 5.40: Experiment for PID Controller: Hard Contact 95 - - - ri Ii • [I 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Time (s) Chapter 6 Conclusions 6.1 Contributions A bilateral teleoperation system suitable for microsurgery experiments has been intro duced. This is the prototype for a unit which would enable surgeons to overcome limits imposed by human dexterity to execute microsurgery tasks with greater speed, ease, and safety. A dual-stage configuration consisting of a pair of maglev wrists transported by a transport robot was proposed so that a high degree of teleoperation transparency can be achieved over a large workspace. The overall system was designed to meet requirements determined through observations of several microsurgical procedures and from the related literature. A detailed description of the slave wrist design was presented including a general discussion on size-scaling for magnetically-levitated devices. It was shown that for the maglev actuators described, the force-to-mass ratio, and hence the acceleration capability, increases as dimensions are scaled downward; however, as the actuator is downsized, the practicality is limited by the force and motion ranges achievable and the machining tolerances for the parts. This microwrist has been built and successfully employed in motion scaling teleoperation. Aspects of the bilateral controller design have been presented. This includes a brief discussion on a decoupled coarse-fine hybrid rate/position control strategy. The issues 96 Chapter 6. Conclusions 97 of performance, transparency and the tradeoff with robustness are discussed in detail. A very general H framework for trading off these features has been described. Simulations and experiments which demonstrate that such an approach leads to practical controller designs have also been presented. 6.2 Future Work • There is a need to experimentally verify the B-field linearity in the gaps to determine the validity of the wrench vector transformation matrix. Measurements using the F/T sensor might be used to recalibrate the matrix if necessary. • The position sensing should be improved. There can be a better calibration proce dure including better alignment of the LEDs and PSDs. Significant noise reduction in the PSDs is expected through the use of better optical filters. • The fine-motion scaling already works quite well with only position sensing but force sensing is anticipated to significantly improve the performance during contact tasks. The signal conditioning for the microwrist F/T sensor needs to be developed. To operate both F/T sensors, an additional A/D board will be required and all the corresponding software will need to be programmed. • Experiments need to be performed to demonstrate the coarse-fine motion coordina tion system described. No problem is expected in this area because of simulations of the described system and previous successes with the similar system in [31]. A transport robot with better positioning and payload capabilities needs to be found as the CRS A460 may severely limit the overall system performance. • There should be some effort to extend much of the work already done with previous maglev wrists. This includes work on parameter identification for obtaining a good Chapter 6. Conclusions 98 model [64]. This would be useful for finding the mass moments of inertia which have not yet been calculated. It will also be useful to have a remote center of compliance (RCC) which essentially allows the fiotor to have an apparent center which is fixed in space [65]. For example, it might be desirable to have the RCC close to the tool tip, perhaps in the same proportion as the hand would be on the command tool. Another suggestion is to allow a “retraction” mode similar to simulated stiction to allow the tool to maintain a position without the need for the surgeon to constantly hold the command tool. • The effect of model reduction and discretization in the controller should be carefully examined. Higher order controllers are more general and allow greater complex ity. However, these come at the expense of more computational time, effectively limiting the system’s operating bandwidth. It was found that the system could be operated at 200 Hz with a controller of 9th order and that the results were quite favourable. However, these limits were not pushed to see what would be best and as computational power increases, it is expected that higher order controllers will be desired. • The H controllers implemented so far have been for a single DOF and eventually they will need to be extended to 6 DOF. Depending on the controller order, the required computational power for this may be expensive. Also, for the rotational motions, a model of the inertia moments is required. Aside from these aspects, implementing this control is not expected to be a problem because 6 DOF teleop eration already works well with PID controllers. • Different control schemes besides the H approach should be tried and compared to see which ones are most effective. Both sliding mode control and adaptive control could be quite promising but they are also difficult to analyze. A a-synthesis Chapter 6. Conclusions 99 approach might be used to attain better, less conservative performance but the problem is usually non-convex. The use of impedance estimators in the control should also prove useful. • To make the device a versatile tool, it should possess 7 DOF (6 for arbitrary posi tion and orientation and 1 for gripping) and have an interchangeable end-efFector. This 7th DOF microgripper needs to be designed and it would allow the system to be used in tasks to replace instruments such as microforceps or scissors. For this microgripper, maglev actuation may not be necessary or appropriate so other technologies will be surveyed including piezoelectrics [66, 67] and shape memory alloys [27]. • Microsurgical instruments are being equipped with various sensors to collect better quantitative data on the range and resolution of motions and forces required for specific tools and for specific tasks. In addition, there will be a more thorough survey conducted to determine the procedures best targeted for the system. This data might eventually be used for the design of a second microwrist which is more suitable for the application. • Experiments concerning user comfort levels will be performed to determine the master requirements; these values are likely to be quite subjective and procedure dependent. This will allow the design of a more suitable master device. • Once the system is developed, it can easily be modified so that the microwrist is used in remote teleoperation allowing highly skilled surgeons to perform tasks away from the operating site if necessary, or used in preprogrammed microsurgery tasks by having the slave track a desired force and/or position trajectory rather than the master trajectory. However, these implementations are unlikely because one of the Chapter 6. Conclusions 100 goals of this system is to reduce the need for such highly trained physicians and very few, if any, microsurgery tasks can be automated with the existing technology. • The microsurgeons felt that current microscopes provide sufficiently good visual feedback for their work so no work was proposed in this area. However, it has been suggested that the microscope can be integrated with the transport robot to reduce the setup time and clutter in the operating room. • As more extensive testing is performed on the microwrist, its shortcomings will become more evident. One of the more obvious and immediate problems which will need attention are the connectors. The ones leading to the coils are fragile and apply relatively large forces. Some of the other connectors are cumbersome and difficult to work with. • Despite the enthusiasm for new medical technology, the profession has been justi— fiably cautious in employing robotic devices and safety considerations must be a priority in their design. Due to the delicate nature of microsurgery, many features would need to be identified and incorporated into the system to reduce the risks of problems associated with the device. Bibliography [1] J. Vertut and P. Coiffet, Robot Technology, Vol. SB: Teleoperations and Robotics: Evolution and Development. Prentice-Hall Series on Robot Technology, Prentice Hall, 1986. [2] B. Preising, T.C. Hsia, and B. Mittelstadt, “A literature review: Robots in medicine,” in IEEE Engineering in Medicine and Biology, pp. 13—22, June 1991. [3] J.A. McEwen, “Solo Surgery with Automated Positioning Platforms,” in Proceed ings of the New Frontiers in Minimally Invasive and Interventional Surgery, (New Orleans, LA), October 13 1992. [4] H.A. Paul, B. Mittlestadt, W.L. Bargar, B. Musits, R.H. Taylor, P. Kazanzides, J. Zuhars, B. Williamson, and W. Hanson, “A Surgical Robot for Total Hip Replace ment Surgery,” in Proceedings of the IEEE International Conference on Robotics and Automation, (Nice, France), pp. 606—611, May 10-15 1992. [5] N.y. Laeken, “Right facial nerve palsy operation video,” October 1992. [6] S. Charles and R.E. Williams, “Measurement of Hand Dynamics in a Microsurgery Environment: Preliminary Data in the Design of a Bimanual Telemicro-operation Test Bed,” in Proceedings of the NASA Conference on Space Telerobotics, (Pasadena, CA), Jan.31 - Feb.2 1989. [7] M. Handlykken and T. Turner, “Control System Analysis and Synthesis for a Six Degree-of-Freedom Universal Force Reflecting Hand Controller,” in Proc. 19th IEEE Conference of Decision and Control, December 1980. [8] J. Hill, “Study to design and develop remote manipulator systems,” tech. rep., NASA, AMES Research Center (# NAS2-8652, SRI Project 4055), Moffett Field, CA, 1976. [9] J. Vertut and P. Coiffet, Robot Technology, Vol. SA: Teleoperations and Robotics: Evolution and Development. Prentice-Hall Series on Robot Technology, Prentice Hall, 1986. [10] I.W. Hunter, S. Lafontaine, P.M.F. Nielsen, P.J. Hunter, and J.M. Hollerbach, “A microrobot for manipulation and dynamical testing of single living cells,” in Proc. IEEE Micro Electro Mechanical Systems, (Salt Lake City), pp. 102—106, February 1989. 101 Bibliography 102 [11] R.L. Hollis, S.E. Salcudean, and D.W. Abraham, “Towards a tele-nanorobotic ma nipulation system with atomic scale force feedback and motion resolution,” in Proc. 3rd IEEE Micro Electro Mechanical Systems, (Napa Valley, CA), February 1990. 6 pages. [12] H. Kazerooni, “Human/robot interaction via the transfer of power and informa tion signals; part i: Dynamics and control analysis,” in Proc. IEEE Robotics and Automation, (Scottsdale, Arizona), pp. 1632—1640, May 14-18, 1989. [13] S. Charles, M.D., R.E. Williams, and B. Hamel, Ph.D, “Design of a surgeon-machine interface for teleoperated microsurgery,” in Images of the Twenty-First Century. Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society, vol. 3, (New York), pp. 883—4, November 1989. [14] H. Funakubo, T. Dohi, I. Sakuma, and T. Komeda, “Robot for surgical operation,” July 1990. U.S. Patent number 4,943,296. [15] N. Tejima, H. Funakubo, T. Dohi, I. Sakuma, T. Tanishima, and Y. Nomura, “A new microsurgical robot system for corneal transplantation,” Precision Machinery, vol. 2, pp. 1—9, 1988. [16] R.F. Young, “A robotic system for stereotactic neurosurgery,” in Modern Stereotactic Neurosurgery (L. Lunsford, ed.), pp. 293—309, Martinus Nijhoff Publishing, 1988. [17] S. Lavalee, J. Troccaz, L. Laborit, P. Cinquin, A.L. Benabid, and D. Hoffmann, “Image guided operating robot: a clinical application in stereotactic neurosurgery,” in Proceedings of the IEEE International Conference on Robotics and Automation, (Nice, France), pp. 618—624, May 10-15 1992. [18] A.M. Sabatini, M. Bergamasco, and P. Dario, “Force feedback-based telemicroma nipulation for robot surgery on soft tissues,” in Images of the Twenty-First Cen tury. Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society, vol. 3, (New York), pp. 890—1, November 1989. [19] F. Tendick and L. Stark, “Analysis of the surgeon’s grasp for telerobotic surgical manipulation,” in Images of the Twenty-First Century. Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society, vol. 3, (New York), pp. 914—5, November 1989. [20] S. Majima and K. Matsushima, “On a micro-manipulator for medical application— stability consideration of its bilateral controller,” Mechatronics, vol. 1, no. 3, pp. 293— 309, 1991. Bibliography 103 [21] M.B. Gayed, B. Lepers, A. C. Diaz, and P. Vidal, “An advanced control microma nipulator for surgical applications,” Systems Science, vol. 13, no. 1-2, PP. 123—134, 1987. [22] Y. Yokokohji and T. Yoshikawa, “Bilateral Control of Master-Slave Manipulators for Ideal Kinesthetic Coupling,” in Proceedings of the IEEE International Conference on Robotics and Automation, (Nice, France), pp. 849—858, May 10-15 1992. [23] G.J. Raju, G.C. Verghese, and T.B. Sheridan, “Design issues in 2-port network models of bilateral remote manipulation,” in Proceedings of the 1989 International Conference on Robotics and Automation, 1989. [24] T. Brooks, “Telerobot Response Requirements,” tech. rep., STX/ROB/90-03, STX Robotics, March 1990. [25] E.G. Johnsen and W.R. Corliss, Human Factors Applications in Teleoperator Design and Operation. New York: Wiley Interscience, 1971. [26] R.C. Buchanan, Ceramic Materials for Electronics. New York: Macel Dekker, Inc., 1986. [27] K. Ikuta, “Micro/miniature shape memory alloy actuator,” in Proc. IEEE Interna tional Conference on Robotics and Automation, (Cincinnati, Ohio), May 1990. [28] B. Hannaford, L. Wood, B. Guggisberg, D. McAffee, and H. Zak, “Performance evaluation of a six-axis force-reflecting teleoperator,” tech. rep., California Institue of Technology, Pasadena, CA, June 1989. [29] R. Hollis, “Magnetically levitated fine motion robot wrist with programmable com pliance,” October 1989. U.S. Patent number 4,874,998. [30] R.L. Hollis, S.E. Salcudean, and P.A. Allan, “A Six Degree-of-Freedom Magnetically Levitated Variable Compliance Fine Motion Wrist: Design, Modelling and Control,” IEEE Transactions on Robotics and Automation, vol. 7, pp. 320—332, June 1991. [31] S.E. Salcudean, N.M. Wong, and R.L. Hollis, “A Force-Reflecting Teleoperation System with Magnetically Levitated Master and Wrist,” in Proceedings of the IEEE International Conference on Robotics and Automation, (Nice, France), May 10-15, 1992. [32] S.E. Salcudean and N.M. Wong, “Coarse-fine motion coordination and control of a teleoperation system with magnetically levitated master and wrist,” in Third Inter national Symposium on Experimental Robotics, (Kyoto, Japan), Oct 28-30, 1993. [33] N.V. Laeken. Personal communication. Bibliography 104 [34] M. Patkin, “Ergonomics applied to the practice of microsurgery,” Aust. N.Z. Journal of Surgery, vol. 47, pp. 320—329, June 1977. [35] R. H. Taylor, R. L. Hollis, and M. A. Lavin, “Precise manipulation with endpoint sensing,” IBM J. Res. Develop., vol. 2, pp. 363—376, July 1985. [36] M.R. Milligan, “PSD, LED and Signal Conditioning Setup and Calibration Doc umentation,” tech. rep., Dept. of Electrical Engineering, University of British Columbia, November 1993. [37] R.L. Hollis, S.E. Salcudean, and P.A. Allan, “A six degree-of-freedom magnetically levitated variable compliance fine motion wrist: Design, modelling and control.” IEEE Transactions on Robotics and Automation, in press. [38] N.R. Parker, S.E. Salcudean, and P.D. Lawrence, “Application of Force Feedback to Heavy Duty Hydraulic Machines,” in Proceedings of the IEEE International Con ference on Robotics and Automation, (Atlanta, USA), pp. 375—381, May 2-6, 1993. [39] P. Lorrain, F. Lorrain, and D.P. Corson, Electromagnetic Fields and Waves, 3rd ed. W.H. Freeman and Co., New York, 3rd ed., 1988. [40] J.P. Holman, Heat Transfer, Sixth Edition. New York: McGraw-Hill, 1986. [41] W. Trimmer and R. Jebens, “Actuators for micro robots,” in Proceedings of the 1989 International Conference on Robotics and Automation, 1989. [42] P.-H. Marbot and B. Hannaford, “Mini direct drive robot for biomedical applica tions,” 1992. [43] M.J. Wilson, ed., The 1988 ARRL Handbook for the Radio Amateur. American Radio Relay League, 1987. [44] Magnet Sales & MFG Co. 1990 Catalog, “High performance permanent magnets.” 11248 Playa Court, Culver City, CA 90230. [45] A.M. Chahal, “Optical end-point sensing of a scanning tunneling microscope,” Mas ter’s thesis, University of British Columbia, March 1993. [46] R.J. Anderson and M.W. Spong, “Bilateral control of operators with time delay,” IEEE Trans. Automat. Cont., vol. AC-34, pp. 494—501, May 1989. [47] G.Niemeyer and J.-J. E. Slotine, “Stability and dynamics shaping in time-delayed force-reflecting teleoperation,” 1992. Bibliography 105 [48] G.M.H. Leung, B.A. Francis, and J. Apkarian, “Bilateral controller for teleoperators with time delay via it-synthesis,” March 1993. Ulliversity of Toronto Control Science and Engineering, Systems Control Group Report No. 9303. [49] D. A. Lawrence, “Designing Teleoperator Architecture for Transparency,” in Pro ceedings of the IEEE International Conference on Robotics arid Automation, (Nice, France), pp. 1406—1411, May 10-15 1992. [50] E. Colgate and N. Hogan, “An Analysis of Contact Instability in Terms of Pas sive Physical Equivalents,” in Proceedings of the IEEE International Conference on Robotics arid Automation, May 1989. [51] J.P. Holman, Nonlinear Systems Analysis, nd Edition. Englewood Cliffs, NJ: Prentice-Hall, 1993. [52] C.A. Lawn and B. Hannaford, “Performance testing of passive communications and control in teleoperation with time delay,” in Proceedings of the IEEE International Conference on Robotics and Automation, pp. 776—783, 1993. [53] H. Kazerooni, T.-I. Tsay, and K. Hollerbach, “A Controller Design Framework for Telerobotic Systems,” IEEE Transactions on Automatic Control, vol. 1, pp. 50—62, March 1993. [54] N. Hogan, “Impedance control: An approach to manipulation, parts i-ui,” ASME J. of Dynamic Systems, Measurement, and Control, vol. 107, pp. 1—23, March 1985. [55] B. Hannaford, “A Design Framework for Teleoperators with Kinesthetic Feedback,” IEEE Transactions on Robotics and Automation, vol. RA-5, pp. 426—434, August 1989. [56] J.E. Colgate, “Robust Impedance Shaping Telemanipulation,” IEEE Transactions on Robotics and Automation, vol. 9, pp. 374—384, August 1993. [57] J.C. Doyle, K. Glover, P.P. Khargonekar, and B.A. Francis, “State-space solutions to standard H2 and H°° control problems,” IEEE Trans. Automat. Cont., vol. AC-34, pp. 831—846, August 1989. [58] B.A. Francis, J.W. Helton, and G.Zames, “H°°-Optimal Feedback Controllers for Linear Multivariable Systems,” IEEE Trans. Automat. Contr., vol. AC-29, pp. 888— 900, 1984. [59] B.A. Francis, A Course in H°° Control Theory. Berlin, Heidelberg, New York: Springer-Verlag, 1987. [60] J. M. Maciejowski, Multivariable Feedback Design. Addison-Wesley, 1989. Bibliography 106 [61] R.Y. Chiang and M.G. Safonov, Robust Control Toolbox for use with Matlab. The MathWorks, Inc., 1992. [62] N.M. Wong, “Implementation of a force-reflecting telerobotic system with magnet ically levitated master and wrist,” Master’s thesis, University of British Columbia, December 1992. [63] G. Zames, “Feedback and optimal sensitivity; model reference transformations, mul tiplicative seminorms, and approximate inverses,” IEEE Trans. Automat. Contr., vol. AC-26, pp. 434—440, 1981. [64] P.J. Hacksel, “Observer based velocity and environment force estimation for rigid body control,” Master’s thesis, University of British Columbia, October 1993. [65] S.-R. Oh, R.L. Hollis, and S.E. Salcudean, “Precision Assembly with A Magnetically Levitated Wrist,” in Proceedings of the IEEE International Conference on Robotics and Automation, (Atlanta, USA), pp. 127—134, May 2-6, 1993. [66] F. S. T. Inc., “Fine science points,” March 1990. [67] M. T. Inc., “Mg-bOO microgripper,” January 1990. Appendix A Isometric Views of Individual Microwrist Parts The drawings in this appendix provide some insight into the design of the microwrist. The isometric views of each piece were somewhat arbitrarily chosen to be from the vectors (1,-5,2) and (1,-5,-2). Relative to a reference “front”, the first corresponds to a view 11.3° to the right and 21.4° from above; the second vector is similar but 21.4° from below. — Figure A.41: Flotor Coil Top Support Fl Figure A.42: Flotor Coil Strip F2 107 Appendix A. Isometric Views of Individual Microwrist Parts 108 Figure A.43: Flotor Coil Bottom Support F3 :u: Figure A.44: Flotor Axial Support F4 Figure A.45: Stator Support Rods Si Figure A.46: Stator Iron Core S2 Appendix A. Isometric Views of Individual Microwrist Parts 109 /- Figure A.47: Stator PSD Mounting Block S3 0 0 0 Figure A.48: Stator Ring Support S4 Figure A.49: Stator Peripheral Magnets S5 Appendix B Machining and Tolerances The parts to be machined are relatively small so tight tolerances are required. Of course, some toler.ances need to be tighter than others and may depend on dimensions of other parts. The author has tried to specify all the part dimensions so they can be fabricated independently but it is recommended that the “coupling” of parts be carefully considered during machining. In particular, it may be preferable to fabricate the pieces in the order shown in the following diagram: F4(b,c) F2 S5 Si F4(d) F4(a) F3 S2 Figure B.50: Recommended Order of Fabrication The parts which can be fabricated quite independently are F4b, F4c (both should be chosen from standard tubing in the shop), F2, Si (these should be machined from standard sized steel rods), and S5 (“mass produce” the back plates and then glue the magnets). F4a and F4d should be machined so the tubes F4b and F4c fit in snugly. F3 should have tube F4b fitting comfortably through and the hexagon F2 tightly glued on. Fl needs to accommodate hexagon F2 and possess a recess hole to mate with F4a. S2 should have about a 1.5mm air gap when positioned inside F2 and the holes should be tapped and chamfered so that the Si rods properly bottom out. S4 should be constructed 110 Appendix B. Machining and Tolerances iii so that, when the S5 magnets are monnted, there will be abont a 1.5mm air gap when F2 is placed inside. S3 should fit snugly inside S4 and allow the Si rods to have a tight fit inside. Appendix C Matlab Source Code for H Controller Synthesis The following source code was used for synthesizing the H bilateral controllers. The parameters shown are the ones used for the nominal controller Ic1 of Chapter 5. C.1 Main File: synsy.m ‘I. synsy.rn: synthesis of Hinf controller using our approach. clear all; % Initialize physical parameters and get P_rn & P_s rn_rn=.62; % rnaster mass [kg] b_rn3; ‘I. damper (b2*rn*zeta*ornega) [kg/s]=[N/(rn/s)] k_rn=1SO; ‘I. spring (k=rn*ornega2) [N/rn] rn_s.035; ‘/, slave rnass b_s.17; ‘I. “ damper k_s8.6; ‘I. “ spring num_Prn = [0 0 1]; den_Prn = [rn_rn b_rn k_rn]; 7. transfer function for Prn [a_Prn,b_Prn,c_Prn,d_Prn] = tf2ss(num_Prn,den_Prn); V. state—space for Pm nurn_Ps = [0 0 1]; den_Ps = [rn_s b_s k_s]; 7. transfer function for Ps [a_Ps,b_Ps,c_Ps,d_Ps] = tf2ss(num_Ps,den_Ps); V. state—space for Ps disp(’Getting systern rnatrices...’); G_205; ‘I. define systern rnatrices disp(’Augrnenting and cornbining. . .please wait...’); 7. Cornbine thern all into G [a_G,b_G,c_G,d_G]=conrowss(a_WGI1,b_WG11,c_WG11,d_WG11,a_WG12,b_WG12,c_WGI2,d_WG12); [aGt ,bGt , cGt ,dGt]=conrowss(a_WG21 ,b_WG21 , c_WG21 ,d_WG21 ,a_G22,b_G22, c_G22,d_G22); [a_G,b_G,c_G,d_G]=concolss(a_G,b_G,c_G,d_G,aGt,bGt,cGt,dGt); [a_G,b_G,c_G,d_G,TOTBND,HSV] = balrnr(a_G,b_G,c_G,d_G,1,1O); [A,B1,B2,C1,C2,D11,D12,021,D22]=hinfprep(a_G,b_G,c_G,d_G,rnl,rn2,nl,n2); [gam_opt,aK,bK,cK,dIC,acl,bcl,ccl,dcl]=... hinfopt(A,B1,B2,C1,C2,D11,012,D21,D22,1:2,[.01,1,0]); [aQ,bQ,cq,dq]=feedback(aE,bK,cK,dK,a_G22,bG22,c_G22,d_G22,+1); [atrnp,btrnp,ctrnp,dtrnp]=series(a_G21,b_G21,c_G21,d_G21,aQ,bQ,cQ,dQ); [atmp,btrnp,ctrnp,dtrnp]=series(atrnp,btrnp,ctrnp,dtrnp,a_G12,b..G12,c_G12,d_G12); [acl,bcl,ccl,dcl]=parallel(atrnp,btrnp,ctrnp,dtrnp,a_G11,b_G11,c_G11,d_G11); C.2 Plant: G_205m.m V. G_205.rn: gets transfer matrices for Hinf synthesis for: 112 Appendix C. Matlab Source Code for H Controller Synthesis 113 400) No Delay +200) Different Master/Slave 100) No consideration for impedances 040) No Force sensing at master ‘020) No Force sensing at slave 010) No force measurement errors +004) Force Transparency at master ‘A 002) Position Transparency at slave ‘A +001) Use actuator saturation ‘A Also defines weighted disturbances ‘I. Note: use W_S, K_24anlyz and cl_S4anlyz in synsmy n_f =40; ‘A force scaling to (slave to master) n_p=10; 7. position scaling (slave to master) 7. Deriving teleoperation transfer functions ‘A Get s—s of often used functions EaO,bO,cO,dO]=tf2ss(E0] ,[i]); [ai,bl,cl,dl]=tf2ss([1] ,Ei]); 7. Gil first: (4x6) [aGll,bGll,c.Gll,d_Gll]=conrowss(aO,bO,cO,dO,al,bl,—cl*n_f,—dl*n_f); [a_Gll,b_Gll,cGll,d_Gll]—conrowss(a_Gll,b.Gll,c_Gll,d.Gll,aO,bO,cO,dO), [a.Gll,b_Gll,cGll,dGll]=conrowss(aGll,b_Gll,c_Gll,d_Gll,aO,bO,cO,dO); [a_Gll,bGll,c_Gll,dGll]—conrowss(a_Gll,bGll,c_Gll,dGll,aO,bO,co,dO), Ea_Gll,b_G1l,c_Gll,d_Gll]—conrowss(a_Gll,b_Gll,c_Gll,d_Gll,al,bl,cl,dl), EaGt ,bGt , cGt ,dGt]conrowss(aPm,bPm,c,jm,dPm,a_Ps,bPs,—np*cPs,—n_p*dPs); EaGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); EaGt,bGt,cGt,dGt]conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [aGt,bGt,cGt,dGt]conrowss(aGt,bGt,cGt,dGt,aPm,b.Pm,c.ym,dPm); [aGt ,bGt , cGt ,dGt]=conrowss(aGt ,bGt,cGt ,dGt,aPs ,bPs ,—np*cPs ,—np*d_Ps); Ea_Gll,bGll,cGll,dSll]=concolss(a.Gll,bGll,cGll,d_G1l,aGt,bGt,cGt,dGt); EaGt,bGt,cGt,dGt]conrowss(aO,bO,cO,dO,aO,bO,cO,dO); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [aGt,bGt,cGt,dGtJ—conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO), [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [a_Gll,bSll,cGll,dGll]concolss(a_Gll,bGll,cGll,dGll,aGt,bGt,cGt,dGt); [aGt ,bGt,cGt,dGt]=conrowss(aO,bO,cO,dO,aO,bO,cO,dO); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [aGll,bGll,c_Gll,d_Gll]=concolss(aGll,b_Gll,c.Gll,d.Gll,aGt,bGt,cGt,dGt); ‘A G12 second: (4x2) [aGl2,bGl2,c_G12,dGl2]=conrowss(al,bl,cl,dl,aO,bO,cO,dO); CaGt ,bGt, cGt ,dGt]=conrowss(aPm,bPm,cPm,&ym,aPs,bPs,—np*c_Ps,—np*dPs); CaGl2,b_G12,cGl2,d_G12]=concolss(a_G12,bGl2,c.G12,d.G12,aGt,bGt,cGt,dGt); [aGt,bGt,cGt,dGt]=conrowss(al,bl,cl,dl,aO,bO,cO,dO); Ea_G12,bGl2,cGl2,dGl2]concolss(aGl2,bGl2,c.G12,d.G12,aGt,bGt,cGt,dGt); [aGt,bGt,cGt,dGt]=conrowss(aO,bo,co,do,al,bl,cl,dl); £aGl2,bGl2,c_G12,dGl2]concolss(aGl2,bGl2,cGl2,tGl2,aGt,bGt,cGt,dGt); ‘A G21 third: (2x6) [a.G21,bG2l,cG2l,dG2l]=conrowss(apm,bpm,cpm,Cpm,ao,bo,co,do); [a.G21,bG2l,cG2l,dG2l]=conrowss(aG2l,bG2l,cG2l,dG2l,al,bl,cl,dl); [aG2l,bG2l,cG2l,dG2l]=conrowss(a_G2l,bG2l,c_G2l,d_G2l,ao,bo,co,do); [aG2l,b_G21,cG2l,dG2l]=conrowss(aG2l,bG2l,cG2l,dG2l,apm,bym,cpm,dym); EaG2l,bG2l,cG2l,dG2l]=courowss(aG2l,bG2l,c.G21,dG2l,ao,bo,co,dO); [aGt,bGt,cGt,dGt]=conrowss(aO,bO,cO,dO,a_Ps,bPs,c_Ps,dPs); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,ao,bo,co,do); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,ciGt,al,bl,cl,dl); Appendix C. Matlab Source Code for H Controller Synthesis 114 [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,aO,bO,cO,dO); [aGt,bGt,cGt,dGt]=conrowss(aGt,bGt,cGt,dGt,a_Ps,b_Ps,c_Ps,d_Ps); [a_G21,b_G21,c_G21,d_G21]—concolss(a_G21,b_G21,c_G21,d_G2i,aGt,bGt,cGt,aGt), 7, G22 fourth: (2x2) [a_G22,b_G22 , c_G22 ,d_G22] =conrowss(a_Pm,b_Pm, c_Pm,d_Pm,aO,bO ,cO,dO); [aGt,bGt,cGt,dGt]=conrowss(aO,bO,cO,dO,a_Ps,b_Ps,c_Ps,d_Ps); [a_G22 ,b_G22, c_G22,d_G22] concolss(a_G22,b_G22, c_G22 ,d_G22,aGt ,bGt, cGt ,dGt); mi=6 ;m22;n14;n22; num_Wi = O.Oi*conv(Ci,iOO],Ei,iOO]); 7. Wi: force transparency at master den_Wi = conv([i,25],Ei,25]); num_W2 = i.O*conv(Ei,40],Ei,40]); ‘I. W2: position transparency at slave den_W2 = conv(Ei,iO],[i,iO]); num_W3 = O.07*Ei,60]; ‘I, W3: master actuator limitations den_W3 = Ei,iSO]; num_W4 = O.S*[i,5S]; ‘I, W4: slave actuator limitations den_W4 = [i,i25]; [a_Wout ,bWout , c_Wout ,d...Wout] =tf2ss(nuau_Wi ,den_Wi); [atmp ,btmp, ctmp,dtmp] tf2ss(num_W2 ,den_W2); Ca_Wout ,b_Wout , c_Wout ,d_Wout] =append(a_Wout ,b_Wout ,c_Wout ,d_Wout,atmp ,btmp, ctmp ,dtmp); [atmp,btmp, ctmp,dtmp] tf2ss(num_W3 ,den_W3); [a_Wout ,b_Wout , c_Wout ,d_Wout] append(a_Wout ,b_Wout , c_Wout ,d_Wout ,atmp,btmp ,ctmp,dtmp); Eatmp,btmp, ctmp,dtmp]=tf2ss(nuia_W4,den_W4); La_Wout , b_Wout,c_Wout , d_Wout] =append (a_Wout , b_Wout , c_Wout , d_Wout , atmp , btmp , ctmp , dtmp); ‘h Augment wI output weighting functions [a_WGii,b_WGii,c_WGii,d_WGii]=series(a_Gii,b_Gii,c_Gii,d_Gii,a_Wout,b_Wout,c_Wout,d_Wout); [a_WGi2,b_WGi2,c_WGi2,d_WGi2]series(a_Gi2,b_Gi2,c_Gi2,d_Gi2,a_Wout,b_Wout,c_Wout,d_Wout); num_Wpm = 2.Ee-6; ‘I. Wpm: master position noise den_Wpm = num_Wps = i.Oe—6; ‘I. Wps: slave position noise den_Wps = num_Wcm = O.Oi*Ei]; ‘I, Wcm: master disturbances den_Wcm = [i,i]; num_Wcs O.OOi*[i]; 7, Wcs: slave disturbances den_Wcs = [i,i]; [a_Win,b_Win,c_Win,d_Win]=append(ai,bi,ci,di,ai,bi,ci,di); Eatmp ,btmp, ctmp,dtmp]=tf2ss(num_Wpm,den_Wpm); [a_Win,b_Win, c_Win,d_Win]=append(a_Win,b_Win, c_Win,d_Win,atmp,btmp, ctmp,dtmp); [atmp ,btmp , ctmp ,dtmp] =tf2ss(num_Wps ,den_Wps); Ea_Win,b_Win, c_Win,d_Win]append(a_Win,b_Win,c_Win,d_Win,atmp,btmp, ctmp,dtmp); Eatmp,btmp, ctmp,dtmp]=tf2ss(num_Wcm,den_Wcm); [a_Win,b_Win, c_Win,d_Win]append(a_Win,b_Win, c_Win,d_Win,atmp,btmp, ctmp,dtmp); [atmp,btmp, ctmp,dtmp] =tf2ss(num_Wcs ,den_Wcs); [a_Win,b_Win, c_Win,d_Win]append(a_Win,b_Win, c_Win,d_Win,atmp,btmp, ctmp,dtmp); ‘h Augment wI input weighting functions [a_WGii,b_WGii,c_WGii,d_WGii]=series(a_Win,b_Win,c_Win,d_Win,a_WGii,b_WGii,c_WGii,d_WGii); [a_WG2i,b_WG2i,c_WG2i,d_WG2i]=series(a_Win,b_Win,c_Win,d_Win,a_G2i,b_G2i,c_G2i,d_G2i); C.3 Miscellaneous Functions: conrowss.m, concolss.m, hinfprep.m function [aa,bb,cc,dd] = conrowss(ai,bi ,ci,di,a2,b2,c2,d2) ‘/,CONROWSS: Awkward name for connecting two systems represented ‘I. in state—space form when they represent transfer functions ‘h which are in a row: Appendix C. Matlab Source Code for H Controller Synthesis 115 ie: g(s) = Igi(s) g2(s)l X The resulting system is: lxii = IAI 01 lxii + iBi 01 lull 1x21 10 A21 ix2l + 10 B21 1u21 ‘I. lyl = Id C2l lxii + IDi D2l lull X 1x21 + 1u21 ‘I, See also: SERIES, FEEDBACK, CLOOP, PARALLEL, CONCOLSS. error(nargchk(8,8,nargin)); error(abcdchk(al ,bl ,ci ,dl)); error(abcdchk(a2,b2, c2,d2)); Emai,nai] = size(ai); Emdi,ndi] = size(di); Ema2,na2] = size(a2); Emd2,nd2] = size(d2); aa = Cal zeros(mai,na2);zeros(ma2,nai) a2); bb = 0i zeros(mai,nd2);zeros(ma2,ndi) b2]; cc = [ci c2]; dd = [di d2]; function [aa,bb,cc,dd] = concolss(ai,bl ,ci,di,a2,b2,c2,d2) Y.CONCOLSS: Awkward name for connecting two systems represented % in state—space form when they represent transfer functions ‘I, which are in a column: ‘I. ie: g(s) = igi(s)i X 1g2(s)l % The resulting system is: ‘I. lxii = iAi 01 lxii + iBil lul ix2i 10 A2i 1x21 + 1B21 ‘I. lyli = iCi 01 lxii + iDil lul iy2i 10 C21 ix2i + 1D21 Y. See also: SERIES, FEEDBACK, CLOOP, PARALLEL, CONROWSS. error(nargchk(8,8,nargin)); error(abcdchk(ai ,bi ,ci ,di)); error(abcdchk(a2,b2,c2,d2)); [mai,nai] = size(ai); [mdi,ndi] = size(di); [ma2,na2] = size(a2); [md2,nd2] = size(d2); aa = Cal zeros(mai,na2);zeros(ma2,nai) a2]; bb = [bi ; b2]; cc = [ci zeros(mdi,na2);zeros(md2,nai) c2]; dd= [di ; d2]; function [A,Bi,B2,Ci,C2,Dii,Di2,D2i,D22]=hinfprep(a,b,c,d,mi,m2,ni,n2); ‘I. [A,Bi,B2,Ci,C2,Dii,Di2,D2i,D22]hinfprep(a,b,c,d,mi,m2,ni,n2); % hinfprep.m: prepares a state-space representation for U-infinity ‘I. optimization techniques where ml is the number of exogenous inputs, % m2 is the number of actuators in the control, ni is the number of Z signals to be optimized, and n2 is the number of measurements used ‘I, in the controller. [n,dum]=size(c); [dum,m]=size(b); [dn,dm]size(d); if ((mi+m2)=m) I ((ni+n2=n) I (dnn) I (dmm), error(’dimensions do not agree!’); Appendix C. Matlab Source Code for H Controller Synthesis 116 end Aa; B1b(: , 1 :ml) ;B2b(: ,ml+1 :ml+m2); C1c(1:nl, :);C2c(nl+1:nl+n2,:); D11d(1:nl,1:ml) ;D12=d(1:nl,ml+1:ml+m2); D21d(nl+1 :nl+n2, 1 :1st) ;D22d(nl+1 :nl+n2,ml+1 :ml+m2); C.4 The State-Space Result The controller output by the above functions are not in a form suitable to be used for the wrist C code. This is because the controller must be discretized and the C functions used require the matrix transpose. The following functions, “c2dsys” and “outmat” are used to output the controller into a form more suitable for my C code. ‘I. c2dsys.m: converts the resulting continuous—time controller into a 7. discrete—time one with matrices transposed for use in C code dT=O.OOS; 7. Control loop time in seconds [axd,bKd,cKd,diCd]=c2dm(alC,bK,cK,dK,dT, ‘tustin’); aKdt=aICd’ ;bKdtbKd’ ;cKdtcKd’ ;dKdt=dKd’; outmat(axdt, ‘float AKEORDERK] [ORDERK]’); outmat(bKdt, ‘float BK[2]EORDERK]’); outmat(cKdt, ‘float CKEORDERK] [2]’); outmat (dKdt, ‘float DK [2] [2]’); function C] = outmat(a,name) XOUTMAT Print matrix in a form nice for my C code % OUTNAT(A,NANE) prints the matrix A and labels it NAME. disp([name,’ = ‘]) Em,n] = size(a); for indll:m, if ind11, strtmp’{{’; else strtmp’{’; end for ind2l:n, strtmp=[strtmp,sprintf(’%.4g’ ,a(indl,ind2))]; if ind2n, strtmp[strtmp, ‘H]; if indlm, strtmpEstrtmp, ‘};‘]; end end if (ind1m) I (ind2n), strtmp[strtmp,’,’]; end end disp(strtmp); end The eventual discretized state-space representation of the controller to be used as ic1 is then given by: Appendix C. Matlab Source Code for H Controller Synthesis 117 float AK[ORDERX] [ORDERK] = {{—8.174,s.947,—3.757,—1.711,—1.463,o.1902,--2.426,o.14,o.1883,—2.ols}, {—16.53,12.18,—7.992,—3.549,—3.032,o.6706,—1.765,O.3546,o.04946,—3.84}, {—4.o15,3.186--2.24,—1.263,—1.O99,o.381S,2.425,o.1927,—o.3o21,—1.o67}, {—1S.14,1O.69—T.668,—2.517,—2.918,O.6444,—O.6277)O.3624,—O.O6231,—3.576}, {2.622,—1.778,1.318,O.4527,1.382,—O. 1264,O.1981,—O.0579,O.002235,O.6109}, {—1O.73,7.E11,—5.428,—2.273,—1.937,1.319,—O.6548,O.2489,—o.01821,—2.522}, {—O.3444,O.2795,—O.2046,—O.04649,—O.03926,—O.01359,—O.3948,—O.03087,O.1442,—O.06666}, {1O.07,—7.482,4.996,1.439,1.329,—o.3617,O.5615,o.6297,o.02936,2.029J-, {—1.602,1.369,—O.7569,O.08641,O.238,—O.647,--o.02081,O.03762,O.8747,—o.2173}, {1.319,—O.9749,O.6555,O.1975,O.1858,—O.06411,O.O’T459,O.1311,—O.04762,—O.7232}}; float BK[2] [ORDERK] = {{261.5,—52o.9,949.6,332.4,304,—169.2,—1803,—74.61,201.5,164.3}, {—4.235e+04,2.933e+04,—2.135e+04,—9345,-8143,1689,—2388,987.7,—106.6,—9928}}; float CKEORDERK] [2] = {{6.79,—O.3511}, {13.2,—o.7013}, {3.394,—o.2212}, {12. 13,—O.6263}, {—2.079,O. 121}, {8.578,—O.4506}, {O.2899,—O.0108}, {—8. 154,O.3451}, {1.346,O.005076}, {—1.067,O.04678}}; float DK [2] [2] = {{—408.5,42.87}, {3 . 378e+04,—1802}};


Citation Scheme:


Usage Statistics

Country Views Downloads
United States 9 6
Japan 4 0
Germany 4 0
Iran 4 0
China 3 9
City Views Downloads
Washington 8 0
Unknown 4 4
Tokyo 4 0
Munich 4 0
Beijing 3 0
Orlando 1 0

{[{ mDataHeader[type] }]} {[{ month[type] }]} {[{ tData[type] }]}


Share to:


Related Items