没有合适的资源?快使用搜索试试~ 我知道了~
ROSWIKI官网学习资料整理
3星 · 超过75%的资源 需积分: 48 78 下载量 55 浏览量
2018-01-24
20:32:17
上传
评论 3
收藏 2.38MB PDF 举报
温馨提示
试读
48页
ROSWIKI官网学习资料整理,ROSWIKI官网学习资料整理,ROSWIKI官网学习资料整理
资源推荐
资源详情
资源评论
ROS 官网学习资料整理 1-初级阶段
1
Version:1.0;Date:20140430;Author:LiGaofeng,NKU
目 录
目录 ................................................................................................................................................................. 1
一、基本命令 ................................................................................................................................................. 3
二、创建一个 WorkSpace .............................................................................................................................. 3
三、创建一个 Package ................................................................................................................................... 3
3.1 一个包的组成 .................................................................................................................................. 3
3.2 包与 catkin WorkSpace 空间关系 ................................................................................................... 3
3.3 创建一个 catkin Package ................................................................................................................. 4
3.4 包的依赖 .......................................................................................................................................... 5
3.4.1 First-order dependencies ........................................................................................................ 5
3.4.2.Indirect dependencies ............................................................................................................. 5
3.5 定制自己的包 .................................................................................................................................. 5
3.5.1 认识 package.xml 文件各部分含义 ..................................................................................... 5
四、编译一个 ROS 包 .................................................................................................................................... 6
4.1 Building Packages ............................................................................................................................. 6
五、理解 ROS 节点 ........................................................................................................................................ 6
5.1 熟悉如下几个概念 .......................................................................................................................... 7
5.2 Client Libraries .................................................................................................................................. 7
5.3 roscore ............................................................................................................................................... 7
5.4 开始使用 rosnode ............................................................................................................................ 8
5.5 用 rosrun. .......................................................................................................................................... 9
六、理解 ROS 中的 Topics ........................................................................................................................... 10
6.1 键盘遥控乌龟 ................................................................................................................................ 11
6.2 ROS Topics...................................................................................................................................... 11
6.3 介绍 rostopic .................................................................................................................................. 12
6.3.1 rostopic echo ........................................................................................................................ 12
6.3.2 rostopic list ........................................................................................................................... 13
6.4 ROS Messages................................................................................................................................. 13
6.4.1 用 rostopic type ................................................................................................................... 14
6.4.2 用 rostopic pub 命令 ........................................................................................................... 15
6.4.3 用 rostopic hz 命令 ............................................................................................................. 16
七、理解 ROS 中的 Services 和 Parameters ................................................................................................ 18
7.1 ROS Services................................................................................................................................... 18
7.2 用 rosservice 命令 .......................................................................................................................... 18
7.2.1 rosservice list ........................................................................................................................ 19
7.2.2 rosservice type ...................................................................................................................... 19
7.2.3 rosservice call ....................................................................................................................... 20
7.3 用 rosparam .................................................................................................................................... 21
7.3.1 rosparam list ......................................................................................................................... 21
7.3.2 rosparam set 和 get 命令 ...................................................................................................... 21
7.3.3 rosparam dump 和 rosparam load 命令 ............................................................................... 23
八、使用 rqt_console 和 roslaunch ............................................................................................................. 24
8.1 安装 rqt 和 turtlesim 包。 ............................................................................................................. 24
8.2 rqt_console 和 rqt_logger_level 的用法 ......................................................................................... 24
ROS 官网学习资料整理 1-初级阶段
2
Version:1.0;Date:20140430;Author:LiGaofeng,NKU
8.2.1 关于 logger 的输出等级。 ................................................................................................. 26
8.2.2 roslaunch 的用法 ................................................................................................................. 27
8.2.3 roslaunching ......................................................................................................................... 27
九、用 rosed 编辑文件 ................................................................................................................................ 29
9.1 rosed 的使用 ................................................................................................................................... 29
9.2 用 tab 键编辑一个包下的所有文件。 ......................................................................................... 30
9.3 Editor ............................................................................................................................................... 30
十、创建一个 ROS msg 和 srv ..................................................................................................................... 31
10.1 msg 和 srv 介绍 ............................................................................................................................ 31
10.2 msg ................................................................................................................................................ 32
10.2.1 创建一个 msg ................................................................................................................... 32
10.2.2 使用 rosmsg ...................................................................................................................... 33
10.3 使用 srv ........................................................................................................................................ 34
10.3.1 创建一个 srv ..................................................................................................................... 34
10.3.2 使用 rossrv ........................................................................................................................ 35
10.4 msg 和 srv 的一般步骤 ................................................................................................................ 35
10.5 一些帮助工具 .............................................................................................................................. 37
十一、写一个简单的发布者 Publisher 和订阅者(Subscriber)(C++语言)............................................. 37
11.1 写一个 Publisher 节点 ................................................................................................................. 37
11.2 写一个 Subscriber 节点。 ........................................................................................................... 39
11.3 编译你的节点 .............................................................................................................................. 40
十二、测试发布节点和订阅节点。 ........................................................................................................... 41
12.1 运行 Publisher .............................................................................................................................. 41
12.2 运行 Subscriber ............................................................................................................................ 42
十三、写一个简单的 Service 和 Client ....................................................................................................... 42
13.1 写一个 Service 节点 .................................................................................................................... 42
13.2 写一个 Client 节点 ...................................................................................................................... 43
13.3 编译你的节点 .............................................................................................................................. 44
十四、测试 Service 和 Client ....................................................................................................................... 45
14.1 运行 Service(记得先运行 roscore) ........................................................................................ 45
14.2 运行 Client ................................................................................................................................... 45
十五、记录数据以及回复数据 ................................................................................................................... 46
15.1 记录数据(创建 bag 文件) ...................................................................................................... 46
15.1.1 记录所有发布的 topics .................................................................................................... 46
15.2 查看 bag 文件及 playing bag 文件.............................................................................................. 47
15.3 记录数据的一部分 ...................................................................................................................... 48
十六、roswtf 的使用 ................................................................................................................................... 48
ROS 官网学习资料整理 1-初级阶段
3
Version:1.0;Date:20140430;Author:LiGaofeng,NKU
一、基本命令
cd [file_name]: 进入某一文件路径
cd .. : 返回上一级目录
ls:列出当前路径下的所有文件
rospack find [package_name]: 返回所要找的包的路径
roscd: 将当前路径设置为某一个 ROS 包或栈的路径或其子路径
pwd: 显示出当前
roscd log:将路径设置为 ROS 存储日志文件的路径。
rosls [locationname[/subdir]]:直接将路径改为某个包下的某个子目录
TAB 键,相当于 Eclipse 里面的 ALT+/。但没有 ALT+/功能那么强大,只能在路径唯一时才会自动出
来。不会给出可选列表
二、创建一个 WorkSpace
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
初始化了工作空间,创建了一个 catkin_ws 空间,在该空间下有一个 src 文件夹。
$ cd ~/catkin_ws/
$ catkin_make
执行完该命令后,查看当前路径,会发现该空间除了 src,又多了 build 和 devel 文件夹。这两个文
件夹中是一些配置信息、编译信息等。
三、创建一个 Package
3.1 一个包的组成
必须满足三个要求:
1. 一个包里必须包含一个 package.xml 文件,用于说明关于包的基本信息(meta information)——
相当于 Android 里德 Manifest.xml 文件。
2. 包必须包含一个 CMakeLists.txt 文件。
3. 一个文件夹里只能有一个包。这也意味着,不会有多个包共用相同的路径。
3.2 包与 catkin WorkSpace 空间关系
一个包通常要在一个 catkin WorkSpace 中。也可以单独创建包。
包在 WorkSpace 空间中的结构是这样的:
workspace_folder/ -- WORKSPACE
src/ -- SOURCE SPACE
CMakeLists.txt -- 'Toplevel' CMake file, provided by catkin
package_1/
ROS 官网学习资料整理 1-初级阶段
4
Version:1.0;Date:20140430;Author:LiGaofeng,NKU
CMakeLists.txt -- CMakeLists.txt file for package_1
package.xml -- Package manifest for package_1
...
package_n/
CMakeLists.txt -- CMakeLists.txt file for package_n
package.xml -- Package manifest for package_n
3.3 创建一个 catkin Package
首先要先进入之前创建的一个 WorkSpace 的 src 目录中
$ cd ~/catkin_ws/src
然后用 catkin_create_pkg <package_name> [depend1] [depend2] [depend3]创建一个包。
$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
依照上述命令,创建了一个名为 beginner_tutorials 的包。这个包里包含了一个 package.xml 和
CMakeList.txt 文件。进入 src 文件可以看到多了一个名为 beginner_tutotials 的包。
进入 beginner_tutorials 查看一下。里面有如下文件:
ROS 官网学习资料整理 1-初级阶段
5
Version:1.0;Date:20140430;Author:LiGaofeng,NKU
那么,什么是包的依赖呢?上述的命令里,有三个依赖,std_msgs rospy roscpp,他们分别是什么含
义呢?
3.4 包的依赖
3.4.1 First-order dependencies
一个包直接依赖的文件?类?包?库?
3.4.2.Indirect dependencies
包所依赖的文件可能还依赖别的文件。
用 rospack depends1 <name>查询想要查询的类的依赖
rospack depends <package_name>列出包所有依赖的对象
3.5 定制自己的包
3.5.1 认识 package.xml 文件各部分含义
1. description 标签
<description>this can be your description</description>
2. maintainer 标签
<maintainer email=user@todo.todo>user</maintainer>
这个标签描述了谁是这个包的维护者。至少需要一个维护者。标签中给出了维护者的邮箱
3. license 标签
<license>BSD</license>
需要选择一个开放源码许可证。开放源码许可证有:BSD, MIT, Boost Software License, GPLv2, GPLv3,
LGPLv2.1, and LGPLv3 等,在 ROS 里采用 BSD 开源许可证
4. dependencies 标签
给出了该包依赖于哪些包或文件
默认为 buildtool_depend、编译 build_depend、运行 run_depend
切换行号显示
12 <buildtool_depend>catkin</buildtool_depend>
13
14 <build_depend>roscpp</build_depend>
15 <build_depend>rospy</build_depend>
16 <build_depend>std_msgs</build_depend>
17
18 <run_depend>roscpp</run_depend>
19 <run_depend>rospy</run_depend>
20 <run_depend>std_msgs</run_depend>
5. 去掉各种注释和无用的标签之后的 packag.xml 文件如下:
<?xml version="1.0"?>
<package>
<name>beginner_tutorials</name>
<version>0.1.0</version>
<description>The beginner_tutorials package</description>
<maintainer email="ligf@robot.nankai.edu.cn">Li Gaofeng</maintainer>
剩余47页未读,继续阅读
资源评论
- afeigo2019-06-27谢谢整理,值得参考看一看。
o_ha_yo_yepeng
- 粉丝: 155
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功