ROS小车软件基础结构是怎么的?

ROS小车的软件结构

前言

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

1.开篇


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

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

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


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


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

软件流程图如下图所示:

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


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

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

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

如果我的文章有帮忙到你,关注我,点个赞,持续关注我给你不一样的惊喜!!!

如果有不懂请私信我!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值