ROS程序设计系列 - 2.ROS Package

1. 源由

《ROS程序设计系列 - 1.ROS介绍》简单介绍了下ROS中间件的一些基本概念,对已有示例进行了最基本的构建和运行等基本操作。

接下来,就是如何构建一个自己的ROS包?

2. 关键要点

2.1 ROS包组成

  • 配置
  • 源码include/src
  • 自测试test
  • 启动脚本launch
  • 其他CMakeLists.txt/package.xml

在这里插入图片描述

2.2 消息解耦

在前面介绍的时候,提及Node之间的交互采用ROS消息进行消息解耦。在ROS包在设计的时候,尽量将对外消息独立分立出来。

  • 设计先行的落地操作:API接口定义
  • 组件实现以及依赖应用的并行开发要求
  • HLD/LLD分离解耦,快速大通顶层逻辑

在这里插入图片描述

2.3 包版本管理

版本管理对于软件设计来说是重中之重,更是研发节奏的体现。

关于包的顶层设计依赖关系,里程碑节点,维护人员,版本(Alpha/Beta/Debug/Release)等都需要很好的进行安排协调,其落地操作方式就是这个文件的维护。

在这里插入图片描述

2.4 编译配置

ROS包采用CMake进行工程管理方式,相关的编译选项、源代码文件、目标交付件名称都在这里进行定义。

在这里插入图片描述
在这里插入图片描述

2.5 ROS C++ Client Library

ROSCPP是一个基础包,完成了以下基本功能:

  • Initialization and spinning
  • Node handle
  • Logging
  • Subscribe and Publisher
  • Parameters

2.5.1 Initialization and spinning

在这里插入图片描述

2.5.2 Node handle

在这里插入图片描述

2.5.3 Logging

在这里插入图片描述

2.5.4 Subscribe and Publisher

  • Subscribe
    在这里插入图片描述
  • Publisher
    在这里插入图片描述

2.5.5 Parameters

  • ROS Parameter Server

在这里插入图片描述

  • invoke C++ API

在这里插入图片描述

2.6 Object Oriented Programming

在这里插入图片描述

2.7 RViz

略,详见:https://wiki.ros.org/rviz

在这里插入图片描述

3. 课程视频

Programming for Robotics, Lecture 2 Your first ROS package

4. 补充 - Eclipse IDE

IDE环境有很多,笔者也不喜欢Eclipse,其实整个包组成知道,一个Notepad也能解决问题。

注:根据各自习惯和喜好,选择适合自己的就是好的。

Step 1:配置Eclipse编译环境

在这里插入图片描述

Step 2:选择Workspace路径

在这里插入图片描述

Step 3:导入已经存在的工程

在这里插入图片描述

Step 4:建立工程Index信息

在这里插入图片描述

Step 5:工程相关文件目录

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值