Robotics and Automation Vol 1
Robotics and Automation Vol 1
Robotics and Automation Vol 1
Proceedings of the
Fourth International Conference on
Informatics in Control, Automation and Robotics
Volume RA-1
Angers, France
Co-organized by
INSTICC – Institute for Systems and Technologies of Information, Control
and Communication
and
University of Angers
Co-sponsored by
IFAC - International Federation of Automatic Control
GDR MACS - Groupe de Recherche “Modélisation, Analyse et Conduite
des Systèmes dynamiques
CNRS - Centre National de la Recherche Scientifique
and
EEA – Club des Enseignants en Electronique, Electrotechnique
et Automatique
In Cooperation with
AAAI – Association for the Advancement of Artificial Intelligence
I
Copyright © 2007 INSTICC – Institute for Systems and Technologies of
Information, Control and Communication
All rights reserved
Edited by Janan Zaytoon, Jean-Louis Ferrier, Juan Andrade Cetto and Joaquim Filipe
Printed in Portugal
ISBN: 978-972-8865-83-2
Depósito Legal: 257879/07
http://www.icinco.org
[email protected]
II
BRIEF CONTENTS
INVITED SPEAKERS........................................................................................................................IV
FOREWORD.................................................................................................................................. XV
III
INVITED SPEAKERS
Dimitar Filev
The Ford Motor Company
U.S.A.
Mark W. Spong
University of Illinois at Urbana-Champaign
U.S.A.
Patrick Millot
Université de Valenciennes
France
Jean-Louis Boimond
LISA
France
Oleg Gusikhin
Ford Research & Adv. Engineering
U.S.A.
IV
ORGANIZING AND STEERING COMMITTEES
Conference Co-chairs
Jean-Louis Ferrier, University of Angers, France
Joaquim Filipe, Polytechnic Institute of Setúbal / INSTICC, Portugal
Program Co-chairs
Juan Andrade Cetto, Institut de Robòtica i Informàtica Industrial, CSIC-UPC, Spain
Janan Zaytoon, CReSTIC, URCA, France
Proceedings Production
Andreia Costa, INSTICC, Portugal
Bruno Encarnação, INSTICC, Portugal
Vitor Pedrosa, INSTICC, Portugal
CD-ROM Production
V
VI
PROGRAM COMMITTEE
Eugenio Aguirre, University of Granada, Spain Luis M. Camarinha-Matos, New University of
Lisbon, Portugal
Arturo Hernandez Aguirre, Centre for Research in
Mathematics, Mexico Marco Campi, University of Brescia, Italy
Frank Allgower, University of Stuttgart, Germany Marc Carreras, University of Girona, Spain
Fouad AL-Sunni, KFUPM, Saudi Arabia Jorge Martins de Carvalho, FEUP, Portugal
Bala Amavasai, Sheffield Hallam University, U.K. Alicia Casals, Technical University of Catalonia,
Spain
Francesco Amigoni, Politecnico di Milano, Italy
Alessandro Casavola, University of Calabria, Italy
Yacine Amirat, University Paris 12, France
Christos Cassandras, Boston University, U.S.A.
Nicolas Andreff, LASMEA, France
Riccardo Cassinis, University of Brescia, Italy
Stefan Andrei, National University of Singapore,
Singapore Raja Chatila, LAAS-CNRS, France
Plamen Angelov, Lancaster University, U.K. Tongwen Chen, University of Alberta, Canada
Luis Antunes, GUESS/Universidade de Lisboa, YangQuan Chen, Utah State University, U.S.A.
Portugal
Albert M. K. Cheng, University of Houston, U.S.A.
Peter Arato, Budapest University of Technology and
Economics, Hungary Graziano Chesi, University of Hong Kong, China
Helder Araújo, University of Coimbra, Portugal Sung-Bae Cho, Yonsei University, Korea
Marco Antonio Arteaga, Universidad Nacional Carlos Coello Coello, CINVESTAV-IPN, Mexico
Autonoma de Mexico, Mexico Patrizio Colaneri, Politecnico di Milano, Italy
Vijanth Sagayan Asirvadam, University Technology António Dourado Correia, University of Coimbra,
Petronas, Malaysia Portugal
Nikos Aspragathos, University of Patras, Greece Yechiel Crispin, Embry-Riddle University, U.S.A.
Robert Babuska, TU Delft, The Netherlands Keshav Dahal, University of Bradford, U.K.
Ruth Bars, Budapest University of Technology and Mariolino De Cecco, DIMS - University of Trento,
Economics, Hungary Italy
Karsten Berns, University Kaiserslautern, Germany Bart De Schutter, Delft University of Technology,
Robert Bicker, University of Newcastle upon Tyne, The Netherlands
U.K. Angel P. del Pobil, Universitat Jaume I, Spain
Stjepan Bogdan, University of Zagreb, Faculty of Guilherme DeSouza, University of Missouri, U.S.A.
EE&C, Croatia
Rüdiger Dillmann, University of Karlsruhe, Germany
Patrick Boucher, SUPELEC, France
Feng Ding, Southern Yangtze University, China
Alan Bowling, University of Notre Dame, U.S.A.
Denis Dochain, Université Catholique de Louvain,
Edmund Burke, University of Nottingham, U.K. Belgium
Kevin Burn, University of Sunderland, U.K. Tony Dodd, The University of Sheffield, U.K.
Clifford Burrows, Innovative Manufacturing Alexandre Dolgui, Ecole des Mines de Saint Etienne,
Research Centre, U.K. France
VII
PROGRAM COMMITTEE (CONT.)
Marco Dorigo, Université Libre de Bruxelles, Hani Hagras, University of Essex, U.K.
Belgium
Wolfgang Halang, Fernuniversitaet, Germany
Petr Ekel, Pontifical Catholic University of Minas
Gerais, Brazil J. Hallam, University of Southern Denmark, Denmark
Heinz-Hermann Erbe, TU Berlin, Germany Riad Hammoud, Delphi Electronics & Safety, U.S.A.
Gerardo Espinosa-Perez, Universidad Nacional Uwe D. Hanebeck, Institute of Computer Science and
Autonoma de Mexico, Mexico Engineering, Germany
Simon Fabri, University of Malta, Malta John Harris, University of Florida, U.S.A.
Sergej Fatikow, University of Oldenburg, Germany Robert Harrison, The University of Sheffield, U.K.
Jean-Marc Faure, Ecole Normale Superieure de Vincent Hayward, McGill Univ., Canada
Cachan, France Dominik Henrich, University of Bayreuth, Germany
Jean-Louis Ferrier, Université d'Angers, France Francisco Herrera, University of Granada, Spain
Florin Gheorghe Filip, The Romanian Academy & Victor Hinostroza, University of Ciudad Juarez,
The National Institute for R&D in Informatics (ICI), Mexico
Romania
Weng Ho, National University of Singapore,
Georg Frey, University of Kaiserslautern, Germany Singapore
Manel Frigola, Technical University of Catalonia Wladyslaw Homenda, Warsaw University of
(UPC), Spain Technology, Poland
Colin Fyfe, University of paisley, U.K. Alamgir Hossain, Bradford University, U.K.
Dragan Gamberger, Rudjer Boskovic Institute, Dean Hougen, University of Oklahoma, U.S.A.
Croatia
Amir Hussain, University of Stirling, U.K.
Leonardo Garrido, Tecnológico de Monterrey,
Mexico Seth Hutchinson, University of Illinois, U.S.A.
Ryszard Gessing, Silesian University of Technology, Atsushi Imiya, IMIT Chiba Uni, Japan
Poland
Sirkka-Liisa Jämsä-Jounela, Helsinki University of
Lazea Gheorghe, Technical University of Technology, Finland
Cluj-Napoca, Romania
Ray Jarvis, Monash University, Australia
Maria Gini, University of Minnesota, U.S.A.
Odest Jenkins, Brown University, U.S.A.
Alessandro Giua, University of Cagliari, Italy
Ping Jiang, The University of Bradford, U.K.
Luis Gomes, Universidade Nova de Lisboa, Portugal
Ivan Kalaykov, Örebro University, Sweden
John Gray, University of Salford, U.K.
Dimitrios Karras, Chalkis Institute of Technology,
Dongbing Gu, University of Essex, U.K. Greece
Jason Gu, Dalhousie University, Canada Dusko Katic, Mihailo Pupin Institute, Serbia
José J. Guerrero, Universidad de Zaragoza, Spain Graham Kendall, The University of Nottingham,
U.K.
Jatinder (Jeet) Gupta, University of Alabama in
Huntsville, U.S.A. Uwe Kiencke, University of Karlsruhe (TH), Germany
Thomas Gustafsson, Luleå University of Technology, Jozef Korbicz, University of Zielona Gora, Poland
Sweden
Israel Koren, University of Massachusetts, U.S.A.
Maki K. Habib, Saga University, Japan
VIII
PROGRAM COMMITTEE (CONT.)
Bart Kosko, University of Southern California, Hervé Marchand, INRIA, France
U.S.A.
Philippe Martinet, LASMEA, France
George L. Kovács, Hungarian Academy of Sciences,
Hungary Aleix Martinez, Ohio State University, U.S.A.
Gerhard Kraetzschmar, Fraunhofer Institute for Rene V. Mayorga, University of Regina, Canada
Autonomous Intelligent Systems, Germany Barry McCollum, Queen's University Belfast, U.K.
Cecilia Laschi, Scuola Superiore Sant'Anna, Italy Ken McGarry, University of Sunderland, U.K.
Loo Hay Lee, National University of Singapore, Gerard McKee, The University of Reading, U.K.
Singapore
Seán McLoone, National University of Ireland (NUI),
Soo-Young Lee, KAIST, Korea Maynooth, Ireland
Graham Leedham, University of New South Wales Basil Mertzios, (1)Thessaloniki Institute of
(Asia), Singapore Technology, (2) Democritus University, Greece
Cees van Leeuwen, RIKEN BSI, Japan José Mireles Jr., Universidad Autonoma de Ciudad
Kauko Leiviskä, University of Oulu, Finland Juarez, Mexico
Kang Li, Queen's University Belfast, U.K. Sushmita Mitra, Indian Statistical Institute, India
Yangmin Li, University of Macau, China Vladimir Mostyn, VSB - Technical University of
Ostrava, Czech Republic
Zongli Lin, University of Virginia, U.S.A.
Rafael Muñoz-Salinas, University of Cordoba, Spain
Cheng-Yuan Liou, National Taiwan University,
Taiwan Kenneth Muske, Villanova University, U.S.A.
Vincenzo Lippiello, Università Federico II di Napoli, Ould Khessal Nadir, Okanagan College, Canada
Italy Fazel Naghdy, University of Wollongong, Australia
Honghai Liu, University of Portsmouth, U.K. Tomoharu Nakashima, Osaka Prefecture University,
Luís Seabra Lopes, Universidade de Aveiro, Portugal Japan
Brian Lovell, The University of Queensland, Australia Andreas Nearchou, University of Patras, Greece
Peter Luh, University of Connecticut, U.S.A. Luciana Porcher Nedel, Universidade Federal do Rio
Grande do Sul (UFRGS), Brazil
Anthony Maciejewski, Colorado State University,
U.S.A. Sergiu Nedevschi, Technical University of
Cluj-Napoca, Romania
N. P. Mahalik, Gwangju Institute of Science and
Technology, Korea Maria Neves, Instituto Superior de Engenharia do
Porto, Portugal
Bruno Maione, Politecnico di Bari, Italy
Hendrik Nijmeijer, Eindhoven University of
Frederic Maire, Queensland University of Technology, The Netherlands
Technology, Australia
Juan A. Nolazco-Flores, ITESM, Campus Monterrey,
Om Malik, University of Calgary, Canada Mexico
Danilo Mandic, Imperial College, U.K. Urbano Nunes, University of Coimbra, Portugal
Jacek Mandziuk, Warsaw University of Technology, Gustavo Olague, CICESE, Mexico
Poland
IX
PROGRAM COMMITTEE (CONT.)
José Valente de Oliveira, Universidade do Algarve, Agostinho Rosa, IST, Portugal
Portugal
Hubert Roth, University Siegen, Germany
Andrzej Ordys, Kingston University in London,
Faculty of Engineering, U.K. António Ruano, CSI, Portugal
Djamila Ouelhadj, University of Nottingham, ASAP Carlos Sagüés, University of Zaragoza, Spain
GROUP (Automated Scheduling, Optimisation and Mehmet Sahinkaya, University of Bath, U.K.
Planning), U.K.
Antonio Sala, Universidad Politecnica de Valencia,
Manuel Ortigueira, Faculdade de Ciências e Spain
Tecnologia da Universidade Nova de Lisboa, Portugal
Abdel-Badeeh Salem, Ain Shams University, Egypt
Christos Panayiotou, University of Cyprus, Cyprus
Ricardo Sanz, Universidad Politécnica de Madrid,
Evangelos Papadopoulos, NTUA, Greece Spain
Panos Pardalos, University of Florida, U.S.A. Medha Sarkar, Middle Tennessee State University,
Michel Parent, INRIA, France U.S.A.
Thomas Parisini, University of Trieste, Italy Nilanjan Sarkar, Vanderbilt University, U.S.A.
Gabriella Pasi, Università degli Studi di Milano Daniel Sbarbaro, Universidad de Concepcion, Chile
Bicocca, Italy Carsten Scherer, Delft University of Technology,
Witold Pedrycz, University of Alberta, Canada The Netherlands
Carlos Eduardo Pereira, Federal University of Rio Carla Seatzu, University of Cagliari, Italy
Grande do Sul - UFRGS, Brazil Klaus Schilling, University Würzburg, Germany
Maria Petrou, Imperial College, U.K. Yang Shi, University of Saskatchewan, Canada
J. Norberto Pires, University of Coimbra, Portugal Michael Short, University of Leicester, U.K.
Marios Polycarpou, University of Cyprus, Cyprus Chi-Ren Shyu, University of Missouri-Columbia,
Marie-Noëlle Pons, CNRS, France U.S.A.
Libor Preucil, Czech Technical University in Prague, Bruno Siciliano, Università di Napoli Federico II,
Czech Republic Italy
Joseba Quevedo, Technical University of Catalonia, João Silva Sequeira, Instituto Superior Técnico,
Spain Portugal
Robert Reynolds, Wayne State University, U.S.A. Silvio Simani, University of Ferrara, Italy
Rodney Roberts, Florida State University, U.S.A. Aleksandar Stankovic, Northeastern University,
U.S.A.
Kurt Rohloff, BBN Technologies, U.S.A.
Raúl Suárez, Universitat Politecnica de Catalunya
Juha Röning, University of Oulu, Finland (UPC), Spain
X
PROGRAM COMMITTEE (CONT.)
Ryszard Tadeusiewicz, AGH University of Science Axel Walthelm, sepp.med gmbh, Germany
and Technology, Poland
Lipo Wang, Nanyang Technological University,
Tianhao Tang, Shanghai Maritime University, China Singapore
Adriana Tapus, University of Southern California, Alfredo Weitzenfeld, ITAM, Mexico
U.S.A.
Dirk Wollherr, Technische Universität München,
József K. Tar, Budapest Tech Polytechnical Germany
Institution, Hungary
Sangchul Won, Pohang University of Science and
Daniel Thalmann, EPFL, Switzerland Technology, Korea
Gui Yun Tian, University of Huddersfield, U.K. Kainam Thomas Wong, The Hong Kong Polytechnic
University, China
Antonios Tsourdos, Cranfield University, U.K.
Jeremy Wyatt, University of Birmingham, U.K.
Nikos Tsourveloudis, Technical University of Crete,
Greece Alex Yakovlev, University of Newcastle, U.K.
Ivan Tyukin, RIKEN Brain Science Institute, Japan Hujun Yin, University of Manchester, U.K.
Masaru Uchiyama, Tohoku University, Japan Xinghuo Yu, Royal Melbourne Institute of Techology,
Australia
Nicolas Kemper Valverde, Universidad Nacional
Autónoma de México, Mexico Du Zhang, California State University, U.S.A.
Marc Van Hulle, K. U. Leuven, Belgium Janusz Zalewski, Florida Gulf Coast University,
U.S.A.
Annamaria R. Varkonyi-Koczy, Budapest University
of Technology and Economics, Hungary Marek Zaremba, Universite du Quebec, Canada
Luigi Villani, Università di Napoli Federico II, Italy Dayong Zhou, University of Oklahoma, U.S.A.
Markus Vincze, Technische Universität Wien, Argyrios Zolotas, Loughborough University, U.K.
Austria
Albert Zomaya, The University of Sydney, Austrália
Bernardo Wagner, University of Hannover, Germany
AUXILIARY REVIEWERS
Rudwan Abdullah, University of Stirling, U.K. Dietrich Brunn, Intelligent Sensor-Actuator-Systems
Laboratory - Universität Karlsruhe (TH), Germany
Luca Baglivo, University of Padova, Italy
Maria Paola Cabasino, Dip.to Ingegneria Elettrica ed
Prasanna Balaprakash, IRIDIA, Université Libre de Elettronica Universita' di Cagliari, Italy
Bruxelles, Belgium
Joao Paulo Caldeira, EST-IPS, Portugal
João Balsa, Universidade de Lisboa, Portugal
Aneesh Chauhan, Universidade de Aveiro, Portugal
Alejandra Barrera, ITAM, Mexico
Paulo Gomes da Costa, FEUP, Portugal
Frederik Beutler, Intelligent Sensor-Actuator-
Systems Laboratory - Universität Karlsruhe (TH), Xevi Cufi, University of Girona, Spain
Germany
Sérgio Reis Cunha, FEUP, Portugal
Alecio Binotto, CETA SENAI-RS, Brazil
Paul Dawson, Boise State University, U.S.A.
Nizar Bouguila, Concordia University, Canada
Mahmood Elfandi, Elfateh University, Libya
XI
AUXILIARY REVIEWERS (CONT.)
Michele Folgheraiter, Politecnico di Milano, Italy Ana Respício, Universidade de Lisboa, Portugal
Diamantino Freitas, FEUP, Portugal Pere Ridao, University of Girona, Spain
Reinhard Gahleitner, University of Applied Sciences Kathrin Roberts, Intelligent Sensor-Actuator-
Wels, Austria Systems Laboratory - Universität Karlsruhe (TH),
Germany
Nils Hagge, Leibniz Universität Hannover, Institute
for Systems Engineering, Germany Paulo Lopes dos Santos, FEUP, Portugal
Onur Hamsici, The Ohio State Univeristy, U.S.A. Felix Sawo, Intelligent Sensor-Actuator-Systems
Laboratory - Universität Karlsruhe (TH), Germany
Renato Ventura Bayan Henriques, UFRGS, Brazil
Frederico Schaf, UFRGS, Brazil
Matthias Hentschel, Leibniz Universität Hannover,
Institute for Systems Engineering, Germany Oliver Schrempf, Intelligent Sensor-Actuator-
Systems Laboratory - Universität Karlsruhe (TH),
Marco Huber, Intelligent Sensor-Actuator-Systems Germany
Laboratory - Universität Karlsruhe (TH), Germany
Torsten Sievers, University of Oldenbvurg, Germany
Markus Kemper, University of Oldenbvurg,
Germany Razvan Solea, Institute of Systems and Robotics,
University of Coimbra, Portugal
Vesa Klumpp, Intelligent Sensor-Actuator-Systems
Laboratory - Universität Karlsruhe (TH), Germany Wolfgang Steiner, University of Applied Sciences
Wels, Austria
Daniel Lecking, Leibniz Universität Hannover,
Institute for Systems Engineering, Germany Christian Stolle, University of Oldenbvurg, Germany
Gonzalo Lopez-Nicolas, University of Zaragoza, Alina Tarau, Delft University of Technology,
Spain The Netherlands
Cristian Mahulea, University of Zaragoza, Spain Rui Tavares, University of Evora, Portugal
Cristian Mahulea, Dep.to Informática e Ingeneiría de Paulo Trigo, ISEL, Portugal
Sistemas Centro Politécnico Superior, Spain
Haralambos Valsamos, University of Patras, Greece
Nikolay Manyakov, K. U. Leuven, Belgium
José Luis Villarroel, University of Zaragoza, Spain
Antonio Muñoz, University of Zaragoza, Spain
Yunhua Wang, University of Oklahoma, U.S.A.
Ana C. Murillo, University of Zaragoza, Spain
Florian Weißel, Intelligent Sensor-Actuator-Systems
Andreas Neacrhou, University of Patras, Greece Laboratory - Universität Karlsruhe (TH), Germany
Marco Montes de Oca, IRIDIA, Université Libre de Jiann-Ming Wu, National Dong Hwa University,
Bruxelles, Belgium Taiwan
Sorin Olaru, Supelec, France Oliver Wulf, Leibniz Universität Hannover, Institute
for Systems Engineering, Germany
Karl Pauwels, K. U. Leuven, Belgium
Ali Zayed, Seventh of April University, Libya
Luis Puig, University of Zaragoza, Spain
Yan Zhai, University of Oklahoma, U.S.A.
XII
SELECTED PAPERS BOOK
A number of selected papers presented at ICINCO 2007 will be published by Springer, in a book entitled
Informatics in Control, Automation and Robotics IV. This selection will be done by the conference co-chairs and
program co-chairs, among the papers actually presented at the conference, based on a rigorous review by the
ICINCO 2007 program committee members.
XIII
XIV
FOREWORD
Welcome to the 4th International Conference on Informatics in Control, Automation and Robotics
(ICINCO 2007) held at the University of Angers. The ICINCO Conference Series has now
consolidated as a major forum to debate technical and scientific advances presented by researchers
and developers both from academia and industry, working in areas related to Control, Automation
and Robotics that require Information Technology support.
In this year Conference Program we have included oral presentations (full papers and short papers)
as well as posters, organized in three simultaneous tracks: “Intelligent Control Systems and
Optimization”, “Robotics and Automation” and “Systems Modeling, Signal Processing and
Control”. Furthermore, ICINCO 2007 includes 2 satellite workshops and 3 plenary keynote
lectures, given by internationally recognized researchers
The two satellite workshops that are held in conjunction with ICINCO 2007 are: Third
International Workshop on Multi-Agent Robotic Systems (MARS 2007) and Third International
Workshop on Artificial Neural Networks and Intelligent Information Processing (ANNIIP 2007).
As additional points of interest, it is worth mentioning that the Conference Program includes a
plenary panel subject to the theme “Practical Applications of Intelligent Control and Robotics” and
3 Special Sessions focused on very specialized topics.
ICINCO has received 435 paper submissions, not including workshops, from more than 50
countries, in all continents. To evaluate each submission, a double blind paper review was
performed by the program committee, whose members are researchers in one of ICINCO main
topic areas. Finally, only 263 papers are published in these proceedings and presented at the
conference; of these, 195 papers were selected for oral presentation (52 full papers and 143 short
papers) and 68 papers were selected for poster presentation. The global acceptance ratio was 60,4%
and the full paper acceptance ratio was 11,9%. After the conference, some authors will be invited
to publish extended versions of their papers in a journal and a short list of about thirty papers will
be included in a book that will be published by Springer with the best papers of ICINCO 2007.
In order to promote the development of research and professional networks the conference
includes in its social program a Town Hall Reception in the evening of May 9 (Wednesday) and a
Conference and Workshops Social Event & Banquet in the evening of May 10 (Thursday).
We would like to express our thanks to all participants. First of all to the authors, whose quality
work is the essence of this conference. Next, to all the members of the Program Committee and
XV
reviewers, who helped us with their expertise and valuable time. We would also like to deeply thank
the invited speakers for their excellent contribution in sharing their knowledge and vision. Finally, a
word of appreciation for the hard work of the secretariat; organizing a conference of this level is a
task that can only be achieved by the collaborative effort of a dedicated and highly capable team.
Commitment to high quality standards is a major aspect of ICINCO that we will strive to maintain
and reinforce next year, including the quality of the keynote lectures, of the workshops, of the
papers, of the organization and other aspects of the conference. We look forward to seeing more
results of R&D work in Informatics, Control, Automation and Robotics at ICINCO 2008, next
May, at the Hotel Tivoli Ocean Park, Funchal, Madeira, Portugal.
Janan Zaytoon
Jean-Louis Ferrier
Joaquim Filipe
XVI
CONTENTS
INVITED SPEAKERS
KEYNOTE LECTURES
FULL PAPERS
POSTERS
XVIII
ROBOT TCP POSITIONING WITH VISION - ACCURACY ESTIMATION OF A ROBOT
VISUAL CONTROL SYSTEM
Drago Torkar and Gregor Papa 212
XIX
A NOVEL BLOCK MOTION ESTIMATION MODEL FOR VIDEO STABILIZATION
APPLICATIONS
Harish Bhaskar and Helmut Bez 303
MATHEMATICAL MODEL FOR WALKING ROBOT WITH SHAPE MEMORY ALLOY ANKLE
Anca Petrişor, Nicu George Bîzdoacă, Daniela Roşca, Sonia Degeratu, Adrian Roşca and Raducu Petrisor 319
VEHICLE MODELS AND ESTIMATION OF CONTACT FORCES AND TIRE ROAD FRICTION
Nacer K. M’Sirdi, Abdelhamid Rabhi and Aziz Naamane 351
XX
INVITED
SPEAKERS
KEYNOTE
LECTURES
REAL TIME DIAGNOSTICS, PROGNOSTICS, & PROCESS
MODELING
Dimitar Filev
The Ford Motor Company
U.S.A.
Abstract: Practical and theoretical problems related to the design of real time diagnostics, prognostics, & process
modeling systems are discussed. Major algorithms for autonomous monitoring of machine health in
industrial networks are proposed and relevant architectures for incorporation of intelligent prognostics
within plant floor information systems are reviewed. Special attention is given to the practical realization of
real time structure and parameter learning algorithms. Links between statistical process control and real time
modeling based on the evolving system paradigm are analyzed relative to the design of soft sensing
algorithms. Examples and case studies of industrial implementation of aforementioned concepts are
presented.
BRIEF BIOGRAPHY
Dr. Dimitar P. Filev is a Senior Technical Leader,
Intelligent Control & Information Systems with Ford
Motor Company specializing in industrial intelligent
systems and technologies for control, diagnostics
and decision making. He is conducting research in
systems theory and applications, modeling of
complex systems, intelligent modeling and control
and he has published 3 books, and over 160 articles
in refereed journals and conference proceedings. He
holds15 granted U.S. patents and numerous foreign
patents in the area of industrial intelligent systems
Dr. Filev is a recipient of the '95 Award for
Excellence of MCB University Press and was
awarded 4 times with the Henry Ford Technology
Award for development and implementation of
advanced intelligent control technologies. He is
Associate Editor of Int. J. of General Systems and
Int. J. of Approximate Reasoning. He is a member of
the Board of Governors of the IEEE Systems, Man
& Cybernetics Society and President of the North
American Fuzzy Information Processing Society
(NAFIPS). Dr. Filev received his PhD. degree in
Electrical Engineering from the Czech Technical
University in Prague in 1979.
IS-5
SYNCHRONIZATION OF MULTI-AGENT SYSTEMS
Mark W. Spong
Donald Biggar Willett Professor of Engineering
Professor of Electrical and Computer Engineering
Coordinated Science Laboratory
University of Illinois at Urbana-Champaign
U.S.A.
Abstract: There is currently great interest in the control of multi-agent networked systems. Applications include
mobile sensor networks, teleoperation, synchronization of oscillators, UAV's and coordination of multiple
robots. In this talk we consider the output synchronization of networked dynamic agents using passivity
theory and considering the graph topology of the inter-agent communication. We provide a coupling control
law that results in output synchronization and we discuss the extension to state synchronization in addition
to output synchronization. We also consider the extension of these ideas to systems with time delay in
communication among agents and obtain results showing synchronization for arbitrary time delay. We will
present applications of our results in synchronization of Kuramoto oscillators and in bilateral teleoperators.
BRIEF BIOGRAPHY
Mark W. Spong received the B.A. degree, magna
cum laude and Phi Beta Kappa, in mathematics and
physics from Hiram College, Hiram, Ohio in 1975,
the M.S. degree in mathematics from New Mexico
State University in 1977, and the M.S. and D.Sc.
degrees in systems science and mathematics in 1979
and 1981, respectively, from Washington University
in St. Louis. Since 1984 he has been at the
University of Illinois at Urbana-Champaign where
he is currently a Donald Biggar Willett
Distinguished Professor of Engineering, Professor of
Electrical and Computer Engineering, and Director
of the Center for Autonomous Engineering Systems
and Robotics. Dr. Spong is Past President of the
IEEE Control Systems Society and a Fellow of the
IEEE. Dr. Spong's main research interests are in
robotics, mechatronics, and nonlinear control theory.
He has published more than 200 technical articles in
control and robotics and is co-author of four books.
His recent awards include the Senior U.S. Scientist
Research Award from the Alexander von Humboldt
Foundation, the Distinguished Member Award from
the IEEE Control Systems Society, the John R.
Ragazzini and O. Hugo Schuck Awards from the
American Automatic Control Council, and the IEEE
Third Millennium Medal.
IS-7
TOWARD HUMAN-MACHINE COOPERATION
Patrick Millot
Laboratoire d'Automatique, de Mécanique et d'Informatique Industrielle et Humaine
Université de Valenciennes
France
Abstract: In human machine systems human activities are mainly oriented toward decision-making: monitoring and
fault detection, fault anticipation, diagnosis and prognosis, and fault prevention and recovery. The
objectives combine the human-machine system performances (production quantity and quality) as well as
the global system safety. In this context human operators may have a double role: (1) a negative role as they
may perform unsafe or erroneous actions on the process, (2) a positive role as they can detect, prevent or
recover an unsafe process behavior due to an other operator or to automated decision makers.
Two approachs to these questions are combined in a pluridisciplinary research way : (1) human engineering
which aims at designing dedicated assistance tools for human operators and at integrating them into human
activities through a human machine cooperation, (2) cognitive psychology and ergonomics analysing the
human activities, the need for such tools and their use. This paper focuses on the concept of cooperation and
proposes a framework for implementation. Examples in Air Traffic Control and in Telecommunication
networks illustrate these concepts.
IS-9
ROBOTICS
AND AUTOMATION
FULL PAPERS
ESTIMATION PROCESS FOR TIRE-ROAD FORCES AND VEHICLE
SIDESLIP ANGLE
Daniel Lechner
INRETS-MA Laboratory (Department of Accident Mechanism Analysis)
Chemin de la Croix Blanche, 13300 Salon de Provence, France
[email protected]
Keywords: State observers, vehicle dynamic, sideslip angle estimation, tire-force estimation, wheel cornering stiffness
estimation, linear adaptive force model.
Abstract: This study focuses on the estimation of car dynamic variables for the improvement of vehicle safety, handling
characteristics and comfort. More specifically, a new estimation process is proposed to estimate longitudi-
nal/lateral tire-road forces, sideslip angle and wheel cornering stiffness. This method uses measurements from
currently-available standard sensors (yaw rate, longitudinal/lateral accelerations, steering angle and angular
wheel velocities). The estimation process is separated into two blocks: the first block contains an observer
whose principal role is to calculate tire-road forces without a descriptive force model, while in the second block
an observer estimates sideslip angle and cornering stiffness with an adaptive tire-force model. The different
observers are based on an Extended Kalman Filter (EKF). The estimation process is applied and compared to
real experimental data, notably sideslip angle and wheel force measurements. Experimental results show the
accuracy and potential of the estimation process.
5
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
model and a random walk force model. The first ob- sideslip angle, Vg the center of gravity velocity, and L1
server O1,4w estimates longitudinal/lateral tire forces and L2 the distance from the vehicle center of gravity
and yaw rate, which are inputs to the observer in the to the front and rear axles respectively. Fx,y,i, j are the
second block (denoted as O2,LAM ). This second ob- longitudinal and lateral tire-road forces, δ1,2 are the
server is developed from a sideslip angle model and a front left and right steering angles respectively, and
linear adaptive force model. E is the vehicle track (lateral distance from wheel to
Some studies have described observers which take wheel).
road friction variations into account ((Lakehal-ayat In order to develop an observable system (notably
et al., 2006), (Rabhi et al., 2005), (Ray, 1997)). In in the case of null steering angles), rear longitudinal
the works of (Lakehal-ayat et al., 2006) road fric- forces are neglected relative to the front longitudinal
tion is considered as a disturbance. Alternatively, as forces. The simplified equation for yaw acceleration
in (Rabhi et al., 2005), the tire-force parameters are (four-wheel vehicle model) can be formulated as the
identified with an observer, while in (Ray, 1997) tire following dynamic relationship (O1,4w model):
forces are modeled with an integrated random walk
model. In this study a linear adaptive tire force model L1 [Fy11 cos(δ1 ) + Fy12 cos(δ2 )
is proposed (in block 2) with an eye to studying road +Fx11 sin(δ1 ) + Fx12 sin(δ2 )]
friction variations. ψ̈ = I1z −L2 [Fy21 + Fy22 ] , (1)
+ E [F sin(δ ) − F sin(δ )
The rest of the paper is organized as follows. The 2 y11 1 y12 2
second section describes the vehicle model and the +Fx12 cos(δ2 ) − Fx11 cos(δ1 )]
observer O1,4w (block 1). Next, the third section where m the vehicle mass and Iz the yaw moment of
presents the sideslip angle and cornering stiffness ob- inertia. The different force evolutions are modeled
server (O2,LAM in block 2). In the fourth section an with a random walk model:
observability analysis is performed. The fifth section
provides experimental results: the two observers are [Fxi˙ j , Fyi˙ j ] = [0, 0], i = 1, 2 j = 1, 2. (2)
evaluated with respect to sideslip angle and tire force The measurement vector Y and the measurement
measurements. Finally, concluding remarks are given model are:
in section 6.
Y = [ψ̇, γy , γx ] = [Y1 ,Y2 ,Y3 ],
Y1 = ψ̇,
Y2 = m1 [Fy11 cos(δ1 ) + Fy12 cos(δ2 )
2 BLOCK 1: OBSERVER FOR +(Fy21 + Fy22 ) + Fx11 sin(δ1 ) + Fx12 sin(δ2 )],
(3)
TIRE-ROAD FORCE Y3 = m1 [−Fy11 sin(δ1 ) − Fy12 sin(δ2 )
+Fx11 cos(δ1 ) + Fx12 cos(δ2 )],
This section describes the first observer O1,4w con-
structed from a four-wheel vehicle model (figure 2), where γx and γy are the longitudinal and lateral accel-
where ψ̇ is the yaw rate, β the center of gravity erations respectively.
The O1,4w system (association between equations (1),
δ1 random walk force equation (2), and the measurement
Fx11 equations (3)) is not observable in the case where
Fy11 Fy21 and Fy22 are state vector components. For ex-
E
ample, in equation (1, 2, 3) there is no relation al-
y Fy11 lowing to distinguish the rear lateral forces Fy21 and
x
Fy22 in the sum (Fy21 +Fy22 ): as a consequence only
Vg δ2 the sum (Fy2 = Fy21 + Fy22 ) is observable. Moreover,
Fy21 β Fx12
Fx21 when driving in a straight line, yaw rate is small, δ1
ψ Fy12
and δ2 are approximately null, and hence there is no
significant knowledge in equation (1, 2, 3) differenti-
ating Fy11 and Fy12 in the sum (Fy11 + Fy12 ), so only
the sum (Fy1 = Fy11 + Fy12 ) is observable. These ob-
Fy22 L1
Fx22 servations lead us to develop the O1,4w system with a
state vector composed of force sums:
L2 X = [ψ̇, Fy1 , Fy2 , Fx1 ], (4)
Figure 2: Four-wheel vehicle model. where Fx1 is the sum of front longitudinal forces
(Fx1 = Fx11 + Fx12 ). Tire forces and force sums are as-
6
ESTIMATION PROCESS FOR TIRE-ROAD FORCES AND VEHICLE SIDESLIP ANGLE
sociated according to the dispersion of vertical forces: the slip between tire and road ((Pacejka and Bakker,
Fz11 Fx1 Fz12 Fx1 1991), (Kiencke and Nielsen, 2000), (Canudas-De-
Fx11 = , Fx12 = , (5) Wit et al., 2003)). Figure 3 illustrates different lateral
Fz12 + Fz11 Fz12 + Fz11
tire-force models (linear, linear adaptive and Burck-
Fz11 Fy1 Fz12 Fy1 hardt for various road surfaces (Kiencke and Nielsen,
Fy11 = , Fy12 = , (6)
Fz12 + Fz11 Fz12 + Fz11 2000)). In this study lateral wheel slips are assumed to
Fz21 Fy2 Fz22 Fy2 be equal to the wheel sideslip angles. In current driv-
Fy21 = , Fy22 = , (7)
Fz22 + Fz21 Fz22 + Fz21
where Fzi j are the vertical forces. These are calcu-
lated, neglecting roll and suspension movements, with 5
C1
7
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
acceleration (m/s2)
Fyw2,aux = (C2 + xb3 ′ )(−xb1 ′ + L2 u′2 /u′3 ). 1
(21) 0
0
Lateral
-1 -5
4 OBSERVABILITY 0 50 100 150 -6 -4 -2 0 2
Longitudinal position (m) Longitudinal acceleration (m/s2)
The different observers (O1,4w , O2,LAM ) were devel-
oped according to an extended Kalman filter method Figure 5: Experimental test, vehicle positions, acceleration
(Kalman, 1960), (Mohinder and Angus, 1993). diagram.
The two observer systems are nonlinear, so the
two observability functions were calculated using results are presented in two forms: figures of estima-
a lie derivative method (Nijmeijer and der Schaft, tions/measurements and tables of normalized errors.
1990). Ranks of the two observability functions cor- The normalized error εz for an estimation z is defined
responded to the state vector dimensions, so systems in (Stephant et al., 2006) as
O1,4w and O2,LAM were locally observable. Concern-
ing the observability of the complete systems (O1,4w εz = 100(kz − zmeasurement k)/(max kzmeasurement k).
and O2,LAM ), a previous work (Baffet et al., 2006a) (22)
showed that a similar system (in one block) is locally
observable. 5.1 Block 1: Observer O1,4w Results
8
ESTIMATION PROCESS FOR TIRE-ROAD FORCES AND VEHICLE SIDESLIP ANGLE
O1,4w, Front lateral tire force F (kN) in comparison (denoted Orl , equation 15, described
y1
5 in (Baffet et al., 2006b)). The robustness of the two
5155 N observers is tested with respect to tire-road friction
variations by performing the tests with different cor-
0 nering stiffness parameters ([C1 ,C2 ] ∗ 0.5, 1, 1.5). The
Measurement observers were evaluated for the same test presented
in section 5.
-5 O1,4w
Figure 7 shows the estimation results of observer Orl
0 5 10 15 20 25 for rear sideslip angle. Observer Orl gives good re-
sults when cornering stiffnesses are approximately
O1,4w, Rear lateral tire force F
y2
(kN) known ([C1 ,C2 ] ∗ 1). However, this observer is not
robust when cornering stiffnesses change ([C1 ,C2 ] ∗
2 0.5, 1.5).
(C 1 , C 2 )
O1,4w, Front longitudinal tire force Fx1 (kN)
(C , C )*0.5
-5 1 2
0 5 10 15 20 25
0
Figure 7: Observer Orl using a fixed linear force model, rear
sideslip angle estimations with different cornering stiffness
-5 Measurement settings.
O1,4w
-10
0 5 10 15 20 25 Figure 8 and table 2 show estimation results for
Times (s) the adaptive observer O2,LAM . The performance ro-
bustness of O2,LAM is very good, since sideslip angle
Figure 6: Experimental test. O1,4w results in comparison is well estimated irrespective of cornering stiffness
with measurements. settings. This result is confirmed by the normalized
mean errors (Table 2) which are approximately con-
stant (about 7 %). The front and rear cornering stiff-
was set to 5155 N). In spite of these false initial- ness estimations (Ci + ∆Ci ) converge quickly to the
izations the estimations converge quickly to the mea- same values after the beginning of the slalom at 12 s.
sured values, showing the good convergence proper-
ties of the observer. Moreover, the O1,4w observer Table 2: Observer OLAM , rear sideslip angle estimation re-
produces satisfactory estimations close to measure- sults, maximum absolute value, normalized mean errors.
ments (normalized mean and standard deviations er- O2,LAM 0.5(C1 ,C2 ) (C1 ,C2 ) 1.5(C1 ,C2 )
rors are less than 7 %). These good experimental re- max kβ2 k 3.0o 3.0o 3.0o
sults confirm that the observer approach may be an Mean 7.4% 7.0% 7.2%
appropriate way for the estimation of tire-forces.
9
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
O2,LAM, Rear sideslip angle (°) standard and critical driving situations: Simulations
and experiments. Proceedings of the 8th International
measurement
Symposium on Advanced Vehicle Control AVEC2006
(C , C )*1.5
2 1 2 Taipei Taiwan.
Canudas-De-Wit, C., Tsiotras, P., Velenis, E., Basset, M.,
0 and Gissinger, G. (2003). Dynamic friction models for
road/tire longitudinal interaction. volume 39, pages
(C 1 , C 2 )
-2 189–226. Vehicle System Dynamics.
(C , C )*0.5
1 2 Kalman, R. E. (1960). A new approach to linear filtering
0 5 10 15 20 25 and prediction problems. volume 82, pages 35–45.
Transactions of the ASME - PUBLISHER of Basic
4 -1 Engineering.
x 10 O2,LAM, Front cornering stiffness (N.rad )
Kiencke, U. and Nielsen, L. (2000). Automotive control
9 (C , C )*1.5
1 2 system. Springer.
8 (C , C )
1 2 Lakehal-ayat, M., Tseng, H. E., Mao, Y., and j. Karidas
7 (2006). Disturbance observer for lateral velocity es-
6 timation. Proceedings of the 8th International Sympo-
5 sium on Advanced Vehicle Control AVEC2006 Taipei
(C , C )*0.5
Taiwan.
4 1 2
Lechner, D. (2002). Analyse du comportement dynamique
0 5 10 15 20 25 des vehicules routiers legers: developpement d’une
methodologie appliquee a la securite primaire. Ph.D.
4 -1 dissertation Ecole Centrale de Lyon France.
x 10 O2,LAM, Rear cornering stiffness (N.rad )
Mohinder, S. G. and Angus, P. A. (1993). Kalman filtering
(C , C )*1.5
8
1 2 theory and practice. Prentice hall.
(C 1 , C 2 )
Nijmeijer, H. and der Schaft, A. J. V. (1990). Nonlinear
6 dynamical control systems. Springer-Verlag.
Pacejka, H. B. and Bakker, E. (1991). The magic formula
4 tyre model. pages 1–18. Int. colloq. on tyre models
(C , C )*0.5 for vehicle dynamics analysis.
1 2
REFERENCES
Baffet, G., Stephant, J., and Charara, A. (2006a). Sideslip
angle lateral tire force and road friction estimation in
simulations and experiments. Proceedings of the IEEE
conference on control application CCA Munich Ger-
many.
Baffet, G., Stephant, J., and Charara, A. (2006b). Vehi-
cle sideslip angle and lateral tire-force estimations in
10
INTEGRATED DESIGN OF A MECHATRONIC SYSTEM
The Pressure Control in Common Rails
Abstract: This paper describes the integrated design of the pressure control in a common-rail injection system. Mechan-
ical elements and the embedded controller are considered as a whole, using a multi-disciplinary approach to
modelling and simulation. The virtual prototype, which provides the detailed geometrical/physical model of
the mechanical parts, plays the role of a surrogate of a reference hardware prototype in reduced-order mod-
elling, validation, and/or in tuning the control parameters. The results obtained by the proposed approach are
compared and validated by experiments.
11
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
of different methodologies in a multi-formalism ap- represents a benchmark for the evaluation of perfor-
proach to modelling supported by an appropriate sim- mances of the approach. Experimental results give a
ulation environment. feedback of benefits of the integration of the mechan-
In mechatronic applications, the Bond Graphs in- ical and control subsystems design.
troduced by (Paynter, 1960) provide a continuous sys- The integrated design involves the development
tem modelling approach, oriented to a class of inter- of a virtual prototype of the considered system using
connected and completely different systems and tar- an advanced modelling tool (AMESim in this paper),
geted to many user groups. Bond Graphs are very use- which is employed for the analysis of the system per-
ful in analysing and designing components built from formances during the different developing steps. Ac-
different energetic media and can represent dynamical tually, the virtual prototype could be assumed as a re-
systems at higher level of abstraction than differen- liable model of the real system. Further, a low order
tial equations (van Amerongen and Breedveld, 2003), analytical model of the real system can be developed
(Ferretti et al., 2004). to simplify the controller design. Since AMESim can
In this paper, we referred to AMESimr (Ad- represent physical phenomena at different level of de-
vanced Modelling Environment for performing Sim- tails, it is exploited to verify assumptions in build-
ulations of engineering systems) (IMAGINE S.A., ing the analytical model. Then, the control system
2004) a Bond Graph-based, multi-domain mod- is designed using a specific software package, i.e.
elling/optimization tool for the virtual prototyping MATLAB/Simulinkr , and tested on the virtual pro-
of the physical/geometrical characteristics of a Com- totype. The virtual prototype allows to perform safer,
pressed Natural Gas (CNG) injection system. In a first less expensive, and more reliable tests than using the
step, we used this tool to obtain a virtual prototype, as real system.
similar as possible to the actual final hardware. Then,
with reference to this prototype, we also determined
a reduced order model in form of transfer function
and/or state space model, more suitable for analytical
3 APPLICATION EXAMPLE
(or empirical) tuning of the pressure controller of the
CNG injection systems. Using the virtual prototype We consider a system composed of the following el-
in these early design stages enabled the evaluation of ements (Fig. 1): a fuel tank, storing high pressure
the influence of the geometrical/physical alternatives gas, a mechanical pressure reducer, a solenoid valve
on the reduced model used for the controller tuning. and the fuel metering system, consisting of a com-
Then, based on this reduced model, the controller set- mon rail and four electro-injectors. Two different con-
tings were designed and adjusted in accordance with figurations were compared for implementation, with
the early stages of the mechanical design process. Fi- different arrangements of the solenoid valve affecting
nally, the detailed physical/geometric model of the system performances (i.e. cascade connection, figure
mechanical parts, created by the AMESim package, 1(a), and parallel connection, Fig.1(b), respectively).
was exported ad used as a module in a simulation Detailed AMESim models were developed for each
program, which enabled the evaluation of the con- of them, providing critical information for the final
troller performance in the closed-loop system. In choice. Few details illustrate the injection operation
other words, the detailed simulation model surrogated for both layouts.
for a real hardware. With reference to Fig. 1(a), the pressure reducer
receives fuel from the tank at a pressure in the range
between 200 and 20 bars and reduces it to a value of
about 10 bar. Then the solenoid valve suitably reg-
2 THE INTEGRATED DESIGN ulates the gas flow towards the common rail to con-
APPROACH trol pressure level and to damp oscillations due to in-
jections. Finally, the electronically controlled injec-
In this paper, we consider the opportunity of integrat- tors send the gas to the intake manifold for obtain-
ing different models, at different level of details, and ing the proper fuel air mixture. The injection flow
different design tools, to optimize the design of the only depends on rail pressure and injection timings,
mechanical and control systems as a whole. To sum which are precisely driven by the Electronic Control
up, the integrated design can take advantage of pecu- Unit (ECU). The variable inflow section of the pres-
liarities of different specific software packages. The sure reducer is varied by the axial displacement of a
effectiveness of the approach is illustrated by means spherical shutter coupled with a moving piston. Pis-
of a case study, the pressure control of a CNG injec- ton and shutter dynamics are affected by the applied
tion system for internal combustion engines, which forces: gas pressure in a main chamber acts on the
12
INTEGRATED DESIGN OF A MECHATRONIC SYSTEM - The Pressure Control in Common Rails
13
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
14
INTEGRATED DESIGN OF A MECHATRONIC SYSTEM - The Pressure Control in Common Rails
15
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
16
INTEGRATED DESIGN OF A MECHATRONIC SYSTEM - The Pressure Control in Common Rails
12 12
experimental pressure
experimental pressure
6 6
4 4
simulated pressure
2 2
simulated pressure
(a) (b)
7 14
6 12
Engine Speed [rpm x 1000]
5 10
3 6
2 4
1 2
0 0
0 20 40 60 80 100 120 140 160 0 20 40 60 80 100 120 140 160
Time [s] Time [s]
(c) (d)
Figure 3: AMESim simulation and experimental results when varying duty cycle. and engine speed, with a constant t j = 3ms;
(a) control chamber pressure; (b) common rail pressure; (c) engine speed; (d) control signal duty cycle.
17
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
24 2
20
12 simulated pressure
1.4
8
1.2
4
pressure reference
1
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
Time [s] Time [s]
(a) (b)
50 30
25
40
30
20
simulated duty cycle 10
10
5
0 0
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
Time [s] Time [s]
(c) (d)
Figure 5: AMESim model and real system responses for speed and load ramp variations and a 30bar input pressure, when
controlled by a GPC with N = 5; (a) common rail pressure; (b) engine speed (c) duty cycle; (d) injectors exciting time interval.
bustion engines. The design process was organized In IEEE CCA 2006 International Conference, Mu-
in few steps: analysis of different candidate configu- nich, Germany.
rations carried out with the help of virtual prototypes Maione, B., Lino, P., DeMatthaeis, S., Amorese, C., Man-
developed in the AMESim environment; design and odoro, D., and Ricco, R. (2004). Modeling and Con-
performance evaluation of controllers designed on a trol of a Compressed Natural Gas Injection System.
WSEAS Transactions on Systems, 3(5):2164–2169.
simpler model of the plant employing the virtual pro-
totypes; validation of the control law on the real sys- Paynter, H. (1960). Analysis and Design of Engineering
tem. The implementation of the control law on the Systems. M.I.T. Press, Cambridge, MA.
real system represented a benchmark for the evalua- Rossiter, J. (2003). Model-Based Predictive Control: a
tion of performances of the approach. Experimental Practical Approach. CRC Press, New York.
results gave a feedback of benefits of the integration Stobart, R., A.May, Challen, B., and Morel, T. (1999). New
of the mechanical and control subsystems design, and Tools for Engine Control System Development. An-
proved the validity of the methodology. nual Reviews in Control, (23):109–116.
Streeter, V., Wylie, K., and Bedford, E. (1998). Fluid Me-
chanics. McGraw-Hill, New York, 9th edition.
IMAGINE S.A. (2004). AMESim User Manual v4.2.
REFERENCES Roanne, France.
van Amerongen, J. and Breedveld, P. (2003). Modelling
Ferretti, G., Magnani, G., and Rocco, P. (2004). Virtual of Physical Systems for the Design and Control of
Prototyping of Mechatronic Systems. Annual Reviews Mechatronic Systems. Annual Reviews in Control,
in Control, (28):193206. (27):87–117.
Zucrow, M. and Hoffman, J. (1976). Gas Dynamics. John
Lino, P., Maione, B., Amorese, C., and DeMatthaeis, S. Wiley & Sons, New York.
(2006). Modeling and Predictive Control of a New In-
jection System for Compressed Natural Gas Engines.
18
ON THE FORCE/POSTURE CONTROL OF A CONSTRAINED
SUBMARINE ROBOT
Abstract: An advanced, yet simple, controller for submarine robots is proposed to achieve simultaneously tracking of
time-varying contact force and posture, without any knowledge of its dynamic parameters. Structural proper-
ties of the submarine robot dynamic are used to design passivity-based controllers. A representative simulation
study provides additional insight into the closed-loop dynamic properties for regulation and tracking cases. A
succinct discussion about inherent properties of the open-loop and closed-loop systems finishes this work.
19
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
To understand more about this problem, we show The generalized coordinates vector q ∈ IR6 is
that the open-loop rigid dynamics of submarine robots given on one hand by the 3 Cartesian positions x, y, z
subject to holonomic constraints (rigid contact) ex- of the origin of the submarine frame (Σv ) with respect
hibits similar properties of fixed-base robots. Then to a inertial frame (Σ0 ) fixed in some place on the sur-
almost any force/position control scheme with the face of the Earth; and on the other hand by any set of
proper adequation can be used. In this paper we attitude parameters that represent the rotation of the
have chosen the orthogonalization principle (Parra- vehicle’s frame with respect to the inertial one. Most
Vega and Arimoto, 1996) to propose a simple con- common sets of attitude representation such a Euler
troller with advanced tracking stability properties. angles, in particular roll-pitch-yaw (φ, θ, ψ), use only
3 variables (which is the minimal number of orien-
1.1 Contribution tation variables). Then, for a submarine vehicle, the
generalized coordinates q = (xv , yv , zv , φv , θv , ψv ) rep-
Despite the complexity of the problem, in this pa- resents its 6 degrees of freedom.
per, the performance of a robot submarine carry- The vehicle’s velocity ν ∈ IR6 is the vector repre-
ing out a very simple contact tasks under a novel senting both linear and angular velocity of the subma-
orthogonalization-based model-free controller is an- rine expressed in its own vehicle’s frame. This vector
(v) T (v) T
alyzed and discussed, with emphasize on structural is then defined as ν = (vv , ωv )T . The relation-
properties. The closed-loop shows robust tracking of ship between this vector and the generalized coordi-
time-varying contact force and posture, without any nates is given by the kinematic equation. The linear
knowledge of submarine dynamics. The proposed operator Jν (q) ∈ IR6×6 in (2) is built by the concate-
controller stands itself as a new controller which guar- nation of two transformations. The first is defined as:
antees simultaneous tracking of submarine robot with
I 0
a model-free decentralized control structure. Jq (q) = ∈ IR6×6
0 Jθ (φv , θv , ψv )
1.2 Organization Where Jθ ∈ IR3×3 is an operator that converts
time derivatives of attitude (orientation) parameters
Section 2 introduces the nonlinear differential alge- (0)
in angular velocity: ωv = Jθ (θv )θ̇v , with θv =
braic equations of the robot submarine dynamics in
(φv , θv , ψv ) defined as the orientation parameter vec-
T
error coordinates. Section 3 presents the control de-
tor. The operator Jq (q) maps the first time derivative
sign. Simulation data is presented for a Testbed robot
of the generalized coordinates to linear and angular
of IFREMER in 4, and finally section 5 discusses
velocities of the submarine vehicle, both expressed in
some structural properties useful for further under-
the inertial frame Σ0 .
stand robot submarine in contact tasks. Conclusions
The second operator transforms a 6 dimension
are stated in Section 6.
tensor from the inertial frame to vehicle’s frame by
JR (q) = diag{Rv0 , Rv0 } ∈ IR6×6 . Thus the Jacobian of
the vehicle used in the kinematic equation is a linear
2 THE MODEL operator defined as:
Jν (q) = JRT (q)Jq (q)
2.1 A Free Floating Submarine
In the dynamic equation (1), matrices
The model of a submarine can be obtained via Kirch- Mv ,Cv (ν), Dv (·) ∈ IR6×6 are respectively Inertia
hoff formulation (Fossen, 1994), the inclusion of hy- matrix, Coriolis matrix and Damping matrix. Mv
drodynamic effects such as added mass, friction and includes the terms of classical inertia plus the hydro-
buoyancy and the account of external forces/torques dynamic coefficients of the added mass effect (due
like contact effects (Olguı́n-Dı́az, 1999). The model to the amount of extra energy needed to displace the
is then expressed by the next set of equations: surrounding water when the submarine is moving).
This Inertia matrix is constant, definite positive and
(v)
Mv ν̇ +Cv (ν)ν + Dv (·)ν + gv (q) = u + F c (1) symmetric only when the submarine is complete
ν = Jν (q)q̇ (2) immersed and the relative water incidence velocity is
small (Fossen, 1994). This condition is met for most
From this set, (1) is called the dynamic equation while common activities of a ROV, for example during
(2) is called the kinematic equation. Both had been sampling recollection in not shallow waters. The
used long widely to express the dynamical behavior Coriolis vector Cv (ν)ν represents the Coriolis forces,
of free moving object in the 3D space. gyroscopic terms of the classical inertia effects plus
20
ON THE FORCE/POSTURE CONTROL OF A CONSTRAINED SUBMARINE ROBOT
the quadratic velocity terms induced by the added as F c from this point further. The relationship with
mass. The Coriolis matrix in this representation the one expressed in the vehicle’s frame is given by
does not depend on the position but only on the (v)
F c = JRT (q)F c . This wrench represents the contact
velocity, in contrast to the same expression for a forces/torques exerted by the environment to the sub-
Robot Manipulator (Spong M.W., 1989). However marine as if measured in a non moving (inrtial) frame.
it fulfills the classic relationship for Lagrangian These forces/torques are given by the normal force of
systems: Ṁv − 2Cv (ν) = Q; Q + QT = 0, and is an holonomic constraint when in contact and the fric-
indeed skew symmetric. The Damping matrix tion due to the same contact. For simplicity in this
represents all the hydrodynamic effects of energy work, tangential friction is not considered.
dissipation. For that reason it is a strictly positive
definite matrix, Dv (q, ν,t) > 0 (Fossen, 1994). Its 2.2 Contact Force Due to a Holonomic
arguments are commonly the vehicle’s orientation
φv , θv , ψv , the generalized velocity ν, and the velocity Constraint
of the surrounding water. The diagonal components
represents the drag forces while the off-diagonal A holonomic constraint can be expressed as a function
components represent the lift forces. of the generalized coordinates of the submarine as
(v)
Finally, vectors gv (q), u, F c ∈ IR6 are all force ϕ(q) = 0 (6)
wrenches (force-torque vector) in the vehicle’s frame.
They represent respectively: gravity, input control with ϕ(q) ∈ IR . The number r stand for the num-
r
and the contact force. Gravity vector includes buoy- ber of contact points between the submarine and the
ancy effects and it does not depend on velocity but motionless rigid object. Stable contact appears only
on the orientation (attitude) of the submarine with re- when the robot submarine does not deattach from the
spect to the inertial frame. The contact force wrench object modeled by ϕ(q) = 0. In this case, the time
is the one applied by the environment to the subma- derivatives of this constraint are zero
rine. The input control are the forces/torques induced d n ϕ(q)
by the submarine thrusters in the vehicle frame. = 0; ∀ n ≥ 1 (7)
dt n
The dynamic model (1)-(2) can be rearranged by
replacing (2) and its time derivative into (1). The re- For n = 1 the last constraint becomes:
sult is one single equation model: ϕ̇(q) = Jϕ (q)q̇ = 0 (8)
Mq (q)q̈ +Cq (q, q̇)q̇ + Dq (·)q̇ + gq (q) = uq + τc (3) ∂ϕ(q)
where Jϕ (q) = ∂q ∈ IRr×n is the constraint jaco-
which has the form of any Lagrangian system. Its bian. Last equation means that velocities of the sub-
components fulfills all properties of such systems i.e. marine in the directions of constraint jacobian are re-
definite positiveness of inertia and damping matrices, stricted to be zero. This directions are then normal to
skew symmetry of Coriolis matrix and appropriate the constraint surface ϕ(q) at the contact point. As
bound of all components (Sagatun, 1991). a consequence, the normal component of the contact
The control input in this equation is obtained by a force has exactly the same direction as those defined
linear transformation of the real input using the linear by Jϕ (q). Then the contact force wrench can be ex-
operator given by the kinematic equation: pressed as
T
F c = Jϕ+ (q)λ (9)
uq = JνT (q)u. (4)
△ J
This last equation becomes important because it re- where Jϕ+ (q) = kJϕϕ k is a normalized version of the
lates the nominal control signal uq to be designed in constraint jacobian; and λ is the magnitude of the
the general coordinates space with the real physical normal contact force at the origin of vehicle frame:
input u that shall be implemented in the real vessel. λ = kF c k.
The contact effect is also obtained by the same trans- The free moving model expressed by (1)-(2),
formation. However it can be expressed directly from when in contact with the holonomic constraint can be
the contact wrench in the inertial frame (Σ0 ) by the rewritten as:
next relationship
Mv ν̇ + hv (q, ν,t) = u + JRT (q)Jϕ+
T
(q)λ (10)
(v) (0)
τc = JνT (q)F c = JqT (q)F c (5) ν = Jν (q)q̇ (11)
(0) ϕ(q) = 0 (12)
where the contact force F c is the one expressed in
the inertial frame. By simplicity it will be noted where hv (q, ν,t) = Cv (ν)ν + Dv (q, ν,t)ν + gv (q).
21
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Equivalently, the model (3) is also expressed as the value of the normal contact force magnitude be-
comes:
Mq (q)q̈ + hq (q, q̇,t) = uq + Jϕ̄T (q)λ (13) h i−1
ϕ(q) = 0 (14) λ = Jϕ Jν−1 Mv−1 JRT Jϕ+
T
Jϕ Jν−1 Mv−1 hv − u
d
with hq (q, q̇,t) = Cq (q, q̇)q̇ + Dq (q, q̇,t)q̇ + gq (q) and − Jϕ Jν−1 ν − DJϕ Jν−1 ν − Pϕ(q) (18)
Jϕ̄ (q) = Jϕ+ (q)Jq (q). Equations (13)-(14) are a set dt
of Differential Algebraic Equations index 2 (DAE-2). h i−1
To solve them numerically, a DAE solver is required. = Jϕ Mq−1 Jϕ̄T Jϕ Mq−1 (hq − uq ) − J˙ϕ q̇
This last representation has the same structure and
properties as those reported in (Parra-Vega, 2001). −DJϕ q̇ − Pϕ(q) (19)
22
ON THE FORCE/POSTURE CONTROL OF A CONSTRAINED SUBMARINE ROBOT
for fully immersed submarines without inertial frame. with α > 0, η > 0. Finally, consider the following
Therefore, passivity-based control is a powerful op- reference q̇r function:
tion to control such systems. Zt
On the other hand it is known that equation (13) q̇r = Q q̇d − σq̃ + Sd p − γ1 sgn{Sqp (t)}dt (30)
t0
can be linearly parameterized as follows Zt
+βJϕ SF − SdF + γ2 sgn{SqF (t)}dt
T
Mq (q)q̈ +Cq (q, q̇)q̇ + Dq (·)q̇ + gq (q) = Y (q, q̇, q̈)Θ t0
(21) where the parameters β, σ, γ1 and γ2 are constant ma-
where the regressor Y (q, q̇, q̈) ∈ IRn×p is composed trices of appropriate dimensions; and sgn(y) stands
of known nonlinear functions and Θ ∈ IR p by p un- for the entrywise signum function of vector y,
known but constant parameters. Using (30) into s, it arises
s = Q(q)Svp − βJϕT (q)SvF (31)
3.2 Change of Coordinates where the orthogonal extended position and force
manifolds Svp and SvF , respectively, are given by
Z
A variation Y r of regressor Y can be designed such Svp = Sqp + γ1 sgn(Sqp (ς))dς (32)
that Z
SvF = SqF + γ2 sgn(SqF (ς))dς (33)
Y r (q, q̇, q̇r , q̈r )Θ = (22)
Mq (q)q̈r + [Cq (q, q̇) + Dq (·)] q̇r + gq (q) Notice that although the time derivative of q̇r is
discontinuous, it will not be used in the controller.
where (q˙r , q̈r ) are some time functions yet to be de- In the next subsection we show that if Ṡvp , ṠvF are
fined. Then the open loop equation (13) can be written bounded, and for large enough γ1 , γ2 , then simultane-
by adding and subtracting (22) as ous tracking of contact force and posture is achieve.
Mq (q)ṡ = − [Cq (q, q̇) + Dq (·)] s (23) 3.4 Model-Free Second Order Sliding
−Y r (q, q̇, q̇r , q̈r )Θ + Jϕ̄T (q)λ + uq Mode Control
23
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
where Z = tanh(µSqF ) − sgn(SqF ) and τ∗ ≡ 0 is the small initial conditions, if we multiply the derivative
virtual control input for the passivity analysis. T , we obtain
of Sqp in (32) by Sqp
T T
3.4.2 Stability Analysis Sqp Ṡqp = −γ1 |Sqp | + Sqp Ṡvp (42)
≤ −γ1 |Sqp | + |Sqp ||Ṡvp |
Theorem 1 Consider a constrained submarine (13)- Substituting (40) into (42) yields
(16) under the continuous model-free second order
sliding mode control (34). The Underwater system
T
Sqp Ṡqp ≤ −(γ1 − ε3 )|Sqp | (43)
yields a second order sliding mode regime with local where γ1 must be chosen such that γ1 > ε3 . The equa-
exponential convergence for the position, and force tion (43) is precisely the condition for the existence of
tracking errors. a sliding mode at Sqp (t) = 0. The sliding mode is es-
Proof. A passivity analysis hS, τ∗ i indicates that tablished in a time t ≤ |Sqp (t0 )|/(γ1 − ε3 ), and accord-
the following candidate Lyapunov function V quali- ing to the definition of Sqp (below (32)), Sqp (t0 ) = 0,
fies as a Lyapunov function which simply means that Sqp (t) = 0 for all time. We
see that if we multiply the derivative of (33) by SvTf ,
1 we obtain
V = (sT Mq s + βSvF
T
SvF ) (37)
2 T
SqF ṠqF T
= −γ2 |SqF | + SqF ṠvF (44)
for a scalar β > 0. The time derivative of the Lya- ≤ −γ2 |SqF | + |SqF ||ṠvF |
punov candidate equation immediately leads to
substituting (41) into (44) yields
V̇ = −sT (Kd + Dq )s − βηSvF
T
SvF − sT Y r Θ SqT f Ṡq f ≤ −(γ2 − ε4 )|Sq f | (45)
+s T
γ2 Jϕ̄T Z (38) where γ2 must be chosen such that γ2 > ε4 . The equa-
≤ −sT Kd s − βηSvF
T
SvF + kskkY r Θk tion (45) is precisely the condition for the existence
+kskkγ2 kkJϕ̄ kkZk of a sliding mode at SqF (t) = 0. The sliding mode
is established in a time t ≤ |SqF (t0 )|/(γ2 − ε4 ) and,
≤ −sT Kd s − βηSvF
T
SvF + kskkεk according to (33), SqF (t0 ) = 0, which simply means
that Sq f (t) = 0 for all time, which simply implies that
where it has been used the skew symmetric property
λ → λd exponentially fast.
of Ṁ − 2C(q, q̇), the boundedness of both the feed-
back gains and submarine dynamic equation (there
exists upper bounds for M,C(q, q̇), g(q), q̇r , q̈r ), the
smoothness of ϕ(q) (so there exists upper bounds for 4 SIMULATION RESULTS
Jϕ and Q(q)), and finally the boundedness of Z. All
these arguments establish the existence of the func- Force control of submarine robots is in its infancy,
tional ε. Then, if Kd , β and η are large enough such therefore simulations study must be kept rather simple
that s converges into a neighborhood defined by ε cen- to enter into the intricacies of the numerical solutions.
tered in the equilibrium s = 0, namely Later on, the complexity of the simulation study will
be be increased such that underwater disturbances can
s → ε as t → ∞ (39) include unmodelled submarine dynamics, such as lat-
eral marine current with high Reynolds number, to
This result stands for local stability of s provided that mention one. Then, the simulation study has been
the state is near the desired trajectories for any initial made on a simplified platform of a real submarine.
condition. This boundedness in the L ∞ sense, leads to Data has been obtained from the Vortex system of
the existence of the constants ε3 > 0 and ε4 > 0 such IFREMER (IFREMER, 1992). Simulator presents
that only vertical planar results (only in the x-z plane), so
|Ṡvp | < ε3 , (40) the generalized coordinates for this case of study are:
|ṠvF | < ε4 (41) xv
q = zv (46)
An sketch of the local convergence of Svp is as fol-
θv
lows1 . Locally, in the n − r dimensional image of Q,
∗ = QS ∈ IRn . Consider now that un-
we have that Sqp The vehicle velocities are
qp
∗ , such that for
der an abuse of notation that Sqp = Sqp uv
v = wv (47)
1 The strict analysis follows Liu, et. al. qv
24
ON THE FORCE/POSTURE CONTROL OF A CONSTRAINED SUBMARINE ROBOT
400
where uv and wv are linear velocities (surge and
−400
PD were also performed as a comparison tool. The 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Kd σ η µ −40
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
200M̂v 5 1000 1
Figure 2: Inputs controlled forces u, in vehicle’s frame (con-
where M̂v is made by the diagonal values of the con- tinuous line for model-free second order sliding mode con-
stant Inertia matrix when expressed in the vehicle’s trol, dotted line for PD control).
frame. For de PD the gains were defined as Kp =
100M̂v and Kd = 20M̂v . The numerical dynamic in- 2000
−2000
The task is very simple. It consist on a change of deep, 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
2.01 1
Surge (uv) [m/s]
x position [m]
2 0
−200
1.995 −0.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
time [sec]
1.99 −1
0 0.5 1 1.5 2 0 0.5 1 1.5 2
1.6
Figure 3: Contact force magnitude λ (continuous line for
model-free second order sliding mode control, dotted line
Heave (wv) [m/s]
1.5
1.4
Deep [m]
1 for PD control).
1.2
0.5
1
0
0 0.5 1 1.5 2 0 0.5 1 1.5 2
4
0
−0.1
the direction normal to that force (the x coordinate).
2 −0.2 This is more visible in the velocity curve where veloc-
0
−0.3 ity in the x direction should not occur if the constraint
−0.4
0 0.5 1
time [sec]
1.5 2 0 0.5 1
time [sec]
1.5 2 is infinitely rigid. The same transients are present in
the force graphic where a noticeable difference be-
Figure 1: Generalized coordinates q and vehicle velocities tween simple PD and model-free second order sliding
ν, in vehicle’s frame (continuous line for model-free second
order sliding mode control, dotted line for PD control).
mode control is present. The big difference is that al-
though PD can regulate with some practical relative
accuracy it is not capable to control force references,
Figures 1 and 2 shows respectively position, ve- either constant nor variable. Figure 3 shows the tran-
locity and force inputs. The difference in settling time sient of the contact force magnitude λ (only the 1st
has been explicitly computed in order to visualize the second is shown). The second window shows with
qualitative differences. In any case, this time inter- more detail the transient in this contact force due to
val can be modified with appropriate tuning of gain the numerical modification. In this graphic is is clear
parameters. Notice that there is some transient and that no force is induced with the PD scheme. In the
25
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
−4 2.01 1
x 10
2 400
x position [m]
2.005 0.5
Surge [m/s]
0
1.995 −0.5
−4 0
1.99 −1
0 1 2 3 4 5 0 1 2 3 4 5
−6
−200 1
−8 1.5
0.5
Heave [m/s]
Deep [m]
−10 −400
0 0.5 1 1.5 2 0 0.5 1 1.5 2 1 0
−0.5
0.1 0.5
−1
0 1 2 3 4 5 0 1 2 3 4 5
0 5
Orientation error [deg]
6 0.1
Orientation [deg]
0
−0.2 3 4
−0.1
−0.3 2 2 −0.2
−0.4 1
−0.3
0
−0.5 0 −0.4
0 1 2 3 4 5 0 1 2 3 4 5
−1 time [sec] time [sec]
0 0.5 1 1.5 2 0 0.5 1 1.5 2
time [sec] time [sec]
Figure 6: Generalized coordinates q and vehicle velocities
Figure 4: Set-point control errors: q̃ = q(t) − qd and λ̃ = ν, in vehicle’s frame for the tracking case (continuous line
λ(t) − λd (continuous line for model-free second order slid- for model-free second order sliding mode control, dotted
ing mode control, dotted line for PD control). line for PD control, dashed line for the tracking reference).
0.1
0.005
0.05 0
Sqp
0 0
−0.05 −500
−0.005 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
−0.1
500
Input force on z [N]
−0.01
0 1 2 3 4 5 0 0.5 1 1.5 2
0.3 0.04
0.2
−500
0.02 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0.1
0 40
SqF
0
−0.1 20
−0.2 0
−0.02
−0.3
−20
−0.4 −0.04
0 1 2 3 4 5 0 0.5 1 1.5 2 −40
time [sec] time [sec] 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
Figure 5: Control variables Sqp and SqF for the model-free Figure 7: Inputs controlled forces u, in vehicle’s frame (con-
second order sliding mode control. tinuous line for model-free second order sliding mode con-
trol, dotted line for PD control).
26
ON THE FORCE/POSTURE CONTROL OF A CONSTRAINED SUBMARINE ROBOT
0 0 0
−1000
−0.025 −0.005
−2000
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −0.05 −0.01
time [sec] 0 1 2 3 4 5 0 0.5 1 1.5 2
200
0.3 0.04
Contac force (detail) [N]
0.2
100
0.02
0.1
0 0
0
−0.1
−100
−0.2
−0.02
−0.3
−200
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
−0.4 −0.04
time [sec] 0 1 2 3 4 5 0 0.5 1 1.5 2
Figure 8: Contact force magnitude λ (continuous line for Figure 10: Control variables Sqp and SqF for the model-free
model-free second order sliding mode control, dotted line second order sliding mode control.
for PD control).
−4
5 SOME DISCUSSIONS ON
x 10
2
0
400
STRUCTURAL PROPERTIES
Force contact error [N]
200
−2
x error [m]
0.05 4
Deep error [m]
0 3
locities through jacobians in vehicle frame and gen-
−0.05 2 eralized frame, it suffices only proper mapping of the
−0.1 1 gradient of contact forces. This results open the door
−0.15 0
to study similar force control structures developed for
−0.2 −1
0 1 2 3
time [sec]
4 5 0 1 2 3
time [sec]
4 5
fixed-base robots, and so far, the constrained subma-
rine robot control problem seems now at reach.
Figure 9: Set-point control errors: q̃ = q(t) − qd and λ̃ =
λ(t) − λd (continuous line for model-free second order slid-
ing mode control, dotted line for PD control). 5.1 Properties of the Dynamics
27
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
with a generalized physical velocity. This relationship Structural properties of the open-loop dynamics of
is specially important for the angular velocity of a free submarine robots are key to design passivity-based
moving object due to the fact that time derivative of controllers. In this paper, an advanced, yet sim-
angular representations (such a roll-pitch-yaw) do not ple, controller is proposed to achieve simultaneously
stand for the angular velocity. However, there is al- tracking of time-varying contact force and posture,
ways a correspondence between these vectors. For without any knowledge of his dynamic parameters.
external forces this mapping is indeed important. It This is a significant feature of this controller, since in
relates a physical force/torque wrench to the general- particular for submarine robots the dynamics are very
ized coordinates q = (xv , yv , zv , φv , θv , ψv ) whose last difficult to compute, let alone its parameters.
3 components does not represent a unique physical A simulation study provides additional insight
space. In this work, such mapping is given by Jq and into the closed-loop dynamic properties for set-point
appears in the contact force mapping by the normal- control and tracking case.
ized operator Jϕ̄ . The operator Jq can be seen as the
difference of a Analytical Jacobian and the Geometric
Jacobian of a robot manipulator. REFERENCES
5.2 The Controller Fossen, T. I. (1994). Guidance and Control of Ocean Vehi-
cles. Chichester.
Notice that the controller exhibits a PD structure IFREMER (1992). Project vortex: Modélisation et simula-
plus a nonlinear I-tame control action, with nonlin- tion du comportement hidrodynamique d’un véhicule
sous-marin asservi en position et vitesse. Technical
ear time-varying feedback gains for each orthogonal report, IFREMER.
subspace. It is in fact a decentralized PID-like, coined
Liu, Y., Arimoto, S., Parra-Vega, V., and Kitagaki, K.
as ”Sliding PD” controller. It is indeed surprising that (1997). Decentralized adaptive control of multiple
similar control structures can be implemented seem- manipulators in cooperations. International Journal
ingly for a robot in the surface or below water, with of Control, 67(5):649–673.
similar stability properties, simultaneous tracking of Olguı́n-Dı́az, E. (1999). Modélisation et Commande d’un
contact force and posture. Of course, this is possible Système Véhicule/Manipulateur Sous-Marin. PhD
under a proper mapping of jacobians, key to imple- thesis, Laboratoire d’Automatique de Grenoble.
ment this controller. Parra-Vega, V. (2001). Second order sliding mode control
for robot arms with time base generators for finite-
5.3 Friction at the Contact Point time tracking. Dynamics and Control.
Parra-Vega, V. and Arimoto, S. (1996). A passivity-based
adaptive sliding mode position-force control for robot
When friction at the contact point arises, which is ex- manipulators. International Journal of Adaptive Con-
pected for submarine tasks wherein the contact object trol and Signal Processing, 10:365–377.
is expected to exhibits a rough surface, with high fric- Sagatun, S.I.; Fossen, T. (1991). Lagrangian formulation of
tion coefficients, a tangential friction model should underwater vehicles’ dynamics. Decision Aiding for
be added in the right hand side. Particular care must Complex Systems, IEEE.
be employed to map the velocities. Complex friction Smallwood, D.A.; Whitcomb, L. (2001). Toward model
compensators can be designed, similar to the case of based dynamic positioning of underwater robotic ve-
force control for robot manipulators, therefore details hicles. volume 2. OCEANS,IEEE Conference and Ex-
are omitted. hibition.
Smallwood, D.A.; Whitcomb, L. (2004). Model-based dy-
namic positioning of underwater robotic vehicles: the-
ory and experiment. IEEE Journal of Oceanic Engi-
6 CONCLUSIONS neering, 29(1).
Spong M.W., V. M. (1989). Robot Dynamics and Control.
Although a PD controller, recently validated by Yoerger, D.; Slotine, J. (1985). Robust trajectory control
(Smallwood, 2004) has a much simpler structure and of underwater vehicles. Oceanic Engineering, IEEE
very good performance for underwater vehicles in po- Journal, 10(4).
sition control schemes, it does not deal with the task
of contact force control.
The desired contact force can be calculated via
equation (19) directly in the generalized frame in
which it occurs.
28
FUZZY-SYNTACTIC APPROACH TO PATTERN RECOGNITION
AND SCENE ANALYSIS
Marzena Bielecka
Department of Geoinformatics and Applied Computer Science
Faculty of Geology, Geophysics and Environmental Protection
AGH University of Science and Technology, Kraków, Poland
[email protected]
Keywords: Syntactic pattern recognition, graph grammars, fuzzy graphs, parallel parsing, robot vision system.
Abstract: In syntactic pattern recognition an object is described by symbolic data. The problem of recognition is to
determine whether the describing mathematical structure, for instance a graph, belongs to the language
generated by a grammar describing the mentioned mathematical structures. So called ETPL(k) graph
grammars are a known class of grammars used in pattern recognition. The approach in which ETPL(k)
grammars are used was generalized by using probabilistic mechanisms in order to apply the method to
recognize distorted patterns. In this paper the next step of the method generalization is proposed. The
ETPL(k) grammars are improved by fuzzy sets theory. It turns out that the mentioned probabilistic approach
can be regarded as a special case of the proposed one. Applications to robotics are considered as well.
29
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
30
FUZZY-SYNTACTIC APPROACH TO PATTERN RECOGNITION AND SCENE ANALYSIS
admits also another ones allowing to navigate applied to classical graphs (i.e. non-fuzzy ones) –
without collision. In such a case the scene would be example 3.
represented by a classical (i.e. not fuzzy) IE graph
but directions the agent can choice would be
represented by fuzzy sets – see Fig.2. The decision 3 FUZZY IE GRAPHS
making system would be based on fuzzy inference.
Recall a definition of IE graph (Flasiński, 1993).
Definition 3.1
An IE graph is a quintuple H=(V, E, Σ, Γ, ϕ) where:
V is a finite, non-empty set of nodes of a graph with
assigned indexes in univocally way,
Σ is a finite, non-empty set of node labels,
Γ is a finite, non-empty set of edge labels,
E is a set of graph edges represented by triplet
(v, λ, w) where v, w∈V, λ∈Γ and an index of v
is smaller than an index of w,
ϕ:V→Σ is a nodes labeling function.
31
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
V is a finite, non-empty set of nodes of a graph with T (a1 ,..., an ) = T (ai ) = T ( T (ai ), an ) (4)
i =1 i =1
assigned indices in univocal way, Having a fuzzy IE graph R the fuzzy measure of an
Σ is a finite, non-empty set of node labels, outcome graph r is calculated as
containing, say, n elements, P S
Γ is a finite, non-empty set of edge labels, λ (r ) = T ( T ( μ αf (α ) ), T (ν gβ( β ) )) (5)
p =1 s =1
containing, say, k elements,
E = V× Θ ×V is a set of fuzzy graph edges
where α is a number of a regarded node, β is a
represented by triplet (v, Θs, w) where v, w∈V number of an edge, f(α) - is a chosen component
and i(v) < i(w) i.e. an index of v is smaller than an number of a vector μα whereas g(β) is a number of
index of w, Θ = [Θ1 ,..., Θ k ] is represented by
s s s
component of a vector νβ. If a product is used as a T-
norm then the presented parsing (see section 4) is
[(λ1 ,ν 1s ),..., (λk ,ν ks }] where ν is is a value of a identical as the random parsing described in
membership function of succeeding edge labels (Skomorowski, 1998). In calculations presented in
for a s-th edge, the next section the minimum Tm-norm is used.
Φ: V → Π1×…×Πm where for every nodes
Φ (ν i ) = (Π1i ,..., Π im ) where Π ik = (σ k , μ ki ) , 4 PARALLEL PARSING
σ k ∈ Σ , μ ki is a value of a membership function
Given an unknown pattern represented by a fuzzy IE
of succeeding nodes labels for an i-th node. graph R, the problem of recognition of a pattern
under study is to determine if an outcome IE graph r,
The fuzzy measure of an outcome IE graph, obtained from the fuzzy IE graph R, belongs to a
obtained form a given fuzzy IE graph, is equal to the graph language L(G) generated by an ETPL(k) graph
value of T-norm of the values components of the grammar G. In the proposed parallel and cut-off
node and edge vectors. Recall axiomatic definition strategy of fuzzy IE graph parsing for an efficient,
of T-norms which is given in, for instance, that is with the computational complexity O(n2),
(Rutkowski, 2005) - definition 4.22, page 80. analysis of fuzzy patterns (scenes) a number of
simultaneously derived graphs is equal to a certain
Definition 3.3 number limit. In this case, derived graphs spread
through the search tree, but only the best, that is with
T-norm is a function T:[0,1]×[0,1]→[0,1] satisfying maximum measure value, limit graphs are expanded.
the following axioms: Let us consider a graph shown in Fig.4a and a
(i) T(a,b) = T(b,a), production shown in Fig.4b. Suppose that the
(ii) T( T(a,b),c ) = T( a,T(b,c) ), embedding transformation for the production shown
(iii) if a ≤ b and c ≤ d then T(a,b) ≤ T(c,d), in Fig.4b is C(r, input) = {(d, b, r, input)} and C(u,
(iv) T(a,0) = 0 and T(a,1) = a. output) = {(e, B, r, input)}. During a derivation, a
non-terminal A in the node 2 of a graph shown in
Theorem Fig.4a is removed and the graph of the production
The functions Tm and Tu given by the formulae shown in Fig.4b is put in the place of the removed
non-terminal A. The first item of the embedding
transformation for the production: C(r,input) = {(d,
Tm(a,b) = min{a,b} and Tu(a,b) = a⋅b (1) b, r, input)} means that the edge r of the graph
shown in Fig.4a should connect the node d of the
are T-norms. The function Tw given by the formulae production graph with the node b of the graph shown
in Fig.4a. The second item of the embedding
Tw(a,1) = a, Tw(a,b) = 0 for a≠1 and b≠1 (2) transformation for the production: C(u, output) =
is a T-norm as well. Furthermore, for every {(e, B, r, input)} means that the edge u of the graph
a,b∈[0,1] if a function T is a T-norm then shown in Fig. 4a should be replaced by the edge r
connecting the node e of the production graph with
the node B of the graph shown in Fig.4a. Thus, after
Tw(a,b) ≤ T(a,b) ≤ Tm(a,b) (3)
the application of the production shown in Fig.4b to
Thanks to the property (ii) in Definition 3.3 T-norm
32
FUZZY-SYNTACTIC APPROACH TO PATTERN RECOGNITION AND SCENE ANALYSIS
the node indexed by 2 of the graph shown in Fig.4a C(r, input) = {(b, a, r, input)}
we obtain a graph shown in Fig.4c. C(t, output) = {(b, A, t, output), (a, A, r, input)}
(3)
C(r, input) = {(d, a, r, input)}
C(t, output) = {(d, A, t, output), (E, A, r, input)}
(4)
C(s, input) = {(d, a, s, input)}
(7)
(8)
(9)
Let us assume that a number of simultaneously
derived graphs is equal to 2 (that is limit = 2). C(s, input) = {(a, b, s, input)}, C(v, output) = {(a, f, v, output)}
Furthermore let us assume that we are given an
ETPL(k) graph grammar G with a starting graph Z (10)
shown in Fig.6 and a set of productions shown in
Fig.7. C(t, input) = {(g, a, t, input)}
C(v, input) = {(h, d ,u, input), (h, b, u, input)}
(11)
C(t, input) = {(a, a, t, input)}
C(v, input) = {(b, d, u, input), (b, b, u, input)}
33
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
to the node indexed by 2 of the starting graph Z we The contributions of nodes indexed by 6 of the
obtain a graph q2 shown in Fig.8b. The graphs q1 graphs q1,6 and q1,7 are not taken into account in this
case as the node indexed by 6 and labeled by F in
(a) (b) the graph q1,7 is not a terminal one. Consequently,
the contribution of the edge connecting nodes
indexed by 3 and 6 as well as the contribution of the
edge connecting nodes indexed by 6 and 7 in the
graphs q1,6 and q1,7 are not taken into account.
Similarly, we compute the following values: λ(q2,6)
Figure 8: Derived graphs q1 and q2. = 0.2 and λ(q2,7) = 0.2. As λ(q1,6) > λ(q1,7) > λ(q2,6)
= λ(q2,7) we choose the graphs q1,6 and q1,7 for
and q2 (Fig.8) are admissible for further derivation, further derivation, that is we choose two graphs with
that is they can be outcome graphs obtained from the maximum value (limit = 2). Similarly, in two next
fuzzy IE graph shown in Fig.5. The application of the steps of derivation the final outcome IE graph is
production (3) to the node indexed by 2 of the obtained – see Fig.11. The derived graph q1,7,10,8 is
starting graph Z does not lead to a graph which can also an outcome IE graph obtained from the parsed
be an outcome graph obtained from the fuzzy IE fuzzy IE graph shown in Fig.5.
graph shown in Fig.5. Thus, a graph obtained after
the application of the production (3) to the node
indexed by 2 of the starting graph Z is not
admissible for further derivation. As in the analyzed
example a number of simultaneously derived graphs
is equal to 2 we expand the graphs q1 and q2 in the
second step of derivation.
34
FUZZY-SYNTACTIC APPROACH TO PATTERN RECOGNITION AND SCENE ANALYSIS
35
VISUAL ALIGNMENT ROBOT SYSTEM: KINEMATICS, PATTERN
RECOGNITION, AND CONTROL
Keywords: Visual alignment, robotics, parallel mechanism, precision control, pattern recognition.
Abstract: The visual alignment robot system for display and semiconductor fabrication process largely consists of multi-
axes precision stage and vision peripherals. One of the central issues in a display or semiconductor mass pro-
duction line is how to reduce the overall tact time by making a progress in the alignment technology between
the mask and panel. In this paper, we suggest the kinematics of the 4PPR parallel alignment mechanism with
four limbs unlike usual three limb cases and an effective pattern recognition algorithm for alignment mark
recognition. The inverse kinematic solution determines the moving distances of joint actuators for an iden-
tified mask-panel misalignment. Also, the proposed alignment mark detection method enables considerable
reduction in computation time compared with well-known pattern matching algorithms.
36
VISUAL ALIGNMENT ROBOT SYSTEM: KINEMATICS, PATTERN RECOGNITION, AND CONTROL
CCD/optics/illumination
pattern recognition algorithm for alignment marks is
Frame
suggested, which can greatly reduce vision process- Grabber
37
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
CCD C2
L2
OM (mx , my )
X ∆x ∆φ
CCD 2
∆y
U W
Moving platform L1
OP ( px , p y )
V
Cross roller guide & ring C1
CCD 1
AC servo motor & Ballscrew
Figure 4: Determination of misaligned posture between
mask and panel (circle: mask marks, cross: panel marks).
Figure 3: Visual alignment stage with four active joints.
fixed base
+V
3 KINEMATICS OF 4PPR +W
PARALLEL MECHANISM
38
VISUAL ALIGNMENT ROBOT SYSTEM: KINEMATICS, PATTERN RECOGNITION, AND CONTROL
39
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
4 PATTERN RECOGNITION
A typical visual alignment system provides a struc-
tured vision environment. For example, CCD cam-
era and illumination is under static condition and the
objects to be recognized are just two kinds of align-
ment mark for mask and panel. Moreover, the shape (a) Original image and the histogram
of marks are usually symmetric ones such as circle,
cross, rectangle, and diamond, in which case the fea-
ture points of an object can be easily determined. We
consider just circle and cross shaped marks because
they are most common in display and semiconductor
industry. In this section, an efficient alignment mark
recognition algorithm in Fig 10 is suggested by com-
bining the conventional labeling technique and a ge-
ometric template matching method which is designed (b) Bottom-Hat transformed image and the histogram
by analyzing the characteristics of alignment marks, . Figure 7: Comparison of original and transformed image
Basically, it is assumed that the alignment marks are and the histograms (b = 20 pixels).
in the field-of-view (FOV) of cameras after the pre-
alignment process in the industrial visual alignment
system. Small noise patterns in the binary image can be
recognized as independent areas during the labeling
4.1 Preprocessing process. They can be eliminated by the opening and
closing method:
Bottom-Hat Transform: Before applying the label- f˙ = ( f ◦ b) · b (22)
ing algorithm, the gray image from the CCD cam-
era is converted into the binary image. However, a where the morphology b is a small (e.g., 3 by 3)
proper binarization is impossible when the illumina- square matrix whose components are all 1, ( f ◦ b) an
tion is nonlinear or non-steady due to the limit of light opening operator, and f˙ the filtered image.
source or other unexpected light disturbances. In or- Labeling: If the objects in a captured image are
der to eliminate these effects, we can use the bottom- not overlapped, an easily accessible algorithm to ex-
hat transform which is a morphology method (Gonza- tract them is the labeling technique. To separate
lez and Wood, 2002), where the transformed image h marks from the noise-filtered image, we first apply
can be calculated by the labeling algorithm to the area chained by eight-
h = ( f · b) − f (21) connectivity. Once the labeling process is finished,
a number of areas including the marks will be la-
where f represents the original image, b the circular
beled. As explained in Fig 10, if the labeled area is
morphology, and ( f · b) the closing operation between
not counted, a new image should be captured by re-
f and b. By the closing operation, objects smaller
peating the pre-alignment process. If the labeled area
than the size of b are eliminated and the rest of back-
is only one, it is highly possible that two marks are
ground is extracted. The size of b is usually deter-
overlapped and each mark should be extracted by ap-
mined experimentally. The figure 7 shows an exam-
plying another pattern recognition scheme. If there
ple.
are 2 labeled areas, the marks of mask and panel are
Dynamic Thresholding and Noise Filtering: To not overlapped. Then, the centroids of marks can be
segregate marks from the background in the Bottom- simply calculated by the center of area method:
Hat transformed image, we apply the binarzation al-
gorithm. Among several methods to determine best 1 n−1 1 n−1
threshold value, the following repetition method can Xc = ∑
n i=0
Xi , Yc = ∑ Yi
n i=0
(23)
be used: 1) Set the initial threshold T , which is the
average between the maximum and the minimum of where Xc and Yc represent the central point of labeled
brightness from the binary image. 2) Divide the im- image and Xi and Yi the horizontal and vertical po-
age into class G1 and G2 by T and calculate the av- sitions of the pixels. Finally, if there are more than
erages m1 and m2 of them. 3) Calculate T = (m1 + 3 labeled areas, as denoted in Fig 10, the areas which
m2 )/2. 4) Repeat step 2 and step 3 until m1 and m2 have less pixels than a specified number must be elim-
are not changed. inated through an extra filtering process.
40
VISUAL ALIGNMENT ROBOT SYSTEM: KINEMATICS, PATTERN RECOGNITION, AND CONTROL
When the two marks of mask and panel are over- Bot-Hat transform
lapped, i.e., when the number of labeled area is only
one in Fig 10, the labeling algorithm alone is not Binarization
41
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
5 CONTROL
The first step in the visual alignment process is to de-
tect the centroids of alignment marks from the raw
images. The visual processing can be divided into
pre-processing and image analysis. As described in
the former section 4, the pre-processing includes bi-
narization, edge detection, and noise filtering etc. In
the image analysis procedure, a few object recogni-
tion techniques can be applied such as labeling and
template matching. Once the centroids of marks are
determined, the misalignment distance and angle be-
tween mask and panel, which is usually less than hun-
dreds of microns, can be readily determined using ge-
ometric relationships. Given the misalignment quan-
tity for the current image, the driving distances of Figure 13: Graphic User Interface of operating software.
joint actuators can be produced by the inverse kine-
matic solution for a specific parallel mechanism as
shown in Section 3. Finally, the misalignment can has the size of 640 × 480 pixels and the field of view
be compensated by the joint controller as in Fig. 11, (FOV) is 6.4 × 4.8 mm and the rate of capture in the
where the outer visual feedback loop should be re- frame grabber is 15 fps. Circular marks have a diam-
peated until it meets permissible alignment errors. eter of 2 mm and thickness of 200 µm and the cross
marks have the length of 1 mm. The graphic user in-
Fast and Fine
Motion Control
terface shown Fig. 13 was developed to integrate all
the functions to achieve the autonomous visual align-
Misalignment Inverse Joint ment.
Determination Kinematics Controller
First of all, we compared the performance of the
alignment mark recognition algorithm in Fig. 10
Efficient
Image Analysis with the popular NC (Manickam et al., 2000) and PC
method (Krattenthaler et al., 1994). For the captured
Centroids Feature images in Fig. 13, the proposed method takes 37 msec
Extraction Extraction
mark images
on average to find the centroids of all marks including
Efficient x 2EA pre-processing time, while the NC and PC required
Image Processing
661 msec and 197 msec, respectively. As a result,
Figure 11: Vision-based look and move motion control. the proposed method reduces one order of recogni-
tion time. As explained before, this is mainly because
in the geometric template matching the vector oper-
ations for all pixels are not necessary unlike the NC
Frame and the feature points of objects are selected in ad-
Illumination control Grabber
vance unlike the PC. Although the geometric pattern
matching is confined to simple objects, it is actually
enough to extract alignment marks.
Control PC
CCD 1
Figure 14 shows the visual alignment process for
a given misaligned posture between mask and panel.
CCD 2
Mask mark (d=2mm) As explained in Fig. 11, the inverse kinematic solu-
tions are cast into the joint controllers as a reference
XYZ manual
stage
input. To avoid excessive chattering, at every align-
ment cycle, we have applied the polynomial trajec-
Glass mark (d=1mm)
CCD Ch. 1 4PPR stage
tory with rise time 0.6 sec for the reference values. In
Fig. 14, the mask and panel were almost aligned after
Figure 12: Experimental setup for visual alignment. the 1st cycle and the 2nd cycle was activated since the
misalignments in U-axis and W -axis are still over the
Figure 12 shows the experimental setup for the tolerance. Considering the joint control error in Fig.
mask and panel alignment, where the CCD image 15 for the 2nd cycle, the controlled motion of V -axis
42
VISUAL ALIGNMENT ROBOT SYSTEM: KINEMATICS, PATTERN RECOGNITION, AND CONTROL
REFERENCES
Cognex Ltd. (2004). In http://www.cognex.com/ prod-
ucts/VisionTools/PatMax.asp.
(c) After 2nd alignment Gonzalez, R. C. and Wood, R. E. (2002). Digital Image
Ch. 1 Ch. 2
Processing. Prentice Hall.
Hephaist Ltd. (2004). In http://www.hephaist.co.jp/
e/pro/n 4stage.html.
Kang, D. J. and Lho, T. J. (2003). Development of an edge-
based point correlation algorithm for fast and stable
visual inspection system. In Journal of Control, Au-
Figure 14: Visual alignment experiment: the inverse kine- tomation and System Engineering. Vol. 9, No. 2, Au-
matic solution is (U,V,W ) = (132.4, −592.6, −1367.6)µm gust, 2003 (in Korean).
at initial posture and (U,V,W ) = (−73.4, −3.5, 66.5)µm af- Kanjilal, A. K. (1995). Automatic mask alignment without
ter the 1st alignment. a microscope. In IEEE Trans. on Instrumentation and
Measurement. Vol. 44, pp. 806-809, 1995.
2001.
Strang, G. (1988). Linear Algebra and Its Applications.
College Publishers, 3rd edition.
time(sec)
Tsai, L.-W. (1999). Robot Analysis: The mechanics of se-
Figure 15: Joint control errors during the 2nd alignment rial and parallel manipulators. Wiley-Interscience.
(the 4th X-axis was not active). Umminger, C. B. and Sodini, C. G. (1995). An integrated
analog sensor for automatic alignment. In IEEE Trans.
on Solid-State Circuits. Vol. 30, pp. 1382-1390, 1995.
43
DISTURBANCE FEED FORWARD CONTROL OF A HANDHELD
PARALLEL ROBOT
Keywords: Robotic manipulators, Medical systems, Dynamic modelling, Disturbance rejection, Feedforward compensa-
tion.
Abstract: A model-based control approach for a surgical parallel robot is presented, which combines a local tool stabi-
lization with a global disturbance feed forward control. The robot is held in the operator’s hand during the
manipulation of bones. For a precise processing the tool has to be decoupled from disturbances due to unin-
tentional hand movements of the surgeon at the robot base. The base disturbances are transformed for a feed
forward control using the inverse dynamics of the robot. Simulations show that disturbances can be reduced
by many orders depending on sensor errors and delay.
44
DISTURBANCE FEED FORWARD CONTROL OF A HANDHELD PARALLEL ROBOT
2 SYSTEM DESCRIPTION
z
base platform {B},{B’}
The goal of the ITD robot project is to adjust and
to stabilize a drilling or milling tool (mounted at the y x
tool platform) with respect to a moving bone of the actuator i
patient (workpiece), while the complete machine is
held in the surgeon’s hand. Therefore it is necessary qi z {W}
to isolate the tool from disturbances at the base pro-
duced by the operator’s unintional hand movements. Br
y x
slider i BR
T
gz
The amplitude and frequency of the human arm dis- Br
s,i T
turbances is available from literature (Takanokura and
Sakamoto, 2001). Corresponding to the milling pro-
Br
cess with different tools a 6 DOF control of the tool strut i st,i
is required. Assuming an additional safety margin the
selected workspace of the robot ranges from -20 mm Tr z {T}
t,i
to +20 mm in the three Cartesian axes and respec- tool
tively from -20o to +20o in the three rotational axes. x
platform
y
The mechanical device designed is a parallel robot
with six base-fixed actuators. The CAD model of
the surgical robot ITDII (Intelligent Tool Drive II) is Figure 2: Topology of the parallel robot with fixed actua-
shown in Fig. 1. The robot base has six fixed linear tors.
motors, i.e. the electrical part of the motors. Further-
more, there are guide rails, housing, and handles for
the hand-held operation, building together the robot in space, adequate coordinate systems have to be de-
base. The sliders of the linear motors are connected fined. For the calculation of the kinematic equations
to the tool platform via six lightweight struts. At the four coordinate frames are considered (Fig. 2): (1)
tool platform and at the sliders the struts are mounted the world (earth) frame {W}, (2) the tool frame {T}
with spherical joints. in the tool’s centre of gravity, (3) the movable base
Because the base of the robot can be moved freely frame {B} in the base’s center of gravity, and (4) the
instantaneously coincident base frame {B’}, which is
fixed in {W}. The frame {B’} and the frame {B} are
aligned, if the base stands still. Without loss of gen-
erality the motion of both platforms is represented in
the {B’} frame, which reduces the complexity of the
kinematic description. The choice of the coordinates
has no influence on the value of the inertial forces.
For simplicity the gravity is calculated in the world
frame. Afterwards, the resulting force can be trans-
formed into the {B’} frame with little effort.
The pose of the tool is defined by the position
vector B rT and the orientation matrix BT R in the {B}
frame, which build together the pose vector B XT =
(B rT , BT R). From the matrix BT R the fixed zyx-Euler
angles φ, θ, and ψ can be derived. The positions of
the tool joints T rt,i in the tool frame and the initial po-
sitions of the slider joints B rs0 ,i in the base frame for
each actuator i are known from the geometry of the
construction. The sliders actual positions B rs,i move
in z-direction of the base according to the guidance,
if the tool changes its position. Therefore, the initial
positions Brs,i,x = B rs0 ,i,x and Brs,i,y = Brs0 ,i,y in the
x-direction respectively the y-direction are not alter-
nated. The struts have the lengths li .
Figure 1: Hand-held surgical robot ITDII - CAD model.
45
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
46
DISTURBANCE FEED FORWARD CONTROL OF A HANDHELD PARALLEL ROBOT
and the acceleration of a slider’s center of gravity vector sums of the tool and the base related forces,
yields since the equation of motion is non-linear. However,
′
B′ ′ ′ ′ if the tool is fixed, the B ΛT term vanishes and the re-
acg,i,z = B as,i,z +B ωB × B ωB × B rscg,i (17) maining forces for the slider mass acceleration yields
with the position offset Br between the slider joint
scg,i
a quite simple form (19).
position and the slider’s centre of gravity.
47
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Figure 3: Control structure; local servo loop and global disturbance feed forward control.
measured disturbances. These model uncertainties jectory tracking quality is described at the end using
are compensated by the local pose control. The pre- a standard circle test (ballbar-test).
sented structure is not a classical cascaded structure,
because the base coordinates are not influenced im-
5.1 Tool Stabilization
mediately by the control action. The base motion re-
sults from the disturbance forces of the human opera-
tor. That means that no feed-back from the actuators The first simulations describe the system disturbance
to the base motion is assumed due to the large base response in the frequency domain. In the first sim-
mass and that the sensing of the base motion serves ulations the control parameters are configured for a
for the referencing of coordinates only. critically damped PD control loop with a system fre-
In the realized system it is necessary to measure quency Ω = 60Hz. Figure 4(a) shows the tool motion
the pose, the velocity and the acceleration of the base. after application of a 12 Hz, 1 mm sinusoidal signal
The tool coordinates are calculated from the desired at the base. The straight line represents the stimu-
tool trajectory. To take care of force feed-back dur- lus in the x-direction, which can be referenced to the
ing the processing of the workpiece, additional sen- left hand scale. The amplitude of the tool position re-
sors measuring the tool motion or forces could be im- sponse using a PD control (dotted line) and using a
plemented in a feed-back control. This may make PD control with additional feed forward disturbance
sense in special cases. However, backlash effects in
0.50
the joints could lead to a destabilization of the con- 1.0
a)
Base position
b)
such a compensation is neglected in this paper. The sum
inertial
control structure has been implemented in the simula- normal
0.00
tion environment Matlab/Simulink using a fixed sam-
F (N)
48
DISTURBANCE FEED FORWARD CONTROL OF A HANDHELD PARALLEL ROBOT
F (N)
coriolis
resulting force F (straight line) is the total of all force 0.00 0.00
sults from the tool and the slider acceleration (8) and -0.10 -0.10
the normal component (dotted line) is a consequence 0.5 1.0 1.5 2.0
of the strut rotation velocity (6). No Coriolis or cen- time (s)
x PD
tool x-axis (mm)
PD 0.1
10 3.0 x PD-FF
PD-FF x50
0 0.0 2.5
max x-error (mm)
-10 2.0
-0.1
-20 1.5
b)
sum
0.03 0.03 1.0
inertial
normal
0.5
F (N)
0.00 0.00
0.0
-0.03 -0.03 10 20 30 40 50 60
(1/s)
0.5 1.0 1.5 2.0
49
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
1.50
X PD
1.00
0.75
0
0.50
0.25
desired
-10
0.00 PD error x10
50
DISTURBANCE FEED FORWARD CONTROL OF A HANDHELD PARALLEL ROBOT
contribution to the total force in the actuators. Thus, Pott, P., Wagner, A., Köpfle, A., Badreddin, E., Männer,
a simplification of the model by neglecting the veloc- R., Weiser, P., Scharf, H.-P., and Schwarz, M. (2004).
ity related force components is not suitable. Finally, A handheld surgical manipulator: Itd - design and first
results. CARS 2004 Computer Assisted Radiology and
the simulations show in which range of precision a Surgery, Chicago, USA.
feed forward control does improve the decoupling be-
Riebe, S. and Ulbrich, H. (2003). Modelling and online
haviour and in which range the feed forward control
computation of the dynamics of a parallel kinematic
can be neglected. with six degrees-of-freedom. Archive of Applied Me-
chanics, 72:817–829.
Stewart, D. (1965-1966). A platform with six degrees of
7 CONCLUSION freedom. Proceedings of the Institute of Mechanical
Engineering, 180:371–386.
A model-based approach is presented to control the Takanokura, M. and Sakamoto, K. (2001). Physiological
tool pose of a handheld robot and to decouple the tool tremor of the upper limb segments. Eur. J. Appl. Phys-
from base disturbances. An adequate definition of co- iol., 85:214–225.
ordinate frames for the dynamics modelling and the Tönshoff, H., Grendel, H., and Grotjahn, M. (2002). Mod-
controller design reduces the effort for the implemen- elling and control of a linear direct driven hexapod.
Proceedings of the 3rd Chemnitz Parallel Kinemat-
tation. The feasibility of a feed-back control on the lo- ics Seminar PKS 2002, 2002 Parallel Kinematic Ma-
cal axis level in combination with a disturbance feed chines Int.Conf.
forward control on the robot level in world coordi- Wagner, A., Pott, P., Schwarz, M., Scharf, H.-P., Weiser,
nates is shown. The local control is able to stabilize P., Köpfle, A., Männer, R., and Badreddin, E.
the robot and to avoid huge errors due to model un- (2004). Control of a handheld robot for orthopedic
certainties and disturbances. The feed forward control surgery. 3rd IFAC Symposium on Mechatronic Sys-
ensures the free movement of the robot in space, while tems, September 6-8, Sydney, Australia, page 499.
measured disturbances can be compensated for. Fur- Wagner, A., Pott, P., Schwarz, M., Scharf, H.-P., Weiser, P.,
thermore, the usage of a non-linear inverse dynamics Köpfle, A., Männer, R., and Badreddin, E. (2006). Ef-
model enables the precise disturbance feed-forward ficient inverse dynamics of a parallel robot with two
movable platforms. 4rd IFAC Symposium on Mecha-
control under different operational conditions. For the
tronic Systems, Heidelberg, Germany.
feed-forward control sensor error and delay are cru-
cial.
REFERENCES
Chen, Y. and McInroy, J. E. (2004). Decoupled control of
flexure-jointed hexapods using estimated joint-space
mass-inertia matrix. IEEE Transactions on Control
Systems Technology, 12.
Honegger, M. (1999). Konzept einer Steuerung mit adap-
tiver nichtlinearer Regelung für einen Parallelma-
nipulator. Dissertation, ETH Zurich, Switzerland,
http://www.e-collection.ethbib.ethz.ch.
Honegger, M., Codourey, A., and Burdet, E. (1997). Adap-
tive control of the hexaglide, a 6 dof parallel manipu-
lator. IEEE International Conference on Robotics and
Automation, Albuquerque, USA.
Huynh, P. (2001). Kinematic performance comparison of
linar type parallel mechanisms, application to the de-
sign and control of a hexaslide. 5th International con-
ference on mechatronics technology (ICMT2001), Sin-
gapore.
Koekebakker, S., Teerhuis, P., and v.d. Weiden, A. (1998).
Multiple level control of a hydraulically driven flight
simulator motion system. CESA Conference, Ham-
mammet.
Merlet, J. (2000). Parallel robots. Kluwer Academic Pub-
lisher, Dordrecht, Netherlands.
51
THE TELE-ECHOGRAPHY MEDICAL ROBOT OTELO2
Teleoperated with a Multi Level Architecture using Trinomial Protocol
Keywords: Teleoperated system, Telerobotics, OTELO medical robot, Tele-echography, Multi level archecture.
Abstract: This paper presents a novel architecture applied to a mobile teleoperated medical robotic system: OTELO2
(MObile Tele-Echography using an Ultra-Light RObot); OTELO2 performs a tele-echography at a distance
for the benefit of medically isolated sites. First, this paper presents an overview of the OTELO2
teleoperated system. Then, it describes the modular control architecture used and the integration of the
teleoperated layer on this multi level architecture. Finally, it presents the communication links used to
control this system, as well as some experimental results.
52
THE TELE-ECHOGRAPHY MEDICAL ROBOT OTELO2 - Teleoperated with a Multi Level Architecture using
Trinomial Protocol
(time)
station. A communication network (e.g. terrestrial or
satellite) allows data transmission (i.e. ultrasound
images, robot controls, haptic feedback and ambient
images) between the two stations (Figure 1).
53
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
translation amplitude along the probe axis is about 3 THE OTELO2 SYSTEM
40mm. This axis is coupled with a force sensor CONTROL ARCHITECTURE
giving the force applied by the ultrasonic probe on
the patient’s skin and enabling its control. The force
is transmitted back to the “expert” station in order to For the teleoperated robot and in order to integrate
ensure the most realistic examination conditions for teleoperation layer, it was decided to set up a layered
the medical expert. Finally, depending on the architecture (Novales, 2006). It is a multi level
examination type (e.g. ObGyn, Abdominal), various architecture where each level corresponds to a
types of manufactured probe can be attached to the decision/perception loop.
end effector of the support system. In this section, we present the control
The end effector of the remote robot moves the architecture of the OTELO2 robot, and the global
ultrasound probe in order to reproduce the expert architecture of the OTELO2 system is described
gestures which are being analyzed by a dedicated with the two MMI (Man Machine Interface)
input device (Figure 4). Images coming from the developed to control the system.
ultrasound system are compressed and sent to the
“expert” station, using the H263 protocol, and 3.1 The “Patient” Architecture
analyzed by the specialist.
The control architecture of the OTELO2 robot
2.2 The “Expert” Station prototype is a three level architecture partitioned in
two parts, namely the “Perception” and the
“Decision” parts. Each one of these levels
The “expert” station is located in a main hospital
correspond to either a software layer or a hardware
center and is operated by a medical expert. Based on layer (Figure 5).
the received ultrasound images, the expert uses a
pseudo haptic input device (Figure 4) to control the
positions and orientations of the remote ultrasound
probe. A videoconferencing system between the two
stations allows the medical expert to communicate
with the patient, to give instruction to the assistant
holding the robot, and to check the good positioning
of the robot on the patient’s body.
Figure 4: The pseudo haptic input device used to control Figure 5: The layered control architecture of OTELO2
the orientations and positions of the remote robot. robot.
To control of the teleoperated echography robot Level 0 represents the Articulated Mechanical
was supervised under a novel multi layered and System (AMS); it contains the input/output direct
modular architecture. This hardware and software interface between the physic world and the robot.
structure was added with specific communication This level receives physical data necessary to its
protocols used to control the robot on Internet actuators and sends information to the sensors at
network. The following section presents the level 1.
proposed control architecture and its layout. It is Level 1 of the decision part corresponds to the
followed by the description of the protocol used for servoings level; it determines the physics data, to be
data transmission for the robot control. addressed to level 0, from the setting points imposed
directly by the upper level.
54
THE TELE-ECHOGRAPHY MEDICAL ROBOT OTELO2 - Teleoperated with a Multi Level Architecture using
Trinomial Protocol
The level 1 perception part receives the In the OTELO2 system global architecture
information supplied by the sensors, and it translates (Figure 6), the teleoperation level is located at level
this information to the upper level and to the 3; it corresponds to the navigation level. This part
servoings module. This level ensures the articular generates the trajectories which are executed by the
servoings with six modules in each part, robot and are sent to the pilot of the level 2 decision
corresponding to the six axes and associated sensors part. Moreover, the echograph device delivers
of the robot. information of a high level (ultrasound images) from
Finally, Level 2 decision part corresponds to the its own sensors. Thus, this teleoperation level
pilot level; it generates the articular setting points to receives information from the level 3 perception part
the lower level from a trajectory (position and including the robot positions and orientations, and
orientation of the probe) supplied by the user. The the ultrasound images coming from the ultrasound
pilot block uses the IGM (Inverse Geometric Model) probe.
to generate the setting points taking into account the This global architecture offers the possibility of
physical constraints of the system. The level 2 lower control level required for remote maintenance
perception part presents a proximity model using a and testing of the teleoperated robot (Figure 7).
DGM (Direct Geometric Model) to transmit the
robot current positions and orientations to the user.
We can note, for our application, that there is not a
direct feedback loop on this second level. The
control loop is accounted for through the distant
human teleoperator.
Perception and Decision parts constitute the so-
called autonomous part of the robot. A third part,
called the teleoperation, is added to the two previous
one in the framework of a teleoperated system.
55
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Figure 8: Level 2 teleoperation control interface. The TCP (Transmission Control Protocol) is an
oriented connection protocol. It is used to establish
The second MMI is a pseudo haptic interface the connection between the two stations, and allows
that resembles an ultrasonic probe. The expert uses a continuous control of the connection state between
the pseudo haptic input device equipped with a six the two stations.
DOF localization magnetic sensor giving positions To transfer the robot controls, a reliable
and orientations. communication protocol with small transmission
The pseudo haptic input device (Poisson, 2003) delays is needed. Two protocols were firstly
holds a constant stiffness coefficient which provides considered: the TCP and UDP protocols. TCP
the medical expert with a rendering of the patients’ ensures reliability in the exchange but can block the
body compliance and the force applied by the probe communication in case of data loss. UDP protocol
on the patients’ body. The Figure 9 shows the design
(User Datagram Protocol) due to its simplicity
of the pseudo haptic input device prototype; it includes
a force sensor to measure the force applied by the generates small transmission delays. However it
medical expert in accordance with principal axis of cannot adapt its flow to the network bandwidth and
the probe. cannot confirm that data have arrived to the distant
56
THE TELE-ECHOGRAPHY MEDICAL ROBOT OTELO2 - Teleoperated with a Multi Level Architecture using
Trinomial Protocol
Time (ms)
10
Angle (°)
Angle (°)
“expert” station sends the trajectories to the 0 0
-50
“patient” station using this protocol, and it receives -100
-100
7 CONCLUSION
From a mechanical view point, the OTELO2
prototype robot (Figure 12) corresponds to the criteria
imposed by the medical gesture study and experts’
requirement; it thus ensures identical examination
57
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
conditions than to the standard ultrasound one. The Mouriox, G., Novales, C., Smith-Guérin, N., Vieyres, P.,
modular architecture developed to control it permits Poisson, G., 2005. A hands free haptic device for tele-
easy insertion of new control modules whenever echography. 6TH International Workshop on Research
upgrade of the control architecture is needed. and Education Mechatronics, Annecy, France.
Finally, the communication protocol used to control Novales, C., Mourioux, G., Poisson, G., 2006. A multi-
the robot allows small transmission delays and offers level architecture controlling robots from autonomy to
teleoperation. First National Workshop on Control
moreover adaptability to the network condition.
Architectures of Robots. April 6, 7 2006. Montpellier,
The experimental results collected during the
France.
teleoperation between Montpellier and Bourges Poisson, G., Vieyres, P., Courreges, F., 2003. Sonde fictive
show the viability of the tele-echograph system and échographique European patent n°03290168.8.
provided good clinical results. Xiaoping Liu, P., Max. Q.-H. Meng and Simon. X. Yang,
2003. Data Communications for Internet Robots.
Autonous Robot Volume 15, pages 213 to 223.
Novembre 2003. Kluwer Academic Publishers.
REFERENCES
Alami, R., Chatila, R., Fleury, S., Ghallab M., and Ingrand
F., 1998. An architecture for autonomy. The
International Journal of Robotics Research, Special
Issue on Integrated Architectures for Robot Control
and Programming, vol. 17, no 4, pp. 315-337.
Al Bassit, L., Poisson, G., Vieyres, P., 2003. Kinematics of
a Dedicated 6DOF Robot for Tele-Echography,
Proceedings of the 11th International Conference on
Advanced Robotics, ICAR 2003, pp. 906-910,
Portugal.
Arbeille, Ph., Ayoub, J., Vieyres, P., Porcher, M., Boulay,
J., Moreau, V., Poisson, G., 2004. Echographic
diagnostic on a patient far from the hospital using a
teleoperated robotic arm and the satellite
communications. Conference on Tele-Health and
Satellites, 8-9 July. Rabat, Marocco.
Arkin, R.C, 1998. Behavior-based Robotics. MIT Press.
Brooks, R.A., 1986. A robust layered control system for a
mobile robot. IEEE Journal of Robotics and
Automation, vol. 2, n°. 1, pp. 14–23.
Camarinha-Matos, L. M., Castolo, O., Vieira, W., 2002. A
mobile agents approach to virtual laboratories and
remote supervision. Journal of Intelligent and Robotic
Systems, no 35, pp. 1-22.
Lelevé, A., 2000. Contribution à la téléopération de
robots en présence de délais de transmission
variables. PhD thesis from Montpellier II University.
58
RPQ: ROBOTIC PROXIMITY QUERIES
Development and Applications
Alberto Rodriguez
Robotics Institute, Carnegie Mellon University, Pittsburgh, PA 15213, USA
[email protected]
Josep Amat
Institute of Robotics and Industrial Informatics, Technical University of Catalonia, 08028 Barcelona, Spain
[email protected]
Abstract: This paper presents a robotic proximity query package (RPQ) as an optimization of the general collision
library PQP (Proximity Query Package) for the detection of collisions and distance computation between
open kinematic chains such as robotic arms. The performance of the optimizations to non specific collision
query packages are explained and evaluated. Finally, a robotic assisted surgical application is presented which
has been used as a test bed for the proximity package.
59
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
and computer animation. A wide study of the perfor- 3. Ability to use geometrical models based on trian-
mance and applicability of such methods can be found gulated meshes of points.
in (B.Geiger, 2000). Proximity query algorithms vary 4. Lack off restrictions on possible geometrical mod-
in terms of their range of applicability and the type els.
of queries they can solve, mainly collision detection,
minimum distance computation and interpenetrations The PQP library has been developed by UNC Re-
modelling. Although most algorithms allow as input search Group on Modelling, Physically-Based Simu-
triangulated meshes of 3D points, they differ in the lation and Applications and offers three different kind
way those points are pre-processed and represented of queries:
internally in order to speed up specific queries. - Collision detection: detecting whether two mod-
There is a wide set of methods that rely on Lin- els overlap, and optionally, give the complete list
Canny or Gilbert-Johnson-Keiethi like algorithms for of overlapping triangle pairs.
computing minimum distances between pairs of ob-
jects as I-Collide, Swift, Swift++, SOLID, DEEP. . ., - Distance computation: computing the minimum
but they are only applicable to convex polytopes distance between a pair of models.
(S.Ehmann and Lin, 2000; S.Ehmann and Lin, 2001; - Tolerance verification: determining whether two
Kim et al., 2002; Bergen, 2002). This restriction models are closer or farther than a given tolerance
makes them inappropriate for RPQ purposes, due to distance.
the need to deal with more general geometric models.
RPQ has been implemented in C++ language
More general collision detection methods usu- and its graphical interface has been developed using
ally base their efficiency on pre-computed represen- OpenGL. The RPQ library can be easily integrated
tations by means of hierarchies of bounding volumes. into any software application.
Their differences rely on the specific type of bound-
The library interface allows non expert program-
ing volumes used, ranging from binary space decom-
mers to use it in an easy manner. The graphical inter-
positions, spheres trees to oriented bounding boxes
face is a separate module, allowing the programmer
(OBB).
to decide whether using it or not. Fig. 1 shows the in-
Among this set of algorithms, RAPID and PQP tegration of the library and its graphical interface into
turn to be those that have both, fewer restrictions a generic application.
in the range of allowable geometric models and an
easier application programming interface (API). Both
of them use oriented bounding boxes for performing 3.1 Class Description
collision tests, and have similar time performances.
However, the fact that PQP offers a wider range The RPQ library is based on the Object Oriented
of queries, including minimum distance computation paradigm. Focused on this paradigm, and based on
and tolerance tests makes PQP the best option for the robotic environments, three main classes have been
proximity queries engine of RPQ, the Robotics Query developed: Scenario, Object and Robot.
Package presented in this paper.
3.1.1 Scenario
60
RPQ: ROBOTIC PROXIMITY QUERIES - Development and Applications
or prismatic) between them. Thus, a complex Ob- Three optimizations have been developed and
ject is an open kinematic chain composed of sub ob- tested to improve the performance offered by PQP:
jects. The transformation matrix Mi refers subobjecti • Different resolution levels of object’s representa-
to subobjecti−1 . The transformation matrix M0 refers tion
the object base (subobject0 ) to the world. The object
• Collision queries sorted using a Weight Matrix
stores its own geometrical model. Concerning its im-
plementation, an Object is a class containing the geo- • Collision Matrix
metrical model, the transformation matrix and a set of
methods to position and to orient itself in space. This 3.2.1 Different Resolution Levels of Object’s
class also contains methods to calculate the different Representation
detail representations of its geometrical model.
Objects can be represented in very different resolu-
3.1.3 Robot tion levels. The idea of this optimization is to use the
simplest representation models (minimum number of
A Robot is a particularization of a complex Object triangles) to discard collisions. The lower the number
where each of its links is represented by a simple Ob- of triangles of the geometric model are, the faster the
ject. A Robot has a set of functions to make a com- collision queries are executed.
plex Object as similar as possible to a real robot. For Three resolution levels are used to represent
instance, the spatial relationship between links is de- robots and two for the rest of objects. The highest res-
scribed using the Denavit-Hartenberg notation. Direct olution level is the complete geometrical model. The
and inverse kinematics can be calculated considering second level is the oriented bounding box (OBB) of
the robots own restrictions (joint limitations, config- each sub object in which a complex object is divided.
urations, etc). Concerning implementation, the class The lowest resolution level is the bounding box of the
Robot is derived from the class Object. Robot adds all whole complex object. This level is only defined for
the functions that are necessary to control a robot. For complex objects with more than a sub object, as in
instance joint positioning of the robot (direct kinemat- robots with several links. There are other possible in-
ics), position and orientation of its tool center point termediate resolution levels that can be used, for in-
(inverse kinematics), change of the robot configura- stance the convex hull. It offers a good ratio between
tion, joints overshoot . . . These added functions with resolution and the quantity of triangles, although it
respect an Object are very helpful when a new robot is does not reduce it as drastically as the low resolution
created or used in robotic applications like simulators, levels chosen.
path planners, etc. This optimization is useful in two different situa-
tions. First, in applications where no high precision is
required, for instance when the precision of the OBB
or the convex hull of each link is enough. The second
situation occurs when the different resolution levels
are used in a complementary manner.
3.2 Optimizations
PQP is a generic package that does not use the knowl-
edge of the object’s kinematics. In contrast, RPQ is Figure 2: Robot with three resolution level representation:
oriented to robotics, and the knowledge of robot’s The geometrical model of each link (L3), the OBB of each
kinematics is the base of the optimizations that spe- link (L2) and the whole bounding box(L1).
cialize it. RPQ is designed to answer proximity
queries between two robots or between a robot and When a collision query is performed, a low to high
any kind of rigid object. resolution level list of collision queries is generated.
61
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
62
RPQ: ROBOTIC PROXIMITY QUERIES - Development and Applications
4 APPLICATION
One of the advantages of making RPQ generic (al-
though it is optimized for robots) is that this library
Figure 4: Time necessary to solve a collision query between can be applied in a wide set of applications. In this
two Staubli RX60B robots using the Collision Matrix (CM) paper a robotic assisted surgical application is pre-
or not (NoCM). sented. This application has the aim of helping the
surgeon to make a cut on a rigid tissue, for example
Each one of the optimizations proposed improves in the cranium, avoiding undesired collisions between
the performance of the original library, PQP. How- the patient and the driller. The surgeon guides freely
ever, the combined use of all of them improves even the driller that is held by the robot acting in a pas-
more the global performance of the application. sive mode as seen in Fig. 6, allowing all movements
The complete algorithm with all three optimiza- except those which produce undesired collisions.
tions is shown in Fig. 5. First of all, a query colli- The system is composed by a Staubli RX60B
sion between the whole bounding box of both robots robotic arm and a driller. Between the robot and the
63
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
64
RPQ: ROBOTIC PROXIMITY QUERIES - Development and Applications
information, the system generates a shield that covers have to be parametrized, (2) and (3). There are
the patient while it adapts perfectly to the target area some restrictions regarding them in order to make
defined by the surgeon, as shown in Fig. 8. the surface easy and intuitive.
The proposed behaviour is achieved by the navi-
gation algorithm exposed in chapter 4.1. The system - i (t) and o (t), must be parametrized radially,
gives the surgeon the confidence of knowing that the from an inner point, with constant radial veloc-
robot will never let him approach the patient in a non- ity, in order to avoid self intersections of the
desired area. However, while the surgeon does not surface, as in Fig. 9 a) and b).
attempt to cross the shield, the reobot can be moved - The polygon defined by i (t), must be star-
freely. shaped from the parametrization origin, in or-
der to avoid self intersections of the surface, as
4.2.2 Shield Generation in Fig. 9 c) and d).
- If i (t) defines a non star-shaped polygon a pre-
The problem here is to generate a surface that con- vious step must be done. An adaptation disc be-
nects the inner polygonal curve defined by the sur- tween the polygon and its convex hull is needed
geon with an outer curve. The connection between before constructing the shield, so that the latter
them is done in a smooth way, as Fig. 8 illustrates. can be parametrized radially from a suitable in-
ner point, as in Fig. 10.
65
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
4.2.3 Cutting Aid This is a really important point taking into account
that they are much more time consuming. There are
Besides the shield generated, another virtual object is cases where low resolution queries do not solve the
proposed in order to aid the surgeon to carry out the whole collision query. This increases the computation
cut with great accuracy. It consists of an inner cover time. However, choosing a suitable order for check-
that prevents the driller from escaping the perimeter ing collisions helps to find them in a quicker manner.
of the shape defined. The precomputation of impossibilities of collision be-
Since (2) has the shape of the cut to be done, we tween different objects (Collision Matrix) increases
define bi (t) as an under scaled version of i (t). bi (t) the performance of the system in case of having ob-
has the same shape as i (t) but its sides are placed at jects with restricted mobility in the workspace.
a distance ∆x from i (t) sides, being ∆x the desired The combined use of optimizations generate good
width for the cut. results in workspaces shared by at least two robots
Therefore, a new shield is generated, sb(u, v), hav- and objects.
ing a semisphere shape, with bi (t) as its equator, RPQ has a wide range of applicability. RQP li-
parametrized by (5). brary is not only useful for proximity queries but has
also proved to be a good tool for surface navigation
and virtual representations, due to its ability to intro-
sb(u, v) = duce virtual objects in the shared workspace. The vir-
= b cos2 (v) cos (u) + sin2 (v)bix (u) sin (v),
H tual fixtures developed in the paper are examples of
how RPQ can be used to modify robot’s behaviour.
b cos2 (v) sin (u) + sin2 (v)biy (u) sin (v),
H
As proved in the application presented, RPQ is not
b cos (v) u ∈ 0..2π v ∈ 0.. π
H (5) only useful for developers of robotic applications, but
2 also for users of robotic applications, i.e. surgeons
that require new robotic tools for improving surgical
procedures.
5 CONCLUSION
This paper presents the development of RPQ, a prox-
REFERENCES
imity queries library optimized for applications where Bergen, G. V. D. (2002). Solid collision detection library
robots share a common workspace and interact with users guide.
objects. Due to the amount of collision detection B.Geiger (2000). Real-time collision detection and re-
packages, RPQ is built above a generic collision pack- sponse for complex environments. In International
age, PQP. It is the generic collision package that better Conference on Computer Graphics. IEEE Computer
fits RPQ purposes. Society.
The goal of developing RPQ was to fill an exist- Giralt, X. and Hernansanz, A. (2006). Optimization of
ing gap in computer tools for robotic applications, proximity queries in robotic environments. In AVR
where robots interact with objects in their environ- - 2es Jornades UPC de Recerca en Automtica, Visio i
Robotica (in catalan).
ment. Three optimizations have been performed to a
generic collision library: working with different reso- Kim, Y., Lin, M., and Manocha, D. (2002). Deep: Dual-
space expansion for estimating penetration depth be-
lution levels of representation, the use of a weighted
tween convex polytopes. In International Conference
matrix for choosing the best order for collision check- on Robotics and Automation. IEEE.
ing and the definition of a binary matrix that deter-
S.Ehmann and Lin, M. (2000). Accelerated proxim-
mines the possibility of collision between objects. ity queries between convex polyhedra by multilevel
RQP has been validated in different applications such voronoi marching. Technical report, Department of
as multirobot collision avoidance, virtual robot con- Computer Science, University of North Carolina.
troller and surface navigation. S.Ehmann and Lin, M. (2001). Accurate and fast proximity
As expected, optimizations improve the time per- queries between polyhedra using convex surface de-
formance of the system, although this improvement is composition. In Eurographics, volume 3.
highly application dependent. Stanisic, Z., Jackson, E., and Payandeh, S. (1996). Virtual
The introduction of different levels of resolution fixtures as an aid for teleoperation. In 9th Canadian
in the geometric models of the objects and robots gen- Aeronautics and Space Institute Conference.
erally decreases the computational time for collision UNC (1999). Pqp - a proximity query package by research
checking. The use of bounding boxes decreases dras- group on modeling, physically-based simulation and
applications.
tically the number of high resolution queries needed.
66
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL
VEHICLES COOPERATION
Keywords: 3-D Path Planning, Evolutionary Algorithms, Navigation, UAV cooperation, B-Splines.
Abstract: We suggest an evolutionary based off-line/on-line path planner for cooperating Unmanned Aerial Vehicles
(UAVs) that takes into account the environment characteristics and the flight envelope and mission
constraints of the cooperating UAVs. The scenario under consideration is the following: a number of UAVs
are launched from the same or different known initial locations. The main issue is to produce 3-D
trajectories that ensure a collision free operation with respect to mission constraints. The path planner
produces curved routes that are represented by 3-D B-Spline curves. Two types of planner are discussed:
The off-line planner generates collision free paths in environments with known characteristics and flight
restrictions. The on-line planner, which is based on the off-line one, generates collision free paths in
unknown static environments, by using acquired information from the UAV’s on-board sensors. This
information is exchanged between the cooperating UAVs in order to maximize the knowledge of the
environment. Both off-line and on-line path planning problems are formulated as optimization problems,
with a Differential Evolution algorithm to serve as the optimizer.
67
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
using straight line segments, connecting successive position and the final destination. Both path
way points. In the case of partially known or planning problems are formulated as optimization
dynamic environments a feasible and safe trajectory (minimization) problems, where specially
was planned off-line by the EA and the algorithm constructed functions take into account mission and
was used on-line whenever unexpected obstacles cooperation objectives and constraints, with a
were sensed (Smierzchalski, 1999), (Smierzchalski differential evolution algorithm to serve as the
and Michalewicz, 2000). EAs have been also used optimizer.
for solving the path-finding problem in a 3-D The rest of the chapter is organized as follows:
environment for underwater vehicles, assuming that section 2 contains B-Spline and differential
the path is a sequence of cells in a 3-D grid evolution algorithms fundamentals. The off-line path
(Sugihara and Yuh, 1997). planner will be briefly discussed in section 3.
In (Nikolos et al., 2003) an EA based framework Section 4 deals with the concept of cooperating
was utilized to design an off-line / on-line path UAV on-line path planning using differential
planner for UAVs, which calculates a curved path evolution. The problem formulation is described,
line represented by B-Spline curves in a 3-D including assumptions, objectives, constraints, cost
environment. The coordinates of the B-Spline function definition and path modeling. Simulations
control points serve as design variables. For both results are presented in section 5, followed by
off-line and on-line planners, the problem is discussion and conclusions in section 6.
formulated as an optimization one. Constraints are
formulated using penalty functions.
The work in this paper is the outgrowth of the one 2 DIFFERENTIAL EVOLUTION
presented in (Nikolos et al., 2003) for the case of OF B-SPLINE PATHS
multiple and cooperating UAVs. The scenario
considered here is the following: a number of UAVs 2.1 Path Modelling using B-Splines
are launched from the same or different known
initial locations with predefined initial directions. Straight-line segments that connect a number of
The main issue is to produce 3-D trajectories, waypoints have been used in the past to model UAV
represented by 3-D B-Spline curves, which connect paths in 2D or 3D space (Moitra, 2003), (Zheng et
the initial locations with a single destination location al., 2005). However, these simplified paths cannot
and ensure a collision free operation with respect to be used for an accurate simulation of UAV’s flight,
mission constraints. unless a large number of waypoints is adopted.
Two types of path planner are discussed: The off- Furthermore, if an optimization procedure is used,
line planner generates collision free paths in the number of design variables explodes, especially
environments with known characteristics and flight if cooperating flying vehicles are considered. As a
restrictions. The on-line planner, being an extension result, the computation time becomes impractical for
of the off-line one and based on the ideas presented real world applications.
in (Nikolos et al., 2003) was developed to generate B-Spline curves have been used in the past for
collision free paths in unknown environments. The trajectory representation in 2-D (Alfaro and Garcia,
knowledge of the environment is gradually acquired
1988) or in 3-D environments (Nikolos et al., 2003),
through the on-board sensors that scan the area
(Nikolos et al., 2001). Their parametric construction
within a certain range from each UAV. This
information is exchanged between the cooperating provides the ability to produce non-monotonic
UAVs in order to maximize the sensors curves, like the trajectories of moving objects. If the
effectiveness. The on-line planner rapidly generates number of control points of the corresponding curve
a near optimum path for each vehicle that will guide is n+1, with coordinates (x0, y0, z0) ,…, (xn, yn, zn),
the vehicle safely to an intermediate position within the coordinates of the B-Spline curve may be written
the known territory, taking into account the mission as:
and cooperation objectives and constraints. The n
process is repeated until the corresponding final x (u ) = ∑x i ⋅ N i , p (u ) , (1)
position is reached by an UAV. Then, each one of i=0
68
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION
n
analytical description of the algorithm’s structure is
y (u ) = ∑
i=0
yi ⋅ N i , p (u ) , (2) presented.
Given a cost function f ( X ) :
n param
→ ,
the optimization target is to minimize the value of
n this cost function by optimizing the values of its
z (u ) = ∑z
i=0
i ⋅ N i, p (u ) , (3) parameters (design variables), that is
the blending functions of the curve and p is its where X denotes the vector composed of nparam cost
degree, which is associated with curve’s smoothness function parameters (design variables). These
(p+1 being its order). Higher values of p correspond parameters take values between specific upper and
to smoother curves (Farin, 1988). lower bounds, as follows:
The blending functions are defined recursively in (L ) (U ) (8)
xj ≤ xj ≤ xj , j = 1, … , n p a ra m
terms of a knot vector U={u0,…, um}, which is a
non-decreasing sequence of real numbers, with the The DE algorithm implements real encoding for
most common form being the uniform non-periodic the values of the objective function’s variables. In
one, defined as: order to obtain a starting point for the algorithm, an
initialization of the population takes place. The
⎧ 0 if i < p +1
⎪ initialization (for G = 1 ) is established by randomly
ui = ⎨ i − p if p +1 ≤ i ≤ n (4) assigning values to the parameters j of each
⎪ n − p + 1 if n < i.
⎩ i member of the population, within the given
boundaries
The blending functions Ni,p are computed using the
knot values defined above, as: 1
( U L L
)
xi(, j) = r ⋅ x(j ) − x(j ) + x(j ) , i = 1,…, npop , j = 1,…, nparam (9)
⎧1 if u i ≤ u < u i +1
N i ,0 ( u ) = ⎨ (5) where r is a uniformly distributed random value
⎩0 otherw ise ,
within range [0, 1]. DE’s mutation operator is based
on a triplet of randomly selected different
u − ui ui + p+1 − u individuals. For each i member of the population, a
Ni, p ( u ) = Ni, p−1 ( u ) + Ni+1, p−1 ( u ) . (6)
ui + p − ui ui + p+1 − ui+1 new parameter vector Vi(G) is generated by adding
the weighted difference vector between the two
members of the triplet to the third one (the donor).
If the denominator of the two fractions in (6) is That is:
zero, that fraction is defined to have zero value.
Parameter u varies between 0 and (n-p+1) with a
Vi
(G ) (G )
= X r 3 + F ⋅ X r1
i ( (G )
i
− X r2
(G )
i ),
constant step, providing the discrete points of the B-
Spline curve. The sum of the values of the blending
G G
(
V i ( ) = v i(,1 ) , v i(, 2 ) , … , v i(, n )
G G
p ara m ), (10)
69
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Xi
(G +1 )
⎧U (G + 1 )
⎪ i
= ⎨
(
if f U i
(G + 1 )
) ≤ f (X ( ))
i
G
(13)
length and a safety distance from the ground. The
cost function to be minimized is defined as:
⎪ X (G ) o th e r w is e
⎩ i
5
70
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION
71
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
segment of one UAV lies close to the final point for the corresponding UAV and the final
destination. Then the rest UAVs turn into the off- destination and c is a constant. This potential allows
line process, in order to reach the target using B- for selecting curved paths that bypass obstacles lying
Spline curves that pass through the scanned terrain. between the starting and ending point of each B-
The computation of intermediate path segments Spline curve (Nikolos et al., 2003).
for each UAV is formulated as a minimization Term f6 is similar to term f5 but it corresponds to
problem. The cost function to be minimized is a potential field between the current starting point
formulated as the weighted sum of eight different (of the corresponding path segment) and the final
terms: target.
8 Term f7 is designed to prevent UAVs from being
f = ∑
i =1
wi fi , (16) trapped in small regions and to force them move
towards unexplored areas. In order to help the UAV
leave this area, term f7 repels it from the points of
where wi are the weights and fi are the corresponding the already computed path lines (of all UAVs).
terms described below. Furthermore, if a UAV is wandering around to find a
Terms f1, f2, and f3 are the same with terms f1, f3, path that will guide it to its target, the UAV will be
and f4 respectively of the off-line procedure. Term f1 forced to move towards areas not visited before by
penalizes the non-feasible curves that pass through this or other UAVs. This term has the form:
the solid boundary. Term f2 is designed to provide
N po
flight paths with a safety distance from solid 1 1 ,
boundaries. Only already scanned ground points are f7 =
N po ∑r k
(19)
considered for this calculation. Term f3 is designed k =1
to provide B-Spline curves with control points inside where Npo is the number of the discrete curve points
the pre-specified working space. produced so far by all UAVs and rk is their distance
Term f4 is designed to provide flight segments from the last point of the current curve segment.
with their last control point having a safety distance Term f8 represents another potential field, which
from solid boundaries. This term was introduced to
is developed in a small area around the final target.
ensure that the next path segment that is going to be
computed will not start very close to a solid When the UAV is away from the final target, the
boundary (which may lead to infeasible paths or term is given a constant value. When the UAV is
paths with abrupt turns). The minimum distance Dmin very close to the target the term’s value decreases
from the ground is calculated for the last control proportionally to the square of the distance between
point of the current path segment. Only already the last point of the current curve and the target.
scanned ground points are considered for this Weights wi in (16) are experimentally determined,
calculation. Term f4 is defined as: using as criterion the almost uniform effect of all the
terms, except the first one. Term w1f1 has a dominant
( ) , (17)
2
f 4 = d safe D m in
role, in order to provide feasible curve segments in a
where dsafe represents a safety distance from the few generations, since path feasibility is the main
solid boundary. concern.
The value of term f5 depends on the potential
field strength between the initial point of the UAVs
path and the final target. This potential field between 5 SIMULATION RESULTS
the two points is the main driving force for the
gradual development of each path line in the on-line The same artificial environment was used for all test
procedure. The potential is similar to the one cases considered here. The artificial environment is
between a source and a sink, defined as: constructed within a rectangle of 20x20 (non-
r 2 + c ⋅ r0 , dimensional lengths). The (non-dimensional) radar’s
Φ = ln (18) range for each UAV was set equal to 4. The safety
r1 + c ⋅ r0
distance from the ground was set equal to dsafe=0.25.
where r1 is the distance between the last point of the The (experimentally optimized) settings of the DE
current curve and the initial point for the algorithm during the on-line procedure were as
corresponding UAV, r2 is the distance between the follows: population size = 20, F = 0.6, Cr = 0.45,
last point of the current curve and the final number of generations = 70. For the on-line
destination, r0 is the distance between the initial procedure we have two free-to-move control points,
resulting in 6 design variables. The corresponding
72
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION
settings during the off-line procedure were as Figure 5. The starting point for the first and second
follows: population size = 30, F = 0.6, Cr = 0.45, UAVs are the same as in case 1, while the third
number of generations = 70. For the off-line UAV is near the middle of the left side of the terrain.
procedure eight control points were used to construct
each B-Spline curve (including the initial (k=0) and
the final one (k=7). These correspond to five free-to-
move control points, resulting in 15 design variables.
All B-Spline curves have a degree p equal to 3. All
experiments have been designed in order to search
for path lines between “mountains”. For this reason,
an upper ceiling for flight height has been enforced
in the optimization procedure, by explicitly
providing an upper boundary for the z coordinates of
all B-Spline control points.
73
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
6 CONCLUSIONS
Figure 6: Path lines of three distant UAVs when the first A path planner for a group of cooperating UAVs
one (blue line) reaches the target.
was presented. The planner is capable of producing
smooth path curves in known or unknown static
environments. Two types of path planner were
presented. The off-line one generates collision free
paths in environments with known characteristics
and flight restrictions. The on-line planner, which is
based on the off-line one, generates collision free
paths in unknown environments. The path line is
gradually constructed by successive, smoothly
connected B-Spline curves, within the gradually
scanned environment. The knowledge of the
environment is acquired through the UAV’s on-
board sensors that scan the area within a certain
range from each UAV. This information is
exchanged between the cooperating UAVs; as a
Figure 7: The final paths of test case 3. result, each UAV utilizes the knowledge of a larger
region than the one scanned by its own sensors. The
on-line planner generates for each vehicle a smooth
74
EVOLUTIONARY PATH PLANNING FOR UNMANNED AERIAL VEHICLES COOPERATION
path segment that will guide the vehicle safely to an Gomez Ortega, J., and Camacho, E.F., 1996. Mobile
intermediate position within the known territory. Robot navigation in a partially structured static
environment, using neural predictive control. Control
The process is repeated for all UAVs until the
Eng. Practice, 4, 1669-1679.
corresponding final position is reached by an UAV. Kwon, Y.D., and Lee, J.S., 2000. On-line evolutionary
Then, the rest vehicles turn into the off-line mode in optimization of fuzzy control system based on
order to compute path lines consisting of a single B- decentralized population. Intelligent Automation and
Spline curve that connect their current positions with Soft Computing, 6, 135-146.
the final destination. These path lines are enforced to Nikolos, I.K., Valavanis, K.P., Tsourveloudis, N.C.,
lie within the already scanned region. Both path Kostaras, A., 2003. Evolutionary Algorithm based
offline / online path planner for UAV navigation.
planners are based on optimization procedures, and IEEE Transactions on Systems, Man, and Cybernetics
specially constructed functions are used to encounter – Part B: Cybernetics, 33, 898-912.
the mission and cooperation objectives and Michalewicz, Z., 1999. Genetic Algorithms + Data
constraints. A differential evolution algorithm is Structures = Evolution Programs. Springer
used as the optimizer for both planners. No Publications.
provision is taken by the on-line planner for Smierzchalski, R., 1999. Evolutionary trajectory planning
of ships in navigation traffic areas. Journal of Marine
collision avoidance between the cooperating Science and Technology, 4, 1-6.
vehicles; this can be encountered by an on board Smierzchalski, R., and Michalewicz Z., 2000. Modeling of
controller for each vehicle. ship trajectory in collision situations by an
evolutionary algorithm. IEEE Transactions on
Evolutionary Computation, 4, 227-241.
Sugihara, K., and Yuh, J., 1997. GA-based motion
REFERENCES planning for underwater robotic vehicles. UUST-10,
Durham, NH.
Gilmore, J.F., 1991. Autonomous vehicle planning Moitra, A., Mattheyses, R.M., Hoebel, L.J., Szczerba, R.J.,
analysis methodology. In Proceedings of the Yamrom, B., 2003. Multivehicle reconnaissance route
Association of Unmanned Vehicles Systems and sensor planning. IEEE Transactions on Aerospace
Conference. Washington, DC, 503–509. and Electronic Systems, 37, 799-812.
Zheng, C., Li, L., Xu, F., Sun, F., Ding, M., 2005. Martinez-Alfaro H., and Gomez-Garcia, S. 1988. Mobile
Evolutionary Route Planner for Unmanned Air robot path planning and tracking using simulated
Vehicles. IEEE Transactions on Robotics, 21, 609- annealing and fuzzy logic control. Expert Systems with
620. Applications, 15, 421-429.
Uny Cao, Y., Fukunaga, A.S., Kahng, A.B., 1997. Nikolos, I.K., Tsourveloudis, N., and Valavanis, K.P.,
Cooperative Mobile Robotics: Antecedents and 2001. Evolutionary Algorithm Based 3-D Path Planner
Directions. Autonomous Robots, 4, 7-27. for UAV Navigation. In Proceedings of the 9th
Mettler, B., Schouwenaars, T., How, J., Paunicka, J., and Mediterranean Conference on Control and
Feron E., 2003. Autonomous UAV guidance build-up: Automation, Dubrovnik, Croatia.
Flight-test Demonstration and evaluation plan. In Farin, G., 1988. Curves and Surfaces for Computer Aided
Proceedings of the AIAA Guidance, Navigation, and Geometric Design, A Practical Guide. Academic
Control Conference, AIAA-2003-5744. Press.
Beard, R.W., McLain, T.W., Goodrich, M.A., Anderson, Price, K.V., Storn, R.M., Lampinen, J.A., 2005.
E.P., 2002. Coordinated target assignment and Differential Evolution, a Practical Approach to Global
intercept for unmanned air vehicles. IEEE Optimization. Springer-Verlag, Berlin Heidelberg.
Transactions on Robotics and Automation, 18, 911- Marse, K. and Roberts, S.D., 1983. Implementing a
922. portable FORTRAN uniform (0,1) generator.
Richards, A., Bellingham, J., Tillerson, M., and How., J., Simulation, 41-135.
2002. Coordination and control of UAVs. In
Proceedings of the AIAA Guidance, Navigation and
Control Conference, Monterey, CA.
Schouwenaars, T., How, J., and Feron, E., 2004.
Decentralized Cooperative Trajectory Planning of
multiple aircraft with hard safety guarantees. In
Proceedings of AIAA Guidance, Navigation, and
Control Conference and Exhibit, AIAA-2004-5141.
Flint, M., Polycarpou, M., and Fernandez-Gaucherand, E.,
2002. Cooperative Control for Multiple Autonomous
UAV’s Searching for Targets. In Proceedings of the
41st IEEE Conference on Decision and Control.
75
A NOVEL STRATEGY FOR EXPLORATION WITH MULTIPLE
ROBOTS
Abstract: The present paper develops a novel strategy for the exploration of an unknown environment with a multi-
robot system. Contrary to most exploration problems, the topographical properties of the space need not be
mapped. The algorithm we propose is inspired by methods used for complete coverage of an area, where all
free space has to be physically covered by all robots. In the present paper it is required that the entire free
space is covered by the sensors of the robots, with a certainty of 100%. This weaker requirement enables us
to scan more space in less time, compared to complete coverage algorithms. Moreover the shape of the robot
formation adjusts itself to situations where obstacles, narrow spaces, etc. have to be passed. Communication
between the robots is restricted to line-of-sight and to a maximum interdistance between robots. A direct
application of the algorithm is mine field clearance.
76
A NOVEL STRATEGY FOR EXPLORATION WITH MULTIPLE ROBOTS
77
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
The lower bound on st in (1) ensures that the areas and N are allocated the task to follow the boundaries
sensed for goal targets of neighboring robots partially of the strip at a constant distance at the constant ve-
overlap, as illustrated by Figure 1. locity v. They can be considered leaders of the robot
In a second step, we impose a preferred formation group. These two leader robots do not try to stay in
on the robot group as follows: each robot keeps a con- the preferred formation, i.e. the condition on the cor-
stant distance d < sr with its neighbors and observes responding angles αN , β1 is removed, and they do not
them at preferred angles with respect to its forward maintain a fixed interdistance d with their neighbors.
direction. With notation from Figure 2, these angles The remaining robots, however, still maintain the pre-
are defined by: ferred formation. When no obstacles are present in
( the strip, the robots scan the strip for goal targets in
π/4, i even, the above defined preferred (rigid) formation moving
αi =
3π/4, i odd, at a velocity v.
( (2)
−π/4, i even,
βi =
−3π/4, i odd.
Furthermore each robot is equipped with a compass.
Together with the above defined angles, the forward
direction of each robot (the same for all robots) is im-
posed at the initialization of the algorithm. The above
conditions imply a robot formation with zigzag shape,
as shown in Figure 3. Once the preferred formation is
attained the scanning algorithm is started.
78
A NOVEL STRATEGY FOR EXPLORATION WITH MULTIPLE ROBOTS
Figure 4: A group of 10 robots passing an obstacle. Only robots 5, 6 and 7 apply wall-following around the obstacle during the
maneuver. This is shown in the second and third picture. The first picture shows the formation at the moment of encountering
the obstacle. The fourth picture presents the formation after having completely past the obstacle.
dex i tries to reach the following coordinates: Remark. It may occur that a robot cannot reach its
(
(xi−1 + d sin π4 , yi−1 + (−1)i d cos π4 ), if i ∈ S1 , desired position because it is located too far away
π i π from its present position. Then the robot simply rides
(xi+1 − d sin 4 d, yi+1 + (−1) d cos 4 ), if i ∈ S2 . towards the desired position at the maximum allowed
(3) velocity, trying to catch up.
These coordinates are considered with respect to a
right-handed (x, y)-frame with the y-axis parallel to
the strip boundary, and directed into the driving di- Remark. If the number of robots N ∗ in the
rection of the leader robots. Each robot still tries to (sub)group is not even, then the indices of the robots
stay in the preferred formation, but in order to do so where the robot group splits are ⌊N ∗ /2⌋ and ⌈N ∗ /2⌉,
only takes information of one neighbor into account. where ⌊.⌋ is the function giving the largest integer less
Moreover, the condition on the relative position be- than or equal to its argument, and similarly, ⌈.⌉ gives
tween the neighboring robots N/2 and N/2 + 1 is sus- the smallest integer greater than or equal to its argu-
pended, which will lead to the splitting of the robot ment.
group. Notice that indifferent of the robot that ob-
serves the obstacle first, the group will split between 2.3 Multiple Obstacles
robots N/2 and N/2 + 1. This choice is motivated in
Section 2.4. Suppose the robot group is already split into two sub-
Consider the situation for robot i where one of the groups and a robot in one of the subgroups encounters
following occurs: a second obstacle. The above obstacle avoidance al-
• The desired position (3) cannot be reached, gorithm can be made modular in order to solve this
problem. A group can only split if both robots at the
• The obstacle is blocking the straight path between extremities of the group are leader robots, similar to
the present position of robot i and its desired po- the initial configuration. Assume group S1 encoun-
sition, ters a second obstacle. Robot N/2 is then turned into
• Robot i does not detect its neighbor necessary to a leader robot. Instead of following a strip boundary it
determine its preferred position. is ordered to follow the edge of the first obstacle, un-
If this situation occurs, the robot receives the order to til it meets its neighbor N/2 + 1 or until group S1 has
follow the edge of the obstacle, keeping the obstacle past the second obstacle. In the latter case, robot N/2
on its right if i ∈ S1 , or its left if i ∈ S2 . This be- takes on its role as a follower of robot N/2 − 1 again,
havior is called wall-following. The robot continues in the former case it turns into a follower of N/2 + 1.
to wall-follow around the obstacle until none of the The group S1 is split into the middle and the algo-
above conditions is satisfied. After that, it assumes its rithm described in the previous section is performed
desired position again. If all robots have past the ob- with leader robots 1 and N/2. In order for each robot
stacle, each robot is again able to reach its desired po- to know which role to assume, it keeps track of how
sition in the preferred formation. In particular, robots many times its subgroup is split.
N/2 and N/2 + 1 will meet again in their desired rel- Clearly, the number of times this splitting can be
ative position. When this happens a signal is sent to repeated is limited. We require a subgroup to consist
all robots with the message that the group has past the of at least 3 robots: two leader robots on each side
obstacle. of the group, plus at least one robot in the middle at-
A simulation of the above described algorithm is tempting to follow both leaders while maintaining the
presented in Figure 4 with N = 10 and m = 6. formation structure. The middle robot ensures that the
79
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
discs of sensed area of the separate robots overlap for sensor range of each robot is limited and the robots
all time instants. operate in an unknown environment, the shape of
each obstacle is unknown. To guarantee that the area
2.4 Adaptation of the Basic Algorithm around the obstacle is fully covered by the sensors, we
have to supply a sufficient number of robots to both
Consider a worst case scenario as sketched in Fig- sides of the obstacle. For instance, when the shape
ure 5. The robot formation splits into two subgroups, of the obstacle in Figure 5 is known a priori, one can
and the group on the left hand side moves through decide to send more than half of the robots to the left
the gap between the obstacle and the left boundary of of the obstacle. Consider the case where the obstacle
the scanning strip. Once past the gap the robots in is reflected with respect to the vertical axis. In this
this subgroup have to spread out, since the distance case sending less than half of the robots to the right
between the obstacle and the left boundary increases would lead to uncovered areas or an error message in
and we want to sense all of free space between the the algorithm. With limited sensor information it is
boundary and the obstacle. The obstacle has such a not possible to discriminate between the situation of
shape that the robots have to spread out across almost Figure 5 and its reflected version. This leads us to
the entire width of the scanning strip before meet- always split the group into two equal parts.
ing a robot member of the right subgroup. The basic An alternative solution for this problem could be
algorithm is modified as follows. When robot N/2 a more intelligent algorithm where individual robots
(resp. N/2 + 1) encounters the obstacle, it is now pro- transmit more sensor data to the others in order to find
grammed to follow the obstacle’s edge until it meets possible bounds on the size of the encountered obsta-
its neighbor N/2 + 1 (resp. N/2). Additionally, it en- cle. If the obstacle is small, a better way to split is
sures that its neighbor N/2 − 1 (resp. N/2 + 1) stays right at the place where the obstacle is encountered.
in its detection range by sending a signal to the other The robots do not have to deviate much from the pre-
robots of its subgroup to increase the angle π/4 of (3). ferred formation, which decreases the probability on
This changes the desired position of each robot in the error messages from deforming the robot configura-
subgroup resulting in a stretching out of the group, tion. This idea may be incorporated in future work.
as far as necessary. The above modified algorithm
2.5 Obstacles Located on the Boundary
between Two Strips
Throughout the paper the obstacles are assumed to
have a convex shape, in order to avoid robot groups
getting stuck in a dead end. However, there is one
case of dead ends we cannot avoid by the above as-
sumption. A dead end can occur when an obstacle is
located on the boundary between two strips, as pre-
sented on the left hand side of Figure 6. Since the
robots have limited sensor information, they cannot
Figure 5: A depiction of the worst case scenario in the al- conclude a priori whether an encountered obstacle
gorithm. stretches out into a neighboring strip or not. We are
forced to let the algorithm run until a dead end is ob-
justifies our choice of initial formation and width of served.
the scanning strip. If we had naively chosen a value
(N − 1)d as the width of a scanning strip, the initial
preferred robot formation would be able to span this
entire distance, namely by forming a line with the an-
gles defined in Section 2.1 equal to αi = −βi = π/2.
However, one subgroup, consisting of only half of the
number of robots, would not be able to span this dis-
tance, resulting in either an error message from the al-
gorithm or in unscanned areas, if a situation described Figure 6: Two situations where an obstacle is located on
in Figure 5 was encountered. the boundary between strips. On the left hand side a dead
Closely related to this observation is the choice to end situation arises; on the right hand side one of the leader
split the robot group precisely in the middle. Since the robots guides the group around the obstacle.
80
A NOVEL STRATEGY FOR EXPLORATION WITH MULTIPLE ROBOTS
Before tackling the dead end problem, let us treat 2.6 The Transition from One Strip to
the case presented on the right hand side of Figure 6, the Next
which does not lead to a dead end situation. Con-
sider an (x, y)-frame with the y-axis parallel to the
When the robot group reaches the end of a scanning
strip boundary, and directed into the driving direction
strip, it needs to be transported to the next strip. This
of the leader robots. When the leader robot encoun-
is done in a few easy steps. Consider the situation of
ters the obstacle, the algorithm assigns to this leader
Figure 7. First the right leader changes its behavior
a wall-following procedure around the obstacle. The
into that of a robot in the interior of the formation, i.e.
leader keeps the obstacle either on its right or left (de-
it tries to attain the desired formation. The left leader
pending on its position in the robot formation) while
moves (N/2 − 1)d units to the left perpendicular to
moving into the interior of the strip away from the
the strip boundary. The rightmost robot resumes its
strip boundary. As can be concluded from the picture,
leader role and all robots reverse their forward direc-
the y-coordinate of the leader increases while mov-
tion with respect to the desired direction in the previ-
ing around the obstacle. We wish to keep the veloc-
ous strip. Naturally, every time the end of a strip is
ity component of the leader robot parallel to the strip
reached, the roles of left and right leader alternate, so
boundary equal to v. Since the robot deviates from
that the robot group does not get trapped into a loop
its straight path parallel to the strip boundary, this im-
consisting of two strips.
plies it has to speed up. When the leader reaches the
strip boundary again, it switches back to the original
task of moving parallel to the boundary.
Now consider the left hand side of Figure 6. A
dead end is detected by the algorithm when two con-
ditions are satisfied:
• one of the leader robots cannot move into the de-
sired direction parallel to the strip boundary, be-
cause an obstacle is blocking the way.
• when the leader robot starts wall-following the
obstacle as described above, the value of its y-
coordinate decreases.
As soon as a dead end is observed by the leader robot,
it changes its behavior and stops its wall following al-
gorithm. Instead, it projects its corresponding strip
boundary (N/2 − 1)d/8 units outwards and resumes
the original scanning algorithm with respect to the
new boundary. If the extra width turns out to be insuf-
ficient to guide the robot subgroup around the obsta-
cle outside of the original scanning strip, the bound-
ary is projected a second (third,...) time. This way the
subgroup which was stuck in the dead end is guided
around the obstacle. When both subgroups reestab-
lish contact, the leader robot returns to the original Figure 7: The robot group moves from the end of a scanning
strip boundary. This behavior is faster and easier to strip to the start of the next strip.
implement than a turning-back scenario, where the
subgroup of robots which meets a dead end retraces
it steps to go around the obstacle inside the original
scanning strip. 3 COMPARISON WITH
COMPLETE COVERAGE
Remark. The above situation with a solid wall as ALGORITHMS
strip boundary, forcing a turning-back maneuver, is
precluded.
The algorithm presented in this paper is inspired by
the complete coverage algorithm presented in (Rek-
leitis et al., 2004), which is depicted in Figure 8. The
authors of (Rekleitis et al., 2004) propose the follow-
81
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
ing robot configuration: 2 leader robots, following ary, since the space occupied by the obstacle does not
the strip boundaries, and a number of interior robots, have to be covered. The robot group will proceed
traveling back and forth between the strip boundaries fastest when the shape of the obstacle is such that
physically covering all the free space. Contrary to the there is no space left for the robots to travel back and
algorithm proposed in the present paper, the leader forth between obstacle and strip boundary. Hence, de-
robots maintain line-of-sight contact between each pending on size and shape of the obstacle the robots
other. When an obstacle appears between the two advance with a speed between vmax /6 and vmax . Now,
leaders the line-of-sight contact is lost and the obsta- consider the algorithm of the present paper. Some in-
cle is detected. An appropriate control action is then terior robots perform wall-following around the ob-
taken by splitting the platoon and the algorithm is re- stacles. This implies their path is longer than the path
peated on both sides of the obstacle. The splitting of the leader robots. If the leader robots keep mov-
procedure includes the creation of two extra leader ing at the maximum allowed velocity, those interior
robots, as shown in Figure 8. Remark that the lead- robots will never again be able to reach their desired
ers are allowed to move ahead of the rest of the robot position inside the formation after the obstacle is past.
group and hence group coherence is not maintained Hence, when an obstacle is encountered the leaders
or desired, contrary to our approach. have to take on a velocity v0 which is smaller than
vmax . This velocity v0 is determined as follows. The
middle robots N/2 and N/2 + 1 transmit their posi-
tions via the other robots to their respective leader
robots. The leaders adjust their velocity v0 such that
the difference between their y-coordinate and the y-
coordinate of the corresponding robot N/2 or N/2 + 1
stays at all time within a prespecified bound. The
middle robots only slow down the group significantly
during the first and last stage of their obstacle follow-
ing, i.e. when moving away from or towards the strip
boundary without significantly advancing parallel to
Figure 8: A depiction of the complete coverage algorithm
by Rekleitis et al. it. As soon as there is enough free space ahead of the
middle robots, the subgroup is again allowed to move
parallel to the strip boundary with a speed close to
In the remainder of this section we will compare vmax .
speed of performance of the present algorithm with From the above observations the following is con-
the algorithm of (Rekleitis et al., 2004). In order to cluded. The robot group in the present algorithm
do so, realistic distance values are considered. Chem- slows down to pass an obstacle, but for most of the
ical vapor sensors detecting mines have a range st = time the speed will be close to vmax . The robot group
1.70 m. Obstacles and other robots can be detected by of the complete coverage algorithm speeds up when
laser based sensors with a range of sr = 3.3 m such passing an obstacle, but for most obstacles the algo-
that (1) is satisfied. Assume the robots themselves rithm still requires a robot group moving back and
possess a diameter of 0.3 m and set the fixed interdis- forth between the obstacle and the strip boundary.
tance d between neighboring robots in the preferred This implies that the increased speed will on average
formation equal to sr . With N the number of robots in be closer to vmax /6 than to vmax . Hence, in generic
the group, this yields a strip width of 1.65(N − 2) m. cases, the present algorithm performs faster than the
When no obstacles are encountered, the robots are complete coverage strategy even in the presence of
allowed to move at a preset maximum velocity vmax . obstacles.
In the algorithm of the present paper vmax is directed
parallel to the strip boundary, whereas the interior
robots in (Rekleitis et al., 2004) travel back and forth
inside the strip at vmax . It can be proven that for the 4 CONCLUSIONS
latter case with the values given above the speed of
progress parallel to the strip boundary is vmax /6. The present paper described a novel strategy for
In the presence of obstacles a comparison is more multi-robot exploration of an unknown environment
difficult. First consider the complete coverage algo- with guarantee of total sensor coverage. The algo-
rithm (Rekleitis et al., 2004). As can be concluded rithm we proposed is inspired by methods used for
from Figure 8, in the presence of an obstacle the complete coverage as described in (Rekleitis et al.,
robots will advance faster parallel to the strip bound- 2004). We took advantage of the fact that only com-
82
A NOVEL STRATEGY FOR EXPLORATION WITH MULTIPLE ROBOTS
plete sensor coverage is required. We let the robots Wong, S. and MacDonald, B. (2004). Complete coverage
form a spring-like formation which scans the area in by mobile robots using slice decomposition based on
strips. In the presence of obstacles the formation is natural landmarks. In Proc. Eighth Pacific Rim Inter-
national conference on Artificial Intelligence. Lecture
deformed and split in two in order to circumvent the Notes in Artificial Intelligence., volume 3157, pages
obstacles and to adapt to the varying width of the free 683–692.
space.
Zheng, X., Jain, S., Koenig, S., and Kempe, D. (2005).
Multi-robot forest coverage. In Proceedings of the
IEEE International Conference on Intelligent Robots
ACKNOWLEDGEMENTS and Systems.
REFERENCES
Burgard, W., Moors, M., Stachniss, C., and Schneider, F.
(2005). Coordinated multi-robot exploration. IEEE
Transactions on Robotics, 21(3):376–386.
Choset, H. (2001). Coverage for robotics – a survey of re-
cent results. Annals of Mathematics and Artificial In-
telligence, 31:113–126.
Cortés, J., Martı́nez, S., Karatas, T., and Bullo, F. (2004).
Coverage control for mobile sensing networks. IEEE
Transactions on Robotics and Automation, 20(2):243–
255.
Gage, D. (1995). Many-robots mcm search systems. In
Proceedings of Autonomous Vehicles in Mine Coun-
termeasures Symposium.
Kerr, W., Spears, D., Spears, W., and Thayer, D. (2004).
Two formal gas models for multi-agent sweeping and
obstacle avoidance. In Formal Approaches to Agent-
Based Systems, Third International Workshop, pages
111–130.
Keymeulen, D. and Decuyper, J. (1994). The fluid dynam-
ics applied to mobile robot motion: the stream field
method. In Proceedings of 1994 IEEE International
Conference on Robotics and Automation, pages 378–
385, Piscataway, NJ, USA.
Kong, C. S., Peng, N. A., and Rekleitis, I. (2006). Dis-
tributed coverage with multi-robot system. In Pro-
ceedings of 2006 IEEE International Conference on
Robotics and Automation, pages 2423–2429, Orlando,
Florida, USA.
Kurabayashi, D., Ota, J., Arai, T., and Yosada, E. (1996).
Cooperative sweeping by multiple robots. In Proc.
1996 IEEE International Conference on Robotics and
Automation.
Ota, J. (2006). Multi-agent robot systems as distributed au-
tonomous systems. Advanced engineering informat-
ics, 20:59 – 70.
Rekleitis, I., Lee-Shue, V., New, A. P., and Choset, H.
(2004). Limited communication, multi-robot team
based coverage. In Proc. 2004 IEEE International
Conference on Robotics and Automation.
83
CALIBRATION OF QUASI-ISOTROPIC PARALLEL
KINEMATIC MACHINES: ORTHOGLIDE
Abstract: The paper proposes a novel approach for the geometrical model calibration of quasi-isotropic parallel
kinematic mechanisms of the Orthoglide family. It is based on the observations of the manipulator leg
parallelism during motions between the specific test postures and employs a low-cost measuring system
composed of standard comparator indicators attached to the universal magnetic stands. They are
sequentially used for measuring the deviation of the relevant leg location while the manipulator moves the
TCP along the Cartesian axes. Using the measured differences, the developed algorithm estimates the joint
offsets and the leg lengths that are treated as the most essential parameters. Validity of the proposed
calibration technique is confirmed by the experimental results.
84
CALIBRATION OF QUASI-ISOTROPIC PARALLEL KINEMATIC MACHINES: ORTHOGLIDE
minimizing the residuals between the computed and the calibration accuracy under the measurement
measured values of the active and/or redundant joint noise. Section 4 contains experimental results that
sensors. Adding extra sensors at the usually validate the proposed technique, while Section 5
unmeasured joints is very attractive from summarizes the main contributions.
computational point of view, since it allows getting
the data in the whole workspace and potentially
reduces impact of the measurement noise. However, 2 ORTHOGLIDE MECHANISM
only a partial set of the parameters may be identified
in this way, since the internal sensing is unable to
provide sufficient information for the robot end-
2.1 Manipulator Architecture
effector absolute location.
The Orthoglide is a three degrees-of-freedom
More recently, several hybrid calibration
parallel manipulator actuated by linear drives with
methods were proposed that utilize intrinsic
mutually orthogonal axes. Its kinematic architecture
properties of a particular parallel machine allowing
is presented in Figure 1 and includes three identical
extracting the full set of the model parameters (or
parallel chains, which will be further referred as
the most essential of them) from a minimum set of
“legs”. Each manipulator leg is formally described
measurements. It worth mentioning an innovative
as PRPaR - chain, where P, R and Pa denote the
approach developed by Renaud et al. (2004, 2005)
prismatic, revolute, and parallelogram joints
who applied the vision-based measurement system
respectively (Figure 2). The output machinery (with
for the PKM calibration from the leg observations.
a tool mounting flange) is connected to the legs in
In this technique, the source data are extracted from
such a manner that the tool moves in the Cartesian
the leg images, without any strict assumptions on the
space with fixed orientation (translational motions).
end-effector poses. The only assumption is related to
the manipulator architecture (the mechanism is
actuated by linear drives located on the base).
However, current accuracy of the camera-based
measurements is not high enough yet to apply this
method in industrial environment.
This paper extends our previous research
(Pashkevich et al., 2006) and focuses on the
calibration of the Orthoglide-type mechanisms,
which is also actuated by linear drives located on the
manipulator base and admits technique of Renaud et
al. (2004, 2005). But, in contrast to the known
works, our approach assumes that the leg location is
observed for specific manipulator postures, when the
tool-center-point moves along the Cartesian axes. Figure 1: The Orthoglide kinematic architecture.
For these postures and for the nominal Orthoglide (© CNRS Photothèque / CARLSON Leif)
geometry, the legs are strictly parallel to the
corresponding Cartesian planes. So, the deviation of The Orthoglide workspace has a regular, quasi-
the manipulator parameters influences on the leg cubic shape. The input/output equations are simple
parallelism that gives the source data for the and the velocity transmission factors are equal to
parameter identification. The main advantage of this one along the x, y and z direction at the isotropic
approach is the simplicity and low cost of the configuration, like in a conventional serial PPP
measuring system that can avoid using computer machine (Wenger et al., 2000; Chablat and Wenger,
vision and is composed of standard comparator 2003). The latter is an essential advantage of the
indicators attached to the universal magnetic stands. Orthoglide architecture, which also allows referring
The remainder of the paper is organized as it as the “quasi-isotropic” kinematic machine.
follows. Section 2 describes the manipulator Another specific feature of the Orthoglide
geometry, its inverse and direct kinematics, and also mechanism, which will be further used for the
contains the sensitivity analysis of the leg calibration, is displayed during the end-effector
parallelism at the examined postures with respect to motions along the Cartesian axes. For example, for
the geometrical parameters. Section 3 focuses on the the x-axis motion in the Cartesian space, the sides of
parameter identification, with particular emphasis on the x-leg parallelogram must also retain strictly
parallel to the x-axis. Hence, the observed deviation
85
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
of the mentioned parallelism may be used as the data 2.3 Basic Equations
source for the calibration algorithms.
Since the kinematic parallelograms are admitted to
Ai be non-identical, the kinematic model developed in
in our previous papers (Pashkevich et al., 2005,
ρi 2006) should be extended to describe the
ii
manipulator with different length of the legs.
Under the adopted assumptions, similar to the
Bi equal-leg case, the articulated parallelograms may be
ji replaced by the kinematically equivalent bar links.
Besides, a simple transformation of the Cartesian
Li
d coordinates (shift by the vector (r, r, r)T, see Figure
Ci
2) allows to eliminate the tool offset. Hence, the
Orthoglide geometry can be described by a
r simplified model, which consists of three rigid links
connected by spherical joints to the tool centre point
P (TCP) at one side and to the allied prismatic joints at
Figure 2: Kinematics of the Orthoglide leg. another side. Corresponding formal definition of
each leg can be presented as PSS, where P and S
For a small-scale Orthoglide prototype used for denote the actuated prismatic joint and the passive
the calibration experiments, the workspace size is spherical joint respectively.
approximately equal to 200×200×200 mm3 with the Thus, if the origin of a reference frame is located
velocity transmission factors bounded between 1/2 at the intersection of the prismatic joint axes and the
and 2 (Chablat & Wenger, 2003). The legs nominal x, y, z-axes are directed along them, the manipulator
geometry is defined by the following parameters: kinematics may be described by the following
Li = 310.25 mm, d = 80 mm, r = 31 mm where Li, d equations
are the parallelogram length and width, and r is the
distance between the points Ci and the tool centre ⎡( ρ x + Δρ x ) + cosθ x cos β x Lx + e⎤
⎢ ⎥
point P (see Figure 2). p=⎢ sin θ x cos β x Lx ⎥; (1a)
⎢⎣ − sin β x Lx ⎥⎦
2.2 Modelling Assumptions
⎡ − sin β y L y ⎤
Following previous studies on the PKM accuracy ⎢ ⎥
(Wang & Massory, 1993; Renaud et al., 2004), the p = ⎢( ρ y + Δρ y ) + cosθ y cos β y L y + e⎥ ; (1b)
⎢ ⎥
influence of the joint defects is assumed negligible
⎣⎢ sin θ y cos β y L y ⎥⎦
compared to the encoder offsets and the link length
deviations. This validates the following modelling ⎡ sin θ z cos β z Lz ⎤
assumptions: ⎢ ⎥
p=⎢ − sin β z Lz ⎥, (1c)
(i) the manipulator parts are supposed to be rigid
bodies connected by perfect joints; ⎢⎣( ρ z + Δρ z ) + cosθ z cos β z Lz + e⎥⎦
(ii) the manipulator legs (composed of a prismatic where p = (px, py, pz)T is the output vector of the TCP
joint, a parallelogram, and two revolute joints) position, ρ = (ρx, ρy, ρz)T is the input vector of the
generate a four degrees-of-freedom motions; prismatic joints variables, Δρ = (Δρx, Δρy, Δρz)T is
(iii) the articulated parallelograms are assumed to the encoder offset vector, θi, βi, i∈{x, y, z} are the
be perfect but non-identical; parallelogram orientation angles (internal variables),
(iv) the linear actuator axes are mutually orthogonal and Li are the length of the corresponding leg.
and intersected in a single point to insure a After elimination of the internal variables θi , βi ,
translational movement of the end-effector; the kinematic model (1) can be reduced to three
(v) the actuator encoders are perfect but located equations
with some errors (offsets).
( pi − ( ρ i + Δρ i ) )2 + p 2j + p k2 = L2i , (2)
Using these assumptions, there will be derived
new calibration equations based on the observation which includes components of the input and output
of the parallel motions of the manipulator legs. vectors p and ρ only. Here, the subscripts
86
CALIBRATION OF QUASI-ISOTROPIC PARALLEL KINEMATIC MACHINES: ORTHOGLIDE
z
i, j , k ∈ {x, y, z} , i ≠ j ≠ k are used in all (a) : XMax posture
combinations, and the joint variables ρi are obeyed ρz = L cosα
the prescribed limits ρ min < ρ i < ρ max defined in
the control software (for the Orthoglide prototype,
ρmin = -100 mm and ρmax = +60 mm). α
It should be noted that, for the case O
p α y
Δρ x = Δρ y = Δρ z = 0 and Lx = L y = Lz = L , the ρy = L cosα
nominal ‘‘mechanical-zero’’ posture of the
manipulator corresponds to the Cartesian
x ρx = L + L sinα
coordinates p0 = (0, 0, 0)T and to the joints variables
ρ0 = (L, L, L). Moreover, in such posture, the x-, y-
and z-legs are oriented strictly parallel to the z
(b) : Zero posture
corresponding Cartesian axes. But the joint offsets
and the leg length differences cause the deviation of ρz = L
the “zero” TCP location and corresponding
deviation of the leg parallelism, which may be
measured and used for the calibration. p
Hence, six parameters (Δρx, Δρy, Δρz , Lx, Ly, Lz) O
y
define the manipulator geometry and are in the focus ρy = L
of the proposed calibration technique.
ρx = L
2.4 Inverse and Direct Kinematics x
ρ i + Δρ i t L2i
pi = + − , ⎛ ⎞
∏ (ρ + Δρ ) ⋅ ⎜⎜⎝ ∑ ( ρ + Δρ ) ∑L
(4)
2 ρ i + Δρ i 2( ρ i + Δρ i ) C= 2 2
/4 − 2
2⎟+
i i i i i ⎟
where t is an auxiliary scalar variable. This reduces
i i i ⎠
the direct kinematics to the solution of a quadratic + ∑
i≠ j≠k
L4i ( ρ j + Δρ j ) ( ρ k + Δρ k ) / 4
2 2
87
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
88
CALIBRATION OF QUASI-ISOTROPIC PARALLEL KINEMATIC MACHINES: ORTHOGLIDE
Δz x+ = (0.5 + Sα )Tα Δρ x + Sα Δρ z −
The system of calibration equations can be derived
in two steps. First, it is required to define the gauge
− (0.5 + Sα )Tα ΔL x − ((0.5 + Sα )Cα− 1 − 0.5)ΔLz
initial locations that are assumed to be positioned at
the leg middle at the “Zero” posture, i.e. at the points
(p + ri ) / 2 , i ∈ {x, y, z} where the vectors ri define
the prismatic joints centres: rx = ( L + Δρ x ; 0; 0) ; Similar approach may be applied to the “XMin”
r y = (0; L + Δρ y ; 0) ; rz = (0; 0; L + Δρ z ) . posture, as well as to the corresponding postures for
the Y- and Z-legs. This gives the system of twelve
Hence, using the equation (7), the gauge initial linear equations in six unknowns:
locations can be expressed as
89
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
90
CALIBRATION OF QUASI-ISOTROPIC PARALLEL KINEMATIC MACHINES: ORTHOGLIDE
which corresponds to the measurement accuracy. On Innocenti, C., 1995. Algorithms for kinematic calibration
the other hand, further adjusting of the model to the of fully-parallel manipulators. In: Computational
new experimental data does not give the residual Kinematics, Kluwer Academic Publishers, pp. 241-
reduction. 250.
Iurascu, C.C. Park, F.C., 2003. Geometric algorithm for
Hence, the calibration results confirm validity of kinematic calibration of robots containing closed
the proposed identification technique and its ability loops. ASME Journal of Mechanical Design, Vol.
to tune the joint offsets and link lengths from 125(1), pp. 23-32.
observations of the leg parallelism. Other conclusion Jeong J., Kang, D., Cho, Y.M., Kim, J., 2004. Kinematic
is related to the modelling assumption: for further calibration of redundantly actuated parallel
accuracy improvement it is prudent to generalize the mechanisms. ASME Journal of Mechanical Design,
manipulator model by including parameters Vol. 126 (2), pp. 307-318.
describing the orientation of the prismatic joint axes, Merlet, J.-P., 2000. Parallel Robots, Kluwer Academic
i.e. relaxing assumption (iv) (see sub-section 2.2). Publishers, Dordrecht, 2000.
Pashkevich, A., Wenger, P., Chablat, D., 2005. Design
Strategies for the Geometric Synthesis of Orthoglide-
type Mechanisms. Mechanism and Machine Theory,
5 CONCLUSIONS Vol. 40 (8), pp. 907-930.
Pashkevich A., Chablat D., Wenger P., 2006. Kinematic
Calibration of Orthoglide-Type Mechanisms.
This paper proposes further developments for a
Proceedings of IFAC Symposium on Information
novel calibration approach for parallel manipulators,
Control Problems in Manufacturing (INCOM’2006),
which is based on observations of manipulator leg Saint Etienne, France, 17-19 May, 2006, p. 151 - 156
parallelism with respect to some predefined planes. Renaud, P., Andreff, N., Pierrot, F., Martinet, P., 2004.
This technique employs a simple and low-cost Combining end-effector and legs observation for
measuring system composed of standard comparator kinematic calibration of parallel mechanisms. IEEE
indicators, which are sequentially used for International Conference on Robotics and Automation
measuring the deviation of the relevant leg location (ICRA’2004), New-Orleans, USA, pp. 4116-4121.
while the manipulator moves the TCP along the Renaud, P., Andreff, N., Martinet, P., Gogu, G., 2005.
Cartesian axes. From the measured differences, the Kinematic calibration of parallel mechanisms: a novel
calibration algorithm estimates the joint offsets and approach using legs observation. IEEE Transactions
the link lengths that are treated as the most essential on Robotics and Automation, 21 (4), pp. 529-538.
parameters to be tuned. The validity of the proposed Tlusty, J., Ziegert, J.C., Ridgeway, S., 1999. Fundamental
approach and efficiency of the developed numerical Comparison of the Use of Serial and Parallel
algorithm were confirmed by the calibration Kinematics for Machine Tools. CIRP Annals, Vol. 48
experiments with the Orthoglide prototype, which (1), pp. 351-356.
allowed essential reduction of the residuals and Wang, J. Masory, O. 1993. On the accuracy of a Stewart
platform - Part I: The effect of manufacturing
corresponding improvement of the accuracy.
tolerances. IEEE International Conference on
Future work will focus on the expanding the set of Robotics and Automation (ICRA’93), Atlanta,
the identified model parameters, their identifiably Georgia, pp. 114–120.
analysis, and compensation of the non-geometric Wenger, P., Gosselin, C., Chablat, D., 2001. Comparative
errors. study of parallel kinematic architectures for machining
applications. In: Workshop on Computational
Kinematics, Seoul, Korea, pp. 249-258.
REFERENCES Wenger, P., Gosselin, C. Maille, B., 1999. A comparative
study of serial and parallel mechanism topologies for
machine tools. In: Proceedings of PKM’99, Milan,
Chablat, D., Wenger, Ph., 2003. Architecture Optimization Italy, pp. 23–32.
of a 3-DOF Parallel Mechanism for Machining
Applications, the Orthoglide. IEEE Transactions On
Robotics and Automation, Vol. 19 (3), pp. 403-410.
Daney, D., 2003. Kinematic Calibration of the Gough
platform. Robotica, 21(6), pp. 677-690.
Huang, T., Chetwynd, D.G. Whitehouse, D.J., Wang, J.,
2005. A general and novel approach for parameter
identification of 6-dof parallel kinematic machines.
Mechanism and Machine Theory, Vol. 40 (2), pp. 219-
239.
91
MAKING SENSOR NETWORKS INTELLIGENT
Peter Sapaty
Institute of Mathematical Machines & Systems, National Academy of Sciences
Glushkova Ave 42, Kiev 03187, Ukraine
[email protected]
Masanori Sugisaka
Department of Electrical and Electronic Engineering, Oita University
700 Oaza Dannoharu 870-1192 Japan
Tel: 097-554-7831, Fax: 097-554-7841
[email protected]
Joaquim Filipe
Departamento Sistemas e Informática, Escola Superior de Tecnologia de Setúbal
Setúbal 2910-761, Portugal
[email protected]
Keywords: Sensor networks, intelligent management, distributed scenario language, distributed interpreter, tracking
objects, hierarchical data fusion.
Abstract: A universal solution for management of dynamic sensor networks will be presented, covering both
networking and application layers. A network of intelligent modules, overlaying the sensor network,
collectively interprets mission scenarios in a special high-level language that can start from any nodes and
cover the network at runtime. The spreading scenarios are extremely compact, which may be useful for
energy saving communications. The code will be exhibited for distributed collection and fusion of sensor
data, also for tracking mobile targets by scattered and communicating sensors.
92
MAKING SENSOR NETWORKS INTELLIGENT
traffic monitoring, etc. In a typical application, a imaginable (or even so far unimaginable) distributed
WSN is scattered in a region where it is meant to problems can be solved by dynamic self-organized
collect data through its sensor nodes. They could be sensor networks if to increase their intelligence as a
deployed in wilderness areas, where they would whole, with a novel distributed processing and
remain for many years (monitoring some control ideology and technology effectively
environmental variable) without the need to operating in computer networks.
recharge/replace their power supplies. They could
form a perimeter about a property and monitor the
progression of intruders (passing information from 2 THE DISTRIBUTED
one node to the next). At present, there are many
uses for WSNs throughout the world. MANAGEMENT MODEL
In a wired network like the Internet, each router
connects to a specific set of other routers, forming a The distributed information technology we are using
routing graph. In WSNs, each node has a radio that here is based on a special Distributed Scenario
provides a set of communication links to nearby Language (DSL) describing parallel solutions in
nodes. By exchanging information, nodes can computer networks as a seamless spatial process
discover their neighbors and perform a distributed rather than the traditional collection and interaction
algorithm to determine how to route data according of parts (agents). Parallel scenarios in DSL can start
to the application’s needs. Although physical from any interpreter of the language, spreading and
placement primarily determines connectivity, covering the distributed space at runtime, as in Fig. 2.
variables such as obstructions, interference,
environmental factors, antenna orientation, and Hierarchical
echoing and
mobility make determining connectivity a priori control
difficult. Instead, the network discovers and adapts
Spreading
to whatever connectivity is present. activities
Fig. 1 shows what we will mean as a sensor
network for the rest of this paper. Start
Spreading
activities
Transmitter
Transmitter
S
S Advances in space
Sensor S
S Figure 2: Runtime coverage of space by parallel scenarios.
S Sensor
S The overall management of the evolving scenarios is
accomplished via the distributed track system
providing hierarchical command and control for
S S
S Sensor scenario execution, with a variety of special echo
Local communication messages. We will mention here only key features of
capabilities DSL, as the current language details can be found
elsewhere (Sapaty et al., 2007), also its basics from
Figure 1: Distributed sensors and their emergent network. the previous versions (Sapaty, 1999, 2005; Sapaty et
al., 2006).
It will hypothetically consist of (a great number of) A DSL program, or wave, is represented as one
usual sensors with local communication capabilities, or more constructs called moves (separated by a
and (a limited number of) those that can additionally comma) embraced by a rule, as follows:
transmit collected information outside the area (say,
via satellite channels). Individual sensors can be on a wave → rule ({ move , })
move, some may be destroyed while others added at
runtime (say, dropped from the air) to join the Rules may serve as various supervisory, regulatory,
existing ones in solving cooperatively distributed coordinating, integrating, navigating, and data
problems. processing functions, operations or constraints over
The aim of this paper is to show how any moves.
93
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
94
MAKING SENSOR NETWORKS INTELLIGENT
Hop(x25_y12).
Robot 1 x40_y36 Transmit(Temperature & Location)
Hop(x25_y12, x40_y36, x55_y21
x55_y21). Transmit
(Temperature &
Transmit
Hop(x40_y36).
Location)
(Temperature Robot 1 Transmit(Temperature & Location)
& Location)
x25_y12
Hop(x40_y36, x55_y21). Hop(x55_y21).
Robot 1 Transmit (Temperature
& Location)
Transmit(Temperature & Location)
95
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
humans) that can implement them, which can be the first arrival in them. The hierarchical fusion rule
emergent and not known in advance. These fuse, collecting the scattered results, also removes
programs can be executed by any number of record duplicates, as the same event can be detected
technical or biological processors, where by different sensors, leaving only most credible in
organization of resources, their communication and the final result. To distinguish each new global
synchronization are delegated to efficient automatic navigation process from the previous one, it always
interpretation, with strict and simple implementation spreads with a new identity for which, for example,
rules. current system time may be used (using
Application programs in DSL are often hundreds environmental variables IDENTITY and TIME of
of times shorter than in conventional languages (like the language).
C or Java). The DSL programs are interpreted rather
than compiled, adjusting to the execution Global
environment at runtime, which is especially loop Global
S loop
important when system components may be changed
Start S
or damaged during the execution. The approach is S
based on the new, universal, formal system within Fused
which any distributed and parallel algorithms can be S data Start
expressed and implemented. Repeated S
parallel S
navigation
Failed
4 COLLECTING EVENTS S
S
S
THROUGHOUT THE REGION
Starting from all transmitter nodes, the following
program regularly (with interval of 20 sec.) covers Figure 5: Parallel navigation and data collection.
stepwise, via local communications between sensors,
the whole sensor network with a spanning forest,
lifting information about observable events in each 5 CREATING HIERARCHICAL
node reached. Through this forest, by the internal INFRASTRUCTURES
interpretation infrastructure, the lifted data in nodes
is moved and fused upwards the spanning trees, with In the previous program, we created the whole
final results collected in transmitter nodes and sent spanning forest for each global data collection loop,
in parallel outside the system using rule Transmit which may be costly. To optimize this process, we
(See Fig. 5). may first create a persistent forest infrastructure,
remembering which nodes were linked to which, and
Hop(all transmitters). then use it for a frequent regular collection and
Loop( fusion of the scattered data. As the sensor
Sleep(20). neighborhood network may change over time, we
IDENTITY = TIME. can make this persistent infrastructure changeable
Transmit( too, updating it with some time interval (much larger,
Fuse( however, than the data collection one), after
Repeat(free(observe(events)); removing the previous infrastructure version. This
Hop(directly reachable, can be done by the following program that regularly
first come)))))
creates top-down oriented links named infra
starting from the transmitter nodes (as shown in Fig.
Globally looping in each transmitter node (rule
6).
loop), the program repeatedly navigates (rule
repeat) the sensor set (possibly, in competition Hop(all transmitters).
with navigation started from other transmitters), Loop(
activating local space observation facilities in Sleep(120).
parallel with the further navigation. IDENTITY = TIME.
The resultant forest-like coverage is guaranteed Repeat(
by allowing sensor nodes to be visited only once, on Hop(directly reachable,
96
MAKING SENSOR NETWORKS INTELLIGENT
first come). rarely) and the event collection and fusion one
Remove links(all). (looping frequently) can operate simultaneously,
Stay(create link(-infra, BACK))) with the first one guiding the latter on the data
collection routes, which may change over time.
Looping
Looping
updates
updates
S 6 ROUTING LOCAL EVENTS TO
S
S
TRANSMITTERS
S infra
infra We have considered above the collection of
S distributed events in the top-down and bottom-up
Persistent S
links infra mode, always with the initiative stemming from root
Active nodes of the hierarchy--the latter serving as a
S code S parallel and distributed tree-structured computer. In
S this section, we will show quite an opposite, fully
distributed solution, where each sensor node, being
an initiator itself, is regularly observing the vicinity
Figure 6: Runtime creation of hierarchical infrastructure. for the case an event of interest might occur.
Having discovered the event of interest, each
This infrastructure creation program provides node independently from others launches a spatial
competitive asynchronous spatial processes, so each cyclic self-routing process via the infrastructure
time even if the sensors do not change their positions, links built before, which eventually reaches the
the resultant infrastructure may differ, as in Fig. 7. transmitter node, bringing with it the event
information, as shown in Fig. 8. The data brought to
the transmitters should be fused with the data
already existing there.
S
S infra
S
S infra S
infra
S
S Observing
S S
infra infra
S Observing
S S Observing S
S S
infra
S S
S
Figure 7: Another possible infrastructure. Event Event
discovered discovered
Having created a persistent infrastructure, we can
use it frequently by the event collection program, Figure 8: Routing scattered events to transmitters.
which can be simplified now as follows:
The corresponding program will be as follows.
Hop(all transmitters).
Loop( Hop(all nodes).
Sleep(20). Frontal(Transfer).
Transmit( Nodal(Result).
Fuse( Loop(
Repeat( Sleep(5).
Free(observe(events)); Nonempty(
Hop(+infra))))) Transfer = observe(events)).
Repeat(hop(-infra)).
The global infrastructure creation program (looping Result = Result & Transfer)
97
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
7 TRACKING MOBILE OBJECTS The program investigates the object’s visibility in all
neighboring sensors in parallel and moves control
along with program code and accumulated data to
Let us consider some basics of using DSL for
the neighboring sensor seeing it best (if visibility
tracking mobile (say ground or aerial) objects
there exceeds the threshold given).
moving through a region controlled by
This was only a skeleton program in DSL,
communicating sensors, as shown in Fig. 9. Each
showing the space tracing techniques for controlling
sensor can handle only a limited part of space, so to
single physical objects. It can be extended to follow
keep the whole observation continuous the object
collectively behaving groups of physical objects (say,
seen should be handed over between the neighboring
flocks of animals, mobile robots, or troops). The
sensors during its movement, along with the data
spreading individual intelligences can cooperate in
accumulated during its tracking and analysis.
the distributed sensor space, self-optimizing jointly
The space-navigating power of the model
for the pursuit of global goals.
discussed can catch each object and accompany it
individually, moving between the interpreters in
different sensors, thus following the movement in
physical space via the virtual space (Sapaty, 1999). 8 AVERAGING PARAMETERS
This allows us to have an extremely compact and FROM A REGION
integral solution unattainable by other approaches
based on communicating agents. The following Let us consider how it could be possible to asses the
program, starting in all sensors, catches the object it generalized situation in a distributed region given,
sees and follows it wherever it goes, if not seen from say, by a set of its border coordinates, in a fully
the current point any more (more correctly: if its distributed way where sensors located in the region
visibility becomes lower than a given threshold). communicate with direct neighbors only. Assume,
for example, that the data of interest is maximum
pollution level throughout the whole region (it may
also be temperature, pressure, radiation level, etc.)
together with coordinates of the location showing
98
MAKING SENSOR NETWORKS INTELLIGENT
this maximum.
The following program, starting in all sensors
located in the region, regularly measures the S
pollution level in its vicinity, updates local Generalized
S result S
maximum and, by communication with direct Emergent
neighbors, attempts to increase the recorded leader
S
maximum there too. Eventually, after some time of node S Self-routing
this purely local communication activity all sensors S to transmitter
will have the same maximum value registered in
them and corresponding to the maximum on the
S S
whole region (see the overall organization in Fig. S
10).
Region of interest Local communications
Nodal(Level, Max, Region).
Frontal(Transfer). Figure 10: Distributed averaging with active routing.
Region = region definition.
Hop(all nodes, Region).
Loop( 9 ASSEMBLING FULL PICTURE
Or parallel( OF THE REGION
Loop(
Sleep(5).
Level = measure(pollution). To collect details from some region via local sensors
Stay(Level > Max. Max=Level). and merge them into the whole picture could, in
Transfer = Max. principle, be possible via local single-level
Hop(directly reachable,Region). exchanges only, as in the previous section, but the
Transfer > Max. Max=Transfer), amount of communications and data transfer as well
sleep(120)). as time needed may be unacceptably high. We were
Level == Max. finding only a single value (maximum) via frequent
Transfer = Max & WHERE. internode communications, with minimal code
Repeat(hop(-infra)). length.
Transmit(Transfer)) But for obtaining the detailed global picture of
the region or of some distributed phenomenon, we
As there may be many sensors located in the region may have to gradually paint (grow) this picture in
of interest, we will need forwarding only a single every sensor node simultaneously, with high
copy of this resultant maximum value to a communication intensity between the nodes. Also,
transmitter for an output. This can be achieved by there may be difficult to determine the completeness
delegating this task only to the sensor whose of this picture staying in local sensors only. A higher
measured local value is equal to the accumulated integrity and hierarchical process structuring may be
maximum in it, which corresponds to the overall needed to see a distributed picture via the dispersed
region’s maximum. sensors with limited visual capabilities and casual
Having discovered that it is the leader (after a communications.
certain time delay), such a sensor organizes repeated Different higher-level approaches can be
movement to the nearest transmitter via the earlier proposed and expressed in DSL for this. We will
created virtual infrastructure, carrying the resultant show only a possible skeleton with spanning tree
maximum value in frontal variable Transfer, and coverage of the distributed phenomenon and
sending it outside the system in the transmitter hierarchical collection, merging, and fusing partial
reached, as shown in Fig. 10. results into the global picture. The latter will be
Similar, fully distributed, organization may be forwarded to the nearest transmitter via the
introduced for finding averaged values, or even for previously created infrastructure (using links
assembling the global picture of the whole region infra), as in Fig. 11.
with any details collected by individual sensors (the
latter may be costly, however, with a more practical Hop(random, all nodes,
solution skeleton shown in the next section). detected(phenomenon)).
Loop(
Frontal(Full) = fuse(
99
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
100
BAYES-BASED OBJECT TRACKING BOOSTED BY PARTICLE
SWARM OPTIMIZATION
Keywords: Vision, object detection, tracking, particle swarm optimization, Bayes law.
Abstract: This paper presents a novel Bayes-based object tracking framework boosted by a particle swarm
optimization (PSO) algorithm, which is a population based searching algorithm. Basically two searching
steps are conducted in this method. First, the object model is projected into a high-dimensional feature space,
and a PSO algorithm is applied to search over this high-dimensional space and converge to some global
optima, which are well-matched candidates in terms of object features. Second, a Bayes-based filter is used
to identify the one with the highest possibility among these candidates under the constraint of object motion
estimation. The proposed algorithm considers not only the object features but also the object motion
estimation to speed up the searching procedure. Experimental results demonstrate that the proposed method
is efficient and robust in object tracking.
101
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
gesture, contour, and motion. Some successful This paper is organized as follows. Section 2
methods take advantage of knowledge of objects, simply reviews some related work in object detection
such as shape or structures. However, the shape- and tracking. Section 3 introduces the PSO algorithm.
based methods cannot handle the cases with The Bayes-based adaptive-window approach boosted
occlusions efficiently. Appearance histogram is by the PSO algorithm is described in Section 4.
applied as tracking cue in this paper due to its Experimental results are discussed and analyzed in
independency with objects’ shape and structure. Section 5. Conclusion and further work are given in
A Bayes-based object tracking approach using a section 6.
particle swarm optimization (PSO) algorithm is
employed to search for an optimal window in a super
feature space based on appearance histogram instead 2 RELATED WORKS
of image plane directly. The PSO algorithm (J.
Kennedy, R. C. Eberhart, and Y. Shi, 2001) was There are many systems proposed in the past few
inspired by the social behavior of a flock of birds. In decades for object detection and tracking. Zhang et al.
PSO algorithm, birds in a flock are symbolically
(Zhang et al., 2006) proposed a robust method to
represented as particles. These particles can be detect moving objects at distance using a mobile
considered as simple agents “flying” through a camera. Through the utilization of the focus of
problem space. A particle’s location in the multi-
expansion (FOE) and its associated residual map, the
dimensional problem space represents one solution proposed method is able to detect and separate
for the problem. When a particle moves to a new independently moving objects (IMOs) from the
location, a different solution is generated. This
"moving" background caused by the camera motion.
solution is evaluated by a fitness function that Leykin and Hammoud (Leykin and Hammoud, 2006)
provides a quantitative value of the solution’s utility.
used a combined input from RGB and thermal
The PSO algorithm is effective for optimization
cameras to build background model and tracker for
of a wide range of searching problems. In this
pedestrians. This method showed robustness for
problem, particles fly around the feature space, trying
outdoor environments. Olson and Brill (T. Olson and
to find the best-fit tracking window parameters based
F. Brill, 1997) built a general purpose system for
on the fitness function of object features using
moving object detection and event recognition,
appearance histogram. When some particles
where objects were detected and tracked by both
successfully detect the objects, they will share that
first-order prediction and nearest neighbor matching.
information with their neighbors, and their neighbors The work which is most related to our method is
may follow the directions to reach objects very
(Yuri Owechko, Swarup Medasani, and Narayan
quickly. Each particle makes its own decision not Srinivasa, 2004), where the authors treated every
only based on its neighbors, but also on its own particle as a classifier with different parameters.
cognition, which provides the flexibility and ability
Those classifiers swarm in the solution space to
of exploring new areas. This decision-making converge to the optimal analysis window. However
procedure can efficiently prevent the local optimum, this is a simple application of PSO for people
which may cause the searching window drift.
detection only. Reza Akbari etc. (Reza Akbari,
By using PSO, the problem of identifying Mohammad Davarpanah Jazi, and Maziar Palhang,
tracking window is translated from one-to-one 2006) employed both PSO algorithm and Kalman
estimation into one-to-many searching, which brings
filter in a hybrid framework of region and object
more flexibility. Since this searching procedure is tracking, where vehicles were tracked in a cluttered
conducted only in the object feature space, to
background. A PSO algorithm was proposed in (Luis
improve searching results, a Bayes law filter is
Anton-Canalis, Mario Hernandez-Tejera, and Elena
constructed based on the motion constraints of Sanchez-Nielsen etc., 2006) to drive particles flying
tracked objects to identify the most possible solution.
over image pixels directly, where object tracking
Generally it is reasonable to assume that objects emerged from interaction between particles and their
move consecutively in successive frames. The Bayes environment.
law filter tries to keep inertia of the object motion.
Compared with conventional window-tracking
algorithms, the proposed method can be executed
automatically, and moving objects can be detected
and tracked in a more flexible and robust way.
102
BAYES-BASED OBJECT TRACKING BOOSTED BY PARTICLE SWARM OPTIMIZATION
103
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
efficiency and robustness of the tracking systems. parameters will be identified to describe the rectangle
Basically, a PSO-based searching algorithm windows, including 2D location of the central point,
identifies the changes in the scene, and the width and height of the rectangle, as shown in Figure
probability-based algorithm estimates the best 1. These parameters can build up a four-dimensional
candidate of the object with the highest possibility. search space.
More specifically, the PSO algorithm takes fast
scouting in a high-dimensional feature space and W
finds out some object candidates. Then Bayes law
filter decides which one is the best match.
L x,y
4.2 Object Detection
Usually object detection and recognition depend on
the features of the object, such as color, texture, and
shape. As indicated in (J. R. Jain and A. K. Jain, Figure 1: The four parameters associated with a particle
window.
1981), most changes in video content are typically
due to the motion of objects in the depicted scene
relative to the imaging plane, and a small amount of So in such a space, each particle presents a search
motion can result in large differences in the values of window with specific values of parameters, which
the samples in a picture, especially near the edges of can be defined as:
objects. Often, predicting an area of the current P = { pi | pi ( xi , yi , li , wi ), i = 1,2,..., N } (3)
picture from a region of the previous picture that is Where xi and yi represent the central point of the
displayed by a few samples in spatial location can rectangle related to particle i; li and wi represents
significantly reduce the need for a refining difference
the length and width related to particle i; and N is the
approximation. We call this special displacement
population of swarm particles. Each individual
motion vectors.
particle has different values of these parameters. In
Since only the moving objects are considered to
other words, they are distributed in a four-
be tracked in this paper, the object detection turns
dimensional search space.
into motion detection where a simple background
Generally a four-dimensional feature space is
subtraction method is applied. When the detection
very large, which makes search algorithms to be
starts, the first several frames are looked as the
computation extensive. Some motion-based
background. In the following frames, the moving
constraints can be applied to limit the search area to a
targets can be easily detected by a motion detection
smaller region where particles are initialized and
algorithm using background subtraction. During this
move around. A straightforward constraint is using
procedure, the histogram model of background is
the continuity of movement since it is reasonable to
built and updated by averaging every coming frame
assume that motion is continuous under most
to achieve higher robustness. The motion vector
tracking situations. In other words, the tracking
Vi , i = 1,2,..., N can be obtained, where Vi represents window of a new frame should be adjacent to its
motion vectors of particle i, and N represents the total previous one. In this way, the initialization of
number of particles. Once a valid object is identified, particles could be accelerated.
the tracking algorithm kicks in. Suppose pb ' ( xb ' , yb ' , lb ' , wb ' , θ b ' ) is the best particle
(i.e., tracking window) in last frame, the initialized
4.3 PSO-based Searching Algorithm particles pi ( xi , yi , li , wi , θ i ) , where i = 1,2,…,N, in
From the view of searching, the PSO algorithm is a the new frame should be around pb ' with some
distributed convergence method. The key is to take offsets in each dimension. In our experiments,
advantage of sharing information between the locations are shifted up to 15 pixels, and sizes are
particles as well as their own past experiences to shrunk and extended up to 20 percent. Therefore, by
accelerate the convergence. The PSO algorithm dispersing particles in a relatively smaller region
would provide an optimal or near-optimal solution instead of the whole space, searching procedure can
using appropriate fitness functions without the be definitely accelerated.
complete knowledge of the searching space. Then particles move around, communicate and
To identify an object in an image, usually share information among the society, follow the
rectangle windows are utilized in most cases. Four better directions of their neighbors, and converge to
104
BAYES-BASED OBJECT TRACKING BOOSTED BY PARTICLE SWARM OPTIMIZATION
the optima. This process is automatic and of hue values from 0 to 255. H i ( x) and H g (x) are
independent on knowledge of image contents. After a
pixel numbers with a specific hue value x for the
number of iterations, particles cluster around one or
particle and target, respectively.
several optimal points in the space, which correspond
By using (4), the distance between two
to some regions with varied locations and sizes.
histograms can be defined as (D. Comaniciu, V.
These regions are candidates for the Bayes filter,
Ramesh, and P. Meer, 2004):
which will be discussed in later section.
D( H i , H g ) = 1 − BC ( H i , H g ) . (5)
4.4 Fitness Function This distance is invariant to the scale of the target,
while the popular used histogram intersection is scale
The behaviors of particles are guided by the variant (M.J. Swain, D.H. Ballard, 1991). The
associated fitness function, which defines the search smaller this distance is, the better the particle is
criteria underlying the PSO searching algorithm. In matched with the target object. Thus given the target
terms of object tracking, fitness function can be histogram, the fitness function for particle i is
defined as a function of features of the tracked object. inversely proportional to the distance between
Lots of features are used for objects detection and H i and H g :
tracking, including color, texture, shape and motion,
which can be employed independently or several F ( pi , g ) = 1 / D( H i , H g ) (6)
features can be combined together. In this paper, the The higher the fitness value, the more similar the
appearance histogram is applied to construct the corresponding area is with the target.
fitness function.
First, images are transformed from RGB format 4.5 Bayes-Based Filter
into HSV format, and the later one is more natural
for people’s eyes. Then, the values of hue are For each frame a motion vector V can be calculated
abstracted to build the histogram. Such histogram according to a motion trajectory of the tracking
refers to the gradation of color within the visible window. The motion vector is zero in the first frame.
spectrum. When a PSO-based searching algorithm is And for others, it is the shift from the previous
applied, each particle at every moment is associated position to the current one.
with a histogram. The best matched one can be Given the previous tracking window associated
obtained by comparing these histograms with the with the target histogram and the motion
target histogram. Therefore, a special criterion is
required to measure the similarity between the
{ }
vector H g ,Vg , where Vg represents the motion
searched window and the target window, which vector of target. The PSO-based searching algorithm
means a method to measure the distance between two returns a set of candidate windows, which can be
histograms is required. represented by {H i ,Vi | i = 1,2,..., m} , where H i
In statistics (T. Kailath, 1967), the Bhattacharyya represents histograms of particle i, Vi represents
Coefficient measures the similarity of two discrete motion vectors of particle i, and m is the number of
probability distributions. It is a divergence-type the selected candidate windows. All of these
measure that can be seen as the scalar product of the candidate windows are good enough in terms of
two vectors having components as the square root of appearance features and their fitness values are
the probability of the points x ∈ X. It thereby lends higher than a preset threshold.
itself to a geometric interpretation: the Bhattacharyya According to Bayes law, the problem can be
Coefficient is the cosine of the angle enclosed described as:
between these two vectors. Therefore, the p( H g ,Vg | H i ,Vi ) p( H i ,Vi )
Bhattacharyya Coefficient is used to measure the p( H i ,Vi | H g ,Vg ) = (7)
p( H g ,Vg )
similarity between these two histograms, which is
defined as:
p( H i , Vi | H g , Vg ) represents the condition
BC ( H i , H g ) = ∑ H i ( x) H g ( x)
{ }
(4)
x∈ X probability of a particle with {H i ,Vi } given H g ,Vg .
p( H g , Vg ) represents the probability of the target
Where H i represents the histogram of particle i,
window, which is same for all particles.
H g represents the histogram of the target, and X
p( H g , Vg | H i ,Vi ) represents the back projection
denotes the distribution domain, which is the range
105
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
from candidates to the previous tracking window. recognized as an object. As shown in Figure 2(b), a
Since all of particles can point back to the target car shape appears in the foreground while the
window in different ways, it is hard to tell which background keeps the same with the true image. For
particle is the most possible one without any most testing data with static background, motion
predefined knowledge of the image environment. In detection can detect moving objects quickly. For
this paper, we simply assume that those testing data under dynamic environment, some
all p ( H g ,Vg | H i ,Vi ) , i = 1,2,…,m, are equal. pre-knowledge of objects, such as moving behaviors,
would help to improve the detection performance.
However this assumption may not hold in some
Figure 3 shows the procedure of the proposed
practical applications, for instance a mobile vision
PSO algorithm searching for candidate windows. A
system where the previous motion trajectory of the
number of particles are distributed around the target
mobile platform would provide more information for
according to the tracking window of previous frame
the back projection, which will be investigated in our
in Figure 3(a). Due to the uncertainty of the object
future work.
movement, initially, these windows are set up as
Considering that the PSO-based searching
different sizes and locations near the detected object
algorithm returns all of candidates which are good
using motion detection. Then particles start to move
enough in appearance histogram, it is reasonable to
around and eventually converge to some optimal
ignore the histogram here and simplify (7) as:
points under PSO rules. Figure 3(b) shows these
p(Vi | Vg ) = cp(Vi ) , (8) optimal points, which are good candidates of tracking
windows. As shown in Figure 3(b), it is obviously
where c is a positive constant factor, and
that these candidate windows are much closer to the
p(Vi ) represents the probability of a particle on the car compared with those initial windows in Figure
motion trajectory. According to the inertia of motion, 3(a), which demonstrates the efficiency of the PSO-
p(Vi ) depends on the distance between Vi and Vg . based searching algorithm. Then Bayers filter is
The closer two vectors are, the higher the possibility applied to select the best match from those good
of the corresponding particle, which makes (8) as the candidates, as shown in Figure 3(c). Usually, the
following equation: PSO-based searching algorithm converges quickly.
In our experiments, initially 20 windows are
k generated, then after 10 to 15 time steps, those
p(Vi | Vg ) = cp(Vi ) = (9)
D(Vi ,Vg ) windows cluster to the object.
To evaluate the robustness of the proposed
where k is a positive factor. If two vectors are tracking method under occlusion, another experiment
shifted to the same original point, the distance is carried out as shown in Figure 4. First, a white car
between two vectors turns into the distance between drives in and is detected as the target by a blue
two points, where Euclidean distance can be rectangle window as shown in Figure 4(a). Then, the
calculated. white car traverses the scene and is occluded by a
block of texts in the image, as shown in Figure 4(b)
and (c). During the occlusion, the tracking window
5 EXPERIMENTAL RESULTS changes with scenes, but still tracks the car. As
shown in Figure 4(b), when the car starts moving into
To evaluate the proposed algorithm, some video clips the block, the tracking has almost the same size with
from PETS database are applied in this paper. The the one in Figure 4(a). Under the influence of the
program is written in C++ using OPENCV library, block, the tracking window shifts a little and shrinks.
running on a Pentium4 desktop. Most data come But the object is still locked. When the car moves
from a surveillance system with a stationary camera. away as shown in Figure 4(d), the window becomes
Figure 2 shows the process of identifying moving smaller until disappeared. It can be seen that the
objects by motion detection, where pictures from left tracker can still lock the object under occlusion.
to right are true data, foregrounds, and backgrounds, The above experiments demonstrate the proposed
respectively. If there is no moving object, as shown algorithm is efficient and robust. However under
in Figure 2(a), the background is the same with true some complex situations, such as dynamic
image and the foreground is empty since no object is background, more robust motion detection is
detected. With some general preprocessing, the noise required. For some noisy videos, the tracking
can be depressed and the model of background can window may be lost due to frame skips. A recovery
be enhanced. When a car drives in, it is detected and algorithm may need to increase the system reliability.
106
BAYES-BASED OBJECT TRACKING BOOSTED BY PARTICLE SWARM OPTIMIZATION
(a) (b)
Figure 2: Motion detection to recognize objects, (a) to (b) from left to right.
107
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
108
S MART MOBILE – AN ENVIRONMENT FOR GUARANTEED
MULTIBODY MODELING AND SIMULATION
Keywords: Validated method, interval, Taylor model, initial value problem, guaranteed multibody modeling and simula-
tion.
Abstract: Multibody modeling and simulation is important in many areas of our life from a computer game to space ex-
ploration. To automatize the process for industry and research, a lot of tools were developed, among which the
program MOBILE plays a considerable role. However, such tools cannot guarantee the correctness of results,
for example, due to possible errors in the underlying finite precision arithmetic. To avoid such errors and si-
multaneously prove the correctness of results, a number of so called validated methods were developed, which
include interval, affine and Taylor form based arithmetics. In this paper, we present the recently developed
multibody modeling and simulation tool S MART MOBILE based on MOBILE, which is able to guarantee
the correctness of results. The use of validated methods there allows us additionally to take into account the
uncertainty in measurements and study its influence on simulation. We demonstrate the main concepts and
usage with the help of several mechanical systems, for which kinematical or dynamic behavior is simulated in
a validated way.
109
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
with the help of such notions as affine (de Figueiredo 2 VALIDATED METHODS AND
and Stolfi, 2004) or Taylor forms/models (Neumaier, SOFTWARE
2002). Besides, strategies and algorithms much less
vulnerable to overestimation were developed. They To guarantee the correctness of MOBILE results, it
include rearranging expression evaluation, coordinate is necessary to enhance this tool with validated con-
transformations, or zonotopes (Lohner, 2001). cepts. Fortunately, we do not need to implement these
The second focus in this paper is MOBILE, an concepts from scratch. In the last decades, various li-
object oriented C++ environment for modeling and braries were implemented that supported different as-
simulation of kinematics and dynamics of mechani- pects of validated calculus. In the first Subsection, we
cal systems based on the multibody modeling method. name several of these tools. After that, we give a very
Its central concept is a transmission element which brief overview of interval arithmetic and an algorithm
maps motion and force between system states. For for solving IVPs (initial value problems) to provide a
example, an elementary joint modeling revolute and reference about the difference of validated methods to
prismatic joints is such a transmission element. Me- the usual floating point ones.
chanical systems are considered to be concatenations
of these entities. In this way, serial chains, tree type
2.1 Validating Multibody Tools of the
or closed loop systems can be modeled. With the
help of the global kinematics, the transmission func- Numerical Type
tion of the complete system chain can be obtained
from transmission functions of its parts. The inverse To validate the results of multibody modeling and
kinematics and the kinetostatic method (Kecskeméthy simulation software of the numerical type, the
and Hiller, 1994) help to build dynamic equations of following components are necessary. First, the
motion, which are solved with common initial value means are required to work with arithmetic op-
problem (IVP) solvers. MOBILE belongs to the nu- erations and standard functions such as sine or
merical type of modeling software, that is, it does cosine in a guaranteed way. Here, the basic
not produce a symbolic description of the resulting principles of interval calculus and its extensions
model. Only the values of output parameters for the are used. Interval arithmetic is implemented in
user-defined values of input parameters and the source such libraries as PROFIL/BIAS (Knüppel, 1994),
code of the program itself are available. F ILIB ++ (Lerch et al., 2001), C-XSC (Klatte et al.,
S MART MOBILE (Simulation and Modeling of 1993). L IBA FFA (de Figueiredo and Stolfi, 2004) is
dynAmics in MOBILE: Reliable and Template a library for affine arithmetic, whereas COSY (Berz
based) enhances the usual, floating point based and Makino, 2002) implements Taylor models.
MOBILE with validated arithmetics and IVP Second, validated algorithms for solving sys-
solvers (Auer et al., 2006a). In this way, it can model tems of algebraic, differential or algebraic-differential
and perform validated simulation of the behavior of equations are necessary. C-XSC TOOLBOX (Ham-
various classes of mechanical systems including non- mer et al., 1995) offers a general means of solving dif-
autonomous and closed-loop ones as well as provide ferent classes of systems as well as an implementation
more realistic models by taking into account the un- in C-XSC. For IVP solving in interval arithmetic,
certainty in parameters. there exist such packages as AWA (Lohner, 1988),
In this paper, we give an overview of the struc- VNODE (Nedialkov, 2002), and recently developed
ture and the abilities of S MART MOBILE. First, the VAL E NC IA-IVP (Auer et al., 2006a). In the frame-
main validated techniques and software are refer- work of Taylor models, the solver COSY VI (Berz
enced briefly in Section 2. In Section 3, the main and Makino, 1998) was developed.
features of MOBILE are described in short to pro- Finally, almost all of the above mentioned solvers
vide a better understanding of the underlying struc- need means of computing (high order) derivatives au-
ture of S MART MOBILE. In Section 4, we describe tomatically. Some of them, for example, COSY VI,
the implementation of S MART MOBILE in some de- use the facilities provided by the basis arithmetic in
tail and validate kinematical and dynamic behavior of COSY. Interval implementations do not possess this
several example systems with the help of this environ- facility in general; external tools are necessary in this
ment. We summarize the paper in Section 5. On the case. The symbolic form of the mathematical model,
whole, we give an overview of the potential of vali- which is necessary to be able to obtain derivatives au-
dated methods in mechanical modeling, and, in par- tomatically, is not available in case of software of the
ticular, the potential of S MART MOBILE. numerical type. However, a method called algorith-
mic differentiation (Griewank, 2000) offers a possi-
bility to obtain the derivatives using the code of the
110
SMARTMOBILE – AN ENVIRONMENT FOR GUARANTEED MULTIBODY MODELING AND SIMULATION
111
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
112
SMARTMOBILE – AN ENVIRONMENT FOR GUARANTEED MULTIBODY MODELING AND SIMULATION
To simulate dynamics, it is necessary to solve an placeholder and not with a concrete data type. For ex-
IVP for the differential(-algebraic) equations of mo- ample, the transmission element MoRigidLink from
tion of the system model in the state space form. MOBILE is replaced with its template equivalent
As already mentioned, validated IVP solvers need TMoRigidLink, the content of the placeholder for
derivatives of the right side of these equations. They which (e.g. TMoInterval or MoReal, cf. Figure 1)
can be obtained using algorithmic differentiation, the can be defined at the final stage of the system as-
method that is practicable but might consume a lot of sembly. This allows us to use a suitable pair con-
CPU time in case of such a large program as MO- sisting of the data type and solver depending on the
BILE. An alternative is to make use of the system’s application at hand. If only a reference about the
mechanics for this purpose. This option is not pro- form of the solution is necessary, MoReal itself and
vided by MOBILE developers yet and seems to be a common numerical solver (e.g. Runge-Kutta’s) can
rather difficult to algorithmize for (arbitrary) higher be used. If a relatively fast validation of dynamics
orders of derivatives. That is why it was decided to without much uncertainty in parameters is of inter-
employ the first possibility in S MART MOBILE. est, TMoInterval and TMoAWAIntegrator might be
To obtain the derivatives, S MART MOBILE uses the choice. For validation of highly nonlinear systems
the overloading technique. In accordance with with a considerable uncertainty, the slower combina-
Subsection 2.1, all relevant occurrences of MoReal tion of TMoTaylorModel and TMoRiOTIntegrator
(an alias of double in MOBILE) have to be re- can be used.
placed with an appropriate new data type. Almost MOBILE SmartMOBILE
each validated solver needs a different basic vali- TMoRigidLink<TMoInterval> R;
ր
dated data type. Therefore, the strategy in S MART- MoRigidLink R;
ց
MOBILE is to use pairs type/solver. To pro- TMoRigidLink<MoReal> R;
vide interval validation of dynamics with the help
of VNODE-based solver TMoAWAIntegrator, the Figure 1: Template usage.
basic data type TMoInterval including data types
necessary for algorithmic differentiation should be A MOBILE user can easily switch to S MART-
used. The data type TMoFInterval enables the use MOBILE because the executable programs for the
of TMoValenciaIntegrator, an adjustment of the models in both environments are similar. In the val-
basic version of VAL E NC IA-IVP. The newly de- idated environment, the template syntax should be
veloped TMoRiotIntegrator is based on the IVP used. The names of transmission elements are the
solver from the library R I OT, an independent C++ same aside from the preceding letter T. The methods
version of COSY and COSY VI, and requires of the classes have the same names, too. Only the
the class TMoTaylorModel, a S MART MOBILE- solvers are, of course, different, although they follow
compatible wrapper of the library’s own data type the same naming conventions.
TaylorModel. Analogously, to be able to use an ad-
justment of COSY VI, the wrapper RDAInterval 4.2 Examples
is necessary. Modification of the latter solver for
S MART MOBILE is currently work in progress. First, we give an example of the guaranteed simula-
In general, kinematics can be simulated with tion of kinematics of a five arm manipulator, the sys-
the help of all of the above mentioned basic tem defined in detail in (Traczinski, 2006). The mod-
data types. However, other basic data types eling of the system itself can be enhanced in S MART-
might become necessary for more specific tasks MOBILE by using so called sloppy joints (Traczin-
such as finding of equilibrium states of a sys- ski, 2006) instead of usual revolute ones. In the trans-
tem since they require specific solvers. S MART- mission element responsible for the modeling of the
MOBILE provides an option of modeling equilib-
rium states in a validated way with the help of
Ki+1
the interval-based data type MoFInterval and the
class MoIGradientStaticEquilibriumFinder, a
version of the zero-finding algorithm from the C- Ki Fi+1 = Fi
body i + 1
XSC T OOLBOX. Mi+1 = Mi + li × Fi
ϕi
The availability of several basic data types in
body i li
S MART MOBILE points out its second feature: the αi
general data type independency through its template Figure 2: A sloppy joint.
structure. That is, MoReal is actually replaced with a
113
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
114
SMARTMOBILE – AN ENVIRONMENT FOR GUARANTEED MULTIBODY MODELING AND SIMULATION
y(m)
double l_max; 7.6
for(int i=0;i<5;i++){ 7.4
TMoSlacknessJoint<type> joint(K[2*i],K[2*i+1], 7.2
phi[i],zAxis,l_max);
TMoRigidLink<type> link(K[2*i],K[2*i+1],l[i]);
R[i]=joint; L[i]=link;
16.4 16.6 16.8 17 17.2 17.4 17.6 17.8
Manipulator<<R[i]<<L[i];
} x(m)
Manipulator.doMotion();
cout<<"Position="<<K[10].R*K[10].r;
(a) S MART MOBILE model. (b) Enclosures of the position of the tip.
2.4 -1.2
TMoAWAIntegrator
2.3 TMoRiOTIntegrator
-1.32
TMoValenciaIntegrator
second angle (rad)
2.2
first angle (rad)
-1.44
2.1
TMoAWAIntegrator -1.56
2
TMoRiOTIntegrator
TMoValenciaIntegrator
1.9 -1.68
1.8 -1.8
0 0.082 0.164 0.246 0.328 0.41 0 0.082 0.164 0.246 0.328 0.41
time (s) time (s)
(a) Enclosure of the first joint angle. (b) Enclosure of the second joint angle.
Figure 4: Interval enclosures for the first and second state variable of the double pendulum.
115
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
lation of kinematics and dynamic of mechanical sys- Hammer, R., Hocks, M., Kulisch, U., and Ratz, D. (1995).
tems. With its help, the behavior of different classes C++ toolbox for verified computing I - Basic Numer-
of systems including non-autonomous and closed- ical Problems. Springer-Verlag, Heidelberg and New
York.
loop ones can be obtained with the guarantee of cor-
rectness, the option which is not given in tools based Hörsken, C. (2003). Methoden zur rechnergestützten
Toleranzanalyse in Computer Aided Design und
on floating point arithmetics. Besides, the uncertainty
Mehrkörpersystemen. PhD thesis, Univerisity of
in parameters can be taken into account in a natural Duisburg-Essen.
way. Moreover, S MART MOBILE is flexible and al-
Huckle, T. (2005). Collection of software bugs.
lows the user to choose the kind of underlying arith- www5.in.tum.de/∼huckle/bugse.html.
metics according to the task at hand. The functional-
Kecskeméthy, A. (1993). Objektorientierte Modellierung
ity of the tool was demonstrated using three examples. der Dynamik von Mehrkörpersystemen mit Hilfe von
The main directions of the future development Übertragungselementen. PhD thesis, Gerhard Merca-
will include enhancement of validated options for tor Universität Duisburg.
modeling and simulation of closed-loop systems in Kecskeméthy, A. and Hiller, M. (1994). An object-oriented
S MART MOBILE as well as integration of further approach for an effective formulation of multibody
verified solvers into its core. dynamics. CMAME, 115:287–314.
Klatte, R., Kulisch, U., Wiethoff, A., Lawo, C., and Rauch,
M. (1993). C–XSC: A C++ Class Library for Ex-
tended Scientific Computing. Springer-Verlag, Berlin
REFERENCES Heidelberg.
Knüppel, O. (1994). PROFIL/BIAS — a fast interval li-
Auer, E. (2006). Interval Modeling of Dynamics for Multi- brary. Computing, 53:277–287.
body Systems. In Journal of Computational and Ap-
plied Mathematics. Elsevier. Online. Lerch, M., Tischler, G., Wolff von Gudenberg, J., Hofschus-
ter, W., and Krämer, W. (2001). The Interval Library
Auer, E., Kecskeméthy, A., Tändl, M., and Traczinski, H. filib++ 2.0 : Design, Features and Sample Pro-
(2004). Interval Algorithms in Modeling of Multibody grams. Technical Report 2001/4, Wissenschaftliches
Systems. In Alt, R., Frommer, A., Kearfott, R., and Rechnen / Softwaretechnologie, Bergische Universität
Luther, W., editors, LNCS 2991: Numerical Software GH Wuppertal.
with Result Verification, pages 132 – 159. Springer,
Berlin Heidelberg New York. Lohner, R. (1988). Einschließung der Lösung gewönlicher
Anfangs- und Randwertaufgaben und Anwendungen.
Auer, E., Rauh, A., Hofer, E. P., and Luther, W. (2006a). PhD thesis, Universität Karlsruhe.
Validated Modeling of Mechanical Systems with
S MART MOBILE: Improvement of Performance by Lohner, R. (2001). On the ubiquity of the wrapping effect
VAL E NC IA-IVP. In Proc. of Dagstuhl Seminar in the computation of the error bounds. In Kulisch,
06021: Reliable Implementation of Real Number Al- U., Lohner, R., and Facius, A., editors, Perspectives
gorithms: Theory and Practice, Lecture Notes in on Enclosure Methods, pages 201–217. Springer Wien
Computer Science. To appear. New York.
Metropolis, N. and Ulam, S. (1949). The monte carlo
Auer, E., Tändl, M., Strobach, D., and Kecskeméthy, A. method. Journal of the American Statistic Associa-
(2006b). Toward validating a simplified muscle ac- tion, 44:335–341.
tivation model in SMARTMOBILE. In Proceedings of
SCAN 2006. submitted. Moore, R. E. (1966). Interval Analysis. Prentice-Hall, New
York.
Berz, M. and Makino, K. (1998). Verified integration of
ODEs and flows using differential algebraic methods Nedialkov, N. S. (1999). Computing rigorous bounds on
on high-order Taylor models. Reliable Computing, the solution of an initial value problem for an ordi-
4:361–369. nary differential equation. PhD thesis, University of
Toronto.
Berz, M. and Makino, K. (2002). COSY INFINITY Version
8.1. User’s guide and reference manual. Technical Re- Nedialkov, N. S. (2002). The design and implementation
port MSU HEP 20704, Michigan State University. of an object-oriented validated ODE solver. Kluwer
Academic Publishers.
de Figueiredo, L. H. and Stolfi, J. (2004). Affine arith-
metic: concepts and applications. Numerical Algo- Neumaier, A. (2002). Taylor forms — use and limits. Reli-
rithms, 37:147158. able Computing, 9:43–79.
Stauning, O. and Bendtsen, C. (2005). Fadbad++. Web
Griewank, A. (2000). Evaluating derivatives: principles
page http://www2.imm.dtu.dk/∼km/FADBAD/.
and techniques of algorithmic differentiation. SIAM.
Traczinski, H. (2006). Integration von Algorithmen und Da-
Griewank, A., Juedes, D., and Utke, J. (1996). ADOL– tentypen zur validierten Mehrkrpersimulation in MO-
C, a package for the automatic differentiation of algo- BILE. PhD thesis, Univerisity of Duisburg-Essen.
rithms written in C/C++. ACM Trans. Math. Software,
22(2):131–167.
116
GRASP CONFIGURATION MATCHING
Using Visual and Tactile Sensor Information
Madjid Boudaba
Design Center
TES Electonic Solution GmbH, Zettachring 8, 70567 Stuttgart, Germany
[email protected]
Alicia Casals
GRINS: Research Group on Intelligent Robots and Systems
Technical University of Catalonia, Pau Gargallo 5, 08028 Barcelona, Spain
[email protected]
Keywords: Visual image, Tactile image, Grasp planning, Block matching algorithm.
Abstract: Finding the global shape of a grasped object directly from touch is time consuming and not highly reliable.
This paper describes the relationship between visual features and grasp planning, and correlates visual and tac-
tile information for a better description of the object’s shape and grasping points determination. The grasping
process proposed is experimented with a three fingered robotic hand.
117
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
to it according to a predetermined criterion. Finally, precision grasps, where only the fingertips are in
we reduce or eliminate redundant information con- contact with the object. After discussing the friction
tained in the image by transforming the result of the cone modeling, a formalizme is used to analyze force
matching algorithm to the frequency domain. Then a closure grasps using the theory of polyhedral convex
compression scheme is proposed to the image coding. cones.
118
GRASP CONFIGURATION MATCHING - Using Visual and Tactile Sensor Information
n3 v1 v2
C1
Grasping Contour splitting into
Region x1 macroblocks
f
1
(a) (b)
Tactile and Visual Features Matching.
3 FEATURES-BASED GRASPING points is that both, high data compression and feature
extraction can be achieved. Other works prefer the
In robotic grasping tasks, when several input sensors method of polygonal approximation using linking
are available simultaneously, it is generally necessary and merging algorithms (Rosin, 1997) and curvature
to precisely analyze all the data along the entire scale space (CSS).
grasping task. We can acquire the precise position
and orientation of the target object and robot hand We denote by V a function regrouping parameters
motion from a vision system and can acquire force, of visual features defined by
torque, and touch information from tactile sensing.
The object being extracted from a video sequence V = {vlist, slist, llist, com} (4)
requires encoding its contour individually in a where vlist and slist are the lists of consecutive
layered manner and provide at the receiver’s side contour’s vertices and segments, respectively. llist
an enhanced accessibility of visual information. is a list containing the parameters of segments,
In the same way, for the object being extracted calculated with respect to the object’s center of mass,
from a tactile sensor, the tactile layer processes com. The resulting parameters of V fully describe
and provides the tactile information at its receiver’s the two-dimensional location of features with respect
side. Obviously, the accuracy of this data is of signif- to the image plane. The visual features obtained can
icant importance for the eventual matching algorithm. be used as input data for both, grasp planning and
features matching for grasp control.
Figure 3 illustrates a layered composition of
a tactile and a vision sensor. Given as input two
consecutive images data S (tactile) and V (visual), the
success (or simply the completion time) of the task
depends on the level of processing efficiency.
119
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
and Nicholls, 1999). For the purpose of sensor fea- quite time consuming. Thus a preprocessing (or pre-
tures matching, extracting edge features are of inter- filtering) is necessary before the grasping points gen-
est. Figure 5 illustrates three examples of tactile sen- eration takes place. A fingertip is estimated to be as a
sor in touch with the object. From left to right side, sphere with radius fr (see Figure. 2(b)), a grasping re-
the sensitive area is shown with hashed region and lo- gion must be large enough for placing contact points
cated at upper corner side, bottom side and covering on it. Hence, a prefiltering is applied to the list, slist
the entire object area, respectively. The tactile sensor defined in (4) to discard those segments with length
device consists of a printed circuit board with a tactile less than the diameter of the sphere (si < 2fr ). Fig-
array of electrodes (called tactels) on its surface and ure. 4 illustrates the result of prefiltering processes as
circuitry to deliver the tactile data of local features described by the following equation:
extracted from the sensing elements, as well as circu-
ity to monitor and adjust the power supply voltage to glist = {g1 , g2 , · · · , gm } (6)
the sensor. The raw data from the sensing elements is
processed and produces as output a vector S contain- where glist is a linked list of grasping regions and
ing the parameters that define tactile features. m its number.
S = {elist, slist, plist} (5) A very important aspect of (6) is the way how
knowledge about grasping regions are represented in
where elist and slist are list of consecutive con- the extraction process, knowledge that will be used
tour edges and segments, respectively. plist is a list for generating grasping points.
containing the parameters tied to segments, such as
location and orientation in the tactile sensor plane.
The following equation describes the relationship
between the visual features and grasp planning
Generating a number of valid grasps from a list of A similar form can be given for representing the
candidates and classifying the best among them is best grasps Gb and those rejected Gr .
120
GRASP CONFIGURATION MATCHING - Using Visual and Tactile Sensor Information
121
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
2p + N
Mean
Image Bitstream output
Absolute
Difference
Target Difference
Coding (IDC)
(MAD)
122
GRASP CONFIGURATION MATCHING - Using Visual and Tactile Sensor Information
123
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
124
MOTION CONTROL OF AN OMNIDIRECTIONAL MOBILE ROBOT
Keywords: Mobile robots and autonomous systems, system identification, actuator saturation, path following control.
Abstract: This paper focuses on the motion control problem of an omnidirectional mobile robot. A new control method
based on the inverse input-output linearized kinematic model is proposed. As the actuator saturation and
actuator dynamics have important impacts on the robot performance, this control law takes into account these
two aspects and guarantees the stability of the closed-loop control system. Real-world experiments with an
omnidirectional middle-size RoboCup robot verifies the performance of this proposed control algorithm.
125
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
3 cos(θ + δ) − 32 cos(θ − δ)
2 2
3 sinθ
2 ROBOT KINEMATIC MODEL ẋ = 3 sin(θ + δ) − 32 sin(θ − δ) − 23 cosθ q̇,
2
1 1 1
3L 3L 3L
The mobile robot used in our case is an omnidirec- (3)
tional robot, whose base is shown in figure 1. It has where ẋ = [ẋR ẏR θ̇]T is the robot’s velocity vector
three Swedish wheels mounted symmetrically with with respect to the world coordinate system; ẋR and ẏR
120 degrees from each other. Each wheel is driven are the robot translation velocities; θ̇ is the robot ro-
by a DC motor and has a same distance L from its tation velocity; δ refers to the wheel orientation in the
center to the robot’s center of mass R. robot coordinate system and is equal to 30 degrees.
It is important to notice that the transformation
matrix in model 1 is full rank, which denotes that
the translation and rotation of the robot are decou-
pled, and guarantees the separate control of these two
movements.
For the high level control laws without consider-
ing the wheel velocities, the kinematic model
ẋ = Gv (4)
is used in our control method, where the transforma-
tion matrix G is equal to [w Rm 0 ; 0 1]. Because G is
full rank, the characteristics of decoupled movement
Figure 1: Kinematics diagram of the base of an omnidirec-
is also kept.
tional robot.
ities observed in the robot coordinate system; ẋRm and Figure 2: Linearized system by the component C.
R are the robot translation velocities; ω is the robot
ẏm
rotation velocity. q̇ is the vector of wheel velocities This linear system shown in figure 2 is completely
[q̇1 q̇2 q̇3 ]T , and q̇i (i = 1, 2, 3) is the i-th wheel’s ve- decoupled and allows the controlling of the robot’s
locity, which is equal to the wheel’s radius multiplied translation and rotation in a separate way. When a
by the wheel’s angular velocity. controller K is designed based on this simple linear
Introducing the transformation matrix from the system, the controller of the original system is gener-
robot coordinate system to the world coordinate sys- ated as CK. The overall control loop, which consists
126
MOTION CONTROL OF AN OMNIDIRECTIONAL MOBILE ROBOT
Figure 3: Closed-loop control system. Mojaev (Mojaev and Zell, 2004) presents a sim-
ple control law based on the deviation xn , where R
is controlled to move along an exponential curve and
of the nonlinear system, the compensator and the con- to converge to the axis Xt . The exponential curve is
troller, is shown in figure 3, expressed as
where x denotes the robot state vector [xR yR θ]T
and xd is the desired state vector; xR and yR are robot xn = xn0 exp(−kxt ), (7)
position observed in the world coordinate system.
where xn0 is the initial deviation and the positive con-
Based on this input-output linearized system, path stant k determines the convergence speed of the devi-
following and orientation tracking problems are ana- ation. Differentiating (7) with respect to xt , we get the
lyzed with respect to the robot translation and rotation tangent direction of the exponential curve as
control in the following subsections. The influence of
actuator saturation is also accounted to keep the de- dxn
θ̃R = arctan( ) = arctan(−kxn ). (8)
coupling between the translation and rotation move- dxt
ments. Therefore, for a non-zero constant desired velocity vd ,
the translation velocity of robot in the coordinate sys-
3.1 Path Following Control tem xt Oxn results in
ẋn = vd sinθ̃R , (9)
As one high-level control problem, path following is
chosen in our case to deal with the robot translation ẋt = vd cosθ̃R . (10)
control. The path following problem is illustrated in Substituting the time derivative of θ̃R into (6), we
figure 4. P denotes the given path. Point Q is the get
orthogonal project of R on the path P. The path coor-
dinate system xt Qxn moves along the path P and the −ẋn
V̇ = Kd xn ẋn + kKθ arctan(−kxn ) < 0,
coordinate axes xt and xn direct the tangent and nor- 1 + (kxn )2
mal directions at point Q, respectively. θP is the path (11)
tangent direction at point Q. because xn ẋn = xn vd sin(arctan(−kxn )) < 0 and
ẋn arctan(kxn ) < 0. This solution of V̇ guarantees the
global stability of the equilibrium at xn = 0, θ̃R = 0,
which means this control law solves the path follow-
ing problem.
Transforming the robot velocity into the world co-
ordinate system, we get the control values of the lin-
earized system as
u1 = vd cos α, (12)
u2 = vd sin α, (13)
where α = θ̃R + θP .
The input of controller 12 and 13 is the devia-
Figure 4: Illustration of the path following problem. tion distance between point R and the given path,
which normally can be directly obtained by the sen-
Based on the above definitions, the path follow- sors on the robot. Moreover, the deviation converges
ing problem is to find proper control values of the smoothly to zero with the speed controlled by param-
robot translation velocity vR and angular velocity α̇ eter k, which can be chosen according to the perfor-
such that the deviation distance xn and angular error mance requirement.
θ̃R = α − θP tend to zero.
To solve this problem, a Lyapunov candidate func- 3.2 Orientation Tracking
tion
1 1
V = Kd xn2 + Kθ θ̃2R (5) Unlike a car-like wheeled robot, the orientation of an
2 2 omnidirectional robot can be different from the di-
can be considered, where Kd and Kθ are positive con- rection of the robot translation velocity by any angle
127
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
ϕ. This relationship is denoted as α = θ + ϕ. That where lb and ub are the low and up boundary.
means the robot orientation can track any angle when Considering the saturation function
the robot is following a given path. Based on the lin-
ub , if x1 > ub
earized model, the orientation tracking task is to find x2 = x1 , if lb ≤ x1 ≤ ub (18)
a suitable u3 , which is equal to the robot rotation ve- l , if x < l ,
b 1 b
locity ω, such that
and its gain characteristics illustrated in figure 5, we
lim (θd (t) − θ(t)) = 0, (14) can take the saturation function as a dynamic gain
t→∞
block ka , which has maximum value one and con-
where θd (t) is the desired orientation. verges to zero when the input saturates. Then the
As the system between input variable u3 and out- closed-loop system of controlling the robot orienta-
put variable θ is an integrator, a commonly used PD tion is as shown in figure 6, in which a PD controller
controller can be designed to fulfill the orientation is used to control the robot orientation converging to
tracking task. the ideal θd ,
ω = k1 (eθ + k2 ėθ ), (19)
3.3 Actuator Saturation where k1 and k2 are the proportional and deriva-
tive gains, respectively. It can be obtained that the
Based on the inverse input-output linearization, the closed-loop has only one pole 1+k −ka k1
and one zero
translation and rotation of an omnidirectional robot a k1 k2
−1/k2 . Therefore, when k2 is negative and k1 is cho-
can be easily achieved in a separate way. This lin-
sen such that the pole is negative too, the stability of
earization is with respect to the input-output relation-
the closed-loop system can be guaranteed whenever
ship, which requires the internal parts having suffi-
ka decreases.
cient capability to achieve the desired inputs. How-
ever, the power of the robot’s motors is bounded and
the actuators will saturate when the commanding ve-
locities are too large. The presence of actuator satura-
tion can influence the decoupling between robot trans-
lation velocity and rotation velocity, such that the sys-
tem performance and stability is severely impacted.
Therefore, it is necessary to deal with the actuator sat-
Figure 5: Saturation function and its gain characteristics.
uration in the controller design.
For our omnidirectional robot, the maximal veloc-
ity of each wheel is limited by q̇m , namely |q̇i | ≤ q̇m .
Substituting the above control values from equations
(12) (13) and u3 into the inverse kinematic models (2)
and (1), the wheel velocities are computed as:
Figure 6: Closed-loop of robot orientation control.
q̇1 vd cos(α − θ − δ) + Lu3
q̇2 = −vd cos(α − θ + δ) + Lu3 , (15)
q̇3 vd sin(θ − α) + Lu3 4 ACTUATOR DYNAMICS
To achieve orientation tracking based on the above The results in the last section are only practical when
path following control, the desired translation veloc- we assume that the low level actuator dynamics is
ity’ magnitude Vd is assumed to be less than q̇m . Sub- faster than the kinematics, or the delay of actuator dy-
stituting q̇m into (15), the lower and upper boundary namics can be ignored. It is necessary to analyze the
of each wheel’s velocity (Lbi and Ubi ) can be calcu- actuator dynamics and take it into account when de-
lated from the following three inequalities, signing a controller. In the following subsections, the
actuator dynamics is identified based on the observed
|vd cos(α − θ − δ) + Lu3 | < q̇m input-output data, and its influence on the robot mo-
|−vd cos(α − θ + δ) + Lu3 | < q̇m (16) tion control is presented.
|vd sin(θ − α) + Lu3 | < q̇m ,
Then the dynamic boundary values of u3 are com- 4.1 Actuator Dynamics Identification
puted as
lb = max(lb1 , lb2 , lb3 ) The system identification problem is to estimate a
(17) model based on the observed input-output data such
ub = min(ub1 , ub2 , ub3 ),
128
MOTION CONTROL OF AN OMNIDIRECTIONAL MOBILE ROBOT
1.5
With consideration of the actuator, the whole structure
of the control system is shown in figure 10,
1
0.5
model outputs
measured outputs
0
0 50 100 150 200 250 300
Figure 10: Closed-loop control system including actuator
Data number dynamics.
Figure 7: Identified model for ẋRm . m ẏm ω ] is the commanding robot
where Vc = [ẊRc Rc c
velocity vector with respect to the robot coordinate
To coincide with the robot’s continuous model, the system. Because the poles of the actuators dynam-
identified models are transformed from discrete ones ics (26) and (27) have negative real parts, these two
129
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
130
MOTION CONTROL OF AN OMNIDIRECTIONAL MOBILE ROBOT
131
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
REFERENCES
Campion, G., Bastin, G., and D’Andréa-Novel, B. (1996).
Structural properties and classification of kinematic
and dynamic models of wheeled mobile robots. In
IEEE Transactions on Robotics and Automation, vol-
ume 12, pages 47–62.
Heinemann, P., Rueckstiess, T., and Zell, A. (2004). Fast
and accurate environment moddelling using omnidi-
rectional vision. In Dynamic Perception. Infix.
Indiveri, G., Paulus, J., and Plöger, P. G. (2006). Motion
control of swedish wheeled mobile robots in the pres-
ence of actuator saturation. In 10th annual RoboCup
International Symposium.
Liu, Y., Wu, X., Zhu, J. J., and Lew, J. (2003). Omni-
directional mobile robot controller design by trajec-
tory linearization. In ACC’03, Proceeding of the 2003
American Control Conference.
132
IMPROVEMENT OF THE VISUAL SERVOING
TASK WITH A NEW TRAJECTORY PREDICTOR
The Fuzzy Kalman Filter
L. Gracia
Technical University of Valencia, Camino Vera S/N, Valencia, Spain
[email protected]
Keywords: Visual servoing, fuzzy systems, vision / image processing, Kalman filter.
Abstract: Visual Servoing is an important issue in robotic vision but one of the main problems is to cope with the
delay introduced by acquisition and image processing. This delay is the reason for the limited velocity and
acceleration of tracking systems. The use of predictive techniques is one of the solutions to solve this problem.
In this paper, we present a Fuzzy predictor. This predictor decreases the tracking error compared with the
classic Kalman filter (KF) for abrupt changes of direction and can be used for an unknown object’s dynamics.
The Fuzzy predictor proposed in this work is based on several cases of the Kalman filtering, therefore, we have
named it: Fuzzy Kalman Filter (FKF). The robustness and feasibility of the proposed algorithm is validated
by a great number of experiments and is compared with other robust methods.
133
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
the object is outside the image plane, the best predic- of the state from k to k + 1 and C ∈ ℜmxn describes
tion is given by steady-state filters (αβ/αβγ depend- the way in which the measurement is generated out of
ing on the object’s dynamics: velocity−acceleration). the state xk . In our case of visual servoing m is 1 (be-
Obviously, considering more filters and more be- cause only the position is measured) and n = 4. The
haviour cases, FKF can be improved but computa- matrix G ∈ ℜnx1 distributes the system noise ξk to the
tional cost of additional considerations can be a prob- states and ηk is the measurement noise. In the KF the
lem in real-time execution. These five filters are con- noise sequences ηk and ξk are assumed to be gaussian,
sidered by authors as the best consideration (solu- white and uncorrelated. The covariance matrices of
tion taking into account the prediction quality and the ξk and ηk are Q and R respectively (these expressions
computational cost). This is the reason to combine consider 1D movement). A basic explanation for the
these five filters to obtain the FKF. assumed gaussian white noise sequences is given in
This paper is focused on the new FKF filter and (Maybeck, 1982).
is structured as follows: in section 2 we present the In the general case of tracking, the usual model
considered dynamics, the considered dynamics is a considered is a constant acceleration model (Chroust
Jerk model with adaptable parameters obtained by and Vincze, 2003), but in our case, we consider a con-
KFs (Nomura and T., 2000), (Li and Jilkov, 2000) stant jerk model described by matrices F and C are:
and (Mehrotra and Mahapatra, 1997). In section 3, 1
T T 2 /2 T 3 /6
we present the block diagram for the visual servo- 0 1 T T 2 /2 ;C = 1
ing task. This block diagram is widely used in sev- F = 0 0 0
0 0 1 T
eral works like (Corke, 1998) or (Chroust and Vincze, 0 0 0 1
2003). Section 4 presents the basic idea applied in our
case (see (Wang, 1997b) and (Wang, 1997a)), but the where T is the sampling time. This model is called a
main work done is focused in one of the blocks de- constant jerk model because it assumes that the jerk
scribed in section 3, the Fuzzy Kalman Filter (FKF) (dx3 (t)/dt 3 ) is constant between two sampling in-
is described in section 5. stants.
In section 6, we can see the results with simulated F and C matrices are obtained from expression 3 to 7:
data. These results show that FKF can be used to im- a − ai ∆a
= = J0 (3)
prove the high speed visual servoing tasks. This sec- t − ti ∆t
tion is organized in two parts: in the first one (Sub- 1 1
x(t) = xi + vi (t − ti ) + ai (t − ti )2 + Ji (t − ti )3 (4)
section 6.1), the analysis of the FKF behaviour is fo- 2 6
cussed and in the second one (Subsection 6.2) their 1
v(t) = vi + ai (t − ti ) + J0 (t − ti )2 (5)
results are compared those with achieved by Chroust 2
and Vince (Chroust and Vincze, 2003) and with CPA a(t) = ai + J0 (t − ti ) (6)
(Tenne and Singh, 2002) algorithm (algorithm used J(t) = J0 (7)
for aeronautic/aerospace applications). Conclusions
where, x is the position, v is the velocity, a is the ac-
and future work are presented in section 7.
celeration and J is the jerk. So the relation between
them is:
...
2 THE DYNAMICS OF A MOVING x(t) = f (t); ẋ(t) = v(t); ẍ(t) = a(t); x (t) = J(t)
OBJECT
The object’s movement is not known (a priori) in 3 DESCRIPTION OF THE
a general visual servoing scheme. Therefore, it is CONTROL SYSTEM
treated as an stochastic disturbance justifying the use
of a KF as a stochastic observer. The KF algorithm The main objective of the visual servoing is to bring
presented by Kalman (Kalman, 1960) starts with the the target to a position of the image plane and to keep
system description given by 1 and 2. it there for any object’s movement. In figure 1 we
can see the visual control loop presented by Corke in
xk+1 = F · xk + G · ξk (1) (Corke, 1998). The block diagram can be used for a
yk = C · xk + N · ηk (2) moving camera and for a fixed camera controlling the
motion of a robot. Corke use a KF to incorporate a
where xk ∈ ℜnx1 is the state vector and yk ∈ ℜmx1 is feed-forward structure. We incorporate the FKF algo-
the output vector. The matrix F ∈ ℜnxm is the so- rithm in the same structure (see figure 2) but reorder-
called system matrix witch describes the propagation ing the blocks for an easier comprehension.
134
IMPROVEMENT OF THE VISUAL SERVOING TASK WITH A NEW TRAJECTORY PREDICTOR - The Fuzzy
Kalman Filter
4 THEORETICAL BACKGROUND
OF THE FUZZY KALMAN
FILTER (FKF)
135
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
136
IMPROVEMENT OF THE VISUAL SERVOING TASK WITH A NEW TRAJECTORY PREDICTOR - The Fuzzy
Kalman Filter
6 RESULTS
This section is composed by two different parts: first
(section 6.1), we analyze the prediction algorithm pre-
sented originally in this paper (FKF block diagram
shown in figure 3) and second (section 6.2), some
simulations of the visual servoing scheme (see figure
2) are done including the FKF algorithm.
16
Prediction Abg P6k+1 This experiment is done for a parabolic trajectory of
Prediction Kv ∼
Prediction Ka ∼
2
Pk+1
5
Pk+1 an object affected by the gravity acceleration. (See
14 ∼
Prediction Kj
Prediction FKF
∼
P4k+1
7
Pk+1 figures 5 and 6).
Position (pixels)
12
Prk+1 We have done a lot of experiments for different
∼
10
3
Pk+1 movements of the object and we have concluded that
r
8
Pk
our FKF algorithm works better than the others filters
6
compared (filters compared are: αβ, αβγ, Kv, Ka, Kj
Prk−1
and CPA -see section 6.2- with our FKF). Figure 6
4
shows the real trajectory and the trajectory predicted
Prk−2
2
for each filter. For this experiment, we have used the
0
18 18.5 19 19.5 20 20.5 21 21.5
first four real positions of the object as input for all
t (miliseconds) filters and they predict the trajectory using only this
Figure 5: Real position vs. prediction. information. As we can see in this figure, the best
prediction is again the FKF.
Prediction Ab
Chroust and Markus Vincze in (Chroust and Vincze,
Prediction Abg
Prediction Kv
2003) to analyze the switching Kalman filter (SKF).
0
Prediction Ka
Prediction Kj
Prediction FKF For this experiment, we compare the proposed fil-
−10
0 2 4 6 8 10 12 14 16 ter (FKF) with a well known filter, the Circular Pre-
t (miliseconds)
diction Algorithm (CPA) (Tenne and Singh, 2002). In
Figure 6: Prediction of a smooth trajectory. figure 7 (down), we can see the results of FKF and
CPA algorithms. For changes of motion behaviour,
the FKF produce less error than CPA. For the change
in t=1, the FKF error is [+0.008,-0] and [+0.015,-
0.09] for the CPA. For the change in t=4, FKF error =
137
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
0
Init. pos. αβ αβγ Kv Ka Kj FKF 0 1 2 3 4 5 6 7 8 9
0.1
CPA
0.08
40 0.619 0.559 0.410 0.721 0.877 0.353 FKF
40(bis) 0.547 0.633 0.426 0.774 0.822 0.340 0.06
50 0.588 0.663 0.439 0.809 0.914 0.381 0.04
70 0.619 0.650 0.428 0.700 0.821 0.365
90 0.630 0.661 0.458 0.818 0.857 0.343 0.02
∆x (m)
150 0.646 0.682 0.477 0.848 0.879 0.347 0
p
−0.02
−0.04
−0.06
with SKF, FKF is better for t=1, t=4 and t=6 but not
for 6 < t < 9 (sinusoidal movement). −0.005
−0.01
figure, we can see the fast response of the FKF pro- −0.02
0 1 2 3 4 5 6 7 8 9
posed. t (seconds)
t (seconds)
experiment, the position of the ball is introduced to
the filters to prove the behaviour of them. The filter Figure 9: Zoom between 0 and 2 seconds.
proposed (FKF) is the best analyzed.
In figure 11 we can see some frames of the experi-
ment ’bounce of a ball on the ground’. For each frame
the center of gravity of the tennis ball is obtained.
138
IMPROVEMENT OF THE VISUAL SERVOING TASK WITH A NEW TRAJECTORY PREDICTOR - The Fuzzy
Kalman Filter
40
Real Position 7 CONCLUSIONS AND FUTURE
35 Prediction Ab
Prediction Abg WORK
30 Prediction Kv
Prediction Ka
Prediction Kj
25 In section 6.1 (figures 5 and 6), we can see the qual-
Position (pixels)
Prediction FKF
t (miliseconds)
Ka and Kj in experiments of pure prediction. We
Figure 10: Bounce of the ball on the ground. Data.
have compared too, our filter with Circular Predic-
tion Algorithm (CPA) in this paper reproducing the
same experiment as (Chroust and Vincze, 2003) for a
direct comparison with the work done by Chroust and
Vincze. The filter proposed works very well but not
better than SKF for all conditions, therefore, the addi-
tion of a AKF action can improve the filter behaviour
(future work).
The FKF is evaluated with a ramp-like and
sinosoidal motions. ∆x p is reduced in all tests done
and the overshoot is decreased significantly.
Results presented in this paper are obtained for C(z) =
KP . Other controllers like PD, PID, ... will be imple-
mented in future work.
ACKNOWLEDGEMENTS
This work is supported by the Plan Nacional de
I+D+I 2004-2007, DPI2005-08203-C02-02 of the
Spanish Government (Técnicas Avanzadas de Tele-
operación y Realimentación Sensorial Aplicadas a la
Cirugı́a Asistida por Robots).
REFERENCES
Chroust, S. and Vincze, M. (2003). Improvement of the
prediction quality for visual servoing with a switching
kalman filter. I. J. Robotic Res., 22(10-11):905–922.
Chroust, S., Z. E. and Vincze, M. (2001). Pros and cons of
control methods of visual servoing. In In Proceedings
of the 10th International Workshop on Robotics in the
Alpe-Adria-Danube Region.
Corke, P. I. (1998). Visual Control of Robots: High Per-
formance Visual Visual Servoing. Research Studies
Figure 11: Bounce of the ball on the ground. Frames. Press, Wiley, New York, 1996 edition.
Dickmanns, E. D. and V., G. (1988). Dynamic monocular
machine vision. In Applications of dinamyc monoclar
machine vision. Machine Vision and Applications.
139
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Hutchinson, S., H. G. D. and Corke, P. (1996). Visual ser- Z. Duric, E. R. and Davis, L. (1993). Egomotion analysis
voing: a tutorial. In Transactions on Robotics and based on the frenet-serret motion model. In Proceed-
Automation. IEEE Computer Society. ings of the 4th International Conference on Computer
Vision. IEEE Computer Society.
J. Angeles, A. R. and Lopez-Cajun, C. S. (1988). Trajectory
planning in robotics continuous-path applications. In Z. Duric, E. R. and Rosenfeld, A. (1998). Understanding the
Journal of Robotics and Automation. IEEE Computer motions of tools and vehicles. In Proceedings of the
Society. Sixth International Conference on Computer Vision.
IEEE Computer Society.
Kalman, R. E. (1960). A new approach to linear filter-
ing and prediction problems. In IEEE Transactions Z. Duric, J. A. F. and Rivlin, E. (1996). Function from mo-
on Pattern Analysis and Machine Intelligence. IEEE tion. In Transactions on Pattern Analysis and Machine
Computer Society. Intelligence. IEEE Computer Society.
140
OBSTACLE DETECTION IN MOBILE OUTDOOR ROBOTS
A Short-term Memory for the Mobile Outdoor Platform RAVON
Keywords: Obstacle Detection, Obstacle Avoidance, Behaviour-based Navigation, Mobile Robotics, Short-term Memory,
Distributed Minimal World Model, Algorithms, Biologically Inspired Robotics.
Abstract: In this paper a biologically inspired approach for compensating the limited angle of vision in obstacle detection
systems of mobile robots is presented.
Most of the time it is not feasible to exhaustively monitor the environment of a mobile robot. In order to
nonetheless achieve safe navigation obstacle detection mechanisms need to keep in mind certain aspects of
the environment. In mammals this task is carried out by the creature’s short-term memory. Inspired by this
concept an absolute local map storing obstacles in terms of representatives has been introduced in the obstacle
detection and avoidance system of the outdoor robot RAVON. That way the gap between the fields of vision of
two laser range finders can be monitored which prevents the vehicle from colliding with obstacles seen some
time ago.
1 INTRODUCTION
141
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
3 VEHICLE DESCRIPTION
The platform used to examine obstacle avoidance is
the four wheeled off-road vehicle RAVON (see Fig-
ure 1). It measures 2.35 m in length and 1.4 m in
width and weighs 400 kg. The vehicle features a four
142
OBSTACLE DETECTION IN MOBILE OUTDOOR ROBOTS - A Short-term Memory for the Mobile Outdoor Platform
RAVON
Listing 1: Declarations.
# Raw s e n s o r i n f o r m a t i o n from t h e
# l a s e r range f i n d e r s
scanner data
# FIFO c o n t a i n i n g t h e c a n d i d a t e o b s t a c l e s
obstacle fifo
# The maximal l e n g t h o f t h e q u e u e
# assures that the obstacle l i s t s
# h a v e a c e r t a i n a g e when r e t r i e v e d .
# Furthermore the scans are discarded
# i f t h e v e h i c l e i s n o t moving t o p r e v e n t
# the accumulation of outdated information .
max number of scans
# T h r e s h o l d o f t h e maximal e u c l i d e a n d i s t a n c e
# b e t w e e n t h e c u r r e n t v e h i c l e p o s e and t h e
# one a t which a s c a n was t a k e n .
Figure 3: Top-level concept of RAVON’s Obstacle Avoid-
progress threshold
ance Facility.
Figure 3 illustrates the structure of the laser-
scanner-based part of the obstacle avoidance system.
4 A SHORT-TIME MEMORY FOR The sensor flow1 of the main loop which is dealing
with the short-term memory is outlined in Listing 2
RAVON (For explanation of the particular variables used see
Listing 1). The first step of the main loop is the de-
In order to compensate for the blind angles of the sen- tection of obstacles from the laser range data which is
sor systems local short-term memories shall succes- carried out in the Obstacle Detection facility. The cur-
sively be introduced. Any of these can be regarded as rent vehicle pose in the robot’s absolute working coor-
a virtual sensor system which can seamlessly be inte- dinate system is applied to the resulting obstacle lists
grated into RAVON’s control system as described in in order to yield an absolute reference map through
(Schäfer et al., 2005). That way step by step blind which the robot can virtually be navigated. After that
regions can be covered with increasing accuracy as the lists are casted into sector maps which are used
overlapping virtual sensors yield more and more ad- by the Obstacle Avoidance behaviours to com-
ditional information. In this paper the validation of pute evasive steering commands if necessary.
the general approach and connected technical facili- For the extension described in this paper a FIFO
ties are presented by the example of closing the gap queue was introduced which holds in stock the ob-
between the two laser range finders (See Figure 2). stacle lists of several subsequent scans. In every
sense cycle older obstacle lists are examined for ob-
1
The control concept underlying all robot projects at the
Robotics Research Lab strictly separates the main loop into
a buttom up sense and a top down control cycle which are
alternately invoked.
143
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
i f ( c u r r e n t v e l o c i t y ! = 0 ) do
# remove r e p r e s e n t a t i v e s which a r e no
# longer in the scanner ’ s blind angle
Trim ( s h o r t t e r m m e m o r y l e f t , c u r r e n t r o b o t p o s e )
Trim ( s h o r t t e r m m e m o r y r i g h t , c u r r e n t r o b o t p o s e )
# check age c r i t e r i o n ( a )
while ( Size ( o b s t a c l e l i s t f i f o ) >
m a x n u m b e r o f s c a n s ) do
obstacle list = First ( obstacle list fifo )
FillObstacleMemory ( short term memory left ,
short term memory right ,
obstacle list ,
current robot pose )
RemoveFirst ( o b s t a c l e l i s t f i f o )
od
# check p r o g r e s s c r i t e r i o n ( b )
obstacle list = First ( obstacle list fifo )
while ( D i s t a n c e ( Pose ( o b s t a c l e l i s t ) ,
current robot pose )
> p r o g r e s s t h r e s h o l d ) do
FillObstacleMemory ( short term memory left ,
short term memory right ,
obstacle list ,
current robot pose )
RemoveFirst ( o b s t a c l e l i s t f i f o )
obstacle list = First ( obstacle list fifo )
od
else
# d i s c a r d o l d e r s c a n s i f n o t moving
while ( Size ( o b s t a c l e l i s t f i f o ) >
m a x n u m b e r o f s c a n s ) do
RemoveFirst ( o b s t a c l e l i s t f i f o )
od
esle
esneS
144
OBSTACLE DETECTION IN MOBILE OUTDOOR ROBOTS - A Short-term Memory for the Mobile Outdoor Platform
RAVON
4
In the following this list shall be referred to as obstacle Once in an absolute context the coordinates
list. can reside where they are. With the subroutine
145
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
146
OBSTACLE DETECTION IN MOBILE OUTDOOR ROBOTS - A Short-term Memory for the Mobile Outdoor Platform
RAVON
147
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
REFERENCES
Badal, S., Ravela, S., Draper, B., and Hanson, A. (1994). A
practical obstacle detection and avoidance system. In
IEEE Workshop on Applications of Computer Vision.
Bonnafous, D., Lacroix, S., and Simon, T. (2001). Motion
generation for a rover on rough terrain. In IEEE/RSJ
International Conference on Intelligent Robots and
Systems.
Kamon, I., Rivlin, E., and Rimon, E. (1996). A new
range-sensor based globally convergent navigation al-
gorithm for mobile robots. In IEEE International
Conference on Robotics and Automation (ICRA).
Laubach, S. L. and Burdick, J. W. (1999). An autonomous
sensor-based path-planner for planetary microrovers.
In IEEE Int. Conf. on Robotics and Automation.
McVea, D. and Pearson, K. (2006). Long-lasting memories
of obstacles guide leg movements in the walking cat.
The Journal of Neuroscience.
Proetzsch, M., Luksch, T., and Berns, K. (2005). Fault-
tolerant behavior-based motion control for offroad
navigation. In 20th IEEE International Conference on
Robotics and Automation (ICRA), Barcelona, Spain.
Schäfer, H. and Berns, K. (2006). Ravon - an autonomous
vehicle for risky intervention and surveillance. In In-
ternational Workshop on Robotics for risky interven-
tion and environmental surveillance - RISE.
Schäfer, H., Proetzsch, M., and Berns, K. (2005). Exten-
sion approach for the behaviour-based control system
of the outdoor robot ravon. In Autonome Mobile Sys-
teme.
Schmitz, N., Proetzsch, M., and Berns, K. (2006). Pose esti-
mation in rough terrain for the outdoor vehicle ravon.
In 37th International Symposium on Robotics (ISR).
Shiller, Z. (2000). Obstacle traversal for space exploration.
In IEEE International Conference on Robotics and
Automation.
148
METHODOLOGY FOR LEARNING VISUAL REACTIVE
BEHAVIOURS IN ROBOTICS THROUGH REINFORCEMENT AND
IMAGE-BASED STATES
Keywords: Reinforcement Learning, Mobile Robotics, Artificial Vision, Visual Reactive Behaviours, Motivation.
Abstract: This article describes the development of a methodology for the learning of visual and reactive behaviours
using reinforcement learning. With the use of artificial vision the environment is perceived in 3D, and it
is possible to avoid obstacles that are invisible to other sensors that are more common in mobile robotics.
Reinforcement learning reduces the need for intervention in behaviour design, and simplifies its adjustment to
the environment, the robot and the task. The designed methodology is intended to be general; thus, in order
to change the desired behaviour, only the reinforcement and the filtering of the image need to be changed.
For the definition of the reinforcement a laser sensor is used, and for the definition of the states a fixed 3x3
grid is used. The behaviours learned were wall following, object following, corridor following and platform
following. Results are presented with a Pioneer 2 AT. A Gazebo 3D simulator was used for the Learning and
testing phase, and a test of the wall following behaviour was carried out in a real environment.
149
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
servoing and wandering), but which are simpler as or is excessively close to one).
there is no need to maintain a distance from the wall Learning consists of approximating a quality func-
the robot is following. Gaskett et al. (Gaskett et al., tion Q(s, a). The optimal action in each state is the
2000) use an improved version of Q-learning (“Ad- one that maximizes its evaluations. The algorithm
vantage Learning”) which handles continuous states chosen for this work is TTD(λ) - Q-learning, due to
and actions thanks to neural networks. it being based on the basic and simply Q-Learning al-
Another implementation of visual servoing be- gorithm but applied to several states obtaining a faster
haviour can be found in (Martı́nez-Marı́n and Duck- convergence time. The updating equation for the val-
ett, 2005). The algorithm used is another variant of Q- uations is:
learning that permits real-time learning. Unlike in the
present work, the state of the agent is defined by the ∆Q(st , at ) = α[rt + γmaxa Q(st+1 , a) − Q(st , at )]et (s) ,
position of the camera (inclination and angle of turn) (1)
focused on the objective, and not by the image. Thus, for all st ∈ Sn where α is the learning coefficient, γ is
active vision is required, along with a perfect identifi- the reinforcement discount coefficient, Sn is the set of
cation of the objective, which is not always possible. the n-last visited states and et is the eligibility trace of
It is also difficult to use the same system to implement the state:
more than one behaviour simultaneously.
A similar, but more complete, general approach γ λ et−1 (s) if s 6= st ,
et (s) = (2)
was taken in (Boada et al., 2002). This system learns 1 if s = st ,
basic behaviours (watching and orientation) for con-
trolling a pan-tilt unit and the robot, and combines where λ is a decay parameter. Initial Q-values ∈
them to obtain complex ones (approach). Neverthe- [−0, 9, −1, 0].
less, they need to detect and identify the objective, One drawback of Q-learning is the need to strike a
which is very difficult with a wall, a corridor or a plat- balance between exploration and exploitation. In or-
form. Once again, states were not defined directly by der to do so, the Softmax method (Moreno et al., 2004)
the image. has been applied, where the probability of taking the
Ruiz et al. (Ruiz et al., 2005) have implemented action ai in the state s at time t is:
two visual behaviours. Their approach is based on
the detection of straight segments in the image, which eQt (s,ai )/Ts
to a certain degree limits its mode of use. Moreover, Pr(s, ai ) = , (3)
∑nj=1 eQt (s,a j )/Ts
control is totally heuristic, with no type of learning.
Our approach is more general and is not conditioned
by the characteristics of the environment. where {a1 , ...., an } is the set of possible actions in the
state s and Ts is the temperature associated to state s.
With temperature it is possible to regulate the
probability distribution between actions, and thus, the
3 REINFORCEMENT LEARNING balance between exploration and exploitation. Ini-
tially we start from a high temperature (greater ex-
Reinforcement learning (RL) is based on the use of ploration of actions) and this is progressively reduced
a qualification (reinforcement) of the agent’s actions throughout the learning in order to principally select
by the environment. The reinforcement does not in- those actions with the best evaluation.
dicate the correct action (supervised learning), only Temperature is modified for each state in accor-
whether it has been satisfactory or not, and is not usu- dance with the equation:
ally immediate in time. The situations of the agent are
usually codified into discrete states (s) in which vari- ( T
− t ln 0
ous actions (a) can be implemented (may be different T (t) = T0 e tk k if t ≤ tk , (4)
for each state). k if t > tk ,
A simple and intuitive definition of reinforcement
has been sought, as we believe that it is one of the where t is the number of times the current state has
main advantages of this type of algorithm. Rein- appeared, T0 is the ”initial” temperature, k is the min-
forcement indicates only those situations in which it imum temperature (the state does not explore more
is highly probable that the robot has ceased to imple- actions) and tk is the number of appearances that are
ment the task correctly (i.e. the robot is excessively required for the temperature to reach k.
far from a wall), or has definitively carried it out badly Table 1 shows a summary of the values used for
(the robot collides with an element in its environment the parameters of the TTD(λ) - Q-learning algorithm.
150
METHODOLOGY FOR LEARNING VISUAL REACTIVE BEHAVIOURS IN ROBOTICS THROUGH
REINFORCEMENT AND IMAGE-BASED STATES
4 BEHAVIOURS be avoided; that is, the system should not classify two
situations in which the robot must execute very differ-
4.1 Common Aspects ent commands in the same state.
Lastly, due to the quantity of information gener-
ated by a camera, the image needs to be processed in
On a reactive behaviour and with RL, each state must
order to reduce the amount of pertinent information
contain all the information for selecting the next ac-
(Nehmzow, 1999). In order to resolve these problems,
tion. After several tests the camera, which uses a 80
a simple, computationally efficient methodology has
wide-angle lens, (Fig. 1) was placed 53 cm over the
been employed, which can be run in real time on a
robot and inclined 42 degrees towards the floor. Using
mobile robot (Regueiro et al., 2006). This approach
these values there is no need to change the position of
is easily generalisable.
the camera for the different behaviours.
Firstly, with the exception of object following, the
image is processed with a Sobel edge enhancement
filter (Fig. 2(b)) to highlight the pertinent information:
obstacles (positive and negative) on the floor. This
floor detection process is highly sensitive to changes
in lighting and textures. Nevertheless, it can be im-
proved in different ways: with stereo vision, by cali-
brating the camera to detect the ground plane or by ap-
plying Machine-Learning techniques for ground de-
tection (Michels et al., 2005). For the object follow-
ing behaviour the image is processed to detect a spe-
Figure 1: Position of the camera and the laser in the Gazebo cific colour (red was chosen). Then for each pixel its
simulator. red value is analysed, and if this exceeds a specified
threshold it is set to white, otherwise it is set to black.
The position of the laser depends on the reinforce- Secondly, the image is divided into a grid made up
ment wanted but, with the exception of the platform of 3 rows and 3 columns (Fig. 2(c)) for codification. A
following, the laser was placed over the front of the cell is considered occupied if the percentage of edge
robot, centred and parallel to the floor. For the plat- pixels reaches a given threshold. This step is essential
form following behaviour it was inclined 45 degrees for avoiding “perceptual aliasing”. Thus defined, the
towards the floor in order to detect the limits of the state space is 29 , and in order to reduce it, it is sup-
platform. A SICK LMS 200 laser sensor was used. posed that if a cell in one of the columns is occupied,
all those cells above it are also occupied (Fig. 2(c)).
4.1.1 State Space Hence the number of possible states is (3 + 1)3 ; i.e.
64. The state space may be further reduced, but dras-
As was to be expected, the definition of the state space tic modifications would be needed in the codification,
was critical in the development of this work, since it which would be difficult to justify.
has to respond to criteria that are at times conflicting.
On one hand, the space must be small, as convergence 4.1.2 Action Space
time in RL increases exponentially with the number of
states. On the other hand, “perceptual aliasing” must The action space was chosen in order to allow a flex-
ible behaviour, and at the same time avoid a series
of actions that would leave the robot immobile and
Table 1: Values used in this work for the TTD(λ) - Q- without negative reinforcement. One constraint of Q-
learning algorithm. learning is that actions must be discrete. Hence, the
action space chosen is as in Table 2
Par. Description Value
α Learning coefficient 0.2 4.2 Wall Following Behaviour
γ Reinforcement discount coefficient 0.99
T0 Initial temperature 0.07 It has been shown that wall following behaviour is one
k Lower temperature limit 0.009 of the most useful when robots need to move reac-
tk State exploration limit 500 tively and safely through their environment (Regueiro
λ Decay parameter 0.9 et al., 2002). One of its advantages is that it only uses
n Number of last visited states 3 local information, and it makes use of the topological
structure of the environment.
151
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Figure 2: Determination of state with an image: a) original image; b) edge pixels (Sobel filter); and c) final codified state
(showing the codification grid and the free and occupied cells).
The defined reward is always negative (-1), spurious The environment used is shown in Fig. 4(a).
in time, and has two different components: Wall following behaviour belongs to the class of
continuous tasks which persist over time. This means
1. Close reinforcement: if any of the laser beams de- that they are not divided naturally into episodes, as
tects an obstacle at 25 cm or less. would be desirable for application of a reinforcement
2. Far reinforcement: if the right-hand beam detects algorithm. In order to avoid this drawback a rein-
a distance greater of 1 m. forcement is generated after each serious system error
(collision or excessive distancing) and the robot exe-
The reinforcement has been defined in two ways: cutes a recovery function which returns the robot to a
1. Instant reinforcement: the reinforcement is ap- safe state.
plied when it finds a non desired situation. Used Fig. 3 shows the reinforcement received during the
with the close reinforcement. learning phase in TTD(λ). Each point represents the
reinforcement accumulated in the previous 400 learn-
2. Delayed reinforcement: the reinforcement is ap- ing cycles. Thus, the first point indicates that the rein-
plied when a undesired situation persists over a forcement received since the onset of the experiment
period of time. Used with the “far reinforcement”. up until 400 cycles has been -12, and so forth. The
learned Q-values are stored for their subsequent test-
With delayed reinforcement the need to always
ing.
have a wall on the right side is relaxed and thus a more
As can be seen in the diagrams, the agent learns
robust behaviour is possible.
the task in 2,000 learning cycles with TTD(λ) as op-
posed to 80,000 cycles obtained with Q-Learning al-
gorithm and 8x4 grid (Regueiro et al., 2006).
Table 2: Action space chosen.
152
METHODOLOGY FOR LEARNING VISUAL REACTIVE BEHAVIOURS IN ROBOTICS THROUGH
REINFORCEMENT AND IMAGE-BASED STATES
(a) (b)
Figure 4: Wall following behaviour: a) Trajectories obtained during initial stages; and b) Trajectories obtained during final
stages.
4.3 Corridor Following Behaviour wall, and the right turns, where the robot tries to go
straight until the wall is directly in front of it.
The corridor following behaviour is one of the sim- Fig. 5 shows the reinforcement received during the
plest behaviours to learn; nevertheless, when work- learning phase in TTD(λ). As can be seen in the dia-
ing with RL it has problems with decision selection grams, the agent learns the task in 800 learning cycles.
at crossroads. It simply makes no decision, as could
be expected from a reactive behaviour, thus the robot
cannot be ordered to go straight on or to turn at a
junction. Several positive reinforcements were used
to make the robot go straight on, but without success.
153
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
(a) (b)
Figure 6: Corridor following behaviour: a) Trajectories obtained during initial stages; and b) Trajectories obtained during
final stages.
beam value is greater than the expected distance plus 4.5.1 Definition of Reinforcement
15 cm, then the reward is -1.
The defined reward is negative (-1.0) when any of the
4.4.2 Results following conditions is accomplished:
1. Close reinforcement: if any of the laser beams de-
The environment used is shown in Fig. 8(a).
tects an obstacle at 30 cm or less.
Fig. 7 shows the reinforcement received during the
learning phase in TTD(λ). As can be seen in the dia- 2. Image reinforcement: if the prey is not viewed by
grams, the agent learns the task in 2,000 learning cy- the camera.
cles.
4.5.2 Results
The main change for this behaviour was the filtering 4.6 Test in a Real Robot
of the image. Here, instead of using a Sobel filter the
image is preprocessed with a simple colour filter. Red Finally we have tested the behaviour with minor
was chosen and a red box is attached to the prey, an- changes on a real environment: a long corridor, nar-
other Pioneer 2-AT executing a follow line behaviour. rower than learning environment, with many new fea-
The prey has a follow line behaviour, the path of the tures, such as trash baskets, radiators, plants, glass
pray is shown in Fig. 10(a). walls, open and closed doors. This real environment
154
METHODOLOGY FOR LEARNING VISUAL REACTIVE BEHAVIOURS IN ROBOTICS THROUGH
REINFORCEMENT AND IMAGE-BASED STATES
(a) (b)
Figure 8: Platform following behaviour: a) Trajectories obtained during initial stages; and b) Trajectories obtained during
final stages.
(a) (b)
Figure 10: Object following behaviour: a) Trajectories obtained during initial stages; and b) Trajectories obtained during final
stages.
155
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
ACKNOWLEDGEMENTS
This paper was supported in part by the Xunta
de Galicia and Spanish Government under Grants
PGIDIT04-TIC206011PR, TIN2005-03844, and de-
partment colaboration grant (B.O.E. 16-06-2006).
REFERENCES
Boada, M., Barber, R., and Salichs, M. (2002). Visual ap-
proach skill for a mobile robot using learning and fu-
sion of simple skills. Robotics and Autonomous Sys-
Figure 11: Robot’s path carrying out the visual wall fol-
tems, 38:157–170.
lowing behaviour on a real environment (right wall). The
map is a certainty grid created with a LMS200 laser (white Gaskett, C., Fletcher, L., and Zelinsky, A. (2000). Rein-
pixels are free space, black obstacles and grey uncertainty). forcement learning for a vision based mobile robot. In
Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and
Systems (IROS), volume 1, pages 403–409.
Martı́nez-Marı́n, T. and Duckett, T. (2005). Fast reinforce-
out on the 3-D Gazebo simulator. A wall following ment learning for vision-guided mobile robots. In
test in a real environment is also shown. IEEE Int. Conf. on Robotics and Automation (ICRA),
Using a fisheye camera the environment is per- pages 4170–4175.
ceived in 3D, and it is possible to avoid obstacles that Michels, J., Saxena, A., and Ng, A. (2005). High speed
are invisible to other sensors which are more common obstacle avoidance using monocular vision and rein-
in mobile robotics (laser or ultrasounds). forcement learning. In Proc. Int. Conf. on Machine
In the proposed methodology the states are de- Learning.
fined directly from the image after a simple prepro- Millán, J. R., Posenato, D., and Dedieu, E. (2002).
cessing (Sobel or colour filtering) with no calibration Continuous-action Q-Learning. Machine Learning,
process. With a 3x3 grid, we can define a state space 49:247, 265.
of only 64 states. It has a certain degree of “percep- Moreno, D., Regueiro, C., Iglesias, R., and Barro, S.
tual aliasing”, but RL algorithm converges. We have (2004). Using prior knowledge to improve reinforce-
ment learning in mobile robotics. In Towards Au-
also tested grids of different dimensions with similar
tonomous Robotic Systems (TAROS).
results but greater convergence time. A delicate bal-
ance need be struck between reducing the number of Nakamura, T. and Asada, M. (1995). Motion sketch: Ac-
quisition of visual motion guided behaviors. In IJCAI,
states and avoiding “perceptual aliasing”. pages 126–132.
The proposed codification and methodology is
Nehmzow, U. (1999). Vision processing for robot learning.
general, not specific for the task, and has proved to Industrial Robot, 26(2):121–130.
be efficient and valid, and easy to adapt to distint be-
Regueiro, C., Domenech, J., Iglesias, R., and Correa, J.
haviours. The system works with different types of
(2006). Acquiring contour following behaviour in
reinforcement and filtering. robotics through q-learning and image-based states. In
Various tests were carried out to verify the robust- Proc. XV Int. Conf. on Computer and Information Sci-
ness of the learned behaviours. We used obstacles that ences Engineering (CISE), pages 403–409.
were not detected by the laser device, and walls with Regueiro, C., Rodrı́guez, M., Correa, J., Moreno, D., Igle-
gaps. In both cases the system generalized perfectly sias, R., and Barro, S. (2002). A control architecture
and the results were optimal. If the gaps in the walls for mobile robotics based on specialists. In Leondes,
were large (over 40 cm) a large number of new states C., editor, Intelligent Systems: Technology and Appli-
appeared with respect to the training process, and the cations, volume 6, pages 337–360. CRC Press.
final result deteriorated. Ruiz, J., Montero, P., Martı́n, F., and Matellán, V. (2005).
Future lines of work include on-line real robot Vision based behaviors for a legged robot. In Proc.
Workshop en Agentes Fı́sicos (WAF), pages 59–66.
learning, the integration of several behaviours (e.g.
follow objects and avoid obstacles) and establishing Wyatt, J. (1995). Issues in putting reinforcement learning
onto robots. In 10th Biennal Conference of the AISB,
a mechanism for automatically defining the states of Sheffield, UK.
RL (e.g. neural networks).
156
FORMAL VERIFICATION OF SAFETY BEHAVIOURS OF THE
OUTDOOR ROBOT RAVON
T. Schuele, K. Schneider
Reactive Systems Group, University of Kaiserslautern, Germany
[email protected], [email protected]
Abstract: This paper presents an approach to the formal verification of safety properties of the behaviour-based control
network of the mobile outdoor robot RAVON. In particular, we consider behaviours that are used for the com-
putation of the projected vehicle’s velocity from obstacle proximity sensor data and inclination information.
We describe how this group of behaviours is implemented in the synchronous language Quartz in order to
be formally verified using model checking techniques of the Averest verification framework. Moreover, by
integrating the automatically generated and verified code into the behaviour network, it can be guaranteed that
the robot slows down and stops as required by the given safety specifications.
1 INTRODUCTION
More and more applications like unmanned space
travelling, autonomous farming, civil protection, and
humanitarian demining require autonomous vehicles
navigating in unstructured natural terrain. The di-
versity as well as missing information for physical
models of outdoor scenarios call for a flexible con-
trol architecture not requiring a complete knowledge
of the environment to achieve robust locomotion. In
this context, behaviour-based control networks have
proven suitable for appropriate reaction on external
influences.
One of the advantages of behaviour-based ar-
chitectures is emergence: The combination of be- Figure 1: RAVON in rough outdoor terrain.
haviours leads to proper reactions not directly ex-
plainable by the individual components. On the other by formal verification methods, it is guaranteed that
hand, this feature also poses problems concerning the checked specifications hold under all circum-
predictability, making it difficult to reason about the stances. In particular, different kinds of model check-
correctness of the overall system. However, safety ing (Schneider, 2003; Schuele and Schneider, 2006)
critical applications require proofs that guarantee that are popular verification methods due to the high de-
given specifications are met. In particular, the correct- gree of automation.
ness of reactive control layers is mandatory for the fi- In this paper, we consider the formal verifica-
nal behaviour of the robot. tion of a part of the behaviour-based control network
In circuit design, formal verification has already of the mobile outdoor platform RAVON (Robust
become a standard to avoid design errors. Since Autonomous Vehicle for Off-road Navigation, see
all possible input traces of a system are considered Fig. 1), namely RAVON’s control system that is re-
157
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
158
FORMAL VERIFICATION OF SAFETY BEHAVIOURS OF THE OUTDOOR ROBOT RAVON
159
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
The activity is set according to the weighted input ac- • Keep Distance Sideward: Accomplish sideward
tivities, the activation, and the maximally activated in- motion due to obstacles at the side; independently
hibiting behaviour: used for both sides of the vehicle.
n−1 • Evasion: Evade obstacles at the front by arbitrat-
∑ a2j ing between the keep distance behaviours.
j=0
a= n−1
· ι · (1 − im ) where im = max(il )
l • Point Access: Accessing a given position.
∑ ak
k=0
• Point Access Ranking: Perform ranking manoeu-
The target rating of a fusion behaviour indicates its vres accounting for kinematic constraints.
goal to satisfy highly activated input behaviours and
is calculated as follows: • Trace Back: Follow just driven path backwards in
n−1 order to escape dead ends.
∑ aj ·rj
r=
j=0 The advantage of this approach is the emergent
n−1 vehicle behaviour leading to unforeseen, but suitable
∑ ak reaction on several external influences at a time. How-
k=0
ever, especially the maintenance of vehicle and person
The weighted fusion function provides a subtle safety requires methods for guaranteeing fundamental
gradation of coordinating behaviour control outputs characteristics of the vehicle motion e.g. in critical sit-
regarding their activity. uations. Therefore, it is necessary to formally verify
the behaviour network with respect to a given set of
specifications.
160
FORMAL VERIFICATION OF SAFETY BEHAVIOURS OF THE OUTDOOR ROBOT RAVON
161
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
162
FORMAL VERIFICATION OF SAFETY BEHAVIOURS OF THE OUTDOOR ROBOT RAVON
& (si_scanner_distance In our case study, global model checking was able
>= MAX_VELOCITY_OBSTACLE_DISTANCE) to check the specifications up to a sufficiently large
& (si_roll bitwidth. We used CadenceSMV as backend of Aver-
<= MAX_VELOCITY_INCLINATION)
est. In the following table, we list experimental re-
& (si_pitch
<= MAX_VELOCITY_INCLINATION) sults for some bitwidths. For each bitwidth, we list
-> co_velocity == ci_velocity); the number of reachable states, the runtime that was
necessary to verify the system, and the number of re-
• If very high inclination or very near obstacles oc- quired BDD nodes for the entire verification of the
cur, the output velocity is set to zero, i.e., the ve- eight specifications. All experiments were performed
hicle stops:
on a PentiumIV with 512 MByte main memory.
A G (si_roll >= STOP_INCLINATION
-> co_velocity == 0u); Table 1: Experimental results of the verification process.
A G (si_pitch >= STOP_INCLINATION
-> co_velocity == 0u); bits states runtime (s) BDD nodes
A G (si_camera_distance 3 1024 0.95 453
<= STOP_OBSTACLE_DISTANCE
-> co_velocity == 0u);
4 8192 1.59 10012
A G (si_scanner_distance 5 65536 2.54 10063
<= STOP_OBSTACLE_DISTANCE 6 524288 3.87 10521
-> co_velocity == 0u); 7 4194204 5.54 15399
8 33554432 8.85 49500
• In case of a rising roll angle, the vehicle slows
down. Similar specifications hold for the pitch an- In the process of implementing the behaviour net-
gle and for near obstacles: work, the question arose if the fusion behaviours
A G (ci_velocity == MAX_VALUE could implement a maximum fusion function (i.e. the
& si_camera_distance most active behaviour has full influence) instead of
> MIN_VELOCITY_OBSTACLE_DISTANCE the weighted fusion function. By means of formal
& si_scanner_distance verification, it was possible to show that in this case
> MIN_VELOCITY_OBSTACLE_DISTANCE not all specifications were valid. Depending on the
& si_pitch implementation, there was either no slowing down of
< MIN_VELOCITY_INCLINATION
the vehicle (but only abrupt stopping) or it was possi-
& si_roll
> MAX_VELOCITY_INCLINATION ble that the velocity output was higher than the veloc-
& si_roll ity input. Experimental changes concerning the struc-
< MIN_VELOCITY_INCLINATION ture and implementation of the behaviour network
-> co_velocity < MAX_VALUE can therefore be performed with immediate feedback
& co_velocity > 0u ); about the correct properties stated in the specifica-
tions.
In order to avoid vacuous specifications, formulas of
the type AG(ϕ → ψ) are always complemented with
EFϕ (not shown here). In this way, it is guaranteed
that the antecedent of the implication is not always 6 CONCLUSIONS AND FUTURE
false. All of our specifications can be expressed in WORK
the temporal logic CTL. Hence, we can use state-
of-the-art model checking techniques to verify these We presented an approach to the formal verification of
properties. Using global model checking, the model a behaviour-based control network. Without the need
checkers perform a complete traversal of the reach- of testing, it is guaranteed that the specified proper-
able states and thereby check whether the given speci- ties are valid for all possible input traces. Of course,
fications hold. Using local model checking, the model it is necessary to verify more parts of the system or
checkers perform some sort of an induction proof to even the complete behaviour-based network. Due to
avoid a complete state space traversal. the enormous number of states, this inevitably leads to
BDD-based symbolic model checkers do usually the need of improving the model checking approach.
not support floating point numbers. Therefore, inte- Therefore, methods like modular model checking and
gers with a given bitwidth are used for the implemen- abstraction will have to be analysed in this respect.
tation in Quartz instead of floating point numbers. In The uniformity of the behaviours is seen to be an ad-
order to integrate the verified module in the control vantage in this context that can be exploited by tai-
system, a conversion from floating point to fixpoint lored verification and abstraction techniques.
numbers is performed for control and sensor values.
163
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
164
A MODIFIED IMPULSE CONTROLLER FOR IMPROVED
ACCURACY OF ROBOTS WITH FRICTION
Keywords: Impulsive control, static friction, limit cycle, stick-slip, impulse shape, friction model, accuracy.
Abstract: This paper presents a modified impulse controller to improve the steady state positioning of a SCARA robot
having characteristics of high non-linear friction. A hybrid control scheme consisting of a conventional PID
part and an impulsive part is used as a basis to the modified controller. The impulsive part uses short width
torque pulses to provide small impacts of force to overcome static fiction and move a robot manipulator
towards its reference position. It has been shown that this controller can greatly improve a robot’s accuracy.
However, the system in attempting to reach steady state will inevitably enter into a small limit cycle whose
amplitude of oscillation is related to the smallest usable impulse. It is shown in this paper that by modifying
the impulse controller to adjust the width of successive pulses, the limit cycle can be shifted up or down in
position so that the final steady state error can be even further reduced.
165
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
a) b)
166
A MODIFIED IMPULSE CONTROLLER FOR IMPROVED ACCURACY OF ROBOTS WITH FRICTION
167
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
f p ( f p − fC )
PID Output d= t p2
2mf C , fp > 0 (8)
τs
The gain is iteratively adjusted until the net
Figure 4: Friction controller output.
displacement for each incremental pulse width is as
small as practical.
system has the ability to counteract random
disturbances applied to the servomechanism. The
continuous part of the controller is tuned to react to
2.4 Minimum Pulse Width
large errors and high velocity, while the impulse part
The precision of the system is governed by the
is optimized for final positioning where stiction is
most prevalent. smallest incremental movement which will be
For large errors, the impulse width approaches produced from the smallest usable width pulse.
Because the shape of the pulse is affected by the
the full sample period τs, and for very large errors, it system’s electrical circuit response, a practical limit
transforms into a continuous driving torque. When is placed on the amplitude of the pulse over very
this occurs, the combined control action of the PID
short durations and this restricts the amount of
controller and the impulsive controller will be
energy that can be contained within a very thin
continuous. Conversely, for small errors, the PID
pulse. Consequently, there exists a minimum pulse
output is too small to have any substantial effect on
the servomechanism dynamics. width that is necessary to overcome the static
The high impulse sampling rate, combined with a friction and guarantee plastic movement.
small error, ensures that the integral (I) part of the For the Hirata robot, the minimum pulse width
PID controller output has insufficient time to rise guaranteeing plastic displacement was determined to
and produce limit cycling. To counteract this loss of be 2ms and therefore the pulse width is adjusted
driving torque, when the error is below a threshold, between 2 and 10ms. Any pulse smaller than 2ms
the impulsive controller begins to segment into results in elastic movement of the mating surfaces in
individual pulses of varying width and becomes the the form of pre-sliding displacement. In this regime,
primary driving force. One way of achieving this is short impulses can produce unpredictable
to make the pulse width Δ determined by: displacement or even no displacement at all. In some
cases, the mechanism will spring back greater than
the forward displacement resulting in a larger error.
k pwm ⋅ e(k )τ s Figure 5 shows the displacement of the experimental
Δ= if k pwm ⋅ | e( k ) |≤| f p |
fp system of five consecutive positive impulses
followed by five negative impulses. The experiment
Δ =τs otherwise (6) compares impulses of width 2ms and 1.5ms. For
impulses of 2ms, the displacement is represented by
In (6) the consistent staircase movement. For a width of
1.5ms, the displacement is unpredictable with
168
A MODIFIED IMPULSE CONTROLLER FOR IMPROVED ACCURACY OF ROBOTS WITH FRICTION
169
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Limit cycling will occur for all general that the peak to peak centreline of the oscillation has
servomechanisms using a torque pulse because now been shifted away from the reference point.
every practical system inherently has a minimum However, at least one of the peaks of the
pulse width that defines the system’s resolution. oscillation has been shifted closer to the set point. If
Figure 7 simulates a typical limit cycle with a peak the controller is disabled when the mechanism is
to peak oscillation equal to the displacement of the closest to the reference set point, a new reduced
minimum pulse width d1. error is created. For this to be realised, the
One way to automatically extinguish the limit incremental difference in displacement between
cycle is to include a dead-zone that disables the successively increasing pulses must be less than the
controller output when the error is between an upper displacement from the minimum pulse width; for
and lower bound of the reference point (see Figure example d2 – d1 < d1.
7). The final error is then dependent on the amount
of offset the limit cycle has in relation to the 3.3 Modified Controller Design
reference point. Figure 7 shows a unique case where
the ± amplitude of the limit cycle is almost evenly For the limit cycle to be offset at the correct time,
distributed either side of the reference set point; i.e. the impulse controller must have a set of additional
the centre line of the oscillation lies along the control conditions which identify that a limit cycle
reference set point. In this instance, disabling the has been initiated with the minimum width pulse.
controller would create an error e(k) equal to The controller then readjusts itself accordingly using
d1 a ‘switching bound’ and finally disables itself when
approximately . This however, would vary in within a new specified error ‘dead-zone’. One way
2
to achieve this is to adjust the pulse width so that it
practice and the centreline is likely to be offset by
is increased by one increment when satisfying the
some arbitrary amount. The maximum precision of
following conditions:
the system will therefore be between d1 and zero.
if switching bound > |e(k)| ≥ dead-zone
k pwm ⋅ e(k )τ s
reference
d2 - d1 then Δ= +1
position new fp
error
k pwm ⋅ e(k )τ s
Position
otherwise Δ= (9)
fp
170
A MODIFIED IMPULSE CONTROLLER FOR IMPROVED ACCURACY OF ROBOTS WITH FRICTION
3.4 Simulation of the Limit Cycle improvement in the system’s accuracy by a factor of
Offset Function 4.
171
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
REFERENCES
Figure 11: Using the ‘Limit Cycle Offset’ function to Armstrong-Hélouvry, B., 1991, “Control of Machines with
reduce the final steady state error of the Hirata robot. Friction” Kluwer Academic Publishers, 1991, Norwell
MA.
Armstrong-Hélouvry, B., Dupont, P., and Canudas de
Wit, C., 1994, “A survey of models, analysis tools and
4.2 Discussion of Results compensation methods for the control of machines
with friction” Automatica, vol. 30(7), pp. 1083-1138.
This set of results demonstrates the Limit Cycle Canudas de Wit, C., Olsson, H., Åström, K. J., 1995 ”A
Offset function can be successfully applied to a new model for control of systems with friction” IEEE
commercial robot manipulator having characteristics Tansactions on Automatic Control, vol. 40 (3), pp.
of high non-linear friction. The results show that the 419-425.
unmodified controller will cause the robot to limit Dahl, P., 1968, “A solid friction model” Aerospace Corp.,
cycle near steady state position and that the peak to El Segundo, CA, Tech. Rep. TOR-0158(3107-18)-1.
Dahl, P, 1977, “Measurement of solid friction parameters
peak displacement is equal to the displacement of
of ball bearings” Proc. of 6th annual Symp. on
the smallest usable width pulse. Incremental Motion, Control Systems and Devices,
By using the Limit Cycle Offset function, the University of Illinois, ILO.
limit cycle can be detected and the pulse width Hojjat, Y., and Higuchi, T., 1991 “Application of
adjusted so that at least one of the peaks of the limit electromagnetic impulsive force to precise
cycle is moved towards the reference set point. positioning” Int J. Japan Soc. Precision Engineering,
Finally, the results show that the controller vol. 25 (1), pp. 39-44.
recognises the limit cycle as being shifted into a Johannes, V. I.., Green, M.A., and Brockley,C.A., 1973,
defined error dead-zone whereby the controller is “The role of the rate of application of the tangential
force in determining the static friction coefficient”,
disabled. The steady state error is therefore
Wear, vol. 24, pp. 381-385.
guaranteed to fall within a defined region so that the Johnson, K.L., 1987, “Contact Mechanics” Cambridge
steady state error is reduced. For the SCARA robot, University Press, Cambridge.
the improvement in accuracy demonstrated was Kato, S., Yamaguchi, K. and Matsubayashi, T., 1972,
1.1e-4 radians in comparison to 4.5e-4 radians “Some considerations of characteristics of static
achieved without the limit cycle offset. friction of machine tool slideway” J. o Lubrication
Technology, vol. 94 (3), pp. 234-247.
Li, Z, and Cook, C.D., 1998, ”A PID controller for
Machines with Friction” Proc. Pacific Conference on
5 CONCLUSION Manufacturing, Brisbane, Australia, 18-20 August,
1998, pp. 401-406.
Advances in digital control have allowed the power Olsson, H., 1996, “Control Systems with Friction”
electronics of servo amplifiers to be manipulated in Department of Automatic Control, Lund University,
a way that will improve a servomechanism precision pp.46-48.
without modification to the mechanical plant. This is Popovic, M.R., Gorinevsky, D.M., Goldenberg, A.A.,
2000, “High precision positioning of a mechanism
particularly useful for systems having highly non-
with non linear friction using a fuzzy logic pulse
172
A MODIFIED IMPULSE CONTROLLER FOR IMPROVED ACCURACY OF ROBOTS WITH FRICTION
173
COLLABORATIVE CONTROL IN A HUMANOID DYNAMIC TASK
Keywords: Robot control architecture, Sensorimotor learning, Coordination policy, Reinforcement learning.
Abstract: This paper describes a collaborative control scheme that governs the dynamic behavior of an articulated mobile
robot with several degrees of freedom (DOF) and redundancies. These types of robots need a high level of co-
ordination between the motors performance to complete their motions. In the employed scheme, the actuators
involved in a specific task share information, computing integrated control actions. The control functions are
found using a stochastic reinforcement learning technique allowing the robot to automatically generate them
based on experiences. This type of control is based on a modularization principle: complex overall behavior
is the result of the interaction of individual simple components. Unlike the standard procedures, this approach
is not meant to follow a trajectory generated by a planner, instead, the trajectory emerges as a consequence
of the collaboration between joints movements while seeking the achievement of a goal. The learning of the
sensorimotor coordination in a simulated humanoid is presented as a demonstration.
174
COLLABORATIVE CONTROL IN A HUMANOID DYNAMIC TASK
175
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
2.2 LCC Synthesis that the movement has to take place between a limited
amount of time T , where signals are collected to com-
Once the control scheme has been stated, the next pute the cost function (3), then, the gradient is esti-
step is the definition of a methodology to compute the mated using (5) and a new set of parameters obtained
functions ( fi , Di ). Here a policy gradient reinforce- applying the update strategy of (4). Notice that in the
ment learning (PGRL) algorithm is employed. PGRL case of the first layer, each function Dki is trained and
methods (see (Williams, 1992),(Sutton et al., 2000)) updated separately from the others of the same layer,
are based on the measurement of the performance of but when learning the coordinate layer, all the func-
a parameterized policy πw applied as control function tions fwi must be updated at the same time, because
during a delimited amount of time. In order to mea- in this case the performance being measured is that of
sure the performance of the controller, the following the whole layer.
function is defined,
V (w) := J(x, πw (x)) (3)
3 LINEAR IMPLEMENTATION
where the measurement of the performance V of the
parameters w is done by defining the cost function J. The previous description of the LCC is too general
By restricting the scope of the policy to certain to be of practical use. Then, it is necessary to make
class of parameterized functions u = πw (x), the per- some assumptions about the type of functions to be
formance measure (3) is a surface where the maxi- used as controllers. A well known structure to control
mum value corresponds to the optimal set of param- the dynamic position of one link is the Proportional
eters w ∈ Rd . The search for the maximum can be Integral Derivative (PID) error compensator. It has
performed by standard gradient ascent techniques, the following form,
wk+1 = wk + η∇wV (w) (4) Z
dei
ui = KPi · ei + KDi · + KIi · ei dt (7)
where η is the step size and ∇wV (w) is the gradient dt
of V (w) with respect to w. The analytical formulation The functionality of its three terms (KP , KD , KI ) of-
of this gradient is not possible without the acquisition fers management for both transient and steady-state
of a mathematical model of the robot. The numeri- responses, therefore, it is a generic and efficient so-
cal computation is also not evident, then, a stochastic lution to real world control problems. By the use
approximation algorithm is employed : the ‘weight of this structure, a link between optimal control and
perturbation’ (Jabri and Flower, 1992), which esti- PID compensation is revealed to robotic applications.
mates the unknown gradient using a Gaussian random Other examples of optimization based techniques for
vector to orientate the change in the vector parame- tuning a PID are (Daley and Liu, 1999; Koszalka
ters. This algorithm is selected due to its good per- et al., 2006).
formance, easy derivation and fast implementation; The purpose of the second layer is to compute the
note that the focus of this research is not the choice actual velocity to be applied on each motor by gath-
of a specific algorithm, nor the development of one, ering information about the state of the robot while
but rather the cognitive architecture to provide robots processing a DT. The PID output signals are collected
with the coordination learning ability. and filtered by this function to coordinate them. Per-
This algorithm uses the fact that, by adding to w haps the simplest structure to manage this coordina-
a small Gaussian random term z with E{zi } = 0 and tion is a gain row vector Wi , letting the functions in
E{zi z j } = σ2 δi j , the following expression is a sample the second layer be the following,
of the desired gradient
fwi (u) = Wi · u
α(w) = [J(w + z) − J(w)] · z (5)
Then, a linear combination of u commands the coor-
Then, both layers’ controllers can be found using this
dination. The matrix WDTm encapsules all the infor-
PGRL algorithm.
mation about this layer for the mth DT.
ui = Dki (ei ) (6)
w11 . . . win
vi = fwi (u1 , ..., un )
WDTm = ... .. .. (8)
. .
In order to be consequent with the proposed definition wn1 ... wnn
of each layer, the training of the vector parameters
must be processed independently; first the dynami- Where the term wi j is the specific weight of the jth
cal layer and then the coordination one. It is assumed PID in the velocity computation of the joint i.
176
COLLABORATIVE CONTROL IN A HUMANOID DYNAMIC TASK
4 HUMANOID COORDINATION
177
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
178
COLLABORATIVE CONTROL IN A HUMANOID DYNAMIC TASK
6 CONCLUSIONS
The LLC scheme proposes to use the dynamic inter-
action of the robots articulations as a trajectory gen-
Figure 5: Simulated Humanoid One-Leg Equilibrium task.
erator, without the use of a trajectory planner. Ex-
ploiting dynamics gives the robot the ability to ex-
plore motion interactions that result in optimized be-
haviors: Learning at the level of dynamics to succeed
in coordination.
The presented solution overcomes the model de-
pendency pointed above; by the presentation of a sys-
tematic control scheme the ideas of (Rosenstein and
Barto, 2001) are extended. Here, the low level con-
trollers are found using learning techniques and the
formulation of a control architecture allows the im-
plementation of different parameterized policies.
The interaction between Machine Learning, Con-
trol Systems and Robotics creates an alternative for
(a)
the generation of artificial systems that consistently
demonstrate some level of cognitive performance.
Currently, highly dynamic motions in humanoids
are widely unexplored. The capability of this robots
will be extended if motions that compromise the
whole-body dynamic are explored. The LCC is tested
within a simulated humanoid and succeed in the per-
formance of a very fast motion, one in which the
whole-body equilibrium is at risk.
Coordination is possible thanks to the sharing of
information.
(b)
Figure 6: (a) Reward Evolution J(W ) of the best learned so- ACKNOWLEDGEMENTS
lution (last 20 tirals); (b) Back-joint position, before (dotted
line) and after the coordination learning. This work has been partly supported by the Spanish
MEC project ADA (DPI2006-15630-C02-01). Au-
thors would like to thank Olivier Michel and Ricardo
been previously pointed out in (Rosenstein and Barto, Tellez for their support and big help.
2001), but here in an unstable 3D system task.
For this particular solution, the evolution of the
reward is presented in Figure 6(a). Once the robot REFERENCES
learns how ‘not to fall’ the convergence rate increases
and the final results get to lower values. Daley, S. and Liu, G. (1999). Optimal pid tuning using
It is important to mention that the robot presents direct search algorithms. Computing and Control En-
some absolute displacement, tending to go back- gineering Journal, 10(2):251–56.
wards. A better designed reward function is needed Fujita, M. and Kitano, H. (1998). Development of an au-
to avoid absolute displacements, but a good solution tonomous quadruped robot for robot entertainment.
is harder to find in this scenario. Finally, it is impor- Autonomous Robots, 5(1):7–18.
tant to emphasize the change in the behavior of the Hirai, K., Hirose, M., Haikawa, Y., and Takenaka, T. (1998).
back joint after the second layer phase. It seems like The development of honda humanoid robot. In Pro-
the system learns that the overshoot must be shorter in ceedings of the IEEE International Conference on
time in order to be able to lift the leg with out falling Robotics and Automation, ICRA.
down. Figure 6(b). shows the output of the back joint Jabri, M. and Flower, B. (1992). Weight perturbation: An
before and after the second layer of learning. optimal architecture and learning technique for analog
VLSI feedforward and recurrent multilayer networks.
179
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
180
A FUZZY SYSTEM FOR INTEREST VISUAL DETECTION BASED
ON SUPPORT VECTOR MACHINE
Rafael Muñoz-Salinas
Deparment of Computing and Numerical Analysis, E.P.S.
University of Cordoba, Cordoba, Spain
[email protected]
Keywords: Human-Robot Interaction, Interest Detection, Head Pose Estimation, Fuzzy Logic, Support Vector Machine.
Abstract: Despite of the advances achieved in the past years in order to design more natural interfaces between intelligent
systems and humans, there is still a great effort to be done. Considering a robot as an intelligent system,
determining the interest of the surrounding people in interacting with it is an interesting ability to achieve.
That information can be used to establish a more natural communication with humans as well as to design
more sophisticated policies for resource assignment. This paper proposes a fuzzy system that establishes a
level of possibility about the degree of interest that people around the robot have in interacting with it. First, a
method to detect and track persons using stereo vision is briefly explained. Once the visible people is spotted,
their interest in interacting with the robot is computed by analyzing its position and its level of attention
towards the robot. These pieces of information are combined using fuzzy logic. The level of attention of a
person is calculated by analyzing the pose of his head that is estimated in real-time by a view based approach
using Support Vector Machines (SVM). Although the proposed system is based only on visual information, its
modularity and the use of fuzzy logic make it easier to incorporate in the future other sources of information
to estimate with higher precision the interest of people. At the end of the paper, some experiments are shown
that validate the proposal and future work is addressed.
181
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
et al., 2001) or hand gestures (Ghidary et al., 2002) For example, it can be applied in intelligent spaces
are analyzed. Finally, other authors (Kulic and Croft, where one or several intelligent devices wish to inter-
2003) propose the use of non-verbal signals present act with people according the interest shown by each
in physiological monitoring systems that include skin person.
conductance, heart rate, pupil dilation and brain and The remainder of this paper is structured as fol-
muscle neural activity. lows. Section 2 gives an general overview of the
In regards to the role of the fuzzy logic in robotics, hardware and software system, describing the method
an extensive catalogue of the uses of fuzzy logic in employed for the detection and tracking of people in
autonomous robots can be found in (Saffiotti, 1997). the surroundings of the robot. In Section 3 it is ex-
Fuzzy logic has been successfully applied to a multi- plained the SVM based approach to estimate the head
tude of problems such as: design of controlling be- pose and the fuzzy system for estimating the interest
haviors for navigation, behavior coordination, map of people. In Section 4 it is shown the experimenta-
building, integration of deliberative and reactive lay- tion carried out, and finally, Section 5 outlines some
ers, etc (Aguirre and González, 2000). Lately, fuzzy conclusions and future works.
logic has also been applied to the area of human-
robot interaction. In (Bien and Song, 2003) sev-
eral soft computing techniques are applied to service 2 PEOPLE DETECTION AND
robotic systems for comfortable interaction and safe
operation. Fuzzy logic is used for recognizing facial TRACKING
emotional expression and for coordinating bio-signals
with robotic motions. In (Kulic and Croft, 2003) sev- The hardware system is comprised by a laptop to pro-
eral sets of fuzzy rules are used for estimating intent cess the information, a stereoscopic system with a
based on physiological signals. binocular camera (PtGrey, 2005) and a Nomad 200
In this work we are interested in computing a mobile robot (see Fig. 1).
value of possibility of the interest of a person to inter-
act with the robot. This value is computed using only
visual information, but the modularity of the system
makes easy the posterior incorporation of other types
of input data as sound or laser range finder. The inter-
est is computed according to the position of the person
and its degree of attention. In a first step, people de-
tection and tracking problems are solved by a stereo-
scopic system. The use of stereo vision brings sev-
eral advantages when developing human-robot appli-
cations. On the one hand, the information regarding
disparities becomes more invariable to illumination
changes than the images provided by a single camera,
being a very advantageous factor for the background
estimation (Darrell et al., 2001). Furthermore, the Figure 1: Robot with stereo vision system.
possibility to know the distance to the person could
be of great assistance for the tracking as well as for a The ability of detecting and tracking people is fun-
better analysis of their gestures. damental in robotic systems when it is desirable to
Once the surrounding people is spotted, we pro- achieve a natural human-robot interaction. They are
pose a new method for estimating the interest of the achieved in our architecture by combining stereo vi-
detected people in interacting with the robot by means sion and color using plan-view maps. Following, the
of computer vision and fuzzy logic. The person’s at- process for people detection and tracking is explained
tention is detected by the analysis of the pose of his in a summarized way. The readers more interested
head. To detect the head pose we have employed a in this process are referred to (Muñoz-Salinas et al.,
view based approach using Support Vector Machines 2006).
(SVM) (Cristianini and Shawe-Taylor, 2000) that let Our robot has a stereo camera that is mounted
us classify the head pose in real time. on a pan-tilt unit (PTU). The stereo camera captures
The approach presented in this work is not only two images from slightly different positions (cali-
valid for robotic applications. It can also be employed brated stereo pair) that are transferred to the com-
in intelligent systems that use stereoscopic devices. puter to calculate a disparity image containing the
182
A FUZZY SYSTEM FOR INTEREST VISUAL DETECTION BASED ON SUPPORT VECTOR MACHINE
points matched in both images. Knowing the intrin- tracking process by capturing information about the
sic parameters of the stereo camera it is possible to color of the clothes of the user so that the robot can
reconstruct the three-dimensional position pcam of a distinguish him/her from other people in the environ-
matched pixel (u, v). Then, the points captured are ment. Therefore, pixels around what it should be the
translated to a “robot” reference system, placed at chest of the person are used. The position of the chest
the center of the robot at ground level in the direc- in the camera image is estimated as 40 cm below the
tion of the heading of the robot. Generally, the num- top of the head region. The size of the region used to
ber of points captured by our stereo system is very create the color model depends on the distance of the
high. In order to perform a reduction of the amount person from the camera. When the object is far from
of information, the points captured by the camera are the camera the region used is smaller to avoid includ-
orthogonally projected into a 2D plan-view map O ing pixels from the background and it becomes bigger
named occupancy map (Harville, 2004; Haritaoglu when the object is near to the camera.
et al., 2002; Hayashi et al., 2004).
The next step in our processing, is to identify the Tracking consists in detecting in subsequent
different objects present in O that could correspond to frames the human-like object that corresponds to the
human beings (human-like objects). For that purpose, person being tracked. The Kuhn’s well-known Hun-
O is processed with a closing operator in order to link garian Method for solving optimal assignment prob-
possible discontinuities in the objects caused by the lems (Kuhn, 1955) is employed for that purpose.
errors in the stereo calculation. Then, objects are de- Two pieces of information are combined (position and
tected as groups of connected cells. Those objects color) to assign a value to each human-like object in-
whose area are similar to the area of a human being dicating its likelihood to be the person being tracked.
and whose sum of cells (occupancy level of the ob- On one hand, a prediction of the future position of the
ject) is above a threshold θocc are considered human- person being tracked is calculated using the Kalman
like objects. This test is performed in a flexible way filter. The nearer a human-like object is from the
so that it is possible to deal with the stereo errors and position estimated for the person being tracked, the
partial occlusions. However, the human-like objects higher likelihood it will have to be him/her. On the
detected might not belong to real people but to ele- other hand, color information is employed to achieve
ments of the environment. The approach employed a more robust tracking. The more similar the color
in this work to detect a person consists in detecting if of a human-like object is to the clothes’ color of the
any of the human-like objects found in O show a face person being tracked, the higher likelihood it will
in the camera image. have to be him/her. Both likelihood are combined
so that when the person being tracked is near oth-
Face detection is a process that can be time con- ers, color information can help to distinguish him/her.
suming if applied on the entire image, thus, it is only The human-like object with highest likelihood is con-
applied on regions of the camera image where the sidered to be the person being tracked if its likelihood
head of each object should be (head region). As the value exceeds a certain threshold. In that case, the
human head has a typical average width and height, Kalman filter is updated with the new observations
the system analyzes first if the upper part of a human- and also the color model of the person is updated so
like object has similar dimensions. If the object does that it can adapt to the illumination changes that take
not pass this test, the face detector is not applied to place.
it. This test is performed in a flexible manner so
that it can handle stereo errors and people with dif- When the position of the person being tracked
ferent morphological characteristics can pass it. If the is located, the system determines the location of his
human-like object passes this test, the corresponding head in the camera image. In this work, the head is
region in the image is analyzed to detect if it con- modeled as an ellipse whose size in the camera image
tains a face. The face detector employed is based on is determined according to the distance of the person
the face detector of Viola and Jones (Viola and Jones, to the camera. Firstly, the system calculates an initial
2001) which was later improved by Lienhart (Lienhart estimation of the head position in the camera image
and Maydt, 2002). We have employed the OpenCv’s based on stereo information. Then, the initial position
Library (Intel, 2005) implementation that is trained to is refined by a local search process. For that purpose,
detect frontal human faces and works on gray level the gradient around the ellipse perimeter is examined
images. in order to determine the likelihood of a position using
Once a face has been detected on a human-like the Birchfield’s method (Birchfield, 1998). The posi-
object, a color model of the person torso is created tion with higher likelihood is considered the person’s
(Comaniciu et al., 2000). The idea is to assist the head position.
183
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Figure 2: Fuzzy sets of the linguistic variables: (a) Distance (b) Angle (c) Attention (d) Interest.
3 INTEREST DETECTION in interacting with the robot. Thus, the third feature
shown in this paper is the person’s attention detected
In the previous section, we have described as the robot by the analysis of the pose of his head. To detect the
is able to detect and track them the persons in its head pose we have employed a view based approach
vicinity by using the stereo system. This section ex- using SVM that is explained in the next section.
plains our approach for estimating the interest of the
detected people in interacting with the robot by means 3.1 Estimating Face Attention using
of fuzzy logic. The approach presented in this work SVM
is based on stereo vision but the system can be eas-
ily expanded to merge other sources of information. One of the most prominent cues to detect if a person is
The advantages of using fuzzy logic are mainly three. paying attention to the system is the orientation of his
Firstly, the robot has to deal with information from face, i.e., a higher degree of attention can be assumed
the stereo system that is affected by uncertainty and when a person is looking at the system than when it
vagueness. Fuzzy logic is a good tool to manage is backwards. This section describes our approach for
these factors using linguistic variables. Secondly, the face attention estimation.
human knowledge can be usually expressed as rules. We have divided head poses in three main cat-
Fuzzy logic allows to establish relationships among egories: “A” that comprehends all the frontal faces
the variables of a problem through fuzzy rules pro- (faces looking directly at the camera), “B” that com-
viding an inference mechanism. Finally, there are prehends all the slightly sided faces (faces looking to
methods in fuzzy logic to fuse the results from several some point slightly above, below or aside from the
fuzzy rules in order to achieve a final overall result. camera) and “C” that comprehends all the other faces
Therefore, the system designed in this work, based (side faces, faces looking at some point in the ceiling
exclusively in stereo information, can be integrated or ground, backward heads). Figure 3 shows exam-
with other fuzzy systems using other types of infor- ples of each one of the categories employed.
mation as source sound localization, gesture analysis
or speech recognition systems.
In this work, the determination of the degree of
interest of a person is based on its position and its de-
gree of attention. The position of a person is analyzed
using both its distance to the center of the robot and its
angle in respect to the heading direction of the robot.
The first feature is measured by the linguistic variable
Figure 3: Head Pose Estimation: Classes A, B and C.
Distance and the second one by the linguistic variable
Angle. These linguistic variables have three possible
values each of them, that are shown in Fig. 2. The We have created a head pose database comprised
meaning of these two variables is the following: if the by a total of 4000 samples equally distributed among
person is detected near to the robot and more or less the three classes. The database contain images of 21
centered with respect to it, then we consider that the different people (men and women), of different races,
person is more interested in establishing interaction with different hair cuts and some of them wearing
with the robot than when the person is far or at the left glasses. The database samples were manually clas-
or right side of the robot. Nevertheless, the position sified into categories “A”, “B” or “C” according to
of the person is not enough to determine his interest where people were looking at. All the images are
184
A FUZZY SYSTEM FOR INTEREST VISUAL DETECTION BASED ON SUPPORT VECTOR MACHINE
gray-scale and 48x40 sized. α = 0.3 that is sufficient to avoid abrupt variations
Since the information contained in the patterns and isolated pose estimation errors.
is redundant, we have applied Principal Component To deal with the uncertainty and vagueness in this
Analysis (PCA) to reduce the data dimensionality. process we use a linguistic variable called “Attention”
PCA (Henry and Dunteman, 1989) is a technique and divide it into “High”, “Medium” and “Low” val-
widely employed for dimensionality reduction able to ues (see Fig. 2). This variable will take as input values
retain those characteristics of the data set that con- the measures of face attention estimation considered
tribute most to its variance, by keeping lower-order by HP (Eq. 1). In figure 2 it is possible to see the
principal components and ignoring higher-order ones. labels for the variable “Attention”.
Such low-order components often contain the “most
important” aspects of the data. The more high-order 3.2 Fuzzy System for Interest
characteristics we remove, the faster the process of Estimation
training and estimation. However, it is important
to use a number of characteristics that allow us to
Once the three linguistic variables have been defined,
achieve good results without affecting our need to
the rules base that integrates them are explained in
have real time results. We made some tests with dif-
this section. The idea that governs the definition of
ferent number of characteristics and we determined
the rules base is dominated by the value of the vari-
that 50 characteristics allowed a good trade-off be-
able Attention. If the attention has an high value the
tween classification accuracy and computing time.
possibility of interest is also high depending on the
The training process has been carried out using
distance and the angle of the person to the robot. If
SVM. For that purpose, we have employed the libsvm
the attention is medium then the possibility of interest
library (free software available in Internet (Chang and
has to be decrease but like in the former case depend-
Lin, 2006)). For more information about SVM, the
ing on the distance and angle. Finally if the attention
interest reader is referred to (Cristianini and Shawe-
is low, it means that the person is not looking at all to
Taylor, 2000). To certificate that results were satisfac- the area where the robot is located and the possibility
tory before applying the model we trained the SVM of interest is defined as low or very low depending on
with 85% of the data set and kept the remainder 15% the other variables. The rules for the case in which
to test the model generated. The result on the test set Attention is High are shown by Table 1. The other
was of 93.14% of accuracy. cases are expressed in a similar way using the appro-
Our system estimates the attention of each de- priate rules. The output linguistic variable is Interest
tected person in real time despite of his/her move- that has the five possible values shown by Figure 2(d).
ments. For that purpose, the head location in the cam-
era image of each person is determined using the tech-
niques described in Sect. 2. The head region of each Table 1: Rules in the case of high Attention.
person is resized to 48x40 pixels and then, the first 50 IF THEN
principal components are extracted and passed to the Attention Distance Angle Interest
SVM classifier. High Low Left High
SVM estimates the head pose in one of the three High Low Center Very High
categories previously indicated. However, the classi- High Low Right High
High Medium Left Medium
fier output is an instantaneous value that does not take High Medium Center High
into account past observations. In order to consider High Medium Right Medium
past observations, we define the variable HP(t) as: High High Left Low
High High Center Medium
High High Right Low
HP(t) = αHP(t−1) + (1 − α)SvmOutt (1)
where SvmOutt is defined on the basis of the classifier Finally to compute the value of possible interest, a
output as: fuzzy inference process is carried out using the opera-
tor minimum as implication operator. Then the output
fuzzy sets are aggregated and the overall output is ob-
1
if current output of SVM = “A”; tained. The overall output fuzzy set can be understood
SV MOutt = 0.5 if current output of SVM = “B”; as a possibility distribution of the interest of the per-
son in the [0, 1] interval. Therefore values near to 1
0 if current output of SVM = “C”.
mean a high level of interest and vice versa.
In Eq. 1, α is a weighting factor that ponders the
influence of past observations. In this work we set
185
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Figure 4: Interest according distance and attention. Frames in each row (a, b and c), (d, e and f ) and (g, h and i) show the
person at different distances while frames in each column (a, d and g), (b, e and h) and (c, f and i) show the person with
different attention.
186
A FUZZY SYSTEM FOR INTEREST VISUAL DETECTION BASED ON SUPPORT VECTOR MACHINE
Figure 5: Graphs that show the variation of variables “Attention” (a), “Distance” (b), “Angle” (c) and “Interest” (d) during the
video referred in Section 4.
187
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
is no dependent of the morphological features of the Fritsch, J., Kleinehagenbrock, M., Lang, S., Plötz, T., Fink,
heads. The experimentation shows that the system is G. A., and Sagerer, G. (2003). Multi-modal anchor-
able to detect the persons present in its vicinity, track ing for human-robot interaction. Robotics and Au-
tonomous Systems, 43(2-3):133–147.
their motions and give a value of possible interest on
the interaction of the persons with the robot. Ghidary, S. S., Nakata, Y., Saito, H., Hattori, M., and
Takamori, T. (2002). Multi-modal interaction of hu-
The proposed method can be easily updated in man and home robot in the context of room map gen-
future works to analyze other types of input data as eration. Autonomous Robots, 13(2):169–184.
sounds or laser range finder. Also, the degree of in- Haritaoglu, I., Beymer, D., and Flickner, M. (2002). Ghost
terest will be useful to plan the actions of the robot 3d: detecting body posture and parts using stereo. In
towards the persons in order to allow a more natural Workshop on Motion and Video Computing, pages 175
human-robot interaction. – 180.
Harville, M. (2004). Stereo person tracking with adaptive
plan-view templates of height and occupancy statis-
tics. Image and Vision Computing, 2:127–142.
ACKNOWLEDGEMENTS Hayashi, K., Hashimoto, M., Sumi, K., and Sasakawa, K.
(2004). Multiple-person tracker with a fixed slanting
This work has been partially supported by the Span- stereo camera. In 6th IEEE International Conference
ish MEC project TIN2006-05565 and Andalusian Re- on Automatic Face and Gesture Recognition, pages
681–686.
gional Government project TIC1670.
Henry, G. and Dunteman (1989). Principal Components
Analysis. SAGE Publications.
Intel (2005). OpenCV: Open source Computer Vision li-
REFERENCES brary.
Kuhn, H. W. (1955). The hungarian method for the assign-
Aguirre, E. and González, A. (2000). Fuzzy behaviors for ment problem. Naval Research Logistics Quarterly,
mobile robot navigation: Design, coordination and fu- 2:83–97.
sion. International Journal of Approximate Reason- Kulic, D. and Croft, E. (2003). Estimating intent for hu-
ing, 25:255–289. man robot interaction. In International Conference on
Bennewitz, M., Faber, F., Joho, D., Schreiber, M., and Advanced Robotics, pages 810–815.
Behnke, S. (2005). Integrating vision and speech Lienhart, R. and Maydt, J. (2002). An Extended Set of
for conversations with multiple persons. In IROS’05: Haar-Like Features for rapid Object detection. In
Proceedings of the IEEE/RSJ Int. Conf. on Intelligent IEEE Conf. on Image Processing, pages 900–903.
Robots and Systems, pages 2523 – 2528.
Muñoz-Salinas, R., Aguirre, E., and Garcı́a-Silvente, M.
Bien, Z. and Song, W. (2003). Blend of soft computing (2006). People detection and tracking using stereo vi-
techniques for effective human-machine interaction sion and color. To appear in Image and Vision Com-
in service robotic systems. Fuzzy Sets and Systems, puting. Available online at www.sciencedirect.com.
134(1):5–25. PtGrey (2005). Bumblebee. Binocu-
Birchfield, S. (1998). Elliptical Head Tracking Using Inten- lar stereo vision camera system.
sity Gradients and Color Histograms. In IEEE Con- http://www.ptgrey.com/products/bumblebee/index.html.
ference on Computer Vision and Pattern Recognition, Saffiotti, A. (1997). The uses of fuzzy logic in autonomous
pages 232–237. robot navigation. Soft Computing, 1:180–197.
Chang, C. and Lin, C. (2006). Libsvm. Snidaro, L., Micheloni, C., and Chiavedale, C. (2005).
a library for support vector machines. Video security for ambient intelligence. IEEE Trans-
http://www.csie.ntu.edu.tw/ cjlin/libsvm/. actions on Systems, Man and Cybernetics, Part A,
35:133 – 144.
Comaniciu, D., Ramesh, V., and Meer, P. (2000). Real-Time
Tracking of Non-Rigid Objects using Mean Shift. In Song, W., Kim, D., Kim, J., and Bien, Z. (2001). Visual
IEEE Conference on Computer Vision and Pattern servoing for a user’s mouth with effective intention
Recognition, volume 2, pages 142–149. reading in a wheelchair-based robotic arm. In ICRA,
pages 3662–3667.
Cristianini, N. and Shawe-Taylor, J. (2000). An Introduction
To Support Vector Machines (and other Kernel Based Viola, P. and Jones, M. (2001). Rapid object detection using
Methods). Cambridge University Press. a boosted cascade of simple features. In IEEE Conf.
on Computer Vision and Pattern Recognition, pages
Darrell, T., Demirdjian, D., Checka, N., and Felzenszwalb, 511–518.
P. (2001). Plan-view trajectory estimation with dense
stereo background models. In Eighth IEEE Interna-
tional Conference on Computer Vision (ICCV 2001),
volume 2, pages 628 – 635.
188
POSTERS
DATA INTEGRATION SOLUTION FOR PAPER INDUSTRY
A Semantic Storing Browsing and Annotation Mechanism for Online Fault Data
Jouni Pyötsiä
Metso Automation
[email protected]
Abstract: A lot of IT solutions exist for simplification and time saving of industrial experts’ activities. However, due
to large diversity of tools and case-by-case software development strategy, big industrial companies are
looking for an efficient and viable information integration solution. The companies have realized the need
for an integrated environment, where information is ready for extraction and sophisticated querying. We
present here a semantic web-based solution for logging and annotating online fault data, which is designed,
and implemented for a particular business case of a leading paper machinery maintenance and automation
company.
191
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
level of reusability and business process flexibility; Customer Site 1 Metso Site
Service Network
however, to ensure the interoperability between the Legacy Global
components we need a common “glue” that would Systems Administrator
Firewall
Interface
adjust the semantics of the data being exchanged. Site
Hub
The Semantic Web technology (Berners-Lee, T., et
Firewall
Central
Hub
al., 2001) introduces a set of standards and
languages for representation of a domain model with Local Administrator
the explicit semantics. The main instrument of Interface
Single Devices
domain model construction is ontology, which Customer Site 2 GPRS/
allows for domain data representation in a GSM
Fi
formalized and unified way.
re
w
al
In this paper we present a solution that utilizes Site Firewall Customer Site n
l
Hub
Semantic Web technology to provide a tool for Site
Legacy
Hub Systems
online maintenance data browsing, analysis and
annotation. We utilize experience obtained in the Local Administrator
SmartResource project (SmartResource, 2006) and Interface Local Administrator
apply the General Adaptation Framework (Kaykova Interface
et al., 2005) to align data with the domain ontology.
The paper is organized as follows: In the next Figure 1: Site Hub network architecture.
section we describe the paper machinery ICT
infrastructure, and Section 3 presents the solution we Message Center is the main component of the
have developed using Semantic Web tools and Site Hub. It checks the validity of messages and
standards. We end with conclusions and future work. routes them to the correct receivers. Messaging in
Site Hub is based on Web Services technology.
Hub-based integrated infrastructure combined
with secure connectivity allows easy incorporation
2 IT INFRASTRUCTURE IN of new business logic on both customer and Metso
PAPER INDUSTRY sites. A messaging mechanism between customers
and Metso provides a very flexible medium for
Metso Corporation is a global supplier of process information exchange and new service provisioning.
industry machinery and systems as well as know-
how and aftermarket services. The corporation's core
businesses are fiber and paper technology, rock and 3 LOGGING AND ANNOTATION
minerals processing, and automation and control
technology. Metso's strategy is based on an in-depth OF MAINTENANCE DATA
knowledge of its customers' core processes, close
integration of automation and ICT, and a large The main purpose of the system we present here is
installed base of machines and equipment. Metso's to store alarm data, generated by paper machine
goal is to transform into a long-term partner for its monitoring systems. When an alarm happens, a
customers. Based on the remote service SOAP/XML message (SOAP, 2003) is generated
infrastructure, it develops solutions and services to and sent to the Site Hub, which then forwards it to
improve efficiency, usability and quality of the Central Hub. We have established a message
customers' production processes throughout their flow from the Central Hub to the computer at the
entire life cycles. university network, where messages are processed
by our system.
2.1 Remote Service Infrastructure
3.1 Architecture of the System
Metso's remote service infrastructure consists of a
service provider's Central Hub and several The system can be divided into two main
customers' Site Hubs, which are integrated over the subcomponents – Message Handler and Message
network (see Figure 1). Browser (see Figure 2).
The key issues in a Site Hub solution are: open Message Handler receives and processes
standards, information security, reliability, SOAP/XML messages from customers. It invokes
connectivity and manageability. the Adapter to transform the XML content into an
192
DATA INTEGRATION SOLUTION FOR PAPER INDUSTRY - A Semantic Storing Browsing and Annotation
Mechanism for Online Fault Data
RDF-graph (RDF, 2004) object and store it in the structure for labelling groups of messages with an
Sesame RDF storage (Sesame). expert’s decision and has references to instances of
Metso Site Browsing and Annotation tool the Message class.
The Message Browser component provides a
Central web-based interface for browsing and filtering
Hub messages stored in the RDF-storage, according to
user-defined filtering criteria.
SOAP
message The purpose of message filtering is to distinguish
the groups of messages leading to exceptional
situations. The expert provides annotations for
MESSAGE MESSAGE message groups which are stored to the RDF-storage
XML HTML XML
HANDLER BROWSER
and that can be used as samples for machine learning
Web Query algorithms. The client-server interaction is
Service Adapter SeRQL Results Graph
implemented using AJAX technology (Garrett,
2005), which provides a more dynamic script-based
interaction with the server (see Figure 4). When a
RDF graph user performs any action that requires invocation of
Application server
server functionality, the script on a client side wraps
Figure 2: Architecture of the system. the required parameters into XML format and sends
it to the server. For example, in order to filter the
The RDF storage contains an Ontology that plays messages, a user selects the needed parameters and
the role of a schema for all data within the storage. specifies parameter values within the corresponding
Based on the analysis of SOAP/XML messages, we textboxes (see Figure 4).
have defined main concepts (classes) with the MESSAGE BROWSER
Browsing
corresponding properties (see Figure 3).
XML SeRQL
ExpertAnnotation
Control
Servlet
-annotationName HTML Query
Expert XML Results
-numOfMessagesReferred
Script
AJAX
-expertName
Annotation
-hasAnnotation -annotationTime HTML XML Graph
-annotationDescription
Web
-madeByExpert Application server
Browser
-messageReference
Figure 4: Client-server interaction.
Message Alarm
-messageUID -value
-failureDescription On the server side, the Control Servlet handles
-securityLevel
-lowLimit the XML document. For filtering, it generates a
-time
-tag SeRQL query (Broekstra, 2004) and executes it. On
-hash -alarmTime the client side, a dedicated callback script function
-hasAlarm -highLimit
-status processes the response and shows the result in a web
-receiverGroup
-productionLine browser.
-hasMessageType -situationDescription
-messageSender -alarmSource
-customer
3.2 Integration with the Agent
-messageReceiver
-measurementUnit Platform
Figure 3: Ontology classes. We realize that the extension of the system will
challenge the complexity of development and
The Message class describes such message maintenance. That is why, following the autonomic
properties as message sender and receiver, message computing paradigm (Kephart, 2003), we have
reception time, etc. The Message class also refers to tested agent-based scenario (see Figure 5)
an Alarm class, which contains information about implemented on a JADE agent platform
the reason for message generation, such as (Bellifemine; 2001). We have assigned an agent to
measurements of sensors, status data and exact manage RDF-storage activities (Metso Storage
module of the production line where the alarm Agent) and provided a Metso Expert Agent to
happened. The ExpertAnnotation class defines the interact with a maintenance expert.
193
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Metso Site Browsing and Annotation tool complexity, we introduce self-manageable entities in
the agent-based communication scenario.
Central
Hub
SOAP/XML ACKNOWLEDGEMENTS
This research has been supported by the
MESSAGE MESSAGE
HANDLER BROWSER
XML HTML XML SmartResource project, funded by TEKES, and the
industrial consortium of Metso Automation,
Web
Service Query TeliaSonera and ABB. The preparation of this paper
SeRQL Results Graph
was partially funded by the COMAS graduate school.
194
FAST COMPUTATION OF ENTROPIES
AND MUTUAL INFORMATION FOR MULTISPECTRAL IMAGES
Abstract: This paper describes the fast computation, and some applications, of entropies and mutual information for
color and multispectral images. It is based on the compact coding and fast processing of multidimensional
histograms for digital images.
195
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Table 1: An example of compact coding of the 3- simply by a linear scan of the array while summing
dimensional histogram of an RGB color image with Q = the terms −p(~X) log p(~X) with p(~X) read from the
256. The entries of the linear array are the components last column. This preserves the overall complexity of
(X1 , X2 , X3 ) = (R, G, B) arranged in lexicographic order, O(N log N) for the whole process leading to H(~X).
for each color present in the image, and associated to the
poupulation of pixels having this color.
The compact histogram also allows one to en-
visage the joint entropy of two multicomponent im-
R G B population ages ~X and ~Y , with dimensions DX and DY respec-
0 0 4 13 tively. The joint histogram of (~X,~Y ) can be calculated
0 0 7 18 as a compact histogram with dimension DX + DY ,
0 0 23 7 which after normalization yields the joint probabili-
.. .. .. .. ties p(~X,~Y ) leading to the joint entropy
. . . .
255 251 250 21 H(~X,~Y ) = − ∑ ∑ p(~X,~Y ) log p(~X,~Y ) . (2)
255 251 254 9 ~X ~Y
196
FAST COMPUTATION OF ENTROPIES AND MUTUAL INFORMATION FOR MULTISPECTRAL IMAGES
second on our standard desktop computer. For com- Table 2: For the nine distinct texture images of Fig. 1: en-
parison, another scalar parameter σ(~X) is also given tropy H(~X) of Eq. (1) in bit/pixel, and overall average dis-
in Table 2, as the square root of the trace of the persion σ(~X) of the components.
variance-covariance matrix of the components of im-
age ~X. This parameter σ(~X) measures the overall texture H(~X) σ(~X)
average dispersion of the values of multicomponent Chessboard 1.000 180.313
image ~X. For a one-component image ~X, this σ(~X) Wallpaper 7.370 87.765
would simply be the standard deviation of the gray Clouds 11.243 53.347
levels. The results of Table 2 show a specific signif- Wood 12.515 31.656
icance for the entropy H(~X) of Eq. (1), which does Marble 12.964 44.438
not simply mimic the evolution of a common mea- Bricks 14.208 57.100
sure like the dispersion σ(~X). As a complexity mea- Plaid 14.654 92.284
sure, H(~X) of Eq. (1) is low for synthetic images as Denim 15.620 88.076
Chessboard and Wallpaper, and is higher for natu- Leaves 17.307 74.966
ral images in Table 2.
197
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
198
FAST COMPUTATION OF ENTROPIES AND MUTUAL INFORMATION FOR MULTISPECTRAL IMAGES
199
PROBABILISTIC MAP BUILDING CONSIDERING SENSOR
VISIBILITY
Keywords: Obstacle Map Generation, Bayes Theorem, Occlusion, Spatial Dependency, Visibility.
Abstract: This paper describes a method of probabilistic obstacle map building based on Bayesian estimation. Most
active or passive obstacle sensors observe only the most frontal objects and any objects behind them are oc-
cluded. Since the observation of distant places includes large depth errors, conventional methods which does
not consider the sensor occlusion often generate erroneous maps. We introduce a probabilistic observation
model which determines the visible objects. We first estimate probabilistic visibility from the current view-
point by a Markov chain model based on the knowledge of the average sizes of obstacles and free areas.
Then the likelihood of the observations based on the probabilistic visibility are estimated and then the poste-
rior probability of each map grid are updated by Bayesian update rule. Experimental results show that more
precise map building can be bult by this method.
200
PROBABILISTIC MAP BUILDING CONSIDERING SENSOR VISIBILITY
201
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Figure 3: Occluded area behind the j-th grid. P(ol |E lj , O)= ∑ P(ol |Fkl , E lj , O)P(Fkl |E lj , O)
k=0
j
= ∑ P(ol |Fkl )P(Fkl |E lj , O) (4)
k=0
2.2 Likelihood Considering Sensor P(ol |Fkl ) in Eqs.(4)-(7) is a sensor kernel model which
defines the measurement error distribution of the sen-
Visibility sor observation. This is provided for each kind of sen-
sor. These equations say that the likelihood of grid j
Since an observation on the ray l, ol , depends and j + 1 is contributed by grid k ahead grid j accord-
on grid states just on the the ray, the likelihood ing to P(Fkl |E lj , O), P(Fkl |Ē lj , O), P(Fkl |O), which mean
P(ol |elj , elj+1 , O) is calculated as: conditional visibilities of grid k.
Since these visibilities are required to be estimated
P(ol |elj , elj+1, O) = ∑ P(ol |ml, elj , elj+1, O)P(ml |elj , elj+1, O)
before the above likelihood calculations, they should
ml ∈Ωl
(2) be estimated by calculating the Markov chain because
where ml denotes grid states on the ray l except the actual grid states are not independent due to spa-
elj ,elj+1 . The direct calculation of Eq. 2 requires huge tial continuity. The Markov chain is calculated based
summation of 2Nl order, where Nl denotes the number on the grid state probabilities (joint probability of e j ,
of grids on the ray l. and e j+1 ) obtained in the previous time slice:
Actually this calculation is drastically reduced P(Fkl |E lj , O) =P(Ē0l |Ē1l , O)P(Ē1l |Ē2l , O)P(Ē2l |Ē3l , O)
by considering the sensor visibility. There exist
l |E l , O)P(E l |E l , O)
· · · P(Ēk−1 (8)
four cases of the adjacent grid states: (E j , E j+1 ), k k j
(E j , Ē j+1 ), (Ē j , E j+1 ), (Ē j , Ē j+1 ). In (E j , E j+1 ) case P(Fkl |Ē lj , O) =P(Ē0l |Ē1l , O)P(Ē1l |Ē2l , O)P(Ē2l |Ē3l , O)
(this means both the grid j and j + 1 are occupied),
l |E l , O)P(E l |Ē l , O)
· · · P(Ēk−1 (9)
since grid j occludes j + 1 as shown in Figure 3, the k k j
likelihood P(ol |E lj , E lj+1 , O) is no longer dependent P(Fkl |O) =P(Ē0l |Ē1l , O)P(Ē1l |Ē2l , O)P(Ē2l |Ē3l , O)
on j + 1, and then it is represented as l |E l , O)P(E l |O)
· · · P(Ēk−1 k k (10)
P(ol |E lj , E lj+1 , O)= P(ol |E lj , O). (3)
where P(Ekl |O), P(Ēk−1
l |E l , O) and P(Ē l |Ē l , O)
k q q+1
The above likelihood is acceptable only when grid j is (0 ≤ q < k − 1) are calculated as follows:
visible from the sensor, namely whole grids between
the sensor and grid j are empty. If not so, the most P(Ekl |O)= P(Ekl , Ek+1
l |O) + P(E l , Ē l |O)(11)
k k+1
frontal occupied grid k(< j) is observed (see Figure l ,E l |O)
P(Ēk−1
l
4). Here, define an stochastic event Fk as follows: P(Ēk−1 |Ekl , O) = l l
P(Ek−1 ,Ek |O)+P(Ēk−1
k
l ,E l |O) (12)
k
E (k = 0) l l
P(Ēq ,Ēq+1 |O)
Fk = 0 P(Ēql |Ēq+1
l
, O) = . (13)
Ē0 ∩ Ē1 ∩ · · · ∩ Ēk−1 ∩ Ek (k > 0). l |O)+P(E l ,Ē l |O)
P(Ēql ,Ēq+1 q q+1
202
PROBABILISTIC MAP BUILDING CONSIDERING SENSOR VISIBILITY
∑ P(ei , e j ) ≡ 1 (18) 1
ei ,e j ∈{E,Ē}
203
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
10
In the conventional method, we assume that state 1
likelihood ratio
of each grid is independent from state of other grid
probability
as: 1 0.5
probability
3.2.1 Case of Prior Probability of Uniform (a) Likelihood (b) Result of posterior update
Distribution
Figure 9: Result of posterior update when the robot get
the observation of the obstacle in the uniformly-distributed
Figure 8 shows the likelihood ratio and the posteriors probablity area. ”+” represents results of the conventional
when we take the observation ( equivalent to the dis- method. ”
” represents results of our method. The gray
parity of 10 pixels ) in the uniform disribution. With curve in (b) represents the prior probablity.
considering sensor visibility, posteriors in the grid just
behind the 30th grid is higher than that without con-
sidering visibility because we consider the average
size of obstacles( equivalent to 40cm ) in this experi- 3.2.3 Case of Failure Observation for Occluded
ment (see section 3.1). Area
3.2.2 Case of Uncertain Observation from In Figure 10 we establish that we obtain the failure
Distant Place observation for an occluded area when existence of
obstacle is obvious. The error of this observation is
In Figure 9 we establish that posteriors are estimated about from the 200th to the 560th grid ( equivalent to
high from the 95th to the 110th grids after we obtain the disparity of 1 pixel ). But it is highly possible that
204
PROBABILISTIC MAP BUILDING CONSIDERING SENSOR VISIBILITY
10 1
likelihood ratio
probability
(a) From A in Figure 11 (b) From D in Figure 11
1 0.5
Figure 12: Robot’s view.
0.10 0 200 300
100 200 300 0 100
distance[grid] distance[grid]
(a) Likelihood (b) Result of posterior update
13(a)). When the robot re-observed X region from far-
Figure 10: Result of posterior update when the robot get ther point, however, the detail information of X was
the observation of the obstacle in the uniformly-distributed missing and estimated as ’obstacle’ rather than free-
probablity area. ”+” represents results of the conventional space due to the erroneous stereo observation from far
method. ”
” represents results of our method. The gray
curve in (b) represents the prior probablity.
point. (Figure 13(b),(c)). In contrast, our method cor-
rectly estimated the free-space in X without compro-
mise due to the erroneous observation from far point
(Figure 14(a),(b),(c)).
3.3 Result of Map Building The process time for one update was about
1800ms on a PC with Athlon X2 4400+ CPU and
Next we show the result of map building for an ac- 2GB memories.
tual room as shown in Figure 11. The mobile robot
moved in the room observing obstacles with stereo
cameras, starting from A point in Figure 11 via B, C, 4 CONCLUSIONS
B, D through the grey line in the figure, and finally
arrived at B point. We introduced a probabilistic observation model
Figure 12 shows a view captured by the left cam- properly considering the sensor visibility. Based on
era. Figure 12(a) is a view from A point, and Fig- estimating probabilistic visibility of each grid from
ure 12(b) is another view from B point. We com- the current viewpoint, likelihoods considering sensor
pared the built map of our method (Figure 14) to that visibility are estimated and then the posteriors of each
of the conventional one (Figure 13). Sub-figure (a) map grid are updated by Bayesian update rule. For
and (b) of each figure shows the temporary map when estimating grid visibility, Markov chain calculation
the robot reached to B point via A, B, C and D point based on spatial continuity is employed based on the
via A, B, C, B respectively, and sub-figure (c) shows knowledge of the average sizes of obstacles and free
the final map after the robot arrived at B point. Our areas.
method and the conventional method show the sig- This paper concentrates the aim on showing the
nificantly difference at the circular region labelled X. proof of concept of the probabilistic update consid-
The conventional method once estimate X as ’free- ering sensor visibility and spatial continuity. For ap-
space’ clearly when the robot was close to X (Figure plication to the real robot navigation, SLAM frame-
work is necessary. In addition there are moving ob-
jects like human and semi-static objects like chairs
A or doors in the real indoor scene. The expansion to
SLAM and environments with movable objects is the
future works.
C
D
B
205
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
(c) At B via A, B, C, B,
D
Figure 14: Result of map update considering visibility and spa-
tial dependencies.
REFERENCES
Grisetti, G., Stachniss, C., and Burgard, W. (2005). Improv-
ing Grid-based SLAM with Rao-Blackwellized Parti-
cle Filters by Adaptive Proposals and Selective Re-
sampling. In Proc. of the IEEE International Con-
ference on Robotics and Automation (ICRA), pages
2443–2448.
Miura, J., Negishi, Y., and Shirai, Y. (2002). Mobile
Robot Map Generation by Integrationg Omnidirec-
tional Stereo and Laser Range Finder. In Proc. of the
IEEE/RSJ Int. Conf. on Intelligent Robots and Systems
(IROS), pages 250–255.
Montemerlo, M. and Thrun, S. (2002). FastSLAM 2.0:
An Improved Particle Filtering Algorithm for Simul-
taneous Localization and Mapping that Provably Con-
verges.
Moravec, H. P. (1988). Sensor fusion in certainty grids for
mobile robots. In AI Magazine, Summer, pages 61–74.
206
A NEWMARK FMD SUB-CYCING ALGORITHM
Keywords: Flexible multi-body dynamics, Condensed FMD equation, Sub-cycling algorithm, Energy balance.
Abstract: This paper presents a Newmark method based sub-cycling algorithm, which is suitable for solving the
condensed flexible multi-body dynamic (FMD) problems. Common-step update formulations and sub-step
update formulations for quickly changing variables and slowly changing variables of the FMD are
established. Stability of the procedure is checked by checking energy balance status. Examples indicate that
the sub-cycling is able to enhance the computational efficiency without dropping results accuracy greatly.
1 INTRODUCTION
Flexible multi-body system (FMS) can be applied in
various domains such as space flight, automobiles
and robots. In these domains, accurate and efficient
computation of the flexible bodies undergoing large
overall motion is important for design and control of
the system (Huang and Shao, 1996).
Conventional integration methods, such as the
Newmark algorithm, the Runge-Kutta algorithm and
the Gear algorithm and etc (Dan Negrut, et al, 2005), Figure 1: A spatial arbitrary flexible body.
were widely applied to solve FMD equations.
Sub-cycling was proposed by Belytschko T. et al The FMD equation can be established by means
(Belytschko T.,1978). Mark et al (Mark, 1989) of the Lagrange formation.
applied the method to simulate an impact problem
and computational cost of the sub-cycling was only
+ Kq + C Tq λ = Q F + Q v " ( 2 − 1)
Mq
15% of that without sub-cycling. Gao H et al. (Gao,
2005) used sub-cycling to simulate auto-body C(q, t ) = 0 """""""" (2 − 2)
crashworthiness and declared that the cost is only
39.3% of no sub-cycling. Tamer et al (Tamer, 2003) Thereinto, M is a general mass matrix, K is a
pointed out that the FMD sub-cycling methods have general stiffness matrix, C(q,t) is the constrains, QF
not yet been presented in literatures. and QV are general external load and general
centrifugal load. Λ is the Lagrange multiplier. By
means of two times of differentials of the constrain
2 SUB-CYCLING FOR FMD equation, an augmented FMD equation can be
obtained as below.
A sub-cycling is constituted by two types of cycles,
main-cycle and sub-cycle. The key for sub-cycling is
to appropriately treat with interactions of nodes on ⎡M r C Tq ⎤ ⎡q
⎤ ⎡Q ∗F ⎤
⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ """ (2 − 3)
the interface (Daniel, 1997). ⎢⎣C q 0 ⎥⎦ ⎣λ ⎦ ⎣Q C ⎦
207
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
ˆ (q , q , t )q
M ˆ (q , q , q , q , t )" (2 − 4)
i = Q Thereinto, the top left corner marks represent the
i i d i i i d d
number of the iteration step. Start-up initialisation of
iteration can be set-up below.
Thereinto:
ˆ = M − M C −1 C − CT C −1
M i ii id q d qi qd qd ( ) [M − M C C ]
T
di dd
−1
qd qi
(1)
qt +Δt = qt + q t Δt +
Δt 2
2
[(1− 2β )q
t + 2β (1)q ]
t +Δt "(2 −10)
ˆ = Q −M C γ −C
Q i
*
Fi
id
−1
qd
T
qi (C ) [Q − M C γ ]
−1 T
qd
*
Fd dd
−1
qd
a a t n −1 1
+qti + 2 q ti + 3 q i " (2 − 9) q L1 = q L 0 + q Ln """" (2 − 15)
a0 a0 n n
q Sn = n ( q Sn − q S 0 ) + q S 0 """ (2 − 16)
208
A NEWMARK FMD SUB-CYCING ALGORITHM
Hence action of the slowly changing variables to In terms of equations (2-22) and (2-23), the
the rapidly changing variables is calculated below. action of the slowly changing variables to the
rapidly changing variables can be approximately
assessed.
ˆ ⎡a0 (q − q ) − a1q − a1q ⎤
1
− FSL1 = MSL1 ⎢ Ln L0 2 L0 3 L0 ⎥"(2 −17)
n 1ˆ
SL(i+1) [ ( a0 ( qLn − qL0 ) − a2 ( ( n − i ) qL0 + iqLn )
⎣ ⎦ −FSL(i+1) = M
n
The action of the rapidly changing variables to − a31 ( ( n −i) q L0 +iq Ln ) ⎤⎦"""" """(2 − 24)
the slowly changing variables is calculated below.
Imposing equation (2-24) into equation (2-21),
−FLSn = MLSn 0 S1 S0 [ (
ˆ nan q −q −anq −anq
2 S0 )
3 S0 "(2−18)
] the sub-step update format can be got as following.
ˆ ˆ ˆ
SL(i+1)qL(i+1) + MSS(i+1)qS(i+1) = QS(i+1) "(2 − 20)
M
3 NUMERICAL EXAMPLES
Also, according to equation (2-7), the following In this section, two numerical examples will be
equation can be obtained. performed to validate availability and efficiency of
the present sub-cycling algorithm.
SL(i+1) ⎣a0 ( qL(i+1) −qLi ) − a2qLi − a3qLi ⎦ +
ˆ
M ⎡1 1
1
⎤
3.1 A Bar-slider System
SS(i+1) ⎣a0 ( qS(i+1) −qSi ) − a2qSi − a3qSi ⎦ = QS(i+1) "(2− 21)
ˆ
M ⎡1 1
1
⎤ ˆ
A bar-slider system is shown in figure 2. Mass of the
rod is 2.0 kilograms and mass of the slider is 5.0
In equation (2-21), the slowly changing variables, kilograms. The driving torque is 100 Nm/s. Stiffness
which are used to compute the interaction of the of the spring is 1000 N/m. length of the rigid rod is 2
coupling variables, can be linearly interpolated in meters.
terms of the trapezoid rule. Results of rotational angle of the rod, the
vibration amplification of the sliding block and the
n−i i energy balance status computed by means of the
q Li = q L 0 + q Ln """"" (2 − 22)
n n sub-cycling and without sub-cycling are shown in
n−i i figure 3 to figure 6. The scale values in brackets of
Li
q = L 0 + q
q Ln """"" (2 − 23) the figure captions, such as (5:1), represent a sub-
n n
cycling with 5 sub-steps in one major step.
209
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
4
no subcycling
subcycling
3
Amplification(m)
2
0
0 1 2 3 4 5 6 7 8 9 10
Figure 2: Rotational rod-spring-slider system. Time(s)
Amplification(m)
errors are very small if compare with the original
2
results. The time cost of sub-cycling with scale 5:1
is 118 seconds and the time cost of the original
algorithm without sub-cycling is 218 seconds. The 1
140
3.2 Airscrew of a Jet Engine
120 no subcycling
Rotational angle(radian)
subcycling
100 FEM model of the airscrew of a jet engine are
80 displayed in figure 7. Parameters of the model are as
following (Units: kg/N/mm/s). The material of
60
airscrew is aluminium alloy. EX=7e6, PR=3,
40 DEN=2.78e-6. Diameter of the airscrew is D=900
20 mm, rotate speed is 8000 rpm.
We simulate the large range overall motion of
0
0 1 2 3 4 5 6 7 8 9 10 the airscrew by means of the Newmark sub-cycling
Time(s)
and the original Newmark respectively. The
Figure 3: Rotational angle of the bar (5:1). dynamic stress at the blade root is described in
figure 8. The time cost of the Newmark sub-cycling
is 1660 seconds and that of the Newmark is 2810
140 seconds. The computational efficiency is enhanced
120 no subcycling about 70%. The compared results show the good
Rotational angle(radian)
subcycling
100
precision and stability of the Newmark sub-cycling.
80
60
40
20
0
0 1 2 3 4 5 6 7 8 9 10
Time(s) Figure 7: The FEM model and the local mesh.
210
A NEWMARK FMD SUB-CYCING ALGORITHM
80 REFERENCES
no subcycling
subcycling Huang Wenhu, Shao Chengxun, 1996. Flexible multi-body
Dynamic stress(MPa)
70
dynamics, The science Press.
Dan Negrut, Jose L, Ortiz., 2005. On an approach for the
60 linearization of the differential algebraic equations of
multi-body dynamics. Proceedings of IDETC/MESA.
50
DETC2005-85109. 24-28.Long Beach, USA.
Dan Negrut, Gisli Ottarsson, 2005. On an Implementation
of the Hilber-Hughes-Taylor Method in the Context of
40
0 0.005 0.01 0.015 0.02
Index 3 Differential-Algebraic Equations of Multibody
Time(s) Dynamics. DETC2005-85096.
Belytschko T., Mullen, Robert, 1978. Stability of explicit-
Figure 8: Dynamic stress of the blade root during rotation. implicit mesh partitions in time integration.
International Journal for Numerical Methods in
10
Engineering, 12(10): 1575-1586.
Neal, Mark O., Belytschko T., 1989. Explicit-explicit sub-
no subcycling
cycling with non-integer time step ratios for structural
Rotational angle(radian)
8 subcycling
dynamic systems. Computers and Structures, 31(6):
6 871-880.
Gao H.,Li G. Y.,Zhong Z. H., 2005. Analysis of sub-
4 cycling algorithms for computer simulation of
crashworthiness. Chinese journal of mechanical
2 engineering, 41(11): 98-101.
Tamer M Wasfy, Ahmed K Noor, 2003. Computational
0
0 0.005 0.01 0.015 0.02 strategies for flexible multi-body systems. Applied
Time(s) Mechanics Reviews. 56(6): 553-613.
W. J. T. Daniel, 1997. Analysis and implementation of a
Figure 9: Rotational angle of the blade root. new constant acceleration sub-cycling algorithm.
international journal for numerical methods in
engineering. 40: 2841-2855.
Haug, E. J., 1989. Computer-Aided Kinematics and
4 CONCLUSIONS Dynamics of Mechanical Systems. Prentice-Hall.
Englewood Cliffs, NJ.
This paper firstly presents a Newmark-based FMD Lu Youfang, 1996. Flexible multi-body dynamics. The
sub-cycling algorithm. By modifying the Newmark higher education Press.
integral formula to be fitted for sub-cycling of the
FMD problems, not only the integral efficiency can
be greatly improved, but also be more easy for
convergence of the integral process.
Because of that different integral step sizes are
adopted during the sub-cycling, the integral process
can be more efficient and easier for convergence. At
the same time, Unconditional stability of the original
Newmark are still kept in the Newmark sub-cycling.
The number of the sub-step in one major cycle
can be a little infection of the integral precision of a
sub-cycling process. However, it is unobvious as the
number is within a range. Generally speaking, the
enhancement of the integral efficiency is more
significant when the number is under a limitation.
By checking the energy balance status of the
integral process real time and adjusting the step size
when necessary, the sub-cycling procedure can keep
a well convergence property and obtain the
reasonable numerical computation results.
211
ROBOT TCP POSITIONING WITH VISION
Accuracy Estimation of a Robot Visual Control System
Abstract: Calibrated 3D visual servoing has not fully matured as a industrial technology yet, and in order to widen its
use in industrial applications its technological capability must be precisely known. Accuracy and
repeatability are two of the crucial parameters in planning of any robotic task. In this paper we describe a
procedure to evaluate the 2D and 3D accuracy of a robot stereo vision system consisting of two identical 1
Megapixel cameras, and present the results of the evaluation.
212
ROBOT TCP POSITIONING WITH VISION - Accuracy Estimation of a Robot Visual Control System
marker and a calibration pattern in the robot visual CINEGON 10mm/1,9F with IR filter; exposure time
servoing applications. was 10.73ms, while frame time was 24.04ms, both
Within the static 2D test, we were moving the obtained experimentally.
IR-LED array with the linear drive perpendicular to For the dynamic 2D test conditions were the
the camera optical axes and measured the increments same as in static test, except the linear guide was
in the image. The purpose was to detect the smallest moving the IR-LED array with a speed of 460mm/s
linear response in the image. The IR-LED centroids and the exposure time was 1ms.
were determined in two ways: on binary images and In the 3D reconstruction test the left camera
on grey-level images as centers of mass. During distance to IR-LED array and right camera distance
image grabbing the array did not move thus to IR-LED array were about 205cm; baseline
eliminating any dynamic effects. We averaged the distance was 123cm; Schneider-Kreuznach lens
movement of centroids of 10 IR-LEDs in a sequence CINEGON 10mm/1,9F with IR filter; Calibration
of 16 images and calculated the standard deviation region-of-interest (ROI): 342 x 333 pixels;
to obtain accuracy confidence intervals. With the Calibration pattern: 6 x 8 black/white squares;
dynamic 2D test shape distorsions in the images due Calibration method (Zhang, 1998); Reconstruction
to fast 2D movements of linear drive were method (Faugeras, 1992). The reconstruction was
investigated. We compared a few images of IR-LED done off-line and the stereo correspondence problem
array taken during movement to statically obtained was considered solved due to a simple geometry of
ones which provided information of photocenter the IR-LED array and is thus not addressed here.
displacements and an estimation of dynamic error. For the 3D dynamic test, an ABB industrial robot
We performed the 3D accuracy evaluation with 2 IRB 140 was used with the standalone fully
fully calibrated cameras in a stereo setup. Using calibrated stereo vision setup placed about 2m away
again the linear drive, the array of IR-LEDs was from its base and calibrated the same way as before.
moved along the line in 3D space with different The robot wrist was moving through the corners of
increments and the smallest movement producing a an imaginary triangle with side length of
linear response in reconstructed 3D space was approximately 12cm. The images were taken
sought. In the 3D dynamic test, we attached the IR- dynamically when the TCP was passing the corner
LED array to the wrist of an industrial robot, and points and reconstructed in 3D with an approximate
dynamically guided it through some predefined speed of 500mm/s. The relative length of such
points in space and simultaneously recorded the triangle sides were compared to the sides of a
trajectory with fully calibrated stereo cameras. We statically-obtained and reconstructed triangle. The
compared the reconstructed 3D points from images robot native repeatability is 0.02 mm and its
to the predefined points fed to robot controller. accuracy is 0.01mm.
213
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
difference [pixel] 2
⎛
∑ ( x − x )( y − y ) ⎞⎟
0,03
2 ⎜
R =⎜ ⎟ (1)
⎜ ∑ ( x − x ) 2 ( y − y ) 2 ⎟⎠
0,02
binary
grey level
⎝
0,01
0,10
Table 1: Comparison of standard deviations and R2 values
position [mm] for different moving increments in 2D.
0,00
0,00 0,10 0,20 0,30 0,40 0,50
standard
R2
difference [pixel]
3,00
increments deviation[mm]
[mm] grey- grey-
binary binary
level level
2,00
0.01 0.045 0.027 0.4286 0.6114
binary
grey level 0.1 0.090 0.042 0.8727 0.9907
1,00
1 0.152 0.069 0.9971 0.9991
position [mm]
0,00
0,00 1,00 2,00 3,00 4,00 5,00
The dynamic 2D test showed that when
comparing the centers of the markers of the IR-LED
Figure 1: Pixel difference for 0.01mm (top), 0.1mm array and the pixel areas of each marker in statically
(middle), and 1mm (bottom) increments. and dynamically (linear guide moving at full speed)
grabbed images there is a difference in center
Figure 2 compares normalized pixel differences positions and also the areas of markers in
in grey-level images of a single marker. dynamically grabbed images are slightly larger than
those of statically grabbed images.
normalized
difference
1,0
Table 2 presents the differences of the centers of
0,9
the markers, and difference in sizes of the markers
0,8
of the statically and dynamically grabbed images.
0,7
0,6
Table 2: Comparison of the images grabbed in static and
0.01mm
0,5
0.1mm dynamic mode.
1mm
0,3
static 484.445 437.992 6 6 27
0,2
dynamic 484.724 437.640 7 6 32
0,1
position
0,0
1 2 3 4 5 6
Regarding the results presented in Table 2, the
Figure 2: Normalized differences of grey-level images for accuracy of the position in direction x of
each position comparing different increments. dynamically grabbed images comparing to statically
grabbed is in the range of 1/3 of a pixel, due to the
A linear regression model was applied to gravity centre shift of pixel area of marker during
measured data, and the R2 values calculated to asses the movement of the linear guide.
the quality of fit. The results are presented in Table 1
for 2D tests and in Table 2 for 3D tests. The R2 4.2 3D Reconstruction Tests
value can be interpreted as the proportion of the
variance in y attributable to the variance in x (see We tested the static relative accuracy of the 3D
Eqn. 1), where 1 stands for perfect matching (fit) reconstruction of the IR-LED array movements by
and a lower value denotes some deviations. linear drive. The test setup consisted of the two
calibrated Photonfocus cameras focused on the IR-
214
ROBOT TCP POSITIONING WITH VISION - Accuracy Estimation of a Robot Visual Control System
LED array attached to the linear drive which lens distortions since it is almost the same in the
exhibited precise movements of 0.01mm, 0.1mm dynamic and in the static case. The images and the
and 1mm. The mass centre points of 10 LEDs were reconstruction in dynamic conditions vary only a
extracted in 3D after each movement and relative 3D little in comparison to static ones.
paths were calculated and compared to the linear
drive paths. Only grey-level images were
considered, due to the better results obtained in 2D 5 CONCLUSIONS
tests, as stated in Figure 2 and in Table 1. The
0.01mm, 0.1mm, and 1mm increments for the 3D
We performed the 2D and 3D accuracy evaluation of
tests are presented in Figure 3. the 3D robot vision system consisting of 2 identical
The accuracy in 3D is lower than in the 2D case, 1 Megapixel cameras. The measurements showed
due to calibration and reconstruction errors, and
that the raw static 2D accuracy (without any
according to the tests performed it is approximately subpixel processing approaches and lens distortion
1/2 of a pixel. compensation) is confidently as good as 1/5 of a
Table 4 presents the results of the 3D dynamic
pixel. However, this is reduced to 1/2 of a pixel
tests where the triangle area and side lengths a, b when image positions are reconstructed in 3D due to
and c, reconstructed from dynamically-obtained reconstruction errors.
images were compared to static reconstruction of the
In the dynamic case, the comparison to static
same triangles. 10 triangles were compared, each conditions showed that no significant error is
formed by a diode in IR-LED array. The average introduced with moving markers in both, 2D and 3D
lengths and the standard deviations are presented.
environment. For the speed level of an industrial
robot the accuracy is though not reduced
Table 3: Comparison of standard deviations and R2 values
for different moving increments in 3D.
significantly.
standard
increments [mm] R2
deviation [mm]
0.01 0.058 0.7806 ACKNOWLEDGEMENTS
0.1 0.111 0.9315
1 0.140 0.9974 This work was supported by the European 6th FP
project Adaptive Robots for Flexible Manufacturing
normalized
difference
Systems (ARFLEX, 2005-2008) and the Slovenian
1,00 Research Agency programme Computing structures
0,90 and systems (2004-2008).
0,80
0,70
0,60
0.01 mm REFERENCES
0,50 0.1 mm
1 mm
0,40
Arflex European FP6 project official home page:
0,30
http://www.arflexproject.eu
0,20
Faugeras, O., 1992. Three-Dimensional Computer Vision:
0,10 A geometric Viewpoint, The MIT Press.
0,00 Hutchinson, S., Hager, G., Corke, P.I., 1995. A tutorial on
1 2 3 4 5
positions
6
visual servo control, Yale University Technical Report,
RR-1068.
Figure 3: Pixel difference in the 3D reconstruction. Papa, G., Torkar, D., 2006. Investigation of LEDs with
good repeatability for robotic active marker systems,
Table 4: comparison of static and dynamic triangles. All Jožef Stefan Institute technical report, No. 9368.
measurements are in mm. Robson, D., 2006. Robots with eyes, Imaging and
machine vision-Europe, Vol. 17, pp. 30-31.
a σ b σ c σ Ruf, A., Horaud, R., 1999. Visual servoing of robot
static 193.04 12.46 89.23 2.77 167.84 12.18 manipulators, Part I: Projective kinematics, INRIA
dynamic 193.51 12.43 89.03 2.77 167.52 12.03
technical report, No. 3670.
Zhang, Z., 1998. A flexible new Technique for Camera
Calibration, Technical report, MSRTR-98-71.
We observe a significant standard deviation (up Zuech, N., 2000. Understanding and applying machine
to 7%) of triangle side lengths which we ascribe to vision, Marcel Dekker Inc.
215
MULTI AGENT-BASED ON-LINE DIAGNOSTIC SCHEME
OF SUBSTATION IED
Keywords: Multi-agents, On-Line Diagnosis, SA (substation automation), IED (intelligent electronic device).
Abstract: This paper presents a novel multi agent-based diagnostic scheme of substation IED. The proposed method is
the on-line diagnostic scheme for the IEDs in IEC61850-based SA system using multi-agents. Multi-agents
detect the fault of IED installed in substation and apply to improvement of reliability in protection and
control system of substation. These agents in the SA system embedded in the station unit, the engineering
unit, the trouble manager, backup IED and protection and control IED as the thread form. Through the
implementation and the case studies of the proposed scheme, the availability is proven.
216
MULTI AGENT-BASED ON-LINE DIAGNOSTIC SCHEME OF SUBSTATION IED
sent to the bay IED through the process bus (Fig.1). Descrip.)
SCD file
(Sys. Config.
The largest difference between the two schemes
Device Selection
Descrip.)
System
above is whether the data transfer path can be Configurator
changed during operation. In the existing system,
analogue data are transferred through hardware, so
data transfer path cannot be changed unless the ICD file
CID file
physical connection is changed. In this scheme, data (IED
Capability (Config. IED
Descrip.)
are transferred on process bus, so the data transfer Devices
Descrip.)
IED
path can be changed by changing the destination of (IEDs) Configurator
data packet.
Station Engineering
Figure 2: SCL based engineering.
Station level
HMI Unit
2.3 Standardized Interface
Station bus
217
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
1) EU (engineering unit) assigns the DUT (device As shown in figure 4, the multi agent-based ODS
under test) and inform to TM. structure consists of data source, data storage,
2) TM transfers the information such as LN, preco communication mechanism and data consumer.
nfigured control block and settings for the DUT When agents detect the fault of IED in protection
to backup IED. system, it replaces faulted IED and operates with
3) TM starts the sample value path from process IE backup IED properly.
D #1 to backup IED.
4) TM stops the sample value path from process IE
D to DUT. H M I p la tfo rm
7 IE D B ackup
Station Bus
agent agent
6 1
2 S u b s ta tio n
CT
Bay IED Backup Trouble
(DUT) IED Manager VT
218
MULTI AGENT-BASED ON-LINE DIAGNOSTIC SCHEME OF SUBSTATION IED
4 CASE STUDY
4.1 Test System
Figure 5 shows the test system to verify the
performance the multi agent-based ODS. The part
inside dotted line in this figure means the additional Figure 6: Response message from DUT.
equipments to conventional SA system.
5 CONCLUSION
A novel multi agent-based ODS can be applied in
the IEC61850-based SA system is proposed in this
paper. The technique presented in this paper detects
the fault of IED automatically and it replaces the
failed IED by backup IED to tolerate the fault in
system level. Through the implementation and the
case studies of the multi agent-based ODS, the
availability is proven.
ACKNOWLEDGEMENTS
Figure 5: Test system. This work was supported by the ERC program of
MOST/KOSEF (Next-generation Power Technology
In the test system, HyperSim (real-time Center).
simulator) uses to generate the fault in power system
(HyperSim). MU (merging unit) transfers the digital
signal to protection IED (OCR/Recloser) via
network after it had A/D conversion. Actuator has REFERENCES
the function such as on/off of circuit breaker as
Bertsch, J. et al. 2003, “Experiences with and perspectives
process IED. Backup IED performs the same
of the system for wide area monitoring of power
function of DUT. systems,” CIGRE/IEEE PES International
Symposium, Quality and Security of Electric Power
4.2 Simulation: DUT Diagnosis Delivery Systems, 8-10 Oct. pp.5-9.
Yu, X. Z. et al., 2000, “Condition Monitoring of a power
In this simulation, we consider two types of fault station,” International Conference on Power System
such as communication and IED hardware part. We Technology, Vol.2, 4-7 Dec., pp.1029-1033.
assume that the fault in communication part is LAN Ding M. et al., 2004, “Reliability analysis of digital relay,”
cable broken and the fault in IED hardware part is Eighth IEE International Conference on Developments
in Power System Protection, Volume 1, 5-8 April,
power off.
Vol.1, pp. 268 – 271.
We perform the test that TM can detect the fault. IEC 61850, 2002-2005, Communication networks and
After the DUT’s function replaces with backup IED, systems in substations.
TM sent the test input pattern and received the HyperSim, http://www.transenergie-tech.com/en/
response from DUT. Figure 6 shows the GOOSE
message from DUT as response.
219
SCADA WEB
Remote Supervision and Maintenance of Industrial Processes
José Ramón Janeiro, Eduardo J. Moya, David García, Oscar Calvo and Clemente Cárdenas
Fundación CARTIF, Parque Tecnológico de Boecillo. Parcela 205. 47151 Boecillo, Valladolid, Spain
[email protected], [email protected], [email protected], [email protected], [email protected]
Keywords: Remote Supervision, Control, Maintenance, Industrial Process, PLC, OPC, OPC-DA, SCADA, Web,
Internet, Java, GSM, GPRS, SMTP, PLC.
Abstract: This article explains a SCADA System called SCADA Web developed by CARTIF Foundation. This
SCADA System makes possible remote monitoring and control from the process controlled by PLC using
Web Technology. SCADA Web has been developed on platform Java EE and provides visualization and
control signals, trend charts, alarms, historical data and alarm reports.
220
SCADA WEB - Remote Supervision and Maintenance of Industrial Processes
Maintenance systems send alarms or warning by Apache Tomcat (The Apache Software
means of SMS and e-mail. These methods supply an Foundation) has been the server used. SCADA Web
efficient notification reducing failure correction Application is based on the next technologies: JSP,
times and therefore reducing process costs. Servlet, Applet, Beans, JDBC, JavaMail, JAF and
JAXB. The use of these technologies leads to a high
development cost of the application, a null or low
3 SCADA WEB ARCHITECTURE acquisition cost and high flexibilility and scalability
compared, for example, to commercial SCADA.
The acronym of SCADA Web Application comes
from SCADA (Supervisory Control And Data
Acquisition) and WEB (World Wide Web). This
application makes remote supervision and
maintenance of any industrial process possible. The
above-mentioned process can be controlled by
PLC´s of different brands by means of a web
browser, an e-mail client and a mobile.
This application offers a number of features
beyond the usual characteristics of a simple SCADA
system. It contains elements focused towards
industrial process maintenance like SMS messaging
(Short Message Service) using technology
GSM/GPRS (Global System for Mobile
Communications /General Packet Radio Service)
Figure 1: SCADA Web Application Structure.
and e-mails.
Using OPC-DA(OPC-Foundation) protocol
The configuration parameters of SCADA Web
(OLE for Process Control-Data Access) based on
Application are inserted in an XML file called
OLE/COM/DCOM (Object Linking and
scadaweb.xml. This file has to keep the xml schema
Embedding/Component Object Model/Distributed
which is defined in the file scadaweb.xsd The use of
Component Object Model) it is possible to access
an XML file to configure the application allows a
the variables.
high degree of flexibility and scalability in the
In order to avoid the use of DCOM technology
parameters configuration, as well as a simplification
due to problems with the firewalls (OPC
of the configuration process to the user.
Programmers’ Connection), we have developed an
Thanks to JAXB (Java Architecture for XML
application called OPC gateway to supervise the
Binding) the schema XML is mapped to JAVA
process without limiting the structures of control.
classes providing a simple way to access the
This application uses OPC-DA implementation in
configuration file scadaweb.xml. The SCADA Web
its interface “Automation” allowing the SCADA
Application is divided in two modules called
Web Application to access the variables by means of
Supervision and Maintenace modules. Next, these
strings UNICODE based on Sockets. Although the
modules will be explained.
OPC gateway application support DCOM, it is
expected to be installed in the same computer where
the OPC-DA server is located so that it is only
3.1 Supervision Module
necessary to use COM technology.
This module has the typical characteristics of a
The use of OPC-XDA(OPC Foundation) (OLE
comercial SCADA. An industrial process can be
For Process Control- XML Data Access) instead of
remotely supervised via WEB thanks to this module.
OPC-DA was ruled out because of the generally
Although this module was designed for remote
scarce in utilization of this protocol by PLC´s
supervision via WEB, it can be used for local
manufacturers. Even so, it is desirable that the
supervision of a process. Furthermore, thanks to its
application supports both protocols in future
generic design, it’s possible to supervise the process
versions.
using informatics nets so complex as desired (LAN,
In fact, the SCADA Web Application is a Web
Internet, Routers, ...).
application developed using the platform Java EE
The Supervision Module of SCADA Web
(Java Enterprise Edition) (Sun Microsystems).
Application is a multiuser system that lets to several
221
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
remote users supervise the same process at the same 4 SCADA WEB
time.
This module is based on a client-server SCADA Web Application is executed within
architecture (Applet-Servet/JSP) which allows to applications servers. This application allows an
distribute the computacional load of the application interaction between user and process by means of
between Tomcat Apache server and remote three interfaces, HTTP, GSM/GPRS and e-mails.
machines. The first interface, HTTP, makes it possible to
An Applet is an application, written on Java, supervise the process in a remote manner from a
which is executed on a Web browser. Using an web browser.
applet allows us to have a more complete interface The interface GSM/GPRS is oriented to offer an
from the point of view of the client. instantaneous warning procedure reducing failure
A Servlet is a Java class that is carried out on an correction times and the costs of industrial
application server in order to answer clients processes.
requests. The clients are Applet´s in the case of Finally, the e-mail interface carries out the same
SCADA Web. functions that GSM/GPRS interface, although it
A page JSP is a file that combines HTML targets allows to send more information. The main reason is
with script targets which belong to Java Server to provide redundant alarm warning procedures, so
Pages specification. The page JSP has a similar that the user is notified as soon as possible. E-mail,
aspect to HTML targets, but they are changed in unlike GSM/GPRS, is used to notify less critical
Servlet in order to compile and generate the alarms. The HTTP interface has been grouped inside
appropriated class files. The resulting file from the what has been called Supervision Module, while
transformation of page JSP is a combination of GSM/GPRS interface and e-mails are in
HTML code cointained in JSP page and dynamic Maintenance. Next, these modules are explained.
content which is especified by JSP specification
targets. The exchange of information between 4.1 SCADA Web Configuration
Applet and Servlet is carried out by HTTP
tunneling, in other words, transmitting binary As in other software applications, the configuration
information using HTTP protocol. of SCADA Web Application is done by an XML file
Due to security obsession this protocol is usually according to XML Schema called scadaweb.xsd.
the only possible method of information This configuration file has four blocks well
transmission. differentiated: Parameters, Maintenance, Protocols,
and Users.
3.2 Maintenance Module The reading frecuency of PLC´s variables in
“Paramaters Block” is normally about half a second.
This module is executed as a daemon checking The update frequency of the different databases of
permanently that alarms have been configured to the supervisory system is also configurated These
take place. Alarm notification is carried out by are called reports or historical data.
maintenance workers using two diferent methods Inside the “Maintenance Block” the neccesary
depending on configuration. basic parameters required by the above-mentionated
The first method consist of an alarm notification block are configurated. There are two sections in this
using GSM/GPRS technology by SMS. It is block: SMS and E-MAIL. In SMS Section the port
necessary that the computer where SCADA Web is configurated. It contains the modem GSM/GPRS
application is installed, is connected to a the PIN, the SMS Server phone and the alarms to
GSM/GPRS modem, normally through a serial port. detect besides text message and the phone where it
Communication between modem and SCADA Web will be sent.
is made by standard AT commands. The library The SMTP server (address and port), the sender
command used to operate the computer ports is one address, alarms to detect together with the content
from the RXTX organization (RXTX Serial and and message addressee are configurated in E-MAIL
parallel I/O libraries supporting Sun’s CommAPI). Section.
The second method consist of alarm notification In Protocol Block the available protocols, in this
using e-mails. A SMTP server which is configurable case OPC-DA, are added together with the adress
in SCADA Web Application is used. In this case the and port of OPC-DA server.
library used is JavaMail from Sun Microsystems.
222
SCADA WEB - Remote Supervision and Maintenance of Industrial Processes
In Users Block passwords, usernames and access The application allows to add windows so that a
permission to the different parts of the program are SCADA system can be built with so many windows
configurated. as desired. Each window can be associated to a
wallpaper.
4.2 Supervision Module Hereafter the available components of the
application will be explained. Every component has
The necessary requirements to access SCADA Web a properties dialogue box associated that allows to
application are Internet connection and a computer. realize its configuration.
After previously stated requirements are fulfilled Some of the components that can be added
it is necessary to open a web browser window and to (Besides of labels, rectangles and image
connect to the server where the SCADA Web components) are:
application is installed. A similar window is showed
in Figure 2. Text Field displays analog and digital
variables.
Figure 2: Initial Window of SCADA Web. Button is used to control digital or analog
variables. When the button is pressed,
In this window it is neccesary to authenticate in depressed or is pressed during a time period,
order to access to the application. After a correct the variable changes of value.
authentication, it is possible to access the
applications: “Builder” and “Viewfinder”.
The “Builder Application” is going to allow the
creation of a series of windows with components Figure 6: Button Component.
thanks to a high level graphic interface with the user.
Linking ones with the others it is possible to Vertical Bar Graph simulates a level and it is
build a SCADA system of a specific installation. associated with analog and digital variables.
In the figure 3 an image of “Builder Application
is showed”.
223
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
224
SCADA WEB - Remote Supervision and Maintenance of Industrial Processes
in a local hard disk or in the server. In the last necessary to have a computer and Internet
instance it is possible to do a remote supervision of connection. The SCADA system can also represent
the process if you have a computer and internet by graphics the current evolution of process
connection. variables and the configuration of alarms to warn
“Viewfinder Application” makes it possible to when a failure takes place. Besides, these alarms are
carry out the SCADA system created with the registered and can be recognized by user.
“Builder Application”. In order to configurate these There is a possibility of printing and the
configurations it is necessary to open them and after monitoring reports by SCADA system of industrial
a correct authentication the variable update plant.
frequency will be fixed. The SCADA system allows to create historical
The configuration of update variable frequency data in order to a later consulting in a visual way.
make it possible to adapt the refresh time to the In the SCADA permission levels to adapt the
necessities of the person that wants to supervise the posibilites of supervision tasks to worker
system. A clear example happens in industry when permission level who supervises the installation are
the system goes to be supervised simultaneously by configurated.
workers in the monitoring process and quality Finally, it shoud be remarked that thanks to use
control. an object orientation programming language and an
organization of application in components it is
4.3 Maintenance Module possible easily add new elements in this application.
REFERENCES
International Engineering Consortium. Global System for
Mobile Communication, <http://www.iec.org/online/tu
torials/gsm/> (last accessed on January 10, 2007)
Janeiro, J. R., 2006. Supervisión remota de procesos
industriales controlados por Autómatas Programables,
Figure 14: An alarm e-mail. University of Valladolid. Spain, 1nd edition.
JFree.org. JFreeChart, <http://www.jfree.org/jfrechart/>
(last accessed on January 10, 2007)
OPC Foundation. Specifications,http://ww.opcfoundati
5 CONCLUSIONS on.org (last accessed on January 10, 2007)
OPC Programmers' Connection. OLE for Process Control,
A system SCADA for remote monitoring and http://ethernet.industrial-networking.com/ieb/article
control of procceses is suggested. This SCADA Web display.asp?id=21 (last accessed on January 10, 2007)
RXTX. Serial and parallel I/O libraries supporting Sun's
Application consists of a sub-application called CommAPI, <http://ww.rxtx.org> (last accessed on
“Builder” that allows to make SCADA systems for January 10, 2007)
an industrial plant and a sub-application Sun Microsystems. Java Enterprise Edition, <http://java
“Viewfinder” whose function is supervise an .sun.com/javaee/> (last accessed on January 10, 2007)
industrial process based on SCADA systems built by The Apache Software Foundation. Apache Tomcat,
the “Builder”. <http://tomcat.apache.org> (last accessed on January
The process variables of an industrial plant 10, 2007)
controlled by different PLC´s brands can be GeneraLynx. Remote supervision and control by WAP,
remotely supervised by this application. It is only <www.euroines.com/down/DemoDoc/WapScada%20
DD.pdf> (last accessed on January 10, 2007)
225
PROPERTY SERVICE ARCHITECTURE FOR DISTRIBUTED
ROBOTIC AND SENSOR SYSTEMS
Keywords: Distributed robots and systems, multi-robot systems, sensor networks, Property Service architecture.
Abstract: This paper presents a general architecture for creating complex distributed software systems, called Property
Service architecture. The system may contain resources like robots, sensors, and different kinds of system
services, such as controller units, data storages, or a collective model of the environment. This architecture
contains several solutions and distributed system design methods for developing advanced and complex
systems. It also provides the possibility to add new resources to the system easily and during operation.
Each service has a very simple generalized interface. This meets the requirements of distributed robotic
applications, such as remote operation, multi-robot cooperation, and the robot's internal operation. The
simplicity of the interface also provides a possibility to scale down the service even on the low-cost, low-
performance microcontrollers used in small-sized robots. The main features of the architecture are the
dynamic properties of the resources, automatic reconfiguration, and the high level of reusability of the
implemented methods and algorithms.
226
PROPERTY SERVICE ARCHITECTURE FOR DISTRIBUTED ROBOTIC AND SENSOR SYSTEMS
are added to the system. This paper proves that it is are Mobility software (Rea, 1999), the Player/Stage
possible to implement flexible application layer that project (Gerkev et. al. 2003), Miro (Utz et. al. 2002)
can be implemented on all kinds of transportation and ORCA (Brooks 2005), which is based on a
layers while providing all the capabilities of state-of- CORBA component model. Later in ORCA2,
the-art distributed architectures. CORBA has been replaced with Ice (Hemming,
Our solution, called Property Service 2004) middleware, which provides improved
architecture, has been developed to be a generalized features compared with CORBA
interface for all kinds of devices or resources in a Wang et al. presented a COM-based architecture for
distributed system. Property Service provides the the fusion of logical sensors (Wang et al. 2001).
possibility to easily create and add new resources to However their approach has some drawbacks,
a distributed system. The main criteria for the including platform dependency and a lack of
architecture design were simplicity, scalability, network transparency. DDX architecture (Corke
dynamics and expandability, and high reusability of 2004) for a distributed system has been developed
system components. Dynamics and expandability using UDP/IP to transfer data from remote sensors
make it possible to add new features and to a central data store. However their support for
functionalities to services even during operation, as only lower-level data structures increase the amount
well as to integrate the results of different research of data transferred during operation and lacks
topics into a larger system. This is essential to be expandability.
able to build robotic systems with multiple Algorithms and remote control code on
capabilities. heterogeneous robotics systems have also been
developed with higher reusability in mind.
CARMEN (Montemerlo, 2003) uses IPC to
communicate between system components and
provides a reusable navigation toolkit for multiple
robotics. URBI (URBI www) scripting language
support several kinds of robots and robot simulators.
URBI also provides client/server-type networking
for remote control of robots, in-language parallel
processing and support for several commercial
mobile robots.
Even though several possible solutions exist
already, they have several disadvantages. Relying on
a single communication protocol or middleware
limits the possible platforms on which the service
Figure 1: Set of resources that might be a part of a can run. As new features are added to the resource
distributed system. (e.g. a robot or sensor), the interface must be
modified, which causes system-wide changes in the
This paper describes the whole architecture that remote software that uses the interface. General
has been partly introduced on several papers middleware also requires a lot from the CPU,
previously. It will describe system-level services that memory, and disc space, and it cannot be run on
improve the creation and management of distributed robots with an embedded CPU.
systems and heterogeneous multi-robot systems.
3 PROPERTY SERVICE
2 RELATED WORK
Property Service architecture provides tools for
Many efforts have been made to create a more building new networked systems in just a few hours.
generally useful interface for networked robots. In It provides standardized data types and service types
many cases, communication is based on commonly that can operate on different kinds of platforms.
used technologies like TCP/IP protocols and Property Service has been successfully used for
middleware like CORBA, Soap, etc. In multi robot remote operation of mobile robots (Tikanmäki,
architectures, several of these are based on CORBA 2003), multi-robot cooperation (Mäenpää et al.
or a real-time CORBA (OMG, 2002) extension. 2004), remote operation of a swarm of robots
Examples of robotic architectures using RT-CORBA (Tikanmäki, 2004), and to create a dynamic interface
227
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
for a modular robot (Tikanmäki and Vallius 2004). architecture, user interface components can be
This paper presents the complete architecture and thought of as a sensor that senses user inputs and
several system services, such as a storage service, a provides these as properties. Therefore, the user
resource service, and grouping services, and interface can have properties that other services can
explains how they can be used to build more set or get. This feature is used in the listening
complex distributed systems containing robots and mechanism. A client service can request listening of
other devices and system resources. a certain property of the other service. This service
Properties are the features of each service, such registers information concerning the connection of
as the sensors of a robot, or they are functional the client service to the requested property. Each
properties related to the operation of the service. time the value of the property changes in the service,
Functional properties include, for example, the an event is sent to the client service. The main
autonomous features of robots; or the tracking advantage of this is that the client service does not
capabilities of a sensing device. Each property is a need to continuously request value changes, thus
paired name and value and it can be set or requested. reducing the amount of required communication.
The value of each property is transferred as This is especially useful when changes in the
character arrays through a communication channel, property value occur over a long period.
and structured data is represented in XML format.
Each service has a special property called
"properties", which contains a list of the properties
currently available on the service. The value of
“properties” changes during operation as the set of
properties of the service changes, providing dynamic
interface functionality.
Some properties may contain sub-properties.
This hierarchic representation provides the
possibility to request complex representations or, on
the other hand, only special features of a property.
The format is the same as that used in several
programming languages for separating fields of
structures. For example, by requesting the "location" Figure 2: Principle and examples of property service
property from a robot service, the client receives a layers.
6D vector of the current location of the robot. The
client can also request the "location.x" property,
which returns only the x coordinate of the robot's 3.2 Data Types
current location.
A request for certain properties may also contain Property Service has a simple interface, which
some parameters that specify, for example, the Several commonly used data types have been
context of the return value. A good example of this standardized to provide compatibility between
is a request for robot’s location, which might be services. The most commonly used ones are vector,
requested in several coordinate systems. The client list and markers. These data types are briefly
can request possible parameters using the introduced in the following.
“.parameters” extension on property name. A vector is an array of decimal numbers and its
length can vary. For example, a request for a robot's
3.1 Service Interface location returns a 6-dimensional vector containing x,
y, and z translations and a, b, and c rotations along
Property Service has a simple interface, which each axis. A vector is also used to deliver
contains only two methods, "SET" and "GET", for measurements from various sensors, like distance
getting and setting the properties of a service. For sensors. A vector is also used to represent
example, a connected client can GET the velocity of sequences, histograms, etc.
a robot through Property Service or SET the velocity A list is a set of data types. It is used, for
of the robot. The terms client and server are example, to list the properties that a service has. A
misleading, as both the client side and the server list can wrap several kinds of data types, including a
side implement the Property Service interface. The robot's path, which is presented as a list of locations
term 'client service' is used when talking about user (presented as vector types). The shape of an edge of
interfaces or other services that request properties an object can also be presented as a list of vectors
from other services. Figure 2 shows the general containing image coordinates.
principle of the architecture. In the Property Service
228
PROPERTY SERVICE ARCHITECTURE FOR DISTRIBUTED ROBOTIC AND SENSOR SYSTEMS
A marker is a structure that stores information and ICE. To be able to communicate between
about detected and tracked objects in the various protocols, special proxies have been made to
environment. For example, a robot's vision system transfer a call from one media to another. As an
provides markers for objects currently in the field of example, the Property Service in Sony's AIBO robot
view. The marker structure contains location communicates through a TCP/IP socket and a
information and a set of detected features that the Wireless LAN with a PC that contains a wrapper to
object has. For example, a ball recognized from the convert property calls to other protocols, such as
camera view can have recognized features like shape ICE or CORBA calls. This provides the possibility
and color. Markers provided by different services to control AIBO from any property client without
can be collected into a model that represents current knowledge of how the AIBO is actually connected
knowledge about the current environment. This
to the system. The implementation of a proxy is
provides the possibility to easily build sensor
simple, as it simply delivers property calls from one
networks and swarm robotic systems.
Markers are used as input parameters for the protocol to another.
behaviors of various services. In addition to physical
objects they can also represent abstract entities that 3.3 GUI as a Property
can be used to create new behaviors. For example, a
target marker for a "move to" behavior that stays in A service may contain special properties that can be
front of a robot causes the robot to move forward. used to create user interfaces automatically. Several
The measurements of each sensor can be presented of properties may have a ".gui" extension property
as markers, which is highly useful in creating that returns the preferred GUI component for the
distributed sensing systems. For example, a swarm property. The service can also provide a class that
of robots produces a large amount of markers of the contains the compiled code for the GUI component.
objects they detect. These markers are collected into For example, the "movement.gui.java" property
one place to create an environmental model based on returns the java class that can operate property
where the swarm operates. movement on the service. If a new version of the
Table I shows an example of each of the basic GUI component is then developed, it can be received
data types. As it can be seen, for example, the color from the service without a need to change the client
of the marker is represented with a vector type. In side user interface. Instead of requesting the GUI
most cases these data types are used, but each components from each service they can also be
developer can also define their own data structures. requested from a special “GUIPropertyService”,
Even the interface remains the same; it is whose purpose is to provide standard GUI
possible to make dynamic "interfaces" by changing
components for various property types
the set of properties provided by a service. New
properties can be attached to a service during
operation, and they are shown when the client 3.4 Data Transfer Principles
requests "properties" again. This feature is used in
the Qutie robot (Tikanmäki and Vallius 2004), The ideology of Property Service is to always reduce
where the properties of a new attached hardware the need for data delivery if possible. One way to do
component appear on the list of properties as soon as this is by implementing several automatic features
they are available. for services. Instead of continuously sending moving
commands to a robot, we prefer to send only target
Table 1: Examples of commonly used data types. location or several route points. Instead of sending
raw image data, we prefer to request only the targets
Data type Example that vision system can recognize from the view. If
vector (1.0 0.1 0.1) raw images are needed for remote driving of a robot,
list ((1.0 0.0) (2.0 0.1)) a commonly used compression format, such as
marker <marker> JPEG, is used.
<location>(1.0 0.1)</location> Several standard sets of properties have been
</marker> used for different services. As each service delivers
data in the same format, and understands the same
As the value of the property in communication is commands, different services can be used by the
an array of characters, a service can be implemented client service. A good example of this is to use
over any communication protocol containing the different robots with the same user interface.
possibility to transfer data characters. The current
implementation contains RS232, TCP/IP sockets,
HTTP as well as several middleware like CORBA
229
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
230
PROPERTY SERVICE ARCHITECTURE FOR DISTRIBUTED ROBOTIC AND SENSOR SYSTEMS
the operational requests of the human user. The 3.7.4 Grouping Services
basic properties of sensor services are "location",
which contains the location of the sensor in its Another architectural solution is to group several
context, and "data", which returns the raw data services into one Property Service. A good example
captured by the sensor. The default coordinate of this is to group a set of simple miniature robots
system for sensors location is relative to its base, for into one Swarm Property Service (Tikanmäki 2004).
example, the robots origin. By using request Miniature robots with low computational power are
parameters, different coordinate systems can also be commanded through a common radio channel. Each
used. In addition to raw sensor data, various kinds of robot's properties are shown in a hierarchical set of
refined information can be attached to the sensor's properties of the swarm service, shown in Table 3.
properties. The most advanced system is the vision The properties of a single robot can be reached
sensor's property set. through these properties, and each property of the
Vision service is the most advanced sensor mobile robot service interface becomes a sub-
service and a good way to integrate several kinds of property of Group Property Service with a
machine vision methods to a robotic system. Several
“robots.<name>” prefix. The “<name>” parameter
different methods can be activated separately, and changes according the robot currently used. In
the result of image processing can be requested from addition to a single robot's properties, Grouping
the service. Results can be requested in several
Property Service contains various functional
forms. For example, a remote client can request an properties that can simultaneously control a larger
edge-detected image or segments of edges from the set of robots. For example, the client wants a swarm
vision service. The vision service is the interface to
of robots to move to a certain destination. Grouping
one or several cameras, but it can also process Property Service can create a sub set from selected
images sent by other services. As the interface is robots and order each individual to move to the
always the same, different kinds of cameras can be destination. In the case of group of mobile robots, a
used in the same way. All targets detected by the groups of robots are controlled by properties similar
vision sensor can be received in marker format. to those used to control an individual robot. For
example, Swarm Property Service has “behaviors”
3.7.3 Resource Service
properties that control the whole group.
To be able to find the available resources in s
distributed system, a special Resource Property Table 3: Examples of properties of swarm service.
Service has been introduced. The properties of this robots robots currently belonging to this swarm
service are references to services available in the each robot has sub-properties included in
system. New resources can contact it to notify of robot service properties
their presence. When a service contacts the resource location location of the swarm
service, it gives information how it can be contacted, behaviors List of the primitive functionalities.
like its address and protocol(s). Services are then Similarly to single robots, group can be
shown as properties of Resource Property Service controlled with same behaviors like
and each property contains the name of the service "move to" behavior.
and contact information. For example, CORBA-
based services' contact information is the IOR of the Resource Property Service and Group Property
service and TCP/IP or ICE services indicate their IP Service have several similarities, and Resource
address and the port where they can be reached. Property Service can be expanded to act as a
The resource service actively checks the grouping service. In this case, the resource service
existence of services and removes the resources that reroutes the property request. Instead of giving the
are not available any more. Resource Property reference of the service to the client, it acts as a
Service also contains several functional properties proxy and asks for the property value from the
that can be used to search services using parameters. service and delivers the reply to the client. This
For example, a client might want to find all available feature is useful in, for example, a long latency
mobile robots located in a certain room. For the system and a long request time in some cases,
search request, Resource Property Service searches because the grouping service is already connected to
for services that are mobile robots and whose the service, and therefore the client does not need to
"location" property matches the client’s request. The make a direct connection. These services also
resource service also starts up new system services provide full transparency to the system, as the client
when necessary.
231
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
does not need to know the address or even the and updates the model. Each service might also have
number of robots taking a part in the action. its own model, which is a local representation of the
service’s way of receiving information from the
3.7.5 State Machine Service environment. For example, a ceiling camera might
have an environment model service that provides
In addition to user interface client services, some information received using the camera. Markers are
control services have also been created. One of the used in most communication and data storing, but
main services is State Machine Service. It provides a other methods are also possible. For example, a
resource that can execute RDF-formed state model can contain a grid of temperature values
machines, which can control complex conditional gathered by a swarm of small robots or a sensor
sequences, being able to provide multiple property
network. In this case, the temperature map is
services at the same time. This has been described
updated according to the locations of the
previously in (Mäenpää 2004). State Machine
Service can control a large set of services measurements.
simultaneously. Currently, State Machine Service
also has a visual user interface, where the user can
create and modify state machines graphically and 4 COMPARISON
during operation. By using Storage Service,
introduced below, the state machine or part of it can The overall performance of the system depends on
be stored into a database for further usage or the computational power of the platform and the
execution. speed of the communication channel used. However,
in a comparison of the development times of a new
3.7.6 Storage Service service and cooperation between different
middleware, Property Service provides a great
Another architectural service is Storage Service. It is advantage. The amount of required lines of code is
a combination of file transfer systems and databases. very small compared with, for example, CORBA-
The service can be started for a specified directory in based robot middleware that provides the same
operating systems and all (or only selected) files are features and functionalities of the resource. As the
shown as properties of the service. A remote client capabilities of a robot or other service increase, it
can request a property, named according to the becomes even more useful that the actual interface
filename, and receive the value of the property, does not need to be changed.
which is the content of the file. The same procedure As the code is highly reused, new services are
can be used to store new files and data into a service, fast to implement and all system services like state
by setting a new property in the service. For machines, and storage services are available for use
example, a robot can send captured images to a immediately. For example, the “move to” behavior
storage service, which stores the images in the is common to all robots; no matter if they are legged,
memory (or on a hard disc) of the service. As in wheeled, or even a manipulator. System services
Resource Property Service, Storage Service may also provide great advantages in building
also contain several intelligent search methods, and applications for distributed systems. This provides
the client can request files according to specified even more advantages compared with other systems.
features. Storage Service has been used to store Passing messages as text strings is expensive
captured data such as images, to upload and compared with other formats (like language-specific
download control sequences and state machines, and byte arrays). The performance of communication has
to request GUI components remotely. been improved by sending only essential
information and by using refined data instead of
3.7.7 Environment Model as a Service continuous control commands or raw sensor data.
Several applications and example systems have been
To be able to operate, a distributed system must
created using Property Services. Property Service
have knowledge of the environment where the has been successfully used for remote control of
services, such as robots and sensors, are operating. If several mobile robots that provide audio and video
the system is not designed to be fully reactive, it is
data, and receive several moving commands
reasonable to collect information received by (Tikanmäki 2003) using CORBA middleware and a
services. The system can have one or several wireless LAN. It has also been used to create remote
environment model services. If only one model is
operation for a swarm of simulated robots
used, all the services send their measurements to this (Tikanmäki 2004). Both are good examples of
service, and the model service performs data fusion applications where quick response between services
232
PROPERTY SERVICE ARCHITECTURE FOR DISTRIBUTED ROBOTIC AND SENSOR SYSTEMS
is an essential requirement. Multi-robot cooperation Brooks A., Kaupp T., Makarenko A., Orebäck A. and
and designing of operation using state machines has Williams S. 2005. "Towards Component-Based
been demonstrated in reference (Mäenpää 2004). Robotics". IEEE/RSJ International Conference on
Intelligent Robots and Systems 2005.
Henning M., Spruiell M. 2004 Distributed Programming
with Ice, ZeroC Inc., http://www.zeroc.com
5 CONCLUSION Wang J., Su J., and Xi Y., 2001 “COM-based software
architecture for multisensor fusion system,”
The main advantage of Property Service in Information Fusion, vol. 2, no. 4, pp. 261– 270,.
compared with competitive architectures is the ease Corke P., Sikka P., Roberts J., E. Duff, "DDX: A
Distributed Software Architecture for Robotic
of adding new resources to a distributed robotic
Systems", Australasian Conference on Robotics and
system. Using Class Property Service, classes that
Automation 2004
are already available can be used remotely and Montemerlo M., Roy N., and Thrun S.. Perspectives on
connected to a larger system quickly and without a standardization in mobile robot programming: The
need to implement a code related to communication carnegie mellon navigation (carmen) toolkit. In
between services. As Property Service can be IEEE/RSJ Intl. Workshop on Intelligent Robots and
implemented on various communication channels Systems, 2003.
and platforms, different kinds of new resources can URBI http://www.urbiforge.com/
be attached to the system. The usability of the Tikanmäki A., Röning J., Riekki J. 2003 Remote operation
architecture is not limited to robotics, it can also be of robotics systems using WLAN- and CORBA based
used in other distributed systems, for example, in architecture, SPIE / Intelligent Robots and Computer
home automation systems, sensor networks, and Vision XXI, Oct 27 - 31, Rhode Island, Providence, RI
industrial automation. As these devices become part USA, 2003
of the architecture, they can be operated remotely or Mäenpää T., Tikanmäki A., Riekki J. and Röning J., ,
by the robot's control software, and robots easily 2004 A Distributed Architecture for Executing
became a part of the system. Using Resource Complex Tasks with Multiple Robots, IEEE 2004
ICRA, International Conference on Robotics and
Property Service, the robot can, for example, search
Automation,Apr 26 - May 1, New Orleans, LA, USA
for the light service of a room and switch on the Tikanmäki A., Röning J. 2004 Advanced Remote
light on the room upon entering the room. Complex Operation of swarms of Robots, SPIE / Intelligent
applications built using state machines are easy to Robots and Computer Vision XXII, Philadelphia,
change, and the user can monitor their operation USA
online using state machine visualization. Tikanmäki A., Vallius T., Röning J., 2004 Qutie -
Modular methods for building complex mechatronic
systems, ICMA - International Conference on Machine
Automation, Nov. 24.-26., Osaka, Japan
ACKNOWLEDGEMENTS
This work has been partly funded by Finnish
Academy.
REFERENCES
OMG. Real-Time CORBA Specification. Object
Management Group, Inc., 1.1 edition, August 2002.
Rea 1999. Mobility 1.1, Robot Integration Software,
User’s Guide, iRobot Corporation, MobilityTM
software
Gerkey, B., Vaughan, R. T. & Howard, A. 2003, The
player/stage project: Tools for multi-robot and
distributed sensor systems, in `Proceedings of the 11th
International Conference on Advanced Robotics
(ICAR'03)', Coimbra, Portugal, pp. 317–323.
Utz H., Sablatn¨og S., Enderle S., and Kraetzschmar G.
2002. Miro - middleware for mobile robot
applications. IEEE Transactions on Robotics and
Automation, 18(4), August 2002.
233
ON GENERATING GROUND-TRUTH TIME-LAPSE IMAGE
SEQUENCES AND FLOW FIELDS
Abstract: The availability of time-lapse image sequencies accompanied with appropriate ground-truth flow fields is cru-
cial for quantitative evaluation of any optical flow computation method. Moreover, since these methods are
often part of automatic object-tracking or motion-detection solutions used mainly in robotics and computer vi-
sion, an artificially generated high-fidelity test data is obviously needed. In this paper, we present a framework
that allows for automatic generation of such image sequences based on real-world model image together with
an artificial flow field. The framework benefits of a two-layered approach in which user-selected foreground
is locally moved and inserted into an artificially generated background. The background is visually similar to
the input real image while the foreground is extracted from it and so its fidelity is guaranteed. The framework
is capable of generating 2D and 3D image sequences of arbitrary length. A brief discussion as well as an
example of application in optical microscopy imaging is presented.
234
ON GENERATING GROUND-TRUTH TIME-LAPSE IMAGE SEQUENCES AND FLOW FIELDS
ple of such a decision-making system. Due to tech- flow field assigns a vector to each voxel in the im-
nology limits the cell can be acquired with only re- age. When generating a sequence, the voxel value
stricted (small) surroundings and needs on-line 2D or is expected to move along its vector into the follow-
3D tracking (moving the stage with the cell based on ing image. The backward transformation works in the
its motion). opposite direction: the preceding image is always cre-
The next section gives a motivation to the adopted ated. Basically, the voxel at vector’s origin is fetched
solution by means of brief overview of possible ap- into an output image from vector’s end in the input
proaches. The third section describes the proposed image. An interpolation in voxel values often occurs
framework which automatically generates 2D and 3D due to real numbers in vectors.
image sequences of arbitrary length. It is followed by A few drawbacks of the backward transformation
the section in which behaviour and sample image data must be taken into account when used. Owing to the
for the case of optical microscopy is presented. A 3D interpolation the transformed image is blurred. The
image is considered as a stack of 2D images in this severity depends on the input flow field as well as in-
paper. terpolation method used. Moreover, the blur becomes
more apparent after a few iterative transformations of
the same image. Thus, the number of transformations
should be as low as possible. Another issue appears
2 MOTIVATION when the flow field is not continuous. In this case, two
(or even more) vectors may end up in the same posi-
Basically, there are just two possible approaches to tion which copies the same voxel into distinct places
obtain image sequences with ground-truth flow fields. in the output image. Unfortunately, non-continuous
One may inspect the real data and manually determine flow field is the case when local movements are to be
the flow field. Despite the bias (Webb et al., 2003) and simulated. Both drawbacks are demonstrated in the
possible errors, this usually leads to a tedious work, example in Fig. 1.
especially, when inspecting 3D image sequences from
a microscope. The other way is to generate sequences A B C
of artificial images from scratch by exploiting some
prior knowledge of a generated scene. This is usually
accomplished by taking 2D snapshots of a changing
3D scene (Galvin et al., 1998; Barron et al., 1994;
Beauchemin and Barron, 1995). The prior knowledge Figure 1: Backward transformation. A) An input image. B)
is encoded in models which control everything from Visualization of the input flow field with two homogeneous
regions. C) A transformed image. Notice the blurred corona
the shape of objects, movements, generation of tex-
as well as the partial copy of the moved object. Images were
tures, noise simulation, etc. (Lehmussola et al., 2005; enhanced to be seen better.
Young, 1996). This may involve a determination of
many parameters as well as proper understanding of
the modeled system. Once the two consecutive im-
ages are created, the information about movement be- 3 THE FRAMEWORK
tween these two can be extracted from the underlying
model and represented in a flow field. In this section we described the framework based
We have adopted the approach in which we rather on two-layered component-by-component backward
modify an existing real sample image in order to gen- transformation. The input to the framework was an
erate an image sequence. This enabled us to avoid real-world sample image, a background mask, a fore-
most of the modeling process as we shall see later. ground mask and a movements mask. The back-
Moreover, we could easily create a flow field we ground mask denoted what, as a whole, should be
were interested in. Consecutive images from the sam- moved in the sample image. The foreground mask de-
ple image could be then transformed by using either noted independent regions (components) in the sam-
backward or forward transformations (Lin and Bar- ple image that were subjects to local movements.
ron, 1994). Both transformations are possible. Never- The movements of components had to remain inside
theless, we observed that forward transformation was the movements mask. The output of the framework
substantially slower. Hence, we described the frame- was a sequence of artificially generated images to-
work based only on backward transformation in this gether with appropriate flow fields. The schema of the
paper. framework is displayed in Fig. 2. The foreground and
The backward transformation moves the content background masks were results of advanced segmen-
of an image with respect to the input flow field. The tation method (Hubený and Matula, 2006) which was
235
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
236
ON GENERATING GROUND-TRUTH TIME-LAPSE IMAGE SEQUENCES AND FLOW FIELDS
also made use of user supplied parameter for maxi- generated images were inspected. The framework
mum allowed length of motion vector which enabled generates every last image in the sequence as a re-
us to control the magnitude of independent local mo- placement for the sample image. Thus, we com-
tions. A temporary flow field was created and uni- puted correlation coefficient (Corr.), average abso-
formly filled with this vector. The mask of this com- lute difference (Avg. diff.) and root mean squared
ponent only and a copy of the ith flow field were trans- (RMS) differences. The results are summarized in
formed according to this uniform flow. This moved Table 1. The generator achieved minimal value of
the component mask and prepared the concatenation 0.98 for correlation. This quantitatively supports our
of the corresponding region of the flow field. The observations that generated images are very close to
concatenation was finished by pasting this region fol- their originals. The suggested framework also guaran-
lowed by addition of chosen flow vector to each vec- tees exactly one transformation of the sample image,
tor inside the region into the ith flow. Note that more hence the quality of the foreground texture is best pos-
complex foreground movement may be used by sub- sible thorough the sequence. Refer to Fig. 5 for ex-
stituting any smooth flow field for the uniform one ample of 3 images of a 50 images long sequence. A
as well as corresponding vectors should be added in- decent improvement was also observed when an arti-
stead of constantly adding the chosen one. After all, ficial background of 3D image was formed in a slice-
new foreground mask was created by merging all sin- by-slice manner, see rows C and D in Table 1. In the
gle locally moved masks. case of row D, a separate random pools and mean val-
In the foreground preparation unit, similarly to ues were used for each slice of the 3D image.
the background preparation, another special flow field Inappropriately created foreground mask may em-
was used. It was again concatenated to the current phasize the borders of extracted foreground when
ith flow and the result was stored for the next frame- inserted into artificial background. The weighted
work’s iteration. Another copy of sample image was foreground insertion was observed to give visually
transformed according to this another special flow better results. Table 1 quantitatively supports our
field to position the foreground texture. claim: merging the foreground components accord-
In the ith frame unit, the foreground regions were ing to twice dilated foreground mask was comparable
extracted from the transformed copy of sample im- to the plain overlaying of foreground components ac-
ages. The extraction was driven by the new fore- cording to non-modified masks.
ground mask which was dilated (extended) only for The use of user-supplied movements mask pre-
that purpose beforehand. Finally, the ith image was vented the foreground components from moving into
finished by weighted insertion (for details refer to (Ul- regions where there were not supposed to appear, e.g.
man, 2005)) of the extracted foreground into the artifi- outside the cell. The masks are simple to create, for
cially generated background. The weights were com- example by extending the foreground mask into de-
puted by thresholding the distance transformed (we manded directions. The generated sequences then be-
used (Saito and Toriwaki, 1994)) foreground mask. came even more real. Anyway, randomness of com-
An illustration of the whole process is shown in Fig. 4. ponents’ movements prohibited their movements con-
sistency. Pre-programming the movements would en-
able the consistency. Clearly, the movement mask
wouldn’t be necessary in this case.
4 RESULTS
We implemented and tested the presented frame-
work in C++ and in two versions. The first version 5 CONCLUSION
created only image pairs while the second version cre-
ated arbitrarily long image sequences. It was imple- We have described the framework for generating
mented with both backward and forward transforma- time-lapse pseudo-real images together with unbiased
tions. We observed that for 2D images the forward flow fields. The aim was to automatically generate a
variant was up to two orders of magnitude slower than large dataset in order to automatically evaluate meth-
the backward variant. Therefore, the second version ods for optical flow computation. However, one may
was implemented based only on backward transfor- discard the generated flow fields and use just the im-
mation. The program required less then 5 minutes on age sequence.
Pentium4 2.6GHz for computation of a sequence of The framework allows for the synthesis of 2D and
50 images with 10 independent foreground regions. 3D image sequences of arbitrary length. By suppling
The generator was tested on several different 2D real-world sample image and carefully created masks
real-world images and one real-world 3D image. All for foreground and background, we could force im-
237
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Figure 4: Example of image formation. A) A sample image. B) Its intensity histogram and thresholded image with thresholds
set as shown in the histogram. C) The background filled with randomly chosen values. D) The sample image with foreground
regions filled in. E) The same image after the averaging filter. F) The weights used together with the extended foreground
mask, brighter intensity shows higher weight. G) The artificial image (the last image in the sequence). H) A map of intensity
differences between A) and G), maximum brightness is at value of 30. Note that the highest errors were due to erroneous
segmentation of the background. All images were enhanced for the purpose of displaying.
Figure 5: Example of 3 frames from image sequence. A) The first frame (the last generated). B) The middle frame. C) The
last frame (the first generated). All images were enhanced for the purpose of displaying.
ages in the sequence to look more realistic. We made ground segmentation. We also made use of local
use of rotation and translation transformations for movements mask which gave us ultimate control over
global motion (of the entire cell) and only translations the independent foreground movements.
for independent local movements of foreground com-
ponents (selected intracellular structures). The trans- We believe that the framework is applicable to
formations used can be arbitrary, owing to the formal- other fields as well. In some circumstances, image
ism of the flow field, provided they are continuous be- processing subroutines may differ as well as different
cause of limitation of both transformation methods. foreground movements may be desired. The require-
Seamless overlaying of the foreground was achieved ment is that images should be separable into just two
by the weighted insertion of foreground which im- layers and that the background should be reasonably
proved the robustness to any imprecision in the fore- easy to generate. For instance, in the vehicle control
applications one may meet the requirement: observ-
238
ON GENERATING GROUND-TRUTH TIME-LAPSE IMAGE SEQUENCES AND FLOW FIELDS
Table 1: Similarity comparison from several aspects. The column “Ext.” shows the number of dilations performed on the input
foreground mask beforehand. The upper indices denote whether the foreground regions were simply overlaid1 or merged2
into the background. A) and B) Comparisons over 2D images. C) Comparison over a 3D image. D) Comparison over the
same 3D image, separate pools of voxel intensities were used for each slice during the formation of the artificial background.
Ext. Corr.1 Avg. diff.1 RMS1 Corr.2 Avg. diff.2 RMS2
A 0 0.989 3.87 5.13 0.989 3.87 5.12
1 0.989 3.80 5.03 0.989 3.85 5.05
2 0.989 3.73 4.94 0.989 3.82 5.00
3 0.989 3.68 4.90 0.989 3.83 4.98
B 0 0.992 2.76 3.83 0.992 2.77 3.85
1 0.992 2.62 3.69 0.992 2.74 3.75
2 0.993 2.41 3.46 0.992 2.62 3.58
3 0.993 2.33 3.40 0.992 2.64 3.57
C 0 0.980 3.67 4.79 0.980 3.67 4.79
1 0.980 3.73 4.89 0.980 3.81 4.92
2 0.981 3.53 4.69 0.981 3.70 4.77
3 0.981 3.42 4.59 0.981 3.66 4.72
D 0 0.982 3.15 4.16 0.982 3.16 4.17
1 0.983 3.07 4.08 0.982 3.13 4.11
2 0.983 3.00 4.03 0.983 3.11 4.08
3 0.984 2.92 3.96 0.983 3.10 4.05
ing an image of a car on the road can be split into the Gerlich, D., Mattes, J., and Eils, R. (2003). Quantitative
car foreground and rather uniform road background. motion analysis and visualization of cellular struc-
tures. Methods, 29(1):3–13.
Horn, B. K. P. and Schunck, B. G. (1981). Determining
optical flow. Artificial Intelligence, 17:185–203.
ACKNOWLEDGEMENTS Hubený, J. and Matula, P. (2006). Fast and robust segmen-
tation of low contrast biomedical images. In In Pro-
ceedings of the Sixth IASTED International Confer-
The presented work has been supported by the Min- ence VIIP, page 8.
istry of Education of the Czech Republic (Grants No.
Lehmussola, A., Selinummi, J., Ruusuvuori, P., Niemisto,
MSM0021622419, LC535 and 2B06052). A., and Yli-Harja, O. (2005). Simulating fluorescent
microscope images of cell populations. In IEEE En-
gineering in Medicine and Biology 27th Annual Con-
ference, pages 3153–3156.
REFERENCES Lin, T. and Barron, J. (1994). Image reconstruction error
for optical flow. In Vision Interface, pages 73–80.
Barron, J. L., Fleet, D. J., and Beauchemin, S. S. (1994). Saito, T. and Toriwaki, J. I. (1994). New algorithms for Eu-
Performance of optical flow techniques. Int. J. Com- clidean distance transformations of an n-dimensional
put. Vision, 12(1):43–77. digitized picture with applications. Pattern Recogni-
Beauchemin, S. S. and Barron, J. L. (1995). The computa- tion, 27:1551–1565.
tion of optical flow. ACM Comput. Surv., 27(3):433– Ulman, V. (2005). Mosaicking of high-resolution biomed-
466. ical images acquired from wide-field optical micro-
scope. In EMBEC’05: Proceedings of the 3rd Euro-
Cédras, C. and Shah, M. A. (1995). Motion based recog- pean Medical & Biological Engineering Conference,
nition: A survey. Image and Vision Computing, volume 11.
13(2):129–155.
Webb, D., Hamilton, M. A., Harkin, G. J., Lawrence, S.,
Eils, R. and Athale, C. (2003). Computational imaging in Camper, A. K., and Lewandowski, Z. (2003). Assess-
cell biology. The Journal of Cell Biology, 161:447– ing technician effects when extracting quantities from
481. microscope images. Journal of Microbiological Meth-
ods, 53(1):97–106.
Galvin, B., McCane, B., Novins, K., Mason, D., and Mills,
S. (1998). Recovering motion fields: An evaluation Young, I. (1996). Quantitative microscopy. IEEE Engineer-
of eight optical flow algorithms. In In Proc. of the 9th ing in Medicine and Biology Magazine, 15(1):59–66.
British Mach. Vis. Conf. (BMVC ’98), volume 1, pages Zitová, B. and Flusser, J. (2003). Image registration meth-
195–204. ods: a survey. IVC, 21(11):977–1000.
239
HELPING INSTEAD OF REPLACING
Towards A Shared Task Allocation Architecture
Abstract: Some failures cause the robots to loss parts of their capabilities, so that they cannot perform their assigned
tasks. Considering requirements of typical robotic teams during different missions, a distributed behavior
based control architecture is introduced in this paper. This architecture is based on an enhanced version of
ALLIANCE, and provides the robots the ability of performing shared tasks based on help requests. The
architecture contains a mechanism for adaptive action selection and a communication protocol for
information and task sharing which are required for coordination of team members. The proposed
architecture is used in a box pushing mission where heterogeneous robots push several boxes with different
masses.
240
HELPING INSTEAD OF REPLACING - Towards A Shared Task Allocation Architecture
rescue robots, cleaning robots, robots used for replacement would be possible if there is another
defense purposes and every other mission that robots robot with at least the same capabilities.
are used instead of human in order to decrease It is clear that the traditional way of replacing
dangers are examples of these applications. In these robots will not have considerable effect in
applications a lot of changes may occur in performance of the team. In this case, the best way
environment by time, and sometimes these changes to achieve the group’s goal is helping the weak
cause a team to fail in some (or all) of its tasks. If robots.
the task selection mechanism is static and without
flexibility, then there is no way to complete the
tasks, except waiting for some robots to complete 3 THE HELP SUPPORTING
their tasks and replacing them with those robots that
are not able to continue. Here we refer to an action METHOD
selection mechanism as static when robots do not
change their tasks even if there are some tasks in the There are two important issues to be considered in
team with higher priorities. any architecture that supports help for faulty agents.
In this case if there is redundancy in the team, Let’s review a scenario first. Assume that some
higher priority tasks are assigned to idle robots, robots are cooperating to perform a mission. During
otherwise these tasks would be assigned after a time their action, one of them senses that it is not possible
interval that is unknown. Obviously such a task to complete its task lonely and so broadcasts a help
assignment may cause a disaster for the group or request. Receiving this message, other robots must
environment if the critical tasks are not assigned and decide about helping disabled robot. After making
performed in an acceptable time. We define that a decision, the helping robots must cooperate to
task in a cooperative mission is unassigned, if no complete the disabled robot’s task. During lots of
robots have selected it ever, or if the selecting cooperative help tasks a closed coordination
robot(s) is (are) not able to perform the task. between robots is required. So the help supporting
Disability of a robot in performing a task may architecture must include appropriate mechanisms to
have two reasons. First, the robot is faulty and hence do action selection and closed coordination for a
it can not complete the task, and second the robot is cooperative task.
not faulty but its capabilities are not enough to
complete the task. 3.1 Action Selection
Sometimes replacing the disabled robot with a
new one provides a new chance to the team to The way in which robots process the help request
achieve its goal. If there is redundancy in quantity of and make decision has great effects on functionality
the robots, problem is solved easily, and otherwise and performance of the team. In addition, there are
one of the robots must ignore its task and perform many factors to be considered when processing a
the uncompleted task. But there are some situations help request. Some of them are listed below:
that this method does not acquire mission’s goals. - Distance to the disabled robot (in general the cost
We divide these missions into two categories: to reach to the position in which the helper robot
None of the team members can finish the can help the disabled robot),
uncompleted task alone. In the other words, - Cost of performing the task,
performing the task requires efforts of more than one - Having useful mechanical capabilities,
of the existing robots and the task is not divisible to knowledge and experience,
simpler subtasks. This kind of tasks is called “shared - Priority of robot’s current task compared with
task” which requires closed coordination and real the shared task,
time action of a team of robots. Transferring of an - Criticality of the disabled robot’s task,
injured person in a rescue mission is a good example - Progress of the task of the team members
of shared tasks. In this mission, none of the robots (including the faulty robot).
can complete the task alone and since some These are general parameters that can affect
member’s actions may disturb efforts of the others, a performance of a help process. Besides these, other
close coordination between robots is mandatory. parameters might be chosen according to specific
nature of the mission.
Performing the task depends on some
We used ALLIANCE architecture (Parker, 1998)
robot’s capabilities. These capabilities may include
as a base for adaptive action selection. This behavior
some special mechanical mechanisms, processing
based control architecture has adaptive action
power, knowledge and etc. Therefore, the
selection capabilities that can be used in different
241
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
missions, but this architecture does not support help. behavior in order to increase team's efficiency or
So we enhanced ALLIANCE to address the help other robots in critical tasks.
mentioned requirements. If priority of task j is higher than active behavior
Considering motivation function and it’s in robot i, this parameter is equal to 1, otherwise it's
parameters in ALLIANCE architecture, it’s apparent 0. In Parker's architecture (Parker, 1994), (Parker,
that if a robot selects a task, (except in some special 1998), the criticality of the tasks is not taken into
conditions), it will not ignore it till the task is account in evaluating this parameter. So if any
finished. So while a robot is performing a task and behavior is active, others would be suppressed,
receives a help request it is not possible to change its regardless of the criticality of the others.
behavior and select a new task. In this case the help Impatience_Resetijk(t): The default value of this
request is not answered if there is no idle robot in the parameter is 1. When a robot selects behavior j to
team. help robot k, it broadcasts its decision. As a result,
We supposed that each task is allowed to be Impatience_Reset in the other robots becomes zero
shared just between two robots. In order to achieve for a defined period of time, and then increases to 1
adaptive action selection, some changes were again, and the robots motivation to participate in
applied to ALLIANCE. In fact, we designed a two task j resets consequently.
dimensional motivation vector for each robot. Two Help_requestijk(t): Default value of this parameter
axes of this vector represent team members and is zero and takes a positive value for a predefined
tasks of the team. So mijk in robot i is motivation interval, whenever robot i receives a help request
function corresponding to behavior j, while robot k from robot k requesting to cooperate in task j. If in
broadcasts a help request. The new motivation this period the value of impatience_reset is not zero,
function for the shared task j in robot i is defined by the motivation value will be multiplied by a value
the following equation: bigger than one. (Notice that faulty robot broadcasts
m ijk (0 ) = 0 help request periodically until its task is finished.)
m ijk (t ) = [m ijk (t − 1 ) + impatience ijk (t )] Acquiesenceij(t): The same as that in ALLIANCE
× sensory_fe edback ijk (t ) architecture.
× activity_ sup pression ij (t ) (1) Initial values of the parameters and their changes
× impatience _reset ijk (t )
deeply depend on the general requirements of the
(
× 1 + Help_ Re quest ijk (t ) ) mission, robots type and different performance
× acquiescen ce ij (t )
indexes used. Therefore, the initial values must be
The parameters are defined below: optimized for each task.
Impatienceijk(t): This parameter shows robot's
impatience for interfering other robot's tasks. If task 3.2 Robots Coordination in Help
j is not selected by any other robot, Impatience will
Process
have a large value; otherwise its quantity depends on
the type of task, environmental conditions, and After deciding to help, robots must coordinate to
progress of the task. In shared task, some more perform the shared task. The coordination strategy
factors such as the criticality of the task, the depends on the special characteristics of the task and
efficiency of the robot in performing the task and there is no general method to do this. But, the
type of the help request are important. coordination methods are generally based on the
Sensory_feedbackijk(t): This parameter indicates information about activities of the other robots.
whether behavior j is required at the time to reach Then, we used the communication method used in
the goals of the team or not. Often, physical robots (Asama, 1992) to obtain information about others
sensors produce this information, but in practical tasks, activities, and their progress in order to
robotics applications it's possible to use virtual coordinate the robots.
sensors such as memory (as a flag), and In Asama’s protocol, nine procedures are defined
communication lines to indicate this parameter. If to communicate information (Asama, 1992). We
robot k needs some help to complete task j and robot selected seven of them to coordinate the team:
i can cooperate in this task, sensory_feedback is one, - Report for ready state,
otherwise it is equal to zero. - Declaration of task selection,
Activity_Suppressionij(t): When a behavior is - Request for Cooperative task,
active in a robot, this parameter suppresses - Acceptance of Cooperative task,
behaviors with lower priorities to be activated. This - Report of completion of preparation for cooperation,
suppression is not applied to higher priority tasks - Command for start of cooperative task,
and so permits the robot to change its active - Report of task completion.
242
HELPING INSTEAD OF REPLACING - Towards A Shared Task Allocation Architecture
243
FUZZY LOGIC ALGORITHM FOR MOBILE ROBOT CONTROL
Keywords: Fuzzy logic algorithm, mobile robots, obstacole avoidance, trajectory controller.
Abstract: This paper presents a fuzzy control algorithm for mobile robots which are moving next to the obstacle
boundaries, avoiding the collisions with them. Four motion cycles (programs) depending on the proximity
levels and followed by the mobile robot on the trajectory (P1, P2, P3, and P4) are shown. The directions of
the movements corresponding to every cycle, for every reached proximity level are presented. The sequence
of the programs depending on the reached proximity levels is indicated. The motion control algorithm is
presented by a flowchart showing the evolution of the functional cycles (programs). The fuzzy rules for
evolution (transition) of the programs and for the motion on X-axis and Y-axis respectively are described.
Finally, some simulations are presented.
1 INTRODUCTION
Fuzzy set theory, originally developed by Lotfi
Zadeh in the 1960’s, has become a popular tool for
control applications in recent years (Zadeh, 1965).
Fuzzy control has been used extensively in
applications such as servomotor and process control.
One of its main benefits is that it can incorporate a
human being’s expert knowledge about how to
control a system, without that a person need to have
a mathematical description of the problem.
Many robots in the literature have used fuzzy
logic (Song, 1992, Khatib, 1986, Yan, Ryan, Power,
1989 …). Computer simulations by Ishikawa feature a) The proximity levels.
a mobile robot that navigates using a planned path
and fuzzy logic. Fuzzy logic is used to keep the
robot on the path, except when the danger of
collision arises. In this case, a fuzzy controller for
obstacle avoidance takes over.
Konolige, et al. use fuzzy control in conjunction
with modeling and planning techniques to provide
reactive guidance of their robot. Sonar is used by
robot to construct a cellular map of its environment.
Sugeno developed a fuzzy control system for a
model car capable of driving inside a fenced-in
track. Ultrasonic sensors mounted on a pivoting
b) The two degrees of freedom of the locomotion system
frame measured the car’s orientation and distance to
of the mobile robot.
the fences. Fuzzy rules were used to guide the car
parallel to the fence and turn corners (Sugeno et al., Figure 1: The proximity levels and the degrees of freedom
1989). of the robot motion.
244
FUZZY LOGIC ALGORITHM FOR MOBILE ROBOT CONTROL
2 CONTROL ALGORITHM robot on the trajectory (P1, P2, P3, and P4). Inside
every cycle are presented the directions of the
The mobile robot is equipped with a sensorial movements (with arrows) for every reached
system to measure the distance between the robot proximity level. For example, if the mobile robot is
and object that permits to detect 5 proximity levels moving inside first motion cycle (cycle 1 or program
(PL): PL1, PL2, PL3, PL4, and PL5. Figure 1a P1) and is reached PL3, the direction is on Y-axis
presents the obstacle (object) boundary and the five (sense plus) (see Figure 1b, too). In Figure 2b we
proximity levels and Figure 1b presents the two can see the sequence of the programs.
degrees of freedom of the locomotion system of the One program is changed when are reached the
mobile robot. This can move either on the two proximity levels PL1 or PL5. If PL5 is reached the
rectangular directions or on the diagonals (if the two order of changing is: P1ÆP2ÆP3ÆP4Æ P1Æ
degrees of freedom work instantaneous). If PL1 is reached the sequence of changing
becomes: P4ÆP3ÆP2ÆP1Æ P4Æ
The motion control algorithm is presented in
Figure 3 by a flowchart of the evolution of the
functional cycles (programs). We can see that if
inside a program the proximity levels PL2, PL3 or
PL4 are reached, the program is not changed. If PL1
or PL5 proximity levels are reached, the program is
changed. The flowchart is built on the base of the
rules presented in Figure 2.1 and Figure 2.2.
245
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
246
FUZZY LOGIC ALGORITHM FOR MOBILE ROBOT CONTROL
5 CONCLUSIONS
This paper presents a fuzzy control algorithm for
mobile robots which are moving next to the obstacle
boundaries, avoiding the collisions with them. Four
motion cycles (programs) depending on the
proximity levels and followed by the mobile robot
on the trajectory (P1, P2, P3, and P4) are shown.
The directions of the movements corresponding to
every cycle, for every reached proximity level are
presented. The sequence of the programs depending
on the reached proximity levels is indicated. The
motion control algorithm is presented by a flowchart
showing the evolution of the functional cycles
(programs). The fuzzy rules for evolution
(transition) of the programs and for the motion on X-
axis and Y-axis respectively are described. The
Figure 6: The trajectory of the mobile robot around a
circular obstacle. fuzzy controller for the mobile robots based on the
algorithm presented above is simple. Finally, some
simulations are presented. If the object is like a
circle, every program is proper for a quarter of the
circle.
REFERENCES
Zadeh, L. A., 1965. Fuzzy Sets, Information and Control,
No 8, pp. 338-353.
Sugeno, M., Murofushi, T., Mori, T., Tatematasu, T., and
Tanaka, J., 1989. Fuzzy Algorithmic Control of a
Model Car by Oral Instructions, Fuzzy Sets and
Systems, No. 32, pp. 207-219.
Song, K.Y. and Tai, J. C., 1992. Fuzzy Navigation of a
Mobile Robot, Proceedings of the 1992 IEEE/RSJ
Intern. Conference on Intelligent Robots and Systems,
Raleigh, North Carolina.
Khatib, O., 1986. Real-Time Obstacle Avoidance for
Figure 7: The trajectory of the mobile robot around a Manipulators and Mobile Robots, International
irregular obstacle. Journal of Robotics Research, Vol. 5, No.1, pp. 90-98.
Boreinstein, J. and Koren, Y., 1989. Real-time Obstacle
Avoidance for Fast Mobile Robots, IEEE Transactions
on Systems, Man., and Cybernetics, Vol. 19, No. 5,
4 SIMULATIONS Sept/Oct. pp. 1179-1187.
Jamshidi, M., Vadiee, N. and Ross, T. J., 1993. Fuzzy
In the simulations can be seen the mobile robot Logic and Control. Software and Hardware
trajectory around an obstacle (object) with circular Applications, PTR, Prentice Hall, New Jersey, USA.
boundaries (Figure 6) and around an obstacle Yan, J., Ryan, M., and Power, J., 1994. Using Fuzzy
Logic. Towards intelligent systems, Prentice Hall, New
(object) with irregular boundaries (Figure 7). One
York.
program is changed when are reached the proximity
levels PL1 or PL5. If PL5 is reached the order of
changing becomes as follows: P1ÆP2ÆP3ÆP4Æ...
If PL1 is reached the order of changing is becomes
follows: P4ÆP3ÆP2ÆP1Æ P4Æ ……
247
ON THE BALANCING CONTROL OF HUMANOID ROBOT
Youngjin Choi
School of electrical engineering and computer science, Hanyang University, Ansan, 426-791, Republic of Korea
[email protected]
Doik Kim
Intelligent Robotics Research Center, Korea Institute of Science and Technology (KIST), Seoul, 136-791, Republic of Korea
[email protected]
Keywords: WBC (whole body coordination), Humanoid robot, Posture control, CoM (center of mass) Jacobian.
Abstract: This paper proposes the kinematic resolution method of CoM(center of mass) Jacobian with embedded mo-
tions and the design method of posture/walking controller for humanoid robots. The kinematic resolution of
CoM Jacobian with embedded motions makes a humanoid robot balanced automatically during movement of
all other limbs. Actually, it offers an ability of WBC(whole body coordination) to humanoid robot. Also, we
prove that the proposed posture/walking controller brings the ISS(disturbance input-to-state stability) for the
simplified bipedal walking robot model.
248
ON THE BALANCING CONTROL OF HUMANOID ROBOT
World Coordinate ri
Shifting
where Ro ∈ ℜ3×3 is the orientation of the body center
Frame Foot represented on the world coordinate frame, and here-
△
after, we will use the relation J i = X o o J i .
Z Z
CoM(cy,cz) CoM(cx,cz) All the limbs in a robot should have the same body
mcɺɺy mcɺɺx
center velocity, in other words, from Eq. (6), we can
−mg −mg
see that all the limbs should satisfy the compatibility
τx τy condition that the body center velocity is the same,
Y x x X
ZMP(py) ZMP(px) and thus, i-th limb and j-th limb should satisfy the
Figure 1: Rolling Sphere Model for Dynamic Walking.
following relation:
X i (ẋi − J i q̇i ) = X j (ẋ j − J j q̇ j ). (9)
equations will be used to prove the stability of the From Eq. (9), the joint velocity of any limb can be
posture/walking controller in the following sections. represented by the joint velocity of the base limb and
cartesian motions of limbs. Actually, the base limb
should be chosen to be the support leg in single sup-
port phase or one of both legs in double support phase.
Let us express the base limb with the subscript 1, then
2 KINEMATIC RESOLUTION the joint velocity of i-th limb is expressed as:
Let a robot has n limbs and the first limb be the base q̇i = J + +
i ẋi − J i X i1 (ẋ1 − J 1 q̇1 ), (10)
limb. The base limb can be any limb but it should be
on the ground to support the body. Each limb of a for i = 2, · · · , n, where J +
i means the Moore-Penrose
robot is hereafter considered as an independent limb. pseudoinverse of J i and
In general, the i-th limb has the following relation:
△ −1 I 3 [Ro (o r1 −o ri )×]
o
ẋi = o J i q̇i (5) X i1 = X i X 1 = . (11)
03 I3
for i = 1, 2, · · · , n, where i ∈ o ẋ
is the velocity of ℜ6 The position of CoM represented on the world co-
the end point of i-th limb, q̇i ∈ ℜni is the joint ve- ordinate frame, in Fig. 1, is given by
locity of i-th limb, o J i ∈ ℜ6×ni is the usual Jacobian
matrix of i-th limb, and ni means the number of active n
links of i-th limb. The leading superscript o implies c = ro + ∑ Ro o ci (12)
i=1
that the elements are represented on the body center
coordinate system shown in Fig. 1, which is fixed on where n is the number of limbs, c is the position vec-
a humanoid robot. tor of CoM represented on the world coordinate sys-
In the humanoid robot, the body center is floating, tem, and o ci means the CoM position vector of i-th
and thus the end point motion of i-th limb about the limb represented on the body center coordinate frame
world coordinate system is written as follows: which is composed of ni active links. Now, let us dif-
ẋi = X −1 o ferentiate Eq. (12), then the it is obtained as follows:
i ẋo + X o J i q̇i (6)
n
where ẋo = [ṙTo ; ωo T ]T ∈ ℜ6
is the velocity of the body ċ = ṙo + ωo × (c − ro ) + ∑ Ro o J ci q̇i . (13)
center represented on the world coordinate system, i=1
and
I 3 [Ro o ri ×] where o J ci ∈ ℜ3×ni means CoM Jacobian matrix of
Xi = ∈ ℜ6×6 (7)
03 I3 i-th limb represented on the body center coordinate
△
is a (6 × 6) matrix which relates the body center ve- frame, and hereafter, we will use the relation J ci =
locity and the i-th limb velocity. I 3 and 03 are an Ro o J ci .
249
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Remark 1 The CoM Jacobian matrix of i-th limb rep- Here, if the CoM Jacobian is augmented with the
resented on the body center frame is expressed by orientation Jacobian of body center (ωo = −J ω1 q1 )
ni
∂o ci,k and all desired cartesian motions are embedded in Eq.
∑ µi,k
o △
J ci = , (14) (20), then the desired joint configurations of base limb
k=1 ∂qi (support limb) are resolved as follows:
+
where o ci,k ∈ ℜ3 means the position vector of center J fsem ċfsem,d
q̇1,d = , (22)
of mass of k-th link in i-th limb represented on the −J ω1 ωo,d
body center frame and the mass influence coefficient
where the subscript d means the desired motion and
of k-th link in i-th limb is defined as follow:
ċfsem,d = ċd − ∑ni=2 J ci J +
i ẋi,d . (23)
△ mass of k-th link in i-th limb
µi,k = . (15) All the given desired limb motions, ẋi,d are embedded
total mass
in the relation of CoM Jacobian, thus the effect of the
The motion of body center frame can be obtained
CoM movement generated by the given limb motion
by using Eq. (6) for the base limb as follows:
is compensated by the base limb. The CoM motion
ẋo = X 1 {ẋ1 − J 1 q̇1 } with fully specified embedded motions,
After solving Eq. (22), the desired joint motion of
ṙo I 3 [Ro o r1 ×] ṙ1 J
= − v1 q̇1 ,
ωo 03 I3 ω1 J ω1 the base limb is obtained. The resulting base limb mo-
(16) tion makes a humanoid robot balanced automatically
during the movement of the all other limbs. With the
where J v1 and J ω1 are the linear and angular velocity desired joint motion of base limb, the desired joint
part of the base limb Jacobian J 1 expressed on the motions of all other limbs can be obtained by Eq. (10)
world coordinate frame, respectively. Now, if Eq. (10) as follow:
is applied to Eq. (13) for all limbs except the base
q̇i,d = J +
i (ẋi,d + X i1 J 1 q̇1,d ), for i = 2, · · · , n. (24)
limb with subscript 1, the CoM motion is rearranged
as follows: The resulting motion follows the given desired mo-
tions, regardless of balancing motion by base limb.
ċ = ṙo + ωo × (c − ro ) + J c1 q̇1 In other words, the suggested kinematic resolution
n n
method of CoM Jacobian with embedded motion of-
+ ∑ J ci J +
i (ẋi − X i1 ẋ1 ) + ∑ J ci J i X i1 J 1 q̇1 . (17)
+
fers the WBC(whole body coordination) function to
i=2 i=2
the humanoid robot automatically.
Here, if Eq. (16) is applied to Eq. (17), then the
CoM motion is only related with the motion of base
limb. Also, if the base limb has the face contact with
the ground (the end-point of base limb represented 3 STABILITY
on world coordinate frame is fixed, ẋ1 = 0, namely,
ṙ1 = 0, ω1 = 0), then Eq. (17) is simplified as follows: The control system is said to be disturbance input-
n
to-state stable (ISS), if there exists a smooth positive
ċ − ∑ J ci J +
i ẋi = − J v1 q̇1 + rc1 × J ω1 q̇1 + J c1 q̇1
definite radially unbounded function V (e,t), a class
i=2 K ∞ function γ1 and a class K function γ2 such that
n the following dissipativity inequality is satisfied:
+ ∑ J ci J +
i X i1 J 1 q̇1 . (18) V̇ ≤ −γ1 (|e|) + γ2 (|ε|), (25)
i=2
where V̇ represents the total derivative for Lyapunov
where rc1 = c − r1 .
function, e the error state vector and ε disturbance in-
Finally, 3 × n1 CoM Jacobian matrix with embed-
put vector.
ded motions can be rewritten like usual kinematic Ja-
In this section, we propose the posture/walking
cobian of base limb:
controller for bipedal robot systems as shown in Fig.
ċfsem = J fsem q̇1 , (19) 2. In this figure, first, the ZMP Planer and CoM Planer
where generate the desired trajectories satisfying the follow-
n ing differential equation:
ċfsem = ċ − ∑ J ci J +
△
i ẋi , (20) pi,d = ci,d − 1/ω2n c̈i,d for i = x, y. (26)
i=2
n Second, the simplified model for the real bipedal
J fsem = −J v1 + rc1 × J ω1 + J c1 + ∑ J ci J +
△
i X i1 J 1 .
walking robot has the following dynamics:
i=2 ċi = ui + εi
(21) (27)
pi = ci − 1/ω2n c̈i for i = x, y,
250
ON THE BALANCING CONTROL OF HUMANOID ROBOT
Measured
ZMP Des. ZMP _ Actual ZMP ZMP Force/Torque Second, another error dynamics is obtained by using
Planner pid pi Calculation F/T
Eq. (27) and (30) as follows:
ZMP
Posture/Walking
Controller
Controller k p,i e p,i = ėc,i + kc,i ec,i + εi , (34)
_ Control Kinematic
Real
Input Resolution Joint
.
cid
+
+ ui of CoM qd _ Servo
Bipedal also, this equation can be rearranged for ėc :
Robot
Jacobian
d/dt CoM
q
ėc,i = k p,i e p,i − kc,i ec,i − εi . (35)
Controller
251
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
ACKNOWLEDGEMENTS
This work was supported in part by the Korea
Research Foundation Grant funded by the Korea
Government (MOEHRD, Basic Research Promotion
Fund) (KRF-2006-003-D00186) and in part by MIC
& IITA through IT leading R&D support project, Re-
public of Korea.
REFERENCES
Choi, Y., Kim, D., and You, B. J. (2006). On the walk-
ing control for humanoid robot based on the kinematic
resolution of com jacobian with embedded motion.
Proc. of IEEE Int. Conf. on Robotics and Automation,
pages 2655–2660.
Kajita, S., ad M. Saigo, K. Y., and Tanie, K. (2001). Bal-
ancing a humanoid robot using backdrive concerned
torque control and direct angular momentum feed-
back. Proc. of IEEE Int. Conf. on Robotics and Au-
tomation, pages 3376–3382.
Sugihara, T. and Nakamura, Y. (2002). Whole-body coop-
erative balancing of humanoid robot uisng COG ja-
cobian. Proc. of IEEE/RSJ Int. Conf. on Intelligent
Robots and Systems, pages 2575–2580.
252
ON COMPUTING MULTI-FINGER FORCE-CLOSURE GRASPS
OF 2D OBJECTS
Abdelouhab Zaatri
Advanced Technologies Laboratory, Mentouri University, Constantine, Algeria
[email protected]
Abstract: In this paper, we develop a new algorithm for computing force-closure grasps of two-dimensional (2D)
objects using multifingred hand. Assuming hard-finger point contact with Coulomb friction, we present a
new condition for multi-finger to form force-closure grasps. Based on the central axis of contact wrenches,
an easily computable algorithm for force-closure grasps has been implemented and its efficiency has been
demonstrated by examples.
253
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
object
⎪ Fcx = X ⋅
⎪ ∑
(ai1 n i1 + ai 2 n i 2 )
⎪ i =1
O X ⎪ m
254
ON COMPUTING MULTI-FINGER FORCE-CLOSURE GRASPS OF 2D OBJECTS
Q0
X
O
(a) (b)
Figure 2: Central axis parameters. Figure 5: a) three fingers force-closure 2D grasp,
b) central axes of grasp wrenches ( α = 20° ).
In figure 3-a, we present a first example of three-
finger 2D grasp. By varying forces fi randomly (in
According to these three examples, we can
orientation and amplitude) inside friction cones (the conclude that the distribution of central axes can
friction angle), figure 3-b illustrates all possible confirm if a grasp is force-closure or not (for any
central axes of grasp wrenches. contact points number).
There is no central axis passing through the gray
region. In this region, positive torque can’t be
exerted on the object through the finger contacts.
This grasp can’t achieve force-closure. Exactly, the 4 FORCE-CLOSURE AND
grasp can not achieve torque-closure because the EQUILIBRIUM CONDITION
object turn around the gray region in figure 3-a.
+Torque In 2D grasps and based on Poinsot’s theorem, we
can give the following definition.
C1
Definition 1: Any external wrench applied by the
robotic hand on a 2D object is equivalent to a force
C2
along a central axis of this wrench. When the force
C3
is equal to zero, the external wrench is equivalent to
a torque about the grasp plan normal.
Definition 2: A grasp on an object is force-closure
(a) (b) if and only if any arbitrary force and torque can be
Figure 3: a) no force-closure 2D grasp, b) all central axes exerted on the object through the finger contacts
of grasp wrenches ( α = 5° ). (Yan-Bin Jia 2004). There are other force-closure
definitions, but this one is more useful for our
A second example is shown in figure 4; we deduction.
present a non-force-closure grasp using five contact Definition 3: A grasp is said to achieve
points. This grasp is instable and the object turn equilibrium when it exists forces (not all of them
around Z axis in the gray region (figure 4-a). being zero) in the friction cones at the fingertips
255
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
such that the sum of the corresonding wrenches is a) if Ft = 0 then the central axis of the task wrench is
zero (Sudsang A., Phoka T. 2005). defined by the unit vector U t where:
τt / o
Ut =
4.1 Equilibrium Condition τt / o
If the two wrenches have the same central line
During objects grasp operations there exist two with opposite direction then the contact central axis
kinds of external wrenches applied on the is defined by the following unit vector:
manipulated object, task wrench (applied by the
τc / o
environment) and contact wrench (applied by the Uc = −Ut =
robotic hand fingers). Based on definitions 1 and τc / o
definitions 3, we derive a new proposed necessary We conclude that:
and sufficient equilibrium condition.
Sgn(τ c / o ⋅ U c ) Sgn(τ t / o ⋅ U c ) < 0 (17)
Proposition 1: A multifingers grasp is said to
achieve equilibrium if and only if the central lines of Sgn is the sign function that computes the sign of
contact wrench and task wrench have the same the leading coefficient of expression.
support and opposite direction.
b) if Ft ≠ 0 , having the same central axis with
Proof: opposite direction implies
i) Sufficient Condition:
Sgn(Fc ⋅ U c ) Sgn(Ft ⋅ U c ) < 0 (18)
the external contact wrench given by equation (5)
and task wrench is given by
Where U c and U t define the unit vectors of the two
⎡ F ⎤ central axes. We have:
Wt / o =⎢ t ⎥ (11)
⎣τ t / o ⎦ Fc Ft
Uc = ; Ut =
The object is in equilibrium if: Fc Ft
Using hypothesis that there is one central line and
⎧ Fc = − Ft form relation (9), we have
Wc / o + Wt / o = {0} ⇒ ⎨ (12)
⎩τ c / o = − τ t / o Fc × τ c / o Ft × τ t / o
2
= (19)
From Relation (9), the central axis of contact Fc Ft 2
wrench is defined by
Then, replacing Fc = Fc U c ; Ft = − Ft U c in
Fc × τ c / o Relation (19) we obtain
OPc = + λc Fc (λc ∈ ℜ) (13)
Fc 2
⎛ τc / o τt / o ⎞
Substuting (12) in (13) lead to ⎜
⎜ Fc
+ ⎟ = λ ⋅ Uc :
⎟
(λ ∈ ℜ) (20)
⎝ F t ⎠
Ft × τ t / o
OPc = + λt Ft (λt = − λc ∈ ℜ) (14)
Ft 2 In 2D case, the equation (20) can be only
satisfied when λ = 0 . therefore, the two torques have
Relation (14) defines the central axis of task
opposite signes:
wrench given by
Sgn(τ c / o ⋅ Z ) Sgn(τ t / o ⋅ Z ) < 0 (21)
Ft × τ t / o
OPt = + λt Ft (λt ∈ ℜ) (15)
Ft 2 Relations (17, 18 and 21) imply that the contact
wrench can generate grasp wrenches that opposite
In the case Ft = 0 , the points Pc are given by the external task wrench. Robotic hand can control
its fingers force to produce the appropriate
OPc = λc τ c / o = λt τ t / o : (λt = − λc ∈ ℜ) (16) force/torque magnitude that achieving equilibrium.■
In both cases, Relations (14) and (16), the two
wrenches (contact and task) should have the same 4.2 Force-Closure Condition
central line with opposite directions. ■
ii) Necessary Condition: In particular, force-closure implies equilibrium, but
Now, if we consider two wrenches reduced at the there are wrench systems that achieve equilibrium
same point O and they have the same central line but not force closure (Li Jia-Wei. and Cia He-Gao,
with opposite directions. We have two cases: 2003).
256
ON COMPUTING MULTI-FINGER FORCE-CLOSURE GRASPS OF 2D OBJECTS
∑ ( Z ⋅ (B C )
propose a new force-closure necessary and sufficient
k i ∧ n i1 ) + Z ⋅ (B k C i ∧ n i 2 )
condition.
i =1
Proposition 2: A multifingred grasp of 2D objects
is said to achieve force-closure if and only if the From mechanical viewpoint, inequality (23-1)
central axis of the fingers contact wrenches can implies that fingers can generate forces
sweep the grasp plan at any direction. along X and − X , (23-2) means that fingers can exert
force on the object along Y and − Y . If the last
4.3 Force-Closure Test Algorithm (
inequality (23-3) is true for k = 1...N Bk then the )
finger can exert torque on object about the vertical
According to the proposition 2, we present a new
axis Z in both directions.
algorithm for computing 2D multi-fingers grasps of
arbitrary object.
Based on the central axis equation defined in
relation (10), this central line can sweep the plan in 5 EXAMPLES
all directions if
∀(k1 , k 2 ) ∈ ℜ 2 , ∃ Δ c Satisfy y = k1 ⋅ x + k 2 We present bellow some grasp examples using three,
four and five fingers. In both cases (force-closure
Where and no force-closure), we show the distribution of
grasp wrench central axes.
⎛ Fcy ⎞ ⎛τ ⎞
k1 = ⎜⎜ ⎟
⎟ ; k1 = ⎜⎜ z / o ⎟
⎟ a) Three-finger grasps
⎝ Fcx ⎠ ⎝ Fcx ⎠
In other word, for any axis on the (X,Y ) plan or
along the vertical Z , this axis must be one of the
grasp wrench central axes.
This condition implies that the quantities k1 and
k 2 must take all real number, therefore
(a) (b)
⎧ Fcx ∈ [− ∞ ,+∞ ]
⎪
⎨ Fcy ∈ [− ∞ ,+∞]
Figure 6: a) a three-finger force-closure 2D grasp, b)
(21)
central axes of grasp wrenches ( α = 15° ).
⎩ c / o ∈ [− ∞ ,+∞]
⎪τ ∀O
The third sub-condition is function of the reduced
point of the torque, to cover the entire grasp plan; we
test this condition at all the vertices of the
intersection of the m double-side friction cones
(named Bk ). In general case of m contact points, the
number of intersection points is given by
∑
m −1
N Bk = 4 ⋅
k =1
(m − k ) (22) (a) (b)
Figure 7: a) a three-finger force-closure 2D grasp, b)
Hence, a multifingred 2D grasp is said to achieve central axes of grasp wrenches ( α = 20° ).
force-closure if each of these inequalities are true.
m m
X⋅ ∑ (n i1 + n i2 ) < ∑ ( X ⋅ n i1
i =1 i =1
+ X ⋅ ni2 ) (23-1)
257
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
REFERENCES
Bicchi A., Kumar V. (2000). Robotic grasping and
Contact: A review. In Proc. IEEE ICRA, pp. 348–352.
(a)
Ding D., Liu Y-H, and S. Wang (2001). Computation of 3-
(b)
d form-closure grasps. In IEEE Transactions on
Figure 9: a) no force-closure 2D grasp, b) central axes of Robotics and Automation, 515-522.
grasp wrenches ( α = 10° ).Grasp wrenches can’t exert a Li J-W., Cia He-Gao (2003). On Computing Three-Finger
force along (−Y ) axis and can’t generate torques in two- Force-Closure Grasps of 2-D and 3-D Objects.
direction in unreachable zones in (b). Transaction on Robotics & Automation. IEEE
Proceeding, 155-161.
Li J-W., Jin M-H., Liu H. (2003). A New Algorithm for
b) Four-finger grasps Three-finger Force-Closure Grasp of Polygonal
Objects. In International Conference on Robotics &
Automation. IEEE Proceeding, 1800-1804.
Murray R., Li Z., Sastry S. (1994). A Mathematical
Introduction to Robotic Manipulation, Boca Raton,
FL: CRC press.
Nguyen, V.D. (1988). Constructing force-closure grasps.
In Journal of Robotics Research, vol. 7, no. 3, pp. 3-
16.
(a) (b) Ponce J. and Faverjon B.. (1995). On computing three-
finger force-closure grasps of polygonal objects. In
Figure 10: a) four-finger force-closure 2D grasp, b) central IEEE Transactions on Robotics and Automation, 868-
axes of grasp wrenches ( α = 10° ). 881.
Salisbury J.K. and Roth B. (1982) Kinematic and force
c) Five-finger grasps analysis of articulated hands. In Journal of
Mechanisms, Transmissions, and Automation in
Design, 105, 33-41.
Sudsang A., Phoka T. (2005). Geometric Reformulation of
3-Fingred Force-Closure Condition. In International
Conference on Robotics & Automation. IEEE
Proceeding, 2338-2343.
Yan-Bin Jia (2004). Computation on Parametric Curves
with an Application in Grasping. In the International
Journal of Robotics Research, vol. 23, No. 7-8, 825-
(a) (b) 855.
258
PREDICTIVE CONTROL BY LOCAL VISUAL DATA
Mobile Robot Model Predictive Control Strategies Using Local Visual
Information and Odometer Data
Keywords: Autonomous mobile robots, computer vision control, system identification, model based control, predictive
control, trajectory planning, obstacle avoidance, robot vision.
Abstract: Nowadays, the local visual perception research, applied to autonomous mobile robots, has succeeded in
some important objectives, such as feasible obstacle detection and structure knowledge. This work relates
the on-robot visual perception and odometer system information with the nonlinear mobile robot control
system, consisting in a differential driven robot with a free rotating wheel. The description of the proposed
algorithms can be considered as an interesting aspect of this report. It is developed an easily portable
methodology to plan the goal achievement by using the visual data as an available source of positions.
Moreover, the dynamic interactions of the robotic system arise from the knowledge of a set of experimental
robot models that allow the development of model predictive control strategies based on the mobile robot
platform PRIM available in the Laboratory of Robotics and Computer Vision. The meaningful contribution
is the use of the local visual information as an occupancy grid where a local trajectory approaches the robot
to the final desired configuration, while avoiding obstacle collisions. Hence, the research is focused on the
experimental aspects. Finally, conclusions on the overall work are drawn.
259
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
260
PREDICTIVE CONTROL BY LOCAL VISUAL DATA - Mobile Robot Model Predictive Control Strategies Using Local
Visual Information and Odometer Data
allow the use of analytic methods in order to deal The treatment of experimental data is done
with the problem of controller design. The before the parameter estimation. In concrete, it
nonholonomic system dealt with in this work is includes the data filtering, using the average value of
considered initially as a MIMO (multiple input five different experiments with the same input
multiple output) system, which is composed of a set signal, the frequency filtering and the tendency
of SISO subsystems with coupled dynamic influence suppression. The system is identified by using the
between two DC motors. The approach of multiple identification toolbox “ident” of Matlab for second
transfer functions consists in making the order models. The following continuous transfer
experiments with different speeds. In order to find a function matrix for medium speed is obtained:
reduced-order model, several studies and ⎛ 0.35s 2 + 4.82s + 4.46 0.02s 2 + 0.27s + 0.32 ⎞
experiments have been done through the system ⎜ ⎟
⎛ R ⎞ ⎜ s 2 + 5.84s + 4.89
Y s 2 + 5.84s + 4.89 ⎟⎛⎜U R ⎞⎟ (3)
identification and model simplification. ⎜⎜ ⎟⎟ =
⎝ YL ⎠ ⎜ 0.26s + 3.41s + 0.28
2
0.11s + 1.72s + 5.12 ⎟⎜⎝ U L ⎟⎠
2
⎜ ⎟
⎝ s + 5.84s + 4.89
2
s 2 + 5.84s + 4.89 ⎠
2.2.1 System Identification
It is shown by simulation results that the obtained
The parameter estimation is done by using a PRBS model fits well with the experimental data.
(Pseudo Random Binary Signal) as excitation input
signal. It guarantees the correct excitation of all 2.2.2 Simplified Model of the System
dynamic sensible modes of the system along the
spectral range and thus results in an accurate This section studies the coupling effects and the way
precision of parameter estimation. The experiments for obtaining a reduced-order dynamic model. It is
to be realized consist in exciting two DC motors in seen from (3) that the dynamics of two DC motors
different (low, medium and high) ranges of speed. are different and the steady gains of coupling terms
The ARX (auto-regressive with external input) are relatively small (less than 20% of the gains of
structure has been used to identify the parameters of main diagonal terms). Thus, it is reasonable to
the robot system. The problem consists in finding a neglect the coupling dynamics so as to obtain a
model that minimizes the error between the real and simplified model.
estimated data. By expressing the ARX equation as a
lineal regression, the estimated output can be written
as:
ŷ = θϕ (1)
with ŷ being the estimated output vector, θ the
vector of estimated parameters and φ the vector of
measured input and output variables. By using the
coupled system structure, the transfer function of the
robot can be expressed as follows:
⎛ YR ⎞ ⎛ GRR GLR ⎞⎛U R ⎞
⎜ ⎟=⎜ ⎟⎜ ⎟ (2)
⎝ YL ⎠ ⎝ GRL GLL ⎠⎝ U L ⎠ Figure 4: Coupling effects at the left wheel.
where YR and YL represent the speeds of right and In order to verify it from real results, a set of
left wheels, and UR and UL the corresponding speed experiments have been done by sending a zero speed
commands, respectively. In order to know the command to one motor and other non-zero speed
dynamics of robot system, the matrix of transfer commands to the other motor. In Figure 4, it is
function should be identified. Figure 3 shows the shown a response obtained on the left wheel, when a
speed response of the left wheel corresponding to a medium speed command is sent to the right wheel.
left PBRS input signal. The experimental result confirms the above facts.
The existence of different gains in steady state is
also verified experimentally. Finally, the order
reduction of system model is carried out trough the
analysis of pole positions by using the method of
root locus. Afterwards, the system models are
validated through the experimental data by using the
PBRS input signal. A two dimensional array with
three different models for each wheel is obtained.
Hence, each model has an interval of validity where
the transfer function is considered as linear.
Figure 3: Left speed output for a left PRBS input signal.
261
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
2.3 Odometer System Expression local model predictive control, LMPC, in order to
use the available visual data in the navigation
Denote (x, y, θ) as the coordinates of position and strategies for the goal achievement.
orientation, respectively. The Figure 5 describes the The MPC is based on minimizing a cost
positioning of robot as a function of the radius of left function, related to the objectives, through the
and right wheels (Re, Rd), and the angular selection of the optimal inputs. In this case, the cost
incremental positioning (θe, θd), with E being the function can be expressed as follows:
distance between two wheels and dS the incremental ⎧ ⎫
displacement of the robot. The position and angular ⎪[X (k + n k ) − X ]T P[X (k + n k ) − X ] ⎪
incremental displacements are expressed as: ⎪ d d
⎪
⎪⎪ n −1 ⎪⎪
J (n, m ) = min ⎨+ ∑ [X (k + i k ) − X d ] Q[X (k + i k ) − X d ]⎬ (6)
T
Rd dθ d + Re dθ e Rd dθd − Redθe ⎧
⎨U (k + i k )
j = m −1⎫
⎬⎪ ⎪
(4)
i =1
dS = dθ = ⎩ j =0 ⎭
⎪ m−1 T ⎪
2 E ⎪ ∑
+ U (k + i k )RU (k + i k ) ⎪
⎩⎪ j =0 ⎭⎪
The coordinates (x, y, θ) can be expressed as:
Denote Xd=(xd,yd,θd) as the desired coordinates. The
first term of (6) is referred to the final desired
x n = x n − 1 + dS cos (θ n − 1 + d θ ) coordinate achievement, the second term to the
y n = y n − 1 + dS sin (θ n − 1 + d θ ) (5 ) trajectory to be followed, and the last one to the
θ n = θ n −1 + d θ input signals minimization. The parameters P, Q and
R are weighting parameters. X(k+n|k) represents the
terminal value of the predicted output after the
horizon of prediction n and X(k+i|k) represents the
predicted output values within the prediction
horizon. The system constrains are also considered:
⎧ U (k + i k ) ≤ G1 α ∈ [0,1) ⎫
⎪⎪ ⎪⎪
⎨ [xk + i , yk + i ] − [xo , yo ] ≥ G2 ⎬ (7 )
⎪
[x , y ] − [xd , yd ] ≤ α [xk , yk ] − [xd , yd ]⎪⎭⎪
⎩⎪ k + n k + n
Figure 5: Positioning of the robot as functions of the
angular movement of each wheel. The limitation of the input signal is taken into
account in the first constraint. The second constraint
Thus, the incremental position of the robot can be is related to the obstacle points where the robot
obtained through the odometer system with the should avoid the collision. The last one is just a
available encoder information obtained from (4) and convergence criterion.
(5).
262
PREDICTIVE CONTROL BY LOCAL VISUAL DATA - Mobile Robot Model Predictive Control Strategies Using Local
Visual Information and Odometer Data
α
obstacle avoidance method; as i.e., (Campbell et al.,
2004), in which it was used a Canny edge detector
Δα = K j (0 ≤ K j ≤ R)
R
algorithm that consists in Gaussian filtering and xi , j = ±
H
tan (Δβ ) (9)
edge detection by using Sobel filters. Thus, optical cos (ϕ − α 2 + Δα )
flow was computed over the edges providing β
Δβ = K i (0 ≤ K i ≤ C 2)
obstacle structure knowledge. The present work C
assumes that the occupancy grid is obtained by the
The Ki and Kj are parameters used to cover the
machine vision system. It is proposed an algorithm
image pixel discrete space. Thus, R and C represent
that computes the local optimal desired coordinate as
the image resolution through the total number of
well as the local trajectory to be reached. The rows and columns. It should be noted that for each
research developed assumes indoor environments as row position, which corresponds to scene
well as flat floor constraints. However, it can be also coordinates yj, there exist C column coordinates xi,j.
applied in outdoor environments. The above equations provide the available local map
This section presents firstly the local map coordinates when no obstacle is detected. Thus,
relationships with the camera configuration and considering the experimental setup reported in
poses. Hence, the scene perception coordinates are Section 2, the local on-robot map depicted in Figure
computed. Then, the optimal control navigation 7 is obtained.
strategy is presented, which uses the available visual
data as a horizon of perception. From each frame, it
is computed the optimal local coordinates that
should be reached in order to achieve the desired
objective. Finally, the algorithm dealing with the
visual data process is explained. Some involved
considerations are also made.
y j = H tan(ϕ − α 2 + Δα ) (8)
263
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
3.3 Algorithms and Constraints coordinates are considered as final points, until not
any new optimal local desired coordinates are
In this subsection, some constraints that arise from provided. The image information is explored starting
the experimental setup are considered. The narrow at the closer positions, from bottom to upside. It is
field of view and the fixed camera configuration suggested to speed up the computing process based
make necessary that the robot stays oriented towards on a previously calculated LUT, (look up table),
the desired coordinates. WMR movements are with the scene floor coordinates corresponding to
planned based on the local visual data, and always in each pixel.
advancing sense. Hence, the algorithms provide
local desired coordinates to the control unit. If WMR 3.3.2 Local Minimal Failures
orientation is not appropriate, the robot could turn
around itself until a proper orientation is found. The local minimal failures will be produced when a
Another possibility is to change the orientation in convergence criterion, similar to that used in (7), is
advancing sense by the use of the trajectory/robot not satisfied. Thus, the local visual map cannot
orientation difference as the cost function computed provide with closer optimal desired coordinates,
over the available visual data. This subsection because obstacles blocks the trajectory to the goal.
proposes the local optimal suggested algorithms that In these situations, obstacle contour tracking is
have as special features an easy and fast proposed. Hence, local objectives for contour
computation. Some methods are presented in order tracking are used, instead of the goal coordinates, as
to overcome the drawback of local minimal failures. the source for obtaining a path until the feasible goal
trajectories are found. The Figure 8 shows an
3.3.1 The Proposed Algorithms example with local minimal failures. It is seen that
in A, the optimal trajectory is a straight line between
The proposed algorithm, concerning to obtaining the A and E. However, an obstacle is met at B, and local
local visual desired coordinates, consists of two minimal failure is produced at B. When this is
simple steps: produced, no trajectory can approach to the desired
To obtain the column corresponding to best goal, (Xd, Yd). Then, obstacle con-tour tracking is
optimal coordinates that will be the local desired proposed between B and C. Once C is attained, local
Xi coordinate. minimization along coordinates Y is found and the
To obtain the closer obstacle row, which will be trajectory between C and D is planned. From D to E
the local desired Yj coordinate. local minimums are reached until the final goal is
The proposed algorithm can be considered as a first achieved. It should be noted that once B is reached,
order approach, using a gross motion planning over the left or right obstacle contour are possible.
a low resolution grid. The obstacle coordinates are However, the right direction will bring the robot to
increased in size with the path width of the robot an increasing Yj distance.
(Schilling, 1990). Consequently, the range of
visually available orientations is reduced by the path
width of WMR. Other important aspects as visual
dead zone, dynamic reactive distance and safety stop
distance should be considered. The dynamic reactive
distance, which should be bigger than the visual
dead zone and safety stop distance, is related to the
robot dynamics and the processing time for each
frame. Moreover, the trajectory situated in the visual Figure 8: Example of local minimal failures produced at B
map should be larger than a dynamic reactive with A being the starting point and E the desired goal.
distance. Thus, by using the models corresponding
to the WMR PRIM, three different dynamic reactive The robot follows the desired goals except when the
distances are found. As i.e. considering a vision situation of obstacle contour tracking is produced,
system that processes 4 frames each second, using a and then local objectives are just the contour
model of medium speed (0.3m/s) with safety stop following points. The local minimal failures can be
distance of 0.25m and an environment where the considered as a drawback that should be overcome
velocity of mobile objects is less than 0.5m/s, a with more efforts. In this sense, the vision
dynamic reactive distance of 0.45m is obtained. navigation strategies (Desouza, Kak, 2002) should
Hence, the allowed visual trajectory distance will set be considered. Hence, it is proposed the use of
the speed that can be reached. The desired local feasible maps or landmarks in order to provide local
264
PREDICTIVE CONTROL BY LOCAL VISUAL DATA - Mobile Robot Model Predictive Control Strategies Using Local
Visual Information and Odometer Data
objective coordinates that can be used for guiding of each zone. It is considered the region that offers
the WMR to reach the final goal coordinates. better optimization, where the algorithm is repeated
for each sub-zone, until no sub-interval can be
found. Once the algorithm is proposed, several
simulations have been carried out in order to verify
4 LMPC ALGORITHMS the effectiveness, and then to make the
improvements. Thus, when only the desired
This section gives the LMPC algorithms by using coordinates are considered, the robot could not
the basic ideas presented in the Section 2. The arrive in the final point. Figure 10 shows that the
LMPC algorithm is run in the following steps: inputs can minimize the cost function by shifting the
To read the actual position robot position to the left.
To minimize the cost function and to obtain a
series of optimal input signals
To choose the first obtained input signal as the
command signal.
To go back to the step 1 in the next sampling
period
The minimization of the cost function is a
nonlinear problem in which the following equation
should be verified:
Figure 10: The left deviation is due to the greater left gain
f (α x + β y ) ≤ α f (x ) + β f ( y ) (10) of the robot.
It is a convex optimization problem caused by the
trigonometric functions used in (5), (Boyd, The reason can be found in (3), where the left motor
Vandenberghe, 2004). The use of interior point has more gain than the right. This problem can be
methods can solve the above problem (Nesterov, easily solved by considering a straight-line trajectory
Nemirovskii, 1994). Among many algorithms that from the actual point of the robot to the final desired
can solve the optimization, the descent methods are point. Thus, the trajectory should be included into
used, such as the gradient descent method among the LMPC cost function. The Figure 11 shows a
others, (Dennis, et al. 1996), (Ortega, et al. 2000). simulated result of LMPC for WMR obtained by
The gradient descent algorithm has been using firstly the orientation error as cost function
implemented in this work. In order to obtain the and then the local trajectory distance and the final
optimal solution, some constraints over the inputs desired point for the optimization. The prediction
are taken into account: horizons between 0.5s and 1s were proposed and the
The signal increment is kept fixed within the computation time for each LMPC step was set to
prediction horizon. less than 100ms, running in an embedded PC of
The input signals remain constant during the 700MHz. In the present research, the available
horizon is provided by using the information of local
remaining interval of time.
visual data. Thus, the desired local points as well as
The input constraints present advantages such like
the optimal local trajectory are computed using
the reduction in the computation time and the
machine vision information.
smooth behavior of the robot during the prediction
horizon. Thus, the set of available input is reduced to
one value. In order to reduce the optimal signal
value search, the possible input sets are considered
as a bidimensional array, as shown in Figure 9.
Then, the array is decomposed into four zones, and This paper has integrated the control science and the
the search is just located to analyze the center points robot vision knowledge into a computer science
environment. Hence, global path planning by using
265
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
local information is reported. One of the important DeSouza, G.N., Kak, A.C., 2002. Vision for Mobile Robot
aspects of the paper has been the simplicity, as well Navigation: a survey, PAMI, 24, 237-267.
as the easy and direct applicability of the Elfes, A., 1989. Using occupancy grids for mobile robot
approaches. The proposed methodology has been perception and navigation, IEEE Computer, 22, 46-
attained by using the on-robot local visual 57.
information, acquired by a camera, and the Fox, D., Burgard, W., and Thun, S., 1997. The dynamic
window approach to collision avoidance, IEEE Robot.
techniques of LMPC. The use of sensor fusion,
Autom. Mag. 4, 23-33.
specially the odometer system information, is of a
Gupta, G.S., Messom, C.H., Demidenko, S., 2005. Real-
great importance. The odometer system uses are not time identification and predictive control of fast
just constrained to the control of the velocity of each mobile robots using global vision sensor, IEEE Trans.
wheel. Thus, the absolute robot coordinates have On Instr. and Measurement, 54, 1.
been used for planning a trajectory to the desired Horn, B. K. P., 1998. Robot Vision, Ed. McGraw –Hill.
global or local objectives. The local trajectory Küne, F., Lages, W., Da Silva, J., 2005. Point stabilization
planning has been done using the relative robot of mobile robots with nonlinear model predictive
coordinates, corresponding to the instant when the control, Proc. IEEE Int. Conf. On Mech. and Aut.,
frame was acquired. The available local visual data 1163-1168.
provides a local map, where the feasible local Lju, L., 1989. System Identification: Theory for the User,
minimal goal is selected, considering obstacle ed., Prentice Hall.
avoidance politics. Maciejowski, J.M., 2002. Predictive Control with
Nowadays, the research is focused to implement the Constraints, Ed. Prentice Hall.
presented methods through developing flexible Nesterov, Y., Nemirovskii, A., 1994. Interior_Point
Polynomial Methods in Convex Programming, SIAM
software tools that should allow to test the vision Publications.
methods and to create locally readable virtual Norton, J. P., 1986. An Introduction to Identification, ed.,
obstacle maps. The use of virtual visual information Academic Press, New York.
can be useful for testing the robot under synthetic Nourbakhsh, I. R., Andre, D., Tomasi, C., Genesereth, M.
environments and simulating different camera R., 1997. Mobile Robot Obstacle Avoidance Via Depth
configurations. The MPC studies analyzing the From Focus, Robotics and Aut. Systems, 22, 151-58.
models derived from experiments as well as the Ögren, P., Leonard, N., 2005. A convergent dynamic
relative performance with respect to other control window approach to obstacle avoidance, IEEE T
laws should also be developed. Robotics, 21, 2.
Ortega, J. M., Rheinboldt, W.C., 2000. Iterative Solution
of Nonlinear Equations in Several Variables, Society
for Industrial and Applied Mathematics.
ACKNOWLEDGEMENTS Rimon, E., and Koditschek, D., 1992. Exact robot
navigation using artificial potential functions, IEEE
Trans. Robot Autom., 8, 5, 501-518.
This work has been partially funded the Commission
Schilling, R.J., 1990. Fundamental of Robotics, Prentice-
of Science and Technology of Spain (CICYT) Hall.
through the coordinated research projects DPI-2005- Thrun, S., 2002. Robotic mapping: a survey, Exploring
08668-C03, CTM-2004-04205-MAR and by the Artificial Intelligence in the New Millennium, Morgan
government of Catalonia through SGR00296. Kaufmann, San Mateo, CA.
REFERENCES
Boyd, S., Vandenberghe, L., 2004. Convex Optimization,
Cambridge University Press.
Campbell, J., Sukthankar, R., Nourbakhsh, I., 2004.
Techniques for Evaluating Optical Flow in Extreme
Terrain, IROS.
Coué, C., Pradalier, C., Laugier, C., Fraichard, T.,
Bessière, P., 2006. Bayesian Occupancy Filtering for
Multitarget Tracking: An Automotive Application,
International Journal of Robotics Research.
Dennis, J.E., Shnabel, R.S., 1996. Numerical Methods for
Unconstrained Optimization and Nonlinear Equations,
Society for Industrial and Applied Mathematics.
266
INTERNET-BASED TELEOPERATION: A CASE STUDY
Toward Delay Approximation and Speed Limit Module
Keywords: Remote control, teleoperation, mobile robot, Internet delay, path error, delay approximator, speed limit.
Abstract: This paper presents the internet-based remote control of mobile robot. To face unpredictable Internet delays
and possible connection rupture, a direct teleoperation architecture with “Speed Limit Module” (SLM) and
“Delay Approximator” (DA) is proposed. This direct control architecture guarantees the path error of the
robot motion is restricted within the path error tolerance of the application. Experimental results show the
effectiveness and applicability of this direct internet control architecture in the real internet environment.
267
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
268
INTERNET-BASED TELEOPERATION: A CASE STUDY - Toward Delay Approximation and Speed Limit Module
Table 1: Quality levels in SLM. actual Internet time delays. The worst case is
from Q0 to Qn :
Qual. Time D. Sub T. Max Speed
Q0 0 ~ t0 Δδ 0 v0 = Δδ 0 / t0
Δδ1 Δ d = Δ δ 0 + Δ δ 1 + " + Δδ n
Q1 t0 ~ t1 v1 = Δδ1 /(t1 − t0 )
Q2 t1 ~ t2 Δδ 2 v2 = Δδ 2 /(t2 − t1 ) n
Q3 t 2 ~ t3 Δδ 3 v3 = Δδ 3 /(t3 − t2 ) = ∑ Δδ j
j =0
... ... ... ...
Qn−1 tn−1 ~ tn Δδ n−1 vn−1 = Δδn−1 /(tn −tn−1) ≤δ
Qn ≥ tn 0 vn = 0 The path error Δd is within the restriction of
When the quality level changes, the Application path error tolerance δ in both situations. Then the
Server evaluates the Current Robot Speed (CRS) and path error at every turning/stop point in the task is
the Max Speed of this quality level (MSoT). If guaranteed and the successfully continuous control
CRS ≤ MSoT, no command is sent to robot; else the of the robot is achieved.
Application Server sends MSoT command to robot With the constraints, the different quality levels
(change CRS to MSoT). with its respective time delay zone value, sub
MSoT is calculated by the time delay zone and tolerance and max speed are defined according to
sub tolerance which are defined by user according to different application. e.g.: the normal quality level of
application. In order to meet the path error tolerance Internet time delay is Q j in the application, its sub
δ at the turning/stop point, the following constraints tolerance Δδ j should take a larger percentage of
are used when designing SLM: δ . It means the robot is preferred to have larger sub
tolerance in the normal quality level; in the same
⎧ n time, speed limit rules guarantees Δd ≤ δ in any
⎪
⎨
∑j =0
Δδ j ≤ δ situation.
⎪v j +1 ≤ v j j ∈ (0,1, " n − 1)
⎩
The above constraint guarantees the path error at
the turning/stop point is restricted within δ in any
Internet time delay situation. Q0 is the best quality
level, its Max Speed v0 is the fastest running speed
of the robot. Qn is the disconnection situation, and
the robot stops running immediately (vn = 0) . The
proof of how the constraint works are shown below.
There are two kinds of situation when the robot Figure 3: A path result using “Speed Control” with SLM.
runs under the speed limit rules.
1. Stable network delay In Figure 3, the path deviation at every turning/stop
It means the robot is running in the same time point is restricted within δ . Then a successful task
delay quality level Qi between two continuous is achieved using “Speed control” with SLM. The
actual Internet time delay (from the real clock above describes the detail SLM with the quality level
time of receiving previous actual Internet time idea, next part emphasize on how the gets the quality
delay to the real clock time of receiving next level information of current time delay from DA.
actual Internet time delay). Then
2.3.2 Delay Approximator (DA) Principals
Δ d = vi × t i
In the generic architecture, Pinger-Ponger is the
≤ v0 × t 0 + v1 × (t1 − t 0 ) + " + vi (t i − ti −1 ) mechanism to provide the Internet time delay
= Δδ 0 + Δδ 1 + " + Δδ i information to DA. The next actual Internet time
delay Δt n is calculated as follows:
i
= ∑ Δδ j Δt n = Tn − T p
j =0
≤δ Where
T p is the real clock time of receiving previous
actual Internet time delay from Pinger-Ponger; Tn is
2. Unstable network delay the real clock time when Pinger-Ponger sends the
The robot is running in the different time next Internet time delay to DA.With above feature,
delay quality levels between two continuous
269
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
the current (up-to-now) time delay Δt c from T p is all the users, but certain SLM works fine for some
formed as: users. The test is still on-going currently. The
⎧ Δtc = t j j=0 average Internet time delay of the user is able to
⎨ observe during the test, so next step consideration is
⎩Δtc = t j − t j −1 j ∈ (1,2, " n) to build SLM for respective user group
(distinguished by average Internet time delay. e.g.:
t j is the time delay zone in SLM. Δtc is the Asia, Europe, etc.) and the system can choose
watchdog and j is the automatic counter initialized different SLM automatically due to the user group.
with 0. Δtc is only activated when there is quality
level change, and this quality level change is used as
current time delay change information. 4 CONCLUSION
Pinger-Ponger only provides the Internet time
delay when it gets one. The Internet time delay is In this paper, the SLM and DA based architecture is
unpredictable, so there is no idea when Pinger- proposed to face the unpredictable Internet delay in
Ponger gets new information. Internet-based robot control. This approach
There is no idea about the future, but the current guarantees the path error of the continuous robot
situation is supervised by DA as following principals: motion. Here, the path error is guaranteed only if the
1. DA receives information from Pinger-Ponger. path error at every turning/stop point is within a path
Pinger-Ponger informs DA of receiving the error tolerance δ which depends on application
next actual Internet time delay, and then DA itself.
forwards the quality level of calculated Δt n to In this architecture, the current time delay is
SLM. Meanwhile the previous parameters are set supervised by DA; and SLM applies different speed
to be the current ones: the value of T p is set limit rules according to the current time delay
to Tn , the quality level of previous actual situation. Then the robot is always running in a
Internet time is changed to the quality level of proper speed which meets the path error restriction.
Δt n , reset the watchdog (Δtc ) . Finally, a continuous control of the internet-based
2. No information from Pinger-Ponger and Δtc robot is achieved successfully.
is activated to a quality level change.
Δt p is the previous actual Internet time delay.
There are two kinds of situations:
• Δ t c ≤ Δt p REFERENCES
The quality level of current time delay is
no worse than that of previous actual time Andreu, D., Fraisse, P., Roqueta, V., Zapata, R., 2003.
delay; there is no action and DA keeps Internet enhanced teleoperation toward a remote
supervising. supervised delay regulator. ICIT'03, IEEE Int. Conf. on
• Δt c > Δt p Industrial Technology, Maribor.
The quality level of current time delay Ogor, P., 2001. Une architecture générique pour la
situation is worse than that of previous actual supervision sure à distance de machines de production
Internet time delay. When Δtc is activated, it
avec Internet. Ph.D. thesis, Université de Bretagne
Occidentale.
indicates a change of quality level and “DA” ADEPA, 1981. GEMMA: Guide d’études des modes de
forwards the new quality level to SLM. DA marche et d’arrêt.
keeps supervising. Meng Wang, and James N.K. Liu, 2005. Interactive
DA keeps supervising the Internet delay situation control for Internet-based mobile robot teleoperation.
all the time. It provides the real Internet time delay Robotics and Autonomous Systems, Volume 52, Issues 2-
or current time delay to SLM. 3, 31 August 2005, Pages 160-179.
K.-H. Han, J.-H. Kim, 2002. Direct Internet Control
Architecture for Personal Robot. Proc. of the 2002 FIRA
Robot World Congress, pp. 264-268, Seoul.
3 EXPERIMENT P. Ogor, P. Le Parc, J. Vareille et L. Marcé, 2001. Control
a Robot on Internet. 6th IFAC Symposium on Cost
The remote control system server has been built in Oriented Automation, Berlin.
UBO, France. Some users (mainly from France, J. Vareille, P. Le Parc et L. Marcé, 2004. Web remote
Sweden, and China) are invited to test the feasibility control of mechanical systems: delay problems and
of effectiveness of the system. The average Internet experimental measurements of Round Trip Time. 2nd
Workshop CNRS-NSF Applications of Time-Delay
time delay varies a lot between European users and
systems, Nantes.
Asian users. It’s not easy to find a uniform SLM for
270
OPTICAL NAVIGATION SENSOR
Incorporating Vehicle Dynamics Information in Mapmaking
Abstract: Accurate odometry and navigation may well be the most important tasks of a mobile robot’s control system.
To solve this task it is necessary to utilize proper sensors which provide reliable information about the
motion. This paper presents the prototype of an optical navigation sensor which can be an alternative choice
for the dead reckoning navigation system of a vehicle or mobile robot. The last part of the paper presents
another application in an inertial navigation system that enables a new approach to map making which
incorporates vehicle dynamics into the world map.
271
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
3.2 The Prototype of the Sensor Figure 3: The prototype of the sensor.
As a basis for further research, we have built the 3.3 Testing, Error Measurement
prototype of the optical navigation sensor (see figure
2 and figure 3). To measure the errors of the sensor we mounted it
As a camera (what provides the image-sequence on a test platform (figure 3/a) and performed some
for calculating the dislocation) we have chosen the experiments.
sensing and processing chip of a low-cost and wide- The first group of tests analyzes the dependence
spread optical mouse. (Hereinafter this chip is from the texture of the floor and from the height
referred to as “mouse-chip”.) The chip includes a over ground. The experience showed that the sensor
low-resolution camera and a DSP for calculating the is really insensitive to the height (thanks to the
optical flow by hardware at a very high rate. telecentric optics) but unfortunately it sometimes
Although its resolution is relatively low, for motion misses on shining or totally homogeneous surfaces.
detection and measurement it is sufficient because This property is inherited from the mouse-chip of
only the texture is important. It measures the relative the cheap optical mice. Laser equipped optical mice
dislocations in the x and y direction. might be better from this aspect. Therefore using the
mouse-chip of a laser mouse presumably solves this
Mouse-chip Microcontroller Control problem.
unit With the second type of the tests we measured
Telecentric Optics the accuracy of the sensor. First we determined the
model of the platform then we executed the so called
LEDs
unidirectional square-path test (Borenstein, 1996).
The model of the navigating agent and the
Figure 2: The model of the sensor. connection between the motion and the measured
sensor values is shown on figure 3/b. The y
Because of the uneven floor the distance between component measures orientation change, the linear
the sensor and the floor is continuously changing. To dislocation appears in the value of the x component.
compensate this effect the sensor has telecentric
optics, which has a constant magnification rate
dy
therefore in a certain range the measurements are
dx
independent from the height of the sensor relative to
A
the ground.
Naturally, it was necessary to design a D
microcontroller based architecture round the mouse-
chip which offers a useable interface for a dead a.) b.)
reckoning navigation system. The microcontroller
reads the motion or the image information of the Figure 3: The test platform and its model.
mouse-chip and sends them to the processing unit,
for example to a PC in the development stage or to a By normal conditions the measured error was
navigation or control unit at real conditions (Takács, relatively small in the course of movement around
2007). the square. 4,5 meters of travel yielded 0,01-0,02
meters of the inaccuracy (meaning 0,3% overall
error).
272
OPTICAL NAVIGATION SENSOR - Incorporating Vehicle Dynamics Information in Mapmaking
It is important to add that slip free wheel contact 4.2 Linking Vehicle Dynamic Properties
was supposed. In case of slippage the error grew into World Map Building
dramatically, the inaccuracy could even reach the
0,3-0,4 meters (7% error). It was caused by the Another interesting area of application is a multi
appearance of linear dislocation in the value of the y sensor navigation unit of a mobile robot or
component, and the ratio between the linear automated vehicle. By fusing information from the
dislocation and the orientation change can not been optical correlation sensor and other sensors
determined. measuring the vehicles inner state - such as
It seems to be a paradox situation since this acceleration, tilt, wheel speed, GPS sensors - very
optical navigation sensor was developed for precise dynamical information can be obtained. This
replacing the wheel encoder based odometry, information can be used to build a world map that
however we faced the same problem (the inaccuracy contains information not only about the environment
from the slippage of the wheels). But as opposed to but also its effects on the dynamical behaviour of the
the odometry, out experiences showed, that this robotic vehicle. The optical sensor plays an
method has a simple and effective solution. By using important role in this unit because it is able to
two optical sensors, a platform independent an measure true ground velocity relative to our vehicle,
accurate dead reckoning navigating sensor-system making us able to determine wheel slippage and slip
can be developed that works well under real angle.
conditions (wheel-slippage, travel over uneven floor Intelligent mobile robots navigate around in their
etc.) too. environment by gathering information about their
surroundings. The most common approach is to use
ranging sensors mounted on the robot to form
4 ALTERNATIVE APPLICATIONS occupancy grids or equivalent. Other approaches
avoid this metric division of space and favour
4.1 Electronic Stability Control of topological mapping. By combining these mapping
techniques it is possible to form a hierarchical map
Vehicles that has the advantages of both methods while some
of the disadvantages can be avoided (Thrun, 1998).
One of the most critical areas of stability systems
Occupancy grids classify the individual cells
(ESP, ABS etc.) is the accurate measurement of the
based on range data and possibly other features such
dynamic state of the vehicle. Probably the most
as colour or surface texture or variation. This
important state variable is the slip angle of the
becomes very important in outdoor mobile robotics
moving vehicle. It is needed for the calculation of
when the robot needs to distinguish between real
the force between the wheels and the ground and
obstacles and traversable terrain. An extreme case is
also for the exact description of the motion-state.
given by navigation in a field of tall grass. The
Presently used measurement procedures of the
elevation map will represent the scene as a basically
slip angle are in general very expensive therefore it
horizontal surface above the ground level; that is, as
they are not really usable in mass production
a big obstacle in front of the vehicle. It is apparent
(Kálmán, 2005). Hence it is necessary to use
that only by integrating the geometry description
estimation methods to provide the value of the slip
with terrain cover characterization will a robot be
angle. Unfortunately these procedures can not
able to navigate in such critical conditions (Belluta,
provide accurate results (Bári, 2006).
2000).
This optical sensor provides an effective and
Topological maps describe the world in terms of
cheap solution to solve the problem of the slip angle
connections between regions. This is usually enough
because it can measure (instead of estimation)
indoors, or in well structured environments, but
directly the slip angle, the ground velocity in 2D and
when travelling through more complex terrain a
other important motion information. Therefore it can
different representation might be necessary. For
be an additional sensor of any vehicle handling
example a sloping gravel road or sand dune may
enhancement system, for example ABS or ESP.
only be traversable at a certain speed or only one
Naturally for utilization in the automotive industry it
way, up or downwards. By applying information
is necessary to fulfil numerous standards and
from the inertial navigational unit, such as slope
reliability requirements, which will not be discussed
angle, wheel slippage, actual movement versus
in this paper.
desired movement, these characteristics can be
learned (or used from apriori information) and the
273
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
connections of the topological graph can be updated experimental setup. Experimental results are given
accordingly. in the last part. Conclusions: the current system
Terrain characteristics (and those of our vehicle) should be made platform independent by using two
determine the maximum safe speed, braking distance rigidly linked sensors, use of laser mouse chips is
curve radius at a given speed, climbing manoeuvres recommended to overcome the problem of texture
etc. It is obvious that the more information we have dependency.
about a certain region we are planning to travel Finally examples of alternative application areas
through, the more driving efficiency we can achieve, were presented: slip angle measurement for the
as it is generally unsafe to drive at high speed safety systems of vehicles and hierarchical map
through bumpy terrain or make fast turns on a building with additional driveability information.
slippery surface. By incorporating the data from the As a conclusion we can say that the device and
navigational unit into the world map, we can dependent methods presented here can serve as
associate driving guidelines to a given map segment. cheap and accurate alternative solutions to numerous
Also on the higher, topological level - using apriori problems of the robot and automotive industry.
information - we can identify the type of the terrain
for a given point of our topological graph, as office
environment, forest, urban area, desert etc. By doing REFERENCES
so, we narrow down our choices when making
decisions about terrain coverage. For example it is Borenstein, J., Everett, H. R., Feng, L., 1996. “Where am
unlikely to encounter sand, water or foliage in an I?” Sensors and Methods for Mobile Robot
office environment. If we know the type of terrain Positioning, 13-29., 130-150.
ahead we can make a more accurate estimate of the Takács, T., 2007. Alternative Path-Tracking Sensor-
driveability of the area thus increasing driving System for Mobile Robots, microCAD – International
efficiency. Scientific Conference.
In this section a hierarchical map making method Bári, G., Kálmán V., Szabó, B., 2006. Járműdinamikai
was proposed which uses data from a multi-sensor állapotbecslő algoritmus fejlesztése. A jövő járműve –
Járműipari innováció, BME-EJJT, in Hungarian.
navigation unit that supplies information about
Kálmán, V., 2005. Elemzés az "optical flow"
vehicle dynamics. This unit heavily relies on the (~képfolyam) elven működő jármű és mobil robot-
optical correlation sensor described in the preceding technikai érzékelők kínálatáról, in Hungarian.
sections. By measuring wheel slip and vehicle slip Dixon, J., Henlich, O., 1997. Mobile Robot Navigation,
angle we are able to associate drivability guidelines SURPISE. Retrieved from
such as safe speed, friction coefficient, minimal http://www.doc.ic.ac.uk/~nd/surprise_97/journal/vol4/
driving speed etc. to a given map segment or type of jmd/
terrain. A higher level of environment recognition Horn, B.K.P., Schunck, B.G., 1980. Determining optical
was also proposed: based on apriori information, or flow. AI Memo 572. Massachusetts Institue of
Technology.
sensor data the vehicles control system decides the
Thrun, S., 1998. Learning maps for indoor mobile robot
type of environment (e.g. office, forest, desert) the navigation. Artificial Intelligence, 99(1): 21–71..
robot traverses at the time, and changes the Belluta, P., Manduchi, R., Matthies, L., Owens, K.,
probability of terrain types, characteristic of the type Rankin, A., 2000. Terrain Perception for Demo III.
of environment, thus simplifying terrain Proceedings of the Intelligent Vehicles Symposium.
classification. Dearborn, Michigan.
5 SUMMARY
In the previous sections we presented an optical
navigation sensor which measures motion
information (velocity, dislocation, slip angle)
without ground contact.
An alternative dead reckoning technique is
proposed in section 3, that yields superior accuracy
compared to wheel encoder based methods. In the
first part a short overview of principle (e.g. optical
flow) is given followed by the description of our
274
VISION-BASED OBSTACLE AVOIDANCE FOR A SMALL,
LOW-COST ROBOT
Abstract: This paper presents a vision-based obstacle avoidance algorithm for a small indoor mobile robot built from
low-cost, and off-the-shelf electronics. The obstacle avoidance problem in robotics has been researched ex-
tensively and there are many well established algorithms for this problem. However, most of these algorithms
are developed for large robots with expensive, specialised sensors, and powerful computing platforms. We
have developed an algorithm that can be implemented on very small robots with low-cost electronics and
small computing platforms. Our vision-based obstacle detection algorithm is fast and works with very low
resolution images. The control mechanism utilises both visual information and sonar sensor’s measurement
without having to fuse the data into a model or common representation. The robot platform was tested in an
unstructured office environment and demonstrated a reliable obstacle avoidance behaviour.
275
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
C D
2 VISION AND CONTROL Figure 1: The images processed by the vision module. A
ALGORITHM is a full resolution colour image. B is the binary obstacle-
ground image of A. C is a low resolution image from A and
D is its corresponding binary image.
2.1 Ground and Obstacles
Segmentation
the size of lookup table from 224 elements to 212 ele-
In our classification algorithm, pixels are classified ments. Effectively, we make the classifier more gen-
according to their colour appearance only. The colour eral since each element of the reduced table represents
space we use is the RGB colour space. Each colour a group of similar colours in the original space. We
in the colour space is set to be a ground or obsta- also use very low resolution images of 22 ∗ 30 pixles.
cle colour. This classification information is stored Fig. 1 has two examples of the outputs from this seg-
in a binary lookup map. The map is implemented as mentation procedure. At the top row is a picture taken
a three dimensions vector of integers. To classify a from the camera mounted on our robot at the max-
pixel, its RGB components are used as indices to ac- imum resolution and the binary image produced by
cess the class type of the pixel. The classification pro- the segmentation procedure. At the bottom row is the
cess is very fast since for each pixel only one array down-sampling version of the top row picture and its
lookup operation is needed. corresponding binary image.
The lookup map is populated from example pic- The output of the image segmentation is a binary
tures of the ground. First, the algorithm counts the image differentiating obstacles from the ground. As-
number of pixels of each colour in the example pic- suming all objects have their bases on the ground,
tures. Then if the number of pixels of a colour is the distance to an object is the distance to its base.
more than 5% of the total number of pixels in those This distance is linear to the y-coordinate of the edge
pictures, that colour is set to be a ground colour. The between the object and the ground in the binary im-
5% threshold is used to eliminate noises in the im- age. For obstacle avoidance, we only need the dis-
ages. Procedure 1 describes this calibration process. tance and width of obstacles but not their height and
A lookup map is also very efficient for modification. depth. Therefore a vector of distance measurements
At the moment, the calibration process is done once to the nearest obstacles is sufficient, we call this ob-
before the robot starts moving and the lookup map stacle distance vector (ODV). We convert the binary
remains unchanged. We anticipate that the colour ap- image to the required vector by copying the lowest y-
pearance of the ground and the lightning condition are coordinate of a non-floor pixel in each column to the
likely to change if the robot operates for a long period corresponding cell in the vector. Each element of the
or moves into different environments therefore any vector represents the distance to the nearest obstacle
classification technique is required to adapt to these in a specific direction.
changes. In the near future, we plan to implement an
on-line auto-calibrating algorithm for the vision mod- 2.2 Control Algorithm
ule. Procedure 2 describes how a pixel is classified
during the robot’s operation. The control algorithm we adopted is reactive, deci-
In a constrained platform the amount of memory sions are made upon the most recent sensory readings.
needed to store the full 24 bits RGB space is not avail- The inputs to the controller are the obstacle distance
able. To overcome this problem, we reduce the origi- vector, produced by the visual module, and distance
nal 24 bits RGB colour space to 12 bits and decrease measurements from the two sonar sensors pointing at
276
VISION-BASED OBSTACLE AVOIDANCE FOR A SMALL, LOW-COST ROBOT
A B
Procedure 1 PopulateLookupMap ( n: number of
pixels , P : array of n pixels.
for i = 0 to n − 1 do
(R, G, B) =⇐ rescale(P[i]r , P[i]g , P[i]b ) 00000000000
11111111111 000000000000000
111111111111111
0000000000
1111111111
00000000000
11111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
0000000000
1111111111
000000000000000
00000000000
11111111111 111111111111111
0000000000
1111111111
pixel counter[R][G][B] ⇐ 0000000000000000
1111111111111111
00000000000
11111111111
0000000000000000
1111111111111111
00000000000 E
11111111111
0000000000000000
1111111111111111
000000000000000
111111111111111
0000000000
1111111111
000000000000000
111111111111111
0000000000
F 1111111111
00000000000
11111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
0000000000
1111111111
000000000000000
111111111111111
0000000000
1111111111
pixel counter[R][G][B] + 1 00000000000
11111111111
0000000000000000
1111111111111111
00000000000
11111111111
0000000000000000
1111111111111111
00000000000
11111111111
0000000000000000
1111111111111111
000000000000000
111111111111111
0000000000
1111111111
000000000000000
111111111111111
0000000000
1111111111
00000000000
11111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
0000000000
1111111111
000000000000000
00000000000
11111111111 15cm
0000000000000000
1111111111111111 111111111111111
0000000000
1111111111
end for 00000000000
11111111111
0000000000000000
1111111111111111
00000000000
11111111111
0000000000000000
1111111111111111
000000000000000
111111111111111
0000000000
1111111111
000000000000000
111111111111111
0000000000
1111111111
00000000000
11111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
0000000000
1111111111
000000000000000
for (R,G,B) = (0,0,0) to MAX(R,G,B) do 00000000000
11111111111
0000000000000000
1111111111111111 111111111111111
0000000000
1111111111
000000000000000
111111111111111
00000000000
11111111111
0000000000000000
1111111111111111 0000000000
1111111111
000000000000000
111111111111111
0000000000
00000000000
11111111111
0000000000000000
1111111111111111
D 15cm C 1111111111
000000000000000
111111111111111
0000000000
1111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
is ground map[R][G][B] ⇐ 0000000000000000
1111111111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
000000000000000
111111111111111
0000000000000000
1111111111111111
0000000000000000 000000000000000
111111111111111
1111111111111111 000000000000000
111111111111111
pixel counter[R][G][B] > n ∗ 5% 0000000000000000
1111111111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
000000000000000
111111111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
end for 0000000000000000
1111111111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
000000000000000
111111111111111
0000000000000000
1111111111111111
0000000000000000 000000000000000
111111111111111
1111111111111111 000000000000000
111111111111111
return is ground map 0000000000000000
1111111111111111
0000000000000000
1111111111111111 000000000000000
111111111111111
the sides of the robot. The ODV gives a good resolu- 3 PLATFORM CONFIGURATION
tion distance map of any obstacle in front of the robot. AND IMPLEMENTATION
Each cell in the vector is the distance to the nearest
obstacle in a direction of an angle of about 2.5◦ . The The robot control software runs on a Gumstix (gum,
angular resolution of the two sonar sensors are much ), a small Linux computer that has an Intel 200 MHz
lower. So the robot has a good resolution view at the ARM processor with 64 Mb of RAM. The vision sen-
front and lower at the sides. The controlling mecha- sor is a CMUcam2 module connected to the Gumstix
nism consists of several reflexive rules. via a RS232 link. A Brainstem micro-controller is
used to control sonar sensors and servos. The robot
• If there are no obstacles detected in the area mon- is driven by two servos. These electronic devices are
itored by the camera, run at maximum speed. mounted on a small three wheeled robot chassis. The
total cost of all the components is less than 300 US
• If there are objects in front but further than a trig-
dollars. The robot can turn on the spot with a small
ger distance, slow down.
radius of about 5 cm. Its maximum speed is 15cm/s.
• If there are objects within the trigger distance, The robot is powered by 12 AA batteries. A fully
start to turn to an open space. charged set of batteries can last for up to 4 hours.
Fig. 2 shows the area in front of the robot that is
• If a sonar sensor reports a very close object, within monitored by the robot’s sensors. The CMUcam is
5 cm, turn to the opposite direction. mounted on the robot pointing forward at horizontal
level,15 cm above the ground, and captures an area of
The control algorithm does not calculate how far the about 75cm2 . Because the camera has a relatively nar-
robot should turn. It will keep turning until the area row FOV of about 55◦ , the two sonar sensors on the
in front is clear. The robot looks for an open space side are needed. In total, the robot’s angle of view is
by first looking in the opposite direction to the per- 120◦ . The robots dimensions are 20cm ∗ 20cm ∗ 15cm.
ceived obstacle, if the half image in that side is free The hardware configuration was determined by the
of obstacles, the robot will turn to this direction. If trial and error method. The parameters we presented
there are obstacles in both left and right half of the here were the best that we found and were used in the
image, the two measurements from sonar sensors are experiments reported in section IV.
compared and the robot will turn to the direction of The maximum frame resolution of the CMUCam2
the sonar sensor that reports no existence of obstacles is 87 ∗ 144 pixels, we lower the resolution to only
or a biger distance measurement. There is no attempt 22 ∗ 30 pixels. We only need the first bottom half
to incorporate or fuse data from the camera and sonar of the picture so the final image has dimensions of
sensors together into a uniformed representation. The 22 ∗ 15. In our implementation, the obstacle distance
algorithm uses the sensor readings as they are. vector has 22 cells, each cell corresponds to an angle
277
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
278
VISION-BASED OBSTACLE AVOIDANCE FOR A SMALL, LOW-COST ROBOT
all the objects. On picture B, the robot went into a Table 2: Speed performance.
small area near a corner with a couple of obstacles
and found a way out. On picture C, the robot success- Task Time
fully navigated through a chair’s legs which presented Image acquiring 95 ms
a difficult situation. Picture D was a case where the Sonar sensor reading 125 ms
robot failed to avoid an obstacle. Because the table
leg cross-bar is off the floor, the robot underestimated Image processing 5 ms
the distance to the bar. Controller 1 ms
Servos updating < 1ms
4.2 Discussion
Logging 3 ms
We found that adding more obstacles onto the arena Total 150 ms
did not increase the number of collisions significantly.
However the average speed of the robot dropped as
the arena became more crowded. The speed loss is
admitedly due to the robot’s reactive behaviour. The REFERENCES
robot does not do path planning therefore it can not
http://www.gumstix.org.
always select the best path. In some cluttered areas,
the robot spent a lot of time spinning around before it Braitenberg, V. (1984). Vehicles: Experiments in Synthetic
could find a viable path. We can improve the robot’s Psychology. MIT Press/Bradford books.
behaviour in these situations by having a mechanism Brooks, R. A. (1985). A robust layered control system for a
to detect cluttered and closed areas so the robot can mobile robot. Technical report, MIT, Cambridge, MA,
avoid them. USA.
Each control cycle takes about 150ms or 7Hz. Ta- Lenser, S. and Veloso, M. (2003). Visual sonar: fast ob-
ble II shows the time spent on each task in the cycle. stacle avoidance using monocular vision. In Intelli-
gent Robots and Systems, 2003. (IROS 2003). Pro-
The algorithm used only 15% of the CPU during op- ceedings. 2003 IEEE/RSJ International Conference
eration. This leaves plenty of resources for higher be- on, volume 1, pages 886–891.
haviours if needed. It is possible to implement this al-
Lorigo, L., Brooks, R., and Grimsou, W. (1997). Visually-
gorithm with a less powerful CPU. Since only 10% of guided obstacle avoidance in unstructured environ-
the CPU time is spent on processing data, a CPU run- ments. In Intelligent Robots and Systems, 1997. IROS
ning at 20 MHz would be sufficient. So instead of the ’97., Proceedings of the 1997 IEEE/RSJ International
Gumstix computer we can use a micro-controller such Conference on, volume 1, pages 373–379, Grenoble,
as a Brainstem or a BASIC STAMP for both image France.
processing and motion control without any loss in per- Ulrich, I. and Nourbakhsh, I. R. (2000). Appearance-based
formance. The memory usage is nearly one Mb which obstacle detection with monocular color vision. In
is rather big. We did not try to optimise memory us- AAAI/IAAI, pages 866–871.
age during implementation so improvements could be
made. We plan to implement this control algorithm
on a micro-controller instead of the Gumstix. This
change will reduce the cost and power usage of the
robot by a large amount. To the best of our knowl-
edge, there has not been a mobile robot that can per-
form reliable obstacle avoidance in unconstrained en-
vironments using such low resolution vision and slow
microprocessor.
279
A DISTRIBUTED MULTI-ROBOT SENSING SYSTEM USING AN
INFRARED LOCATION SYSTEM
Keywords: Distributed sensing, relative pose estimation, multi-robot system, formation control.
Abstract: Distributed sensing refers to measuring systems where, instead of one sensor, multiple sensors are spatially
distributed to improve the robustness of the system, increase the relevancy of the measurements and cut costs,
since smaller and less precise sensors are used. Spatially distributed sensors fuse their measurements into the
same co-ordinates, which requires the relative positions of the sensors. In this paper we present a distributed
multi-robot sensing system in which the relative poses (positions and orientations) of the robots are estimated
using an infrared location system. The relative positions are estimated using intensity and bearing measure-
ments of received infrared signals. The relative orientations are obtained by fusing the position estimates of
the robots. The location system enables a group of robots to perform distributed and co-operative environ-
ment sensing by maintaining a given formation while the group measures distributions of light and a magnetic
field, for example. In the experiments, a group of three robots moved and collected spatial information (i.e.
illuminance and compass headings) from the given environment. The information was stored on grid maps
that present illuminance and compass headings. The experiments demonstrated the feasibility of using the
distributed multi-robot sensing system in mobile sensing applications.
280
A DISTRIBUTED MULTI-ROBOT SENSING SYSTEM USING AN INFRARED LOCATION SYSTEM
281
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
The leader robot the cells with the smallest intensities are shadowed ar-
eas close to chairs, plants and walls.
Illuminance
500
400
100
Objective position
300
200 80
Y coordinate (cm)
er
et 100
60
0
400 400
300 300
200 200
Y coordinate (cm)
Y coordinate (cm)
100 100
0 0
−100 −100
−200 −200
−300 −300
−400 −400
−400−300−200−100 0 100 200 300 400 500 −400−300−200−100 0 100 200 300 400 500
X coordinate (cm) X coordinate (cm)
Fig. 4 presents a grid map of illuminance, where The experiments demonstrated distributed sens-
the highest intensity is depicted with white colour and ing in a group of robots to produce distributions of
the lowest intensity, for the cells not visited, with illuminance and a magnetic field. All the measure-
black colour. This gives spatial information about the ments were tied to the co-ordinates of the leading
distribution of light in the given environment. The robot. Since the ground truth positions were miss-
cells with the highest intensities are close to lights and ing, positioning errors in the global co-ordinates of
282
A DISTRIBUTED MULTI-ROBOT SENSING SYSTEM USING AN INFRARED LOCATION SYSTEM
the sensing robots were affected by the odometer er- on Robotics and Automation (ICRA-96), pages 2079 –
ror of the leading robot and the errors of the infrared 2084, Minneapolis.
location system. In addition, the grid size in the ex- Catterall, E., Laerhoven, K. V., and Strohbach, M. (2003).
periments was 1x1 metres, which gave only a coarse Self-organization in ad hoc sensor networks: an em-
picture of the true distributions. However, these pre- pirical study. In ICAL 2003: Proceedings of the eighth
liminary experiments demonstrated the feasibility of international conference on Artificial life, pages 260–
263, Cambridge, MA, USA. MIT Press.
using the infrared location system in distributed au-
tonomous sensing systems. Grabowski, R., Navarro-Serment, L., Paredis, C., and
Khosla, P. (2000). Heterogeneous teams of modu-
lar robots for mapping and exploration. Autonomous
Robots, 8(3):293–308.
4 CONCLUSION AND FUTURE Haverinen, J., Parpala, M., and Röning, J. (2005). A minia-
WORKS ture mobile robot with a color stereo camera system
for swarm robotics research. In IEEE International
Conference on Robotics and Automation (ICRA2005),
In this paper we presented a distributed multi-robot pages 2494–2497, Barcelona, Spain.
sensing system that uses an infrared location sys- Howard, A., Mataric, M., and Sukhatme, G. (2003). Putting
tem. The infrared location system estimates poses in the ’i’ in team: an ego-centric approach to cooperative
a multi-robot system, enabling the robots to maintain localization. In International Conference on Robotics
a given formation while sensing the environment. In and Automation.
addition, knowing their poses enables the robots to Kemppainen, A., Haverinen, J., and Röning, J. (2006). An
place their measurements on the same map. infrared location system for relative pose estimation
We conducted an experiment where a group of of robots. In 16-th CISM-IFToMM Syposium of Robot
three robots moved and measured spatial informa- Design, Dynamics, and Control (ROMANSY 2006),
pages 379–386, Warsaw, Poland.
tion in a right-angle triangular formation. Leader-
follower formation control used pose estimates and P Montesano, L., Gaspar, J., Santos-Victor, J., and Montano,
L. (2005). Fusing vision-based bearing measurements
controllers to control the rotational and translational
and motion to localize pairs of robots. In International
speeds of the following robots. In the experiments we Conference on Robotics and Automation.
measured spatial distributions of illuminance and a
Montesano, L., Montano, L., and Burgard, W. (2004). Rel-
magnetic field, which gave us information about shad- ative localization for pairs of robots based on uniden-
owing objects, metal structures and electric cables. In tifiable moving features. In International Conference
addition, since the information is spatially distributed, on Intelligent Robots and Systems.
it can be used in mapping and localization applica- Moors, M., Schneider, F. E., and Wildermuth, D. (2003).
tions. Relative position estimation in a group of robot. In
The main contribution of the research was the con- International Conference on Climbing and Walking
struction and validation of a distributed multi-robot Robots.
sensing system for mobile sensing applications. Fu- Pagello, E., D’Angelo, A., and Menegatti, E. (2006). Co-
ture research will focus on developing methods for operation issues and distributed sensing for multirobot
multi-robot exploration utilising spatial information. systems. Proceedings of the IEEE, 94(7):1370–1383.
Schneider, F. and Wildermuth, D. (2004). Using an ex-
tended kalman filter for relative localisation in a mov-
ing robot formation. In International Workshop on
ACKNOWLEDGEMENTS Robot Motion and Control.
Shoval, S. and Borenstein, J. (2001). Measuring the relative
The authors gratefully acknowledge the support of the position and orientation between two mobile robots
Academy of Finland. with binaural sonar. In International Topical Meeting
on Robotics and Remote Systems.
Spletzer, J., Das, A., Fierro, R., Taylor, C., Humar, V., and
Ostrowski, J. (2001). Cooperative localization and
REFERENCES control for multi-robot manipulation. In Conference
on Intelligent Robots and Systems.
Brooks, R. R. and Iyengar, S. S. (1998). Multi-sensor fu-
sion: fundamentals and applications with software. Sujan, V. A., Dubowsky, S., Huntsberger, T. L., Aghazar-
Prentice-Hall, Inc., Upper Saddle River, NJ, USA. ian, H., Cheng, Y., and Schenker, P. S. (2004). An
architecture for distributed environment sensing with
Cai, A., Fukuda, T., Arai, F., and Ishihara, H. (1996). Co- application to robotic cliff exploration. Auton. Robots,
operative path planning and navigation based on dis- 16(3):287–311.
tributed sensing. In IEEE International Conference
283
AUTOMATIC VISION-BASED MONITORING OF THE
SPACECRAFT ATV RENDEZVOUS / SEPARATIONS WITH THE
INTERNATIONAL SPACE STATION
A. I. Smirnov, K. U. Saigiraev
RSC ENERGIA, Korolev, Russia
{smirnov, cxy}@scsc.ru
Keywords: Algorithms of determining the motion parameters, space rendezvous / separations processes, accuracy, real
time vision system.
Abstract: The system which allows automating the visual monitoring of the spacecraft ATV rendezvous / separations
with the international space station is being considered. The initial data for this complex is the video signal
received from the TV-camera, mounted on the station board. The offered algorithms of this video signal
processing in real time allow restoring the basic characteristics of the spacecraft motion with respect to the
international space station. The results of the experiments with the described software and real and virtual
video data about the docking approach of the spacecraft with the International Space Station are being
presented. The accuracy of the estimation of the motion characteristics and perspectives of the use of the
package are being discussed.
284
AUTOMATIC VISION-BASED MONITORING OF THE SPACECRAFT ATV RENDEZVOUS / SEPARATIONS
WITH THE INTERNATIONAL SPACE STATION
The system for ATV has a number of differences 4) Performing the measurements of the sizes and
from the system used for “Progress”. First of all, this coordinates of the recognized objects.
various arrangement of the TV-camera and special All the listed above operations should be
target for the monitoring of rendezvous / separations performed in real time. The real time scale is
processes. In the ATV case the TV-camera settles determined by the television signal frame rate. The
down on ISS, and by the transport vehicle the other significant requirement is that in the
special targets (basic and reserve) are established. considered software complex it is necessary to
Besides that is very important for visual system, the perform updating of the spacecraft motion
images of objects for tracking in a field of view have parameters with a frequency of no less than 1 time
changed. per second.
In view of operation experience on system For reliability growth of the objects of interest
Progress - ISS, in system ATV - ISS essential the extraction from the images of the following
changes to the interface of the control panel (see features are provided:
Part 4) were made. - Automatic adjustments of the brightness and
The main stages of the visual data acquisition contrast of the received images for the optimal
and processing in the complex are realized mostly in objects of interest recognition.
the same way as the actions performed by an - Use of the objects of interest features of the
operator. several types. Such features duplication (or even
In the presented field of vision: triplication) raises reliability of the image processing
1. An object of observation is marked out when not all features are well visible (in the task 3).
(depending on the range of observation, it can be the - Self-checking of the image processing results
vehicle as a whole or a docking assembly or a on a basis of the a priori information about the
special target); observed scenes structure (in the tasks 1-4).
2. Specific features of an object under The ways of performing the calculation of the
observation defined the patterns of which are well ROI position on the current image are (the task 1):
recognizable in the picture (measuring subsystem). 1a) Calculation of the ROI coordinates (figure 1)
3. Based on the data received: on the basis of the external information (for
The position of these elements relative to the example, with taking into account a scene structure
image coordinate system is defined; or by the operator selection).
Parameters characterizing the vehicle and station 1b) Calculation of the ROI coordinates and sizes
relative position and motion are calculated on the basis of the information received from the
(calculation subsystem). previous images processing.
In addition to operator actions, the complex
calculates and displays the parameters characterizing
the approach/departure process in a suitable for
analysis form.
This research work was partially financed by the
grants of the RFBR ## 05-01-00885, 06-08-01151.
2 MEASURING SUBSYSTEM
The purpose of this subsystem is the extraction of
the objects of interest from the images and
performance of measurements of the points’ a)
coordinates and sizes of these objects. To achieve
this purpose it is necessary to solve four tasks:
1) Extraction of the region of interest (ROI)
position on the current image.
2) Preprocessing of the visual data inside the
ROI. b)
3) Extraction (recognition) of the objects of Figure 1: An example of identification of a region of
interest. interest in the TV camera field of view (1.а) way): а) –
total field of view, b) – a region of interest.
285
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
The second (preprocessing) task is solved on the of labels and of radius of a target (figure 3) is
basis of the histogram analysis. This histogram performed. After that the detection of a cross of a
describes a brightness distribution inside the ROI. target is performed.
The brightness histogram should allow the reliable
transition to the binary image. In the considered task
the brightness histogram is approximately bimodal.
The desired histogram shape is provided by the
automatic brightness and contrast control of the
image source device. a) b) c)
Figure 3: An example of allocation of an image of a target
on the basis of the coarse coordinates of a target plate and
a priory of the information on an arrangement of labels of
a target. а) - definition of area of interest on a basis a
priory of the information and found coarse location of the
plate; b) area of interest for search of labels of a target; c) -
result of allocation of labels of a target.
286
AUTOMATIC VISION-BASED MONITORING OF THE SPACECRAFT ATV RENDEZVOUS / SEPARATIONS
WITH THE INTERNATIONAL SPACE STATION
287
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
our consideration.
Ψ1 ( z ) = ∑ Ak ,
k =1
288
AUTOMATIC VISION-BASED MONITORING OF THE SPACECRAFT ATV RENDEZVOUS / SEPARATIONS
WITH THE INTERNATIONAL SPACE STATION
⎡ ⎤
2 Ψ2 [z ( 2 ) ] ,
f bd ( k ) σ2 =
Ak = w1 ⎢ X C( k ) − X O( k ) + ( k ) ( k1) ⎥ + 3( K 2 − K1 ) − 6
⎢⎣ d 3 [d 3 − b] ⎥⎦
2 2 where B2 is the matrix of the system of the normal
⎡ f bd ( k ) ⎤ ⎡ fr ⎤
w2 ⎢YC( k ) − YO( k ) − ( k ) ( k2) ⎥ + w3 ⎢ R ( k ) − ( k ) ⎥ equations, which arise at minimization of Ψ2 ,
⎢⎣ d 3 [d 3 − b] ⎥⎦ ⎢⎣ d 3 ⎥⎦
calculated at the point z ( 2 ) .
(k )
Here d i = d i (t k ) , z = ( z1 , z 2 ,…, z 6 ) T is a (k )
At the second stage, the quantities α1 and
vector of the coefficients, which specify the
α 2( k ) (see above) are calculated and the estimation
functions d i (t ) , wi , is positive numbers (weights).
The minimization is carried out by Gauss -Newton of the coefficients v (j2 ) are found. The estimation
method (Bard, 1974). The estimation z (1) of z and v ( 2 ) provides the minimum to the quadratic form
the covariance matrix P1 of this estimation are 2
] + ∑ [α ]
K2
F2 (v ) = q′ [ ] [ (k )
defined by the formulas T
v − v (1) Q1 v − v (1) 1 − v1 − v2tk
.
[
z (1) = z1(1) , z 2(1) , … , z 6(1) ] T
= arg min Ψ1 ( z ) ,
k = K1 +1
289
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
The angle α is called a passive pitch angle, the motion. Figure 5 contains the plots of the functions
angle β is a passive yaw angle. If docking is close ρ (t ) , u(t ) , α (t ) and β (t ) and ϕi (t ) (i = 1, 2, 3) .
to ideal (considered case), then | d 1 | << d 3 , On ρ (t ) and u(t ) plots the scale on a vertical axis
| d 2 | << d 3 and α = d 2 / d3 , β = d1 / d 3 . differs on 2 order.
ρ (m), u (m/s)
The angle ϕ 1 is called an active pitch angle, ϕ 2
is an active yaw angle, ϕ 3 is an active roll angle.
We remind these angles have small absolute values.
Characteristics of accuracy of the motion
parameter estimations are calculated within the
framework of the least squares method. For
example, we defined above the covariance matrix
Pn of the estimation z ( n ) . In terms of this matrix
the covariance matrix C w (t ) of the vector w(t ) =
(z1 + z 2 t, z 2 , z 3 + z 4 t, z 4 ,…, v5 + v6 t, v 6 ) T ∈ R12 is t (s)
calculated by formulas α , β (deg.)
T
∂w ⎛ ∂w ⎞ , ∂w 1 t .
Cw = Pn ⎜ ⎟ = diag (U, U, U) , U =
∂z ⎝ ∂z ⎠ ∂z 0 0
These formulas concern to the motion which was
found by processing the n -th of a portion of the
data.
Knowing C w (t ) , it is possible to calculate the
standard deviations σ ρ (t ) , σ u (t ) , σ α (t ) and
σ β (t ) of the quantities ρ (t ) , u(t ) , α (t ) and β (t ) .
The standard deviation σ ρ (t ) has the form t (s)
T T ϕ 1 , ϕ 2 , ϕ 3 (deg.)
∂ρ ⎛ ∂ρ ⎞ , ∂ρ ⎛ d 1 d d ⎞
σρ = Cw ⎜ ⎟ = ⎜⎜ , 0, 2 , 0, 3 ⎟⎟ .
∂w ⎝ ∂w ⎠ ∂w ⎝ ρ ρ ρ ⎠
The similar formulas define the others standard
deviations. The values of ρ , σ ρ , u , σ u , etc.,
referring to the last instant of the processed data
portion, are written on the computer display.
4 EXAMPLES
The experiments with the described complex were
carried out on various samples of the initial data.
The adjustment of system on the images of the
transport ship ATV was carried out on photos of a
breadboard model of the ship in a hangar and on
rendered samples of the 3D ship model trajectories. t (s)
Other initial data were real video received from a Figure 5: Results of the determination of the spacecraft
board of the ship "Progress". These data were used motion in docking approach.
for an estimation of reliability and correctness of the
detection of real objects, and also for the verification Figure 6 presents the plots of the standard
of algorithms of relative movement parameters deviations σ ρ (t ) , σ u (t ) , σ α (t ) , σ β (t ) . The values
calculation. of all these functions were calculated at the last
Figures 5, 6 give examples of the operation of instants of processed data portions. These values
the described algorithm estimating the spacecraft
290
AUTOMATIC VISION-BASED MONITORING OF THE SPACECRAFT ATV RENDEZVOUS / SEPARATIONS
WITH THE INTERNATIONAL SPACE STATION
were shown by marks. Each portion contained 10 processing is much more complicated than the
instants with measurements: K n − K n−1 = 10 . For organizational point of view and more expensive
clearness, the markers were connected by segments than processing the video image. It is necessary to
of straight lines, therefore presented plots are broken note, that the estimation of kinematical parameters
lines. Only the vertexes of these broken lines are of the moving objects on the video signal, becomes
significant. Their links are only interpolation, which now the most accessible and universal instrument of
is used for visualization and not always exact. As it solving such kind of problems in situations, when
is shown in figure 6, the spacecraft motion on the the price of a failure is rather insignificant.
final stage of docking was defined rather accurately.
Figure 7 shows an example of the basic screen of
the main program of a complex.
σρ (m), σ u (m/s)
t (s) REFERENCES
σ α , σ β (deg.)
Boguslavsky A.A., Sazonov V.V., Smirnov A.I., Sokolov
S.M., Saigiraev K.S., 2004. Automatic Vision-based
Monitoring of the Spacecraft Docking Approach with
the International Space Station. In Proc. of the First
International Conference on Informatics in Control,
Automation and Robotics (ICINCO 2004), Setúbal,
Portugal, August 25-28, 2004, Vol. 2, p.79-86.
Chi-Chang, H.J., McClamroch, N.H., 1993. Automatic
spacecraft docking using computer vision-based
guidance and control techniques. In Journal of
Guidance, Control, and Dynamics, vol.16, no.2:
t (s) pp. 281-288.
Figure 6: Accuracy estimations for the motion presented Casonato, G., Palmerini, G.B., 2004. Visual techniques
on Figure 5. applied to the ATV/ISS rendezvous monitoring. In
Proc. of the IEEE Aerospace Conference, vol. 1,
pp. 619-625.
Canny, J. 1986. A computational approach to edge
5 CONCLUSION detection. In IEEE Trans. Pattern Anal. and Machine
Intelligence, 8(6): pp. 679-698.
Mikolajczyk, K., Zisserman, A., Schmid, C., 2003. Shape
The described complex is being prepared for the use
recognition with edge-based features. In Proc. of the
as a means allowing the ground operators to receive 14th British Machine Vision Conference
the information on the motion parameters of the (BMVC’2003), BMVA Press.
spacecraft docking to ISS in real time. Sonka, M., Hlavac, V., Boyle, R. 1999. Image Processing,
The most essential part of this information is Analysis and Machine Vision. MA: PWS-Kent.
transferred to the Earth (and was always transferred) Bard, Y., 1974. Nonlinear parameter estimation.
on the telemetering channel. It is also displayed on Academic Press, New York.
the monitor. However this so-called regular Seber, G.A.F., 1977. Linear regression analysis. John
information concerns the current moment and Wiley and Sons, New York.
without an additional processing can’t give a
complete picture of the process. Such an additional
291
NEW APPROACH TO GET AUTONOMOUS AND FAST ROBOT
LEARNING PROCESSES
Keywords: Reinforcement learning, mobile robotics, robot control, autonomous agents, genetic algorithms.
Abstract: Research on robot techniques that are fast, user-friendly, and require little application-specific knowledge
by the user, is more and more encouraged in a society where the demand of home-care or domestic-service
robots is increasing continuously. In this context we propose a methodology which is able to achieve fast
convergences towards good robot-control policies, and reduce the random explorations the robot needs to
carry out in order to find the solutions. The performance of our approach is due to the mutual influence
that three different elements exert on each other: reinforcement learning, genetic algorithms, and a dynamic
representation of the environment around the robot.
The performance of our proposal is shown through its application to solve two common tasks in mobile
robotics.
292
NEW APPROACH TO GET AUTONOMOUS AND FAST ROBOT LEARNING PROCESSES
Figure 1: Schematic representation of our approach. Initially the robot moves using the greedy control policy until it finds a
situation it doesn’t know how to solve (a), a genetic algorithm is applied to find a solution (b), once the problem is solved the
greedy policy is applied again (c).
2 OUR APPROACH
To solve part of the drawbacks just mentioned, we
propose a learning strategy which combines three el-
ements: reinforcement learning (RL), a genetic algo-
rithm (GA), and a dynamic representation of the en-
vironment around the robot (states). Basically, when
our approach is applied the robot goes through three
cyclical and clearly differentiated stages –figure 2–:
a) looking for a new starting position or convergence.
b) exploration, and c) generation of a new population
of solutions (chromosomes) for the next exploration
stage.
293
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
to carry out at each state, s: π(s). The population contains the probability of finding the robot in each
of chromosomes is evaluated according to an objec- possible state in the long-term.
tive function called fitness function, which reflects for
how long a chromosome is able to properly control
the movement of the robot – figure 1.b –. Once a
population of chromosomes has been evaluated, the 3 EXPERIMENTAL RESULTS
sequence of states, actions, and rewards the robot re-
ceived under the control of the best chromosome, is We applied our approach to teach a mobile robot two
replicated off-line several times to speed up the con- common tasks: “wall following” and “door traver-
vergence of the Q-values. sal”. We have used a Nomad200 robot equipped with
16 ultrasound sensors encircling its upper part and
2.3 Generation of a New Population of bumpers. In all the experiments the linear velocity
of the robot was kept constant (15.24 cm/s), and the
Solutions (Chromosomes) robot received the commands it had to execute every
300ms.
The population of chromosomes has to be evolved We used a set of two layered Kohonen networks to
according to the fitness values. In order to do this, translate the large number of different situations that
certain genetic operators like mutation –which carries the ultrasound sensors located on the front and right
out random changes in the chromosomes–, or chro- side of the robot may detect, into a finite set of 220
mosome crossover –which combines chromosomes to neurones – states – (R. Iglesias and Barro, 1998).
raise new solutions– have to be applied. We use the
Q-values to bias the genetic operators and thus reduce
the number of chromosomes which are required to 3.1 Wall Following
find a solution. Given a particular chromosome π, the
probability that mutation changes the action that this To teach the robot how to follow a wall located on
chromosome suggests for a particular state s: π(s), its right at a certain distance interval, we used a rein-
depends on how many actions look better or worse forcement signal that is negative whenever the robot
than π(s) according to the Q-values. goes too far or too close from the wall being followed.
On the other hand, one of the chromosomes The robot was taught how to perform the task in a sim-
should always be the greedy policy because it brings ulated training environment, but its performance was
together all that has been already learnt by the robot, tested in a different one. Convergence was detected
and it represents the best chance to have a fast conver- when the greedy policy was able to properly control
gence towards the desired solution. the movement of the robot for an interval of 10 min-
Finally, when the robot is looking for a new start- utes.
ing position and the greedy policy is being used to
control it, if the robot moves properly during M steps
before it receives negative reinforcements, only the
states involved in the last K robot’s movements are
susceptible of being changed through the GA, while
the states involved in the initial M-K actions are la-
belled as learnt, so that neither chromosome selection
nor chromosome crossover can alter them.
The population of chromosomes is resized after
its evaluation according to how close the GA is to the
desired solution.
We use the properties of the regular Markov chains Figure 3: Real robot’s trajectory along a corridor when a
(Bertsekas and Tsitsiklis, 1996) to reduce the num- control policy learnt through our approach was used. For
ber of states which are considered during the learn- a clear view of the trajectory, figure a) shows the robot’s
ing process. The transition matrix and what is called movement in one direction and b) shows the movement
steady vector are estimated, so that only those states along the opposite direction. Points 1 and 2 in both graphs
correspond to the same robot position. The small dots rep-
with a non-cero entry in the steady vector are con- resent the ultrasound readings.
sidered in the learning procedure. The steady vector
294
NEW APPROACH TO GET AUTONOMOUS AND FAST ROBOT LEARNING PROCESSES
295
OBSERVER BASED OPTIMAL CONTROL OF SHIP ELECTRIC
PROPULSION SYSTEM
Samir Nejim1
1
Académie Navale Menzel Bourguiba, BP 7050 ,1, 2 Ecole Polytechnique de Tunisie
BP. 743 2078 La Marsa, Tunisie
nejim.samir @planet.tn
Abstract: This paper describes the synthesis of a linear state observer based optimal control of ship electric propulsion
using permanent magnet synchronous motor. The proposed approach is used for the ship speed control by
measuring the stator current and the motor speed. This strategy of control is made possible by using a ship
speed state observer. A numerical simulation study, applied to the global system, has confirmed the
efficiency and the good performances of the proposed control law.
1 INTRODUCTION
The characterization of industrial processes leads, in 2 MODELISATION OF THE
most cases, to nonlinear models which are generally ELECTRIC PROPULSION
difficult to control. The study of such processes was
generally used by a linearization leading to a linear SYSTEM
model on which the linear arsenal of controls can be
applied. These different control laws use often a
state feedback. However the state vector is not 2.1 Different Parts of the Ship Electric
always measurable, so it is necessary to use state Propulsion System
observers.
The work presented in this paper concerns the An electric ship is generally composed by two
modelisation of a ship electric propulsion system. principal parts ( Dallagi and Nejim, 2004 ).
The obtained global model is strongly nonlinear, - a first part ensuring the energy production using
coupled and presenting non measurable variables. several alternators drived either by diesel motors, or
Indeed, a linearization was firstly elaborated and the by gas turbines. It feeds the board network and the
synthesis of a control law with state feedback, for propulsion equipment.
the regulation of the stator current and the ship speed - a second part of electric propulsion composed by
of the synchronous motor, was secondly designed. one or two electric motors, each one of them driving
This control strategy is carried out using a linear a fixed blade propeller.
state observer allowing the ship speed
reconstruction.
This paper is organized as follows: the modeling of
2.2 Modelling of the Permanent
the different subsystems of the ship is developed in Magnet Synchronous Motor
the section 2. The linearization model of the global
system is elaborated in section 3. Section 4 is By the Park transformation, the voltage equations of
devoted to the optimal control development based on the permanent magnet synchronous motor are
state observer and in section 5 simulation resultats
written as follows (Grellet and Clerc, 2000):
are reported and discussed. Finally some conclusions
ended this work.
296
OBSERVER BASED OPTIMAL CONTROL OF SHIP ELECTRIC PROPULSION SYSTEM
presented in the figure 1 ( Dallagi and Nejim, 2006). Figure 2: Advance total resistance.
Text
v
2.4 Equations of the Propeller
Rt Hull
Motor
The model of propeller thrust can be written as
Propeller
T follows (Fosen and Blanke, 2000 ).( Guo, Zheng,
Wang and Shen, 2005):
Figure 1: Ship movement. T
KT = (6)
ρ N 2 D4
The advance total resistance to is given by:
with T the propeller thrust given by:
Rt = R f + R w + R app + R air (4)
T = ρ n 2 D4 KT
with: (7)
297
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
with Qprop the propeller torque given by: The global model of the ship electric propulsion
(9) using synchronous motor is represented by the
Q prop = ρ n 2 D 5 K Q following system.
Vd
id iq
Control MS Text
Reference And model n T Ship ys
1-t Tu Movement
Regulation Propeller Qprop
Vq
n Qprop va Advance resistance
R
Va 1-w
v̂
298
OBSERVER BASED OPTIMAL CONTROL OF SHIP ELECTRIC PROPULSION SYSTEM
⎡ 0 0 ⎤
⎢ 0
⎢ 1 0 ⎥⎥ . K is control gain matrix defined by:
0 ⎥ , C = ⎡⎢
1 0 0 0⎤ K = R −1 B T P (21)
B=⎢ ⎥
⎢ Ld ⎥
⎢
⎢ 0
1 ⎥
⎥
⎣0 0 0 1⎦
. F is reference gain matrix given by:
⎢⎣ Lq ⎥⎦ F = R −1 B T ( AT − PBR −1 B T ) −1 PC T Q (22)
with:
a iq = 2 Π p Φ f + p ( L d − L q ) i d 0 with P the solution of the following Riccati
equation:
a v = − ρ 2ΠD 4 s 2 ( 1 − w0 ) n0 (23)
A T P + PA − PBR −1 B T P + C T QC = 0
a id = p( L d − L q )i d 0
an = −2s1 ρ D5n0 − s2 ρ 2ΠD4( 1 − w0 )v0 + p(Ld − Lq ) id0 4.2 The Ship Speed State Observer
To design the sate feedback optimal control law, it is
bn = 2a1ρ D4( 2Π )2( 1− t0 ) n0 +( 1−t0 )2Π ( 1− w0 ) a2ρ D3v0 necessary to reconstruct the ship speed v in order to
be controlled. For this purpose, we propose a linear
bv = −2 av0 + a 2 ρD 3 ( 1 − t0 )2Π ( 1 − w0 )n0 state observer using the output vector
y s = [i d n] and the vector u = u d u q . [ ]
299
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
300
OBSERVER BASED OPTIMAL CONTROL OF SHIP ELECTRIC PROPULSION SYSTEM
6 CONCLUSIONS
In this paper we have proposed an optimal control
law using a Luenberger sate observer to control the
ship speed.
The designed observer is used to reconstruct the
ship speed in order to complete the control strategy.
It has been shown from the simulated results that the
proposed estimated state feedback optimal control
permits the regulation of the ship speed which
Figure 6: Ship Speed. converges exactly to the imposed reference.
REFERENCES
Dallagi, H., Nejim, S., 2004. Modélisation et simulation
d’un système de propulsion diesel-électrique de
Navire. In 3ème Conférence Internationale, JTEA,
Tunisie.
Grellet,Guy., Clerc, Guy., 2000. Actionneurs Electriques,
principe modèle et commande. In Editions Eyrolles.
Dallagi, H,. Nejim, S., 2006. Conception d’un programme
de prédiction et d’estimation de la puissance
Figure 7: Motor Speed. propulsive des navires à propulsion électrique. In 4ème
Conférence Internationale, JTEA, Tunisie.
Izadi-Zamanabadi, R, Blanke, M., Katebi, S.2001. Cheap
diagnostisis using structural modelling and fuzzy-logic
based detection.
Fosen, T.I Blanke, M. 2000. Nonlinear output feedback
control of underwater vehicle propellers usingfeedbak
from estimated axial flow velocity. In IEEE journal of
oceanic engineering, vol 25, no2
Guo Y, Zheng, Y Wang B Shen A. 2005. Design of ship
electric propulsion simulation system. In Proceeding
of the fourth international conference on machine
learning and cybernetics. Guangzhou.
Devauchell, P., 1986 “Dynamique du Navire. In Masson,
Figure 8: Current id. Paris.
Toscano, R,. 2005. Commande et diagnostic des système
dynamique,. In Elipses Edition , Paris.
Corriou J.P,. 1996. Commande des procédés. In
Techniques et documentations, Paris.
Rachid, A,. Mehdi, D,. 1997. Réalisation réduction et
commande des systèmes linéaire. In édition technip
Paris.
Stoorvogel , A.A., Saberi, A., Chen, B.M., 1994. A
Reduced order observer base control design for
optimization. In IEEE transaction automatic
Mieczarski.,W., 1988. Very fast linear and nonlinear
observer. In int. J. control.
Dallagi, H., Nejim,S., 2005. Modélisation and Simulation
of an Electric Drive for a Two Propeller Ship. In 17ème
Figure 9: Current iq. Congrès Mondial IMACS, Calcul Scientifique,
Mathématiques Appliquées et Simulation, Paris,
France.
Doutreleau, Y., Codier ,.S. 2001. Les problèmes des
navires à grande vitesse. In J.T .
Snitchler G., Gambe B.B., Kalsi S., Ige, S.O. 2006. The
stats of HTS ship propulsion motor developments. In
IEEE Transaction on applied superconductivity.
301
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
302
A NOVEL BLOCK MOTION ESTIMATION MODEL FOR VIDEO
STABILIZATION APPLICATIONS
Keywords: Video stabilization, motion compensation, motion estimation, genetic algorithms, kalman filtering.
Abstract: Video stabilization algorithms primarily aim at generating stabilized image sequences by removing unwanted
shake due to small camera movements. It is important to perform video stabilization in order to assure more
effective high level video analysis. In this paper, we propose novel motion correction schemes based on
probabilistic filters in the context of block matching motion estimation for efficient video stabilization. We
present a detailed overview of the model and compare our model against other block matching schemes on
several real-time and synthetic data sets.
303
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
described in the subsection below, Note: Every 2.1.1 Block Partitioning Based on Vector
block represents an image region Quantization
• For every block b
For the block partitioning phase, we start by using
– The centroid (xc , yc ) of the block is computed vector quantization to provide the block matching
– A genetic algorithm as described below is used scheme with the position of partitioning.
to accurately match the block in the successive
frame ft+1 • Set the number of codewords, or size of the code-
– If the genetic algorithm accurately matched the book to 4. This assumes that we need 4 regions to
block in frame ft to frame ft+1 (with error emerge out of the image frame during the quanti-
= 0), then the motion vector is evaluated as zation process.
(x∗ − x, y ∗ − y) where (x∗ , y ∗ ) is the estimated • Initialize the positions of the codewords to
transformed centroid of the block in frame ft+1 ( w4 , h4 ), ( w4 , 3h 3w 3h 3w 3h
4 ), ( 4 , 4 ), ( 4 , 4 ) where (w, h)
– If the genetic algorithm returned non-zero is the width and height of the block respectively.
matching error then the process is repeated by By this we assume that the worst case partition
further sub dividing block. could be the quad-tree partition.
• The process is terminated either when no further • Determine the distance of every pixel from the
splitting is needed or a predefined block size is codewords using a specific criterion. The distance
reached. measure is the sum of differences in the gray in-
• If the processed frame pair is (ft , ft+1 ) where t = tensity and the locations of the pixels.
1, then proceed to next frame pair, otherwise if • Group pixels that have the least distance to their
t > 1, then run motion correction using any of the respective codewords.
proposed filter mechanisms specified to generate • Iterate the process again by recomputing the code-
smoothed motion vectors M Vℵ word as the average of each codeword group
• Compute the difference between the original mo- (class). If m is the number of vectors in each class
tion vectors M V and the smoothed motion vec- then,
tors M Vℵ adjust the original motion vectors by m
1 X
the factor of difference M Vcomp = M V ±(M V − CW = xj (2)
m j=1
M Vℵ )
• Generate Stabilized frames using the original mo- • Repeat until either the codewords don’t change or
tion vector M V and compensated motion vectors the change in the codewords is small
∗ ∗comp
M Vcomp and represent them as ft+1 and ft+1 • Associated with these 4 codewords, there are 4
• Deduce the PSNR of the two versions of stabi- configurations possible for partitioning the image
lized frames using, PSNR for a gray scale image frame into blocks. The configurations arise if we
is defined as: assume one square block per configuration. It is
" #
2552 logical thereafter to find the best configuration as
10 log10 1
P P 2 the center of mass of these 4 possible configura-
HW H W kft+1 − fcomp k tions. The center of mass will now be the partition
(1) that splits the image frame into blocks.
where, (H, W ) is the dimensionality of the frames
and ft+1 and fc omp are the intensity components 2.1.2 Genetic Algorithm Search
of the original target and the motion compensated
∗ ∗comp
images which will equal ft+1 and ft+1 re- The inputs to the genetic algorithm are the block bt
spectively. PSNR values generally range between and the centroid (xc , yc ) of the block.
20dB and 40dB; higher values of PSNR indicate
better quality of motion estimation. • Population Initialization: A population P of these
∗comp
n chromosomes representing (Tx , Ty , θ) is gener-
• If P SN Rcomp ≥ P SN R then use ft+1 as sta- ated from uniformly distributed random numbers
bilized frame for subsequent analysis otherwise where,
∗
use ft+1 .
– 1 ≤ n ≤ limit and limit (100) is the maxi-
2.1 Motion Estimation mum size of the population that is user defined.
• To evaluate the fitness E(n) for every chromo-
A brief description of the algorithms is specified. some n:
304
A NOVEL BLOCK MOTION ESTIMATION MODEL FOR VIDEO STABILIZATION APPLICATIONS
– Extract the pixels locations corresponding to where, 1 ≤ i ≤ J (Use these weighting factors as
the block from frame ft using the centroid a kernel for the convolution process)
(xc , yc ) and block size information • Generate a vector of the motion vectors and rota-
– Affine Transforming these pixels using the tion parameter theta across all frames; M V and
translation parameters (Tx , Ty ) and rotation an- θ
gle
2
θ 3using,
2 32 32 3
x′ cosθ −sinθ 0 1 0 Tx x • Perform Convolution to generate the smoothed
4 5=4 54 54 5
y′
1
sinθ
0
cosθ
0
0
1
0
0
1
0
Ty
1
y
1
motion vectors, M Vℵ = M V ⊗w and θℵ = θ⊗w
– If bt represents the original block under consid-
2.2.2 Kalman Filter
eration, b∗t+1 represents the block identified at
the destination frame after transformation and
A 2D Kalman filter can be used to predict motion vec-
(h, w) the dimensions of the block, then the fit-
tor of successive frames given the observation or mo-
ness E can be measured as the mean absolute
tion vectors of the previous frames. An algorithm de-
difference (MAD).
scribing the smoothing process is listed below.
h w
1 X X • Initialize the state of the system using
M AD = bt (i, j) − b∗t+1 (i, j)
hw i=1 j=1 (x, y, dx, dy), where (x, y) is the observa-
(3) tion (i.e. the centroid of the block) and (dx, dy) is
the displacement of the centroids. The values of
• Optimization: Determine the chromosome with state can be initialized using the motion estimates
minimum error nemin = n where E is mini- between the first successive frame pair.
mum. As this represents a pixel in the block,
• The state of the system S at time instant t + 1 and
determine all the neighbors (N Hk ) of the pixel,
the observation M at time t can be modeled using
where 1 ≤ k ≤ 8.
– For all k, determine the error of matching as in S(t + 1) = AS(t) + N oise(Q) (4)
Fitness evaluation. M (t) = S(t) + N oise(R) (5)
– If E(N Hk ) < E(nemin ), then nemin = N Hk
• Initialize A and noises Q, R as Gaussian.
• Selection: Define selection probabilities to select
• Perform the predict and update steps of standard
chromosomes for mutation or cloning. Perform
Kalman filter
cross-over and mutation operations by swapping
random genes and using uniform random values. – Initialize state at time instant t0 using
−1
S
0 = B M0 and error covariance U0 =
• Termination: Three termination criterion such as
∈ 0
zero error, maximum generations and stall gener-
0 ∈
ations. Check if any condition is satisfied, other-
wise iterate until termination. – Iterate between the predict and update steps
– Predict: Estimate the state at time instant t + 1
2.2 Motion Smoothing using Sk− = ASk−1 and measure the predicted
error covariance as Uk− = AUk−1 AT + Q
The work of (T.Chen, 2000) suggested the use of a – Update: Update the correct, state of the system
moving average low pass filter for this process. In Sk = Sk− + K(Mk − BSk− ) and error covari-
this paper, we extend the moving average filter to an ance as Uk = (I − KB)U −
exponentially weighted moving average filter. – Compute K, the Kalman gain using K =
Uk− B T (BUk− B T + R)−1
2.2.1 Exponentially Weighted Moving Average
Filter • Smooth the estimates of the Kalman filter and
present the smoothed outcomes as M Vℵ
A detailed pseudo code describing the process is as
follows.
• Set the number of frame pairs across which the 3 RESULTS AND DISCUSSION
moving average filter to be any scalar J
Here, in this section, we present some sample results
• Compute the parameter alpha ∝ = (1 ÷ J) of the stabilization task on wildlife videos taken at
• Compute the weighting factors for every frame a zoological park. Performance of the video stabi-
pair between 1 and J as w =∝i−1 ×(1− ∝), lization scheme can only be visually evaluated. We
305
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Baseline Model
lized version of the base model. The motion correc- Proposed Model
306
THE PROTOTYPE OF HUMAN – ROBOT INTERACTIVE VOICE
CONTROL SYSTEM
Miroslav Holada, Igor Kopetschke, Pavel Pirkl, Martin Pelc, Lukáš Matela, Jiří Horčička
and Jakub Štilec
Faculty of Mechatronics and Interdisciplinary Engineering Studies, Technical University of Liberec
Hálkova 6, Liberec, Czech Republic
{miroslav.holada, igor.kopetschke, pavel.pirkl, martin.pelc, lukas.matela, jiri.horcicka, jakub.stilec}@tul.cz
Abstract: This contribution shows our recent activities of human – robot voice-control system. The keynote lays in
design of a system that allows easy control and programming of various robots by a uniform interactive
interface. Generally the robots are actuated by sets of control commands, sometimes by a manual control
interface (touchpad, joystick). The operator has to know the control commands, syntax rules and other
properties necessary for successful robot control. Our system offers commands like “move left” or “elevate
arm” that are translated and sent into the corresponding device (robot). Speech recognition is based on an
isolated-word HMM engine with distributed recognition system (DSR). The vocabulary may contain
thousands of word and short phrases. It allows us to design an easy dialogue scenario for the robot control
system. The system allows direct robot control like moving or programming short sequences. A video
camera is included for displaying the working place and employed algorithms of image processing allow the
system to detect the position of objects in the working area and facilitate robot’s navigation.
307
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
bounding rectangle etc. Such data allows smooth compensate geometric distortions introduced by a
object manipulation and serves as a base for object camera lens.
collision avoidance along the manipulation
trajectory.
The scene manager also combines unprocessed
camera image with scene data to highlight detected
objects and to present them to the user via a GUI as
shown in figure 2. The user has a view of the
computer's scene understanding and may correctly
designate objects of interest in his or her commands.
Being in its early stages, the project currently Figure 2: Working scene with highlighted objects of
works only with 2D data and relies on the user's z- circular shape and robot’s coordinate system.
axis navigation aid. The system is expected to
incorporate a second camera and 3D computer Digital image processing methods are placed in a
vision in the future to become fully 3D aware. DIP library which is served by the scene manager
with the object database. Figure 2 shows the circular
2.2 Image Recognition object detection using the reliable Hough transform
(HT). HT is commonly used for line or circle
The robot’s working area is captured by a colour detection but could be extended to identify positions
high-resolution digital camera (AVT Marlin F-146C, of arbitrary parametrizable shapes. Such edge-based
1/2’’ CCD sensor). The camera is placed directly object detection is not too sensitive to imperfect
above the scene in a fixed position. We implemented input data or noise. Using a touch-display or verbal
a simple interactive method to synchronize the commands it is possible to focus the robot onto a
robot’s coordinate system (XY) and the camera’s chosen object (differentiated by its color or
one using pixel units. We prepare modifications to numbering) and than tell the robot what to do.
308
THE PROTOTYPE OF HUMAN – ROBOT INTERACTIVE VOICE CONTROL SYSTEM
309
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
310
DEVELOPMENT OF AN AUTOMATED DEVICE
FOR SORTING SEEDS
Application on Sunflower Seeds
Keywords: Machine vision, computer vision, seed identification, grain quality, seed quality, embedded systems.
Abstract: Purity analysis and determination of other seeds by number are still made manually. It is a repetitive task based
upon visual analysis. Our work objective is to create and use a simple and quick automated system to do this
task. A first step of this machine has been reached by validating the image acquisition and feeding process.
The principle of this machine is based on a seeds fall with stroboscopic effect image acquisition. This article
presents the first step of creating a dedicated and autonomous machine which combines embedded constraints
and real time processes.
311
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
312
DEVELOPMENT OF AN AUTOMATED DEVICE FOR SORTING SEEDS - Application on Sunflower Seeds
2.1.3 Interpolation
Figure 6: Bilinear Interpolation
The interpolation is a demosaicing phases for mono- .
CCD sensors. There are two methods to obtain im-
ages in three channels. The first method, is to reduce
image size by calculating the average of green chan-
nel (1) and leave the red and blue channel as repre-
sented in the figure 5. The second is to use interpola-
tion methods that can maintain sensor size.
313
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
very well this process, so the conversion in the YCbCr 8 and the equation. It is the type of decision algo-
(equation 6) space can be possible and is the best to rithm easily parallelisable, where each class are inde-
perform this process. The choice of this space has pendent of its neighbours. These methods and algo-
been made for the following reasons: rithm has been associated to the Mahalanobis distance
1. It is a matrix based conversion (equation 7) in order to increase the distance between
classes. The x vector is the unknown seed to be clas-
2. It is a reversible transformation (linear transfor- sified. The µ vector is the mean value of a labelled
mation) group features. The Σ value is the covariance matrix
3. The distance between seed and background is for multivariate vector.
maximized
d 2 (x) = (x − µ)T Σ−1 (x − µ) (7)
Y 0.299 0.587 0.114 R
Cb = −0.169 −0.331 0.5 ∗ G (6)
Cr 0.5 −0.419 −0.081 B
314
DEVELOPMENT OF AN AUTOMATED DEVICE FOR SORTING SEEDS - Application on Sunflower Seeds
315
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
has been tested off line in order to determine its Table 1: Principle of the analysis in the framework of purity
efficiency for the sorting. and counting seed.
• Software Object Purity counting
The automaton is controlled by a program imple- sunflower kernels PS
mented in the computer using Visual C++. It pro- sunflower achenes PS
vides a window interface to control the acquisi- broken seeds PS
tion process. The algorithm validation is carried mutilated seeds IM
out off line with the image acquired by the au- soil IM
tomaton under the environment of matrix algebra sclerotia IM counting
MATLAB 7. Firstly, we calculate the parameters Seeds of other plants SOP counting
for all the datasets. In order to have all the fea-
tures algorithms we just use the bwmorph func-
tion from the matlab image processing toolbox.
Secondly, we train and test the identification algo-
rithm on the dataset to select the best algorithm.
3.2 Methods
(a) Sun- (b) Sun-
Seeds and impurities observed by the vision system flower flower
achenes Kernels
were extracted from 23 samples of sunflower seeds
representing commercial seed lots of various origins
and 18 varieties, differing by seed colour and size.
The dataset for impurities with a low frequency in the
samples was enlarged using the reference collection
of the GEVES-SNES. A dataset including 1051 im-
ages has been created. This dataset includes 6 classes: (c) Soil (d) Sclerotia
sunflowers kernels, broken seeds (fragments of seeds
with a size higher than 50 percent of the size of the
seed), mutilated seeds (fragments of seeds with a size
lower or equal to 50 percent), sunflower achenes (in-
tact seeds), sclerotia and soil.
At this stage of the study, our dataset includes
all the categories (seeds and impurities) that have to
(e) Broken seeds (f) Mu-
be identified in official analysis of commercial seed tilated
lots (table 1) with the exception of seeds belonging seed
to other species than the sunflower. Figure 10 shows
colour, texture and morphology differences among Figure 10: Image of pure seeds (a,b,e) and impurities (c,d,f).
the different classes.
This dataset has been labelled by an expert of the
316
DEVELOPMENT OF AN AUTOMATED DEVICE FOR SORTING SEEDS - Application on Sunflower Seeds
317
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
of decision. It is also possible to make this approach Jayas D.S, M. C. and Bulley, N. (1999). An automated seed
more robust by creating a unknown class for seeds at presentation device for use in machine vision identi-
equal distance from the various groups. fication of grain. Canadian agricultural engineering,
41(2):113–118.
The testing on the identification algorithm on
seeds of other plants has to be made. System enhance- Majumdar S., J. D. S. (2000a). Classification of cereal
grains using machine vision i. morphological mod-
ments have to be made like changing the infrared bar- els. American Society of Agricultural Engineers,
rier in order to extend seed varieties acquisition. The 43:1669–1675.
design and the development of a new hardware sys- Majumdar S., J. D. S. (2000b). Classification of cereal
tem have to be made in order to implement a three grains using machine vision ii. color models. Ameri-
camera systems. can Society of Agricultural Engineers, 43:1677–1680.
Majumdar S., J. D. S. (2000c). Classification of ce-
real grains using machine vision iii. texture mod-
els. American Society of Agricultural Engineers,
ACKNOWLEDGEMENTS 43:1681–1687.
Majumdar S., J. D. S. (2000d). Classification of cereal
This work was supported by the National Institut of grains using machine vision iv.combined morphology,
Agronomical Research (INRA), the variety and seed color, and texture models. American Society of Agri-
study and control group (GEVES), the ESEO gradu- cultural Engineers, 43:1689–1694.
ate school of engineering in electronic, and the LISA Miteran J., M. J. (2005). Automatic hardware implementa-
laboratory of the University of Angers. tion tool for a discrete adaboost-based decision algo-
For their financial support the region Pays de Loire rithm : Prototyping for machine perception on a chip.
and the CER Vegetal (French contract). EURASIP, 2005:1035–1046.
Moltó Enrique, Blasco José, B. J. V. (1998). Computer vi-
sion for automatic inspection of agricultural produces.
In SPIE, editor, Precision agriculture and biological
REFERENCES quality, volume 3543, pages 91–100.
Otsu, N. (1979). A threshold selection method from gray-
Batlle J., M. J. (2002). A new fpga/dsp-based parallel. Real level histograms. IEEE Transactions on Systems, Man
time imaging, 8:345–356. and Cybernetics, 9:62–66.
Pearson, T. (1994). Machine vision system for automated
Bennett, T. D. K. F. M. M. M. (2005). A computer- detection of stained pistachio nuts. In SPIE, editor,
based system for seed identification. Seed Technology, Optics in Agriculture, Forestry, and Biological Pro-
27:190–202. cessing, volume 2345.
Bertrand D., Coucroux P. Autran J.-C., M. R. R. P. (1990). Plainchault P., Demilly D., F. A. T. S. B. D. (2003). De-
Stepwise canonical discriminant analysis of continu- velopment of an imaging system for the high speed
ous digitalized signals : applicatoin to chromatograms identification of seeds. IEEE Sensor.
of wheat proteins. Journal of chemometrics, 4:413–
427. Visen N.S., J. D. (2002). Specialist neural network for
cereal grain classification. Biosystems Engineering,
Chtioui, Y. (1997). Reconnaissance automatique des se- 82:151–159.
mences par vision artificielle basée sur des approches Wan, Y.-N. (2002). Automatic grain quality inspection with
statistiques et connexionnistes. PhD thesis, IRESTE. learning mechanism. Information technology in Agri-
Davies, E. (2005). Machine Vision - Theory, Algorithms, culture.
Practicalities.
Egelberg P., Mansson O., P. C. (1994). Assessing cereal
grain quality with a fully automated instrument using
artificial network processing of digitized color video
images. In Forestry and Biological Processing, vol-
ume 2345, pages 146–156. SPIE congress.
Granitto Pablo M, P. F. V. and Ceccatto, H. A. (2003). Au-
tomatic identification of weed seeds. ASAI.
Granitto P.M., P.A. Garralda, P. V. and Ceccatto, H. (2003).
Boosting classifiers for weed seeds identification.
JCS&T.
Gunturk Bahadir K., e. a. (2005). Demosaicking : Color fil-
ter array interpolation. IEEE Signal Processing Mag-
azine, pages 44–54.
318
MATHEMATICAL MODEL FOR WALKING ROBOT
WITH SHAPE MEMORY ALLOY ANKLE
Keywords: Robotics, shape memory alloy applications, robotic ankle, walking robot, mathematical model.
Abstract: The paper presents a simultaneous force and length variation mode in shape memory alloy (SMA) robotic
application. The robotic ankle contains four SMA actuators and a spherical articulation. In order to assure a
high efficient robotic architecture, the mechanical and the control structure have to assure a real-time
response to the work environment changes. The load variations or the difference between the moment of
full contact step and the non contact moment for a waking robot are the standard situations for a SMA
robotic ankle. The paper is divided in five sections. First section makes a short introduction in the physical
description and conventional applications of shape memory alloy materials. Then, are presented the
mathematical model for robotic ankle, the walking robot geometrical structure and the causality ordering of
the active pair of legs, in this case with one free joint. In the last section some experimental results are
presented. These results were obtained by using MATLAB programs, conceived by authors, for design and
simulation of walking robots control algorithms.
319
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
3 WALKING ROBOT
Figure 1: The proposed SMA robotic ankle. GEOMETRICAL STRUCTURE
It is considered the walking robot structure as
depicted in Fig.4, having three normal legs
Li , Lj , Lp and a head equivalent to another leg, L0,
containing the robot centre of gravity, G, placed in
its foot. The robot body RB is characterized by two
position vectors O0, O1 and the leg joining points
denoted Ri, Rj, Rp. The joining point of the head, L0,
is the central point O0, R0= O0, so the robot body RB
is univocally characterized by the set,
Figure 2: Schematically representation of SMA ankle.
RB = {O0 , O1 , λi , λ j , λ p , λ 0 } (3)
where λ0 = 0 .
u1,0
G0=G
Rp
2,0 j
R u2,p
u
R0 u2,j
Ri 0 1 u1,p
u2,i O O
Gp
u1,i
Figure 3: Kinematics representation of SMA ankle. Gj u1,j
Gi
The mathematical model of the ankle is very
simple: Figure 4: Geometrical structure of the robot.
320
MATHEMATICAL MODEL FOR WALKING ROBOT WITH SHAPE MEMORY ALLOY ANKLE
The robot position in the vertical plane is defined Therefore, in this causality structure the
by the pair of the position vectors O0, O1 where j i
kinematics restriction R − R = rij is accomplished
| O1 − O0 |= 1 , or by the vector O0 and the scalar θ,
the angular direction of the robot body. by changing the value of u 2, j at u 2, j giving by the
Each of the four robot legs Li , Lj , Lp , L0 is equation (5), (6), (7).
characterized by a so-called Existence Relation
ER(L) depending on specific variables as it is
presented in (Petrişor, 2005), (Petrişor, Marin,
Bîzdoacă and Cazacu, 2006). 5 EXPERIMENTAL RESULTS
The mathematical model of this object is a
Variable Causality Dynamic Systems VCDS and it The causal ordering c=[motor12, motor 01, cp] is
is analiyzed from this point of view. implemented together with other causal orderings, in
A pair of legs {Li, Lj} constitutes the so called the RoPa platform for design and simulation of
Active Pair of Legs (APL) if the robot body position walking robots control algorithms. The RoPa
is the same irrespective of the feet position of all the platform is a complex of Matlab programs to
other legs different of Li and L j . A label is assigned analyze and design walking robots, evolving in
to each possible APL. The APL label is expressed uncertain environments according to a new control
by a variable q called Index of Activity (IA), which approach called Stable State Transition Approach
can take Na values, numbers or strings of characters. (SSTA), also conceived by the authors.
All the other legs that at a time instant do not belong The causal ordering developed in this paper is
to APL are called Passive Legs (PL). The leg in activated by selecting the causal variable
APL, having a free joining point is called slave leg, cz=[12 1 0]. The RoPa platform allows animation,
the opposite of the motor leg whose both joining recording of the evolutions and playback them.
points are external controlled. In the following there are presented some
experimental results of walking robot behaviour
considering this causal ordering.
4 CAUSALITY ORDERING OF AN RoP a1E x 2S 1V 1q132c z 1210
-1
-2
This causality ordering is corresponded to the -3
state having the leg Li as a motor leg which controls
two degree of freedom and the leg Lj, a slave leg,
-2 0 2 4 6
x [m ]
which can control only one scalar component , so
the angle u 2, j is free and the angle u1, j is EC. Figure 5: The robot kinematics evolution.
In this structure u 2, j is obtained from the
following relations: 3
u 1 ,3
⎧ψ if u2,j (t −ε) > 0 ⇔ sˆ j = up (5) ← u 2,3
2,j ⎪ 2j
2
2 ,3
←u
u (t) =⎨ u 1,3
u1,1 u2,1 u1,3 u2,3
2,j j
⎪⎩−ψ2j if u (t −ε) ≤ 0 ⇔ sˆ = down 1
0
G1 = 0
321
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
4
6 CONCLUSIONS
3
← R e (O 0 )
← R e (O 0 ) Shape memory alloy ankle add to the walking robot
Im(O ) Re(O ) θ
2
G1 = 0
G3 = 3
adapting the structure to various environment.
1 The causal ordering developed in the paper is
0
← Im (O 0 )
←θ ← Im (O 0 ) useful when it must control the shoulder position Ri
0
irrespective of the other variables. It can be
←θ controlled by the angle u1,j, the shoulder angle of the
-1
-4 -2 0 2 4 second active leg Lj.
u 1 ,1 The approach of the kinematics structure by
Figure 7: Robot body position with respect to the input complex number representation of the variables
angle. allowed to solve the equations system that describe
6
the position of the variables that are involved,
between witch there are kinematics correlations. In
← R e (R 3 ) ← R e (R 3 )
this way, it is obtained an explicit representation of
Im(R ) Re(R ) Im(R ) Re(R )
3
4
the input-output dependence, in this causality
Im (R )
structure.
3
2 3
← R e (R 1 )
← R e (R 1 ) Im (R 1 ) As it can be seen from the above experimental
results, this causal ordering is perfectly integrated in
1
0
← Im (R 1 )
← Im (R 3 ) the RoPa structure proving the correctness of the
1
-2
G = 0 theoretical results.
1
G3 = 3 The mathematical model developed in the
-4
-4 -2 0 2 4 paper becomes an element of the VCDS walking
u 1,1 robot model. The simulations used MATLAB
Figure 8: Joints positions with respect to the input angle. environment show the robustness of the
mathematical model.
1
← Im ag(O 0 )
0.5 REFERENCES
Imag(O0)
1
← Im (R 2 ) Petrişor, A., 2005. Walking mouvement with controlled
style of the passive leg. In Proceedings of the 15th
3
0
international conference on control systems and
computer science, CSCS15, Bucharest, Romania, May
1
-1
G1 = 0 25-27, 2005, pag.483-487.
-2
G3 = 3 Petrişor, A., Marin, C., Bîzdoacă, N., Cazacu, D. 2006.
Variable Causality Dynamic System Approach for
1 2 3 4 5 Robot Control. WSEAS Transactions on Systems and
R e(R 1 ) R e(R 3 ) R e(R 2 )
Control Journal, Issue 1, Volume 1, Nov., pp.26-30
Schroeder, B., Boller, Ch., 1998. Comparative Assessment
Figure 10: Joints points' locus in evolution scene. of Models for Describing the Constitutive Behaviour
of Shape Memory Alloy, Smart Materials and
Structures.
322
WEB-BASED INTERACTIVE POSITIONING CONTROL OF AN
ELECTRIC FLATCAR VIA WIRELESS NETWORK
Keywords: Electric flatcar, manipulator probe, model of WEB direct-access monitoring, double exclusive control, con-
troller and multiple-monitor system.
Abstract: A large tank has been used for target strength pattern measurements of fish. It is equipped with an electric
flatcar. Further an elevation-rotating unit runs on the rails above it. The probe on the top of its elevation unit
is equipped with an attachment for an ultrasonic transducer. The manipulator probe is movable in the four
directions of the x, y, z and θ axes. Installation of a remote control switch has been required for the purpose of
efficient operation of an electric flatcar. A remote control system using a notebook personal computer has been
developed with good cost performance. The PC is equipped with a wireless network interface card. A model
of WEB direct-access monitoring has been designed newly on the basis of the concept that an operator can
control a mechanical device using a WEB Browser via LAN. Furthermore it performs double exclusive control
for access from multi PCs, and has made possible a controller and multiple-monitor system. The mission was
performed for the purpose of evaluation of WEB operation. The result has made clear the specifications for
motion, and an external interface of the electric flatcar is applicable to the new protocol developed for WEB
Browser control.
323
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
(c)
(a)
Longitude
(b)
Transverse (d)
Rotation Elevation
Figure 1: The electric flatcar and its movable directions shown by arrows. (a) The electric flatcar on a large tank. (b) An
elevation-rotating unit on it includes a movable probe. Two devices of (c) and (d) are used in the joint mission. (c) An
attachment on the top of a probe in the electric flatcar. (d) An adaptor for a transducer.
forms exclusive control for access from multi PCs, Remote control
PLC
324
WEB-BASED INTERACTIVE POSITIONING CONTROL OF AN ELECTRIC FLATCAR VIA WIRELESS NETWORK
(a) (b)
Figure 3: Design of the DRIVE mode with START/STOP. From upper icon, control buttons show the four directions ”longi-
tudinal”, ”transverse”, ”rotation”, and ”elevation”. A driven direction is selected by a tab key or a mouse. The left figure (a)
shows a mode of WAITING, and a foreward direction of ”transverse” is focused. The right figure (b) shows a status of driving
operation.
was performed via Intranet or LAN as shown in Fig- in Table 1 in addition to needed times for acquisition
ure 4 for a typical example. In this figure, the X-axis of moved position information.
shows time in seconds. ”PC Ctrl” of the Y-axis works
as a controller with a remote control switch function.
A WEB Browser performed polling in intervals of five 4 DISCUSSIONS
seconds for the monitoring, or two seconds for the
driving. Each access to a main server is classified by
Dual modes of motion operation are available to be
a session ID, and is ordered by double exclusive con-
changed to the other interactively. The DRIVE mode
trol. A transverse driving command ($DRIVE) was
with START/STOP is used for driving of long dis-
submitted from the controller PC (named PC Ctrl)
tance. The JOG mode is useful for short range driv-
at a time of 17:35:38.571, and a stopping command
ing, about one cm. And Driving of a fixed distance
($STOP) was submitted at 17:35:56.096. Positioning
such as JOG mode is needed for safety of operations.
information of the electric flatcar is given per access.
In Figure 4-(b), it is shown that access timing of
On the other hand, a logging PC (named PC Log) re-
multiple PCs (PC Moni and PC Ctrl) was success-
ceives renewal data at an interval of about one second
fully ordered by double exclusive control of a main
linked with changing of values of position. The probe
server program.
of the electric flatcar moved from 384.6 cm to 370 cm
In Table 1, it takes several seconds for acquisition
at the minimum velocity of one cm/s along the trans-
of first positioning data owing to lower initial speed.
verse axis. It has been confirmed that a WEB Browser
After second positioning data, it takes about one sec-
on the controller PC is available to be performed in
ond. It takes about six ms for negotiation of priority.
repetition of one second. Furthermore, the number
Positioning data is obtained at the same time of ne-
of PCs for WEB monitoring has been confirmed nor-
gotiation of priority. And in the monitoring frame of
mally for Four PCs.
a WEB Browser, a negotiation command also works
Three kinds of commands such as a negotiation as a polling command for receiving a reply message
command for priority, driving commands and a stop- from the mechanical device (PLC). A reply to a mon-
ping command, are submitted sequentially from a itoring command is performed immediately. The re-
command frame of a controller PC. On the other turn time of driving commands is about 30ms.
hand, in a monitoring frame, polling is performed for Furthermore, submission of a driving command
the purpose of acquisition of positioning information. hardly coincides with the renewal of a WEB page
Averaged reply times for drive commands are shown for polling, because of the two independent frame
325
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Table 1: Reply times for commands and needed times for position information.
architecture. Therefore retry of the selection is not flatcar, the server program for WEB pages that are
required. Consequently remote control by a WEB available for control and monitoring of a machine has
Browser has been working well. developed in a sever PC. Usage of a WEB browser
Residual issues are the following: makes possible a flexible constitution of the remote
• A notebook PC lacks solidity. terminal system. Then it has a merit of a smaller task
to a terminal PC.
• It takes longer time in a FORCED STOP oper- This system has been developed on the basis of
ation on a wireless PC than in an operation by two contents such as a WEB direct-access model, and
an EMERGENCY STOP button on an operation a controller / multi-monitor system model. It was
desk. clear by the above-described mission that the commu-
nication speed of the electric flatcar is applicable to
(a) the model of WEB direct-access control and monitor-
ing, in the case of attainability of the electric flatcar.
An attachment of a probe is also available for in-
stallation of underwater cameras. The optical calibra-
tion of an underwater observation bench is scheduled
using an electric flatcar. It is hopeful that the wireless
(b) operation on the spot instead of a push button opera-
tion on an operation desk is effective.
REFERENCES
Ishii, K., Abe, K., and Takao, Y. (2006). Positioning control
Waiting $DRIVE $STOP of the electric flatcar using web browser via wireless
command command lan. In Abstracts of 2006FY Autumn Annual Meeting.
Figure 4: Ordered accesses by three PCs to a main server AMSTEC.
PC via LAN. The lower figure (b) shows access timing from Ishii, K. and Sawada, K. (2005). Network-integrated control
multi PCs. PC Mon and PC Ctrl use WEB Brower with an program for a transducer-rotating mechanism to mea-
interval time of two or five seconds. PC Log uses an exclu- sure target strength (ts) pattern of squid. In Journal
sive application program for logging positioning data with of Advanced Marine Science and Technology Society.
an interval time of about one second. The upper figure (a) AMSTEC.
shows positioning information acquisitioned by PC Log. In Ishii, K., Sawada, K., and Miyanohana, Y. (1999). Design
the lowest row, a transition of motion modes about PC Ctrl of transducer-positioning system scanning around an
is shown. aquatic target in a tank. In Collected Papers of FO-
RUM ACUSTICUM BERLIN 99. ASA and DEGA.
Ishii, K., Sawada, K., Takao, Y., Miyanohana, Y., and Oku-
mura, T. (1995). Control system of electric flat-car
5 CONCLUSION equipped above an acoustic tank. In Proceeding of
the Annual Meeting. the Marine Acoustics Society of
The development of a remote operation system via a Japan.
wireless PC didn’t require editing of a complex se- Ishii, K. and Takao, Y. (2000). Evaluation of transducer-
quencer program in the electric flatcar, so that this positioning system scanning around an aquatic target
system starts working well as soon as possible. Using in a tank. In Abstracts of 2000FY Spring Annual Meet-
a function of PRESET DRIVE and a simple commu- ing. Advanced Marine Science and Technology Soci-
nication protocol that are implemented in the electric ety.
326
THEORY OF STRUCTURED INTELLIGENCE
Results on Innovation-based and Experience-based Behaviour
Abstract: An agreed-upon general theory of intelligence would enable significant scientific progress in all disciplines
doing research on intelligence. Such a theory, namely the theory of structured intelligence is tested by
relating it to other theories in the field and by empirically testing it. The results demonstrate (1) that the
theory of structured intelligence uses a similar concept of intelligence as do other theories but offers greater
scientific insights in the how intelligent behaviour emerges and (2) that its distinction between innovation-
and experience-based solutions can be found in the behaviour of the study’s participants. This yields the
opportunity to (1) allow technically testing intelligence in an easier and less time-consuming ways as do
traditional intelligence tests, and (2) allow technology classifying the intelligence of its user and using
adaptive interfaces reducing the possibility of serious handling errors.
327
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
328
THEORY OF STRUCTURED INTELLIGENCE - Results on Innovation-based and Experience-based Behaviour
3.2 Conducted Study and Relevant two categories: sowing seeds (either sunflower or
Research Results ramson seeds) and setting in seedlings (either
flowering or foliage plants). The following actions
3.2.1 Research Questions and Hypotheses were required in order to sow the seeds:
The pots had to be placed in a seed box.
The, in the previous section described theory of skill The pots had to be filled with loosened
acquisition has been tested by various researchers soil.
(see e.g., Jipp, Pott, Wagner, Badreddin, & A hole had to be made into the soil.
Wittmann, 2004) and proved its empirical adequacy One seed had to be put in each hole.
in various settings and circumstances. The If the seeds were light seeds (as indicated on
relationship to the theory of structured intelligence the customer wish), the holes had to be
has been established theoretically in Section 2.1 and covered with wet pieces of newspaper.
will be tested empirically. Therefore, the following If the seeds were dark seeds (as indicated on
research questions and hypotheses are of interest: the customer wish), the holes had to be
It is hypothesized that the degree of covered with a 0.5 cm level of soil.
consistency with which given tasks are tackled The pots had to be watered. The water had to
decreases with the familiarity of the task. This is the be prepared so that it had a temperature of
case as formerly applied successful solutions will be 25°C and a, in the instructions specified acid
used to solve the problem at hand. Variation does value.
only occur when the former solution has not lead to For setting in the seedlings, the following actions
a satisfying result. had to be performed by the participants:
It is hypothesized that the transition from The required pots had to be filled half with
innovation-related processes to experience-based soil, which had to be loosened before.
solutions is determined by intelligence factors as The seedlings had to be put into the pot.
measured with traditional measurement scales for The correct fertilizer had to be chosen (as
intelligence factors. This is based on Ackerman’s indicated on the instructions, which were
theory (1989) combining skill acquisition processes handed out to the participant).
with factors of individual differences, i.e., general The pot had to be filled with layers of soil
intelligence, perceptual ability and motor skills. The and fertilizer until the roots of the seedlings
last is not considered in this paper due to the focus were covered.
on structured intelligence. The seedling had to be watered with
appropriate water (25°C and an acid value of
3.2.2 Description of the Sample and Course 5-6).
of the Study In order to acquire the task of leading the market
garden, four customer requirements had to be
To be able to answer these research questions, a executed: the first required the participants to sow
study has been conducted at the vocational school of sunflower seeds, the second to set in flowering
the Protestant Foundation Volmarstein seedlings, the third to set in foliage plants and the
(Evangelische Stiftung Volmarstein, Germany). last one to sow ramson seeds. The two categories of
Data from 13 students (6 male, 7 female students) tasks have been defined based on only minor
was at hand for the present analyses. The students differences in order to allow the participants to
were wheelchair-users and have been disabled for acquire the skill in question. Further customer
more than 12-15 years. Their average age was 22.5 wishes could not be executed by the participants due
years (SD = 1.6 years). The disabilities of the to problems related to maintaining attention for such
participants were spasticity, spina bifida, dysmelia a long time frame. The actions of the participants
or incomplete paralysis. were filmed with a standard web camera.
The study was conducted within two sessions. In the second session of the study, the
The first session lasted between one and two hours participants performed tasks of the Berlin
depending on the speed with which the participants Intelligence Structure Test (BIS, Jäger, Süß &
performed the designated tasks (see also Jipp, Beauducel, 1997). These tasks were based on the
Bartolein, & Badreddin, 2007). The tasks the Berlin Intelligence Structure Model (Jäger, 1982),
participants conducted referred to leading a little which is a hierarchical model of intelligence.
garden market. More specifically, the participants General intelligence, at the top, is composed of two
had to prepare products potential customers facets, which are categories for factors at the next
requested. These customer wishes were sorted in
329
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
lower level (Guttman, 1954). Jäger (1982) 3.2.3 Data Analyses and Results
distinguished the facet operations and contents. The
last subsumes three content abilities (i.e., numerical The following variables were derived:
abilities, verbal abilities, and numerical abilities), general intelligence, perceptual speed,
which refer to how a person cognitively deals with reasoning, memory, figural abilities, verbal abilities,
the different types of contents. The facet operation numerical abilities, figural perceptual speed, verbal
subsumes what is cognitively done with the given perceptual speed, numerical perceptual speed,
contents. Four operations are distinguished: figural reasoning, verbal reasoning, numerical
Reasoning is the ability to solve complex problems reasoning, figural memory, verbal memory,
(Jäger, Süß, and Beauducel, 1997). Memory asks the numerical memory were derived based on the
participants to memorize pieces of information and reduced set of test items applied from the BIS
retrieve them from short-term memory or recognize number of strategic changes in the
them after a short time period. Creativity refers to participants’ behavior for each of the four customer
the ability to produce a variety of differing ideas wishes
controlled by a given item. Last, perceptual speed is index for the continuity of the order of
the ability to work as fast as possible on simple actions while performing each of the four customer
tasks, requiring no or only little information wishes
processing demands. The BIS tests all these factors In order to derive the numerical values for the
of intelligence. However, the original test has been intelligence factors, the test items were analyzed as
shortened. Test items were deleted which required indicated in the BIS’s handbook (Jäger, Süß, and
the participants to write a lot, as – due to the given Beauducel, 1997).
time constraints for working on the test items – Altogether eight variables have been used to
especially participants with spacticity would have operationalize the degree of the innovation in the
been disadvantaged. The conducted test comprised observable behavior (i.e. in this case the gardening
the tasks as indicated in Table 1 and took the tasks): the first is the number of strategic changes in
participants about two hours to complete. the behavior of the participants for each of the
customer wishes. For this purpose, the videos have
Table 1: The, from the BIS chosen and in this study been transliterated: A list of possible actions has
applied test items and their sorting in the factors of been identified and the order of actions conducted
intelligence according to the Berlin Intelligence Structure has been analyzed. Each participant used a typical
Model. order of how to perform the task in question. The
General Figural Verbal Numerical number of changes to this typical order has been
Intell- abilities abilities abilities counted as indicating the number of strategic
igence changes in the behavior.
Perce- - Erasing - Part- - X-Greater To derive the four indices for the continuity of
ptual letters Whole - Calcul- the order of actions while performing the customer
speed - Old English - Classi- ating wishes, the number of grouped actions was counted.
- Number fying words characters A participant conducting all required actions for one
Symbol Test - Incomplete
pot received a very low index of continuity (i.e. 1);
records
Memory - Test of - Mean- - Pairs of whereas a participant executing one action for all
orientation ingful text numbers pots received a high level of continuity (i.e., 10).
- Company’s - Remem- - Two-digit Participants with a medium-sized index changed
symbols bering numbers their strategy within the task. In order to be able to
- Remem- words distinguish the participants who did not change their
bering routes - Language strategy and did change their strategy, a
of fantasy dichotomization was performed – the medium-sized
Reason- - Analogies - Word - Reading numbers received the final index number 0, the high-
ing - Charkow analogies tables and low-sized numbers received the final index
- Bongard - Fact - Arithmetic
- Winding opinion thinking
number 1.
- Comparing - Arrays of In order to test the hypotheses, repeated
conclusions letters measurement analyses have been performed with
each of the intelligent variables derived (list see
above) as independent variables and either the
number of strategic changes for all four customer
wishes or the index of continuity for all four
330
THEORY OF STRUCTURED INTELLIGENCE - Results on Innovation-based and Experience-based Behaviour
customer wishes as dependent variables. The strategic changes. The graph showing the course of
significant results are given in Table 2. More the number of strategic changes while performing
specifically, the tested variables, the value of the the four customer wishes for the participants with
used test statistic with the number of degrees of less verbal perceptual speed abilities demonstrates
freedom, the probability that the expected effect did (1) that the general level of the number of strategic
not occur due to chance and the size of the detected changes is greater compared to the number of
effect using a classification presented by Cohen strategic changes executed by the participants with
(1992) are given. higher verbal perceptual speed abilities and (2) that
the variance of change is bigger.
Table 2: Results of the repeated measurement analyses.
331
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
The fourth analyses tested (1) the learning factor were capable of judging on its user’s intelligence,
of the index of continuity and (2) the two way the interface can be adapted to the user and different
interaction between the learning factor and the levels of support given. This might have a big
numerical memory factor. The results were impact on safety-critical applications with the user is
significant as well. Hence, the index of continuity in the loop of controlling e.g., nuclear power plants.
changes with the number of practice trials performed Second, the theory of intelligence gives the artificial
and this change depends on the level of numerical intelligence research a new direction, as not only
memory abilities of the participants. experience is relevant, but also innovation-driven
behaviour, which can be modelled as chaotic
behaviour (see also Badreddin & Jipp, 2006).
4 CONCLUSIONS AND
TECHNICAL IMPACT
REFERENCES
Summarizing, relevant research results regarding the
Ackerman, P. L., 1988. Determinants of individual
theory of structured intelligence are presented
differences during skill acquisition: Cognitive abilities
(Badreddin & Jipp, 2006). More specifically, the and information processing. Journal of Experimental
study confirmed the hypotheses: First, the degree of Psychology: General, 117 (3), pp. 288-318.
consistency in the behaviour of the participants gets Anderson, J. R., 1982. Acquisition of cognitive skill.
greater with the task’s familiarity. This transition Psychological Review, 89, pp. 369-406.
shows the learning effect, i.e. the transition from Badreddin, E., Jipp, M., 2006. Structured Intelligence.
innovation-based to experience-based, i.e., well International Conference on Computational
known solutions. Second, a relationship between this Intelligence for Modelling, Control, and Automation
transition and traditional measures of intelligence CIMCA 2006, Sydney, Australia.
Campbell, D. T., Fiske, D. W., 1959. Convergent and
has been found. Significant predictors were
discriminant validity by the multitrait-multimethod
intelligent factors such as the verbal perceptual matrix, Psychological Bulletin, 56, pp. 81-105.
speed factor. However, compared to traditional Fisk, A. D., Schneider, W., 1983. Category and word
research on intelligence, the theory of structured search: Generalizing search principles to complex
intelligence goes one step further: it provides an processing. Journal of Experimental Psychology:
explanation of how intelligent behaviour emerges Learning, Memory & Cognition, 9, pp. 177-195.
and not only a classification of intelligent behavior. Fleisman, E. A., 1972. On the relations between abilities,
Drawbacks of the study refer to the small number of learning, and human performance. American
participants, which has reduced the power of the Psychologist. 27, 1017-1023.
Guttman, L. (ed.), 1954. Mathematical thinking in the
study, so that some possibly existing effects might
social sciences. Glencoe, IL. The French Press.
not have been detected. Further, the creativity items Humphreys, L. G., 1979. The construct of general
had to be deleted from the intelligence test as they intelligence. Intelligence, 3, 105-120.
required the participants to draw solutions, which Jäger, A. O., 1982. Mehrmodale Klassifikation von
would disadvantage some of the participants due to Intelligenzleistungen: Experimentell kontrollierte
their disability. Hence, future research should Weiterentwicklung eines deskriptiven
investigate the relationship between traditional Intelligenzstrukturmodells, Diagnostica, 28(3), 195-
creativity tests with innovation-based behaviour. 225.
The study’s main contribution is twofold: First, Jäger, A. O., Süß, H.-M., Beauducel, A., 1997. Berliner
Intelligenzstruktur-Test, Göttingen, Hogrefe.
the theory of structured intelligence demonstrates
Jipp, M, Bartolein, C., Badreddin, E., 2007. Assisted
links to traditional measurements of intelligence, but Wheelchair Control: Theoretical Advancements,
also gives an explanation of how intelligent Empirical Results and Technical Implementation,
behaviour emerges and provides the opportunity to Submitted for publication.
measure intelligence in easier and less time- Jipp, M., Pott, P., Wagner, A., Badreddin, E., Wittmann,
consuming ways and. It allows intelligence to be W. W., 2004. Skill acquisition process of a robot-
judged on (1) by using activity detection and (2) by based and a traditional spine surgery, 1st International
observing the participants’ actions when being Conference on Informatics in Control, Automation and
aware of the familiarity of the task. The degree of Robotics, pp. 56-63.
Schneider, W., Shiffrin, R. M., 1977. Controlled and
consistency gives valuable information on
automatic human information processing: 1.
intelligence. This has not only the potential to Detection, search, and attention. Psychological
revolutionize intelligence diagnostics but also Review, 84, pp. 1-66.
intelligent interface design: if an intelligent machine
332
X3DIRECTOR
A Front-end For Modeling Web Virtual World Navigation And Visualization
Parameters
Keywords: Virtual Reality, Virtual Environment, interactivity, fully immersive viewing systems, post-production phase,
digital technologies.
Abstract: With the advent of digital communication technologies, a huge quantity of information can be stored and
transferred. However, with increased possibility comes increasing complexity. As indicated by the
dissatisfaction often experienced by users of information technology, current systems of accessing,
organizing and navigating information are proving insufficient. For this reason, in the Web world, besides
new media contents, new technologies for implementing more dynamic and user-friendly interfaces are
being developed. Currently, the last step in the evolution of digital technologies for web interface and
contents is represented by virtual environments which, despite the appearances, are, in some cases, very
accessible and economic. This paper will provide a panorama on the functionalities of language X3D and
the identification of the cases in which is possible to use X3Director.
333
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
software that helps this category of users in the saving, thanks to the preview function (it is
refining phase, again without the exigency of any necessary to have a player X3D installed in the
particular knowledge. operative system). This function can be used in order
The second chapter introduces the X3Director to evidence the modifications carried out globally in
software and its features. the file X3D and therefore to have a preview of the
final complete file X3D or to evidence single
geometries and therefore to have a visual reply on
2 X3DIRECTOR the single Transform or Group nodes. In order to
complete this global view on the X3Director it is to
The production of the three-dimensional structure of be underlined that such a software does not forget
an X3D environment can completely be delegated to the more expert users that they do not have need of
the software of authoring 3d and, that concurs to the driven procedure. In order to edit or to add the
customers non-expert of X3D to develop, in above mentioned nodes, these users can either use
immediate and practically free way, virtual simple functions of “add” or “delete” or can directly
environments compatible with the Web. After such modify the values of the attributes editing them with
phase it is necessary, for the effective fruibility of a simple double click on the data structure JTable
the virtual representation, a phase of post-production left on purpose editable for this function.
that proceeds along one series of tried and
modifications. Phase that cannot be delegated to the 2.1 Characterizing Features
software of authoring 3D is because often, being
thought for other, do not support some of the The absence of the necessity of specific knowledge
demanded characteristics (e.g. the Background differentiates X3Director from the others editor X3D
node), or, in case they come supported, their and it renders it ideal for the phase of post-
implementation demands specific knowledge of production. The below table shows a comparison of
language X3D. main editors X3D and X3Director. From the
X3Director helps the “non-expert developer” to comparison, that refers exclusively to the phase of
accomplish the post-production phase. The software post-production, tool of optimization of the code and
provides a series of functions to manage the 3D the software of authoring 3d have been omitted.
aspect of an X3D file. It allows realizing different
Table 1: Comparison between X3D post-production tools.
actions so as to add localized audio contexts or
sounds that start after having clicked on a particular Software Knowledge Potentiality Complexity
area or object, thanks to the use of the TouchSensor X3D
X3Director null medium low
node.
SwirlX3D medium medium medium
X3Director proposes a linear, intuitive and
X3D-Edit high high medium
provided of continuous assistance interface that
allows the user in few mouse clicks to edit or to add
Everyone of the software shown can be used to
ex novo the Background node in order to better
modify file X3D exported from the software of
characterize a three-dimensional environment, the
authoring. It is obvious that, with the exception of
NavigationInfo node that describes the view and the
X3Director, is however necessary a sure level of
characteristics of the avatar, user’s alter-ego, and the
knowledge of language X3D.
Sound and AudioClip nodes. Moreover, thanks to
SwirlX3D is a powerful X3D authoring
integration of parser DOM with the data structure
environment that gives full access to the data
JTree provided from the Java Swing package,
structures in an X3D file and is able to preview the
X3Director provides, at nodes level, for the loaded
completed scene. The specific knowledge of X3D
X3D file, an interface characterized from tree
are not excessive but of against it does not offer, as
structure that reflects the characteristic hierarchical
instead X3Director offers, no visual procedures that
structure of XML files. As far as the attributes,
it renders the formulation of the parameters
instead, X3Director has integrated an other data
independent from the knowledge of language X3D.
structure, the JTable, in order to organize and to edit
The graphics file editor X3D-Edit includes the
in “expert” way the attributes of the nodes.
typical characteristics of this type of editor: context-
Such a software, conceived in order to come
sensitive editing prevents creation of incorrect
towards requirement of a non-expert user in the
scene-graph structures and detects invalid numeric
modeling of virtual environment in X3D, allows to
values, context-sensitive tooltips provide concise
verify the user’s modifications, before the final
334
X3DIRECTOR - A Front-end For Modeling Web Virtual World Navigation And Visualization Parameters
335
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
336
A STUDY OF TWO COLOR SYSTEMS USED IN
CONTENT-BASED IMAGE QUERY ON MEDICAL IMAGERY
Keywords: Image feature extraction, image processing, content-based visual query, color, histogram, HSV color space,
l color space, medical images.
Abstract: The article presents a comparative study over two methods used in content-based visual query. The two
methods refer at two different color systems used for representing color information from images: HSV
quantized to 166 colors and l1l2l3 quantized to 64 colors. The originality of the study comes from the fact
that it was made on a database with medical images from digestive tract area, captured by an endoscope.
The scope was to check the quality of the content-based visual query on images representing five different
diagnoses (colitis, ulcer, esophagitis, polyps and ulcerous tumor) and taking into consideration that some
parameters were modified during the capturing process: viewing direction, intensity and direction of the
illumination, parameters that affect mostly the medical images captured during the diagnosis process.
337
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
The medical images are being produced directly • Robust against imaging conditions: invariant to a
by medical equipment used in patient diagnosis, or change in viewing direction, invariant to a
by digitalizing the images stored on other devices. change in object geometry, invariant to a change
In each of these methods some changes can in direction and intensity of the illumination and
occur: invariant to a change in the spectral power
• Changes in viewing direction distribution of the illumination.
• Changes in direction of the illumination The studies have shown that two of these color
• Changes in the intensity of the illumination systems can be used, with good results in a content-
As a result, the purpose of the paper is to make a based visual query process, namely HSV and l1l2l3
comparative study of the content-based query results (Gevers et al, 2006).
effectuated on medical images database where the It was proved that the HSV color system has the
color information is represented by HSV and l1l2l3 following properties (Gevers, 2004):
color systems. • It is close to the human perception of colors
The originality of the study is given by the fact • It is intuitive
that the experiments are made on medical images • It is invariant to illumination intensity and
from digestive area produced by an endoscope. The camera direction
ill area is seen from different directions and in The studies made on nature and medical images
different illumination intensity. This study, unlike have shown that in the case of the HSV, RGB and
the others made on CorelDraw images, uses images CieLuv color systems, the HSV color space
produced in real condition, in patient diagnosis. produces the best results in content based retrieval
The paper has the following structure: In section (Stanescu et al, 2006).
2 the two color systems are presented. In section 3 Still, the HSV color space has several problems
the conditions and the results of the experiments are (Gevers, 2004) :
presented, and in section 4 the conclusions of the • Nonlinear (but still simple) transformation from
comparative study are discussed. RGB to HSV
• Device dependent
• the H component becomes instable when S is
2 CONTENT-BASED IMAGE close to 0
• the H component is dependent of the
QUERY ON COLOR FEATURE illumination color
Gevers and Smeulders have proposed a new
The color is the visual feature that is immediately
color system, named l, whose components are
perceived on an image. The color space used for
defined using the equations (Gevers and Smeulders,
representing color information in an image has a
great importance in content-based image query, so 1999):
this direction of research was intensely studied (Del
Bimbo, 2001). ( R − G)2
There is no color system that it is universal used, l1( R, G , B ) =
because the notion of color can be modeled and ( R − G ) 2 + ( R − B ) 2 + (G − B ) 2
interpreted in different ways. Each system has its ( R − B) 2
own color models that represent the system l 2( R, G, B) = (1)
( R − G)2 + ( R − B)2 + (G − B)2
parameters (Gevers, 2004).
There were created several color spaces, for (G − B)2
l 3( R, G, B) =
different purposes: RGB (for displaying process), ( R − G ) 2 + ( R − B)2 + (G − B)2
XYZ (for color standardization), rgb, xyz (for color
normalization and representation), CieLuv, CieLab
(for perceptual uniformity), HSV (intuitive Where R, G, B are the color values in the RGB
description) (Gevers, 2001, Gevers, 2004). The color color space. They also showed that the l color
systems were studied taking into consideration system is invariant to viewing direction, illumination
different criteria imposed by content-based visual direction and intensity. In this case it is also a
query (Gevers and Smeulders, 1999): nonlinear, but simple, transforming from RGB space
• The independence of the imaging device to l space.
• Perceptual uniformity In case of medical images the main problems are
• Linear transformation regarding changing illumination intensity and
viewing direction. That is why the two color spaces
• Intuitive for user
presented above are chosen.
338
A STUDY OF TWO COLOR SYSTEMS USED IN CONTENT-BASED IMAGE QUERY ON MEDICAL IMAGERY
The operation of color system quantization is In order to make the query the procedure is:
needed in order to reduce the number of colors used • a query image is chosen
in content-based visual query: from millions to tens. • the dissimilitude between the query image
The quantization of the HSV color space to 166 and every target image from the database is
colors, solution proposed by J.R. Smith, is the idea computed, for each two specified criteria
used in this study (Smith, 1997). For the color space (color histograms with 166 colors and the
l1l2l3 the solution of quantization to 64 colors is color histogram with 64 colors);
chosen, keeping 4 values for each component of the • the images are displayed on 2 columns
system. The fact that a color system is quantized to corresponding to the 2 methods in
166 colors and the other to 64 colors does not ascending order of the computed distance.
influence the quality of the content-based image For each query, the relevant images have been
query process, the research studies showing clearly established. Each of the relevant images has become
this aspect (Stanescu et al, 2006). The color in turn a query image, and the final results for a
query are an average of these individual results.
histograms represent the traditional method of
The experimental results are summarized in table
describing the color properties of the images. They
1. Method 1 represents the query using the HSV
have the advantages of easy computation and up to color space quantized at 166 colors and Method 2
certain point are insensitive to camera rotating, represents the query on color using the l1l2l3 color
zooming, and changes in image resolution (Del space quantized at 64 colors. The values in the table
Bimbo, 2001). In case of both color systems, to represent the number of relevant images of the first 5
compute the distance between the color histograms images retrieved for each query and each of the
of the query image and the target image, the methods, as an average of the values obtained on
intersection of the histograms is used (Smith, 1997). each executed query.
The studies have also shown that using this metric in
content-based visual query gives very good results Table 1: Experimental results.
as quadratic distance between histograms that is
more difficult to calculate (Smith, 1997, Stanescu et Query Method 1 Method 2
al, 2006). Polyps 3.6 3.2
Colitis 3.5 3.1
Ulcer 3.2 2.9
Ulcerous Tumor 3.5 3.1
3 EXPERIMENTS Esophagitis 3.4 3.1
The experiments were performed in the following It must be mentioned that the queries were made
conditions. for each of the 5 diagnostics in part. The notion of
A database with 520 color images from the field relevant image was strictly defined. The images
of the digestive apparatus was created. The images from the same patient captured at different
are from patients with the following diagnosis: illumination intensity and from different points of
polyps, ulcer, esophagitis, ulcerous tumors and view were considered relevant for a query, and not
colitis. For each image there are several images with the ones with the same diagnosis. The quality of the
affected area captured from 3 or 4 viewing content-based image query process was strictly
directions. For each image in the database there is analyzed. In figure 1 there is an example of content-
another identical image, but having the illumination based image query considering the two specified
intensity changed. methods for images categorized as colitis. The first
A software tool that permits the processing of column contains 5 images retrieved by Method1 and
each image was created. The software tool executes the second contains the images retrieved using
the following steps: Method2. In the first case there are 5 relevant
1. the transformation of image from RGB images and in the second case, 4 relevant images.
color space to HSV color space and the
quantization to 166 colors
2. the transformation of image from RGB
color space to l1l2l3 color space and the 4 CONCLUSION
quantization to 64 colors
3. calculation of the two color histograms The paper presents the condition in which the
with 166, respectively 64 values, that quality of the content-based visual query process
represent the characteristics vectors and was studied, using a collection of medical images
storing them in the database from digestive tract. The quality was measured
339
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
REFERENCES
Del Bimbo, A., 2001. Visual Information Retrieval,
Morgan Kaufmann Publishers. San Francisco USA.
Gevers, T., Smeulders, W.M., 1999. Color-based object
recognition. Pattern Recognition. 32, 453-464
Gevers, T., 2001. Color in Image Search Engines. In
Principles of Visual Information Retrieval. Springer-
Verlag, London.
Gevers, T., 2004. Image Search Engines: An Overview. In
Emerging Topics in Computer Vision. Prentice Hall.
Gevers, T., Van de Weijer. J., Stokman, H., 2006. Color
Feature Detection. In Color Image Processing:
Figure 1: The retrieved images using the two specified Methods and Applications. CRC Press.
methods. Muller, H., Michoux, N., Bandon, D., Geissbuhler, A.,
2004. A Review of Content_based Image Retrieval
Systems in Medical Application – Clinical Benefits
calculating the precision and recall parameters. HSV and Future Directions. Int J Med Inform. 73(1)
system, quantized to 166 colors and l1l2l3 color Sebe, N., Lew, M., 2001. Color-based retrieval. Pattern
system quantized to 64 colors were considered Recognition Letters. 22, 223-230
highlighting the way they influence the process of Smith, J.R., 1997. Integrated Spatial and Feature Image
content-based visual query if some important Systems: Retrieval, Compression and Analysis, Ph.D.
parameters that often affects medical images are thesis, Graduate School of Arts and Sciences.
modified: viewing direction, direction and intensity Columbia University.
of the illumination. Stanescu, L., Burdescu, D.D., Ion, A., Brezovan, M.,
Several conclusions can be formulated after the 2006. Content-Based Image Query on Color Feature in
experimental results were analyzed: the Image Databases Obtained from DICOM Files. In :
1. to find images representing the same ill area, International Multi-Conference on Computing in the
that were captured by an endoscope from Global Information Technology. Bucharest. Romania
several viewing directions, the solution that
uses HSV color system quantized to 166
colors gives the best results
340
COMPARISON OF TWO IDENTIFICATION TECHNIQUES:
THEORY AND APPLICATION
Keywords: Parameters identification, inverse model, least squares method, simple refined instrumental variable method.
Abstract: Parametric identification requires a good know-how and an accurate analysis. The most popular methods
consist in using simply the least squares techniques because of their simplicity. However, these techniques
are not intrinsically robust. An alternative consists in helping them with an appropriate data treatment.
Another choice consists in applying a robust identification method. This paper focuses on a comparison of
two techniques: a “helped” least squares technique and a robust method called “the simple refined
instrumental variable method”. These methods will be applied to a single degree of freedom haptic interface
developed by the CEA Interactive Robotics Unit.
341
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
The inverse dynamic model (commonly called Generally, ordinary LS technique is used to estimate
dynamic model) calculates the joint torques as a the base parameters solving an over-determined
function of joint positions, velocities and linear system obtained from a sampling of the
accelerations. It is usually represented by the dynamic model, along a given trajectory (q, q , q
),
following equation: (Gautier, Khalil and Restrepo, 1995), (Gautier,
Γ = A(q)q
+ H(q, q ) + Fv q + Fc sign(q ) (1) 1997). X being the b minimum parameters vector to
be identified, Y the measurements vector, W the
Where, Γ is the torques vector, q, q and q are observation matrix and ρ the vector of errors, the
respectively the joint positions, velocities and system is described as follows:
accelerations vector, A(q) is the inertia matrix,
Y(Γ ) = W(q, q , q
)X + ρ (4)
H(q, q ) is the vector regrouping Coriolis, centrifugal
and gravity torques, Fv and FC are respectively the The L.S. solution X̂ minimizes the 2-norm of the
viscous and Coulomb friction matrices. vector of errors ρ. W is a r×b full rank and well
The classical parameters used in this model are the conditioned matrix, obtained by tracking exciting
components XXj, XYj, XZj, YYj, YZj, ZZj of the trajectories and by considering the base parameters,
j
inertia tensor of link j denoted Jj, the mass of the r being the number of samplings along a trajectory.
link j called Mj, the first moments vector of link j
j Hence, there is only one solution X̂ (Gautier, 1997).
around the origin of frame j denoted MSj=[MXj MYj
Standard deviations σ X̂ are estimated using
MZj]T, and the friction coefficients FVj, FCj. i
The kinetic and potential energies being linear classical and simple results from statistics. The
with respect to the inertial parameters, so is the matrix W is supposed deterministic, and ρ, a zero-
dynamic model (Gautier and Khalil, 1990). It can mean additive independent noise, with a standard
thus be written as: deviation such as:
Γ = D(q, q , q
)χ (2) ( )
C ρ = E ρρ T = σ ρ2 I r (5)
) is a linear regressor and χ is a
Where D(q, q , q
where E is the expectation operator and Ir, the r×r
vector composed of the inertial parameters.
identity matrix. An unbiased estimation of σ ρ is:
The set of base parameters represents the minimum 2
number of parameters from which the dynamic ˆ
Y − WX
model can be calculated. They can be deduced from σ ρ2 = (6)
the classical parameters by eliminating those which
(r − b )
have no effect on the dynamic model and by The covariance matrix of the standard deviation is
regrouping some others. In fact, they represent the calculated as follows:
only identifiable parameters.
Two main methods have been designed for
calculating them: a direct and recursive method
(
C Xˆ Xˆ = σ ρ2 W T W )
−1
(7)
based on calculation of the energy (Gautier and σ 2X̂i = C X̂X̂ is the ith diagonal coefficient of C Xˆ Xˆ .
Khalil, 1990) and a method based on QR numerical ii
decomposition (Gautier, 1991). The numerical The relative standard deviation %σ X̂ is given by:
ri
method is particularly useful for robots consisting of
closed loops. σ X̂
By considering only the b base parameters, (2) can %σ X̂ = 100 j
(8)
be rewritten as follows:
jr
Xj
Γ = W(q, q , q
)χ b (3) However, in practice, W is not deterministic. This
) is the linear regressor and χb is
Where W(q, q , q problem can be solved by filtering the measurement
matrix Y and the columns of the observation matrix
the vector composed of the base parameters. W.
342
COMPARISON OF TWO IDENTIFICATION TECHNIQUES: THEORY AND APPLICATION
2.2.2 Data Filtering If the trajectories are not enough exciting, then the
results have no sense because the system is ill
Vectors Y and q are samples measured during an conditioned and some undesirable regroupings
experimental test. We know that the LS method is occur.
sensitive to outliers and leverage points. A median
filter is applied to Y and q in order to eliminate 2.3 SRIV Method
them.
The derivatives q and q are obtained without From a theoretical point of view, the LS assumptions
phase shift using a centered finite difference of the are violated in practical applications. In the equation
vector q. Knowing that q is perturbed by high (4), the observation matrix W is built from the joint
frequency noises, which will be amplified by the positions q which are often measured and from q , q
numeric derivation, a lowpass filter, with an order which are often computed numerically from q.
greater than 2 is used. The choice of the cut-off Therefore the observation matrix is noisy. Moreover
frequency ωf is very sensitive because the filtered identification process takes place when the robot is
data (q f , q f , q f ) must be equal to the vector controlled by feedback. It is well known that these
(q, q , q ) in the range [0, ωf], in order to avoid violations of assumption imply that the LS solution
is biased. Indeed, from (4), it comes:
distortion in the dynamic regressor. The filter must
have a flat amplitude characteristic without phase W T Y = W T WX + W T ρ (12)
shift in the range [0, ωf], with the rule of thumb
ωf>10*ωdyn, where ωdyn represents the dynamic As ρ includes noises from the observation matrix
frequency of the system. Considering an off-line
identification, it is easily achieved with a non-causal
( )
E WTρ ≠ 0 .
zero-phase digital filter by processing the input data The Refined Instrumental Variable approach deals
through an IIR lowpass butterworth filter in both the with this problem of noisy observation matrix and
forward and reverse direction. The measurement can be statistically optimal (Young, 1979). It is the
vector Y is also filtered, thus, a new filtered linear reason why we propose to enrich our identification
system is obtained: methods by using concepts from this approach. In
the following, we describe the application of this
Yf = Wf X f + ρ f (9) method in our field.
The Instrumental Variable Method proposes to
Because there is no more signal in the range [ωf, remove the bias on the solution by building the
ωs/2], where ωs is the sampling frequency, vector Yf
and matrix Wf are resampled at a lower rate after
( )
instrument matrix V such as E V T ρ = 0 and VTW
lowpass filtering, keeping one sample over nd is invertible.
samples, in order to obtain the final system to be The previous equation becomes:
identified:
V T Y = V T WX + V T ρ (13)
Yfd = Wfd X fd + ρ fd (10)
The instrumental variable solution is given by
with:
n d = 0.8ωs /2ω f (11)
ˆ = VTW
X V ( )−1
VTY (14)
343
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
y1
x1
G
q
O x0
Figure 1: Presentation of the interface to be identified. Figure 2: Notations and frames used for modelling the
interface.
344
COMPARISON OF TWO IDENTIFICATION TECHNIQUES: THEORY AND APPLICATION
0.15
Frictions torque measured references and the differential equation given by
(15) is solved with the Euler’s method (ODE 1). The
0.1
step time integrator is of 240μs. Figure 5 shows the
0.05
measured and the simulated states. They are close to
each others.
0
Torque Nm
0.3
3.2.1 LS Method Mesured
Estimated
0.2
Current I and joint position q were measured, with a
sampling period of 240μs. Exciting trajectory 0.1
-1
data. In our case one has ωdyn close to 2Hz. Thus
with the rule of thumb ωf>10*ωdyn, we retrieve the 1550 1600 1650 1700 1750 1800 1850
Measured and Simulated Velocity
1900 1950 2000
The conditioning number of W is close to 30. 1600 1650 1700 1750 1800 1850 1900 1950 2000
Hence, the system is well conditioned and the Measured and Simulated Acceleration
estimated torques just after the identification 1700 1750 1800 1850 1900 1950 2000
345
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
0
During the experiments, it is appeared that the
Nm
346
COMPARISON OF TWO IDENTIFICATION TECHNIQUES: THEORY AND APPLICATION
347
SPECIAL SESSION ON
INTELLIGENT VEHICLE
CONTROL SYSTEMS
CHAIR:
OLEG GUSIKHIN
VEHICLE MODELS AND ESTIMATION OF CONTACT FORCES
AND TIRE ROAD FRICTION
Nacer K. M’Sirdi
LSIS, CNRS UMR 6168. Dom. Univ. St Jrme, Av. Escadrille Normandie - Niemen 13397, Marseille Cedex 20, France
[email protected]; www.nkms.free.fr
Abdelhamid Rabhi
C.R.E.A, 7 Rue du Moulin Neuf, 80000 Amiens, France
Aziz Naamane
LSIS, CNRS UMR 6168. Dom. Univ. St Jrme, Av. Escadrille Normandie - Niemen 13397, Marseille Cedex 20, France
Keywords: Vehicle dynamics, Sliding Modes observer, Robust nonlinear observers, tire forces estimation.
Abstract: In this paper a 16 DoF vehicle model is presented and discussed. Then some partial models are considered
and justified for the design of robust estimators using sliding mode approach in order to identify the tire-
road friction or input variables. The estimations produced are based on split system equations in as cascaded
observers and estimators. The first produces estimations of vehicle states.
351
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
352
VEHICLE MODELS AND ESTIMATION OF CONTACT FORCES AND TIRE ROAD FRICTION
353
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
354
VEHICLE MODELS AND ESTIMATION OF CONTACT FORCES AND TIRE ROAD FRICTION
one or several manifolds in the state-space. In what complete modeling equations. For vehicle systems it
follows, we use a second order differentiator in order is very hard to build up a complete and appropriate
to derive robust estimates of the tire road friction. model for global observation of all the system states
in one step. Thus in our work, we avoid this prob-
3.1 High Order Sliding Mode Observer lem by means of use of simple and cascaded models
(HOSM) suitable for robust observers design.
The first step produces estimations of velocities.
In this part we will use a Robust Differentiation The second one estimate the tire forces (vertical and
Estimator (RDE) to deduce our robust estimations. longitudinal ones) and the last step reconstruct the
Consider a smooth dynamics function, s(x) ∈ R. friction coefficient.
The system containing this variable may be closed The robust differentiation observer is used for es-
by some possibly-dynamical discontinuous feedback timation of the velocities and accelerations of the
where the control task may be to keep the output wheels. The wheels angular positions and the veloc-
s(x(t)) = 0. Then provided that successive total time ity of the vehicles body vx , are assumed available for
. .. measurements. The previous Robust Estimator is use-
derivatives s, s, s...s(r−1) are continuous functions of
ful for retrieval of the velocities and accelerations.
the closed system state space variables, and the t-
1st Step:
sliding point set is non-empty and consist locally of
. 2
Filippov trajectories.
3
θ = v0 = ω
b b − λ0 θ − b
θ sign(θ − bθ)
. ..
s = s = s = ... = s(r−1) = 0 (11) . . 1
b − λ1 sign(ω
b = v1 = ω
ω b − v0 ) 2 sign(ω
b − v0 )
is non-empty and consists locally of Filippov tra- .. .
jectories. The motion on set (Filippov)(Utkin99) b = −λ2 sign(ω
ω b − v1 )
is called r-sliding mode (rth -order sliding mode)
(Orlov)(Levant).
The convergence of these estimates is guaranteed
The HOSM dynamics converge toward the origin
in finite time t0 .
of surface coordinates in finite time always that the or-
2nd Step: In the second step we can estimate the
der of the sliding controller is equal or bigger than the
forces Fx and Fz . Then to estimate Fx we use the fol-
sum of a relative degree of the plant and the actuator.
lowing equation,
To estimate the derivatives s1 and s2 without its direct .
calculations of derivatives, we will use the 2nd -order b = T − Re f Fbx
Jω (12)
exact robust differentiator of the form (Levant)
. 2
z0 = v0 = z1 − λ0 |z0 − sω | 3 sign(z0 − sω ) In the simplest way, assuming the input torques
. 1 known, we can reconstruct Fx as follows:
z1 = v1 = −λ1 sign(z1 − v0 ) sign(z1 − v0 ) + z2
2
. .
z2 = −λ2 sign(z2 − v1 ) (T − J ωb)
Fbx = (13)
Re f
where z0 , z1 and z2 are the estimate of sω , s1 and .
s2 , respectively, λi > 0, i = 0, 1, 2. Under condition b is produced by the Robust Estimator (RE). Note
ω
λ0 > λ1 > λ2 the third order sliding mode motion will that any estimator with output error can also be used
be established in a finite time. The obtained estimates to enhance robustness versus noise. In our work, in
. ..
are z1 = s1 = sω and z2 = s2 = sω then they can be progress actually, the torque T will be also estimated
used in the estimation of the state variables and also by means of use of additional equation from engine
in the control. behavior related to accelerating inputs.
After those estimations, their use in the same time
3.2 Cascaded Observers - Estimators with the system equations allow us to retrieve de ver-
tical forces Fz as follows. To estimate Fz we use the
In this section we use the previous approach to build following equation
m .
an estimation scheme allowing to identify the tire
Fbz = (glr − h.vbx ) (14)
road friction. The estimations will be produced in 2(l f + lr )
three steps, as cascaded observers and estimator, re-
construction of information and system states step by vbx is produced by the RE.
step. This approach allow us to avoid the observ- 3rd Step: At this step it only remains to estimate
ability problems dealing with inappropriate use of the the adherence or friction coefficient. To this end we
355
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Fbx
µ=
b (15)
Fbz
Figure 4 shows the measured and estimated wheel Figure 7: Estimated and measured acceleration.
angular position. This signal is used to estimate ve-
locities and accelerations. Figure 4 shows the esti-
longitudinal forces Fx and normal forces Fz which are
presented in figure 8 and 9. Finally road friction
coefficient is deduced and presented in figure (10).
5 CONCLUSION
In this work we have tried to highlight all approxima-
tions made in general when using simplified models
and this paper gives some details allowing to evaluate
Figure 4: Angular displacements.
what is really neglected. In second part od this paper,
we have proposed an efficient and robust estimator
mated wheel angles. In the figure 6, we represent baser on the second order sliding mode differentiator.
the estimation of vehicle velocity. The figure shows This is used to build an estimation scheme allowing to
the good convergence to the actual vehicle velocity. identify the tire road frictions and input forces which
Figure 7 shows the obtained vehicle acceleration. The are non observable when using the complete model
356
VEHICLE MODELS AND ESTIMATION OF CONTACT FORCES AND TIRE ROAD FRICTION
REFERENCES
F. Gustafsson, ”Slip-based tire-road friction estimation”,
Automatica, vol 33, no. 6, pp. 1087-1097, 1997.
J. Ackermann ”Robust control prevents car skidding. IEEE
Control systems magazine, V17, N3, pp23-31, 1997
N. K. M’sirdi, A. Rabhi, N. Zbiri and Y. Delanne. VRIM:
Vehicle Road Interaction Modelling for Estimation of
Figure 9: Normal force Fz . Contact Forces. Accepted for TMVDA 04. 3rd Int.
Tyre Colloquium Tyre Models For Vehicle Dynamics
Analysis August 30-31, 2004 University of Technol-
ogy Vienna, Austria
and standard sensors. The estimations produced fi-
C. Canudas de Wit, P.Tsiotras, E.Velenis, M.Basset,
nite time converging measurements of model inputs, G.Gissinger. Dynamic Friction Models for Road/Tire
in three steps by cascaded observers and estimators. Longitudinal Interaction. Vehicle Syst. Dynamics
This method shows very good performances in simu- 2003. V39, N3, pp 189-226.
lations conducted using a more complex model (than Laura Ray. Nonlinear state and tire force estimation for ad-
the 16 DoF one) involved in VeDyna car simulator. vanced vehicle control. IEEE T on control systems
Tire forces (vertical and longitudinal ones) are also technology, V3, N1, pp117-124, march 1995.
estimated correctly. Simulation results are presented Nacer K. M’Sirdi. Observateurs robustes et estimateurs
to illustrate the ability of this approach to give es- pour l’estimation de la dynamique des véhicules et du
timation of both vehicle states and tire forces. The contact pneu - route. JAA. Bordeaux, 5-6 Nov 2003
robustness versus uncertainties on model parameters S. Drakunov, U. Ozguner, P. Dix and B. Ashrafi. ABS con-
and neglected dynamics has also been emphasized in trol using optimum search via sliding modes. IEEE
simulations. Application of this approach with inclu- Trans. Control Systems Technology, V 3, pp 79-85,
sion of torque estimation using a simplified model for March 1995.
the engine behavior, is in progress. A. Rabhi, H. Imine, N. M’ Sirdi and Y. Delanne. Observers
With Unknown Inputs to Estimate Contact Forces and
Road Profile AVCS’04 International Conference on
Advances in Vehicle Control and Safety Genova -
ACKNOWLEDGEMENTS Italy, October 28-31 2004
Christopher R. Carlson. Estimation With Applications for
This work has been done in a collaboration managed Automobile Dead Reckoning and Control. PhD the-
by members of the LSIS inside the GTAA (research sis, University of STANDFOR 2003.
group supported by the CNRS).
U. Kiencken, L. Nielsen. Automotive Control Systems.
Thanks are addressed to the LCPC of Nantes for
Springer, Berlin, 2000.
experimental data and the trials with their vehicle
Peugeot 406. Mendoza, Sur la modèlisation et la commande des
véhicules automobiles, Thèse, Juillet 1997.
H. Imine, N. M’Sirdi, L. Laval, Y. Delanne - Sliding Mode
Observers for Systems with Unknown Inputs: Appli-
cation to estimate the Road Profile. A paraı̂tre dans
ASME, Journal of Dynamic Systems, Measurement
and Control en mars 2003.
357
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
M7,7 0 0 0
R. Ramirez-Mendoza. Sur la modélisation et la commande
des véhicules automobiles. PHD thesis Institut Na- 0 M8,8 0 0
M̄3,3 = ;
tional Polytechnique de Grenoble, Laboratoire d Au- 0 0 M9,9 0
tomatique de Grenoble 1997. 0 0 0 M10,10
G. Beurier. Modélisation et la commande de système. PHD M11,11 0 0
thesis LRP. UPMC Paris 6, 1998. M̄4,4 = 0 M12,12 0
J. Davila and L. Fridman. “Observation and Identifica- 0 0 M13,13
tion of Mechanical Systems via Second Order Slid-
M14,14 0 0
ing Modes”, 8th. International Workshop on Variable
Structure Systems,September 2004, Espana M̄5,5 = 0 M15,15 0
0 0 M16,16
A. Levant, ”Robust exact differentiation via sliding mode
technique”, Automatica, vol. 34(3), 1998, pp 379-384.
A. F. Filippov, Differential Equations with Discontin-
uous Right-hand Sides, Dordrecht, The Nether-
lands:Kluwer Academic Publishers; 1988.
V. Utkin, J. Guldner, J. Shi, Sliding Mode Control in Elec-
tromechanical Systems, London, UK:Taylor & Fran-
cis; 1999.
J. Alvarez, Y. Orlov, and L. Acho, ”An invariance principle
for discontinuous dynamic systems with application
to a coulomb friction oscillator”, Journal of Dynamic
Systems, Measurement, and Control, vol. 122, 2000,
pp 687-690.
Levant, A. Higher-order sliding modes, differentiation and
output-feedback control, International Journal of Con-
trol, 2003, Vol.76, pp.924-941
Simulator VE-DYNA. www.tesis.de/index.php.
APPENDIX
Definition
of the matrices involved.in
the model.
M1,1 0 0
M̄11 = 0 M2,2 0
0 0 M3,3
M1,4 M1,5 M1,6
T = M
M̄12 = M̄21 2,4 M3,5 M2,6 ;
0 M3,5 M3,6
M1,7 M1,8 M1,9 M1,10
T = M
M̄13 = M̄31 2,7 M2,8 M2,9 M2,10 ;
M3,7 M3,8 M3,9 M3,10
M4,7 M4,8 M4,9 M4,10
t = M
M̄23 = M̄32 5,7 M5,8 M5,9 M5,10
M6,7 M6,8 M6,9 M6,10
M4,11 M4,12 M4,13
T = M
M̄24 = M̄42 5,11 M5,12 M5,13
0 0 0
M4,14 M4,15 M4,16
T M
M̄2,5 = M̄52 5,14 M5,15 M5,16
0 M6,15 M6,16
M4,4 M4,5 M4,6
M̄2,2 = M5,4 M5,5 M5,6 ;
M6,4 M6,5 M6,6
358
BENCHMARKING HAAR AND HISTOGRAMS OF ORIENTED
GRADIENTS FEATURES APPLIED TO VEHICLE DETECTION
Keywords: Intelligent vehicle, vehicle detection, AdaBoost, Haar filter, Histogram of oriented gradient.
Abstract: This paper provides a comparison between two of the most used visual descriptors (image features) nowadays
in the field of object detection. The investigated image features involved the Haar filters and the Histogram of
Oriented Gradients (HoG) applied for the on road vehicle detection. Tests are very encouraging with a average
detection of 96% on realistic on-road vehicle images.
359
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
2 FEATURES
360
BENCHMARKING HAAR AND HISTOGRAMS OF ORIENTED GRADIENTS FEATURES APPLIED TO VEHICLE
DETECTION
361
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
features using the Discrete Adaboost algorithm (Viola Table 1: Single stage detection rates (Haar and HoG classi-
and Jones, 2001). fiers).
We used the TS for the positive examples. The Classifier DR (%) FP Time
non-vehicle (negatives) examples were collected by HoG - 100 fts 69.0 1289 3,52
selecting randomly 5000 sub-windows from a set of HoG - 150 fts 72.5 1218 4,20
250 non-vehicle images at different scales. HoG - 200 fts 83.1 1228 5,02
To evaluate the performance of the classifiers, the
average detection rate (DR) and the number of false Haar - 100 fts 96.5 1443 2,61
positives (FP) were recorded using a three-fold cross Haar - 150 fts 95.7 1278 3,93
validation procedure. Specifically, we obtain three Haar - 200 fts 95.8 1062 5,25
sets of non-vehicle sub-windows to train three strong
1
classifiers. Then, we test these classifiers on the test
set.
0.99
AA
Haar 200 fts
HoG 100 fts
strong classifiers (Viola and Jones, 2001). The multi HoG 150 fts
stage detector increases detection accuracy and re- 0.96 HoG 200 fts
Stages in the cascade are constructed with the Ad- Figure 4: ROC curves for Haar and HoG Single Stage de-
aboost algorithm, training a strong classifier which tectors.
achieves a minimum detection rate (dmin = 0.995) and
a maximum false positive rate ( fmax = 0.40). The
training set is composed of the TS positive examples ble. On the other hand, Haar classifiers are discrimi-
and the non-vehicle images separated in 12 different native classifier evaluating a fronteer between positive
folders (the maximum number of stages). Subsequent and negative samples. Now, the fronteer is refined -
classifiers are trained using those non-vehicle images and the number of false positives decreases - when
of the corresponding folder which pass through all the the number of features increases. Figure 4 presents
previous stages. the ROC curves for each detector. As told before, for
An overall false positive rate is defined to stop the a given detection rate, the number of false positives is
cascade training process (F = 43 ∗ 10−7 ) within the lower for Haar classifiers than for HoG classifiers.
maximum number of stages.
This time, the average accuracy (AA) and false
positives (FP) where calculated using a five-fold cross 1
Table 1 shows the detection rate of the single stage Haar − N = 1000
0.85 Haar − N = 2000
detector trained either on Haar features or on HoG Haar − N = 3000
HoG − N = 1000
features with respectively 100, 150 and 200 features. HoG − N = 2000
HoG − N = 3000
These results are very interesting though quite pre- 0.8
362
BENCHMARKING HAAR AND HISTOGRAMS OF ORIENTED GRADIENTS FEATURES APPLIED TO VEHICLE
DETECTION
Table 2: Multi stage detection rate (Haar and HoG classi- 5 CONCLUSION
fiers).
Classifier Stages # Fts # Neg DR (%) FP t (seg) This communication deals with a benchmark com-
Haar 12 306 1000 94.3 598 0.75 paring Haar-like features and Histograms of Oriented
Haar 12 332 2000 94 490 0.71 Gradients features applied to vehicle detection. These
Haar 12 386 3000 93,5 445 0.59 features are used in a classification algorithm based
HoG 12 147 1000 96.5 935 0.51 on Adaboost. Two strategies are implemented: a sin-
HoG 12 176 2000 96.1 963 0.59 gle stage detector and a multi-stage detector. The
HoG 11 192 3000 96.6 954 0.55 tests - applied on realistic on-road images - show two
different results: for the HoG (generative) features,
when the number of considered features increases, the
detection rate increases while the number of false pos-
itives keeps stable; for the Haar-like (discriminative)
features, the number of false positives decreases. Fu-
ture works will be oriented to combined these behav-
iors. An approach could be build using simultane-
ously both feature types. We should also select rele-
vant features.
ACKNOWLEDGEMENTS
This research was supported by PSA Peugeot Citroën.
(a) (b) The authors would liko to thank Fabien Hernan-
dez from PCA Direction de la Recherche et de
Figure 6: Detection results for (a) HoG and (b) Haar Multi l’Innovation Automobile for their help with the data
Stage detectors. collection.
363
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
Dellaert, F. (1997). Canss: A candidate selection and search Yang, H., Lou, J., Sun, H., Hu, W., and Tan, T. (2001).
algorithm to initialize car tracking. Technical report, Efficient and robust vehicle localization. In Interna-
Robotics Institute, Carnegie Mellon University. tional Conference on Image Processing, volume 2,
Demonceaux, C., Potelle, A., and Kachi-Akkouche, D. pages 355–358, Thessaloniki, Greece.
(2004). Obstacle detection in a road scene based
on motion analysis. IEEE Transactions on Vehicular
Technology, 53(6):1649 – 1656.
Franke, U. (2000). Real-time stereo vision for urban traf-
fic scene understanding. In Proceedings IEEE Intel-
ligent Vehicles Symposium 2000, pages 273–278, De-
troit, USA.
Freund, Y. and Schapire, R. (1996). Experiments with a
new boosting algorithm. In International Conference
on Machine Learning, pages 148–156.
Friedman, J., Hastie, T., and Tibshirani, R. (2000). Additive
logistic regression: a statistical view of boosting. The
Annals of Statistics, 28(2):337–374.
Gepperth, A., Edelbrunner, J., and Bocher, T. (2005). Real-
time detection and classification of cars in video se-
quences. In Intelligent Vehicles Symposium, pages
625–631.
Guo, D., Fraichard, T., Xie, M., and Laugier, C. (2000).
Color modeling by spherical influence field in sensing
drivingenvironment. In IEEE, editor, Intelligent Vehi-
cles Symposium, pages 249–254, Dearborn, MI, USA.
Lowe, D. (1999). Object recognition from local scale-
invariant features. In Proceedings of the International
Conference on Computer Vision, pages 1150–1157.
Papageorgiou, C. and Poggio, T. (1999). A trainable ob-
ject detection system: Car detection in static images.
Technical report, MIT AI Memo 1673 (CBCL Memo
180).
Schneiderman, H. and Kanade, T. (2000). A statistical
method for 3d object detection applied to faces and
cars. In ICCVPR, pages 746–751.
Srinivasa, N. (2002). Vision-based vehicle detection and
tracking method for forward collision warning in au-
tomobiles. In IEEE Intelligent Vehicle Symposium,
volume 2, pages 626–631.
Sun, Z., Bebis, G., and Miller, R. (2004). Object detection
using feature subset selection. Pattern Recognition,
37(11):2165–2176.
Sun, Z., Bebis, G., and Miller, R. (2006). On-road vehicle
detection: A review. IEEE Trans. Pattern Anal. Mach.
Intell., 28(5):694–711.
van Leeuwen, M. and Groen, F. (2001). Vehicle detec-
tion with a mobile camera. Technical report, Com-
puter Science Institute, University of amsterdam, The
Netherlands.
Viola, P. and Jones, M. (2001). Rapid object detection using
a boosted cascade of simple features. In Conference
on Computer Vision and Pattern Recognition, pages
511–518.
Xiong, T. and Debrunner, C. (2004). Stochastic car track-
ing with line- and color-based features. Advances
and Trends in Research and Development of Intelli-
gent Transportation Systems: An Introduction to the
Special Issue, 5(4):324–328.
364
MULTIMODAL COMMUNICATION ERROR DETECTION FOR
DRIVER-CAR INTERACTION
Hedvig Kjellström
KTH (Royal Institute of Technology), CSC, SE-100 44 Stockholm, Sweden
[email protected]
Abstract: Speech recognition systems are now used in a wide variety of domains. They have recently been introduced in
cars for hand-free control of radio, cell-phone and navigation applications. However, due to the ambient noise
in the car recognition errors are relatively frequent. This paper tackles the problem of detecting when such
recognition errors occur from the driver’s reaction. Automatic detection of communication errors in dialogue-
based systems has been explored extensively in the speech community. The detection is most often based on
prosody cues such as intensity and pitch. However, recent perceptual studies indicate that the detection can be
improved significantly if both acoustic and visual modalities are taken into account. To this end, we present a
framework for automatic audio-visual detection of communication errors.
365
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
2 RELATED WORK
There has been limited literature on the use of low-
level audio cues and visual features in automatically
detecting dialogue-based system errors in an authen- Figure 1: Illustration of communication errors. In a., the
tic environment. A perceptual study conducted by subject is making a query of a restaurant the first time. In
Barkhuysen et al. (Barkhuysen et al., 2004) showed b., the subject is listening to the response of the system. And
that audio and visual cues are useful in detecting com- in c., the subject repeats his query. The facial expression of
munication errors. The study also showed that using the user in b. and c., as well as the tone of the user’s voice
visual cues were very effective for detecting system in c. are the cues our algorithm exploits for the detection of
errors when the user is listening in silence to the re- communication errors.
ply from the dialog manager. In this study though,
subjects were specifically instructed to face a camera ply as a separate stream.
embedded in a cellphone while speaking to it. Knowl- In this paper we propose to detect communication
edge of this camera could bias the subject’s behav- errors multimodally by using visual and audio fea-
ior. As shown by Sebe et al. (Sebe et al., 2004), this tures. We focus on an environment where the user
knowledge bias was significant for learning facial ex- is interacting with a conversational information query
pressions. In this work, subjects were viewing movie system similar to the ones present in car navigation
clips in a kiosk, without any knowledge of a cam- systems. We define a communication error as the
era capturing their facial expressions. However, no instance where the system misrecognizes the driver
prosody or audio cues of the subjects were collected. speech, and makes an erroneous reply. This is illus-
Recent work done in emotion or affect recog- trated in Figure 1. We detect the presence of this error
nition has explored the combined use of prosody when the user is speaking or when the user is listening
and facial features (Zeng et al., 2004; Chen et al., to the system.
1998). Zeng et al. (Zeng et al., 2004) used a vot- The rest of the paper is described as follows. First,
ing method to combine the facial feature and prosody we describe the features we extract from audio and
classifiers to improve affect recognition. Although visual streams to measure confusion. Then we give
this work addressed the difficult task of classifying a description of our classification models and late fu-
eleven emotional states, it suffers from the use of a sion strategies, followed by our experiment setup and
database where subjects generated emotions upon re- procedure. In the last section, we show comparative
quest, which may not be the genuine expressions in results of the different classifiers.
an authentic environment.
In the domain of detecting communication errors,
also known as system errors, audio cues have been
explored widely. Oviatt (Oviatt and VanGent, 1998) 3 MULTIMODAL INPUT
showed that there is a pattern of hyper-articulation
when there are system errors, which leads to worse 3.1 Visual Component
recognition results. Litman et al. (Litman et al., 2001)
and Hirschberg et al. (Hirschberg et al., 2001) auto- In this section we describe our algorithm for estimat-
matically extracted prosodic features of a speaker’s ing head pose and facial motion features from monoc-
utterances and showed that these features have been ular image sequences. In our framework, head mo-
useful in error detection, although the extent to which tion is decomposed into two distinct components. The
prosody is beneficial differs across studies. This im- first component consists of the 3D rigid motion of the
plies that the accuracy of error detection can be im- head. The second component consists of the local
proved by the addition of other features, e.g. visual motion generated by the non-rigid parts of the face
cues, either as a combination with audio cues or sim- (e.g. mouth, lips, eyes).
366
MULTIMODAL COMMUNICATION ERROR DETECTION FOR DRIVER-CAR INTERACTION
367
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
the LPC coefficients are computed. This first formant Hidden Conditional Random Fields (HCRF)
is then extracted using these coefficients by the Burg - The HCRF is a model that has recently been
algorithm described in (Childers, 1978). introduced for the recognition of observation se-
In previous work (Sebe et al., 2004) syllable rate quences (Quattoni et al., 2004). Here we describe the
was used as a prosody feature. However, in our work, HCRF model briefly:
our audio data consists of spoken as well as non- A HCRF models the conditional probability of a
spoken words, e.g. exclamations, gasps or humming, class label given an observation sequence by:
which we want to model for automatic problem de-
tection. and our speech recognizer had a lot of dif- ∑s eΨ(y,s,x;θ)
P(y | x, θ) = ∑ P(y, s | x, θ) =
ficulty computing an accurate syllable rate. Of the ∑y′ ∈Y ,s∈Sm eΨ(y ,s,x;θ)
′
s
219 utterances processed by the speech recognizer, (4)
97 utterances have an incorrect number of hypothe- where s = {s1 , s2 , ..., sm }, each si ∈ S captures certain
sized vowel phones. On average, these incorrectly underlying structure of each class and S is the set of
recognized utterances have 2.73 syllables more than hidden states in the model. If we assume that s is ob-
the hypothesized ones. served and that there is a single class label y then the
conditional probability of s given x becomes a regular
CRF. The potential function Ψ(y, s, x; θ) ∈ ℜ, param-
4 MULTIMODAL DETECTION eterized by θ, measures the compatibility between a
label, the observation sequence, and the configuration
OF SYSTEM ERRORS of the hidden states.
In our paper, the local observations are the visual
We explore different techniques to detect communi- features, V f , or the audio features, A f . We trained a
cation errors from sequences of audio-visual features single two-class HCRF. Test sequences were run with
estimated in Section 3.2. First, we describe unimodal this model and the communication state class with the
classification models followed by the multimodal fu- highest probability was selected as the recognized er-
sion strategies we tested. ror state.
For the HMM model, the number of Gaussian
4.1 Unimodal Classification Methods mixtures and states was set by minimizing the error
on training features. For the HCRF model, the num-
We want to map an observation sequence x to class ber of hidden states was set in a similar fashion.
labels y ∈ Y , where x is a vector of t consecutive ob-
servations, x = {x1 , x2 , . . . xt }. In our case, the local
observation xt can be an audio feature A f , or a visual
4.2 Multimodal Fusion Strategies
feature, V f .
To detect communication errors, learning the se- We have a choice between early or late fusion when
quential dynamics of these observations is important. combining the audio and visual modalities. In early
Hidden Markov Models (HMMs) (Rabiner, 1989) are fusion, we can model the audio and visual features
well known generative probabilistic sequence models in a single joint feature space, and use the joint fea-
that capture sequence dynamics; Hidden Conditional ture for training a single classifier. In late fusion, we
Random Fields (HCRFs) (Quattoni et al., 2004; Wang can train a classifier on each modality separately and
et al., 2006) are discriminative analogs that have been merge the outputs of the classifiers. As illustrated in
recently introduced for gesture recognition. We com- Figure 1, our communication error detection has two
pare both techniques in our experiments below; exper- different modes: in b. we use visual features only for
iments with classifiers taking a single observation as error detection and in c. we use both audio and visual
input previously demonstrated poor results, and were features. The single mode in b. requires us to train
not included in our experiments. a classifier using a single input stream. In addition,
Hidden Markov Models (HMM) - We trained a training classifiers based on individual streams is a
HMM model for each communication state. During simpler process. As such, we choose late fusion tech-
evaluation, test sequences were passed through each niques, i.e. fusing the outputs of two classifiers. We
of these models and the model with the highest like- use two common late-fusion strategies as described
lihood was selected as the recognized communication in (Kittler et al., 1998).
state. This is a generative, sequential model with hid- Let the feature input to the j-th classifier, j =
den states. More details of this model are described 1, ..., R be x j , and the winning label be h. A uniform
in (Rabiner, 1989). prior across all classes is assumed.
368
MULTIMODAL COMMUNICATION ERROR DETECTION FOR DRIVER-CAR INTERACTION
R
PRODUCT rule: h = arg max ∏ P(wk |x j ).
1
k j=1
0.9
True Positives
classifier, and select the winning class based on the 0.6
0.5
highest scoring multiplication.
R 0.4
k j=1 0.2
HMM
HCRF
With the sum rule, we add the probabilities of the vi- 0.1
0 0.2 0.4 0.6 0.8 1
sual feature classifier and the audio feature classifier, False Positives
0.8
0.7
True Positives
0.6
5 EXPERIMENTS AND RESULTS 0.5
0.4
0.2
HMM
0.1
HCRF
To evaluate the performance of the different classifiers 0
0 0.2 0.4 0.6 0.8 1
and fusion strategies, we collected an audio-visual False Positives
369
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
0.9
0.8
Using prosody features, A f , from Section 3.2 as ob- 0.7
servations, we trained two classifiers described in
False Positives
0.6
Section 4.1. Figure 4 shows the ROC curves for the 0.5
characteristics as our prosody features and shows that 0.1 HCRF PRODUCT
0
such features are not very indicative of communica- 0 0.2 0.4 0.6
True Positives
0.8 1
0.9
5.2.3 Audio-Visual Classification 0.8
0.7
False Positives
0.6
0.4
ROC curve of the combining the various classifiers
0.3
using the SUM and PRODUCT rule. The classi- 0.2
fiers show a significant improvement using the late fu- 0.1
HMM SUM
HCRF SUM
370
MULTIMODAL COMMUNICATION ERROR DETECTION FOR DRIVER-CAR INTERACTION
371
PRIUS CONTROL WITH A HYBRID METHOD
Danil Prokhorov
Toyota Technical Center
Toyota Motor Engineering and Manufacturing North America (TEMA)
2350 Green Rd., TRD, Ann Arbor, MI 48105, U.S.A.
[email protected]
Abstract: We describe an application of a computational intelligence method for superior control of the Toyota Prius
hybrid electric vehicle. We are interested in improvement of fuel efficiency while reducing emissions. We
describe our approach which is based on recurrent neural networks. The proposed approach is quite general
and applicable to other complex real-world systems.
372
PRIUS CONTROL WITH A HYBRID METHOD
3 EXPERIMENTS
We first train a NN model to enable off-line train-
ing the neurocontroller as discussed in Section 2. To
do supervised training of the NN model in Figure
2, we gather the input-output pairs from 20 diverse
drive cycles generated in the Prius simulator. We
trained a 25-node structured RNN for 3000 epochs
using the multi-stream EKF (Prokhorov et al., 2001)
and attained the training RMSE of 5·10−4 (the largest
generalization RMSE was within 20% of the training
Figure 1: The Prius car and the main components of the
Toyota hybrid system. RMSE).
The closed-loop control system for training the
NN controller is shown in Figure 2. The converter
determines the required values of the speed ωdr and
As in our previous work (Prokhorov et al., 2001),
the torque Trd at the ring gear of the planetary mecha-
we employ recurrent neural networks (RNN) as con-
nism to achieve the desired vehicle speed specified in
trollers and train them for robustness to parametric
the drive cycle. This is done on the basis of the Prius
and signal uncertainties (known bounded variations of
model of motion. The constraint verifier assures sat-
physical parameters, reference trajectories, measure-
isfaction of various constraints which must hold for
ment noise, etc.). We intend to deploy the trained neu-
the engine, the motor and the generator speeds and
rocontroller with fixed weights.
torques in the planetary gear mechanism, i.e., ωe and
This paper is structured as follows. In the next
Te , ωm and Tm , ωg and Tg , respectively.
section we describe the main elements of our off-line
Our first control goal is to minimize the average
training. The approach permits us to create an RNN
fuel consumed by the engine. However, fuel mini-
controller which is ready for deployment with fixed
mization only is not feasible. The Prius nickel-metal
weights. We then describe our experiments in Sec-
hydride battery is the most delicate nonlinear compo-
tion 3, followed by our conclusions and directions for
nent of the system with long-term dynamics due to
future work.
discharging, charging and temperature variations. It
is important to avoid rapid and deep discharges of the
battery which can drastically reduce its life, requir-
2 OFF-LINE TRAINING ing costly repairs or even battery replacement. Thus,
the second goal of the HEV control is to maintain the
We adopt the approach of indirect or model based battery State Of Charge (SOC) throughout the drive
control development for off-line training. The Prius cycle in the safe zone. The SOC can vary between
simulator is a highly complex, distributed software 0.0 (fully discharged) and 1.0 (fully charged), but the
which makes training a neurocontroller directly in safe zone is typically above 0.4.
the simulator difficult. We implemented a hybrid ap- We combine the two control goals to ob-
proach in which the most essential elements of the tain cost(t) = λ1 s f 2 (t) + λ2 (t)(SOCd (t) − SOC(t))2 ,
simulator are approximated sufficiently accurately by where s f (t) stands for specific fuel or fuel rate con-
a neural network model. The NN model is used to sumed by the engine at time t, λ1 = 1, and λ2 (t) ∈
train a neurocontroller by effectively replacing the [10, 50] due to about one order of magnitude differ-
simulator. The trained neurocontroller performance ence between values of s f and those of SOC. The
is then verified in the simulator. desired SOCd (t) is constant in our experiments for
The use of differentiable NN for both model and simplicity. We encourage our controller to pay ap-
controller makes possible application of the industri- proximately the same level of attention to both s f and
ally proven training method which employs the back- SOC, although the optimal balance between λ1 and
propagation through time (BPTT) and the extended λ2 is yet to be determined. We also penalize reduc-
Kalman filter (EKF) for training NN. We refer the tions of the SOC below SOCd five times heavier than
reader to other references for its more comprehensive its increases to discourage the controller from staying
373
ICINCO 2007 - International Conference on Informatics in Control, Automation and Robotics
in the low-SOC region for long. Thus, λ2 (t) = 10 if lator because the NN model and the verifier only ap-
SOC(t) ≥ SOCd , and λ2 (t) = 50 if SOC(t) < SOCd . proximate the simulator’s behavior. Our results below
Ultimately, we would also like to minimize emis- pertain to the simulator, rather than its NN approxi-
sions of the harmful gases. In this study we attempt to mation.
reduce emissions indirectly through reducing the fuel The basic idea of the current Prius HEV control
consumption because they are often correlated. logic is discussed in (Hermance, 1999). When the
Our RNN controller has 5-5R-2 architecture, i.e., power demand is low and the battery SOC is suffi-
five inputs, five recurrent nodes in the fully recur- ciently high, the motor powers the vehicle. As the
rent hidden layer, and two bipolar sigmoids as output power demand and vehicle speed increase, or the SOC
nodes. The RNN receives as inputs the required out- reduces below a threshold, the engine is started (the
put drive speed ωdr and torque Trd , the current engine generator may help the motor start the engine). The
fuel rate s f , the current SOC and the desired SOC engine power is split between propelling the vehi-
SOCd (see Figure 2; the desired fuel rate is implicit, cle and charging the battery through the generator.
and it is set to zero). The RNN produces two con- As the power demand continues to grow, the engine
trol signals in the range of ±1. The first output is the might not be able to stay within its efficiency limits.
engine torque τe , and the second output is the engine In those cases the motor can provide power assist by
speed we which become Te and ωe , respectively, after driving the wheels to keep the engine efficiency rea-
passing through the constraint verifier. sonably high, as long as the battery can supply the re-
quired power. During decelerations the motor is com-
manded to operate as a generator to recharge the bat-
tery, thereby implementing regenerative braking.
It is hard to make this rule-based strategy opti-
Te(t)
SOC(t) mal for such a complex powertrain. Significant aver-
SOC(t-1)
we(t)
te(t) aging over drive cycles with quite different behavior
Constraint
Tg(t)
verifier
SOCd(t) NN NN
compromising the best achievable performance is un-
controller wg(t) model
sf (t-1)
we(t)
Tm(t)
avoidable. We believe that a strategy based on a data-
sf (t)
wm(t)
driven learning system should be able to beat the rule-
wrd (t ) based strategy because of its ability to discern differ-
d
Tr (t )
ences in driving patterns and take advantage of them
60
20
We compare our RNN controller trained for ro-
speed
10
0
0 100 200 300 400 500
bustness with the rule-based control strategy of the
Prius on 20 drive cycles including both standard
cycles (required by government agencies) and non-
Figure 2: Block diagram of the closed-loop system for train-
standard cycles (e.g., random driving patterns). Our
ing the NN controller. The converter determines the re-
quired values of speed ωdr and torque Trd at the ring gear
RNN controller is better by 15% on average than the
of the planetary mechanism to achieve the desired vehicle rule-based controller in terms of fuel efficiency, and it
speed profile. The constraint verifier makes sure not only appears to be slightly better than the rule-based con-
that the torques and speeds are within their specified physi- troller in terms of its emissions on long drive cycles.
cal limits but also that they are consistent with constraints of It also reduces variance of the SOC over the drive cy-
the planetary gear mechanism. The trained NN model takes cle by at least 20%.
care of the remaining complicated dynamics of the plant. Figure 3 shows an example of our results. It is
The feedback loop is closed via SOC and the fuel rate s f ,
a fragment of a long drive cycle (the total length is
but the required ωdr and Trd are guaranteed to be achieved
through the appropriate design of the constraint verifier. 12, 700 seconds). Our advantage appears to be in the
more efficient usage of the engine. The engine effi-
ciency is 32% vs. 29% for the rule-based controller.
Our RNN controller is trained off-line using the We also achieved a big improvement in the genera-
multi-stream EKF algorithm described in Section 2. tor efficiency: 77% vs. 32%, with other component
When training of our NN controller from Figure 2 is efficiencies remaining basically unchanged.
finished, we can deploy it inside the high-fidelity sim-
ulator which approximates well behavior of the real
Prius and all its powertrain components. As expected,
we observed some differences between the neurocon-
troller performance in the closed loop with the NN
model and its performance in the high-fidelity simu-
374
PRIUS CONTROL WITH A HYBRID METHOD
200
0
−200
−400
200 400 600 800 1000 1200 1400 1600 1800 2000
Figure 3: A 2000-second fragment of a long city drive cycle
illustrating the typical performance of our RNN controller.
The initial segment (from 0 to ∼ 300 seconds) has signifi-
cant unavoidable emissions due to the engine cold start. The
speed ωdr and the torque Trd are the blue lines, ωe and Te are
the green lines, the ωm and Tm are the red lines, and ωg and
Tg are the cyan lines. Note that ωm = ωdr due to the system
design constraint.
4 CONCLUSION
We illustrate our approach to training neurcontrollers
on the Toyota Prius HEV through a high-fidelity sim-
ulation, which is done for the first time by methods of
computational intelligence and with results improved
over those of the existing controller. Our approach is
applicable to many real-world control problems.
REFERENCES
Baumann, B., Rizzoni, G., and Washington, G. N. (1998).
Intelligent control of hybrid vehicles using neural net-
375
AUTHOR INDEX
377
I
378