logo资料库

Robot Operating System (ROS) - The Complete Reference.(Volume 3)(2018).pdf

第1页 / 共604页
第2页 / 共604页
第3页 / 共604页
第4页 / 共604页
第5页 / 共604页
第6页 / 共604页
第7页 / 共604页
第8页 / 共604页
资料共604页,剩余部分请下载后查看
Acknowledgements to Reviewers
Acknowledgments
Contents
Part I Multi-robot Systems
A ROS-Based Framework for Simulation and Benchmarking of Multi-robot Patrolling Algorithms
1 Introduction
2 Background
3 Patrolling Simulation Framework
3.1 Robot Operating System (ROS)
3.2 Stage Multi-robot Simulator
3.3 Installation and Initializing Experiments
3.4 Patrol Agent and Additional Strategies
3.5 Automatically Extracting Results for Analysis
3.6 Transition to Other Simulators and Real World Experiments
4 Discussion
5 Conclusion
References
Multi-robot Systems, Virtual Reality and ROS: Developing a New Generation of Operator Interfaces
1 Introduction
2 State of Art
2.1 Multi-robot Missions
2.2 Human Factors
2.3 Operator Interfaces
3 Immersive Interfaces
4 Architecture and ROS Packages
4.1 Overview
4.2 Robots
4.3 Multimaster_ fkie
4.4 Rosbridge_suite
4.5 Interfaces
5 Applications
5.1 Case 1: Multi-robot Monitoring Interface
5.2 Case 2: Manipulator Commanding Interface
5.3 Case 3: Multi-robot Complete Interface
6 Results and Conclusions
References
Part II Unmanned Aerial Systems
Autonomous Exploration and Inspection Path Planning for Aerial Robots Using the Robot Operating System
1 Introduction
2 Problem Definition
2.1 Exploration Path Planning
2.2 Path Planning for Terrain Monitoring
2.3 Inspection Path Planning
3 Autonomous Unknown Area Exploration
3.1 Receding Horizon Next–Best–View Planner
3.2 Localization Uncertainty–Aware Receding Horizon Exploration and Mapping Planner
3.3 Exploration Planning
3.4 Localization Uncertainty–Aware Planning
4 Terrain Monitoring
4.1 Mapping Discrete Variables
4.2 Mapping Continuous Variables
4.3 Planning Approach
5 Optimized Inspection Path Planning
5.1 Path Computation and Cost Estimation
5.2 Viewpoint Sampling
5.3 Obstacle Avoidance
5.4 Indicative Evaluation Study
6 Open–Source Code and Implementation Details
6.1 ROS Environment Configuration
6.2 Exploration Planners
6.3 Structural Inspection Planner
6.4 Terrain Monitoring Planner
7 Conclusion
References
A Generic ROS Based System for Rapid Development and Testing of Algorithms for Autonomous Ground and Aerial Vehicles
1 Introduction
2 Development Cycle
2.1 Background
2.2 COTS Autopilots
2.3 Embedded Systems
2.4 Chapter Contents
3 System Overview
3.1 System Framework
3.2 Simulink
3.3 Ground
3.4 Air
4 Test Case 1 - Outdoor UAV Flight Tests
4.1 Introduction
4.2 Preliminaries
4.3 System Dynamics
4.4 Control and Performance Objectives
4.5 Control Design
4.6 Disturbance Observer Augmentation
4.7 Results
4.8 Conclusions
5 Test Case 2 - Indoor Source Localisation Experiment Using an Autonomous Ground Robot
5.1 Introduction
5.2 Methodology
5.3 Experimental Study
5.4 Summary
6 Conclusions
References
ROS-Based Approach for Unmanned Vehicles in Civil Applications
1 Introduction
2 Proposed Approach
2.1 Acquisition
2.2 Localization
2.3 Mapping
2.4 Perception
2.5 Decision Making
2.6 Planning
2.7 Navigation
2.8 Control
2.9 Communication and Cooperation
3 Architecture Integration
3.1 Platforms
3.2 ROS Implementation of Proposed Architecture
4 Experimental Work
4.1 Results
5 Conclusion and Future Work
References
A Quadcopter and Mobile Robot Cooperative Task Using Visual Tags Based on Augmented Reality ROS Package
1 Introduction
2 Application of Augmented Reality Tools to Mobile Robot Control
3 Creation of Environment and Simulation Objects on V-REP
4 General Description of Application Architecture
4.1 PID C++ Software Description
4.2 Description and Use of the AR-TAG Alvar ROS Package
5 Application Example and Experiments
5.1 Pose and Orientation Estimation for Different Heights Using the Visual Tags
6 Final Remarks
References
Part III Navigation, Motion Planning and Control
EXOTica: An Extensible Optimization Toolset for Prototyping and Benchmarking Motion Planning and Control
1 Introduction
2 Overview
3 System Model
3.1 Planning Scene
4 Problem Definition
4.1 Task Maps
4.2 Planning Problems
5 Motion Solvers
6 Python Wrapper
7 Applications
7.1 Algorithm Benchmarking
7.2 Dynamic Motion Adaptation and Replanning in Alternate Spaces
7.3 Robust Shared Autonomy with Continuous Scene Monitoring
8 EXOTica Installation Instructions
9 Conclusion
References
Online Trajectory Optimization and Navigation in Dynamic Environments in ROS
1 Introduction
2 Related Work
3 Costmap-Based Obstacle Velocity Estimation
3.1 Dynamic Obstacle Detection
3.2 Dynamic Obstacle Tracking
4 Costmap_Converter ROS Package
4.1 Prerequisites and Installation
4.2 Obstacle Messages
4.3 Parameters
4.4 Prototype Scenario for Obstacle Velocity Estimation
5 Theoretical Foundations of TEB
5.1 Trajectory Representation and Optimization
5.2 Transition Time Estimation for Dynamic Obstacles
5.3 Planning in Distinctive Spatio-Temporal Topologies
6 teb_local_planner ROS Package
6.1 Prerequisites and Installation
6.2 Integration with ROS Navigation
6.3 Included Cost Terms: Objectives and Penalties
7 Testing Spatio-Temporal Trajectory Optimization
8 Obstacle Motion Predictive Planning
9 Conclusion
References
A Backstepping Non-smooth Controller for ROS-Based Differential-Drive Mobile Robots
1 Introduction
2 Background
2.1 Mobile Robot Model
2.2 Control of the Mobile Robot
2.3 Odometry
3 ROS Setup
3.1 Setting up a Catkin Workspace
3.2 ros_control
3.3 ros_controllers
3.4 gazebo_ros_pkgs
3.5 twil
3.6 arc_odometry
3.7 pose2d_trajectories
3.8 nonsmooth_backstep_controller
4 Testing the Installed Packages
5 Implementation of the Backstepping Controller in ROS
5.1 The twil_description Package
5.2 The arc_odometry Package
5.3 The pose2d_trajectories Package
5.4 The nosmooth_backstep_controller Package
6 Results
6.1 Setting Point
6.2 Trajectory Tracking
7 Conclusion
References
University Rover Challenge: Tutorials and Team Survey
1 Introduction
1.1 Motivation
1.2 Main Objectives
1.3 Overview of Chapter
1.4 Prerequisite Skills for Tutorials
2 Background
2.1 About the University Rover Challenge
2.2 University Rover Challenge Tasks
2.3 Planetary Rovers beyond the Competition
3 Survey of URC Competing Teams
4 Case Study: Continuum Team
4.1 Recipe for Success
4.2 Rover Manipulator Arm
5 Case Study: Team R3
5.1 ROS Environment
6 Tutorial: Autonomous Waypoint Following
6.1 Usage in the University Rover Challenge (URC)
6.2 Usage Instructions
6.3 Normal Output
7 Tutorial: Image Overlay Scale and Compass
7.1 Usage Instructions
7.2 Command Line Interface (CLI)
8 Tutorial: A Simple Drive Software Stack
8.1 Usage Instructions
8.2 drive_teleop ROS Node
8.3 cmd_vel_mux ROS Node
8.4 simple_drive ROS Node
8.5 drive_firmware Ardiuno Software
8.6 Install and configure drive_firmware
9 Tutorial: A Simple Arm Software Stack
9.1 Usage Instructions
9.2 simple_arm ROS Node
9.3 arm_firmware Arduino Software
10 Tutorial: Autonomous Recovery after Lost Communications
10.1 Usage Instructions
10.2 Normal Output
11 Tutorial: Stitch Panoramas with Hugin
11.1 Usage Instructions
11.2 Live Panorama Mode
12 Tutorial: GPS Navigation Goal
12.1 Usage Instructions
12.2 Command Line Interface (CLI)
12.3 initialize_origin Helper ROS Node
12.4 Normal Output
13 Tutorial: Wireless Communication
14 Tutorial: Autonomous Navigation by Team R3
14.1 ZED Depth Camera
14.2 Visual Odometry with rgbd_odometry
14.3 3D Mapping in ROS with RTAB-Map
14.4 move_base Path Planning
15 Tutorial: MapViz Robot Visualization Tool
15.1 Usage Instructions
16 Tutorial: Effective Robot Administration
16.1 tmux Terminal Multiplexer
16.2 ROS Master Helper Script
17 Conclusion
References
Part IV Contributed ROS Packages
SROS1: Using and Developing Secure ROS1 Systems
1 Introduction
2 Background
3 Architecture
4 Using SROS1
4.1 Securing ROS Graphs
4.2 Securing ROS Processes
5 Developing SROS1
5.1 Secure Transport
5.2 Access Control
6 Discussion and Future Work
References
GPU and ROS the Use of General Parallel Processing Architecture for Robot Perception
1 Introduction
1.1 Related Work
2 Installation and Setup
2.1 Nvidia Tegra Development Boards
2.2 Configuring Your Jetson Tegra
2.3 ROS on Nvidia Tegra Development Boards
2.4 OpenCV4Tegra and ROS on Tegra Boards
2.5 ROS and CUDA on a Regular Ubuntu PC
3 CUDA and ROS
3.1 Example 1: ROS/CUDA Vector Addition
3.2 Example 2: ROS/CUDA Laserscan Filter
3.3 Example 3: ROS/CUDA Sobel Image Filter
4 Conclusion
References
Connecting ROS and FIWARE: Concepts and Tutorial
1 Introduction
2 ROS Concepts
2.1 ROS Graph
3 FIWARE Concepts
3.1 The Orion Context Broker
3.2 Firos
4 Walkthrough: How to Use the Orion Context Broker
4.1 First Step: Create a FIWARE Lab Account
4.2 Create a Orion Instance
4.3 Orion Context Broker Example Case
5 Walkthrough: Connecting ROS and FIWARE
5.1 Install Firos
5.2 Configuring FIROS
5.3 Run FIROS
5.4 From ROS Topic to Orion Context Broker
5.5 From Orion Context Broker to ROS Topic
6 Walkthrough: How to Control a Robot Through FIWARE
6.1 Create a New Entity to Store Robot Commands
6.2 Simulate a Husky Mobile Platform
6.3 Update the Odometry on Orion Context Broker
6.4 Store Robot Commands on the Context Broker
6.5 Demo Execution
7 Conclusion and Future Works
References
Enabling Real-Time Processing for ROS2 Embedded Systems
1 Introduction
2 Background
2.1 Operating system
2.2 Computer Network
2.3 Related Work
3 System Development
3.1 Proposed Model
3.2 Implementation
3.3 Implementation of Multicast Messages in FreeRTOS+UDP
4 Using RTPS+RTOS on STMDISCOVERY
5 Tests
5.1 Hardware
5.2 Portability Test
5.3 Real Time Test
5.4 Performance Test
5.5 Resource Consumption
6 Results
References
Part V Interfaces for Interaction with Robots
bum_ros: Distributed User Modelling for Social Robots Using ROS
1 Introduction
1.1 Fundamental Concepts
1.2 Related Work on User Modelling
1.3 Related ROS Concepts and Packages
2 The BUM Process
2.1 Inference of User Characteristics
2.2 Learning of the User Model
2.3 Obtaining User Profiles
3 The bum_ros System
3.1 The Global Characteristic Definition
3.2 The Evidence and Tuple Messages
3.3 Log Files
3.4 The bum_ros_node Node
3.5 The data_manager Node
3.6 The evaluator Node
4 Usage of the bum_ros System
4.1 Set-Up
4.2 Modes of Operation
4.3 System Topologies
5 Experiments
5.1 Set-Up
5.2 Results and Discussion
6 Conclusion
References
ROSRemote: Using ROS on Cloud to Access Robots Remotely
1 Introduction
2 Tools
2.1 Installing ROSRemote
2.2 ROS
2.3 SpaceBrew
3 Related Works
3.1 SSH
3.2 VPN
3.3 Rapyuta
3.4 ROSLink
4 ROSRemote
4.1 ROSRemote Usage
4.2 ROSRemote Package Description
4.3 ROSRemote Architecture
4.4 How ROSRemote Works
4.5 Rostopic
4.6 Rosrun
4.7 Rosservice
4.8 Roscommands
5 Tests
5.1 Test 1 - Two Masters
5.2 Test 2 - Two Masters and a Robot
5.3 Test 3 - Three Masters
5.4 Test 4 - Three Masters and a Robot
5.5 Comparison
6 Conclusion
References
Studies in Computational Intelligence 778 Anis Koubaa Editor Robot Operating System (ROS) The Complete Reference (Volume 3)
Studies in Computational Intelligence Volume 778 Series editor Janusz Kacprzyk, Polish Academy of Sciences, Warsaw, Poland e-mail: kacprzyk@ibspan.waw.pl
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. The intent is to cover the theory, applications, and design methods of computational intelligence, as embedded in the fields of engineering, computer science, physics and life sciences, as well as the methodologies behind them. The series contains monographs, lecture notes and edited volumes in computational intelligence spanning the areas of neural networks, connectionist systems, genetic algorithms, evolutionary computation, artificial intelligence, cellular automata, self-organizing systems, soft computing, fuzzy systems, and hybrid intelligent systems. Of particular value to both the contributors and the readership are the short publication timeframe and the worldwide distribution, which enable both wide and rapid dissemination of research output. More information about this series at http://www.springer.com/series/7092
Anis Koubaa Editor Robot Operating System (ROS) The Complete Reference (Volume 3) 123
Editor Anis Koubaa College of Computer Science and Information Systems Prince Sultan University Riyadh Saudi Arabia and CISTER Research Unit Porto Portugal and Gaitech Robotics Shanghai, Beijing China ISSN 1860-949X Studies in Computational Intelligence ISBN 978-3-319-91589-0 https://doi.org/10.1007/978-3-319-91590-6 ISSN 1860-9503 (electronic) ISBN 978-3-319-91590-6 (eBook) Library of Congress Control Number: 2018940893 © Springer International Publishing AG, part of Springer Nature 2019 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. trademarks, service marks, etc. Printed on acid-free paper This Springer imprint is published by the registered company Springer International Publishing AG part of Springer Nature The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Acknowledgements to Reviewers The Editor would like to thank the following reviewers for their great contributions in the review process of the book by providing a quality feedback to authors. Reviewers Anis Koubâa, Prince Sultan University, Saudi Arabia / CISTER Research Unit, Portugal Abdulla Al-Kaff, Universidad Carlos III de Madrid David Portugal, Ingeniarius, Ltd. Maram Alajlan, King Saud University Joao Fabro, UTFPR - Federal University of Technology-Parana Valerio De Carolis, Heriot-Watt University Ricardo Julio, UNIFEI Andre Oliveira, UTFPR Juan Jesús Roldán Gómez, Universidad Politécnica de Madrid Kostas Alexis, University of Nevada, Reno Christoph Rösmann, Institute of Control Theory and Systems Engineering, TU Dortmund University Guilherme Sousa Bastos, UNIFEI Walter Fetter Lages, Universidade Federal do Rio Grande do Sul Lennart Kryza, TU Berlin Vladimir Ivan, The University of Edinburgh Elena Peña-Tapia, Universidad Politécnica de Madrid L. V. R. Arruda, UTFPR Michael Hutchinson, Loughborough University Maximilian Krämer, Technische Universität Dortmund Gonçalo Martins, University of Coimbra Viswanath Bellam, Robotics Research Industry Ali Bin Wahid, Shanghai Gentech Scientific Instruments Paulo Drews Jr., FURG Franz Albers, TU Dortmund Christos Papachristos, UNR v
vi Acknowledgements to Reviewers João Santos, FARO Moritz Luetkemoeller, TU Dortmund Christos Papachristos, UNR Alvaro Cantieri, IFPR
Acknowledgments The Editor would like to thank the Robotics and Internet of Things (RIoT) Lab of the College of Computer and Information Sciences of Prince Sultan University for their support to this work. Furthermore, the Editor thanks Gaitech Robotics in China for their support. vii
分享到:
收藏