




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ROS通信机制进阶汽车计算机基础一、课程导入上一个任务主要介绍了ROS通信的实现,内容偏向于粗粒度的通信框架的讲解,没有详细介绍涉及的API,也没有封装代码。总结课程导入ROS中的头文件与源文件常用API一、课程导入ROS有哪些常用API?总结课程导入ROS中的头文件与源文件常用API二、常用API2.1初始化(1)ROS初始化函数ROS初始化函数可以解析并使用节点启动时传入的参数(通过参数设置节点名称、命名空间...)。该函数有多个重载版本,如果使用NodeHandle建议调用该版本。函数原型:(2)函数参数参数说明paramargc参数个数paramargv参数列表paramname节点名称,需要保证其唯一性,不允许包含命名空间paramoptions节点启动选项,被封装进了ros::init_options总结课程导入ROS中的头文件与源文件常用API二、常用API2.2话题与服务相关对象(1)发布对象话题发布对象是ROS的话题通信中的发布方,也就是发出信息的一方。在获取该对象时,会通过RPC在ROSMaster中注册自身信息,其中包含所发布消息的话题名称话题发布者对象为ros命名空间下的Publisher类,通过NodeHandle类中的advertise函数初始化。①函数说明根据话题生成发布对象,在ROSmaster注册并返回一个发布者对象,该对象可以发布消息。②函数原型总结课程导入ROS中的头文件与源文件常用API二、常用API2.2话题与服务相关对象(1)发布对象③函数参数d.函数返回值return调用成功时,会返回一个发布对象。参数说明paramtopic发布消息使用的话题paramqueue_size等待发送给订阅者的最大消息数量paramlatch(optional)如果为true,该话题发布的最后一条消息将被保存,并且后期当有订阅者连接时会将该消息发送给订阅者总结课程导入ROS中的头文件与源文件常用API二、常用API2.2话题与服务相关对象(1)发布对象④Publisher对象发布消息函数该函数将数据message发送到已连接的订阅者,message类型可以为任意类型。总结课程导入ROS中的头文件与源文件常用API二、常用API2.3回旋函数回旋函数是ROS中非常常用的功能函数,作用是处理程序中的所有可用的回调函数,当函数执行条件触发时,就去执行函数。(1)单次回旋函数spinOnce()用于处理一轮回调,一般应用在循环体内,处理所有可用的回调函数,函数格式:总结课程导入ROS中的头文件与源文件常用API二、常用API2.3回旋函数(2)spin()无限回旋函数进入循环处理回调,一般格式为:总结课程导入ROS中的头文件与源文件常用API二、常用API2.3回旋函数(3)二者比较相同点:二者都用于处理回调函数;不同点:ros::spin()是进入了循环执行回调函数,而ros::spinOnce()只会执行一次回调函数(没有循环),在ros::spin()后的语句不会执行到,而ros::spinOnce()后的语句可以执行。总结课程导入ROS中的头文件与源文件常用API二、常用API2.4时间(1)时刻获取时刻,或是设置指定时刻:总结课程导入ROS中的头文件与源文件常用API二、常用API2.4时间(2)持续时间设置一个时间区间(间隔):总结课程导入ROS中的头文件与源文件常用API二、常用API2.4时间(3)持续时间与时刻运算为了方便使用,ROS中提供了时间与时刻的运算:总结课程导入ROS中的头文件与源文件常用API二、常用API2.4时间(4)设置运行频率总结课程导入ROS中的头文件与源文件常用API二、常用API2.4时间(5)定时器①函数说明ROS中内置了专门的定时器,定时器相当于一个闹钟,隔一段时间响一次(执行回调函数),成功返回一个定时器对象。②函数原型总结课程导入ROS中的头文件与源文件常用API二、常用API2.4时间(5)定时器③函数参数参数说明period时间间隔(Duration类型)callback回调函数(函数指针)oneshot如果设置为true,只执行一次回调函数,设置为false,就循环执行autostart如果为true,返回已经启动的定时器,设置为false,需要手动启动总结课程导入ROS中的头文件与源文件常用API二、常用API2.5其他函数(1)节点关闭函数总结课程导入ROS中的头文件与源文件常用API二、常用API2.5其他函数(2)节点状态判断函数总结课程导入ROS中的头文件与源文件常用API二、常用API2.5其他函数(3)日志函数总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.1自定义头文件调用(1)头文件在功能包下的include/功能包名目录下新建头文件:hello.h,示例内容如下:总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.1自定义头文件调用(2)可执行文件在src目录下新建文件:hello.cpp,示例内容如下:总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.1自定义头文件调用(3)配置文件①配置CMakeLists.txt文件,头文件相关配置如下:总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.1自定义头文件调用(3)配置文件②可执行配置文件配置方式与之前一致:总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.1自定义头文件调用(3)配置文件②可执行配置文件配置方式与之前一致:最后,编译并执行,控制台可以输出自定义的文本信息。总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.2自定义源文件调用(1)头文件头文件设置与前面类似,在功能包下的include/功能包名目录下新建头文件:haha.h,示例内容如下:总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.2自定义源文件调用(2)源文件在src目录下新建文件:haha.cpp,示例内容如下:总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.2自定义源文件调用(3)可执行文件在src目录下新建文件:use_head.cpp,示例内容如下:总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.2自定义源文件调用(4)配置文件①头文件与源文件相关配置:总结课程导入ROS中的头文件与源文件常用API三、ROS中的头文件与源文件3.2自定义源文件调用(4)配置文件②可执行文件配置:总结课程导入ROS中的头文件与源文件常用API1.ROS常用API有:ROS节点的初始化相关API、NodeHandle的基本使用相关API、话题的发布方,订阅方对象相关API、服务的服务端,客户端对象相关API、回旋函数相关API、时间相关API。2.ROS初始化函数:可以解析并使用节点启动时传入的参数。3.在roscpp中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国一体式法兰不锈钢球阀市场分析及竞争策略研究报告
- 2025至2030年中国TV转轴行业投资前景及策略咨询研究报告
- 2025至2030年中国SB树叶南瓜碗市场分析及竞争策略研究报告001
- 2025至2030年中国PVC磁贴行业投资前景及策略咨询报告
- 2025至2030年中国PP透明盒行业发展研究报告
- 人教部编版七年级下册语文《学习抒情》(新课标单元整体教学设计+课时教学设计)
- 2025至2030年中国PE包装袋行业投资前景及策略咨询报告
- 2025至2030年中国PBT原料市场调查研究报告
- 2025至2030年中国MIDI键盘行业发展研究报告
- 2025至2030年中国LED控制器行业投资前景及策略咨询报告
- 钢铁项目环评报告 - 15总量控制
- 【魔镜洞察】2024药食同源保健品滋补品行业分析报告
- 《弘扬教育家精神》专题课件
- 2024年新高考II卷高考生物试卷(真题+答案)
- 学校公众号运营事迹材料
- 状元社会参与与公民责任意识的培养
- 台球厅运营方案策划书(2篇)
- 【新零售业态下小米营运资金管理的实例探析13000字(论文)】
- 2024年劳动关系协调员(4级)职业鉴定考试题库(含答案)
- MOOC 机械之美-迷人的工程机械双语-江西理工大学 中国大学慕课答案
- 《中国心力衰竭诊断和治疗指南(2024)》解读
评论
0/150
提交评论