Mastering ROS for Robotics Programming - Second Edition[].pdf

所需积分/C币:49 2019-05-09 22:19:19 44.9MB PDF
收藏 收藏

Effective Robotics Programming with ROS, Third Edition gives you a comprehensive review of ROS, the Robot Operating System framework, which is used nowadays by hundreds of research groups and companies in the robotics industry. More importantly, ROS is also the painless entry point to robotics for n
Mapt mapt. io Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website Why subscribe? Spend less time learning and more time coding with practical eBooks and Videos from over 4, 000 industry professionals Improve your learning with skill plans built especially for you Get a free ebook or video every month Mapt is fully searchable Copy and paste, print, and bookmark content PacktPub, com Did you know that packt offers e Book versions of every book published, with PDF and epubfilesavailableYoucanupgradetotheeboOkversionatwww.packtpub.comandasa print book customer, you are entitled to a discount on the eBook copy. Get in touch with us atservice@packtpub.comformoredetails Atwww.packtpub.comyoucanalsoreadacollectionoffreetechnicalarticlessignupfora range of free newsletters and receive exclusive discounts and offers on packt books and B eBooKs Contributors About the authors Lentin Joseph is an author and robotics entrepreneur from India. He runs a robotics software company called Qbotics Labs in India. He has 7 years of experience in the robotics domain especially in robot Operating system, Open- CV, and pcl He has authored three books in ROS, namely, Learning robotics using Python, Mastering Ros for robotics programming, and ros robotics projects He is currently pursuing his masters in Robotics from India and is also doing research in Robotics Institute, CMU USa Jonathan Cacace was born in Naples, Italy, on December 13, 1987. He received his Masters degree in computer science, and a Ph D degree in Information and Automation Engineering, from the University of Naples Federico II Currently he is a postdoc at the prisma lab of the university of Naples federico II. he is involved in different research projects focused on industrial and service robotics in which he has developed several ROS-based applications integrating robot perception and control I would like to express my thanks and gratitude to my friends, my parents and all the people i met during my life who contributed to enrich my life and my knowledge About the reviewer Ruixiang Du is a Phd candidate in Mechanical Engineering at Worcester polytechnic Institute(WPI). He currently works in the Autonomy, Control and Estimation Laboratory with a research focus on the motion planning and control of autonomous mobile robots. He received a bachelor's degree in Automation from North China Electric Power University in 2011 and a master's degree in robotics engineering from wpi in 2013 Ruixiang has general interests in robotics and in real-time and embedded systems. He has worked on various robotic projects with robot platforms ranging from medical robots, unmanned aerial/ground vehicles to humanoid robots. He was a member of team WPi- CMU for the DARPa Robotics Challenge Packt is searching for authors like you If you' re interested in becoming an author for Packt, please visit authors. packtpub com and apply today we have worked with thousands of developers and tech professionals just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea Table of contents Preface Chapter 1: Introduction to ROs Why should we learn ROS? Why we prefer Ros for robots 8 Why some do not prefer ROS for robots Understanding the Ros filesystem level ROS packages 13 ROS metapackages 15 ROS messages 16 The ros services 18 Understanding the Ros computation graph level 19 ROS nodes 21 ROS messages 22 ROS topics 23 ROS services 24 RoS bags 25 The ros master 26 Using the Ros parameter 28 Ros community level 29 What are the prerequisites for starting with Ros? 30 Running the Ros Master and the Ros parameter server 30 Checking the roscoe command output 32 Questions 33 Summary 34 Chapter 2: Getting Started with Ros Programming 35 Creating a ROs package 35 Working with ROs topics 38 Creating Ros nodes 38 Building the nodes Adding custom msg and srv files 44 Table of contents Working with ROS services Working with Ros actionlib 52 Creating the ros action server 53 Creating the Ros action client 55 Building the Ros action server and client 56 Creating launch files Applications of topics, services, and actionlib 62 Maintaining the ros package 62 Releasing your RoS package 63 Preparing the Ros package for the release 64 Releasing our package 64 Creating a Wiki page for your ROs package 67 Questions Summary Chapter 3: Working with 3D Robot Modeling in ROS 72 ROS packages for robot modeling 73 Understanding robot modeling using URDF 74 Creating the Ros package for the robot description 78 Creating our first URDF model 78 Explaining the URDF file Visualizing the 3D robot model in RViz 83 Interacting with pan-and-tilt joints Adding physical and collision properties to a URDF model 85 Understanding robot modeling using acro 86 Using properties 87 Using the math expression 87 Using macros 87 Converting xacro to URDF 88 Creating the robot description for a seven DOF robot manipulator89 Arm specification 0 ype of joints 90 Explaining the acro model of the seven DOF arm 91 Using constants 91 Using macros Table of contents Including other acro files 92 Using meshes in the link 93 Working with the robot gripper 93 Viewing the seven DOF arm in RViz Understanding joint state publisher 96 Understanding robot state publisher 96 Creating a robot model for the differential drive mobile robot 98 Questions 103 Summary 103 Chapter 4: Simulating Robots Using ROs and Gazebo 104 Simulating the robotic arm using Gazebo and ros 105 Creating the robotic arm simulation model for Gazebo 106 Adding colors and textures to the Gazebo robot model 109 Adding transmission tags to actuate the model 109 Adding the gazebo ros control plugin 110 Adding a 3D vision sensor to Gazebo 110 Simulating the robotic arm with Tion Pro 112 Visualizing the 3D sensor data 113 Moving robot joints using ROS controllers in Gazebo 115 Understanding the ros control packages 116 Different types of Ros controllers and hardware interfaces 116 How the ros controller interacts with gazebo 117 Interfacing joint state controllers and joint position controllers to the arm 119 Launching the Ros controllers with Gazebo 120 Moving the robot joints 122 Simulating a differential wheeled robot in Gazebo 123 Adding the laser scanner to Gazebo 125 Moving the mobile robot in Gazebo 126 Adding joint state publishers in the launch file 128 Adding the ros teleop node 128 Questions 130 Summary 131 Chapter 5: Simulating Robots Using ROs and V-REP 132 Setting up V-REP with ROs 133 Understanding the vrep_ plugin 137 Iiii] Table of contents Interacting with v-rep using ros services 139 Interacting with v-rep using ros topics 141 Simulating the robotic arm using V-REP and ros 146 Adding the Ros interface to V-REP joint controllers 149 Simulating a differential wheeled robot in V-REP 153 Adding a laser sensor to V-REP 156 Adding a 3d vision sensor to V-REP 159 Questions 161 Summary 161 Chapter 6: Using the Ros Movelt! and Navigation Stack 162 Installing Movelt 163 Movelt! architecture 163 The move group node 164 Motion planning using Movelt 166 Motion planning request adapters 168 Movelt! planning scene 168 Movelt! kinematics handling 169 Movelt! collision checking 170 Generating Movelt! configuration package using the Setup Assistant too 171 Step 1-Launching the Setup Assistant tool 171 Step 2-Generating the Self-Collision matrix 173 Step 3- Adding virtual joints 174 Step 4- Adding planning groups 175 Step 5- Adding the robot poses 176 Step 6- Setting up the robot end effector 177 Step- Adding passive joints 178 Step 8- Author information 178 Step 9- Generating configuration files 178 Motion planning of robot in rviz using Movelt! configuration package 180 Using the RViz Motion Planning plugin 181 Interfacing the Movelt! configuration package to Gazebo 184 Step 1-Writing the controller configuration file for Movelt 185 Step 2-Creating the controller launch files 186 Step 3- Creating the controller configuration file for Gazebo 186 Iiv I Table of contents Step 4-Creating the launch file for Gazebo trajectory controllers 188 Step 5- Debugging the Gazebo-Movelt! interface 189 Understanding the Ros Navigation stack 191 ROS Navigation hardware requirements 191 Working with Navigation packages 193 Understanding the move base node 193 orking of Navigation stack 195 Localizing on the map 195 Sending a goal and path planning 195 Collision recovery behavior 195 Sending the command velocity 195 Installing the ros Navigation stack 196 Building a map using SLAM 196 Creating a launch file for gapping 196 Running SLAM on the differential drive robot 199 Implementing autonomous navigation using amcl and a static map 203 Creating an amcl launch file 203 Questions 206 Summary 207 Chapter 7: Working with pluginlib, Nodelets, and Gazebo Plugins 208 Understanding pluginlib 209 Creating plugins for the calculator application using pluginlib 209 Working with the pluginlib calculator package 211 Step 1-Creating the calculator base header file 211 Step 2-Creating the calculator plugins header file 212 Step 3-Exporting plugins using the calculator_ plugins. cpp 213 Step 4-Implementing the plugin loader using the calculator loader. cpp 213 Step 5-Creating the plugin description file: calculator plugins. xml 214 Step 6-Registering the plugin with the Ros package system 215 Step 7-Editing the CMakeLists. txt file 215 Step 8-Querying the list of plugins in a package 215 Step 9-Running the plugin loader 216 Understanding Ros nodelets 216 Creating a nodelet 217 Step 1-Creating a package for a nodelet 217 Step 2-Creating the hello world. cpp nodelet 217 Step 3-Explanation of hello world. cpp 217 ⅴ]

试读 127P Mastering ROS for Robotics Programming - Second Edition[].pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折

    关注 私信 TA的资源

    Mastering ROS for Robotics Programming - Second Edition[].pdf 49积分/C币 立即下载
    Mastering ROS for Robotics Programming - Second Edition[].pdf第1页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第2页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第3页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第4页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第5页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第6页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第7页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第8页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第9页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第10页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第11页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第12页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第13页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第14页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第15页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第16页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第17页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第18页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第19页
    Mastering ROS for Robotics Programming - Second Edition[].pdf第20页


    49积分/C币 立即下载 >