A Gentle Introduction To Ros Computer Science Amp E-Books Pdf

A Gentle Introduction to ROS Computer Science amp E
10 Apr 2020 | 16 views | 0 downloads | 166 Pages | 1.72 MB

Share Pdf : A Gentle Introduction To Ros Computer Science Amp E

Download and Preview : A Gentle Introduction To Ros Computer Science Amp E

Report CopyRight/DMCA Form For : A Gentle Introduction To Ros Computer Science Amp E



Transcription

Jason M O Kane, University of South Carolina, Department of Computer Science and Engineering. 315 Main Street, Columbia SC 29208, http www cse sc edu jokane. 2014 Jason Matthew O Kane All rights reserved, This is version 2 1 6 ab984b3 generated on April 24 2018. Typeset by the author using LATEX and memoir cls, ISBN 978 14 92143 23 9. Contents in Brief, Contents in Brief iii, Contents v.
1 Introduction 1, In which we introduce ROS describe how it can be useful and pre. view the remainder of the book, 2 Getting started 11. In which we install ROS introduce some basic ROS concepts and in. teract with a working ROS system, 3 Writing ROS programs 39. In which we write ROS programs to publish and subscribe to mes. 4 Log messages 61, In which we generate and view log messages. 5 Graph resource names 77, In which we learn how ROS resolves the names of nodes topics pa.
rameters and services, C ONTENTS IN B RIEF, 6 Launch files 83. In which we configure and run many nodes at once using launch files. 7 Parameters 105, In which we configure nodes using parameters. 8 Services 117, In which we call services and respond to service requests. 9 Recording and replaying messages 133, In which we use bag files to record and replay messages. 10 Conclusion 141, In which we preview some additional topics.
Contents in Brief iii, Contents v, 1 Introduction 1. 1 1 Why ROS 1, Distributed computation 2, Software reuse 2. Rapid testing 3, ROS is not 4, 1 2 What to expect 4. Chapters and dependencies 5, Intended audience 5, 1 3 Conventions 7. 1 4 Getting more information 7, Distributions 8, Build systems 9.
1 5 Looking forward 9, 2 Getting started 11, 2 1 Installing ROS 11. Adding the ROS repository 11, Installing the package authentication key 12. Downloading the package lists 12, Installing the ROS packages 13. Installing turtlesim 13, Setting up rosdep systemwide 13. 2 2 Configuring your account 14, Setting up rosdep in a user account 14.
Setting environment variables 14, 2 3 A minimal example using turtlesim 15. Starting turtlesim 16, 2 4 Packages 17, Listing and locating packages 17. Inspecting a package 18, 2 5 The master 20, 2 6 Nodes 21. Starting nodes 21, Listing nodes 22, Inspecting a node 23. Killing a node 23, 2 7 Topics and messages 24, 2 7 1 Viewing the graph 24.
2 7 2 Messages and message types 27, Listing topics 27. Echoing messages 28, Measuring publication rates 28. Inspecting a topic 28, Inspecting a message type 30. Publishing messages from the command line 31, Understanding message type names 33. 2 8 A larger example 34, 2 8 1 Communication via topics is many to many 35.
2 8 2 Nodes are loosely coupled 36, 2 9 Checking for problems 37. 2 10 Looking forward 37, 3 Writing ROS programs 39. 3 1 Creating a workspace and a package 39, Creating a workspace 39. Creating a package 40, Editing the manifest 41, 3 2 Hello ROS 41. 3 2 1 A simple program 41, 3 2 2 Compiling the Hello program 44.
Declaring dependencies 44, Declaring an executable 45. Building the workspace 45, Sourcing setup bash 46, 3 2 3 Executing the hello program 47. 3 3 A publisher program 47, 3 3 1 Publishing messages 49. Including the message type declaration 49, Creating a publisher object 49. Creating and filling in the message object 51, Publishing the message 51.
Formatting the output 52, 3 3 2 The publishing loop 52. Checking for node shutdown 52, Controlling the publishing rate 53. 3 3 3 Compiling pubvel 54, Declaring message type dependencies 54. 3 3 4 Executing pubvel 54, 3 4 A subscriber program 55. Writing a callback function 55, Creating a subscriber object 57.
Giving ROS control 59, 3 4 1 Compiling and executing subpose 60. 3 5 Looking forward 60, 4 Log messages 61, 4 1 Severity levels 61. 4 2 An example program 62, 4 3 Generating log messages 62. Generating simple log messages 62, Generating one time log messages 65. Generating throttled log messages 65, 4 4 Viewing log messages 67.
4 4 1 Console 68, Formatting console messages 68, 4 4 2 Messages on rosout 69. 4 4 3 Log files 72, Finding the run id 72, Checking and purging log files 72. 4 5 Enabling and disabling log messages 73, Setting the logger level from the command line 74. Setting the logger level from a GUI 75, Setting the logger level from C code 75. 4 6 Looking forward 76, 5 Graph resource names 77, 5 1 Global names 77.
5 2 Relative names 78, Resolving relative names 79. Setting the default namespace 79, Understanding the purpose of relative names 80. 5 3 Private names 80, 5 4 Anonymous names 81, 5 5 Looking forward 82. 6 Launch files 83, 6 1 Using launch files 83, Executing launch files 83. Requesting verbosity 85, Ending a launched session 85.
6 2 Creating launch files 86, 6 2 1 Where to place launch files 86. 6 2 2 Basic ingredients 86, Inserting the root element 86. Launching nodes 87, Finding node log files 88, Directing output to the console 88. Requesting respawning 89, Requiring nodes 89, Launching nodes in their own windows 90. 6 3 Launching nodes inside a namespace 91, 6 4 Remapping names 93.
6 4 1 Creating remappings 93, 6 4 2 Reversing a turtle 95. 6 5 Other launch file elements 97, 6 5 1 Including other files 97. 6 5 2 Launch arguments 99, Declaring arguments 100. Assigning argument values 101, Accessing argument values 101. Sending argument values to included launch files 101. 6 5 3 Creating groups 102, 6 6 Looking forward 104.
7 Parameters 105, 7 1 Accessing parameters from the command line 105. Listing parameters 105, Querying parameters 106, Setting parameters 107. Creating and loading parameter files 107, 7 2 Example Parameters in turtlesim 108. Reading the background color 109, Setting the background color 109. 7 3 Accessing parameters from C 110, 7 4 Setting parameters in launch files 113.
Setting parameters 113, Setting private parameters 113. Reading parameters from a file 114, 7 5 Looking forward 115. 8 Services 117, 8 1 Terminology for services 117, 8 2 Finding and calling services from the command line 118. Listing all services 118, Listing services by node 119. Finding the node offering a service 120, Finding the data type of a service 120.
Inspecting service data types 121, Calling services from the command line 122. 8 3 A client program 123, Declaring the request and response types 123. Creating a client object 123, Creating request and response objects 125. Calling the service 125, Declaring a dependency 127. 8 4 A server program 127, Writing a service callback 127.
Creating a server object 129, Giving ROS control 130. 8 4 1 Running and improving the server program 130. 8 5 Looking ahead 131, 9 Recording and replaying messages 133. 9 1 Recording and replaying bag files 133, Recording bag files 133. Replaying bag files 134, Inspecting bag files 134, 9 2 Example A bag of squares 135. Drawing squares 135, Recording a bag of squares 135.
Replaying the bag of squares 136, 9 3 Bags in launch files 139. 9 4 Looking forward 140, 10 Conclusion 141, 10 1 What next 141. Running ROS over a network 141, Writing cleaner programs 142. Visualizing data with rviz 142, Creating message and service types 142. Managing coordinate frames with tf 142, Simulating with Gazebo 143.
10 2 Looking forward 143, Introduction, In which we introduce ROS describe how it can be useful and preview the re. mainder of the book, 1 1 Why ROS, The robotics community has made impressive progress in recent years Reliable and in. expensive robot hardware from land based mobile robots to quadrotor helicopters to. humanoids is more widely available than ever before Perhaps even more impressively. the community has also developed algorithms that help those robots run with increasing. levels of autonomy, In spite of or some might argue because of this rapid progress robots do still present. some significant challenges for software developers This book introduces a software plat. form called Robot Operating System or ROS 1 that is intended to ease some of these dif. ficulties The official description of ROS is, ROS is an open source meta operating system for your robot It provides the. services you would expect from an operating system including hardware ab. straction low level device control implementation of commonly used func. tionality message passing between processes and package management It. also provides tools and libraries for obtaining building writing and running. code across multiple computers 1, 1 When spoken aloud the name ROS is nearly always pronounced as a single word that rhymes with.
moss and almost never spelled out arrr oh ess, 1 http wiki ros org ROS Introduction. 1 I NTRODUCTION, This description is accurate and it correctly emphasizes that ROS does not replace but. instead works alongside a traditional operating system but it may leave you wondering. what the real advantages are for software that uses ROS After all learning to use a new. framework particularly one as complex and diverse as ROS can take quite a lot of time. and mental energy so one should be certain that the investment will be worthwhile Here. are a few specific issues in the development of software for robots that ROS can help to. Distributed computation Many modern robot systems rely on software that spans many. different processes and runs across several different computers For example. Some robots carry multiple computers each of which controls a subset of the robot s. sensors or actuators, Even within a single computer it s often a good idea to divide the robot s software. into small stand alone parts that cooperate to achieve the overall goal This ap. proach is sometimes called complexity via composition. When multiple robots attempt to cooperate on a shared task they often need to. communicate with one another to coordinate their efforts. Human users often send commands to a robot from a laptop a desktop computer. or mobile device We can think of this human interface as an extension of the robot s. The common thread through all of these cases is a need for communication between mul. tiple processes that may or may not live on the same computer ROS provides two relatively. simple seamless mechanisms for this kind of communication We ll discuss the details in. Chapters 3 and 8, Software reuse The rapid progress of robotics research has resulted in a growing collec. tion of good algorithms for common tasks such as navigation motion planning mapping. and many others Of course the existence of these algorithms is only truly useful if there is. a way to apply them in new contexts without the need to reimplement each algorithm for. each new system ROS can help to prevent this kind of pain in at least two important ways. ROS s standard packages provide stable debugged implementations of many impor. tant robotics algorithms, 1 1 Why ROS, R ROS s message passing interface is becoming a de facto standard for robot software.
interoperability which means that ROS interfaces to both the latest hardware and to. implementations of cutting edge algorithms are quite often available For example. the ROS website lists hundreds of publicly available ROS packages 2 This sort of. uniform interface greatly reduces the need to write glue code to connect existing. As a result developers that use ROS can expect after of course climbing ROS s initial. learning curve to focus more time on experimenting with new ideas and less time rein. venting wheels, Rapid testing One of the reasons that software development for robots is often more. challenging than other kinds of development is that testing can be time consuming and. error prone Physical robots may not always be available to work with and when they. are the process is sometimes slow and finicky Working with ROS provides two effective. workarounds to this problem, Well designed ROS systems separate the low level direct control of the hardware and. high level processing and decision making into separate programs Because of this. separation we can temporarily replace those low level programs and their corre. sponding hardware with a simulator to test the behavior of the high level part of. the system, ROS also provides a simple way to record and play back sensor data and other kinds. of messages This facility means that we can obtain more leverage from the time. we do spend operating a physical robot By recording the robot s sensor data we. can replay it many times to test different ways of processing that same data In ROS. parlance these recordings are called bags and a tool called rosbag is used to record. and replay them See Chapter 9, A crucial point for both of these features is that the change is seamless Because the real. robot the simulator and the bag playback mechanism can all provide identical or at least. very similar interfaces your software does not need to be modified to operate in these. distinct scenarios and indeed need not even know whether it is talking to a real robot or. to something else, Of course ROS is not the only platform that offers these capabilities What is unique.
about ROS at least in the author s judgment is the level of widespread support for. In which we introduce ROS describe how it can be useful and pre viewtheremainder ofthe book 2 Gettingstarted 11 InwhichweinstallROS introducesomebasicROSconcepts andin teract with a working ROSsystem 3 WritingROSprograms 39 In which we write ROS programs to publish and subscribe to mes sages 4 Logmessages 61 Inwhichwegenerate and viewlog

Related Books

Entre mythes et r alit s u bordeaux fr

Entre mythes et r alit s u bordeaux fr

Stockage des secrets Android Pas de m thode standard SQLite recommand pour les applications mais on voit de tout Pas de m thode standard pour le syst me Ex stockage des cl s WiFi en clair dans un fichier plat iOS Keychain avec plusieurs niveaux de protection 1 D marrage du syst me 2 T l phone d verrouill 3 Aucun Android vs iOS Markets stores Andro

Unlocking Secrets of Retirement Readiness Meet the

Unlocking Secrets of Retirement Readiness Meet the

Unlocking Secrets of Retirement Readiness Meet the Everyday People Who Are Power Planners a study based on findings from the 14th Annual Transamerica Retirement Survey examines the current state of retirement confidence among American workers and identifies those who are likely to be ready for retirement

Unlocking the Secret to Trade Secrets

Unlocking the Secret to Trade Secrets

4 was invited by the U S Senate Committee on the Judiciary to testify as an expert on trade secret law discussing the proposed Defend Trade Secrets Act His

Metz mecablitz System SCA 300 3000 Welcher Adapter pa t

Metz mecablitz System SCA 300 3000 Welcher Adapter pa t

Metz mecablitz System SCA 300 3000 Welcher Adapter pa t zu Ihrer Kamera 1 Zun chst die Gruppe Ihres Blitz ger tes laut den unten aufgef hrten

ricoh xr speedlite 300p ricoh flash ricoh speedlite

ricoh xr speedlite 300p ricoh flash ricoh speedlite

Ricoh XR 2S KR 10 KR 10 Super XR 7 XR 6 XR S can be used with shutter dial set to A Whether flash shot is made with correct exposure or not can be checked by electronic sound F stop Setting According to Film Speed Film speed ISO ASA F stop 25 50 100 200 400 1000 2 8 4 5 6 8 11 16 MANUAL FLASH PHOTOGRAPHY 1 Set the A M selector to M Fig 7 2 Set the shutter speed to 1 125

This is an extension of my other home page Translations

This is an extension of my other home page Translations

Ricoh KR 5 Super full manual Ricoh KR 5 Super II full manual Ricoh XR 1 full manual Ricoh XR2s Ricoh XR 2 Ricoh KR 10 Full manual Ricoh SP winder Ricoh XR 10 Ricoh TSL 401 NOT MINE Ricoh SLR Systems Booklet Ricoh Photographic Product Catalogue 1978 Ricoh Singlex TLS Full manual Ricoh R1 full manual Ricoh Mirai 105 Full manual

5LFRK Butkus

5LFRK Butkus

5lfrk 5 v 7klv fdphud pdqxdo oleudu lv iru uhihuhqfh dqg klvwrulfdo sxusrvhv doo uljkwv uhvhuyhg 7klv sdjh lv frsuljkw e 0 xwnxv 1

Company presentation Cloetta

Company presentation Cloetta

Company presentation Title Arial Bold 80 pt white Subtitle Arial Bold 80 pt grey We bring a smile to your Munchy Moments 2 Title Arial Bold 40 pt red Text Bullets Level 1 5 Arial Regular 20 pt grey Subtitle Arial Bold 40 pt grey This is Cloetta Founded by the three Cloetta brothers in 1862 Annual sales of around SEK 5 3 billion Leading local brands in 6

Essential Competency Profile for Physiotherapists in

Essential Competency Profile for Physiotherapists in

Canadian Alliance of Physiotherapy Regulators Canadian Physiotherapy Association Canadian Council of Physiotherapy University Programs Essential Competency Profile for Physiotherapists in Canada October 2009 Acknowledgements The development of the Essential Competency Profile for Physiotherapists in Canada the Profile was made possible through the collaboration of numerous organizations and

Sport and Physical Activity European Commission

Sport and Physical Activity European Commission

Fieldwork October 2009 Publication March 2010 This survey was requested by the Directorate General Education and Culture and coordinated by the Directorate General for Communication Research and Political Analysis Unit This document does not represent the point of view of the European Commission The interpretations and opinions contained in it are solely those of the authors Specia