Synchronization and Control of Multiagent Systems (Automation and Control Engineering)

  • 60 632 5
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up

Synchronization and Control of Multiagent Systems (Automation and Control Engineering)

Synchronization and Control of Multiagent Systems AUTOMATION AND CONTROL ENGINEERING A Series of Reference Books and T

1,940 378 5MB

Pages 190 Page size 432.681 x 649 pts

Report DMCA / Copyright

DOWNLOAD FILE

Recommend Papers

File loading please wait...
Citation preview

Synchronization and Control of Multiagent Systems

AUTOMATION AND CONTROL ENGINEERING A Series of Reference Books and Textbooks Series Editors FRANK L. LEWIS, Ph.D., Fellow IEEE, Fellow IFAC

3URIHVVRU $XWRPDWLRQ DQG 5RERWLFV 5HVHDUFK ,QVWLWXWH 7KH 8QLYHUVLW\ RI 7H[DV DW $UOLQJWRQ

SHUZHI SAM GE, Ph.D., Fellow IEEE

3URIHVVRU ,QWHUDFWLYH 'LJLWDO 0HGLD ,QVWLWXWH 7KH 1DWLRQDO 8QLYHUVLW\ RI 6LQJDSRUH

Synchronization and Control of Multiagent Systems, Dong Sun Subspace Learning of Neural Networks, Jian Cheng Lv, Zhang Yi, and Jiliu Zhou Reliable Control and Filtering of Linear Systems with Adaptive Mechanisms, Guang-Hong Yang and Dan Ye Reinforcement Learning and Dynamic Programming Using Function Approximators, Lucian Bus¸oniu, Robert Babuška, Bart De Schutter, and Damien Ernst Modeling and Control of Vibration in Mechanical Systems, Chunling Du and Lihua Xie Analysis and Synthesis of Fuzzy Control Systems: A Model-Based Approach, Gang Feng Lyapunov-Based Control of Robotic Systems, Aman Behal, Warren Dixon, Darren M. Dawson, and Bin Xian System Modeling and Control with Resource-Oriented Petri Nets, Naiqi Wu and MengChu Zhou Sliding Mode Control in Electro-Mechanical Systems, Second Edition, Vadim Utkin, Jürgen Guldner, and Jingxin Shi Optimal Control: Weakly Coupled Systems and Applications, Zoran Gajic´, Myo-Taeg Lim, Dobrila Skataric´, Wu-Chung Su, and Vojislav Kecman Intelligent Systems: Modeling, Optimization, and Control, Yung C. Shin and Chengying Xu Optimal and Robust Estimation: With an Introduction to Stochastic Control Theory, Second Edition, Frank L. Lewis, Lihua Xie, and Dan Popa Feedback Control of Dynamic Bipedal Robot Locomotion, Eric R. Westervelt, Jessy W. Grizzle, Christine Chevallereau, Jun Ho Choi, and Benjamin Morris Intelligent Freight Transportation, edited by Petros A. Ioannou Modeling and Control of Complex Systems, edited by Petros A. Ioannou and Andreas Pitsillides Wireless Ad Hoc and Sensor Networks: Protocols, Performance, and Control, Jagannathan Sarangapani Stochastic Hybrid Systems, edited by Christos G. Cassandras and John Lygeros Hard Disk Drive: Mechatronics and Control, Abdullah Al Mamun, Guo Xiao Guo, and Chao Bi Autonomous Mobile Robots: Sensing, Control, Decision Making and Applications, edited by Shuzhi Sam Ge and Frank L. Lewis

Automation and Control Engineering Series

Synchronization and Control of Multiagent Systems

Dong Sun

City University of Hong Kong Kowloon, Hong Kong, People’s Republic of China

Boca Raton London New York

CRC Press is an imprint of the Taylor & Francis Group, an informa business

CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2011 by Taylor and Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Printed in the United States of America on acid-free paper 10 9 8 7 6 5 4 3 2 1 International Standard Book Number: 978-1-4398-2047-6 (Hardback) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright. com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Library of Congress Cataloging-in-Publication Data Sun, Dong, 1967Synchronization and control of multiagent systems / Dong Sun. p. cm. -- (Automation and control engineering) Includes bibliographical references and index. ISBN 978-1-4398-2047-6 (hardback) 1. Automatic control. 2. Multiagent systems. 3. Robotics. 4. Synchronization. I. Title. TJ213.S7985 2010 629.8--dc22 Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the CRC Press Web site at http://www.crcpress.com

2010035470

Dedication To My Family—Jiang, Sheryl, and My Parents

Contents Preface.......................................................................................................................xi Acknowledgments................................................................................................... xiii About the Author...................................................................................................... xv Chapter 1. Introduction...........................................................................................1 1.1 Background.................................................................................1 1.2 Synchronization..........................................................................7 1.3 Outline of the Book.................................................................. 10 1.4 Summary.................................................................................. 11 References........................................................................................... 12 Chapter 2. Synchronization Strategy.................................................................... 17 2.1 Concept of Synchronization..................................................... 17 2.2 Synchronization Control Goal..................................................20 2.3 Synchronization Errors.............................................................25 2.4 Summary.................................................................................. 27 References...........................................................................................28 Chapter 3. Model-Free Synchronization Control of Multiple Motion Axes......... 29 3.1 Problem Statement.................................................................... 29 3.2 Position Synchronization Errors and Control Strategy............ 32 3.3 Multiaxis Synchronization in Setpoint Position Control.......... 33 3.4 Multiaxis Synchronization in Tracking Control....................... 37 3.5 Experiments..............................................................................40 3.6 Summary.................................................................................. 48 References........................................................................................... 52 Chapter 4. Synchronized Control of Multiaxis Systems in Trajectory Tracking.............................................................................................. 55 4.1

Synchronization Strategy of Multiagent Motions.................... 55 4.1.1 Synchronization Strategy............................................ 57 4.2 Model-Based Cross-Coupling Synchronization Control.......... 57 4.3 Adaptive Synchronization Control........................................... 62 4.4 Case Study—Adaptive Coupling Control of Two Working Operations in Computer Numerical Control Integrated Machine...................................................................66 4.5 Summary.................................................................................. 71 References........................................................................................... 71 vii

viii

Contents

Chapter 5. Adaptive Synchronization Control for Coordination of Multiple Robot Manipulators.......................................................... 73 5.1 5.2

Introduction.............................................................................. 73 Motion Synchronization Strategy of Multiple Manipulators............................................................................. 75 5.3 Adaptive Synchronization Control........................................... 78 5.4 Case Studies............................................................................. 83 5.4.1 Experiments of Coordinating Two Industrial Manipulators............................................................... 83 5.4.2 Simulations of Coordinating Multiple Manipulators............................................................... 89 5.5 Summary..................................................................................97 References........................................................................................... 98 Chapter 6. Synchronization Control for Minimization of Contouring Errors of Computer Numerically Controlled Machine Tools........... 101 6.1 6.2

Introduction............................................................................ 102 Modeling of a Computer Numerical Control Machine Tool.......................................................................... 104 6.3 Contouring Errors and Synchronization Errors..................... 105 6.3.1 Contouring Errors..................................................... 105 6.3.2 Synchronization Errors............................................. 106 6.4 Control Design........................................................................ 108 6.4.1 Controller Formulation.............................................. 108 6.4.2 Stability Analysis...................................................... 110 6.5 Experiments............................................................................ 113 6.6 Summary................................................................................ 122 References......................................................................................... 125 Chapter 7. Synchronization Control of Parallel Robotic Manipulators.............. 127 7.1 7.2

Introduction............................................................................ 127 Modeling and Synchronization Error of Parallel Manipulators........................................................................... 130 7.2.1 Modeling................................................................... 130 7.2.2 Synchronization Error............................................... 131 7.3 Control Design........................................................................ 133 7.4 Experiments............................................................................ 138 7.5 Summary................................................................................ 142 References......................................................................................... 144 Chapter 8. A Synchronization Approach to Multirobot Formations.................. 147 8.1 8.2

Introduction............................................................................ 147 Multirobot Formation via Synchronization............................ 150

ix

Contents

8.3

Control Design........................................................................ 153 8.3.1 Synchronous Formation Controller........................... 154 8.3.2 Discussions................................................................ 158 8.3.2.1 Boundedness.............................................. 158 8.3.2.2 Adaptive Control for Robustness............... 159 8.4 Simulations............................................................................. 160 8.5 Multirobot Formation Experiments........................................ 166 8.5.1 Case 1: Triangle Formation....................................... 166 8.5.2 Case 2: Ellipse Formation......................................... 168 8.6 Summary................................................................................ 174 Appendix........................................................................................... 174 References......................................................................................... 175 Index....................................................................................................................... 179

Preface Rapid advances in sensing, computing, and communication technologies have led to the development of autonomous systems functioning individually in uncertain environments, opening up new challenges to understanding and developing cooperative multiagent systems. There are many examples of multiagent systems, such as multi­ robot cooperation and multiaxis computer numerical control (CNC) machining, in which multiple agents work cooperatively to achieve a common goal. Multiagents are envisaged to help accomplish tasks that could not possibly be completed with individual agents acting alone. A higher success rate and a high level of reliability in the handling of tasks can be achieved if multiple agents are endowed with cooperation capabilities. Synchronization control provides unique advantage and opportunity to solve the problem of multiagent coordination. Utilizing a cross-coupling concept, a synchronization control framework can be developed such that all agents accomplish each individual task while synchronizing motions among them to maintain relative kinematics relationships to meet the coordination requirement. The synchronization control is ideally suited to multiagent systems in performing a group task as a whole. Some examples are multirobot assembly, multiaxis CNC machining, and formation control of networked robots. This book will give a detailed introduction of the cross coupling–based synchronization control approach to multiagent systems. The following chapters are included: Chapter 1: Introduction Chapter 2: Synchronization Strategy Chapter 3: Model-Free Synchronization Control of Multiple Motion Axes Chapter 4: Synchronized Control of Multiaxis Systems in Trajectory Tracking Chapter 5: Adaptive Synchronization Control for Coordination of Multiple Robot Manipulators Chapter 6: Synchronization Control for Minimization of Contouring Errors of Computer Numerically Controlled Machine Tools Chapter 7: Synchronization Control of Parallel Robotic Manipulators Chapter 8: A Synchronization Approach to Multirobot Formations The key objectives of this book are as follows: Building a connection between the multiagent coordinate task and the synchronization approach. It will be shown in this book how to pose the multiagent control problem as a synchronization control problem, permitting each agent to be part of the coordination system while recognizing its individual task performance capability. Developing a theoretical framework and methodology for cooperation among multiple agents, capable of addressing the problems of uncertain dynamic xi

xii

Preface

models and unknown environmental disturbances. A synchronous coordination control methodology will be reported, which can guarantee both position tracking and synchronization errors to converge to zero. Performing application studies to demonstrate the effectiveness of the proposed synchronization approach. Simulations and experiments will be performed on various multiagent systems, such as a multiaxis CNC machine, multiple robot manipulator, parallel manipulators, and multirobot in formation. Applications of synchronization control can be found in three main areas: manufacturing industry, civil applications, and system biology and human health. In the manufacturing industry, synchronization control can be widely applied to various manufacturing automation tasks supported by surface mounting technology (SMT) devices, CNC machines, and multirobot work cells. In civil applications, synchronization control can be used for search and rescue operations utilizing vehicles such as helicopters or ships, and control of traffic jams in intelligent transportation systems. Synchronization control also exhibits great potential in many applications of system biology and human health, although this is not fully addressed in this edition of the book. Examples include simulating and studying human interaction aspects, such as the spread of diseases (life science), and synchronous control of multiple biological cells in microscale or nanoscale in cell manipulation. This book will be one of the first to systematically introduce the knowledge of synchronization controls for multiagent systems. In addition to detailed theoretical approaches, the book will give numerous application examples. It can be used as a textbook for university students or a handbook for engineers to solve practical engineering problems.

Acknowledgments Several people should be mentioned for their contributions to this book. First, I would like to thank Professor James K. Mills of the University of Toronto, Canada, for his longtime coordination and support of this project. Second, I would like to thank the following research associates and students at the City University of Hong Kong and the University of Toronto for their assistance during the production of this book: Chong Liu, Can Wang, Xiaoyin Shao, Ming Chau Tong, Chi Ming Lam, and Lu Ren. My thanks also go to my colleague, Professor Gang Feng, who provided valuable insights to both project implementation and the book-writing process. I am also grateful for the help provided by the editor Li Ming Leong at Taylor & Francis Asia Pacific. Finally, I would like to thank Professor Sam Shuzhi Ge of the University of Singapore and Professor Frank Lewis of the University of Texas at Arlington, for their kind invitation and encouragement in writing this book.

xiii

About the Author Dong Sun received BSc and MSc degrees in mechatronics and biomedical engineering from Tsinghua University, China, and a PhD degree in robotics and automation from the Chinese University of Hong Kong. From 1997 to 1999, he worked with the University of Toronto as a postdoctoral researcher. After a short time working as a research and development (R&D) engineer in industry in Ontario, Canada, he joined the department of Manufacturing Engineering and Engineering Management at the City University of Hong Kong in 2000, where he is now a full professor. He also holds an adjunct faculty position at the University of Toronto, and is a licensed professional engineer in Ontario, Canada. Sun’s research interests lie in multirobot systems, robotics manipulation, motion control, and biological processing automation. Since 2000, he has obtained more than 30 million dollars in research grants as the principal investigator and led more than 20 research projects toward successful completion. He has published 200 technical articles in refereed journals and conference proceedings and held four patents. He is a fellow of the Hong Kong Institution of Engineers. He has received numerous awards, including the Best Paper award of the 2008 Institute of Electrical and Electronics Engineers (IEEE) International Conference on Robotics and Biomimetics, 2007 Outstanding Paper Award of IEEE Transactions on Fuzzy System, Gold Award of 2006 Hong Kong Electronics Fair, 2004 Applied Research Excellence Award (Certificate of Merit) of City University of Hong Kong, and 2003 Hong Kong Award for Industry. Sun has been actively involved in various professional activities. He serves as an associate editor for IEEE Transactions on Robotics, technical editor for IEEE/ ASME Transactions on Mechatronics, and associate editor for the IEEE Robotics and Automation Society Conference Board. He was chairman of the IEEE Hong Kong section joint chapter of Robotics and Automation and Control Systems in 2007 and 2008, and led the chapter to win the best chapter award of the IEEE Robotics and Automation Society in 2008. He has been a Program Committee and Organizing Committee member for many international conferences, including serving as the program chair of the 2009 IEEE International Conference on Robotics and Biomimetics, and the general chair of the 2010 IEEE International Conference on Nano/Molecular Medicine and Engineering.

xv

1

Introduction

Abstract This chapter will present a broad overview of multiagent systems in various applications and a general introduction of synchronization controls, along with basic concepts necessary to ensure understanding of the topic. In Section 1.1, the reader will have an opportunity to learn about the background of multiagent systems and their coordination as well as future promises, and a summary of numerous challenging problems encountered by multiagent coordination will be presented. In Section 1.2, the reader will be exposed to a broad range of concepts and practices of various synchronization control technologies to multiagent systems in manufacturing automation and robotics, where the cross-coupling control approach plays a promising role in synchronizing the motions of multiple agents. Section 1.3 will present an outline of this book. A short summary will be given in Section 1.4.

1.1 Background Rapid advances in sensing, computing, and communication technologies have led to the development of autonomous systems functioning individually in uncertain environments, opening new challenges to understanding and developing cooperative multiagent systems. Multiple agents are envisaged to help accomplish tasks that cannot be completed with individual ones acting alone. A higher success rate and a high level of reliability in handling those complex tasks can be achieved if multiple agents are endowed with cooperation capabilities. Some examples of multiagent systems include multirobot cooperation and multiaxis computer numerical control (CNC) machining, in which multiple agents work cooperatively to achieve a common goal. Nowadays, studies of multiagent systems and their cooperative controls have become a popular research area with dramatically increased popularity. The idea of multiagent working and cooperation was inspired by many examples in biology and life science. Figure 1.1 illustrates a few biological examples of multiagent systems in nature: ant swarming, bird flocking, and fish schooling. It is well known that multiagent systems, if working cooperatively under highly efficient organizations and principles, can behave as a whole, guaranteed with fault tolerance and robust properties. Studies of multiagent coordinative controls have attracted considerable attention in past decades. Of these studies, two important developmental stages are generally recognized. The first stage was in the 1980s and 1990s. Many studies in this stage focused on the coordination of multiple robot manipulators or CNC machining axes for industrial applications. The second stage started around the year 2000. 1

2

Synchronization and Control of Multiagent Systems

(b)

(a)

(c)

Figure 1.1  Biological examples of multiagent systems in nature: (a) ant swarming, (b) bird flocking, and (c) fish schooling.

More studies in this stage focused on large scalability of the coordinated agents (i.e., formation and consensus controls of swarm mobile agents, in which technologies regarding multiagent networks attract increasing attention). The motivation behind the first-stage studies was high demand for coordination of multiple robots in carrying out assembly tasks in both industrial and space applications. Figure 1.2 illustrates a typical example of coordinating multiple manipulators in the automobile manufacturing industry. Three major coordination schemes aiming for hybrid position and force controls have been reported in the literature. The first scheme is the master/slave control (Arimoto et al. 1987; Luh and Zheng 1987), where one robot arm is under position control, and the others are subject to compliant force control to maintain kinematic constraints. The second scheme utilizes centralized control architecture (Koivo and Unseren 1991; Tarn et al. 1986; Wen and Delgado 1992; Yoshikawa et al. 1988; Yun et al. 1997), in which robots and the grasped payload are considered as a closed kinematic chain. This method is designed based on a unified robot and payload dynamic model. The third scheme is a

Introduction

3

Figure 1.2  Automobile manufacturing with multirobot work cell.

decentralized control (Hsu 1989; Kosuge et al. 1993; Liu et al. 1996; Xi et al. 1996), in which each robot is controlled separately by its own local controller. Since the late 1990s, second-stage studies on multiagent systems with larger scalability have become more necessary than ever before to successfully execute various tasks in a dynamic and uncertain environment. A typical application is that swarms of mobile robots engaged in multirobot tasks must alter their formation according to the changing environment, and in response to unexpected changes in the task requirements. Relevant applications include exploration (Fox et al. 2000), cooperative robot reconnaissance (Balch and Arkin 1998) and manipulation (Tanner et al. 2003), formation flight control (Mesbahi and Hadaegh 2001), satellite clustering (McInnes 1995), and control of groups of unmanned air vehicles (Giulietti et al. 2000; Stilwell and Bishop 2000). A common characteristic in these applications is that all the agents form a networked system to execute tasks in a coordinated way. Figure 1.3 illustrates examples of practical applications of multiagent networked systems. Among the interests, one popular study is the formation control of swarms of mobile robots, which have attracted considerable attention in recent years. At present, the formation controls mainly include behavior-based control (Balch and Arkin 1998; Berman et al. 2003; Lawton et al. 2003; Parker 1998), virtual structure approach (Beard et al. 2001; Egerstedt and Hu 2001; Kang et al. 2000; Lewis and Tan 1997), and leader–follower strategy (Chen et al. 2010; Das et al. 2002; Deasi et al. 2001; Huang et al. 2006). The other approaches include artificial potential– based methods (Ogren et al. 2004; Sepulchre et al. 2007) and graph theory–based

4

Synchronization and Control of Multiagent Systems

(a)

(b)

(c)

Figure 1.3  Examples of practical applications of networked multiagent systems: (a) air fleet, (b) tank team, and (c) robot carriers.

methods (Belta and Kumar 2004; Fax and Murray 2004; Jadbabaie 2003; Moreau 2005; Olfati-Saber 2006; Olfati-Saber and Murray 2004; Ren and Beard 2005). It should be pointed out that much ongoing research in this area is still in the beginning stages, and the delivered results are not satisfactory enough to address the challenges presented by many practical applications. More recently, the technology of multiagent systems at the microscale and nanoscale has exhibited great potential in biological applications. In the last few years, there has been growing interest in the development of methodologies for robotics manipulation of microscaled biological cells. During this biological manipulation, people normally work with a group of cells or even an organ. If each cell is treated as a single agent, manipulation of a group of multiple cells is a cooperative work of networked agents. Figure 1.4 illustrates an example of multiple primary T cells in a three-dimensional extracellular matrix (Sowinski et al. 2008), from which the membrane nanotubes formed among them can be seen. In order to analyze the nanotubes, the cells connected with nanotubes must be separated from those without nanotubes through micromanipulation. In moving the cells connected with nanotubes, motions of the cells must be coordinated. Otherwise, nanotubes will be broken. Figure  1.5 illustrates another

5

Introduction

Figure 1.4  Multiple primary T cells and the membrane nanotubes formed among them. (From Sowinski, S., Jolly, C., Berninghausen, O., Purbhoo, M. A., Chauveau, A., Köhler, K., Oddos, S., Eissmann, P., Brodsky, F. M., Hopkins, C., Önfelt, B., Sattentau, Q., and Davis, D. M. 2008. Membrane nanotubes physically connect T cells over long distances presenting a novel route for HIV-1 transmission. Nature Cell Biology 10(2):211–219.)

example of tissue organization, culture, and analysis in microsystems (El-Ali et al. 2006). Microsystems create new opportunities for the spatial and temporal control of cell growth and stimuli. Further integration with bioanalytic microsystems results in a multifunctional platform for basic biological insights into cells and tissues, as well as for cell-based sensors with biochemical, biomedical, and environmental functions. As seen from the above, the coordination of multiagent systems has endured a rapid and dynamic growth worldwide over the last two decades. Government and private agencies in many countries have funded and supported these research activities for both civil and military perspectives. It is expected that the relevant research

Tissue organization

Cell selection

Cell imaging

Growth media

Simulation

Cell lysis Biochemical analysis

Figure 1.5  Tissue organization, culture, and analysis in microsystems. (From El-Ali, Sorger, J. P. K., and Jensen, K. F. 2006. Cells on chips. Nature 442(7101):403–411.)

6

Synchronization and Control of Multiagent Systems

will continue to grow rapidly in the next decades. Advancements of multiagent controls will likely be manifested in several aspects: (1) an increased functional reach of multiagent systems in interdisciplinary applications; (2) the maturation of various coordination technologies; (3) the enhancement of system performances such as functional quality, effectiveness, and robustness; (4) the seamless integration of controls, sensing, and intelligence and network technologies in a functional system; and (5) a lowered development cost and cost of ownership. Coordination of multiagent systems encounters numerous challenges:

1. In a multirobot assembly system, the robots are not physically connected but are required to perform a common task that must be achieved by coordinating all the robots. This challenging problem exists in many industrial applications (e.g., one robot manipulates a payload while another spreads adhesive on the edges in a robot assembly work cell, or multiple motion axes of a surface mounting technology [SMT] machine work coordinately in printed circuit board [PCB] manu­ facturing). Conventional centralized and decentralized coordination schemes such as the hybrid position and force control algorithm based on a unified multirobot model where all the robots are assumed to be physically connected, have not addressed this kind of coordination problem. The master/slave control scheme may be realized as a solution to such coordination, but the performance of the master/slave control may be adversely affected due to a communication delay among robots. Moreover, complicated setup and implementation of the hybrid position and force control architecture prevent the coordination schemes from being widely used for many commercially available robots. There exists a significant demand for easy and efficient implementation of the coordination algorithm to meet the needs of practical applications. 2. In the formation control of networked robots, all the robots maintain in a time-varying formation while carrying out a group task as a whole. The organization of the grouped robots into a specific geometric shape is generally believed to be the most efficient way to accomplish multirobot cooperation tasks. For example, robotic observers marching toward the same direction in specified formation geometry can maximize the search area; and autonomous unmanned helicopters can reduce the group energy cost if the group utilizes triangular formations in flying. A challenging problem is how to ensure the robots maintain the required formation while performing the group tasks, with rigorous proof of asymptotic stability to show that both the trajectory tracking error and the formation error of each robot converge to zero. The problem becomes extremely challenging when the required formation geometry is time varying. 3. More and more multiagent systems demand capability in handling the problems of unknown dynamic models in a dynamic environment. It is necessary to provide the multiagent system with the capability to deal with various uncertain problems of the functional agents as well as the dynamic environment that is hard to predict in advance. Vision technology will play a key role in enabling the system to possess the function of

7

Introduction

intelligence, such as task recognition, online path and motion planning, and simultaneous localization and mapping (SLAM). It is important to develop scalable and adaptive solutions for intelligent coordination of multiagent systems with uncertain dynamics in system models and environmental disturbances. Note that in a tightly coupled multiagent system, each agent should also adapt to the uncertainties of the other agents in addition to the uncertainty of its own model. This book will introduce how to utilize the synchronization control theory, a novel and interesting technology to deal with multiple agents, in addressing these challenging problems.

1.2 Synchronization Synchronization is timekeeping that requires the coordination of events to operate a system in unison. Synchronization is everywhere in our lives for different purposes of safety, precision, efficiency, entertainment, and communication. This book will emphasize how to synchronize motions of multiple agents. One of the earliest works in synchronization of multiagent motions was made by Koren (1980) in developing a cross-coupled controller. In this work, Koren took the “equal-status” viewpoint to address the contouring performance in a two-axis feed drive system. In the majority of traditional motion controls for multiagent systems, the control loop of each agent receives local feedback information from this agent only and no feedback from the other agents. Hence, disturbances in the control loop of one agent cause an error that is corrected by this loop only, while the others do not respond. Because motions of multiple agents must be coordinated to achieve required objectives, any disturbance among the agents will subsequently degrade the coordination performance. The cross coupling–based synchronization aims to enable the control loop of each agent to receive feedbacks from itself as well as the others for better coordination among the agents. Figure 1.6 illustrates the block diagram of basic synchronization architecture using the cross-coupling concept. It has been widely recognized that the cross-coupling control provides unique advantages and opportunities to solve the synchronized control problem. Earlier studies of the synchronization control paid more attention to the coordination of multiple Synchronization ……

……

Agent i–1

Agent i

Agent i+1

……

Controller i–1

Controller i

Controller i+1

……

Figure 1.6  Block diagram of cross-coupling synchronization architecture.

8

Synchronization and Control of Multiagent Systems

motion axes, partly due to its many applications to CNC machining. Kulkarni and Srinivasan (1985, 1989) investigated the cross-coupled compensator scheme for contouring control of multiaxis machine tools, and further reported their cross-coupled controls for biaxial feed drive servomechanisms in Kulkarni and Srinivasan (1990). Tomizuka et al. (1992) incorporated the cross-coupled compensator to an adaptive feedforward scheme to improve transient response and disturbance rejection, which was followed by the works of Kamano et al. (1993) and Yang and Chang (1996). These early approaches to synchronization control suffer from a limitation that the multiaxis coordination goal must be of linear relationship among motion coordinates of multiple axes. With the assumption that the desired contour was a combination of piecewise linear segments, and the resulting controller was similar to gain scheduling, Srinivasan and Fosdick (1988) proposed a multivariable analysis approach to motion coordination. Koren and Lo (1991, 1992a, 1992b) introduced a variable-gain cross-coupling controller for a general class of contours, neglecting the effect of a time-varying gain in the cross-coupling controller to the system stability and the effect of time-varying cross-coupling action to the overall system dynamics. In 1992, Chiu and Tomizuka (1992) introduced a synchronization control algorithm by taking into account the nonlinear coordination objectives (namely, nonlinear contour) in the synthesis of the control algorithm. Much of the reported research in the 1980s and early 1990s mainly dealt with the velocity synchronization problem for synchronization of two-axis motions. Few of these studies could address the position synchronization problem for multiple axes. To solve this challenging problem, Chiu and Tomizuka (1998) applied the technique of integrator backstepping in the synthesis of a time-domain control law. Sun (2003a) proposed an adaptive synchronization control algorithm by incorporating the crosscoupling approach to adaptive control architecture. In Sun (2003a), for the first time it was shown that both position and synchronization errors of multiple motion axes could converge to zero simultaneously, with the proposed adaptive synchronization control. This method was experimentally verified in a case study of CNC industrial application (Sun 2003b). The synchronization controls used for addressing the contour tracking problem include the use of implicit representation of curves to model desired contours (Chiu and Tomizuka 1998) and a receding horizon linear quadratic formulation (McNab and Tsao 1994) and optimal control (McNab and Tsao 2000). In practical applications, there exists a significant demand for not heavily using dynamics models when implementing the synchronization controller. Koren and Lo (1991) introduced a non-model-based variable-gain cross-coupling controller for a general class of contours. This research, however, has yet to examine the effect of a time-varying gain in the cross-coupling controller on system stability, and the effect of the introduction of time-varying cross-coupling controls on the overall system dynamics (Chiu and Tomizuka 2001). A control law that consists of a linear time-varying proportional-derivative (PD) error feedback and a linear time invariant trajectory feedforward compensator was proposed by Chiu and Tomizuka (2001), in which the feedforward compensator was calculated from the model dynamics. Sun et al. (2007) proposed a PD-type synchronization controller with feedback of a properly defined coupled position error for a multiaxis motion control system, and proved that such a controller could guarantee asymptotic convergence to zero of both

Introduction

9

position and synchronization errors in a setpoint position control. A setpoint tracking controller was further developed by adding feedforward control terms and a saturation function to the PD synchronization controller in Sun et al. (2007). Recently, Sun and Tong (2009) reported a method of using a synchronization approach to minimize contouring errors of a CNC machine tool, with a controller that did not require significant use of the system dynamics models. Some other non-model-based synchronization control approaches include fuzzy logic coupling control (Moore and Chen 1995) and neurocontroller (Lee and Jeon 1998), to name a few. An effort to examine the stability and robustness of the cross-coupled control system was reported in Yeh and Hsu (2003). Applications of the synchronization approach to robotics started from motion coordination of driven wheels in control of mobile robots. Borenstein and Koren (1987) and Feng et al. (1993) applied a cross-coupling controller to synchronize motions of two driven wheels of a differential mobile robot in trajectory tracking. Borenstein (1995) proposed a concept of compliant linkage, which provided compliance between the drive wheels of a vehicle, to accommodate control errors that would otherwise cause wheel slippage. Sun et al. (2005) developed an orientation control scheme by synchronizing two driven wheels of a differential mobile robot. Further, the synchronization control was used for coordinative controls of multiple robot manipulators. A coordination of two robot arms with the cross-coupling motion controller was reported in Naumovic (1999). Sun and Mills (2002) proposed an adaptive synchronization controller to coordinate motions of multiple manipulators in assembly tasks. In this work, the synchronization errors were defined as differential position errors of end-effectors between every pair of two neighboring manipulators, and both position and synchronization errors of end-effectors were proven to converge to zero simultaneously under the proposed adaptive synchronization control. Rodriguez-Angeles and Nijmeijer (2004) reported their work on mutual synchronization of robot manipulators via estimated state feedback. Chung and Slotine (2009) presented a synchronization tracking control law for cooperation of multirobot systems and oscillation synchronization in robotic manipulation and locomotion. The work also showed that complex dynamic networks could be constructed by exploiting concurrent synchronization such that multiple groups of fully synchronized elements coexisted. The importance of the synchronization control was found in control applications of parallel manipulators. Because the trajectory of the parallel manipulator end-effector is determined by motions of all actuators in the parallel manipulator, all actuated joints can be controlled in a synchronous manner to achieve high tracking accuracy in following a predetermined trajectory. Otherwise, the tracking accuracy may be degraded due to uncoordinated motions of the actuated joints. In some severe situations, for instance, when accelerations of the actuated joints are high, damage to the mechanical structure of the manipulator may occur. Chuang and Chang (2000) proposed a contour error compensator based on the strategy of a Cartesian space crosscoupled control and the transform relations between Cartesian space and joint space. Sun et al. (2006) developed a decentralized trajectory tracking controller for a P-R-R manipulator, where P and R represent prismatic and revolute joints, respectively. The controller could asymptotically stabilize both position and synchronization errors

10

Synchronization and Control of Multiagent Systems

to zero and did not require the explicit use of the system dynamic model. Su et al. (2006) integrated a saturated proportional-integral (PI) synchronous control and PD feedback for high-precision control of parallel manipulators. Synchronization technology also exhibits unique advantages for multirobot formation controls. Studies on formation controls of swarms of mobile robots have received increasing attention in recent years. Examples of formation control tasks include assignment of feasible formations, movement into a formation, maintenance of formation shape, and switching between formations. Sun and Wang (2007) proposed to use a cross coupling–based synchronization control strategy to address the problem of multirobot control in time-varying formations. The basic idea is that a team of mobile robots tracks each individual desired trajectory while synchronizing motions among the robots to keep a relative kinematics relationship in order to maintain the desired time-varying formation. More sufficient results were reported in Sun et al. (2009) with experimental studies. To summarize, over the past decades, the synchronization control has exhibited advantages in many control applications of multiagent systems with great impact. It is expected that the synchronization control will continue to play important roles in multiagent systems in the future and will show its unique features in some new areas such as infrastructure networks in system biology, where multiple biological materials need to be handled simultaneously in complex environments at microscale or nanoscale.

1.3 Outline of the Book This book will systematically introduce synchronization control theory and applications in numerous multiagent systems. The outline of the book is listed below. In Chapter 2, the concept of synchronization control strategy will be introduced. The analysis will start from identification of the synchronization constraint and control goal, and then will define synchronization errors that will be used to measure synchronicity of multiple agents in motions. Synchronization errors will be used as the control variable in the control design, which distinguishes the synchronization control from traditional nonsynchronized controllers. In Chapter 3, synchronization of multiple motion axes, which is the most basic problem in multiagent synchronization, will be investigated first. A PD-type crosscoupling controller will be developed for position synchronization of multiaxis motions in setpoint position controls. A setpoint tracking controller is further developed by adding feedforward control terms to the PD-type synchronization controller. The method is easy to implement in practice because it is model free. In Chapter 4, a new control approach to position tracking synchronization of multiple motion axes will be developed, which overcomes limitations of the PD-type synchronization control in Chapter 3. A model-based synchronization approach will be proposed by using the cross-coupling concept, by which position and synchronization errors can approach zero asymptotically in trajectory tracking. To address the model uncertainty problem, an adaptive synchronization control is further developed by incorporating cross-coupling technology into adaptive control architecture. A case study using an adaptive coupling control to

Introduction

11

operate a CNC integrated machine will be introduced as an industrial application example. In Chapter 5, an adaptive synchronization control approach will be applied to the coordination of multiple manipulators in a robot assembly work cell. The key to the success of this new coordination method is to ensure that each manipulator tracks its desired trajectory while synchronizing its motion with other manipulators’ motions to maintain the required kinematic relationship among robots. The controller, designed by incorporating the cross-coupling technology into adaptive control architecture, successfully guarantees asymptotic convergence to zero if both position tracking and synchronization errors are found simultaneously. This will be verified in both simulations and experiments on multirobot assembly tasks. In Chapter 6, the synchronization approach will be applied to multiaxis CNC machine tools to minimize contouring errors. Contouring errors are caused by all motion axes in the machining process, and they significantly affect CNC machining accuracy. With the synchronization approach, contouring errors can be posed as position synchronization errors, and a decentralized tracking controller will be designed to stabilize position and contour errors simultaneously. The proposed controller does not require significant use of the system dynamic models, which simplifies actual implementation. Experiments performed on a real CNC machine tool will demonstrate effectiveness of the synchronization control in reducing contouring errors. In Chapter 7, the synchronization approach will be applied to controls of robot parallel manipulators for performance improvement. The relative complex mecha­ nism makes the precise control of parallel manipulators more difficult. The cross-coupled synchronization control approach will provide a unique solution to coordinate motions of all the actuators of parallel manipulators and thus improve the position accuracy. A decentralized trajectory tracking controller will be introduced, which feeds back both position and synchronization errors, formed with a combination of feedforward, feedback, and saturation control. Experimental results demonstrate improved performance with the proposed synchronous control design. Finally, in Chapter 8, the synchronization approach will be used to solve a multirobot formation control problem. The formation control problem will be posed as a synchronization control problem, and based on this, the synchronization control goal and formation errors can be defined. A synchronous controller will be designed to control each robot’s translation to guarantee that both position and synchronization errors approach zero asymptotically. Simulations and experiments are performed to demonstrate the effectiveness of the proposed synchronization control approach in the formation control tasks.

1.4 Summary The intent of this chapter was to familiarize the reader with the history and current application trends of multiagent systems and their coordinative controls. Numerous challenging problems encountered by various coordination tasks are listed. It was recognized that the synchronization control could provide unique advantages and

12

Synchronization and Control of Multiagent Systems

opportunities to solve various multiagent coordination problems. The cross coupling–based synchronization control technologies have been reviewed, especially in the fields of robotics and manufacturing automation. The following is a list of major concepts, facts, and skills associated with this chapter: • Multiagent system and its coordination in both civil and military applications • Main challenging problems encountered by multiagent coordination • Synchronization concept and unique advantages for solving multiagent coordination problems • Cross-coupling strategy used in motion synchronization • Reviews of synchronization studies in multiaxis motion controls, CNC machining, coordination of multiple manipulators, high-precision controls of parallel manipulators, and formation controls of swarms of mobile robots

References Arimoto, S., Miyazaki, F., and Kawamura, S. 1987. Cooperative motion control of multiple robot arms or fingers. IEEE International Conference on Robotics and Automation, Raleigh, 1407–1412. Balch, T., and Arkin, R. 1998. Behavior-based formation control for multi-robot systems. IEEE Transactions on Robotics and Automation 14(6):926–939. Beard, R. W., Lawton, H., and Hadaegh, F. Y. 2001. A coordination architecture for spacecraft formation control. IEEE Transactions on Control System Technology 9(6):777–790. Belta, C., and Kumar, V. 2004. Optimal motion generation for groups of robots: A geometric approach. ASME Journal of Mechanical Design 126(1):63–70. Berman, S., Edan, Y., and Hamshidi, M. 2003. Navigation of decentralized autonomous automatic guided vehicles in material handling. IEEE Transactions on Robotics and Automation 19(4):743–749. Borenstein, J. 1995. Control and kinematic design of multi-degree-of-freedom mobile robots with compliant linkage. IEEE Transactions on Robotics and Automation 11(1):21–35. Borenstein, J., and Koren, Y. 1987. Motion control analysis of a mobile robot. ASME Journal of Dynamic Systems, Measurement, and Control 109(2):73–79. Chen, J., Sun, D., Yang, J., and Chen, H. 2010. Leader-follower formation control of multiple nonholonomic mobile robots incorporating a receding-horizon scheme. International Journal of Robotics Research 29(6):727–747. Chiu, T. C., and Tomizuka, M., 1992. Motion synchronization in multiple axes mechanical systems. ASME Paper 92-WA/DSC-13. Chiu, T. C., and Tomizuka, M. 1998. Coordinated position control of multi-axis mechanical systems. ASEM Journal of Dynamic Systems, Measurement, and Control 120(3):389–393. Chiu, T. C., and Tomizuka, M. 2001. Contouring control of machine tool feed drive systems: A task coordinate frame approach. IEEE Transactions on Control Systems Technology 9(1):130–139. Chuang, H. Y., and Chang, Y.-C. 2000. A novel contour error compensator for 3–PRPS platform, Journal of Robotic Systems 17(5):273–289. Chung, S. J., and Slotine, J. J. E. 2009. Cooperative robot control and concurrent synchronization of Lagrangian systems. IEEE Transactions on Robotics 25(3):686–700. Das, A. K., Fierro, R., Kumar, V. J., Ostrowski, J. P., Spletzer, J., and Taylor, C. J. 2002. A vision-based formation control framework. IEEE Transactions on Robotics and Automation 18(5):813–825.

Introduction

13

Deasi, J. P., Kumar, V. J., and Ostrowski, P. 2001. Modeling and control of formations of nonholonomic mobile robots. IEEE Transactions on Robotics and Automation 17(6):905–908. Egerstedt, M., and Hu, X. 2001. Formation constrained multiagent control. IEEE Transactions on Robotics and Automation 17(6):947–951. El-Ali, Sorger, J. P. K., and Jensen, K. F. 2006. Cells on chips. Nature 442(7101):403–411. Fax, J. A., and Murray, R. M. 2004. Information flow and cooperative control of vehicle formations. IEEE Transactions on Automatic Control 49(9):1465–1476. Feng, L., Koren, Y., and Borenstein, J. 1993. Cross–coupling motion controller for mobile robots, IEEE Control System Magazine 13(6):35–43. Fox, D., Burgard, W., Kruppa, H., and Thrun, S. 2000. A probabilistic approach to collaborative multi-robot localization. Autonomous Robots 8(3):325–344. Giulietti, F., Pollini, L., and Innocenti, M. 2000. Autonomous formation flight. IEEE Control System Magazine 20(1):34–44. Hsu, P. 1989. Control of multi-manipulator systems: trajectory tracking, load distribution, internal force control and decentralized architecture. IEEE International Conference on Robotics and Automation, Scottsdale, 1234–1239. Huang, J., Farritor, S., Qadi, M. A., and Goddard, S. 2006. Localization and follow-theleader control of a heterogeneous group of mobile robots. IEEE/ASME Transactions on Mechatronics 11(2):205–215. Jadbabaie, A., Lin, J., and Morse, A. S. 2003. Coordination of groups of mobile autonomous agents using nearest neighbor rules. IEEE Transactions on Automatic Control, 48(9): 988–1001. Kamano, T., Suzuki, T., Iuchi, N., and Tomizuka, M. 1993. Adaptive feedforward controller for synchronization of two axes positioning system. Transactions of Society of Instrument and Control Engineers (SICE), Japan, 29(7):785–791. Kang, W., Xi, N., and Sparks, A. 2000. Formation control of autonomous agents in 3D workspace. IEEE International Conference on Robotics and Automation, San Francisco, CA, 1755–1760. Koivo, A. J., and Unseren, M. A. 1991. Reduced order model and decoupled control architecture for two manipulators holding a rigid object. ASME Journal of Dynamic Systems, Measurement, and Control 113(4):646–654. Koren, Y. 1980. Cross-coupled biaxial computer controls for manufacturing systems. ASME Journal of Dynamic Systems, Measurement, and Control 102(4):265–272. Koren, Y., and Lo, C. C. 1991. Variable-gain cross-coupling controller for contouring. Annals of CIRP 40(1):371–374. Koren, Y., and Lo, C. C. 1992a. Evaluation of servo-controllers for machine tools. Proceedings of American Control Conference, Chicago, Illinois, 370–374. Koren, Y., and Lo, C. C. 1992b. Advanced controllers for feed drives. Annals of CIRP, 689–698. Kosuge, K. et al. 1993. Decentralized coordinated motion control of multirobots. RSJ Annual Conference, 705–706. Kulkarni, P., and Srinivasan, K. 1985. Cross-coupled compensators for contouring control of multi-axial machine tools, in Proceedings of the 13th North American Manufacturing Research Conference, California, 558–566. Kulkarni, P., and Srinivasan, K. 1989. Optimal contouring control of multi-axial feed drive servomechanisms. ASME Journal of Engineering for Industry 111:140–148. Kulkarni, P. K., and Srinivasan, K. 1990. Cross-coupled control of biaxial feed drive servomechanisms. ASME Journal of Dynamic Systems, Measurement, and Control 112(2):225–232. Lawton, J. R., Beard, R. W., and Young, B. J. 2003. A decentralized approach to formation maneuvers. IEEE Transactions on Robotics and Automation 19(6):933–941.

14

Synchronization and Control of Multiagent Systems

Lee, H. C., and Jeon, G. J. 1998. A neuro-controller for synchronization of two motion axes. International Journal of Intelligent Systems 13(6):571–586. Lewis, M. A., and Tan, K. H. 1997. High precision formation control of mobile robots using virtual structures. Autonomous Robot 4:387–403. Liu, Y. H., Arimoto, S., and Ogasawara, T. 1996. Decentralized cooperation control: noncommunication object handling. IEEE International Conference on Robotics and Automation, Minneapolis, 2414–2419. Luh, J. Y. S., and Zheng, Y. F. 1987. Constrained relations between two coordinated industrial robots for motion control. International Journal of Robotics Research 6(3):60–70. McInnes, C. R. 1995. Autonomous ring formation for a planar constellation of satellites. AIAA Journal of Guidance, Control and Dynamics 18(5):1215–1217. McNab, R., and Tsao, T. 1994, November. Multiaxis contour tracking: a receding time horizon linear quadratic optimal control approach. Dynamic System and Control 2. McNab, R. J., and Tsao, T. C. 2000. Receding horizon linear quadratic optimal control for multi-axis contour tracking. ASME Journal of Dynamic Systems, Measurement, and Control 122(2):375–381. Mesbahi, M., and Hadaegh, F. 2001. Formation flying of multiple spacecraft via graphs, matrix inequalities, and switching. AIAA Journal of Guidance, Control, and Dynamics 24:369–377. Moreau, L. 2005. Stability of multiagent systems with time–deper client communication links. IEEE Transactions on Automatic Control, 50(2):169–182. Moore, P. R., and Chen, C. M. 1995. Fuzzy logic coupling and synchronized control of multiple independent servo-drives, Control Engineering Practice 3(12):1697–1708. Naumovic, M. 1999. Cross-coupled motion controller for two cooperating robot arms. Proceedings of IEEE International Symposium on Industrial Electronics, Bled, Slovenia, 2:909–913. Ogren, P., Fiorelli, E., and Leonard, N. E. 2004. Cooperative control of mobile sensor networks: adaptive gradient climbing in a distributed environment. IEEE Transactions on Automatic Control 40(8):1292–1302. Olfati-Saber, R. 2006. Flocking for multiagent dynamic systems: algorithms and theory. IEEE Transactions on Automatic Control 51(3):401–420. Olfati-Saber, R., and Murray, R. M. 2004. Consensus problems in networks of agents with switching topology and time-delays. IEEE Transactions on Automatic Control 49(9):101–115. Parker, L. E. 1998. ALLIANCE: an architecture for fault tolerant multirobot cooperation. IEEE Transactions on Robotics and Automation 14(2):220–240. Ren, W., and Beard, R. W. 2005. Consensus seeking in multiagent systems under dynamically changing interaction topologies. IEEE Transactions on Automatic Control 50(5):655–661. Rodriguez-Angeles, A., and Nijmeijer, H. 2004. Mutual synchronization of robots via estimated state feedback: a cooperative approach. IEEE Transactions on Control Systems Technology 12(4):542–554. Sepulchre, R., Paley, D., and Leonard, N. E. 2007. Stabilization of planar collective motion: all-to-all communication. IEEE Transactions on Automatic Control 52(5):811–824. Sowinski, S., Jolly, C., Berninghausen, O., Purbhoo, M. A., Chauveau, A., Köhler, K., Oddos, S., Eissmann, P., Brodsky, F. M., Hopkins, C., Önfelt, B., Sattentau, Q., and Davis, D. M. 2008. Membrane nanotubes physically connect T cells over long distances presenting a novel route for HIV-1 transmission. Nature Cell Biology 10(2):211–219. Srinivasan, K., and Fosdick, R. 1988. Multivariable analysis and controller design for coordinated multi-axial motion control, in Proceedings of American Control Conference, Atlanta, GA, 95–101. Stilwell, D. J., and Bishop, B. E. 2000. Platoons of underwater vehicles. IEEE Control System Magazine 20(1):45–52.

Introduction

15

Su, Y. X., Sun, D., Ren, L., and Mills, J. K. 2006. Integration of saturated PI synchronous control and PD feedback for control of parallel manipulators. IEEE Transactions on Robotics 22(1):202–207. Sun, D. 2003a. Position synchronization of multiple motion axes with adaptive coupling control. Automatica 39(6):997–1005. Sun, D. 2003b. Adaptive coupling control of two working operations in CNC integrated machines. ASME Journal of Dynamic Systems, Measurement, and Control 125(4):662–665. Sun, D., Feng, G., Lam, C. M., and Dong, H. N. 2005. Orientation control of a differential mobile robot through wheels’ synchronization. IEEE/ASME Transactions on Mechatronics 10(3):345–351. Sun, D., Lu, R., Mills, J. K., and Wang, C. 2006. Synchronous tracking control of parallel manipulators using cross-coupling approach. International Journal of Robotics Research 25(11):1137–1147. Sun, D., and Mills, J. K. 2002. Adaptive synchronized control for coordination of multirobot assembly tasks. IEEE Transactions on Robotics and Automation 18(4):498–510. Sun, D., Shao, X., and Feng, G. 2007. A model-free cross-coupled control for position synchronization of multi-axis motions: theory and experiments. IEEE Transactions on Control Systems Technology 15(2):306–314. Sun, D., and Tong, M. C. 2009. A synchronization approach for the minimization of contouring errors of CNC machine tools. IEEE Transactions on Automation Science and Engineering 6(4):720–729. Sun, D., and Wang, C. 2007. Controlling swarms of mobile robots for switching between formations using synchronization concept. IEEE International Conference on Robotics and Automation, Roma, Italy, 2300–2305. Sun. D., Wang, C., Shang, W., and Feng, G. 2009. A synchronization approach to trajectory tracking of multiple mobile robots while maintaining time-varying formations. IEEE Transactions on Robotics 25(5):1074–1086. Tanner, H. G., Loizou, S. G., and Kyriakopoulos, K. J. 2003. Nonholonomic navigation and control of multiple mobile manipulators. IEEE Transactions on Robotics and Automation 19(1):53–64. Tarn, T. J., Bejczy, A. K., and Yun, X. 1986. Coordinated control of two arms. IEEE International Conference on Robotics and Automation, San Francisco, 1193–1202. Tomizuka, M., Hu, J. S., and Chiu, T. C. 1992. Synchronization of two motion control axes under adaptive feedforward control. ASME Journal of Dynamic Systems, Measurement, and Control 114(6):196–203. Wen, J. T., and Delgado, K. K. 1992. Motion and force control of multiple robotic manipulators. Automatica 28(4):729–743. Xi, N., Tarn, T. J., and Bejczy, A. K. 1996. Intelligent planning and control for multirobot coordination: an event-based approach. IEEE Transactions on Robotics and Automation 12(3):439–452. Yang, L. F., and Chang, W. H. 1996. Synchronization of twin-gyro precession under crosscoupled adaptive feedforward control. Journal of Guidance, Control and Dynamics 19(3):534–539. Yeh, S. S., and Hsu, P. L. 2003. Analysis and design of integrated control for multi-axis motion systems. IEEE Transactions on Control Systems Technology 11(3):375–382. Yoshikawa, T., Sugie, T., and Tanaka, M. 1988. Dynamic hybrid position/force control of robot manipulator-controller design and experiment. IEEE Transactions on Robotics and Automation 4(6):699–705. Yun, X., Sarkar, N., and Kumar, V. J. 1997. Dynamic control of 3-D rolling contacts in twoarm manipulation. IEEE Transactions on Robotics and Automation 13(3):364–376.

2

Synchronization Strategy

Abstract Synchronization is an important methodology existing in human life everywhere. This chapter will introduce the concept of synchronization and some general applications of synchronization in different aspects. The key of this chapter is application of the synchronization concept to the coordination of multiagent motions. This analysis will start from discussions on how to identify synchronization constraints and goals, and then go to definitions of synchronization errors. Synchronization errors will be used to measure the synchronicity of multiple agents in the coordinated motions, and will be used as the control variables in the synchronization controller to be developed in the next chapters. After reading this chapter, readers will understand the idea of synchronization strategy for coordination of multiagent systems, which will lay a solid foundation for the understanding of synchronous controls for various applications in the following chapters.

2.1 Concept of Synchronization Synchronization is timekeeping that requires the coordination of events to operate a system in unison. The purposes of synchronization can be summarized as follows: • Safety: Many multiagent systems require coordination among multiple agents to avoid conflict with each other, which has become a necessary condition to guarantee safety. Figure 2.1 illustrates an example that trains are in synchronization on railway timetables to avoid any possible conflict— synchronization among trains plays a key role in guaranteeing safety. • Precision: When multiple agents work together for a common goal and can only deliver a precise result when they operate in a coordinative way, synchronization will play a key role in guaranteeing precision of the process. A typical example to show precision due to synchronization is a clock. On a clock, the hour hand, minute hand, and second hand are synchronized, as seen in Figure 2.2. • Efficiency: In a similar way to precision, synchronization helps ensure efficiency of many processes. An example is that industrial gears are synchronized, as shown in Figure  2.3, where poor synchronization among gears will reduce efficiency or even lead to failure of the task. • Entertainment: Synchronization has been used for coordination between image and sound in entertainment. Figure  2.4 illustrates the example 17

18

Synchronization and Control of Multiagent Systems

Figure 2.1  Trains in synchronization on railway timetables.

that image and sound are synchronized on the film. Poor synchronization will lead to mismatch between image and sound and thus affect the show performance. • Communication: Synchronization has also been found as an important tool in communication. Figure 2.5 shows that the devices on a network are synchronized to process information.

Figure 2.2  The hour hand, minute hand, and second hand of clocks are in synchronization.

Synchronization Strategy

19

Figure 2.3  Industrial gears in synchronization.

This book will emphasize motion synchronization of multiple agents. In a multiagent coordination system, motion synchronization will ensure states of all agents to correlatively follow a common regulation while each agent has an individual motion track; hence, motion synchronization acts as the timekeeper to operate the whole system in unison. The importance of motion synchronization has been found in many applications, such as contouring control of multiple computer numerical control (CNC) machining axes, coordination of multiple robot manipulators in assembly tasks, and formation control of networked robots, to name a few. In multiaxis CNC

Figure 2.4  Image and sound are synchronized on the film.

20

Synchronization and Control of Multiagent Systems

Figure 2.5  Devices on a network are synchronized.

machining, for example, a synchronization controller can be used to control each machining axis to follow its desired trajectory by converging the position/tracking error to zero, and meanwhile, to synchronize the motion of each axis with that of others to minimize the differential position errors among axes, which can subsequently reduce contouring errors (Sun and Tong 2009). In the following, a motion synchronization strategy will be introduced, which includes identification of synchronization constraint, definition of synchronization control goal, and definition of synchronization error. Both synchronization control goal and synchronization error will be used in the design of the synchronization controller, as described in the next chapters.

2.2 Synchronization Control Goal Consider that a multiagent system with n agents is engaged in an event that requires motion coordination of all agents. Synchronization control aims to synchronize motions of all agents such that the agents maintain a certain kinematics relationship, as required by the coordination task. Regulating multiple agents to maintain the required kinematics relationship can be presented as guiding and positioning the agents along the boundary (or curve) of a multidimensional compact set. Denote S (ρ, t ) as a timevarying desired shape in such a compact set, where ρ denotes a state vector and t the time. The boundary of S (ρ, t ) is parameterized by a curve, denoted by ∂S (ρ, t ) = 0. Denote xi (t ) and xid (t ) as the generalized state coordinate and its desired value of the ith agent, respectively, where i = 1, … , n , representing an index. Note that xid (t ) must be defined to locate on the desired curve such that ∂S ( xid , t ) = 0. The state error of the ith agent is represented as

ei (t ) = xid (t ) − xi (t )

(2.1)

21

Synchronization Strategy

The control objective is converging each agent to its desired state xid (t ) such that ei → 0 as time t → ∞, and meanwhile, maintaining the agent on the desired curve such that ∂S ( xi , t ) = 0. The former is called the first task, which represents a traditional motion control task aimed to achieve the motion control goal of each individual agent. The later is called the second task, which represents a synchronization control effort aiming for coordinating multiagent motions to satisfy the required kinematic relationship among the agents. Both Task 1 and Task 2 are required to be accomplished simultaneously, with one motion controller. To fulfill the second task requirement as mentioned above, all the agents must be subject to a common constraint that has been mathematically represented as ∂S (ρ, t ) = 0. Although such a constraint may appear in different formulations for different synchronization tasks, people try to find a common character associated with this constraint, which could link all the coordination requirements together in a common expression. Without loss of generality, one can express the constraint that the coordinate xi (t ) of the ith agent must meet in the following form:

∂S ( xi , t ) = 0 :{xi (t ) = Ai (t )C (t ) + Bi (t )}

(2.2)

where Ai (t ) is a constraint matrix formulated based on the desired boundary, which depends on the characteristics of the ith agent; C (t ) is a common vector that is applicable to all the agents and does not on individual agents; and Bi (t ) is an offset of the ith agent. It is seen from (2.2) that all the agents can be linked via the common vector C (t ), which requires a linear mapping from xi (t ) to the common vector C (t ), denoted by {xi (t )}  C (t ), to be realized. To ensure a unique linear mapping {xi (t )}  C (t ) , the inverse of the constraint matrix Ai (t ) must exist. Because the constraint matrix Ai (t ) is formulated based on the desired boundary ∂S ( xi , t ) = 0, it is largely determined by the topology design for the given formation task. For simplicity, this book assumes that the desired boundary ∂S ( xi , t ) = 0 for each agent can be properly designed such that the inverse of Ai (t ) exists. The following assumption is thus given: Assumption 2.1: The desired boundary ∂S ( xi , t ) = 0 is properly designed such that the inverse of the constraint matrix Ai (t ) exists. Based on Equation (2.2) and Assumption 2.1, it follows that

Ai−1 (t )( xi (t ) − Bi (t )) = C (t )

(2.3)

Equation (2.3) gives a mathematical relationship between coordinates xi (t ) and the common vector C (t ). If considering all agents with indices i = 1, … , n , the following constraint equations can be established: A1−1 (t )( x1 (t ) − B1 (t )) = A2−1 (t )( x2 (t ) − B2 (t )) =  = An−1 (t )( x n (t ) − Bn (t )) = C (t )

(2.4)

Equation (2.4) implies that a mutual connection among all agents can be established via the common vector C (t ). Because Ai (t ) is determined by the boundary

22

Synchronization and Control of Multiagent Systems

curve ∂S ( xi , t ) = 0, Equation (2.4) also provides a mathematical model for the boundary curve on which all agents (i = 1, … , n ) locate. The constraint Equation (2.4) must also be valid to the desired coordinate xid (t ), namely, A1−1 (t ) ( x1d (t ) − B1 (t ) ) = A2−1 (t ) ( x 2d (t ) − B2 (t ) ) =  = An−1 (t ) ( x nd (t ) − Bn (t ) ) = C (t ) (2.5) Subtracting (2.4) from (2.5) and utilizing Equation (2.1) yields A1−1 (t )e1 (t ) = A2−1 (t )e2 (t ) =  = An−1 (t )en (t )



(2.6)

Furthermore, define ci (t ) ≡ Ai−1 (t ) as the coupling parameter of the ith agent. Then, rewrite Equation (2.6) as c1 (t )e1 (t ) = c2 (t )e2 (t ) =  = cn (t )en (t )



(2.7)

Equation (2.7) represents a relationship that all the position errors must be regulated to satisfy in order to ensure that multiple agents meet the coordination requirement. It is therefore used as the synchronization control goal. In the following, a few examples will be given to show how the synchronization control goal can be derived from actual case analysis. Example 2.1 Consider two manipulators holding a rigid beam in a trajectory tracking task (Sun and Mills 2002), as shown in Figure 2.6. It is a requirement that the distance between positions of the two end-effectors of manipulators must remain the same so as not to deform the beam, thus avoiding damage to the beam or manipulators. The position coordinates of the two end-effectors, denoted by x1(t ) and x2(t ), respectively, are subject to the following constraints:



x1(t ) = xo (t ) +

1 d 2

x2(t ) = xo (t ) −

1 d 2

x1(t)

Beam

x0(t)

x2(t)

d

Manipulator 1

Figure 2.6  Two robot manipulators grasping a beam.

Manipulator 2

23

Synchronization Strategy where xo (t ) denotes the position coordinate of the geometrical center of the grasped beam, and d denotes the distance between the two grasping positions on the beam. By referring to the constraint formulation as given in Equation (2.2), it follows that A1(t ) = A2(t ) = I C (t ) = xo (t ) B1(t ) =

1 d 2

B2(t ) = −



1 d 2

where I is a unit matrix. Define c1(t ) = c 2(t ) ≡ I . The following synchronization control goal is then obtained as e1(t ) = e2(t )





Example 2.2 Consider that a differential mobile robot with two driving wheels tracks a curved path (Sun and Mills 2002), as shown in Figure 2.7. Denote the radii of the desired curves followed by the two driving wheels as r1(t ) and r2(t ), respectively. The displacements of the two driving wheels (left and right ones), denoted by x1(t ) and x2(t ), are subject to the following constraints: x1(t ) x2(t ) = = β(t ) r1(t ) r2(t )



x1(t) x2(t) r2(t) Mobile robot

r1(t) β(t)

Figure 2.7  A differential mobile robot in a curved path.

24

Synchronization and Control of Multiagent Systems

where β(t ) denotes the span angle. By referring to Equation (2.2), one obtains A1(t ) = r1(t ) A2(t ) = r2(t ) C(t ) = β(t ) B1(t ) = B2(t ) = 0

Define

c1(t ) ≡ A1−1(t ) = r1−1(t ) c 2(t ) ≡ A2−1(t ) = r2−1(t )



The synchronization control goal is then obtained as follows: c1(t )e1(t ) = c 2(t )e2(t )





Example 2.3 Consider n moving agents that are required to maintain a time-varying ellipse formation (Sun et al. 2009), as shown in Figure  2.8. The position coordinate of 100

Target shape

80 60

Initial shape

40

Y (m)

20 0

Initial position of robot i

–20 –40 –60 –80 –100 –60

Final position of robot i –40

–20

0

20

X (m)

Figure 2.8  Multiple agents moving in ellipse formation.

40

60

25

Synchronization Strategy each agent, denoted by xi (t ), is required to meet the following constraint:



 cos ϕ i (t ) xi (t ) =  

  a(t )    sin ϕ i (t )   b(t )  

where a(t ) and b(t ) denote the longest and the shortest radii of the ellipse, respec)sin α i tively; ϕ i (t ) = tanh( ab((tt)cos α i ) ; and α i denotes the angle of the ith robot lying on the ellipse with respect to the center of the ellipse. By referring to Equation (2.2), one has the following results:  cos ϕ i (t ) Ai (t ) =  

  sin ϕ i (t )  

 a(t )  C (t ) =    b(t ) 

Bi (t ) = 0

Assume that the robots are not located in the longest or the shortest axes of the ellipse such that the inverse of Ai exists. Define ci (t ) ≡ Ai−1(t ) . One then could establish the synchronization control goal as follows:

c1(t )e1(t ) = c 2(t )e2(t ) =  = cn (t )en (t ) ■

The above examples show how to establish a synchronization control goal based on the synchronization constraint as developed in Equation (2.2). If the required coordination can be mathematically modeled with a boundary curve ∂S (ρ, t ) = 0 subject to the constraint in Equation (2.2), a synchronization control goal can then be established, based on which a synchronization controller can be further developed to achieve the coordination goal.

2.3 Synchronization Errors After the synchronization control goal is established, a synchronization controller will then be developed to achieve this goal. A question that is naturally generated prior to the controller development is how to measure synchronicity of multiple agents in synchronization. There is a need to find criteria that can be used to evaluate the synchronization performance. The concept of synchronization error is hereby introduced. In literature of cross-coupling control, the differential state errors among agents were controlled. In Tomizuka et al. (1992), for example, the differential velocity error between two motion axes, namely x1 − x2 , was driven to zero, where xi denotes the velocity of the ith motion axis. In Feng et al. (1993), the differential displacement error between two driving wheels of a mobile robot, defined as c L q L − c R q R , was minimized to zero,

26

Synchronization and Control of Multiagent Systems

where q L and q R denote the displacements of the left and the right driving wheel, respectively, and c L and c R are correction factors to overcome the curve displacement difference. These examples set a reference that motions of multiple agents can be synchronized through cross-coupling control of state errors among the agents. Synchronization error may be defined in a similar way to the differential state error in cross-coupling controls. Also, it must be suited to multiple agents (not only two agents). The idea of defining synchronization error can be summarized as follows:

1. Synchronization error should be defined based on the synchronization control goal in Equation (2.7). 2. The concept of the differential state error in cross-coupling controls can be utilized in the definition of synchronization error. 3. The definition of synchronization error should not be limited to the scalability of agents (i.e., it is suited to multiple agents, not just two agents). 4. The definition of synchronization error should include states of agents as well as factors that produce constraints to states in synchronization (e.g., the correction factors c L and c R in cross-coupling control by Feng et al., 1993).

Synchronization error will be defined to fulfill the above conditions. When the synchronization goal (2.7) is well achieved, the following equations hold automatically: c1 (t )e1 (t ) − c2 (t )e2 (t ) = 0 c2 (t )e2 (t ) − c3 (t )e3 (t ) = 0 



(2.8)

cn (t )en (t ) − c1 (t )e1 (t ) = 0

Equation (2.8) implies that for any agent pair with indices i and i + 1, its differential state error with the cross-coupling parameters, expressed by ci (t )ei (t ) − ci +1 (t )ei +1 (t ) , is zero when the synchronization goal is achieved. In other words, such a differential state error can be used to measure synchronicity of a multiagent in synchronization: if it is zero, the synchronization is perfect; otherwise, synchronization error exists. Therefore, synchronization error may be defined as a subset of all possible pairs of two neighboring agents in the following way: ε1 (t ) = c1 (t )e1 (t ) − c2 (t )e2 (t ) ε 2 (t ) = c2 (t )e2 (t ) − c3 (t )e3 (t ) 

ε n (t ) = cn (t )en (t ) − c1 (t )e1 (t )



(2.9)

27

Synchronization Strategy Line formation Agents 1

2

……

n

Figure 2.9  Multiple agents in a line formation.

where εi (t ) denotes the synchronization error of the ith agent, and the cross-coupling parameter ci (t ) helps construct the relationship between two agents in synchronization. Obviously, if the synchronization error εi = 0 for all i = 1,..., n , the synchronization goal (2.7) is achieved automatically. It is worth noting that the synchronization error εi (t ) as defined above is used to measure the synchronization effect, which is not equivalent to the state error ei (t ). For systems having closed-loop chain structures, employment of synchronization error provides each agent with motion information both from itself and from the others; hence, motions of all the networked agents are coordinated. Agents can be coded in terms of their physical positions on the team when performing the coordination task. A principle that may be followed is that the two physically close agents are coded as two neighbors, for easy sensorial connection. As a result, all the agents in the group are linked as a whole, either directly or indirectly. Now the control problem becomes to drive both the state error ei (t ) and the synchronization error εi (t ) to zero. The ith agent can be designed to approach its desired state xid (t ) while synchronizing its motion with those of two neighboring agents with indices i – 1 and i + 1. In this way, the control of each agent requires only the information of its two neighbors but not all the agents in the group; hence, the implementation is simplified. In some cases, the two neighborly coded agents may be spatially far and hence not sensorially connected. This usually happens when the desired shape S (ρ, t ) is not geometrically closed. Figure  2.9 illustrates an example that multiple agents are required to maintain a line formation, where the first agent (agent 1) and the last agent (agent n) are far between each other but coded as two neighbors. If the sensorial problem between these two agents cannot be solved, maintaining direct synchronization between these two agents will be very difficult and may not be necessary. (Instead, one may simply set the synchronization error between these two agents to zero.) Due to the fact that these two agents still synchronize with the other agents, all agents in the group (including these two agents) are still linked as a whole.

2.4 Summary The synchronization strategy used for coordinating motions of multiagent systems is presented in this chapter. The goal is to help readers with different backgrounds reach a common level and help them become aware of the fundamental issues and major analytical procedures in modeling a general coordination problem as a synchronization control problem.

28

Synchronization and Control of Multiagent Systems

The following summarizes the major concepts, facts, and skills associated with this chapter: • The basic concept and general applications of the synchronization technology in our lives • Use of a time-varying desired shape and its boundary to model kinematics constraint as required by multiagents in coordination • Establishment of synchronization constraint and control goal • Definition of synchronization error

References Feng, L., Koren, Y., and Borenstein, J. 1993. Cross–coupling motion controller for mobile robots. IEEE Control Systems Magazine 13(6):35–43. Sun, D., and Mills, J. K. 2002. Adaptive synchronized control for coordination of multirobot assembly tasks. IEEE Transactions on Robotics and Automation 18(4):498–510. Sun, D., and Tong, M. C. 2009. A synchronization approach for the minimization of contouring errors of CNC machine tools. IEEE Transactions on Automation Science and Engineering 6(4):720–729. Sun, D., Wang, C., Shang, W., and Feng, G. 2009. A synchronization approach to trajectory tracking of multiple mobile robots while maintaining time-varying formations. IEEE Transactions on Robotics 25(5):1074–1086. Tomizuka, M., Hu, J. S., and Chiu, T. C. 1992. Synchronization of two motion control axes under adaptive feedforward control. ASME Journal of Dynamic Systems Measurement and Control 114(6):196–203.

3

Model-Free Synchronization Control of Multiple Motion Axes

Abstract In this chapter, a model-free synchronization approach to the coordination of multiaxis motions will be introduced. Synchronization of multiple motion axes represents a simple but fundamental issue in multiagent synchronization. The analysis will start from a model-free cross-coupling setpoint control for position synchronization of multiaxis motions in moving along a straight line. A proportional derivative (PD)–type synchronized controller will be given. Then, a setpoint tracking controller will be introduced by adding feedforward control to the PD-type synchronized controller. Because the introduced methods are model free or do not heavily depend on the system models, they are easily implemented in practice. Experimental examples are given to show the effectiveness of the approach.

3.1 Problem Statement With the ever-increasing demand for greater productivity and lower cost, there is tremendous pressure to achieve rapid development with high performance in modern manufacturing. Those manufacturing devices such as surface mounting technology (SMT) machines or computer numerical control (CNC) machine tools are accordingly required to have all machine axes move simultaneously or synchronously for either reducing work-in-progress or complex part machining. Poor synchronization of relevant motion control axes results in diminished dimensional accuracy of the workpiece or in unusable products. The cross-coupling technology, as introduced by Koren (1980) and Tomizuka et al. (1992), provides advantages and opportunities to improve synchronization performance. Over the past decades, the cross-coupling concept has been widely used in multiaxis motions and other applications, such as reducing the contour error of CNC machines (Rodriguez–Angeles and Nijmeijer 2004; Yan et al. 2005; Yeh and Hsu 2002; Zhong et al. 2002). The cross-coupling concept was incorporated into adaptive control architecture to solve position synchronization of multiple axes (Sun 2003). A model-free variable-gain cross-coupling controller was introduced for a general class of contours (Koren and Lo 1991), but the effect of a time-varying gain in the cross-coupling controller to system stability and the cross-coupling effect on overall 29

30

Synchronization and Control of Multiagent Systems z 3D moving straight line d(t) Moving platform β

y

θ

x

Figure 3.1  A platform moving along a straight line.

system dynamics are yet to be examined (Chiu and Tomizuka 2001). Many other works can be found to reduce contour errors in CNC machining applications. In many motion control applications, synchronization of multiaxis motions plays a fundamental role in guaranteeing precision. Figure 3.1 illustrates an example that a platform moves along a straight line in a framework with x-, y-, and z-axes. Because the platform is driven by three actuators along the three axes, its motion precision heavily depends on the synchronization of three-axis motions. Let x1, x 2, and x3 be the position coordinates along x-, y-, and z-axes, respectively. Denote ∂S ( xi , t ) = 0 as the boundary that the coordinate xi should locate on, as introduced in Chapter 2. To guarantee the platform moves along the desired straight line precisely, position coordinates of the three axes must meet the following constraint relationship:



 ∂S ( x1 , t ) = 0 :{x1 = d (t ) cos β cos θ}   ∂S ( x2 , t ) = 0 : {x2 = d (t ) cos β sin θ}  ∂S ( x , t ) = 0 :{x = d (t )sin β} 3 3 

(3.1)

where d (t ) denotes the moving distance along the straight line, and θ and β are constant angles as shown in Figure 3.1, which are determined by the given straight line. In the following, it will be shown that the accurate motion control problem can be posed as a synchronization control problem. Referring to the result in Chapter 2, the constraints in (3.1) can be presented in the following form:

∂S ( xi , t ) = 0 :{xi (t ) = Ai (t )C (t ) + Bi (t )}

(3.2)

Model-Free Synchronization Control of Multiple Motion Axes

31

with the following definitions A1 = cos β cos θ A2 = cos β sin θ A3 = sin β B1 (t ) = B2 (t ) = B3 (t ) = 0

C (t ) = d (t )

To ensure that the linear mapping {xi (t )}  C (t ) exists uniquely, the inverse of the constraint matrix Ai must exist. This condition can be fulfilled by properly giving the desired task with angles θ and β. Then, the constraint (3.2) can be rewritten as

Ai−1xi (t ) = d (t )

(3.3)

Using (3.3), the synchronization constraint of xi (t ) in Figure 3.1 can be mathematically established as follows:

A1−1x1 (t ) = A2−1x 2 (t ) = A3−1x3 (t ) = d (t )

(3.4)

This constraint is also valid to the desired coordinate xid (t ), namely,

A1−1x1d (t ) = A2−1x 2d (t ) = A3−1x3d (t ) = d (t )

(3.5)

Define the position error of the ith axis as

ei (t ) = xid (t ) − xi (t )

(3.6)

Subtracting (3.4) from (3.5) and utilizing (3.6) yields

A1−1e1 (t ) = A2−1e2 (t ) = A3−1e3 (t )

(3.7)

Define ci ≡ Ai−1 as the coupling parameter of the ith axis. Because both θ and β are constant, Ai is constant, and so is ci . Rewrite Equation (3.7) as

c1e1 (t ) = c2e2 (t ) = c3e3 (t )

(3.8)

Equation (3.8) represents the synchronization control goal in the task of Figure 3.1. In order to guarantee the platform to track the desired straight line exactly, the synchronization goal (3.8) must be achieved.

32

Synchronization and Control of Multiagent Systems

Note that if the platform moves along a curve rather than a straight line, the angles θ and β in Figure 3.1 are not constant. Subsequently, the coupling parameter ci becomes time varying. Further, expand the above example to a more general case with n motion axes, where each axis has coupling parameter ci . Thus, a generalized synchronization control goal can be represented as c1e1 (t ) = c2e2 (t ) =  = cnen (t )



(3.9)

In case all ci are the same, the synchronization goal (3.9) can be simplified as e1 (t ) = e2 (t ) =  = en (t ) .

3.2 Position Synchronization Errors and Control Strategy Based on Chapter 2, position synchronization error represents a differential position error among multiple motion axes, which can be used for measuring synchronicity. Position synchronization error of a multiaxis can be determined based on the synchronization control goal as given in Equation (3.9). Define position synchronization error as a subset of all possible pairs of two neighboring axes in the following way: ε1 (t ) = c1e1 (t ) − c2e2 (t ) ε 2 (t ) = c2e2 (t ) − c3e3 (t ) 



(3.10)

ε n (t ) = cnen (t ) − c1e1 (t )



where εi (t ) denotes the position synchronization error of the ith axis, and ci denotes the coupling parameter that reflects the constraint relationship between two neighboring axes. Obviously, if the position synchronization error εi = 0 for all i = 1, … , n , the synchronization control goal (3.9) is achieved automatically. Rewrite (3.10) in the matrix format as



 ε1 (t )   ε 2 (t )    ε  n−1 (t )  ε n (t ) 

  c1     0 =      0   −c1  

−c2 c2

0 −c3

 

0 0

  0

 0 

 cn−1 0

 −cn cn

  e1 (t )    e2 (t )    e   n−1 (t )   en (t ) 

       

(3.11)

Model-Free Synchronization Control of Multiple Motion Axes

33

which can be further expressed as

ε(t ) = Te(t )

(3.12)

where ε(t ) = [ε1 (t ), ε 2 (t ), … , ε n (t )]T denotes a vector containing synchronization errors of all axes, e(t ) = [e1 (t ), e2 (t ), … , en (t )]T denotes the position error vector, and T denotes a transformation matrix. Note that when the moving trajectory is a straight line as shown in Figure 3.1, T is constant. The synchronization control objective is to design a synchronous controller that can guarantee asymptotic convergence to zero of both the position error e(t ) and the synchronization error ε(t ) . To achieve this goal, one needs to think about how to link both position and synchronization errors into one control variable in the synchronous controller. Introduce the concept of coupled position error that links e(t ) and ε(t ) together as expressed below:

E (t ) = e(t ) + αε(t )

(3.13)

where α is a control gain matrix that is diagonal and positive definite. Substituting (3.12) into (3.13) yields

E (t ) = ( I + αT )e(t )

(3.14)

where I is a unit matrix. Based on Equation (3.14), if the inverse of ( I + αT ) exists, E (t ) → 0 implies e(t ) → 0. Further, e(t ) → 0 implies ε(t ) → 0 from (3.12). To guarantee that the inverse of ( I + αT ) exists, the control gain α should be properly chosen. One easy solution is to choose α to be small enough such that ( I + αT ) is positive definite and has full rank. In the following sections, detailed control algorithms will be given to drive the coupled position error E (t ) to zero as time t → 0 .

3.3 Multiaxis Synchronization in Setpoint Position Control First, a relatively simple case of setpoint position control of moving a platform in a straight line by driving multiple motion axes synchronously will be considered. In the setpoint control, there is no need to consider the desired velocity during movement, and thus, e = − x , where x = [ x1 x 2  x n ]T and the desired velocity x d is set to zero. Because the angles θ and β remain the same when moving along a straight line, the transformation matrix T is constant (see Section 3.2). Then, the following equation can be derived from Equation (3.12):

ε = Te = −Tx

(3.15)

34

Synchronization and Control of Multiagent Systems

Design a PD-type synchronization control law in the following format (Sun et al. 2007): τ = K P E + K D E + ( I + αT )−1 K ee



(3.16)

where K P , K D , and K e are all positive control gains. Obviously, the controller (3.16) is model free. The third term of the right-hand side of (3.16) is introduced for system stability, which will be detailed in the following analysis. Consider the dynamics of a general mechanical system with n motion axes as follows: H ( x ) x + C ( x,x ) x = τ



(3.17)

where H ( x ) = diag{Hi ( xi )} is the inertia of the multiaxis system, which is positive definite; C ( x , x ) = diag{Ci ( xi , xi )} denotes the Coriolis and centripetal forces, and H ( x ) − 2C ( x,x ) is skew-symmetric; and τ = [τ1 τ 2  τ n ] denotes the vector of input torque. Note that both H ( x ) and C ( x,x ) satisfy the Lipschitz condition (Filippov 1988). Substituting (3.16) into the dynamics (3.17) yields the following closed-loop dynamics: H ( x ) x + C ( x,x ) x = K P E + K D E + ( I + αT )−1 K ee



(3.18)

The following theorem will show the stability of the system under the controller (3.16). Theorem 3.1 The controller (3.16) guarantees e → 0 and ε → 0 as time t → ∞ , under the following conditions:

1. The control gain α is properly chosen such that ( I + αT ) is positive and its inverse exists. 2. The gain matrix K e is chosen to satisfy λ min {K e} = C1  x  +C2  x  ≥ c1 ×  x  + c2  x  , where λ min {K e} is the minimum eigenvalue of the gain matrix K e , C1 and C2 are positive constants, and c1 and c2 are Lipschitz constants.

Proof Define a positive function as



V=

1 T 1 e ( I + αT ) H ( x )e + E T K P E 2 2

(3.19)

35

Model-Free Synchronization Control of Multiple Motion Axes

If the control gain α is chosen to be small enough such that eT ( I + αT ) H ( x )e ≥ 0, the function (3.19) is positive-definite and can be used as a Lyapunov function candidate. Differentiating V with respect to time yields



1 V = eT ( I + αT ) H ( x )e + eT ( I + αT ) H ( x )e + E T K P E 2

(3.20)

Multiplying both sides of (3.18) by E T yields

E T H ( x ) x + E T C ( x , x ) x = E T K P E + E T K D E + E T ( I + αT )−1 K ee

(3.21)

Utilizing (3.12) through (3.14), Equation (3.21) can be rewritten as follows:

−eT ( I + αT ) H ( x )e − eT ( I + αT )C ( x , x )e = E T K P E + E T K D E + eT K ee

(3.22)

Substituting (3.22) into (3.20) yields 1 V = eT ( I + αT )  H ( x ) − C ( x , x ) e − E T K D E − eT K ee 2  1   = − E T K D E − eT  K e − αT  H ( x ) − C ( x , x )  e 2  



 1 ≤ − E T K D E − eT  λ min {K e} − αT  H ( x ) − C ( x , x )   2 



(3.23)

  e

Note that in the derivation of (3.23), because ( 12 H ( x ) − C ( x , x )) is skew-symmetric, it follows that eT ( 12 H ( x ) − C ( x , x ))e = 0 . Because both H ( x ) and C ( x , x ) satisfy the Lipschitz condition (Filippov 1988), one has



1 αT  H ( x ) − C ( x,x ) ≤ c1  x + c2  x  2 

where c1 and c2 are Lipschitz constants. Then (3.23) becomes

V ≤ − E T K D E − eT (λ min {K e} − (c1  x  + c2  x ))e

(3.24)

If the control gain matrix K e is chosen to satisfy λ min {K e} = C1  x  +C2  x  ≥ c1  x  + c2  x  , V ≤ 0 . Therefore, E and e are bounded in terms of L2 norm because they appear in V . From (3.18), it is known that x is bounded, and then

36

Synchronization and Control of Multiagent Systems

from (3.15), e is bounded. From (3.14), E is further bounded. As a result, E and e are uniformly continuous; hence, based on Barbalat’s lemma, E → 0 and e → 0 as time t → ∞. This implies that x → 0 and x → 0 as time t → ∞. From the error dynamics (3.18), it is further concluded that there exists an invariant set Ψ = {( x,x ) : x = 0, E = 0, e = 0, ε = 0} . Therefore, LaSalle’s theorem directly implies asymptotic stability of the system (i.e., E → 0 , e → 0, and ε → 0 as t → ∞). Theorem 3.1 holds provided that the following condition is satisfied:



1 λ min {K e} ≥ αT  H ( x ) − C ( x,x ) 2 

or

λ min {K e} = C1  x  +C2  x  ≥ c1  x  + c2  x 

To determine the control gain K e in practical implementation, it is not necessary to know H ( x ) and C ( x,x ) exactly in selection of C1 and C2. Instead, the control gain K e (or C1 and C2 ) can be chosen large enough to meet this condition. In this way, the controller will not be model dependent. The following strategy can be used to guide the control gain tuning:



1. First, select α = 0 and K e = 0, and tune K P and K D using the trial-anderror method. At this moment, the control law is equivalent to a standard PD control without coupling. 2. Second, increase the value of α to add the synchronization control gradually. As is seen from (3.13), the value of α determines the weight of synchronization error ε in coupled position error E, and thus affects the percentage of synchronization effort in the entire control action. 3. Increase K e from zero to ensure λ min {K e} ≥ αT ( 12 H ( x ) − C ( x , x ))  . The value of K e depends on the value of α as well as the motion coordinates x and x based on the Lipschitz condition. 4. After doing the above, K P and K D may need further adjustment using the trial-and-error method.

Remark Although the control law (3.16) can be expressed in a PD error feedback formulation by submitting (3.14) into (3.16)—that is, τ = K P ( I + αT )e + [ K D ( I + αT ) + ( I + αT )−1 K e ]e

= K Pe + K De



(3.25)

37

Model-Free Synchronization Control of Multiple Motion Axes

it differs from the standard PD control in that the controller (3.16) explicitly drives both the position error e and the coupled position error E to zero simultaneously, and the standard PD control considers only convergence of the position error e. In the synchronous controller (3.16), the synchronization constraint among multiple axes, expressed in matrix T, is added to the control loop, and the control gains K P and K D corresponding to e and e are chosen by following the regulation as shown in (3.25). As a result, convergence of the synchronization error ε to zero is also guaranteed during the motion, which leads to satisfactory transient performance of synchronization.

3.4 Multiaxis Synchronization in Tracking Control In the last section, a PD-based model-free synchronization control algorithm is introduced to synchronize multiaxis motions with setpoint position control scheme. In most practical applications, however, a tracking control between the initial and final positions instead of setpoint position control is more often utilized. This is because the moving velocity is also regulated to follow the desired value in the tracking control, which results in a better motion control effect. Tracking control strategy has been widely utilized in many commercial motion control systems. In this section, extending the setpoint position control as introduced in Section 3.3, a tracking controller will be introduced to synchronize multiaxis motions. Unlike setpoint position control, the actual velocity x is required to follow the desired velocity x d during the motion with the tracking control. The desired velocity x d is assumed to be bounded up to its second time derivative. In many industrial applications, the desired velocity at the final desired position is zero (i.e., x d = 0). This case was called “setpoint tracking” by Sun et al. (2007). The synchronous tracking controller is designed by adding feedforward controls with x d and xd and a saturation function to the setpoint position control law (3.16), expressed by

τ = K H xd + K C x d + K P E + K D E + ( I + αT )−1 K ee + sign( E ) K N

(3.26)

where K H and KC are positive feedforward control gains, and K N is a parameter that meets the following condition:

K N = ∆ H || xd || + ∆ C || x d ||



(3.27)

in which ∆ H and ∆ C are scalars. To make the controller independent in the model, the control gains K H and KC are utilized instead of the modeling parameters H ( x ) and C ( x , x ) . The last term in (3.26) is a saturation function used to compensate for the effect caused by the difference between the control gains K H and KC and the real modeling parameters H ( x ) and C ( x , x ) .

38

Synchronization and Control of Multiagent Systems

Substituting (3.26) into the dynamics equation (3.17) yields the following closedloop dynamics:

H ( x )e + C ( x,x )e + K P E + K D E + ( I + αT )−1 K ee + N + sign( E ) K N = 0 (3.28)

where N is a bounded vector expressed by

N = ( K H − H ( x )) xd + ( K C − C ( x,x )) x d

(3.29)

Theorem 3.2 With the tracking controller (3.26), the system is stable under the following conditions:

1. The control gain K e satisfies the same conditions as in Theorem 3.1. 2. The scalars ∆ H and ∆ C are large enough to satisfy ∆ H ≥  K H − H ( x )  and ∆ C ≥  KC − C ( x,x )  .

Further, in setpoint tracking where the desired velocity at the final desired position is zero, the tracking controller (3.26) leads to asymptotic stability of the system (i.e., e → 0 and ε → 0 as time t → ∞ ). Proof Define the same positive-definite function as in (3.19). Multiplying both sides of (3.28) by E T yields E T H ( x )e + E T C ( x,x )e + E T K P E + E T K D E + E T ( I + αT )−1 K ee

+ E T N + || E || K N = 0



(3.30)

Substituting (3.14) into (3.28) and then the resulting equation into (3.20) yields 1 V = eT ( I + αT )  H ( x ) − C ( x , x ) e − E T K D E − eT K ee − E T N − || E T || K N 2  1   ≤ − E T K D E − eT  K e − αT  H ( x ) − C ( x , x )  e+ || E T || ⋅ || N || − || E T || K N     2  1 ≤ − E T K D E − eT  λ min {K e } − αT  H ( x ) − C ( x , x )   2 

 T  e− || E || ( K N − || N ||)

(3.31)

39

Model-Free Synchronization Control of Multiple Motion Axes

Under the same condition as in Theorem 3.1, namely, λ min {K e} = C1  x  +C2  x  ≥ c1  x  + c2  x 

it follows that

 1 eT  λ min {K e } − αT  H ( x ) − C ( x , x )   2 



  e ≥ 0

(3.32)

Under the conditions ∆ H ≥ || K H − H ( x ) || and ∆ C ≥ || KC − C ( x , x ) || and utilizing (3.29), it follows that K N − || N || = ∆ H || xd || + ∆ C || x d || − || N || ≥ || K H − H ( x ) || ⋅ || xd || + || K C − C ( x , x ) || ⋅ || x d || − || N ||

(3.33)

≥ ( K H − H ( x ) ) xd + ( KC − C ( x , x ) ) x d − || N ||

=0 Substituting (3.32) and (3.33) into (3.31) yields



 1 V ≤ − E T K D E − eT  λ min {K e } − αT  H ( x ) − C ( x , x ) 2  

  e ≤ 0

(3.34)

It is then concluded that E → 0 and e → 0 as time t → ∞, which implies stability of the system. Substituting E = 0 and e = 0 into the error dynamics (3.28) yields

KPE + N = 0

(3.35)

Because x d = 0 at the final desired position, N = 0 from (3.29). One then has E = 0 from (3.35), and further, e = 0 and ε = 0 based on (3.14) and (3.12). Therefore, there exists an invariant set Ψ = {( x,x ) : x = 0, E = 0, e = 0, ε = 0}, and LaSalle’s theorem directly implies asymptotic stability of the system (i.e., E → 0, e → 0 , and ε → 0 as t → ∞ at the final desired position). Theorem 3.2 holds under the conditions that the control gains K e and K N are properly chosen. The selection of K e is based on the Lipschitz condition, in a similar manner as in Theorem 3.1. The selection of K N (or ∆ H and ∆ C ) is based on the difference between the feedforward control gains (K H and KC ) and the real

40

Synchronization and Control of Multiagent Systems

modeling parameters (H ( x ) and C ( x , x ) ). The gain tuning can be summarized in three steps. First, tune K P and K D for PD-type gross motion control. Second, tune α and K e for synchronization control, where α is for adding synchronous control to the control loop, and K e is for compensating for the effect due to synchronization control such that the system stability would not be affected. Third, tune K N (or ∆ H and ∆ C ). In the controller (3.26), the sign function sign(⋅) is used to compensate for the nonlinear effect caused by the difference between the estimated and the real dynamics modeling parameters. From the theoretical viewpoint, Filippov’s (1988) inclusions may be used to properly address the issue in using the sign(⋅) function. This approach, however, is not included here. In addition, it is noted that the function sign(⋅) may cause charting velocities. To solve this problem, the function tanh(⋅) instead of sign(⋅) may be used in practical implementation of the controller.

3.5 Experiments To verify the proposed model-free synchronization controllers, experiments were performed on a laboratory-scale homemade printed circuit board (PCB) drilling machine prototype, as shown in Figure  3.2. The system employs three linear axes and one rotary axis. Each axis is driven by a DC brushless motor on which an encoder with 10,000 counts per revolution is mounted (Sun and Milk 2002). A multiaxis motion control and driving integrated system with a model number DCT0040, supplied by DynaCity Technology (HK) Ltd., is used to control and

Figure 3.2  A multiaxis printed circuit board (PCB) drilling machine setup for experiments.

41

Model-Free Synchronization Control of Multiple Motion Axes

amplify DC brushless motors, as shown in Figure 3.2. The control application code is written in C and ASM language running in the DSP. A window utility program developed by Visual C++ enables the user to quickly set up, configure, and troubleshoot controllers. The sampling frequencies of the position and current control loops are 4 kHz and 20 kHz, respectively. The experimental data can be real time obtained from the motion controller with a sampling frequency of 1 kHz. In the experiments, the moving platform was required to move along a threedimensional straight line by driving x-, y-, and z-axes synchronously, with the same moving displacement in three motion axes. By referring to (3.1), the position coordinates in the three axes were designed to meet the following kinematics constraints:



  ∂S ( x , t ) = 0 :  x = d (t ) cos  tan −1 1  cos π    1   1  2 4      1  π    sin   ∂S( x 2 , t ) = 0 :  x 2 = d (t ) cos  tan −1 2 4      1    ∂S ( x3 , t ) = 0 :  x3 = d (t )sin  tan −1   2    

(3.36)

where 1  π  A1 = cos  tan −1  cos 2 4  1  π  A2 = cos  tan −1  sin 2 4 



(3.37)

1   A3 = sin  tan −1  2 

Because A1 = A2 = A3 in (3.37), the following synchronization goal was used in the experiments:

e1 (t ) = e2 (t ) =  = en (t )

which implied that the coupling parameters could be chosen as c1 = c2 = c3 = 1.

42

Synchronization and Control of Multiagent Systems

In the first experiment, the setpoint position control law (3.16) was used in driving three motors to rotate one revolution (namely, 6.28 rad) respectively in a synchronous manner. Because the pitch of ball screw for each axis is the same, the linear moving distances were the same in the three axes. The actual position feedback came from the motor encoders. The control gains were chosen as K p = diag{2069}( A / rad ) K D = diag{1114}( A ⋅ ms / rad ) α = diag{0.5}

C1 = C2 = diag{955}( A ⋅ ms / rad )

where A stands for ampere, rad for radian, and ms for microsecond. These control gains were determined by trial-and-error method. Figure  3.3 illustrates position time responses of three axes. Figure  3.4 illustrates position and synchronization errors. It is seen that all position errors display good convergence to zero, with satisfied position synchronization performance. Figure 3.5 illustrates results of the standard PD feedback control without synchronization, for comparison. Although position errors converge to zero eventually under the standard PD control, the transient synchronization performance was worse when compared to that in Figure 3.4. In the second experiment, synchronous trajectory tracking controller (3.26) was used in controlling the three motors to rotate 6.28(rad ), respectively, in a synchronous manner. Unlike the first case of setpoint control, here a desired moving trajectory was designed, which was specified as a cubic polynomial. The maximum value of velocity, acceleration, and jerk were 120.14(rad / second ) , 1201.4(rad / second 2 ) , and 12014.0(rad / second 3 ) , respectively. The control gains for the trajectory tracking control were K p = diag{1910, 2706, 2069, 2229}( A / rad ) K D = diag{955}( A ⋅ ms / rad ) α = diag{0.5} C1 = C2 = diag{955}( A ⋅ ms / rad ) K H = diag{318}( A ⋅ ms 2 / rad ) KC = diag{318}( A ⋅ ms / rad )

∆ H = ∆ C = diag{159}( A)

43

Model-Free Synchronization Control of Multiple Motion Axes Axis One Desired position Actual position

Position Errors (rad)

8 6 4 2 0

0

50

100 Time (ms)

150

200

Axis Two Desired position Actual position

Position (rad)

8 6 4 2 0

0

50

100 Time (ms)

150

200

Axis Three Desired position Actual position

Position (rad)

8 6 4 2 0

0

50

100 Time (ms)

150

Figure 3.3  Position responses of the setpoint synchronous control.

200

44

Synchronization and Control of Multiagent Systems 7

Axis 1 Axis 2 Axis 3

Position Errors (rad)

6 5 4 3 2 1 0 –1

0

50

100 Time (ms)

150

Position Synchronization Errors (rad)

0.6

200

Axis 1 Axis 2 Axis 3

0.4 0.2 0 –0.2 –0.4 –0.6 –0.8

0

50

100 Time (ms)

150

200

Figure 3.4  Errors of the setpoint synchronous control.

Figure  3.6 illustrates the time responses of three axes in position tracking. Figure 3.7 illustrates the position and synchronization errors. For comparison purposes, the system was also controlled by a PD-type trajectory control and the results are shown in Figure 3.8. Obviously, the proposed synchronous tracking controller exhibits better synchronization performance than the standard PD control in trajectory tracking. It is noted that the coupling parameter α plays an important role in the synchronization control. Usually, the synchronization error decreases as α increases, but too large a value of α may degrade the motion performance. Figure  3.9 and Figure 3.10 illustrate the position and synchronization errors with different α, where

45

Model-Free Synchronization Control of Multiple Motion Axes 7

Axis 1 Axis 2 Axis 3

Position Errors (rad)

6 5 4 3 2 1 0 –1

0

50

100 Time (ms)

150

Position Synchronization Errors (rad)

8

200

Axis 1 Axis 2 Axis 3

6 4 2 0 –2 –4 –6

0

50

100 Time (ms)

150

200

Figure 3.5  Errors of a standard proportional derivative (PD)–type setpoint position control.

α = diag{0.1} in Figure 3.9 and α = diag{1} in Figure 3.10. Compared to Figure 3.7 where α = diag{0.5} , the use of a smaller coupling parameter α results in higher synchronization errors. But when the value of α is too high (i.e., α = diag{1} in Figure 3.10), both position and synchronization errors increase. So a moderate value of α (such as α = diag{0.5} ) could lead to better motion control results as shown in Figure 3.7.

46

Synchronization and Control of Multiagent Systems Axis One

7

Desired position Actual position

Position (rad)

6 5 4 3 2 1 0

0

100

150 Time (ms)

200

250

300

200

250

300

200

250

300

Axis Two

7

Desired position Actual position

6 Position (rad)

50

5 4 3 2 1 0

0

100

150 Time (ms) Axis Three

7

Desired position Actual position

6 Position (rad)

50

5 4 3 2 1 0

0

50

100

150 Time (ms)

Figure 3.6  Position responses of the synchronous tracking control.

47

Model-Free Synchronization Control of Multiple Motion Axes 0.01

Position Errors (rad)

0 –0.01 –0.02 –0.03 –0.04

Axis 1 Axis 2 Axis 3

–0.05 –0.06

0

100

200

300

400 500 Time (ms)

600

700

800

Position Synchronization Errors (rad)

0.01 0.005 0 –0.005 Axis 1 Axis 2 Axis 3

–0.01 –0.015

0

100

200

300

400 500 Time (ms)

600

700

800

Figure 3.7  Errors of the synchronous tracking control.

It was further tested in experiments how the control law (3.26) responded to unexpected disturbances in the motion, by adding a force disturbance to one axis (i.e., axis 3) during the time period between 90 ms and 130 ms. The force disturbance was simulated by adding a positive current offset with a magnitude of 1 A to the control input. (The maximum current input during the motion is about 4 A.) Figure 3.11 shows that there is no obvious difference in the position synchronization when compared to Figure 3.7, which indicates that the added force disturbance does not greatly affect the motion synchronization under the synchronous control.

48

Synchronization and Control of Multiagent Systems 0.04

Axis 1 Axis 2 Axis 3

Position Errors (rad)

0.03 0.02 0.01 0 –0.01 –0.02 –0.03 –0.04 –0.05

0

100

200

300

400 500 Time (ms)

Position Synchronization Errors (rad)

0.08

600

700

800

Axis 1 Axis 2 Axis 3

0.06 0.04 0.02 0 –0.02 –0.04 –0.06 –0.08

0

100

200

300

400 500 Time (ms)

600

700

800

Figure 3.8  Errors of a proportional derivative (PD)–type trajectory tracking control.

Similar results could be obtained when the disturbance was added to the other axes. Under the standard PD control without synchronization, however, adding a force disturbance degrades the synchronization performance significantly, which can be seen in Figure 3.12.

3.6 Summary This chapter presents a model-free cross-coupled controller for position synchronization of multiaxis motions. A PD-type cross-coupled controller is developed to asymptotically stabilize multiaxis motions while synchronizing motions of all axes

49

Model-Free Synchronization Control of Multiple Motion Axes 0.01

Position Errors (rad)

0 –0.01 –0.02 –0.03 –0.04

Axis 1 Axis 2 Axis 3

–0.05 –0.06

0

100

200

300

400 500 Time (ms)

600

700

800

Position Synchronization Errors (rad)

0.02 0.015 0.01 0.005 0 –0.005

Axis 1 Axis 2 Axis 3

–0.01 –0.015

0

100

200

300

400 500 Time (ms)

600

700

800

Figure 3.9  Errors of the synchronous tracking control (α = ding{0.1}).

in the setpoint position control. A feedforward control and a saturation function are further added to the PD-type controller to solve the position tracking control problem. The major advantage of the reported synchronization control method lies in simple implementation, because the method does not heavily depend on system models, and the control gains are time invariant. Experimental results verify effectiveness of the reported approaches. The model-free synchronization controller introduced in this chapter has the following limitations:

50

Synchronization and Control of Multiagent Systems 0.04

Axis 1 Axis 2 Axis 3

Position Errors (rad)

0.02 0 –0.02 –0.04 –0.06 –0.08

0

100

200

300

400 500 Time (ms)

Position Synchronization Errors (rad)

0.08

600

700

800

Axis 1 Axis 2 Axis 3

0.06 0.04 0.02 0 –0.02 –0.04 –0.06 –0.08

0

100

200

300

400 500 Time (ms)

600

700

800

Figure 3.10  Errors of the synchronous tracking control (α = diag{1}).





1. It leads to asymptotical stability of the system in trajectory tracking only when it is applied to the motion task where the final desired velocity is zero (i.e., “setpoint tracking”). For a general trajectory tracking without zero velocity at the end, it is hard to prove asymptotic stability under this control method. 2. It is a request that the coupling parameter ci must be constant such that the synchronization transformation matrix T is constant. In many practical applications, however, the coupling parameter ci may be time varying.

51

Model-Free Synchronization Control of Multiple Motion Axes 0.01

Position Errors (rad)

0 –0.01 –0.02 –0.03 –0.04

Axis 1 Axis 2 Axis 3

–0.05 –0.06

0

100

200

300

400 500 Time (ms)

600

700

800

Position Synchronization Errors (rad)

0.01 0.005 0 –0.005 Axis 1 Axis 2 Axis 3

–0.01 –0.015

0

100

200

300

400 500 Time (ms)

600

700

800

Figure 3.11  Errors of the synchronous tracking control with disturbance.



3. Choosing the control gain matrix α must follow conditions to ensure that ( I + αT ) is positive and its inverse exists, which brings difficulty to gain tuning in real applications.

Due to the above limitations, the PD-based synchronization control introduced in this chapter needs to be further improved. Nevertheless, the PD-based synchronization control is a valuable methodology that can be applicable to many practical applications. The most significant advantage is in simplicity of use. In the following chapters, some other synchronization control algorithms will be introduced, which can overcome limitations as mentioned above.

52

Synchronization and Control of Multiagent Systems 0.04

Axis 1 Axis 2 Axis 3

0.03

Position Errors (rad)

0.02 0.01 0 –0.01 –0.02 –0.03 –0.04 –0.05

0

100

200

300

400 500 Time (ms)

Position Synchronization Errors (rad)

0.15

600

700

800

Axis 1 Axis 2 Axis 3

0.1 0.05 0 –0.05 –0.1

0

100

200

300

400 500 Time (ms)

600

700

800

Figure 3.12  Errors of the proportional derivative (PD)-type trajectory control with disturbance.

References Chiu, T. C., and Tomizuka, M. 2001. Contouring control of machine tool feed drive systems: a task coordinate frame approach. IEEE Transactions on Control Systems Technology 9(1):130–139. Filippov, A. F. 1988. Differential Equations with Discontinuous Righthand Sides. Dordrecht, the Netherlands: Kluwer. Koren, Y. 1980. Cross-coupled biaxial computer controls for manufacturing systems. ASME Journal of Dynamic Systems, Measurement, and Control 102(4):265–272. Koren, Y., and Lo, C. C. 1991. Variable-gain cross-coupling controller for contouring. Annals of CIRP 40(1):371–374.

Model-Free Synchronization Control of Multiple Motion Axes

53

Rodriguez-Angeles, A., and Nijmeijer, H. 2004. Mutual synchronization of robots via estimated state feedback: a cooperative approach. IEEE Transactions on Control Systems Technology 12(4):542–554. Shih, Y. T., Chen, C. S., and Lee, A. C. 2002. A novel cross-coupling control design for bi-axis motion. International Journal of Machine Tools and Manufacture 42(14):1539–1548. Sun, D. 2003a. Position synchronization of multiple motion axes with adaptive coupling control. Automatica 39(6):997–1005. Sun, D., and Mills, J. K. 2002. Torque and current control of high-speed motion control systems with sinusocial-PMAC motors. IEEE/ASME Transactions on Mechatronics, 7(3):369–377. Sun, D., Shao, X., and Feng, G., 2007. A model-free cross-coupled control for position synchronization of multiaxis motions: theory and experiments. IEEE Transactions on Control Systems Technology 15(2):306–314. Tomizuka, M., Hu, J. S., and Chiu, T. C. 1992. Synchronization of two motion control axes under adaptive feedforward control. ASME Journal of Dynamic Systems, Measurement, and Control 114(6):196–203. Yan, M. T., Lee, M. H., and Yen, P. L. 2005. Theory and application of a combined self-tuning adaptive control and cross coupling control in a retrofit milling machine. Mechatronics 15(2):193–211. Yeh, S. S., and Hsu, P. L. 2002. Estimation of the contouring error vector for the cross-coupled control design. IEEE/ASME Transactions on Mechatronics 7(1):44–51. Zhong, Q., Shi, Y., Mo, J., and Huang, S. 2002. A linear cross coupled control system for high speed machining. The International Journal of Advanced Manufacturing Technology 19(8):558–563.

4

Synchronized Control of Multiaxis Systems in Trajectory Tracking

Abstract In the last chapter, a model-free proportional derivative (PD)–typed synchronization controller was introduced to synchronize motions of multiple motion axes. Although it is relatively easy to implement, the PD-type control must fulfill numerous conditions in order to asymptotically stabilize the system. These conditions regard to motion task selection (e.g., it must be setpoint motion or trajectory tracking with zero velocity at the end), synchronization constraint (e.g., the coupling parameters must be constant), and specific requirements for control gain tuning. In this chapter, a new control approach aiming to address the problem of position tracking synchronization of multiple motion axes will be introduced. Using the cross-coupling concept, a model-based synchronization approach will be presented first, by which both position and synchronization errors can approach zero asymptotically. To solve the model uncertainty problem, an adaptive synchronization control is further developed by incorporating the cross-coupling technology into adaptive control architecture. Both the adaptive controller and parameter estimator employ coupling control by feeding back position errors and synchronization errors. It is proven in theory that this adaptive synchronization control algorithm can guarantee asymptotic convergence to zero of both position and synchronization errors. A case study on applying adaptive synchronization control to a computer numerical control (CNC) integrated machine in the manufacturing industry will be reported to demonstrate effectiveness of the proposed approach. The approach reported in this chapter will lay a solid base in applying the synchronization control method to many other multiagent applications as reported in the next chapters.

4.1 Synchronization Strategy of Multiagent Motions Consider a motion control system with n axes. The dynamics of the ith axis is described by

Hi ( xi ) xi (t ) + Ci ( xi , xi ) xi (t ) = τi (t )

(4.1) 55

56

Synchronization and Control of Multiagent Systems

where xi (t ) denotes the coordinate of the motion of the ith axis, Hi ( xi ) and Ci ( xi , xi ) represent the inertial and nonlinear effects, and τi (t ) denotes the input torque. Define the position tracking error of the ith axis as

ei (t ) = xid (t ) − xi (t )

(4.2)

where xid (t ) denotes the desired position of the ith axis. As analyzed in Chapters 2 and 3, the coordinate of the motion of each axis in synchronization is subject to the constraint as follows:

∂S ( xi , t ) = 0 :{xi (t ) = Ai (t )C (t ) + Bi (t )}

(4.3)

where Ai (t ) is a constraint matrix that depends on characteristics of the ith axis, Bi (t ) is an offset, and C (t ) is a common vector that applies to coordinates of all axes. Rewrite the constraint (4.3) as

Ai−1 (t )( xi (t ) − Bi (t ) xi (t ) = C (t )

(4.4)

Note that Ai−1 (t ) must exist such that a linear mapping from xi (t ) to C (t ) is unique. Then, following a similar approach to that in Chapter 3, a synchronization control goal can be obtained as follows:

c1 (t )e1 (t ) = c2 (t )e2 (t ) =  = cn (t )en (t )

(4.5)

where ci (t ) ≡ Ai−1 (t ), representing the coupling parameter. In Chapter 3, it is assumed that ci (t ) must be a constant such that a synchronization transformation matrix T, which is utilized in the PD-type synchronization control, is time invariant. This chapter will introduce a new methodology that does not rely on this assumption. As a result, the constraint in selection of ci (t ) is removed, which makes the synchronization applied to more tasks with time-varying ci (t ). The synchronization control goal (4.5) gives the additional requirement of regulating the relationship among multiaxis motions, besides driving the position error ei (t ) → 0 as time t → ∞. The goal of maintaining a kinematic relationship among n axes, as given by (4.5), can be divided into n subgoals as follows: c1 (t )e1 (t ) = c2 (t )e2 (t ) c2 (t )e2 (t ) = c3 (t )e3 (t )

(4.6)

 cn (t )en (t ) = c1 (t )e1 (t )

Referring to Chapter 2, define synchronization errors of a subset of all the possible pairs of two axes from the total of n agents in the following way: ε1 (t ) = c1 (t )e1 (t ) − c2 (t )e2 (t ) ε 2 (t ) = c2 (t )e2 (t ) − c3 (t )e3 (t ) 

ε n (t ) = cn (t )en (t ) − c1 (t )e1 (t )



(4.7)

Synchronized Control of Multiaxis Systems in Trajectory Tracking

57

Obviously, if εi (t ) = 0 for all indices i = 1, … , n , the synchronization goal of multiaxis motions in (4.5) can be achieved automatically. Now the control objective is defined to design the control input τi (t ) in (4.1) to cause the position errors ei (t ) and the synchronization errors εi (t ) to converge to zero. Unlike traditional nonsynchronized control that concerns convergence of position tracking errors ei (t ) to zero only, here an additional concern is how these position errors converge to zero such that the synchronization goal (4.5) can be achieved. Because all the synchronization errors are related with each other under synchronization control, the control of each axis must consider motion responses of the other axes. However, including motion feedbacks of all axes in the controller formulation of each axis may lead to intensive online computation, especially when the number of axes n is large. Hence, for feasible implementation, it is demanded that a control strategy be proposed for each axis, which is able to synchronize multiaxis motions with the least number of axes. For this purpose, the following synchronization strategy is proposed.

4.1.1 Synchronization Strategy The control input of each axis is designed to stabilize the position tracking of this axis while synchronizing motions between this axis and the nearby two axes with an adjacent sequence number. Specifically, the control torque τi (t ) for the ith-axis is to control ei (t ) → 0 and at the same time, to synchronize motions of the (i – 1)th-axis, the ith-axis, and the (i + 1)th-axis so that synchronization errors εi −1 (t ) and εi (t ) converge to zero. Under the above strategy, motions of all axes are synchronized. The control of each axis additionally considers the coordination with its two neighboring axes only, but not all other axes, for synchronization. This significantly simplifies the implementation, especially when the number of axes is large.

4.2 Model-Based Cross-Coupling Synchronization Control This section will present a synchronization control algorithm utilizing the crosscoupling approach. Because the method uses the information of dynamic models of the controlled axes, it is a model-based control. To make the position and synchronization errors ei and εi both converge to zero, a coupled position error Ei is defined, which links the two errors together in the following equation:



Ei = ciei + β

t

∫ (ε − ε 0

i

i −1

) dζ

(4.8)

where β is a positive gain matrix, and ς is a time variable. As is seen from (4.8) and (4.7), this coupled position error for the ith axis feeds back the information of the two neighboring axes (i – 1) and (i + 1). Note that when i = 1, one denotes (i – 1) as n.

58

Synchronization and Control of Multiagent Systems

Differentiating Ei (t ) with respect to time yields E i = ciei + ciei + β(εi − εi −1 )



(4.9)

To achieve Ei → 0 and E i → 0 , a command vector ui is introduced as follows: ui = ci xid + ciei + β(εi − εi −1 ) + ΛEi



(4.10)

where Λ is a positive gain matrix. Definition of ui in (4.10) leads to the following vector that combines position and velocity errors: ri = ui − ci xi = ciei + ciei + β(ε i − εi −1 ) + ΛEi = E i + ΛEi



(4.11)

A controller is needed to drive ri to converge to zero such that the coupled position errors Ei and its time derivative E i tend to zero. For easy implementation, the controller is ideally designed in a decentralized architecture, considering the synchronization between the motion of each axis and that of two neighboring axes only. A synchronous torque control input is designed as follows (Sun et al. 2009): τi = Hi ( xi )ci−1 (ui − ci xi ) + Ci ( xi , xi )ci−1ui + K rici−1ri + ci K ε (εi − εi −1 )



(4.12)

where K ri and K ε are positive feedback control gains. The last term in (4.12) is used to compensate for the effect due to the addition of the cross-coupling control to the overall system dynamics. The necessity of introducing this term will be shown in the stability analysis. Substituting (4.12) into the system dynamics (4.1) yields the following closed-loop dynamics for each axis: Hi ( xi )ci−1ri + Ci ( xi , xi )ci−1ri + K rici−1ri + ci K ε (εi − ε i −1 ) = 0



(4.13)



Theorem 4.1 The proposed synchronous tracking controller (4.12) leads to asymptotic convergence of both the position tracking and synchronization errors to zero, namely, ei (t ) → 0 and εi (t ) → 0 as time t → ∞, under the conditions that the control gain K ri is large enough to satisfy K ri ≥ || Hi ( xi ) dtd (ci−1 )ci || . Proof Define a Lyapunov function candidate as n

V (t ) =

∑ i =1

 1 H ( x ) c −1r 2 + 1 K (ε )2  + i i ( i i) ε i  2  2 

n

∑ i =1

 1 ΛβK ε   2

 (εi − εi −1 ) d ζ  0



t

2

(4.14)

59

Synchronized Control of Multiaxis Systems in Trajectory Tracking

Differentiating V (t ) with respect to time yields V (t ) =

n

∑ (c

r ) Hi ( xi ) ( ci−1ri ) + ( ci−1ri ) Hi ( xi )

−1 i i

i =1

n





d −1 1 2 ci ) ri + H i ( xi ) ( ci−1ri ) + εi K ε ε i  ( dt 2 

t

+ (εi − εi −1 )ΛβK ε (εi − εi −1 ) d ζ

(4.15)

0

i =1

Multiplying both sides of (4.13) by (ci−1ri ) yields

(ci−1 (t )ri ) Hi ( xi ) (ci−1ri ) + Ci ( xi , xi ) (ci−1ri )2 + K ri (ci−1ri )2 + ri K ε (εi − εi−1 ) = 0

(4.16)

Substituting (4.16) into (4.15) yields V (t ) = −

n

∑ i =1

d −1  −1 2    K ri − Hi ( xi ) dt ( ci ) ci  ( ci ri )  −  

n

+



n

εi K ε ε i +

∑ (ε − ε i

i −1

) ΛβK ε

i =1

i =1

n

∑ [ r K (ε − ε

∫ (ε − ε i

i

i −1

)] (4.17)

t

0

ε

i

i =1

i −1

) dζ

where the property that ( 12 H i ( xi ) − Ci ( xi , xi ))(ci−1ri )2 = 0 is utilized in deriving (4.17). Now, analyze the term ∑in=1 ri K ε (εi − εi −1 ) in (4.17). It follows directly that n

∑ r K (ε − ε i

ε

i

i −1

) = r1 K ε ε1 − r1 K ε ε n + r2 K ε ε 2 − r2 K ε ε1 +  + rn K ε ε n − rn K ε ε n−1

i =1

= r1 K ε ε1 − r2 K ε ε1 + r2 K ε ε 2 − r3 K ε ε 2 +  + rn K ε ε n − r1 K ε ε n n

=

∑ (r − r i

i +1

)K ε εi

(4.18)

i =1

Utilizing (4.11) and (4.7) through (4.9), one obtains ri − ri +1 = E i + ΛEi − E i +1 − ΛEi +1 = ciei + ciei − ci +1ei +1 − ci +1ei +1 + β(2εi − ε i −1 − εi +1 ) + Λ(ciei − ci +1ei +1 ) + Λβ



t

∫ (2ε − ε 0

i

i −1

= ε i + β(2ε i − εi −1 − ε i +1 ) + Λεi + Λβ



− ε i +1 ) d ς t

∫ (2ε − ε 0

i

i −1

− ε i +1 ) d ς

(4.19)

60

Synchronization and Control of Multiagent Systems

Then, submitting (4.19) into (4.18) yields

∑ r K (ε − ε i

ε

i

n

n

n

i −1

)=

i =1



ε i K ε εi +

i =1

n

∑ ε K ε + ∑ βK (ε − ε ε i

i

i =1

+

∑ (ε − ε i

i +1

i

i +1

)2

i =1

n



ε

) ΛβK ε

i =1



t

∫ (ε − ε 0

i

i −1

(4.20)

) dζ

In the derivation of (4.20), the following result is utilized: n

n





(2εi − εi −1 − ε i +1 ) ε i =

i =1

∑ (ε − ε i

i +1

)2

i =1

Finally, substituting (4.20) into (4.17) and utilizing the condition of Theorem 4.1, one obtains V (t ) ≤ −

n

∑  K

ri

− H i ( xi )

i =1 n



n

∑ ΛβK ε − ∑ βK (ε − ε 2 ε i

i =1



d −1  −1 2 (ci ) ci  (ci ri ) dt

ε

i

i +1

)2



(4.21)

i =1

≤0

It is thus concluded that the defined Lyapunov function (4.14) has a negative semidefinite time derivative. From (4.21), both ri and εi are bounded. From (4.13), ri is bounded. From (4.19), ε i is bounded. Therefore, ri and εi are uniformly continuous because ri and ε i are bounded. Then, from Barbalat’s lemma, ri → 0 and εi → 0 as time t → ∞. The synchronization goal (4.5) is achieved. Now we prove ei = 0 when ri = 0 and εi = 0. From (4.11), ri = 0 implies Ei = 0. Combining all equations in (4.8) with indices 1 to n, one obtains n

c1e1 + c2e2 +  + cnen =

∑E = 0 i

(4.22)

i =1

Because εi = 0, the synchronization goal (4.5) is achieved. Substituting (4.5) into (4.22) yields

c1e1 = c2e2 =  = cnen = 0 Because the inverse of ci exists, ei = 0. Therefore, Theorem 4.1 is proven.

61

Synchronized Control of Multiaxis Systems in Trajectory Tracking

It is worth noting that the control parameters β in (4.8) and K ε in (4.12) play important roles in the control of the synchronization error. As seen in (4.8), the value of β determines the weight of the synchronization error εi in the coupled position error Ei , and thus affects the synchronization effort in the whole control action. As β increases, the synchronization is enhanced. In practical applications, β should be chosen by taking a balance between position and synchronization controls. The parameter K ε , accompanied by εi − εi −1 in (4.12), plays the role in ensuring system stability when adding the cross-coupling control with β to the overall system dynamics. It will be further discussed in the following how to get the desired boundedness of the synchronization error through adjusting the value of K ε . The boundedness of the synchronization error can be analyzed throughout the transient response. Given an upper bound on the synchronization error, the lower bound on the control parameter that achieves the desired upper bound on the error will be discussed as follows. Because the system is asymptotically stable as concluded from Theorem 4.1, given an upper bound λ εi on εi , there exists a finite time T > 0 such that after t > T , one has ||εi (t )|| ≤ ||π εi ||. In addition, at t = T , the Lyapunov function becomes n

V (T ) =

∑ i =1

 1 H ( x ) c −1 (T )r (T ) 2  + )   i i ( i i 2

n

+

∑ i =1

 1 ΛβK ε   2



T

0

n

∑  12 K ε (T )

 (ε i − ε i −1 ) d ζ 

2 ε i

i =1



2

(4.23)

which is bounded. If the first term of the right-hand side of (4.23) is defined as VA, it then follows from (4.23) that n

V (T ) − VA =

∑ i =1 n



∑ i =1



 1 K ε 2 (T ) +   ε i 2  1 K λ2  +  ε εi   2

n

∑ i =1

1 ΛβK ε 2 



T

0

 (εi − εi −1 ) d ζ 

n

∑  12 K Λβ(2λ T ) 

1 = K ε  + 2 ΛβT 2  2 

2

ε

εi

2

i =1



(4.24)

n

∑λ

2 εi

i =1

Finally, the lower bound for K ε can be determined from (4.24) as Kε ≥

(

1 2

V (T ) − VA + 2ΛβT 2 ) ∑in=1 λ 2εi

(4.25)

62

Synchronization and Control of Multiagent Systems

Compared to the PD-based synchronization control as reported in Chapter 3, the new synchronization controller (4.12) exhibits the following advantages:





1. It can be applied to trajectory tracking tasks and guarantee asymptotic stability of the controlled system. When applying the PD-based synchronization control in Chapter 3 to trajectory tracking tasks, asymptotic stability can be guaranteed only in those motions where the final velocities are zero. 2. The coupling parameter ci can be time varying, which implies that the synchronization control (4.12) can be applied to a wider range of synchronization tasks. With the PD-based synchronization control in Chapter 3, the coupling parameter ci must be constant, which limits the synchronization applications. 3. When implementing the controller (4.12), the selection of the control gain is not subject to the constraint as reported in Chapter 3, which simplifies the implementation in practice.

On the other hand, it should be pointed out that although the synchronization controller (4.12) exhibits numerous advantages as mentioned above, its formulation suffers from the drawback of heavily depending on the system dynamic models. In case the information of dynamic modeling is unknown or uncertain, it is not suitable to apply the controller (4.12).

4.3 Adaptive Synchronization Control In this session, an adaptive synchronization control algorithm will be introduced. As mentioned above, the synchronization controller (4.12) depends on the system dynamics models, while in most practical applications, the modeling parameters may not be known exactly. It is a general request that the control algorithm should be robust to the modeling uncertainty. Moreover, because external disturbances also affect the motion performance, robustness to some external disturbances is also highly demanded in controller design. Adaptive control, such as reported by Slotine and Li (1987), is an effective methodology used to solve the robustness problem. Tomizuka et al. (1992) added an adaptive feedforward scheme to the cross-coupled compensator to improve transient response and disturbance rejection. This work was followed by Yang and Chang (1996) in synchronization of twin-gyro precession. However, the feedforward control approach is not ideal when the system is subject to variable control environment and system nonlinearities. Also, the feedforward adaptive synchronization dealt with velocity synchronization only and failed to address the position synchronization problem. Sun (2003a) proposed an adaptive synchronization control algorithm by incorporating the cross-coupling approach into an adaptive control architecture, with feedback of position and synchronization errors in both the controller and the parameter adaptor. It was shown in Sun (2003a) that position and synchronization errors of multiple motion axes could simultaneously converge to zero by using adaptive synchronization

Synchronized Control of Multiaxis Systems in Trajectory Tracking

63

control. Further, the adaptive synchronization control method was experimentally demonstrated in a real CNC industrial application as reported in Sun (2003b). In the following, it will be introduced how to incorporate the cross-coupling approach to an adaptive control architecture to solve the robustness problem in multiaxis motion synchronizations. The dynamics of the ith-axis as given in (4.1) is slightly revised by adding external disturbances as follows:

Hi ( xi ) xi (t ) + Ci ( xi , xi ) xi (t ) + Fi ( xi , xi ) = τi (t )

(4.26)

where Fi ( xi , xi ) denotes the effect caused by frictional force and some unexpected disturbances, which can be mathematically formulated in the form of Fi ( xi , xi ) . Define θi as a vector that contains unknown modeling parameters in (4.26). Then, the dynamics (4.26) can be rearranged in terms of θi as follows:

Hi ( xi ) xi (t ) + Ci ( xi , xi ) xi (t ) + Fi ( xi , xi ) = Yi ( xi , xi , xi )θi = τi (t )

(4.27)

where Yi ( xi , xi , xi ) denotes a regression matrix. Because the value of the dynamic parameter θi is hard to determine exactly in practice, one can define θˆ i (t ) as the estimate of θi . Define Hˆ i ( xi ) and Cˆ i ( xi , xi ) as estimates of the real models Hi ( xi ) and Ci ( xi , xi ) , respectively. Then, referring to the controller development as described in (4.8) to (4.12), an adaptive synchronization controller for the ith axis can be designed as follows: τi = Hˆ i ( xi )ci−1 (ui − ci xi ) + Cˆ i ( xi , xi )ci−1ui + Fˆi ( xi , xi ) + K rici−1ri + ci K ε (εi − εi −1 ) = Yi ( xi , xi , ui , ui )θˆ i (t ) + K rici−1ri + ci K ε (εi − εi −1 )

(4.28)

Note that the regression matrix Yi ( xi , xi , ui , ui ) is now a function of ui and ui rather than xi . The estimated parameter θˆ i (t ) is subject to the following adaptation law:

 θˆ i (t ) = Γ iYiT ( xi , xi , ui , ui ) ( ci−1ri )

(4.29)

where Γ i is a diagonal positive-definite control gain. Define

θ i (t ) = θi − θˆ i (t )

(4.30)

as the modeling estimation error. Then, the adaptation law (4.29) can be rewritten as

 θ i (t ) = − Γ iYiT ( xi , xi , ui , ui ) ( ci−1ri )

(4.31)

64

Synchronization and Control of Multiagent Systems

Substituting the controller (4.28) into the dynamics model (4.27) leads to the following closed-loop dynamics: Hi ( xi )ci−1ri + Ci ( xi , xi )ci−1ri + K rici−1ri + ci K ε (εi − εi −1 ) = ∆Hi ( xi )ci−1 (ui − ci xi ) + ∆Ci ( xi , xi )ci−1ui + ∆Fi ( xi , xi )

(4.32)

= Yi ( xi , xi , ui , ui )θ i (t )



where ∆Hi ( xi ) = Hi ( xi ) − Hˆ i ( xi ) , ∆Ci ( xi , xi ) = Ci ( xi , xi ) − Cˆ i ( xi , xi ) , and ∆Fi ( xi , xi ) = Fi ( xi , xi ) − Fˆi ( xi , xi ). Theorem 4.2 The adaptive synchronous controllers (4.28) through (4.31) lead to asymptotic convergence of both the position tracking and synchronization errors to zero, namely, ei (t ) → 0 and εi (t ) → 0 as time t → ∞, under the conditions that the control gain K ri is large enough to satisfy K ri ≥ || Hi ( xi ) dtd (ci−1 )ci || . Proof Define a Lyapunov function candidate as n

V (t ) =

∑  12 H (x ) (c i

r) +

−1 2 i i

i

i =1

n

+

∑ i =1

 1 ΛβK ε   2

1 −1  2 1 Γ i θi (t ) + K ε (εi )2  2 2 

 (ε i − ε i −1 ) d ζ  0



t

2



(4.33)

It differs from the Lyapunov function (4.14) in that the modeling estimation error θ i (t ) is included in the quadratic form. Differentiating V (t ) with respect to time yields

V (t ) =

n

∑ i =1

 c −1r H ( x ) c −1r + c −1r H ( x ) d c −1 r + 1 H ( x ) c −1r 2  ( i i ) i i ( i i ) ( i i ) i i dt ( i ) i 2 i i ( i i )         − 1   +θi (t )Γ i θi (t ) + ε i K ε ε i 

n

+

∑ (ε − ε i

i =1

i −1

)ΛβK ε

t

∫ (ε − ε 0

i

i −1



(4.34)

) dζ

Multiplying both sides of (4.32) by (ci−1ri ) yields

(ci−1ri ) Hi ( xi ) (ci−1ri ) + Ci ( xi , xi ) (ci−1ri )2 + Kri (ci−1ri )2 + ri K ε (εi − εi−1 )

= ( ci−1ri ) Yi ( xi , xi , ui , ui )θ i (t )



(4.35)

65

Synchronized Control of Multiaxis Systems in Trajectory Tracking

Substituting (4.35) into (4.34) yields V (t ) = −

n

∑ i =1

d −1  −1 2    K ri − Hi ( xi ) dt ( ci ) ci  ( ci ri )  −  

n

+



n

εi K ε ε i +

i =1

i =1





(ε i − ε i −1 )ΛβK ε

(

n

∑ [ r K (ε − ε i

t

∫ (ε − ε 0

i

ε

i

i −1

)]

i =1

i −1

) dζ

(4.36)

)

 + ( ci−1ri )Yi ( xi , xi , ui , ui ) + Γ i−1θ i (t ) θ i (t )

where the property that ( 12 H i ( xi ) − Ci ( xi , xi ))(ci−1ri )2 = 0 is utilized in deriving (4.36). Substituting (4.31) into the last term in the right-hand side of (4.36) yields



((c r )Y (x , x ,u ,u ) + Γ θ (t))θ (t) = 0 −1 i i

i

i

i

i

i

−1 i i

i

(4.37)

Then, following the same proof as shown in (4.18) through (4.22), Theorem 4.2 can be proven. The above analysis indicates that the cross-coupling synchronization approach can be incorporated into adaptive control architecture to solve the problem of robustness to modeling uncertainty and external disturbances. A block diagram of the adaptive synchronization controller is illustrated in Figure 4.1. This work differs from adaptive feedforward synchronization in the following aspects:





1. This is a hybrid synchronous control, where the coupling control action exists in both the controller and the parameter adaptation. In the feedforward adaptive synchronization, the coupling control exists only in the parameter adaptation. 2. The adaptive synchronization control addresses the position synchronization problem for multiple motion axes, which is different from the reported adaptive feedforward synchronization that addresses the velocity synchronization of two axes. 3. The adaptive synchronization control explicitly guarantees that the position errors ei (t ) and the synchronization error εi (t ) converge to zero simultaneously. 4. With the adaptive synchronization control, the condition for stability is relatively simple. Selection of the positive coupling parameter β is not subject to the constraint as in Tomizuka et al. (1992) that β must be chosen so that a matrix that relates dynamic model parameters is positive definite. This makes the selection of β easier in practice, especially when the motion axes are not of “equal status.”

66

Synchronization and Control of Multiagent Systems

+ –

ci

. xi

s

ri krici–1 xdi

s s + –

ei

. xdi

ci ċi ci

+

+

+

+

+

Ei

+

Dynamic Model

++ +

τi

Axis i

xi

^ θi

Λ +

ui

β

Parameter Adaptation

kεci

β

ci

εi–1

+ εi –

– +

ci+1

ei+1

1/s

Figure 4.1  Block diagram of adaptive synchronization control.

4.4 Case Study—Adaptive Coupling Control of Two Working Operations in Computer Numerical Control Integrated Machine With the rapid development of the plastic industry, there is increasing demand for an improved traditional sheet metal forming process using automation technologies. One of the efforts is to design an integrated CNC punching and plasma cutting machine so that a number of individual operations can be combined into one operation to reduce work-in-progress. Figure 4.2 illustrates one such integrated CNC machine used in Chen Hsong Machinery Co. Ltd. (Sun 2003b). Operation of this kind of integrated machine is confronted with a challenging problem of how to coordinate or synchronize two motion axes for punching and cutting effectively. Because performance of each individual motion axis is greatly affected by the other, poor synchronization of these two motion axes for punching and cutting results in diminished dimensional accuracy of the workpiece or even in unusable products. As a result, synchronization of two motion axes is crucial to the success of applying this new integrated CNC machine. The adaptive synchronization control as reported in this chapter provides a unique solution to solve this synchronization problem. It will be reported in the following that the adaptive synchronization control can be applied to the integrated CNC punching and plasma cutting machine and thus demonstrates the effectiveness

Synchronized Control of Multiaxis Systems in Trajectory Tracking

67

Figure 4.2  A computer numerical control (CNC) turret punch press and plasma cutting machine.

of the synchronization control approach (Sun 2003b). Successful implementation of the synchronization control to industrial operations of commercial CNC machines highlights advantages of the synchronization approach in synchronizing punching and cutting operations. The testing machine, as shown in Figure 4.2, contains a 600 mm × 600 mm x-to-y positioning table mounted in the vertical machine center. The machine center consists of a Parker 6250 servo controller and two Sanyo Denki 1-kw AC servo motors with model no. P50B08100DXS. The main specification of the motor is specified in Table 4.1. For simplicity, the following synchronization error was used in the test:

ε(t ) = e1 (t ) − e2 (t )

Figure 4.3 illustrates the desired two-dimensional profile of two axes in the motion. The desired velocity command is a trapezoidal signal defined by the acceleration and the distance of the movement requested. The velocity of each axis is measured using an encoder attached on the servo motor via a frequency converter in the interface board. The position of each axis is measured by reading the position buffer in each servo driver at a defined sampling interval of 100 Hz. The control application code

68

Synchronization and Control of Multiagent Systems

Table 4.1 Motor Specification Rated output Rated revolution speed Maximum revolution speed Rated torque Continuous stall torque Rated stall armature current Torque constant Phase armature resistance Inertia

1000 W 3000 rpm 4500 rpm 3.18 N.m 3.92 N.m 6.7 Arms 0.553 N.m/Arms 0.41 Ω 2.651 × 10–4 kg×m2

is written by C language. In the experiment, the unknown parameter vector θi was estimated as θˆ i (t ) = [ Hˆ i ( xi ) Cˆ i ( xi , xi )]T



At the initial time, the parameter vector was estimated to be zero, namely, θˆ 1 (0) = θˆ 2 (0) = [0 0]T . The control gains were chosen to be Λ = 5 / sec, kr1 = kr 2 = 100 N ⋅ m ⋅ sec/ rad , β = 170 / sec



 0.001 K ε = 8 N ⋅ m / rad ⋅ sec, Γ1 = Γ 2 =  



 0.001 

300 250

y-axis (mm)

200 150 100 50 0

0

50

100

150

200 250 300 x-axis (mm)

Figure 4.3  Motion profile of x and y axes.

350

400

450

500

69

Synchronized Control of Multiaxis Systems in Trajectory Tracking 0.8

x-axis y-axis

0.6

Position Errors (mm)

0.4 0.2 0 –0.2 –0.4 –0.6 –0.8

0

0.5

1

1.5

2 2.5 Time (sec)

3

3.5

4

3

3.5

4

(a)

Position Synchronization Errors (mm)

1.2 1 0.8 0.6 0.4 0.2 0 –0.2 –0.4 –0.6

0

0.5

1

1.5

2 2.5 Time (sec) (b)

Figure 4.4  Position responses with adaptive control without synchronization: (a) position tracking errors and (b) position synchronization error.

First, the independent adaptive control without synchronization, by removing all kinds of coupling between the two axes in the controller, was applied to the testing machine. Figure 4.4 illustrates the position time responses in x and y axes. Note that the “mirror” displacement error in Figure 4.4 is due to the direction change of the y-axis motion after 2 seconds, which results in a large synchronization error.

70

Synchronization and Control of Multiagent Systems 0.8

x-axis y-axis

Position Errors (mm)

0.6 0.4 0.2 0 –0.2 –0.4 –0.6

0

0.5

1

1.5

2 2.5 Time (sec)

3

3.5

4

3

3.5

4

(a)

Position Synchronization Errors (mm)

0.2 0.15 0.1 0.05 0 –0.05 –0.1 –0.15 –0.2

0

0.5

1

1.5

2 2.5 Time (sec) (b)

Figure 4.5  Position responses with adaptive coupling control: (a) position tracking errors and (b) position synchronization error.

The second test was to examine whether the synchronization error between x and y axes could be minimized by using the adaptive synchronization control (4.12). Figure  4.5 illustrates time responses of position in x and y axes. It is obvious to see that the “mirror” displacement error disappears, which subsequently results in a smaller synchronization error. Compared to the independent control without

Synchronized Control of Multiaxis Systems in Trajectory Tracking

71

synchronization (see Figure 4.4), the adaptive synchronization control exhibits great improvement in position synchronization.

4.5 Summary This chapter presents a new synchronization control approach for trajectory tracking of multiple motion axes, utilizing the cross-coupling methodology. A model-based crosscoupling controller is developed first, which employs unique definition of the coupled position error that combines both position and synchronization errors. Further, an adaptive synchronization controller is constructed by incorporating a cross-coupling approach into adaptive control architecture, to solve the problem of robustness to model uncertainty and external disturbances. With Lyapunov direct approach, it is proven that the synchronization controller can stabilize both position and synchronization errors to zero asymptotically. Finally, an industrial case study is performed in coordinating two operations of an integrated CNC machine. The testing results demonstrate the effectiveness of the proposed approach in position synchronization. The proposed synchronization controller overcomes limitations of the PD-based synchronization control as reported in Chapter 3. The method can be further extended to more complicated synchronization tasks, which will be introduced in the next chapters.

References Slotine, J. J. E., and Li, W. 1987. On the adaptive control of robot manipulators. International Journal of Robotics Research 6(3):49–59. Sun, D. 2003a. Position synchronization of multiple motion axes with adaptive coupling control. Automatica 39(6):997–1005. Sun, D. 2003b. Adaptive coupling control of two working operations in CNC integrated machines. ASME Journal of Dynamic Systems, Measurement, and Control 125(4):662–665. Sun, D., Wang, C., Shang, W., and Feng, G. 2009. A synchronization approach to trajectory tracking of multiple mobile robots while maintaining time-varying formations. IEEE Transactions on Robotics 25(5):1074–1086. Tomizuka, M., Hu, J. S., and Chiu, T. C. 1992. Synchronization of two motion control axes under adaptive feedforward control. ASME Journal of Dynamic Systems Measurement and Control 114(6):196–203. Yang, L. F., and Chang, W. H. 1996. Synchronization of twin-gyro precession under crosscoupled adaptive feedforward control. Journal of Guidance, Control and Dynamics 19(3):534–539.

5

Adaptive Synchronization Control for Coordination of Multiple Robot Manipulators

Abstract Coordination of multirobot systems has received extensive studies in the past decades. This chapter will present the use of an adaptive synchronization control to coordinating multiple robot manipulators for assembly tasks. Many existing approaches require a complex setup of the hybrid position/force control architecture, and have not fully addressed the coordination problem when the robots are not kinematically constrained but perform a common task. Synchronization control provides a new strategy to carry out multirobot coordination tasks, displaying advantages such as more straightforward and easier implementation, and wider application area. The use of the synchronization concept for coordination is motivated by the fact that the problem of coordinating multiple manipulators is basically the problem of maintaining required kinematic relationships among robots. The basic idea of the synchronization approach is to ensure that each manipulator tracks its desired trajectory while synchronizing its motion with other manipulators’ motions, so that differential (or synchronization) position errors among manipulators converge to zero. The controller incorporates the cross-coupling technology into adaptive control architecture and can guarantee asymptotic convergence to zero of both position tracking and synchronization errors simultaneously. Simulations and experiments on multirobot assembly systems demonstrate the effectiveness of the approach. This chapter reports an extensive research based on Chapter 4. The control variable is changed from a 1 × 1 coordinate of each motion axis in Chapter 4 to a coordinate vector of each robot manipulator.

5.1 Introduction Coordination of multiple robot manipulators in carrying out assembly tasks has received much attention in modern manufacturing and space applications. There are three well-known coordination schemes that have been reported in the 73

74

Synchronization and Control of Multiagent Systems

literature. The first scheme is the master/slave control (Arimoto et al. 1987; Zheng and Luh 1985), where one robot arm is under position control, and the others are subject to compliant force control to maintain kinematic constraints. The second scheme utilizes centralized control architecture (Koivo and Unseren 1991; Tarn et al. 1986; Wen and Delgado 1992; Yoshikawa et al. 1988; Yun et al. 1997), in which robots and the grasped payload are considered as a closed kinematic chain. This method is designed based on a unified robot and payload dynamic model. The third scheme is decentralized control (Hsu 1989; Kosuge et al. 1993; Liu et al. 1996; Xi et al. 1996), in which each robot is controlled separately by its own local controller. All of these coordination schemes have considered a common situation that multiple manipulators are physically connected to perform assembly tasks such as grasping a payload, and hybrid position and force controls are usually utilized. In practice, multirobot assembly may be confronted with the following tasks:

1. The robots that are subject to kinematics constraint in a coordinated task are physically connected to form a closed kinematic chain (e.g., all robots grasp a common payload). 2. The robots are not physically connected but perform a common task (e.g., one robot manipulates a rigid payload while another spreads adhesive on the edges, with both robots in motion simultaneously). 3. Several robots simultaneously spread adhesive on a single path for assembly.

Conventional centralized and decentralized coordination schemes have been proposed mainly for task (1) but are not efficient enough to solve problems in task (2) and task (3). The master/slave control scheme may be realized as a solution to the above three types of coordination tasks, but the performance of the master/slave control may be adversely affected due to a communication delay existing among robots. There exists increasing demand for developing a new coordination scheme that can be applicable to all coordination tasks mentioned above. Another motivation for developing a new coordination scheme arises from significant demand for easy and efficient implementation. Many hybrid position and force control algorithms in the literature are not easily used in practice, due to the complex setup of the control architecture when implemented on commercially available robots. Synchronized control provides a unique advantage and opportunity for multirobot coordination by maintaining required kinematic relationships without explicitly employing internal force control among robots. Using the synchronization approach, manipulators are controlled in a synchronous manner such that position tracking errors and synchronization errors converge to zero simultaneously. The synchronization errors are defined to be differential position errors among end-effectors of manipulators. The synchronization errors can be used to evaluate the performance of coordination. The cross-coupling approach (Koren 1980) can be used to design a synchronization controller for coordinating robot manipulators. A coordination of two robot arms with the cross-coupling motion controller was reported in Naumovic (1999).

75

Adaptive Synchronization Control for Coordination

Sun and Mills (2002) proposed an adaptive synchronization controller to coordinate motions of multiple manipulators in assembly tasks. In this work, they defined the synchronization errors as differential position errors of the end-effectors between every pair of two neighboring manipulators, and proved that the position errors and the synchronization errors could converge to zero under the proposed adaptive synchronization control. Rodriguez-Angeles and Nijmeijer (2004) reported their work on mutual synchronization of robot manipulators via estimated state feedback. Chung and Slotine (2009) presented a synchronization tracking control law for cooperation of multirobot systems and oscillation synchronization in robotic manipulation and locomotion. As reported in Chapter 4, adaptive control can be an effective strategy to address the synchronization problem when it is incorporated with cross-coupling technology. This chapter will introduce how to apply an adaptive coupling-control algorithm to synchronize positions of multiple manipulators for coordination. The cross-coupling technology is incorporated into adaptive control architecture through feedback of position and synchronization errors in both the controller and the parameter adaptor. Note that consideration of all synchronization errors in each robot control may result in intensive online computation work, especially when the number of manipulators is large. Therefore, the introduced synchronization strategy will stabilize synchronization errors between each manipulator and its two neighboring manipulators (but not all other manipulators) to zero. This is based on an assumption that motions of all manipulators are synchronized if every pair of manipulators is synchronized. The significance of the proposed coordination scheme using the synchronization concept is threefold:



1. Incorporation of the differential position error into an adaptive architecture for multirobot coordination is relatively straightforward. There is no need to explicitly employ hybrid position and force control in the controller design, and thus the implementation is simplified. 2. Under the adaptive synchronization control, both position and synchronization errors converge to zero asymptotically, which guarantees a good coordination performance. 3. The controller is of a decentralized architecture and is able to address problems of model uncertainties and external force disturbances by taking advantage of adaptive controls.

5.2 Motion Synchronization Strategy of Multiple Manipulators Consider a robot assembly cell with n manipulators, as shown in Figure 5.1. Define xi (t ) as the Cartesian coordinate vector of the ith robot manipulator, where i = 1,…, n . The dynamics of the ith manipulator is described in Cartesian space as follows:

Hi ( xi ) xi (t ) + Ci ( xi , xi ) xi (t ) + Fi ( xi , xi ) = τi (t )



(5.1)

76

Synchronization and Control of Multiagent Systems Robot n

xn x1 Robot 2

x2

Robot 1 z y x

Figure 5.1  A robot assembly cell with multiple manipulators.

where Hi ( xi ) denotes the inertia of the ith manipulator; Ci ( xi , xi ) denotes the effect caused by Coriolis and centrifugal terms; Fi ( xi , xi ) is a vector containing various external disturbances and torques acting at the manipulator, which can be mathematically formulated as Fi ( xi , xi ) ; and τi (t ) is the input torque. Note that 12 H i ( xi ) − Ci ( xi , xi ) is a skew-symmetric matrix. Define the position tracking error of the ith manipulator end-effector as

ei (t ) = xid (t ) − xi (t )

(5.2)



where xid (t ) denotes the desired endpoint position of the ith manipulator. The problem of coordinating multiple robots is basically a problem of maintaining a required kinematic relationship among robots. Suppose that all positions xi (t ) of the coordinated manipulators are required to lie in a boundary of a time-varying desired shape, denoted by S ( xi , t ), in order to meet the coordination requirement. The boundary of S ( xi , t ) is parameterized by a curve, denoted by ∂S ( xi , t ) = 0. By referring to Chapter 2, the coordinate of each manipulator in synchronization is subject to the constraint as follows:

∂S ( xi , t ) = 0 :{xi (t ) = Ai (t )C (t ) + Bi (t )}



(5.3)

where Ai (t ) is a constraint matrix with local characteristics of the ith manipulator, Bi (t ) is an offset vector, and C (t ) is a common vector that is independent on the individual manipulator. Equation (5.3) is treated as the synchronization constraint of multiple manipulators.

77

Adaptive Synchronization Control for Coordination

Rewrite the constraint (5.3) as

Ai−1 (t )( xi (t ) − Bi (t )) = C (t )

(5.4)



As analyzed in Chapter 2, in order to guarantee a unique linear mapping from xi (t ) to C (t ), the inverse of Ai (t ) must exist, which can be ensured by a proper design of the desired boundary curve. Then, following a similar approach as in Chapter 2, the following synchronization goal can be obtained:

c1 (t )e1 (t ) = c2 (t )e2 (t ) =  = cn (t )en (t )



(5.5)

where ci (t ) ≡ Ai−1 (t ), which represents the coupling parameter. The goal of maintaining kinematic relationships among n manipulators, as given by (5,5), can be divided into n subgoals, such as c1 (t )e1 (t ) = c2 (t )e2 (t ) c2 (t )e2 (t ) = c3 (t )e3 (t )

(5.6)



cn (t )en (t ) = c1 (t )e1 (t )

If all the subgoals listed in (5.6) can be achieved, the synchronization goal (5.5) is achieved. Define synchronization errors of a subset of all possible pairs of two manipulators from a total of n manipulators in the following way: ε1 (t ) = c1 (t )e1 (t ) − c2 (t )e2 (t ) ε 2 (t ) = c2 (t )e2 (t ) − c3 (t )e3 (t ) (5.7)



ε n (t ) = cn (t )en (t ) − c1 (t )e1 (t )



Obviously, if ε i (t ) = 0 for all i = 1,…, n , the goal of multirobot synchronization of (5.5) can be achieved automatically. Accordingly, the control objective is defined to design control torques τi (t ) to cause position tracking errors ei (t ) and synchronization errors ε i (t ) to converge to zero. In other words, the controller concerns not only the position tracking errors convergence to zero but also how these errors converge to zero such that the synchronization goal (5.5) can be achieved during motions. Because all the

78

Synchronization and Control of Multiagent Systems

synchronization errors are related under the synchronization control, the control of each manipulator must consider motion responses of the other manipulators. However, including motion feedbacks of all the manipulators in the controller formulation of each manipulator may lead to intensive online computation, especially when the number of manipulators n is large. To solve the problem, a synchronization strategy, as introduced in Chapter 3, will be utilized by which the control input of each manipulator is designed to stabilize the position tracking of this manipulator while synchronizing motions between this manipulator and the other two nearby manipulators. That is, the control torque τi (t ) for the ith manipulator is to control ei (t ) → 0 and at the same time, to synchronize motions of the (i – 1) th, the ith and the (i + 1)th manipulators so that synchronization errors ε i −1 (t ) and ε i (t ) converge to zero (Sun and Mills 2002). With this strategy, actual implementation of the synchronization control can be greatly simplified, especially when the number of manipulators is large.

5.3 Adaptive Synchronization Control An adaptive synchronization control is introduced in the following for coordination of multiple robot manipulators using the cross-coupling concept. In a similar manner as in Chapter 4, a coupled position error vector Ei is introduced, which links the position and synchronization errors ei and ε i in the following equation:



Ei = ci ei + β

t

∫ (ε − ε 0

i

i −1

) dζ

(5.8)



where β is a diagonal positive gain matrix, and ς is a time variable. As seen from (5.8) and (5.7), Ei utilizes information of the two neighboring manipulators i – 1 and i + 1. Note that when i = 1, one denotes i – 1 as n. Differentiating Ei (t ) with respect to time yields

E i = ci ei + ci ei + β(ε i − ε i −1 )

(5.9)



To achieve Ei → 0 and E i → 0, a command vector ui is introduced as follows:

ui = ci xid + ci ei + β(ε i − ε i −1 ) + ΛEi

(5.10)



where Λ is a diagonal positive gain matrix. Definition of ui in (5.10) leads to the following vector regarding the coupled position and velocity errors:

ri = ui − ci xi = ci ei + ci ei + β(ε i − ε i −1 ) + ΛEi = E i + ΛEi



(5.11)

Now the control objective is defined to design control torques to restrict ri to lie on a sliding surface, such that the coupled errors Ei and E i tend to zero.

79

Adaptive Synchronization Control for Coordination

To construct an adaptive synchronization controller, the dynamics of robot manipulators with modeling uncertainty needs to be analyzed first. Define θi as the vector containing all unknown or uncertain dynamic modeling parameters in (5.1). Then, the dynamics (5.1) can be rearranged in terms of θi as follows:

Hi ( xi ) xi (t ) + Ci ( xi , xi ) xi (t ) + Fi ( xi , xi ) = Yi ( xi , xi , xi )θi = τ i (t )

(5.12)

where Yi ( xi , xi , xi ) denotes a regression matrix. Because the value of the dynamics parameter vector θi is hard to determine exactly, one can define θˆ i (t ) to estimate the true value of θi . Accordingly, one further defines Hˆ i ( xi ) and Cˆ i ( xi , xi ) as estimates of the real models Hi ( xi ) and Ci ( xi , xi ) , respectively. Based on the robot dynamics model (5.12), one may introduce an adaptive synchronization controller for the ith manipulator as follows: τi = Hˆ i ( xi )ci−1 (ui − ci xi ) + Cˆ i ( xi , xi )ui + Fˆi ( xi , xi ) + K ri ci−1ri + ciT K ε (ε i − ε i −1 ) = Yi ( xi ,xi ,ui ,ui )θˆ i (t ) + K ri ci−1ri + ciT K ε (ε i − ε i −1 )

(5.13)

where K ε is diagonal positive feedback control gain. Note that the regression matrix Yi ( xi , xi , ui , ui ) is now a function of ui and ui rather than xi . The estimated parameter θˆ i (t ) is subject to the following adaptation law:

 θˆ i (t ) = Γ iYiT ( xi , xi , ui , ui ) ci−1ri

(

)

(5.14)

where Γ i is a diagonal positive-definite control gain. Define

θ i (t ) = θi − θˆ i (t )

(5.15)



as a vector containing the modeling estimation error. Then, the adaptation law (5.14) can be rewritten as



(

 θ i (t ) = − Γ iYiT ( xi , xi , ui , ui ) ci−1ri

)

(5.16)

Substituting the controller (5.13) into the robot dynamics model (5.12) leads to the following closed-loop dynamics: Hi ( xi )ci−1ri + Ci ( xi , xi )ci−1ri + K rici−1ri + ciT K ε (εi − εi −1 ) = ∆Hi ( xi )ci−1 (ui − ci xi ) + ∆Ci ( xi , xi )ci−1ui + ∆Fi ( xi , xi )

= Yi ( xi , xi , ui , ui )θ i (t )

(5.17)

80

Synchronization and Control of Multiagent Systems

where ∆Hi ( xi ) = Hi ( xi ) − Hˆ i ( xi ), ∆Ci ( xi , xi ) = Ci ( xi , xi ) − Cˆ i ( xi , xi ) , and ∆Fi ( xi , xi ) = Fi ( xi , xi ) − Fˆi ( xi , xi ) . It will be shown in the following that the proposed adaptive coupling controllers (5.13) and (5.14) guarantee asymptotic convergence to zero of both the position tracking error ei and the synchronization error ε i . Theorem 5.1 The adaptive synchronization controllers (5.13) and (5.14) lead to asymptotic convergence of both the position tracking and synchronization errors to zero, namely, ei (t ) → 0 and ε i (t ) → 0 as time t → ∞ , under the conditions that the control gain K ri is large enough to satisfy λ min ( K ri ) ≥ λ max ( M i dtd (ci−1 )ci ), where λ min (⋅) and λ max (⋅) denote the minimum and maximum eigenvalues of matrices, respectively. Proof Define a Lyapunov function candidate as n

V (t ) =

1 ∑  2 (c r ) −1 i i

T

i =1

n

+

1 2 

 1 T 1 θ (t )Γ i−1θ i (t ) + ε Ti K ε ε i  2 i 2 

T

 (ε i − ε i −1 ) d ζ ΛβK ε 0 

∑ ∫ i =1

)

(

Hi ( xi ) ci−1ri +

t



t

∫ (ε − ε i

0

i −1

(5.18)

) dζ

Differentiating V (t ) with respect to time yields

V (t ) =

n



T   −1 T d −1 −1 −1  ci ri Hi ( xi ) ci ri + ci ri Hi ( xi ) dt ci ri +     1 T   ci−1ri H i ( xi ) ci−1ri + θ Ti (t )Γ i−1 θ i (t ) + ε Ti K ε ε i   2

)

(

) (

(

)

(

∑ (ε − ε

)T ΛβK ε

i =1

(

n

+

i

i =1

i −1

)

( )

)

t

∫ (ε − ε 0

i

i −1

(5.19)

) dζ

Multiplying both sides of (5.17) by (ci−1ri )T yields

(ci−1ri )T Hi ( xi ) (ci−1ri ) + (ci−1ri )T Ci ( xi , xi ) (ci−1ri ) + (ci−1ri )T Kri (ci−1ri ) + riT K ε (εi − εi −1 ) = ( ci−1ri ) Yi ( xi , xi , ui , ui )θ i (t ) T





(5.20)

81

Adaptive Synchronization Control for Coordination

Substituting (5.20) into (5.19) yields V (t ) = −

n

∑ i =1

 −1  ci ri 

(

 d −1  −1   K ri − Hi ( xi ) dt ci ci  ci ri  − 

)

( ) (

T

n

n

+



ε Ti K ε ε i +

i =1



(ε i − ε i −1 )T ΛβK ε

i =1

((

+ ci−1ri

)

T

)

t

∫ (ε − ε i

0

i −1

n

∑ r K (ε − ε T

ε

i

i

i −1

i =1

) 

) dζ

(5.21)

)

 Yi ( xi , xi , ui , ui ) + θ Ti (t )Γ i−1 θ i (t )



In deriving (5.21), the property that 12 H i ( xi ) − Ci ( xi , xi ) is a skew-symmetric matrix is utilized, which results in (ci−1ri )T ( 12 H i ( xi ) − Ci ( xi , xi ))(ci−1ri ) = 0. Substituting (5.16) into the last term on the right-hand side of (5.21) yields

((c r ) Y (x , x , u , u ) + θ (t)Γ ) θ (t) = 0 T

−1 i i



i

i

i

i

T i

i

−1 i

(5.22)

i

Now analyze the term ∑ in=1 riT K ε (ε i − ε i −1 ) in (5.21). It follows that n

∑ r K (ε − ε T

i

ε

i

i −1

)

i =1

= r1T K ε ε1 − r1T K ε ε n + r2T K ε ε 2 − r2T K ε ε1 +  + rnT K ε ε n − rnT K ε ε n−1

(5.23)

= r1T K ε ε1 − r2T K ε ε1 + r2T K ε ε 2 − r3T K ε ε 2 +  + rnT K ε ε n − r1T K ε ε n n

=

∑ (r − r i

i +1

)T K ε ε i

i =1



Utilizing (5.11) and (5.7) through (5.9), one obtains ri − ri +1 = E i + ΛEi − E i +1 − ΛEi +1 = ci ei + ci ei − ci +1ei +1 − ci +1ei +1 + β(2ε i − ε i −1 − ε i +1 ) + Λ(ci ei − ci +1ei +1 ) + Λβ



t

∫ (2ε − ε 0

i

i −1

= ε i + β(2ε i − ε i −1 − ε i +1 ) + Λε i + Λβ

(5.24)

− ε i +1 ) d ς t

∫ (2ε − ε 0

i

i −1

− ε i +1 ) d ς



82

Synchronization and Control of Multiagent Systems

Then, submitting (5.24) into (5.23) yields n

∑ r K (ε − ε T

ε

i

i

i −1

)

i =1

n

=



n

ε Ti K ε ε i +

i =1



n

ε Ti ΛK ε ε i +



∑ (ε − ε i

i +1

i

i +1

)T βK ε (εi − ε i +1 )

(5.25)

i =1

i =1

n

+

∑ (ε − ε

)T ΛβK ε

i =1



t

0



(εi − εi −1 ) d ζ

The following equation was utilized in the development of (5.25): n

n





(2ε i − ε i −1 − ε i +1 )T ε i =

i =1

∑ (ε − ε i

i +1

)T (ε i − ε i +1 )

(5.26)

i =1

Finally, substituting (5.25) and (5.22) into (5.21) and utilizing the condition of Theorem 5.1, it follows that V (t ) ≤ −

n

∑ (c

d   r )  λ min ( K r ) − λ max  Hi ( xi ) ( ci−1 ) ci   ( ci−1ri )    dt

−1 T i i

i =1 n



∑ i =1



n

εTi ΛβK ε εi −

∑ (ε − ε i

i +1

)T βK ε (ε i − ε i +1 )



(5.27)

i =1

≤0

It is thus concluded that the defined Lyapunov function (5.18) has a negative semidefinite time derivative. From (5.27), both ri and ε i are bounded. From (5.17), ri is bounded. From (5.24), ε i is bounded. Therefore, ri and ε i are uniformly continuous because ri and ε i are bounded. Then, from Barbalat’s lemma, it is concluded that ri → 0 and ε i → 0 as time t → ∞ . The synchronization goal (5.5) is achieved. Now prove ei = 0 when ri = 0 and ε i = 0 . From (5.11), ri = 0 implies Ei = 0. Combining all the equations in (5.8) with indices 1 to n, one obtains

c1e1 + c2e2 +  + cnen = 0 Then, substituting (5.5) into (5.28) yields



c1e1 = c2e2 =  = cnen = 0 Because the inverse of ci exists, ei = 0 . Therefore, Theorem 5.1 is proven.

(5.28)

Adaptive Synchronization Control for Coordination

83

Theorem 5.1 indicates that multiple robot manipulators can be successfully coordinated through synchronizing manipulators’ motions to maintain required kinematic relationships among them. The key to the success of the proposed method lies in the ability to control position coordinates of multiple manipulators while regulating the relationship among them, made possible by properly defining the synchronization goal and the synchronization errors. Although the independent adaptive control without synchronization can also ensure ε i (t ) → 0 through converging the position errors ei (t ) → 0 at the end, it cannot guarantee the transient performance of synchronization during the whole motion period and, hence, cannot meet the requirement of coordination task. Note also that although the method is developed in terms of coordinates in Cartesian space of robots, it is also valid in joint space of robots. It should be pointed out that the above adaptive synchronization approach is based on motion coordination, without dealing with the internal forces by imposing a restrictive assumption on the end-effector contact forces, which can be achieved by, for example, installing a compliant gripper on end-effectors of robots. Zhu (2005) investigated the case by considering internal force control and thus extended the adaptive synchronization approach to accommodate both flexible and rigid constraints.

5.4 Case Studies 5.4.1 Experiments of Coordinating Two Industrial Manipulators To demonstrate the validity of the adaptive synchronization scheme for multirobot coordination, an experimental evaluation was performed on two commercially available A460 6-DOF light industrial robots manufactured by CRS Robotics Corporation. A setup of two robots manipulating a payload is shown in Figure 5.2 (Sun and Mills 2002), where a compliant gripper was installed at the end-effector of each robot such that only motion synchronization was concerned for coordination purposes in the

Figure 5.2  Experimental setup of two CRS A460 robots.

84

Synchronization and Control of Multiagent Systems

experiment. Due to the limitation of the available computing hardware in the multirobot setup, the control scheme was implemented on the first three joints of each robot, and the remaining last three joints were position controlled with a proportional, integral, and derivative (PID) controller. For simplicity, the last three links of each robot were treated as a lumped mass attached at the end of the third link of each robot, which allowed the user to consider the dynamic model of the robot with the first three joints only. The actual joint angles were measured by encoders installed on each joint. The robots were controlled with a transputer-based C500 controller, supplied by CRS. A custom-designed experimental interface permits experimental setup, data collection, and display. The dynamic model of the CRS A460 robot in the laboratory and the model formulation in terms of uncertain model parameters were given in Sun and Mills (1999). To successfully apply the adaptive control scheme, the regression matrix must be derived first, using a linear parameterization technique. Define Φi = [φi1 φi 2 φi 3 ]T as the joint vector of the ith robot. Because the two robots are the same, the matrices Hi (Φi )  ), as expressed below, have the same formulation for the two robots. and Ci (Φi , Φ i



H  i11 Hi (Φi ) =  Hi 21   Hi 31



C  i11  Ci (Φi , Φi ) =  Ci 21   Ci 31

Hi12 Hi 22 Hi 32

Hi13   Hi 23   Hi 33  

Ci12 Ci 22 Ci 32

Ci13   Ci 23   Ci 33  

where Hi11 = wi12 + cosi22 wi13 − 2 cosi 2 sin i 23 + cosi223 wi 3 Hi12 = Hi 21 = Hi13 = Hi 31 = 0 Hi 22 = wi14 − 2 sin i 3 wi1 Hi 23 = Hi 32 = wi 4 − sin i 3 wi1 Hi 33 = wi 2 Ci11 = −[cosi 2 sin i 2 wi13 + (cosi 2 cosi 23 − sin i 2 sin i 23 ) wi1 + cosi 23 sin i 23 wi 3 ]φ i 2 − (cosi 23 sin i 23 wi 3 + cosi 2 cosi 23 wi1 )φ i 3

Ci12 = −[cosi 2 sin i 2 wi13 + (cosi 2 cosi 23 − sin i 2 sin i 23 ) wi1 + cosi 23 sin i 23 wi 3 ]φ i1

85

Adaptive Synchronization Control for Coordination

Ci13 = −(cosi 23 sin i 23 wi 3 + cosi 2 cosi 23 wi1 )φ i1 Ci 21 = [cosi 2 sini 2 wi13 + (cosi 2 cosi 23 − sini 2 sini 23 ) wi1 + cosi 23 sin i 23 wi 3 ]φ i1 Ci 22 = −

1 cosi 3 wi1φ i 3 2

1 Ci 23 = − cosi 3 wi1φ i 3 − cosi 3 wi1φ i 2 2 Ci 31 = (cosi 23 sin i 23 wi 3 + cosi 2 cosi 23 wi1 )φ i1 Ci 32 = cosi 3 wi1φ i 2

Ci 33 = 0

in which sin ij = sin(φij ), cosij = cos(φij ), sin ijk = sin(φij + φik ) , and cosijk = cos(φij + φik ). wijk denotes the unknown dynamic parameter of the ith manipulator. The vector Fi ( xi , xi ) in (5.12) consists of gravitational and viscous frictional terms and can be represented in the joint space as follows:



 0   Fi (Φ i , Φ i ) =  − cosi 2 gi 21 + sin 23 gi 31  sin i 23 gi 31 

  fvi1   +    

    fvi 3   

fvi 2

φ i1   φ i 2  (5.29)  φ i 3  

where gijk and fvij denote the unknown parameters. Define θi as an m-dimensional (m = 12) vector containing all unknown parameters wijk , gijk , and fvij , in the following format θi = [ wi1

wi 2

wi 3

wi 4

wi12

wi13

wi14

gi 21

gi 31

fvi1

fvi 2

fvi 3 ]T ∈ℜ12×1

Then, the robot dynamic model can be rearranged in terms of θi as given in (5.12). Let θˆ i (t ) denote the estimate of θi . The regression matrix in the joint space  , u , u ) could be further obtained. Yi (Φi , Φ i i i The task implemented in the experiment was to move two manipulators along desired trajectories while causing the differential position error between them to go to zero. Because the control law was executed in joint space in experiments, it synchronized the joint angles of robots. Define the synchronization error as follows: ε(t ) = e1 (t ) − e2 (t ) where e1 and e2 denote the joint errors of the two manipulators. Table 5.1 illustrates joint angles of the two manipulators in the initial and final desired positions, respectively. The desired trajectory of each robot from the initial

86

Synchronization and Control of Multiagent Systems

Table 5.1 Joint Angles of Robots (Unit: Degree) Initial Final

φ 11

φ 12

φ 13

73.334 90

60.333 63.609

–169.812 –174.729

φ 21

φ 22

15.252 –2.973

71.683 74.107

φ 23 –181.980 –185.108

position to the final position was designed as a cubic polynomial. The control gains for each manipulator were Λ = diag{5}(1 / sec) β = diag{8}(1 / sec) kr = diag{80, 80,100}( N ⋅ m ⋅ sec/ rad ) K ε = diag{10}( N ⋅ m / rad ⋅ sec) Γ = diag{0.3}





The initial parameter vector θˆ i (0) was estimated as zero. Figure  5.3 and Figure  5.4 illustrate actual joint angles (solid lines) following desired joint trajectories (dash-dot lines) of the two manipulators, respectively. Figure 5.5 illustrates the synchronization errors of two robots at the first three joints. Due to effects caused by friction and gravity, there exist residual offsets in the robot

94

65

Actual Desired

92

64.5

86 84 82 80 78

63.5 63 62.5 62 61.5

76

61

74

60.5

72

0

2 Time (sec)

4

Joint #3 of Robot 1 (deg)

88

60

Actual Desired

–170

64 Joint #2 of Robot 1 (deg)

Joint #1 of Robot 1 (deg)

90

–169

Actual Desired

–171

–172

–173

–174

0

2 Time (sec)

4

–175

0

2 Time (sec)

Figure 5.3  Joint trajectories of robot 1 with adaptive synchronized control.

4

87

Adaptive Synchronization Control for Coordination 18

75

Actual Desired

16

74.5

10 8 6 4

73.5

Joint #3 of Robot 2 (deg)

Joint #2 of Robot 2 (deg)

Joint #1 of Robot 2 (deg)

12

73 72.5 72 71.5 71

2

Actual Desired

–181

74

14

0

–180

Actual Desired

–182

–183

–184

–185

70.5 0

2

70

4

0

2

–186

4

0

Time (sec)

Time (sec)

2

4

Time (sec)

Figure 5.4  Joint trajectories of robot 2 with adaptive synchronized control.

0.04

–0.02

0.02

–0.04 –0.06 –0.08 –0.1 –0.12 –0.14 –0.16

0 –0.02 –0.04 –0.06 –0.08 –0.1 –0.12

0

–0.02

–0.04

–0.06

–0.08

–0.14

–0.18 –0.2

0.02

Synchronization Error of Joint #3 (deg)

0

Synchronization Error of Joint #2 (deg)

Synchronization Error of Joint #1 (deg)

positions. To show the effectiveness of the synchronization control, the system was further tested with the independent adaptive control without synchronization, by removing all kinds of coupling between the two manipulators in the controller, for comparison. Figure 5.6 and Figure 5.7 illustrate the actual and desired joint angles of two robots, respectively. Figure 5.8 illustrates synchronization errors between two

0

2 Time (sec)

4

–0.16

0

2 Time (sec)

4

–0.1

0

2

4

Time (sec)

Figure 5.5  Synchronization errors of robot joints with adaptive synchronized control.

88

Synchronization and Control of Multiagent Systems 94

65

Actual Desired

92

64.5

86 84 82 80 78

63.5 63 62.5 62 61.5

76

61

74

60.5

72

0

2

60

4

Joint #3 of Robot 1 (deg)

88

Actual Desired

–170

64 Joint #2 of Robot 1 (deg)

Joint #1 of Robot 1 (deg)

90

–169

Actual Desired

–171

–172

–173

–174

0

2

–175

4

0

Time (sec)

Time (sec)

2

4

Time (sec)

Figure 5.6  Joint trajectories of robot 1 with independent adaptive control without synchronization.

robots. It can be seen that although the independent control without synchronization could achieve satisfactory performance in position tracking of each robot, it exhibited poor coordination performance due to large synchronization error. In contrast, the adaptive synchronized controller exhibits much smaller synchronization errors (see Figure 5.5) and, therefore, exhibits better coordination ability.

16 14

74

12

73.5

10 8 6 4

72.5 72 71.5 71

0

70.5

–2

0

2 Time (sec)

4

70

Actual Desired

–181

73

2

–180

Actual Desired

74.5

Joint #2 of Robot 2 (deg)

Joint #1 of Robot 2 (deg)

75

Actual Desired

Joint #3 of Robot 2 (deg)

18

–182

–183

–184

–185

0

2 Time (sec)

4

–186

0

2

4

Time (sec)

Figure 5.7  Joint trajectories of robot 2 with independent adaptive control without synchronization.

89

Adaptive Synchronization Control for Coordination 0.1

0.5

0

–0.2 –0.3 –0.4 –0.5 –0.6 –0.7 –0.8

Synchronization Error of Joint #3 (deg)

Synchronization Error of Joint #2 (deg)

Synchronization Error of Joint #1 (deg)

–0.1

0

–0.5

0

–0.1

–0.2

–0.3

–0.4

–0.9 –1

0

2

–1

4

0

2

–0.5

4

0

Time (sec)

Time (sec)

2

4

Time (sec)

Figure 5.8  Synchronization errors of robot joints with independent adaptive control without synchronization.

5.4.2 Simulations of Coordinating Multiple Manipulators The proposed adaptive synchronization control algorithm was further applied in a simulation of coordinating four planar two-link manipulators in a robot work cell, as shown in Figure 5.9. The manipulators in the work cell were required to move along desired circular trajectories in a plane while maintaining fixed distances

Robot 2

Y

Robot 3

Trajectories

D

Robot 1

Robot 4 2

R

Figure 5.9  Four planer manipulators in an assembly task.

90

Synchronization and Control of Multiagent Systems

between end-effectors of every pair of manipulators. Denote x1 ~ x 2 ∈ℜ 2×1 as the position vectors of four robot end-effectors in Cartesian space, and ϕ(t ) as the variable representing the angular displacement, as shown in Figure 5.9. Maintaining the fixed distance between every pair of two robots means that four robots must keep the fixed value of the angular displacement 2ϕ during the motion. This constraint corresponds to the following relationship in terms of the position errors ei in Cartesian space: ( R + D)e1 = Re 2 e2 = e3 Re3 = ( R + D)e4



(5.30)

e4 = e1

In simulations, the following parameters were selected: R = 5m and D = 1m . Based on (5.30), the following synchronization control goal was used in synchronization controls:

c1e1 = c2e2 = c3en = c4en

(5.31)

with c1 = R + D , c2 = R , c3 = R, and c4 = R + D. Consequently, the synchronization errors were defined as ε1 = c1e1 − c2e2 ε 2 = c2e2 − c3e3 ε3 = c3e3 − c4e4

(5.32)

ε 4 = c4e4 − c1e1

The desired trajectory of each robot end-effector was given in Cartesian space as follows:

xid = xi (0) + ( xi ( f ) − xi (0))(1 − exp(−t )) (i = 1,… , 4)

(5.33)

where xi (0) and xi ( f ), as given in Table  5.2, denote the initial and final desired positions, respectively. Table 5.3 gives initial configurations, link lengths, and link masses of four robots. In simulations, it was assumed that the length and the mass of each link of robots were not known exactly. The uncertain parameter vector θi for each robot was defined by



1  mi1li21 + mi 2 li21  3  1 θi =  m l2 3 i2 i2   1 mi 2 li1li 2   2

        

(5.34)

91

Adaptive Synchronization Control for Coordination

Table 5.2 Robot Initial and Final Positions (Unit: m) Initial Positions x i (0)

Final Positions x i ( f )

Robot 1

[−R sin φ R cos φ]

[− R sin(φ − 0.02) R cos(φ − 0.02)]T

Robot 2

[−( R + D)sin φ ( R + D)cos φ]T

[−( R + D)sin(φ − 0.02) ( R + D)cos(φ − 0.02)]T

Robot 3

[ R sin φ R cos φ]T

[ R sin(φ + 0.02) R cos(φ + 0.02)]T

Robot 4

[( R + D)sin φ ( R + D)cos φ]

T

[( R + D)sin(φ + 0.02) ( R + D)cos(φ + 0.02)]T

T

The regression matrix was specified by Y Yi =  i11  Yi 21 



Yi13   Yi 23  

Yi12 Yi 22

(5.35)

In (5.35), Yi11 = zi1 (1) Yi12 = zi1 (1) + zi1 (2) Yi13 = 2 zi1 (1) cos φ i 2 + zi1 (2) cos φ i 2 − φ i 2 zi 2 (1)sin φ i 2 − (φ i1 + φ i 2 ) zi 2 (2)sin φ i 2 Yi 21 = 0 Yi 22 = zi1 (1) + zi1 (2)

Yi 23 = zi1 (1) cos φ i 2 + φ i 2 zi 2 (1)sin φ i 2

Table 5.3 Robot Configuration and Model Parameters Initial Configuration  2  π  3

1  − π 6 

T

Robot 1

 2  π  3

1  − π 6 

T

Robot 2

 2  π  3

1 − π 3

  

T

Robot 3

 2  π  3

1  − π 3 

T

Robot 4

Link Length

Link Mass

l11 = l12 = 0.3m

m11 = m12 = 1kg

l21 = l22 = 0.3m

m21 = m22 = 1kg

l31 = l32 = 0.3m

m31 = m32 = 1kg

l41 = l42 = 0.3m

m41 = m42 = 1kg

92

Synchronization and Control of Multiagent Systems

where  zi1 (1)  −1  −1 z i1 =   = Ji (Φi ) xi − Ji Ji xi  zi1 (2) 

(

)

 zi 2 (1)  −1 zi 2 =   = Ji (Φi ) xi  zi 2 (2) 



×10–3 Position Errors of Robot 2 (m)

8

x y

6 4 2 0 –2

8

0

1

2 3 Time (sec)

4

5

×10–3 Position Errors of Robot 4 (m)

Position Errors of Robot 3 (m)

Position Errors of Robot 1 (m)

Φi denotes the joint angle of the ith manipulator, and Ji (Φi ) denotes the Jacobian matrix of the ith manipulator. At the initial time, the link length and mass of each manipulator were estimated as lˆi1 (0) = lˆi 2 (0) = 0.2m and mˆ i1 (0) = mˆ i 2 (0) = 0.8 kg . The estimated parameter vector for each robot at the initial time could be determined

x y

6 4 2 0 –2

0

1

2 3 Time (sec)

4

5

10

×10–3 x y

8 6 4 2 0 –2 –4

6

0

1

2 3 Time (sec)

4

5

×10–3 x y

4 2 0 –2

0

1

2 3 Time (sec)

Figure 5.10  Position errors of robots with adaptive synchronized control.

4

5

93

Adaptive Synchronization Control for Coordination

by (5.34). The control gains were chosen to be Λ = diag{10}(1 / sec) β = diag{100}(1 / sec) kri = diag{1}( N ⋅ m ⋅ sec/ rad ) K ε = diag{1}( N ⋅ m / rad ⋅ sec) Γ i = diag{0.1}



×10–4 x y

0.5

Synchronization Error 2 (m)

1

0 –0.5 –1

4

0

1

2 3 Time (sec)

4

5

×10–5 x y

2

Synchronization Error 4 (m)

Synchronization Error 3 (m)

Synchronization Error 1 (m)

Figure 5.10 illustrates position tracking errors of robots with the adaptive synchronized control, where solid lines and dash-dot lines denote coordinates in xand y-directions, respectively. As shown in Figure  5.11, good performance has

0 –2 –4 –6

0

1

2 3 Time (sec)

4

5

1

×10–3 x y

0 –1 –2 –3 –4

4

0

1

2 3 Time (sec)

4

5

×10–3 x y

3 2 1 0 –1

0

1

2 3 Time (sec)

Figure 5.11  Synchronization errors with adaptive synchronized control.

4

5

Synchronization and Control of Multiagent Systems ×10–3 Position Errors of Robot 2 (m)

8

x y

6 4 2 0 –2

10

0

1

2 3 Time (sec)

4

5

×10–3 Position Errors of Robot 4 (m)

Position Errors of Robot 3 (m)

Position Errors of Robot 1 (m)

94

x y

8 6 4 2 0 –2

0

1

2 3 Time (sec)

4

5

10

×10–3 x y

8 6 4 2 0 –2

8

0

1

2 3 Time (sec)

4

5

×10–3 x y

6 4 2 0 –2

0

1

2 3 Time (sec)

4

5

Figure 5.12  Position errors of robots with independent adaptive control without synchronization.

been achieved in the position synchronization among four robots, in addition to satisfactory position-tracking convergence. Figure 5.12 and Figure 5.13 illustrate tracking responses with the independent adaptive control without synchronization, by removing all kinds of coupling among the manipulators in the controllers, for comparison. The major difference between results with the two methods lies in the synchronization error. It can be seen through the comparison of Figure 5.11 and Figure  5.13 that the adaptive synchronized controller can effectively reduce the transient position synchronization error, while making the position tracking error converge to zero. Then, the system was tested by adding a force disturbance to robot 1 at the time of 0.5 to 0.75 seconds during the motion. Figure 5.14 and Figure 5.15 illustrate position errors and synchronization errors of robots, respectively, with the adaptive synchronization control. These results are different from those in

95

×10–4 x y

Synchronization Error 2 (m)

2

0

–2

–4

2

0

1

2 3 Time (sec)

4

5

x y

1 0.5 0 –0.5 0

1

2 3 Time (sec)

4

5

×10–3 x y

0 –5 –10 –15

×10–4

1.5

–1

5

Synchronization Error 4 (m)

Synchronization Error 3 (m)

Synchronization Error 1 (m)

Adaptive Synchronization Control for Coordination

15

0

1

2 3 Time (sec)

4

5

×10–3 x y

10 5 0 –5

0

1

2 3 Time (sec)

4

5

Figure 5.13  Synchronization errors with independent adaptive control without synchronization.

Figure 5.10 and Figure 5.11, due to adding the force disturbance in the motion. It is seen that although only robot 1 is subject to the force disturbance, the other three robots have corresponding responses in the motions to avoid large synchronization errors. Large synchronization errors are not allowable in the coordination task. Figure 5.16 and Figure 5.17 illustrate the results with the independent adaptive control without synchronization. Except robot 1, position errors of robots 2 to 4 in Figure 5.16 are the same as those in Figure 5.12, because there is no force disturbance acting on these robots. The large transient position error of robot 1 results in a significant increase of the synchronization errors ε1 and ε 4 , as shown in Figure 5.17. This may cause a serious problem in the coordination task. Note that the synchronization errors ε 2 and ε 3 in Figure 5.16 are the same as those shown in Figure 5.12, because ε 2 and ε 3 are not affected by ε1 based on definitions in (5.32).

96

x y

0 –0.01

Position Errors of Robot 3 (m)

x y

0 –0.01

–0.015

–0.015 0

1

3 2 Time (sec)

4

0.01

5 x y

0.005 0

–0.005

–0.02

–0.025

0

1

3 2 Time (sec)

4

5

0.01

x y

0.005 0

–0.005

–0.01

–0.015

–0.01

–0.015

–0.02

–0.025

0.01 0.005

–0.005

–0.005

–0.02

Position Errors of Robot 2 (m)

0.01 0.005

Position Errors of Robot 4 (m)

Position Errors of Robot 1 (m)

Synchronization and Control of Multiagent Systems

0

1

2

3

4

5

–0.02

0

1

Time (sec)

2

3

4

5

Time (sec)

×10–3 x y

4 2 0

Synchronization Error 3 (m)

x y

2 1 0

–3

–6 0

1

3 2 Time (sec)

4

5

×10–3 x y

2 1 0

–4

0

1

3 2 Time (sec)

4

5

×10–3 x y

4 2 0

–2

–1

–4

–2

–3

6

×10–3

–2

–4

3

3

–1

–2

–8

Synchronization Error 2 (m)

6

Synchronization Error 4 (m)

Synchronization Error 1 (m)

Figure 5.14  Position errors of robots with adaptive synchronization control (with disturbance).

–6

0

1

2 3 Time (sec)

4

5

–8

0

1

2 3 Time (sec)

4

5

Figure 5.15  Synchronization errors with adaptive synchronized control (with disturbance).

97

Position Errors of Robot 2 (m)

0.02 0 –0.02 –0.04 –0.06

8

x y 0

1

3 2 Time (sec)

4

5

×10–3

Position Errors of Robot 4 (m)

–0.08

Position Errors of Robot 3 (m)

Position Errors of Robot 1 (m)

Adaptive Synchronization Control for Coordination

x y

6 4 2 0 –2

0

1

2 3 Time (sec)

4

5

10

×10–3 x y

8 6 4 2 0 –2 –4

6

0

1

2 3 Time (sec)

4

5

×10–3 x y

4 2 0 –2

0

1

2 3 Time (sec)

4

5

Figure 5.16  Position errors of robots with independent adaptive control without synchronization (with disturbance).

5.5 Summary This chapter extends the adaptive synchronized control approach to coordination of multiple manipulators in robot assembly tasks. Each manipulator is required to track its desired trajectory while maintaining a certain kinematic relationship with the other manipulators, through motion synchronization. Failure to maintain this relationship in tracking may cause the system to be damaged or the assembly task to fail. The proposed coordination strategy is to stabilize position tracking of each manipulator while synchronizing motions of all manipulators by causing differential position errors of every pair of manipulators to converge to zero. In the control design, the cross-coupling technology is incorporated into an adaptive control structure. It has been shown that the proposed adaptive synchronized controller guarantees asymptotic convergence to zero of both position errors and synchronization errors. The proposed coordination scheme is of a decentralized architecture and is more straightforward and easier to implement. Experiments

Synchronization and Control of Multiagent Systems

Synchronization Error 2 (m)

0.1 0 –0.1 –0.2 –0.3 –0.4

2

x y 0

1

3 2 Time (sec)

4

5

×10–4 x y

1.5

Synchronization Error 4 (m)

Synchronization Error 3 (m)

Synchronization Error 1 (m)

98

1 0.5 0 –0.5 –1

0

1

2 3 Time (sec)

4

5

5

×10–3 x y

0 –5 –10 –15

0

1

2 3 Time (sec)

4

5

0.1 0 –0.1 –0.2 –0.3 –0.4

x y 0

1

2 3 Time (sec)

4

5

Figure 5.17  Synchronization errors with independent adaptive control without synchronization (with disturbance).

of coordinating two CRS A460 industrial robots and simulations of a four-robot assembly work cell demonstrate effectiveness of the proposed approach.

References Arimoto, S., Miyazaki, F., and Kawamura, S. 1987. Cooperative motion control of multiple robot arms or fingers. Proceedings of IEEE International Conference on Robotics and Automation, Raleigh, 1407–1412. Chung, S. J., and Slotine, J. J. E. 2009. Cooperative robot control and concurrent synchronization of Lagrangian systems. IEEE Transactions on Robotics 25(3):686–700. Hsu, P. 1989. Control of multi-manipulator systems: trajectory tracking, load distribution, internal force control and decentralized architecture. Proceedings of IEEE International Conference on Robotics and Automation, Scottsdale, 1234–1239. Koivo, A. J., and Unseren, M. A. 1991. Reduced order model and decoupled control architecture for two manipulators holding a rigid object. ASME Journal of Dynamic Systems, Measurement, and Control 113(4):646–654. Koren, Y. 1980. Cross-coupled biaxial computer controls for manufacturing systems. ASME Journal of Dynamic Systems, Measurement, and Control 102(4):265–272.

Adaptive Synchronization Control for Coordination

99

Kosuge, K. et al. 1993. Decentralized coordinated motion control of multirobots. Proceedings of RSJ Annual Conference, 705–706. Liu, Y. H., Arimoto, S., and Ogasawara, T. 1996. Decentralized cooperation control: noncommunication object handling. Proceedings of IEEE International Conference on Robotics and Automation, Minneapolis, 2414–2419. Naumovic, M. 1999. Cross-coupled motion controller for two cooperating robot arms. Proceedings of IEEE International Symposium on Industrial Electronics, Bled, Slovenia, 2:909–913. Rodriguez–Angeles, A., and Nijmeijer, H. 2004. Mutual synchronization of robots via estimated state feedback: a cooperative approach. IEEE Transactions on Control Systems Technology 12(4):542–554. Sun, D., and Mills, J. K. 1999. Performance improvement of industrial robot trajectory tracking using adaptive-learning scheme. ASME Journal of Dynamics Systems, Measurement, and Control 121(2):285–292. Sun, D., and Mills, J. K. 2002. Adaptive synchronized control for coordination of multirobot assembly tasks. IEEE Transactions on Robotics and Automation 18(4):498–510. Tarn, T. J., Bejczy, A. K., and Yun, X. 1986. Coordinated control of two arms. Proceedings of IEEE International Conference on Robotics and Automation, San Francisco, 1193–1202. Wen, J. T., and Delgado, K. K. 1992. Motion and force control of multiple robotic manipulators. Automatica 28(4):729–743. Xi, N., Tarn, T. J., and Bejczy, A. K. 1996. Intelligent planning and control for multirobot coordination: an event-based approach. IEEE Transactions on Robotics and Automation 12(3):439–452. Yoshikawa, T., Sugie, T., and Tanaka, T. 1988. Dynamic hybrid position/force control of robot manipulator-controller design and experiment. IEEE Transactions on Robotics and Automation 4(6):699–705. Yun, X., Sarkar, N., and Kumar, V. 1997. Dynamic control of 3-D rolling contacts in two-arm manipulation. IEEE Transactions on Robotics and Automation 13(3):364–376. Zheng, Y. F., and Luh, J. Y. S. 1985. Control of two coordinated robots in motion. Proceedings of IEEE International Conference on Robotics and Automation, 1761–1766. Zhu, W. H. 2005. On adaptive synchronization control of coordinated multirobots with flexible/ rigid constraints. IEEE Transactions on Robotics, 21(3):520–525.

6

Synchronization Control for Minimization of Contouring Errors of Computer Numerically Controlled Machine Tools

Abstract This chapter will introduce how to apply a synchronization control approach to multiaxis computer numerical control (CNC) machine tools for minimization of contouring errors. Contouring errors are caused by motions of all machining axes in machining process and significantly affect the CNC machining accuracy. As shown in this chapter, the synchronization control approach can provide a unique solution to minimize the contouring errors and thus produce great impact to manufacturing industry. With the synchronization concept, the traditional contouring errors are posed as the position synchronization errors that are defined as differential position errors between each axis and its adjacent ones. A decentralized tracking controller can be designed by feeding back both position and synchronization errors, formed with a combination of feedforward, feedback, and saturation controls. It can be proven that this controller can asymptotically stabilize both position and synchronization errors to zero. The proposed controller does not require the significant use of the system dynamic models, which simplifies actual implementation. Experiments performed on a multiaxis machine tool demonstrate improved performance, especially in the contouring error minimization. After reading this chapter, readers will know how to pose the contouring error minimization problem to a motion synchronization control problem, and then apply the synchronization controller to solve the problem.

101

102

Synchronization and Control of Multiagent Systems

6.1 Introduction In a machining process, motion precision depends on not only the position but also the contouring accuracy. Traditional proportional integral and differential (PID) controls exhibit inherently low rejection to disturbances (Sun 2007). Various modelbased control design methods have been proposed to compensate for the available estimates of dynamic parameters in a feedback or in a feedforward fashion. Poo et al. (1972) analyzed the relation between the feedback controller and the contouring error and concluded that the matched control gain in feedback control design could improve contouring precision. Feedforward controllers are also common in motion control design because they efficiently reduce the servo lag and hence decrease the contouring errors (Tomizuka 1987; Tsao and Tomizuka 1994; Xia and Meng 1995; Yeh and Hsu 1999). These approaches provide robustness to imperfect modeling and disturbances, where the computed-torque control (Kokkinis and Stoughton 1996) is the pioneer design. A large number of control methods, such as sliding mode control (Park et al. 2001), impedance control (Fasse and Gosselin 1999), and adaptive control (Sirouspour and Salcudean 2001; Slotine and Li 1987), are all categorized within this class of controls. Among the majority of CNC machine tool controls, the control loop of an individual actuator receives the local feedback information from its controlled axis only. The disturbance in the control loop of one actuator causes an error that is corrected by this loop only, while the others do not respond. Because the contouring error is determined by motions of all axes, all related axes in machining should be controlled in a synchronous manner so that the predetermined contour can be followed with high contouring accuracy. Otherwise, contouring accuracy is degraded due to uncoordinated motions of the actuated axes. Cross-coupling control (Koren 1980) provides a unique advantage and opportunity to solve the synchronized control problem for contouring error elimination. Cross-coupling control has been incorporated into many existing control methods, such as PID control (Koren and Lo 1991), adaptive control (Chuang and Liu 1992), fuzzy logic control (Koren and Lee 1995), and neurocontrol (Lee and Jeon 1998). A synchronous adaptive feedforward controller was designed and implemented for speed synchronization of two motion axes (Tomizuka et al. 1992), which was followed by works of Kamano et al. (1993) and Yang and Wang (1996). Koren and Lo (1992b) proposed the variable cross-coupling control to provide more precise contouring results by estimating the magnitude and the direction of the contouring errors for further compensation. Yeh and Hsu (2002) proposed a novel approach for arbitrary contours by estimating the contouring error vector to efficiently determine the variable gains for cross-coupling control. To improve contouring accuracy for multiaxis motion systems, Lo (1998) proposed an approach by transforming the coordinate to obtain the moving basis to form a feedback controller for a three-axis motion system. Recently, much progress has been made in utilizing the cross-coupling concept to solve position synchronization of multiple motion axes, such as in the work by Chiu and Tomizuka (1998) and Sun (2003a). An adaptive synchronized controller was developed by Sun and Mills (2002) to asymptotically converge both

Synchronization Control for Minimization of Contouring Errors

103

position and synchronization errors to zero. Some other model-based synchronization controls addressed the contour control problem by using implicit representation of curves to model desired contours (Chiu and Tomizuka 1998) and a receding horizon linear quadratic formulation (McNab and Tsao 1994). It should be noted that most of the existing synchronized controllers reported in the literature are model based, and some of them require extensive online calculations. In practice, there is significant demand for simple control algorithms that do not require the significant use of modeling parameters, leading to implementation simplicity. A non-model-based variable-gain cross-coupling controller was introduced for a general class of contours (Koren and Lo 1991; Koren and Lo 1992a). However, the effect of a time-varying gain in the cross-coupling controller on system stability, and the effect of the introduction of time-varying cross-coupling controls on the overall system dynamics have yet to be examined (Chiu and Tomizuka 2001). Some researchers have tried to address the problem in follow-up research. A control law that consists of a linear time-varying proportional derivative (PD) error feedback and a linear time-invariant trajectory feedforward compensator was proposed by Chiu and Tomizuka (2001), in which the feedforward compensator was calculated from the model dynamics. Another effort to examine the stability and robustness of the cross-coupling control system was reported by Yeh and Hsu (2003). The work on synchronous control of parallel manipulators was reported by Sun et al. (2006). This chapter will introduce the application of a synchronization control approach, which does not require significant use of the machine dynamic model, in minimizing the contouring error of CNC machine tools. The advantages of using the synchronization approach to solve contouring control problems are twofold. First, the contouring error minimization problem can be posed as a multiaxis motion synchronization problem, which makes the simultaneous control of both position and contouring errors to zero feasible. After investigation of the contouring error model (Lo 2002), it is proposed to transform the contouring errors to the position synchronization errors that are defined as differential position errors of all possible pairs of two neighbor axes. In this way, the contouring error control can be realized through a coordination control of multiple machining axes via motion synchronization, providing a simpler solution to ensure both positioning and contouring accuracy. Second, a novel synchronization tracking controller can be developed with the cross-coupling concept. The basic idea is to define a coupled position error that combines synchronization errors of two neighboring machining axes in integration with the position tracking error. The synchronous contouring controller, using feedback of this coupled position error, is of a combination of feedforward/ feedback controls and a saturation control. It can be proven that this synchronous contouring controller guarantees asymptotic convergence to zero of both position and synchronization errors. Experiments performed on a multiaxis machine tool demonstrate the effectiveness of the proposed approach in performance improvement over nonsynchronous controls such as proportional, integral, and derivative (PID) feedback. In particular, the contouring errors are minimized greatly with the proposed control.

104

Synchronization and Control of Multiagent Systems

The following sections will introduce the application of the synchronization control approach to a five-axis CNC machine tool, which is also suited to CNC machine tools with different numbers of machining axes.

6.2 Modeling of a Computer Numerical Control Machine Tool Figure 6.1 illustrates a five-axis machine tool, which employs a table-rotating/tiltingtype design, with three translational axes (in X, Y, and Z coordinate directions) and a rotary table having two rotational axes (in A and C coordinate directions). The cutting tool is carried by two axes (X, Z), and the workpiece is carried by three axes (Y, A, C). Define Ow − X w − Yw − Z w as the workpiece coordinate frame, whose origin Ow is located at the center of the rotary table. Denote Pw = [ px py pz θa θc ]T as the position and orientation vector of the workpiece coordinate frame. Define Om − X m − Ym − Z m as the machine coordinate frame, and the origin O m is offset by the distance Dz from the origin O w of the workpiece coordinate frame. Denote Pm = [ X Y Z θ A θC ]T as the position and orientation vector of the machine coordinate frame. From the Denavit–Hartenberg coordinate transformation (Denavit and Hartenberg 1955), the inverse kinematics from Pw to Pm is described by



 X = px cos θc + py sin θc  Y = − p sin θ cos θ + p cos θ cos θ + ( p + D )sin θ z z a x c a y c a   Z = px sin θc sin θa − py cos θc sin θa + ( pz + Dz ) cosθa − Dz  θ A = θa θ =θ c  C



Cutting tool Zw Workpiece coordinate frame

Yw Ym

Xw Zm

Ow Om

Xm

DZ Z

Machine coordinate frame

Y

X

Figure 6.1  Coordinate system of table-rotating/tilting-type five-axis machine tool.

(6.1)

Synchronization Control for Minimization of Contouring Errors

105

Differentiating Equation (6.1) with respect to time, the relationship between the first time derivative of the machine coordinate Pm and that of the workpiece coordinate Pw is Pm = J −1 Pw



(6.2)

where J denotes the Jacobian matrix. Define x = Pm as the generalized coordinate. Using the Lagrange equation, the complete dynamics equation of the five-axis machine system is given as follows (Tong 2006): H ( x ) x(t ) + C ( x , x ) x (t ) + G ( x ) = τ



(6.3)

where x = [ x1  x5 ]T ∈ℜ n×1 denotes the coordinate vector, H(x) = diag {Hi(xi)} ∈ ℜ5×5 denotes the symmetric and positive-definite inertia matrix, C ( x , x ) = diag{Ci ( x , xi )} ∈ℜ5×5 is the matrix of nonlinear effect, G ( x ) = diag{Gi ( xi )} ∈ℜ5×1 denotes the effect caused by the gravity force, and τ = [τ1  τ5 ]T ∈ℜ5×1 denotes the input torque. Further, denote Hi ( xi ), Ci ( x , xi ), and Gi ( xi ) as submatrices for the ith axis.

6.3 Contouring Errors and Synchronization Errors 6.3.1 Contouring Errors The definition of the contouring error in Lo (2002) is utilized here. Figure  6.2 illustrates the geometric relation between the desired contour and the actual cutter location, where xd denotes the desired position and orientation vector, and c = [ X c Y c Z c θcA θCc ]T denotes the position and orientation of the contour

ρ (Radius of curvature)

Desired contour

t (Tangent) n (Normal)

c (X

c,

Y c,

Zc,

θcA,

xd (X d, Y d, Zd, θdA, θdC) Desired position and orientation

θcC) et δ

e x (X, Y, Z, θA, θC) Actual position and orientation

Figure 6.2  Geometric relation between the desired contour and the actual cutter location.

106

Synchronization and Control of Multiagent Systems

location nearest to the actual tool location. Note that such a definition of the contouring error is common in the literature. Define e = x d − x ∈ℜ5×1 as the position and orientation error, and δ = c − x ∈ℜ5×1 as the contouring error, as shown in Figure 6.2. The relationship between δ and e can be expressed as δ = Τe



(6.4)

where T denotes a translation matrix. For a five-axis machine with axes of X-Y-ZA-C, T has the following expression (Tong 2006):



 1 − Tx2   −Tx Ty  T =  −Tx Tz  −T t A 1   −T t  C1

−Tx Ty

−Tx Tz

0

1 − Ty2

−TyTz

0

−TyTz

2 z

1− T

0

−TA t2

−TA t3

1

−TC t2

−TC t3

0

0  0  0 0  1 

(6.5)

where Tx, Ty, Tz, TA, and TC, are defined as



 Tx     et  n  Ty  = t − 2ρ T   z 

(6.6)

TA =

dθdA 1 d 2θdA + et ds 2 ds 2

(6.7)

TC =

dθCd 1 d 2θCd + et ds 2 ds 2

(6.8)

  in which t = [t1 t2 t3 ]T and n = [n1 n2 n3 ]T denote the tangent and normal vectors at the desired position in X, Y, and Z directions, respectively; et = |[e1 e2 e3 ]T | = e1t1 + e2t2 + e3t3; ρ denotes the radius of curvature; and s is the path length along the desired contour. The details of the above definitions can be found in Lo (2002) and Tong (2006). In the following, this contouring error will be posed as the synchronization error.

6.3.2 Synchronization Errors Define the contouring error control goal as follows:

Lim δ = Lim Τe = 0 t →∞

t →∞

(6.9)

Synchronization Control for Minimization of Contouring Errors

107

This goal can be expressed as a group of subgoals. For the five-axis machine with the above modeling, the subgoals are listed below according to (6.4) and (6.5): δ1 = (1 − Tx2 ) e1 + (−Tx Ty )e2 + (−Tx Tz )e3 = 0

(

)

δ 2 = (−Tx Ty )e1 + 1 − Ty2 e2 + (−TyTz )e3 = 0 δ 3 = (−Tx Tz )e1 + (−TyTz )e2 + (1 − Tz2 ) e3 = 0



(6.10)

δ 4 = (−TA t1 )e1 + (−TA t2 )e2 + (−TA t3 )e3 + e4 = 0

δ 5 = (−TC t1 )e1 + (−TC t2 )e2 + (−TC t3 )e3 + e5 = 0 Solve (6.10) to yield the following relationship in terms of ei:



c1e1 = c2e2 = c3e3 = c4e4 = c5e5

(6.11)

where ci denotes the coupling parameter, which can be solved from (6.10) as follows: c1 = TyTz TATC (Tx t1 + Tyt2 + Tz t3 ) c2 = Tx Tz TATC (Tx t1 + Tyt2 + Tz t3 ) c3 = Tx TyTATC (Tx t1 + Tyt2 + Tz t3 )

(6.12)

c4 = Tx TyTz TC

c5 = Tx TyTz TA

Equation (6.11) implies that in order to achieve the contouring error control goal (6.9), motions of all machining axes must maintain the required relationship with each other. Treating Equation (6.11) as a synchronization control goal, a synchronization control approach can provide a useful solution to maintain this relationship during the motion. In this way, the contouring error elimination problem is posed as a motion synchronization control problem. Unlike the previous chapters, the synchronization goal in this chapter is directly transferred from the contouring control goal. To achieve the synchronization control goal (6.11), motions of all machining axes are regulated while driving their position errors ei → 0. The essential feature that differentiates synchronized control from conventional uncoupled control is the employment of an additional feedback signal (i.e., synchronization error). For a system having closed-loop structures, employment of the synchronization error provides each machining axis with motion information both from itself and from the other axes. A synchronous control can achieve better trajectory tracking performance of each machining axis than a conventional nonsynchronous control method. The assertion was also demonstrated in previous studies, such as those by Sun and Mills (2002), Sun (2003a), and McNab and Tsao (1994).

108

Synchronization and Control of Multiagent Systems

Consider motion synchronization between every pair of axes. Define a set of synchronization errors εi as follows: ε1 = c1e1 − c2e2 ε 2 = c2e2 − c3e3



(6.13)

ε5 = c5e5 − c1e1



Obviously, if all synchronization errors εi → 0, the synchronization control goal (6.11) is achieved automatically, and the contouring error control goal (6.9) is subsequently achieved. Now the control objective becomes to design a control torque τi to cause position error ei as well as the synchronization error εi to converge to zero simultaneously.

6.4 Control Design In this section, a synchronous control algorithm will be developed, which is then followed by the stability analysis.

6.4.1 Controller Formulation A synchronous tracking controller for contouring error minimization is constructed using the following design steps. First, introduce the cross-coupling concept to the controller design with the use of coupled position error denoted by Ei. The coupled position error links the position error ei and the synchronization error εi into the same equation, as follows:



Ei = ciei + β

t

∫ (ε − ε 0

i

i −1

) dς

(6.14)

where β denotes a positive control gain, and ς is a time variable. εi in (6.14) is subject to the boundary condition that when i = 1, i − 1 = n. The motivation of such a definition is to ensure that both ei and εi converge to zero when Ei → 0. It is also noted that such a coupled position error Ei contains the information of two neighboring axes i − 1 and i + 1, which can be seen from (6.14) and the definition of εi in (6.13). Second, incorporate the cross-coupling concept into slide mode control design (i.e., Slotine and Li 1987). In Slotine and Li (1987), a command vector was defined to derive a combined position and velocity error for slide mode control. In a similar manner, a new command vector including the coupled position error Ei can be designed in order to derive Ei and E i to zero.

Synchronization Control for Minimization of Contouring Errors

109

Differentiating Ei in (6.14) with respect to time yields

E i = ciei + ciei + β(εi − εi −1 )

(6.15)

Then, the command vector ui can be constructed as follows:

ui = ci xid + ciei + β(εi − εi −1 ) + ΛEi

(6.16)

where Λ is a positive control gain. It is seen that unlike Slotine and Li (1987), here the coupled position error Ei is used in constructing the command vector ui, and also, a time-varying coupling parameter ci is included. Introduce a combined vector that contains both Ei and E i , as follows: ri = ui − ci xi = ciei + cie + β(εi − εi −1 ) + ΛEi

= E i + ΛEi



(6.17)

Now the control objective is to design the torque τi to restrict ri to lie on the sliding surface, so that the coupled errors Ei and E i tend to zero. The next step is to design a torque control input. For easy implementation, the control input is designed in a decentralized architecture as given below: τi = K iH ci−1 (ui − ci xi ) + K iC ci−1ui + Gi + krici−1ri

+ sign ( ci−1ri ) K is + ci kε (εi − εi −1 )



(6.18)

where K iH and K iC are positive feedforward control gains, which are used instead of the dynamic modeling parameters Hi ( xi ) and Ci ( xi , xi ) , because Hi ( xi ) and Ci ( xi , xi ) may not be known exactly in practice. To compensate for the effect due to errors between these feedforward control gains and the actual dynamic models, a saturated control with the sign function is utilized, as is seen in the right-hand side of (6.18). The relevant stability analysis using the sign function can be found in Utkin (1977) and Slotine and Sastry (1983). To avoid the chattering problem due to the use of the sign function, one can use the function tanh(⋅) instead of the sign function when implementing the controller practically. In the controller (6.18), Gi is the gravitational force and may be neglected in X-, Y-, and C-axis motions; kri and kε are positive feedback control gains; K is is a positive parameter that satisfies

K is = ∆ iH ci−1 (ui − ci xi ) + ∆ Ci ci−1ui

(6.19)

where ∆ iH and ∆ Ci in (6.19) are scalars. As stated in the conditions of Theorem 6.1, ∆ iH and ∆ Ci must be great enough to satisfy ∆ iH ≥ K iH − Hi ( xi ) and ∆ iN ≥ K iC − Ci ( xi , xi ) .

110

Synchronization and Control of Multiagent Systems

Design of the first four terms in the right-hand side of the controller (6.18) aims to obtain a closed-loop dynamics in terms of the combined vector ri, which will be used in the stability analysis. The closed-loop dynamics can be obtained by substituting (6.18) into the dynamic equation (6.3) as follows: Hi ( xi )ci−1ri + Ci ( xi , xi )ci−1ri + krici−1ri + Zi + sign ( ci−1ri ) K is + ci kε (ε i − εi −1 ) = 0





(6.20)

where

Zi = ( K iH − Hi ( xi ) ) ci−1 (ui − ci xi ) + ( K iC − Ci ( xi , xi ) ) ci−1ui

(6.21)

The last term in (6.18) is used to compensate for the effect due to the introduction of the cross-coupling control to the overall system dynamics, as required by the stability analysis. It is seen from (6.18) that the control of each axis considers the synchronization between this axis and its two neighboring axes but not all other axes. This will make it easier to implement the controller. It is further assumed that xid and its first- and second-order derivatives are bound, and Hi ( xi ) and Ci ( xi , xi ) are bounded if their arguments are bounded. To determine the control gains in (6.18), it is suggested to initialize K iH and K iC based on an estimation of the machine dynamics model, which can be known from calibration tests. Then, a control gain tuning strategy can be used to finalize K iH , K iC , and the other control gains. The tuning procedures are described as follows. First, select β = 0 and kε = 0, and tune K iH and K iC using a trial-and-error method. Both kri and K is are determined based on K iH and K iC , which will be detailed in the following stability analysis. The controller at this time is a normal feedforward/ feedback control plus a saturation control without cross-coupling action. Second, gradually increase β from zero to introduce the synchronization control. As is seen in (6.14), the value of β determines the weight of the synchronization error εi in the coupled position error Ei, and thus, it affects the synchronization effort in the whole control action. Meanwhile, the control gain k ε is also increased from zero, because it is used to compensate for the cross-coupling control effect that comes from β.

6.4.2 Stability Analysis Theorem 6.1 The controller (6.18) leads to asymptotic stability of the closed-loop system (6.20), namely, ei → 0 and εi → 0 as time t → ∞, under the following conditions:

1. The scalars ∆ iH and ∆ Ci are large enough to satisfy ∆ iH ≥ K iH − Hi ( xi ) and ∆ Ci ≥ K iC − Ci ( xi , xi ) .

111

Synchronization Control for Minimization of Contouring Errors



2. The control gain kri is large enough to satisfy d −1 (ci ) dt

kri ≥ Hi ( xi )ci



Proof Define a Lyapunov function candidate as n

V=

∑ i =1

 1 H ( x ) c −1 r 2 + 1 k (ε )2  +  2 i i ( i i ) 2 ε i 

n

∑ i =1

1   kε Λβ   2 

2   (εi − εi −1 ) d ς   (6.22)   o



t

Differentiating V with respect to time yields

V =

n

∑ i =1

 H ( x )c −2r r + 1 H ( x ) c −1r 2 +   i i i i i 2 i i ( i i)      d −1 2 − 1   Hi ( xi )ci dt ( ci ) ri + kε εi ε i  

n

+

∑ k Λβ(ε − ε ) ∫ (ε − ε t

ε

i

i −1

i

o

i =1

i −1



(6.23)



(6.24)

)d ς

Multiplying both sides of (6.20) by ci−1ri yields Hi ( xi )ci−2riri + Ci ( xi , xi )ci−2ri2 + krici−2ri2 + ( ci−1ri ) Zi + ci−1ri K is + ri kε (ε i − εi −1 )



Substituting (6.24) into (6.23) yields V =

n

∑  H (x )c i

i

−1 i

i =1

n



∑ i =1

d −1 2 (ci ) ri − krici−2ri2 + kεεi ε i  dt 

( ci−1ri ) Zi + ci−1ri K is  −

n

+

∑ k Λβ(ε − ε ) ∫ (ε − ε

∑[r k (ε − ε i ε

i =1

t

ε

i =1

n

i

i −1

o

i

i −1

)d ς

i

i −1

)]

(6.25)

112

Synchronization and Control of Multiagent Systems

Under condition 1 of Theorem 6.1, it follows that

(ci−1ri ) Zi +

ci−1ri K is

( r (∆

≥ ci−1ri K is − Zi = ci−1 i

)

ci−1 (ui − ci xi ) + ∆ Ci ci−1ui − Zi

H i

)



+  

 K iH − Hi ( xi ) ⋅ ci−1 (ui − ci xi ) ≥ c r   K iC − Ci ( xi , xi ) ⋅ ci−1ui − Zi −1 i i

(6.26)

  ( K iH − Hi ( xi ) ) ci−1 (ui − ci xi ) + − Zi  ≥ ci−1ri   ( K iC − Ci ( xi , xi ) ) ci−1ui  =0



Now analyze the term ∑in=1[ri kε (εi − εi −1 )] in (6.25). From (6.13) to (6.17), it follows that n

∑ r k (ε − ε i ε

i

i −1

)

i =1

n

=

∑ (r − r

i +1

i

)kε εi

i =1 n

=

∑ i =1

 ε i + β(2εi − εi −1 − εi +1 ) + Λεi +    t  Λβ (2ε − ε − ε ) dw  kε εi i i −1 i +1  0 



n

n

=



ε i kε εi +

∑ k Λε ε

n

+ kε Λβ

n

+ β kε

2 i

i =1

i =1



(6.27)

∑ i =1

(εi − εi +1 )

∑ (ε − ε i

i +1

)

i =1

n

∫ ∑ (ε − ε t

0

i

i +1

) dς

i =1

Substituting (6.26) and (6.27) into (6.25) and utilizing condition 2 of Theorem 6.1, one obtains V = −

n

∑ i =1 n

≤−

∑ i =1

≤0

d −1  −2 2  2  kri − Hi ( xi )ci dt ( ci ) ci ri + kε Λε i  −  

n

∑ k β( ε − ε ε

i

i −1

)2

i =1

  d −1  −2 2 2  kri − Hi ( xi )ci dt ( ci )  ci ri + kε Λε i  −  

n

∑ k β( ε − ε ε

i =1

i

i −1

)2

(6.28)

113

Synchronization Control for Minimization of Contouring Errors

Using a similar analysis to that in Chapter 5, one concludes that ri → 0 and εi → 0 as time t → 0. The synchronization goal (6.11) is achieved. From (6.17), it follows that Ei → 0. Now prove ei = 0 when Ei = 0 and εi = 0. Combining all equations in (6.14) with indices 1 to n, it follows that c1e1 + c2e2 +  + cnen = 0



(6.29)

Substituting (6.11) into (6.29) yields c1e1 = c2e2 =  = cnen = 0



(6.30)

Because ci is not zero, ei = 0. Therefore, the system is asymptotically stable.

6.5 Experiments Experiments were performed on a homemade five-axis CNC machine tool, as shown in Figure 6.3 and Figure 6.4, to evaluate the effectiveness of the proposed synchronous contouring controller. The three translational axes (X, Y, and Z) are driven by DC brushless motors via THK ball-screws, each with a pitch of 5 mm. Two rotational axes (A and C) are driven by two-phase bipolar stepper motors with the reduction gear 1:20 and 1:30. The built-in rotary encoders installed on the three DC brushless motors feed back the angular positions to provide closed-loop controls. A DCT0040 motion control/drive system with a stepper motor control

Interface

5-axis machine tool

CNC system

Figure 6.3  Outlook of the five-axis computer numerical control machine tool.

114

Synchronization and Control of Multiagent Systems

Spindle X-axis Z-axis

C-axis

Cutting tool

A-axis Y-axis

Figure 6.4  Machine frame of the table-rotating/tilting-type five-axis computer numerical control machine tool.

module, provided by DynaCity Technology (HK) Ltd., was utilized for the fiveaxis controls. Due to the fact that two rotary axes are controlled by the open-loop stepper motor controller, the proposed synchronous control algorithm was applied to three translational axes only. The proposed synchronization control is not limited to any fixed number of machining axes, so this would not affect the evaluation of the proposed method. From (6.11), the synchronization goal in the experiment was defined as c1e1 = c2e2 = c3e3 , where c1 = TyTz , c2 = Tx Tz , c3 = Tx Ty , and all Tx, Ty , and Tz have been expressed in Tong (2006). The rationale behind this goal is the observation that, when all ciei are equal, multiple machining axes of the machine tool move in a synchronous manner to follow the desired contour. As a result, synchronization is achieved, and the desired contour of the tracking path is attained. The experimental tasks were to move the three translational axes (X, Y, and Z) along the desired trajectories in both linear and nonlinear contours. The CNC solution enables interpolation function in these experiments. For simplicity, experiments were conducted without the cutting operation. Figure 6.5 through Figure 6.7 illustrate the desired motions in linear contour, where Figure 6.5 illustrates the desired three-dimensional linear contour trajectory, Figure 6.6 illustrates the desired position trajectories of three axes, and Figure 6.7 illustrates the velocity profiles of three axes. Figure  6.8 through Figure  6.10 illustrate the desired motions in nonlinear contour. For comparison purposes, both synchronization control and PID feedback control plus gravity compensation were used in tests. The calibration was done in

115

Synchronization Control for Minimization of Contouring Errors

Desired linear contour

14 Z-axis Position (mm)

12 10 8 6 4 2 0 25

20 Y-a 15 x is 10 Pos i t io 5 n( mm )

20

0

0

25

15 m) 10 n (m i s t io o P s i X-ax

5

30

30

25

25

25

20 15 10 5 0

Z-axis Trajectory (mm)

30

Y-axis Trajectory (mm)

X-axis Trajectory (mm)

Figure 6.5  Desired trajectory of the three-dimensional linear contour.

20 15 10 5

0

0.2 0.4 0.6 0.8 Time (sec)

1

1.2

0

20 15 10 5

0

0.2 0.4 0.6 0.8 Time (sec)

1

1.2

0

0

0.2 0.4 0.6 0.8 Time (sec)

Figure 6.6  Desired position trajectories of the three axes for linear contour.

1

1.2

Synchronization and Control of Multiagent Systems 30

30

25

25

25

20 15 10

20 15 10 5

5 0

Velocity of Z-axis (mm/s)

30

Velocity of Y-axis (mm/s)

Velocity of X-axis (mm/s)

116

0

0.2 0.4 0.6 0.8

1

0

1.2

20 15 10 5

0

0.2 0.4 0.6 0.8

Time (sec)

1

1.2

0

0

0.2 0.4 0.6 0.8

Time (sec)

Time (sec)

Figure 6.7  Velocity profiles of the three axes for linear contour.

14 Z-axis Position (mm)

12

Desired nonlinear contour

10 8 6 4 2 0 30

25 Y-a 20 x is 15 Po 10 s it ion (m m

25

)

5

0

0

5

10

X-ax

30

20 m) n (m o i t i s is Po 15

Figure 6.8  Desired trajectory of the three-dimensional nonlinear contour.

1

1.2

117

30

30

25

25

25

20 15 10

20 15 10 5

5 0

Z-axis Trajectory (mm)

30

Y-axis Trajectory (mm)

X-axis Trajectory (mm)

Synchronization Control for Minimization of Contouring Errors

0

0.2 0.4 0.6 0.8 Time (sec)

1

1.2

0

20 15 10 5

0

0.2 0.4 0.6 0.8 Time (sec)

1

1.2

0

0

0.2 0.4 0.6 0.8

1

1.2

Time (sec)

Figure 6.9  Desired position trajectories of the three axes for nonlinear contour.

advance to estimate the inertia and nonlinear terms of three translational axes. The calibration results provided a reference in choosing the initial values of K iH and K iC . The gravitational force in the Z-axis was detected by counting the weights of the Z-axis and the spindle. The gain tuning procedures are described as follows. First, set β = 0 and kε = 0 temperately, and slightly tune K iH and K iC online based on the initial values obtained from the calibration results. Based on the conditions of Theorem 6.1, kri and K is are determined in terms of K iH and K iC . Then, gradually increase β and kε from zero to introduce the synchronization control. As specified before, β determines the weight of the synchronization control in the whole control action. It is found from experiments that in the linear contour, motions of all axes display better synchronization in nature than in the nonlinear contour, and β may be chosen relatively small. In the nonlinear contour, β may be chosen relatively high. The control gain kε is adjusted by following β, aiming for compensating for the cross-coupling control effect. Table 6.1 lists all finally determined control gains in both the linear and nonlinear contouring control experiments. For the PID control, the trial-anderror method can be used to determine the control gains. The turning results are given in Table 6.2. Experiments in linear contour motion were performed first. Figure 6.11 through Figure 6.13 illustrate position errors, synchronization errors, and contouring errors of three translational axes (X, Y, Z), using the two control algorithms, respectively. The solid lines denote the experimental results with the synchronous contouring controller, and the dashed lines denote results with the PID control plus gravity compensation. It is seen from Figure 6.11 that the synchronous contouring controller exhibits better performance in terms of the position error convergence. One

118 Velocity of X-axis (mm/s)

30

Velocity of Y-axis (mm/s)

30

Velocity of Z-axis (mm/s)

Synchronization and Control of Multiagent Systems

30

25 20 15 10 5 0

0

0.2

0.4

0.6 Time (sec)

0.8

1

1.2

0

0.2

0.4

0.6 Time (sec)

0.8

1

1.2

0

0.2

0.4

0.6 Time (sec)

0.8

1

1.2

25 20 15 10 5 0

25 20 15 10 5 0

Figure 6.10  Velocity profiles of the three axes for nonlinear contour.

Table 6.1 Control Gains of the Proposed Synchronous Controller β = 0.5, Λ = {0.5}, ∆ M = 1.2, ∆ N = 0.1, Linear contour K H = diag{1.4 3.8 1.1}, G = diag{0 0 − 3.4}, K C = diag{0.1}, kr = diag{0.4}, kτ = diag{1.2}, K s = diag{1.2 3.4 1.0}.

Nonlinear contour

β = 1.0, Λ = {1.0}, ∆ M = 1.4, ∆ N = 0.1, K H = diag{1.4 3.8 1.1}, G = diag{0 0 − 3.4}, K C = diag{0.1}, kr = diag{0.3}, kτ = diag{1.1}, K s = diag{1.2 3.4 1.0}.

119

Synchronization Control for Minimization of Contouring Errors

Table 6.2 Control Gains of the Proportional, Integral, and Derivative Plus Gravity Compensation Controller

K p = diag{1.5}, , K i = diag{0.04 0.03 0.11}, K d = diag{0.1}, G = diag{0 0 − 3.4}

Position Error of X-axis (mm)

Nonlinear contour

0.02 0.015 0.01 0.005 0 –0.005 –0.01 –0.015

Position Error of Y-axis (mm)

K p = diag{1.8} K i = diag{0.04 0.06 0.1}, K d = diag{0.3}, G = diag{0 0 − 3.4}

0.04 0.03 0.02 0.01 0 –0.01 –0.02 –0.03 –0.04

Position Error of Z-axis (mm)

Linear contour

0.04 0.03 0.02 0.01 0 –0.01 –0.02 –0.03 –0.04

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

Figure 6.11  Position errors of linear contour.

1.2

1.4

1.6

1.8

Synchronization and Control of Multiagent Systems

6

×10–3 Proposed control PID control

4 2 0 –2 –4

Synchronization Error ε2 (mm)

–6

0.02 0.015 0.01 0.005 0 –0.005 –0.01 –0.015

Synchronization Error ε3 (mm)

Synchronization Error ε1 (mm)

120

0.02 0.015 0.01 0.005 0 –0.005 –0.01 –0.015

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Figure 6.12  Synchronization errors of linear contour.

reason for the improvement is that the synchronous controller (6.18) has the feedforward control, which can improve the system dynamic responses. Figure  6.12 and Figure  6.13 illustrate the synchronization errors and the contouring errors under the two control methods, respectively. It is more evident to see the performance difference between the two controllers. These experimental results demonstrate the effectiveness of the proposed synchronous controller in minimizing the contouring errors. Note that the synchronization errors and the contouring errors are not the same, but both indicate the coordination performance of multiple machining axes. Experiments in nonlinear contour motion were further performed. Figure 6.14 through Figure  6.16 illustrate the experimental results of position errors,

121

Synchronization Control for Minimization of Contouring Errors

Contour Error in X-direction (mm)

0.015 0.005 0 –0.005 –0.01

Contour Error in Y-direction (mm)

Proposed control PID control

0.01

0.015 0.01 0.005 0 –0.005 –0.01 –0.015 –0.02 –0.025

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

Contour Error in Z-direction (mm)

0.04 0.03 0.02 0.01 0 –0.01 –0.02 –0.03 –0.04

0

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Figure 6.13  Contouring errors of linear contour.

synchronization errors, and contouring errors. Again, compared to the traditional PID control plus gravity compensation, the proposed synchronous contouring controller exhibits better performance in the convergence of the position errors as well as the minimization of the synchronization and contouring errors. It is also noted that the improvement of the synchronization and contouring errors is more evident in the nonlinear contour than in the linear contour, when using the synchronization control approach. This is because the contouring errors become greater in the nonlinear contour motion, and the synchronization effort of reducing the contouring errors produces greater impact than using the nonsynchronous control, such as PID. Table 6.3 gives a summary of the maximum absolute errors in both the linear and nonlinear contour motions. These data verify again the effectiveness of synchronization control in minimizing contouring errors.

Position Error of X-axis (mm)

0.125 0.1 0.075 0.05 0.025 0 –0.025 –0.05 –0.075

Position Error of Y-axis (mm)

0.1 0.075 0.05 0.025 0 –0.025 –0.05 –0.075 –0.1

Position Error of Z-axis (mm)

122

0.1 0.075 0.05 0.025 0 –0.025 –0.05 –0.075 –0.1

Synchronization and Control of Multiagent Systems

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Figure 6.14  Position errors of nonlinear contour.

Due to the limitation of hardware, the above experiments were carried out on three linear axes only. Because the proposed synchronization approach is not limited to any fixed number of axes, experiments on three linear axes are good enough to verify the correctness of the synchronization control approach.

6.6 Summary In this chapter, a synchronization control approach is applied to minimize the contouring errors of multiaxis CNC machine tools. First, the contouring error minimization problem is posed as a motion synchronization control problem, and the minimization of the countering errors is achieved through the control of synchronization errors to converge to zero. Second, a synchronization controller is developed

123

Synchronization Error ε3 (mm)

Synchronization Error ε2 (mm)

Synchronization Error ε1 (mm)

Synchronization Control for Minimization of Contouring Errors 0.09

Proposed control PID control

0.06 0.03 0 –0.03 –0.06

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

0.08

1.4

1.6

1.8

Proposed control PID control

0.06 0.04 0.02 0 –0.02 –0.04 –0.06 0.03 0.02 0.01 0 –0.01 –0.02 –0.03 –0.04 –0.05

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Figure 6.15  Synchronization errors of nonlinear contour.

by using the cross-coupling control concept. The controller formulation, which utilizes feedback of the coupled position error, is a combination of feedforward/ feedback control and saturation control. It is proven that the proposed synchronous controller leads to asymptotic convergence to zero of both position and synchronization errors. The cross-coupling effect on the system stability has been investigated. Finally, experiments are performed on a CNC machine tool to demonstrate the effectiveness of the proposed approach. Both theoretical and experimental studies reported in this chapter show that the synchronization control can be readily applied to a multiaxis CNC machine tool with a particular objective of minimizing contour errors. This provides another good example of applying the synchronization approach to industry.

124

Contour Error in X-direction (mm)

Synchronization and Control of Multiagent Systems 0.05 0.04 0.03 0.02 0.01 0 –0.01 –0.02 –0.03

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

Contour Error in Y-direction (mm)

0.1

1.6

1.8

Proposed control PID control

0.075 0.05 0.025 0 –0.025 –0.05

Contour Error in Z-direction (mm)

1.4

0.075 0.05 0.025 0 –0.025 –0.05 –0.075 –0.1

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Proposed control PID control

0

0.2

0.4

0.6

0.8 1 Time (sec)

1.2

1.4

1.6

1.8

Figure 6.16  Contour errors of nonlinear contour.

Table 6.3 The Maximum Absolute Errors Maximum Absolute Errors

Proportional, Integral, and Derivative (PID) Control

Synchronous Control

X-axis position error e1(mm)

Linear: 0.0171 Nonlinear: 0.1024

Linear: 0.0015 Nonlinear: 0.0093

Y-axis position error e2(mm)

Linear: 0.0328 Nonlinear: 0.0765

Linear: 0.0021 Nonlinear: 0.008

Z-axis position error e3(mm)

Linear: 0.0355 Nonlinear: 0.095

Linear: 0.0021 Nonlinear: 0.0079

Synchronization error ε1(mm)

Linear: 0.0054 Nonlinear: 0.0804

Linear: 0.0004 Nonlinear: 0.0052

125

Synchronization Control for Minimization of Contouring Errors

Table 6.3 (continued) The Maximum Absolute Errors Maximum Absolute Errors

Proportional, Integral, and Derivative (PID) Control

Synchronous Control

Synchronization error ε2 (mm)

Linear: 0.0166 Nonlinear: 0.0743

Linear: 0.001 Nonlinear: 0.0057

Synchronization error ε3 (mm)

Linear: 0.0161 Nonlinear: 0.0413

Linear: 0.001 Nonlinear: 0.0065

Contour error in X direction δ1 (mm)

Linear: 0.0148 Nonlinear: 0.0408

Linear: 0.001 Nonlinear: 0.0059

Contour error in Y direction δ2 (mm)

Linear: 0.0219 Nonlinear: 0.0751

Linear: 0.0013 Nonlinear: 0.0071

Contour error in Z direction δ3 (mm)

Linear: 0.0342 Nonlinear: 0.0945

Linear: 0.0016 Nonlinear: 0.006

References Chiu, T. C., and Tomizuka, M. 1998. Coordinate position control of multi-axis mechanical systems. ASME Journal of Dynamic Systems, Measurement, and Control 120(3):389–393. Chiu, T. C., and Tomizuka, M. 2001. Contouring control of machine tool feed drive systems: a task coordinate frame approach. IEEE Transactions on Control System Technology 9(1):130–139. Chuang, H. Y., and Liu, C. H. 1992. A model-referenced adaptive control strategy for improving contouring accuracy of multiaxis machine tools. IEEE Transactions on Industrial Applications 28(1):221–227. Denavit, J., and Hartenberg, R. S. 1955. A kinematic notation for lower-pair mechanism based on matrices. ASME Journal of Applied Mechanics 22(1):215–221. Fasse, E. D., and Gosselin, C. M. 1999. Spatio-geometric impedance control of Gough-Stewart platforms. IEEE Transactions on Robotics and Automation 15(2):281–288. Kamano, T., Suzuki, T., Luchi, N., and Tomizuka, M. 1993. Adaptive feedforward controller for synchronization of two axes positioning system. Transactions of Society of Instrument and Control Engineers (SICE), Japan, 29(7):785–791. Kokkinis, T., and Stoughton, R. 1996. Dynamic and control of closed-chain robot arms with application to new direct-drive robot arm. International Journal of Robotics and Automation 6(1):25–34. Koren, Y. 1980. Cross-coupled biaxial computer controls for manufacturing systems. ASME Journal of Dynamic Systems, Measurement, and Control 102(4):265–272. Koren, Y., and Lee, S. 1995. Fuzzy logic cross-coupling control. CIRP ProceedingManufacturing Systems 25(1):104–108. Koren, Y., and Lo, C. C. 1991. Variable-gain cross-coupling controller for contouring. Annals of the CIRP 40(1):371–374. Koren, Y., and Lo, C. C. 1992a. Evaluation of servo-controllers for machine tools. Proceedings of American Control Conference, Chicago, Illinois, 370–374. Koren, Y., and Lo, C. C. 1992b. Advanced controllers for feed drives. CIRP Proceedings— Manufacturing Systems 41(2):689–698. Lee, H. C., and Jeon, G. F. 1998. A neuro-controller for synchronization of two motion axes. International Journal of Intelligent Systems 13(6):571–586.

126

Synchronization and Control of Multiagent Systems

Lo, C. C. 1998. Three-axis contouring control based on a trajectory coordinate basis. ASME International Journal Series C-Mechanical Systems, Machine Elements and Manufacturing 41(2):242–247. Lo, C. C. 2002. A tool-path control scheme for five-axis machine tools. International Journal of Machine Tools and Manufacture 42(1):79–88. McNab, R., and Tsao, T. 1994. Multiaxis contour tracking: a receding time horizon linear quadratic optimal control approach. Dynamic System and Control 2. Park, M. K., Lee, M. C., and Go, S. J. 2001. The design of sliding mode controller with perturbation observer for a 6-DOF parallel manipulator. Proceedings of International Symposium on Industrial Engineering, Pusan, Korea, 3:1502–1507. Poo, A., Bollinger, J. G., and Younkin, W. 1972. Dynamic error in type contouring systems. IEEE Transactions on Industrial Application 8:477–484. Sirouspour, M. R., and Salcudean, S. E. 2001. Nonlinear control of hydraulic robots. IEEE Transactions on Robotics and Automation 17(2):173–182. Slotine, J. J. E., and Li, W. 1987. On the adaptive control of robot manipulators. International Journal of Robotics Research 6(3):49–59. Slotine, J. J. E., and Sastry, S. 1983. Tracking control of nonlinear systems using sliding surfaces, with application to robot manipulators. International Journal of Control 38:465–492. Sun, D. 2003a. Position synchronization of multiple motion axes with adaptive coupling control. Automatica 39(6):997–1005. Sun, D. 2007. Comments on active disturbance rejection control. IEEE Transactions on Industrial Electronics, 54(6):3428–3429. Sun, D., and Mills, J. K. 2002. Adaptive synchronized control for coordination of multirobot assembly tasks. IEEE Transactions on Robotics and Automation 18(4):498–510. Sun, D., Ren, L., Mills, J. K., and Wang, C. 2006. A synchronous tracking control of parallel manipulators using cross-coupling approach. International Journal of Robotics Research 25(11):1137–1147. Tomizuka, M. 1987. Zero phase error tracking algorithm for digital control. ASME Journal of Dynamic Systems, Measurement, and Control 109(1):65–68. Tomizuka, M., Hu, J. S., and Chiu, T. C. 1992. Synchronization of two motion control axes under adaptive feedforward control. ASME Journal of Dynamic Systems, Measurement, and Control 114(6):196–203. Tong, M. C. 2006. Modeling and cross-coupled contouring control of multi-axis CNC machine tools. MPhil thesis, City University of Hong Kong. Tsao, T. C., and Tomizuka, M. 1994. Robust adaptive and repetitive digital tracking control and application to a hydraulic servo for noncircular machining. ASME Journal of Dynamic Systems, Measurement, and Control 116(1):24–32. Utkin, V. I. 1977. Variable structure systems with sliding modes. IEEE Transactions on Automatic Control 22(2):212–222. Xia, J. Z., and Menq, C. H. 1995. Precision tracking control of nonminimum phase systems with zero phase error. International Journal of Control 61(4):791–807. Yang, L. F., and Wang, W. H. 1996. Synchronization of twin-gyro precession under crosscoupled adaptive feedforward control. Journal of Guidance Control, and Dynamics 19(3):534–539. Yeh, S. S., and Hsu, P. L. 1999. An optimal and adaptive design of the feedforward motion controller. IEEE/ASME Transactions on Mechatronics 4(4):428–439. Yeh, S. S., and Hsu, P. L. 2002. Estimation of the contouring error vector for the cross-coupled control design. IEEE/ASME Transactions on Mechatronics 7(1):44–51. Yeh, S. S., and Hsu, P. L. 2003. Analysis and design of integrated control for multi-axis motion systems. IEEE Transactions on Control System Technology 11(3):375–382.

7

Synchronization Control of Parallel Robotic Manipulators

Abstract This chapter will introduce another application of the synchronization control approach to parallel robotic manipulators. Due to advantages of high stiffness, high accuracy, and high load-carrying capacity, parallel robotic manipulators have been widely used in various industrial applications. But their relative complex mechanisms make the precise control of parallel manipulators more difficult. It will be shown in this chapter that the cross-coupled synchronization control approach can be readily applied to high-precision tracking control of parallel manipulators. Based on the established synchronization goal, the position synchronization error is defined by considering motion synchronization between each actuator joint and its adjacent joints of the parallel manipulators. A decentralized trajectory tracking controller is then developed with feedback of both position and synchronization errors, formed with a combination of feedforward, feedback, and a saturation control. It is proven that this tracking controller can asymptotically converge both position and synchronization errors to zero. The proposed controller does not require the explicit use of the system dynamic model. Experimental results will demonstrate improved performance with the proposed synchronous control design.

7.1 Introduction Due to advantages of high stiffness, high accuracy, and high load-carrying capacity, parallel robotic manipulators have been widely used in various industrial applications, such as flight simulation (Stauffer 1984), precision machining (Chen and Song 1994), telescopes (Carretero et al. 1998), and high-speed assembly operations (Clavel 1998), to name a few. The majority of studies deal with the fully parallel manipulators in which the number of chains is strictly equal to the number of degrees of freedom (DOF) of manipulators. Fully parallel manipulators can be classified into two main categories: planar parallel manipulators, which have three DOF in the plane, and spatial parallel manipulators, which move out of the plane (Merlet 2000). Various control strategies have been proposed to solve the control problem of fully parallel robots. Independent joint controllers (i.e., proportional derivative [PD] or proportional, integral, and derivative [PID] types (Sun et al. 2009)) are usually 127

128

Synchronization and Control of Multiagent Systems

employed in industrial robot manipulators (Amirat et al. 1996) because they do not require the explicit use of the system dynamic model. However, these simple controllers exhibit inherently low rejection to exogenous disturbances. Chiacchio et al. (1993) proposed a linear control scheme in which an acceleration feedback term is used, making the control law more robust to exogenous disturbances than a simple PID. Other non-model-based controls include fuzzy logic control (Begon et al. 1995) and neural network control (Pernechele et al. 2000). Various model-based control design methods, which compensate for the available estimates of the dynamic parameters in a feedback or in a feedforward fashion, have been proposed. With an outer feedback loop, these approaches provide robustness to imperfect modeling and disturbances. The computed torque control (Kokkinis and Stoughton 1996) is the pioneer design of this kind. A large number of control methods, for example, the sliding mode method (Park et al. 2001), impedance control (Fasse and Gosselin 1999), and adaptive control (Lin and McInroy 2003; Sirouspour and Salcudean 2001), are categorized within this class of controllers as well. In order to improve tracking performance further, motivated by a dynamic model with unknown parameters, many control schemes consisting of several combined control methods have been proposed for fully parallel robots. Consider, for example, a control that combines cascaded cerebellar model articulation control with variable structure control (Li et al. 2002), a neural-net tuned PID control method (Karkoub et al. 2004), a neural-fuzzy method (Nefti et al. 2002), and many other approaches. Characterizing the majority of traditional parallel manipulator controllers, the control loop of an individual actuator receives only local feedback information from the controlled joint, and no feedback from other joints associated with the remaining actuators. Hence, disturbances in the control loop of one actuator cause an error that is corrected by this loop only, while the others do not respond. Because the trajectory of the manipulator end-effector is determined by all actuator motions, all actuated joints in the manipulators should be controlled in a synchronous manner so that a predetermined trajectory can be followed with high tracking accuracy. Otherwise, tracking accuracy will be degraded due to uncoordinated motions of the actuated joints. In some severe situations, for instance, when accelerations of actuated joints are high, damage to the manipulator mechanical structure may occur. Cross-coupling control (Koren 1980) provides a unique advantage and opportunity to solve the synchronized control problem posed by parallel manipulators. Over the past decades, cross-coupling technology has been applied mainly to machine tools (Koren and Lo 1992a; Kulkarni and Srinivasan 1990; Tomizuka et al. 1992). Much of the early reported research dealt with the velocity synchronization problem, especially for two-axis motions. Recently, great progress has been made in utilizing the cross-coupling concept to solve position synchronization of multiple motion axes (Chiu and Tomizuka 1998; Sun 2003a). In robotics, cross-coupling technology has been used for mobile robot control (Borenstein 1995; Feng et al. 1993; Sun et al. 2005), coordination of robot manipulators (Chuang and Chang 2000; Chung and Slotine 2009; Naumovic 1999; Rodriguiz-Angeles and Nijmeijer 2004; Sun and Mills 2002), and multirobot formation controls (Sun et al. 2009). Other synchronization control approaches include fuzzy logic coupling control (Moore and Chen 1995), neurocontroller for synchronization (Lee and Jeon 1998), and linear quadratic

Synchronization Control of Parallel Robotic Manipulators

129

optimal control (McNab and Tsao 2000). It has also been shown that the synchronization control can be incorporated into adaptive control architecture effectively to solve model uncertainty and external disturbance problems. An adaptive feedforward controller was first designed and implemented for speed synchronization of two motion axes (Tomizuka et al. 1992), which was followed by the work of Kamano et al. (1993) and Yang and Chang (1996). An adaptive synchronized controller was further developed in Sun (2003a) and Sun and Mills (2002), showing the advantage that asymptotic convergence of both position tracking and synchronization errors to zero was guaranteed. Some other model-based synchronization controls addressed the contour tracking problem by using implicit representation of curves to model desired contours (Chiu and Tomizuka 1998) and a receding horizon linear quadratic formulation (McNab and Tsao 1994). It should be noted that most of the existing synchronized controllers reported in the literature are model based, and of these, some require intensive online calculations. In practice, there is significant demand for using non-model-based control algorithms (i.e., PID feedback control), leading to significant implementation simplicity. A non-model-based variable-gain crosscoupling controller was introduced for a general class of contours (Koren and Lo 1991, 1992b). However, the effect of a time-varying gain in the cross-coupling controller on system stability, and the effect of the introduction of time-varying crosscoupling controls on the overall system dynamics have yet to be examined (Chiu and Tomizuka 2001). A control law that consists of a linear time-varying PD error feedback and a linear time invariant trajectory feedforward compensator was proposed by Chiu and Tomizuka (2001), in which the feedforward compensator was calculated from the model dynamics. Another effort to examine the stability and robustness of the cross-coupled control system was reported in Yeh and Hsu (2003). Recently, Sun et al. (2007) proposed a PD-type synchronization controller and proved that such a controller could guarantee asymptotic convergence to zero of both position and synchronization errors in a setpoint position control. A setpoint tracking controller was further developed by adding feedforward control terms and a saturation function to the PD synchronization controller. Sun and Tong (2009) further reported their research of using a synchronization approach to minimize contouring errors of a CNC machine tool, where the proposed controller did not require significant use of the system dynamics models. Some of these works were previously reported in this book. This chapter will introduce how to apply a synchronization control approach, which does not require explicit use of the system dynamic model, to controlling parallel robotic manipulators for precise trajectory tracking (Sun et al. 2006). After defining a synchronization goal, the position synchronization errors are defined as differential position errors of all possible pairs of two neighbor joints. Two of such synchronization errors with adjacent numbers are then combined in integration with the position tracking error to constitute a coupled position error. A tracking controller with feedback of this coupled position error is constructed, as a combination of feedforward/feedback controls and a saturation control. It will be proven that the synchronous tracking controller can guarantee asymptotic convergence to zero of both position and synchronization errors. Experiments performed on a three-DOF planar parallel manipulator demonstrate the effectiveness of the proposed approach

130

Synchronization and Control of Multiagent Systems

in performance improvement over nonsynchronous controls such as PID feedback. Compared to those model-based synchronous control algorithms, the reported method is relatively simple in that it does not require explicit use of the dynamic model. It has long been assumed that the closed kinematic chain of a parallel manipulator creates tight nonlinear coupling and requires careful modeling and a modelbased approach to achieve the desired performance. The results reported in this chapter support the concept that the performance can be enhanced by using a crosscoupling controller without such system dynamic models.

7.2 Modeling and Synchronization Error of Parallel Manipulators 7.2.1 Modeling Figure  7.1 illustrates a parallel manipulator designed for high acceleration, highaccuracy electronic component placement or wire bonding tasks. The manipulator has a moving platform, a base platform, and three chains. Each chain is composed of a prismatic joint and two consecutive revolute joints, with only the prismatic joint actuated. This manipulator is also categorized as P-R-R type, where P and R represent prismatic and revolute joints, respectively. The three degrees of freedom of the P-R-R manipulator are translations along X and Y axes and rotation about the Z-axis, respectively. As shown in Figure 7.1, the inertial frame (X, Y, Z) is fixed at the center of the base platform with the Z-axis directed vertically out of the plane; the mobile frame ( X ′, Y ′, Z ′) is fixed at the center of the moving platform with the Z ′ -axis directed vertically out of the plane; ( x p , y p ) are the Cartesian positions of the moving platform at its mass center; φ is the orientation of the moving platform with respect to the inertial frame; Ai , Bi

α2

A2

ρ2

B2 C2



Y

φ

(xP,yP) P

C3

X´ C1

Z

X B1

ρ3 α3

B3

ρ1

A3

Figure 7.1  Coordinate system of the P-R-R manipulator.

α1 A1

Synchronization Control of Parallel Robotic Manipulators

131

are the home and moving positions of the ith prismatic joint, respectively; Ci is the Cartesian position of the terminals of the platform facing the ith intermediate link; ρi is the translation distance of the ith prismatic joint; α i is the constant angle between the X-axis of the inertial frame and the ith linear guide; i = 1… n (n = 3 in Figure 7.1). Define a generalized coordinate as q = [q1  qn ]T ∈ℜ n×1, in which qi denotes the translation of the ith prismatic joint. Denote X p ∈ℜ3×1 as the pose of the moving platform at its mass center. Using the time derivative of the generalized coordinate and that of the pose of the moving platform, it follows that

X P (t ) = ( J P (t ))−1 q (t )

(7.1)

where J p (t ) is the Jacobian matrix representing the velocity relationship between the actuated joints and the moving platform. Using the natural orthogonal complement method, the dynamic model of the P-R-R manipulator is derived as follows (Angeles and Lee 1989):

H (q)q(t ) + C (q, q )q (t ) = τ

(7.2)

where H (q) = diag{Hi (qi )} ∈ℜ n× n is the symmetric, positive-definite inertia matrix; C (q, q ) = diag{Ci (qi , qi )} ∈ℜ n× n is the coefficient matrix of Coriolis and centrifugal forces; and τ = [τ1  τ n ]T ∈ℜ n×1 is the actuating force exerted on the actuated joints. Note that H (q) − 2C (q, q ) is a skew-symmetric matrix.

7.2.2 Synchronization Error The essential feature that differentiates synchronized control from conventional PID control lies in the employment of an additional feedback signal termed the synchronization error. The synchronization errors are typically designed through the combination of position and velocity errors of all actuated joints with coupling coefficients. These coupling coefficients are often determined by the kinematic constraints among the actuated joints and, consequently, are either constant or time varying (Sun and Mills 2002). The kinematic constraints are derived from the goal of synchronization. As a result, the synchronization error represents the degree of coordination among the actuated joints and is not equivalent to the conventional tracking error. For systems having closed-loop chain structures, employment of the synchronization error provides each actuated joint with motion information both from itself and from the other actuated joints. Such a synchronization error may be determined from kinematic constraints acting on the systems, for example. Hence, motions of all actuated joints are coordinated, and the attitude error of the mobile platform is substantially smaller than that without using the synchronization error. In other words, a synchronous control can achieve better trajectory tracking performance than a conventional nonsynchronous control method. This assertion was demonstrated in previous studies (Borenstein and Koren 1987; Sun and Mills 2002).

132

Synchronization and Control of Multiagent Systems

Referencing Equation (2.2), the coordinate qi of the ith prismatic joint is required to meet the following constraint:

∂S (qi , t ) = 0 :{qi (t ) = Ai (t )C (t ) + Bi (t )}

(7.3)

where Ai (t ) is a constraint parameter associated with the ith joint, Bi(t) is an offset of the ith joint, and C (t ) denotes a common vector that is independent on each individual joint. If considering all joints with indices i = 1, … , n , the synchronization constraint to qi (t ) can be mathematically established as follows: A1−1 (t ) ( q1 (t ) − B1 (t ) ) = A2−1 (t ) ( q2 (t ) − B2 (t ) ) =  = An−1 (t ) ( qn (t ) − Bn (t ) ) = C (t ) (7.4) Selection of Ai (t ) and C (t ) depends on the task requirement. One example was given in Su et al. (2006), where Ai (t ) = qid , Bi(t) = 0, and then the synchronization constraint (7.4) becomes

q1 (t ) q2 (t ) q (t ) = =  nd q1d (t ) q2d (t ) qn (t )

(7.5)

The motivation of (7.5) is that if all ratios of qqdi ((tt)) are equal, the manipulator moves i in a synchronous manner. Define the following equation as the synchronization function that all actuators of the parallel manipulator are required to satisfy simultaneously:

c1 (t ) ( q1 − B1 (t ) ) = c2 (t ) ( q2 − B2 (t ) ) =  = cn (t ) ( qn − Bn (t ) )

(7.6)

where ci (t ) = Ai−1 (t ) denotes the coupling coefficient of the ith joint and is assumed to be nonzero. Because Equation (7.6) holds at all desired coordinates qid , namely,

c1 (t ) ( q1d − B1 (t ) ) = c2 (t ) ( q2d − B2 (t ) ) =  = cn (t ) ( qnd − Bn (t ) )

(7.7)

the following synchronization goal can be defined by subtracting (7.6) from (7.7) as follows:

c1 (t )e1 = c2 (t )e2 =  = cn (t )en

(7.8)

where ei (t ) = qid (t ) − qi (t ) denotes the position error of the prismatic joints, and qid (t ) denotes the desired coordinate. Further, the synchronization goal (7.8) can be divided into n subgoals such as ciei = ci +1ei +1 , with a boundary condition that when i = n, i + 1 = 1. Then, the position synchronization errors, which are defined as a subset of all possible pairs of two neighboring joints, can be defined in the following way: ε1 = c1e1 − c2e2 ε 2 = c2e2 − c3e3 

ε n = cnen − c1e1



(7.9)

133

Synchronization Control of Parallel Robotic Manipulators

where εi denotes the synchronization error of the ith joint. Obviously, if the synchronization error εi = 0 for all i = 1 ~ n , the synchronization goal (7.8) can be achieved automatically. Now, the control objective is to design the actuator inputs to cause ei → 0 and εi → 0 as t → ∞. Unlike the traditional nonsynchronized control that considers the position control only, here the synchronization control between two neighboring joints is also required so that the synchronization goal (7.8) can be achieved.

7.3 Control Design This section will introduce a synchronous tracking controller for parallel manipulators. In a similar way to Sun (2003a) and Sun and Mills (2002), a coupled position error is defined as follows:



Ei = ciei + β

t

∫ (ε − ε 0

i

i −1

) dς

(7.10)

where β is a positive constant, and ς is a variable from time zero to t. εi in (7.10) is subject to the boundary condition that when i = 1, i – 1 = n. The motivation of such a definition is to link both ei and εi into the same variable Ei , such that when Ei → 0, ei and εi converge to zero as well. It is also noted that the coupled position error Ei of the ith joint contains the information of two neighboring joints i – 1 and i + 1, which can be seen from Equation (7.10) and the definition of εi in (7.9). Differentiating Ei with respect to time yields

E i = ciei + ciei + β(εi − εi −1 )

(7.11)

To construct an asymptotically stable tracking controller to drive Ei → 0 and E i → 0, one may utilize the method of Slotine and Li (1987) to introduce a command vector ui that leads to combined position and velocity errors. Unlike Slotine and Li (1987), here there exists a time-varying coupling parameter ci in addition to ei in (7.10). The command vector ui may be defined as follows:

ui = ci qid + ciei + β(εi − εi −1 ) + ΛEi

(7.12)

where Λ is a diagonal positive gain matrix. The definition of ui in (7.12) leads to the following position/velocity vectors: ri = ui − ci qi = ciei + ciei + β(ε i − εi −1 ) + ΛEi

= E i + ΛEi



(7.13)

Now the control objective is to design the torque input τi to restrict ri to lie on the sliding surface (Slotine and Li 1987), such that the coupled errors Ei and E i

134

Synchronization and Control of Multiagent Systems

tend to zero. For easy implementation, the torque control input is ideally designed in a decentralized architecture. To avoid the model uncertain problem of dynamic parameters, positive feedforward control gains are used in the controller formulation (i.e., K iH for ui and K iC for ui ). To compensate for the effect due to errors between these feedforward control gains and the real dynamic models, a saturated control utilizing the sign function is utilized, in a similar manner to Utkin (1977) and Slotine and Sastry (1983). For simple implementation, the control of each joint only considers the synchronization between this joint and its two neighboring joints but not all others. Further, such a synchronization control should not affect the stability of the whole system. Finally, the controller is designed as follows: τi = K iH ci−1 (ui − ci qi ) + K iC ci−1ui + K rici−1ri

+ sign ( ci−1ri ) K iN + ciT K ε (εi − εi −1 )



(7.14)

where K iH and K iC are positive feedforward control gains, K ri and K ε are positive feedback control gains, and K iN is a positive parameter that satisfies

K iN = ∆ iH ci−1 (ui − ci qi ) + ∆ Ci ci−1ui

(7.15)

In (7.15), ∆ iH and ∆ Ci are scalars, whose selections will be discussed later. It is obvious to see that the formulation of controller (7.14) does not explicitly use the dynamic modeling parameters, and utilizes the information of the position errors of two neighboring joints. The sign function in (7.14) is for a saturation control used to compensate for the nonlinear effect caused by the error between the feedforward control gains and the modeling parameters, which was used in Utkin (1977) and Slotine and Sastry (1983) with stability analysis. From a theoretical viewpoint, Filippov’s (1988) inclusions may be used to properly address the issue when using the sign function. This approach, however, is not included here. The last term in (7.14) is used to compensate for the effect due to the introduction of the  crosscoupling control on the overall system dynamics, which is required by the stability analysis. It appears that parameters β and K ε dominate the control of the synchronization error. β plays a major role in reducing the synchronization error, while K ε ensures the stability of the system when adding the cross-coupling control with β to the overall system dynamics. Two assumptions are introduced: Assumption 7.1: qid and its first- and second-order derivatives are bounded. Assumption 7.2: Hi (qi ) and Ci (qi , qi ) are bounded if their arguments are bounded. Note that if Hi (qi ) is time varying, Assumption 7.2 holds locally (i.e., Coriolis and centripetal forces are bounded by the square of the velocity norm).

135

Synchronization Control of Parallel Robotic Manipulators

A control gain tuning strategy is proposed as follows. First, select β = 0 and K ε = 0, and tune the control gains K iH , K iC , and K ri using the trial-and-error method. The controller at this moment is a normal feedforward/feedback control plus a saturation control without coupling. Second, gradually increase β from zero to introduce the synchronization control. As seen in (7.10), the value of β determines the weight of the synchronization error εi in the coupled position error Ei , and thus affects the synchronization effort in the whole control action. Meanwhile, the control gain K ε is also increased from zero, because it is used to compensate for the effect of the introduction of the cross-coupling control due to β. Finally, the previously tuned gains may be changed slightly, utilizing the trial-and-error method. Substituting (7.14) into the system dynamic equation (7.2) yields the closedloop dynamics: Hi (qi )ci−1ri + Ci (qi , qi )ci−1ri + K rici−1ri + N i sign ( ci−1ri ) K iN + ciT K ε (ε i − εi −1 ) = 0





(7.16)

where

N i = ( K iH − Hi (qi ) ) ci−1 (ui − ci qi ) + ( K iC − Ci (qi , qi ) ) ci−1ui

(7.17)

Theorem 7.1 The proposed tracking controller (7.14) leads to asymptotic stability of the system, namely, ei → 0 and ε → 0 as time t → ∞, under the following conditions:

1. The scalars ∆ iH and ∆ Ci are large enough to satisfy ∆ iH ≥|| K iH − Hi (qi )|| and ∆ Ci ≥|| K iC − Ci (qi , qi )|| .



2. The control gain K ri is large enough to satisfy λ min ( K ri ) ≥ λ max ( Hi (qi )ci−1ci )



where λ min (⋅) and λ max (⋅) denote the minimum and maximum eigenvalues of matrices. Proof Define a Lyapunov function candidate as n

V (t ) =

∑  12 r c

Hi (qi )ci−1ri +

1 +  2

  (εi − εi −1 ) d ς  ΛβK ε   

T −T i

i

i =1



n

∫∑ t

0

i =1

1 T ε i K εi εi  2  T

n

∫∑ t

0

i =1

 (εi − εi −1 ) d ς  

(7.18)

136

Synchronization and Control of Multiagent Systems

Differentiating V (t ) with respect to time yields

V =

n

∑ i =1

r T c − T H (q )c −1r + r T c − T H d c −1 r +   i i i i i i i i i dt ( i ) i      1 T −T  − 1 T   ri ci Hi (qi )ci ri + ε i K εi ε i  2

n

+



(εi − εi −1 )T ΛβK ε

i =1

n

∫ ∑ (ε − ε t

0

(7.19)

i

i −1

) dς

i =1

Multiplying both sides of (7.16) by (ci−1ri )T yields

(ci−1ri )T Hi (qi )ci−1ri + (ci−1ri )T Ci (q, q)ci−1ri + (ci−1ri )T K rici−1ri + (ci−1ri )T N i +

ci−1ri K iN +

(7.20)

riT K ε ( εi − εi −1 ) = 0



Substituting (7.20) into (7.19) yields V = −

n

∑ (c i =1 n



d  r )  K ri − Hi (qi ) ( ci−1 ) ci  ci−1ri    dt 

−1 T i i

∑ i =1

( ci−1ri )T N i + ci−1ri K iN  −  

n

+



n

∑ [ r K (ε − ε T

i =1



(ε i − ε i −1 )T ΛβK ε

i =1

i

i −1

)]

(7.21)

i =1

n

ε Ti K ε ε i +

ε

i

n

∫ ∑ (ε − ε t

0

i

i −1

) dς

i =1

Under condition 1 of Theorem 7.1, one has

(ci−1ri )T Ni +

( (∆

ci−1ri K iN ≥ ci−1ri K iN − N i = ci−1ri

H i

)

ci−1 (ui − ci qi ) + ∆ Ci ci−1ui − || N i ||

)

 K iH − Hi (qi ) ci−1 (ui − ci qi ) +   ≥ ci−1ri   K iC − Ci (qi , qi ) ci−1ui − N i   ( K iH − Hi (qi ) ) ci−1 (ui − ci qi ) +  ≥ ci−1ri  − || N i ||  ( K C − C (q , q ) ) c −1u  i i i i i  i 

=0



(7.22)

137

Synchronization Control of Parallel Robotic Manipulators

Now analyze the term ∑in=1[riT K ε (εi − εi −1 )] . From (7.9) to (7.13), it follows that n

n



riT K ε (εi − εi −1 ) =

i =1

∑ (r − r i

i +1

)T K ε ε i

i =1

T

n

=

∑ i =1

 ε i + β(2εi − εi −1 − εi +1 ) + Λεi +    t   K ε εi  Λβ (2εi − εi −1 − εi +1 ) dw  0  



n

=



n

ε Ti K ε εi +

i =1



n

ε Ti ΛK ε ε i +

i =1

n



(εi − εi +1 )T ΛβK ε + i =1



n

(εi − εi +1 )T βK ε

i =1

0

i

i +1

)

i =1

n

∫ ∑ (ε − ε t

∑ (ε − ε

i

i +1

) dς

(7.23)

i =1

Substituting (7.22) and (7.23) into (7.21) and utilizing condition 2 of Theorem 7.1, one has

V ≤ −

n



∑ (c i =1

 d   r )  λ min ( K ri ) − λ max  Hi (qi ) ( ci−1 ) ci   ci−1ri     dt 

−1 T i i

n



∑ i =1



n

n

εTi ΛβK ε εi −



(εi − εi +1 )T βK ε

i =1

∑ (ε − ε i

i +1

)



(7.24)

i =1

≤0

Following the similar analysis as reported in the previous chapters, it is a conclusion that ri → 0 and εi → 0 as time t → ∞. The synchronization goal (7.8) is achieved. From (7.13), one further has Ei → 0. Now prove ei = 0 when Ei = 0 and εi = 0. Combining all equations in (7.10) from 1 to n, it follows that

c1e1 + c2e2 +  + cnen = 0

(7.25)

Substituting (7.8) into (7.25) yields

c1e1 = c2e2 =  = cnen = 0

Because the inverse of ci exists, ei = 0 . Therefore, the system is asymptotically stable.

138

Synchronization and Control of Multiagent Systems

Note that in the controller (7.14), the function sign(⋅) may cause chattering. To avoid this problem, it is suggested that the function tanh(⋅) be used instead of sign(⋅) in practical controller implementation.

7.4 Experiments Experiments were performed on a three-DOF parallel manipulator, as shown in Figure  7.2, to evaluate the effectiveness of the proposed synchronous tracking controller. The control system of the parallel manipulator consists of a 400 Mhz Pentium  II PC, a MCX-DSP-ISA 120Mflop/s DSP controller, and three Aerotech BA20 SineDrive amplifiers. The movable platform is actuated by three Aerotech BM200DC brushless motors via THK KR3306 ball-screws, each with a pitch of 6 mm. The built-in rotary encoder on each DC motor feeds back the angular position. In the experiment, the synchronization function was designed in the same way as in Su et al. (2006), namely,



q1 (t ) q2 (t ) q (t ) = =  nd q1d (t ) q2d (t ) qn (t )

The rationale behind this goal is the observation that when all ratios in the above equation are equal, the manipulator moves in a synchronous manner. Hence, synchronization is achieved, and the desired pose of the movable platform is attained. Then, following Equation (7.6), one obtains that ci = qd1(t ) . It is necessary that all i d qi (t ) be nonzero values during the entire motion. Due to singularity of the robot, the workspace of the robot, which looks like a circle (Heerah and Behabib 2003), was divided into six fan-shape areas with a common vertex at the center of the circle. In addition, in order to study the control effect better, the size of the desired

Moving platform

Base

Intermediate link

Linear Slider

Figure 7.2  Experimental setup of the parallel manipulator.

139

Synchronization Control of Parallel Robotic Manipulators 80

Desired trajectory

70

Y Position (mm)

60 50 40 30 20 10 0

0

10

20

30 40 X Position (mm)

50

60

70

Figure 7.3  Desired trajectory of the platform.

trajectory of the moving platform was selected to be as large as possible. As a result, the desired trajectory was selected as a triangular shape, which was as large as possible according to the limitation imposed by the size of the workspace of the moving platform. Figure 7.3 illustrates the desired triangular path along which the platform was required to move. The attitudes of the platform at three vertexes were selected as (5 mm, 5 mm, 44.3°), (45 mm, 70 mm, 44.3°), and (60 mm, 30 mm, 42.3°). The platform started and ended its motion at (5 mm, 5 mm, 44.3°), which was not at the origin to ensure that qid (t ) were not zero. During the tracking, the maximum speed and accelerations were 0.3 m/s and 100 m/s 2 , respectively. Note that the platform was in continuous motion between setpoints. Figure 7.4 illustrates the desired position trajectories of the prismatic joints. For comparison purpose, three control algorithms including the proposed synchronous control, adaptive control (Slotine and Li 1987), and traditional PID control, were used to control the system, respectively. The adaptive control (Slotine and Li 1987) is expressed as follows:

ta = Y (q, q , q)θˆ (t ) − K a s(t )

(7.26)

 θˆ (t ) = − PY (q, q , q)T s(t )

(7.27)

The adaptation law is

140

Amplitude (mm)

0

Amplitude (mm)

100

Amplitude (mm)

Synchronization and Control of Multiagent Systems 1st Prismatic Joint

50 0

0

0.1

0.2

0.3

0.4 0.5 Response Time (sec)

0.6

0.7

0.8

0.9

0.6

0.7

0.8

0.9

0.6

0.7

0.8

0.9

2nd Prismatic Joint

–20 –40 –60

0

0.1

0.2

0.3

0.4 0.5 Response Time (sec) 3rd Prismatic Joint

0 –20 –40 –60

0

0.1

0.2

0.3

0.4 0.5 Response Time (sec)

Figure 7.4  Desired trajectories of three prismatic joints.

where K a ∈ℜ3×3 is a positive-definite diagonal gain matrix; P ∈ℜ3×3 is the positive-definite diagonal gain matrix of the estimator; both K a and P are constant; s(t ) = e(t ) + Λe(t ), where Λ ∈ℜ3×3 is a positive-definite diagonal matrix. Table  7.1 lists the selected control gains of three control algorithms used in the experiments.

Table 7.1 Control Gains of Three Controllers Controllers Synchronous control

Control Gains α = 0.21 , β = 0.15 , ∆ = ∆ 2H = ∆ 3H = 0.013, ∆1C = ∆ C2 = ∆ C3 = 1.2 , Λ = 0.06, K1H = K 2H = K 3H = 0.014 , K1C = K 2C = K 3C = 1.6 , K r1 = K r 2 = K r 3 = 0.002, K ε = 0.01, K1N = K 2N = K 3N = 1.4 H 1

Standard adaptive control

Λ = 0.8, K a = diag{1.8,1.8,1.8}

Proportional, integral, and derivative (PID) control

K p = diag{2, 2, 2}, K i = diag{1.4,1.4,1.4}, K d = diag{0.016, 0.016, 0.016}

141

Amplitude (mm)

Synchronization Control of Parallel Robotic Manipulators X Position Error

1 0.5 0

Proposed control Adaptive control PID control

–0.5

Amplitude (mm)

0

0.2

0.3

0.4 0.5 Response Time (sec)

0.6

0.7

0.8

0.9

Y Position Error

1 0.5 0

Proposed control Adaptive control PID control

–0.5 0

Amplitude (degree)

0.1

0.1

0.2

0.3

0.4 0.5 Response Time (sec)

0.6

0.7

0.8

0.9

Orientation Error

0.2 0 –0.2 –0.4

Proposed control Adaptive control PID control

0

0.1

0.2

0.3

0.4 0.5 Response Time (sec)

0.6

0.7

0.8

0.9

Figure 7.5  Pose errors of the platform with three controllers.

Figure 7.5 and Figure 7.6 illustrate the attitude error of the platform and the position errors of the three prismatic joints, using the three control algorithms, where the solid lines denote the experimental results with the proposed synchronous control, the dash-dot lines denote the results with the adaptive control, and the dotted lines denote the results with PID control. The synchronization errors are shown in Figure  7.7. Table  7.2 gives a summary of the maximum absolute attitude errors of the platform and the maximum absolute position errors of the three prismatic joints using three controllers during the tracking motions. It can be seen through comparison of these results, that the synchronous control exhibits faster convergence speed, smaller position errors of the prismatic joints, and smaller attitude error of the platform, when compared to the other two control methods. In other words, the synchronous control improves the trajectory tracking performance.

142

Synchronization and Control of Multiagent Systems

Amplitude (mm)

1st Prismatic Joint Proposed control Adaptive control PID control

0.5 0 –0.5

Amplitude (mm)

0

0.1

0.2

0.3

0.6

0.7

0.8

0.9

2nd Prismatic Joint

0.5 0

Proposed control Adaptive control PID control

–0.5 0

0.1

0.2

0.3

0.4 0.5 Response Time (sec)

0.6

0.7

0.8

0.9

3rd Prismatic Joint

0.5

Amplitude (mm)

0.4 0.5 Response Time (sec)

0 Proposed control Adaptive control PID control

–0.5 0

0.1

0.2

0.3

0.4 0.5 Response Time (sec)

0.6

0.7

0.8

0.9

Figure 7.6  Prismatic joint position errors with three controllers.

7.5 Summary This chapter introduces a cross-coupling control approach to synchronous control of parallel robotic manipulators. The controller utilizes feedback of the position synchronization error, which is defined as a differential position error between two adjacent actuator joints. The controller is in the form of feedforward/feedback control plus a saturation control. It is proven that the proposed synchronous controller leads to asymptotic convergence to zero of both position and synchronization errors. The effect of cross-coupling on system stability has been investigated. The major advantages of the proposed method are performance improvement through synchronous control of actuators and no explicit use of the system dynamic model. Experiments conducted on a three-DOF parallel manipulator system verify the performance improvement through synchronous control of actuators.

143

Synchronization Control of Parallel Robotic Manipulators Epsilon 1

Amplitude

0.2 0

Proposed control Adaptive control PID control

–0.2 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Response Time (sec)

Amplitude

Epsilon 2 Proposed control Adaptive control PID control

0.2 0

–0.2 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Response Time (sec) Epsilon 3

Amplitude

0.4 0.2 0

Proposed control Adaptive control PID control

–0.2 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Response Time (sec)

Figure 7.7  Synchronization errors under three controllers.

Table 7.2 Maximum Absolute Errors Maximum Absolute Errors X Position error of platform (mm) Y Position error of platform (mm) Orientation error of platform (deg) First prismatic joint error (mm) Second prismatic joint error (mm) Third prismatic joint error (mm) Synchronization error ε1 (mm) Synchronization error ε2 (mm) Synchronization error ε3 (mm)

Proportional, Integral, and Derivative (PID) 0.679 0.818 0.393 0.755 0.502 0.717 0.2166 0.2681 0.3181

Standard Adaptive Control 0.672 0.810 0.070 0.423 0.290 0.417 0.1322 0.1578 0.2986

Synchronous Control 0.412 0.376 0.058 0.198 0.219 0.285 0.0726 0.0909 0.1695

144

Synchronization and Control of Multiagent Systems

References Amirat, Y., Francois, G. F., Pontnau, J., and Dafaoui, M. 1996. Design and control of a new six DOF parallel robot: application to equestrian gait simulation. International Journal of Mechanics, Electronics and Control 6(2):227–239. Angeles, J., and Lee, S. K. 1989. The modeling of holonomic mechanical systems using a natural orthogonal complement. Transactions CSME 13(4):81–89. Begon, P., Pierrot, F., and Dauchez, P. 1995. Fuzzy sliding mode control of a fast parallel robot. Proceedings of IEEE International Conference on Robotics and Automation, Nagoya, Japan, 1178–1183. Borenstein, J. 1995. Control and kinematic design of multi-degree-of-freedom mobile robots with compliant linkage. IEEE Transactions on Robotics and Automation 11(1):21–35. Borenstein, J., and Koren, Y. 1987. Motion control analysis of a mobile robot. ASME Journal of Dynamic Systems, Measurement, and Control 109(2):73–79. Carretero, J. A., Nahon, M., and Podhorodeski, R. P. 1998. Workspace analysis of a 3-DOF parallel mechanism. Proceedings of IEEE International Conference on Intelligent Robots and Systems 2:1021–1026. Chen, N. X., and Song, S. 1994. Direct position analysis of 4-6 Stewart platforms. Journal of Mechanical Design 116(1):61–66. Chiacchio, P., Pierrot, F., Sciavicco, L., and Siciliano, B. 1993. Robust design of independent joint controllers with experimentation on a high-speed parallel robot. IEEE Transactions Industrial Electronics 40(4):393–403. Chiu, T. C., and Tomizuka, M. 1998. Coordinated position control of multi-axis mechanical systems. ASME Journal of Dynamic Systems, Measurement, and Control 120(3):389–393. Chiu, T. C., and Tomizuka, M. 2001. Contouring control of machine tool feed drive systems: a task coordinate frame approach. IEEE Transactions on Control Systems Technology 9(1):130–139. Chuang, H. Y., and Chang, Y. C. 2000. A novel contour error compensator for 3-PRPS platform. Journal of Robotic Systems 17(5):273–289. Chung, S. J., and Slotine J. J. E. 2009. Cooperative robot control and concurrent synchronization of Lagrangian systems. IEEE Transactions on Robotics 25(3):686–700. Clavel, R. 1998. Delta, a fast robot with parallel geometry. Proceedings of 18th International Symposium on Industrial Robots, Lausanne, Switzerland, 91–100. Fasse, E. D., and Gosselin, C. M. 1999. Spatio-geometric impedance control of Gough–Stewart platforms. IEEE Transaction on Robotics and Automation 15(2):281–288. Feng, L., Koren, Y., and Borenstein, J. 1993. Cross-coupling motion controller for mobile robots. IEEE Control Systems Magazine 13(6):35–43. Filippov, A. F. 1988. Differential Equations with Discontinuous Righthand Sides, Dordrecht, the Netherlands: Kluwer. Heerah, I., and Behabib, B. 2003. Architecture selection and singularity analysis of a three-degree-of-freedom planar parallel manipulator. Journal of Intelligent and Robotic Systems 37(4):355–374. Kamano, T., Suzuki, T., Iuchi, N., and Tomizuka, M. 1993. Adaptive feedforward controller for synchronization of two axes positioning system. Transactions of Society of Instrument and Control Engineers (SICE), Japan, 29(7):785–791. Karkoub, M., Her, M. G., Hsu, K. S., and Chen, C. Y. 2004. Neural-net tuned PID control of a parallel type mechanism with force feedback for virtual reality applications. Robotica 22(3):319–327. Kokkinis, T., and Stoughton, R. 1996. Dynamics and control of closed-chain robot arms with application to a new direct-drive robot arm. International Journal of Robotics and Automation 6(1):25–34.

Synchronization Control of Parallel Robotic Manipulators

145

Koren, Y. 1980. Cross-coupled biaxial computer controls for manufacturing systems. ASME Journal of Dynamic Systems, Measurement, and Control 102(4):265–272. Koren, Y., and Lo, C. C. 1991. Variable-gain cross-coupling controller for contouring. Annals of CIRP 40(1):371–374. Koren, Y., and Lo, C. C. 1992b. Evaluation of servo-controllers for machine tools. Proceedings of American Control Conference, Chicago, Illinois, 370–374. Koren, Y., and Lo, C. C. 1992b. Advanced controllers for feed drives. Annals of CIRP 41(2):689–698. Kulkarni, P. K., and Srinivasan, K. 1990. Cross-coupled control of biaxial feed drive servo­ mechanisms. ASME Journal of Dynamic Systems, Measurement and Control 112(2):225– 232. Lee, H. C., and Jeon, G. J. 1998. A neuro-controller for synchronization of two motion axes. International Journal of Intelligent Systems 13(6):571–586. Li, S., Feng, Z., and Fang, H. 2002. Variable structure control for 6–6 parallel manipulators based on cascaded CMAC. Proceedings of Fourth World Congress on Intelligent Control and Automations, Shanghai, China, 1939–1943. Lin, H. M., and McInroy, J. E. 2003. Adaptive sinusoidal disturbance cancellation for precise pointing of Stewart platforms. IEEE Transactions on Control Systems Technology 11(2):267–272. McNab, R., and Tsao, T. 1994, November. Multiaxis contour tracking: a receding time horizon linear quadratic optimal control approach. Dynamic System and Control 2. McNab, R. J., and Tsao, T. C. 2000. Receding horizon linear quadratic optimal control for multi-axis contour tracking. ASME Journal of Dynamic Systems, Measurement, and Control 122(2):375–381. Merlet, J. P. 2000. Parallel Robots, KluwerAcademic, Dordrecht, the Netherlands, 9–10. Moore, P. R., and Chen, C. M. 1995. Fuzzy logic coupling and synchronized control of multiple independent servo-drives. Control Engineering Practice 3(12):1697–1708. Naumovic, M. 1999. Cross-coupled motion controller for two cooperating robot arms. Proceedings of IEEE International Symposium on Industrial Electronics 2:909–913. Nefti, S., Djouani, K., and Amirat, Y. 2002. Neuro-fuzzy based approach for hybrid force/ position robot control. Proceedings of IEEE International Conference on Industrial Technology, Bangkok, Thailand, 376–381. Park, M. K., Lee, M. C., and Go, S. J. 2001. The design of sliding mode controller with perturbation observer for a 6-DOF parallel manipulator. Proceedings of International Symposium on Industrial Engineering, Pusan, Korea, 3:1502–1507. Pernechele, C., Bortoletto, F., and Giro, E. 2000. Neural network algorithm controlling a hexapod platform. Proceedings of IEEE–INNS–ENNS International Joint Conference on Neural Networks, Como, Italy, 349–352. Rodriguez-Angeles, A., and Nijmeijer, H. 2004. Mutual synchronization of robots via estimated state feedback: a cooperative approach. IEEE Transactions on Control Systems Technology 12(4):542–554. Sirouspour, M. R., and Salcudean, S. E. 2001. Nonlinear control of hydraulic robots. IEEE Transactions on Robotics and Automation 17(2):173–182. Slotine, J. J. E., and Li, W. 1987. On the adaptive control of robot manipulators. International Journal of Robotics Research 6(3):49–59. Slotine, J. J. E., and Sastry, S. 1983. Tracking control of nonlinear systems using sliding surfaces with application to robot manipulators. International Journal of Control 38:465–492. Stauffer, R. N. 1984. Flight simulation facility features robot position. Robotics Today 6(3):71–72. Su, Y. X., Sun, D., Ren, L., and Mills, J. K. 2006. Integration of saturated PI synchronous control and PD feedback for control of parallel manipulators. IEEE Transactions on Robotics 22(1):202–207.

146

Synchronization and Control of Multiagent Systems

Sun, D. 2003a. Position synchronization of multiple motion axes with adaptive coupling control. Automatica 39(6):997–1005. Sun, D., Feng, G., Lam, C. M., and Dong, H. N. 2005. Orientation control of a differential mobile robot through wheels’ synchronization. IEEE/ASME Transactions on Mechatronics 10(3):345–351. Sun, D., Hu, S., Shao, X., and Liu, C. 2009. Global stability of a saturated nonlinear PID controller for robotic manipulators. IEEE Transactions on Control System Technology, 17(4):892–899. Sun, D., and Mills, J. K. 2002. Adaptive synchronized control for coordination of multirobot assembly tasks. IEEE Transactions on Robotics and Automation 18(4):498–510. Sun, D., Lu, R., Mills, J. K., and Wang, C. 2006. Synchronous tracking control of parallel manipulators using cross-coupling approach. International Journal of Robotics Research 25(11):1137–1147. Sun, D., Shao, X., and Feng, G. 2007. A model-free cross-coupled control for position synchronization of multi-axis motions: theory and experiments. IEEE Transactions on Control Systems Technology 15(2):306–314. Sun, D., and Tong, M. C. 2009. A synchronization approach for the minimization of contouring errors of CNC machine tools. IEEE Transactions on Automation Science and Engineering 6(4):720–729. Sun, D., Wang, C., Shang, W., and Feng, G. 2009. A synchronization approach to trajectory tracking of multiple mobile robots while maintaining time-varying formations. IEEE Transactions on Robotics 25(5):1074–1086. Tomizuka, M., Hu, J. S., and Chiu, T. C. 1992. Synchronization of two motion control axes under adaptive feedforward control. ASME Journal of Dynamic Systems, Measurement, and Control 114(6):196–203. Utkin, V. I. 1977. Variable structure systems with sliding modes. IEEE Transactions on Automatic Control 22(2):212–222. Yang, L. F., and Chang, W. H. 1996. Synchronization of twin-gyro precession under crosscoupled adaptive feedforward control. Journal of Guidance, Control and Dynamics 19(3):534–539. Yeh, S. S., and Hsu, P. L. 2003. Analysis and design of integrated control for multi-axis motion systems. IEEE Transactions on Control Systems Technology 11(3):375–382.

8

A Synchronization Approach to Multirobot Formations

Abstract Formation control of swarms of mobile robots represents a typical topic of multiagent controls with large scalability in a dynamic and uncertain environment. This chapter will introduce how to use the synchronization approach to solve a multirobot formation control problem as reported in Sun et al. (2009). The main idea is to control each robot to track its desired trajectory while synchronizing its motion with that of other robots to maintain time-varying formations. The approach has the following steps. First, the formation control problem is posed to be a synchronization control problem, based on which the synchronization control goal can be identified according to the formation requirement. The formation error is measured by the position synchronization error, which is defined based on the established robot network. Second, a synchronous controller is applied for controlling each robot’s translation to guarantee that both position and synchronization errors approach zero asymptotically. The rotary controller is also designed to ensure that the robot is always oriented toward its desired position. Both translational and rotary controls are supported by a centralized high-level planner for task monitoring and robot global localization. Finally, simulations and experiments are performed to demonstrate the effectiveness of the proposed synchronization control approach in the formation control tasks.

8.1 Introduction Study on formation control of swarms of mobile robots has received increasing attention in recent years. Examples of formation control tasks include assignment of feasible formations, moving into a formation, maintenance of formation shape, and switching between formations. This chapter will introduce how to maintain the networked robots in a time-varying formation while performing a group task as a whole. The relevant applications include exploration (Fox et al. 2000), cooperative robot reconnaissance (Balch and Arkin 1998) and manipulation (Tanner et al. 2003), formation flight control (Mesbahi and Hadaegh 2001), satellite clustering (McInnes 1995), and control of groups of unmanned vehicles (Giulietti et al. 2000; Stilwell and Bishop 2000). 147

148

Synchronization and Control of Multiagent Systems

Numerous approaches to formation control of multiple mobile robots have been reported in the literature, such as behavior-based control, virtual structure approach, and leader-following strategy, to name a few. In the behavior-based control (Balch and Arkin 1998; Berman et al. 2003; Lawton et al. 2003; Long et al. 2005; Parker 1998), several desired behaviors are prescribed for each agent, and the final control is derived from a weighting of the relative importance of each behavior. With this method, it might be difficult to describe the dynamics of the group and guarantee the stability of the whole system, as reported by Takahashi et al. (2004). In the virtual structure approach (Beard et al. 2001; Egerstedt and Hu 2001; Kang et al. 2000; Lewis and Tan 1997), the entire formation is treated as a single entity. The desired motion is assigned to the virtual structure that traces out the trajectory for each member of the formation to follow. However, the controller is not in decentralized architecture and may encounter difficulty in some applications (Takahashi et al. [2004]). With the leader-following strategy (Chen et al. 2009; Das et al. 2002; Deasi 2001; Huang et al. 2006; Tanner et al. 2003), some robots are designed as leaders, while others are designed as followers. This strategy is easily implemented by using two controllers only and is suitable to describe the formation of robots, but it is hard to take into account the functioning capabilities of different robots—that is, the ability gap of a robot (Takahashi et  al. [2004]). There also exist some other approaches, such as artificial-potential-based methods (Ogren et al. 2004; Sepulchre et al. 2007) and graph-theory-based methods (Belta and Kumar 2004; Fax and Murray 2004; Jadbabaie et al. 2003; Moreau 2005; Olfati-Saber 2006; Olfati-Saber and Murray 2004; Ren and Beard 2005). A recent approach to convex optimization strategies for coordinating large-scale robot formations was reported by Derenick and Spletzer (2007), where shape transitions were discussed for mobile robot teams, albeit from a high-level planner perspective. This chapter will introduce how to use a synchronization control strategy to address the multirobot formation control problem, thus utilizing the concept of cross-coupling approach (Koren 1980). The basic idea, which was first reported by Sun and Wang (2007), is that a team of mobile robots track each individual’s desired trajectory while synchronizing motions among the robots to keep a relative kinematics relationship for maintaining the desired, and perhaps time-varying, formation. A relevant work was reported by Ji and Egerstedt (2007), where a group of mobile agents stays connected while achieving some performance objective. Traditionally, the control loop of each robot receives only local feedback from the controlled robot and aims to achieve the desired tracking task without responding to any other robots. With the synchronization control, the control loop of each robot receives feedback from itself, as well as the others in trajectory tracking, which is termed as the first task; meanwhile, it takes care of the other robots to meet the formation requirement, which is termed the second task. In other words, under the synchronization control, not only the convergence of the position errors to zero but how these position errors converge to zero will also be considered at the same time. A pure position control without synchronization may succeed in the first task of the trajectory tracking but, in general, cannot guarantee accomplishment of the second task of formation maintenance during the motion, due to the lack of effort in synchronizing the robots’ motions. A pure position control can only achieve the desired formation when the position errors converge to zero but not during the whole motion. In many

A Synchronization Approach to Multirobot Formations

149

applications, the robots are required to maintain the desired formation during the whole motion period rather than at the final time only. The proposed synchronization control strategy is ideally suited to the formation tasks of underlying trajectory controls of multiple mobile robots while following desired time-varying formations. The cross-coupling control technology provides advantages and opportunities to design such a synchronized controller. Over the past decades, the cross-coupling concept has been widely used in multiaxis motion applications, such as reducing contouring errors of computer numerically controlled (CNC) machines (Chiu and Tomizuka 2001; Rodriguez-Angeles and Nijmeijer 2004; Sun and Tung 2009; Yan et al. 2005; Yeh and Hsu 2002; Zhong et al. 2002). The concept was also incorporated into adaptive control architecture to solve position synchronization of multiple axes (Sun 2003; Tomizuka et al. 1992). The cross-coupling technology has been used in robotics, such as controls of mobile robots (Feng et al. 1993) and robot manipulators (Sun and Mills 2002). A combined synchronization and tracking control law was reported by Chung and Slotine (2009) and Chung et al. (2008) for multiple Lagrangian systems in a general setup that includes complex configurations and different coupling links, such as directional couplings. To avoid the use of the system dynamic models, model-free cross-coupling controllers were introduced by Sun et al. (2007). The effort to examine the stability and robustness of the cross-coupled control system was made by Yeh and Hsu (2003). Recently, a synchronization control approach was reported by Sun et al. (2009) for trajectory tracking of swarms of mobile robots while maintaining time-varying formations. This chapter will present the application of synchronization control to multirobot formations in the following aspects. First, the synchronization approach is extended to formation control applications by posing the formation control problem as a motion synchronization problem. A synchronization control goal is determined first, which is based on the formation requirement in the established robot network. Then, the motion control of each robot is divided into two parts: One is to drive the robot along the desired trajectory to achieve the tracking control goal, which is defined as the first task, and the other is to synchronize each robot’s motion with that of two nearby robots to achieve the synchronization goal, which is defined as the second task. To measure the synchronicity of the networked robots, the concept of synchronization error is introduced, which is defined as the differential position error between every pair of two neighboring robots. Second, a decentralized cross-coupled controller is used for each robot to achieve its position tracking while synchronizing its motion with those of other robots for the desired formation. The control algorithm utilizes feedback of both position and synchronization errors, requires the information of the two neighboring robots only, and responds to all linked robots via the group network. It is proven that the proposed controller can guarantee asymptotic convergence to zero of both position and synchronization errors. Third, simulations and experiments are performed on swarms of mobile robots to demonstrate the effectiveness of the proposed approach. A generalized superellipse with varying parameters is utilized to present a range of curves and, therefore, establish a useful mathematical model to define time-varying formations. The result for a skewed superellipse formation was also reported by Paley et al. (2008).

150

Synchronization and Control of Multiagent Systems

The advantages of applying a synchronization approach to the formation control are threefold:





1. The synchronization control goal is determined based on the desired formation and is then divided into a number of subgoals for each individual robot, without discrimination in job assignment. The potential of the robot’s capability is not overlooked. Also, the formation strategy can be well prescribed. 2. A synchronization controller can be constructed to guarantee asymptotic convergence to zero of both position tracking and formation errors in a decentralized architecture for time-varying formations. The controller consists of two parallel actions for both trajectory tracking and formation, and the weighting of the two actions is adjustable via tuning the control parameter. 3. The synchronization controller can be simplified by synchronizing the motion of each robot with that of two neighboring robots. In other words, the control of each robot requires the information of two nearby robots only.

8.2 Multirobot Formation via Synchronization Figure 8.1 illustrates a group of two-wheel mobile robots, where qi = [ xi , yi ]T denotes the position coordinate of the ith robot in the x-y plane, and qi denotes the heading angle. To simplify the analysis, it is assumed that the center of the mass of each robot locates at the geometrical center of the robot. In this way, the centripetal and Coriolis effects are not considered in the robot dynamics, and the robot is further simplified as a point mass robot with the following dynamics:  = τ M i qi = τ qi , I iθ i θi



(8.1)

where M i and I i denote the inertia of the ith robot with fixed terms, τ qi and τθi are two torque control inputs referred to qi and θi , respectively. y

θi+1 qi+1 Robot i+1

qi–1

2d

vi qi

2R

θi–1

θi

Robot i–1

wi Robot i x

Figure 8.1  A group of two-wheel mobile robots.

151

A Synchronization Approach to Multirobot Formations

Consider the control problem of guiding and positioning a group of n mobile robots as shown in Figure 8.1 along the boundary (curve) of a two-dimensional compact set. In a similar manner to Hsieh and Kumar (2006), a time-varying desired shape for each robot, denoted by S (ρ, t ) , is introduced, where ρ denotes a two-dimensional position vector and t the time. The boundary of S (ρ, t ) is parameterized by a twodimensional planar curve, denoted by ∂S (ρ, t ) = 0. Assign the target position qid to the ith robot, and qid must be located on the curve such that ∂S (qid , t ) = 0. The objective is to determine the appropriate control inputs for dynamics (8.1) such that the ith robot converges to its target position qid while maintaining its position in the desired shape S (ρ, t ) . Note that although only the position qi is explicitly controlled in the formation, the orientation θi affects the formation implicitly. In this study, the desired heading θid of the ith robot is defined such that the robot is always oriented toward the robot’s desired position qid . θid keeps updated during the motion. When the robot is exactly located at its desired position, the desired heading θid is the same as the actual heading θi and no update is needed. Define the position and heading errors of the ith robot as ei = qid − qi and ∆θi = θid − θi , respectively. In addition to the traditional robot control goal of ei → 0 and ∆θi → 0 as time t → ∞, here the robots are required to achieve a formation control goal of maintaining on the desired curve, which can be formulated as ∃qi , ∂S (qi , t ) = 0, where i = 1, … , n . To utilize the synchronization control concept to solve the formation control problem, it is required that the motions of the robots be regulated while tracking the desired positions qid , to ensure the robots to remain in the required boundary (curve) such that ∂S (qi , t ) = 0. Note that a pure position control for qi → qid cannot guarantee the formation control goal to be achieved, because the curve ∂S (qi , t ) = 0 is dependent on not only the position qi but also on the relative relationship of qi with respect to the others at time t. To measure the synchronicity of the robots, the position synchronization error is introduced, which arises from the synchronization constraint as required by the formation goal. The following example will show how this synchronization constraint is determined based on the formation control goal ∂S (qi , t ) = 0. Example 7.1 Consider that n robots are required to maintain in an ellipse curve during the motions. The coordinate qi of the ith robot is required to meet the following constraint: ∂S(qi , t ) = 0 :



  xi (t )  qi (t ) =   y i (t ) 

  cos ϕ i (t ) =  

  a(t )  sin ϕ i (t )   b(t ) 

  a(t )  = Ai (t )    b(t )

  

(8.2)

where a and b denote the longest and the shortest radii of the ellipse, respecb sin α y tively, ϕ i = tanh( a cos αii ) , and α i = tanh[ xii ] denotes the angle of the robot lying on

152

Synchronization and Control of Multiagent Systems

the ellipse with respect to the center of the ellipse. By referring to Equation (2.2),

a(t )  Ai (t ) is treated as a constraint matrix regarding the ith robot, and   b(t )  = C (t ) denotes a common vector that applies to all robots. The offset B(t) in Equation (2.2) is zero here. Assume that the robots are not located in the longest or the shortest axis of the ellipse such that the inverse of Ai exists. Then, the synchronization constraint to qi can be derived as follows:



a A1−1q1 = A2−1q2 =  = An−1qn =   b

(8.3)

From the analysis in chapter 2 (i.e., Equation (2.2)), it is seen that the synchronization constraint can be generally represented in the form

c1 (q1 − B1 ) = c2 (q2 − B2 ) =  = cn (qn − Bn )

(8.4)

where ci = Ai−1 denotes the coupling parameter of the ith robot. Further, Equation (8.4) holds at the desired coordinates qid , namely,

c1 ( q1d − B1 ) = c2 ( q2d − B2 ) =  = cn ( qn − Bn )

(8.5)

Subtracting (8.4) from (8.5) yields the following synchronization goal:

c1e1 = c2e2 =  = cnen

(8.6)

Implicitly, Equation (8.6) represents the formation control goal, which can be further divided into n subgoals of ciei = ci +1ei +1. Note that when i = n, denote n + 1 as 1. Then, the position synchronization errors can be defined as a subset of all possible pairs of two neighboring robots in the following way: ε1 = c1e1 − c2e2 ε 2 = c2e2 − c3e3



(8.7)



ε n = cnen − c1e1

where εi denotes the synchronization error of the ith robot. Obviously, if the synchronization error εi = 0 for all i = 1,..., n , the synchronization goal (8.6) is achieved automatically. It is worth noting that the synchronization error is used to measure the formation effect, which is not equivalent to the position tracking error. For systems having closed-loop chain structures, employment of the synchronization error provides each

153

A Synchronization Approach to Multirobot Formations Centralized high level planner (Command/Monitoring/Localization)

Level 1 Data server

Level 2 ...

Servo control Robot i–1

Servo control Robot i

Servo control Robot i+1

...

Figure 8.2  Block diagram of the overall control architecture.

robot with motion information both from itself and from the other robots; hence, the motions of all robots in the group are coordinated. Remark 8.1: The topology of the networked robots is designed in terms of the robots’ physical positions in the group when performing the group task. A principle that may be followed is that the two physically close robots are coded as two neighbors, for easy sensorial connection. As a result, all robots in one group are linked, either directly or indirectly, as a whole. It is a condition that the applied shape S (ρ, t ) can be represented mathematically in such a way that the synchronization constraint (8.4) can be derived. Remark 8.2: In some formations, the two neighborly coded robots may be spatially far and hence not sensorially connected. This usually happens when the formation shape is not geometrically closed. Consider, for example, in a line formation the first robot (robot 1) and the last robot (robot n) are far but coded as two neighbors. In case a sensorial problem exists between these two robots, a high-level planner, as seen in Figure 8.2, can be utilized to globally localize the two robots such that the two robots can know the information between each other. Alternatively, the direct synchronization request between these two robots can be removed, because the two robots synchronize with the other robots, respectively, and the whole group of the robots is still linked as a whole. Removal of the synchronization between two robots can be mathematically achieved by setting the synchronization error between these two robots to zero. Now the control problem becomes to drive both the position error ei and the synchronization error εi to zero. The ith robot can be designed to approach its desired position qid while synchronizing its motion with those of its two connected robots i – 1 and i + 1. In this way, the control of each robot does not require the information of all robots except for its neighbors, and hence the implementation is simplified.

8.3 Control Design Figure  8.2 illustrates a block diagram of a two-level control architecture used for multirobot formation control. In level 1, there is a centralized high-level planner for task command generation, task monitoring (such as detecting malfunctioned robots

154

Synchronization and Control of Multiagent Systems

and responding), and global localization of robots. In level 2, there are decentralized servo controls of robots and sensorial connection among them. Between the two levels is a data server. Obviously, these two levels have different functions in accomplishing complex formation control tasks. This section will focus on decentralized servo controls of robots in level 2. A synchronous tracking controller for the robot’s translation is developed. The robot’s orientation is controlled to be always oriented toward the robot’s desired position. The issue of how the robot group responds to the malfunctioned robot will also be discussed briefly at the end of this section. Without loss of generality, it is assumed that each robot can obtain the position information of its two nearby robots, via global or local localization in the two-level control frame, as shown in Figure 8.2. The relevant works on localization (e.g., Chen et al. 2010) have been reported in the literature.

8.3.1 Synchronous Formation Controller To make the position and synchronization errors ei and εi both converge to zero, define a coupled position error Ei that links these two errors into one equation— that is,



Ei = ciei + β

t

∫ (ε − ε 0

i

i −1

) dζ

(8.8)

where β is a diagonal positive gain matrix. As is seen from (8.8) and (8.7), the coupled position error Ei for robot i feeds back the information of two neighboring robots i – 1 and i + 1. Note that when i = 1, denote i – 1 as n. Differentiating Ei with respect to time yields

E i = ciei + ciei + β(εi − εi −1 )

(8.9)

To achieve Ei → 0 and E i → 0, introduce a command vector ui that leads to a combined position and velocity error, expressed as follows:

ui = ci qid + ciei + β(εi − εi −1 ) + ΛEi

(8.10)

where Λ is a diagonal positive gain matrix. Definition of ui in (8.10) leads to the following position/velocity vectors:

ri = ui − ci qi = ciei + ciei + β(ε i − εi −1 ) + ΛEi = E i + ΛEi

(8.11)

Further, a controller is designed to drive ri to zero such that the coupled errors Ei and its first derivative E i tend to zero as well. For easy implementation, such

155

A Synchronization Approach to Multirobot Formations

a controller is ideally designed in a decentralized architecture, considering the synchronization between each robot and its two neighbors. A torque input for controlling the robot’s translation, as proposed by Sun et al. (2009), is introduced as follows: τ qi = M ici−1 (ui − ci qi ) + K rici−1ri + ciT K ε (ε i − ε i −1 )



(8.12)

where K ri and K ε are positive feedback control gains. The last term in (8.12) is used to compensate for the effect due to the addition of the cross-coupling control to the overall system dynamics. The necessity of introducing this term will be shown in the stability analysis. Substituting (8.12) into the robot translational dynamics in (8.1) yields the following closed-loop dynamics: M ici−1ri + K rici−1ri + ciT K ε (ε i − ε i −1 ) = 0



(8.13)

Theorem 8.1 The proposed synchronous controller (8.12) leads to asymptotic convergence of both the position tracking and synchronization errors to zero, namely, ei → 0 and εi → 0 as time t → ∞, under the conditions that the control gain K ri is large enough to satisfy λ min ( K ri ) ≥ λ max ( M i dtd (ci−1 )ci ) , where λ min (⋅) and λ max (⋅) denote the minimum and maximum eigenvalues of matrices, respectively. Proof Define a Lyapunov function candidate as n

∑  12 (c

r ) M ici−1ri +

−1 T i i

V=

i =1

n

+

∑ 12  ∫ (ε − ε

T

t

i

0

i =1

1 T ε i K ε εi  2 

i −1

 ) d ζ ΛβK ε 

t

∫ (ε − ε 0

i

i −1

(8.14)

) dζ

Differentiating V with respect to time yields V =

n

∑ (c

r ) M ici−1ri + ( ci−1ri ) M i

−1 T i i

T

i =1

n

+

∑ (ε − ε i

i =1

i −1

) ΛβK ε T

d −1 (ci ) ri + εTi K εε i  dt 

t

∫ (ε − ε 0

i

i −1

) dζ

(8.15)

156

Synchronization and Control of Multiagent Systems

Multiplying both sides of (8.13) by (ci−1ri )T yields

(ci−1ri )T Mici−1ri + (ci−1ri )T Krici−1ri + riT K ε (εi − εi−1 ) = 0



(8.16)

Substituting (8.16) into (8.15) yields V = −

n

∑ i =1

d −1  −1   −1 T  ( ci ri )  K ri − M i dt ( ci ) ci  ci ri  −  

n

+



(εi − εi −1 )T ΛβK ε



n

∑ [ r K (ε − ε T

i

ε

i

i =1

i −1

)] +

n

∑ ε K ε T i

ε i

i =1

t

(ε i − εi −1 ) d ζ 0 i =1 To analyze the term ∑in=1 riT K ε (εi − εi −1 ) in (8.17), it follows directly that

(8.17)

n

∑ r K (ε − ε T

i

ε

i

i −1

) = r1T K ε ε1 − r1T K ε ε n + r2T K ε ε 2 − r2T K ε ε1 +  rnT K ε ε n − rnT K ε ε n−1

i =1

= r1T K ε ε1 − r2T K ε ε1 + r2T K ε ε 2 − r3T K ε ε 2 +  rnT K ε ε n − r1T K ε ε n n

=

∑ (r − r i

i +1

)T K ε ε i

(8.18)

i =1 Utilizing (8.11) and (8.7) through (8.9), one obtains

ri − ri +1 = E i + ΛEi − E i +1 − ΛEi +1 = ciei + ciei − ci +1ei +1 − ci +1ei +1 + β(2εi − ε i −1 − εi +1 ) + Λ(ciei − ci +1ei +1 ) + Λβ

t

∫ (2ε − ε 0

i

i −1



− εi +1 ) d ς

= ε i + β(2εi − εi −1 − εi +1 ) + Λε i + Λβ

t

∫ (2ε − ε i

0

i −1

(8.19)

− ε i +1 ) d ς

Then, submitting (8.19) into (8.18) yields

∑ i =1

n

n

n

riT K ε (εi − εi −1 ) =



ε Ti K ε ε i +

i =1



n

ε Ti ΛK ε ε i +

i =1

n

+

∑ (ε − ε i

i =1

i +1

)T ΛβK ε

∑ (ε − ε i

i =1

0

i

)T βK ε (ε i − ε i +1 ) (8.20)

t

∫ (ε − ε

i +1

i −1

) dζ

157

A Synchronization Approach to Multirobot Formations

In deriving (8.20), the following result is utilized: n

n

∑ (2ε − ε i

i −1

− εi +1 ) ε i = T

i =1



∑ (ε − ε i

i +1

)T (εi − εi +1 )

i =1

Finally, substituting (8.20) into (8.17) and utilizing the condition of Theorem 8.1, one obtains V ≤ −

n

∑ i =1

 −1 T  d −1   −1   ( ci ri )  λ min ( K r ) − λ max  M i dt ( ci ) ci   ci ri  −  

n



∑ (ε − ε i

i +1

)T βK ε (ε i − εi +1 )

n

∑ ε ΛβK ε T i

ε i

i =1



(8.21)

i =1

≤0 It is thus concluded that the defined Lyapunov function (8.14) has a negative semidefinite time derivative. From (8.21), one knows that ri and εi are bounded. From (8.13), ri is bounded. From (8.19), ε i is bounded. Therefore, both ri and εi are uniformly continuous because ri and ε i are bounded. Finally, from Barbalat’s lemma, ri → 0 and εi → 0 as time t → ∞. The synchronization goal (8.6) is achieved. Now prove ei = 0 when ri = 0 and εi = 0. From (8.11), ri = 0 implies Ei = 0 when t → ∞ . Combining all equations in (8.8) from 1 to n, one obtains

c1e1 + c2e2 +  + cnen = 0

(8.22)

Substituting (8.6) into (8.22) yields

c1e1 = c2e2 =  = cnen = 0. Because the inverse of ci exists, ei = 0. Therefore, Theorem 8.1 is proven.

It appears that the control parameters β in (8.8) and K ε in (8.12) dominate the control of the synchronization error. As seen in (8.8), the value of β determines the weight of the synchronization error εi in the coupled position error Ei , and thus affects the synchronization effort in the whole control action. As β increases, the synchronization will be enhanced. In practical applications, β should be chosen by taking a balance between position and synchronization controls. The parameter K ε, accompanied by εi − εi −1 in (8.12), ensures the stability of the system when adding the cross-coupling control with β to the overall system dynamics. It will be further discussed how to get the desired boundedness of the synchronization error through adjusting K ε later on.

158

Synchronization and Control of Multiagent Systems

To control the robot’s heading, a general computed torque approach can be utilized to design the control input τθi as follows:

(

)

d + k ∆θ + k ∆θ τiθ = I i θ i vi i pi i



(8.23)

where k vi and k pi are computed torque control gains. The desired heading θid , as said  before, is defined such that the robot is always oriented toward its desired position. In other words, the orientation control serves to achieve the robot’s translation. Substituting (8.23) into the robot rotational dynamics in (8.1) yields the closedloop dynamics as follows:  + k ∆θ + k ∆θ = 0 ∆θ i vi i pi i



(8.24)

This directly yields ∆θi = 0 and ∆θ i = 0 as time t → ∞, and guarantees the stability properties of the rotation. Remark 8.3: If robot i malfunctions (e.g., lags much behind on its trajectory), the other robots will respond under the synchronization control. The centralized highlevel planner in level 1 will monitor the task and make the decision whether robot i is still suitable to remain in the team. The decision making will be based on the facts of whether the robot loses capabilities to execute the task (i.e., drive the position error to zero) and to communicate with the other robots. If robot i has to be abandoned by the team, the other robots will treat robot i as a virtual robot and assume its position error to be zero in the follow-on motion. In this way, the remaining robots can still follow the previous network topology.

8.3.2 Discussions Two issues are further discussed in this subsection. One is the boundedness on the formation error. Another is the robustness achieved by adaptive synchronization control. 8.3.2.1 Boundedness The boundedness can be analyzed throughout the transient response. Given an upper bound on the formation error, the following will discuss the lower bound on the control parameter that achieves the desired upper bound on the error. Because the system is asymptotically stable as concluded from Theorem 8.1, given an upper bound λ εi on εi , there exists a finite time T > 0 such that after t > T, one has ||εi (t )|| ≤ ||λ εi || . In addition, at t = T, n

V (T ) =

∑ i =1 n

+

 1 c −1 (T )r (T ) T M c −1 (T )r (T ) + ) ii  ( i  i i 2

∑ ∫ i =1

1 2 

T

0

T

 (εi − εi −1 ) d ζ ΛβK ε 



T

0

n

∑  12 ε (T )K ε (T ) T i

ε i

i =1

(8.25) (εi − εi −1 ) d ζ

159

A Synchronization Approach to Multirobot Formations

which is bounded. If one defines the first term of the right-hand side of (8.25) as VA, it then follows from (8.25) that n

V (T ) − VA =

∑ i =1

 1 εT (T ) K ε (T ) +  i  ε i 2

× ΛβK ε



T

0

∑  12 ||K || ||λ ε

i =1



∑ ∫ i =1

1 2 

T

0

 (εi − εi −1 ) d ζ 

T

(εi − εi −1 ) d ζ

n



n

εi

||2  + 

1 = || K ε ||  + 2 || Λβ|| T 2  2 

(8.26) n

∑  12 ||K || ||Λβ|| (2 ||λ ε

i =1

n

∑ (||λ

εi

εi

|| T )2  

||2 )

i =1

Finally, the lower bound for K ε can be determined as K ε  ≥

(

1 2

V (T ) − VA + 2 || Λβ|| T 2 ) ∑in=1 (||λ εi ||2 )

(8.27)

8.3.2.2 Adaptive Control for Robustness In the controller (8.12), the robot inertia M i is assumed to be known. In practice, the inertia M i may be uncertain. Define Mˆ i (t ) as the estimate of the robot inertia M i . An adaptive control can be designed as

τ qi = Mˆ i (t )ci−1 (ui − ci qi ) + K rici−1ri + ciT K ε (ε i − εi −1 )

(8.28)

The estimated inertia Mˆ i (t ) is subject to the adaptation law:

 Mˆ i (t ) = Γ i ci−1 (ui − ci qi )ci−1ri

(8.29)

where Γ i is a diagonal positive-definite control gain. Define the estimation error as

M i (t ) = M i − Mˆ i (t )

(8.30)

Then, the adaptive control law can be rewritten as

 M i (t ) = − Γ ici−1 (ui − ci qi )ci−1ri

(8.31)

160

Synchronization and Control of Multiagent Systems

Substituting the controller (8.28) into the robot dynamics model leads to the following closed-loop dynamics:

M ici−1ri + K rici−1ri + ciT K ε (ε i − ε i −1 ) = M i (t ) ( ci−1 (ui − ci qi ) )

(8.32)

In a similar manner to Theorem 8.1 and Chapter 5, one can prove that the aforementioned adaptive control law leads to asymptotic convergence to zero of both the position tracking and synchronization errors. The aforementioned analysis indicates that an adaptive control can be well incorporated into the proposed synchronization scheme. Although only inertia uncertainty is discussed here, the method can be extended to more complex cases with modeling uncertainty and external disturbances.

8.4 Simulations Simulations were performed first to verify the effectiveness of the synchronization control approach to multirobot formations. It is assumed that all the required formations are composed of regular closed, smooth, and simple planar curves. A generalized superellipse with varying parameters is used to represent different kinds of formation curves: xi a



2/m

+

yi b

2/m

=1

(8.33)

 xi = ± a cosm ϕ i   yi = ± b sin m ϕ i

(8.34)

which can also be represented as



where m denotes the exponent index that may be time varying; and a, b, and ϕ i have been defined in (8.2). In the simulations, ϕ i is fixed, and its value can be known at the beginning. Based on ϕ i , each robot can be indexed. In addition to the exponent m, the variation of radii a and b also affects the curve significantly. A study on switch between two different ellipses with exchanged radii a and b was reported in Sun and Wang (2007). With different exponent m, Equation (8.33) and Equation (8.34) represent a range of shapes including rectangles, ovals, ellipses, and diamonds, in categories of hyperellipses (m < 1) and hypoellipses (m > 1). The following simulation study will consider a switch from an ellipse ( m0 = 1) to a rounded rectangle (m f = 81 ), as seen in Figure 8.3, where a and b are fixed. In the simulation, there are twenty mobile robots, denoted by little squares as seen in Figure 8.3, all located on an ellipse curve at the beginning time. During the switch, all the robots are required to maintain in a desired time-varying hyperellipse curve, with the exponent index changed in the following way:

m(t ) = m0 + (m f − m0 )(1 − et )

(8.35)

161

A Synchronization Approach to Multirobot Formations 100

Target shape

80 60 Initial shape

40

Y (m)

20 0 Initial position of robot i

–20 –40 –60 –80 –100 –60

Final position of robot i –40

–20

0 X (m)

20

40

60

Figure 8.3  Switch from ellipse to rounded rectangle.

where m0 = 1 and m f = 81 denote the initial and final values of the exponent index. All twenty robots have different inertia values, expressed by M i = diag{0.5 + 0.075i, 0.5 + 0.075i}, where i = 1,..., 20 . The desired trajectory of the ith robot is designed according to the required formation task (8.34):



 xid (t )   cos m (t ) ϕ i qid (t ) =  d  =   yi (t )  

sin

m (t )

 a  a    = Ai (t )   ϕi   b  b 

(8.36)

The coupling parameter matrix was then defined as  cosm (t ) ϕ i ci (t ) = A (t ) =   −1 i



  m t ( ) sin ϕ i  

−1



(8.37)

The sampling period was set to 0.005 second in the simulation. Two control algorithms were applied in the simulation for comparison purposes. One was the synchronous control (8.12). The other was the nonsynchronous control by removing all kinds of coupling among the robots in the controller, which was equivalent to a standard feedforward plus a feedback control. The control parameters of the synchronous controller (8.12) were chosen as β = diag{15,15}, Λ = diag{35, 35}, K ε = diag{10,10}, and K ri = diag{120,120}. To implement the nonsynchronous control,

162

Synchronization and Control of Multiagent Systems Trajectory of robot i

Time (s)

2 1.5 1 100

0.5 50

0 –40

0

–20 Initial shape 0 X (m )

–50 20 40

Y

)

(m

–100

Figure 8.4  Switch from an ellipse to a rounded rectangle and trajectories of robots with synchronous control.

the control parameters were chosen as β = diag{0, 0}, Λ = diag{35, 35}, K ε = diag{0, 0}, and K ri = diag{120,120}. Note that the same coupling parameter matrix ci was used to calculate the synchronization error in both cases, for a fair comparison. Figure 8.4 illustrates the actual formation shapes and the trajectories of the robots in the switch from the initial ellipse to the final rounded rectangle under the synchronous control. Figure 8.5a,b illustrate the position and synchronization errors in x and y directions of 20 robots under the proposed synchronous control. Both the position and synchronization errors increase from zero up to some nonzero values and, subsequently, decrease and converge to zero upon reaching the final desired formation. Figure 8.6 illustrates the results of the nonsynchronous control. It is seen that the robots have large transient synchronization errors under nonsynchronous control, which degrades the performance of the formation. With the proposed synchronous control, the synchronization errors are greatly reduced, and therefore, a better formation can be achieved. There is a need to investigate how the robot group responds to a particular robot that is observed to malfunction. Assume that robot 18 was found to lag much behind its desired trajectory soon after the task started. Due to the use of synchronization control, all the other robots had to slow down to wait for this robot to catch the team. After recognizing that robot 18 could not resume working properly, the group decided to abandon this robot at 0.75 second. The remaining 19 robots then continued the movement and treated robot 18 as a virtual robot with an assumption that its position error was zero. Figure 8.7a,b illustrate the position and synchronization

163

A Synchronization Approach to Multirobot Formations 0.15 0.1

0.04 Position Errors Along y-axis (m)

Position Errors Along x-axis (m)

0.06

0.02 0 –0.02

0.05 0 –0.05 –0.1

–0.04 –0.06

8

–0.15

0

0.5 Time (s)

–0.2

1

1

0

0.5 Time (s)

1

0.025 0.02

4

Sync. Errors Along y-axis (m)

Sync. Errors Along x-axis (m)

0.5 Time (s)

(a)

×10–3

6

2 0 –2 –4 –6 –8

0

0.015 0.01 0.005 0 –0.005 –0.01 –0.015 –0.02

0

0.5 Time (s)

1

–0.025 (b)

Figure 8.5  Results of synchronous control: (a) position errors and (b) synchronization errors.

164

Synchronization and Control of Multiagent Systems 0.1

0.3 0.2

0.06

Position Errors Along y-axis (m)

Position Errors Along x-axis (m)

0.08

0.04 0.02 0 –0.02 –0.04 –0.06

0 –0.1 –0.2 –0.3

–0.08 –0.1

0.1

0

0.5 Time (s)

–0.4

1

0

0.5 Time (s)

1

0

0.5 Time (s)

1

0.02

0.2

0.015

0.15

0.01

0.1

Sync. Errors Along y-axis (m)

Sync. Errors Along x-axis (m)

(a)

0.005 0 –0.005 –0.01 –0.015 –0.02

0.05 0 –0.05 –0.1 –0.15

0

0.5 Time (s)

–0.2

1 (b)

Figure 8.6  Results of nonsynchronous control: (a) position errors and (b) synchronization errors.

165

A Synchronization Approach to Multirobot Formations 0.5

0.4 The failed robot

0.2 Position Errors Along y-axis (m)

Position Errors Along x-axis (m)

0.4 0.3 0.2 0.1 0 –0.1 –0.2

0 –0.2 –0.4 –0.6 –0.8

0

Time of removal

1

Time (s)

2

–1

3

0

Time of removal

1

Time (s)

2

3

0.04

0.06

0.03

0.04

0.02

Sync. Errors Along y-axis (m)

Sync. Errors Along x-axis (m)

(a)

0.01 0 –0.01 –0.02

0 –0.02 –0.04 –0.06

–0.03 –0.04

0.02

0

Time of removal

1

2

3

–0.08

Time (s)

0

1 2 Time of Time (s) removal

3

(b)

Figure 8.7  Results when dealing with the failed robot: (a) position errors and (b) synchronization errors.

166

Synchronization and Control of Multiagent Systems

errors of the case. It is seen that due to the failure of robot 18, the position and synchronization errors of all the robots in the group increased significantly until robot 18 was abandoned after 0.75 second.

8.5 Multirobot Formation Experiments Experiments were further carried out on a group of three mobile robots to verify the proposed synchronous control method. The three robots are P3DX mobile robots, as shown in Figure 8.8. The control inputs τ qi and τθi were obtained by the inputs acting on the left and the right driving wheels, denoted by τli and τri as given in the Appendix. The experiments were performed in two cases.

8.5.1 Case 1: Triangle Formation In this case, the three robots were controlled to maintain a series of equilateral triangles. The three robots were located at the three vertices of the equilateral triangle. Define a circumcircle that connects the three vertices of the triangle. The center of the circumcircle is located at the geometrical central point of the triangle. The switch among the equilateral triangles was modeled as the switch among the circumcircles with time-varying radius and orientation, as shown in Figure  8.9. By referring to Equation (8.2), the coordinate qi of the ith robot, where i = 1,..., 3 , was subject to the following constraint: ∂S (qi , t ) = 0 :



  xi (t )   cos fi (t ) = qi (t ) =   yi (t )   

  R(t )   R(t )   = Ai (t )  sin fi (t )   R(t )   R(t ) 

Robot 1 Desired shape

Robot 2

Robot 3

Figure 8.8  Three mobile robots in the experiment.

    

(8.38)

167

A Synchronization Approach to Multirobot Formations Robot 1 Heading angle 1 The circumcircle

The circumcircle

An equilateral triangle Y

Robot 1

Robot 2 Y O An equilateral triangle

Trajectory of Robot 1

X

O X R

Robot 3

Robot 2

R

Heading angle 2

Heading angle 3 Robot 3

Figure 8.9  Switch among triangle formations.

where R(t ) is the time-varying radius of the circumcircle, and ϕ i (t ) was defined in (8.2). Because a = b = R(t ), ϕ i (t ) = α i . In the experiment, both the size and the orientation of the triangle were changed by varying R(t ) and ϕ i (t ) , respectively. R(t ) was scheduled to change in the following way:



R(t ) = R0 + ( R f − R0 )

t t + e1−t

(8.39)

where R0 and R f denote the initial and the final radii of the circumcircle, and were chosen as R0 = 2.4 m and R f = 4.8m , respectively. ϕ i (t ) was scheduled to change as



ϕ i (t ) = ϕ i 0 + (ϕ if − ϕ i 0 )

t t + e1−t

(8.40)

where ϕ i0 and ϕ if are the initial and the final values for the ith robot, and were chosen as ϕ10 = 0°, ϕ1 f = 120°, ϕ 20 = 0°, ϕ 2 f = −120°, and ϕ 30 = 0°, ϕ 3 f = 0°. After system calibration, the inertia of each robot was estimated as 1.8 kg ⋅ m2. Define the coupling parameter matrix as



 cos ϕ i (t ) ci (t ) = Ai−1 (t ) =  

  sin ϕ i (t )  

−1

The sampling time period was chosen as 200 ms. The control parameters used in the synchronous controller are

β = diag{1,1}, Λ = diag{2, 2}, K ε = diag{5, 5}, K r1 = diag{5, 5},



K r 2 = diag{5, 5}, K r 3 = diag{5, 5}

168

Synchronization and Control of Multiagent Systems

As in the simulations, two control algorithms of the proposed synchronous control (8.12) and the nonsynchronous control were implemented, respectively. To implement the nonsynchronous controller, the coupling among the robots was removed, and the parameters were chosen as β = diag{0, 0}, K ε = diag{0, 0}, and Λ and K ri were the same as in the synchronous case. Note that the same coupling parameter ci was used to calculate the synchronization error, for both the synchronous and nonsynchronous cases. The robots were localized based on their initial positions and the moving distances measured by the motor encoders. The right-hand side of Figure 8.9 illustrates the legend of the triangle formation change in the experiment. Figure  8.10 illustrates the position and synchronization errors of the three robots in x- and y-directions, respectively, under the proposed synchronization control (8.12). Figure 8.11 illustrates the position and synchronization errors of the robots under the nonsynchronous control. It is seen that both the control methods could ensure good convergence of the robot position errors. The synchronization errors under the synchronous controller were much smaller than those under the nonsynchronous controller. The synchronization errors actually represent the formation errors. Figure  8.12 illustrates the heading angle errors of the three robots under the computed torque controller (8.23), where the control gains were K p1 = diag{10,10}, K p2 = diag{10,10} , K p3 = diag{10,10}, K v1 = diag{10,10}, K v2 = diag{10,10}, and K v3 = diag{10,10} . Figure 8.13 illustrates the control inputs τli and τri on the two wheels of each robot, respectively, under the synchronous control.

8.5.2 Case 2: Ellipse Formation To further verify the robustness of the adaptive synchronization control (8.28) and (8.29) to the model uncertainty, the three robots were controlled to form a part of an ellipse, as shown in Figure 8.14, and then switch among a series of ellipse formations. At the beginning, the robots were in a straight line and with the same heading angle, as shown on the left-hand side of Figure 8.15. Then the robots spread out to explore a series of formations that all are part of ellipses. The coordinate qi of the ith robot is subject to Equation (8.2). The longest and the shortest radii of the ellipse were changed as

a(t ) = a0 + (a f − a0 )

t t + e1−t

(8.41)

b(t ) = b0 + (b f − b0 )

t t + e1−t

(8.42)

where a0 = 3m and a f = 5m are the initial and the final desired longest radii of the ellipse; b0 = 1m and b f = 3m are the initial and the final desired shortest radii of the ellipse. In the experiment, let α i , as defined in Equation (8.2), change as

α i (t ) = α i 0 + (α if − α i 0 )

t t + e1−t

(8.43)

where we chose α10 = 30°, α1 f = 75°, α 20 = 0°, α 2 f = −25°, and α 30 = −30°, α 3 f = −75°. All inertias of the robots were estimated to be zero at the beginning. Define

169

A Synchronization Approach to Multirobot Formations

Position Errors (mm)

500

Robot 1

0 –500

In x-axis In y-axis 0

1

2

3

4

5

6

7

8

9

Position Errors (mm)

0 –200

In x-axis In y-axis

–400 –600

Robot 2 0

1

2

3

4

5

6

7

Position Errors (mm)

500

In x-axis In y-axis 0

1

2

3

4 5 Time (s) (a)

6

7

Sync. Errors (mm)

500

0

1

2

3

4

5

6

7

Sync. Errors (mm)

8

9

Robot 2

0

In x-axis In y-axis 0

1

2

3

4

5

6

7

200 Sync. Errors (mm)

9

In x-axis In y-axis

500

–500

8

Robot 1

0 –500

9

Robot 3

0 –500

8

8

9

Robot 3

0 –200 –400

In x-axis In y-axis 0

1

2

3

4 5 Time (s) (b)

6

7

8

9

Figure 8.10  Synchronous control results: (a) position errors and (b) synchronization errors.

170

Position Errors (mm)

Synchronization and Control of Multiagent Systems 1000

Position Errors (mm)

0

2

4

6

8

10

1000

–1000 0

2

4

6

8

10

–1000 0

2

4

6

Time (s) (a)

8

10

12

1000

In x-axis In y-axis 0

2

4

6

8

10

12

0

Robot 2 0

2

4

6

8

10

12

500 Sync. Errors (mm)

14

In x-axis In y-axis

500

14 Robot 3

0 –500

14

Robot 1

0

–500

14

In x-axis In y-axis

1000 Sync. Errors (mm)

12 Robot 3

0

–1000

14

In x-axis In y-axis

1000

–2000

12 Robot 2

0

–2000 Position Errors (mm)

In x-axis In y-axis

–1000 –2000

Sync. Errors (mm)

Robot 1

0

In x-axis In y-axis 0

2

4

6

Time (s) (b)

8

10

12

14

Figure 8.11  Nonsynchronous control results: (a) position errors and (b) synchronization errors.

171

Angle Error (degree)

A Synchronization Approach to Multirobot Formations 100 50

Angle Error (degree)

0

0

1

2

3

4

5

6

7

8

200

9

Robot 2

0

–200 Angle Error (degree)

Robot 1

0

1

2

3

4

5

6

7

0

1

2

3

4 5 Time (s)

6

7

8

9

50 0 –50

–100

Robot 3 8

9

Torques of Robot 3 (Nmm)

Torques of Robot 2 (Nmm)

Torques of Robot 1 (Nmm)

Figure 8.12  Heading angle errors of the three robots.

1000

Wheel 1 Wheel 2

500 0 –500 –1000

0

1

2

3

4

5

6

7

1000

8

9

Wheel 1 Wheel 2

500 0 –500 –1000

0

1

2

3

4

5

6

7

400

8

9

Wheel 1 Wheel 2

200 0 –200

0

1

2

Figure 8.13  Control torques.

3

4 5 Time (s)

6

7

8

9

172

Synchronization and Control of Multiagent Systems

Robot 1

Robot 2

Desired shape

Robot 3

Figure 8.14  Three robots in an ellipse.

the same coupling coefficient as in case 1. The control gains were chosen as follows: β = diag{1,1}, Λ = diag{1.3,1.3}, K ε = diag{1,1}, K r1 = diag{10,10}

K r 2 = diag{10,10}, K r 3 = diag{10,10}, Γ i = diag{0.1, 0.1}.

The sampling time period was 200 ms. The right-hand side of Figure 8.15 illustrates the legend of the ellipse formation change in the experiment. Figure 8.16 illustrates good convergence of the position and synchronization errors of the three robots under the proposed adaptive synchronous

Robot 1 Y O

Trajectory of Robot 1

Heading angle 1 Robot 1

Robot 2 X

Robot 3

O Y

X

a

b

Robot 2 Heading angle 2

Robot 3 Heading angle 3

Figure 8.15  Switch among formations.

173

Position Errors (mm)

A Synchronization Approach to Multirobot Formations 2000

In x-axis In y-axis

1000 0 –1000

Robot 1 0

1

2

3

4

5

Position Errors (mm)

2000

0

Robot 2 0

1

2

3

4

5

2000

6

7

In x-axis In y-axis

1000 0 –1000

7

In x-axis In y-axis

1000

–1000 Position Errors (mm)

6

Robot 3 0

1

2

3

4

5

6

7

Sync. Errors (mm)

Time (s) (a) 500

In x-axis In y-axis

0 –500

Robot 1 0

1

2

3

4

5

6

Sync. Errors (mm)

500

Robot 2

0 –500

In x-axis In y-axis 0

1

2

3

4

5

6

Sync. Errors (mm)

200

7 Robot 3

0

In x-axis In y-axis

–200 -400

7

0

1

2

3

4

5

6

7

Time (s) (b)

Figure 8.16  Adaptive synchronous control results: (a) position errors and (b) synchronization errors.

174

Synchronization and Control of Multiagent Systems

control, although all inertias of the robots were assumed to be unknown. These results demonstrate the validity of incorporation of adaptive control into the synchronization approach to solve the model uncertainty problem.

8.6 Summary This chapter presents a synchronization control approach to controlling swarms of mobile robots to track the desired trajectories while synchronizing motions among them to maintain relative kinematics relationships, as required by the formation. The formation control problem is posed as a synchronization control problem. The concept of the position synchronization error, which is defined as differential position error between every pair of two neighboring robots, is introduced to measure the performance of the formation. The proposed synchronous controller guarantees asymptotic convergence to zero of both position and synchronization errors of each robot in translation. A rotary controller drives the robot to always be oriented toward its desired position. Both simulation and experimental studies are finally performed to demonstrate the effectiveness of the proposed approach. This work verifies again the success of applying the synchronization approach to multiagent systems with large availability.

Appendix Define the torque inputs acting on the left and the right driving wheels of the ith robot as τli and τri . The transformation matrix from (τli , τri ) to (τ qi , τθi ) is expressed as



 cos θi 1 Bi (θi ) =  sin θi d  R 

cos θi sin θi −R

    

(8.44)

where d and R have been shown in Figure 8.1. Based on Bi (θi ) in (8.44), τ qi and τθi can be derived as



 cos θi (τ + τ )  li ri   τqi ( x )   r = τqi =      τqi ( y)   sin θi (τ li + τri )   r  τθi =

R (τ li − τri ) r

(8.45)

(8.46)

The inverse relationship from (τ qi , τθi ) to (τli , τri ) can be obtained by τli =



r  τ qi ( x ) τθi  + 2  cos θi R 

r  τ ( x ) τθi  τri =  qi − 2  cos θi R 



(8.47)

A Synchronization Approach to Multirobot Formations

175

or



τli =

r  τ qi ( y) τ θi  +  2  sin θi R

τri =

r  τ qi ( y) τ θi  −  R 2  sin θi



(8.48)

To avoid singularity, (8.47) should be used when θi is around zero or 180°, and (8.48) should be used when θi is around 90° or 270°.

References Balch, T., and Arkin, R. 1998. Behavior-based formation control for multi-robot systems. IEEE Transactions on Robotics and Automation 14(6):926–939. Beard, R. W., Lawton, H., and Hadaegh, F. Y. 2001. A coordination architecture for spacecraft formation control. IEEE Transactions on Control System Technology 9(6):777–790. Belta, C., and Kumar, V. 2004. Optimal motion generation for groups of robots: a geometric approach. ASME Journal of Mechanical Design 126(1):63–70. Berman, S., Edan, Y., and Hamshidi, M. 2003. Navigation of decentralized autonomous automatic guided vehicles in material handling. IEEE Transactions on Robotics and Automation 19(4):743–749. Chen, H., Sun, D., and Yang, J. 2009. Global localization of multirobot formations using ceiling vision SLAM strategy. Mechatronics 19(5):618–628. Chen, J., Sun, D., Yang, J., and Chen, H. 2010. A leader-follower formation control of multiple nonholonomic mobile robots incorporating a receding-horizon scheme. International Journal of Robotics Research 29(6):727–747. Chiu, T. C., and Tomizuka, M. 2001. Contouring control of machine tool feed drive systems: a task coordinate frame approach. IEEE Transactions on Control System Technology 9(1):130–139. Chung, S. J., and Slotine, J. J. E. 2009. Cooperative robot control and concurrent synchronization of Lagrangian systems. IEEE Transactions on Robotics 25(3):686–700. Chung, S. J., Ahsun, U., and Slotine, J. J. E. 2008. Application of synchronization to formation flying spacecraft: Lagrangian approach. AIAA Journal of Guidance, Control and Dynamics 32(2):512–526. Das, A. K., Fierro, R., Kumar, V., Ostrowski, J. P., Spletzer, J., and Taylor, C. J. 2002. A visionbased formation control framework. IEEE Transactions on Robotics and Automation 18(5):813–825. Deasi, J. P., Kumar, V., and Ostrowski, P. 2001. Modeling and control of formations of nonholonomic mobile robots. IEEE Transactions on Robotics and Automation 17(6):905–908. Derenick, J. C., and Spletzer, J. R. 2007. Convex optimization strategies for coordinating large-scale robot formations. IEEE Transactions on Robotics 23(6):1252–1259. Egerstedt, M., and Hu, X. 2001. Formation constrained multi-agent control. IEEE Transactions on Robotics and Automation 17(6):947–951. Fax, J. A., and Murray, R. M. 2004. Information flow and cooperative control of vehicle formations. IEEE Transactions on Automatic Control 49(9):1465–1476. Feng, L., Koren, Y., and Borenstein, J. 1993. Cross-coupling motion controller for mobile robots. IEEE Control Sysems Magazine 13(6):35–43. Fox, D., Burgard, W., Kruppa, H., and Thrun, S. 2000. A probabilistic approach to collaborative multi-robot localization. Autonomous Robots 8(3):325–344.

176

Synchronization and Control of Multiagent Systems

Giulietti, F., Pollini, L., and Innocenti, M. 2000. Autonomous formation flight. IEEE Control System Magazine 20(1):34–44. Hsieh, M. Y., and Kumar, V. 2006. Pattern generation with multiple robots. IEEE International Conference on Robotics and Automation, Florida, 2442–2447. Huang, J., Farritor, S. M., Qadi, A., and Goddard, S. 2006. Localization and follow-theleader control of a heterogeneous group of mobile robots. IEEE/ASME Transactions on Mechatronics 11(2):205–215. Jadbabaie, A., Lin, J., and Morse, A. S. 2003. Coordination of groups of mobile autonomous agents using nearest neighbor rules. IEEE Transactions on Automatic Control 48(9):988–1001. Ji, M., and Egerstedt, M. 2007. Distributed coordination control of multi-agent systems while preserving connectedness. IEEE Transactions on Robotics 23(4):693–703. Kang, W., Xi, N., and Sparks, A. 2000. Formation control of autonomous agents in 3D workspace. IEEE International Conference on Robotics and Automation, San Francisco, CA, pp. 1755–1760. Koren, Y. 1980. Cross-coupled biaxial computer controls for manufacturing systems. ASME Journal of Dynamics Systems, Measurement, and Control 102(4):265–272. Lawton, J. R. T., Beard, R. W., and Young, B. J. 2003. A decentralized approach to formation maneuvers. IEEE Transactions on Robotics and Automation 19(6):933–941. Lewis, M. A., and Tan, K. H. 1997. High precision formation control of mobile robots using virtual structures. Autonomous Robots 4:387–403. Long, M., Gage, A., Murphy, R., and Valavanis, K. 2005. Application of the distributed field robot architecture to a simulated demining task. IEEE International Conference on Robotics and Automation, Barcelona, Spain, 3204–3211. McInnes, C. R. 1995. Autonomous ring formation for a planar constellation of satellites. AIAA Journal of Guidance, Control and Dynamics 18(5):1215–1217. Mesbahi, M., and Hadaegh, F. 2001. Formation flying of multiple spacecraft via graphs, matrix inequalities, and switching. AIAA Journal of Guidance, Control and Dynamics 24:369–377. Moreau, L. 2005. Stability of multiagent systems with time-dependent communication links. IEEE Transactions on Automatic Control 50(2):169–182. Ogren, P., Fiorelli, E., and Leonard, N. E. 2004. Cooperative control of mobile sensor networks: adaptive gradient climbing in a distributed environment. IEEE Transactions on Automatic Control 40(8):1292–1302. Olfati-Saber, R. 2006. Flocking for multi-agent dynamic systems: algorithms and theory. IEEE Transactions on Automatic Control 51(3):401–420. Olfati-Saber, R., and Murray, R. M. 2004. Consensus problems in networks of agents with switching topology and time-delays. IEEE Transactions on Automatic Control 49(9):101–115. Paley, D. A., Leonard, N. E., and Sepulchre, R. 2008. Stabilization of symmetric formations to motion around convex loops. Systems and Control Letters 57(3):209–215. Parker, L. E. 1998. ALLIANCE: An architecture for fault tolerant multirobot cooperation. IEEE Transactions on Robotics and Automation 14(2):220–240. Ren, W., and Beard, R. W. 2005. Consensus seeking in multi-agent systems under dynamically changing interaction topologies. IEEE Transactions on Automatic Control 50(5):655–661. Rodriguez-Angeles, A., and Nijmeijer, H. 2004. Mutual synchronization of robots via estimated state feedback: a cooperative approach. IEEE Transactions on Control System Technology 12(4):542–554. Sepulchre, R., Paley, D., and Leonard, N. E. 2007. Stabilization of planar collective motion: all-to-all communication. IEEE Transactions on Automatic Control 52(5):811–824. Stilwell, D. J., and Bishop, B. E. 2000. Platoons of underwater vehicles. IEEE Control Systtem Magazine 20(6):45–52.

A Synchronization Approach to Multirobot Formations

177

Sun, D. 2003. Position synchronization of multiple motion axes with adaptive coupling control. Automatica 39(6):997–1005. Sun, D., and Mills, J. K. 2002. Adaptive synchronized control for coordination of multi-robot assembly tasks. IEEE Transactions on Robotics and Automation 18(4):498–510. Sun, D., and Tung, M. C. 2009. A synchronization approach for the minimization of contouring errors of CNC machine tools. IEEE Transactions on Automation Science and Engineering 6(4):720–729. Sun, D., and Wang, C. 2007. Controlling swarms of mobile robots for switching between formations using synchronization concept. IEEE International Conference on Robotics and Automation, Rome, Italy, pp. 2300–2305. Sun, D., Shao, X. Y., and Feng, G. 2007. A model-free cross-coupled control for position synchronization of multi-axis motions: theory and experiments. IEEE Transactions on Control System Technology 15(2):306–314. Sun, D., Wang, C., Shang, W., and Feng, G. 2009. A synchronization approach to trajectory tracking of multiple mobile robots while maintaining time-varying formations. IEEE Transactions on Robotics 25(5):1074–1086. Takahashi, H., Nishi, H., and Ohnishi, K. 2004. Autonomous decentralized control for formation of multiple mobile robots considering ability of robot. IEEE Transactions on Industrial Electronics 51(6):1272–1279. Tanner, H. G., Loizou, S. G., and Kyriakopoulos, K. J. 2003. Nonholonomic navigation and control of multiple mobile manipulators. IEEE Transactions on Robotics and Automation 19(1):53–64. Tomizuka, M., Hu, J. S., and Chiu, T. C. 1992. Synchronization of two motion control axes under adaptive feedforward control. ASME Journal of Dynamic Systems, Measurement, and Control 114(2):196–203. Yan, M. T., Lee, M. H., and Yen, P. L. 2005. Theory and application of a combined self-tuning adaptive control and cross coupling control in a retrofit milling machine. Mechatronics 15(2):193–211. Yeh, S. S., and Hsu, P. L. 2002. Estimation of the contouring error vector for the cross-coupled control design. IEEE/ASME Transactions on Mechatronics 7(1):44–51. Yeh, S., and Hsu, P. 2003. Analysis and design of integrated control for multi-axis motion systems. IEEE Transactions on Control Systems Technology 11(3):375–382. Zhong, Q., Shi, Y., Mo, J., and Huang, S. 2002. A linear cross coupled control system for high speed machining. International Journal of Advanced Manufacturing Technology 19:558–563.