Robotic Frameworks, Architectures and Middleware Comparison
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Survey of Robot Programming Languages
Survey of Robot Programming Languages Seminar Report Submitted in partial fulfilment of the requirements for the degree of Master of Technology by Anirban Basumallik Roll No : 09305008 under the guidance of Prof. Kavi Arya Department of Computer Science and Engineering Indian Institute of Technology, Bombay April 2010 Abstract At the present moment the field of Robotics is extremely varied. The nature of tasks that robots can perform are very distributed and hence controlling or programming different robots need different methods. Many vendors have tried to provide a common platform by abstracting out the differences. In this report we carry out a survey of the different Robot Programming Languages available in the market and assess their pros and cons. Finally, we come up with the needs of a desirable robotics platform that can ease the task of programmers in programming a class of robots more succinctly and effectively. 1 CONTENTS CONTENTS Contents 1 Introduction 3 1.1 Robot Programming Platform . 3 1.2 Need for a Platform . 3 2 Microsoft Robotics Developer Studio 3 2.1 DSS . 4 2.2 CCR . 5 2.3 VPL . 6 2.4 VSE . 7 2.5 Others . 8 2.6 Pros, Cons and buzz . 8 3 Player/Stage 9 3.1 Player Goals and Design . 9 3.2 Stage simulation environment . 10 3.3 Working . 11 3.4 Pros, Cons and buzz . 12 4 URBI 12 4.1 Design philosophy . 12 4.2 URBI Technology . 13 4.3 Pros, Cons and buzz . 14 5 OROCOS 15 5.1 Design philosophy . 15 5.2 Pros, Cons and buzz . -
GNU/Linux AI & Alife HOWTO
GNU/Linux AI & Alife HOWTO GNU/Linux AI & Alife HOWTO Table of Contents GNU/Linux AI & Alife HOWTO......................................................................................................................1 by John Eikenberry..................................................................................................................................1 1. Introduction..........................................................................................................................................1 2. Symbolic Systems (GOFAI)................................................................................................................1 3. Connectionism.....................................................................................................................................1 4. Evolutionary Computing......................................................................................................................1 5. Alife & Complex Systems...................................................................................................................1 6. Agents & Robotics...............................................................................................................................1 7. Statistical & Machine Learning...........................................................................................................2 8. Missing & Dead...................................................................................................................................2 1. Introduction.........................................................................................................................................2 -
Introduction to ROS – Robot Operating System –
Introduction to ROS – Robot Operating System – Daniel Serrano Department of Intelligent Systems, ASCAMM Technology Center Parc Tecnològic del Vallès, Av. Universitat Autònoma, 23 08290 Cerdanyola del Vallès SPAIN [email protected] ABSTRACT This paper gives an introduction to the open-source Robot Operating System (ROS. ROS has been widely adopted by the research robotics community as it provides a powerful software framework to develop autonomous unmanned systems. In this paper, we discuss some of the components that are available on the ROS repository. 1.0 INTRODUCTION The Robot Operating System (ROS) [1] is an open source robot operating system. It provides libraries and tools to help software developers create robot applications. It offers hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is similar in some respects to 'robot frameworks,' such as Player, YARP, Orocos, CARMEN, Orca, MOOS, and Microsoft Robotics Studio. The primary goal of ROS is to support code reuse in robotics research and development. It has been quickly adopted by many robotics research institutions and companies as their standard development framework. The list of robots using ROS is quite extent and it includes platforms from diverse domains, ranging from aerial and ground robots to humanoids and underwater vehicles. To name some, the humanoid robots PR-2 and REEM-C, ground robots such as the ClearPath platforms and aerial platforms such as the ones from Ascending Technologies are fully developed in ROS. Furthermore, a quite extent list of popular sensors for robots is already supported in ROS. To name some, sensors such as Inertial Measurement Units, GPS receivers, cameras and lasers can already be accessed from the drivers widely available on the ROS system. -
Close Engagements with Artificial Companions: Key Social, Psychological, Ethical and Design Issues
OII / e-Horizons Forum Discussion Paper No. 14, January 2008 Close Engagements with Artificial Companions: Key Social, Psychological, Ethical and Design Issues by Malcolm Peltu Oxford Internet Institute Yorick Wilks Oxford Internet Institute OII / e-Horizons Forum Discussion Paper No. 14 Oxford Internet Institute University of Oxford 1 St Giles, Oxford OX1 3JS United Kingdom Forum Discussion Paper January 2008 © University of Oxford for the Oxford Internet Institute 2008 Close Engagements with Artificial Companions Foreword This paper summarizes discussions at the multidisciplinary forum1 held at the University of Oxford on 26 October 2007 entitled Artificial Companions in Society: Perspectives on the Present and Future, as well as an open meeting the previous day addressed by Sherry Turkle2. The event was organized by Yorick Wilks, Senior Research Fellow for the Oxford Internet Institute (OII)3, on behalf of the e-Horizons Institute4 and in association with the EU Integrated Project COMPANIONS. COMPANIONS is studying conversational software-based artificial agents that will get to know their owners over a substantial period. These could be developed to advise, comfort and carry out a wide range of functions to support diverse personal and social needs, such as to be ‘artificial companions’ for the elderly, helping their owners to learn, or assisting to sustain their owners’ fitness and health. The invited forum participants, including computer and social scientists, also discussed a range of related developments that use advanced artificial intelligence and human– computer interaction approaches. They examined key issues in building artificial companions, emphasizing their social, personal, emotional and ethical implications. This paper summarizes the main issues raised. -
Open Problems in Artificial Life
Open Problems in Artificial Life Mark A. Bedau,† John S. McCaskill‡ Norman H. Packard§ Steen Rasmussen Chris Adami†† David G. Green‡‡ Takashi Ikegami§§ Abstract This article lists fourteen open problems in Kunihiko Kaneko artificial life, each of which is a grand challenge requiring a Thomas S. Ray††† major advance on a fundamental issue for its solution. Each problem is briefly explained, and, where deemed helpful, some promising paths to its solution are indicated. Keywords artificial life, evolution, self-organi- zation, emergence, self-replication, autopoeisis, digital life, artificial chemistry, selection, evolutionary learning, ecosystems, biosystems, astrobiology, evolvable hardware, dynamical hierarchies, origin of life, simulation, cultural evolution, 1 Introduction information theory At the dawn of the last century, Hilbert proposed a set of open mathematical problems. They proved to be an extraordinarily effective guideline for mathematical research in the following century. Based on a substantial body of existing mathematical theory, the challenges were both precisely formulated and positioned so that a significant body of missing theory needed to be developed to achieve their solution, thereby enriching mathematics as a whole. In contrast with mathematics, artificial life is quite young and essentially interdis- ciplinary. The phrase “artificial life” was coined by C. Langton [11], who envisaged an investigation of life as it is in the context of life as it could be. Although artificial life is fundamentally directed towards both the origins of biology and its future, the scope and complexity of its subject require interdisciplinary cooperation and collabo- ration. This broadly based area of study embraces the possibility of discovering lifelike behavior in unfamiliar settings and creating new and unfamiliar forms of life, and its major aim is to develop a coherent theory of life in all its manifestations, rather than an historically contingent documentation bifurcated by discipline. -
Open-Endedness for the Sake of Open-Endedness
Open-Endedness for the Sake Arend Hintze Michigan State University of Open-Endedness Department of Integrative Biology Department of Computer Science and Engineering BEACON Center for the Study of Evolution in Action [email protected] Abstract Natural evolution keeps inventing new complex and intricate forms and behaviors. Digital evolution and genetic algorithms fail to create the same kind of complexity, not just because we still lack the computational resources to rival nature, but Keywords because (it has been argued) we have not understood in principle how to create open-ended evolving systems. Much effort has been Open-ended evolution, computational model, complexity, diversity made to define such open-endedness so as to create forms of increasing complexity indefinitely. Here, however, a simple evolving computational system that satisfies all such requirements is presented. Doing so reveals a shortcoming in the definitions for open-ended evolution. The goal to create models that rival biological complexity remains. This work suggests that our current definitions allow for even simple models to pass as open-ended, and that our definitions of complexity and diversity are more important for the quest of open-ended evolution than the fact that something runs indefinitely. 1 Introduction Open-ended evolution has been identified as a key challenge in artificial life research [4]. Specifically, it has been acknowledged that there is a difference between an open-ended system and a system that just has a long run time. Large or slow systems will eventually converge on a solution, but open- ended systems will not and instead keep evolving. Interestingly, a system that oscillates or that is in a dynamic equilibrium [21] would continuously evolve, but does not count as an open-ended evolving system. -
Robot Operating System - the Complete Reference (Volume 4) Part of the Studies in Computational Intelligence Book Series (SCI, Volume 831)
Book Robot Operating System - The Complete Reference (Volume 4) Part of the Studies in Computational Intelligence book series (SCI, volume 831) Several authors CISTER-TR-190702 2019 Book CISTER-TR-190702 Robot Operating System - The Complete Reference (Volume 4) Robot Operating System - The Complete Reference (Volume 4) Several authors CISTER Research Centre Rua Dr. António Bernardino de Almeida, 431 4200-072 Porto Portugal Tel.: +351.22.8340509, Fax: +351.22.8321159 E-mail: https://www.cister-labs.pt Abstract This is the fourth volume of the successful series Robot Operating Systems: The Complete Reference, providing a comprehensive overview of robot operating systems (ROS), which is currently the main development framework for robotics applications, as well as the latest trends and contributed systems. The book is divided into four parts: Part 1 features two papers on navigation, discussing SLAM and path planning. Part 2 focuses on the integration of ROS into quadcopters and their control. Part 3 then discusses two emerging applications for robotics: cloud robotics, and video stabilization. Part 4 presents tools developed for ROS; the first is a practical alternative to the roslaunch system, and the second is related to penetration testing. This book is a valuable resource for ROS users and wanting to learn more about ROS capabilities and features. © 2019 CISTER Research Center 1 www.cister-labs.pt Studies in Computational Intelligence 831 Anis Koubaa Editor Robot Operating System (ROS) The Complete Reference (Volume 4) Studies in Computational Intelligence Volume 831 Series Editor Janusz Kacprzyk, Polish Academy of Sciences, Warsaw, Poland [email protected] The series “Studies in Computational Intelligence” (SCI) publishes new develop- ments and advances in the various areas of computational intelligence—quickly and with a high quality. -
Artificial Intelligence: How Does It Work, Why Does It Matter, and What Can We Do About It?
Artificial intelligence: How does it work, why does it matter, and what can we do about it? STUDY Panel for the Future of Science and Technology EPRS | European Parliamentary Research Service Author: Philip Boucher Scientific Foresight Unit (STOA) PE 641.547 – June 2020 EN Artificial intelligence: How does it work, why does it matter, and what can we do about it? Artificial intelligence (AI) is probably the defining technology of the last decade, and perhaps also the next. The aim of this study is to support meaningful reflection and productive debate about AI by providing accessible information about the full range of current and speculative techniques and their associated impacts, and setting out a wide range of regulatory, technological and societal measures that could be mobilised in response. AUTHOR Philip Boucher, Scientific Foresight Unit (STOA), This study has been drawn up by the Scientific Foresight Unit (STOA), within the Directorate-General for Parliamentary Research Services (EPRS) of the Secretariat of the European Parliament. To contact the publisher, please e-mail [email protected] LINGUISTIC VERSION Original: EN Manuscript completed in June 2020. DISCLAIMER AND COPYRIGHT This document is prepared for, and addressed to, the Members and staff of the European Parliament as background material to assist them in their parliamentary work. The content of the document is the sole responsibility of its author(s) and any opinions expressed herein should not be taken to represent an official position of the Parliament. Reproduction and translation for non-commercial purposes are authorised, provided the source is acknowledged and the European Parliament is given prior notice and sent a copy. -
Concurrency Patterns for Easier Robotic Coordination
Concurrency Patterns for Easier Robotic Coordination Andrey Rusakov∗ Jiwon Shin∗ Bertrand Meyer∗† ∗Chair of Software Engineering, Department of Computer Science, ETH Zurich,¨ Switzerland †Software Engineering Lab, Innopolis University, Kazan, Russia fandrey.rusakov, jiwon.shin, [email protected] Abstract— Software design patterns are reusable solutions to Guarded suspension – are chosen for their concurrent nature, commonly occurring problems in software development. Grow- applicability to robotic coordination, and evidence of use ing complexity of robotics software increases the importance of in existing robotics frameworks. The paper aims to help applying proper software engineering principles and methods such as design patterns to robotics. Concurrency design patterns programmers who are not yet experts in concurrency to are particularly interesting to robotics because robots often have identify and then to apply one of the common concurrency- many components that can operate in parallel. However, there based solutions for their applications on robotic coordination. has not yet been any established set of reusable concurrency The rest of the paper is organized as follows: After design patterns for robotics. For this purpose, we choose six presenting related work in Section II, it proceeds with a known concurrency patterns – Future, Periodic timer, Invoke later, Active object, Cooperative cancellation, and Guarded sus- general description of concurrency approach for robotics pension. We demonstrate how these patterns could be used for in Section III. Then the paper presents and describes in solving common robotic coordination tasks. We also discuss detail a number of concurrency patterns related to robotic advantages and disadvantages of the patterns and how existing coordination in Section IV. -
How Artificial Intelligence Works
BRIEFING How artificial intelligence works From the earliest days of artificial intelligence (AI), its definition focused on how its results appear to show intelligence, rather than the methods that are used to achieve it. Since then, AI has become an umbrella term which can refer to a wide range of methods, both current and speculative. It applies equally well to tools that help doctors to identify cancer as it does to self-replicating robots that could enslave humanity centuries from now. Since AI is simultaneously represented as high-risk, low-risk and everything in between, it is unsurprising that it attracts controversy. This briefing provides accessible introductions to some of the key techniques that come under the AI banner, grouped into three sections to give a sense the chronology of its development. The first describes early techniques, described as 'symbolic AI' while the second focuses on the 'data driven' approaches that currently dominate, and the third looks towards possible future developments. By explaining what is 'deep' about deep learning and showing that AI is more maths than magic, the briefing aims to equip the reader with the understanding they need to engage in clear-headed reflection about AI's opportunities and challenges, a topic that is discussed in the companion briefing, Why artificial intelligence matters. First wave: Symbolic artificial intelligence Expert systems In these systems, a human expert creates precise rules that a computer can follow, step by step, to decide how to respond to a given situation. The rules are often expressed in an 'if-then-else' format. Symbolic AI can be said to 'keep the human in the loop' because the decision-making process is closely aligned to how human experts make decisions. -
Biological Computation: a Road
918 Biological Computation: A Road to Complex Engineered Systems Nelson Alfonso Gómez-Cruz Modeling and Simulation Laboratory Universidad del Rosario Bogotá, Colombia [email protected] Carlos Eduardo Maldonado Research Professor Universidad del Rosario Bogotá, Colombia [email protected] Provided that there is no theoretical frame for complex engineered systems (CES) as yet, this paper claims that bio-inspired engineering can help provide such a frame. Within CES bio- inspired systems play a key role. The disclosure from bio-inspired systems and biological computation has not been sufficiently worked out, however. Biological computation is to be taken as the processing of information by living systems that is carried out in polynomial time, i.e., efficiently; such processing however is grasped by current science and research as an intractable problem (for instance, the protein folding problem). A remark is needed here: P versus NP problems should be well defined and delimited but biological computation problems are not. The shift from conventional engineering to bio-inspired engineering needs bring the subject (or problem) of computability to a new level. Within the frame of computation, so far, the prevailing paradigm is still the Turing-Church thesis. In other words, conventional 919 engineering is still ruled by the Church-Turing thesis (CTt). However, CES is ruled by CTt, too. Contrarily to the above, we shall argue here that biological computation demands a more careful thinking that leads us towards hypercomputation. Bio-inspired engineering and CES thereafter, must turn its regard toward biological computation. Thus, biological computation can and should be taken as the ground for engineering complex non-linear systems. -
Lab Lecture 1: Introduction to Ros
16-311-Q INTRODUCTION TO ROBOTICS LAB LECTURE 1: INTRODUCTION TO ROS INSTRUCTOR: GIANNI A. DI CARO PROBLEM(S) IN ROBOTICS DEVELOPMENT In Robotics, before ROS • Lack of standards • Little code reusability • Keeping reinventing (or rewriting) device drivers, access to robot’s interfaces, management of on- board processes, inter-process communication protocols, … • Keeping re-coding standard algorithms • New robot in the lab (or in the factory) start re-coding (mostly) from scratch 2 ROBOT OPERATING SYSTEM (ROS) http://www.ros.org 3 WHAT IS ROS? . ROS is an open-source robot operating system . A set of software libraries and tools that help you build robot applications that work across a wide variety of robotic platforms . Originally developed in 2007 at the Stanford Artificial Intelligence Laboratory and development continued at Willow Garage . Since 2013 managed by OSRF (Open Source Robotics Foundation) Note: Some of the following slides are adapted from Roi Yehoshua 4 ROS MAIN FEATURES ROS has two "sides" . The operating system side, which provides standard operating system services such as: o hardware abstraction o low-level device control o implementation of commonly used functionality o message-passing between processes o package management . A suite of user contributed packages that implement common robot functionality such as SLAM, planning, perception, vision, manipulation, etc. 5 ROS MAIN FEATURES 6 ROS PHILOSOPHY . Peer to Peer o ROS systems consist of many small programs (nodes) which connect to each other and continuously exchange messages . Tools-based o There are many small, generic programs that perform tasks such as visualization, logging, plotting data streams, etc.