在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Learning ROS for Robotics Programming Second Edition.pdf

Learning ROS for Robotics Programming Second Edition.pdf

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:9.93M
  • 下载次数:7
  • 浏览次数:87
  • 发布时间:2020-10-18
  • 实例类别:一般编程问题
  • 发 布 人:eewew
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: ee

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】


Table of Contents
Preface ix
Chapter 1: Getting Started with ROS Hydro 1
PC installation 4
Installing ROS Hydro – using repositories 4
Configuring your Ubuntu repositories 5
Setting up your source.list file 6
Setting up your keys 7
Installing ROS 7
Initializing rosdep 8
Setting up the environment 9
Getting rosinstall 10
How to install VirtualBox and Ubuntu 11
Downloading VirtualBox 11
Creating the virtual machine 12
Installing ROS Hydro in BeagleBone Black (BBB) 15
Prerequisites 16
Setting up the local machine and source.list file 18
Setting up your keys 19
Installing the ROS packages 19
Initializing rosdep for ROS 20
Setting up the environment in BeagleBone Black 20
Getting rosinstall for BeagleBone Black 21
Summary 21
Chapter 2: ROS Architecture and Concepts 23
Understanding the ROS Filesystem level 24
The workspace 25
Packages 27
Metapackages 29
Table of Contents
[ ii
]
Messages 31
Services 32
Understanding the ROS Computation Graph level 33
Nodes and nodelets 35
Topics 36
Services 37
Messages 38
Bags 38
The ROS master 39
Parameter Server 39
Understanding the ROS Community level 40
Tutorials to practice with ROS 41
Navigating by ROS Filesystem 41
Creating our own workspace 42
Creating a ROS package and metapackage 43
Building an ROS package 44
Playing with ROS nodes 45
Learning how to interact with topics 48
Learning how to use services 52
Using Parameter Server 55
Creating nodes 56
Building the node 59
Creating msg and srv files 61
Using the new srv and msg files 64
The launch file 68
Dynamic parameters 71
Summary 77
Chapter 3: Visualization and Debug Tools 79
Debugging ROS nodes 83
Using the GDB debugger with ROS nodes 83
Attaching a node to GDB while launching ROS 85
Profiling a node with valgrind while launching ROS 85
Enabling core dumps for ROS nodes 86
Logging messages 86
Outputting a logging message 86
Setting the debug message level 87
Configuring the debugging level of a particular node 88
Giving names to messages 90
Conditional and filtered messages 90
Table of Contents
[ iii ]
Showing messages in the once, throttle, and other combinations 91
Using rqt_console and rqt_logger_level to modify the debugging
level on the fly 92
Inspecting what is going on 96
Listing nodes, topics, services, and parameters 96
Inspecting the node's graph online with rqt_graph 100
Setting dynamic parameters 103
When something weird happens 105
Visualizing node diagnostics 106
Plotting scalar data 108
Creating a time series plot with rqt_plot 108
Image visualization 111
Visualizing a single image 112
3D visualization 113
Visualizing data in a 3D world using rqt_rviz 114
The relationship between topics and frames 117
Visualizing frame transformations 118
Saving and playing back data 120
What is a bag file? 120
Recording data in a bag file with rosbag 121
Playing back a bag file 122
Inspecting all the topics and messages in a bag file 123
Using the rqt_gui and rqt plugins 126
Summary 127
Chapter 4: Using Sensors and Actuators with ROS 129
Using a joystick or a gamepad 130
How does joy_node send joystick movements? 131
Using joystick data to move a turtle in turtlesim 132
Using a laser rangefinder – Hokuyo URG-04lx 136
Understanding how the laser sends data in ROS 138
Accessing the laser data and modifying it 140
Creating a launch file 142
Using the Kinect sensor to view objects in 3D 143
How does Kinect send data from the sensors, and how do we see it? 144
Creating an example to use Kinect 146
Using servomotors – Dynamixel 149
How does Dynamixel send and receive commands for the movements? 150
Creating an example to use the servomotor 151
Using Arduino to add more sensors and actuators 153
Creating an example program to use Arduino 154
Table of Contents
[ iv ]
Using an ultrasound range sensor with Arduino 157
How distance sensors send messages 160
Creating an example to use the ultrasound range 161
Using the IMU – Xsens MTi 163
How does Xsens send data in ROS? 164
Creating an example to use Xsens 165
Using a low-cost IMU – 10 degrees of freedom 167
Downloading the library for the accelerometer 169
Programming Arduino Nano and the 10 DOF sensor 169
Creating an ROS node to use data from the 10 DOF sensor 172
Using a GPS system 174
How GPS sends messages 176
Creating an example project to use GPS 177
Summary 179
Chapter 5: Computer Vision 181
Connecting and running the camera 182
FireWire IEEE1394 cameras 182
USB cameras 187
Writing your own USB camera driver with OpenCV 189
Using OpenCV and ROS images with cv_bridge 195
Publishing images with image transport 195
Using OpenCV in ROS 196
Visualizing the camera input images 197
Calibrating the camera 197
Stereo calibration 202
The ROS image pipeline 207
The image pipeline for stereo cameras 210
ROS packages useful for Computer Vision tasks 214
Using visual odometry with viso2 216
Camera pose calibration 216
Running the viso2 online demo 220
Running viso2 with our low-cost stereo camera 223
Performing visual odometry with an RGBD camera 224
Installing fovis 225
Using fovis with the Kinect RGBD camera 225
Computing the homography of two images 228
Summary 229
Chapter 6: Point Clouds 231
Understanding the point cloud library 232
Different point cloud types 233
Table of Contents
[ v ]
Algorithms in PCL 234
The PCL interface for ROS 234
My first PCL program 236
Creating point clouds 237
Loading and saving point clouds to the disk 241
Visualizing point clouds 245
Filtering and downsampling 249
Registration and matching 255
Partitioning point clouds 259
Segmentation 264
Summary 269
Chapter 7: 3D Modeling and Simulation 271
A 3D model of our robot in ROS 271
Creating our first URDF file 271
Explaining the file format 274
Watching the 3D model on rviz 275
Loading meshes to our models 277
Making our robot model movable 278
Physical and collision properties 279
Xacro – a better way to write our robot models 280
Using constants 281
Using math 281
Using macros 281
Moving the robot with code 282
3D modeling with SketchUp 286
Simulation in ROS 288
Using our URDF 3D model in Gazebo 289
Adding sensors to Gazebo 293
Loading and using a map in Gazebo 296
Moving the robot in Gazebo 298
Summary 301
Chapter 8: The Navigation Stack – Robot Setups 303
The navigation stack in ROS 304
Creating transforms 305
Creating a broadcaster 306
Creating a listener 307
Watching the transformation tree 310
Publishing sensor information 310
Creating the laser node 312
Table of Contents
[ vi ]
Publishing odometry information 314
How Gazebo creates the odometry 316
Creating our own odometry 319
Creating a base controller 324
Using Gazebo to create the odometry 326
Creating our base controller 327
Creating a map with ROS 330
Saving the map using map_server 332
Loading the map using map_server 333
Summary 334
Chapter 9: The Navigation Stack – Beyond Setups 335
Creating a package 336
Creating a robot configuration 336
Configuring the costmaps – global_costmap and local_costmap 339
Configuring the common parameters 340
Configuring the global costmap 341
Configuring the local costmap 341
Base local planner configuration 342
Creating a launch file for the navigation stack 343
Setting up rviz for the navigation stack 345
The 2D pose estimate 345
The 2D nav goal 347
The static map 348
The particle cloud 349
The robot's footprint 350
The local costmap 351
The global costmap 352
The global plan 353
The local plan 354
The planner plan 355
The current goal 356
Adaptive Monte Carlo Localization 357
Modifying parameters with rqt_reconfigure 359
Avoiding obstacles 360
Sending goals 362
Summary 365
Chapter 10: Manipulation with MoveIt! 367
The MoveIt! architecture 368
Motion planning 370
The planning scene 371
Table of Contents
[ vii ]
Kinematics 372
Collision checking 372
Integrating an arm in MoveIt! 372
What's in the box? 373
Generating a MoveIt! package with the setup assistant 374
Integration into RViz 382
Integration into Gazebo or a real robotic arm 386
Simple motion planning 387
Planning a single goal 388
Planning a random target 389
Planning a predefined group state 390
Displaying the target motion 391
Motion planning with collisions 391
Adding objects to the planning scene 392
Removing objects from the planning scene 394
Motion planning with point clouds 394
The pick and place task 396
The planning scene 397
The target object to grasp 398
The support surface 399
Perception 401
Grasping 402
The pickup action 405
The place action 408
The demo mode 411
Simulation in Gazebo 412
Summary 413
Index 415


标签: ee

实例下载地址

Learning ROS for Robotics Programming Second Edition.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警