Robot Operating System (ROS): The Complete Refe...
This book is the sixth volume of the successful book series on Robot Operating System: The Complete Reference. The objective of the book is to provide the reader with comprehensive coverage of the Robot Operating Systems (ROS) and the latest trends and contributed systems. ROS is currently considered as the primary development framework for robotics applications.
Robot Operating System (ROS): The Complete Refe...
Part I presents two chapters on the emerging ROS 2.0 framework; in particular, ROS 2.0 is become increasingly mature to be integrated into the industry. The first chapter from Amazon AWS deals with the challenges that ROS 2 developers will face as they transition their system to be commercial-grade. The second chapter deals with reactive programming for both ROS1 and ROS. In Part II, two chapters deal with advanced robotics, namely on the usage of robots in farms, and the second deals with platooning systems. Part III provides three chapters on ROS navigation. The first chapter deals with the use of deep learning for ROS navigation. The second chapter presents a detailed tuning guide on ROS navigation and the last chapter discusses SLAM for ROS applications. I believe that this book is a valuable companion for ROS users and developers to learn more ROS capabilities and features.
The objective of this book is to provide the reader with a comprehensive coverage on the Robot Operating Systems (ROS) and latest related systems, which is currently considered as the main development framework for robotics applications.
The book includes twenty-seven chapters organized into eight parts. Part 1 presents the basics and foundations of ROS. In Part 2, four chapters deal with navigation, motion and planning. Part 3 provides four examples of service and experimental robots. Part 4 deals with real-world deployment of applications. Part 5 presents signal-processing tools for perception and sensing. Part 6 provides software engineering methodologies to design complex software with ROS. Simulations frameworks are presented in Part 7. Finally, Part 8 presents advanced tools and frameworks for ROS including multi-master extension, network introspection, controllers and cognitive systems.
ROS (Robot Operating System) has been developed by Willow Garage and Stanford University as a part of STAIR project as a free and open-source robotic middleware for the large-scale development of complex robotic systems. ROS acts as a meta-operating system for robots as it provides hardware abstraction, low-level device control, inter-processes message-passing and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers.
EDITOREditor:Anis Koubaa, Full Professor, PhDAffiliation:Prince Sultan University (Saudi Arabia)/CISTER Research Center (Portugal)/Gaitech Robotics (China)Contact:akoubaa@coins-lab.orgBio:Anis Koubaa is a Professor in Computer Science in Prince Sultan University (Saudi Arabia), a Research Associate in CISTER Research Unit (Portugal), and consultant at Gaitech Robotics (China). He has been leading several research projects on robotics and Internet of Things, and in particular integartion of ROS into the IoT. He is the director of the Robotics and Internet of Things Unit (RIOTU) at Prince Sultan University. He is the chair of the ACM Chapter in Saudi Arabia amd a Senior Fellow of the Higher Education Academy (SF-HEA) from the United Kingdom. Prof. Anis is the editor of several books, and author and co-author of more than 160 publications. He is the Editor-in-Chief of the Robotics Software Engineering topic of the International Journal of Advanced Robotics Systems (IJARS). Prof. Anis contributed with the design and development of the first cloud-based system for controlling and monitoring of drones over the Internet, called Dronemap Planner. His h-index is 30.PUBLISHER AND INDEXINGThis book is expected to be published by April of 2018 by Springer. It will appear under the Studies in Computational Intelligence series. For additional information and guidelines regarding the publisher, please visit www.springer.com
This second volume is a continuation of the successful first volume of this Springer book, and as well as addressing broader topics it puts a particular focus on unmanned aerial vehicles (UAVs) with Robot Operating System (ROS). Consisting of three types of chapters: tutorials, cases studies, and research papers, it provides comprehensive additional material on ROS and the aspects of developing robotics systems, algorithms, frameworks, and applications with ROS.
ROS is being increasingly integrated in almost all kinds of robots and is becoming the de-facto standard for developing applications and systems for robotics. Although the research community is actively developing applications with ROS and extending its features, amount of literature references is not representative of the huge amount of work being done.
The book includes 19 chapters organized into six parts: Part 1 presents the control of UAVs with ROS, while in Part 2, three chapters deal with control of mobile robots. Part 3 provides recent work toward integrating ROS with Internet, cloud and distributed systems. Part 4 offers five case studies of service robots and field experiments. Part 5 presents signal-processing tools for perception and sensing, and lastly, Part 6 introduces advanced simulation frameworks.
ROS (Robot Operating System) has been developed by WillowGarage and Stanford University as a part of STAIR project as a freeand open-source robotic middleware for the large-scale developmentof complex robotic systems. ROS acts as a meta-operating system forrobots as it provides hardware abstraction, low-level devicecontrol, inter-processes message-passing and package management. Italso provides tools and libraries for obtaining, building, writing,and running code across multiple computers.The main advantage of ROS is that it allows manipulatingsensor data of the robot as a labeled abstract data stream, calledtopic, without having to deal with hardware drivers. This bookintends to fill the gap and to provide ROS users (academia andindustry) with a comprehensive coverage on Robot Operating Systemconcepts and applications. It will cover several topics rangingfrom basics and foundation to advanced research papers. Tutorial,survey and original research papers will be sought. The book willcover several areas related to robot development using ROSincluding but not limited to robot navigation, UAVs, armmanipulation, multi-robot communication protocols, Web and mobileinterfaces using ROS, integration of new robotic platform to ROS,computer vision applications, development of service robots usingROS, development of new libraries and packages for ROS, using ROSin education, etc. Every book chapter should be accompanied with aworking code to be put later in a common repository for thereaders.EditorEditor:Anis Koubaa, Professor, PhD
Affiliation:Prince Sultan University (SaudiArabia)/CISTER Research Center (Portugal)/Gaitech Robotics (China)
Contact:akoubaa@psu.edu.sa
Bio:Anis Koubaa is a Professor in Computer Science and Aide to the President of Research Governancein Prince Sultan University (Saudi Arabia), a Research Associatein CISTER Research Unit (Portugal), and consultant at GaitechRobotics (China). He has been leading several research projects onrobotics and Internet of Things, and in particular integartion ofROS into the IoT. He is the director of the Robotics and Internetof Things Unit (RIOTU) at Prince Sultan University. He is thechair of the ACM Chapter in Saudi Arabia amd a Senior Fellow ofthe Higher Education Academy (SF-HEA) from the United Kingdom.Prof. Anis is the editor of several books, and author andco-author of more than 200 publications. Publisher and IndexingThis book is expected to be published by January of 2022 by Springer. It will appear under the Studies inComputational Intelligence series. For additional information andguidelines regarding the publisher, please visit www.springer.com
Released Continuous Integration No API documentation Metapackage for Advanced Ros Network Introspection.Maintainer status: maintained
Maintainer: Matthias Hadlich , Andreas Bihlmaier
Author:
License: BSD
ContentsAbout
Installation
DocumentationSEUID
Used Parameters
Messagetypes
Tutorials
Source / Issues
Related publications
Data Flow in ARNI
Troubleshooting
AboutAdvanced ROS Network Introspection (ARNI) extends the /statistics features introduced with Indigo and completes the collected data with measurements about the hosts and nodes participating in the network. These are gathered from an extra node that has to run on each host machine. All statistics or metadata can be compared against a set of reference values using the monitoring_node. The rated statistics allow to run optional countermeasures when a deviation from the reference is detected, in order to remedy the fault or at least bring the system in a safe state. All data can be displayed and monitored through new ARNI rqt_gui plugins. a) Publishing /statistics data for topics and connections. b) Publishing /statistics_host and /statistics_node data. c) Comparing actual values to a YAML specification (d) and publishing /statistics_rated. e) Automatically acting on rated data, given a YAML countermeasure file (f). g) ARNI rqt_gui to visualize current state of ROS network. h) rqt_gui Node Graph showing /statistics data. If you have any further questions / issues / ideas do not hesitate to either use github or to contact the current maintainer directly. InstallationGet the latest version from our GitHub repository: cd /catkin_ws/srcgit clone -PSE/arni.gitcd ..catkin_makeDependencies: If ros-indigo-desktop-full is installed, most system dependencies should already be met.
Three additional Python packages are required, these can be easily installed using pip: pip install --user --upgrade psutilpip install --user pysensorspip install --user pyqtgraph
DocumentationEach package has it's own documentation. SEUIDA SEUID (Statistics Entity Unique IDentifier) identifies a certain node, host, connection (a topic, a subscriber and a publisher) or a topic following the this pattern: Hosts: h!127.0.0.
Nodes: n!/my_node
Topics: t!/topic_name
Connections: c!subscriber!topic!publisher
SEUIDs are used in the configuration-files for the arni_processing and arni_countermeasurenode as well as on the used topics. Used Parameters Parameter Default value Description Enabling and disabling of data collection and processing /enable_statistics False (The same parameter as used for the normal indigo /statistics) Enables or disables the processing of statistics. /arni/check_enabled_interval 10 The interval until the next time will be checked if processing is enabled. All references for rating the incoming statistics are stored as specifications in a list on the parameterserver. /arni/specifications [] See the Specification format below. Additionaly some commands can be send as service calls: Service Content Effect /monitoring_node/reload_specifications std_srvs.srv.Empty Reloads all specifications from the namespace /arni/specifications (see Parameters) /countermeasure/reload_constraints std_srvs.srv.Empty Reloads all constraints for the countermeasure node MessagetypesThe message types can be founde here: messagetypes (Note: may be deprecated, see in source code for most recent information. The package arni_msgs contains all needed information). TutorialsSeveral Tutorials have been written to ease the use of ARNI. They can be found here: arni/Tutorials We highly recommend the Springer tutorial which can be found below - it is more detailed and more up to date than the tutorials in this wiki! Source / Issues -PSE/arni Related publicationsAdvanced ROS Network Introspection (ARNI) in Robot Operating System (ROS): The Complete Reference (Volume 1) @InbookBihlmaier2016,author="Bihlmaier, Andreas and Hadlich, Matthias and W\"orn, Heinz",editor="Koubaa, Anis",chapter="Advanced ROS Network Introspection (ARNI)",title="Robot Operating System (ROS): The Complete Reference (Volume 1)",year="2016",publisher="Springer International Publishing",pages="651-670",isbn="978-3-319-26054-9",doi="10.1007/978-3-319-26054-9_25",url=" -3-319-26054-9_25"@inproceedingsbihlmaier14arni, title = Increasing ROS Reliability and Safety Through Advanced Introspection Capabilities, author = Bihlmaier, Andreas and W\"orn, Heinz, booktitle = Proceedings of the INFORMATIK 2014, pages = 1319--1326, year = 2014Data Flow in ARNIarni_dataflow.png TroubleshootingThe Gui does not show any entries: Make sure you have the minimum required ROS Version for statistics. arni shell output and debug messages will tell you if there is any problem on the current host. On remote hosts you have to check their log as well. The graphs are empty: This may be due to many different problems. Make sure the host really sends data and that the values in the GUI are changing. If this is the case it might be that the remote host is sending data too seldomly. Currently we do not interpolate between two data points, which means, if the host sends data every ten seconds and the graph show only 10 seconds the graph will move out of range immediately. The solution is updating the time range, e.g. to 30 seconds. If you ran into any other problems (and maybe also found a solution?) send us a mail or post it on ! Wiki: arni (last edited 2017-08-21 06:33:57 by GvdHoorn) 041b061a72