机器人与人工智能爱好者论坛

 找回密码
 立即注册
查看: 5115|回复: 0
打印 上一主题 下一主题

learning_ros_for_robotics_programming

[复制链接]

34

主题

34

帖子

217

积分

中级会员

Rank: 3Rank: 3

积分
217
跳转到指定楼层
楼主
发表于 2015-12-30 00:44:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
learning_ROS_for_robotics_programming


Table of Contents
Preface 1
Chapter 1: Getting Started with ROS 7
Installing ROS Electric – using repositories 10
Adding repositories to your sources.list file 12
Setting up your keys 12
Installation 12
The environment setup 13
Installing ROS Fuerte – using repositories 14
Configuring your Ubuntu repositories 14
Setting up your source.list file 15
Setting up your keys 15
Installation 15
The environment setup 17
Standalone tools 18
How to install VirtualBox and Ubuntu 18
Downloading VirtualBox 19
Creating the virtual machine 19
Summary 23
Chapter 2: The ROS Architecture with Examples 25
Understanding the ROS Filesystem level 26
Packages 27
Stacks 29
Messages 29
Services 31
Understanding the ROS Computation Graph level 32
Nodes 34
Topics 35
Services 36
Table of Contents
[ ii ]
Messages 37
Bags 37
Master 38
Parameter Server 38
Understanding the ROS Community level 39
Some tutorials to practice with ROS 39
Navigating through the ROS filesystem 39
Creating our own workspace 40
Creating an ROS package 41
Building an ROS package 42
Playing with ROS nodes 42
Learning how to interact with topics 45
Learning how to use services 49
Using the Parameter Server 51
Creating nodes 52
Building the node 55
Creating msg and srv files 57
Using the new srv and msg files 58
Summary 62
Chapter 3: Debugging and Visualization 63
Debugging ROS nodes 66
Using the GDB debugger with ROS nodes 66
Attaching a node to GDB while launching ROS 67
Enabling core dumps for ROS nodes 68
Debugging messages 69
Outputting a debug message 69
Setting the debug message level 70
Configuring the debugging level of a particular node 71
Giving names to messages 72
Conditional and filtered messages 73
More messages – once, throttle, and combinations 74
Using rosconsole and rxconsole to modify the debugging level on the fly 75
Inspecting what is going on 80
Listing nodes, topics, and services 80
Inspecting the node's graph online with rxgraph 80
When something weird happens – roswtf! 83
Plotting scalar data 83
Creating a time series plot with rxplot 84
Other plotting utilities – rxtools 86
Table of Contents
[ iii ]
Visualization of images 87
Visualizing a single image 87
FireWire cameras 88
Working with stereo vision 90
3D visualization 91
Visualizing data on a 3D world using rviz 92
The relationship between topics and frames 94
Visualizing frame transformations 94
Saving and playing back data 96
What is a bag file? 97
Recording data in a bag file with rosbag 98
Playing back a bag file 99
Inspecting all the topics and messages in a bag file using rxbag 100
rqt plugins versus rx applications 102
Summary 102
Chapter 4: Using Sensors and Actuators with ROS 103
Using a joystick or gamepad 104
How does joy_node send joystick movements? 105
Using joystick data to move a turtle in turtlesim 106
Using a laser rangefinder – Hokuyo URG-04lx 110
Understanding how the laser sends data in ROS 111
Accessing the laser data and modifying it 113
Creating a launch file 115
Using the Kinect sensor to view in 3D 116
How does Kinect send data from the sensors and how to see it? 117
Creating an example to use Kinect 119
Using servomotors – Dynamixel 121
How does Dynamixel send and receive commands for the movements? 123
Creating an example to use the servomotor 124
Using Arduino to add more sensors and actuators 125
Creating an example to use Arduino 126
Using the IMU – Xsens MTi 129
How does Xsens send data in ROS? 130
Creating an example to use Xsens 131
Using a low-cost IMU – 10 degrees of freedom 133
Downloading the library for the accelerometer 135
Programming Arduino Nano and the 10DOF sensor 135
Creating a ROS node to use data from the 10DOF sensor 138
Summary 140
Table of Contents
[ iv ]
Chapter 5: 3D Modeling and Simulation 141
A 3D model of our robot in ROS 141
Creating our first URDF file 142
Explaining the file format 144
Watching the 3D model on rviz 145
Loading meshes to our models 147
Making our robot model movable 148
Physical and collision properties 149
Xacro – a better way to write our robot models 150
Using constants 151
Using math 151
Using macros 151
Moving the robot with code 152
3D modeling with SketchUp 156
Simulation in ROS 158
Using our URDF 3D model in Gazebo 159
Adding sensors to Gazebo 162
Loading and using a map in Gazebo 163
Moving the robot in Gazebo 165
Summary 168
Chapter 6: Computer Vision 171
Connecting and running the camera 173
FireWire IEEE1394 cameras 174
USB cameras 178
Making your own USB camera driver with OpenCV 180
Creating the USB camera driver package 181
Using the ImageTransport API to publish the camera frames 182
Dealing with OpenCV and ROS images using cv_bridge 186
Publishing images with ImageTransport 187
Using OpenCV in ROS 188
Visualizing the camera input images 188
How to calibrate the camera 188
Stereo calibration 193
The ROS image pipeline 198
Image pipeline for stereo cameras 201
ROS packages useful for computer vision tasks 204
Performing visual odometry with viso2 205
Camera pose calibration 206
Table of Contents
[ v ]
Running the viso2 online demo 210
Running viso2 with our low-cost stereo camera 213
Summary 214
Chapter 7: Navigation Stack – Robot Setups 215
The navigation stack in ROS 216
Creating transforms 217
Creating a broadcaster 218
Creating a listener 218
Watching the transformation tree 221
Publishing sensor information 222
Creating the laser node 223
Publishing odometry information 226
How Gazebo creates the odometry 227
Creating our own odometry 230
Creating a base controller 234
Using Gazebo to create the odometry 236
Creating our base controller 238
Creating a map with ROS 241
Saving the map using map_server 243
Loading the map using map_server 244
Summary 245
Chapter 8: Navigation Stack – Beyond Setups 247
Creating a package 248
Creating a robot configuration 248
Configuring the costmaps (global_costmap) and (local_costmap) 251
Configuring the common parameters 251
Configuring the global costmap 253
Configuring the local costmap 253
Base local planner configuration 254
Creating a launch file for the navigation stack 255
Setting up rviz for the navigation stack 256
2D pose estimate 257
2D nav goal 258
Static map 258
Particle cloud 259
Robot footprint 260
Obstacles 261
Inflated obstacles 262
Table of Contents
[ vi ]
Global plan 262
Local plan 263
Planner plan 264
Current goal 264
Adaptive Monte Carlo Localization (AMCL) 266
Avoiding obstacles 268
Sending goals 269
Summary 273
Chapter 9: Combining Everything – Learn by Doing 275
REEM – the humanoid of PAL Robotics 276
Installing REEM from the official repository 278
Running REEM using the Gazebo simulator 282
PR2 – the Willow Garage robot 284
Installing the PR2 simulator 285
Running PR2 in simulation 285
Localization and mapping 289
Running the demos of the PR2 simulator 292
Robonaut 2 – the dexterous humanoid of NASA 293
Installing the Robonaut 2 from the sources 293
Running Robonaut 2 in the ISS fixed pedestal 294
Controlling the Robonaut 2 arms 295
Controlling the robot easily with interactive markers 295
Giving legs to Robonaut 2 297
Loading the ISS environment 298
Husky – the rover of Clearpath Robotics 299
Installing the Husky simulator 300
Running Husky on simulation 300
TurtleBot – the low-cost mobile robot 302
Installing the TurtleBot simulation 302
Running TurtleBot on simulation 303
Summary 303
Index 305


learning_ros_for_robotics_programming.pdf (9.57 MB, 下载次数: 0)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-5-5 23:26 , Processed in 0.058246 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表