Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Development and evaluation of an automated pre-robotic system and an advanced robot for surgical retraction Findlay, Judy M. 1990

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

Item Metadata

Download

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

Full Text

DEVELOPMENT AND EVALUATION OF AN AUTOMATED PRE-ROBOTIC SYSTEM AND AN ADVANCED ROBOT FOR SURGICAL RETRACTION By Judy M . Findlay B. Eng., Carleton University Ottawa, Canada, 1986 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES Department of Electrical Engineering We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA November, 1990 ®Judy M . Findlay, 1990 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. The University of British Columbia Vancouver, Canada Department DE-6 (2/88) ii ABSTRACT The application of advanced robotics to surgical tasks can help to improve the delivery and quality of treatment, reduce the cost of surgery, and increase safety. Despite these advantages, robots have not found their niche in the surgical setting to the extent that they have in many industries. For the health care industry and society to reap the benefits offered by advanced surgical robots, technological challenges related to the application of advanced surgical robots to surgical tasks must be met, and the barriers to clinical acceptance must be overcome. Surgical retraction is a technique employed in most surgical procedures to expose the anatomical structures of interest to the surgeon. Many problems associated with this common surgical task could be addressed by advanced surgical robots which could be easily repositioned, and could accept a variety of retractors for different applications. Using a robot could liberate surgical assistants for other tasks, and could allow the retraction pressure to be monitored and the surgeon alerted to excessive pressures. In this thesis two approaches to automated surgical retraction are developed with the overall objective of demonstrating each approach in the surgical setting to determine the feasibility of the approaches as alternatives to current retraction techniques. The first approach involves the development of an automated effector for operating from a pre-robotic platform. Gross positioning of the retractor is performed manually with the pre-robotic device, while the automated effector provides fine positioning control to adjust the surgical exposure, as well as three automated modes of operation: 1) maintaining the retractor position within a desired position window, 2) maintaining the retraction pressure within safe limits, and 3) periodically releasing the retraction pressure. The second approach involves the development of an advanced surgical robot for retraction that provides both gross and fine positioning, as well as the automated modes of operation. In contrast to the first system, this system is fully robotic. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction iii This thesis describes the development of two systems based on these approaches. As a significant part of the development, a new physiologic sensor was developed for monitoring the retraction pressure. A model of retraction pressures was established based on measurements made during hip replacement and abdominal surgeries. Using this model, an improved retraction pressure sensor with multiple sensing sites was developed, and control algorithms for automating retraction were developed. As part of the system development, requirements for an operator interface were identified and a versatile operator interface system was adapted and integrated into the robotic system to provide intuitive control. An important part of the work involved the identification of the crucial need for a safety standard for surgical robots, and the further identification of the critical issues that such a standard would have to address. From this, a set of general design requirements for surgical robots was developed, and specific approaches for addressing the safety issues in a prototype of an advanced surgical robot for retraction were developed and integrated into the systems. The feasibility of each approach was demonstrated during successful surgical trials of the automated pre-robotic system and the advanced surgical robot during abdominal surgery. A comparative evaluation of the systems, in terms of quality of treatment, costs and payback, and safety, led to an identification of advantages that each approach offered and of problems associated with the implementations. The automated pre-robotic system was found to have advantages over the fully robotic approach in terms of cost, use, and safety, for the task of bilateral retraction during abdominal surgery. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction DEDICATION iv This work is dedicated to the memory of fourteen women who were murdered at the Ecole Polytechnique in Montreal on December 6th, 1989. "First we mourn, then we work for change." Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction V TABLE OF CONTENTS ABSTRACT ii LIST OF TABLES ix LIST OF FIGURES x ACKNOWLEDGEMENTS xii 1 INTRODUCTION 1 1.1 Motivation for the Work 1 1.2 Thesis Objectives 6 1.3 Thesis Overview 7 2 BACKGROUND 9 2.1 Chapter Overview 9 2.2 Robotics in Surgery 10 2.2.1 Literature review 10 2.2.2 Andronic Devices background 13 2.3 Retraction Injuries in Surgery 14 2.4 Brain Retraction Pressure Studies 15 2.5 Methods of Monitoring Retraction Pressure 18 2.5.1 Sensors for brain retraction studies 19 2.5.2 Other physiologic transducers 20 2.5.3 Tactile sensors for robotic systems 21 2.5.4 Other industrial sensors 23 2.6 Summary 24 3 CONCEPTUAL OVERVIEW OF AUTOMATED RETRACTION SYSTEMS . . . . 26 3.1 Introduction 26 3.2 Elements of Automated Retraction Systems 26 3.3 Summary 29 4 DEVELOPMENT OF AN APPROACH TO SAFETY FOR ADVANCED SURGICAL ROBOTS 30 4.1 Chapter Overview 30 4.2 The Need for a Safety Standard for Surgical Robots 31 4.2.1 Prevention of accidents 31 4.2.2 Improving the design process 32 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction vi 4.2.3 Advancing consumer acceptance 32 4.2.4 Reducing product liability concerns 33 4.2.5 The development of a surgical robot safety standard 34 4.3 A Synthesis of Safety Issues 35 4.3.1 The approach 35 4.3.2 Industrial robotics . 35 4.3.3 Differences between surgical robotics and industrial robotics . . . . 37 4.3.4 Safety issues in surgical robotics 38 4.3.5 Hazards and requirements 38 4.3.5.1 Hazards related to programmed motion of the robot . . . 38 4.3.5.2 Hazards related to malfunctions causing unprogrammed motion 40 4.3.5.3 Special hazards related to the surgical setting 43 4.4 Approaches to Safety for an Advanced Surgical Robot for Retraction . . . . 43 4.4.1 Hazards related to programmed robot motion 44 4.4.2 Hazards related to unplanned robot motion 45 4.4.3 Special hazards related to the surgical setting 46 4.5 Summary 47 5 DEVELOPMENT OF A NOVEL RETRACTION PRESSURE SENSOR AND MODEL OF RETRACTION PRESSURES 48 5.1 Chapter Overview 48 5.2 Requirements for a Retraction Pressure Sensor 49 5.3 Development of an Initial Model of the Magnitude of Retraction 49 5.3.1 Development of a preliminary sensor 50 5.3.2 Preliminary trial of the fluid-filled bladder sensor 50 5.4 Development of a Sensor Based on the Force Sensing Resistor™ 53 5.5 Development of a Novel Retraction Pressure Sensor Based on a Physiologic Pressure Transducer . . . 55 5.5.1 Design and fabrication of the retraction pressure sensor 55 5.5.2 Technical evaluation of retraction pressure sensor 57 5.5.3 Evaluation of the retraction pressure sensor in abdominal surgery . 59 5.5.3.1 Method of sensor evaluation in surgical trials 60 5.5.3.2 Clinical results of retraction pressure study 63 5.6 Development of a Model of Retraction Pressures 67 5.7 Improvements to Retraction Pressure Sensors 71 5.8 Summary 72 6 DEVELOPMENT AND INTEGRATION OF TWO AUTOMATED RETRACTION SYSTEMS 75 6.1 Chapter Overview 75 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction vii 6.2 Functional Requirements for Automated Retraction Systems 76 6.3 System Overviews 77 6.4 Signal Acquisition and Conditioning 79 6.4.1 Requirements 79 6.4.2 Instrumentation 80 6.5 Development of an Automated Pre-Robotic Retraction System 81 6.5.1 Operator interface 81 6.5.2 Patient interface 82 6.5.2.1 Retraction pressure sensor 82 6.5.2.2 Safety 82 6.5.3 Hardware 83 6.5.3.1 Remote actuation method 83 6.5.3.2 Attachment to pre-robotic platform 83 6.5.3.3 Control and drive hardware 85 6.5.4 Control 86 6.5.5 System integration 86 6.5.6 Improvements to the design 88 6.5.7 Cost of automated pre-robotic retraction system 88 6.6 Development of an Advanced Surgical Robot for Retraction 89 6.6.1 Operator interface 89 6.6.2 Patient interface 90 6.6.2.1 Retraction pressure sensor . 90 6.6.2.2 Safety 91 6.6.2.2.1 Reducing hazards from programmed motion of the robot 91 6.6.2.2.2 Reducing hazards from unplanned motion of the robot 92 6.6.3 Hardware 93 6.6.4 Control 94 6.6.5 System integration 101 6.6.6 Cost of an advanced surgical robot system 103 6.7 Comparison of Systems 103 6.8 Summary 105 7 CLINICAL EVALUATION OF AUTOMATED RETRACTION SYSTEMS IN ABDOMINAL SURGERY 107 7.1 Chapter Overview 107 7.2 Preparation for Clinical Trials 108 7.2.1 Approvals for clinical trials 108 7.2.2 Electrical safety requirements 108 7.2.3 Requirements for ensuring sterility 109 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction viii 7.2.4 Choice of surgical procedures 110 7.3 Evaluation of the Automated Effector 112 7.3.1 Operating room configuration 112 7.3.2 Evaluation of function 113 7.3.3 Problems encountered during surgical use of the automated effector 117 7.4 Evaluation of the Advanced Surgical Robot 118 7.4.1 Operating room configuration 119 7.4.2 Evaluation of function 120 7.4.3 Problems encountered during surgical use of advanced surgical robot 123 7.5 Comparison of the Automated Effector and Advanced Surgical Robot . . . 124 7.6 Summary 129 8 CONCLUSIONS AND RECOMMENDATIONS • • • 131 8.1 Contributions of the Research 131 8.2 Recommendations for Further Work 134 8.3 General Conclusions 136 REFERENCES 138 APPENDIX I 144 Sensor calibration methods 144 Calibration curves 145 Frequency response determination for retraction sensor 146 APPENDIX II 147 Derivation of equations for joint angles for world coordinate motion of retractor 147 APPENDIX III 150 Joint angle units for Mitsubishi RM-501 151 APPENDIX TV 152 C-program source code for automated accessory control 153 C-program source code for Mitsubishi RM-501 control 171 APPENDIX V 191 Failure modes effects analysis 191 APPENDIX VI 193 Bioelectric Amplifier frequency response 193 APPENDIX VH 194 Schematics - Automated effector 194 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction ix LIST OF TABLES Table I Retraction pressures measured during hip surgery 52 Table II Summary of retraction pressures during abdominal surgery 63 Table UJ Hospital lab assessment of retracted and control tissue samples 64 Table IV Summary of additional specifications for the automated effector 81 Table V Cost of automated pre-robotic retraction system 88 Table VI Robot joint ranges of motion 93 Table VU Cost of advanced surgical robot system 103 Table VTJI Comparison of retraction systems 104 Table IX Summary of surgical trials of automated pre-robotic retraction system . 112 Table X Summary of surgical trials of advanced surgical robot 118 Table XI Comparison of cost-related parameters of surgical retraction systems . . 125 Table XU Comparison of use-related parameters of surgical retraction systems . . 126 Table XIII Comparison of safety-related parameters of surgical retraction systems . 127 Table XIV Joint angle units for Mitsubishi RM-501 robot 151 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction X LIST OF FIGURES Figure 3.1 Conceptual block diagram of an automated retraction system 27 Figure 5.1 Charnley retractor and fluid-filled bladder sensor 51 Figure 5.2 Force Sensing Resistor™ 53 Figure 5.3 Intermittent vs. constant pressure application 54 Figure 5.4 Design and construction of retraction pressure sensor 56 Figure 5.5 Input-Output Characteristic of retraction pressure sensor 58 Figure 5.6 Frequency response of retraction pressure sensor 58 Figure 5.7 Retractor commonly used in major abdominal surgery 59 Figure 5.8 Evaluation of retraction pressure sensor in abdominal surgery 62 Figure 5.9 Retraction pressure during abdominal surgery procedure 62 Figure 5.10 Histogram of retraction pressure ranges during abdominal surgeries . . . 65 Figure 5.11 Retracted tissue magnified 100X . 66 Figure 5.12 Control tissue magnified 100X 66 Figure 5.13 Retraction pressure while positioning retractor 69 Figure 5.14 Power spectrum of data in Figure 5.13 69 Figure 5.15 Ventilator effect on retractor pressure 71 Figure 5.16 Three sensor configurations 73 Figure 5.17 Multiple element sensor attached to retractor 73 Figure 6.1 Automated pre-robotic retraction system 78 Figure 6.2 Advanced surgical robot for retraction 78 Figure 6.3 Automated effector mounted on pre-robotic platform 84 Figure 6.4 Automated effector drive and monitoring hardware 85 Figure 6.5 Automated effector for pre-robotic retraction system 87 Figure 6.6 Variable safe work space ." 92 Figure 6.7 Advanced surgical robot - degrees of freedom 93 Figure 6.8 Degrees of freedom in world surgical coordinates 95 Figure 6.9 Pre-set positions for the advanced surgical robot 95 Figure 6.10 Flow control for advanced surgical robot 99 Figure 6.11 Flow control cont'd 100 Figure 6.12 Flow control cont'd 101 Figure 6.13 Advanced surgical robot for automated retraction 102 Figure 7.0 Placement of retractors for bilateral retraction during abdominal surgery 110 Figure 7.1 Automated pre-robotic retraction system in abdominal surgery I l l Figure 7.2 Advanced surgical robot in abdominal surgery I l l Figure 7.3 Automated pre-robotic retraction system - Maintain position 115 Figure 7.4 Automated pre-robotic retraction system - Repositioning . . . . . . . . . 115 Figure 7.5 Automated pre-robotic retraction system - Maintain pressure 116 Figure 7.6 Automated pre-robotic retraction system - Periodic release of pressure . 116 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction xi Figure 7.7 Advanced surgical robot - Maintain position 121 Figure 7.8 Advanced surgical robot - Repositioning 121 Figure 7.9 Advanced surgical robot - Maintain pressure 122 Figure 7.10 Advanced surgical robot - Periodic release of pressure 122 Figure la Bladder sensor - Calibration method #1 145 Figure lb Bladder sensor - Calibration method #2 145 Figure Ic Test configuration for frequency response determination 146 Figure Ila RM-501 links and joints angles 147 Figure Hb Linear displacement of Retractor 148 Figure Vila Automated effector, control module connections 194 Figure VTIb Control module, back panel 194 Figure VLTc Control module, pneumatic circuit 196 Figure VJJd Automated effector, component circuits 196 Figure VJJe Automated effector, circuit components 197 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction xii ACKNOWLEDGEMENTS I would like to thank my supervisor, Jim McEwen, for his guidance and assistance throughout my thesis. He has a special way of generating enthusiasm even at the rare times when there seems litde reason for it. Because of the inter-disciplinary nature of this work, it would not have been possible without the assistance of many people. I am grateful for their help. In particular, the people at Andronic were very helpful and cooperative. The Robotrac team deserves special thanks: Mark Dance for his mechanical engineering assistance and attention to schedules and neatness; Carlo Bussani for his kind help offered to a graduate student (he'd been there); Joelleff Fitzsimmons for his help and hot chocolate; and finally Bill Piggott, who provided mechanical engineering assistance with the automated accessory, and whose humour and refreshing outlook made life at Andronic very memorable. I would Uke to thank Dr. Charles Scudamore and Dr. Clive Duncan for their assistance in performing clinical trials. I also thank Hashim Mitha for his help and company during clinical trials. I would like to extend thanks to Dr. Quenville for analyzing the tissue samples and providing photographs of the tissues, and to Dr. Kornelson who kindly gamma-sterilized the early sensors. The people at the Biomedical Engineering Department at Vancouver General Hospital helped in many ways. In particular, I would like to thank Adrian Smith and Avril Sullivan for their painstaking work on my sensors, and Steve Gorelik for inspecting and modifying the advanced surgical robot for use in the operating room. I thank Gary Birch of the Neil Squire Foundation who provided me with valuable information on robotics, and kindly reviewed Chapter 4 of my thesis. The Natural Science and Engineering Research Council and the Science Council of B.C. provided financial assistance. Andronic Devices Limited and Vancouver General Hospital provided space, equipment and supplies. I am very grateful to my parents and family for their continual support and encouragement. Finally, I would like to thank Rhonda Netzel for her help with thesis preparation, Adriane Egan for proofreading, and the Nursing Research Department at V . G . H for the use of their laser printer. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 1 1 INTRODUCTION 1.1 Motivation for the Work Robots are not common in the health industry despite their widespread use in other industries, most notably in manufacturing industries such as the automobile and microelectronics industries, and in service industries involving remote or hazardous environments. A robot has been defined as a reprogrammable multi-functional manipulator designed to move materials, parts, tools or specialized devices through variable programmed motions for the performance of a variety of tasks [1]. An a d v a n c e d r o b o t has been defined by the United Kingdom Department of Trade and Industry as "the integration of enabling technologies embracing manipulators, mobility, sensors, computing and hierarchical control to result ultimately in a robot capable of autonomously complementing (human) endeavors in unstructured and hostile environments" [2]. Robots, including advanced robots, are being employed to a great extent in some industries because their use increases profits. The increased profits result from an increase in productivity, improved quality of the product from increased accuracy and consistency, and more easily achieved safety standards in the manipulation of hot, cold or toxic substances, and the performance of tasks in hazardous environments [3]. The health industry, although not universally motivated by profit, stands to gain from these same end results. McEwen [4] describes the main objectives for introducing robotics in medicine in terms of cost reduction, improved quality, and increased safety. Paraphrasing, the objectives for applying robotics to medicine are: 1) to improve the quality of diagnoses and treatment by providing surgeons, lab technicians, and other health care workers with tools that can perform existing Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 2 Oiapter 1: Introduction tasks with greater accuracy and consistency, as well as new procedures and techniques; 2) to reduce costs by replacing all or part of a task performed by a paid employee that may be repetitive or physically demanding with an equivalent task performed by a robot; and, 3) to increase the safety of patients and/or staff by improving existing techniques or introducing new techniques, or by decreasing the exposure of staff to potentially hazardous environments, for example, ionizing radiation or infectious substances. There are obvious areas in the health industry that have special needs or requirements that could be met with advanced robotics. Automation in clinical labs for example reduces processing time, the cost of labour and the exposure of staff to infectious lab samples. The surgical setting may also benefit from the application of robotics. Automating clearly defined, tedious, labour-intensive tasks can reduce costs by liberating staff to perform other tasks and improve consistency because robots do not become fatigued. Safety for staff and patient may also be improved for the reasons given in (3) above. The quality of some procedures may improve from the accurate positioning ability of robots, and the ability of advanced robots to provide closed-loop control using parameters that may not be readily available to a surgeon or assistant. For example, three-dimensional imaging data can be used for stereotactic positioning [6], and may result in improved accuracy. Finlay [5] suggests several areas that could benefit from the application of robots and especially, advanced robots. These include patient handling, surgery, fetch and carry tasks, pathology lab work, prosthetics, monitoring and response in intensive care, and clean room Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 1: Introduction 3 operations. This thesis examines and contributes to the application of advanced robots to surgical tasks. With all the benefits to be gained from their use, why have robots not yet found their niche in the health industry generally, and the surgical setting specifically, when they have been commonplace in the manufacturing industries for two decades? For any application there is the obvious problem of matching a robot's technical ability with the requirements of a task. The general requirement in the case of a surgical robot is that the robot have the ability to measure variables relating to the patient and the environment and to adapt to these variables to perform actions that bring about the desired physiologic effect. One significant problem in meeting this requirement is a lack of sensor technology [2]. Reliable sensors that are specific to physiologic parameters and are suitable for use in the surgical site are required for the interface between robot and patient both for detecting the control parameters of interest and for monitoring the physiological state of the patient. A second problem is the existence of significant barriers to clinical acceptance of robotic devices. These barriers include: 1) a reluctance on the part of health care workers to use a new device, especially a device that may move autonomously, which may be perceived as reducing the amount of control the worker has; 2) a pre-conception that robotic technology is prohibitively expensive; and 3) concerns about the safety of using a traditionally industrial device in the health care setting. These real and perceived barriers can be addressed in part by: 1) developing an operator interface and overall design that is ergonomic and intuitive; 2) detemining the costs of a robot for a given application and the savings gained by its use, and from these, deternrining the economical feasibility of the approach; and 3) developing approaches to the safety issues that are reliable and robust, and ensure safety for both patient and staff. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 4 Chapter 1: Introduction In order for the health industry and society to reap the benefits offered by advanced surgical robots, suitable advanced surgical robots with the required sensor technology must be developed, and real and perceived barriers to clinical acceptance must be overcome. The work described in this thesis contributes to the general application of robotics to surgery, through the development of an advanced robot for a specific surgical task, retraction. S u r g i c a l r e t r a c t i o n is the drawing back or holding of physiological tissues and/or structures for the purpose of exposing underlying tissues or structures during surgical procedures. Retraction is used in almost every surgical procedure to provide the surgical team with the exposure required for the procedure to be performed. It is generally accomplished through the use of tools called retractors that may be hand-held, clamped in place, self-retaining, or more recently, pre-robotic [14]. Surgical retraction is a task well-suited to the application of advanced robotics because it involves manipulation of structures, it is a very common procedure that is employed in some form in almost every surgical procedure, it can be tedious, tiring and costly for human assistants, and it generally takes place in an unstructured environment with variation in requirements between procedures and between patients. In addition, there is evidence that high levels of r e t r a c t i o n p r e s s u r e , the pressure, applied by a retractor to the underlying tissue, can result in tissue injury. An advanced robot that could sense conditions that lead to tissue damage and could then take a course of action to reduce the risk of injury, may improve the quality and safety of surgical procedures. This thesis focuses on the development of two approaches to automated retraction. One approach was the development of an a d v a n c e d s u r g i c a l r o b o t for retraction. A working Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 1: Introduction 5 definition for an advanced surgical robot, based on the definitions above and incorporating the surgical function of the robot, is: a reprogrammable multi-functional integrated system of manipulator(s), mobility technology, sensors, computer(s) and hierarchical control designed to move specialized devices through variable programmed motions in the unstructured environment of a surgical site, for the purpose of aiding or performing diagnostic or therapeutic tasks. An advanced surgical robot for retraction would position a retractor in the surgical site, permit manual re-positioning of the retractor, and provide automated modes of operation for controlling retractor position and retraction pressure within pre-determined limits. The second approach involved the development of an a u t o m a t e d e f f e c t o r for attaching to an existing pre-robotic platform for positioning retractors. A p r e - r o b o t i c p l a t f o r m is an arm-like retractor positioning device with locking joints that can be easily released, manually moved and locked in a new position. The automated effector attaches to the pre-robotic platform and allows fine positioning control and automated modes of operation as described for the advanced surgical robot, but in a much simpler implementation and with more rigid constraints. The term a u t o m a t e d p r e - r o b o t i c r e t r a c t i o n s y s t e m will be used to refer to the automated effector operating from a pre-robotic platform. The main motivation behind the development of an advanced surgical robot for retraction was to explore the significant issues related to the introduction of advanced robots in surgery, and to develop approaches to address these issues, by selecting a common surgical procedure well-suited to the application of robotics. The significant issues included the necessity for appropriate physiologic sensors; operator interface requirements and ergonomics in the surgical Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 6 Oxapter 1: Introduction setting; the economic feasibility of an advanced surgical approach; and safety issues related to the use of an advanced robot in the surgical setting. Surgical retraction, a well-defined, very common surgical task, served as an appropriate application to focus the development of an advanced surgical robot to address the main issues, and permitted the feasibility of an advanced robot approach to surgical retraction to be assessed. The motivation behind developing the automated effector for operating from a pre-robotic platform was to evaluate a simpler approach to automated retraction in the surgical setting and to determine the relative advantages and limitations of each approach. 1.2 Thesis Objectives The main objective in this thesis was to develop and evaluate two approaches to automated surgical retraction to determine the feasibility each approach and to identify and address some of the critical issues related to the use of advanced robots in surgery. One approach involved developing an automated effector for a pre-robotic retraction system, while the other involved the development of a fully robotic system. To accomplish this, the following specific objectives were pursued: 1) Determine the requirements for a sensor to provide a physiologic feedback signal for automated control of the systems, and identify or develop a sensor to meet these requirements. 2) Perform a preUrninary retraction pressure study to evaluate the sensor and develop a model of retraction pressures for use in the development of control algorithms for the automated systems. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 7 Chapter 1: Introduction 3) Identify the main safety issues related to introducing a robot into the surgical setting, and develop specific approaches to address these issues in an advanced surgical robot for retraction. 4) Determine the functional requirements for an operator interface for a surgical robot and implement a system that meets these requirements for integration into the system. 5) Develop control algorithms to provide three modes of automated operation: 1) maintaining the retractor position within a pre-determined position window; 2) maintaining the pressure within a pre-determined pressure window; and 3) maintaining the position within a pre-determined position window and periodically releasing the pressure to a pre-determined threshold for a pre-determined time. 6) Achieve these three different modes of operation in two distinct approaches to automated retraction: 1) an advanced surgical robot for retraction; and 2) an automated pre-robotic retraction system. 7) Evaluate the two systems in actual surgical procedures to demonstrate two approaches to automated retraction, to compare the systems in terms of the safety, ergonomics, cost and performance, and to evaluate the feasibility of each approach. 1.3 Thesis Overview Chapter 2 gives the background for the thesis, including a summary of retraction injuries and the measurement of retraction pressure, a review of the surgical applications of robotics, and a review of tactile and force sensors from industrial robotics. Chapter 3 provides a conceptual overview of automated retraction systems. Safety issues related to the use of robots in surgery Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 1: Introduction 8 are identified in Chapter 4. General requirements for a surgical robot are presented and the development of specific approaches for an advanced surgical robot for retraction are described. Chapter 5 presents the development of a novel retraction pressure sensor and model of retraction pressures. In Chapter 6, the development of two automated retraction systems is described. The results of surgical evaluations are presented in Chapter 7. Chapter 8 concludes the thesis with a summary of the contributions of this work, recommendations for further research, and general conclusions. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 9 2 BACKGROUND 2.1 Chapter Overview This chapter provides background information relevant to the developments described in Chapters 4, 5 and 6. A review of the state of the art in surgical robots is summarized, followed by a review of the medical literature to give information on the significance of retraction pressure. The search for a suitable sensor for monitoring retraction pressure is then described. As mentioned in Chapter 1, the application of robots to surgical tasks has not been widely pursued. It was valuable to review what has been done by other researchers in order to determine the state of the art in the field of surgical robots. The first part of this chapter summarizes a review of surgical robotics from the engineering literature with a focus on approaches to safety issues and operator interface. Surgical retraction was selected as a suitable task for the application of an advanced robot for reasons given in Chapter 1. One of the reasons was that automating the retraction task offered the potential to improve the quality of surgical procedures by reducing the incidence of injury from high retraction pressures while maintaining adequate surgical exposure. The second section of this chapter summarizes a review of the significance of retraction pressure in terms of injuries attributed to the use of retractors in surgery. Previous research into the effects of high retraction pressure, presented in the medical literature, is described. This previous research has been restricted to studies involving brain tissue. An advanced surgical robot requires physiologic sensing. As previously mentioned, the parameter of interest in surgical retraction is the retraction pressure, which can serve as a control parameter and may also serve as an indicator of potential tissue damage. The third Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 10 Chapter 2: Background section summarizes a review of the state of the art in sensor technology with the purpose of identifying a suitable sensor for use in automated retraction systems. The techniques employed to measure brain retraction pressure are reviewed. Other physiologic sensors are considered as well. Finally, a review of the literature on industrial sensors is summarized with special attention to tactile sensors for industrial robots. 2.2 Robotics in Surgery 2.2.1 Literature review The use of robots for surgical applications has been explored by groups in several areas. These include stereotactic brain surgery, orthopaedic surgery, prostate surgery, and laser treatment. Kwoh [6] used a Unimation Puma 200 robot for stereotactic brain surgery. The robot was interfaced with a computed tomography (CT) scanner and was used to position a probe guide at a site identified on the CT scan. Kwoh evaluated several industrial robots and settled on the Puma 200 for its safety: "The Puma is safe: the waist, shoulder and elbow joints are equipped with spring-applied, solenoid-released brakes which are automatically clamped should any mechanical or electrical defect occur." This quote represents the extent to which this group discussed safety issues. In this case, the robot is holding a probe guide through which a biopsy needle is guided into a patient's brain. Kwoh does not address in this paper those defects which could lead to the robot moving in an unplanned manner, for example an error in command signals sent to the robot. In the case of brain surgery even a small unplanned movement could result in serious injury. A back-up stereotactic frame was available in the operating room in case the robot failed during clinical trial. The main advantage the system provided was improved accuracy assuming proper calibration of the robot. Lavallee [7] describes a similar Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 11 Chapter 2: Background system that can use multiple imaging modalities. He addresses the above-raised safety issue. In his system the robot would move the probe into the correct position and then the power to the robot would be disconnected so that when the tool is in the patient's brain, the robot is incapable of causing injury. Adequate safeguards would be required to ensure that the power could not inadvertently be reconnected. A third group, Kosugi e t a l [8], exploring the use of robotics for stereotactic surgery, opted for a passive positioning device after deciding that the "immaturity of safety mechanisms to avoid hazardous movements", the susceptibility of soft biological tissue to hemorrhage, and the requirement of adjusting the instruments in response to biological conditions all ruled out the safe application of robotics to the task. In the field of orthopaedics Auchinleck and McEwen [9] report the development and extensive clinical trials of a robotic device for positioning of patients' limbs during arthroscopic surgery. They indicate that the main issues that could limit the introduction of robotics to surgery are the perceived cost and complexity of the system, the difficulties of implementing an intuitive user interface, and the discomfort of staff in allowing a device to manipulate a patient under its own power. An additional obstacle they point out is the lack of ability to sense and interpret appropriate physiological parameters. To assure reliability and safety they suggest a single component failure analysis as one approach. In response to the problem of clinical acceptance they describe the concept of a "pre-robotic" device [14]. This concept is described in more detail in Section 2.2.2. Also in the field of orthopaedics, Taylor, Paul, e t a l [10] discuss the use of an industrial robot (IBM 7576 SCARA manipulator) for preparing the femur for a hip implant. They stress that the "ultimate application of this technology is a tool to improve our surgical accuracy" and that the use of robots is similar to previous technological developments in surgery such as the laser. They stress the importance of a person-machine interface that will allow the surgeon to use the robot as a tool rather than as an autonomous device. Also discussed are Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 12 several safety features such as redundant sensing to assure reliability, emergency pause and power off, error recovery and the ability to abort a procedure and continue manually. All of their trials have been done on dogs and cadavers in order to explore the safety and accuracy of the robot system. Davies e t a l [11] report the development of a robot system based on a Puma 560 robot for performing a feasibility study on the use of robotics for prostate surgery. The lack of safety features on the industrial robot, and the complexity and expense of taking the required safety precautions on a prototype device, ruled out the possibility of the study being done on live subjects. The technological feasibility was evaluated using a potato, and the group indicated that it plans to design a specialized robot with sufficient hardware and software interlocks and checks to ensure safety. Taylor [12] examined the possible use of a robot for laser removal of angiomas (port wine stains). Safety considerations, from Taylor's point of view, prohibit the use of an unmodified powerful industrial robot to perform the task. He advocated the use of numerous safety features including force limiting, velocity limiting, sensors for force, velocity and current, a skin proximity switch and rigid endstops. Also stressed was the need for considerable experimental work before the introduction of robotics for this task. Finlay [13] discusses the reasons robotics have not significantly penetrated the health care sector. He points out the fundamental difference between industrial and medical robots in terms of safety principles. Industrial robots are prevented from contacting people. Medical robots are required to interact with people, sometimes in intimate ways. This would be especially true of surgical robots. Ergonomic and safety issues have to be properly addressed before they will be acceptable. Related to this are legal liability concerns, which, according to Finlay, virtually block the use of surgical robotics in the U.S. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 13 2.2.2 Andronic Devices background Some of the work related to this thesis was carried out in cooperation with Andronic Devices Limited, a Vancouver company that performs research and development in the area of medical robotics. This company developed one of the first surgical robots, the limb manipulator described above. After this first intensive effort to produce a surgical robot, the company decided to address many of the clinical concerns that were barriers to the introduction of robotics in the operating room by developing "pre-robotic" devices, that is, devices having no joint motors and hence being unable to move under their own power. The pre-robotic devices developed and marketed to date include upper and lower limb positioners and a surgical retraction device, Robotrac™. [14] The idea behind the introduction of pre-robotic devices is that they are more acceptable by the clinical staff, yet set the stage for the later introduction of robotic devices. The devices represent an improvement over traditional lock-and-hold devices which require manual locking, because they allow the surgeon to reposition the device by holding a button. Using the pre-robotic device as a platform, issues related to the use of robotics can be explored without the inherent safety hazards associated with automated motion of the device. Advanced sensing, compliance and weight compensation are some of the areas being studied. In addition, robotic accessories for the pre-robotic device with a limited range of motion would allow the use of robotics to be evaluated on a smaller scale. Many robotic issues can be explored and addressed with a lower degree of risk, a reduced complexity, lower cost and a greater chance of clinical acceptance. The automated effector developed as part of this thesis was developed as an automated accessory for the pre-robotic platform designed and manufactured by Andronic Devices. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 14 Chapter 2: Background 2.3 Retraction Injuries in Surgery Injuries related to retraction in surgery are reported fairly frequently in the medical literature. These injuries include damage to nerves, blood vessels, bones, organs, and other tissues. As early as 1953 Aserman, [15] reported several cases of neurological damage, and three deaths which he contributed to high brain retraction pressure. He noted the damage occurred during induced hypotension, the clinical lowering of blood pressure. Aserman used the term "retraction anaemia" for the deprivation of blood supply to brain tissue resulting in irreversible neurological damage. More recently, Carter [16] suggested that retraction pressure can affect cortical blood flow during craniotomy which could lead to brain tissue ischemia, or the deficiency of blood flow to brain tissue. Ischemia in body regions other than the brain have also been reported. Injury to parts of the body can result indirectly from retractor pressure on blood vessels. Ischemic injury has been reported to result from compression of the external iliac artery by a retractor during colorectal surgery by Lozman [17]. Injuries to the arteries in the hip region probably caused by retraction during hip surgery are reported by Aust [18] and by Nachbur [19]. Femoral neuropathy, injury to the femoral nerve, after a gynaecological procedure caused by self-retaining retractors, is reported by Schoondorf [20]. The author noted that injury was caused by direct and indirect pressure of the retractor blades on the nerves and that high pressures and long durations could cause damage. Other neuropathies during or following Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 15 gynaecological procedures have been wholly or partly attributed to the use of self-retaining retractors by Hoffman [21] and by Heidenreich [22]. Nerve injuries and rib fractures are a fairly common complication during median sternotomy, the retraction of the chest cavity along the mid-line of the sternum during open-heart surgery, as reported by Woodring [23], Baisden [24] and Vander Salm [25][26]. Injuries to organs are not reported as frequently as damage to nerves, blood vessels and bone, but are not unknown. Ameli [27] reports a liver injury caused by a retractor during abdominal surgery. 2.4 Brain Retraction Pressure Studies Despite the injuries reported in the medical literature related to retraction, there appears to be little detailed information in the literature on the measurement of retraction pressure and its relationship to injury in tissues other than brain tissue. Consequentiy, this section is restricted to neurosurgery studies in animals and humans. The sensitivity of brain tissue to retraction pressures was first described by Aserman [15] who reported irreversible ischemic damage in the brain caused by retraction. More recently, brain retraction pressure has been measured in humans, rats and dogs to explore the relationship between applied pressure and neurological damage and to elucidate the mechanism of injury. Laha [28] applied pressures of 10, 20 and 30 mmHg to part of the brain in dogs by positioning a micro-manipulator holding a modified de Martel brain retractor. The pressure was measured using a strain guage on the reractor. It was found that for larger retraction pressures, damage to the brain occurred in the immediate vicinity of the retractor, probably due to a Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 16 decrease in local blood flow from compression of the blood vessels, which led to a breakdown in the blood-brain barrier. Damage also occurred in adjacent parts of the brain not directly compressed by the retractor, possibly from clotting and vaso-constriction in the adjacent untraumatized vessels. The researchers noted that the damage was related to both retraction pressure and the difference between blood pressure and retraction pressure. Albin [29] reports retraction pressure monitoring studies in animals and reports finding that somatosensory evoked potentials (SEP), which indicate proper conduction in the brain, are diminished as the brain retraction pressure approaches the cerebral perfusion pressure, the blood pressure in the brain. He also noted infarctions (tissue damage) in human subjects in whom brain retraction pressures exceeded 20 mmHg. Rosenorn [30] studied the effect of brain retraction pressure in the rat. To apply different pressures, he placed lead weights of fixed mass and various application areas on parts of the brain. His results showed increased damage for higher pressures. In a separate study Rosenorn explored the effects of retractor shape on regional cerebral blood flow. [31] In a later study involving humans, Rosenerrn [32] monitored the brain retraction pressure beneath self-retaining retractors. He used two pressure sensors attached to the retractor, one at the tip and one in the centre. Rosenorn found that the tip pressure was higher than the pressure at the centre of the retractor in most cases. He also noted a characteristic shape to the recordings which included a sharp decrease in pressure in the first four minutes and a gradual decrease thereafter. He calculated regional cerebral perfusion pressure (rCPP) as half the mean arterial blood pressure (MABP) minus the brain retractor pressure (BRP) and studied this parameter in terms of time applied. Five out of six patients whose rCPP had dropped below 10 mmHg for more than six minutes developed infarctions in the area of retractor application. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 17 Chapter 2: Background Two patients exhibited neurological deficit three months post-operative. His findings were in agreement with other studies on ischemic damage in brain cells. Rosenerrn and Diemer [33] studied the influence of intermittent versus continuous brain retraction pressure on regional cerebral blood flow and neuropathology in the rat. Lead weights were used to apply the pressure. They found less brain damage when intermittent pressure of 40 mmHg with an application time of less than seven minutes and an interval of one minute was used than when continuous pressure of 30-40 mmHg was used for periods of 10 minutes. They also found that regional cerebral blood flow is restored within one minute of releasing the retractor pressure. Yokoh [34] performed an earlier experimental study on dogs in which intermittent pressure was compared to constant pressure. A strain guage at the base of the retractor was used to give an indication of pressure and was calibrated with weights hung at the retractor tip. The actual pressure applied to the brain would depend on the area of application and force distribution, which makes the quantitative results reported questionable However, the results showed that both morphological and electrophysiological damage occurred at significantly higher forces when the force was intermittently applied. The intermittent force was applied for ten minutes and released for five. Rosenorn and Diemer's later results described above showed a critical period of seven minutes for the pressures they used. It is difficult to compare the two studies because they involved different animals with different blood pressures and different methods for applying pressure to the brain. The important result from both is that intermittent pressure can be applied at higher levels without causing damage to the brain. It is clear that further clinical studies are required to investigate the use of intermittent pressure application to decrease the probability of neurological damage. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Owpter 2: Background 18 Hongo [35] used strain-gauge pressure transducers mounted on the tip of brain retractors to measure retraction pressures in dogs and in humans. The monitoring system was set to alarm if a pre-set pressure was exceeded for a pre-set duration. Hongo measured a decrease in retraction pressure with time and with repeated retraction of the same area. The significance of these studies is that tissue damage occurs in the brain at very low applied pressures. If intermittent pressure is applied, somewhat higher pressures are tolerated. It appears that the significant parameters are: 1) the difference between the blood pressure in the brain and the retraction pressure, which indicates that the applied pressure may prevent the proper circulation of blood when the applied pressure approaches or exceeds the blood pressure in the brain; and 2) the duration of pressure application, which indicates that tissue may recover from temporary effects of excessive retraction pressure. Although many researchers have studied the effects of retraction pressure on brain tissue and have developed methods to measure the pressure and correlate it with tissue injury, there is no report in the literature of using retraction pressure data to control the position of a retractor in order to reduce the retraction pressure or maintain it within safe limits. The automated retraction systems described in this thesis have this novel capability. Further, the systems developed can maintain the retraction pressure within pre-set limits, can maintain the retractor position within limits, and can release the retraction pressure intermittently to a pre-set level. 2.5 Methods of Monitoring Retraction Pressure This section presents a review of the literature and the research undertaken to determine whether a commercially available sensor could be identified for monitoring retraction pressure. It was determined that a suitable sensor would meet the following general requirements. It must be: 1) sufficiently thin, i.e. 2 mm, and flexible, i.e. able to conform to a radius of curvature of Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 19 4 cm, so that it could be fitted to a variety of retractors, and could measure retraction pressure without significandy disturbing the tissue/retractor interface; 2) sufficientiy accurate ( +/- 5%) for measuring retraction pressure within the dynamic range of retraction pressures encountered in surgery; 3) sufficiently small, i.e. sensor area less than (1.5 cm)2, such that mounting multiple sensors on one retractor would be possible for measuring the retraction pressure at multiple sites to provide information on spatial distribution of pressure under the retractor; 4) constructed of materials which were intrinsically safe for contact with biological tissue, and sterilizable for using in the surgical site; and, 5) either inexpensive or reusable for integration into a low-cost automated retraction system. 2.5.1 Sensors for brain retraction studies One of the earliest reports of measuring retractor pressure is by Donaghy [36]. The pressure beneath a brain retractor was measured using a pressure switch enclosed in a silastic pouch. The silastic pouch was connected by tubing to a reservoir containing fluid. The level of the fluid was adjusted using an infusion pump that was controlled by a relay connected to the pressure switch. The level of fluid determined the pressure in the pouch. A manometer monitored the pressure in the resevoir and could be read to determine the retraction pressure. This method was clever, but the amount of hardware required would make it cumbersome for monitoring pressure at several sites. In addition, the continual cycling of the pump would result in artifact in the waveform, as well as errors in measurement. In the above-mentioned studies, Rosenorn used two different methods. He used lead weights for animal experiments [31,33] and intracranial pressure transducers (Ladd Research Industries, Burlington, VT, USA) during clinical studies [33]. In one study, weights of different application area were used, while in another, weights of constant application area and differing length were employed. Although this was a satisfactory method for applying various pressures Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 20 to the brain tissue, it is not applicable to monitoring retraction pressure. The Ladd transducer system's high cost ($1500) is a deterrent for its use in a cost-effective retraction pressure monitoring system. Laha [28] and Albin [29] used a custom-made strain gauge retractor for their studies. Very little information is given regarding the position of the strain gauge on the retractor. A drawback of this technique is that the gauge is difficult to calibrate because it measures the stress in the material below the strain gauge rather than the pressure applied to the retractor. The measured stress is a functionof the pressure distribution and area of application. A very high localized pressure and a widely distributed lower pressure could give similar readings, and yet produce a significantly different physiologic effect. Yoko [34] and Hongo [35] also used strain gauges. For the intermittent pressure study, the gauge was mounted on the retractor base, and was calibrated by hanging a weight from the retractor tip. In the clinical studies, the gauge was located on the retractor tip. Calibration details are not given, although the author reports quantitative results. 2.5.2 Other physiologic transducers The medical product literature was reviewed to determine whether a suitable physiologic sensor was available for monitoring retraction pressure. There are no commercially available transducers for measuring the pressure beneath a retractor. However, physiologic sensors intended for other applications, but which might be suitable for this application, were identified and evaluated. One such transducer was an intracranial pressure, or ICP, transducer manufactured by Camino Laboratories (San Diego, CA) and designed specifically for placement between the skull Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 21 Chapter 2: Background and dura to measure the intracranial pressure in patients undergoing or recovering from neurological surgery. This fiber-optic based transducer meets some of the requirements, but has a high cost ($170), is single-use and requires a special interface. Also identified was an ICP transducer manufactured by MMI-Gaeltec (Hackensack, NJ), and based on a silicon strain gauge. It was initially thought to be more suitable for measuring the pressure on a retractor due to its low-profile, planar shape. Its capability to be re-zeroed and re-calibrated while being used was seen as an advantage. Its high cost ($1685) and the limited range of its linear input/output characteristic were the main deterrents for its use. The same company manufactures specialized transducers for other physiologic applications in the form of arrays of pressure sensors on thin catheters. Although these might allow the measurement of the pressure at multiple points beneath a retractor, these sensors were prohibitively expensive for implementing a cost-effective retraction pressure monitoring system. 2.5.3 Tactile sensors for robotic systems There is a huge body of literature in the field of tactile sensors for robots. Various approaches to tactile sensing were examined as part of the search for a suitable sensor for measuring retraction pressure. The emphasis in the past research has been on mimicking the properties of the human skin. Much of this work has been driven by Harmon's summary of the ideal characteristics of a tactile sensor for robots [37]. These characteristics include a spatial resolution of 0.1", a response time of 1 ms, a threshold sensitivity of 1 g, and a capacity of 1000 g, low hysteresis, and a robust construction for use in harsh environments. Although not all these requirements are desirable in a retraction pressure sensor, sensors which aim to meet these requirements may also be suitable for this application. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 22 Rebman and Morris [38], Shneiter and Sheridan [39], and Begej [40] all describe tactile sensors based on the modulation of light by the mechanical deformation of an elastomer. Major disadvantages of optical systems are the bulkiness and complexity, as well as a lack of robustness in the sensor. The use of piezoelectric materials has been explored by Dario et al [41] and Nakamura et al [42] for use in sensors for robot grippers. These materials produce a current when subjected to mechanical stress; however, the response is transient and useful only for contact forces and slip. Consequently, this type of sensor would not be useful for continuous monitoring of the pressure on a retractor. Other approaches include the development of capacitative tactile sensors by Gelaky and Karam [43], and, more recently, the use of the magnetic properties of materials by Luo et al [44], and Checinski and Agraval [45]. Suitable sensors based on these principles were not found in a review of the available product literature. The final approach described here is the use of piezoresistive materials to make sensors or sensor arrays. The advantage of this approach is the inherent low profile, low cost and ease of implementation. Several tactile sensors based on the piezoresistive properties of conductive silicone rubbers have been developed by the MIT Artificial Intelligence Lab [46]. Van Brussel and Belien [47], developed a high-resolution tactile sensor for a robot gripper using a pressure-sensitive rubber. The sensor is small and low-profile, but researchers report hysteresis in the output as well as some mechanical creep that led to a drift in the output. Holmbom et al [48] report the development of two different piezoresistive devices using a similar material and note the drawbacks of non-linearity and hysteresis. An inexpensive, commercially available device based on the piezoresistive properties of a conductive elastomer Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 23 is the force sensing resistor™ or FSR™ (Interlink, Santa Barbara, CA, USA), a very low-profile device with output resistance that decreases logarithmically with increased applied pressure. [49] Tise [50] used the FSR™ device in a tactile sensor implementation for a gripper. The FSR was also used by Maalij et al [51] in a rehabilitative application to monitor the pressure distribution under the foot. The positive qualities of the FSR make it a potential candidate for the development of a retraction pressure sensor. Development of a sensor based on the modification of an FSR is described in Chapter 5. 2.5.4 Other industrial sensors Two miniature industrial sensors were identified as being potentially suitable for measuring the retraction pressure. One was a very thin foil strain gauge transducer manufactured by Kyowa (Tokyo, Japan) and available from Atelco (Calgary, Alberta). This transducer has been used in a biomedical application in orthodontics to measure the pressure exerted by dentures on the gums of subjects [52]. These sensors are small enough to be incorporated into a thin flexible sensor with multiple sensing sites, but there are concerns regarding their capability to withstand repeated sterilization and re-use which would be required due to their relatively high cost ($200/transducer). There is also a concern with identifying a suitable technique for calibrating the sensors after such sterilization. A second industrial sensor identified was the 4000 series tactile sensors available from IC Sensors Ltd. (Milpitas, CA, USA). These are very small, low-profile, silicon-based force sensors designed for tactile feedback for automated control systems. Potential problems with mounting them in a configuration that would allow the measurement of pressure and the calibration of the sensors, as well as concerns related to sterilizing and re-using them, may make them unsuitable for use in the automated retraction systems described in this thesis. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 2: Background 24 2.6 Summary A review of the state of the art of surgical robots revealed a very limited spectrum of applications and somewhat divergent views on safety issues. As part of the development of an advanced surgical robot for retraction, a comprehensive identification of the major safety issues and the development of specific approaches to these issues would be a valuable contribution to the embryonic field of surgical robotics. From a review of the medical literature on retractor-related injuries, it is clear that a large variety of injuries occur, but that the mechanism of injury is largely unknown. Research in neurosurgery has established a relationship between retraction pressure and the outcome of neurosurgical procedures. Even very low pressures, in physiologic terms, can prevent adequate blood circulation in the brain tissue and can lead to ischemia and neurological damage. It appears to be the difference between the retraction pressure and the blood pressure that is important, therefore a drop in blood pressure could have the same deleterious effect as an increase in the retraction pressure. The duration of the applied pressure is an important factor. Intermittent pressure appears to be able to be applied at a higher level than continuous pressure, without resulting in tissue damage. To reduce the risk of injury from retraction pressure in the brain as well as in other parts of the body, the position of the retractor could be adjusted to mamtain the pressure within safe limits. This could involve adjusting the position to maintain the pressure below a given threshold, or periodically releasing the pressure to allow the circulation of blood. There are no reports in the literature of this having been done previously. The automated retraction systems developed in this thesis accomplish this during abdominal surgery by monitoring retraction pressure and adjusting the position of the retractor. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 2: Background 25 To provide advanced capabilities for the robot to perform the task, a physiologic sensor to measure retraction pressure is required. There are no commercially available sensors for measuring retraction pressure. Researchers have used a variety of methods to measure brain retraction pressure. The most common method is the strain gauge although pressure transducers based on other principles have also been used. Some commercially available specialized sensors designed for other applications may be appropriate for measuring retraction pressure, but, for reasons given, are inappropriate for use in a cost-effective automated retraction system. A large body of literature exists on tactile sensors for robotic applications. Although the emphasis of much of this research is on mimicking the capabilities of human skin, and not on the quantitative measurement of pressures, some robotic tactile sensors may be suitable for measuring retractor pressure. Specifically, the very thin, flexible, low-cost FSR™ holds promise, although modification for use in a surgical setting would be required. The development of retraction pressure sensors is described in Chapter 5. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 26 3 CONCEPTUAL OVERVIEW OF AUTOMATED RETRACTION SYSTEMS 3.1 Introduction The work described in this thesis includes the complete development of two automated retraction systems for evaluation in the surgical setting. The development of two different systems was undertaken so that a pre-robotic but automated approach could be compared to an advanced robotic approach. In one system, an automated effector with a small, one-degree-of-freedom range of motion was developed for operating from a pre-robotic positioning platform to allow fine positioning control and to provide automated control of retractor position and retraction pressure. The second system involved the development of a multiple-degree-of-freedom advanced surgical robot to provide both gross and fine robotic positioning of the retractor and automated modes of operation. This chapter presents a unified conceptual overview of the structure and function of the main elements of both systems. 3.2 Elements of Automated Retraction Systems A conceptual block diagram of an advanced surgical robot is shown in Figure 3.1. Each block shown represents a necessary component of an advanced surgical robot system. An automated pre-robotic retraction system would require some, but not necessarily all, of the components shown. The blocks have been divided into the following functional groupings: patient interface, execution controller, task planner, feature extractor, pre-processor, input/output processor and operator interface. The safety sensor and safety device are shared by the patient interface and operator interface. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 3: Conceptual Overview of Automated Retraction Systems 27 r POSITION SENSOR PATIENT INTERFACE r L EFFECTOR (RETRACTOR) PHYSIOLOGICAL SENSORS SAFETY SENSOR SAFETY DEVICE OPERATOR INTERFACE I _) T J L EXECUTION CONTROLLER PRE-PROCESSOR TASK PLANNER FEATURE EXTRACTOR I/O PROCESSOR OPERATOR CONTROLS ALARMS I STATUS DISPLAY Figure 3.1 Conceptual block diagram of an automated retraction system The patient interface depicted in Figure 3.1 includes an effector that makes physical contact with the patient and brings about the desired physiologic effect. In both of the automated retraction systems developed as part of the thesis research, the effector would include a retractor that holds tissue in a position that gives a surgeon the required surgical exposure to perform a procedure. The patient interface also includes a physiologic sensor that monitors the physiologic effect, and provides the required physiologic feedback for controlling the effector to achieve the desired physiologic effect. In the automated retraction systems, the primary physiologic sensor would be a retraction pressure sensor. As shown in Figure 3.1, the patient interface also includes a safety sensor and a safety device to reduce the hazards associated with using a robotic or automated device in close proximity to or direct contact with the patient. In automated Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 3: Conceptual Overview of Automated Retraction Systems 28 retraction systems, the safety sensor would include the retraction pressure sensor to allow the detection of hazardous levels of retraction pressure, and position sensors to detect unsafe motion of the effector in the surgical site. In the automated retraction systems described in this thesis, the safety device would include software limitations and hardware end-stops to limit motion of the effector to a safe range. The execution controller shown in Figure 3.1 includes the hardware that controls the motion of the effector, and the interface that converts digital control signals from the task planner to the signals required to drive the actuators that move the effector. In the advanced surgical robot developed during the thesis research, the execution controller would include the robot controller. In the automated pre-robotic retraction system would consist of the controller and actuators of the automated effector. The task planner shown in Figure 3.1 receives inputs from the physiologic sensor, the safety sensor and the operator interface, and based on pre-programmed rules, determines the required outputs to be sent to the execution controller and the alarms and status display. In the automated retraction systems, the task planner would include the rule-based control algorithms developed in software, and the hardware that receives the inputs and produces the outputs. The I/O processor is the hardware that interfaces the control switches and the alarm and display signals of the operator interface with the task planner. Figure 3.1 also shows apre-processor which provides the electronic interface between the sensors and the feature extractor and performs filtering and amplification of the sensor signals. The feature extractor processes the data received from the physiologic sensor and safety sensors and identifies the relevant information in the data to pass on to the task planner. In automated retraction systems, the feature extractor would include a software routine that Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 3: Conceptual Overview of Automated Retraction Systems 29 processes the data from the retraction pressure sensor to remove artifacts and provide the task planner with retraction pressure information for use in the control of the retractor. The operator interface includes a means for the operator to control the robot in order to change its automated mode of operation, to input control parameters, to over-ride the automated motion, and to move the effector to a new position. The operator interface also includes an alarm and status display. In automated retraction systems this would include alarms to indicate hazardous retraction pressures and motion end-stops, as well as status information on the level of retraction pressure and the position of the retractor. 3.3 Summary The system elements described in this chapter were realized in two automated retraction systems: 1) an automated effector operating from a pre-robotic positioning platform; and 2) an advanced surgical robot. The development and evaluation of these two systems allowed safety issues, operator interface issues, costs, and operating room ergonomic issues related to the use of automated devices and advanced robots in the surgical setting to be examined. In addition, the evaluation of the two approaches allowed them to be compared to each other to determine the feasibility of each approach and the advantages and limitations of each approach in providing automated retraction in abdominal surgery. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 30 4 DEVELOPMENT OF AN APPROACH TO SAFETY FOR ADVANCED SURGICAL ROBOTS Asimov's First Law of Robotics: "A robot may not injure a human being, or, through inaction, allow a human being to come to harm. "[53] 4.1 Chapter Overview This chapter describes the need for a comprehensive safety standard for surgical robots. The critical issues that such a standard would have to address were identified and are presented in this chapter. Also presented is the development of a general approach to safety for surgical robots. Finally, this chapter describes how the specific issues related to the use of an advanced surgical robot for retraction were addressed in the work described in this thesis. A thorough review of the existing literature on surgical robotics, conducted as part of the thesis research, indicated that a comprehensive identification and assessment of the safety issues related to the use of robots in surgical applications has not previously been undertaken and is required for the safe introduction of robotics into the surgical setting. More specifically, the development of an advanced surgical robot for retraction as part of this thesis required that safety issues related to its use in the surgical setting be addressed. Section 4.2 identifies the need for a safety standard for surgical robots based on the current state of the field of surgical robotics. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 31 In Section 4.3 the significant safety issues related to the use of a robot in the surgical setting are identified, using the ANSI safety standard for industrial robots and literature on safety in industrial robots as a starting point. Some important differences between surgical robots and industrial robots are identified, and a set of general requirements for the safe design and use of surgical robots is presented. Section 4.4 addresses the specific issues related to developing an advanced surgical robot for retraction. Three crucial and specific issues related to the use of a surgical robot for automated retraction are identified and addressed. These are the risk of programmed motion of the robot causing patient injury, the risk of unplanned motion causing injury to patient or staff, and the requirement that the surgeon be able to interrupt and modify robot motion at any time. 4.2 The Need for a Safety Standard for Surgical Robots 4.2.1 Prevention of accidents No published safety standard exists for surgical robotic systems. As the number of surgical robot applications and their complexity increases, the risk of accidents will also increase unless some comprehensive safety planning is done. The most common practice in surgical and rehabilitative robotics is to use an industrial-grade robot, which may or may not meet the ANSI standard for industrial robots [1], and to incorporate a number of additional modifications or additions with the intention of improving the safety of the system [54] [55] [6]. A danger with this practice is that, depending on the researchers' approach, the safety features added to the system may not be adequate. Davies et al [56] feel that industrial robots are unsuited to surgical tasks because of the safety issues. They used a Puma 560 for a feasibility study in using a robot for prostate surgery but state that modifying an industrial robot to achieve the required safety level would be too complex and expensive. They stated that they intend instead Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 32 to design a specialized robot with sufficient hardware and software interlocks. In using robots for a surgical task the potential for a serious accident is great, since in the surgical setting people and robots would be in close contact. It would take only one serious accident resulting from the use of a robot in a surgical procedure to stall progress in the field. Steps must be taken in the form of comprehensive safety planning, to reduce the probability of a serious accident in surgical robotics. Comprehensive safety planning would be nothing less than the development of a far-reaching safety standard that would cover the design, manufacturing, installation, use and maintenance of robots intended for surgical applications. 4.2.2 Improving the design process A second compelling reason for developing a comprehensive safety standard is to make the design and implementation of surgical robots easier. Currently each group developing a robotic system for a surgical application must approach the issue of safety from a very rudimentary level. In some cases it may be left as an afterthought because the technical challenge of meeting the functional requirements is more appealing and easier than tackling the less well-defined area of robot safety. As in the case with other published standards, safety standard for surgical robots would not replace the design process but would give it a starting point and would provide designers with a framework of general safety requirements for surgical robotics. It could also provide more structure to the task of determining what application-specific safety features are required. Overall, it would result in a more efficient design process and a safer product. 4.2.3 Advancing consumer acceptance As indicated earlier in this thesis, surgical staff require meaningful assurance that surgical robotic systems are safe prior to acceptance and use, but have neither the qualifications to Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 33 understand the pertinent safety issues, nor the motivation to evaluate specific systems. Thus, surgical staff require assurance from an "objective" source that such systems are safe. Most other commercially available products must meet certain regulatory standards. Although most medical robotics projects have not reached the stage where consumer requirements are an issue, rehabilitative robotics is one notable exception. Some groups working in this area are marketing their rehabilitative robotic systems [57], Other types of medical robots will follow. In Canada, electrically powered medical devices must meet CSA C22.2 No. 125 M1986 [58] as a minimum requirement. Some types of devices with special characteristics must also meet standards that specifically apply to them. For example, anaesthetic machines must meet safety standards that are specific to them because they are life-sustaining devices in which a relatively simple fault could lead to serious injury or death. Surgical robots are also a special class of device with unique hazards. Unlike most other types of devices, a robot is capable of moving in an autonomous manner. The robot moves in accordance to a program and possibly external variables. The people around the robot do not generally have direct control over its motions, nor do they necessarily have knowledge about its actions before they occur. Since motion can lead to injury, surgical robots have special requirements in terms of ensuring safety. The development of a published safety standard to which designers, manufacturers and consumers could refer would be a major step towards the acceptance of advanced surgical robot systems. 4.2.4 Reducing product liability concerns No precedents have been set yet in the area of product liability in surgical robotics. In the field of medical technology, as in other fields, the liability for product failure causing injury or death depends on the circumstances around the failure. Generally, if a device failure can be shown to have caused an injury, if the device was being used within the manufacturer's stated specifications, and if the manufacturer's stated requirements for maintenance, testing and usage have been met, the manufacturer may have product liability. Alternatively, if the product was Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 34 being used outside the manufacturer's specifications, or used in an unintended manner or for an unintended purpose, or if the device had not been tested, maintained, or used in accordance with the manufacturer's specifications, labelling and markings, some legal liability for the injury may lie with the user. As noted previously in the thesis, it is common practice at present to use industrial robots for surgical applications. For example, Unimation Ltd. will sell its industrial robots to groups for medical applications but has indicated that safety issues are the responsibility of the user [59]. Accordingly, a device-related incident during a surgical procedure may challenge such a disclaimer and raise significant questions of legal liability for both manufacturers and users. A safety standard for surgical robotics would allow manufacturers to develop surgical robots within recognized safety guidelines, and would help to reduce risks and clarify issues involving the use of industrial robots and other robots in surgical applications. 4.2.5 The development of a surgical robot safety standard As with the development of any useful consensus standard, development of a surgical robot safety standard would require input from researchers and developers, manufacturer, users or potential users, standards experts, and visionaries. The development process would include an analysis of the various applications of robots to surgical tasks, a prediction of areas of future application, a review of the hazards associated with the application's, an analysis of the safety features required to reduce these hazards, and the preparation of industry safety standards establishing protocols for the design, manufacturing, installation, use and maintenance of these safety features. As in the development of any standard, the developers would have to balance the need for rigorous requirements to meet the objectives for developing the standard, with the need for standards that can be implemented in a cost-effective manner and which will not constrain the use of the device to such a degree that it will no longer be useful. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 35 The development of a comprehensive safety standard is well beyond the scope of this thesis. However, what is presented in the next section of the thesis is an identification and synthesis of the main safety issues related to surgical robots, and the development of general safety requirements for a surgical robot. 4.3 A Synthesis of Safety Issues 4.3.1 The approach The approach taken here is to begin with an examination of the safety issues and standards related to industrial robotics. Significant differences between the requirements of industrial robots and those of surgical robotics are identified and are used to determine the safety issues related to surgical robots. A second important potential source of information is the work done in the area of rehabilitative robotics. Although no safety standard exists in this field, some work has been done to define the safety issues [60]. Once the issues have been determined, general safety requirements that address these safety issues can be developed for surgical robots. In Section 4.4, specific safety features for an advanced surgical robot for retraction will be identified. 4.3.2 Industrial robotics Robots have been used in the manufacturing industry for 15 - 20 years, and over this time safety issues have been addressed by several groups. Most notable in North America is the Robotics Industries Association. One of the roles of this organization has been to establish industry standards in cooperation with the American National Standards Institute. A 1985 Robot Safety Seminar resulted in several publications on various aspects of robot safety [61], as well as a proposed standard which was accepted by ANSI in 1986. [1] Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 4: Development of an Approach to Safety for Advanced Surgical Robots 36 The ANSI safety standard is divided into six main sections: 1) construction; 2) installation; 3) safeguarding; 4) care (inspection and maintenance); 5) testing and start-up; and 6) training. The emphasis in the standard is on the reduction of hazards associated with moving parts, component malfunctions, sources of energy, dissipation of stored energy and EMI. Important underlying concepts throughout the standard include the zones around the robot and the types of people working with the robot. The zones include an "operating work envelope", the work space actually used by the robot performing its programmed motions, and a "restricted work envelope", the space that the robot is physically able to occupy regardless of its programming, i.e. the limited space that will not be exceeded in the "event of a reasonably foreseeable failure of the robot". The types of people referred to and differentiated between are operators, teachers, maintenance personnel and unauthorized personnel. A large emphasis is placed on safeguarding against possible injury through the use of warning devices, barriers and restrictions. Unauthorized personnel are kept out of the restricted work envelope at all times by a variety of devices. Appropriate safeguards prevent robot operators from being in the restricted work envelope during robot motion by appropriate safeguards. Teachers (who teach or program the robot) and maintenance personnel who must work on a powered-up robot carry a pendant to control the robot in manual mode while they are in the work space and all other controls are locked out. The main issues related to safety in industrial robotics as emphasized in the ANSI standard are: 1) The risk of programmed motion injuring a person; and, 2) The risk of a malfunction causing motion that injures a person despite safeguards. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 37 The standard addresses hazards that could cause these problems, and attempts to reduce them. The standard also stresses the importance of evaluating the level of hazard presented by a particular application and applying the appropriate means and degree of safeguarding. Ziskovsky provides a framework for determining required safeguarding procedures for special applications [61]. His procedure involves evaluating the robot in three modes of operation: 1) programming/teaching; 2) normal/automatic; and 3) maintenance; taking into account normal and aberrant conditions and examining the robot's work envelope and proposed application in light of the types and sources of hazards. The framework he provides is a modified version of one originally proposed by Barrett, Bell and Hodson [62], It is important to realize that surgical robots are not simply a special appUcation of industrial robotics that can be dealt with in this manner. The ANSI standard excludes personal robots, telerobots, rehabilitative robots and some other classes. It doesn't specifically exclude surgical robots, but leaves the list open-ended. An examination of the main differences between surgical and industrial robots will demonstrate clearly that surgical robots cannot be addressed by this ANSI standard because the safety issues related to surgical robots are unique. 4.3.3 Differences between surgical robotics and industrial robotics The most obvious differences between surgical and industrial robots is the type of material which the robot manipulates and the environment in which the robot works. The surgical robot will most likely handle living tissue directly or handle tools that contact living systems directly. The industrial robot handles inanimate objects such as parts of machines and tools for performing tasks on inanimate objects such as automobiles. The surgical robot works in an operating room where the emphasis is on patient treatment and care, and where there is often a large number of people and an unpredictable degree of order and structure. The industrial robot works in a highly organized environment with a minimum number of people and where the emphasis is on assembling, building or processing objects. Because of these Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 38 differences, the ANSI standard for industrial robots, which stresses maintaining a barrier between all people and the working robot, cannot apply to the surgical setting. It can, however, be used as a starting point for exploring the safety issues related to surgical robotics. 4.3.4 Safety issues in surgical robotics The safety issues raised by the ANSI standard for industrial robots and the corresponding requirements to reduce the hazards associated with them are a starting point for addressing the safety issues in surgical robotics. Some of the issues and sources of hazard are the same. Some requirements to reduce the hazards can be borrowed from industrial robotics. Other issues are not applicable because of the differences in the nature of the material manipulated and the type of environment in which the robot operates. In addition, some new safety issues arise. 4.3.5 Hazards and requirements 4.3.5.1 Hazards related to programmed motion of the robot Programmed motion of the robot is a potential hazard for both the operating room staff and the patient. Part of the robot not intended to make contact with a person could inadvertently cause injury from impact, pinching or trapping between the robot and a fixed structure. Alternatively, if the effector is a knife, drill bit or other instrument designed to cause a physiological or mechanical change in tissue, it may inadvertently cause damage to a staff member who enters its programmed path. Injury to the patient could result from impact, pinching or trapping as well. In addition, a correctly functioning robot which receives commands based on incorrect parameter settings could cause injury from programmed motion of the end-effector. For example, injury could result from applying excessive force to the patient or performing inappropriate cuts if the received positioning information is incorrect. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 39 In industrial robot safety, the emphasis is on using safeguarding methods to keep people outside the workspace of the robot. These methods may be applied to reduce the risk of injury to people in the vicinity whose tasks do not require close contact with or proximity to the robot. However, other people, including the patient and some of the surgical staff, may have to be in close proximity to or direct contact with the robot in order to carry out the procedure. In this case, establishment of safeguards would not be the entire solution. Therefore, other safety measures must be used as well. Requirements: 1) Safeguarding techniques such as those used with industrial robots should be employed where possible to prevent people from entering the robot workspace while it is in motion. Proximity sensors and physical barriers can be used. For many applications a relatively small range of motion is required (for example, micro-surgery, preparation of hip for implant, stereotactic positioning, brain retraction) and motion can be restricted by the designer, using hardware and software end-stops, to the area around the end-effector thus reducing the chance of impact, trapping or pinching remote from the surgical site. [1] 2) An emergency stop button is required at the lowest level of the hardware to immediately stop all motion of the robot. The stop button must be accessible to the surgeon as well as to other staff in the operating room. Two stop buttons wired in series may be required, one with a sterile surface and one without. Alternatively, a method of sterile draping could be devised to allow access from the surgical field and the non-sterile areas of the operating room. [10] Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 40 3) A warning tone and lamp must be on whenever the robot is moving to alert staff to the hazards associated with motion. 4) Pressure, force or torque sensors are required in cases where the robot makes contact with the patient to monitor the force being applied by the robot to the patient. Acceptable force limits will have to be set by the user to provide the necessary treatment while ensuring safety. [12] 5) Operating room staff require education and instruction to alert them to the sometimes unpredictable behaviour of robots. The injury to staff hazard is partly addressed by Ziskovsky's R3 factor, "Robots Require Respect" [63]. In particular, staff may have to avoid the potentially dangerous effector of the robot since safeguards in this area may be difficult. If the end-effector can be changed or adjusted by staff, an appropriate lock-out must prevent motion. 6) Continual monitoring of the robot actions by the surgeon is required during procedures where injury could result from the programmed motion, for example during cutting procedures. One method of assuring vigilance is by using a normally-open switch that has to be held on during the task. 4.3.5.2 Hazards related to malfunctions causing unprogrammed motion Unprogrammed motion can result from a variety of failures in the robot system. It can have the same hazardous effects as that resulting from programmed motion. As well, it can be sudden and extreme (runaway condition) with potentially serious consequences. It is useful to group the failures by their source within the system and to address the safety requirements to these groupings: Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 41 1) Control System Faults: This group includes errors resulting from the software (such as run-time errors), computer or microprocessor failure, and communication faults from poor connections or electrical interference. 2) Electronic Component Failure: This grouping includes failure of single components in the electrical system that can lead to hazardous motion. 3) Mechanical Failure: This grouping includes failure of single components in the mechanical systems that can lead to hazardous motion. 4) Sensor Failure: Faults in sensors providing feedback to the control system such as position, force, acceleration, torque, as well as physiological variables, may lead to undesirable motion causing injury. Requirements: 1) Software must be reliable and withstand thorough testing of all reasonable conditions. It must meet the general requirements for any other medical device. A watch-dog CPU may be used to monitor the function of the primary CPU to detect microprocessor or computer errors. Some groups have used this safety feature in their design [57]. Proper grounding and RFI shielding must be used to reduce interference problems. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 42 2,3) A failure mode effects analysis (FMEA) [64] should be performed during the design phase to determine what changes are required during the design. The robot system must be designed so that a single component failure of an electrical or mechanical part will not lead to a hazardous result. 4) Redundant sensing is required where sensor data is used to control the motion of the robot. As well, the control system should correlate information from different sensors to determine if they are functioning properly. [10] In addition, the following requirements would reduce hazards resulting from unprogrammed motion: 5) End stops and barriers must stringently limit the range of the motion of the robot to that required by the application. The end stops and physical barriers must be able to withstand more force than the robot can apply under maximum force conditions. Limit switches should be used to stop the robot before it reaches the physical end stop or barrier. 6) The speed capability of the robot must be hardware-limited. The industrial limit for situations where a worker is in the robot's workspace is 250 mm/s. [12] 7) The force capability of the robot must be hardware-limited to an acceptable level to reduce the probability of serious injury while allowing the necessary task to be performed. [12] Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 43 4.3.5.3 Special hazards related to the surgical setting The living system that the surgical robot manipulates is often in a compromised state. The system may be very sensitive to actions taken by the surgeon and the robot. For example, the target organ or tissue may be very delicate, or it may require very time-sensitive action. For this reason, not only would an undesirable action by the robot have negative consequences, but a delay caused by inaction could also cause harm. If a malfunction of the robot, or time constraints imposed by its use, or simply preference of the surgeon dictate that the use of the robot should be discontinued and the surgeon should continue manually, the facility must exist for aborting the robot's program and removing the robot from the surgical site. This requirement has been acknowledged by some research groups including Kwoh [6] and Paul [10]. Requirement: 1) The surgeon must have the ability to abort the robotic procedure, remove the robot from the surgical site and continue the procedure manually. [10] 2) The surgeon must have the facility to over-ride other safety features such as software end-stops to complete a procedure. A switch that must be activated continuously may allow this while assuring it is consciously done. 4.4 Approaches to Safety for an Advanced Surgical Robot for Retraction This section describes the specific approaches taken in the development of an advanced surgical robot for retraction to meet the main safety requirements identified in Section 4.3.5, the hazards resulting from programmed motion and from unplanned motion, and the special hazards related to the surgical setting. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 44 4.4.1 Hazards related to programmed robot motion Hazards related to programmed motion of the advanced surgical robot for retraction include the risk of injury to tissue from excessive retraction and from inappropriate motion of the retractor, for example the extension of the retractor into the surgical site in such a way that it exerts excessive force on tissue such as organs. To reduce this hazard in the development of an advanced surgical robot, the safety requirements listed previously in Section 4.3.5.1 would be met as follows. 1) A physiologic sensor would be used to detect hazardously high retraction pressures. 2) An emergency stop button that interrupts the power to the robot controller would be implemented. 3) Safe-guarding techniques to prevent or reduce robot motion outside a designated region would be developed. These take the form of physical end-stops placed around the retractor shaft that restrict motion of the shaft outside the window defined by the end-stops, and software end-stops that are programmable and could be taught to the robot system for a particular patient appUcation. These approaches are further described in Chapter 6. 4) The surgeon would be introduced to the device prior to using it in the operating room to gain famitiarity with its function and motion. 5) Continual monitoring of the robot by the surgeon would be required during gross movements of the robot. To ensure this, the surgeon would be required to maintain Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 45 pressure on a hand pendant switch while the robot was moving to a new position or while it was being taught the software end-stops. A warning tone and lamp were not developed for the advanced surgical robot because the operating room is replete with noise and lamps. Also, motion of the robot is slow and obvious, and the motion was monitored continually during clinical use, so warning devices would serve little purpose in this application. 4.4.2 Hazards related to unplanned robot motion Hazards related to unplanned motion include the risk of injury to staff or patients that could result from unprogrammed motion caused by device malfunction. To reduce these hazards in the development of a surgical robot for retraction, it was decided that the requirements listed in 4.3.5.2 would be met in the following manner. 1) The robot would be properly grounded to avoid potential problems with interference from other operating room devices. 2) A failure modes effects analysis (FMEA) would be performed on the initial design for the automated effector for the pre-robotic retraction system, and any improvements to the design identified by the FMEA would be made to address safety concerns. These are described in more detail in Chapter 6. 3) To guard against potential problems arising from sensor errors or malfunctions, a new sensor with multiple sensing sites would be developed to provide sensor redundancy. This is described in Chapter 5. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 46 4) The safe-guarding technique of physical end-stops described in Section 4.3.5.1 would be employed to guard against unplanned robot motion. This could be accomplished in part by the novel use of a pre-robotic device to position the physical endstops. This is further described in Chapter 6. 5) The emergency stop button described above would be implemented to reduce the hazards related to unplanned robot motion. 6) The speed and force of the robot would be limited by the choice of industrial robot to a maximum of 400 mm/s and 100 N. The speed would be further limited by the operating configuration of the robot and software parameters to 50 mm/s. 4.4.3 Special hazards related to the surgical setting Special hazards related to the surgical setting and described in Section 4.3.5.3. would be reduced by implementing the requirements previously identified: 1) The surgeon would have the ability to abort the robotic procedure, remove the robot from the surgical site and continue the procedure manually; and 2) The surgeon would have the ability to over-ride other safety features in order to complete a procedure, while maintaining pressure on a normally-open switch to assure it is consciously done. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 4: Development of an Approach to Safety for Advanced Surgical Robots 47 4.5 Summary The need for a safety standard for surgical robots has been identified in this chapter. The main safety issues that such a standard would be required to address relating to the use of robots in the surgical setting have been identified and discussed. A general approach to addressing these issues in the design and use of advanced surgical robots has been developed in the form of a set of design requirements that will reduce the hazards related to motion and special hazards related to the surgical setting. These design requirements were discussed in relation to the development of an advanced surgical robot for retraction. Specific safety features are described which would reduce hazards to a level which would permit the prototype systems to be evaluated in the operating room. The work described in this chapter was an important step in the development of an advanced surgical robot because it enabled critical safety issues related to the use of robots in the surgical setting to be identified, prioritized and addressed. This allowed the prototype retraction systems that were developed to be demonstrated and evaluated in the operating room. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 48 5 DEVELOPMENT OF A NOVEL RETRACTION PRESSURE SENSOR AND MODEL OF RETRACTION PRESSURES 5.1 Chapter Overview This chapter describes the development of a novel physiologic sensor to provide physiologic feedback required for safe, accurate and reliable control of an advanced surgical robot. In the development of a robotic system for surgical retraction, the physiologic parameter of primary interest is the pressure exerted on the tissue by the retractor. This chapter presents the development and evaluation of a thin, flexible and inexpensive sensor suitable for use in the sterile environment of the surgical site, to estimate the pressure exerted on tissue by a device such as a retractor near a pre-determined location relative to the retractor. Preliminary studies, in which a very simple sensor is used to establish an initial model of the magnitude of retraction pressures, are presented. The development and evaluation of a sensor based on the modification of a low-cost, thin, flexible, industrial force sensor is then described. Results are presented which indicate that such sensors would be unsuitable for measuring retraction pressures. The subsequent development of novel sensors based on a physiologic pressure transducer is described. The specifications of the resultant sensors, and the results of the initial evaluations, indicate that the sensors are sufficiently robust, reusable, thin and flexible for integration into retractors to obtain sensorized retractors for use in automated retraction systems. Results of the evaluation of the novel retraction pressure sensors in abdominal surgery procedures are presented. These results permitted the development of a model of the magnitude, Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 49 spatial variation, and dynamic range of retraction pressures which can be expected in abdominal surgery. This model was used to improve the design of the novel sensor, and was also important in the subsequent development of control algorithms for the advanced surgical robot developed as part of this thesis. The results of the study also provided data on the hazardous effects of excessive retraction on tissue. 5.2 Requirements for a Retraction Pressure Sensor The most important requirements for the retraction pressure sensor were that it be: 1) sufficiently thin, i.e. 2 mm, and flexible, i.e. able to conform to a radius of curvature of 4 cm, so that it could be fitted to a variety of retractors, and could measure retraction pressure without significantly disturbing the tissue/retractor interface; 2) sufficiently accurate ( +/- 5%) for measuring retraction pressure within the dynamic range of retraction pressures encountered in surgery; 3) sufficiently small, i.e. sensor area less than (1.5 cm)2, such that mounting multiple sensors on one retractor would be possible for measuring the retraction pressure at multiple sites to provide information on spatial distribution of pressure under the retractor; 4) constructed of materials which were intrinsically safe for contact with biological tissue, and sterilizable for using in the surgical site; and 5) either inexpensive or reusable for integration into a low-cost automated retraction system. 5.3 Development of an Initial Model of the Magnitude of Retraction Pressures The magnitude and dynamic range of retraction pressures were unknown because no reports of retraction pressure other than for brain tissue were found in the literature. However, it was estimated that pressures above 500 mmHg (10 psi) were unlikely, based on the maximum force comfortably held by hand (40 lb), and a typical retractor area (4 in2). A preh'minary study of retraction pressures was undertaken to establish a typical pressure range. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 50 5.3.1 Development of a preUminary sensor For the preliminary study, a small bladder (4 cm x 1 cm x 1 mm) filled with saline, shown in Figure 5.1, was used to measure pressure under a retractor. The bladder was developed from an existing Cobe blood-warming set (Cobe Laboratories, Lakewood, CO, USA). The end of a flat tube of soft polyvinyl chloride from this device was heat-sealed. The other end had a rigid tube sealed into it as part of the original device. The pressure of the saline was recorded using a standard pressure monitoring kit (Gould Inc, Cleveland, OH, USA) and a physiological monitor (Hewlett Packard, Andover, MA, USA). The primary issue associated with the use of such a sensor in surgery was ensuring sterility. In order to ensure that the saline in the bladder was sterile, to remove the risk of non-sterile saline entering the wound in case of bladder leakage, the device was gamma sterilized for 24 hours (2.5 MRad)1. The device was calibrated in a sensor-calibrating device previously developed [65] and in a calibration chamber developed as part of this thesis for evaluating pressure sensors. Appendix I contains more detail on this calibration chamber and gives the calibration curves obtained for the fluid-filled bladder sensor. 5.3.2 Preliminary trial of the fluid-filled bladder sensor For a preliminary surgical trial of the sensor described in Section 5.3.1, hip replacement surgery was chosen for three reasons. First, it is a very common procedure where there is no quantitative information about retraction pressure and associated hazards; therefore, the results would be of general interest and scheduling of cases would be easy. Secondly, exposure is of great importance because access to the entire hip region is required, thus there is a need for 1 As recommended by the Pharmacy Department at Vncouver General Hospital. Gamma sterilization was performed at the Department of Physics at the B.C. Cancer Agency, Sterility was confirmed for each batch of sensors by the Department of Microbiology, Vancouver General Hospital. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 51 extensive retraction. Finally, the procedure involves much vigorous activity in the surgical site, creating a wide variation of demands on the retractors. The preliminary surgical trials involved mounting the sensor on a hip retractor, part of the Charnley retraction device, during total hip replacement surgery at Vancouver General Hospital performed by Dr. Chris Beauchamp and Dr. Clive Duncan. The Charnley retractor and sensor are shown in Figure 5.1. Set-up involved priming a standard blood pressure monitoring kit and connecting it to the sensor on the retractor, mounting the transducer at the retractor level, connecting the transducer to a physiologic monitor, and calibrating the system. Figure 5.1 Charnley retractor and fluid-filled bladder sensor Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 52 The results from two trials are summarized in the Table I. The average baseline pressure shown in Table I indicates the pressure measured while the surgeon and assistant were not manipulating the surgical site. During periods of surgical activity, the measured pressure varied widely, as expected. For example, during deliberate dislocation of the hip, a large force is typically applied to the retractor, and pressures of 300 mmHg and 250 mmHg were measured as shown in Table I. Other activities that produced large pressure variations included hammering retraction pins into the pelvis, reaming out the acetabular socket, and removing the femur head. The large peaks in pressure were generally short in duration (less than a minute in most cases). It was noted that the pressures encountered experimenally were within the range initially predicted. Table I Retraction pressures measured during hip surgery Trial no. Duration (minutes) Average pressure (mmHg) Peak pressure (mmHg) Trial 1 45 80 300 Trial 2 30 100 250 While the fluid-filled bladder sensor met requirements 1,2,4 and 5 given in Section 5.2, multiple site sensing would have been difficult to realize because of the requirement for a fluid path and transducer for each sensing element. Also, set-up time and expense would have been relatively high. In addition to these major limitations, sterilization was inconvenient because there was no gamma sterilizer on the Vancouver General Hospital site. For these reasons, an alternative sensor that met all five of requirements listed in Section 5.2 was sought. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 53 5.4 Development of a Sensor Based on the Force Sensing Resistor™ The force sensing resistor or FSR™ (Interlink, Santa Barbara, CA,USA) described in Section 2.3.3 was evaluated as a possible basis for a retraction pressure sensor. It met the physical requirement of being thin and flexible, was relatively inexpensive ($1 for a stock device), and has an output resistance that varies with the force exerted on its surface. The device is composed of a layer of conductive polmer, an air gap connected to atmospheric pressure, and another layer with a pattern of interdigitated fingers. An unfolded FSR™ sensor is shown in Figure 5.2. Figure 5.2 Force Sensing Resistor™ As force is exerted pushing the two conductive layers together, the resistance between the two sets of fingers is reduced. The input/output relationship is linear on a logarithmic scale. Evaluation in the calibration chamber described in Section 5.3.1 revealed that although this sensor exhibited the specified input/output relationship for momentary contact, the output resistance drifted downwards with time. This drift is shown in Figure 5.3. Such drift made the device unsuitable for a retraction pressure sensor, which was required to provide a continuous accurate representation of retraction pressure for safe, accurate and reliable control of automated retraction systems. C O N D U C T I VE P O L Y M E R M Y L A R B A C < I N G O U T P U T Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 54 FSR Sensors Constant vs. intermittent act ivat ion 3.6 3.4 in E 3.2 o w 3 a> o an 2.6 2.4 2.2 • • A • * Intermittent activation E] Constant activation " Q Q , 1 1 r 1 1 1 -a 1 6 8 10 Time (minutes) 12 Constant Intermittent 14 16 Figure 5.3 Intermittent vs. constant pressure application One method developed and investigated to surmount this problem was to place the FSR in a sealed air bladder. The pressure in the sealed bladder was mamtained at a higher level than the externally applied pressure and was released intermittently to obtain FSR readings. The bladder pressure was applied to the outside and inside of the FSR, therefore it did not force the layers together. When the bladder was open to atmosphere, the FSR operated in its normal mode and the external pressure forced the layers together. If the bladder pressure was released for very short periods of time and maintained high at other times, very little downward drift of the output was observed. Figure 5.3 shows the results of this method. While the output for constant applied pressure decreased over time, the measurements made intermittently remained relatively constant. Although the results demonstrated the feasibility of this approach, and the sensor developed using this technology met requirements 1,3 and 5 in Section 5.2, there remained concerns with the accuracy and reliability of these sensors. Safety was also an issue due to the the serious hazards associated with risk of leakage of high pressure air or an alternative gas into the surgical site. Finally there were concerns with the capability of such sensors to be sterilized and reused. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 55 5.5 Development of a Novel Retraction Pressure Sensor Based on a Physiologic Pressure Transducer Development of a novel retraction pressure sensor based on technology employed in physiologic pressure transducers was undertaken in order to overcome the problems encountered in sensors initially developed and evaluated, and to meet all of the major requirements for a retraction pressure sensor described in Section 5.2. Physiologic pressure transducers commonly used to measure blood pressure were chosen on the basis that the range of pressures which can be measured by such transducers is similar to that found in preliminary trials described in Section 5.3.1. Several disposable silicon strain gauge transducers for blood pressure monitoring were evaluated in terms of size, ease of implementation into a retractor, and robustness. The Cobe CVX III transducer (Cobe Laboratories, Lakewood, CO, USA) was selected based on its small size (9 mm x 9 mm x 2 mm), modular design allowing easy removal of the transducing element from its plastic housing, and solder pads for attaching wiring. The specified linear operating range of the transducer is given as 0 to 300 mmHg, although testing revealed a linear range that extended well beyond this. Preliminary studies in which a transducer was embedded in a layer of silastic confirmed the feasibility of this approach, a design was finalized and a fabrication protocol was established. 5.5.1 Design and fabrication of the retraction pressure sensor The general design and construction of the sensor which was developed is shown in Figure 5.4. Sensor fabrication began with soldering wires to the conductive pads of the transducer element removed from the Cobe CVX in transducer. Since this was not the method used in the original manufacture of the transducer, there was concern that the performance of the transducing element would be compromised due to the applied heat; however, the method Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 56 Figure 5.4 Design and construction of retraction pressure sensor of manufacture proved satisfactory. Temperatures of 150° are used during the original chip manufacture [66]. This is above the solder melting temperature of 130°. Care was taken to avoid excessive heating of the transducing element. The transducing element and attached cable were then embedded in two layers of medical grade silastic sheeting (Dow Corning Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 57 Canada, Toronto, Canada) whose combined thickness of 0.1" matched that of the transducing element. This combination was adhered to a third layer with medical adhesive, silicone type A (Dow Corning). The third layer had a narrow channel to accomodate a 6" teflon tube (OD 0.08"), leading to a vent at the back of the transducing element, as shown in Figure 5.4. Access to this vent later permitted calibration of the completed sensor through the application of a vacuum of known magnitude to the back of the transducer. A small amount of coupling gel (Dow Corning #527) was placed directly over the transducing element and 0.01" top and bottom layers of silastic sheeting were adhered in place using a thin layer of adhesive. Care was taken to apply the adhesive to the entire top layer except directly over the coupling gel. The sensor was completed by tapering and sealing the edges, adhering a patch of re-inforced silastic sheeting over the transducing element, and attaching a standard luer-lock pneumatic connector (Cobe Laboratories, Lakewood, CO, USA) to the vent tube. The completed sensor was 2 mm in thickness and sufficiently flexible to conform to a surface with a radius of curvature of 4 cm. It could be adhered to a retractor without significantly altering the profile of the retractor; thus, significant displacement of tissue at the tissue/retractor interface was prevented. 5.5.2 Technical evaluation of retraction pressure sensor The input/output performance curve of the retraction pressure sensor which was developed, is shown in Figure 5.5, and the frequency response curve of the sensor is shown in Figure 5.6. The test configuration and method for establishing these characteristics are given in Appendix I. The sensor was found to be linear within the +1 mmHg error in the measurement method. The frequency response was detenriined to be linear to 10 Hz with a slight resonance between 25 and 30 Hz. Note that Figure 5.6 also shows the frequency response for a similar transducing element in the Cobe CVX IU transducer. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 58 Retraction Sensor Input/Output Characteristic o -l 1 1 1 1 1 0 50 100 150 200 250 300 Pressure Applied (mmHg) Figure 5.5 Input-Output Characteristic of retraction pressure sensor Retraction Sensor Frequency Response 1.6 -• 1.4-1.2-1 " I 0.8 -o 0.6 -0.4-0.2-0 ~t 1 1—i—r-r i in 1 1—i—i IIIII r 1—i—r rim 1 1—i—IT i 11 0.01 0.1 1 10 100 Frequency • Transducer s— After fabrication Figure 5.6 Frequency response of retraction pressure sensor Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 59 Having established the suitability of the retraction pressure sensor in the laboratory setting, a surgical study was undertaken to evaluate it in the surgical setting, and to establish a model of retraction pressures for subsequent development of control algorithms for an advanced surgical robot for automated retraction. A third objective in this clinical study was to perform a preliminary examination of retraction pressure measurements and tissue effects in abdominal surgery. 5.5.3 Evaluation of the retraction pressure sensor in abdominal surgery The retraction pressure sensor developed as described in Section 5.5.1, was initially evaluated in surgery by attaching it to a Rochard retractor (shown in Figure 5.7) which is a type of mechanical retractor commonly used in major abdominal surgery. The Rochard retractor is Figure 5.7 Retractor commonly used in major abdominal surgery Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 270 mm. 10V.-Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 60 a "self-retaining" retractor which provides retraction for the exposure of the liver, spleen, stomach and upper gastro-intestinal tract. The Rochard retractor is held by screws to a frame that is clamped to the operating room table. Large forces are used to retract the chest wall from the surgical site; hence, this was considered to be a good choice for evaluating the newly developed retraction pressure sensor while at the same time investigating the magnitude, spatial distribution and dynamic range of retraction pressures commonly encountered in abdominal surgery. Six surgical trials were conducted at Vancouver General Hospital in cooperation with Dr. Charles Scudamore during a variety of abdominal surgical procedures. 5.5.3.1 Method of sensor evaluation in surgical trials The retraction pressure sensor was attached to a Rochard retractor prior to gas sterilization using silastic medical adhesive (Dow Corning Canada Ltd, Toronto). A 5V DC excitation signal was used and the transducer output was filtered, with an upper cut-off frequency of 10 Hz, amplified through a Hewlett Packard bioelectric amplifier, model HP 8811 A, and recorded on a Hewlett Packard chart recorder, model HP 7754, (Hewlett Packard, Andover, MA, USA). The amplified signal was also sampled through an analog-to-digital channel on a Data Translation (Marlboro, MA, USA) DT-2801 board mounted in a DataTrain DPC 1000 computer and stored to disk following appropriate scaling. Before inserting the retractor into the surgical site, the transducer system was zeroed and calibrated at 100 mmHg by applying -100 mmHg to the back of the transducer through the pneumatic connection on the sensor using a Utah Veri-cal transducer calibration device (Utah Medical Products, Midvale, UT,USA). Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 61 Figure 5.8 shows the Rochard retractor with attached sensor being used for abdominal surgery. Continuous pressure recordings were taken throughout the use of the retractor. The patient's blood pressure (systolic, diastolic and mean) was recorded at five-minute intervals. In all cases blood pressure was determined by non-invasive technique (oscillometric cuff). At the end of each case, tissue biopsies were taken at the site of retraction, and at a non-retracted site to obtain an experimental control. Tissue samples were examined by a pathologist at Vancouver General Hospital for abnormalities. For data analysis, the retraction pressure and blood pressure were plotted and the data was divided into periods in which tissue pressure: 1) exceeded systolic blood pressure; 2) was between systolic and diastolic; and 3) was below diastolic pressure. This was done because it was speculated that, as in the case of brain retraction pressure discussed in Chapter 2, the relationship between retraction pressure and blood pressure may be important in terms of tissue effects. Retraction pressure data obtained during a 60-minute period is shown in Figure 5.9. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 62 Figure 5 . 8 Evaluation of retraction pressure sensor in abdominal surgery Retraction Pressure, Abdominal Surgery 0 - 6 0 minutes 700 600-_ 500-I 400 E 7 3 0 ° - ' S 200-n °- i oo H 0 -100 Calibration check 10 20 30 40 Time (minutes) 50 60 Figure 5 . 9 Retraction pressure during abdominal surgery procedure Development and Evaluation of an Automated Pre-robotic System and an Advanced Surgical Robot for Retraction October 271990 Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 5.5.3.2 Clinical results of retraction pressure study 63 The results of retraction pressure monitoring from the six clinical trials are summarized in Table II. The results of the hospital lab tissue analysis are given in Table UJ. The results from Table n show the great variation in retraction pressures measured, as well as a large variation in the durations of the procedures. In some cases the retraction pressure remained Table II Summary of retraction pressures during abdominal surgery Time (minutes) Total maximum period above systolic Procedure below diastolic between above systolic time Trial 1 small bowel resection sigmoid resection 15 87 7 109 5 Trial 2 pancreato-duodenectomy 240 55 5 300 5 Trial 3 segmental liver resection gastrectomy cholecyst-ectomy 71 147 62 280 45 Trial 4 duodenal diverti-culum 67 44 37 148 18 TrialS pancreatic-jejunostomy duodenal sphinctero-plasty 0 5 180 185 110 Trial 6 distal pancreat-ectomy hemi-colectomy gastrectomy splenectomy 0 102 10 112 5 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 64 Table HI Hospital lab assessment of retracted and control tissue samples Control Retracted tissue Trial 1 Occasional DNA staining. No vascular thrombi. No evidence of vascular congestion. Focal evidence of crush with release of DNA. Occasional blood vessel occluded by platelet thrombi Trial 2 Some DNA staining. Quite extensive focal hemorrhage and vascular congestion. No vascular thrombi. Quite large amounts of DNA staining around vessels. Vascular congestion. Extensive acute stromal hemorrhage. Trial 3 unavailable unavailable Trial 4 Some DNA leakage. Considerable DNA staining. Vascular congestion. TrialS Some DNA staining. Quite marked DNA staining. Trial 6 No abnormalities. No abnormalities. below diastolic blood pressure during most of the case, while in others it was above systolic blood pressure for long periods of time. Figure 5.10 gives a graphical representation of these results. The results of the hospital lab tissue analysis indicate that, in most cases, the tissue damage, as indicated by DNA leakage, vascular congestion and thrombi, detected by common laboratory techniques, was significantly greater in the retracted tissue than in the tissue controls [67]. Samples of retracted tissue and control tissue are shown in Figures 5.11 and 5.12. The purple staining in the retracted tissue sample is the result of damaged cell nuclei. The cells and blood vessels in the control tissue are intact. In an experimental sample population Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 65 Retraction Pressures, Abdominal Surgery Summary of pressure ranges 300 250 200 CO Patient 1 B Patient 2 Patient 4 Patient 5 5J Patient 3 Patient 6 Figure 5.10 Histogram of retraction pressure ranges during abdominal surgeries of this size, no conclusive results regarding the relationship between the magnitude of retractor pressure and tissue abnormalities, can be obtained. Thus, while the general results are significant, further surgical trials are warranted to test the hypothesis that increased retraction pressure results in increased tissue injury. The method described above is adequate for such trials, assuming proper calibration of the apparatus for measuring retraction pressure, accurate representation of the retraction pressure in the data collected, and proper collection and labelling of tissue samples. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures Figure 5.11 Retracted tissue magnified 100X Figure 5.12 Control tissue magnified 100X Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 67 5.6 Development of a Model of Retraction Pressures From the retraction pressure data obtained during the surgical evaluation of the retraction pressure sensor, a model of the magnitude, spatial variations, and dynamic range of retraction pressures was established. Pressure range The sample of retraction pressure measurements shown in Figure 5.9 represents the highest retraction pressures recorded during the study. Typically, the measured retraction pressures were below 300 mmHg, as predicted by the previous model. Spatial variations in retraction pressure A large variation in pressure was noted both between trials and within each trial. Figure 5.9 shows the sudden decrease in retraction pressure at 55 minutes. During this change, the retractor did not move significantly in a direction perpendicular to the tissue being retracted, but did undergo a small movement parallel to the retracted tissue. This sudden change in pressure with the small lateral movement of the retractor, as well as the very high pressures recorded prior to this shift, suggest that the sensor may have been situated directly over a bony protuberance just prior to pressure drop. If the sensor rests on such a bony structure, most of the force will be transmitted through a small contact area resulting in a very high measured pressure. Conversely, if the sensor lies over an area of softer tissue, such as fat or muscle, which conforms more readily to the surface of the retractor, the force will be more evenly distributed. Dynamic range of retraction pressure Figure 5.9 shows large variations in retraction pressure with time. The retraction pressure depends to a large extent on the exposure required by the surgeon for performing the Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 68 procedure. There are two main sources of pressure variations during surgical retraction: 1) variations due to motion of the retractor from deliberate adjustments to modify the surgical exposure and from pressure induced by the surgeon inadvertently making contact with the retractor; and 2) variations resulting from the movement of physiologic structures within the surgical site. All of these variations will be termed motion artifact. 1) Motion artifact from movement of the retractor Figure 5.13 shows a typical sample of pressure data acquired during positioning of the retractor in the surgical site. The data was acquired using the hardware described in Section 5.5.3.1, filtered with a 30 Hz low-pass cut-off frequency and sampled at 100 Hz. Large pressure variations are obtained. Figure 5.14 gives the power spectrum obtained for the data in 5.13. The power spectrum was obtained using the data acquisition and analysis software package, Asystant™ (Asyst Software Technologies, Inc. Rochester, NY, USA), using the following definition: P(k) = | F(k) | 2 where F(k) is the Fast Fourier spectrum of a data set of n points: F(k)=£f(j)e -(k=0,l. . .n-1) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 69 Figure 5.13 Retraction pressure while positioning retractor E 10 Z S Si •*» o « Pi M C. 0 3 0 h 90B -, 700-300-,300 . 100-, 100 .300 500 .7 00 Frequency (Hz) 900 E 0 Figure 5.14 Power spectrum of data in Figure 5.13 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 70 Integration of the data in the power spectrum indicated that 99% of the signal energy lies below 0.5 Hz. Since these data represent cases where the pressure variations were pronounced, the expected dynamic range for retraction pressures during this type of retraction in typical abdominal surgery procedures is 0 - 0.5 Hz. 2) Motion artifact from movement of physiologic structures Pressure variations were recorded when gross movements in the surgical site occurred. For example, the removal of a large liver tumour in one case resulted in a large decrease in the retraction pressure. The placement of other retractors in the surgical site generally increased the retraction pressure measured at the first retractor. In general, the pressure variations arising from sporadic motion of physiologic structures were not distinguishable from those arising from motion of the retractor in the site. In some cases, a pulsatile component in the pressure waveform was noted. In about 50% of the cases, the pulsatile component was greater than 10% of the baseline pressure; therefore, this source of motion artifact was significant. The pulsatile variations are especially prominent in Figure 5.9, where this component is greater in magnitude for higher retraction pressures, reaching a maximum of 80 mmHg. Observations in the operating room revealed that this pulsatile variation was synchronized with the mechanical ventilator used to support the patient's breathing. Figure 5.15 shows more detail, and also shows the variation of the pulsatile component as the ventilator rate was changed. The case-to-case variation in ventilator rate was 7 to 10 bpm (breaths per minute), representing power in the frequency spectrum from 0.1 to 0.12 Hz. This is within the frequency range found for other motion artifact, and supports the finding that the significant power in the signal is found below 0.5 Hz for retraction pressures during abdominal surgery procedures. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 71 Motion Artifact in Retraction Pressure Pressure var iat ion with ventilator rate 200 41 41.5 42 42.5 43 43.5 44 44.5 45 45.5 4S Time (minutes) bpm = breaths per minute Figure 5.15 Ventilator effect on retractor pressure 5.7 Improvements to Retraction Pressure Sensors The model of retraction pressures developed above indicated that spatial variations in retractor pressure exist which depend on physiologic structures being retracted, as well as the orientation of the retractor with respect to the abdominal wall. A sensor with multiple sensing sites would provide more information on the pressure distribution on the retractor. For example it would allow the detection of areas of high pressure, as well as an improved estimation of the average pressure. A sensor with multiple sites was fabricated following the same procedure described for the single sensor, with three transducing elements mounted in a linear array. This new multiple-element sensor represented a significant improvement over the single sensor because it provided information on the spatial distribution of retraction pressures for use in control algorithms for automated retraction. In addition, the incorporation into an automated Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 72 retraction system, such as an advanced surgical robot would potentially improve system reliability by providing sensor redundancy. The improved sensor which incorporated three transducing elements in a linear array is shown in Figure 5.16 and Figure 5.17. Figure 5.16 also shows the single-element sensor and a miniature sensor developed, using a variation on the fabrication procedure, for small-sized retractors such as brain retractors. 5.8 Summary Following preliminary studies and the initial development of two types of sensors which were found to have characteristics unsuitable for measuring retraction pressures, a novel retraction pressure sensor, well suited for measuring retraction pressures, was developed and evaluated in the laboratory and in a surgical study. These evaluations demonstrated that the sensor met the requirements given in Section 5.2 for a retraction pressure sensor: 1) it is sufficiently thin and flexible so that it may be fitted to a variety of retractors to measure retraction pressure without significantly disturbing the tissue/retractor interface; 2) it is sufficiently accurate and reliable for measuring retraction pressure within the dynamic range encountered in surgery; 3) it is sufficiently small so that mounting multiple sensing sites on one retractor is possible to measure the spatial distribution of pressure under the retractor; 4) it is safe and sterilizable for use in the surgical site; and 5) it is inexpensive and reusable for integration into a low-cost automated retraction system. The surgical study undertaken as part of the evaluation resulted in a preliminary study of the relationship between retraction pressure and tissue effects. A laboratory analysis of Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 73 < 0 ) S i n g l e s e n s o r M u l t i p l e s e n s o r Figure 5.16 Three sensor configurations B r a i n s e n s o r Calibration connector Retractor Multiple-element sensor Figure 5.17 Multiple element sensor attached to retractor Development and Evaluation of an Automated Pre-robotic System and an Advanced Surgical Robot for Retraction October 271990 Chapter 5: Development of a Novel Retraction Pressure Sensor and Model of Retraction Pressures 74 tissues from beneath the retractor, conducted as part of the surgical study, demonstrated that retracted tissue showed significantly more damage than non-retracted tissue. Further studies are warranted to test the hypothesis that increased retraction pressure results in increased tissue injury. The surgical study also permitted the development of a model of the magnitude, spatial variations, and dynamic range of retraction pressures. This model was subsequently used in the development of an improved sensor having multiple measurement sites. This multiple-element sensor represents a significant improvement because it can provide information on the spatial distribution of pressure on the retractor, and can also improve system reliability and safety by providing sensor redundancy. Chapter 6 describes how the retraction pressure model was subsequently used in the development of control algorithms for automated retraction systems. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 75 6 DEVELOPMENT AM) INTEGRATION OF TWO AUTOMATED RETRACTION SYSTEMS 6.1 Chapter Overview In this chapter, the development of two automated retraction systems is presented. The first system is an automated effector for operating from a pre-robotic positioning platform. The second is an advanced surgical robot based on the adaptation of an industrial robot. The development presented in this chapter incorporated the conceptual framework described in Chapter 3, the safety approaches described in Chapter 4, and the novel retraction pressure sensor and model of retraction pressures described in Chapter 5. As part of the development, functional specifications for an operator interface for a surgical robot were developed, and a versatile operator interface system was identified, adapted and integrated into the system. Control algorithms to allow three modes of operation were developed. These modes of operation were: 1) Maintain the position of the retractor within a pre-set position window; 2) Maintain the retraction pressure within a pre-set pressure window; and 3) Maintain the position of the retractor within a pre-set position window and periodically release the retraction pressure to a pre-determined level for a pre-determined period of time. The above components were integrated in two distinct systems: the automated effector for use with a pre-robotic platform; and the advanced surgical robot. A summary of a comparison of the structures and functional capabilities of the two systems concludes the chapter. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 76 6.2 Functional Requirements for Automated Retraction Systems The functional requirements for an automated retraction system were determined as described in Chapters 2,4 and 5 and are summarized below: 1) It must allow the safe, reliable positioning of a retractor within a surgical site to provide the surgeon with the required exposure to perform the planned surgical procedures. 2) It must permit the three modes of operation: i) Maintain the position of the retractor within a pre-set position window; ii) Maintain the retraction pressure within a pre-set pressure window; and, iii) Maintain the position of the retractor within a pre-set position window and periodically release the retraction pressure to a pre-determined level for a pre-determined period of time. 3) It must permit the automated retraction modes to be changed at any time during the procedure to allow the surgeon to use the mode most suitable for a particular aspect of the procedure. 4) It must allow any automated motion, or any previously requested motion to be halted, and the retractor position to be changed, to meet the immediate requirements of the surgeon. 5) Visible and audible alarms must be used to indicate device failure or error conditions to the surgeon. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 77 6) A suitable, safe, accurate and robust retraction pressure sensor must be used to provide physiologic feedback for the safe and reliable control of the retractor in the automated modes. The sensor must provide information on the magnitude and spatial distribution of retraction pressures near pre-determined locations on the retractor. 7) It must be compatible with the sterile environment of the surgical site through the use of standard sterilization techniques to meet the sterility requirements of the hospital. 8) It must meet or exceed appropriate safety requirements for medical devices for use in surgery. 6.3 System Overviews The development of two systems to meet these functional requirements was undertaken for the purpose of comparing two approaches to automated retraction. One system developed to meet the functional specifications was an automated effector for attachment to a pre-robotic retractor positioning platform, the Robotrac™ (Andronic Devices Ltd. Vancouver, BC). The pre-robotic platform and automated effector are shown in Figure 6.1. The automated effector developed attaches to the distal end of the pre-robotic platform, and includes a retractor that connects to it, as shown. The second system which was developed was an advanced surgical robot, shown in Figure 6.2, that attaches directly to an operating room table, and performs the function of retraction without the aid of other devices or supports. The main distinction between the two systems is that the pre-robotic platform is a passive device that is manually positioned by the surgeon by activating switches to release the joints. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 78 RETRACTOR PRESSURE SENSOR ROBOT I 1 ROBOT CART, c lamps to operating room table TO POWER AND CONTROL UNIT Figure 6.2 Advanced surgical robot for retraction Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 79 The automated effector attaches to the pre-robotic platform and provides fine positioning control, after the gross positioning has been achieved manually. The advanced surgical robot is an active system which is capable of both gross and fine positioning. No manual positioning is necessary, or possible. 6.4 Signal Acquisition and Conditioning The model of retraction pressures presented in Chapter 5 was used to define the general signal acquisition and conditioning parameters for the automated retraction systems. 6.4.1 Requirements The requirements for signal acquisition and conditioning were based on the model of retraction pressures described in Chapter 5, and summarized below: 1) A signal bandwidth of 0-0.5 Hz is required; 2) Retraction pressure range of 0 - 600 mmHg and resolution of +/- 10 mmHg is required; and, 3) Motion artifact arising from transient variations in pressure due to inadvertent movement of the retractor and physiologic structures, and from the periodic pressure fluctuations from the mechanical ventilation of the patient, should be suppressed. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 80 6.4.2 Instrumentation Pre-processing of the retraction pressure signal involved low-pass filtering and amplification through a bioelectric signal amplifier (Hewlett Packard, Model HP8811A, Andover, MA, USA). The frequency response of the amplifier is shown in Appendix VI. It was found to be flat over the region of interest 0-0.5 Hz. The amplifier gain was adjusted to give an output of approximately IV for an input pressure of 100 mmHg. The analog-to-digital board (Data Translation, DT2801) was pre-set for a range of +/- 10V and had a 12-bit resolution. This allowed a range of +/- 1000 mmHg and a resolution of 0.5 mmHg. The amplified signal was sampled at 2 Hz, which was greater than the Nyquist rate determined for the spectral bandwidth of retraction pressures previously determined. Motion artifact from transient pressure variations induced by sporadic and regular movement of the retractor or physiologic structures was reduced by implementing a digital filter that averaged the data over a 10-second period. The filter is described by the equation below, where y(n) is the output, a(n) is the sampled datum, w is the window width in seconds, i.e. 10 s, and f is the sampling frequency in Hz, i.e. 2 Hz: E a(n-i> 1.0  w * f i=20 5>(n-i) 20 y ( j i ) = y(n) = Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 81 Chapter 6: Development and Integration of Two Automated Retraction Systems This signal acquisition and conditioning protocol was used in the automated retraction systems in the developments presented in this chapter. 6.5 Development of an Automated Pre-Robotic Retraction System In addition to the functional specifications for the automated retraction systems summarized in Section 6.2, Table I gives size, weight and range of motion specifications defined in part by the constraints introduced by the need to attach the device to the pre-robotic platform. Table IV Summary of additional specifications for the automated effector Characteristic Specification Range of Motion +2.5 cm Overall length 15 cm Weight 500 g Diameter 5 cm 6.5.1 Operator interface for the automated effector The requirements for the operator interface for the automated effector were determined as: 1) it must be simple and intuitive; 2) it must be resistant to inadvertent activation; 3) it must be readily accessible to the surgeon; 4) it must provide feedback on aspects of the system status, such as error conditions; and 5) it must be suitable for use in the sterile environment. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 82 Chapter 6: Development and Integration of Two Automated Retraction Systems The operator interface developed for the automated effector had two components. The component allowing control of the device was a sterilizable pendant for direct control over the position of the retractor within the range of the automated effector. The pendant had dual switches for each operation to provide redundancy and thus reduce the chance of inadvertent activation. The second component provided feedback to the surgeon in the form of a visual alarm display that was activated when the device was operating near one of its physical endstops, indicating that motion was limited to one direction, or when a sensor error had been detected, indicating that the device would not operate in an automated mode that relied on sensor feedback. This operator interface met all of the requirements defined above for the automated effector. 6.5.2 Patient interface for the automated effector 6.5.2.1 Retraction pressure sensor The single-element retraction pressure sensor developed in Chapter 5 was used to provide the physiologic feedback required for safe, accurate reliable control during automated retraction. 6.5.2.2 Safety The safety approach developed in Chapter 4 for advanced surgical robots was not relevant to the automated effector. The work envelope was restricted through the use of a passive pre-robotic platform. The limited degree of freedom and range of motion of the automated effector restricted the retractor to a safe work envelope without the need for added end-stops. Since all gross positioning was accomplished manually, under direct control of the surgeon or surgeon's assistant, there was very little danger of unplanned or programmed motion causing injury. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 83 6.5.3 Hardware for the automated effector 6.5.3.1 Remote actuation method After evaluating several alternatives for actuation in terms of the specifications, pneumatic-powered rubber actuators (Bridgestone, Tokyo, Japan) were chosen for their high strength, low cost and ready availability. One actuator, 10 inches in length and 1 inch in diameter, provided means for moving the retractor. A second actuator, 4 inches in length and 0.5 inch in diameter, provided a brake to hold the position of the retractor in the case of loss of power or failure of the main actuator. The actuators were located remotely and a steel cable transmitted the force and motion to the retractor. This greatly simplified the design of the automated effector by removing the constraints associated with the limited dimensions and weight of the effector. 6.5.3.2 Attachment to pre-robotic platform The automated effector was attached to the pre-robotic platform, and a retractor with a retraction pressure sensor was fitted into the effector. This configuration added 12 cm to the length of the pre-robotic retraction system. A photograph of the pre-robotic platform, with attached automated effector, is shown in Figure 6.3. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 84 and Evaluation of an Automated Pre-robotic System and an Advanced Surgical Robot for Retraction October 27, 1990 Chapter 6: Development and Integration of Two Automated Retraction Systems 85 6.5.3.3 Control and drive hardware for the automated effector Figure 6.4 shows the control and drive hardware for the rubber actuators. Also shown are the status sensors: one linear potentiometer that indicates the position of the retractor within its 5 cm range of motion, and the pressure sensors for monitoring the pressure in each actuator. The valves for inflating and deflating the actuators are SMC air valves (SMC Pneumatics Inc. Indianapolis, IN, USA). Normally-closed valves were selected to prevent motion of the retractor when the power was off. The control signals for the valves are obtained from a digital port on the Data Translation™ DT-2801 board in the computer. The signals from the status sensors are converted to digital data through the A to D channels on the same board. V A L V E DRIVE PNEUMATIC Figure 6.4 Automated effector drive and monitoring hardware Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 86 6.5.4 Control of the automated effector The requirements for the control system were determined to be: 1) it must allow direct control of the position of the retractor in the surgical site, within the range of motion offered by the automated retractor; 2) it must provide the three modes of automated control described in Section 6.3; and 3) it must allow calibration of the sensors. The control program was developed in Microsoft™ C. A menu structure permitted the selection of following options after calibration of the sensors: 1) Control of the retractor position using keyboard input; 2) Gross positioning of the retractor by the surgeon; 3) Control of the retractor position by the surgeon using a pendant; 4) Automated control to maintain the retractor position within a position window; 5) Automated control to maintain the retraction pressure within a pressure window; or 6) Automated control to periodically release the retraction pressure to a pre-set level. Control options 1,5 and 6 were accessed through the computer keyboard and required parameter input, while 2 and 3 were accessed by the surgeon directly. The source code for the control program is given in Appendix IV, Section A. 6.5.5 System integration The above components were integrated in the development of the automated effector shown in Figure 6.5. A complete schematic showing the electrical connections between system components is given in Appendix VII. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 87 Chapter 6: Development and Integration of Two Automated Retraction Systems F i g u r e 6.5 Automated effector for pre-robotic retraction system Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 6: Development and Integration of Two Automated Retraction Systems 88 6.5.6 Improvements to the design of the automated effector As part of the design process, a failure mode effects analysis (FMEA) was performed on the automated effector. The results are given in Appendix V. This analysis led to two modifications to the design to improve the safety of the device: 1) the use of normally closed pneumatic valves so that a failure in the power could not result in unwanted motion of the retractor; and 2) the implementation of a mechanical fuse in the system to limit the force that could be applied to the tissue in the event of a device failure resulting in full retraction of the effector. 6.5.7 Cost of automated pre-robotic retraction system The cost of an automated pre-robotic retraction system, consisting of an automated effector and a pre-robotic platform, was determined by estimating the costs of the system components. Table V gives a summary of these costs: Table V Cost of automated pre-robotic retraction system Automated effector $1 000 Computer / hardware interface $200 Computer $800 Chart recorder / amplifiers $2 000 Sensorized retractor $200 Pre-robotic platform $9 000 T O T A L : $13 200 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 89 6.6 Development of an Advanced Surgical Robot for Retraction This section presents the development of an advanced surgical robot to meet the functional requirements given in Section 6.2. 6.6.1 Operator interface for the advanced surgical robot The requirements for the operator interface for the advanced surgical robot were: 1) it must be intuitive and easy to use; 2) it must be resistant to inadvertent activation; 3) it must be readily accessible to the surgeon; 4) it must provide feedback on the system status; for example, it must indicate error conditions; and 5) it must be suitable for use in the sterile environment; 6) it should allow hands-free and eyes-free operation; The use of a previously developed operator interface, the Integrated Operator Control Interface or IOCS [68] was investigated. This device provides a versatile user interface that allows hands-free and/or eyes-free control using voice control and feedback, handswitch control and footswitch control. The IOCS is a versatile, reprogrammable device that can be used to control multiple devices in the operating room which can be controlled by external inputs as an alternative to front panel switches and knobs. The IOCS outputs are relays and were interfaced using appropriate hardware to the A/D board to allow control of the robot in the following ways: 1) For any gross movement of the robot, such as setting it to its "nest", draping, or initial position, the pendant had to be activated to enter the teach mode, and a switch had to be held during the motion to ensure that the motion was under the conscious control of the surgeon; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 6: Development and Integration of Two Automated Retraction Systems 90 2) For adjusting the position of the retractor in or near the surgical site, the angle of the retractor, elevation, horizontal position and amount of retraction could be adjusted using the hand pendant, footswitch, or voice, with audio feedback indicating what motion was occurring; and 3) During automated modes of operation, the hand pendant, footswitch, or voice could be used to over-ride the automated motion and provide more or less retraction, i.e. movement of the retractor into or out of the surgical site. Other operator interface requirements, the selection of menu options from the menus, and the input of control parameters such as the pressure thresholds for retraction pressure control modes, were met using the keyboard. The operator interface developed met all the requirements for an operator interface for an advanced surgical robot for retraction, except requirement 4. It was decided that there was no necessity for audible or visual alarms in this system, since an engineer would be monitoring the system throughout the surgical trials performed during this course of this work. 6.6.2 Patient interface for advanced surgical robot 6.6.2.1 Retraction pressure sensor The retraction pressure sensor developed in Chapter 5 was used to provide the physiologic feedback required for the safe, accurate, reliable control during automated retraction. Signal acquisition hardware and protocol were described in Section 6.4. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 91 Chapter 6: Development and Integration of Two Automated Retraction Systems 6.6.2.2 Safety The general safety approach for advanced surgical robots, which was developed as described in Chapter 4, was used in the development of specific safety characteristics for the advanced robot system. The general requirement was that the system reduce the hazards associated with both programmed motion and unplanned motion of the robot to a sufficiently low level to permit evaluation of the system in surgical procedures. 6.6.2.2.1 Reducing hazards from programmed motion of the robot The hazards from programmed motion of the robot include injury to the patient from hazardous movement of the retractor in the surgical site. As explained in Chapter 4, the risk to staff is low because of the slow speeds of the robot, the innocuous nature of the effector, and the vigilance of staff. The requirement is for a system to protect the patient from hazardous extension of the retractor into the surgical site, or excessive retraction of tissues. The hazards were reduced by teaching the advanced robot the position of the patient after the retractor had been safely positioned in the surgical site. This position was maintained in memory as a limit for safe motion, and all subsequent planned motion resulting from the automated retraction modes was compared to this position before the robot was moved. The position defined a plane in the robot's workspace below which the retractor could not move. A position of maximum retraction was also defined by moving the robot to this position and teaching the robot this position. These two limits defined a workspace that included the positions along a line between them. These limits could be redefined if retraction requirements changed. Using the hand pendant to move the retractor beyond either limit redefined it. Reducing the safe work space required re-teaching the robot. Because of the ability to easily re-define the limits, the term "variable safe work space" was adopted. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 92 6.6.2.2.2 Reducing hazards from unplanned motion of the robot The requirement was for a system to reduce the hazards to patient and staff from unplanned motion of the robot, such as in the worst case run-away condition. Physical end-stops were needed to accomplish this, and a novel approach to defining, moving and controlling these end-stops was developed. This approach involved using a pre-robotic platform to hold physical end-stops that restricted the motion of the retractor to a physical "safety window" centred on the retractor axis. With this safety window in place, motion of the retractor was limited to linear motion along the the reactor axis, which was the nature of all motion in the automated modes of operation. Any unplanned motion off this path would be greatly reduced. The advantage of this system was that it provided the required safety end-stops and also could be easily repositioned to track the robot when its position was changed to meet different retraction requirements. The "variable safe work space" is shown in Figure 6.6. PRE-ROBOTIC y DEVICE M * ^ — — PHYSICAL <S5j£ 4 END-STOPS SOFTWARE END-STOPS RETRACTOR Figure 6.6 Variable safe work space Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 93 The pre-robotic device provides a convenient way to manually re-position a physical end-stops, to reduce the hazards related to unplanned motion of the robot. A further significant improvement to this approach would be to physically couple the pre-robotic device to the surgical robot such that the safety window could be automatically re-positioned to track changes in the position of the robot, while retaining the ability to be controlled independently. 6.6.3 Hardware The Mitsubishi RM-501 robot (Mitsubishi, Tokyo, Japan) was chosen for the development of the advanced surgical robot because it provided an adequate range of motion, was sufficiendy strong for surgical retraction of the abdomen, had a robot controller that interfaced with a standard computer, and had previously been operated safely, reliably and consistently in the operating room setting. The RM-501 is a five-degree-of-freedom, DC servo-motor driven, jointed-arm robot whose configuration and joint angle ranges are shown in the Figure 6.7 and Table VI. Table VI Robot joint ranges of motion Joint Symbol Range Base 300° Shoulder 0i 100° Elbow 90° Wrist pitch 03 180° , Wrist yaw 04 360° E L B O W ^ \ U N K 2 WRIST S H O U L D E R A Q B A S E UNK 3 Figure 6.7 Advanced surgical robot degrees of freedom Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 94 The robot was controlled using a Mitsubishi Movemaster Controller (Mitsubishi, Tokyo, Japan). Commands, in the custom language of the robot, were sent to the controller over a parallel link from the computer. 6.6.4 Control of the advanced surgical robot The control system for the advanced surgical robot for retraction must satisfy the general requirements listed in Section 6.5.3, and the following additional requirements: 1) Provision for moving each joint of the robot independently to adjust the robot's position; 2) Provision for moving the robot in world coordinates in surgically useful ways (as depicted in Figure 6.8) including: • elevating the retractor, • allowing horizontal motion into and out of the surgical site, • changing the angle of the retractor axis, • providing more, or less, retraction; 3) Provision for moving the robot to its pre-set positions, a "nest" position for storage and transport, a "draping" for applying the sterile drapes in the operating room, and an "initial" position for attaching the retractor and sensor and for positioning the retractor within the surgical site (as depicted in Figure 6.9); and 4) Provision for teaching the robot the safe limits for establishing the variable safe work space. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 95 Chapter 6: Development and Integration of Two Automated Retraction Systems Figure 6.8 Degrees of freedom in world surgical coordinates DRAPING POSITION 61 = 4 0 u 0 2 =30° e 3 =20° INITIAL POSITION Figure 6.9 Pre-set positions for the advanced surgical robot Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 6: Development and Integration of Two Automated Retraction Systems 96 Control of the robot was effected by a menu structure on the computer display that provided the following options selected by keystroke: 1) Reset the robot - Sends a command to reset the robot. This must be done when an error condition occurs in the robot controller. 2) Reset and Nest the robot - Sends commands to reset and nest the robot. This must be done when the power to the robot controller is turned on, to allow the robot controller to set the zero position on its digital position encoders on each joint of the robot, and accurately determine its range of motion for each joint. 3) Move to Draping Position - Moves the robot to a position convenient for sterile draping of the robot. The robot movement requires that the teach mode be selected using the hand pendant and that the switch permitting gross motion be held on during the motion. 4) Move to Initial Position - Moves the robot to a position convenient for attaching the retractor with the retraction pressure sensor to the robot. The robot movement requires that the teach mode be selected using the hand pendant and that the switch permitting gross motion be held on during the motion. The "initial" position can be redefined using option 8. 5) Position Control Using IOCS - Permits control using the IOCS operator interface (voice, handswitch, footswitch). This allows the vertical position, horizontal position, and pitch angle of the retractor to be adjusted. It also permits linear motion of the retractor along its axis to give more or less retraction. Derivation of the kinematics for these world coordinate motions of the retractor is given in Appendix II. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 97 6) Position Control Using Keyboard - Permits the rotation of individual joints by incremental amounts to allow the robot to be positioned in any configuration within its work volume. Translation of desired joint angles to robot joint units and the ranges of each joint are given in Appendix HI. 7) Calibrate Pressure Sensors - The retraction pressure sensors are zeroed and calibrated. Calibration requires applying a known negative pressure to the calibration tube leading to the back of the transducers in the sensor. 8) Set Initial Position/Redefine Limits - Redefines the "initial" position and allows the limits for the variable safe work space to be redefined. 9) Operating Modes - Selects the operating menu. 10) Annotate Output File - Allows annotation of the output file; for example, to record events. 11) Exit Program The menu options for the "Operating modes" were: 1) Maintain Position within a Position Window - The position of the retractor is maintained within a position window. 2) Maintain Pressure within Pressure Window - The upper and lower thresholds for the pressure window are entered via the keyboard. The robot then maintains the retraction pressure within this pressure window by adjusting the linear position of the retractor in response to variations in retraction pressure. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 98 3) Periodic Release of Pressure - A maximum release pressure, cycle period and release time are entered via the keyboard. The robot releases the retractor periodically to achieve the release pressure for the specified time. 4) Return to Main Menu - Control returns to the main menu shown above. The software control flow is shown in Figures 6.10, 6.11 and 6.12. The automated control modes that use retraction pressure as a control parameter, i.e. menu options 2 and 3 from the operating menu, are based on control algorithms developed using the model of retraction pressures developed in Chapter 5. The spatial distribution of retraction pressures as detected by the multiple-site sensor permitted a choice of pressure parameters to employ for feedback. The choices provided were: 1) Sensor 1; 2) Sensor 2; 3) Sensor 3; 4) Maximum pressure; or 5) Average pressure. The retraction pressure signal, selected as the control parameter, was processed as described in Section 6.4, and the robot position was adjusted to reduce the error signal. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems o +> w 3 s .a: « 01 o 0 = •H ? O 0 o § +» •» 5i b 0i o to a. t-O 2 M o o ) LfJ S 4, L -P a. .y t ai & s r ® a. IA Figure 6.10 Flow control for advanced surgical robot Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 6: Development and Integration of Two Automated Retraction Systems 100 © s Store current position as initial position. S«t new safety work envelope. © ® A . Walt for keyboard confirmation, then s«t zero points. Volt for keyboard confimation, then set cat Factors. V e r i f y tha t cal ibration; desired Use stored calibration factors. Get keyboard string and send to output Me. T © Figure 6.11 Flow control cont'd Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 101 O w e * f o r KB input. C a l c u l a t e JOUt angles Send MOVE C O T W W M I t o r o b o t © Sort* Flow oVoQr-«»v b u t s u b s t i t u t t " n t n t posi t ion ' f o r ' i n i t * © $ « n « Flo*/ d t o g r a * b u t s u b s t i t u t e 'drapr tg pos i t ion ' for* ' n e s t * Figure 6.12 Flow control cont'd 6.6.5 System integration The above components were incorporated in the development of an advanced surgical robot for retraction. Figure 6.13 shows the overall system. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 102 Figure 6.13 Advanced surgical robot for automated retraction Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Qiapter 6: Development and Integration of Two Automated Retraction Systems 103 6.6.6 Cost of an advanced surgical robot system The cost of an advanced surgical robot system for retraction was calculated by estimating the costs of the system components, and adding them. Table VII gives a summary of these costs: Table VII Cost of advanced surgical robot system RM-501 robot and controller $15 000 Computer / IOCS / robot interface $100 Computer $800 Operator control system $3 000 Chart recorder / amplifiers $2 000 Sensorized retractor $200 Pre-robotic device for safety window $9 000 T O T A L : $30 100 6.7 Comparison of Systems Table V m summarizes the physical differences between the two automated retraction systems whose development is described in this chapter. Also shown in the table are the corresponding characteristics of the Rochard retractor, a mechanical retractor used for bilateral retraction during abdominal surgical procedures. The Rochard retractor, described in Section 5.5.3, and shown in Figures 5.7 and 5.8, was included in the comparison because it is commonly used in the type of surgical procedures targetted for surgical evaluation of the systems described in this chapter. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems Table VIII Comparison of retraction systems 104 Advanced surgical robot 20-30 cm 100 N multiple Voice, hand pendant, footswitch none yes physical end-stops, "safety window" and user-settable software end-stops $30 100 Automated effector operating from pre-robotic platform , a • o 100 N one Hand pendant Visual for error conditions yes physical and software end-stops $13 200 Mechanical retractor (Rochard) not applicable > 100 N three not applicable not applicable no none $2 500 Characteristic Range of motion in automated mode Retraction force Degrees of freedom Control Alarms Retraction pressure sensor Safety features System cost (per device) Characteristic Physical characteristics Operator Interface Patient Interface System cost (per device) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 6: Development and Integration of Two Automated Retraction Systems 105 6.8 Summary Two automated retraction systems were developed. The first system was an automated effector for operating from a pre-robotic platform. The second was an advanced surgical robot based on the adaptation of a commercially available industrial robot. The development incorporated the conceptual overview of automated retraction systems presented in Chapter 3, the safety approaches developed in Chapter 4, and the novel retraction pressure sensor and model of retraction pressures developed in Chapter 5. As part of the development, a signal acquisition and processing system was developed based on the model of retraction pressures described in Chapter 5. Functional specifications for operator interfaces for each system were developed, and a versatile operator interface system was identified, adapted and integrated into the advanced surgical robot system. Safety issues and the general requirements, which were identified and developed in Chapter 4, were further developed, and resulted in the novel approach of using a pre-robotic device to hold physical end-stops that restricted the motion of the retractor to a physical "safety window". The advantage of this system was that it provided the safety end-stops required to reduce the hazards of unplanned robot motion, and also could be easily repositioned to track the robot when its position was changed to meet different retraction requirements. A further significant improvement to this approach would result from physically coupling the pre-robotic device to the surgical robot, so that the safety window could be automatically re-positioned to track changes in the position of the robot, while retaining the ability to be controlled independently. Finally, control algorithms to allow three automated modes of operation were developed. The above components were combined into two distinct systems to provide automated retraction: an automated effector that operates from a pre-robotic platform; and an advanced surgical robot for retraction. A summary of the comparison of the characteristics of the two Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 106 Chapter 6: Development and Integration of Two Automated Retraction Systems systems developed and the currently used mechanical retractor concluded the chapter. Further comparison and evaluation during surgical trials is described in Chapter 7. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 107 7 CLINICAL EVALUATION OF AUTOMATED RETRACTION SYSTEMS IN ABDOMINAL SURGERY 7.1 Chapter Overview This chapter describes the surgical trials that were undertaken to demonstrate and evaluate the automated retraction systems developed as described in Chapters 4-6. One of the primary goals of this thesis was to complete the development of prototypes of these systems such that they could be demonstrated in surgical procedures on human subjects in a hospital setting. Specific objectives were to comparatively evaluate the two systems which were developed to determine the feasibility of each approach, and to complement the technical comparison of the systems that was described in Chapter 6. The criteria employed in the comparative evaluation were: 1) surgical function, or how the device performed in terms of the functional specifications; 2) ergonomic factors including initial configuration, sterile draping and operator interface; and 3) problems encountered during the set-up and use of the system that pinpoint disadvantages associated with the approach. The chapter begins with a review of the general requirements that had to be met for performing clinical evaluations of any new medical devices in the prototype stage of their development. These requirements included obtaining the appropriate hospital approvals, assuring electrical safety, and assuring sterility. The chapter then presents the results of the clinical trials for each device. Problems encountered during each set of surgical trials are discussed. A comparison of the systems concludes the chapter. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 108 7.2 Preparation for Clinical Trials 7.2.1 Approvals for clinical trials Evaluation of a new medical device in one of the hospitals affiliated with the University of British Columbia requires two levels of approval: 1) approval from the clinical screening committee of the university; and 2) approval from the research committee of the hospital [69]. These approvals were obtained by the cooperating surgeon, Dr. Charles Scudamore, as part of a larger scale surgical evaluation of pre-robotic and robotic systems for surgery. 7.2.2 Electrical safety requirements To be approved for use in the operating room, all new devices must meet the minimum requirements set out in CSA standard C22.2 N.125 M1986, "Electromedical Devices" [70]. This regulatory standard defines the maximum allowable chassis grounding resistance and leakage currents for medical devices. The chassis grounding resistance is the resistance measured between the chassis and the ground pin on the power cord, and it should be below 0. IQ. The leakage current is the current that may flow from the chassis or a patient-applied part through the patient to ground and is measured in three configurations: normal, ungrounded (the device's ground wire is open circuit), and reverse polarity (the hot and neutral wires are reversed). Safe leakage current limits depend on the "risk class" of the medical device. The automated retraction systems are in risk class 2 since they make direct contact with the patient. The risk current limit for the patient applied part of a risk class 2 device is 100 pA at 60 Hz. Leakage current limits are based on experiments in animals to determine the minimum level of current at 60 Hz that can cause fibrillation of the heart, which can lead to death. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 109 The automated effector met these requirements because it was mounted on the pre-robotic retraction platform, Robotrac™, which is isolated from ground and is already certified as meeting the requirements for a risk class 2 device. The robot system presented some difficulty, since the IOCS (the operator interface module) had a measured leakage current of greater than 800 /xA, and the industrial robot had a leakage current that was greater than 2 mA. This meant that in the case of a fault in the grounding of the IOCS or robot, a conductive pathway to the patient, and grounding of the patient at some other point, currents that exceed the safe limits could potentially flow through the patient. To reduce the leakage currents measured during testing to acceptable levels, all components of the system requiring power were supplied by an isolation transformer that isolated the power from ground and greatly reduced the measured leakage current. The system with the isolation transformer, was subsequently tested by an independent inspector and was shown to meet the requirements of the CSA standard. 7.2.3 Requirements for ensuring sterility All medical devices or parts of devices that are in the surgical field must meet accepted hospital standards for sterility. The automated effector, pre-robotic platform, and advanced surgical robot were each draped with gas-sterilized plastic or paper drapes. The sensorized retractor, sensor cable and hand pendant were gas-sterilized. Gas sterilization involved ethylene oxide treatment in the Sterile Supply Department of Vancouver General Hospital following standard hospital procedures. The retractors and retractor connectors were steam-sterilized in the operating rooms following standard hospital procedures for devices able to withstand the heat and pressure associated with steam sterilization. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 110 7.2.4 Choice of surgical procedures Abdominal surgery was selected as the target area for the surgical evaluations of the automated retraction systems because there were on-going surgical trials of the pre-robotic platform as part of another project, and it was convenient to evaluate the automated retraction systems during these on-going evaluations. This procedure also offered the opportunity to use the devices on biological tissues that were thought to be relatively immune to retraction pressure, in comparison to delicate organs; i.e. these tissues were found to be retracted regularly with high pressures during the surgical trials of the retraction sensor, as described in Chapter 5. Dr. Charles Scudamore was the surgeon for these surgical trials. All trials were performed at Vancouver General Hospital during July through October. The Rochard retractor, shown in Figure 5.7, is used to provide bilateral retraction to expose the liver, spleen, stomach and other organs of the upper abdomen. During the evaluation of the automated effector, two pre-robotic platforms, one of which was fitted with the automated effector including sensorized retractor, were used. During evaluation of the surgical robot, a single pre-robotic platform was used to provide the opposing retraction required for bilateral retraction. Figure 7.1 Placement of retractors for bilateral retraction during abdominal surgery Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 111 Figure 7.1 Automated pre-robotic retraction system in abdominal surgery Figure 7.2 Advanced surgical robot in abdominal surgery Development and Evaluation of an Automated Pre-robotic System and an Advanced Surgical Robot for Retraction October 27, 1990 Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 112 7.3 Evaluation of the Automated Effector Four surgical evaluations were completed with the automated effector. The procedures, durations, measured retraction pressures, and control modes are summarized in Table IX. Table IX Summary of surgical trials of automated pre-robotic retraction system Trial Procedure Duration (minutes) Peak pressure (mmHg) Average pressure (mmHg) Control modes Trial 1 Liver resection 120 — — Position window. Handswitch controls. Trial 2 Liver resection 140 290 200 -Trial 3 Porto caval shunt 165 150 120 Trial 4 Liver cyst drainage. Liver resection 130 300 150 Automated modes: 1) position window. 2) pressure window 3) periodic pressure release. 7.3.1 Operating room configuration The automated effector was attached to the pre-robotic platform which was clamped to the operating room table after the induction of anaesthesia and draping, but prior to surgery. Directly prior to their use, the two pre-robotic platforms were draped with custom plastic drapes (Andronic Devices, Part no. US 425), and a sterile connector and retractor were attached to each arm. A sensorized retractor was attached to the automated effector. The retraction pressure sensor cable and a 60-inch pressure monitoring line (Cobe Laboratories, Lakewood, CO, USA) were attached to the sensor and taped to the drape. The ends of the cable and pressure line were passed out of the surgical site. The monitoring line was connected to a pneumatic calibration Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 113 device (Utah Medical Products, Midvale, UT, USA) and the cable was connected to the automated effector control box. The retraction sensor was calibrated by zeroing the system and applying -100 mmHg to the monitoring line. The automated pre-robotic retraction system, comprised of the automated effector and the Robotrac pre-robotic platform, was then used in the surgical site to retract skin, fat, muscle and connective tissue, in order to provide the required surgical exposure. Figure 7.1 shows the automated pre-robotic retraction system being used during liver surgery. 7.3.2 Evaluation of function Each mode of operation developed in Chapter 6 was evaluated. Figures 7.3 through 7.6 show samples of retractor position and retraction pressure data acquired during each mode of operation. Also shown is the filtered retraction pressure data that was used in the automated control modes. The modes of operation and pre-set parameters for each mode were: 1) Figure 7.3: Maintaining the retractor position within a desired position window: -0.05 to + 0.05 cm; 2) Figure 7.4: Fine positioning of the retractor using the automated effector; 3) Figure 7.5: Maintaining the retraction pressure within a desired pressure window: 80 to 100 mmHg; and, 4) Figure 7.6: Releasing the retraction pressure periodically to a pre-set level: 100 mmHg, every 80 seconds. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 114 Note: On the plots shown, increasing positive position relates to increasing retraction, i.e. moving the retractor away from the site, and normally results in an increase in retraction pressure. The limits for the position in the automated effector were: +2.5 cm, representing full retraction; and -2.5 cm representing full extension of the retractor. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 115 Automated Pre-Robotic Retraction System Maintaining retractor position 21 21.5 22 22.5 23 23.5 Time (minutes) o a. Figure 7.3 Automated pre-robotic retraction system - Maintain position Automated Pre-Robotic Retraction System Fine positioning 6 6.5 7 Time (minutes) o a. Figure 7.4 Automated pre-robotic retraction system - Repositioning Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 116 Automated Pre-Robotic Retraction System Maintaining retraction pressure Time (minutes) Figure 7.5 Automated pre-robotic retraction system - Maintain pressure Automated Pre-Robotic Retraction System Periodic Release of Pressure Time (minutes) Figure 7.6 Automated pre-robotic retraction system - Periodic release of pressure Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Cfiapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 111 7.3.3 Problems encountered during surgical use of the automated effector 1) The main problem encountered during the surgical use of the automated effector operating from a pre-robotic platform was a very limited range of motion which resulted in difficulties achieving the automated modes of operation, as well as a loss in functionality in the manual mode of operation. The difficulties in achieving the automated modes of operation arose from an inability to move the retractor the distance required to achieve a particular retraction pressure. This can be seen in Figure 7.5 where the desired retraction pressure window of 80 mmHg to 100 mmHg is not maintained due to the automated effector reaching its physical end-stops. The loss of functionality in the manual mode of operation was noted when the retractor would not move a sufficient distance to be practical as an alternative to repositioning the pre-robotic platform itself. One step taken to improve this problem was to release the position of the automated effector fully each time the pre-robotic platform was repositioned to give the surgeon the full range of motion of the automated effector. 2) A second problem encountered during surgical trials resulted from the limited strength of the automated effector and the pre-robotic platform. The full range of motion previously achieved with the automated effector in the laboratory setting could not be achieved during some surgical trials. In the worst case, the range of motion of the automated effector was reduced from 6 cm to 4 cm. One reason for this was that the force demanded by the retraction task exceeded the expected force. The rubber actuator produces a force output that decreases as the length of the actuator decreases [71]. For example, assuming an air supply pressure of 50 psi, the maximum achievable force for the level of contraction required to permit 5 cm of motion is about 30 lb. The forces employed during retraction in abdominal surgery exceeded the design specification of 22 lb (100 N), causing the range of motion to be less than that specified in the design. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Qiapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 118 3) A third problem encountered during surgery was with joint slippage in the Robotrac pre-robotic platform. The locking strength of the ball joints has been measured to be 12 ft-lb; however, torques greater than this occur fairly frequently during abdominal retraction. This was apparent when the retractor was grossly positioned using the Robotrac and further retraction using the automated effector produced slippage in the Robotrac joints rather than retraction in the swgical site. This slippage typically occurred when large forces were required and the Robotrac was in a "weak" geometrical configuration with a large moment arm about a joint. The problems encountered during surgical use of the automated effector are addressed in Chapter 8. 7.4 Evaluation of the Advanced Surgical Robot The advanced surgical robot was evaluated in one animal trial and two human trials. The main purpose of the animal trial was to debug the system before evaluating it on a human subject. The surgical trials which were completed with the advanced surgical robot are summarized in Table X. Table X Summary of surgical trials of advanced surgical robot Trial Procedure Duration (minutes) Peak pressure (mmHg) Average pressure (mmHg) Control modes Trial 0 Axumal trial ISO 150 — All control modes. Trial 1 Liver resection 140 190 100 Trial 2 Bile duct shunt 240 250 170 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 119 7.4.1 Operating room configuration The cart to which the robot was mounted was wheeled to the operating room table and clamped in place near the head of the table, after induction of anaesthesia and before sterile draping. Two constraints introduced during set-up were the height of the table, which had to be approximately the same as the height of the robot's cart, and the position on the table for clamping the cart, which was determined by the direction of retraction and the geometry of the robot. Once clamped in place, the patient and robot were draped using standard hospital sterile technique. The robot was moved from its "nest" position to its "draping" position to facilitate this procedure. A custom drape had previously been developed for the robot. It consisted of a sock-like, clear plastic drape that fitted over the robot and a commercially available fenestrated drape (Surgikos, #1261, Arlington, TX, USA), which was placed over the plastic drape and pulled down to the base of the robot to cover the entire cart. The robot was then moved to its "initial" position and a sterile connector and sensorized retractor were attached. The retraction pressure sensor was connected to the control system and calibrated in the same manner as described for the automated effector. The robot was then moved into position under control of the surgeon using the hand pendant to select world-frame-of-reference motions. When the retractor was in place, the position was entered at the keyboard as one of the limits to safe motion. The retractor was then positioned by the surgeon to give the required surgical exposure and this position was entered as the second limit to safe motion. Figure 7.2 shows the advanced surgical robot being used during liver surgery. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 120 7.4.2 Evaluation of function The four modes of operation described in 7.3.2 were evaluated. Sample recordings of retraction pressure measured during each of these modes of operation are shown in Figures 7.7 through 7.10. The modes of operation and pre-set parameters for each mode were: 1) Figure 7.7: Maintaining the retractor position within a desired position window: -0.05 to + 0.05 cm; 2) Figure 7.4: Repositioning the retractor using hand pendant; 3) Figure 7.5: Maintaining the retraction pressure within a desired pressure window: 165 to 175 mmHg; and, 4) Figure 7.6: Releasing the retraction pressure periodically to a pre-set level: 135 mmHg, every 45 seconds. Note: As with the plots for the automated effector, increasing positive position relates to increasing retraction, i.e. moving the retractor away from the site, and normally results in an increase in retraction pressure. The limits for the position in the advanced surgical robot depended on the initial configuration of the robot, and generally permitted 20 - 30 cm of motion. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Qiapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 121 Advanced Surgical Robot Maintaining retractor position • 170 I 165-0. 160 155 150 10 sec. avg. Position 10 8 6 4 2 0 -2 -4 46.5 47 47.5 48 48.5 49 49.5 50 50.5 51 51.5 Time (minutes) Figure 7.7 Advanced surgical robot - Maintain position Advanced Surgical Robot Manual Mode —4 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 Time (minutes) c _o 'n o a. Figure 7.8 Advanced surgical robot - Repositioning Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 122 2 0 0 190 180 170 160 150 140 130 120 110 100 Advanced Surgical Robot Maintain retraction p ressure [l (^Retraction pressure | 10 sec avg. \ / Sto/I pr«wuri control mod* \ 1 t I Position 32 3 3 3 4 35 36 37 38 39 4 0 41 Time (minutes) 8 6 4 2 0 - 2 - 4 - 6 - 8 - 1 0 « o a. Figure 7.9 Advanced surgical robot - Maintain pressure Advanced Surgical Robot Periodic Release of P r e s s u r e 42.5 43 4 3 . 5 Time (minutes) o CL Figure 7.10 Advanced surgical robot - Periodic release of pressure Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 123 7.4.3 Problems encountered during surgical use of advanced surgical robot 1) The operator interface did not permit easy positioning of the robot. The operator interface was configured so that the surgeon had to cycle through a menu to select the type of motion and then select the direction of motion. This made positioning the device tedious and slow. At times the keyboard method was used as an alternative to move specified joints to achieve the desired position. This indirect control in which the surgeons communicated their needs for positioning to the engineer, who was outside the surgical site. 2) The system required a large amount of floor area in the operating room because of the number and size of components, two carts and a stand-alone chart recorder. 3) The robot cart was clamped to the operating room table making it difficult to adjust the height or angle of the operating room table. Although this restriction did not create a problem in these cases, adjusting the table is fairly common during surgical procedures for example, during radiology. 4) Interference from the electrosurgical unit, a medical device used for cutting tissue using radio frequency energy, caused intermittent problems with the robot controller and the computer during the first surgical trial. The problem was solved by grounding the robot and controller chassis, and replacing the computer keyboard. 5) The voice feedback for the operator interface was very low in volume and could not be heard adequately by the surgeon during normal operating room conditions. The problems encountered during surgical use of the robot are addressed in Chapter 8. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Qiapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 124 7.5 Comparison of the Automated Effector and Advanced Surgical Robot Tables XI, XII and X m present a summary of a comparison between the automated pre-robotic retraction system described in Sections 6.5 and 7.3, the advanced surgical robot described in Sections 6.6 and 7.4, and a fixed retraction system, the Rochard retractor, previously described in Section 5.5.3 and shown in Figures 5.7 and 5.8. The tables also include characteristics of an "ideal" system based on the work completed in this thesis. The parameters used for comparison have been divided into those that are cost-related, use-related and safety-related, and are shown in three separate tables, Table XI, Table XII, and Table XHI respectively. The cost-related parameters include: 1) direct cost of the system; 2) operating costs per procedure; 3) time required for operating room staff to set up the system prior to use; 4) time and services required for re-processing the device between cases; 5) operating room power services required; 6) space required in the operating room; 7) space required on the table side-rail; and 8) system weight. In terms of cost-related parameters, the mechanical retractor is the favoured system, because it has the lowest direct cost, the fastest set-up time, the lowest reprocessing, and turn-around time, it dows not require power, and it requires the least amount of space in the operating room. Between the two automated retraction systems, the automated pre-robotic system is superior to the advanced surgical robot for all parameters except the number of operating room services required; the pre-robotic system requires both nitrogen and electrical power, whereas the robot requires only electrical power. The total system costs of the automated systems are an order of magnitude greater than the mechanical system. This reflects, in part, the added complexity of the automated systems, and the fact that the Rochard retractor Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery Table XI Comparison of cost-related parameters of surgical retraction systems 125 Cost-related parameter Mechanical retractor (Rochard) Automated effector operating from pre-robotic platform Advanced surgical robot "Ideal" system Total system cost based on bilateral retraction (two retractors) $6 000 $20 400 $51 100 <$30 000 Operating cost per procedure - Drape: $10 Drape: $30 $0 Set-up time (operating room staff) 5 minutes 5-10 minutes 10 minutes <10 minutes OR services required none nitrogen 50 psi electrical power electrical power one service OR Clean-up/Re-processing time 10 minutes 20 minutes 20 minutes 10 minutes Reprocessing procedure Steam sterilization Retractor only: Cleaning and gas sterilization Retractor only: Cleaning and gas sterilization Steam sterilization Turn-around time 12 hours 24 hours 24 hours < 12 hours Space required in operating room 1) 60 cm x 30 cm x 20 cm directly over patient 2) no floor space 1) minimal space directly over patient 2) 100 cm x 100 cm floor space 1) minimal space directly over patient 2) 100 cm x 200 cm floor space 1) no space in surgical site 2) no floor space Table rail space required 5 cm per side 10 cm per side 30 cm per side < 20 cm System weight 1) Table attachment: 5 Kg 1) Table attachment: 4 Kg 2) Total system: 100 Kg 1) Table attachment: 27 Kg 2) Total system: 150 Kg < 10 Kg Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery T a b l e X U Comparison of use-related parameters of surgical retraction systems 126 Use-related parameter Mechanical retractor (Rochard) Automated effector operating from pre-robotic platform Advanced surgical robot "Ideal system" Gross positioning Range of motion Limited, but adequate for application Extensive, redundant degrees of freedom Radial arm determined when robot cart is attached to the table. Adequate for application. > 80 cm. redundant degrees of freedom Re-positioning time 15-60 seconds 10-15 seconds 10-30 seconds < 10 seconds Average number of gross re-positionings 0-1 3 2 -Fine positioning Range of motion 20 cm 5 cm 20-30 cm >20cm Re-positioning time (4 cm) 15 seconds 5-10 seconds " 10-20 seconds < 10 seconds Average number of fine repositionings 0-1 4 4 -Automated retraction capabilities Maintain position yes good good yes Maintain retraction pressure no Not always capable due to limited range of motion " Almost always capable yes Periodic release of pressure no • - yes Retraction pressure monitoring no yes, single site " yes, multiple sites yes, multiple sites Status indicators and alarms none Visual indicator for sensor error and end-stop none yes, alarms for high retraction pressure, indicators for end-stops, system errors. ** These restrictions are implementation-dependent, rather than approach-dependent. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery Table XDI Comparison of safety-related parameters of surgical retraction systems 127 Safety-related parameter Mechanical retractor (Rochard) Automated effector operating from pre-robotic platform Advanced surgical robot "Ideal" system Retraction pressure monitoring none yes yes yes Potential hazards related to high retraction pressure yes possible unlikely none Potential hazards related to motion none minimal yes none Safety devices Emergency stop switch not applicable no yes yes End-stops not applicable physical and software 1) safety window 2) software end-stops yes Other not applicable 1) mechanical brake 2) position sensor 1) limit switches 2) position sensors Built-in safety devices to reduce hazards to acceptable levels Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 128 is commercially available, and thus benefits from the cost-savings of mass production. The total system costs of the prototypes of automated systems described in this thesis are based on the costs of the individual components as shown in Tables V and VJJ. Costs of equivalent commercially available devices, were they available, would likely be lower. The "ideal" system cost is based on a potential cost-savings of $15 000 per year from its use in the operating room to replace the work of a part-time assistant, and a payback period of two years. The use-related parameters include: 1) the range of motion, re-positioning time, and average number of re-positions per case observed for both gross and fine positioning; 3) the availability of retraction pressure monitoring; 4) the availability of automated retraction modes of operation; and 5) the use of status and alarm indicators. In terms of use-related parameters, the automated pre-robotic system was found to be superior to both the mechanical retractor and the advanced surgical robot in gross positioning capabilities. This was due to the high level of flexibility and redundant degrees of freedom in the pre-robotic platform. The advanced surgical robot had the best range of motion for fine-positioning and better capabilities than the automated pre-robotic system in the automated modes of operation, but these were dependent on the implementation rather than the approach, i.e. a different design with a greater range of motion would improve the performance of the automated effector. Similarly, an improved design of the surgical robot could improve the robot's gross positioning capabilities. The safety-related parameters include: 1) availability of retraction pressure monitoring; 2) presence of hazards from high retraction pressures; 3) presence of hazards related to motion; 4) use of safety devices including an emergency stop switch, end-stops, and other specified devices. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oiapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 129 In terms of the safety-related parameters, the automated effector operating from a pre-robotic platform had the benefit of retraction pressure monitoring to reduce hazards related to high retraction pressures, while being inherently protected against hazards related to motion. Since gross positioning was accomplished manually, the range of powered motion was small, and the risks reduced. The surgical trials confirmed the feasibility of two approaches to automated retraction: an automated effector operating from a pre-robotic platform; and an advanced surgical robot. A comparative evaluation indicated that the automated effector operating from a pre-robotic platform was the best system for the surgical procedures in which the systems were evaluated. The advanced surgical robot performed better during automated modes of operation, but this was due to the greater range of motion offered by the chosen implementation. 7.6 Summary The two automated retraction systems developed as described in this thesis have been evaluated in preliminary surgical trials. Evaluation in the surgical setting demonstrated the feasibility of each approach, and led to the identification of advantages and disadvantages of each approach. In terms of cost-related, use-related and safety-related parameters, the automated effector operating from a pre-robotic platform was more suitable than the fully robotic approach for the abdominal surgery procedures undertaken during the surgical evaluation of these systems. A problem with the automated effector, however, was the severely limited range of motion, and the resultant inability to achieve satisfactory performance for certain condidions. This problem was associated with the implementation rather, than the approach and a modification to the system design could improve the performance of the automated effector. The advanced surgical robot performed the automated modes of operation very well; however, the main disadvantages of this system were the difficulties in gross positioning and the large amount of space required Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 7: Clinical Evaluation of Automated Retraction Systems in Abdominal Surgery 130 in the operating room. Again, these were dependent on the implementation rather than the approach. During abdominal surgery, few repositions of the retractors were required, therefore manual repositioning using a device such as the pre-robotic platform would not be tedious or time-consuming. The automated pre-robotic system meets the requirements of such procedures without the added cost, space and safety concerns of a fully robotic system. Procedures that require more frequent gross positioning, more accurate positioning, or would benefit from physiologic feedback not necessarily available to the surgeon, may be more appropriate for the application of advanced surgical robots. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 131 8 CONCLUSIONS AND RECOMMENDATIONS 8.1 Contributions of the Research 1) The major accomplishment of this work was the development and evaluation of two prototypes of automated retraction systems, consisting of an automated effector operating from a pre-robotic platform and an advanced surgical robot for retraction. This work culminated in the demonstration and evaluation of these systems in abdominal surgery at Vancouver General Hospital, to assess the feasibility of both approaches in the application of automated retraction specifically, and for applications in surgery in general. 2) As part of the development, a novel physiologic sensor was developed to provide a retraction pressure feedback signal for automated control of the system. 3) The novel sensor was used to develop a model of retraction pressures for use in development of an improved sensor and control algorithms for automated retraction systems. This model was determined through surgical studies in which the sensor was mounted on fixed retraction devices during abdominal surgery. These clinical studies represented the first time that retraction pressures have been measured in general surgery. 4) Based on the model of retraction pressures, an improved version of the new sensor, with multiple measurement sites, was developed. This provided information on the pressure distribution under retractors, and thus improved control of the system. The multiple-sensor also improved system reliability by providing redundant sensing. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 8: Conclusions and Recommendations 132 5) As part of the development, the specific safety issue of risk of injury to the patient from programmed robot motion was addressed. The concept of a "variable safe work space", which defined the space in which safe motion could occur, was developed and two approaches to constraining the motion to this work envelope were implemented: i) Mounting an automated effector on an existing pre-robotic platform that would limit the range of motion of the device to one degree-of-freedom while allowing the device to be easily repositioned manually; and ii) Teaching a multiple-degree-of-freedom robot the safety work envelope by moving it to the safe limits and thereafter constraining the robot using software. 6) A second specific safety issue addressed was risk of injury to patient and staff from unplanned robot motion. A novel approach to safeguarding against unwanted robot motion was taken in developing the concept of a physical "safety window" that was positioned using a pre-robotic device. This provided hard limits for the motion of the robot. The safety window could be automatically re-positioned by adjusting the pre-robotic device to track desired changes in the work envelope of the surgical robot, and could be controlled independently of the robot. 7) The need for a safety standard for surgical robots was identified as a prerequisite for the general introduction of robots into the surgical setting. The issues that such a standard would have to address were identified, and a set of general design requirements for advanced surgical robots was developed. From this, specific requirements for an advanced surgical robot for retraction were developed and met. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Oxapter 8: Conclusions and Recommendations 133 8) As part of the development, functional specifications for an operator interface were developed and an existing versatile operator control system was identified, modified and integrated into the system to meet these requirements to permit intuitive, hands-free and eyes-free control. 9) Three different automated modes of operation in two distinct implementations of an automated retraction system were achieved: 1) the position of the retractor was maintained within a pre-set position window; 2) the retraction pressure was maintained within a pre-set pressure window; and 3) the position of the retractor was maintained within a pre-set position window and the retraction pressure was periodically released to a pre-determined level for a pre-determined period of time. 10) The development culminated in two sets of successful surgical trials: first, an automated effector operating from a pre-robotic platform was successfully used during abdominal surgery during August, 1990; and second, an advanced surgical robot was successfully used on September 12 and October 12, 1990, for liver surgery at Vancouver General Hospital. In these trials all three modes of automated operation were demonstrated and evaluated. 11) A comparative evaluation of the systems was performed, and led to an identification of the advantages and limitations that each approach and implementation offered, both for the specific surgical application studied, and for more general use in surgery. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 8: Conclusions and Recommendations 134 8.2 Recommendations for Further Work Clinical studies More surgical trials are warranted to determine the effects of retraction pressure on tissue for two reasons: 1) as a clearer relationship between retraction pressures and tissue damage is determined, automated retraction systems with sensing capabilities may be used to control the level of retraction pressure and thus increase the quality and safety of surgical procedures involving extensive surgical retraction; and 2) if an advanced surgical robot or other automated retraction system is being used in surgical applications to reduce the costs and improve the quality of surgical procedures, and if high levels of retraction lead to tissue damage, then retraction pressures must be monitored and maintained within safe limits. A human retractor holder may do this automatically. A mechanical or robotic system cannot, unless given the capability through the use of appropriate sensors. A Safety Standard for Surgical Robots As described in Chapter 4, a safety standard for surgical robots is required in order to meet the needs of manufacturers, consumers, developers and to help ensure the safety of patients and staff as robotics are introduced to a greater extent in the surgical setting. Research and Development Further research and development is required to: 1) identify those areas of surgery that could benefit from the application of advanced surgical robots specifically, and automation generally; and, 2) develop the technology to suit the task, such as appropriate physiologic sensors, smart systems to provide adaptive control, and surgical robots suitable and safe for use Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 8: Conclusions and Recommendations 135 in the surgical setting. Recommendations for improvements to the automated effector Modifications to the automated effector that would improve its function for further surgical use are as follows: 1) Increasing the range of motion from 5 cm to 15 cm would allow effective control over the retraction pressure and position. 2) Adding an alarm to indicate retraction pressures above a pre-set level would give the surgeon more information regarding the level of retraction pressure and options for maintaining the pressure within pre-set limits: 1) using an automated mode to control retraction pressure; or 2) responding to the alarm information by manually adjusting the retractor position to alter the retraction pressure. 3) Using a multiple sensor on the retractor would provide sensor redundancy and would provide information on the spatial distribution of retraction pressures. 4) Developing an additional degree of freedom to adjust the orientation of the retractor with respect to the tissue being retracted would allow adjustment of the spatial distribution of retraction pressures. For example, rotating the retractor could reduce the localized high pressure along the edge of the retractor and distribute the retraction force more evenly over the surface of the retractor. 5) Changing from remote actuation to local actuation, and developing a self-contained automated effector with all functional components in one module for attaching to the pre-Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 8: Conclusions and Recommendations 136 robotic positioning device, would reduce the hardware and remove the need for many cables and connections. Recommendations for improvements to the advanced surgical robot Modifications to the advanced surgical robot system to improve it for further surgical use are as follows: 1) Consolidating the operator interface would give the surgeon access to all of the following functions through the hand pendant, foot switch or voice commands: selection of automated modes; input of parameters; over-riding automated retraction; gross positioning; fine positioning; and teaching the robot the software end-stops. This could be accomplished by making extensive use of the IOCS by modifying the source code and configuration files, or by developing a custom operator interface for the surgical robot. 2) Mounting touch-sensitive switches on the robot surface at strategic locations for the surgeon to use to indicate the need for gross positioning of the robot would make control of the robot more intuitive. One method to do this would be to mount membrane switches or Force Sensing Resistors on the outside of the members of the robot. These switches could be pressed by the surgeon to move the robot in the direction of the pressure applied. 3) Adding an alarm to indicate retraction pressures above a pre-set level would give the surgeon more information regarding the level of retraction pressure and options for maintaining the pressure within pre-set limits: 1) using an automated mode to control retraction pressure; or 2) responding to the alarm information by manually adjusting the retractor position to alter the retraction pressure. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 8: Conclusions and Recommendations 137 4) Consolidating the system onto one cart would make transportation, storage, set-up and use easier. 5) Modifying the method used for anchoring the robot in the operating room would remove the constraints placed on the position and subsequent motion of the operating table that are introduced by clamping the robot cart, which rests on the floor, directly to the operating table. Ideally, the robot's frame-of-reference should be patient-based, or at least operating table-based to ensure that robot motion is relative to the patient and patient motion is independent of the robot. 8.3 General Conclusions In this thesis, retraction during abdominal surgery was targeted for the application of an advanced surgical robot to identify and address the significant issues related to introducing robotics into the surgical setting. One of the reasons for selecting this application was the relative security arising from the visibility of the task and the biological insensitivity of muscle, fat and skin, in comparison to delicate organs such as the brain, heart and liver. This made retraction of the wound edges during abdominal surgery an attractive application for demonstrating and evaluating the developed automated retraction systems, and specifically, a prototype of an advanced surgical robot. The surgical evaluations undertaken demonstrated that, for the targeted application, an approach in which an automated effector was operated from a pre-robotic platform had definite advantages over a fully robotic approach. Some procedures, which are candidates for robotic approaches, may benefit from a similar approach, rather than a fully robotic approach. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Chapter 8: Conclusions and Recommendations 138 This work identified and addressed the important issues related to applying robots to surgical tasks: safety for the patient and staff, operator interface requirements, and patient interface requirements. The insights gained are significant for the general application of robots to surgical tasks. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 139 R E F E R E N C E S [I] American National Standard ANSI/RIA R15.06-1986 for Industrial Robots and Robot Systems - Safety Requirements. [2] P. Finlay, "The United Kingdom Advanced Medical Robotics Inititiative", in IEEE Engineering in Medicine and Biology Society, 11th Annual Conference 1989, pp.885-886. [3] "Robotics Developments and Future Applications", CEDEFOP, European Centre for the Development of Vocational Training, Bundesalles 22. [4] J.A.McEwen, "Medical and Surgical Robotics", Canadian Medical and Biological Engineering Society Conference, 1984, pp. 11-12. [5] P. Finlay, "Results of a feasibility study into applications for advanced medical robots", First International Workshop on Robotic Applications in Medicine and Health Care, Ottawa, June 23-24, 1988, pp.2.1-2.6. [6] Yik San Kwoh et al. "A robot with improved absolute positioning accuracy for CT guided stereotactic brain surgery", IEEE Transactions on Biomedical Engineering, Vol.35. No.2. pp. 153-160. 1988. [7] S. Lavallee, "A new system for computer assisted neurosurgery", IEEE Engineering in Medicine and Biology Society 11th Annual International Conference, Seattle 1989. pp. 926-927. [8] Yukio Kosugi, et al. "An articulated neurosurgical navigation system using MRI and CT images", IEEE Trans. BME, Vol.35. No.2. pp. 147-152. [9] G.F. Auchinleck and J.A. McEwen, "Robotic limb manipulators for surgery", Joint Coordinating Forum for the International Advanced Robotics Programme, First International Workshop on Robotic Applications in Medical and Health Care, Ottawa. June 23-24, 1988. pp.12.1-12.4. [10] R. Taylor, H. Paul et al. "Robotic total hip replacement in dogs", IEEE Engineering in Medicine and Biology Society, 11th Annual Int'l Conference, 1989. pp.887-889. [II] B.L. Davies, R.D. Hibberd, M.J. Coptcoat and J.E.A. Wickham, "The use of a robot in prostate surgery -A feasibility study", First International Workshop on Robotic Applications in Medical and Health Care, Ottawa, June 23-24, 1988. pp. 13.1-13.3. [12] W.K. Taylor, "Design of a robotic system for the laser treatment of angiomas", ibid. pp.14.1-3. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 140 [13] P. Finlay, "Results of a feasibility study into applications for advanced medical robots", ibid. pp.2.1-2.6. [14] J.A. McEwen, C. Busssani, G. Auchinleck and M . Breault, "Development and initial clinical evaluation of pre-robotic and robotic surgical retraction systems", in IEEE Engineering in Medicine and Biology Society 11th Annual International Conference, Seattle 1989. pp. 881-882. [15] D. Aserman, "Controlled hypotension in neurosurgery with hexamethonium and procaine amide", British Medical Journal, Vol.1, pp.961-964. 1953. [16] L.P. Carter et al. "Cortical blood flow during craniotomy for aneurysms", Surgical Neurology. Vol.17. No.3. pp.204-208. 1982. [17] H. Lozman et al. "Thrombosis of peripheral aneurysms. A complication of colorectal surgery", Diseases of the Colon and Rectum. Vol.26. No.3. pp.167-9. 1983. [18] J. Aust, C. Bredenberg and D. Murray. "Mechanisms of Arterial Injuries Associated with Total Hip Replacement", Arch. Surg. Vol.116, pp.345-349. 1981. [19] B. Nachbur et al. "The mechanisms of severe arterial injury in surgery of the hip joint", Clinical Orthopaedics and Related Research No. 114, June, pp. 122-133. 1979. [20] N.K. Schoondorf. "On the prevention of paresis of the femoral nerve following abdominal gynaecological operations" Geburtshilfe Und Frauenheilkunde. Vol.42.No. 1. pp.58-62. 1982. [21] M.S. Hoffman et al. "Neuropathies associated with radical pelvic surgery for gynecologic cancer", Gynecologic Oncology, Vol.31. No.3. pp.462-466. 1988. [22] W.Heidenreich and E. Lorenzoni. "Injury of the lateral cutaneous nerve of the thigh. A rare complication following gynecologic surgery", Geburtshilfe Und Frauenheilkunde, Vol.43. No.12. pp.766-768. 1983. [23] J.H. Woodring et al. "Upper rib fractures following median sternotomy", Annals of Thoracic Surgery. Vol.39. No.4. pp.355-357. 19aw. [24] C.E. Baisden et al. "Occult rib fractures and brachial plexus injury following median sternotomy for open-heart operations", Annals of Thoracic Surgery. Vol.38. No.3. pp. 192-194. 1984. [25] T.J. Vander Salm et al. "Brachial plexus injury following median sternotomy", Journal of Thoracic and Cardiovascular Surgery. Vol.80. No.3. pp.447-452. 1980. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 141 [26] T J . Vander Salm et al, "Brachial plexus injury following median sternotomy. Part II", Journal of Thoracic and Cardiovascular Surgery. Vol.83. No.6. pp.914-917. 1982. [27] F . M . Ameli et al. "Safety of cholecystectomy with abdominal aortic surgery", Canadian Journal of Surgery, Vol.30. No.3. ppl70-3. 1987. [28] R.K.Laha, M . Dujovny et al. "Cerebellar Retraction: Significance and Sequelae", Surg. Neurol. Vol.12, pp.209-215. 1979. [29] M . Albin et al. "Clinical and experimental brain retraction pressure monitoring". Acta. Neurol. Scand. Vol. 56 (Suppl.64) pp.522-523. 1977. [30] J. Rosenorn and N. Diemer, "The risk of cerebral damage during graded brain retractor pressure in the rat", J. Neurosurg. Vol.63. October, pp.608-611. 1985. [31] J. Rosenorn and N. Diemer, "The influence of teh profile of brain retractors on regional cerebral blood flow in the rat", Acta Neurochir. (Wien), Vol. 87. pp. 140-143. 1987. [32] J. Rosenorn, "Self-retaining retractor pressure during intracranial Procedures". Acta Neurochi (Wien). Vol.85, pp. 17-22. 1987. [33] J. Rosenern and N.H. Diemer, "The influence of intermittent versus continuous brain retractor pressure on regional cerebral blood flow and neuropathology in the rat", Acta Neurochirurgica, Vol.93. No. 1-2. pp. 13-7. 1988. [34] Akira Yokoh et al. "Intermittent versus continuous brain retraction", J. Neurosurg. Vol.58. pp.918-923. 1983. [35] Kazuhiro Hongo, et al "Monitoring retraction pressure on the brain", J.Neurosurg. Vol.66. pp.270-275. 1987. [36] R. Donaghy, M . Numoto, L. Wallman et al. "Pressure measurement beneath brain retractors for protecting delicate tissues", American Journal of Surgery, Vol.123, pp. 429-431, 1972. [37] L.D.Harmon, "Tactile sensing for robots" in Recent Advances in Robotics, Vol.1. New York, NY:Wiley, 1983. pp. 140-141. [38] J.Rebman and K.Morris, Lord Corporation, USA. "A tactile sensor with electrooptical transduction", in Robot Sensors, pp. 145-155. [39] J.Schneiter and T.Sheridan, "An optical tactile sensor for manipulators", Robot. Computer-Integrated Manuf Vol.1. No.l. pp.65-71, 1984. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 142 [40] S.Begej, "Planar and finger-shaped optical tactile sensors for robotic applications", IEEE Journal of Robotics and Automation, Vol.4. No.5. October, 1988. pp.472-484. [41] P.Dario and de Rossi, "Tactile sensors and the gripping challenge", IEEE Spectrum, Aug. 1985, pp.46-52. [42] Nakamura et al, "A piezo-electric film sensor for robotic end-effectors", Robot Sensors, pp. 247-257. [43] R.Gelaky and K.Karam, "A low cost modular tactile sensing system for robotics", ?? pp.137-146. [44] Luo et al, "An imaging tactile sensor with magnetostrictive transduction", Robot Sensors, pp.113-122. [45] Checinski and Agraval, "Magneto-elastic tactile sensor", Robot Sensors, pp.229-235. [46] J.Pubrick, "A force transducer employing conductive silicone rubber", First Robot Vision and Sensors Conference, 1981. [47] H.van Brussel and H.Belien, "A high resolution tactile sensor for part recognition", Rovisec 6, pp.49-59. [48] Holmbom et al, "Tactile sensors for industrial robots", Rovisec 7, pp. 133-140. [49] Interlink Electronics, P.O.Box 40760, Santa Barbara, CA, USA. Product literature. [50] B.Tise, "A compact high resolution piezoresistive digital tactile sensor", IEEE, Vol.1. 1988, pp.760-764. [51] N.Maalij et al, "A conductive polymer pressure sensor array", IEEE Engineering in Medicine and Biology Society 11th Annual International Conference, 1989. pp. 1116-7. [52] F.FLaystrand, "Vestibular and ligual muscular pressure on complete maxillary dentures", Acta Odontol. Scand. Vol.44. 1986, pp.71-75. [53] I. Asimov and K. Frenkel, "Robots". Harmony Books, 1985. p. 13. [54] Yik San Kwoh, J. Hou, E. Jonckeere and S. Hayati. "A Robot with improved absolute positioning accuracy for CT guided stereotactic brain surgery", IEEE Trans. BME. Vol.35, No.2, pp. 153-160. 1988. [55] H.F. Machiel Van der Loos and J. Hammel. "Designing Rehabilitation Robots as Household and Office Equipment", 1990 International Conference on Rehabilitation Robotics, Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 143 Conference Papers, pp.99-114, 1990. [56] Davies et al, "The Use of a Robot in Prostate Surgery", Imperial College, pp. xx-xx. [57] G. Birch and W. Cameron, "User Acceptability in Robotic Assistive Devices", ICORR 1990, Conference Papers. pp.65-xx. 1990. [58] CSA standard C22.2 No. 125 M1986, Electromedical Devices [59] J. Pollack, Head Field Engineer, Unimation Ltd. Personal communication, August 1990. [60] T. Nelson, "Robot Safety", Neil Squire Foundation, Vancouver, BC. May 1986. [61] J. Ziskovsky, "Risk analysis and safeguarding robot applications", RIA Robot Safety Seminar Proceedings, 1st Ed. pp.53-66. 1985. [62] R J . Barrett, R. Bell, and P. Hodson, "Planning for Robot Installation and Maintenance: A Safety Framework", Proceedings 4th British Robot Association Annual Conference, 1981. [63] J. Ziskovsky, "The R3 Factor of Industrial Robot Safety", Proceedings Robot 7, Vol.1, RI/SME, pp.9-1 to 9-12. June 1983. [64] "Procedures for performing a failure mode effects and criticality analysis", Military Standard, MIL-STD-1629A 24 NOV. 1980, Department of Defence, USA. [65] M.Breault, "A biomechanical investigation of blood flow occlusion achieved with the use of surgical pneumatic tourniquets", M.A.Sc. thesis, Dept. Mechanical Engineering, October 1988. [66] D. Neumann, research and development engineer, Cobe, personal communication. May and August 1990. [67] Dr. C. Scudamore, personal communication, Sept. 20, 1990. [68] R. J.MacNeil, et al. "Development of an integrated operator control unit for medical devices used in surgery", 12th Canadian Engineering in Biology and Medicine Conference, Vancouver 1986, pp. 174-175. [69] M . Miller, M.A.Sc thesis, December 1989. pp.96-97. [70] CSA standard C22.2 No. 125, "Electromedical Devices", 1986. [71] Bridgestone, Tokyo Japan, product literature for Rubbertuator™ Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix I APPENDIX I 144 Bladder Sensor Sensor calibration methods Method #1: The sensor was placed between layers of a blood-pressure cuff which was sandwiched between two rigid plates attached together at the corners. The sensor was connected to a transducer that was connected physiologic monitor (HP model 353, Hewlett Packard). The cuff was connected to a pneumatic tourniquet (ATS 500, Aspen Labs, Colorado) and the pressure was incremented by 50 mmHg between readings, from 0 to 250 mmHg. The pressure was then decreased by 50 mmHg to 0 while readings were made. Method #2: The sensor was placed in a sealed chamber connected to a pneumatic tourniquet. The sensor was connected to a transucer which was connected to a physiologic monitor. The chamber pressure was increased in 20 mmHg increments to 350 mmHg, then decreased, while readings were made from the physiologic monitor. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix I Calibration curves 145 Calibration of Bladder Sensor Cuff Method 300-1 1 1 1 1 0 50 100 150 200 250 Cuff Pressure (mmHg) —•— Increasing - A - Decreasing Figure l a Bladder sensor - Calibration method #1 Calibration of Bladder Sensor Calibration Chamber Method 350 0*1 1 1 1 1 1 1 1 0 50 100 150 200 250 300 350 Chamber Pressure (mmHg) Increasing Decreasing Figure l b Bladder sensor - Calibration method #2 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix I 146 Frequency response detemiination for retraction sensor FUNCTION GENERATOR BIOTEK 601-A PRESSURE TRANSDUCER CALIBRATOR HP 8811A AMP. HP 7554A CHART RECORDER FLUID PATH REFERENCE TRANSDUCER DIAPHRAGM COUPLING GEL RIGID DOME RETRACTION PRESSURE SENSOR Figure Ic Test configuration for frequency response determination Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix II APPENDIX H Derivation of equations for joint angles for world coordinate motion of retractor I. Joint angles 0,', 0 2\ and required to move retractor along its axis (Fig JJa) 147 R e t r a c t o r a x i s Figure Ha RM-501 links and joints angles la. Expressing joint in terms of world coordinates Using the law of cosines: cos(18O-02)=-cos0,=-[ W 2 ) tf+/22-Cc2+z2)) ] , x2+z2-l\-t, et=a+b , , , /,sin(07) , 0 1 = l a n - ^ ) + t a n - l [ T 4 - i i ^ ] 1 x /1+/2-cos(02) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Appendix II lb. World coordinates x and z for linear motion of retractor 148 A Z ^ D i r e c t i o 1 1 ^ of Motion Az=Arsin0r Ax=Arcos0r z'=z+Arsin0r x'=x-Aro,osd. X ' A X X Figure lib Linear displacement of Retractor Ic. New joint angles New joint angle 02' in terms of z' and x' derived from desired movement Ar. n/ -\TZ + X ll '2, 02=cos M ] 2 2-l,-l2 New joint angle 0i' in terms of z', x' and 02'. 6 [ = a + b i , ?f , 4sin02 0{=tan-1[:L]+tan-1[_i 2-] x' /j+^COS^ New joint angle 03' to maintain retractor angle 0r. o'r=er -0 1 +0 2 +03=-ei+ei+e'i 03 =61 -62-6 ^ +02 +03 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix II New joint angles for linear motion of retractor 149 , , 7> . /,sin02 x' /J+ZJCOS^ 72 ,2 ] fl/ -irZ + X *1 '2, 02=cos 1[ ] 2'h'h ^3=^l_^2-^i+^2+^3 II Elevation of retractor A Z "'1'' I Dii D rection Motion z h x 1 x' = x in the above equations. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix II 150 IV Change angle of retractor A0! = 0 A02 = 0 A03 — desired new angle Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix III 151 APPENDIX m Joint angle units for Mitsubishi RM-501 robot Table XIV Joint angle units for Mitsubishi RM-501 robot Joint Angle measured from Limits RM-501 variable units per degree 01ow 0high Base 80 base endstop 0° 330° at 40 Shoulder 0t horizontal 0° 100° a2 40 Elbow 02 li 0° 90° a3 40 Wrist rot. 03 12 -90° 90° 34 a5 -13 + 13 Wrist yaw 04 midway between endstops -180° 180° 34 3 5 + 13 + 13 Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix TV 152 APPENDIX IV 1) C-program source code for automated accessory control. 2) C-program source code for Mitsubishi RM-501 control. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 153 / • acc2108c •/ /* Program for use with automated accessory for Robotrac. Feedback Control of Pneumatic Valves with position and surface pressure sensing. Program includes control of Brake actuator. Also included in this version is control of the retractor position using a switch. Data is written to a file for storage. As well, comments can be written to the file. THIS VERSION OF THE PROGRAM IS SPECIFICALLY DESIGNED FOR CLINICAL DEMONSTRATION, AND INCLUDES THE FOLLOWING MODES OF OPERATION: 1) Calibration of Sensors 2) Position Control 3) Pressure Control 4) Position Control based on Initial Pressure 5) Position Control using switches on retractor Created April 6, 1990 from March 30 version of demopres.c Modified April 21, 1990. Modified May 8-17, 1990 for improvements following 2 clinical trials. Modified June 13-15, 1990 to implement LEDs and robotrac input. Options periodic release and pressure window added August 21, 1990. For use with DT-2801 A/D board, and normally closed valves. This program calls the following functions: setup_digital_output: sets up the digital I/O port for output output_digital_datum: outputs a byte of digital data to the port specified input_analog_datum: inputs a byte representing analog data reset_a2d_board: sends the reset command to the DT2801 board •/ jfinclude <qdtdef.h> include <stdio.h> i^nclude < graph.h> include <conio.h> include <time.h> main(argc,argv) int argc; char *argvfj; { FILE *fptr; char string[81]; int kbhit(void); float absO; float desired_position, position_datum, position_error,actual_position; int close_valves; int open_source_valve, close_source_valve; int open_exhaust_valve, close_exhaust_vaIve; int open_brake_valve, close_brake_vah/e; int data,port, count,valve_open_time; int position_channel, position_gain, pressure_channel, pressure_gain; float pressure_datum, actual_pressure; float surpress_datum, actual_surpress; int surpress_channel, surpress_gain; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix TV Source code 154 int pressure_offset, surpress_offset; float press_a2d_factoT, jurprcss_a2d_factor, float brake_a2d_factor, main_a2d_factor, int brake_offset, main_offset; float brake_pres sure, main_pressure; int brake channel, main_channel; float surpress_error, desired_surpress; int swtch_channel,swtch_gain; float swtch_datum; float swtch_voltage, retract_threshold, extend_threshold; int steps,times,maxtimes; int total_time; float time_on; char inchar; long time_0, time_E, time_start; int time_to_get_there, initime; int last_time; unsigned short time_in_seconds; time_t stajt_time,new_time,la5t_period; int surpress_allow_error; int brake_on; int mode; char charstring[40]; int LEDl_on, LED2_on, LEDs_on, LEDs_off; int rtrac_datum,rtracl_channel, rtrac2_channel; float rtracl,rtrac2; int swtch_on; float old_position; int out_byte; float sens; int minimum_pressure, maxtmum_pressure, pressure; int release_pressure, release_period; float cyclej)eriod_mmutes,rclease_period_mmutes,retuni_position; unsigned short cycle_period> time_since_release; close_vah/es=0; open_source_valve=9; close_source_valve=8; open_exhaust_varve= 12; close_exhaust_valve=8; open_brake_valve=8; /* brake off*/ close_brake_varve=0; / • brake on •/ position_channel=1; positioning ain=1; pressure_channel=0; pressure_gain=2; pressure_offset=-41; press_a2d_factor=-0.812; brake_channel=4; brake_a2d_factor=0.56; brake_offset=250; main channel—5; main_a2d_factor=0.60; main_offset=302; port=0; valve_open_time=80; surpress_channel=2; surpress_gain=0; surpress_offset=439; surprcss_a2d_factor=0.18; steps=0; maxtime>=10; total_time=0; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 155 surpress_allow_error= 10; brake_oo=0; swtch_channel=3; swtch_gain=0; retract_tbxeshold=2.54; extendthreshold=1.45; time_in_seconds=0; last_time=0; mode=0; time_on=0; initime—0; LEDl_on=16; LED2_on=32; LEDs_on=48; LEDs_off=0; rtracl_channel=6; rtrac2_channel=7; sens=0.01; if(argc 1=2) {printf("\nPlease use format: demtime filename"); exitf);} if((fptr=fopen(argv[l]/w"))==NULL) {printf("\nCan't open file %s.",argv[l]); exitO;} /•RESET the AID board •/ reset_a2d_board0; setup_digital_output(port); output_digital_datum(port,open_brake_valve); last_time=timer0/100; _clearscrcen(_GCLEARSCREEN); printf("A U T O M A T E D A C C E S S O R Y C O N T R O L MODES"); printf("\n\nEnsure that all connections are made and power to control box is ON."); printf("\nActuator will be initially moved to its 'home' position."); prmtf("\nReady to proceed? (y/n)\n"); inchar=getchO; if(l(inchar= = 'y')) exitO; /* Initialization -Home Position */ take_brake_offO; desired_position=9; position_datum = input_analog_daonn(position_channel,position_gain); actualjjosition = 10-(4096 - position_datum)*r0.0/2048; position_error = desired_position - actual_position; time_start=timerO; steps=0; while< (position error > 0.1 11 position error < -0.1) && steps < 10) { steps=steps+1; if (position error > 0.1) { time_on=0; time_0=timer0; output_digital_datum(port,open_exhaust_valve); while((desired_position-actual_position>0.1) && time on < valve open_time) { position_datum = 1.0*mput_analog_datum(posiUon_channel,pc4iUon_gain); actualjxMition = 10- (4096 - position_datum)«10.0/2048.0;; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 156 time on=timerO-time_0; } output digital_datum (port, close exhaust valve); > if (position error < -0.1) { time_on=0; time_0=timerO; outputjligitaljUtum(port,open_source_vaWe); wl»ile((desired_j)osition-actual_position<-0.1) && time_on < valve_open_time) { position_datum = 1.0*input_analog_datum(position_channel,position_gain); actual_position = 10- (4096 - position_datum)*10.0/2048.0; time on=timerO-time_0; } output_digital_datum(port,close_source_vahre); } position_datum = 1.0*mput_aiuUog_datum(position_channel,position_gain); acuial_position = 10-(4096 - position_datum)*10.0/2048.0; time_delay(200); position_error = desired_position - actual_position; printf("\nDesired Position: %4.2f Actual Position: 964.2f",desired_position,actual_position); /*printf("\nContinue with control program, next step?"); inchar=getchO; •/ > if(!(position_error > 0.1 {| position error < -0.1)) { printf("\nAutomated Accessory now in 'Home' position."); put_brake_on0; } else (printf("\nUnable to achieve position. Check valve and sensor connections."); } printf("\n£nter a key to return to menu."); inchar=getch(); inchar='y'; prmtf("\nlmtializing timer for output file."); time(&stait_time); time_in_seconds=0; fprintf(fptr, "\nAutoaccessory "); while (inchar=='y') { fprintf(fptr,"\n96d",mode); _clearscreen(_GCLEARSCREEN); printf("A U T O M A T E D A C C E S S O R Y C O N T R O L M O D E S " ) ; printf("\n\nPLEASE SELECT ONE OF THE FOLLOWING MODES OF CONTROL:"); printf("\n\n 1) Monitoring Only Mode"); printf("\n 2) Calibration of Pressure Sensors"); printf("\n 3) Position Control"); printf("\n 4) Maintain Pressure within a window"); printf("\n 5) Position Control Based on Initial Pressure Measurement"); printf("\n 6) Position Control Using hand switch on retractor"); printf("\n 7) Periodic Release of Pressure"); printf("\n 8) Annotate Output File"); printf("\n 9) Exit program"); printf("\n\nCURRENT STATUS"); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix TV Source code 157 if(brake_on) {printf(" Brake ON*); } else {printfC Brake OFF"); } prmtf("\n\nENTER YOUR SELECTION."); inchar=getchO; _clearscreen(_GCLEARSCREEN); if(inchar= = T ) { mode=l; fprintf(fptr, "\nmonitoring"); fprmtf(fptr/\ntime, retraction pressure"); / • MONITORING MODE •/ wbile(!kbhitO) { _clearscreen(_GCLEARSCREEN); position_datum = mput_analog_danim(position_channel,position_gain); actualjrasition = 10-(4096 - positionjlatum)*lb.O/2048; printf("\n Position: %4.2fcm\n",actual_position); surpress_datum = mput_analog_datum(surpress_channel,surpress_gain); actual_surpress = ((surpress_datum-2048)/2048*10000-surpress_offset) *surpress_a2d_factor, printf("\n Retractor pressure: 953.0f mmHg\n",actual_surpress); time(&new_time); time_in_seconds=(unsigned short)(new_time-start_time); fprintf(fptr,"\n%d %4.1f",time_in_seconds,actual_surpress); pressure_datum = input_analog_danim(mam_channel,pressure^ gain); actual_pressure =((pressure_datum-2048)/2CW8^ 5{X)-mam_oiTset)*main_a2d_factor; printf("\n Main Actuator pressure: %3.0f psi",actual_pressure); pressure_datum = mput_analog_datum(brake_channel,pressure_gain); actual_pressure = ((pressure_datum-2048)/2048*2500-brake_offset) *brake_a2d_factor, printf("\n Brake Actuator pressure: 963.Of psi\n",actual_pressure); time_delay(500); } inchar=getchO; inchar=='y'; } if (inchar=='2') { mode=2; fprintf(fptr,"\nCalibration"); take_brake_offO; brake_on=0; printf("\u\n*"« C A L I B R A T I O N P R O C E D U R E ••••W); printf("\nCalib ration of main actuator pressure transducer: \n")°, printf("\nO psi will be applied to actuator pressure transducer\nby opening exhaust valve on actuator.\n"); printf("\n Strike a key when ready.W); inchar=getchO; outpu_digh^_datum(poit,open_exhaust_vatve); time_dclay(S0O0); pressure_datum=input_analog_datum(mam_cluinnel,pressure_gain); main_offset= (pressurejjatum-2O48)/2048T2500; ouq)ut_digital_datum(port,close_exhaust_valve); _clearscreen(_GCLEARSCREEN); printf("\n\n , ,»* C A L I B R A T I O N P R O C E D U R E •••*\n"); printf("\nNow, 50 psi will be applied to actuator pressure transducer\nby inflating the actuator.\n"); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix JV Source code 158 prmtf("\nWARNINGI Actuator will be fully inflated!"); printf("\nActuator will move to ends top. To abort AC.\n"); printf("\n Strike a key when ready.\n"); inchar=getchO; output_digitd_datum(port,open_source_valve); time_delay(5000); p res sure_daturn=mput_srmlog_datum(inaJn_chaimeI,pressure^  ain); main_a2d_factor= 50/((prasure_datum-2048)/2048*2500-main_offset); output_digital_datum(port,close_source_valve); output_digital_datum(port,open_exhaust_valve); time_delay(6000); output_digital_datum(port,close_exhaust_valve); _cIearscreen(_GCLEARSCREEN); printf("\n\n***« C A L I B R A T I O N P R O C E D U R E **"W); printf("\nCah°bration of brake actuator pressure transducer:\n"); printf("\nO psi will be appUed to brake pressure transducerVnby opening exhaust valve on actuator.\n"); printf("\n Strike a key when ready.W); inchar=getchO; OHitput_digital_datum(port,close_brake_valve); time_delay(1000); pressure_datum=mput_analog_d^ tum(brake_channel,pressure_gain); brake_offset= (pressurejlatum-2048)/2048*2500; _clearscreen(_GCLEARSCREEN); printf("\n\n"" C A L I B R A T I O N P R O C E D U R E "**\n"); printf("\nNow, 50 psi will be applied to brake pressure transducer\nby inflating the brake actuator.\n"); printf("\n Strike a key when ready .\n"); inchar=getchO; output_dtgital_datum(port,open_brake_valve); time_delay(1000); pressure_datum=input_analog_datum(brake_channel,pressure_gain); brake_a2d_factor= 50/((pressure_datum-2048)/2048*2500-brake_offset); ouq>ut_digital_datum(port,close_brake_valve); _clearscreen(_GCLEARSCREEN); printf("\nCalibration of retractor pressure transducer:\n"); printf("\n Apply 0 mmHg to retractor pressure transducer.\n"); printf("\n Strike a key when ready.\n"); inchar=getchO; surpress_datum=input_analog_datum(surpress_channel, surpress_gain); surpresa_offset= (surpress_datum-2048)/2048* 10000; printf("\n Apply 100 mmHg to retractor pressure transducer.\n"); printf("\n Strike a key when ready.\n"); inchar=getch0; surpress_datum=input_analog_datum(surpress_channel, surpressjgain); surpress_a2d_factor = l(»/((surpress_danim-2648)/2048*10000-surpress_offset); time_deky(1000); printf("\na2d offsets = %6i, %6d",rnain_ofTset,brake_offset); printf("\na2d factors = %6.2f, %6.2r,inain_a2d_factor,brake_a2d_factor); printf("\nRetr. offset, a2d factor 566d, S66.2f",surpress_offset,surpress_a2d_factor); fprintf(fptr,"\na2d offseU= «6d, «6d")main_offset,brake_offset); fprintf(fptr,"\na2d factors = %6.2f, %6.2r,main_a2d_factor,brake_a2d_factor); fprintf(fptr,"\nRetr. offset, a2d factor %6d, %6.2f",surpress_offset,surpress_a2d_factor); time_delay(2000); printf("\n\nCau"bration of handswitch signals."); printf("\nPreaa switches for retract"); printf(" Hit a key when ready."); while(!kbhitO);ge(ch0; swtch_datum = input_analog_datum(swtch_channei,swtch__gain); retractthreshold = 10-(4096 - swtch_datum)*10.0/2048; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 159 printf("\nPres» switches for extend."); printf(" Hit a key when ready."); while(!kbhitO);gctchO; swtchdatum = mput_aiiaIog_d^ tum(swtch_channel,swtch_gain); extendthreshold = 10-(4096 - swtch_datum)»10.0/2O48; printf("\n\n •••• CALIBRATION COMPLETE •••*\nW); time_delay(2000); time(&new_time); time_in_seconds=(unsigned short)(new_time-start_time); fprintf(fptr,"\n96d O.0",time_in_seconds); inchar='y'; } if (inchar= = '3') { mode=3; fprintf(fptr,"\nPosit)on control"); fprintf(fptr,"\nFirst line: desired, actual position"); fprintf(fptr,"\nTheri: time_on, position, retraction pressure"); /,................«............/ /• POSITION FEEDBACK CONTROL */ inchar = 'y'; take_brake_offO; brake_on=0; position_datum = input_analog_datum(posidoa_channel,position_gain); actualjxwitioo = 10-(4096 - position_datum)*10.0/2048; printf("\nCurrent Position: %4.2f*,actual_position); printf("\nMove to what position?"); scanf(" %r,&de»ired_position); if(desired_position<0 11 desired_position> 10) printf("\nOUT OF RANGE!"); else { fprintf(fptr,"\n954.2f %4.2r,desired_position,actualj)osition); position_error = desired_position - actual_position; time_start=timerO; steps=0; while( (position error > 0.1 11 position_error < -0.1) && steps<10) { steps=steps+l; if (position error > 0.1) { time_on=0; time_0=timer0; output_digital_datum(port,open_exhaust_valve); whi!e((desired_position-actuaJ_position>0.1) && time_on < valve_open_time) { position datum = 1.0*input_ajulog_datum(position_cliannel,position_gain); actualjxwition = 10- (4096 - position_datum)*10.d/2048.0;; time_oo=timer0-time 0; } output digital_da turn (port, close_exhaust_valve); ) if (position_error < -0.1) { time_on=0; time_0=timerO; output_digital_datum(port, open_source_valve); whUe((desircd_posiuon-actual_pc>sition<-0.1) && time_on < valve_open_time) { Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix TV Source code 160 positioo_datum = 1.0*mput_aiialog_datum(posidoo_chimnel,posiU actual position = 10- (4096 - positionjiatum)*10.0/2048.0; time_oo=timerO-time_0; } output_digital_datum(port,closejiource_valve); ) position_datum = 1.0*input_ajulog_datum(po3iUoo_channel,rx33iu^ jgain); actual_position = 10- (4096 - position_datum)*10.0/2048.0; time_delay(200); position_error = desired_position - actual_position; printf("\nDesired Position: %4.2f Actual Position: %4.2f",dcsircd_po3iuoo,actual_poaitioo); surpress_datum = input_analog_datum(suipreas_cluuuel,surpres8^ ain); actual_surpress =((surpres8_datum-2048)/2048*10u00-suipress_offset),surpress_a2d_factor> time(&new_time); time_in_seconds=(unsigned short)(oew_time-start_time); fprintf(fptr,"\n%d %4.1f %4.2",time_in seconds,actual_surprcss,actualjposition); } if()(position_error > 0.1 11 positiooerror < -0.1)) { time_E=timerO; time_to_get_there=(time_E - time_start)* 10; printf("\nActual position is within tolerance for desired position."); printf("\nTime to reach desired position = %& msec.",time_tojget_there); total_time=0; put_brake_onO; brake_on=l; printf("\nBrake now applied."); > else {printf("\nUnabIe to achieve position. Check valve and sensor connections.*); } printf(*\nEnter a key to return to menu."); inchar=getchO; } inchar='y"; } if (inchar=="4') /••••••• /• RETRACTOR PRESSURE FEEDBACK CONTROL •/ { mode=4; fprintf((ptr,"\nRetractor pressure control"); take_brake_off0; brake_on=0; printf("\nPressure Control: Actuator will be adjusted to maintain "); printf("\nretraction pressure within limits selected."); printf("\n\nEnter lower limit"); scanf(" %d",&minimiim jressure); printf("\n\nEnter upper limit:"); scanf(" %d",&maximum_pressure); fprintf(fptr," %d *rf" lmjniniimijrB«!nirp. im<lTimiim_prMinire); inchar='y'; printf("\n\nRetractor pressure will be maintained within window, until key hit,"); printf("\n\nHit a key to start."); while(!kbhit0);getch0; whUe(lkbhit0) { surpress_datum=irmut_analog_datum(surpress_chajmel,surpress^ ain); actual_surpress=((surpress_datum-2048)/2048•10000-surpress_offset) *surpress_a2d_factor; printf("\nActual retractor pressure = 963.0f mmHg",actual_surpress); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 161 time(&new_time); time_in_seconda=(unsigned short)(new_time-start_time); fprintf(fptr," \n 96 d 964.If" ,tirne_in_seconds,actual_surpress); pressure—(int)actual_surpress; wbile( ((pressure <minimum_pressure) 11 (pressure > maximum _pressure))&& IkbhitQ) { if (pressure > maxhnum_pressure) { time_on=0; time_0=timerO; output_digital_datum(port,open_exhaust_valve); wbile((pressure > maximum_pressurc) & time_on< valve_open_time) { surpress_datum = irmut_arialog_danim(surpress_chaanel,surpress^ gain); actual surpress — ((surpress_(iatum-2048)/2(M8*10(XX)-surpress_offset),surpress_a2d_factor^ ^ pressure=(ini)acnial_surpress; time_on=timerO-time_0; ) output digital datum(port,close_exhaust valve); } else { time_on=0;time_0=timerO; output_digital_datum(port,open_source_valve); wbile((pressure<rninimum_pressure) && (time on < valve_open time)) { surpress_datum = input_analog_datum(suipress_channel,suipress^ ain); achial_surpress =((surpress_datum-2048)/2048*l(XXX)-surpress_offset),surpress_a2d_factor; pressure=(int)actual_surpress; time on=timerO-tmie_0; } output digital datum (port, close_source_valve); } time_delay(500); surpress_datum = input_analog_datum(surpress_channel,surpress_^ gain); actual_surpress = ((surpress_datum-2048)/2048 • 10000-surpressoffset) *surpress_a2d_factor, position_datum = mput_aoalog_datum(position_channel,positionjgain); actualjrasition = 10-(4096 - position_datum),ro.0/2048; time(&new_time); time_in_seconds=(unsigned short)(new_time-start_time); fprintf(fptr,*\n96d 964.If 964.2",time in_seconds,actual_surpress,actualj>osition); } if(((pressure > minimum_pressure)&& (pressure < maximum_pressure))) { printf("\nActual retractor press is within tolerance for desired retractor pressure."); } else {printf("\nUnable to achieve position. Check valve and sensor connections."); printf("\nAnd check ends top conditions."); } > inchar='y'; ) if (inchar= = '5') ,..........*....,........*.............../ /• HYBRID POSITION/PRESSURE MODE •/ { mode=5; fprintf(fptr,"\n96d Hybrid Mode",mode); take_brake_offO; brake_on=0; output_digital_datum(port,open_exhaust_vatve); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 162 time_deUy(3000); printf("\nPosiuon control based on initial pressure mode selected."); printf("\nPlace retractor in desired position. Pressure in sensor will be measured and*); printf("\nused as a control parameter."); printf("\n\nStrike a key when desired pressure is applied, (this simulates"); printf("\nthe motion button being released.)"); inchar=getchO; inchar= 'y'; surpress_datum=input_analog_datum(surpress_channel, surpress_gain); desired_surpress=((surpress_datiim-2048)/2048*10000^  printf("\nDesired retractor pressure = %3.0f mmHg",desired_surpress); printf("\nShort time delay during which some relaxation takes place, lowering retractor pressure."); time_delay(2000); surpiess_datum=mput_anaJog_datum(suipress_cl>aimel,surpressjgain); actual_surpress=((surpress_datum-2048)/2O48 * I O000-surpress_offset) *surpress_a2d_factor, printf("\nActual retractor pressure = 9S3.0f mmHg",actual_surpress); surpress_error=desired_surpress-actual_surpress; time(&new_time); time_in_seconds =(unsigned short)(new_time-start_time); fprintf(rptr,"\n96d %4.1f %d",time_in_seconds>actual_surpress,desired_surpress); time_start=timerO; steps=0; while( (surpress_error > surpress_allow_error 11 surpress_error < -surpress_allow_error) && steps < 5) { steps=steps+l; if (surpress error < -surpress allow_error) { time_on=0; time_0=timerO; output_digital_datum(port,open_exhaust_valve); while((desired_surpress-actual_surpre3S < -surpress_allow_error) & time_on< valve_open_time) { surpress_datum = mput_analog_datum(surprcss_channeI,surpress_gain); actual_surpress = ((surpress_cktum-2048)/2048*10000-surpress_offset)*3urpress_a2d_factor, time_on=timerO-time_0; } output_digital datum(port, close exhaust_valve); > if (surpress error > surpress allow_error) { time_on=0;time_0=timerO; output_dig ital_daturn (port, open_sourcc_varve); while((desired surpress-actual surpress > surpress_allow_error) & timc_on < valve_open_time) { surpress_datum = input_analog_datum(surpress_criannel,surpress_gain); actual_surprcss =((suipress_datum-2048)/2048*10000-surpress_offset)*surpress_a2d_factor, time on=timerO-time 0; } output_digital_datum(port,close source valve); } time_delay(500); surpress_datum — mput_analog_aatum(surpress_channel,surpress_gain); actual surpress = ((surpress_datnm-2048)/2048*10000-surpress_offset)*surpress__a2d_factor, surpress_error = desired_surpress - actual surpress; printf("\nDesired retractor pressure: 963.Of Actual retractor pressure: 964.2f",desired_surpress ,actual_surpress); position_datum = input_analog_datum(position_channel,position_gain); actualJKMIUOO = 10-(4096 - posiuon_datum)*10.0/2048; printf("\nPosition = 964.2f cm",actual_position); time(&new_time); time_m_seconds=(unsigned short)(new_time-start_time); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 163 fprrntf(fptr,"\n%d %4.1f %4.2",limc_m_scc<xid3,actual_surprcss,actua]jxi3itioo); if(!(surpress_error > surpress allow_error 11 surpress_error < -surpress allow error)) { time_E=timerO; time_to_get_there=(time_E - time_start)* 10; printf("\nActual retractor press is within tolerance for desired retractor pressure."); printf("\nTime to reach desired retraction pressure = %d msec.",time_to_get_there); total_time=0; inchar='n'; put_brake_onO; brake_on=l; printf("\nBrake now applied."); } else {printf("\nUnable to achieve position. Check valve and sensor connections."); } printf("\nEnter a key to return to menu."); inchar=getchO; inchar='y'; ). if(inchar= = '6') /* HANDSW1TCH CONTROL of Retractor •/ { mode=6; fprintf(fptr,"\n%d Handswitch",mode); steps=0; position_datum = input_analog_datum(posiUon_channel,position_gain); actual_position = 10-(4096 - position_datum)*10.0/2048; old_position=actual_position; inchar='y'; while(inchar!='q') { while(IkbhitO) { ourput_digital_datum(port,open_brake_valve); steps=steps+l; _clearscreen(_GCLEARSCREEN); printf("\nNo key hit yet. Q to quit.\n"); swtch_datum — mput_arudog_dauim(swteh_channel,swtch^ gain); swtch_voltage = 10-(4096 - swtch_datum)*10.0/2O48; if(abs(swtch voltage-extend_threshold)<.l) { fprintf(fptr,"\nExtend"); output_digital_darum(port,open_exhaust_valve); steps=0; while(abs(swtch voltage-extend threshold) < sens) { time_delay(100); steps=steps+l; positiondatum = mput_analog_datutn<position_channel,position^ gain); actual_positioo = 10-(4096 - position_datum)*10.0/2048; if((actual_position-old_position < 0.01)&&(steps > 3)) { outbyte=open_exhaust_valve+LED l_on; output_digital_datum(port,out_byte); printf("\nLED ON!"); } old_position=actual_position; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 164 swtch_datum — input_analcg_datum(swtch_channel, swtch_gain); swtch_voltage = 10-(4096 - swtch_datum)*10.0/2048; time(&new_time); timeinseconds=(unsigned short)(new_time-suut_time); fprintf(fptr,"\n96d 964.1f 964.2",time_m_seconds,actual_surpress,acuial_position); fprintf(fptr,"."); } output digitai_datumtj>ort,close_exhaust_vaive); ~ ) else { if(abs(swtch voltage-retract_threshold) < sens) { fprintf(fptr, "\nRetract"); output_digital_datum(port,open_source_valve); steps=0; while(abs(swtch_voltag6-retract threshold) < sens) { time_delay(100); steps=steps +1; position_datum — mput_analog_datum(posiUon_cluinneI,position_gain); actual_position = 10-(4096 - posWon_datum),10.0/2048; if((old_position-actual_position < 0.01)&&(steps > 3)) { out_byte=open_source_valve+LEO l_on; output_digita]_daturn (port, out_byte); printf("\nLED ON!"); ) old_position=actual_position; swtch_datum — mput_analog_datum(swtch_channel,swtch_gain); swtch_voltage = 10-(4096 - swtch_datum)*10.0/2048; time<&new_time); time_in_seconds=(unsigned short)(new_time-start_time); fprintf(fptr,"\n%d 964.If %4.2",time_m_seconds,actual_surpress,actual_position); fprintf(fptr,"."); } output digital datum(poit,close_source_varve); } } position_datum = mput_analog_d^ tum(posiu'on_channel,posiuon^ ain); actual_position = 10-(4096 - position_datum)*ro.0/2048; printf("\n Position: 964.2f cm\n",actual_position); surpress_datum — mput_analog_datum(surpress_channel,surpressjgain); actual_surpress =((surpress_dauim-2048)/2048*10(XX)-suipress_offset)*surpress_a2d_factor; printf("\n Retractor pressure: 963.Of mmHg\n",actual_surpress); timc(&new_time); time_in_seconds=(unsigned short)(new_time-start_time); fprintf(fptr,"\n%d %4.1f %4.2",ume_m_seconds,actuaI_surpress,actual_position); time_delay(S00); rtrac_datum = input_analog_datum(rtracl_channel,swtch_gain); rtracl =10.0-(4094-rtrac_datum)»10.0/2048; rtrac_datum = mput_analc»g_datum(rtnic2_channel,swtch_gaio); rtrac2 =10.0-(4()9^ rtro_dadim)*10.0/2048; printf("\n retracl,2 96f, l6r)rtracl,rtrac2); if((rtracl < 3) 11 (rtrac2 < 3)) {printf("\n Robotrac switch activated. Extending fulhy."); fprintf (fptr, "\nRobotrac switch activated."); outputdighalda turn (port, open_cxhaust_valve); timestart=timerO; swtch_on=0; time_on=0; while((time_on<5)&&(swtch_on= =0)) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 165 { swtch_datum = mput_analog_datum(swtch_channcl, swtchg ain); swtch~voltage = 10-(4096 - swtch_datum)*10.0/2O48; if(abs(swtch_voltage-retract threshold) < sens) { printf("\nHandswitch detected. Full extend aborted.\n"); swtch on=l; } if(abs(swtch_voItage-extend_threshoId) < sens) { printf("\nHandswitch detected. Full extend aborted.\n"); swtch on=l; } time_on=(timerO-time_start)/100.0; printf("\nTime 96f. swtch_on 96d",time on, swtch on); } output digital datum(port,close_exhaust valve); } > inchar=getchO; } output_digital_datum(port,close_brake_valve); inchar='y'; } if(inchar=='7') / / /• PERIODIC RELEASE OF PRESSURE •/ { fprintf(fptr,"\nPeriodic release of pressure"); printf("\n\nPressure will be released periodicaly\nto a given pressure.\n\n"); printf("\n\nEnter maximum pressure for release:"); scanf(" %d",&release_pressure); printf("\n\nEnter period for cycle (minutes)."); scanf(" 96 f" ,&cycle_period_minutes); cycle_period=(unsigned short) (cycle_period_minutes *60); printf("\n\nEnter period of release (minutes)."); scanff %f",&release_pcriod_minutes); releasejwriod=(unsigned short)(releasej)enod_minutes*60); /« release_pressure=50; cycle_period=(unsigned short)5; reIease_period=2; •/ _clearscreen(_GCLEARSCREEN); printf("Retractor will release to %d mmHg every %4.If minutes for %d seconds",release_pressure,(float)cycle_period760,release_period); fprintf(fptr, "\nRetractor will release to 96d mmHg every 964.If minutes for 96d seconds",release_pressure,(float)cycle_period/60,release_period); printf("\n\nHit a key to start."); while(!kbhitO) ;getch0; printf("\nHit another key to stop..."); position_datum = input_analog_(btum(posiu^ _channel,position_gain); actualjposition = 10-(4096 - position_datum)*10.0/2048; retum_position=actual_position; while(!kbhitO) { timc(&new_time); last_period=(unsigned short) (new_trme-start_time); time_since_release=0; while((time_since_release < cycle_period)&& IkbhitQ) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix IV Source code 166 surpress_datum = input_anAlog_datum(surpress_channcl, surprcss_gain); actual_surpress =((surpress_datum-2048)/2048*10000-surpress_offset)*surpress ume(&new_time); time_in_seconds=(unsigned short)(new_time-start_time); fprintf(fptr,"\n %d 964.1 f",time_in_seconds,actual_surpress); printf("\n\nTime since release = 96d secoods.",time_since_release); printf("\nRetractor pressure: 963.0fnunHg\n",actual_surpress); time_delay(500); time since release=(unsigned short)(new_time-start_time-last_period); } /• if(kbhitO)inchar=getchO; if(!(inchar= = 'q')) •/ { pressure=(int)actual_surpress; if (pressure > release_pressure) { take_brake_off0; time_to_get_there=0; time(&new_time); last_period=(unsigned short)(new_time-start_time); while((pressure > release_pressure)&&!kbhitO&&time_to_get_there < release_period) { time_on=0; time_0=timerO; output_digital_datum(port,open_exhaust_valve); while((pressure>release_pressure) & time_on< valve_open_time) { surpress_datum — input_analog_datum(surpress_channel,surpress_gain); actual_surpress = ((surpress_datum-2048)/2048*10000-surpress_offset)*surpress_a2d_factor; pressure=(int)actual_surpress; time_on=timerO-time_0; ) output_digital_datum(port,close_exhaust_valve); time(&new_time); ume_to^ et_there=(mt)(new_ume-start_time-last_period); } put_brake_onO; ume(&new_time); time_in_seconds=(unsigned short) (new_time-start_time); fprintf (fptr, "\n96d 964.IP >time_in_seconds,actual_surpress); time_deU\y(release_period*1000); takebrakeoffO; brake_on=0; position_datum = input_analog_datum(position_chamiel,position_jain); actual_position = 10-(4096 • position_datum)*10.0/2048; desired_position=return_position; position_error = desired_position - actual_position; time_start=timerO; steps=0; while( (position_error > 0.1 11 positionerror < -0.1) && steps < 10) { steps=steps+l; if (position error > 0.1) { time_on=0; time_0=timerO; o«tput_digital_datum(port,open_exhaust_valve); while((desired_position-actual_position > 0.1) && time_on < valve open_time) { position_datum = 1 .O*input_analog_datum(position_channel,position_gain); actual_posiuon = 10- (4096 - posiuon_aatum)*10.0/2048.0;; tixne_on=timerO-time 0; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix TV Source code 167 ) output_digital_datum(port1close_exhaust valve); } if (position error < -0.1) { time_on=0; time_0=timerO; output_digitd_dattim(port,open_source_valve); while((desired_posiuoa-actualj>osition<-0.1) && time on < valve_open time) { positioo_datum = 1.0*irmut_analog_datum(posiu'on_clmnel>posidonjain); actual_posiuon = 10- (4096 - posiuon_datum)*10.0/2048.0; time_on=timerO-time_0; } output_digital_datum(port,close_source_valve); ) position_datum — 1.0*input_aiialog_d t^um(posidon_channel,positioQ_gain); actual_position = 10- (4096 - posiuOT_datum)*10.6/2048.0; time_delay(200); position_error = desiredjposition - actual_positioo; surpress_datum = mput_analog_datum(surpress_eharmel,surpress_^ ain); actual_surpress =((suipress_datum-2048)/2048,10000-surpress_offset)*surpress_a2d_factor; time(&new_time); time_in_seconds=(unsigned short)(new_time-start_time); fprintf(fptr,"\n96d %4.1f",time_in seconds,actual_surpress); } put_brake_on0; brake_on=l; if((position_error > 0.1 11 position_error < -0.1)) { printf("\nUnablc to achieve position. Check valve and sensor connections."); printf("\n£nter a key to continue to menu."); inchar=getch0; } } else printf("\n\nPressure less than threshold. No release necessary."); } ) inchar=getchO; inchar='y'; } if(inchar=='8') { _clearscreen(_GCLEARSCREEN); printf("\nEnter a string of <40 characters for annotating the output file:\n"); gets(charstring); fprintf(fptr," "); fpuU(charstring,rptr); inchar='y'; } if(inchar=='9') { inchar='n'; fclose(fptr); ) else inchar='y"; } } Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix TV Source code 168 /•reset_a2d_board •/ reset a2d_board0 { int temp; outp(DTCSR,CSTOP); readwait; temp=inp(DTDAT); writewait; commandwait; outp(DTCSR,RESET); readwait; temp=inp(DTDAT); } /* setup_digital_output This function sets up the digital I/O port for output PREREQUISITE: None dtdef.h must be included in the main program. •/ setup_digital_output(port) int port; { int data; outp(DTCSR,CSTOP); readwait; data = inpfDTDAT); writewait; commandwait; /*wait for ready flag */ outp(DTCSR, 0x05 ); / • Set digital port for output command •/ writewait; /"wait until command processed */ outp( DTDAT, port); /* Set port */ } /* output_digital_data This routine outputs one byte of data to the specified digital port. PREREQUISITE: set_up_digital_port must be called once before this function is used by the main program. dtdef.h must be included in the main program. •/ output_digital_datum(port, data) int port,data; { int status; writewait; commandwait; /* wait for ready flag */ outp(DTCSR, 0x07 ); / • Write digital output immediate •/ writewait; /*wait until command processed */ outp( DTDAT, port); / • Port •/ Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix TV Source code 169 writewait; / • wait till ready •/ outp( DTDAT, data); / • send out data •/ writewait; commandwait; status=inp(DTCSR); if(status&ERROR) {printf("\nerrorl\n"); exitO;} retum(l); ) / /* input_analog_datum reads in analog data from the designated channel using the designated gain and returns an integer containing 12 bit data. Modified from existing Andronic routines by Judy Findlay Nov. 21, 1989 •/ mput_analog_datum(channel,gain) int channel, gain; { int data; writewait; commandwait; /"wait for ready flag */ outpfDTCSR, OxOc ); /* non triggered a to d immediate command */ writewait; /*wait until command processed */ outp( DTDAT, gain ); /* set gain parameters */ writewait; /*wait until command processed */ outp( DTDAT, channel); /* set channel */ readwait; data = inp (DTDAT); readwait; data = data + (inp(DTDAT) < < 8); writewait; commandwait; /* wait till ready */ if (inp(DTCSR) & ERROR) {printf("\nError2.\n"); exity;} retum(data); } / • Time_delay This function provides a time delay of a given number of milliseconds. It uses the standard library function ftimeO and header file timet.h, and the system clock, and calls the function timeoutO. NOTE: millisec must be greater than 120. •/ include <sys\types.h> #mclude <sys\timeb.h> struct timeb xtime; long timel, time2; long intval; time_delay(millisec) int millisec; { intval=(millisec < 120) ? 120:millisec; ftime(&xtime); timel — 0ong)xtime.millitm/10 + xtime.time*100; while ( ItimeoutO); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix TV Source code 170 return(l); } timeoutO { fume(&xtime); time2 = (loQg)xome.niillitm/10 +xtime.time*100; return ( ((ume2-umel)»10>intval) ? 1:0); } /•returns the time in hundredths of a second */ i^nclude <sys\types.h> i^nclude <sys\timeb.h> struct timeb xtime; timerO { long time_data; ftime(&xtime); time_data = 0ong)xtime.millitm/10 + xtime.time'lOO; retum(time data); ) take brake offO { int port,open_brake_valve; port=0; open_brake_valve=8; output_digital_datum(port>open_brake_valve); time_delay(1000); retum(l); > put_brake onO { int port,close_brake_valve; port=0; close_brake_valve=0; output_dig ital_datum(port, close_b rake_valve); time_delay(1000); retura(l); } float abs(value) float value; { if(value<0.0)value=-value; return(value); } Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 171 / • mits0910.c •/ /* Program to control the Mitsubishi RM-501 using keyboard, pendant and voice (IOCS) with pressure monitoring, and automated control modes. CLINICAL TRIAL VERSION -This program differs significantly Created September 5-6, 1990 from iocs0309.c For use with DT-2801 A/D board, and IOCS relay outputs with interface circuit. This program calls the following functions: input_analog_datumO: inputs a byte representing analog data reset_a2d_board0: sends the reset command to the DT2801 board time_delayO: creates a time delay of a given number of milliseconds check_limitsO: checks to see if desired position is out of the range of motion. check_safety_envelopeO: checks to see if safe envelope is being breached moveJointsO: moves joints to the desired new positions •/ include "qdtdef.h" i^nclude <stdio.h> include < graph.h> i^nclude <conio.h> include <math.h> Mnclude <sys\types.h> include <sys\timeb.h> include <time.h> main(argc,argv) int argc; char *argvfj; { FILE •jdfptr, •fptr, struct timeb xtime; int kbhit(void); int up_channel, gain, down_channel; int phiupchannel, phidownchannel; float up_datum, actual_upvalue; float down_datum, achial_downvalue; float phi_up_datum, phi_up_valuc; float phi_down_datum, phi_down_value; int retract_channel, extend_channel; float retract_datum, extenddatum; float retractvalue, extendvalue; int move_in channel, move_out_channcl; float move_in_datum, move_out_datum; float move_in_value, move_out_value; from earlier versions (IOCS series) in terms of program flow and safety features. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 172 float Il,12,13,tan_ang]e,cl,c2,zl,z2,dl,d2; char inchar; float joint_angle[6], joint_change[6], new_angle[6], reuim_angle[6],initial[6]; int setup _complete, initial_position_set; int i,move,iterate,mov em ent_factor, float retractor_angle; int stepsl,steps2; float distance, release_distance; float pi_factor, unsigned short time_in_seconds; time_t start_time, new_time, last_period; char charstring[50]; int pressl_channel, press2_channel, press3_channel, press_gain; float press_datum, pressl,press2,press3; float pressl_offset,press2_offset,press3_offset; float pressl_a2d_factor, press2_a2d_factor, press3_a2d_factor; unsigned short time_since_release; int release_period; unsigned short cycle_period; int release_pressure, pressure; int movement_possible; char joint; int minimum_pressure,rnaximum_pressure; float cycle_period_minutes, release_period_minutes; float safel_z, safe2_z; int mode,press_mode; int pause; gain=0; up_channel=0; down_channel=1; phi_up_channel=2; phi_down_channel=3; extend_channel=6; retract_channel=7; move_m_channel=4; move_out_channel=5; pressl_channel=10; press2_channel=11; press3_channel=12; press_gain=2; pressl_offset=2350; press2_offset=2350; press3_offset=1880; pressl_a2d_factor=0.025; press2_a2d_fac tor=0.03; press3_a2d_factor=0.03; scuip_complete=0; initial_position_set=0; retractor_angle=0; 11=220; 12=160; 13=340; pi_factor=0.01745; / • pi/180 •/ stepsl=0; steps2=0; distance=3; release_distance=3; safel_z=-250; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 173 safe2_z=0; pause=600; initial[0]=40; initial[l]=30; initial[2]=30; iniual[3]=10; initial[4]=0.0; if(argc!=3) {printf("VnPlease use format: iocstime jointdatafilename, pressuredatafilename."); exitO; if((fptr=fopen(argvr2],"w")) = =NULL) {printf("\nCan't open file 96s.",argv[2]); exitO;} /•RESET the A/D board •/ reset_a2d_board0; time_delay(500); reset_a2d_board0; prmtf("Irutializing timer for output file."); time(&start_time); time_in_seconds=0;" inchar='y'; while (inchar= = 'y') { _clearscreen(_OCLEARSCREEN); printf(" R M 5 0 1 M A I N M E N U O P T I O N S"); printf("\n\nPLEASE SELECT ONE OF THE FOLLOWING OPTIONS:"); printf("\n\n 0) RESET RM-501"); printf("\n 1) RESET and NEST RM-501"); printf("\n 2) Soft nest (n)"); printf("\n 3) Set to Initial Position (i)"); printf("\n 4) Set to Draping Position (d)"); printf("\n 5) Position Control using IOCS"); printf("\n 6) Position Control using Keyboard (k)"); printf("\n 7) Set current position as initial position"); printf("\n 1) Set current position as lower motion limit"); printf("\n u) Set current position as upper motion limit"); printf("\n 8) Calibrate Pressure Sensors (c)"); printf("\n 9) OPERATING MODE"); printf("\n a) Annotate Output File"); printf("\n x) Exit program"); printf("\n\nENTER YOUR SELECTION."); inchar=getchO; _clearscreen(_GCLEARSCREEN); if (inchar=='0') / • RESET •/ { printf("\n\n»*** R E S E T R M _ 5 0 1 •••*\n"); prmtf("\nResetting robot. Maintaining position...\n"); fprintf(fptr,"\nReset."); fprintf(stdpm, "RS\r"); time_delay(1000); inchar='y'; } if (inchar==T) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 174 / • RESET AND NEST •/ { printf("\n\n»«" R E S E T R M . 5 0 1 •• • •W); printf("\nEnsure that robot ia free to move to NEST position.\n"); printf("\nHit a key when ready."); inchar=getchO; printf("\nReset and moving robot to Nest position...\n"); fprintf(fptr,"\nReset and Nest"); fprintf(stdpm,"RS\r"); fprintf(stdprn, "NT\r"); time_oelay(2000); inchar='y'; initial_position_set=0; joint_angle[0]=0.0; joint_angle[l] = 100.0; joint_angle[2]=90.0; joint_angle[3]=90.0; joint_angle[4]=0.0; if((jdfptr=fopen(argv[l],"w")) = =NULL) {printf("\nCan't open file 58s.",argv[l]); exitO;} fprintf(jdfptr, "%f,?6f,%f)%f,?6rjomt_angle[0],jomt_angle[l]jomt_angler2]jomt_a^ fclose(jdfptr); fprintf(stdpm, "SP9\r"); } if ((inchar= = '2')| j(inchar=='n')) / . . . . . . . , . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . / /* SET TO SOFT NEST POSITION */ { printf("Move Robot to Soft nest position? y/n ('s' to move without iocs)"); inchar=getchO; if((inchar= = 'y') | j (inchar= = 's')) { if((jdfptr=fopen(argv[l],"r"))= =NULL) {printf("\nCan't open file 96s.",argv[l]); exitO;} fscanf(jdfptr, "%{,%(,%(,%(,96r,.syomtjirigle[0],&jomtjuigle[l]>&jomt^^ fclose(jdfptr); joint_change[0]=(40.0 - joint_angle[0])/10; joint_change[l]=(99.5 - joint_angle[lD/10; joint_change[2]=(89.5 - joint_angle[2])/10; joint_change(3]=(89.5 - joint_angle[3])/10; joint_change[4]=(0.0 - joint_angle[4])/10; stepsl=0; whUe((!kbhitO)&&(stepsl < 10)) { move_out_dahim = input_analog_datum(move_out_channel,gain); move_outvahie = 10-(4096 - move_out_datum)*10.0/2048; if((move out_vahie>l)||(inchar=='s')) { for(i=0;i< =4;i+ +) new_angle[i]=joint_angle[i]+joint_change[i]; if(check_limits(new_angle)) {for(i=0;i< =4;i+ +) joint_angle[i]=new_angle[i]; movejoints(joint_change); stepsl=stepsl+l; } else printf("\nDesired movement is out of range !"); } } Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 175 if (stepsl = = 10) fprintf (fptr, "\nSet to soft nest position"); if((jdfptr=fopen(argv[l]>"w")) = =NULL) {printf("\nCan't open file %s.",argv[l]); exitO;} fprintf(idfptr, " 98f, 96 f, 96 f, 96 f, 98 P joint_angle[0]joim_angIe[l]joint_angIe[2]joint_angle[3]joint_angler4]); fclose(jdfptr); ) fprintf(stdpm,"SP5\r"); inchar='y'; } if((inchar= = '3') 11 (inchar= = 'i')) /.,.................,................../ /* SET TO INTTIAL POSITION */ { printf("Extend robot to ready position? y/n ('s' to move without iocs)"); inchar=getchO; if((inchar= = 'y') 11 (inchar= = 's')) { if((jdfptr=fopen(argv[l],"r"))==NULL) {printf("\nCan't open file %s.",argv[l]); exitO;} fscanfQdfptr, "96 f,96 f,%f,%(,%P,c&jomt_angle[0],&jomt_angle[l],&jomt_angleP],&jomt_angle[3],&jomt_a^  fclose(jdfptr); fprintf(stdpm," SP9\r"); joint_change[0]=(initial[0] - joint_angle[0])/10; joint_change[l]=(initial[l] - joint_angle(l])/10; joint_change[2] = (initial[2] - joint_angle[2])/10; jomt_cliange[3]=(initial[3] - joint_angle[3])/10; joint_change[4]=(initial[4] - joint_angle[4])/10; steps 1 =0; while((!kbhitO)&&(stepsl < 10)) ( moveout datum = input_analog_datum(move_out_channel,gain); move_out_value = 10-(4096 - move_out_datum)'10.0/2048; if((move out_value> 1) j |(inchar= ='s')) { for(i=0;i< =4;i+ +) new_angle[i]=joint_angle[i]+joint_change[i]; if(check_limits(new_angle)) {for(i=0;i< =4;i+ +) joint_angle[i] =new_angle[i]; moveJoints(joint_change); stepsl=steps 1+1; ) else printf("\nDesired movement is out of range I"); ) } if (stepsl = = 10)fprintf(fptr,"\nSet to initial position"); initial_position_set= 1; if((jdfptr=fopen(argv[l],"w")) = =NULL) {printf("\nCan't open file 96s.",argv[l]); exitO;} fprtntf(jdfptr, " 96f, 96f, 96f, 98 f, 98P joint_angle[0] joint_angle[l] joint_angle[2] joint_angle[3] joint_angle[4]); fclose(jdfptr); } inchar='y'; fprintf(stdpm,"SP5\r"); } if ((inchar=='4') 11 fmchar= = 'd-)) / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . „ . . . . . . . . / /• SET TO DRAPING POSITION •/ { printf("Extend robot to draping position? y/n ('s' to move without iocs)"); inchar=getchO; if((inchar= = 'y')| |(inchar= = 's')) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 176 < if((jdfptr=fopen(argv[l],"r"))= =NULL) {printf("\nCan't open file %s.",argv[lJJ; exitO;} fscanf(jdfptr, "%f,%f,%f,%f,%r,&jomt_angle[0],&jomt_»^le[l],^ fclose(jdfptr); fprintf(stdpra, "SP9\r"); joint_change[0]=(40.0 - joint_angle[0])/10; jorat_change[l]=(60.0 - joint_angle[l])/10; joint_change[2]=(30.0 - joint_angle[2])/10; joint_change[3]=(20.0 - joint_angle[3])/10; joint_change[4]=(0.0 - joint_angle[4])/10; stepsl =0; while((!kbhitO)&&(stepsl < 10)) { move_out_daujm = input_analog_datum(move_out_channel,gain); move_out_value = 10-(4096 - move_out_datum),10.0/2048; if(move_out value>l)| |(inchar= = 's')) { for(i=0;i< =4;i++)new_angle[i]=joint_angle[i]+joint_change[i]; tf(check_limits(new_angle)) {for(i=0;i< =4;i+ +) joint_angle[i]=new_angle[i]; movejoints(joint_change); stepsl=stepsl + l; } else printf("\nDesired movement is out of range !"); } } if (stepsl = = 10) fprintf(fptr,"\nSet to Draping position"); if(Odfptr=fopen(argv[l],"w")) = =NULL) {printf("\nCan't open file 98s.",argv[l]); exitO;} fprintfO'dfptr, " %f, % f, % f, % f, %V joint_angle[0] joint_angle[l]Joint_angle[2] joint_angle[3] joint_angle[4]); fclosc(jdfptr); } inchar='y'; fprintf(stdprn,"SP5\r"); } if (inchar= ='5') /................,...„.............,...../ /• POSITION CONTROL USING IOCS •/ { if(Qdfptr=fopen(argv[l],"r"))= =NULL) {printf("\nCan't open file %s.",argv[l]); exitO;} fscanffjdfptr, "%f,%f,%f, %f, %P,&jomtjiiigle[0],&jomtjuigle[l],^  fclose(jdfptr); fprintf (fptr, "\nPosition control using IOCS."); _clearscreen(_GCLEARSCREEN); printf("\n\nWaiting for IOCS input...\n\n"); fprintf(stdprn, "SP6\r"); whiletfkbhitO) { time_de lay (pause); up H « t n t w = input analog datum(up channel,gain); actual_upvalue = I0-(4096 - up_datum)'10.0/2048; down_datum = input_analog_datum(down_cbannel,gain); actualdownvahie = To-(4096 - down_datum)*10.0/2048; up_datum = input_analog_datum(phi_up_channel,gain); phi_up_value = 10-(4096 - up_datum)*10.0/2048; down_datum = input_aiuUog_datum(phi_down_channel,gain); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 111 phi_down_valuc = 10-(4096 - down_datum)*10.0/2048; move_in_datum = iiwutjuudogjlatum(moveJn_channel,gain); move_in_value = 10-(4096 - move_m_datum)*10.0/2048; move_out_datum = inputjinalog_datum(move_outj:luumel,gain); moveoutvalue = 10-(4096 - move_out_datum),io.0/2048; retract_datum = mputjuudogjUtum(rettactj:hannel,gain); retractvahie = 10-(4096 - retract_datum),10.0/2048; cxtcnd_datum = mput_anaJog_d^tum(cxtcnd_channcl,gain); exteod_value = 10-(4096 - extend_datum),lb.O/2048; for(i=0;i< =4;i+ +) joint_cbjmge[i]=0; move=0; inchar='y'; if(kbhitO) inchar=getchO; if((retract_value > 1) 11 (extend_value > 1) 11 (inchar= = 'r') 11 (inchar= = 'e')) { move=l; if((inchar=='r')| ((retract value>l)) < printf("\nRetractirig..."); fprintf (fptr, "\nRetracting..."); movement factor=2; } else {printf("\nExtending..."); fprintf(fptr, "NnExtending.."); movement_factor=-2; ) retractor_angle=joint_angle[3] +joint_angIe[2]-joint_angle[l]; zl=ll*sm(pijactor*jomt_angle[l])+12*sm(pi_factor*0^  z2=zl+movement_factor*(distance*sm(pi_factor*retractor_aogle)); dl=11 •cos(pi_factor*joint_angle[l])+12*cos(pi_factor*(joint_angle[l]-joint_angle[2])); d2=dl-movement_factor*(dutanceVos(pi_factor*retractor_angle)); c2=acos((z2*z2+d2*d2-U,ll-e,n)/a*lf*12)); cl =atan(z2/d2)+atan((12*sin(c2))/ai+12*cos(c2))); joint_change[l]=cl/pi_factor-jomt_angle[l]; joint_changer2]=c2/pi_factor-joint_angler2]; jomt_changep]=retractorjmgle-c2/pi_factor+cl/p^  } if((actual upvalue > 1) 11 (actual_downvalue > 1) 11 (inchar= — 'u') 11 (inchar= = 'd')) { move=l; if((inchar= =V) | |(actual_upvalue> 1)) { printf("\nRetractor moving up 2 cm."); fprintf (fptr, "NnRetractor moving up 2 cm."); movement_factor—4; } else { printf("\nRetractor moving down 2 cm."); fprmtf(fptr,"\nRetractor moving down 2 cm."); movement_factor=-4; ) retractor_arigle=jomt_angle[3]+jomt_angler2Hoint_angIe(I]; zl=ll'sm(pi_factor*jomt_angle[lTJ+12*sm(pi_factor*0'omt_angle[l]-jom^  z2=zl +movement_factor, Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 178 dl=U*cos(pi_facta^omt_angle[lD+E'cos^ d2=dl; c2=acos((z2*z2+d2«d2-ll'll-12*12)/(2'Il'12)); cl=atan(z2/d2)+atan((12*sin(c2))/(Il+I2*coa(c2))); jomt_change[l]=cl/pi_factor-joint_angle[l]; joint_change[2]=c2/pi_factor-joint_angler2]; jomt_change[3]=reuTKtor_angle^ 2/pi_factor+cl/pi_factOT } if((move_in vahie>l)| |(move_out vahie>l)| |(inchar= = ,i')| |(inchar= = 'o')) { move=l; if((inchar= = 'i') 11 (move_in value > 1)) { printf("\nRetractor moving in 2 cm."); fprintf (fptr, "\nRetractor moving in 2 cm."); movement_factor=-4; > else { printf("\nRetractor moving out 2 cm."); fprintf(fptr,"\nRetractor moving out 2 cm."); movement factor=4; } retractor_angle=jomt_angle[3]+joint_angle[2]-joint_angle[l]; zl=ll*sm(pi_factOT^ omt_angle[lD+12*sm(pi_fac^  z2=zl; dl=ll*cos(pi_factor*jomt_angle[lTJ+12*cos(pi_factor^  d2=dl +movement_factor, c2=acos((z2'z2+d2,d2-ll,ll-12,12)/(2*ll*12)); cl =atan(z2/d2)+atan((12*sin(c2))/(ll+Q*cos(c2))); joint_change[l]=cl/pi_factor-joint_angle[l]; joint_change[2]=c2/pi_factor-joint_angle[2]; jomt_changeP]=retractor_angle-c2/pi_factor+cl/pi_factor-joint_angle[3]; } if((phi up_vahie > 1) 11 (incnar= = 'a')) { printf("\nRetractor angle moving up 1 degrees."); fprintf(fptr,"\nRetractor angle moving up 1 degrees."); joint_change[3] =-1; move=l; ) else {if((phi_down_value> 1) 11 (inchar= = 'b')) {printf("\nRetractor angle moving down 1 degrees."); fprintf (fptr, "NnRetractor angle moving down 1 degrees."); joint_change[3] = 1; move=l; } } if (move = = 1) { for(i=0;i< =4;i+ +) new_angle[i]=jomt_angleti]+joint_change[i]; if(check:_limits(new_angle)) {for(i=0;i< =4;i+ +) joint_angle[i] =new_angle[Q; movejoints(joint_change); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 179 ) else {printf("\nDesired movement is out of range !"); fprintf(fptr,*\nDesired movement is out of range."); } } } inchar=getchO; if(Gdfptr=fopen(argv[l],"w")) = =NULL) {printf("\nCan't open file 96s.",argv[l]); exitO;} fprintf(jdfptr, " 96f, 96f, 96f, 96f, 96f"joint_angle[0]joint_angle[l]joint_angle[2]joint_angle[3]joint_angle[4J); fclose(jdfptr); incnar='y'; } if ((inchar=='6,)| |(inchar= = 'k')) I* POSITION CONTROL USING Keyboard •/ { if((jdfptr=fopen(argv[l],"r")) = =NULL) {printf("\nCan't open file 96s.",argv[l]); exitO;} fscanf(jdfptr, "96f,96f)96f,96f,96r,&jomt_arigle[0],&jomt_angle[l],&jomt_angle[2],&jo^  fcloseQdfptr); fprintf(stdprn, "SP9\r"); fprintf(fptr,"\nPosition control using keyboard."); _clearscreen(_GCLEARSCREEN); printf("\n\nWaiting for Keyboard input...\n\n"); movement_factor= 1; joint='g'; while(joint!='q') { putch(incbar); if(l((inchar= = 'b')| |(inchar= = 's')| |(inchar=='e')| |(inchar= = 'w')| j(inchar= = 'y'))) { printf("\nSelect B,S,E,W,Y or Q to quit."); joint=getchO; ) else joint=inchar; move=l; movementj)ossible= 1; if (joint = = '+')movement_factor=5; if(joint=='-')movement_factor= 1; while((move ==1)) { for(i=0;i<=4;i++)joint_change[i]=0; move=0; if (joint = ='s') { printf("\nShoulden up' = ' Down'-'"); inchar=getchO; if(inchar= = '=') (joint_cbange[l]=1 *movement_factor; move=l; } else {iffinchar= ='-') {joint_change[l]=-l *movement_factor, move=l; ) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 180 } > if(joint= = 'w') { printf("\nWrist: up'=' Down'-'"); inchar=getchO; if(inchar= = '=') (joint_change[3] =-1 *movement_f«ctor; move=l; } else {if(inchsx= ='-') fjomt_change[3] = 1 *movement_factor, move=l; } ) } if(joint= = 'b') { printf("\nBase rotation Clockwise '=' Counter clockwise '-'"); inchar=getchO; if(inchar= = ' = ') fjoint_change[0]=-1 *movement_factor; move=l; } else {if(inchar=='-') {joint_change[0]=1 *movement_factor; move=I; } } ) ifQoint= — 'e') { printf("\nEIbow Up' = ' Down'-'"); inchar=getchO; if(inchar= = ' = ') fjoint_changet2]=-l*movement_factor; move=l; ) else {if(inchar= = '-') {joint_change[2]=1 *movement_factor, move=l; > } > if(joint= = 'y') { printf("\nWrist Yaw Clockwise'=' Counter clockwise '-'"); inchar=getch(); if(inchar= = ' = ') (joint_change[4] = 1 *movement_factor; move=l; } else {if(inchar= ='-') (Joint_change[4]=-1 *movement_factor; move = 1; ) } Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retracti, Appendix VI Source Code 181 ) for(i=0;i< =4;i+ +) new_angle[i]=jomt_ajigle[i]+jomt_charige[i]; if(move= = l) { if(check_liiniU(new_angle)) {for(i=0;i < =4;i+ +) jomt_angle[i] =new_angle[i]; movejomte(joint_change); time_delay(500); whilc(kbhitO)inchar=gctchO; } else {printf("\nDesired movement is out of range !"); movement_possible=0; } } } } if((jdfptr=fopen(argv[l],"w"))==NULL) {printf("\nCan't open file %s.",argv[lTJ; exitO;} fprintffldfptr, "%{,%f,%f,%f,%f" joint_angle[0]joint_angle[I]joint_angle[2]joint_angle[3]joint_angle[4]); fclose(jdfptr); inchar='y'; fprintf(stdprn, "SP5\r"); } if(inchar=='7') /.............................,,................./ /* Set initial position to current position. */ /• Set safety envelope */ { for(i=0;i< =4;i++) initial[i]=joint_angle[i]; } if(inchar= = T) /• Set lower limit of safety envelope */ { s8fel_z=ll*sm(pi_factor*jomt_angle[l])+12*sm(pi_factor*(jomt_angle[l]-jomt^  } if(inchar= = 'u') /......................*........................./ /• Set upper limit of safety envelope */ { safe2 z=ll*sin(pi_factor*joint angle[l])+12*sin(pi_factor*Goint angle[l]-jomt_angler2]))+13*sm(pi_factor*(jomMmgle^  } if ((inchar= = '8')| |(inchar=='c')) /• CALIBRATION MODE •/ { fprintf (fptr, "NnCaKb ration"); printf("\n\n»*«« CALIBRATION PROCEDURE ••••\n"); printf("\n Apply 0 mmHg to retractor pressure transducers."); printf("\n\n Strike a key when ready,\n"); inchar=getchO; time_delay(1000); press_daturn=mput_arialog_da turn (pressl_criarinel,presa_gain); pressl_offset=(press_datum-2048)/2048»10000; press_datum=irmut_arialog_datum(press2_channel,press_gain); piess2_offset=(press_datum-2048)/2048*i0000; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code lg2 press_datum—mput_anaiog_datum(prcss3_channcl,prc38_gairi); press3_offs«=(presa_datum-2048)/2048*10000; printf("\n Now, apply 100 mmHg to retractor pressure transducer.\n"); printf("\n\n Hit V to skip calibration, but retain zeroing."); printf("\n Strike a key when ready.\n"); inchar=getchO; if(incharl = V) { press_datum=input_analog_da turn (press l_channel,press_gain); if(abs(presa_datum-2048)/2M8*10000-pressl_offset<0.1)prmtf("Seruor 1 error."); else pressl_a2d_factor= 100/((press_datum-2048)/2048*10000-pressl_offset); press_d^ tum=input_analog_datum(press2_channel,press_gain); if(abs(press_datum-2048)/2m8*10000-press2_offset<0.1)printf("Sensor 2 error."); else press2_a2d_factor= 100/((press_datum-2048)/2048*10000-press2_offset); press_datum=input_analog_dauun(press3_channel,press_gain); if(abs^ress_datum-2f>»8)/2048*10CXX)-press3_offset<0.1)printf("Sensor 3 error."); else press3_a2d_factor= 100/((press_datum-2O48)/2048*10000-press3_offset); > printf("\na2d offset 1,2,3= %6.2f, %6.2f, %6.2r,pressl_offset,press2_offset,press3_offset); printf("\na2d factors 1,2,3= 966.4f, 5S6.4f, 966.4r,pressl_a2d_factor,press2_a2d_factor,press3_a2d_factor); fprintf (fptr, "\na2d offset 1,2,3= %6.2f, %6.2f, %6.2f",pressl_offset,press2_offset,press3_offset); fprintf(fptr,"\na2d factors 1,2,3= 566.4f, %6.4f, 966.4r,pressl_a2d_factor,press2_a2d_factor,press3_a2d_factor); printf("\n\n • • • • CALIBRATION COMPLETE •••*\n\n"); printf("\n\nHit a key to continue."); inchar=getch0°> inchar='y'; } if (inchar= = '9') /....................................../ / • OPERATINO MODE •/ { if((jdfptr=fopen(argv[l],"r"))= =NULL) {printf("\nCan't open file %s.",argv[l]); exitO;} fscanf(jdfptr, "%f,%f,%f,%f,%f*,&jomtjuigle[0],&jomtjmgle[l])&jomt_ar^ fclosefjdfptr); inchar='y'; while(inchar= = 'y') { mode=0; _clearscreen(_GCLEARSCREEN); printf(" R M 5 0 1 O P E R A T I N G M E N U O P T I O N S " ) ; printf("\n\nPLEASE SELECT ONE OF THE FOLLOWING OPTIONS:"); printf("\n\n 1) Monitoring Mode"); printf("\n 2) Maintain within a pressure window"); printf("\n 3) Periodic release of pressure"); printf("\n 4) Exit to main menu"); printf("\n\nENTER YOUR SELECTION."); inchar=getch0; _cIearscreen(_GCLEARSCREEN); if((inchar==,2,)| |(inchar==,3•)) (printf("Select the pressure parameter to be used for control:"); printf("\n\n 1) Sensor 1"); printf("\n 2) Sensor 2"); printf("\n 3) Sensor 3"); printf("\n 4) Maximum pressure"); printf("\n 5) Average pressure"); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 183 printf("\n\nENTER YOUR SELECTION."); scanf(" 96d",&press_mode); if(inchar= = '2') { mode=2; printf("\n\nPressure will be maintained within a pressure window\n\n"); printf("\n\nEnter minimum pressure (mmHg):"); scanf(" 96d",&ninimum_pressure); printf("\n\nEnter mmrimnm pressure (mmHg):"); scanf(" 96d",&mjximum_pressure); /• minimum_pressure=100; maximum_pressure=400; •/ fprmtf(fptr/\nMaintain Pressure within pressure window 96d, 96 d.".minimum jpressure.rnaximumjprcssure); _clearscreen(_GCLEARSCREEN); printf("Retractor will maintained between 96d and 96d mmHg\nuntil a key is struck.",minimum_pressure,maximum_pressure); printf("\n\nHit a key to start."); while(!kbhitO);getchO; printf("\nHit another key to stop..."); } else { mode=3; _clearscreen(_GCLEARSCREEN); printf("\n\nPressurc will be released periodicalryVnto a given pressure..\n\n"); printf("\n\nEnter muTimiim pressure for release:"); scanf(" 96d",&releasejpressure); printf("\n\nEnter period for cycle (minutes)."); scanf("96 f" ,&cyclejperiodjminutes); cyclejperiod=(unsigned short)(cycle_period_minutes*60); printf("\n\nEnter period of release (minutes)."); scanf(" 96 f*, Areleaae_period_minutes); release_period=(unsigned short)(rcleasejperiodjminutes*60); for(i=0;i< =4;i+ +) retum_angle[i] =joint_angle[i]; last_period=new_time; time_since_release=0; /• release_pressure=50; cyclejperiod=(unsigned short)5; releasejperiod=2; •/ _clearscreen(_GCLEARSCREEN); printf("Retractor will release to 96 d mmHg every 964.If minutes for 96d second^ ",relea^ jpressure,(float)cyclejperiod_minutes,releasej?eriod); fprintf(fptr, "\nRetractor will release to 96d mmHg every 964.If minutes for 96d seconds" .releasejprcssure,(float)cycle_pcriod_rninut£s,releasejperiod); printf("\n\nHit a key to start."); while(lkbbjt0);getch0; printf("\nHit another key to stop.."); } ) if((mchar= = ,l')| |(mchar= = ,2')| |(inchar=='3')) { while(!kbhitO) { press_datum = input_analog_datum(pressl_channel,press_gain); preasl =((pre58_datum-2048)/2048*10000-pressl_offset)»pressl_a2d_factor, press_datum — input_analog_datum(press2_channel,pressjgain); press2 =((pressjUumv-2W8)/2048*irj()00-^ ^ Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 184 press_datum — input_analc>g_datum(pre3s3_chArmd,pressjjain); press3 = ((prcss_datum-2048)/2048•10000-press3_offset) »press3_a2d_factor, time(&new_time); time_in_seconds=(unsigned short)(new_time-start_time); fprintf(fptr,"\n96d %3.0f %3.0f %3.QP,timeJn_seconds,pressl,press2,press3); printf("\n\nRetractor pressures: %3.0f %3.0f 963.0f mmHg\n",pressl, press2,press3); rctract_datum = input_anaJog_daQim(rctract_channel,gain); retract_vahie = 10-(4096 - retxact_datum)*10.0/2O48; extcndjlaoim = mput_siudog_datum(extend_charinel,gain); exteod~value = 10-(4096 - extendjiatum)*10.0/2O48; for(i=0;i< =4;i++)joint_change[i]=0; if((retract_value>l)| ((extend value>1)| |(inchar=='r')| |(inch«r= ='e')) { if (mode = = 2)mode=0; if((retract vahie>l)| |(inchar= ='r')) { printf("\nRetracting..."); fprintf (fptr, "WRetract..."); movement_factor=2; } else {printf("\nExtending..."); fprintf(fptr, "\nExtend..."); movement_factor=-2; } retractor_angle=joint_angle[3]+joint_angleP]-joint_angle[l]; zl=11 *sin(pi_factor*joint_angle[l J)+12 *sm(pi_factor*(joint_angle[l]-joint_angler2])); z2=zl+movement_factor*(distance*sin(pi_factor*retractor_angle)); dl=ll*cos(pi_factor*jomt_angIe[l])+l2*cos(pi_factor*(jom^^  d2=dl-movement_factor*(distance*cos(pi_factor*retractor_angle)); c2=acos((z2*z2+d2*d2-ll»Il-12*12)/(2*ll,12)); cl =atan(z2/d2)+atan((12*sin(c2))/(ll+12«cos(c2))); joint_change[l]=c 1 /pi_factor-joint_angle[l]; jomt_changer2]=c2/pi_factor-joint_angle{2]; jomt_change[3]=retractor_arigle-c2/pi_factor+cl/pi_factor-joint_angle[3]; for(i=0;i< =4;i+ +) new_angle[i]=jc»nt_angle[i]+joint_cnange[i]; if(check_limits(new_angle)) { for(i=0;i<=4;i++) {Joint_angle[i] =new_angle[i]; return angle[i] = joint angle[ij; > moveJointa(joint_change); if(z2 > safe2_z)safe2_z=z2; if(z2 < safel_z)safel_z=z2; } else printf("\nDesired movement is out of range !"); } time_delay(500); inchar='y'; if(kbhit0) inchar=getchO; if((mode= =2) 11 (mode= =3)) { switch(press_mode) { case 1 :pressure=pressl ;break; Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 185 case 2: pressure=press2; break; case 3:pressure=press3;break; case 4: pressure=pressl; if(pres82 > pressure)pres9ure=press2; if(press3 > pressure)pressure=press3; break; default: pressure=(press 1 +press2+press3)/3; > =2) if ((pressure < minimumjpressure) 11 (pressure > maximumjpressure)  { if (pressure < minimumjpressure) {fprintf(fptr," retracting"); movement factor=l; } else {fprintf(fptr," extending"); movement factor=-1; } retractorjangle=jomt_angle|3]+jomtjmgler2]-jointjsngle[l]; zl =11 *sin(pi_factor*joint_angle[l])+12,sm(pi_factor*(joint_angle[l]-joint_angle[2])); z2=zl +movementjfactor*(release_distance*sin(pijfactor*retractorjangle)); dl=l*cos(pi_factOT*jomtjmgle[l])+n*COT(pijfactor*(jomtjangle[l]-jomtjangle|2^  d2=dl-movementjfactor*(release_distance*cos(pijfactor*retractorjangle)); c2=acos((z2»z2+d2«d2-ll •U-12«T2)/(2»11 *12)); cl =atan(z2/d2)+atan((12'sin(c2))/(Il +12'cos(c2))); joint_change[I]=cl/pijfactor-joint_angle[l]; joint_change(2]=c2/pijfactor-jointjsngle[2]; jomt_change[3]=irtractorjmgleH:2/pi_factor+cl/pijfactor-jomt_arigle|3] for(i=0;i< =4;i+ +) newjanglep] =joint_angle[i] + joint_change[i]; if((check_linuts(newj«ngle))&&(checkjsaf^  { for(i=0;i< =4;i++)joint_angle[i]=newjangle[i]; moveJoints(joint_change); } else printf("\nDesired movement is out of range !"); } } if (mode = =3) { time_since_release=(unsigned short) (new_time-last_period); printf("\nTime since release = 95d seconds.",timejsince_release); if((timejsincejrelease > cyclejperiod)&&(time_since_release < (cyclejperiod+releasejperiod))) { for(i=0;i < =4;i++) joint_change[i]=0; if (pressure > releasejpressure) { printf("releasing"); movementjfactor=-l; retractorjarigle=jomtjmgle[3]+jomt_angler2]-jointjangle[l]; zl=U*sm(pijfactor*jomtjangle[l])+12*sm(pi_factor*0omtjsngle[l]-jomt_ z2=zl + movementjfactor*(releasejdutance*sm(pijfactor*retractorjingle)); dl=ll*cos(pijfactor^ omtjingle[l])+12*cos(pi_factor*0omtjingle[l]-jomtj C=dl-movementjfactor*(release_distanceVos(pijfactor*rctractorjangle)); c2=acos((z2»z2+d2»d2-U»ll-12*12)/(2»ll*t2)); cl =atan(z2/d2)+atan((12«sin(c2))/01+12'cos(c2))); } if (mode= { Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 186 joratj:harige[l]=cl/pi_factor-jomt_angle[l]; jomtj:hangeP]=c2/pi_factor-jomt_anglep]; jomt_change[3]=retractor_anglc-c2/pi_factor+c 1 /pi_factor-joint_angle[3]; for(i=0;i< =4;i++) new_angle[i] =joint_arigle[i] + joint_change[i]; if((check_limits(newjuigle))&&(check_safe^ { for(i=0;i< =4;i++)joint_angle[3=new_angle[i]; move joints (joint_changc); printf(*\nExtending to release pressure."); fprintf (fptr," Extending to release pressure."); } else { printf("\nRelease incomplete. Desired movement is out of range !"); fprintf (fptr," Release incomplete. Desired movement is out of range 1"); } ) else printf("\nPressure below threshold. No release required."); > if(time_since_release > = (cycIe_period+reIease_period)) { for(i=0;i< =4;i++)jomt_change[i]=return_angle[i]-joint_angle[i]; joint_change[5]=0.0; for(i=0;i< =4;i+ +) new_angle[i]=joint_angle[i]+joint_change[i]; if(check_limits(new_angle)) {for(i=0;i< =4;i++) joint_angle[i]=new_angle[i]; move j o i n ts(joint_change); prmtf("\nRemnung to position.*); fprintf(fptr," Returning to position.*); ) else printf("\nDesired movement is out of range 1"); time_since_release=0; last_period=new_time; } } } inchar=getchO; if(Gdrptr=fopen(argv[l],"w")) = =NlTLL) {printf("\nCan't open file 96s.",argv[l]); exitO;} fprintf(jdfptr, " 96f, 96f, %f, % f, 96 f" joint_angle[0] joint_angle[l] joint_angleP] joint_angIe[3] joint_angle[4]); fclose(jdfptr); inchar='y'; } if(inchar= ='4')inchar='q'; else inchar='y'; } ) if (inchar=='a') /........»............»......./ / • ANNOTATING OUTPUT FILE •/ { _clearscreen(_GCLEARSCREEN); printf("\nEnter a string of <40 characters for annotating the output file:\n"); gets(charstring); fprintf (fptr," "); fputs(chaxstring,fptr); inchar='y'; } if(inchar= = 'x') Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 187 /« EXIT •/ {inchar=V; } else inchar='y'; ) fclose(fptr); } /•reset_a2d_board */ reset_a2d_board0 { int temp; outp(DTCSR, CSTOP); readwait; temp=inp(DTDAT); writewait; commandwait; outp(DTCSR,RESET); readwait; temp=inp(DTDAT); } /* input_analog_datum reads in analog data from the designated channel using the designated gain and returns an integer containing 12 bit data. Modified from existing Andronic routines by Judy Findlay Nov. 21, 1989 •/ input_analog_datum(channel,gain) int channel, gain; { int data; outp(DTCSR,CSTOP); data=inp(DTDAT); writewait; commandwait; /»wait for ready flag */ outp(DTCSR, OxOc ); /* non triggered a to d immediate command */ writewait; /*wait until command processed */ outp( DTD AT, gain ); /* set gain parameters */ writewait; /*wait until command processed */ outp( DTDAT, channel); /• set channel •/ readwait; data = inp(DTDAT); readwait; data = data + (inp(DTDAT) < < 8); writewait; commandwait; /• wait till ready */ if (inp(DTCSR) & ERROR) {printf("\nError2.\n"); exitO;} renim(data); > /* Time_delay This function provides a time delay of a given number of milliseconds. Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 188 It uses the standard library function ftimeO and header file timeb.h, and the system clock, and calls the function timeoutO. NOTE: millisec must be greater than 120. */ include <sys\types.h> i^nclude <sys\timeb.h> struct timeb xtime; long timel, time2; long intval; time_delay(millisec) int millisec; { intval=(millisec < 120) ? 120:millisec; ftime(&xtime); timel = floog)xtime.millitm/l 0 +xtime.time*100; while ( !timeoutO); retum(l); } timeoutO < ftime(&xtime); time2 = 0ong)xtime.millitm/10 +xtime.time*100; return ( ((time2-timel)*10>intval) ? 1:0); } /..............,»...„.............,..... /•returns the time in hundredths of a second */ i^nclude <sys\types.h> i^nclude <sys\timeb.h> struct timeb xtime; timerO { unsigned long time_data; ftime(&xtime); time_data = (unsigned long)(xtime.millitm/10 + xtime.time'100); retum(time data); } /• check_Iimits(angle) float angle[6]; { float joint_limit{5]P]; jomt_limit[0][l]=0; joint_limit(0] [2]=300; joint_limit[l][l]=0; jomt_limit(l]r2] = 100; joint_Umit(2][l]=0; joint_limitr2] [2]=90; jomt_limitP][l]=-90; joint_limit(3][2]=90; jomt_limit(4][l] =-180; jomt_limitI4](2] = 180; if((angle[0] < jomtjimit[0][l]) | |(angle[0]>jomt_limit(0]r2])) retum(0); if((angle[l] <jc>int_limit{l][l]) j j (angle[l] >jomt_limit(l]r2])) return(0); Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VI Source Code 189 if((angleP]<jomt_limitT2][l])| |(angler2]>jomt_umitr2][2])) rctum(0); u'((angIe[3]<jomt_Iimit(3][l])| |(angIe[3]>jomt_Iimit(3]r2D) return(0); if((angle[4]<jomt_Iirnit(4][l])| | (angle[4] > jomtJinutr4][2])) retuni(0); retum(l); ) include <math.h> check_safety_eavelooe(angle,safel ,safe2) float angle[6],safel,safe2; { float ll,t2,13,z,pi_factor> 11=220; 12=160; D=340; pi_factor=0.01745; z=II *sin(pi_factor*angle[l])+12»sm(piJactor*(angle[l]-anglef2]))+13 *sm(pi_factor*(angle[l]-angkr2]-arigle[3])); if((z<safel)| ](z>safe2)) rcturn(0); return(l); } include <stdio.b> moveJoints(change) float change[6]; { int al,a2,a3,a4,a5; al =(int)(change[0]M0); a2=(int)(change[l]*40); a3=(mt)(changer2]M0); a4=(int)(change[3]*-13+changef4]*27); a5=(int)(change[3],13 +change[4]*27); / • printf("MI%d, 98d, %d,%d, 96d,0\r",al,a2,a3,a4,a5); •/ fprmtf(atdpra,"MI%d, %A, %d,%d, S8d,0\r",al ,a2,a3,a4,a5); ) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix V 190 APPENDIX V Failure Mode Effects Analysis (FMEA) Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Failure Mode Effects Analvsh Subsystem 1: PC and related hardware: Parent Part Functional Part Failure 1 A/D Connections, board 1) Receives position data Doesn't receive correct data. 2) Receives Pressure data Doesn't receive correct data 3) Controls brake valve Fails open 4) Controls source valve Fails open 5) Controls exhaust valve Fails open Other computer Keyboard input Keyboard fails -no input connections: Monitor (display) Monitor lails.-no display Failure 2 Ellects 1 m CT Effects 2 1) May completely inflate or deflate if in position mode. Error may be detected in 5 seconds, and message will be displayed. 2) May completely inflate or deflate if in position mode. Error may be detected in 5 seconds, and message will be displayed. Fails closed Brake remains OFF. No effect to function. Brake remains on. Actuator position cannot be adjusted. Mechanical fuse may break. Fails closed Brake ON: Mechanical fuse breaks. Brake OFF: Actuator moves to end-stop, (lully retract) Actuator will not retract when desired. Error may be detected in 5 seconds, and message will be displayed. Fails closed Brake ON: Actuator bends unnaturally. Brake OFF: Actuator moves to end-stop, (fully extend) Options cannot be selected. Automated retractor won't function. Actuator will not extend when desired. Error may be detected in 5 seconds, and message will be displayed. Alarms won't work. Options cannot be selected. Automated retractor can't be used. Retractor Pressure Sensing Device: Silicon sensor Fails -gives incorrect reading due lo rupture or drill. Leads Open circuil on any lead. Silastic molding Pne^umatic connection Gets cut or comes apart. Breaks or leaks. Actuator Position Sensing Device Opon-circuit -floats Electronic Control Hardware: Brake valve control Valve fails open Power Supply Source valve control Exhaust valve control Pressure signal amplifier Power leads short circuit Pneumatic valves/connections Brake valve/connections Will not track in pressure mode or hybrid modo. May move to endstop. Error may be delected in 5 seconds, and mossago will bo displayed. Excitation leads short-circuit. Erratic pressure or 0 pressure reading: Will not track in pressure modo or hybrid mode. May move lo endslop. Error may be detected in 5 seconds, and message will be displayed. May damage circuit. Will not track in pressure mode or hybrid mode. May move to endstop. Error may be detected in 5 seconds, and message will be displayed. Compromises sterility. Kinks or blocks. Unable to calibrate, but il calibrated, actuator functions normally. Unable lo calibrate. If calibrated, may give Incorrect pressure readings, and improper function. Short circuit -full scale Actuator may move to fully retracted position. Error may bo dotected in 5 seconds, and message will be displayed. Actuator may move to fully exlonclod position. Error may ba detected in 5 seconds, and message will be displayed. Power lails Fuse may blow causing power lailuro. A/D board may be damaged. Actuator is locked. U3 r\j Appendix VI APPENDIX V I 193 Bioelectric amplifier frequency response 1.2 HP 881 1 A Bioelectric Amplifier Upper cut -o f f 10 Hz. Frequency Response •§ 0 .8 o | 0 .6 a E o 0 . 4 0 .2 ~i—i—i—IIII 1 0 0 0.1 -I 1 1—I—I—IIII -1 1—I—I—IIII 10 Frequency (Hz) Development and Evaluation of an Automated Pre-robotic System and an Advanced Robot for Surgical Retraction Appendix VII 194 APPENDIX VII Schematics - Automated effector HANDSWrfCH ROBOTRAC SWITCHES RETRACTION PRESSURE SENSOR | SIGNAL PRE-PROCESSOR 120VAC 50 psi CONTROL MODULE PNEUMATIC UNES PRESSURE AN0| POSITION SENSORS COMPUTER Figure VHa Automated effector, control module connections AUTOMATED E F F E C T O R C O N T R O L M O D U L E , B A C K P A N E L o PNEUMATIC 5 0 - 1 0 0 psi POWER 2 pm1 I C ~D n 3 pin 1 4 •/ \ pm1 pinl Figure VDh Control module, back panel Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VII 195 Connector pin-outs, from Figure Vila Connector 1: Computer Pin Function A/D channel 1 Ground GND 2 Position sensor CH 1 3 Retraction pressure CH 2 4 Brake valve Bit 3 5 Source valve Bit 0 6 Exhaust valve Bit 2 7 Hand switch CH 3 8,15 Robotrac switches CH 6 9 LED 1 Bit 4 10 LED 2 Bit 5 11,12 main actuator pressure CH 4 13,14 brake actuator pressure CH 5 Connector 2: Position sensor Pins Function 1 5 V 2 GND 3 sensor output 0-5 V Connector 3: Retraction sensor and hand switch Pins Function 1 GND 2 5 V 3,4 Retraction pressure sensor output 5,9 Hand switch output Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VII 196 VALVE CONTROL SIGNALS 5 0 - 1 0 0 psi REGULATOR 50 psi to MAIN ACTUATOR to B R A K E ACTUATOF SMC N / C VALVES Figure VTIc Control module, pneumatic circuit H A N D S W I T C H W£r —VVM-Ajy\!*L-, R O B O T R A C S W I T C H - 5 ' ~cH5' R E T R A C T I O N P R E S S U R E S E N S O R A C T U A T O R P R E S S U R E S E N S O R S 12/ Figure VTId Automated effector, component circuits Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction Appendix VII 197 P O S I T I O N S E N S O R L E D D R I V E R C I R C U I T sv h v — \ _ ^ M _ [ 2>i3lDH V A L V E D R I V E C I R C U I T S e e F i g u r e 6.4 Figure Vile Automated effector, component circuits Development and Evaluation of an Automated Pre-Robotic System and an Advanced Robot for Surgical Retraction 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

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

Comment

Related Items