ROS下配置编译规则和自定义通信数据接口

CMakeLists.txt

什么是Cmake?

CMake 是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的 Makefile 或者 project 文件,CMake 并不直接建构出最终的软件,而是产生标准的建构档(如 Makefile 或 projects)。

ROS下注意事项

由于在创建功能包时,已经生成了CMakeLists.txt文件,这就不必我们再自己创建,但是由于有写了新的代码(那肯定,不然创建功能包的意义何在?),得更新或是添加Cmake文件中的某些依赖和链接库;

#设置需要编译的代码和生成的可执行文件;
add_executable(string_publisher src/string_publisher.cpp)
#设置链接库
target_link_libraries(string_publisher ${catkin_LIBRARIES})

package.xml

描述功能包的属性,包括功能包的名字、版本号、作者、维护者、通行证 以及所依赖的功能包。

<name> - 功能包的名字
<version> -功能包的版本
<description> - 功能包内容的描述
<maintainer> - 功能包的创建于维护者
<license> - 软件发行版通行证 (例如: GPL, BSD, ASL)

功能包的依赖(4种):

<buildtool_depend> - 指定编译此功能包的编译系统工具

<build_depend> - 指定编译此功能包需要的其他功能包,可以是功能包中的头文件、链接库、其他源文件。 

<run_depend> - 指定运行此功能包代码需要的其他功能包。

<test_depend> - 指定单元测试需要的其他功能包

自定义通信数据接口

分为话题通信(.msg) 和 服务通信(.srv)

话题通信

在这里插入图片描述

服务通信

在这里插入图片描述
在自定义通信接口时,需要在package.xml中添加功能包的依赖;
并且在CMakeLists.txt也添加message_runtime的依赖项。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ROS(机器人操作系统)是一款成熟的机器人操作系统,具有完备的生态体系,未来的发展意义可以成为机器人届中的”Linux、Android“。机器人的开发学习要综合软硬件的协同开发,硬件开发有些部分倾向于底层的设计和使用。软件开发可以依托C++、PYTHON等高级语言进行ROS接口应用开发,或者兼容ROS系统。本系列的ROS开发课程包含下位机开发、上位机开发、基于MBD(基于模型设计的开发)等。下位机作为机器人设计的基础部分是学习机器人操作系统必经之路,下位机我们通常会选择Arduino(适合学习不适合工程,代码执行效率差)、STM32系列产品(工程应用广泛,适合学习和工程开发,代码针对性强),当然还有NXP系列、51系列、TI DSP等,后期可以根据产品的性能和成本要求去考虑;上位机部分,主要是基于工控机、树莓派Raspberry、英伟达Jetson等可以运行操作系统的嵌入式设备再基于ROS操作系统进行实训学习。网络上对于ROS类的教学比较多,但是系统化从底层向高阶层层递升的教学方法偏少,知识碎片化严重,对机器人开发工程师深远的发展有负面影响,基于此本人通过多年自身的学习和工程实践,将机器人开发课程系统化、具象化、模块化地引导式学习,每节课程都有相应的课件和代码引导。对致力于机器人事业的学生有推动作用,且增强信心,系统化自己的机器人知识。为自己的职业规划和事业发展奠定坚实基础。最后,你们的支持,就是老师不断创作的动力!老师会不断更新机器人类相关知识,希望”与子同裳“。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值