Jiangxun9390
这个作者很懒,什么都没留下…
展开
-
搭建ROS小车真的难吗?
这里的开发教程,不是对每一个细节都介绍的面面俱到,但是会对我认为比较重要的部分详细讲解,几乎都是影响ROS小车最终效果的关键地方。下面我们就看看制作一个ROS小车到底需要做哪些工作,如下图所示:其实就是这么简单,难道你不想一探究竟。上面的思维导图并不绝对,只是先给大家一个清晰的概念,让大家知道开发具体的流程是什么样子的,就像我们看书总是先看目录一样。根据具体情况会做相应的调整。ROS小车主要分为硬件和软件两个部分,硬件又分为机械部分、底层控制硬件、ROS层硬件;原创 2023-07-22 17:48:56 · 72 阅读 · 0 评论 -
快速低成本搭建ROS机器人平台(一)
本着为大家谋福利的心态,根据自己以往的开发经验,打算写一个从零开始制作一个可以实现地图构建和导航的ROS小车。目前某宝上面有很多现成产品,但是我个人认为,一个好的移动机器人开发工程师,应该对机器人的整个流程都能具备维护的能力,然后再深入研究其中一个方向即可。上面的思维导图并不绝对,只是先给大家一个清晰的概念,让大家知道开发具体的流程是什么样子的,就像我们看书总是先看目录一样。(4)小车的资料和我的博客也非常契合,可以说拿我分享的代码,下到他们的ROS小车上几乎可以直接用。(3)价格公道,质量可靠。原创 2023-07-23 19:24:39 · 100 阅读 · 0 评论 -
基础ROS小车软件结构到底是什么样子的?
想必大多数读者,在刚开始搭建ROS小车的时候,都会遇到下面这样的问题。单片机底层PWM、测速、速度PID、MPU6050数据获取等等,而且还要与ROS层通信,ROS层还有其他控制部分,WT!!!这么多?这么乱?是不是想想都脑大。所以,在搭建ROS小车的开始一个清晰合理的软件结构就显得尤为重要。本篇文章就是给大家的脑回路里构建一个清晰的软件结构。让大家清楚,日后我们需要一步步做些什么,以及我们每做的一步在整体的系统中起的什么作用。其实基础版的ROS小车整体的软件结构就是上面描述的样子,并不是十分复杂。原创 2023-07-22 17:50:11 · 89 阅读 · 0 评论 -
学习移动机器人SLAM、路径规划必看的几本书
上面的这些书,都是经过考验值得推敲的书籍,如果你正在学习和研究相关的知识,真的可以买一本正版图书,花几十块钱,就可以买到作者几年甚至十几年的研究成果,这难道不是白嫖吗?ROS是移动机器人开发必不可少的一个工具,掌握基础的ROS至关重要,基础入门可以先看ROS机器人开发实践,深入学习可以看后面两本书。目前移动机器人开发的主流语言仍是C++,掌握C++是学习移动机器人的必经之路,该书也是被极力推荐的工具书。学习激光SLAM的同学应该了解他,几乎所有基于滤波器的激光SLAM算法的理论基础都来源于他。原创 2023-07-23 19:23:15 · 268 阅读 · 0 评论 -
STM32 电机PWM控制
其实本篇文章就是简单的实现一下直流减速电机PWM控制。还没有对电机的速度实现闭环控制,下一篇,我们来写光电\霍尔编码器的电机测速的原理以及代码实现。原创 2023-07-23 19:26:23 · 154 阅读 · 0 评论 -
STM32电机测速(正交或者霍尔编码器)
上面的一篇文章,我们实现的STM32单片机对直流减速电机的测速。再加上之前介绍的电机PWM控制,下一篇我们要结合前两篇的内容加上PID实现对电机速度的闭环控制。原创 2023-07-23 19:27:18 · 420 阅读 · 0 评论 -
STM32电机PID速度控制
以上三篇内容,是关于直流减速电机的PWM控制、速度测量以及最后电机速度的闭环控制。现在对于电机的简单控制基本告一段落,对于做一个ROS小车的电机控制,这里基本是足够的。下面我们会介绍使用IIC+DMP获取MPU6050数据。原创 2023-07-23 19:28:15 · 267 阅读 · 0 评论 -
STM32 MPU6050数据获取、数据处理
本篇文章基本上实现了(IIC+DMP+零偏校准+零漂大幅度抑制),对于ROS小车yaw的精度我们已经实现了。到这里,我们就已经完成了,ROS小车底层的大部分代码,下面剩下STM32与ROS通信。点击查看点击查看。原创 2023-07-23 19:30:38 · 432 阅读 · 0 评论 -
STM32和ROS串口通信常见问题汇总答疑
出现数据不正常的原因有很多,比如部分同学是移植这里的代码到自己的硬件板子上,程序的发送逻辑是否正确?:老版本的代码才会有这个问题,原因是GCC的一种检测“缓存溢出”的保护机制.当分配的内存不够时,会继续执行;大家好,我是白茶清欢,最近看了博客文章《stm32和ros的串口通信》有很多问题的评论,这里汇总回复一下。:该串口通信的功能包,默认写的串口名称为:/dev/ttyUSB0,请查询并确认您的串口名称。如果不是该串口名称,您需要修改通信功能包的串口名称为您的名称。:更换高质量的线材。原创 2023-07-23 19:32:39 · 241 阅读 · 0 评论 -
ROS小车STM32底层控制代码
ROS小车的底层控制代码就到这里了,之后还会做优化,可能会更新。如果有不懂的地方,都可以找小编解答。系列文章中,可能一些地方代码的使用并不是很好,也希望大家多多指正。之后就是ROS层的文章了,希望大家提前完成linux系统的安装。网上的linux系统安装的教程十分多并且详细,这里就不在重复了。Linux系统镜像以及参考教程的。在公众号:小白学移动机器人,发送:系统镜像,即可获得下面镜像以及教程。原创 2023-07-23 19:33:26 · 385 阅读 · 0 评论 -
stm32和ros的串口通信
1> 最终协议的样子我这里实现的STM32和ROS的串口通信协议如下图:STM32端和ROS端都有一个数据发送函数和一个数据接收函数,发送和接收的内容就是如上图所示的数据包,该数据包含有数据头(55aa)、数据尾(0d0a)、校验(crc8),保证数据正确安全。通信协议也容易自行扩展更改。<2> 本方案提供的API实现的功能STM32向ROS发送左轮实时轮速、右轮实时轮速、航向角、预留控制位(一个字节可灵活使用)。原创 2023-07-23 19:31:46 · 283 阅读 · 0 评论