基础ROS小车软件结构到底是什么样子的?

您所在的位置:网站首页 灰到底是什么结构 基础ROS小车软件结构到底是什么样子的?

基础ROS小车软件结构到底是什么样子的?

2024-07-10 11:16| 来源: 网络整理| 查看: 265

ROS小车的软件结构 0.前言

想必大多数读者,在刚开始搭建ROS小车的时候,都会遇到下面这样的问题。单片机底层PWM、测速、速度PID、MPU6050数据获取等等,而且还要与ROS层通信,ROS层还有其他控制部分,WT!!!这么多?这么乱?是不是想想都脑大。所以,在搭建ROS小车的开始一个清晰合理的软件结构就显得尤为重要。本篇文章就是给大家的脑回路里构建一个清晰的软件结构。让大家清楚,日后我们需要一步步做些什么,以及我们每做的一步在整体的系统中起的什么作用。

1.开篇

首先,我们先看一下,我们搭建的ROS小车的总体架构,如下图所示,大家先有个主观认识。从下向上一层一层看。

image-20200812081053638

从图中得出,我们将ROS小车的系统分成两个相对独立的部分,他们之间采用串口通信的方式进行双向数据连接。STM32作为底层驱动部分主要完成直流电机的速度闭环控制,ROS层作为上位机启动各个传感器节点以及跑建图和导航算法,如果再加上平常PC的调试。整个的软件结构应该是下图的样子。

image-20200812082348408

其实到这里,大家应该很清楚基础版ROS小车整体的软件结构了。对于每个部分具体的软件流程,下面也会用流程图的方式给大家呈现。

2.基础ROS小车STM32层软件流程图

功能:(1)电机测速(2)电机速度闭环控制(3)与ROS通信(4)航向角获取

软件流程图如下图所示:

image-20200812172604149

3.基础ROS小车ROS层启动节点流程图

功能:(1)启动ROS(2)订阅cmd_vel话题(3)计算并发布里程计(4)发布odom和base之间的TF变换

image-20200812173124917

流程图这么清晰,感觉我再说话就都是废话了,仔细看一下。

4.总结

其实基础版的ROS小车整体的软件结构就是上面描述的样子,并不是十分复杂。STM32层、ROS层、以及之间的串口通信。之后,我们将按照上面的软件流程,一一的解决的这些问题。

系列文章

以往链接,点击访问。

上一篇:搭建ROS小车真的难吗? 下一篇:STM32 电机PWM控制 系列文章:从零搭建ROS机器人

如果你感觉,我的文章比较适合你,关注我,点个赞,给你不一样的惊喜。 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3