ROS学习心得--CAN解析车速
项目要求,在已有的ROS架构下,读取车速并发出topic。
Part 1: 理论部分
1. CAN总线及解析 准备工作:
1. CAN分析仪:型号CANalyst-II Linux版
2. 车辆 CAN Matrix
3. ROS编译完成的工作空间
2. ROS文件系统级 详细描述参考ROS Tutorials相关内容
【ROS学习心得--CAN解析车速】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文件中,
显示了该安装功能包时所需依赖,
显示了系统所需编译标志及所引用的头文件。
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
- creat pkg
推荐阅读
- 第326天
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- 一起来学习C语言的字符串转换函数
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 《深度倾听》第5天──「RIA学习力」便签输出第16期
- 如何更好的去学习
- 【韩语学习】(韩语随堂笔记整理)