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

本文介绍了基础ROS小车的软件结构,分为STM32底层驱动和ROS上位机两部分,通过串口通信交互。STM32层负责电机控制与测速,ROS层启动传感器节点、建图和导航算法。通过流程图详细展示了各层的软件流程,为搭建ROS小车提供清晰指导。
摘要由CSDN通过智能技术生成

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机器人

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

搭建ROS小车真的难吗?
「小白学移动机器人」一个专注分享移动机器人相关知识的公众号!
08-10 1万+
搭建ROS小车真的难吗?不难 1.引言 本着为大家谋福利的心态,根据自己以往的开发经验,打算写一个从零开始制作一个可以实现地图构建和导航的ROS小车。目前某宝上面有很多现成产品,但是我个人认为,一个好的移动机器人开发工程师,应该对机器人的整个流程都能具备维护的能力,然后再深入研究其中一个方向即可。看到网上很少有整个系列的开发教程,看到同学们大多东拼西凑,浪费了不少时间。我就想着利用空余时间,将我本人的开发过程输出给大家。有基础理论、有实际工程代码、有丰富的学习资料,尽最大努力帮大家进入移动机器人的大门。 国
用urdf给自己的ROS小车编写模型
「小白学移动机器人」一个专注分享移动机器人相关知识的公众号!
09-04 1万+
3.3 使用urdf编写自己的ROS小车模型 3.3.1 常见的ROS小车结构有哪些? 下面就是常见的ROS小车,相信在大家的脑海里已经有了自己小车样子,下面我和大家一起使用urdf对ros小车建模。 这里只对urdf进行简单介绍,然后就带大家使用urdf最基础的标签,建立机器人的urdf机器人模型。关于更多细节,请参看官网:http://wiki.ros.org/urdf/Tutorials 3.3.2 什么是urdf?建模的原因? 什么是urdf? URDF(Unified Robot Descri
ROS系统结构图
09-25
ROS系统简介图,包括什么文件,系统级别的文件,软件包文件等
②【从0制作自己的ros导航小车:下位机篇】01、工程准备_标准库移植freertos
最新发布
海风的博客
07-28 1103
本系列下位机开发使用keilv5,开发时使用移植了freertos的标准库,如果是资源比较丰富的开发板,可以不用移植freertos,本系列用的是stm32f103c8t6,一共只有四个普通定时器,写代码时全部用了,高级定时器不知道为什么一直有问题,所以移植实时操作系统,控制代码执行频率,如果你的高级定时器可以使用,那也可以跳过这篇文章。
前言 ROS小车结构
qq_38315348的博客
12-19 4101
零蚀 开发工具mac,windows ,阿克曼小车 ROS小车介绍 小车结构介绍 阿克曼小车,指的是利用阿克曼转向几何制作的小车,就是路上常见的前轮转向的结构。阿克曼转向机构(Ackermann steering)是为了解决汽车在转向时,由于左、右转向轮的转向半径不同所造成的左、右转向轮转角不同的问题, 除了阿克曼结构,还有万向轮(全向轮)结构和麦克纳姆结构,以下是阿克曼舵机转向示意图。 万象轮 和 全向轮,一般工业上用麦克纳姆轮比较多,而生活中车辆使用的都是阿克曼结构,这是由于各自优缺点.
ros架构
neuzhangno的博客
06-28 1724
ROS(Robot Operating System)是一个灵活的、分布式的系统架构,用于构建机器人软件。它由一系列工具、库和约定组成,提供了一套通用的功能和通信机制,以支持机器人系统的开发、部署和运行。ROS架构主要包括以下几个核心概念和组件:1.节点(Nodes):ROS中的节点是独立运行的进程,是软件模块的最小单元。节点可以是传感器驱动程序、控制器、算法节点等,它们通过ROS的通信机制相互交互和通信。2.主题(Topics):主题是节点之间进行发布-订阅通信的通道。
ROS学习
yuyangyg的博客
04-27 1216
转载请注明:转自古-月 http://blog.csdn.net/hcx25909     (1)点对点设计        一个使用ROS的系统包括一系列进程,这些进程存在于多个不同的主机并且在运行过程中通过端对端的拓扑结构进行联系。虽然基于中心服务器的那些软件框架也可以实现多进程和多主机的优势,但是在这些框架中,当各电脑通过不同的网络进行连接时,中心数据服务
ROS移动机器人从0到1》长篇小说第一章----《ROS移动小车整体框架详解》
weixin_39401142的博客
05-15 1392
欢迎收看《ROS移动机器人从0到1》长篇小说第一章----《ROS移动小车整体框架详解》! 下图是小说目前的目录,后续会根据同学们的建议进行增加或修改。 也请大家能及时提供反馈,共同进步。 ROS移动小车整体框架介绍 STM32和jetson nano通讯协议 mpu6050和ADC的配置以及数据读取 电机驱动和编码器数据读取 PID控制轮子转速 jetson_nano和STM32串口绑定和通讯测试 ROS小车功能包安装 雷达串口绑定和测试,RVIZ上显示 PS2
ROS使用介绍——URDF
a850565178的博客
06-02 1599
URDF全称为Unified Robot Description Format,中文可以翻译为“统一机器人描述格式”。与计算机文件中的.txt文本格式、.jpg图像格式等类似,URDF是一种基于XML规范、用于描述机器人结构的格式。根据该格式的设计者所言,设计这一格式的目的在于提供一种尽可能通用(as general as possible)的机器人描述规范。 其实最好的urdf入门教程是ROS Wiki里的教程。这里主要是按照自己实际接触的进行总结。URDF能设置的属性有很多,但在项目刚开始时并不需要那么
ROS复习笔记5:ROS架构与基础
qq_71734878的博客
12-10 729
复习
用ROS制作我们的机器人小车(一): URDF简介
热门推荐
大头苏的ROS世界
02-07 2万+
相信许多爱好者止步于昂贵的机器人价格。虽然有了Arduino,但一个载重能力很弱的机器人小车成本也得一两百块钱。搭建自己的机器人更是费时费力。 所以如果你只是普通机器人爱好者,或者还没想好要拿机器人做什么,那我们还是从模拟器开始吧…… URDF 为了制作我们的模拟器,首先我们得了解下什么是URDF 什么是URDF? Unified Robot Description Format—
2.1 ROS 架构和基本概念
敏而好学,不耻下问
10-01 551
ROS 的概念分三个层次:文件系统层、计算图层和社区层。本章会对这些分层原则以及其中的概念进行系统讲解。
ROS学习笔记3】ROS的架构
Shen Mu Xin's Blog
02-24 911
从系统架构方面来看,ROS可以划分为三层OS层,是经典意义上的操作系统ROS只是元操作系统,需要依托真正意义上的操作系统,目前兼容性比较好的是Linux的Ubuntu基于TCP/UDP继续封装的TCPROS/UDPROS通信系统用于进程间通信Nodelet,为数据的实时性传输提供支持另外,还提供了大量的机器人开发实现库,比如:数据类型定义、坐标变换、运动控制…应用层功能包,及功能包内的节点。从自身结构上来看,ROS可以划分为三层系统文件。
制作ROS小车系列(一)——小车底盘制作(麦科勒姆轮地盘)
weixin_45315065的博客
04-16 5485
此篇博客为一个系列,旨在帮助大家可以快速的搭建出属于自己的ROS机器人,并实现自主导航等功能。整个系列大致分为地盘制作、上位机准备和上位机功能包配置几个板块,所有板块的说明和介绍我都会尽可能的从一个小白的角度来考虑,尽可能的让更多的人可以学习和快速入门并制作出属于自己的ROS小车。Let's go!
ros&slam&智能小车
weixin_44750123的博客
07-07 1867
ros
ROS从入门到精通系列(三)ROS系统整体架构详解(上)
Techblog of HaoWANG
06-17 890
本文主要是了解ROS的系统架构、文件夹结构以及工作所需的核心文件等。 ROS系统架构主要划分为三部分,每一部分代表一个层级的概念: 文件系统级(The filesystem level) 计算图级(The computation graph level) 开源社区级(The community level)
基于ROS平台的移动机器人-2-小车底盘控制
Forrest's Space
02-12 2万+
基于ROS平台的移动机器人-2-小车底盘控制说明本博文将介绍小车底盘控制的原理,如PID控制,控制程序的编写等。小车控制思想 控制电机转动。电机的控制我们分为两部分,一部分为电机转动方向的控制,另一个为电机转速的控制。电机转动的方向我们用两个MCU引脚来控制,假如PIN_A=1,PIN_B=0 时,电机正转;PIN_A=0,PIN_B=1 时,电机反转;PIN_A=0,PIN_B=0 时,电机停止。
【大一立项】如何亲手搭建ROS小车:硬件和软件介绍
随便记记
10-02 1万+
本次博客将详细介绍上篇博客中提到的ROS小车的硬件和软件部分。 由于十一实验室不开门,所以部分代码还没有上传到Github。 下位机 下位机使用Arduino(因为大一上刚学完用Arduino做循迹小车),其实Arduino作为ROS小车的下位机已经够用了,毕竟主要功能都是在上位机上跑的。 在这里推荐使用Arduino mega2560,具有6路中断,以后想做3轮小车也可以使用。淘宝50~30...
ROS小车(SLAM+物体追踪)
chaganggang的博客
06-10 6345
几种轮子模型 单轮平衡式结构,优点是能量利用率高缺点是转弯的时候需要倾角高速运动下很难进行控制 差速转向的平衡两轮式结构,这种结构能量利用率高上下坡的时候智能车可以保持垂直, 但是高速情况下转向很难控制。 全向三轮结构,这种结构的优点是可以全向移动原地转向,但是由于其结构特点每次前进的时候有一个轮子无法运动轮胎利用率 不高,全向轮的价格贵所以成本高。 阿克曼转向式结构,就是一般的汽车转向方式,优点是转向摩擦力小,缺点是转弯半径大不能原地转向。 全向四轮结构,这种结构相比全向三轮结构多加一个轮子后动力得到
概述ros小车阿克曼底盘结构
05-18
ROS小车阿克曼底盘是一种常见的机器人底盘结构,其结构主要由以下几个部分组成: 1.前轮:阿克曼底盘采用前轮转向的方式,通过控制前轮的方向来实现车体的转向。 2.后轮:后轮为驱动轮,通过电机驱动实现车体的...
写文章

热门文章

  • STM32电机测速(正交或者霍尔编码器) 58284
  • STM32电机PID速度控制 57905
  • 从零搭建ROS机器人平台 47690
  • STM32 电机PWM控制 32105
  • 不可错过的gmapping算法使用与详细解释 31516

分类专栏

  • 从零搭建ROS机器人平台 付费 22篇
  • 从零搭建ROS阿克曼小车 4篇
  • 工具 2篇
  • ROS人机交互界面 3篇
  • slam相关 8篇
  • C++ 2篇
  • 单片机 3篇
  • 概率机器人
  • 平衡小车 1篇
  • Linux 2篇
  • ros 6篇
  • 机器人 4篇
  • cartographer 3篇

最新评论

  • 搭建ROS小车编写启动功能包

    2301_77871040: 这里有人解决了嘛

  • 搭建ROS小车编写启动功能包

    2301_77871040: 请问怎么解决啊

  • 超简单!!!搭建阿克曼ROS小车

    卑微小杨.: 博主 为什么我的电路板经过保险丝后降压一半了 gd32供电不足了 要插着stlink供电才正常

  • 平衡小车从原理到实践

    qq630459840: 大佬,请问,intergral-movement ,如果movement 是正数,那这个式子减去一个正数,输出角度a小于机械中值,然后车子就会比原来平衡位置更加向前一点,对应前进的动作,是吗?相反movement 是负数,那车子就会比原来平衡位置在往后一点,对不

  • STM32电机PID速度控制

    MrBLJ: 我也遇到了这样的问题,请问你解决了吗

最新文章

  • 在面试中,我常问的c++问题
  • 香橙派3LTS部署ROS2阿克曼开源平台
  • Fusion360机械模型转URDF(ROS2)
2024年1篇
2022年7篇
2021年5篇
2020年41篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白茶-清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳坪山网站建设公司seo网站优seo优化推广内黄县网站优化哪个公司靠谱试管网站优化凤庆县网站seo优化排名百度如何自测网站的优化效果宜春网站搜索引擎优化香港网站seo优化河南网站建设优化哪家靠谱网站优化营销哪个公司好中山网站优化排名哪里好邯郸家装行业网站优化推广方案沈阳网站优化代理东坑东莞网站优化外包公司福州网站怎样优化网站做优化实用易速达东莞网站排名优化河源企业网站优化多少钱如何优化网站14星黟县网站优化潮州如何选择免费网站优化网站链接优化工具吴中网站优化推广方法南宫市网站关键词优化重庆北碚网站快速优化福建整站网站优化东至网站优化多少钱杭州商务网站搜索引擎优化路北区靠谱的网站优化收费标准海安市关键词优化排名网站报价用博客做网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化