ROS学习心得--CAN解析车速
项目要求,在已有的ROS架构下,读取车速并发出topic。
Part 1: 理论部分
1. CAN总线及解析
准备工作:
1. CAN分析仪:型号CANalyst-II Linux版
2. 车辆 CAN Matrix
3. ROS编译完成的工作空间
2. ROS文件系统级
详细描述参考ROS Tutorials相关内容
ROS架构分为三个部分,分别为文件系统级,计算图级,开源社区级。
首先ROS文件系统结构为:
Workspace:工作空间。即ROS系统中的工程编译环境。包含三个文件夹build,devel,src.
src文件夹-
Packages: 功能包,是ROS系统中软件的基本组织形式,用来创建具体功能程序。
官方释义:
Packages are the software organization unit of ROS code. Each
package can contain libraries, executables, scripts, or other
artifacts.
其中包括以下文件夹
src/ :存放程序源文件
CMakelist.txt :cmake生成文件
多个功能包可集成为一个功能包集(stack),本次项目暂未涉及
-
Manifests (package.xml): 功能包清单,描述文件,用来管理功能包。
官方释义 :
A manifest is a description of a package. It serves to define
dependencies between packages and to capture meta information about
the package like version, maintainer, license, etc…
xml文件中,
<depend>
显示了该安装功能包时所需依赖,<export>
显示了系统所需编译标志及所引用的头文件。
3. ROS计算图级
ROS 中的基本计算图级概念包括:节点、节点管理器、参数服务器、消息、服务、话题和包。这些概念以各种形式来提供数据。
Nodes:节点,是功能包中的一个可执行程序,节点之间可以相互通信。
Messages: 消息,是一种ROS数据类型,节点间通过消息互相通信。
Topics: 话题,用于识别消息的名称,节点可以发布[Publish]消息到话题,也可以订阅[Subscribe]话题以接收消息。
Master: 节点管理器,Name service for ROS (i.e. helps nodes find each other)
rosout: ROS系统中相当于stdout/stderr
roscore: Master + rosout + parameter server
Part 2: 实践部分
2.1 在ROS工作空间下建立CAN总线节点
2.2 通过CANBUS节点收发车速信息
2.3 从开发环境向现有硬件平台集成
确保包的结构一致,复制完成后,catkin_make
上一篇: premiere pro cs4下载 PHP4实际应用经验篇7
下一篇: 自动驾驶 安装ROS系统
推荐阅读