UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Trex : taxonomy-based robot-control expert-system Miljanovic, Dejan Milan 1999

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

Item Metadata

Download

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

Full Text

TREX: Taxonomy-based Robot-control EXpert-system by  DEJAN Milan MILJANOVIC B.Sc. (M. Eng.), University of Belgrade, Yugoslavia, 1996  A THESIS SUBMITED IN PARTIAL FULFILLMENT O F T H E REQUIREMENTS FOR T H E D E G R E E O F  MASTER OF APPLIED SCIENCE in T H E FACULTY OF GRADUATE STUDIES DEPARTMENT OF MECHANICAL ENGINEERING  We accept this/ffoesis as conforming to the tewuked stan'daxids'  T H E UNIVERSITY OF BRITISH COLUMBIA August 1999 © Dejan M. Miljanovic, 1999  In  presenting  degree freely  this  at the  thesis  in  partial  fulfilment  University  of  British  Columbia, I agree that the  available for  copying  of  department publication  this or of  reference and study.  thesis by  this  his  for  scholarly  or  thesis for  her  of  I further  purposes  requirements  agree that  may  representatives.  financial  the  It  gain shall not  be  of  H^VM^ '  The University of British C o l u m b i a Vancouver, Canada  Date  DE-6 (2/88)  ^  OcrU>et- H-c=|  V  by  understood be  permission.  Department  Library  permission  granted  is  K^E=\a.\ Ki <£,  for  an  advanced  shall make for  the that  allowed without  it  extensive  head  of  my  copying  or  my  written  Abstract  This work presents the basis for an expert system design for robot control. The system is based on a new  taxonomy for robot control.  This taxonomy identifies the main issues in  the design and selection of robot controllers and categorizes and relates these issues. A clear distinction is drawn between the selection of robot control architectures and the controller algorithms that are utilized within these architectures. In both cases a wide variety of approaches are examined and evaluated based on characteristics such as disturbance rejection, effective stiffness, allowable planing task error, dynamic motion characteristics, sensor information, hardware requirements and model accuracy. Based on these characteristics the controller architectures and controller algorithms are categorized and evaluated using these major criteria: reliability, complexity and robustness. This review and categorization gives rise to a taxonomy based on desired task, imposed criteria, and the distinctive characteristics of various controller architectures and controllers described in the taxonomy. Based on this taxonomy an open expert system for selecting suitable control architectures and algorithms is developed. The appropriateness of the rules embedded in expert system's inference engine as well as the correctness of the decisions made by the expert system is verified via simulations and experiments. Simulation results are obtained by  11  applying selected control architectures and controllers on a two-link manipulator both for free robot m o t i o n and constrained robot motion. Experiments are performed both for constrained and unconstrained m o t i o n o n a five-axis industrial robot. This system is designed for implementation on a new real-time open architecture controller system. This system has potential applications for industrial robots that are currendy limited to either very restrictive proprietary controllers, or complex and specialized controller designs.  111  Contents  Abstract  ii  Table of Contents  iv  List of Tables  xi  List of Figures  xii  Acknowledgements  xvi  1 Introduction  1  1.1 Background  1  1.2 Industrial Robot Controllers  4  1.3 Project Scope and Research Objectives  5  1.4 Thesis Outline  7  2 Literature Review  8  2.1 Open Architecture Controllers  8  2.2 Intelligent Control of Robotic Systems  10  2.3 Summary  12  iv  3 Issues in Robot Control 3.1  14  Robot Control  14  3.2 Type o f R o b o t Task  15  3.3 Models  16  3.3.1  R o b o t and Environment M o d e l  17  3.3.1.1  Classification o f Environment  19  3.3.1.2  M o d e l Uncertainties  21  3.4 Controller Data Issues  22  3.4.1  Uncertainties and Disturbances  22  3.4.2  Sampling/Controller Rate  23  3.4.3  Sensing  23  3.5 Stability Issues  24  3.5.1  Kinematic and Dynamic Instability  25  3.5.2  Contact Task Stability  25  3.5.3  Practical Stability against Asymptotic Stability  26  3.6 Overview o f Controllers and C o n t r o l Architectures for R o b o t C o n t r o l 3.6.1  Controllers  3.6.1.1 3.6.2  26 28  Summary o f Controllers  C o n t r o l Architectures  3.6.2.1  29 32  Impedance C o n t r o l  35  3.6.2.1.1  Damping Control  37  3.6.2.1.2  Stiffness C o n t r o l  38  3.6.2.2  Force C o n t r o l  39  v  3.7  3.6.2.2.1  Hybrid Position/Force Control  39  3.6.2.2.2  Explicit H y b r i d P o s i t i o n / F o r c e C o n t r o l  40  3.6.2.2.3  Implicit H y b r i d P o s i t i o n / F o r c e C o n t r o l  43  3.6.2.3  Parallel C o n t r o l  44  3.6.2.4  Summary o f C o n t r o l Architectures  45  Remarks  47  4 T R E X : Taxonomy-based Robot-control Expert-system 4.1  4.2  49  Taxonomy  49  4.1.1  Industrial Tasks and M o t i o n Characteristics  51  4.1.2  C o n t r o l Architectures  52  4.1.3  Controllers  53  4.1.4  Discussion  54  Taxonomy-based Robot-control Expert-system  55  4.2.1  F u z z y Logic  55  4.2.2  F u z z y Reasoning  56  4.2.3  Expert System Design  57  4.2.4  Expert System Architecture  58  4.2.5  Expert System Modules  58  4.2.5.1 D y n a m i c M o t i o n Characteristics M o d u l e  60  4.2.5.2 M o d e l Confidence and M o d e l Type M o d u l e  62  4.2.5.3 Sensor Information M o d u l e  63  4.2.5.4 Hardware M o d u l e  64  4.2.5.5 Stiffness M o d u l e  65  vi  4.2.6  4.2.5.6 Allowable Planing Task Error Module  68  4.2.5.7 Disturbances Module  70  4.2.5.8 Control Structure Module  71  4.2.5.9 Controller Type Module  72  Summary  74  5 Simulation Results  75  5.1  The Two-Link Planar Arm  75  5.2  Continuous Path Motion Task  77  5.3  5.4  5.2.1  Task Description  77  5.2.2  Criteria and Available Information  77  5.2.3  Control Architecture Selected by Expert System  78  5.2.4  Applied Control Law  78  5.2.5  Discussion and Comparison of Results  80  Continuous Path Motion Task with Tip Payload  81  5.3.1  Task Description  81  5.3.2  Criteria and Available Information  82  5.3.3  Control Architecture Selected by Expert System  82  5.3.4  The Control Law  83  5.3.5  Discussion and Comparison of Results  85  Continuous Path Motion with Applied Force  87  5.4.1  Task Description  87  5.4.2  Criteria and Available Information  88  5.4.3  Control Architecture Selected by Expert System  88  5.4.4  The Control Law  90  vii  5.4.5 5.5  Discussion and Comparison o f Result  Summary  90 92  6 Experimental Results  93  6.1 Experimental Setup  93  6.2 Point-to-Point M o t i o n Task  96  6.2.1  Point-to-Point Trajectory Generation  96  6.2.2  Task Description  97  6.2.3  Expert System Decision  98  6.2.4  Applied Control Law  98  6.2.5  Discussion and Comparison o f Results  100  6.3 Point-to-Point M o t i o n Task w i t h the Payload  102  6.3.1  Task Description  102  6.3.2  Point-to-Point Trajectory  103  6.3.3  E x p e r t System D e c i s i o n  103  6.3.4  Applied Control Law  105  6.3.5  Discussion and Comparison o f Results  106  6.4 Point-to-Point M o t i o n Task w i t h High-Speed Trajectory  107  6.4.1  Task Description  107  6.4.2  Point-to-Point Trajectory  108  6.4.3  Expert System Decision  108  6.4.4  Applied Control Law  110  6.4.5  Discussion and Comparison o f Results  Ill  Vlll  7 Conclusion and Recommendation  113  7.1 Summary  113  7.2 Recommendation  114  Bibliography  116  Appendices  121  A Robot Dynamic Models  121  B  C  A.l  T w o - L i n k Planar A r m  121  A.2  S C O R B O T E R V I I Dynamic M o d e l  127  The Manual for Using the Expert System with Control Toolbox  128  B. l  The Control Toolbox  128  B. 2  T h e Expert System T o o l b o x  135  The Simulation Results  140  C. l  Continuous Path M o t i o n Task  140  C.l.l  140  C.2  C. 3  D  Applied Control L a w  Continuous Path M o t i o n w i t h T i p Payload  144  C.2.1  144  Applied Control Law  Continuous Path M o t i o n w i t h A p p l i e d Force  147  C . 3.1  148  Applied Control Law  The Experimental Results  151  D. l  T h e Point-to-Point M o t i o n Task  151  D. l . l  151  D.2  Applied Control Law  T h e Point-to-Point M o t i o n Task with the Payload  ix  158  D.2.1 D. 3  E  Applied Control Law  159  T h e Point-to-Point M o t i o n Task with High-Speed Trajectory  164  D.3.1  164  Applied Control Law  Proposed T u n i n g System  168  E. l  Criteria for T u n i n g M o d u l e  168  E.2  Membership Functions  169  x  List of Tables  1.1  Classification of robot manipulator  3  4.1  C A and C modules  60  4.2 A part of rulebase for D M C module  61  4.3 A part of rulebase for validity of sensor information  64  4.4 A part of rulebase for hardware module  65  4.5  A part of rulebase for stiffness module  67  4.6  A part of rulebase for allowable planning task error  69  4.7  A part of rulebase for control structure module  72  4.8  A part of rulebase for controller type module  73  5.1  The parameters of two-link planar arm  76  5.2  Criteria and available information for C P motion task  77  5.3  Criteria and available information for C P motion task with tip payload ...  82  5.4  Criteria and available information for C P motion with applied  88  6.1  Available information for control architecture selection  97  6.2  Criteria for controller selection  98  6.3  Available information for control architecture selection  102  6.4  Criteria for controller selection  103  6.5  Available information for control architecture selection  107  6.6  Criteria for controller selection  108  A.l  The parameters of two-link planar arm  122  force  A.2 The S C O R B O T E R VII Denavit-Hartenberg parameters  128  A.3 The S C O R B O T E R VII estimated masses and inertias  129  xi  List of Figures  1.1  Hierarchical structure of intelligent control  4  2.1  The hierarchical control structure of a robotic workcell  11  3.1  Classification of dynamic environments  20  3.2 (a) Position-control block diagram  21  3.2 (b) Force-control block diagram  21  3.3  Dynamic environment with two deformations and two dynamic modes  21  3.4  General control scheme  27  3.5  Response/overshoot/disturbance rejection diagram  30  3.6  Robustness/reKability/complexity diagram  30  3.7  Classification of control concepts  33  3.8  Impedance control scheme  36  3.9  Damping control scheme  37  3.10 Stiffness control scheme  38  3.11 Explicit position/force control architecture  40  3.12 Resolved acceleration-motion force control  42  3.13 Implicit position/force control scheme  43  3.14 Parallel position/force control architecture  44  3.15 Complexity/reliability/robustness diagram for constrained motion  ....  46  4.1  Taxonomy scheme  50  4.2  A diagram illustrating Mamdani's direct fuzzy reasoning method  56  4.3  Schematic figure of system  57  4.4  Configuration of expert system with robot  59  4.5  Membership functions for DMC module  61  4.6  Membership functions for model confidence/type module  62  4.7  Membership functions for sensor information module  63  xii  4.8  Membership functions for hardware module  64  4.9  Membership functions for stiffness module  67  4.10 Membership functions for allowable planning task error module  69  4.11 Membership functions for disturbances module  70  4.12 Membership functions for control structure module  72  4.13 Membership functions for controller type module  73  5.1  Two-link planar arm  75  5.2  The C A M Matlab editor for free robot motion  79  5.3  Computed torque with PD controller  80  5.4  Time response with PD controller, t =lms, K,,=6.25, K =32  80  5.5  Computed torque with PD controller, t= lms, K,,=6.25, K =32  81  5.6  The CAM Matlab editor for CP motion with tip payload  84  5.7  Adaptive control architecture with PD controller  85  5.8  Inverse dynamic control with no load compensation  86  5.9  Inverse dynamic control with load compensation  86  s  v  v  5.10 Adaptive control architecture with load mass estimation  87  5.11 The C A M Matlab editor for constrained motion  89  5.12 Explicit hybrid position/force control  91  5.13 Implicit hybrid position/force control  92  6.1  Experimental setup  94  6.2  The hardware control architecture  95  6.3  The C A M Matlab editor for free robot motion  99  6.4  The CM Matlab editor  99  6.5  Independent joint control with PID controller  100  6.6  Time response of second-axis for PTP task with PID and PD controllers  6.7  101  Time response of second-axis for PTP task with PI and P controllers  101  6.8  The C A M Matlab editor for free robot motion  104  6.9  The C M Madab editor  104  6.10 Independent joint control with PD+G controller  105  6.11 Time response of second-axis for PTP task with payload and PID and PD+G controller  106  6.12 The C A M Matlab editor for free robot motion  109  6.13 The CM Matlab editor  109  6.14 Computed torque with PID controller  110  xm  6.15 Time response of second-axis for P T P task with P I D and C T + P I D  B.l  controllers  112  Example C-code for PC-environment  132  B.2 Example script file  134  B.3 The Madab interface for control architecture and controller selection  138  B.4 Screen shots of T R E X editor with data entry for one of the modules  139  D . l Independent joint controller with P I D controller  152  D.2 The first-axis plots for slow robot motion with P I D and P D controllers  153  D.3 The first-axis plots for slow robot motion with PI and P controllers  154  D.4 The second-axis plots for slow robot motion with P I D and P D controllers  154  D.5 The second-axis plots for slow robot motion with PI and P controllers  155  D.6 The third-axis plots for slow robot morion with P I D and P D controllers  155  D.7 The third-axis plots for slow robot motion with PI and P controllers  156  D.8 The fourth-axis plots for slow robot motion with P I D and P D controllers  156  D.9 The fourth-axis plots for slow robot motion with PI and P controllers  157  D.10 The fifth-axis plots for slow robot motion with P I D and P D controllers  157  D . l l The fifth-axis plots for slow robot morion with PI and P controllers  158  D.12 Independent joint controller with P D + G controller  159  D.13 The first-axis plots for slow robot motion with P D + G and P I D controllers  161  D.14 The second-axis plots for slow robot motion with P D + G and P I D controllers  162  D.15 The third-axis plots for slow robot motion with P D + G and P I D controllers  :  162  xiv  D.16 Thefourth-axisplots for slow robot motion with PD+G and PID controllers  163  D.17 Thefifth-axisplots for slow robot motion with PD+G and PID controllers  163  D.l8 Computer torque with PID controller  164  D.19 Thefirst-axisplots for fast robot motion with PID+CT and PID controllers  166  D.20 The second-axis plots for fast robot motion with PID+CT and PID controllers  166  D. 21 The third-axis plots for fast robot motion with PID+CT and PID controllers  167  E. l Fuzzy sets for PID tuning  170  xv  Acknowledgements  •  I would like to express my gratitude and appreciation to my supervisor, Dr. Elizabeth A . Croft, for her guidance, encouragement, patience and tremendous support during these two years of my research.  •  I would also like to thank Dr. Miomir K . Vukobratovic from the Robotics department of Mihailo Pupin Institute, Belgrade, for making himself always available to discuss any matter and to answer questions that I had.  •  M y thanks also go to all of my colleagues in the Industrial Automation Laboratory at U B C , for promoting a professional yet enjoyable work environment.  •  Special thanks go to my parents and my sister's family for their love and ceaseless support, and my closest friends who have always been there to cheer me up and give me constant encouragement.  xvi  Chapter I "So far as the laws of mathematics refer to reality, they are not certain. A-iid so far they are certain, they do not refer to reality" -Albert Einstein  Introduction Robotics has been defined as the science studying the intelligent connection of perception to action [32]. The goal of this introductory chapter is to point out the problems related to the use and control of robot manipulators in industrial applications, with the reference to the general framework of robotics and hierarchical structure of robot controllers.  1.1 Background In the last decades, robots have become integral components  of  flexible  manufacturing cells, and intelligent technological systems. Intelligent robotics usually refers to the robots with characteristics of autonomy and whose applications are conceived to solve problems of operation in a variety of environments where there is a level of a priori uncertainty about the environment. This uncertainty requires a level of adaptability that is generally higher than achievable at the robot controller level.  The manipulator's action is provided by a mechanical system. The realization of such a system refers to a framework concerning the design of mechanical system, choice of materials, and type of actuators. The manipulator perception is provided by a sensory data. The realization of such a system refers to a scientific framework concerning material science, signal conditioning, data processing, etc. The connection action to perception in an intelligent fashion is provided by a control system. This system selects the appropriate action given the constraints imposed by the mechanical system and the environment. The realization of such a system refers to the  framework of cybernetics, concerning artificial  intelligence and expert systems, motion control, etc. [32].  In view of these three identifiable frameworks, it is useful to organize a robot control based on principle of control hierarchy. In the following we will consider mainly automatic control regimes (Table 1.1), although these comments can be applied to some extent to biotechnical or interactive control regimes as well.  For the automatic and automated control regimes shown in Table 1.1, various types of hierarchical controllers are generally utilized. Hierarchical controllers can be classified into four basic levels [23]. The highest level of hierarchical control comprises the elements of artificial intelligence. These elements handle the sensor information (visual, tactile, etc.), recognize the situation (environment) where end-effector acts, and provides environmental modeling in some convenient form. This information is compared with the system's database and decisions about the system behavior are adopted.  The next, lower level is the "strategic level", where the planning operation takes place (defining the manipulator position in the workspace, trajectory planning, etc.). A t strategic level, trajectory planning is accomplished in the robot's work-space coordinates. A t the lower  2  hierarchical level, the so-called "tactical level", coordinates transformation from workspace into joint-space takes place. Finally, at the lowest "executive level", the realization of planned robot task is accomplished.  TYPE  VARIANT  1. A U T O M A T I C  - Programmable (First generation) - Adaptable (Second generation) - Intelligent (Robot with artificial intelligence, third generation)  2.  BIOTECHNICAL  - Controlled (Control of certain degrees of freedom) - Copied - Semiautomatic  3.  INTERACTIVE  - Automated (Combination of automatic and biotechnical regimes) - Dialogical (Different types of communications with operator) - Supervised  Table 1.1. Classification of robot manipulator. At the "strategic" level, the robotic system is typically constrained by the system controller that is generally specified at the "executive" level. Allowing the "strategic" level to select between controllers utilized at the "executive" level would allow a much greater flexibility at the planning level. That is, the planning level could specify the type of controller system best-suited to the task being planned.  A great deal of work has been done in the area of planning for robot motion [21, 25, 26, 27]. Even more work has been done in the area of robot control, from simple independent joint control to complex robot control architectures. However, without the ability for the planner to specify the controller, much of the advantages of schemes on both sides of the problem, are lost.  3  In the present work, a taxonomy for robot control is developed. This taxonomy is the basis for the development of an expert system that can appropriately select a robot controller based on identified defining characteristics of a planned task. The objective is to develop an expert system tool implemented on an open-architecture controller platform that provides a flexible link between the "strategic" and "executive" levels of open hierarchical robot controller system.  Figure 1.1. Hierarchical structure of intelligent control.  1.2 Industrial Robot Controllers Since the introduction of modern industrial robotic systems, there has been a substantial increase in the number of robot control architectures and algorithms. However, until recently, the selection of an appropriate architecture/technique was an issue only for non-standard research based robot controllers, or a one-time decision for the designers of industrial robot controllers. In the latter case, a decision for a very robust and simple controller, that did not fully exploit the capabilities of the robot, would be made.  4  Traditionally, a control system for industrial manipulators is designed as a decentralized system, consisting of a set of local constant-gain PID or PD controllers with feed-forward control signal that are calculated on the basis of a nominal robot model dynamics. In its simplest form such control schemes consist of local servo systems closed around individual joints of the robot. This work is used in the majority of contemporary commercial robots, but it appears satisfactory only for certain class of robot tasks where only position control is required with slow trajectory tracking.  On the other hand, if accurate tracking of high-speed trajectories is necessary such simple control laws do not work well, and various model-based control schemes have been proposed in order to compensate for the effects of the dynamic coupling between joint axes of the robot.  However, until the recent development of open architecture controllers hardware [55], a such schemes have not been widely utilized in industry. The development of these open controllers provides a widely new scope in the implementation of this work in industry. Due to the complexity nature of these controllers, expert knowledge or, at least, encapsulation of such knowledge in a usable form is required. This, again, leads to the need for a robot controller expert system based on a well-developed taxonomy.  1.3 Project Scope and Research Objectives This thesis focuses on the development of a taxonomy for industrial robot control. The objective is the development of an expert system that gathers information about various  5  parameters provided by user and makes certain decisions about h o w to accomplish the particular task. Openness o f the system is provided so the potential user can adjust the rules o f particular modules and add its o w n control algorithms.  T h e key components o f the system are the rulebases o f different expert  system's  modules that acts o n database (control toolbox). T h e developed database comprises a number o f different control algorithms for both free and constrained robot m o t i o n , and is designed for using w i t h the open real-time system.  T h e specific research objectives o f this thesis are outlined below:  - T o review and understand i n depth, the difference between various robot industrial tasks, robot m o t i o n characteristics as well as control algorithms commonly used for industrial robot control.  - Based o n this review, to develop a taxonomy for robot control that classifies different robot industrial tasks, manipulator characteristic motions, control architectures and controllers. This taxonomy is essential for defining the criteria for selection o f robot control architectures and controllers within an expert system database.  - T o develop an expert system for intelligent control by establishing a set o f criteria and associated rules by w h i c h the control architecture and controller are selected for particular task.  - T o investigate the correctness and appropriateness o f implemented rules through the simulation results and experiments made o n industrial robot.  6  1.4 Thesis Outline The structure of this thesis is summarized in the outline below:  Chapter 1: Introduction: This introductory chapter. Chapter 2: Literature Review: A review of other industrial applications of expert systems for robot control and open architecture system.  Chapter 3: Issues in Robot Control: The issues around the robot controller algorithm design, namely task identification modeling, data validity, control architecture and stability are discussed. The control architectures and controllers are classified based on their major characteristics.  Chapter 4: TREX:  Taxonomy-based  Robot-control  EXpert  System:  design  implementation of an expert system based on fuzzy reasoning for selection of appropriate control algorithm for a particular robot task. The major task based characteristics important for robot control scheme selection are identified.  Chapter 5: Evaluation: simulation results for contact and non-contact task using different control schemes based on decisions made by expert system.  Chapter  6:  Evaluation: experimental results for non-contact tasks using different control  schemes based on decisions made by expert system.  Chapter 7: Conclusions and Recommendation: A summary of the results detailed in this work and suggestion for future improvements.  7  Chapter II  Literature Review Advances in robotics over the past several years have been largely incremental, with few technical breakthroughs. Vendors have focused on more subtle changes, such as improving robots' overall accuracy and repeatability, designing better teach pendants, and refining computer controllers and software. However, the current trend toward openarchitecture, PC-based controllers, newer robot vision systems, incorporating different levels of intelligence into system, and the integration of the latest in C A D / C A M and robotics simulation packages, represent more substantial changes. This chapter considers literature review in development of open architecture controllers and use of expert systems for intelligent control of robotic systems with application in industrial processes.  2.1 Open Architecture Controllers Since the introduction of the Open Architecture Control concept by Greenfeld et al.[56] in 1989, several projects have been initiated. Most open-system researchers adopt the  concept of a modular approach: a master controller oversees multiple independent controller boards on a common bus. Specification for an Open System Architecture Standard (SOSAS) is described by Anderson et al. [57], in 1993 that aims to facilitate the development of interoperable, portable, scaleable and interchangeable components for a broad family of industrials controllers.  Interoperability means that the system components are able to function together in a cooperative manner. Portability describes the ability to operate the same system components on different controllers or hardware platforms. Scaleability is the ability to increase or decrease the functionality of the system, without incurring the cost of repurchasing the entire system, through upgrading specific system components. Interchangeability involves the ability to substitute one component with another.  Yellowley and Pottier [58], have focussed on integrating process monitoring and optimization with interpolation and axis control functions. They propose that conventional hardware and a relatively simple architecture can achieve the necessary levels of integration. Lo and Koren [59], and Pasek et al. [60], have focused on the lower level loops of Open Architecture Controllers, especially various types of servo-control algorithms for machine tool.  Teltz, Urbasik, Shawky and Elbestawi [61] have developed a comprehensive multiple pass control strategy in the context of an open architecture control environment. The strategy is implemented experimentally for a sensor-based planning and control system for rough tuning. Lundholm [62] has designed a new adaptive control system based on open architecture system design. Tung and Tomizuka [63], have built a PC based controller using the ISA bus, for advanced tracking control and adaptive force control during muling.  9  Recently, researchers in the Manufacturing Automation Laboratory have developed a non-proprietary, PC-based, open architecture controller that can be applied to multiaxis machinery such as CNC machine tools and robotic arms [16]. The introduction of such controllers allows the technical user to select and implement any one of a multitude of control architectures and algorithms. Given the variety of architectures/algorithms available, the selection of these becomes an issue of importance to industrial users, as well as researchers.  2.2 Intelligent Control of Robotic Systems Prior to the introduction of open architecture controllers, the implementation of systems to select robot control strategies or algorithms was limited to research based system. For example, expert systems have been utilized in robot control applications to utilize the system designer's knowledge in the mechanism's real-time control.  Chande and Newcomb [8] proposed the integration of numerical spacecraft operations software, such as trajectory planners, with an expert system for higher-level control. Foulloy [9] has prototyped a real-time expert production system for laser cutting. Anderson [ 1 0 ] has developed a robot expert controller, which provides features necessary for operation in a very dynamic environment, namely robot ping-pong.  de Silva [24] investigated some approaches, prospects, and benefits of intelligent control in robotic applications. Several types of "approximation" that are used in representing and processing knowledge are outlined in this paper. Intelligence is applied on  10  the workcell of a fish-processing system. The hierarchical nature of the workcell control system is depicted in Figure 2.1.  -•I  ,  i  ! Extraction of ] Image Features  ! High-Level Interpretation  ! Intelligent •I Task Control  Knowledge --! Base for Task Operation  Commanding  Low-Level Controller Position, Impedance, etc.  Ultrasound/ Vision  Low-Level Sensing  Low-Level Controller  Process (End-effector, Object, and Environment)  Figure 2.1. T h e hierarchical control structure of a robotic workcell.  Minbashian and Warwick [64], proposed parallel digital control scheme where the feedback path consists of four components, namely a filter bank, a control bank, an assessment/weighting block and a signal conditioning element. Selectivity in the controller mixing procedure means that the overall controller obtained is dependent on the advantages and disadvantages of different control methods, at a certain time, on a particular process. This can involve enhancement of controller tuning or adaptation capabilities, an increase in flexibility, or, in particular, robustness of real-time controllers.  11  The decision block is the central processing section of the intelligent parallel controller structure, and the extent and level of artificial intelligence employed is dependent on the amount of signal processing carried out, the number of controllers and the type of the plant. The intricacy of signal processing also depends on the number of mathematical functions needed to circumvent undesirable events.  The multiple tasks of checking a large number of errors and taking the appropriate actions for each individual response, requires a large rule base and this is linked directly into a recursively mo&fying data base for the analysis of signal trends.  The Intelligent Parallel Controller approach has some advantages and the most obvious one is processing time which is only dependent on the maximum value of the individual parallel limbs. There also exists the capability to switch a particular controller off, i.e. give it a zero weighting. Further more, the method allows for confidence building in a new controller before this is fully merged into the control process, i.e. the new controller is given a very low weighting atfirstand this is increased as confidence increases.  Moving from one controller to another can be carried out very smoothly providing bumpless transfer, by a gradual phased changeover.  2.3 Summary In all of the above cases, the expert systems have been developed for very specific process/robot tasks, and low-level controllers. However, more general-purpose expert systems for open architecture control would be of benefit for designing and using industrial  12  robot systems. In order to design such a system, a taxonomy for robot control is a useful and necessary first step.  In the following chapters, some of the important issues in the design and selection of control architectures and robot controllers are reviewed. The surveyed work is a subset of a much larger collection of important work on robot control issues. Based on this review, we propose an initiatory taxonomy of industrially appropriate robot controller architectures and algorithms that could be achieved using an open architecture controller system. Using this taxonomy, an expert system design for selection and implementation of task-appropriate robot controllers is designed and presented.  13  Chapter III  Issues i n Robot Control In this chapter the issues around robot controller algorithm design, namely task identification modeling, data validity, control architecture and stability, are discussed, and as a result of this discussion, robot controllers and control architectures are classified based on their internal characteristics (linear/non-linear), robustness, sensitivity, reliability, task appropriateness, as well as environmental interaction characteristics. This chapter provides the basis on which a task oriented taxonomy of robot controllers is presented in Chapter IV.  3.1  Robot Control The robot control problem involves the computation of the actuator inputs  necessary to track a desired trajectory within certain specification. The dynamics of a manipulator are typically described by a set of highly nonlinear and coupled differential equations. Consequently the design specification and tuning of controllers is a difficult task even for simple robot operations like point-to-point motion. Complex operations like  continuous path motion with applied force can be very difficult to control; for example, in processes like robotic assembly.  Robot control can be widened to include the integration of task goals, trajectory planning/generation, force and position feedback, and modification of trajectories. It also requires a good physical (dynamic and geometric) understanding of the task so that effective control strategies can be implemented.  The selection of the control architecture to be used for a particular task in order to give the best possible performance depends on variety of issues such as the type of task, the speed of the sampling interval, the type of robot, knowledge of the robot dynamics, the characteristics of the environment, availability and validity of sensor information, knowledge of unmodeled (external) disturbances, hardware availability etc. In thefollowingsub-sections each of these issues will be considered.  3.2 Type of Robot Task In general, industrial robot tasks can be divided in two groups: non-contact tasks and contact tasks. The non-contact tasks are further subdivided into point-to-point (PTP) motion and continuous path (CP) motion. In both cases a large number of approaches have been developed for controlling such motion (e.g., PTP [11]; CP [12]). Specialized controllers have been developed to achieve specific objectives and optimizations such as obstacle avoidance, time optimality and minimum energy consumption.  On the other hand, many issues, some still unresolved, arise for tasks when the robot is in contact with environment (friction forces, environment dynamics, stability problems, etc.). These issues must be addressed in order to achieve satisfactory results. Over the last  15  decade there have been attempts to make the application o f some control procedures suitable for the industrial, contact-type tasks. Among these, the most notable are: hybrid position/force control [6] and impedance control [7].  3.3 Models In  order to design a control system, the model of the robot and the  environment,  either explicit or implicit, is required. Conversely, the characteristics and uncertainties associated  with  the  available  models  drive  the  selection  of  the  controller  architecture/algorithm. The use of non-adaptive model-based algorithms, where feedback loops are intended to compensate for nonlinear changes in cross-coupling dynamic forces, is still common practice.  One of the methods available for obtaining the values of the dynamic forces involves the use of an internal model of the robot dynamics. This leads to difficulties when the dynamic model is formulated as a complex system of nonlinear differential equations.  Thus, an important question in control design is: to what extent it is necessary to model  the robot dynamics. A more complex  model allows  better performance  characteristics, but at the same time it requires faster, and more expensive control hardware. The second problem follows from the fact that the model used in robot control is always more or less an approximation of the behavior of the real robot. There are always unmodeled effects whose incorporation would significantly increase the time needed for a precise calculation of the inverse dynamics [17].  In the following subsections the models typically used for both, the robot and the environment are considered, and the control issues related to these models are identified.  16  3.3.1 Robot and Environment Model Robot manipulators are highly nonlinear systems. Conventional robot manipulators operate under simple PID regulators with feed-forward control signals that are calculated on the basis of a nominal robot model dynamics. Thus, the analysis and design of model-based motion control procedures require the development of efficient, closed form dynamic equations.  An accurate analysis of the characteristic of the mechanical structure, sensors, and actuators contribute to well-behaved end-effector control. Some approaches have been developed for handling the mathematical complexities involved in the dynamic model of robot manipulator with varying levels of success [19]. A brief consideration of the models used to describe robot motion follows.  The dynamic model of the robot interacting with the environment with second-order actuator dynamics is described by the vector differential equation in the form  H(q)q + h(q,q) = T + J (q)F, T  9  (3.1)  where q = q(/) is an n - dimensional vector of robot generalized coordinates; H(q) is an n x n positive definite matrix of inertia moments of the manipulator mechanism; h(q, q) is an n — dimensional non-linear function of centrifugal, Coriolis and gravitational moments; x = l q  q  (/) is an n - dimensional vector of input control (joint torques); J(q) is an n x m  Jacobian matrix relating joint space velocity to task space velocity; and F = F(/) is an m — dimensional vector of generalized forces and moments acting on the end-effector.  17  In the case when the environment does not exhibit displacements (DOF) that are independent of robot motion, the mathematical model of the environment dynamics in the frame of robot coordinates can be described by non-linear differential equation [34]  M(q)q + L(q,q) = -S (q)F,  (3.2)  T  where M(q) is a non-singular wxw matrix of environmental inertia, L(q, q) is a non-linear n — dimensional vector function that takes into account the equivalent elasticity and damping of the dynamic environment, S (q) is an n x n matrix with rank equal to n, i.e. rank(S) = n. T  Then the system (3.1), (3.2) describes the dynamics of robot interacting with dynamic environment.  For controller design purposes, it is customary to utilize a linearized model of the manipulator and environment. The applicability of linearized model in constrained motion control design, especially in industrial robotics systems, was demonstrated in [35, 36].  Neglecting the non-linear Coriolis and centrifugal effects due to relatively low operating velocities during contact and assuming the gravitational effect to be ideally compensated, the linearized model around a nominal trajectory in Cartesian space x is 0  obtained from (3.1) and (3.2) in the form  A(x )x + B(x )x = x(x ) + F , 0  0  0  A(x ) = J" (qo)H(q )J (qo), B(x ) = J (q )bT '(qo), x(x ) = J" (q )x^ T  0  1  0  T  T  0  0  0  0  (3.3)  where b is viscous friction coefficient for the robot joints.  18  In passive environments, it is convenient to adopt the relationship between forces and motion around the contact point in linear form  - F = M ^ A x + B^Ax + KAx,  where A x = x -  (3.4)  x is contact point location, M B^, K , are inertial, damping and stiffness e  B  e  matrices, respectively.  3.3.1.1  Classification of Environment  For contact task operations, the description and characteristics of the environment (that is, the contact surface) are essentialforgood control. The environment can be classified in different groupings: e.g. inertial (pushing), resistive (sliding, polishing, drilling), compliant (spring-like, compliant wall). For each group different control architectures are applicable, Figure 3.1.  For example, in a stiff environment, a damping control scheme suffers sluggish behavior but a stiffness control scheme with imposed low gain of controller achieves very good results. If the environment is highly compliant, a position control architecture works well but in a stiff or resistive environment this approach is not recommended [1].  One of the main problems in hybrid control, which combines both position and force control, is that the system model breaks down in non-orthogonal directions (i.e., directions that are either purelyforceconstrained or purely position constrained) [37].  The orthogonality between the constraint force and the direction of unconstrained motion has been assumed and used in the majority of works.  19  environment impedance Ze—mks/ (ms +k) 2  a) inertial environment requires a position controlled manipulator  environment impedance Z,—b+mksl (ms +k) 2  b) resistive environment allows either position orforce/torquecontrolled manipulator  environment impedance Ze—ms+b+k/s  c) capacitive environment requiresforce/torquecontrolled manipulator  Figure 3.1. Classification of dynamic environments.  Block diagrams of environment interaction for position and force control can be represented in general form as shown in Figure 3.2 (a) and (b).  20  -Fe  F  F  m  Figure 3.2 (a). Position-control block diagram.  o  V  —  o  -  >  Figure 3.2 (b). Force-control block diagram.  A relatively new approachforrobot control interacting with a dynamic environment is to represent the environment as a mechanical system with two deformations and two dynamic modes. A benefit of this model is in its more accurate representation of real environmental dynamics, however it introduces  additional complexity into system  (Figure 3.3). The system dynamics is described by  F = m (q + q ) + b q^k q , {  x  2  x  bj nil  -TJ-1J  x  x  b q + kq = m q + b q + k q . x  {  l  i  2  2  2  2  2  2  (3.5)  Q2  ni2  A  Figure 3.3. Dynamic environment with two deformations and two dynamic modes.  3.3.1.2  Model Uncertainties  Uncertainties associated with either the robot model or the environment model can degrade task performance [13]. One of the main problems in the synthesis of control laws in  21  a contact tasks is the representation of uncertainties in the dynamic model of the environment. These uncertainties are generally due to difficulties in identification and prediction of model parameters and the behaviors of the environment. Therefore it is important that the synthesized control law is robust to these model uncertainties. Reference [14] presents a method for an accurate and effective analysis of the influences of these uncertainties on system performances. Knowledge of unmodeled (external) disturbances is an important issue in robot operations where precision is crucial issue. For example, the hybrid impedance control architecture is very good for force tracking under external disturbances [1], whereas an impedance control scheme [2], would not be suitable for such a task.  3.4 Controller Data Issues Typical robot control architectures are characterized by a tight coupling between sensors and actuators, minimal computation, and task-achieving "behavior" problem decomposition. Within these architectures, the controller requires a reference signal that is provided at regular intervals, and must receive all necessary data within some certain bounded time intervals to function properly.  3.4.1 Uncertainties a n d D i s t u r b a n c e s Model uncertainties and internal/external disturbances can significantly degrade the system performance if not properly modeled or compensated. Friction is a common source of disturbances in robots; controllers with integral actions are able to compensate for these disturbances only in a limited number of cases. For example, for the contact task case, if the first order integral action controller is applied, then the constant disturbances (constant  22  force) will be compensated. Disturbances of the ramp type, or some more complex type, can be compensated by second or higher order integrators, respectively. This remark holds for Cartesian robots. However, for non-Cartesian robots, which are the most common, friction force compensation is difficult [13].  3.4.2 S a m p l i n g / C o n t r o l l e r Rate The selection of the best sampling rate for a robot control system is a compromise of many factors. Choosing an appropriate sampling rate for robot contact tasks is particularly difficult due to the relationship to the type of the environment, and external disturbances etc. Khosla [4] has compared real-time performances of computed-totque (CT) and independent joint control (IJC) schemes as a function of the sampling rate. He showed that increasing the sampling period from 2 to 5 ms resulted in the degradation of the performance of the IJC scheme but improved the performance of CT scheme. If the maximum possible gains are selected for certain sampling rates then the performance of both schemes improves with higher sampling intervals. One can also note that, a high sampling rate is important for high stiffness environments due to the pronounced effect of external disturbances on the system. For a more compliant environment lower sampling rates or a larger approach speed can be allowed.  3.4.3  Sensing  The availability and validity of sensor information is one of the crucial issues in choosing appropriate control scheme. Dynamic forces can be obtained utilizing the force sensors, such as joint force transducers. Since such transducers measure total dynamic forces, joint force sensory feedback is robust to parameter variations and model  23  uncertainties [18]. However, the application of joint torque sensors has numerous technical problems. Implementation of force transducers usually requires special design of the robot joints. Further, joint torque sensors reduce the structural stiffness of the arm, so the torque sensor behaves as a compliant member in the system, and therefore, may be a cause of instability for the robot controller [17].  As pointed out in [3], when robot joint velocity and position are available as measurements, different control laws that are fixed or adaptive in nature can be applied for point-to-point and continuous path motion control. For example, applying a parallel control architecture  always requires fully available sensor information [2]. Such an  architecture is suitable when dealing with planning task error, but strongly relies on detailed geometric modeling of the environment, and the type of contact. Hybrid position/force control architecture requires position andforcesensor measurements.  On the other hand, a hybrid impedance control architecture can still achieve relatively good performance if the sensor information is degraded or skipped. In some robotic applications, information about joint velocity may be degraded, for example with actuators using tachometers or differentiation methods for measuring speed. In such cases other control schemes such as stiffness control or resolved acceleration-motion force control that rely on such information as input become unsuitable.  3.5 Stability Issues One of the most difficult problems in position/force control of robots interacting with a dynamic environment is the stability of both desired motion and interaction forces [13]. Various control approaches, such as hybrid control, parallel control, expUcit/implicit 24  control, stiffness control, impedance control, damping control, etc., indicates that stability of a contact task is a problem that has not yet been satisfactorily solved, either from the theoretical or practical view. In fact, when considering a specific contact task, in almost all approaches simplifications are introduced in the modeling of robot and the environment.  3.5.1  K i n e m a t i c a n d D y n a m i c Instability  In [15] Hollerbach has shown that a new form of instability {kinematic instability) in the force control of the robot manipulator is caused by an inverse kinematic transformation in the feedback path and this form of instability occurs only in multi-joint manipulators. It has been shown that kinematic instability occurs not only at the point of kinematic singularities, where the Jacobian inverses are not defined, but also at the wide range of the manipulator workspace, where the Jacobian inverses are well-defined [13].  In [12] McClamroch and Wang emphasized the important role of the constraints in the dynamic model of manipulator, especially with relation to the stabilization problem. They presented the global condition for tracking based on a modified computed torque controller and local conditions for feedback stabilization using a linear controller. One of the problems in hybrid position/force control refer to some dynamic stability issues in force control, such as high-gain effect of force sensor feedback (caused by high environment stiffness), unmodeled high frequency dynamic effects (due to arm and sensor elasticity), contact with a stiff environment, non-collocated sensing and control, and is identified as the dynamic stability problem [19].  3.5.2  C o n t a c t T a s k Stability  A treatment of the contact task stability problem, considering the environment as a  25  nonlinear dynamic system, is given in [5]. It is shown that if impedance control is applied, enabling the robot to be asymptotically stable in free space, then the robot interacting with the environment is a passive system and is stable in isolation. However, the conclusion is valid only if the robot in contact is at rest and for this reason the result cannot be considered complete [13].  3.5.3  P r a c t i c a l Stability against A s y m p t o t i c Stability  In all practical cases, the robustness of a synthesized control law must be tested against the environment model uncertainties in order to achieve valid results. For such an analysis, conditions for the practical stability of the robot motion around desired path and interaction forces with the environment, must be established. Taking the model and parameter uncertainties into account, as well as different external disturbances, it may be difficult to achieve asymptotic (exponential) stability of the system. Therefore, it is of interest to consider the so-called practical stability of the system, which is less rigorous, rather then exponential stability. The practical stability of the robot around the desired position and force trajectories is defined by specifying the finite regions around the desired position and force trajectories within which the robot actual position coordinates and velocities andforceshave to be during task execution [13].  3.6 Overview of Controllers and Control Architectures for Robot Control Traditionally, a control architecture for manipulation robots is designed as a decentralized system,  consisting of a set  of local constant-gain PID regulators.  26  Decentralized control schemes, in their simplest form, consist of local servo systems closed around individual joints of the robot. For an uncoupled system, a decentralized architecture is less complex and gives a faster response. However, robot stabilization around a nominal trajectory is poor with such local controllers, which do not take dynamical coupling between joints into account. If precise positioning is not required and if the trajectory is low-speed in nature then the use of a decentralized controller is sufficient to achieve desired dynamic behavior. Implementation of centralized control schemes is not common in industrial robot systems and their use is only considered if robot is required to overcome a specific problem (e.g. large disturbances or tracking of high-speed trajectories). These architectures perform better both for slow and fast trajectory tracking, but they require complex hardware and specific systems software due to computation of the whole system's dynamics and the more computationally complex control laws.  ! |  |  i  COM KOI \KC If 11 l.r TI Rl C O M ROM  IK  CONTROL SCHEME  Figure 3.4. General control scheme. A centralized nominal control architecture will compensate for the dynamic coupling between joints and stabilize the robot for high-speed trajectories. For direct-drive robots and for fast trajectories it is generally necessary to use such a centralized control structure that takes into account the whole system dynamics. A major distinction between the control architecture and the low-level controller should be emphasized. Low-level controllers are  27  incorporated within the design of control architectures. The architecture routes the input/output signals to and from the controllers and as a result determines which specific variables are controlled (e.g. stiffness, damping, impedance, etc.) in order to take advantage of specific model-based characteristics of the plant. Low-level controller on the other hand considers only the signals as provided, and has a dominant influence on task performance. Together they make a control scheme/algorithm (Figure 3.4).  3.6.1  Controllers  Low-level robot controllers can be divided in generally into two groupings: instantaneous controllers (P, PD, PD+G etc.), which do not have the ability to store previous state information, and can operate only on the current position and velocity errors, and dynamic controllers, which are characteristically robust. Further, one can make a distinction between linear controllers (e.g. computed torque controllers) and non-linear controllers [33].  Controllers that have the ability of storing and manipulating the previous state information are dynamic controllers. Such controllers are classified as one-degree of freedom controllers that filter the measured signal through a dynamic system before feeding the signal back to the input, and two-degree of freedom controllers that allow simultaneous specification of the desired response to a command input, and guarantee the robustness of the closed-loop system [23]. Introducing the integral feedback (one-degree of freedom) can compensate for the influence of constant gravitational moment. However, this type of controller cannot eliminate the error produced by the time variable disturbance, such as external moment, thus use of dynamic controllers of higher order are necessary. N o n linear controllers are very sensitive to parameter uncertainty. In particular, load changes  28  introducing a large-state error. Nonlinear passive-based  controllers (PBC) are simple to  implement but do not provide quantifiable performance measures. High gains are not desirable due to their negative effect on asymptotic stability. With a small damping factor, the response for non-linear controllers is very slow and has a large overshoot. However, these controllers achieve good disturbance attenuation, and hence may be viable candidates for applications where rise time is not of prime concern. Their bandwidth stays fixed (redundant) for varying reference trajectories (e.g. sinusoidal).  Sliding mode controllers (SMC) are also quite robust to source disturbances but are highly sensitive to parameter uncertainties, and usually have very fast response times with no overshoots  [33]. Variable structure controllers (VSC) encounter 'chattering' as a main  problem and perform well when using a robot without excessive torque effort.  Saturation-  type controllers (STC) are most useful when a short transient error can be tolerated whereas  feedback-linearizing controllers (FLC) have faster response for faster poles, very  high peaks and large overshoot. For precise applications FLCs are not recommended.  However, two important advantages of FLCs over other controllers are: they achieve almost same convergence rate with smaller current (less energy consumption) and the state error is systematically smaller. The smallest phase shift can be achieved with these controllers. This also provides the best achievable bandwidth. Flowever, there are still quite sensitive to step disturbances [33].  3.6.1.1  S u m m a r y o f Controllers  Based on above discussion, robot controllers can be classified as shown in Figure 3.5 and 3.6 according to the following characteristics: overshoot, complexity, robustness,  29  sensitivity, response, disturbance rejection, and reliability. The first diagram is a threedimensional  representation  of  three  controller's  characteristics  dependency  overshoot/ response/ disturbance rejection.  Figure 3.5. Response/overshoot/disturbance rejection diagram.  The second diagram is a three-dimensional representation of three other controller's characteristics dependency complexity! reliability! robustness.  Figure 3.6. Robustness/reliability/complexity diagram.  Reliability - controller's ability to accomplish not only tasks from one certain class of tasks and specific processes , but also the various kind of either  30  less or more complex tasks  Complexity — designing complexity of certain controller, can be expressed through the number of mathematical operation needed to calculate the control law  Robustness — controller's ability to cope successfully with parameter uncertainties, variations of system's parameters, unmodeled system dynamics, external /internal/ disturbances, sensitivity to force perturbation, changes in end — effector position, etc.  From Figures 3.5 and 3.6 one can conclude that generally controller's can be divided into three groupings. Firstly, 'highly' recommended controllers (P, PD, PD+G, PI and PID), secondly, 'occasionally' recommended controllers (SMC and STC), and thirdly, 'rarely' recommended (for special purposes) controllers (VSC and FLC).  As shown in the figures, except for the specific cases, where the ability to model complex plant dynamics is crucial, non-linear types of controllers are generally not a good choice. A tuned PID controller is a standard use in most of industrial applications. Of course, the most appropriate choice is dependent on many of the issues previously discussed, namely trajectory/task rate, uncertainties and disturbances, sensing and stability issues. Taking these controller characteristics and criteria based comparisons together leads towards the taxonomy and rule creation for controller selection in TREX.  However, the controller selection is mainly driven by the choice of the controller architecture, which is discussed next.  31  3.6.2 Control Architectures Control architectures are most commonly discussed in the context of control for robot interacting with the environment. For active force control, one can distinguish between: (j) operational space control techniques where the robot control is taking place in the same frame in which robot actions are specified [38, 39]. This approach requires the construction of a model describing the system dynamic behavior as perceived at the point of an end-effector where the task is specified (operational point, i.e., coordinate frame). The traditional approach for specifying compliant motion uses task or compliance frame approach [6]. This geometrical approach introduces a Cartesian compliant frame with orthogonal force and position (velocity) controlled direction. In order to overcome the limitations of this approach, new methods were recently proposed [41]. These, approaches, referred to as explicit compliant motion task specification, are based on the model of the constraint topology for every contact configuration and utilize projective geometry metrics in order to define a hybrid contact task.  (z) Joint space control, whereby control objectives and actions are mapped into joint space [42]. Associated with this control approach are transformations of action attributes, compliance and contact forces from task into joint space.  The increasing demand for advanced robot application has brought about an enormous growth of interest in the development of different concepts and schemes for the robot control. Numerous control procedures are available today for completely different class of tasks from non-contact to contact robot task. Over the past several years, compliant motion control has emerged as one of the most attractive and fruitful research areas in robotics [13].  32  .0  8 cu  CO  « .a s 3 «  rt CO  » u a  CS "rt  _ cs  C  CJ  ?!  u  c  <  L=l u  CM cj  tl  C  o a rt  o  <3  ft, -  a  CJ  CA •*->  G  O  a&  o  cc < / }  CJ  a  u  cu  «  S  u  *ou !  ce  -1  .a PH  o  a  •M  O  CJ  o  ti  u  <u  > CJ  p  .S a  o u  fr CO fl O •o  O  •a  o  u  CO  o  c  o u o  CL,  cu  u  d  •c O  cu u 0 rt  -a  CO  L^ T3  c  « S  §  o u  o u  T3  rt  O  i rt  u  u  M u  rt JD  Tj u ,u  cu  t .•=  w -o  c  cd a. c^ o ~o CO — c ^ ccj O  o &  0 8  1 3  co rt  CU  u  1-1  6 -S  S  CS  O  °  •r-  O  c«  cS  . cj  rt u  O  cc cc rt  o  0 <° co CJ  • *H  «3  y  rt  G  CO  CL  o  O  O.  CJ  O _G  u U ^ o fltn <a. >  co O  60 C  • OJ  o -s ,M s% Jb OJ u  cu o  II  •c  a  o o  •a G rt (J  rt  CJ  u  o c o  00  3  cc  cu  -3 o  a,  G  O  •o  a  cu  u  G  "rt  o  u  u  C  CS  1  C  CU  a u  Q  u  H  C3  3  a  CS  o  CS  CD  ^8  W) 'cs  •O  e  c  o  c  ti  U  •5  CL  co  O  11  ^  «  = •2 o ta  CJ  C  CJ  >  e  2 ^ •2 5 ^ u S  a, G  O  PL,  OJ  O &C  a  cs  CJ  CJ  cs a 3  C  5 .2  e  I  CJ  n  «s  o <u o d  _G  .2 "S •2 S  T3  CJ CJ  CS  o  cu u u  a §c  cs  a -1= ecs  G O  CJ  c  o  U  u o  PL,  rt-i >  •B .a fl  7^  CJ CJ  C3  <4-l  O O  a  O "3 •C 'C 'C  G O cj  3  '3 '3  •P C L C L ffi W ^  CD O  CJ O  t.  cd  -a c  X)  CL  c2 ccj C O  CO  3  CO  s§ -S ° O  O  O  CL  o  3 if  The robot control methods for contact task can be systematized according to different criteria. In terms of robot/environmental compliance, two basic groups of control concepts are distinguishable: passive compliance, where position of the end-effector is a result of the contact forces, the environmental compliance, and the passive compliance located in the manipulator structure, and, active compliance, where the end-effector compliance is adjusted using force feedback to either control the interaction force or to achieve a task-specific compliance at the robot end-point.  Further classification of control concepts for constrained motion control is shown on Figure 3.7.  Passive compliance is a concept often used in practice to overcome the problems arising from positional and angular misalignments between the manipulator and its working environment.  3.6.2.1 Impedance Control Active compliant motion control methods utilize the dynamic behavior of the manipulator to achieve a desired level of interaction with the environment. The first implementation of force feedback control of a manipulator was impedance control. The objective of this control concept is to achieve a specific mechanical behavior at the manipulator end-effector, referred to as target impedance. This objective imposes a desired relationship between position error and force acting at the end-effector. A basic impedance control architecture with internal position control is presented on Figure 3.8.  35  AX Xo  E  F  AX,  •  o  —  -  o  1  *  Position controller  ROBOT  Environment  AXF  Impedance controller  Figure 3.8. Impedance control scheme.  The scheme consists of two control loops: an inner position servo as and an outer loop generating position command modification ( A x ) based on the end-effector forceF  torque measurements. The outer loop is closed when the end-effector  encounters  environment. The role of impedance controller is to realize the target impedance model in Cartesian space (compliance frame). This architecture does not require any significant modification of the position servo controller and it is very suitable for implementation in conventional robotic systems. This control scheme was recently implemented in the new space control system SPARCO [43] that integrates completely impedance control including servo control, sensor integration, motion planning, language support and monitoring functions. The most common and general impedance control concept was established by Hogan [7]. The focus of this approach is on the characterization and the control of dynamic interaction based on manipulator behavior modification. In this sense the impedance control is an augmentation of position control. The control strategy requires the robot to behave as the inverse to the environment. That is, if the environment is best modeled as an admittance (i.e. it is very compliant), then impedance control should be applied and, conversely, if the  36  environment is best modeled as an impedance (i.e. it is very stiff) then admittance control should be applied.  Almost all proposed impedance control architectures utilize a linear target impedance with, at most, a second order model. The reason for this is that the dynamics of a secondorder system is well understood.  3.6.2.1.1  Damping Control  Various control schemes were established and proposed for controlling the relation between robot motion and interaction force. One of the first approaches to impedance control is proposed by Whitney [44]. In this approach, referred as damping or accommodation control (Figure 3.9), the force feedback is closed around the velocity control loop. The interaction force is converted into velocity command modification by a constant damping coefficient K . Conditions for stability imply that if the stiffness of F  environment is high, to avoid large contactforces,very high sampling rates are required.  Xo  F  K  ROBOT  M  LJ  K  l  J  1/s  Environment  1  Figure 3.9. Damping control scheme.  37  3.6.2.1.2  Stiffness Control  Salisbury [45] has proposed a new scheme, namely, stiffness control, where the endeffector position is modified in accordance with the interaction force (Figure 3.10). This architecture is based on a generalized stiffness formulation F = K8x where 5x is a generalized displacement from a nominal commanded end-effector position, and K is a sixdimensional stiffness matrix.  Based on a difference between desired and the actual end position, a nominalforceis computed and converted into joint torques using the transpose of the Jacobian matrix.  qo  q„  -*  Figure 3.10. Stiffness control scheme. This force is then used to determine the torque error in each joint, which is further used to correct the applied torque so that the desired force (i.e. stiffness) is maintained at the robot hand.  38  3.6.2.2  Force Control  Maples and Backer [46] modified the Salisbury's architecture by closing the force control loop around a position controller, namely internal loop force control. Unlike the original architecture, all computation including desired force F  0  = KAx, force error  formation using sensed forces, and force compensation, are made in a task frame. The output of the force compensator is a position modification, which is realized through a standard position controller. A pure integrator is used as a force compensation filter. This architecture achieves a relatively good robustness against perturbation (e.g. friction).  3.6.2.2.1  Hybrid Position/Force Control  Hybrid position/force control approach is based on a theory of compliant force and position controlformalizedby Mason [6] and concerns a large class of tasks involving partially constrained motion of the robot. In dependence of the specific mechanical and geometrical characteristics of the given contact problem, this approach differs in two sets of constraints upon the robot's motion and the contact forces. A set of constraints which is a natural consequence of the task configuration, i.e., of the nature of the desired contact between an end-effector and constraining surface, is called natural constraints. A suitable frame in which the natural constraints are prescribed is referred to as the task or constraint frame [47]. In order to specify the task, which should be realized by the robot in the compliant frame, so-called artificial constraints have to be introduced. Practically, these constraints partition the possible DOFs of the motion into those which must be position controlled and those that should be force controlled in order to perform the given task. It is reasonable to define an artificial constraint with respect to force when there is a natural constraint on the gripper  39  motion in this direction (DOF), and vice versa. For the sake of simplicity, a diagonal Boolean matrix S, called the compliance selection matrix [40] has been introduced. In accordance with the prescribed artificial constraints the /th diagonal element of the matrix has the value 1 if the zth D O F with respect to the task frame is to be controlled, and the value 0 if it is position controlled.  3.6.2.2.2  Explicit Hybrid Position/Force Control  The most important method within this group is the architecture proposed by Raibert and Craig [40], namely explicit hybrid position/force control (Figure 3.11). The control consists of two parallel feedback loops, the upper one for the position and lower one for force feedback loop.  1  Xo  N  contact  J-  1  Position control ROBOT  + Sensors F  0  Force control  KM  F  Environment  F  Figure 3.11. Explicit position/force control architecture.  Each of these loops use separate sensor systems. Separate control laws are adopted for each loop. The central idea of this hybrid control method is to apply two independent  40  control loops assigned to each D O F in the task frame. Both control loops cooperate synchronously to control each of the manipulator joints.  Initially this concept appears to be ideally suited to solve the hybrid position/force control problems. Flowever, there are some fundamental difficulties related to this concept. The first problem is related to the opposite requirements of the hybrid control concept concerning position and force subtasks. Position control must be very stiff in order to keep positioning errors in the selected direction as small as possible, while the force control requires a relatively low robot stiffness (corresponding to the desired force) in the force controlled direction in order to ensure that the end-effector behaves compliantly with the environment. As already explained above, the explicit hybrid control tries to solve the problem by control decoupling into two independent parts which are position and force controlled. This would require that the position control does not interfere with the force control loop. However, this is not the case. Since each robot joint contributes to the control of both the position and force, coupling in the manipulator mechanical structure results in control input to the actuator corresponding to the force loop producing additional unwanted forces in position-controlled directions in the task frame and vice versa. Due to this coupling between position and force controlled DOF, setting position errors in the force controlled directions to zero reduce the position feedback gains in all directions, causing the entire system to become highly sensitive to perturbations. As a consequence, the performance of a robot is not unique with this scheme for all configurations and for all force-commanded directions. Moreover, one can find certain configurations for which, depending on selected force and position directions, the systems becomes unstable. To overcome the dynamic problems of hybrid position/force control several investigators have pursued the idea of including the robot dynamic model in the control law. For example, resolved acceleration  41  control, originallyformulatedforthe position control [48], belongs to the group of dynamic position control algorithms. Shin and Lee [49] have extended this approach to the hybrid position/force control. The joint space implementation of the proposed control scheme is sketched in Figure 3.12.  (q>q) + g(q)  h  H(q) Ai  F» W  s  Robot and Environment  F  w  Figure 3.12. Resolved acceleration-motion force control. In this scheme, the driving torques compensate for the gravitational, centrifugal, and Coriolis effects and feedback gains are adjusted according to the changes in the inertial matrix. An acceleration feedforward term is also included to compensate for changes along nominal motion in position directions. Finally, the control inputs are computed by  T  = AS x* + ju(x, x) + p(x) + Sf*,  (3.9)  where x* is the commanded equivalent acceleration  x = xo + K (xo -x) + K (x - x), v  p  0  (3.10)  42  and f* is the command vector from the force control parts whose form depends on the applied control law. To minimize the force error, it is convenient to introduce the PI force controller of the form  r=K (F =F) fp  3.6.2.2.3  0  +  (3.11)  K \(F -F)dt. fr  0  Implicit Hybrid Position/Force Control  In commercially applied robotics systems, the most promising approach is to implement a implicit or position-based control [46] architecture by closing a force-sensing loop around the position controller (Figure 3.13). The input to the force controller is the difference between the desired and actual contact forces in the task frame. The output is an equivalent in force controlled directions which is used as a reference input to the positional controller.  J-  1 —  ^  Position control  ROBOT  Environment  +  Sensors Explicit force control  Figure 3.13. Implicit position/force control scheme.  According to the hybrid positional/force control concept, the equivalent position in the force direction x  ! 0  is superimposed on the orthogonal vector x  p 0  in the compliance  frame, which defines the nominal position in orthogonal position controlled directions. The  43  robot behavior is practically affected only by the acting force. The positional controller remains unchanged, except the additional transformations between the Cartesian and task frames.  3.6.2.3  Parallel Control  A conceptually new approach to position/force control, namely parallel control (Figure 3.14), has been proposed in [50]. Contrary to the hybrid control, the key feature of the parallel approach is to have both position and force control along the same task space direction without any selection mechanism. Since in general both position and force cannot be effectively controlled in a uncertain environment, the logical conflict between the position and force actions is removed by imposing the dominance of the force control action over the position one along the constrained task direction where aforceinteraction is expected.  C - space Force controller Environment  ROBOT  X o  Position controller  ^  |  Figure 3.14. Parallel position/force control architecture. The force control is designed to prevail over the position in constrained motion directions. This means that the force tracking is dominant in directions where an interaction with environment is expected, while the position control loop allows the compliance, i.e., a deviation from the nominal position in order to reach the desired process. For a parallel  44  control architecture, consisting of a P D controller on the position loop, and PI action in the force loop, together with the gravity compensation and desired force feedforward loop, a set of sufficient local asymptotic stability conditions has been derived in [51], inclucling the stability analysis and simulation results on a industrial robot.  Different from parallel control approach proposed in [50], Vukobratovic and Ekalo [52, 53] have established a unified approach to control simultaneously position and force in a environment with completely dynamic reactions. This highly complex dynamic approach dealing with the control of robots interacting with dynamic environment is unlikely to be feasibly implemented for industrial robots.  3.6.2.4  S u m m a r y o f C o n t r o l Architectures  The summary of control architectures is given through the diagram shown on Figure 3.15, expressed over three major characteristics: robustness, complexity, reliability. Comparison of control architectures through these characteristics helps in deriving appropriate rules for architecture selection in TREX.  The use of the characteristics and criteria for selection of a particular controller via an expert system is consider in Chapter IV. Each characteristic is defined as follows.  Reliability — architecture's ability to accomplish not only tasks from one certain class of task, but also the various kind of either contact or non-contact. Complexity — defines the time needed for a certain architecture to calculate the control law and provide the control input to the robot manipulator  45  Robustness — architecture's ability to cope successfully with parameter uncertainties, variations of system's parameters, unmodeled system dynamics, external /internal/ disturbances, sensitivity toforceperturbation, changes in end — effector position, etc.  The comparison of control architectures is presented in a three-dimensional coordinate system robustness/ complexity I reliability.  Robustness  Figure 3.15. Complexity/reliability/robustness diagram for constrained motion.  According to the comparison diagram shown above, one can conclude that 'ideal' control architecture would be the one that is highly robust and reliable and less complex. As shown, IJC, the most commonly used architecture in industrial systems, is the least ideal scheme in terms of robustness and reliability.  Due to today's very powerful hardware systems, the higher weight in these relationships is set to first two characteristics then to a complexity characteristics. Thus, the  46  control architectures that are commonly used in robotics constrained motion tasks, and what is called 'ideal architecture' are: impedance control and hybrid positionforcecontrol.  This review presents a number of issues which are essential to selection of a robot controller - mainly task type and robot/environment model. Considerations of these issues, along with the criteria shown here, are the basis for the development of TREX.  3.7  Remarks In this chapter, the survey of the state-of-the art in advance robotics area based on  available publications is given. Although several high-level control strategies and schemes have recently been proposed and elaborated, the number of advanced robotics applications for complex contact tasks remains insignificant. The reason for this is that the majority of new concepts are still in laboratory investigation stage, and their implementation in today's low performance control systems is too tedious and inefficient.  This brief review of robot control issues points to three somewhat separate, but related themes, namely: (i) robot tasks, (ii) robot/environment models and the associated controller architectures developed for such models, and, (iii) the low-level controller design that is mainly related to stability issues. Sub-issues such as model uncertainties, disturbances, sampling rates, and sensing provide a clearer view of the problems related to robot control.  A closer evaluation of the low-level controllers point to the following major characteristics that classify such controllers: trajectory rate (low/high speed), driving system of the robot joints, the rate of response, control accuracy, degree of stability, overshoot, and rise time.  47  However, as discussed, the controller selection must be strongly linked to the robot control architecture. Control architectures, are most generally offered for interaction control. They  can  be  classified  by  following  characteristics:  type  of  motion,  model  (robot/environment) type, model (robot/environment) confidence, sensor information, computational rate, input/output rate, sampling rate, environmental/manipulator joint stiffness, planning task error, and internal/external disturbances.  Thus, this review give rise for the classification of control procedures, namely, a robot control taxonomy, which is presented in the following chapter.  48  Chapter IV "...bitiisti, bitiposeban, bitiSlobodan, bitisamo svoj..."  -Partibrejekersi  T R E X : Taxonomy-based Robot-control EXpert-system  4.1 Taxonomy In order to develop an expert system for robot control, the issues mentioned in previous chapter, related to robot and environment characteristics, control schemes, and controller, should be addressed. The first step in the development of such a system is a classification of different control approaches related to various industrial robot tasks. By developing such a classification, the system can be applicable in industrial purposes, and used to provide better understanding of robot control problems and solutions. The proposed taxonomy of robot control architectures is shown in Figure 4.1. In this figure, the main issues for selection of robot control architectures have been divided into  four sections: (1) Industrial Application,  (2) Motion Characteristics, (3) Control  Architecture, and (4) Low-level/specialized controller.  The  first two categories are tightly coupled, as the selection of a motion  i  characteristic is application driven.  CONTROL  lVDlSTRIALTASK MF  AKCIIirKCILKi:  spotwelding impedancecontrol  M F spray painting  MF  laser cutting  MF  a r c welding  MH  assembly  MF  drilling  MF  polishing  C O M KOL.I.liK MOI IO\ DYNAMICS  hybridposition  UIARAL'J KIUMICS  forcecontrol  continuous pathmotion  stiffness control  with applied torque  continuous path motion  continuous path motion with  MF  deburring  applied force  dampingcontrol  feedbackcontrol  naturaltracking  hybridposition torquecontrol  MF screw fastening  adaptivefuzzy  control  pomt-to-pointmotion  nonlinear P D  implicitcontrol MH  loading  fuzzy explicitcontrol  MH  palletizing  ME  object inspection  ME  contour finding  1/1 adaptivecontrol  robustcontrol  independentjoint control  computed torque  ROBOT/SENSORS/ENVIRONMENT - CRITERIA -  Figure 4.1. Taxonomy scheme. The remaining categories distinguish between issues relating to the design of control architectures and the applied control algorithms. As seen in the previous chapter, control  50  architectures resolve issues mainly related to the modeling of the robot and the environment. Control algorithms are mainly designed based on issues of stability, sampling rates, and uncertainties. However, as represented in this taxonomy, these issues must also be considered in selecting control architectures. As a result some particular robot control algorithms and architectures tend to be better suited to each other. These relationships are represented by the crosswise links shown in Figure 4.1.  4.1.1  I n d u s t r i a l T a s k s a n d M o t i o n Characteristics  In these categories, robot industrial tasks are divided into three major groups: manufacturing ( M F ) , material handling ( M H ) and measuring ( M E ) . Each consists of  various different industrial tasks each related to one of four possible robot motion dynamics characteristics: point-to-point motion, continuous  path motion, continuous  path  motion with applied force, and continuous path motion with applied torque.  Some robot operations like the assembly process may consist of multiple types of robot motions. A description of the type of robot motion is a necessary first step for selection of appropriate control procedure. Some industrial tasks like spray painting, laser cutting or arc welding require a simple unconstrained continuous path motion that may be efficiently accomplished, for example, by a computed torque control architecture with a P D controller.  However, it is well known that an independent joint architecture with a P D controller with exact gravity compensation is asymptotically stable at the zero equikbrium state for point-to-point motion, although imposing high gains is necessary.  51  On the other hand, for processes like drilling, deburring or polishing, the problem of modeling the environmental contact arises requiring a control architecture for force compensation and, simultaneously, position control. Thus, for this motion dynamic characteristic, namely, a continuous path motion with applied force, different control  architectures can be applied: impedance, hybrid impedance, parallel position/force, hybrid position/force each altogether with different types and orders of controllers depending upon user's requirements.  4.1.2  Control Architectures In this particular system, the main representatives of structurally different control  schemes that have been successfully used over the last decade to accompHshing various industrial tasks have been chosen. Each has advantages and disadvantages, and may be selected via a matching of user requirements and task specifications with the characteristics of each control scheme. Based on the review in Chapter III, thefollowingcharacteristics for the selection of a particular control architecture are identified:  • robot model • environment model • system capabilities • controller objectives and • system inputs For example, in applications where the robot is in contact with environment, impedance control and hybrid control architectures are the most suitable depending upon the environmental model and controller objectives. In the case where force sensor information is unavailable, implicit force control can be utilized. However, it is very difficult  52  to achieve robust hybrid position/force control that would, with a unique control law and unique controller gains, be suitable for a wide range of contact problems (i.e. for different natural and artificial constraints). For point-to-point motions, natural tracking control gives good tracking capabilities without the knowledge of the nonlinear system's internal dynamics. In summary, the characteristics listed above can assist in the selection of one control schemes over another.  For continuous path motion with applied force or torque, especially when robot operates in uncertain environment, or when some unmodeled dynamics are introduced into system, robust control approach can cope with these problems. Two attractive features of the robust control architecture are that on-line computation is kept to a minimum and its inherent robustness to additive bounded disturbances. However, disadvantages of this control approach are in its requirement for a priori knowledge of bounds on the uncertainty, and that even in the absence of additive bounded disturbances, it is impossible to guarantee the asymptotic stability of the system.  4.1.3  Controllers There is no overall mathematical approach that can prove that using one controller  over the other will give better performances although some indications exist. For example, disturbances in robot contact tasks due to friction forces can be compensated with PI or PID only in a limited number of cases. However, both PD controllers with partial compensation and with fixed non-linear compensation rely on the complete and exact knowledge of manipulator dynamics, and such knowledge cannot be acquired easily. In the case where a robot picks up some payload or changes operation tool during the operation, it is impossible to accurately calculate varying robot dynamics. In such cases an adaptive  53  control scheme, which does not require exact manipulator dynamics seems to be a promising solution. Model reference adaptive control (MRAC) relies on the assumption of slow motion of the manipulator as well as slowly varying dynamics. However, asymptotic stability cannot be proven. Zero state error and fast parameter accommodation can be achieved with adaptive control via linear parameterization. Using the fuzzy logic or adaptive fuzzy controller might improve output response a great deal. Herein, the proposed criteria for choosing the appropriate controller are the indicators for quality of the transient response: • tracking error • speed of response • damping ratio • overshoot • settling time and • dominant time constant  4.1.4  Discussion The proposed taxonomy provides a methodology for selection of a control  architecture and related controller suitable for a particular task, robot model, environmental model, sensor availability, and stability criterion. The control architecture is clearly separated from the controller. The control architecture provides a mechanism for getting the persistent excitation of inputs for the particular control law, whereas the controller is incorporated into the internal architecture's loop. Each control architecture obtains and calculates these inputs in different ways depending upon the task objective, available measurements /sensor information/, and desired inputs. The criteria that also play a role in selection of the control architecture are identified. Interconnections  between architectures and particular controllers on Figure 4.1 are  54  proposed, based on the review given in Chapter III. The selection of the architecture along with the identified criteria, namely, overshoot, rate of response and disturbance rejection, drive the controller selection. This taxonomy leads to the design of an expert system controller that is "open" in form. The potential user could adapt, and expand such as existing system by adding or revising control architectures and controller modules. Using an open architecture controller hardware aflexiblecontroller system can be developed as described in the following section.  4.2 Taxonomy-based Robot-control EXpert-system This chapter discusses the design of implemented expert system and its sub-systems for selection of appropriate control algorithm for a particular robot task. A brief introduction of fuzzy logic approach as one of the possible methods for intelligent control precedes the discussion of its application to the hierarchical expert system architecture and its modules. In this work fuzzy logic is used as a tool for implementation of taxonomy over an expert system design.  4.2.1 Fuzzy Logic Fuzzy logic is an extension of conventional set theory. It is a theory for operations on a class of sets known as fuzzy sets. As opposed to conventional sets that have a degree of membership of 0 or 1, fuzzy sets have an additional real number valued parameter that expresses the degree to which an object belongs to a set. Thus, fuzzy logic allows the extension of set theory to problems where there are not crisp determinations of an object membership in a specific class, and further, there are not crisp definitions of the class itself.  55  This makes fuzzy logic well suited to reasoning about problems often considered by human expert.  4.2.2  Fuzzy Reasoning Fuzzy inference is the process of formulating the mapping from a given input to an  output utilizing fuzzy logic. There are two types of fuzzy inference systems that can be implemented in M A T L A B Fuzzy Logic Toolbox [65]: Sugeno-type and Mamadani-type, where latter is most commonly used. Mamdani's method uses min- and max-operators to make inferences with a set of fuzzy rules expressed in an I F - T H E N format [22].  IF x IS M , AND y IS JV, T H E N ^ IS JL„ Weight 1.0 y IS N  IF x IS M O R  2  2  T H E N z IS U,  Weight 0.2  (4.1) (4.2)  The fuzzy rules (4.1) and (4.2) map the inputs x and y from M and N sets respectively, into output % from set JL. The variables x, y, and ^ referred to as universe of discourse for given sets. Figure 4.2 illustrates Mamdani's direct fuzzy reasoning method over membership functions jU (x), jU (x), and // (x), which describe the fuzzy sets M, IV, and L\. M  N  L  Weight Mi  i  \  AND  \  0  1.0  Ni  1  \ V  0  OR MM (X) !  0  /  /  \  HN (y) 2  \  ^  0  Figure 4.2. A diagram illustrating Mamdani's direct fuzzy reasoning method.  56  4.2.3  Expert System Design  Intelligent robot control can significantly improve the performance of the manipulator. Conventional AI research often employs rule-based systems. Rule-based systems have a number of advantages when applied to certain problems. The rules separate the knowledge base from the inference engine required to use it, allowing each to be developed independently. The inference engine provides data matching and search algorithms that are task independent. The expert controller must select among multiple strategies and cope with varying results. In this particular application, the developed expert system acts on database, which consists of different control architectures altogether with different controllers (see Figure 4.3)  Planned task-reference signal  1 XI'IKI s \ M I M  I I I  I  ; TUNING SOFTWARE I  Selection Modules  Control Architectures  UsH2  Tuning Modules  Controllers  ORTS  ROBOT  I  Figute 4.3. Schematic figure of system. The proposed system is shown on Figure 4.4. The system is developed using a MATLAB Fuzzy Logic Toolbox [65]. Given a planned task motion and user information about the task goals as the inputs to expert system's rule base, the inference engine selects a  57  most appropriate control scheme and controller for particular problem. These are then downloaded to the real-time open architecture system and applied to the robot. The interconnection between the tuning software, expert system, and controller provides online tuning of particular controller. It also allows feedback to the expert system to self-tuning of the rules.  4.2.4  E x p e r t System Architecture  The expert system comprises three main modules namely the control architecture  module (CAM), the controller module (CM), and the tuning module (TM). Each module works separately but the architecture output from the CAM module is used as an input to the CM module. This work focuses on the CA, and C modules. Thetaningmodule is the subject of future research.  4.2.5 The  E x p e r t System M o d u l e s expert system's inference engine for choosing an appropriate control  architecture consists of eight modules whereas controller selection is made by two expert modules. Each of these modules works separately. Different membership functions and different number of rules are developed for each module.  However, the final decision about controller depends on the final decision about control architecture. The individual modules are discussed in the following sub-sections.  58  ON  in  Control Architecture Modules - robot and environment model type - robot and environment model confidence - disturbances - effective stiffness - allowable planing task error - dynamic motion characteristics - sensor information - hardware  Controller Modules - control structure - controller type  Table 4.1. CA and C modules.  4.2.5.1 D y n a m i c M o t i o n Characteristics M o d u l e The criteria for selection of appropriate dynamic motion characteristic are expressed through the following relationships. These relationships are shown in the user interface through graphically displayed membership functions. The expert system consists of 14 rules.  Type of motion =^(contact/non-contact), T = t/1,  [sec]/[m],  (4.3)  Following of desired/specific path (tracking) =^(following/non-following), F = k/1, [%]/[m],  (4.4)  Control type during the contact (if exists) = y(posiuon-force/position-torque), C = n/t,  [%]/[sec],  (4.5)  t — time that robot spent in contact with environment expressed in [sec] 1 — path length k — a number that express end-effector following desired path expressed in [%] n - a number that expresses position-force control during the contact (if exists) expressed in [%]  60  Based on the estimated values for T, F, C, their fuzzified memberships, and the fuzzy rules, the inference engine calculates a defuzzified value that express one of the dynamic motion characteristics: point-to-point, continuous path, continuous path with applied fotce or continuous path with applied totque motions.  This module comprises 14 rules. The membership functions and related part of fuzzy rules are shown on next figure. non-contact (nc)  0  50  contact (c)  100 T[%]  Time that robot spent in contact with environment.  0  50  100  non-Jolhmng (nj)  0  50  100 F | % |  Functions that express if end-effector follows a desired path.  C[%1  0  Functions that expresses the percentage of force/torque  50  100 D M C  Dynamic motion characteristics  control during the contact (if exists).  Figure 4.5. Membership functions for D M C module.  If T is nc and F is nf and C is fo then DMC is PTP, W=1.0 else if T is c and F is /  and C is fo then DMC is CPAF,  else if T is c and F is nf and C is to then DMC else if T is c and  F is  nf and C is fo then DMC  W=1.0  is CPAT,  W=0.7  is CPAF,  W=0.9  end  Table 4.2. A part of rulebase for D M C module.  61  followin  4.2.5.2 M o d e l Confidence and M o d e l T y p e M o d u l e s The Model Confidence and Model Type modules are connected, and work together. If the output from dynamic motion characteristics module described in section 4.2.5.1 is some type of unconstrained motion (e.g. point-to-point, continuos path motion) then only information about the robot model confidence (expressed over fuzzy values low, medium, high) and robot model type (expressed over membership functions for linear-coupled, linear-uncoupled, nonlinear) are gathered. Otherwise, for robot contact motions, information about the environment model confidence {low, medium, high) and environment model type (linear-kinematical, linear-dynamical, nonlinear-kinematical, nonlinear-dynamical) have to be obtained as well. The membership functions are presented on Figure 4.6. linear-coupled (lc)  0  linear-uncoupled (lu)  50  100 R T [ % |  Membership function for robot model type  0  non-linear (nl)  50  50  medi  100 R / E C [ % ]  Membership functions for robot /environment model confidence  linearlinearnon-linearnon-linear-kinematical (lk) -dynamical (Id) -kinemalical(n/k)  0  low  100 E T  Membership function for environment model type  0  -dynamical (n/d)  50  100 A [ % |  M o d e l accuracy  Figure 4.6. Membership functions for model confidence/type module.  62  "  lm  These modules comprise 18 rules giving a defuzzified value that express model accuracy, and the rulebase is designed in a similar way as for previous module.  4.2.5.3  Sensor Information Module  The user provides information about position, velocity, force and torque sensor availability. Then the information validity is estimated as:  Validity of information =/information uncertainty/signal filtering) [%]  (4.6)  Thus, for each available sensor, the validity of information is in function of information uncertainty and information filtering. The defuzzified value provides a measure of the sensor's information validity. The 10 rules make a rulebase for each sensor. low (lo)  medium (me)  0  high (hi)  50  yes (y)  do not know (dn)  100 V|%]  Validity of p/v/f/t sensor information [%].  Figure 4.7. The membership functions for sensor information module.  63  no  If  U  is  lo  and P is dn then K is  W=0.7  else if U is hi or P is n then K is hi, W=0.5  end  Table 4.3. The part of rulebase for validity of sensor information.  4.2.5.4  Hardware Module  The computational speed of the controller hardware is important in the sense of allowable control architecture complexity to be applied. This issue is represented over membership functions used to describe computer computation rate and transfer 1/O rate.  486 (lo)  Pentiuml (me) (bi)  Sampling interval  Penliumll (rh)  Penliumlll (rl) (lo)  Serial Parallel Ethernet ISA Bu (me) (bi) (rb)  Allowable complexity of control architecture  Figure 4.8. The membership functions for hardware module.  64  The fuzzy intervals used for computation rate and for signal transfer rate are to give the user an idea of comparable computational abilities of the system. For example, operating on PC Pentium II which computation rate ranges from 233-450 MHz, and using a transfer type 32-bit PCI Bus with transfer rate 33 MHz-132 Mbytes/sec, and with imposed sampling interval of 500 Hz will be sufficient hardware capacity for real-time control with some complex control architectures as hybrid/impedance control or adaptive control. Thus, the allowable architecture is function of thefollowingvariables:  Architecture complexity =/computation rate/transfer rate/sampling interval)  (4.7)  The rulebase comprises 18 rules, which are defined as is shown in Table 4.4.  If  CR  is  lo  and TR is vl and SI is me then AC is lo, W=1.0,  else if  CR  is /'/ and TR is lo and SI is lo then AC is me, W=0.6,  else if  CR  is  vh  and TR is vh and SI is me then AC is hi, W=1.0,  end  Table 4.4. T h e part of rulebase for hardware module.  4.2.5.5  Stiffness Module  In [20], it is shown that, for given link parameters, interaction between the structural stiffness of the manipulator link and the stiffnesses of the contacting regions of the manipulator tip and the environment results in distinct changes in the modal structure of the manipulator/environment system, as the effective contact stiffness increases.  65  Thus, contact stiffness, which usually ranges from 50 N / m to 5 M N / m has a direct relationship to the system natural frequency. For example, for single rigid link, the effective stiffness is defined as:  k  =—  sy  etr  ,  ey  where system natural frequency is  and  cx>  x  ~  co « ^ 2  2  m,.  .  (4.8)  It is shown that for manipulator with two rigid links, natural frequencies are proportional to kg "~ for a given set of link lengths and inertias. From Shannon's theorem, v  the appropriate sampling interval T can be found to satisfies condition for system stability, < 1, where, T — sampling interval, K - force control gain and k j — effective stiffness.  0 < T Kkj f  t  f  e  These non-fuzzy values are computed, and used as a criterion for selection of upper and lover gain values limits of chosen controller.  For robot control architecture selection, it is appropriate to approximate overall stiffness K j of both manipulator structure and contact environment in the sense of low, e  medium and high. For that purpose, membership functions are created as shown on Fig. 4.9. rubber (lo)  aluminum,plastics (me) (hi)  Membership functions for environmental stiffness  steel, metal (lo)  (me)  DC-geared (hi)  Membership functions for manipulator joint stiffness  66  AC-direct-drir  lo  me  0  bi  50  100 K r f r [ K N / m |  Membership functions for effective stiffness  Figure 4.9. Membership functions for stiffness module.  The manipulator stiffness is defined over the type of robot joint driving system. The highest stiffness K^. is assigned to hydraulic joints. However, environment stiffness is approximated over the type of environment that end-effector is in contact with.  Thus, functions that correspond to low stiffness values are assigned to materials like rubber or some other soft material, whereas the highest stiffness  is assigned for metal,  steel, etc. The final fuzzified value is obtained through the rulebase consisting of 9 rules, and the part of this rulebase is given in Table 4.5.  If K is Io and iC is lo then K x  else if K, is  rf  lo  is lo, W=1.0,  and K>, is me then  K  lff  is  me,  W=0.7,  else if K^. is me and Ky is hi then K is hi, W=0.6, tg  end  Table 4.5. The part of rulebase for stiffness module.  67  4.2.5.6 Allowable Planning Task Error This information is important for choosing appropriate control architecture. The criteria for unconstrained motion are expressed over second finite Laplace theorem. For point-to-point motion the main parameter is final positional error that system produces under step function as an input.  s  s  = lim*(f);  criteria :  £  S P  = lim  1  E = /(*„),  (4.9)  For continuous path motion (tracking), this criterion represents the normalized standard error over unity range, for a ramp function input to the system.  s=lime(t); S  where criteria is  s. = l i m - — - — \ / ?  SV  n  1  TXT"  E=/(normalized error/unity range),  (4-10)  and normalized error is defined as  x-state vector, criteria is E = f(k).  (4.11)  68  For constrained motion, the criteria are related to practical stability analysis, which is beyond the scope of this work. Instead, the criteriaforallowable planning errorforcontact tasks will be substituted. The membership functions are shown on Figure 4.10.  low  medium  high  low  Allowable error for contact task  medium high  Allowable planning task error  Figure 4.10. Membership functions for allowable planning task error.  The part of rulebase is shown in Table 4.6.  If  FE  is  lo  and  TE  is  lo  else FE is me and TE is else FE is hi and TE is  and lo hi  CE  is  hi  then AE is m e, W=0.9,  and  CE  is hi then AE is me, W=0.8,  and  CE  is hi then AE is hi, W=1.0,  end  Table 4.6. A part of rulebase for allowable planning task error.  69  4.2.5.7  Disturbances Module  The effect of disturbances is introduced in fuzzy calculations over the membership functions for external (environmental) disturbances that are represented with the fuzzy values, low (forexample, variable contact caused by deformation in plastic, rubber etc.),  medium (e.g. variable contact caused by deformation of wood, aluminum etc.), and high (e.g. variable contact caused by deformation of metal), as well asforinternal (manipulator) disturbances expressed over fuzzy valuesforstatic (gravitational moment) and dynamic (external moment, coupling etc.) disturbances.  static  dynamic (jjfi  tow  medium high  E  0  50  100 ID [%]  0  Membership functions for type of internal disturbances  to  0  50  100 E D [%]  Membership functions for type of external disturbances  me  50  bi  100 D |%]  Membership functions overall disturbances  Figure 4.11. Membership functions for disturbances module.  70  4.2.5.8  Control Structure M o d u l e  The control structure module is a part of the control module in the expert system architecture that is responsible according to the available information for making decision about the structure of control algorithm, whether it is going to be decentralized or  centralized. The control structure module is in function of its main parameters, trajectory rate, driving system of joints, rate of response, and required control accuracy. Decentralized control has some advantages and disadvantages over centralized structure. First of all, it is less complex than calculating a nominal centralized control. It is relatively simple to accomplish this type of control on-line, whereas doing on-line centralized control sometimes can be tedious and difficult. Flowever, robot stabilization around the nominal trajectory is poor when using local controllers that do not take into account the dynamic coupling between the joints. On the other hand, direct-drive robots (equivalent moment of inertia is small) have become more commonly used. In such cases, the use of local controllers is not satisfactory, and a centralized structure has to be applied. All these issues and criteria are considered for designing rule base for this module that comprises 15 rules. The membership functions are shown on Figure 4.12. A C-Dim't-drii m  DC-Geared  0  50 Membership functions for trajectory rate  100 ST [%]  0  50  100 DS [%  Membership functions for driving system of robot  71  low  medium  high  0  slow  50  moderate fast  100 CS [%|  Membership functions for control structure module  Figure 4.12. Membership functions for control structure module.  If  ST  is  lo  and  DS  is  lo  and R E is  else ST is mo and DS is lo and R Eis  and hi  CA  is hi then  and C / l is  else ST is hi and DS is hi and R Eis A/ and  CA  then  =0.9, is lo, W  is /», W=0.8,  isOT«then CS is fo', W=1.0,  end  Table 4.7. A part of rulebase for control structure module.  4.2.5.9  Controller T y p e M o d u l e  T h i s module is responsible for making decision about the low-level controller to be incorporated into the control architecture based o n the criteria set by a user. T h u s , the main parameters for choosing the controller are, allowable overshoot, degree o f stability, required  72  rise time and allowable error. The module consists of eleven rules and membership functions are derived and presented on next figures.  Ingb  udium  E E  A  d  \ /  0  50  100  P[%]  50  100 A [%]  Membership functions for required rise time  Membership functions for degree of stability  Non-Cartesian (In)  Cartesian (lo)  E E  E  <D ir.  d  E  o  so  ioo n[%]  d  0  50  PD  0  50  100 E | % |  Membership functions for allowable error  100 5[%|  Membership functions for type of robot  Membership functions for allowable overshoot  0  PI  50  PID  100 C T  Membership functions for controller type  Figure 4.13. Membership functions for controller type module. If p is hi and 77 is lo and A is lo and 8 is hi and E is  then CT is P, W=0.9,  else if p is lo and 17 is lo and A is lo and 5 is hi and E is ^ then CT is P, W=0.7, else if p isfo'and 77 is  and zl is lo and J is hi and £ is ^ then C T is PID, W=0.7,  end  Table 4.8. T h e part of rulebase for controller type module. 73  4.2.6  Summary In this section a taxonomy for robot control, representing on robot tasks,  motion dynamics, control architectures and controllers. This taxonomy is generated based on identified characteristics important to the selection of robot control architecture and robot controller.  Based on this taxonomy, a robot control expert system, consisting of controller architecture module (CAM) and a controller module (CM) have been developed. In the following chapters a set of simulations and experiments are presented which verify the control scheme selections made by the expert system.  74  Chapter V  Simulation Results In this chapter, the results obtained through the simulation of two-link planar arm for various types of robot tasks are presented. The objective of these simulations is to verify the decisions made by the TREX system. A comparison of the selected controller system (architecture and controller) against the second choice system is presented in such case.  5.1 The Two-Link Planar Arm For the simulation result purposes, the two-link planar arm (Figure 5.1) is considered. The simulation of the 2-dof robot is performed using the Matlab Robotics Toolbox, and appropriate model-based block diagrams schemes are derived in Simulink. The dynamic model is presented in Appendix A and adopted parameters of planar arm are given in Table 5.1.  Figure 5.1. Two-link planar arm.  15  Parameter generalized joint coordinates functional S-coordinates  Symbol q =  (qi, qi)  s - (x,y)  Value variable variable  mass of the first link  mn  50 kg  mass of the second link  mi 2  50 kg  moment of inertia with respect to the axis of first rotor  Im\  10 k g m  2  moment of inertia with respect to the axis of second rotor  Iml  10 k g m  moment of inertia relative to the center of mass of the first link  In  0.01 kg m  moment of inertia relative to the center of mass of the second link  1,2  0.01 kg m  mass of the first rotor  m,„,  mass of the second rotor  m,„2  5 kg  first link length  a\  1 m  second link length  a\  1m  first link from the first joint axis  k  0.5 m  distance of the center of mass of second link from second joint axis  h  0.5 m  2  2  2  5 kg  distance of the center of mass of  viscous friction coefficient at the motor shafts  F \= m  F,„2  10 ohm  actuators' armature resistance actuators' torque constant actuators' voltage constant  0.01 N m s/rad  k,i\— k/2  k,.\= k,,2  2 N m/A 2 V s/rad.  Table 5.1. The parameters of two-link planar arm.  76  The motion of the controlled arm was simulated on PC Pentium 120 MHz, by adopting a discrete-time implementation of different control schemes with two distinctive sampling intervals, 1 ms and 5 ms for both constrained and free arm motion. For this robot, a typical, general-purpose 'robust' independent joint control architecture with PD controller may be used. The results for these general-purpose architecture compared to the control architectures selected by the expert system, for given criteria, are given in the following sub-sections.  5.2 Continuous Path Motion Task Task Description  5.2.1  The desired arm trajectory has a typical trapezoidal velocity profile. The end-effector desired motion is a path along the joint space rectilinear path from #=[0  7t/4] to 1  qy=[Tl/2 7t/2] posture. The trajectory duration is tj — 1 sec. T  5.2.2  Criteria and Available Information  The criteria and information available to the expert system are given in the Table 5.2. Criteria - precise positioning with miriirnal error - high-speed trajectory  Information Available - position and velocity sensor information available  - good disturbances rejection  - validity of sensor information at 'high'level  - small initial oscillations about desired path  - level of disturbances at 'medium'level - hardware capability at  'medium'level  - model uncertainties at 'low'level  Table 5.2. Criteria and Available Information for CP motion task.  77  5.2.3 Control Architecture Selected by Expert System According to the available information obtained by user and the task description, the expert system is required to decide which control architecture is most suitable for a given task. As shown in Figure 5.2, the CAM selects a computed torque control architecture with the highest membership. The second choice is an independent joint control architecture.  For precise positioning, a PID controller is commonly used. However, in this case, due to the simplicity of the task, a PD controller can still achieve good results, and fulfill the given criteria. The D term in PD controller, gives a necessary high-speed of the robot arm with no necessary overshoots from I term if PID controller has been utilized.  Thus, among the other architectures, a computed torque architecture with a PD controller, is the expert system's decision with the highest membership. This scheme after the tuning accomplishes the given criteria (see Figure 5.5).  5.2.4 Applied Control Law The block diagram of utilized architecture is presented on Figure 5.3. This technique of nonlinear compensation and decoupling is very attractive from a control viewpoint since the nonlinear and coupled manipulator dynamics is replaced with n linear and decoupled secondorder subsystems [32]. The stabilizing control lawy is chosen as:  y = -K q-K q+r, P  D  (5.1)  78  II  =5  "D rt=!  SI  in  <X x /  y  \  \  / \  \  o  X X 0  CO  o o  a o  £>  o in II  / /  \  \  y  /  \  /  /  X  100  5^  y  /  X X X  O  u  U  u  o T3  1«  o o m  y  X  y  y  y  X X X X  y  X X X X o  •Si  in in  u  mm  H fN  s;  u = 31.9  S5  U  II  \ < <  y  \  <  <  ,i^  c \  X  y  \  1  <f  \  o  PH  o  <  T - c N . c o u - m c o r ^ o o a ) ^ :  <  <  3  W)  Given any desired trajectory q (t), tracking of this trajectory is ensured by choosing d  r  = <l i + K q l  D  d  +  Kq. P  (5.2)  cl  The applied control law is given in Appendix C.  qd  O  K  D  qd  o  K  -  P  L I N E A R  i  XOTSITROTXER"  N O N T . T N R AR C O M P R N S A ' H O N  Figure 5.3. Computed torque with PD controller.  5.2.4  Discussion and Comparison of Results  Figures 5.4 and 5.5 represents the time history of the joint torques and of the tip positions errors for the same desired trajectory with different control architectures applied for this type of motion. The gains of chosen controllers are tuned manually.  0.03  joint toiicrufis  joint pos eram  -0.0.5  Figure 5.4.  T i m e response with PD controller, t =lms, K =6.25, K =32. s  p  v  80  Figure 5.4 shows results obtained by using the decentralized standard (independent joint) control architecture with a PD controller. The gains of the PD actions have been tuned so as to obtain the most satisfactory response.  The next figure shows a response obtained with the architecture chosen by the expert system, namely; computed torque architecture with PD controller. This architecture achieves good disturbance rejection, and outperforms a previous scheme, especially after the controller tuning.  joint  totqms  joint pes ewms 0.05  -0.05  Figure 5.5.  Computed torque with PD controller, t =lms K =6.25, K =32. s  P  v  5.3 Continuous Path Motion Task with Tip Payload 5.3.1  Task Description  The desired arm trajectory has a typical trapezoidal velocity profile. The end-effector desired motion is a path along the joint space rectilinear path from  $=[0  7T./4]  1  to  qj=[n/2 7x/2] posture. The concentrated tip payload is of weight m = 10 kg. The trajectory 1  L  duration is tj—\ sec.  81  5.3.2  Criteria and Available Information The criteria and information available to the expert system are given in the Table 5.3.  Criteria - tracking with small error - low-speed trajectory  Information Available - position and velocity sensor information available  - small initial oscillations about desired path  - validity of sensor information at  - small settling time  - level of disturbances at  'high' level  'high' level  - hardware capability at 'high'level - model uncertainties at 'high'level - sampling interval o f controller at 'low' level - stiffness at 'low' level  Table 5.3. Criteria and available information for CP motion task with tip payload.  5.3.3  C o n t r o l A r c h i t e c t u r e Selected b y E x p e r t System  According to the available information obtained by user and the task description (Table 5.3), the expert system is required to decide which control architecture is most suitable for a given task. The main difference between this task and the task explained in previous section is in the changing tip payload and speed of trajectory. By introducing the payload at the tip of end-effector, the dynamics of the system is changed (link masses, inertia etc.).  Thus, there must be either some additional sub-system introduced into the control loop that will compensate for these changes or the calculation of input signals to the control architecture must be based on estimation and adaptation of certain parameters. The most important information that characterize this case are: a 'high' level of uncertainties involved  82  in robot model and a 'high' level of disturbances, which in this case represents 'internal' type of disturbances. According to these and other information gathered from user, the expert system selects the adaptive control architecture with the highest membership. Second choice is independent joint controller and third is computer torque control architecture (Figure 5.6).  For the controller, the same reasoning is used in this case as in the previous one. For precise positioning, a PID controller is commonly used. In this case one of the criteria specifies a 'small' error and not zero state error which indicates it may not be necessary to implement the controller with the integrator. A PD controller can still achieve good results, and fulfill the given criteria. The PD controller, gives the necessary high-speed of the robot arm with no overshoot.  Thus, among the other architectures, the adaptive control with PD controller, is expert system's decision with the highest membership. This scheme after the tuning accomplishes the given criteria (see Figure 5.10).  5.3.4 The Control Law The block diagram of utilized architecture is presented on Figure 5.7. The possibility of finding adaptive control laws is ensured by the property of linearity in the parameters of the dynamic model of the manipulator.  83  00  \A\  \\A  \A\  \A  T3 O  ( {\  y  if  /  c< \  o  \  y  <<  ( {  c  \  o o  o  a u  ~7f  o u  31.9  /  <  '/  =  validity sensor i  mm  v Xi  <  \  4  —]  o  H  \  V u  \ Ml —'  o  3  •  PH  J  (  c,  X_  |y  /  .  \  M <  \  <<<< O  T-  o  r-  /  BJ (N  o  o K/V%,  l/s  )  —•  Y(,.,,.)  U ROBOT  qd  CH  Figure 5.7. Adaptive control architecture with P D controller.  The control law is given as  u = Y(q, q,q q )x r  +K  r  D  (q + Aq),  (5.3)  and parameter adaptive law is  it = K Y  T  K  (q, q, q q )(q+ Aq ). r  r  (5.4)  The complete control law is described in Appendix C.  5.3.5  Discussion and Comparison of Results  The figures 5.8, 5.9. and 5.10 represent the time history of the joint torques and of the tip positions errors for the same desired trajectory with different control architectures applied for this task. In order to emphasize the importance of proper decision made by  85  expert system, comparison are made between two schemes used very often where some type of compensation is necessary, namely, inverse dynamic control with nonlinear compensation and adaptive control scheme with payload estimation and parameter estimation.  Figure 5.8 shows results obtained by using the inverse dynamic control architecture with PD controller and no compensation for load changes, implemented in operational space.  This scheme cannot stabilize a robot movement about desired path and shows  unsatisfactory results. The same scheme is applied with load compensation and results are plotted on Figure 5.9, and this scheme tends to stabilize robot motion but still perform sluggish behavior. The main reason for getting rather poor results with the use of these schemes is because, implementation of inverse dynamic control laws requires that parameters of the system dynamic model are accurately known. On the other hand, the model is usually known with a certain degree of uncertainty due to imperfect knowledge of manipulator mechanical parameters, existence of unmodeled dynamics, and model dependence  on end-effector  payloads not exacdy known and thus not perfectly  compensated.  x 10"  1  P  o s  errors  x 10"  Figure 5.8. Inverse Dynamic Control with no load compensation, t = 1 ms. s  P  o s  errors  Figure 5.9. Inverse Dynamic Control with load compensation, t — 1 ms. t  86  In the case of 'imperfect' compensation, a viable approach is the introduction of an additional term that will provide 'robustness' to the control system. Thus, robust control architecture that is designed to cope primarily with model uncertainties and outperforms inverse dynamic control with the same imposed condition (gains, sampling interval), could be used in this case but requires an increase of the sampling time needed to compute the control law. The gains of chosen controllers are tuned manually.  x 10-  joint p o s errors  1  l o a d mass estimate 20 15 1  10 5 0  0.5  1  1.5  2  0  [s]  0.5  1  1.5  2  [s]  Figure 5.10. Adaptive control architecture with load mass estimation, t, — 1ms.  5.4 Continuous Path Motion with Applied Force 5.4.1  Task Description  The desired end-effector trajectory has a typical trapezoidal velocity profile, and robot is in contact with elastically compliant plane. The elastic plane is purely frictionless. The end-effector desired motion is a path along the joint rectilinear path from position  #=[1+0.1(2) ] to q/=[l.2+0.1 (2) ] . ,/2  T  1/2  T  87  5.4.2  Criteria and Available Information  The criteria and information available to the expert system are given in the Table 5.4.  Criteria  Information Available  - precise position control  - validity of sensor information at 'medium' level  - precise force control with  - force, velocity, position sensor available  - slow-speed trajectory  - model accuracy at 'medium' level  - good disturbances rejection  - level of disturbances at 'medium'level  - relatively small desired force Fd=150 N  - hardware capability at 'high'level  - highly stiff environment  - model uncertainties at 'low'level - external disturbances at 'medium'level  Table 5.4. Criteria and available information for CP motion with applied force.  5.4.3  C o n t r o l A r c h i t e c t u r e Selected b y E x p e r t System  For this type of task, several different control architectures can be applied. Precise positioning indicates the use of impedance control, which is not suitable for this task because of the external disturbances introduced into system. Parallel control architecture always requires fully available sensor information, which is not true in this case.  The highly stiff environment suggests stiffness control architecture as a viable approach, but as this scheme has no capability for good disturbances rejection, thus, some other approach is recommended. The expert system's final decision is explicit hybrid position/force control where proportional-integral PI controller satisfies desired goals in the force control direction (see Figure 5.12). The fuzzy reasoning of CAM for this task is given over the Matlab editor shown in Figure 5.11.  88  OS oo  1  i_  TJ <rj  MM  .-t± si  o  -8  03 CO  < <s  / / / s  s  s  44  /  s  \  << s  \ /  X,  s  /  S  G O  o  J21  a  l?1[?1r?1[?1  El  T3  u C «  re  i-l  -5  c o  1  CO  N  II  CJ n  a  r§  O  •O  u ,o  CD II  /  /  \ \  N  /  \  /  /  s  N  N  /  /  \  /  ''V  OJ  H y  s s s  .1 ^  <s  /  /  s s  \.  s s  \  "*\.  IT)  N  " 'V  u  5 I  < <44  mm •=1m il  ki (D N  oo ro  T3  u  "3  CA  <2  ,5  Jil  J3  'a  "1 0 — <=\  '<-\  jntrol  (N CO * . m  5.4.4 The Control Law In the force control direction, the control law  y=  J  A  ~  l  ( q )  M  c i ~  l  ( -  K  D  x  +  p (  K  x  (5.5)  -x)-M J {q,q)q),  F  d  A  where x is a suitable reference to be related to a force error and M is a mass matrix. The F  d  force error can be symbolically expressed as  x = S (h -h ), F  F  M  (5.6)  A  where S is a selection matrix whose elements give the control action. . A convenient choice for S is a PI action F  S =K +K,\(.)dZ, F  (5.7)  F  and with a proper choice of the matrices K , K , K , and K„ the system is asymptotically D  P  F  stable  5.4.5  Discussion and Comparison of Results  Figures 5.12 and 5.13 show comparison of the results of the two top selected control architectures, when robot is in contact with environment. In general, hybrid position/force control (HC) with explicit force control gives better results than implicit hybrid position/force control. In general, explicit force control architecture, where force control signals are used to generate the torque inputs for the actuators in the robot's joints, has a faster response and less complex dynamics. Implicit force control has slow response to force perturbation.  90  For a less stiff environment, the results are almost the same. For highly stiff environment, the implicit hybrid control gives large oscillations in force control response, which produce settling time for force controller action more then 1 sec. whereas in the explicit hybrid control scheme, the settling time is less then 0.5 sec. and the error is smaller.  y_c-fore e  x_c-pos error  -100 R -200 1 -300  y_«-force  y_c-force error  too  -100 [  -200  -200  -300  -300  Figure 5.12. Explicit Hybrid Position/Force Control, ts=ims, Fd=150N,  1Q"*  a)  environment stiffness K = 5 x l 0  b)  more compliant environment K = 5 x l 0  c)  less compliant environment K = 5 x l 0  3  2  4  y_c-force error  x_c-pos error  -100 -200 -300  91  y_c-force error  Figure 5.13.  y_c-force error  Implicit Hybrid Position/Force Control, ts=lms, Fd=150N,  d) environment stiffness K=5xl0  3  e) more compliant environment K= 5x10 f) less compliant environment K=5xl0  2  4  The gains of chosen controllers are tuned manually.  5.5 Summary The simulations demonstrate how the expert system selects a control architecture-controller pair for sample tasks. The comparisons given demonstrate that, based on the rules provided, an appropriate selection is made. In the following chapter the expert system is utilized for control selection for a 5-DOF industrial robot.  92  Chapter VI "I believe that nothing is unconditionally true, and hence I am opposed to every statement of positive truth and every man who makes it"  - H . L. Mencken  Experimental Results Infollowingsections, experimental results based on decision made by expert system explained in previous chapter are presented.  The trajectory for both free motion and  constrained robot motion has been defined in an operational space using the MATLAB Robotics Toolbox [66]. The "Control Toolbox" consisting of different control architectures and controllers is implemented in C-language, and serves as a database for designed expert system. The robot dynamic model is presented and explained in details in Appendix A.  6.1 Experimental Setup The experiments are performed on SCORBOT ER VII 5-dof robot in the Industrial Automation Laboratory at UBC (Figure 6.1). The robot is controlled by a TMS320C32 DSP board, interfaced with two axis control cards, each capable of handling three axes simultaneously. An open architecture real-time operating system (ORTS) [55] is used in the implementation of the control algorithms and in the reading the generated trajectories and feeding them into the control loop at the different controller frequency. The signal from 1/O card is sent to the amplifier from where the amplified current signal is sent to each  F i g u r e 6.1: E x p e r i m e n t a l setup.  robot joint. The I/O cards and a DSP board were developed in the Manufacturing Automation Laboratory, UBC. The hardware architecture is shown on Figure 6.2.  MFIO_ReadDigitalPort SwitchRaw 2x 1  DecodeSwitches SwitchDecoded 5x1 Trajectory ! PC: Disk  I  5x1 *  -  AxisHomel ReferenceExternal 5x1 ChecklnputLink  MFIO ReadEncoder Encoder 5x1  Reference 5x1  Sum Error 5x 1  Low-level Controller Control 5x1 MFIO ReadDAC  MFIO WriteDAC  Current 5x1  Log ControlLog21xl PC: Disk Control Architecture  Figure 6.2. The hardware control architecture.  95  MFlOJReadDigitalPort  does the initialization of the amplifier channels, and  A.xisHome1 serves for axes calibration and for setting the robot in its "home" position. Sum makes comparison of reference (desired) signal from AxisHomel and the actual signal from MFlO_KeadEncoder, and the output (error) from Sum is the input to discrete-digital low-levelcontroller. Then, the new set of control signals for robot control are generated. MFlO_WriteDAC  applies that signal andfinally,hog file summarizes all information and  saves it to the hard disk as a matrix consisting of 21 columns.  6.2 Point-to-Point Motion Task The point-to-point robot motion comprises three different phases. Firstly, the robot moving from its "home" position to initial point in Cartesian space, secondly, performing point-to-point motion task, and thirdly, moving back from final reached point to "home" position. Two basic point-to-point motion tasks in operational space with no obstacles through these experiments are considered:firstly,performing robot task with desired slow trajectory and high-speed trajectory, and secondly, performing task with and without the payload concentrated at the tip of end-effector.  6.2.1 P o i n t - t o - P o i n t Trajectory G e n e r a t i o n Using the MATLAB Robotics Toolbox, a trajectory for a point-to-point (PTP) motion in operational space has been defined with a function:  PTP_traj(r  i (  r , time, t , no_points, pause_time) f  s  96  where r  - initial point, defined with three points x,j, ^in Cartesian/operational  A  space, 3x1 vector function, [m]. r  - final point, defined with three points n, y, (p in Cartesian/operational  f  space, 3x1 vector function, [m]. time  - totaltimealong the path [sec],  ts  - sampling interval [sec].  no_points  - number of points along the desired path. - pausetimethat robot takes to stabilize its movement around the  pause_time  initial and final point.  6.2.2  Task Description  Available information and criteria for performing this task are obtained from user and shown in Table 6.1 and Table 6.2. All values are scaled from 0-100. Module  motion  model  Information obtained from user  velocity  Membership  DMC=15  pip  Robot model type, RT=23, Robot model confidence, RC=87%,  A=75%  hi  Information uncertainty, IU=18%, Signal filtered, SF=15%,  VP=86%  hi  Information uncertainty, 11=23%, Signal filtered, SF=15%,  W=78%  hi  AC=80%  me  Type of motion, T=5%, Following of desired/specific path (tracking), F=10%, Control type during the contact (if exists), C=0,  type  accuracy  position  Value  sensor  sensor -  Computation rate, CR=78, Transfer rate, TR=95, Sampling rate, SI=49,  hardware  disturbances  External disturbances, E D = 0 % , Internal disturbances, ID=15%,  D=20%  lo  Table 6.1. Available information for control architecture selection.  97  Module  control  structure  positioning c o n t r o l l e r type  Value  Criteria trajectory rate, ST= 12 driving system of the joints, D S = 20 response, R E = 80 control accuracy, A C = 5 0  CS=29 0-70 decentralized 50-100 centralized  degree of stability, P= 33 overshoot, 11= 40 rise time, A= 80 allowable error, E = 0 robot type, RT=10 introduced payload, P=0  0-22 P controller 15-t0 PD con/roller 30-54 PI controller 50-70 PD+G controller 65-100 PID controller  CT=81  Table 6.2. Criteria for controller selection.  6.2.3  E x p e r t System D e c i s i o n  According to the information obtained by user and the task description, the expert system is required to decide which control architecture is most suitable for a particular task. The task is a simple point-to-point motion, with low-speed trajectory and the response is required to be fast with zero-state error. The expert system selected decentralized /independent/ joint control scheme with a PID controller.  According to the given information about the task, values and membership for the expert system's modules, the priority is given to an independent control architecture as an architecture with highest membership and PID controller (Figure 6.3 and 6.4).  6.2.4  Applied Control L a w  The block diagram of utilized architecture is presented on Figure 6.5. The zeroorder hold is embedded into the architecture of ORTS. The low-pass filter is designed as second order system, and the applied control law is presented below.  98  robot model accuracy  validity of position  sensor information  = 75  ° 86  validity of velocity  complexity of  sensor information architecture  = 78  • 80  allowable error  = 15  level of  : 20  architecture  architecture = 17.3  1  23  2 3 4 5  Key for selected architecture 0-40  Control  9  Control  2 H  7 8  35-55 Natural Tracking  2 S  6  Independent Join/  Z3  y \  as:  X  as:  x  JL  31  65-100 Computed Torque  13  JL  X X  10 12  X JL  X  X  11  50-65 Adaptive Control  selected  disturbances  X  3  =23  2 3  2 3  oo  100  1 00  Z2  hoo  ES  100  Ex  X  ES: 100  Figure 6.3. The C A M Matlab editor for free robot motion.  degree of  overshoot  rise time  stability  • 40  4  >• / \ / \.  I I I  5  /X  I  6  J',  I  /\  I  3  7  Key for selected controller  8  I  s  0-22  P controller  10  / I / I  15-tO  PD controller  11  / |  30-54  PI controller  9  12  65-100 PID controller  14  \ \ f~ \ r~ \  i  /' y  / ~L\ [ • [ X y  I  1  i  I i r \ I i i \ I  \ I \ I  /  \  I  100  /  Lm  33 33  I  i  10  /  / • 10  I I I I  hoo  introduced  selected  payload  : 80  i /' l  13 50-70 PD+C controller  /  /  • 33  2  robot type  error  / 1  allowable final  "2 [ [ N zx:j j [ X [ X x . J J [ X H C X U [ y [ X X - Z Z [ X zx J [ H [ 100  /  = 0  I i I I | I I I  I | I  100  X X X X  X X X X X X X  controller  controller ype  =  I I  l\ IN  I I  I  [\  I  I  I  /\  I I I I I I I  - I ," I y I  IA I I A I I yl I A I I IA IA  yl  I I I A I I A I I A I  100  Figure 6.4. The C M Matlab editor.  99  low-pass filter  w  low-level controller  ROBOT w  Figure 6.5. Independent joint controller with P I D controller.  Thus, the digital PID control signal is calculated as  u[k] = b[k]e[k] + b[k - l]e[k - 1 ] + b[k - 2]e[k - 2] - (a[k]u[k - 1 ] + a[k - \}u[k - 2]).  (6.1)  The complete control law is derived in Appendix D.  6.2.5 Discussion and Comparison of Results The Figures 6.6 and 6.7 represents the time history of the second axis position error and applied motor current with independent control architecture utilized with different types of controllers. The gains of chosen controllers are tuned manually.  Comparison of results shows that independent joint control architectures with P D and P controller gives rather sluggish behavior especially for first tree links, and non of these schemes can achieve zero state error. However, the selected PID controller after gain tuning fulfills required criteria.  100  A x i s 2 - Error C o m p a r s i o n s (200Hz S l o w Trajectory) 0.06 _  0.04  S,  0.02  O Q.  0  PID PD  1 V--"'  -0.02 -0.04 0  500  1000  1500  2000  2500  3000  3500  4000  A x i s 2 - Current C o m p a r s i o n  0t*  2 1 <  0  O  .-i -2  PID PD  fill 0  500  1000  1500 2000 2500 time/200 [sec]  3000  3500  4000  Figure 6.6. Time response of second-axis for P T P task with PID and P D controllers.  A x i s 2 - Error C o m p a r s i o n s ( 2 0 0 H z S l o w Trajectory)  PI P  0.06 0.04 T5 c/> o Q.  0.02 0 -0.02 -0.04 0  500  1000  1500  2000  2500  3000  3500  4000  A x i s 2 - Current C o m p a r s i o n 2  PI  1 <  p  0  3  °  -1 -2 0  500  1000  1500 2000 2500 time/200 [sec]  3000  3500  4000  Figure 6.7. Time response of second-axis for P T P task with PI, and P controllers.  101  6.3 Point-to-Point Motion Task with the Payload The point-to-point motion task with the payload concentrated at the tip of endeffector will be considered next. In this process, the payload is considered as internal disturbance that has to be compensated. The particular task is detailed below.  6.3.1  Task Description  Available information and criteria for performing this task are obtained from user and shown in Table 6.3 and Table 6.4. All values are scaled from 0-100.  Module  motion  Information obtained from user  type  model a c c u r a c y  position  velocity  sensor  sensor  Type of motion, T=5%, Following of desired/specific path (tracking), F=10%, Control type during the contact (if exists), C=0,  DMC=15  ptp  Robot model type, RT=23, Robot model confidence, RC=87%,  A=75%  hi  Information uncertainty, IU=18%, Signal filtered, SF=15%,  VP=86%  hi  Information uncertainty, U=23%, Signal filtered, SF=15%,  W=78%  hi  AC=80%  me  D=50%  me  Computation rate, CR=78, Transfer rate, TR=95, Sampling rate, SI=49,  hardware  disturbances  Membership  External disturbances, E D = 1 0 % , Internal disturbances, ID=85%,  Table 6.3. Available information for control architecture selection.  102  Module  control  Criteria  structure  positioning c o n t r o l l e r type  Membership  trajectory rate, ST=12 driving system of the joints, DS=20 response, RE=80 control accuracy, AC=50  CS=29 0-70 decentralized 50'-100 centralized  degree of stability, (3=60 overshoot, 11=20 rise time, A = 75 allowable error, E= 40 robot type, RT=10 introduced payload, P=90  0-22 P con/roller 1540 PD con/roller 30-54 PI controller 50-70 PD+G controller 65-100 PID controller  CT=60  Table 6.4. Criteria fot controller selection.  6.3.2  Point-to-Point Trajectory  Using the MATLAB Robotics Toolbox [66], a trajectory for a point-to-point (PTP) motion in operational space has been defined with as:  PTP_traj(  6.3.3  [0.4;  -0.2; 0.1],  [0.4;  0.4;  0.1],  2,  0.005,  60, 5 )  Expert System Decision  According to the information obtained by user and the task description, the expert system is required to decide which control architecture is most suitable for a particular task. The task is a simple point-to-point motion, with low-speed trajectory and the response is required to be fast with small error. Overall disturbances are at medium level that requires some type of compensation. The expert system selected a decentralized /independent joint control/ with PD + gravity compensation controller (see Figures 6.8 and 6.9).  103  robot model accuracy  validity ojposition validity of velocity  /  / = 75  2  E_  3  f  = 86  ]  1  0-40  Independent Joint  1 /\1^ \  . ET_  k\  E [  ior~7  35-56 Natural Tracking Control  11  ]  L~2  1 /M 1 / \  l| / \y\  E  v\  12L  50-66 Adaptive Control  iar  65-100 Computed Torque  23  100  :  0  100  /  , A .1  1 1 /\ 1  i/  hoo  1 1  1 1 /\ 1 1  /  15  EX ES:  1 o  E : EX  hoo  selected architecture  /  architecture = 17.6  J2  JL  EX IL EX  I^  /"\\  I I I I I  | |  /  /  = 50  I /\ I  / \  1  level oj  disturbances  I /\ I  1  / /  allowable  error  |  1.A  1 ,-'"\  9L72  Control  1 1  l/\  23  7L--23  /  :80  1  4 L£\  Key for selected architecture  /  = 78  E  sfT~~Z3  complexity oj  sensor information sensor information architecture  ES:  /\ /\ /\ /\ /\  100  I I I I I  LX X X X X  100  inn  Figure 6.8. The C A M Matlab editor for free robot motion.  degree of  overshoot  rise time  allowable final  stability  = 60 1  robot type  error  = 20  •• 75  • 40  introduced  = 10  = 90  r_  XXJ  X  X  3E  Key for selected controller  sr.  31  7l  X . X  9  P. 11 f _ 10  15-40  PD controller  30-54  PI controller  13[  50-71  PD+G controller  14f_  65-100 PID controller  X  x  x  . E  P controller  x  X.  8 [  0-22  controller  controllertype = 60  L  2  selected  payload  x x  x x  12 [  15 100  0  100  100  100  x  100  zn  zn x x x x  100  Figure 6.9. The C M Matlab editor.  104  6.3.4  Applied Control Law  The block diagram of utilized architecture is presented on Figure 6.10. The zeroorder hold is embedded into the architecture of ORTS. The low-pass filter is designed as second order system, and the applied control law is presented below.  low-pass filter  o  low-level controller  ROBOT  Figure 6.10. Independent joint controller with PD+G controller.  The gravitational terms already divided by the motor parameters for the first three links are:  m = o,  (6.2)  j[l] = (-3.2373cos(q[l]) - 5.15cos(q[l] + q[2])) / 1.7677,  (6.3) (6.4)  r[2] = (-5.15cos(q[l] + q[2])) /6.6269,  where joint angles are:  d = q[0l x  0 = q[l], 2  # = q[2]. 3  (6.5)  Thus, the digital PD + G control signals for the first three axis are calculated as  105  u[0] = g[0] + pd[0],  (6.6)  u[l] = g[l] + pd[l],  (6.7)  u[2] = g[2] + pd[2].  (6.8)  The complete control law is derived in Appendix D.  6.3.5  Discussion and Comparison of Results  The Figure 6.11 represents the time history of the second axis position error and applied motor current with PID and PD+G controllers. Comparison of results shows that independent joint control architectures with PID controller is unstable with initially imposed gains. Thus, PD + G controller after gain toning fulfills required criteria. The gains of chosen controllers are tuned manually. Axis 2 - Error comparsion (Point-to-point motion)  time/100 [sec]  Figure 6.11. Time response of second-axis for PTP task with payload and PID and PD+G controller.  106  6.4  Point-to-Point Motion Task with HighSpeed Trajectory  The point-to-point motion task with a high-speed trajectory will be considered next. In this process, due to high-speed trajectory the whole robot dynamics should be calculated. The particular task is detailed below.  6.4.1  Task Description  Available information and criteria for performing this task are obtained from user and shown in Table 6.5 and Table 6.6. All values are scaled from 0-100.  motion  Type of motion, T=5%, Following of desired/specific path (tracking), F=10%, Control type during the contact (if exists), C=0,  type  model a c c u r a c y  position  sensor  DMC=15  ptp  Robot model type, RT=23, Robot model confidence, RC=25%,  A=29%  lo  Information uncertainty, IU=18%, Signal filtered, SF=15%,  VP=86%  hi  AC=53%  me  Computation rate, CR=68, Transfer rate, TR=75, Sampling rate, SI=49,  hardware  disturbances  velocity  Membership  Information obtained from user  Module  sensor  -  External disturbances, E D = 0 % , Internal disturbances, ID=15%,  D=20%  lo  Information uncertainty, IU=18%, Signal filtered, SF=70%,  VP=56%  me  Table 6.5. Available information for control architecture selection.  107  Module  control  Membership  Criteria  structure  positioning c o n t r o l l e r type -  trajectory rate, ST= 80 driving system of the joints, DS=20 response, RE=80 control accuracy, A C = 5 0  CS=32 0-70 decentralized 50-100 centralized  degree of stability, (3=33 overshoot, n=40 rise time, A= 80 allowable error, E = 0 robot type, RT=10 introduced payload, P=10  CT=81 0-22 P controller 1540 PD controller 30-54 PI controller 50-70 PD+G controller 65-100 PID controller  Table 6.6. Criteria for controller selection.  6.4.2 Point-to-Point Trajectory Using the MATLAB Robotics Toolbox [66], a trajectory for a point-to-point (PTP) motion in operational space has been defined with as:  PTP_traj(  6.4.3  [0.4; -0.2; 0.1], [0.4; 0.4; 0.1], 1, 0.005, 60, 5 )  Expert System Decision  According to the information obtained by user and the task description, the expert system is required to decide which control architecture is most suitable for a particular task. The task is a simple point-to-point motion, with high-speed trajectory and the response is required to be fast with small error. Overall disturbance is at low level, and model accuracy is at low level. The expert system selected decentralized /independent joint control/ with PID controller scheme with the highest membership. Usually, for high-speed trajectory and precise applications, the whole manipulator dynamic should be calculated with commonly utilized computertorquearchitecture. Due to low level in model accuracy this architecture is second choice in expert system decision (see Figures 6.12 and 6.13).  108  robot model accuracy  validity ofposition validity oj velocity  • 29  1•  Key for selected architecture 0-40  \7f  i- ,  10f_  35-57 Natural Tracking  11  Control  l r\ 1 l r I l r\ 1 l  zm zm  8 I 7 K  independent joint Control  I  IA. IA, I r\ 1 l r\ 1  3 [  6  ' 80  = 56  •• 86  EX  1  r  |/\ 1  zm  50-67 Adaptive Control  13[ 65-! 00 Computed Torque  complexity of  allowable  sensor information sensor information architecture  100  A  I  /  I  A  I  A  I  I  I I  k\  architecture = 37.3  , "\  EX EX  I/' \  I .A>  I  EX  /M /NJ /NJ I <* I I J \ I A. I I / I I I  M  I  '  as: EX  yN  I  I  1  100  10  00  100  as:  100  inn  Figure 6.12. T h e C A M Matlab editor for free robot motion.  overshoot  degree of  rise time  stability  2  I *' J\  4  / v  |  5  /\  1  i  ,A.,  1  / \  |  i i  1  7 8 I -  r~™  x  9  / 1 / 1  0-22  P controller  10  15-40  PD controller  11  30-54  PI controller  12 I  50-72  PD+G con/roller  65-100 PID controller  1  3  6  Key for selected controller  = 40  /' 1  1  /"I  / 1 %  13  i  r r ~  \ \ \ \  /' x  100  robot type  I I I I  :10  u  Z23  1  ZZI  I  \  I  ZZI  \ \ \  1 1 1  Jl  A  I / I 0 a  l  i  1  100 10  c \  I  0  introduced payload  '80  /  ,/  14  allowable final error  • 33  selected architecture  y  I—7^  A  level of  disturbances  = 20  = 65  | I A | I  error  hoo  ZX  3 3  z\  z x Zj z x Z\ z x Z\ U H  controller ^pe = 81.2  yI I  P A I C c \ I  [ \ I [ N I [ •N I  [ \ I [ yi Z\ [ z x Zj [ X I \ I zx y HH [[ /y |I 100-  selected controller  100  ZX  zx zx zx zx zx zx zx z^. zx 100  Figure 6.13. T h e C M Matlab editor.  109  6.4.4 Applied Control Law Two different control laws for this task are utilized. The first one is independent joint control architecture with PID controller that is explained in previous section, and the computer torque control architecture with PID controller. The block diagram computer torque architecture utilized for this task is presented on Figure 6.14. The zero-order hold is embedded into the architecture of ORTS. Due to the lack of velocity sensor information the signal from encoder is sent through the designed first order filter and the approximation of velocity signal is made. The low-pass filter is designed as second order system, and the applied control law is presented below.  N(q,q)  low-pass filter  low-level controller  M(q)  ROBOT  1r  Figure 6.14. Computer torque with PID controller.  For this task only first three links of manipulator are considered and controlled. The control signals for first three links are given, respectively:  110  u[0] = n[0] + 0.5657(m[0][0]q [0] + m[0][1]q Jl] + m[0][2]g [2]) d  d  + m[0][0]pid[0] + m[0][l]pid[l] + 3.7488w[0][l]^J[2],  W  (6.9)  [l] = «[l] + 0.5657(m[l][0] [0] + m[l][l]g,[l] + m[l][2] ,[2]) ?rf  ?  + m[l][0]pid[0] + m[\][\]pid[\} + 3.7488m[l][l]^[2],  (6.10)  u[2] = n[2] + 0.5657(m[2][0]^,[0] + m[2][l]q [l] + m[2][2]q [2]) d  d  + m[2][0]pid[0] + m[2][l]pid[l] + 3.7488m[2][l] p/J[2]. j  (6.11)  The control law in complete form is derived in Appendix D .  6.4.5 Discussion and Comparison of Results The Figure 6.15 represents the time history of the second axis position error and applied motor current with two architectures utilized; independent joint control with P I D controller and computer torque with the same low-level controller.  Comparison of results shows that independent joint control architectures with P I D controller after the gains are tuned gives slightly better results than implemented computer torque architecture with same type of low-level controller. The gains of chosen controllers are tuned manually.  Ill  / V —  PID+CT(10xKp2,5xKp3) PID  y  ,  i  500  1000  1500  2000  2500  A x i s 2 - Current comparsion  1000  1500 time/100 [ s e c ]  Figure 6.15. Time response of second-axis for PTP task with PID and CT controllers.  112  Chapter VII  Conclusions and Recommendations  7.1 Summary In this thesis, a broad literature review on main issue of robotics control, and its subissues regarding manipulator structure, environment, tasks, and communications, was performed. The key issues or characteristics which drive selection of robot control architectures and robot controllers are identified as: dynamic motion characteristics, robot and environment model accuracy, effective stiffness, validity of sensor information, hardware capabilities, internal and external disturbances, etc. As well, a comparisons of different robot control architectures and robot controllers based on the issues of robustness, response, reliability and complexity were performed. Based on the review and comparison a taxonomy for robot control, which classifies different robot industrial tasks, manipulator characteristic motions, control architectures and controllers was developed. Using this taxonomy and identified characteristics commonly encountered in industrial robotic tasks, the rules and criteria for selection of robot control architectures and controllers within an expert system database were developed.  The fuzzy rulebase expert system was developed for the selection of control architecture and associated controller for specific robot task taking into account the information about the manipulator and environment stiffness, disturbances effect, models accuracy, etc., as well as criteria about the robot performance set by the user. The expert system processes the user information through the twelve different expert system's modules, and the final decision is made based on fuzzyfication of these twelve outputs and final defuzzification where a crisp value represents a certain control architecture/controller pair.  Simulations and experiments are done both for free and constrained robot motion to verify both the taxonomy and expert system based on this taxonomy. Comparison of results of chosen and other control scheme applied shows the importance of proper selection of correct control algorithm.  7.2 Recommendation It is of interest to indicate some of possible future investigation subjects. A clear formulation and specification of dynamic control of both unconstrained and contact tasks are further required. Further simulation and experimental tests of recently proposed compliant motion control algorithms, such as parallel position/force control, adaptive and variable structure algorithms, and, particularly, dynamic control of robot interacting with a dynamic environment are also of interest.  In the impedance control, further advances are to be expected in adaptation of target impedances to complex tasks requirements. The robust control continues to be in the focus of control design.  114  Further comparison of available control architectures, definition of benchmark tests, investigation of compliant control in uncertain and dynamic environment, examination of non-linear effects in robot and environment dynamics, solving control problems at higher control levels, etc., are certainly some areas deserving further theoretical and experimental studies.  Due to the lack of functions developed for the Fuzzy Logic Toolbox used in the project, the expert system environment is restricted to work off-line. Thus, some future work into on-line implementation is important, specifically, for on-linetoning.The proposed tuning system is described in Appendix E.  Given the large number of rules implemented in this system, some work on combining/reducing this rulebase would be advantageous to speed up the system decision making.  115  Bibliography [I] Whitney, D . "Historical perspective and state of the art in robot force control", The Int. J. of Robotic Research, V.6, No.l, 1987. [2] Colbaugh, R., Seraji, H. "Force tracking in impedance control", ICRA '93, p.499-506. [3] Wen, T. "A unified perspective on robot control: The energy Lyapunov function approach", Proc. 29"' Conference on Decision and Control, 1990, p. 1968-1973. [4] Khosla, P. "Choosing sampling rates for robot control", ISA'87, p. 121-127. [5] Hogan, N. " On the stability of manipulators performing contact tasks", IEEE J. of Rob. and Auto., V.4., No 6,1988. [6] Mason, M. T. "Compliance and force control for computer controlled manipulators", IEEE Trans. On Systems, Man, and Cybernetics, SMC-11(6), 1981, p. 418-432. [7] Hogan, N. "Impedance control: An approach to manipulation, Part 1 — Theory, Part 2 — Implementation, Part 3 — Application, Journal of Dynamic systems, Measurement and Control, 1985, p. 1-24. [8] Chande, A. M.; Newcomb, R. W., "A decision tree for inflight data processing for robot spacecraft trajectory guidance", IEEE Int. Conf.on Robotics and Automation, 1985, p. 215220. [9] Foulloy, L.; Burg, B.; LaMotte, E., "A rule-based decision system for the robotization of metal laser cuting", IEEE Int. Conf. On Robotics and Automation, 1985, p. 192-197. [10] Anderson, R. L., "A robot ping-pong player - experiment in real-time intelligent control", MIT Press, Cambridge, MA, 1988. [II] Slotine, J.J.E.; Yang, H.S., "Fast algorithms for near-minimum time control of robot manipulators", The Int. J. of Robotics Research, Vol. 13, No. 6, 1994, p. 521-532.  [12] McClamroch, N. H., Wang, D., "Feedback stabilization and tracking in constrained robots", IEEE Trans, on Automatic Control, 33(5), 1988, p. 419-426. [13] Vukobratovic, M., "How to control robots interacting with dynamic environment",/, of Intelligent and Robotic Systems, 19, 1997, p. 119-152. [14] Stokic, D., Vukobratovic, M., "Contribution to practical stability analysis of robot mteracting with dynamic environment", Proc. Of thefirstECPD Int. Conf. On Advances Robotics and Intelligent Automation, 1995, p. 693-699. [15] Flollerbach, J., An, C , "The role of dynamic models in Cartesian force control of manipulators", Int. J. of Robotics Research, 8(4), 1989, p. 51-72. [16] Altintas, Y.; Erol, N. A.; Ito, M., "Modular tools for motion control and process control system design", Open Architecture Control Systems ITIA series, Vol. 2, 1998, p. 183-198. [17] Vukobratovic, M.; Karan, B., "Experiments with fuzzy logic robot control with modelbased dynamic compenstaion in nonadaptive decentralized control scheme", Int. J. of Robotics and Automation, Vol. 11, No. 3, 118-131, 1996. [18] Stokic, D; Vukobratovic, M., "Flystorical perspectives and state of the art in joint force sensory feedback control of manipulation robots", Robotica, 11, 149-157, 1993. [19] An, C.FL; Hollerbach, J., "Dynamic stability issues in force control of manipulators ", Proc. IEEE Intern. Conf. On Robotics and Automation, Raleigh, 1987. [20] Latornell, D. J.; Cherchas, D. B.; Wong, R., "Dynamic Characteristics of Constrained Manipulators for Contact Force Control Design", Int. J. of Robotics Research, Vol. 17, No. 3, 211-231, 1998. [21] Constantinescu, D., "Smooth Time Optimal Trajectory Planning for Industrial Manipulators", MA.Sc. Thesis, 1998. [22] O'Dor, M., "Identification of Salmon Can-Filling Defects", MA.Sc. Thesis, 1998. [23] Vukobratovic, M.; Stokic, D., "Upravljanje Manipulacionim Robotima - Analiza Sinteza - Vezbe", Tehnicka Knjiga, Beograd, YU, 1990. [24] de Silva, C. W., "Intelligent Control of Robotics Systems with Application in Industrial processes", Robotics and Automation Systems, 21, 221-237, 1997. [25] Croft, E. A.; Benhabib, B.; Fenton, R. G., "Near-Time Optimal Robot Motion Planning for On-line Applications", Journal of Robotics Systems, 12 (8), 553-567, 1995. [26] Bobrow, J. E.; Dubowsky, S.; Gibson, J. S., "Time-Optimal Control of Robotics Manipulator Along Specified Paths", The Int. Journal of Robotics Research, 4 (3), 3-17, 1985.  117  [27] Luh, J. Y. S; Lin, C. S., "Approximate Joint Trajectories for Control of Industrial Robots along Cartesian Paths", IEEE Transactions on Systems, Man, and Cybernetics, SMC-14 (3), 444-450, 1984. [28] Hoffman, M.; Malowany, A; Angeles, J., "Near-Minimum-Time Trajectories for Pickand-Place Operations", ASME Int. Conference on Computers in Engineering, 433-438, San Francisco, California, 1988. [29] Jang, R.; Gulley, N., "Fuzzy Logic Toolbox User's Guide", SpringierYork, 1995.  Verlag,  New  [30] The Math-Works Inc., "MATLAB - High-Performance Numeric Computation and Visualization Software", Springier— Verlag, 1992. [31] The Math-Works Inc., "SIMULINK - Simulation Software", Springier-  Verlag,  1992.  [32] Siciliano, B.; Sciavicco, L., "Modeling and Control of Robot Manipulators", The McGraw-Hill,  1996.  [33] Lewis, F. L.; Abdallah, C. T.; Dawison, D. M., "Control of Robot Manipulators", Macmillan,  1993.  [34] De Luca, A.; Manes, C , "On the Modeling of Robots in Contact with Dynamic Environment", Proc. 5"' International Conference on Advanced Robotics, Pisa, 1991. [35] Goldenberg, A. A., "Analysis of Force Control Based on Linear Models", Intern.Conf. on Robotics and Automation, Nice, 1992.  Proc.  IEEE  [36] Surdilovic, D., "Contact Stability Issues in Position Based Impedance Control: Theory and Experiments", Proc. IEEE Intern. Conf. on Robotics and Automation, Minneapolis, 1996. [37] Duffy, J., "The Fallacy of Modern Flybrid Control Theory that is Based on 'Orthogonal complements' of twist and wrench spaces", Journal of Robotics Systens, 7(2), 139-144, 1990. [38] Khatib, O., "A Unified ApproachforMotion and Force Control of Robot Manipulators: The Operational Space Formulation", IEEE J. on Robotics and vol. 3, no. 1, 1987.  Automation,  [39] De Luca, A.; Manes, C ; Nicolo, F., " A Task Space Decoupled Approach to Flybrid Control of Manipulators", Proc. IF AC Symp. on Robot Control, Karlsruhe, 1988. [40] Raibert, M. H.; Craig, J. J., "Hybrid Position/Force Control of Manipulators" ASME Dynamic  Systems, Measurement,  and Control, vol.  102,  no. 2,  J.  1981.  [41] Lipkin, H.; Duffy, J., "Hybrid Twist and Wrench Controlfora Robotic Manipulator", ASME  J. Mechanisms,  Transmission,  and Automation  in Design, vol.  110,  no. 2.,  1988.  118  [42] Zhang, H . ; Paul, R., "Hybrid Control of Robot Manipulator", Proc: IEEE Intern. Conf. on Robotics, 1985.  [43] Nicoladi, S.; Surdilovic, D.; Schott, J., " Development of a Space Controller with Advanced Sensory-Based Control Capabilities", Proc. 7"' Intern. Conference on Advanced Robotics, Sant Feliu de Guixols, Spain, 1995. [44] Whitney, D . E . , "Force Feedback Control of Manipulator Fine Motions", ASME J. Dynamic Systems, Measurement, and Control, 1980.  [45] Salisbury, J. K . "Active Stiffness Control of a Manipulator in Cartesian Coordinates", Proc. 19"' IEEE  Conference on Decision and Control, 1980.  [46] Maples, J. A.; Becker, J.J., "Experiments in Force Control of Robotics Manipulators", Proc. IEEE  Int. Conf. on Robotics and Automation, 1986.  [47] Paul, R. P.; Shimano, B., "Compliance and Control", Proc. Joint Automatic Control Conf,  San Francisco, 1976. [48] Luh, J. Y . S.; Fisher, W. D.; Paul, R.P.C., "Joint Torque Control by a Direct Feedback for Industrial Robots", IEEE  Transaction on Automatic Control, vol. 28. no. 2, 1983.  [49] Shin, K . G . ; Lee, C. P., "Compliant Control of Robotic Manipulators with Resolved Acceleration", Proc. 24"' IEEE  Conf. Decision and Control, 1985.  [50] Sciavicco, L.; CMaverini, S., "Force/Position Control of Manipulators in Task Space with Dominance in Force", Proc. 2" IF AC Symposium on Robot Control, Karlsruhe, 1988. [51] Chiaverini, S.; Siciliano, B.; Villani, L., "Force/Position Regulation of Compliant Robot Manipulators", IEEE  Transaction on Automatic Control, vol.39., no. 3, 1994.  [52] Vukobratovic, M . ; Ekalo, Y., "Unified Approach to Control Laws Synthesis for Robotic Manipulators in Contact with Dynamic Environment", Proc. IEEE Intern. Conf. on Robotics and Automation, 1993.  [53] Vukobratovic, M . ; Ekalo, Y., "New Approach to Control of Robotics Manipulators Interacting with Dynamic Environment", Robotica, vol. 14, no.l, 1996. [54] Vukobratovic, M . ; Surdilovic, D . T., "Control of Robotic Systems in Contact Tasks: A n Overview", I^vesti AkademiiNauk. Teorij i Sistemi Upravljanja, no. 5, 173-192, 1997.  [55] Erol, N . A.; Altintas, Y., "Open Architecture Modular Tool K i t for Motion and Process Control", ASME  International Mechanical Engineering Congress and Exposition, A S M E  Publication M E D , 15-22, Dallas, Texas, 1997. [56] Greenfeld, I.; Hansen, F.; Fehlinger, J.; Pavlakos, E . , " M O S A I C System Description, Specification and Planning", Technical Report No. 452, Robotics Report No. 201, New York  University, 1989.  119  [57] Anderson, B. M.; Cole, J. R.; Holland, R. G., "An Open Standard for Industrial Controllers", Manufacturing Review, vol. 6, no. 3, 181-191, 1993. [58] Yellowley, I.; Pottier, P. R., "The Integration of Process and Geometry within an Open Architecture Machine Tool Controller", International Journal of Machine Tools and Manufacture, vol. 34, no. 2, 277-293, 1994. [59] Lo, C ; Koren, Y., "Evaluation of Servo-Controllers for Machine Tools", Proceedings of the 1992 American Control Conference, vol. 1, 370-374, 1992. [60] Pasek, Z.; Ulsoy, G.; Koren, Y.; Birla, S.; Shin, K. G., " An Open Architecture Based Real Time Controller for Mactiining Processes", Proc. of the 1996 NSF Design and Manufacturing Grantees Conf, 273-274, 1996. [61] Teltz, R.; Urbasik, K.; Shawky, A.; Elbestawi, M. A., "Sensor Based Planning and Control for Open Architecture Manufacturing", Technical Papers of the North American Manufacturing Research Institution of SME, 199-204, 1995. [62] Lundholm, T., "A Flexible Real Time Adaptive Control System for Turning", Anals of the CIRP, vol. 40, 441-444. [63] Tung, E . D.; Tomizuka, A. M., "Feedforward Tracking Control Design Based on the Identification of Low Frequency Dynamics", ASME Journal ofDjn. Sys. Measurement and Control, vol. 115, no. 4, 189-196. [64] Minbashian, B.; Warwick, K , "Decision Rules for Intelligent Parallel Controllers", University Press, Department of Cybernetics, University of Reading, 1989. [65] The Math-Works Inc., "Fuzzy Logic Toolbox", Springier- Verlag, 1992. [66] The Math-Works Inc., "Robotics Toolbox", Springier- Verlag, 1994.  120  Appendix A  Robot Dynamic Models For simulation and experimental result purposes, which are explained in the Chapter V and Chapter VI, the two different robot dynamic model are used and there are derived and explained in the following sections.  A.l  Two-Link Planar Arm In the simulation presented in Chapter V, the two-link planar arm is used. Two  degrees of mobility, in fact, are enough to understand the physical meaning of all dynamic terms, especially the joint coupling terms [32]. The parameters of two-link manipulator used for all necessary calculations are given in the Table A . l .  Parameter generalized joint coordinates functional S-coordinates  Symbol (qi,  q =  Value  q) 2  (x,j)  S=  variable variable  mass of the first link  mn  50 kg  mass of the second link  mn  50 kg  moment of inertia with respect to the axis of first rotor  10 k g m  2  moment of inertia with respect to the axis of second rotor  10 k g m  moment of inertia relative to the center of mass of the first link  2  In  0.01 kg m  2  1,2  0.01 kg m  2  moment of inertia relative to the center of mass of the second link mass of the first rotor  m  5 kg  m]  mass of the second rotor  m,„2  5 kg  first link length  a\  1 m  second link length  a\  1 m  distance of the center of mass of first link from the first joint axis  h  0.5 m  distance of the center of mass of second link from second joint axis  k  0.5 m  viscous friction coefficient at the motor shafts  F,„\—  F,„2  10 ohm  actuators' armature resistance actuators' torque constant actuators' voltage constant  0.01 N m s/rad  ki\—  k,2  k,,\— k,,2  2 N m/A 2 V s/rad.  Table A.l. The parameters of two-link planar arm.  122  It was shown that the equation of motion in the absence of external end-effector forces and, for simplicity, of static friction is described by  B(q) q+ C (q, q) q+F q+ g{q) = T.  (A-l)  v  The inertia matrix is:  b {9 )  b (9 )  b {9 )  b. 22  u  B{q) =  2  2X  K  =  I  + h m  h  +^,  2  h  ,  2 / m  + 4, +m a m  b  n  =b  2l  b  +  n  (A-2)  y  2  i +m, (a  I  2  2  +l  2 l  2 2  + 2a,/ c ) 2  2  (A-3)  ,  i  =1, +m,(l  =I  2  +m l  h  (A-4)  +aJ c ) + k I  2  22  2  h  2  r2  (A-5)  +k I .  2  2  2  r2  mi  The Christoffels symbols are computed from inertia matrix, according to:  "*  2 dq  k  dq,  (A-6)  dq,  1 dh  ^ = 0, 2 dq  (A-7)  x  \\2 ~121 ~~  C  c  C  122  \_db_ — = -m aJ s 2 dq l  db„  1 db22  dq  2 dq  2  = h,  2  2  = h,  (A-8) (A-9)  x  123  _ db  1 8b _  2l  c,2|| —  c  dq  2 dq  ]  c  212  (A-10)  u  — i t . 2  1 db. 22 221  2 a^r,  1 db22  2 <9g  = 0,  (A-ll)  = 0,  (A-12)  2  leading to the matrix  C(q,q) =  (A-13)  0  -h&\ Computing the skew - symetric matrix N leads to  N(q,q) =  2h&  h&  h&i  0  2  2  -2  h&2  B(q)-2C(q,q),  h($i + 3 )  0  2  -2h9 -h&2 {  (A-15)  0  2hSx + h3  0  -h&\  (A-14)  2  N o n - z e r o gravitational terms are calculated as follows:  g, = {m,l +m a + m,a )gc + m,J gc , x  mi  82 = iMs i2m  c  l  x  x  2  i2  (A-16) (A-17)  124  In the absence of friction and tip contact forces, the resulting equations of motion are  (I + m,l  +k I  2  rl  nh  + ( / + i (2 7  m  l  2  2  (I  x 2  x 2  + m, a l s 2  x 2  2  rX  mi  mi  x  + k I )9 r2  m2  9[ +m,J gc  2  2  + 2a,/ c ) + /  2  2  2  + k I )3 -2m a l s  2  l x  +a l c )  2  h  h  + {m l + m a  2 2  +m (l  h  +l  2  x 2  9  2  +m {a  h  +a l c )  2  -m a l s h  +I  2  h  X2  i  2  l2  [ 2  + (I  2 l2  +  m a )& 2  m2  i  3i 9  2  2  + m,a )gc x  ( I I j  + m l gc  x  h 2  +m l  +  2  l2 2  =r ,  X2  (A-18)  x  k I )& 2  r2  mi  2  =r ,  (A-19)  2  where T and r denote the torques applied to the joints, and c = COS 3 , s = sin 9 , and x  2  x  X  x  X  c =cos(3 +3 ), =sm($ +$ ). xy  x  y  Sxy  x  y  Parameterization of the dynamic model (A-18) and (A-19) is derived as follows  n  n =m = x  X  K  2  m + m,  x  h  n2 =m (l li  = \7T  x  mi  -a ), x  71K  4  7T  S  7T  6  K-j  7T%] ,  (A  T  x =m (l 6  i  n  h  -  20)  -a ),  2  =h i  2  =I  + i (2 m  2  l  2  -a ) > 2  2  Xs=I , m2  *4 = I > mi  7r =m = 5  2  m. h  125  If the model of dynamic motion is expressed in theformof  r = Y(q,q,q)x,  (A-21)  tfien the regressor is Y  yn  =  yn  yn  y2  y  y  2i  2  u  7is  y  y^  y5  y  yi  i6  26  2  yn  (A - 22)  y %\ 2  2  y = a 3\ + a gc , 2  xx  x  x  y = 2a & + gc , X2  x  x  y = (a + 2a,a c + a )9i + (a a c + a )3 -2a a s 2  2  X5  2  2  -a a s x  y  X6  2  x  9 + a gc  2  2  x  2  2  2  2  2  x  x  2  2  2  +a gc ,  x  2  l2  = (2a c +2a )3i + {a c + 2a )9 -2a s x  9\ 9  2  2  2  2  2  x  9\ 9 -a s 3  2  2  x  2  2 2  + gc  y„ = 9i + 3 , 2  y ='9i+ k Xi  r2  ^2.  = 0,  7  = 0»  2  2  723 =  0  &, 2  >  724=0, 2  2"  y  25  = (a a c +a )9\ + a  y  26  =( i  x  a  y =3 21  y  2i  l  2  c  2  2  2  3 + a a s 9\  2  2  x  2  2  +a gc , 2  X2  + 2a )9\ + 2a 3 + a s 9 + gc , 2  2  2  2  2  x  2  x2  + 3, 2  = k 9\ + k r2  r2  9. 2  126  A.2 SCORBOT ER VII Dynamic Model The dynamic model of SCORBOT ER VII is derived in Industrial Automation Laboratory and taken from [21]. The D H and dynamic parameters of this manipulator for the first three axis are given in Tables A.2 and A.3, respectively. Using them, after performing all the required calculations, the elements of the inertia matrix of the SCORBOT ER VII are:  B = 0.1575c „ u  2  + 0.0525^  + 0.033c„ + 0.1575c, + 0.0478c  + a  2fl + 2 a  + 0.27725c  2a  +0.9499,  2+ft  (A-23)  2? =-0.019J, , - 0 . 0 1 2 ^ , 12  2+  (A-24)  3  5 =-0.019 13  (A-25)  W  ^,=-0.0195,^-0.012^,  (A-26)  B  =0.315c ^ +0.94,  (A-27)  = 0.1575c, +0.1656,  (A-28)  22  B  2i  3  i? ,=-0.019 3  B 5  (A-29)  W  32  =0.1575c, +0.1656,  33  =0.1656.  (A-30)  3  (A-31)  The non - zero elements of the Christoffel symbols are: C  112  = - 0 . 1 5 7 5 ^ - 0.047&  2ft+2ft  C„ = - 0 . 0 7 8 7 5 * ^ - 0.0478s 3  2q2+2qj  C, , = - 0 . 1 5 7 5 ^ - 0 . 0 4 7 & 2  C  122  C,  2ft+2ft  2 3  =-0.019  3  32  - 0.07875^ - 0 . 0 2 6 2 5 ^ ,  = -0.019  W  (A-32) (A - 33)  - 0.0165^ - 0.02625*^ - 0.27725s , 2?2  =-0.012^-0.019^,  (A - 34) (A-35) (A-36)  W  C, , = - 0 . 0 7 8 7 5 * ^ - 0.047fe C,  -0.0165^ - 0 . 0 2 6 2 5 ^ -0.27725^,  2ft+2ft  - 0.07875s - 0 . 0 2 6 2 5 * ^ , ?3  (A - 37) (A-38)  127  C =-0.019c, , , 133  C  2+  (A-39)  3  m  = 0 . 1 5 7 5 ^ +0.0478^  + 0.0165^ + 0 . 0 2 6 2 5 ^ + 0 . 2 7 7 2 5 ^ ,  C  223  =-0.1575  V  (A-41)  C  232  =-0.1575  V  (A-42)  C  233  =-0.1575 ,  (A-43)  C  311  = 0.07875s , , + 0.0478s „ „ + 0.07875^ + 0 . 0 2 6 2 5 ^ ,  C  322  = 0.1575J, .  2+2?3  5?3  2 2+ 3  2  2+2  (A-40)  (A - 44)  3  (A-45)  3  The non - zero components of the gravity vector result as : G =-3.2373c, -5.15c, , ,  (A-46)  G =-5.15  (A-47)  2  2  3  2+  3  W  The SCORBOT ER VII Denavit-Hartenberg parameters, estimated masses and inertia are:  0[rad]  d[m]  a[m]  a [rad]  0i = O  d = 0.3585  a, = 0.050  a i = -7t/2  2  02 = 0  d = -0.037  a = 0.300  a = 0  3  03=0  dj, = 0.0  ai- 0.250  a = 0  Link 1  t  2  2  2  2  Table A.2. The SCORBOT E R VII Denavit-Hartenberg parameters.  128  Mass [kg]  / , [kgm*]  m\ — 0  7,  m2 —  1x2=  6.6  rm = 4.2  S  7  x3  = 0.00 0.10  = 0.02  / [kgm2J  £ [kgm^]  lyl = 0.05  J i = 0.00  r  Iyl  7  y3  z  = 0.6  7  = 0.20  7  z2  z3  = 0.60 = 0.30  Table A.3. The SCORBOT E R VII estimated masses and inertias.  Appendix B The Manual for Using the Expert System with Control Toolbox These detailed explanations about using the expert system and control toolbox are provided as a guide for the potential user wishing to exploit the system's full capabilities. As it is mentioned in previous chapters, one of the main features of this system is its 'openness'. This feature enables users to add/change their own control modules, rules, membership functions in the expert system module as well as add/change the control architecture, controllers, gain tuner in the control toolbox module. Brief explanations about how to create a code and compile it in ORTS are given in thefollowingsections.  B.l The Control Toolbox The control toolbox is running on real-time open architecture system ORTS. All control algorithms are created as a fast DSP process, which means that all processes have both the initialization and iteration functions. When a fast process is created, the initialization function is called, and if that function returns R_Saccess, then the process is registered inside the specified process group.  (30  The hardware architecture of ORTS consists of two different environments: a DSP environment and a PC environment.  Every new • function has to be created in PC  environment in C-code and then has to be linked to DSP environment by compiling the code. Example of C-code defined in PC environment is given in Figure B.l.  #include "gen-dsp.h" /* I n c l u d e the DSP f u n c t i o n s i n s i d e the gen-dsp.h header f i l e */ #include o t h e r source f i l e s #define macro_name char-sequence # i f d e f _FPF_NameOfFunction /* b e g i n n i n g o f p r o c e s s */ typedef s t r u c t { Variables }NameOfStructure #define VariableName (p->VariableName) /* v a r i a b l e macor d e f i n i t i o n s f o r convenience */ rtncode FPF_NameOfFunctionlnit ( i n t NumlnputLinks, Link **InputLink, i n t NumOutputLinks, Link **OutputLink, i n t NumParameters, f l o a t •Parameter, f l o a t Freq, v o i d **Ptr) /* i n i t i a l i z a t i o n f u n c t i o n */ f  NameOfStructure *p; / * c r e a t e p o i n t e r t o data s t r u c t u r e */ if((p=Malloc(sizeof(NameOfStructure)))==NULL) r e t u r n R_DSP_Out_of_memory; / ^ a l l o c a t e memory f o r l o c a l v a r i a b l e s */ *Ptr=p; /* a s s i g n p r o c e s s data s t r u c t u r e address t o data p a s s i n g p o i n t e r */  if(NumlnputLinks!=InputLinkExpected) { P r i n t ( " I n c o r r e c t number o f Input L i n k s " ) ; r e t u r n R_RCP_Error;} if(NumOutputLinks!=OutputLinkExpected) { P r i n t ( " I n c o r r e c t number of Output L i n k s " ) ; r e t u r n R_RCP_Error;} if(NumParameter!=ParameterExpected) { P r i n t ( " I n c o r r e c t number o f parameter"); r e t u r n R_RCP_Error;} /* check number o f l i n k s and parameters */ v a r i a b l e s and l i n k s i n i t i a l i z a t i o n parameters assignment  131  r e t u r n R_Success; /* e x i t i n i t i a l i z a t i o n f u n c t i o n t o s t a r t continuous f u n c t i o n */ }  #undef VariableName #define VariableName (((NameOfStructure*)Ptr)->VariableName) /* v a r i a b l e macro d e f i n i t i o n s f o r convenience */ v o i d FPF_NameOfFunction (void *Ptr) /* continuous f u n c t i o n */ { implement and a p p l y the c o n t r o l law }  #undef VariableName /* u n d e f i n e v a r i a b l e macros */ #endif /* end o f p r o c e s s */  Figure B . l . Example C-code for PC-environment. For detailed explanation about C functions used in this generalized format of code algorithm, user should refer to ORTS Users Guide [55].  After preparing the C-code, the following procedure is required in order to link the PCenvironment and DSP-environment.  1.  Open Borland C++.  2.  Open D: \ o r t s \ o r t s . ide. (Note: if there is no window pops up, click 'view' button and then 'project')  3. Add FileName. cc node under DSP software. 4. Add gen-dsp. h node under FileName. cc. 5. Add shared. h, kernel. h, and rtncode. h nodes under gen-dsp. h. 6. Open D : \ o r t s \ p r o j e c t \ b u i l d c 3 2 .bat. 7.  Add a new line of c l 30 -v30 -x2 -o2 -s - q FileName. cc -eo.o3x frc:\out\c32 -dDSP SPECTRUM C32 inside buildc32 .bat file.  132  8.  Open gen-dsp. h file that is created.  9.  Add ttdefine _FPF_NameOfFunction in a similar fashion as written in gen-dsp.h file.  10. Open D : \ o r t s \ p r o j e c t \ u s e r p r c s . c c . 11. Inside u s e r p r c s . cc file, add rtncode NameOfFunctionInit  (int,Link**,int,Link**,int,float*,  float,void**); under the comment / * F a s t process  i n i t functions*/.  12. Also, add v o i d FPF_NameOfFunction ( v o i d ) ; under the comment / * F a s t process  f u n c t i o n s */.  13. And add # i f d e f _FPF_NameOfFunction ("NameOfFunction", FPF_NameOfFunctionInit, FPF_NameOfFunction), #endif under the line s t r u c t RC_FAST_PROCESS_LIST_STRUCT RC_FAST_PROCESS_LIST [ ] 14. Run D: \ o r t s \ p r o j e c t \ b u i l d c 3 2 .bat>c32 . l o g in DOS environment. 15. If there is no error messages shown in c32. l o g file, overwrite D:\expcode\dsp-c32.out by  D:\orts\project\dsp-c32.out.  After the linking process, user should create a script file to run the controller in DSP environment.  Example of a script file (e.g. C o n t r o l l e r . spt) used to implement a  controller is given in Figure B.2.  DSP C32: Link switchDecoded Link referenceExternal Link c o n t r o l L o g L i n k encoder_external Link t r a j e c t o r y  (local,direct,5); (local,direct,5) ; (dsp2pc,buffered,30,21); (local,direct,5); (pc2dsp,buffered,30,5);  133  Group switches, p r i o r i t y = l , freq=200: { L i n k switchRaw(2); M F I 0 _ R e a d D i g i t a l P o r t ( l , 4 ) , output=(switchRaw); DecodeSwitches(), input=(switchRaw), output=(switchDecoded); }  Gain(1,1,1,1,1), i n p u t = ( t r a j e c t o r y ) , p r i o r i t y = 0 , freq=1000, output=(referenceExternal); Group c o n t r o l , p r i o r i t y = l , freq=1000: { Link reference(5),encoder(5),error(5),control(5),current(5);  /* t r a n s f e r r e f e r e n c e s i g n a l */ ChecklnputLink(), input=(referenceExternal),  output=(reference);  /* read encoders */ MFIO_ReadEncoder(1,2,3,4,6),  output=(encoder);  /* read motor c u r r e n t */ MFIO_ReadADC(1,2,3,4,6),  output=(current);  /* implement PID c o n t r o l */ Sum(l,-1), input=(reference,encoder),  output=(error);  C o n t r o l A r c h i t e c t u r e Implementation e.g. a PID c o n t r o l l e r PIDControK  40,25,1.5,40, /* a x i s 20,20,1.5,40, /* a x i s 45,25,1.5,40, /* a x i s 55,35,1.5,40, /* a x i s 40,30,1,40 ) /* a x i s ,input=(error), output=(control);  1 2 3 4 5  -  Kp, Kp, Kp, Kp, Kp,  Ki, Ki, Ki, Ki, Ki,  Kd, Kd, Kd, Kd, Kd,  fc fc fc fc fc  */ */ */ */ */  /  /* w r i t e t o DACs */ MFIO_WriteDAC(1,2,3,4,6),  input=(control);  /* l o g c o n t r o l performance */ L o g ( l ) , input=(reference,encoder,control,current), output=(controlLog); } PC: priorityclass=high; SaveToDisk("D:\ControlToolbox\Expdata\controller.log"), input=(controlLog); ReadFromDisk("D:\ControlToolbox\Trajectories\controller.dat"), output=(trajectory);  Figure B.2. Example script file.  134  All control algorithms applicable for the SCORBOT ER VII can be found in D:\ControlToolbox\ControlArchitecture\FileName.dat.  Different  types  of  trajectories can be found in D:\ControlToolbox\Trajectories\FileName.dat; all resulting data are stored in D:\ControlToolbox\Expdata\FileName.dat  folder; and all plots  are stored in D: \ControlToolbox\Plots\FileName. m.  The following procedure enables the user to run the certain control algorithm and apply it to the SCORBOT ER VII:  1. Turn on the amplifier (black button on the left-hand side). 2.  Open the ORTS editor and wait until the STARTUP. SPT runs.  3. Switch on the red button located on the back of the amplifier. 4. Open and run the  D:\ControlToolbox\ControlArchitecture\AxisHome01.spt  file. (Note: calibration of robot axis takes place) 5. Switch off the red. 6. Close the ORTS editor. 7. Re-open the ORTS editor and wait until the STARTUP. SPT runs. 8. Switch on the red button again. 9. Open and run the D : \ C o n t r o l T o o l b o x \ C o n t r o l A r c h i t e c t u r e \ C o n t r o l l e r . s p t  file.. 10. Repeat the Step 5 to Step 9 in order to run a new script file.  B.2 The Expert System Toolbox The expert system is meant to be a "decision maker" for certain control task. Due to the lack of applicable functions that are developed for this version of Fuzzy Logic Toolbox,  135  this part of system works off-line. After the decision for certain robot task is made, the signal is sent to control toolbox explained in previous section, and the control action takes place for desired trajectory. This toolbox is implemented in MATLAB Toolbox v.5.3 using the Fuzzy Logic Toolbox v.2.0.1. Due to the large number of rules that system uses, the system is slow and some other alternatives should be considered for real industrial applications. All necessary files for mnning the expert system are selected in the D: \ E x p S y s \ F i l e N a m e . m .  To run the expert system, the following procedure should be made:  1.  Open the MATLAB Rl 1 Command Window.  2.  Type: start / * initialization of s t a r t , m file for beginning of process * /  When the process begins the matlab interface is shown on Figure B.3.  * * * * * * * * * * * * * * * * * * * * * * * *WELCOME* * * * * * * * * * * * * * * * * * * * * * * * * Which type o f i n d u s t r i a l processes a r e you i n t e r e s t e d i n ? 1. Manufacturing 2. M a t e r i a l Handling 3. Measuring E n t e r 1, 2, 3 o r 0 f o r none: / * if user enter 1 than questionnaire follows * / Which i n d u s t r i a l task i n t h i s group do you want t o accomplish? 1. spot welding 2. spray p a i n t i n g 3. l a s e r  cutting  4. a r c welding 5. d r i l l i n g 6.  polishing  136  7. d e b u r r i n g 8. screw f a s t e n i n g 9. m i l l i n g E n t e r the number from 1 t o 9 o r 0 f o r none o f these:  / * If the user type 1 than the next question follows * / Your a p p l i c a t i o n i s p o i n t - t o - p o i n t non-contact task. Please p r o v i d e i n f o r m a t i o n about: 1. Model c o n f i d e n c e and model type:  / * The matlab window pops-up the membership functions for this module and after pressing enter button the interface shows next line * / i n p u t [ a b e d ] =[ ]  / * user is required to enter a four values input for this module.  Given the input values, matlab invokes the . f i s file associated with this module, calculates and save the final deffuzified value of this module*/ 2. Is p o s i t i o n sensor a v a i l a b l e ? 1) Yes 2) No Type 1 o r 2:  / * if yes, than window pops-up the membership functions for this module and user has to enter the input values * / 3. I s v e l o c i t y sensor a v a i l a b l e ? 1) Yes 2) No Type 1 o r 2: 4. Hardware i n f o r m a t i o n . 5. E x t e r n a l and i n t e r n a l d i s t u r b a n c e s . 6. A l l o w a b l e p l a n n i n g task error. ...etc.  137  / * if the chosen application is some of contact-task problems than different questions follows. When the control architecture is chosen than the questions about the associated controller follows * / ********************* * *CONTROLLER SELECTION* ************************** P l e a s e p r o v i d e the i n f o r m a t i o n about the: 1)  trajectory rate  2) d r i v i n g system o f the j o i n t s 3)  r a t e o f response  4) r e q u i r e d c o n t r o l accuracy  / * windows pops-up the windows with membership functions for this module, and user is required to enter the input values and according to these information the controller structure is chosen * / Please p r o v i d e i n f o r m a t i o n about the: 1) degree o f s t a b i l i t y 2) overshoot 3)  rise  time  4) a l l o w a b l e f i n a l e r r o r 5)  r o b o t type  6)  introduced payload  / * according to these information the expert system chose the controller to be incorporated into previously chosen architecture * /  Figure B.3. The matlab interface for control architecture and controller selection.  The screen shots of Madab editor for TREX and data entry screen are shown on next figure.  138  Appendix C The Simulation Results In this appendix, the plots with simulation results for 2-dof robot performed using Madab Toolbox [30], and applied control law are presented for better insight in result difference when different control scheme are utilized for the same task.  C . l Continuous Path Motion Task The desired arm trajectory has a typical trapezoidal velocity profile. The end-effector desired motion is a path along the joint space rectilinear path from qj—[Tz/2  Tt/2] posture. Trajectory duration is t,— T  1  <7,=[0  n/4] to 1  sec.  C.l.l Applied Control Law The block diagram of utilized architecture is presented on Figure C.l. This technique of nonlinear compensation and decoupling is very attractive from a control viewpoint since the nonlinear and coupled manipulator dynamics is replaced with n linear and decoupled second-order subsystems [32]. The manipulator dynamics can be expressed over the relationship:  B(q) q+ C(q, q) q+ F q+ g(q) = r. v  (C -1)  llfO  Consequently, the dynamic model of the system given by the manipulator and drives can be described as:  B(q) q+ C (q, q) q+ F q+ g{q) = u,  (C-2)  where  F = u=  F +K K R ->K K , v  r  t  a  v  (C-3)  r  K KR - G v .  (C-4)  x  r  t  a  v  c  In (C-3) and (C-4), F is the diagonal matrix accounting for all viscous (mechanical and electrical) damping terms, and u is the vector that is taken as control input to the system. qi  qi  O qi  o  B(a)  ROBOT  LINEAR ..CON3310U.ER-  NONLINEAR COMPENSATION  Figure C l . Computed torque with PD controller.  Considering the equation (C-2), the dynamic model of «-joint manipulator can be reformulated as:  B(q)q+n(q,q) = u, where  n(q, q) = C (q, q) q+ F q+ g(q).  (C-5) (C-6)  141  C h o o s i n g t h e c o n t r o l - i n p u t u as a f u n c t i o n o f t h e m a n i p u l a t o r state, t h e s y s t e m c a n b e d e s c r i b e d as  B(q)y + n(q,q) = u,  (C-7)  q = y.  (C-8)  T h e s t a b i l i z i n g c o n t r o l l a w j is c h o s e n as:  y = -K q-K q+r, P  (C-9)  D  and leads to the second - order equation, q+K q+K =r. D  (C-10)  p  Choosing K and K as diagonal matrices of the type p  D  K = diag{tvj, p  ,0}J},  K = diag{2^ cv , D  x  ia  ,2£ co }, n  m  (C-11)  gives decoupled system. Given any desired trajectory q (t), tracking of this trajectory is d  ensured by choosing  r =q +Kq d  D  d  + Kq. P  d  (C-12)  T h e p l o t s a r e g i v e n o n F i g u r e s C.2 a n d C.3. D u e t o h i g h - s p e e d trajectory, a n d r e q u i r e d p r e c i s e p o s i t i o n i n g i t i s necessary t o calculate t h e w h o l e s y s t e m d y n a m i c s , w h i c h i s a c h i e v e d c h o o s i n g c o m p u t e r t o r q u e a r c h i t e c t u r e w i t h adequate  controller. F r o m given plots, i t is  o b v i o u s that this a r c h i t e c t u r e w i t h p r o p e r l y t u n e d c o n t r o l l e r gains satisfies r e q u i r e m e n t s set b y user.  142  joint pos errors  joint pos errors  • 05  -0.05  joint torques  joint torqujes  Figure C.2. Independent Joint Control with PD controller and sampling interval ts=lms, a) K =5, K =10 b) K =6.25, K =32 P  v  P  joint pos errors  joint pos cMots  0.05  Tg  o  -0.05 0  -0.05  joint torques  v  05  joint torques  Figure C.3. Computed torque with PD controller, t =lms a) K =5, K =10 b) K =6.25, K =32 s  P  v  P  v  143  C.2 Continuous Path Motion Task with Tip Payload The desired arm trajectory has a typical trapezoidal velocity profile. The end-effector desired motion is a path along the joint space rectilinear path from gpfO 7T./4] to 1  qj=[n/2 ll/2] posture. The concentrated tip payload is of weight m = 10 kg. The trajectory T  L  duration is tj — \ sec.  C.2.1 Applied Control Law The block diagram of utilized architecture is presented on Figure C.4. The possibility of finding adaptive control laws is ensured by the property of linearity in the parameters of the dynamic model of manipulator.  O qj  K  H  A K*'Y (.,.,.,.) r  Vs  VO,.,,)  ROBOT  Figure C.4. Adaptive control architecture with P D controller.  144  Thus, equation (C - 2) can be written as:  (C-13)  B(q) q+ C (q, q) q+ F q+ g(q) = Y(q, q,q)x = u,  where 71 is a (p x 1) vector of constant parameters and Y is an (» x p) matrix that is a function of joint position, velocity and acceleration.  Consider the control law,  u = B{q) q + C(q, q) q + Fq + g(q) + K a, r  with K  D  r  r  (C -14)  D  a positive definite matrix. The choice  q =q +^q r  (c-15)  q =q +^q,  (1  r  d  with A a positive definite matrix, allows expresing the nonlinear compensation and decoupling as a terms as a function of the desired velocity and acceleration, corrected by the current state of the manipulator. The term K cris equivalent to a PD controller if cris taken D  as  o = q -q r  = q +Kq.  (C-16)  Substituting (C-13) into (C — 12) and considering (C-15) yields  B(q)cr+C(q,q)cT+FcT+K CF D  = 0.  (C-17)  145  Differently from the robust control case, the error trajectory is naturally constrained to the subspace O"=0 without the need of high-frequency control. The control law can be made adaptive with respect to the vector of parameters it [32]. The control law can be modified into:  u = B(q) q +C(q,q)q r  + Fq + g + K a  r  r  D  = Y(q,q,q q )7T r  r  + K a,  (C -18)  D  where ft represents the available estimate on the parameters and, B, C, F, and g denote the estimated terms in the dynamic model. Substituing control (C-17) into (C-12) gives:  B(q) cr+ C(q, q) a+Fa+K a  = -B(q) q - C(q, q)  D  r  q-Fq -g r  = -Y(q,q,q q )x, r  (C-19)  r  where 7C=7C-7C, B-B-B,  C = C-C,  F = F-F,  and g = g-g.  (C-20)  Thus, the trajectories of the manipulator described by the model (C-2), under the control law  u = Y(q,q,q q )7r r  r  + K (q + Aq),  (C - 21)  D  and the parameter adaptive law,  TT = K; Y {q,q,q X  t  r  q )(q+ Aq), r  (C - 22)  globally asymptoticaly converge to cr = 0 and q = 0, which implies convergance to zero of q, q.  The plots are given on Figures C.5. - C.7.  146  tip position errors  tip position errors  x IO"  1  x  Figure C.5 Inverse Dynamic Control with no load compensation, t = 1 ms. s  Figure C.6. Inverse Dynamic Control with load compensation, t = 1 ms.  tip position errors x  10-  s  load mass estimate  10-  1  Figure C.7. Adaptive control architecture with load mass estimation, t = s  1ms.  Comparison of inverse dynamic control with adaptive control scheme shows that latter achieves zero state error in 1.5 sec and load mass is estimated in about 1 sec. which is satisfactory  for this  application. However, inverse  dynamic control without load  compensation becomes unstable, whereas the same architecture with load compensation gives rather sluggish behavior, especially during transition process.  C.3 Continuous Path Motion with Applied Force The desired end-effector trajectory has a typical trapezoidal velocity profile, and robot is in contact with elastically compliant plane. The elastic plane is purely frictionless. The end-effector desired motion is a path along the joint rectilinear path from position #=[1+0.1(2)  1 / 2  ]  T  to q j = [ l . 2 + 0 . 1 ( 2 )  1 / 2  ] . T  147  C.3.1 Applied Control Law Consider the manipulator dynamic model (C - 2). For the contact task motion, the model can be written in the form  B(q)q+C(q,q)q+F  q+ g(q) = u - J (q)h,  (C-23)  T  where h is the vector of contact forces exerted by the manipulator's end-effector on the environment. In the force control direction, the control law  y = J ~ (q)M ' {-K l  x+ K (x  x  A  d  D  P  F  -x)-M J (q,q)q), d  (C-24)  A  where x is a suitable reference to be related to aforceerror and M is a mass matrix. Taking F  d  into account Equations (C - 5) and (C - 23) the new relationship is derived,  u=B(q)y + n(q,q) + J (q)h.  (C-25)  T  Thus, the system can be described now as  M x+K d  Let h  Ad  D  x+K x = K x . p  p  (C-26)  F  denote the desired constant force reference, the relation between x and the force F  error can be symbolically expressed as:  x = S {h F  F  Ad  h ),  (C-27)  A  where S is a selection matrix whose elements give the control action. On the assumption of the elastically compliant environment, Equation (C - 26) becomes  M x+ K x+ K (I + S K )x = K S d  D  P  F  A  P  F  (K x + h ), A  e  Ad  (C - 28)  148  where K is environrnent stiffness matrix. A convenient choice for S is a PI action, A  F  S =K +K \(.)dC, F  F  (C-29)  r  and with a proper choice of the matrices K , K , K , and K the system is asymptotically D  p  F  p  stable. The plots are presented on Figures C.8 and C.9.  x  jrj"*  y_c-force  x_c-pos error  -100 -200 -300  y_c-force error  -100  • 100  -200  -300  -300  -300  Figure C.8. Explicit Hybrid Position/Force Control, ts=lms, F<i=150N, a) environment stiffness K=5xl0  3  b) more compliant environment K=5xl0 c)  less compliant environment K=5xl0  2  4  149  x  0  iQ"*  x_c-pos error  0.5  1  1.5  y_c-force error  2  0  0.5  y_c-force error  1  1.5  2  y_c-force error  Figure C . 9 . Implicit Hybrid Position/Force Control, ts=lms, Fd=150N, d)  environment stiffness K = 5 x l 0  e)  more compliant environment K = 5 x l 0  f)  less compliant environment K = 5 x l 0  3  2  4  These two architectures give almost the same results in the positioning control part. However, during transition process, implicit hybrid control architecture performs big oscillations in the force control part, especially when robot encounters highly stiff environment. That can cause the damaging of object that the operation is performed on. Even for less stiff environment this architecture gives some overshoot during transition process. In general, explicit hybrid control performs better for this operation in all types of environment.  150  Appendix D  The Experimental Results In this appendix, the plots with experimental results for all five SCORBOT ER VII axes are presented. The plots provide better insight in the differences in system response when various algorithms are utilized for the same task.  D . l The Point-to-Point Motion Task The results are given for simple point-to-point slow robot motion where the trajectory is given by:  PTP_traj(  D.l.l  [0.4;  -0.2;  0.1],  [0.4;  0.4;  0.1],  2,  0.005,  60,  5 )  Applied Control Law  The block diagram of utilized architecture is presented on Figure D . l . The zeroorder hold is embedded into the architecture of ORTS. The low-passfilteris designed as second order system, and the applied control law is presented below.  low-lev el controller  low-pass  filter  ROBOT  •  Figure D . l . Independent joint controller with P I D controller.  The transfer function of low-pass filter represented in discrete time domain is taken as  b-,z +b z + b 2  l  0  (D-l)  z +a z + a l  0  and the PID control law in time domain is calculated as  u(t) = K [e(0 + c  T •  \e(T)dr + T - i i ] , d  i  at  (D-2)  where the parameters of digital PID controller are calculated as:  K = K - K T/2, P  and K  PC  PC  IC  K, - K, T, C  K = K J T, D  D  (D-3)  , K , and K are predefined PID controller gains in continuos time domain. The DC  lc  sampling period Tis defined as T — 1 /Freq and in this case control architecture operates on frequency Freq = 0) = 200 FIz. s  The digital filter parameters are calculated as:  b\k] =K + K, + K , P  a\k] = -(1 + dpole),  D  £[k-l] = -{{dpole + l)Kp + dpoleK, + 2K , D  b\k-2] = dpo/eKp + K , D  «[k-l] = dpole, P-4)  152  where cHscrete-time pole is denned as  dpo/e= (\/(2nCutt0fFrea))/{T+ (1/(2nCntt0jjFreq))).  (D-5)  According to Shannon's theorem, the cut-off frequency is chosen not to be larger than half of the sampling frequency.  \X<Ja>)\ = s,  CO.  (D-6)  V<»>^.  Thus, the digital P I D control signal is calculated as  u[k] = b[k]e[k] + b[k - l]e[k -1] + b[k - 2]e[k - 2] - (a[k]u[k -1] + a[k - l]u[k - 2]).  (D-7)  The plots are shown on Figures D . 2 — D . l l . Axis 1 - Error Comparsions (200Hz Slow Trajectory) PID PD  0.04 TJ 03  0.02 0  co o  Q.  -0.02 -0.04  0  500  1000  1500  2000  2500  3000  3500  4000  Axis 1 - Current Comparsion 3  <  PID PD  ill  2 1  W|n^ _, |u(J  3 ° -1 -2 0  500  1000  1500 2000 2500 time/200 [sec]  3000  3500  4000  Figure D.2. The first-axis plots for slow robot motion with PID and PD controllers.  153  A x i s 1 - Error C o m p a r s i o n s (200Hz S l o w Trajectory)  0  500  1000  1500  2000  2500  3000  3500  4000  A x i s 1 - Current C o m p a r s i o n PI  p  3  o  0  0  500  1000  1500  2000  2500  3000  3500  4000  time/200 [sec]  Figure D.3. T h e first-axis plots for slow robot motion with PI and P controllers. A x i s 2 - Error C o m p a r s i o n s (200Hz S l o w Trajectory) PID  0.06  PD  0.04 0.02 0 -0.02 -0.04 0  500  1000  1500  2000  2500  3000  3500  4000  A x i s 2 - Current C o m p a r s i o n 2  PID  <  0  o  .-i  PD  jP|i|FI¥l|l  1  -2 -3 0  500  1000  1500  2000  2500  3000  3500  4000  time/200 [sec]  Figure D.4. T h e second-axis plots for slow robot motion with PID and PD controllers.  154  Axis 2 - Error Comparsions (200Hz Slow Trajectory) PI  0.06  p  0.04 "O  0.02  o  0  Q_  -0.02 -0.04 0  500  1000  1500  2000  2500  3000  3500  4000  Axis 2 - Current Comparsion  2  PI  1 < =3 O  p  0  it*"  -1 -2 0  500  1000  1500 2000 2500 time/200 [sec]  3000  3500  4000  Figure D.5. T h e second-axis plots for slow robot motion with PI and P controllers.  Axis 3 - Error Comparsions (200Hz Slow Trajectory) 0.02  in o CL  X.  f  0  PID PD  x  -0.02 0  500  1000  1500  2000  2500  3000  3500  4000  Axis 3 - Current Comparsion 2 1  <  II Jul lilt i lil II ilL  1  IB  MM  I  re—-  0  J  J  -2  PID PD  1  l !•' |! i| 'I  1 HllllilK 11 lil'^l jl"'r |  -3 0  500  1000  1500 .. . 2000 2500 time/200 [sec]  3000  3500  4000  Figure D.6. T h e third-axis plots for slow robot motion with PID and P D controllers.  155  Axis 3 - Error Comparsions (200Hz Slow Trajectory)  0  500  1000  1500  2000  2500  3000  3500  4000  Axis 3 - Current Comparsion PI p  1  < o  0  1  Vf  -2 0  500  1000  1500 2000 2500 time/200 [sec]  3000  3500  4000  Figure D.7. The third-axis plots for slow robot motion with PI and P controllers.  Axis 4 - Error Comparsions (200Hz Slow Trajectory) 0.02  ^  '''''ftil^iitiHifi^i-*  0  PID PD  ID  0.01  -0.01 -0.02  0  500  1000  1500  2000  2500  3000  3500  4000  Axis 4 - Current Comparsion 1.5 1  |l III!I, III,  PID PD  11! Jill  0.5 £ 3  0  III  >i iillllil '  -0.5 -1 -1.5  0  500  1000  1500 2000 2500 time/200 [sec]  3000  3500  4000  Figure D.8. The fourth-axis plots for slow robot motion with PID and PD controllers.  156  Axis 4 - Error Comparsions (200Hz Slow Trajectory) 0.02  PI  p „  0.01  T3 (TI  0  [  ' % V # , I * I *  O CL  -0.01 -0.02  0  500  1000  1500  2000  2500  3000  3500  4000  Axis 4 - Current Comparsion 1.5 PI P  1 0.5  r 1  o -0.5 -1 -1.5  0  500  1000  1500 2000 2500 time/200 [sec]  3000  3500  4000  Figure D.9. The fourth-axis plots for slow robot motion with PI and P controllers.  Axis 5 - Error Comparsions (200Hz Slow Trajectory) 0.02  PID PD AH/'  0.01 10  o  0  CL  v.  -0.01 \,ff^vsi-l^"ifiwVih^vi  -0.02  0  500  1000  1500  2000  2500  3000  3500  4000  3000  3500  4000  Axis 5 - Current Comparsion  0  500  1000  1500 2000 2500 time/200 [sec]  Figure D.10. Thefifth-axisplots for slow robot motion with PID and P D controllers.  157  Axis 5 - Error Comparsions (200Hz Slow Trajectory) 0.02 73  0.01  ro o  Q.  PI P  jvl/'  0 -0.01  -0.02  0  500  1000  1500  2000  2500  3000  3500  4000  3000  3500  4000  Axis 5 - Current Comparsion  0  500  1000  1500 2000 2500 time/200 [sec]  Figure D . l l . The fifth-axis plots for slow robot motion with PI and P controllers.  D.2 Point-to-Point Motion Task with the Payload The results are given for simple point-to-point slow robot motion trajectory where the payload is concentrated at the tip of end-effector. The trajectory is given by:  PTP_traj(  [0.4;  -0.2;  0.1],  [0.4;  0.4;  0.1],  2,  0.005,  60,  5 )  158  D.2.1  Applied Control Law  The block diagram of utilized architecture is presented on Figure D.12. The zeroorder hold is embedded into the architecture of ORTS. The low-pass filter is designed as second order system, and the applied control law is presented below.  low-pass  O  low-level controller  filter  -*  ROBOT  Figure D.12. Independent joint controller with PD+G controller.  The transfer function of low-pass filter represented in discrete time domain is taken as,  W (z) = F  b z + bz + b 2  i  0  z +a z + a 2  {  (D-  0  and the PD+G control law in time domain is calculated as,  u(t) = g(.) + K [e(t) + c  T ^], dt d  (D-9)  where the parameters of digital PD controller are calculated as:  K P  and K  PC  , and K  K, pc  K - K / T, D  DC  (D-10)  are predefined PD controller gains in continuos time domain. The  DC  sampling period T is defined as T = 1 /Freq and in this case control architecture operates on frequency Freq = 6) - 200 FIz. s  159  The gravitational terms already divided by the motor parameters for the first three links are:  g[0] = 0,  (D-ll)  g[l] = (-3.2373cos(q[l]) - 5.15cos(q[l] + q[2])) / 1.7677,  (D - 12)  g[2] = (-5.15cos(q[l] + q[2])) /6.6269,  (D - 13)  where joint angles are: 3 = q[0],  c? = q[l],  0 = q[2\.  2  3  (D-14)  The digitalfilterparameters are calculated as:  b\k\ =K + K , P  a\k] = -(1 + dpole),  D  b\k-l] = -{{dpole + 1)K + 2K , P  a\k-l] = dpole,  D  b\k-2] = dpoleK + K , P  (D - 15)  D  where discrete-time pole is defined as,  dpole = {\/{2nCutK)ffFred))/{T+ (1/'{InCuttOffFreq))).  (D - 16)  According to Shannon's theorem, the cut-off frequency is chosen not to be larger than half of the sampling frequency:  \X(Ja>)\ = s,  V<y>^.  (D-17)  Thus, the digital PD + G control signals for thefirstthree axis are calculated as  160  u[0] = g[0] + pd[0],  (D-18)  u[l] = g[l] + pd[l],  (D-19)  u[2] = g[2] + pd[2].  (D-20)  The plots are shown in Figures D.13 - D.17.  Axis 1 - Error comparsion (Point-to-point motion)  1000  1500  2000  2500  Axis 1 - Current comparsion PD+G PID  2  m  3 o -2 500  1000 1500 time/100 [sec]  2000  2500  Figure D.13. The first-axis plots for slow robot motion with P D + G and PID controllers.  161  Axis 2 - Error comparsion (Point-to-point motion)  1000  1500  2000  2500  2000  2500  Axis 2 - Current comparsion  500  1000 1500 time/100 [sec]  Figure D.14. The second-axis plots for slow robot motion with P D + G and PID controllers. Axis 3 - Error comparsion (Point-to-point motion) 0.06 r PD+G PID  „  0.04  I  0.02  is  0»  to §. -0.02 -0.04  0  500  1000  2000  1500  2500  Axis 3 - Current comparsion PD+G PID  2  ffffffffp  0 -2  II  -4 500  1000 1500 time/100 [sec]  I 2000  2500  Figure D.15. The third-axis plots for slow robot motion with P D + G and PID controllers.  162  A x i s 4 - Error c o m p a r s i o n (Point-to-point motion) PD+G PID  0.02  1 s  0.01  o  "1  -0.01 -0.02 -0.03  500  1000  1500  2000  2500  A x i s 4 - Current c o m p a r s i o n 2 1  I  PD+G PID  lliHIl  o  IP  3  o  -1 -2  500  1000 1500 time/100 [sec]  2000  2500  Figure D.16. The fourth-axis plots for slow robot motion with P D + G and P I D controllers. A x i s 5 - Error c o m p a r s i o n (Point-to-point motion) 0.02  TJ  PD+G PID  0.01  i  0  CD -0.02 500  1000  1500  2000  2500  A x i s 5 - Current c o m p a r s i o n 2 PD+G PID  1 "  3  0  |UM  -1  -2 500  1000  1500  2000  2500  time/100 [sec]  Figure D.17. The fifth-axis plots for slow robot motion with P D + G and P I D controllers.  163  D.3 The Point-to-Point Motion Task with HighSpeed Trajectory The results are given for simple point-to-point robot motion where the high-speed trajectory is given by:  PTP_traj(  D.3.1  [0.4;  -0.2;  0.1],  [0.4;  0.4;  0.1],  1,  0.005,  60,  5 )  Applied Control Law  The block diagram of computer torque architecture utilized for this task is presented on Figure D.l8. The zero-order hold is embedded into the architecture of ORTS. Due to the lack of velocity sensor information the signal from encoder is sent through the designed first order filter and the approximation of velocity signal is made. The low-passfilteris designed as second order system, and the applied control law is presented below.  !  *_ q  r  low-pass filter  —•  low-level controller  |  M(q)  i  N(q#)  <>  ROBOT  q  r  Figure D.18. Computer torque with PID controller.  164  For this task only first three links of manipulator are considered and controlled. The control signals for first three links are given, respectively:  u[0] = «[0] + 0.5657(m[0][0]^,[0] + m[0][l] ,[l] + m[0][2]^,[2]) ?  + m[0][0]pid[0] + m[0][\]pid[l] + 3.7488m[0][l]/w/[2],  (D - 21)  u[l] = n[l] + 0.5657(m[l] [0] q [0] + m[l][l] q [1] + m[\][2]q [2]) d  d  d  + m[l][0]pid[0] + m[l][l]pid[l] + 3.7488m[l][l] p/J[2],  (D - 22)  j  u[2] = n[2] + 0.5657(m[2][0] q [0] + m[2][l] q [1] + m[2] [2]q [2]) d  d  d  + m[2][0]pid[0] + m[2][l]pid[l] + 3.7488m[2][l] p/J[2], j  (D - 23)  where nonlinear terms are calculated as:  n[0] = (g[0] + temp2)f 1.7677,  (D-24)  n[l] = (g[l] + temp2)f 1.7677,  (D-25)  »[2] = (g[2] + temp2) 16.6269,  (D - 26)  where temp2 = q[0][0]temp[0][0] + q[0][l]temp[l][0] + q[0][2]temp[2][0],  (D - 27)  and temp[i] [j] are temporary files for matrix calculations. The joint velocity estimates are calculated from position measurements using the extended Euler approximation as Vk=™ -xHq -q -xVT, k  k  q  (D-28)  that leads to tempq[i][0] = OAtempq[i][l] + ((tempq[i][0]-temp[i][l])/T).  (D-29)  The plots are given on Figures D . l 9 - D.21.  165  PID+CT(10xKp2,5xKp3) PID  0.06 0.04 0.02 0  K s  -0.02 -0.04  0  500  1000  1500  2000  2500  A x i s 1 - Current c o m p a r s i o n PID+CT(10xKp2,5xKp3) PID  <  3 o -2 500  1000  1500 time/100 [sec]  2000  2500  Figure D.19. The first-axis plots for fast robot motion with PID+CT and P I D controllers. 0.1 PID+CT(10xKp2,5xKp3) PID  0.05  —Y/  0 -0.05 H -0.1  500  1000  1500  2000  2500  2000  2500  A x i s 2 - Current c o m p a r s i o n  500  1000  1500 time/100 [sec]  Figure D.20. The second-axis plots for fast robot motion with PID+CT and P I D controllers.  166  0.05  PID + C T ( 1 0 x K p 2 , 5 x K p 3 )  \  PID  /  "1;:  -0.05  500  1000  1500  2000  2500  Axis 3 - Current comparsion PID + C T ( 1 0 x K p 2 , 5 x K p 3 ) PID cur [A]  500  1000  1500  2000  2500  t i m e / 1 0 0 [sec]  Figure D.21. The third-axis plots for fast robot motion with PID+CT and PID controllers.  167  Appendix E  Proposed T u n i n g System In this appendix, a controller tuning system that can be implemented on-line is proposed. The system is a gain tuner for PID controller. However, using this approach, gain tuners for other commonly used controllers can be implemented.  E . l Criteria for Tuning Module The tuning module is a controller gain-tuner, which is designed as a fuzzy-logicbased controller that monitors robot joint response characteristics and simultaneously modifies the gains to provide better responses for large deviations of the monitored quantities. Separate tuning modules are indicated depending upon the type of controller selected. For example, through the design of, the PID controller gains, one might take into consideration the following issues:  larger values of gains are needed to improve error convergence too large gain values may cause resonance oscillations feedback gains amplify not only error signals, but noise as well too large integral gain can produce a big overshoot in response (undesirable for precise positioning).  Thus, the actual controller design is a compromise solution that is a consequence of different criteria imposed by user as well as system feasibility to maintain the stability. The main idea, in accordance with system response, is that only one of the local gains (e.g. proportional gain) is directly changed, and the values of derivative and integral gains (if exist), are changed simultaneously so that stability of the whole system preserved. For this system, simple criteria for synthesizing gam-raning-rules are used: if the response errors are large and do not show a tendency to decrease, the proportional gain is increased to make faster error convergence if the response errors are large but show significant convergence to desired level, the proportional gain is gradually decreased to the value that is appropriate for small-error conditions [17]. if the errors are small, the proportional gain is decreased to prevent resonance oscillations and attenuate negative noise effects.  E.2 Membership Functions In order to express these criteria that characterize this module for gain tuning mathematically, triangle-shaped membership functions are adopted with fuzzy intervals, labeled as NEG, ZER, and POS, Figure E . l . The fuzzy set comprises 27 rules and is 'open' in form so it can be adapted according to users criteria.  169  NEG  ZER  -1  POS  +1  0  Aq',Aq\(^Aqdt)  Figure E . l . Fuzzy sets for PID tuning. For example, the rule:  if Aq is NEG and Aq is POS and (fadtj  is POS then £ is ZER  has the effect of changing the proportional gain as a function of response errors. The  inputs  Aq, A q , and (^Aqdt)  normalized values  are subjected to a nonlinear transformation to obtained  ^ > ^ 9 > (jA^cfr)  ;  j  nm  e  c  l  o s e  d interval [-1, +1], and ^ is a  normalized rate of change in proportional gain.  As outlined in the recommendations, implementation of this tuner is the next step to implementation to the T R E X project.  170  

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:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0080833/manifest

Comment

Related Items