logo资料库

Robot Operating System (ROS) The Complete Reference (Volume 2) 无....pdf

第1页 / 共652页
第2页 / 共652页
第3页 / 共652页
第4页 / 共652页
第5页 / 共652页
第6页 / 共652页
第7页 / 共652页
第8页 / 共652页
资料共652页,剩余部分请下载后查看
Cover
Copyright
Acknowledgements
Acknowledgements to Reviewers
Contents
Editor and Contributors
Part I Control of UAVs
Model Predictive Control for Trajectory Tracking of Unmanned Aerial Vehicles Using Robot Operating System
1 Introduction
2 Background
2.1 Concepts of Receding Horizon Control
2.2 Linear Model Predictive Control
2.3 Nonlinear Model Predictive Control
2.4 Linear Robust Model Predictive Control
3 Model-Based Trajectory Tracking Controller for Multi-rotor System
3.1 Multirotor System Model
3.2 Linear MPC
3.3 Nonlinear MPC
4 Model-Based Trajectory Tracking Controller for Fixed-Wing UAVs
4.1 Fixed-Wing Flight Dynamics and Identification
4.2 Nonlinear MPC
5 Conclusion
References
Designing Fuzzy Logic Controllers for ROS-Based Multirotors
1 Introduction
2 Brief Overview of Multirotors
3 Fuzzy Control System for Hexacopters
3.1 Brief Overview of Fuzzy Logic
3.2 Overview of Hexacopter Movement Control System
3.3 Example: Design of Vertical Movement and Hovering Controller
4 Open-Source Package of ROS-Based Fuzzy Logic Control Systems
4.1 Package Overview
4.2 Configuring ROS Environment and Installing the Package
4.3 Fuzzy Set Files
4.4 Fuzzy Library Implementation
4.5 Main Controller Implementation
4.6 Command Interface Implementation
4.7 Telemetry Implementation
5 Virtual Experimentation Platform
5.1 Introduction
5.2 V-REP Basics
5.3 Publishing ROS Topics
5.4 Subscribing to ROS Topics
5.5 Publishing Images from V-REP
5.6 Running the Sample Scenarios
6 Final Remarks
References
Flying Multiple UAVs Using ROS
1 Introduction
2 Target Platform
3 Setup
3.1 Setting PC Permissions
3.2 Bitcraze Crazyflie PC Client
3.3 Firmware
3.4 Crazyflie ROS Stack
4 Teleoperation of a Single Quadcopter
4.1 Using an XBox360 Controller
4.2 Add Support for Another Controller
5 Teleoperation of Multiple UAVs
5.1 Assigning a Unique Address
5.2 Finding Good Communication Parameters
5.3 ROS Usage (Multiple Crazyflies)
6 Hovering
6.1 Position Estimate
6.2 ROS Usage (Single Crazyflie)
6.3 ROS Usage (Multiple Crazyflies)
7 Waypoint Following
8 Troubleshooting
9 Inside the crazyflie_ros Stack
9.1 Overview
9.2 crazyflie_cpp
9.3 crazyflie_driver
9.4 crazyflie_controller
9.5 Possible Extensions
10 Conclusion
References
Part II Control of Mobile Robots
SkiROS---A Skill-Based Robot Control Platform on Top of ROS
1 Introduction
1.1 Environment Configuration
2 Related Work
3 Conceptual Overview
3.1 Packages Structure
3.2 World Model
3.3 Skill Manager
3.4 Task Manager
3.5 Plugins
3.6 Multiple Robots Control
4 User Interface
4.1 Edit, Execute and Monitor the Task
4.2 Plan a Task
4.3 Module Testing
4.4 Edit the Scene
5 Development
5.1 Edit the Ontology
5.2 Create a Primitive
5.3 Create a Skill
5.4 Create a Discrete Reasoner
6 Task Planner
6.1 Overview and Usage
6.2 From Skills to PDDL
6.3 Additional Features
7 Application Example
7.1 Overview
7.2 Skills
7.3 Primitives
7.4 Results
8 Conclusions
References
Control of Mobile Robots Using ActionLib
1 Introduction
2 ActionLib
3 ROS Workspace Configuration
4 Creating a PID Controller Using ActionLib
4.1 Steps to Create the Controller
4.2 Experimental Result of PID Controller
5 Creating a Fuzzy Controller Using ActionLib
5.1 Steps to Create the Controller
5.2 Experimental Results of Fuzzy Controller
6 Scheduled Fuzzy Controllers for Omnidirectional Motion of an Autonomous Inspection Robot
7 Conclusion
References
Parametric Identification of the Dynamics of Mobile Robots and Its Application to the Tuning of Controllers in ROS
1 Introduction
2 Background
2.1 Parametric Identification
2.2 Mobile Robot Model
3 ROS Packages for Identification of Robot Model
3.1 Setting up a Catkin Workspace
3.2 ros_control
3.3 ros_controllers
3.4 gazebo_ros_pkgs
3.5 twil
4 Testing the Installed Packages
5 Implementation of Parametric Identification in ROS
5.1 twil_description Package
5.2 twil_controllers Package
5.3 twil_ident Package
6 Controller Design
7 Conclusion
References
Online Trajectory Planning in ROS Under Kinodynamic Constraints with Timed-Elastic-Bands
1 Introduction
2 Theoretical Foundations of TEB
2.1 Trajectory Representation and Optimization
2.2 Closed-Loop Control
2.3 Planning in Distinctive Topologies
3 The teb_local_planner ROS Package
3.1 Prerequisites and Installation
3.2 Integration with ROS Navigation
3.3 Included Cost Terms: Objectives and Penalties
3.4 Robot Footprint for Optimization
3.5 Obstacle Representations
4 Testing Trajectory Optimization
5 Creating a Mobile Robot in Stage Simulator
5.1 Differential-Drive Robot
5.2 Car-Like Robot
6 Planning for a Differential-Drive Robot
7 Planning for a Car-Like Robot
8 Conclusion
References
Part III Integration of ROS with Internet and Distributed Systems
ROSLink: Bridging ROS with the Internet-of-Things for Cloud Robotics
1 Introduction
2 Motivating Problems and Objectives
2.1 Problem Statement
2.2 Overview
3 The ROSLink Protocol
3.1 ROSLink System Architecture
3.2 ROSLink Communication Protocol
3.3 Integration of ROSLink Proxy in Dronemap Planner
4 Experimental Validation
5 Related Work
6 Conclusion
References
ROS and Docker
1 Introduction
1.1 Overview
2 Background
3 Setup
3.1 Requirements
3.2 Installation
3.3 Building
4 Examples
4.1 Education
4.2 Industry
4.3 Research
4.4 Graphical Interfaces
5 Notes
5.1 Best Practices and Caveats
5.2 Transparent Proxy
5.3 Docker DNS Resolver
References
A ROS Package for Dynamic Bandwidth Management in Multi-robot Systems
1 Introduction
2 ROS Topics
3 Bandwidth Consumption in Topics Publishing
3.1 Publishing Camera Images in ROS
3.2 Monitoring Bandwidth Usage in ROS
3.3 Install DBM Package
3.4 Using DBM to Manage Bandwidth Consumption
3.5 Changing Topic Priorities
4 Event-Based Bandwidth Optimization
4.1 Event-Based Topic Priority
4.2 Bandwidth Management Based on Topic Priority
5 DBM Package Description
5.1 Package Architecture
5.2 Dynamic Frequency in a ROS Topic
5.3 Creating a New Managed Topic with DBM
5.4 Using DBM in an Existing Package
5.5 Implementing Other Optimization Strategies
5.6 Local Topics Management
5.7 System Parameters
6 Experimental Validation
6.1 Communication Channels
6.2 Environment Events
6.3 Bandwidth Management
7 Conclusion
References
Part IV Service Robots and Fields Experimental
An Autonomous Companion UAV for the SpaceBot Cup Competition 2015
1 Introduction
2 Related Work
3 Hardware Description
4 Software Architecture
5 Navigation
5.1 Odometry
5.2 Localisation and Mapping
5.3 SLAM and Odometry
5.4 Position Controller
6 Object Detection and Localisation
6.1 Blob Detection
6.2 Convolutional Neural Network
6.3 Object Localisation and Results
7 Collision Avoidance and Path Planning
7.1 Collision Avoidance
7.2 Path Planning
7.3 Summary
8 Autonomous Exploration of Unknown Areas
8.1 Simulation
8.2 Exploration Strategies
8.3 Evaluation and Results
9 Autonomous Behaviour
9.1 Behaviour-Network Base
9.2 Symbolic Planner Extension
9.3 ROS-Integration
9.4 SpaceBot Cup UAV Behaviours
10 Teamwork
11 Results
12 Conclusion
References
Development of an RFID Inventory Robot (AdvanRobot)
1 Introduction
2 Background
2.1 RFID Technology
2.2 Inventory Systems
3 AdvanRobot Overview
3.1 Design
3.2 Architecture
3.3 Navigation
3.4 Human-Robot Interaction
4 Simulation
5 Experimental Results
5.1 Navigation Validation
5.2 RFID Identification Accuracy
5.3 Operation by Store Associates
6 Ongoing Developments
6.1 Exploration for 3D Mapping
6.2 Location of RFID Items
7 Future Work
7.1 Collaborative Inventorying
7.2 UAVs and AdvanRobot Collaborative System
7.3 Applications Derived from Product Location
7.4 Simulation
References
Robotnik---Professional Service Robotics Applications with ROS (2)
1 Contributions of the Book Chapter
2 ELIOT: Climbing Robot for Windmill Inspection
2.1 Brief Description of the System
2.2 Robot Configuration
2.3 Robot Sensors
2.4 Communications
2.5 HMI
2.6 Challenges
3 RB-1: A Mobile Manipulator for General Purpose Applications
3.1 Brief Description of the System
3.2 Main Topics Covered
3.3 Challenges
4 RBCAR: A Mobile Autonomous Guided Car
4.1 Brief Description of the System
4.2 Main Topics Covered
4.3 Challenges
5 ROBO-SPECT: Robot for the Detection and Measurement of Surface Defects and Cracks in Tunnels
5.1 Brief Description of the System
5.2 Main Topics Covered
5.3 Challenges
6 Summary
References
Using ROS in Multi-robot Systems: Experiences and Lessons Learned from Real-World Field Tests
1 Introduction
2 Background
2.1 Classification by Size of the Team
2.2 Classification by Morphology and Capabilities of the Robots
2.3 Classification by Level of Coordination
3 Multi-robot Software Architecture
4 Communications for MRS
4.1 Relationship with Multi-robot Classification
5 A Brief Review of ROS Multi-master Packages
5.1 adhoc_communication
5.2 multimaster_fkie
5.3 rocon_multimaster
6 Example Applications for MRS and ROS
6.1 MRS for Search and Rescue
6.2 MRS for Environmental Measurements
6.3 MRS for Aerial Surveys
7 Lesson Learned and Issues to Overcome
8 Conclusions
References
Part V Perception and Sensing
15 Autonomous Navigation in a Warehouse with a Cognitive Micro Aerial Vehicle
1 Introduction
2 Related Work
3 System Overview
4 Perception
4.1 Accelerometers, Gyros, Compass, and Barometer
4.2 Cameras
4.3 Laser Scanner
4.4 Radio-Frequency Identification
5 Mapping
6 Localization and State Estimation
6.1 Triple Stereo Visual Odometry
6.2 Laser-Based Pose Tracking
6.3 AprilTag Detection
6.4 State Estimation Filter
7 Navigation
7.1 Mission Planning
7.2 Path Planning
7.3 Local Multiresolution Path Planning
7.4 Reactive Local Obstacle Avoidance
7.5 Velocity Control
8 User Interfaces
8.1 Flight Operator Interfaces
8.2 Safety Pilot Interfaces
9 Experiments and Evaluation
9.1 Data Acquisition
9.2 RFID Detection
9.3 Flight Time
9.4 Electromagnetic Compatibility
9.5 Mapping and Pose Tracking
9.6 Navigation
10 Lessons Learned
11 Conclusions
References
Robots Perception Through 3D Point Cloud Sensors
1 Introduction
2 Background
3 Common Depth Sensors for Robot Perception
3.1 Microsoft Kinect
3.2 SR4000
4 Configuring the Environment
4.1 Install Kinect
4.2 Install SR4000
5 Examples of Point Cloud Processing
5.1 Commands in Matlab
5.2 ROS Subscriber with Matlab
5.3 ROS Publishing with Matlab
5.4 Creating Markers
5.5 Filter XYZ Data
5.6 Transformation
6 Conclusion
References
Part VI ROS Simulation Frameworks
Environment for the Dynamic Simulation of ROS-Based UAVs
1 Introduction
2 Basic Multirotor Flight Concepts
3 Multirotor Configurations and Specific Characteristics
4 Multirotor Model Creation and Scene Composition in V-REP
5 ROS Virtual Hexacopter Control
6 Final Considerations
References
Building Software System and Simulation Environment for RoboCup MSL Soccer Robots Based on ROS and Gazebo
1 Introduction
2 Background
3 The NuBot Multi-robot System
3.1 Mechanical Platform
3.2 Visual Perception System
3.3 Industrial Electrical System
4 ROS-Based Software for NuBot Robots
4.1 The OmniVision Node
4.2 The FrontVision Node and the Kinect Node
4.3 The NuBot Control Node
4.4 The NuBot HWControl Node
4.5 The WorldModel Node
5 Gazebo Based Simulation System
5.1 Simulation Models and a Simulation World
5.2 Basic Motions Realization
5.3 Model Plugin and Real Robot Code Integration
5.4 Simulation of a Match
6 Single Robot Simulation Tutorial
6.1 Get the Package
6.2 Environment Configuration
6.3 Package Compiling
6.4 Package Overview
6.5 Single Robot Automatic Movement
6.6 NuBotGazebo API
6.7 How You Could Use It to Do More Stuff
7 Multi Robot Simulation Tutorial
7.1 Package Overview
7.2 Configuration of Computer A and Computer B
8 Conclusion
References
VIKI---More Than a GUI for ROS
1 Introduction
2 Background
2.1 Existing Software
3 ROS Environment Configuration
4 Testdriving VIKI
4.1 Turtlesim
4.2 Flying the Parrot A.R. Drone
4.3 SSH
5 Technical Overview
5.1 VIKI Architecture
5.2 Modules
5.3 Modularity and Reusability
5.4 GUI
5.5 Future Goals
References
Studies in Computational Intelligence 707 Anis Koubaa Editor Robot Operating System (ROS) The Complete Reference (Volume 2)
Studies in Computational Intelligence Volume 707 Series editor Janusz Kacprzyk, Polish Academy of Sciences, Warsaw, Poland e-mail: kacprzyk@ibspan.waw.pl
About this Series 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 2) Special focus on Unmanned Aerial Vehicles (UAVs) with ROS 123
Editor Anis Koubaa Prince Sultan University Riyadh Saudi Arabia and CISTER Research Unit Porto Portugal and Gaitech Robotics Hong Kong China ISSN 1860-949X Studies in Computational Intelligence ISBN 978-3-319-54926-2 DOI 10.1007/978-3-319-54927-9 ISBN 978-3-319-54927-9 (eBook) ISSN 1860-9503 (electronic) Library of Congress Control Number: 2017933861 © Springer International Publishing AG 2017 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 Springer Nature The registered company is Springer International Publishing AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Acknowledgements The Editor would like to thank the Robotics and Internet of Things (RIoT) Unit at Center of Excellence of Prince Sultan University for their support to this work. Furthermore, the Editor thanks Gaitech Robotics in China for their support. v
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. Anis Koubâa Francisco Grau Michael Bence Maram Marc Andre Marco Walter Péter Christoph Francesco Christopher-Eyk Guilherme Andreas Juan Timo Zavier Myrel Junhao Huimin Alfredo Dinesh Carroll Magyar Alajlan Morenza-Cinos Oliveira Wehrmeister Fetter Lages Fankhauser Rösmann Rovida Hrabia Sousa Bastos Bihlmaier Jimeno Röhling Lee Alsayegh Xiao Lu Soto Madusanke Prince Sultan University, Saudi Arabia/CISTER Research Unit, Portugal CATEC (Center for Advanced Aerospace Technologies) Robotic Paradigm Systems PAL Robotics Al-Imam Mohamed bin Saud University UPF UTFPR Federal University of Technology – Parana Universidade Federal do Rio Grande do Sul ETH Zurich Institute of Control Theory and Systems Engineering, TU Dortmund University Aalborg University of Copenhagen Technische Universität/DAI Labor UNIFEI Karlsruhe Institute of Technologie (KIT) linorobot.org Fraunhofer FKIE Henan University of Science and Technology RST-TU Dortmund National University of Defense Technology National University of Defense Technology Freescale Semiconductors University of Moratuwa (continued) vii
viii (continued) Roberto Ingo Brad Yasir Mohamed-Foued Murilo Acknowledgements to Reviewers Guzman Lütkebohle Bazemore Javed Sriti Martins Robotnik Robert Bosch GmbH University of Georgia Prince Sultan University, Saudi Arabia Al-Imam Muhammad Ibn Saud Islamic University Centro Universitario da FEI
分享到:
收藏