ROS机器⼈程序设计期末知识点⼤总结1. ⼯作空间的框架是怎么样的?有⼏个⽂件夹?
⼀个包含功能包、可编辑源⽂件或编译包的⽂件夹。
同时编译不同的功能包时⾮常有⽤,并且可以⽤来保存本地开发包。
2. 编译命令是什么?
⽤catkin编译功能包
$ cmake package/ #使⽤标准Cmake⼯作流程,⼀次编译⼀个包
$ make
$ cd workspace # 编译⼯作空间内的所有包
$ catkin_make
3. Source是⼲什么?为什么要source?
⽤来刷新⼯作环境;
如果不刷新,系统可能⽆法识别编译后(如Catkin_make之后)的⼯作环境(⾥⾯的新⽂件);
4. 什么是功能包?
功能包是ROS软件中的基本单元,包含ROS节点、库、配置⽂件。
⼀个功能包⽂件结构
这些⽂件夹的主要功能如下:
config:放置功能包中的配置⽂件,由⽤户创建,⽂件名可以不同。include:放置功能包中需要⽤到的⽂件。
scripts:放置可以直接运⾏的Python脚本。
src:程序源⽂件。
launch:放置功能包⾃定义的消息类型。
msg:放置功能包⾃定义的服务类型。
srv:放置功能包的定义的服务类型。
action:放置功能包⾃定义的动作指令。
<:Cmake的⽣成⽂件,编译器编译功能包的规则。l:功能包清单。
5. 功能包⾥⾄少会包含什么⽂件?
新建⼀个⼯作空间
新建⼀个功能包
(刚刚新建的功能包,包含以下⼏个东西)
⼀个include⽂件夹——⾥⾯包含着⼀个与包名同名的空⽂件夹;
⼀个空src⽂件夹
⼀个⽂件
⼀个l⽂件
6. build⽬录下是保存什么的?
编译空间(build⽂件夹):CMake和catkin为功能包和项⽬保存缓存信息、配置和其他中间⽂件
7. devel⽬录下是保存什么的?
开发空间(devel⽂件夹):保存编译后的程序(⽆需安装就能⽤来测试的程序)
8. ros操作系统的通讯⽅式有⼏种?分别是什么?
ros操作系统的通讯⽅式有三种
话题通讯机制
服务通讯机制
参数通讯机制
拓展:
为什么现在都用cmake⾃定义通信格式有三种:消息( msg)
服务(srv)
动作(action)
9. 解释⼀下launch的作⽤?
作⽤:运⾏启动⽂件
在ROS中⼀个节点程序⼀般只能完成功能单⼀的任务,但是⼀个完整的ROS机器⼈⼀般由很多个节点程序同 时运⾏、相互协作才能完成复杂的任务,因此这就要求在启动机器⼈时就必须要启动很多个节点程序,⼀般的
ROS机器⼈由⼗⼏个节点程序组成,复杂的⼏⼗个都有可能。
这就要求我们必须⾼效率的启动很多节点,⽽不是通过rosrun命令来依次启动⼗⼏个节点程序,launch⽂件 就是为解决这个需求⽽⽣,launch⽂件就是⼀个xml格式的脚本⽂件,我们把需要启动的节点都写进launch⽂件 中,这样我们就可以通过roslaunch⼯具来调⽤launch⽂件,执⾏这个脚本⽂件就⼀次性启动所有的节点程序。
0. 简述topic
主题是节点间⽤来传输数据的总线。
通过主题进⾏消息路由不需要节点之间直接连接——发布者和订阅者之间不需要知道彼此是否存在。
⼀个主题可以有多个订阅者,也可以有多个发布者。
ROS的主题可以使⽤TCP/IP和UDP传输:TCPROS(默认),UDPROS(低延迟⾼效率,数据丢失,远程操作)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论