ROS基础学习

cmakelist与package.xml

参照链接:link.
cmakelist:CPP文件编译管理文档

cmake_minimum_required() #CMake的版本号
project() #项目名称
find_package() #找到编译需要的其他CMake/Catkin package
catkin_python_setup() #catkin新加宏,打开catkin的Python Module的支持
add_message_files() #catkin新加宏,添加自定义Message/Service/Action文件
add_service_files()
add_action_files()
generate_message() #catkin新加宏,生成不同语言版本的msg/srv/action接口
catkin_package() #catkin新加宏,生成当前package的cmake配置,供依赖本包的其他软件包调用
add_library() #生成库
add_executable() #生成可执行二进制文件
add_dependencies() #定义目标文件依赖于其他目标文件,确保其他目标已被构建
target_link_libraries() #链接
catkin_add_gtest() #catkin新加宏,生成测试
install() #安装至本机

package.xml:感觉像是说明性文档
三个标签使用比较频繁: depend、build_depend、exec_depend

<pacakge> 根标记文件
<name> 包名
<version> 版本号
<description> 内容描述
<maintainer> 维护者
<license> 软件许可证
<buildtool_depend> 编译构建工具,通常为 catkin
<depend> 指定依赖项为编译、导出、运行需要的依赖,最常用
<build_depend> 编译依赖项
<build_export_depend> 导出依赖项
<exec_depend> 运行依赖项
<test_depend> 测试用例依赖项
<doc_depend> 文档依赖项 

service通信协议

概念:以请求响应的方式实现不同节点之间数据交互的通信模式。用于*偶然的*、对*时时性*有要求、有一定逻辑处理需求的数据传输场景。

官网学习:link.

ROS中坐标旋转

博客:link

topic和subcribe通信延时设置

callback费时情况下如何保证处理最新的数据:link
自己通过尝试的结果发现:sub的消息长度设置为5时,如果pub的消息很快,sub会一下拿到5个数据,等到把这些数据全部处理完后,才会重新接受新的数据。更简单的说:如果pub1ms,sub10ms,那么正常情况下会出现3,4,5,6,7的数据,然后会突然跳转到但其那得新的数据序列53,54,55,56,57等,以此往复。
非常关键的一点:ros处理新数据的时候不是我之前以为的直接打断当前施法,而是一个一个慢慢处理完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值