我终于弄懂了ROS系统!只因解决了一个功能……

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2024.06.05山东

工程名称:迷你智能车Liguanxi-smart-car【星火计划】

工程作者:liguanxi

什么?!这是一台车?

什么?!它还能根据运动轨迹,实时绘制地图?!

使用手机APP控制小车

通过USB进行充放电

二维地图创建与路径规划:使用电脑运行ROS,利用激光雷达进行二维建图,使用RVIZ可视化工具显示

持续开发中,待增加功能包含:凭借自身算力进行避障、手机端显示建图结果与视频画面、利用摄像头进行目标追踪、利用激光雷达进行多点与单点导航、可以RRT自主探索建图、雷达跟踪目标

想实现这些功能,具体怎么设计软硬件?

ESP32-S3底板_原理图

ESP32-S3底板_PCB图

ESP32-S摄像头板_原理图

ESP32-S摄像头板_PCB图

(1)为什么要用两个主控?

一般来说,机器人系统ROS都需要在树莓派等微型电脑上运行,而我想要以最低的成本去完成这个项目,所以我将运行ROS系统电脑从机载转到上位机,通过WiFi与连接小车,这样就可以节省一台微型电脑。

但是!雷达的数据大概1ms发送一次,一块ESP32显然不够用了!所以,我选择使用两个ESP32作为主控。

类似的结构鱼香ROS有制作,不过体型比较大,集成度低。

(2)天线部分

2.1阻抗匹配技巧

esp32天线部分比较讲究,涉及到高速线路,这里的射频部分做了50R阻抗匹配。

这个叠层我还是有点懵,看不懂后面就使用了嘉立创的阻抗计算器,计算这个阻抗对应什么厚度的铜箔与多少宽度的线。

最后选用4层板,PCB厚度:1.6,走线宽度:13.2mil。

2.2器件摆放与走线要点

这里参考乐鑫的硬件设计指南。

4层PCB内层1全覆铜,底层走普通信号,内层2走电源。

天线处的Π形滤波电路,用网络矢量分析仪进行测试调整。步骤如下:

如下图频率所示,在2.431GHz左右时,驻波比在1.348,阻抗在55.21左右,代表此电路在2.4GHz的频率下性能接近最佳。

图片截取于“清澈的泉水”的视频立创EDA绘制2.4GHzRF射频双层板制作

(3)晶振部分

晶振部分也算高速电路了,需要GND包围做屏蔽层

(4)电池设计原理

电池设计为不可拆卸,所以添加了一个充电电路。采用TP4056设计,充电电流设置为400ma。

这里的开关控制和电流检测电路,简单说就是:

这部分电路的作用是——将电源先升压为5V,再稳压为3.3V,供给单片机和传感器使用。

(5)下载部分

自动下载电路使用了CH342F该芯片,有两个端口,可以使用一个USB同时下载两个单片机。考虑到空间比较紧凑,所以采用DMMT3904来代替两个NPN的三极管

(6)其他电路说明

如何通过软件设计,实现二维地图搭建+规划路径的功能?

(1)编译环境与工具

esp32使用idf4.4编译环境

使用espressif-ide编辑代码

ROS系统使用noetic版本,还是使用ROS1。

这个结构并非是我首先使用,鱼香ROS等大佬早就在使用了。

(2)只会ROS1皮毛,怎么实现二维地图搭建?

比较成熟的方案是在ESP32上运行ROS2的库,这样就可以在ESP32上直接发布话题。

可我只会一点ROS1的皮毛,再去学习ROS2还是比较困难的,所以我就采用了TCP转接串口的方式去兼容原有的包,这样就只用简易的操作一下就可以完成功能了:

①定位算法使用robot_pose_ekf,只使用里程计和激光雷达去进行定位。

②建图算法采用karto建图算法,参数默认。

③导航使用Navigation导航架构,简单理解一下:

这个框架由amcl自适应蒙特卡洛定位功能包提供定位。

map-server将建图的地图数据发布出来,然后根据rviz发布的目标定位,进行路径规划,输出路径和底盘移动数据,控制小车到达目标点。

④底盘与上位机使用socat来进行TCP/UDP到串口的转接

⑤雷达的通信链路:雷达转发采用UDP发送到ROS上位机,再由socat创建虚拟串口进行UDP与串口的转接。

建图效果

⑥运动控制板通信采用TCP与ROS上位机连接,再由socat创建虚拟串口进行TCP与串口的转接。

⑦手机APP与底盘驱动的esp32做UDP通信。

在手机上的效果:

学习一个月,或许就为了这一刻!

学习的结果出乎意料……

本项目已开源!

——想复刻?想给作者点赞?可复制开源网址前往原文。

*本文转载了「立创开源硬件平台」的用户创作,如有侵权,请联系删除

THE END
1.天线技术的创新及其在通信领域的应用探讨随着科技的不断发展,天线技术在通信领域的应用越来越广泛。从移动通信、卫星通信到物联网,天线都扮演着关键角色。新型天线技术的不断创新和应用,为通信领域带来了革命性的变革。未来,随着5G、6G等新一代通信技术的不断发展,对天线的性能要求将越来越高。因此,我们需要继续深入研究天线技术,创新应用方式,以满足不断增https://blog.csdn.net/JiYan_green/article/details/144396309
2.像纸一样的天线怎么接?装网师傅教你这样接,信号增强10倍!像纸一样的天线怎么接?装网师傅教你这样接,信号增强10倍!苏有朋影音馆 吉林 0 打开网易新闻 体验效果更佳软线接硬线正确方法! 翰林涛涛 打开APP 为什么接零线严禁拆螺丝?要不是老电工提醒,我肯定就被零线电了 电工维修技术 311跟贴 打开APP 一灯双控的工作原理和实物接线,一目了然 我是大俵哥 打开APP https://m.163.com/v/video/VAI19RVFK.html
3.2022年度陕西省重点研发计划项目申报指南目录研究内容:针对易燃易爆危险环境中,人工巡检劳动强度高、巡检手段有限、不能及时发现有毒有害气体泄漏、效率低且有一定的危险性的行业痛点,研究激光雷达导航技术、三维地图构建、自主路径规划及自主避障技术、深度学习的智能图像识别技术、多传感器融合气体泄漏监测技术,研发以 5G 网络部署为基础的适用于危险爆炸性环境的巡http://www.kt180.com/html/sxs/9889.html
4.无线wifiPJ之在开启WPS下使用reaver腾讯云开发者社区9.光盘启动、u盘/硬盘启动保存学习进度的方法 reaver1.3的保存路径:打开桌面最后边一个图标xfec 定位到/etc/reaver下,有一个wpc后缀的文件,名字是你学习的目标的mac地址,复制到你的U盘,路径是/mnt/sdb1(一般是这个,自己找找,要是没有东西就右键mount),以后重启到xiaopanOS,把这文件复制到原来的路径,再试试,可以https://cloud.tencent.com/developer/article/2094007
5.大学生通信工程专业职业生涯规划(精选11篇)本职业生涯规划书旨在明确我的职业目标提出实现这些目标的路径和方法以及应对可能出现的风险和挑战。在未来的职业发展过程中我将不断学习和实践提高自己的技能水平和管理能力为通信行业的发展做出贡献。 大学生通信工程专业职业生涯规划 10 一、自我分析 作为一名通信工程专业的大学生,我对通信领域有着浓厚的兴趣,并具备https://www.yjbys.com/qiuzhizhinan/show-572849.html
6.无线通信学习笔记(二)大尺度路径损耗无关。接收信号由LOS路径和地面反射路径叠加得到,可以认为相当于两个方向天线构成的阵列,从而使信号衰减与频率无关。 General Ray Tracing 一般来说,通过给定范围内有限个障碍物的位置和介电信息,我们就可以计算信号在经过直线传播、反射、衍射、散射、绕射之后的各个组分,来叠加计算接收信号。由于Maxwell方程的求解复杂https://www.jianshu.com/p/5e9141e6cd76
7.PADS原理图(Logic)中及原理图库中怎么画圆弧?2.4GPCB天线封装(量产用) 不用开发板学习STM32合集 一般流水灯实验(文末获取代码及工程文件) 7段数码管0~9定时显示(文末获取代码及工程文件) 串口收发+按键控制数码管显示(文末获取代码及工程文件) DS18B20温度采集+OLED显示(文末获取代码及工程文件) https://www.eet-china.com/mp/a295876.html
8.一文看懂封装基板晶圆级封装提供了倒装芯片这一具有极大优势的技术,倒装芯片中芯片面朝下对着印刷电路板(PCB),可以实现最短的电路径,这也保证了更高的速度,降低成本是晶圆级封装的另一个推动力量。 器件采用批量封装,整个晶圆能够实现一次全部封装。在给定晶片上封装器件的成本不会随着每片晶片的裸片数量而改变,因为所有工艺都是用掩https://www.jishulink.com/post/1829129
9.遥感技术应用的40个不同领域开源地理空间基金会中文分会开放数字高程模型确定水流在分水岭中的位置和方式。水文学家在研究分水岭时对水文收支很感兴趣,输入是降水、地表流量和地下水流量。输出是蒸发蒸腾、渗透和地表径流。遥感通过提供准确的高程数据有助于分水岭的划分,数字高程模型用于通过 HEC 和 Geo-HMC 等软件系统准确表示水流路径和贡献区域。 https://www.osgeo.cn/post/18ace
10.如何系统的学习天线知识?想成为一名优秀的工程师,特别是成为一枚资深天线工程师,并非一朝一夕的事情。你不仅需要了解电路的射频部分,包括电路原理图设计,元器件选型和评估,软件仿真、layout等系列的RF电路知识,还要掌握天线的基础知识,各种常见的天线应用,天线EMC,调试等等。 既然学习天线要掌握那么多知识,我能学好天线设计,成为一名合格的天线设https://www.mwstore.com/cn/info-1553.html
11.天线在发射端,发射机产生的已调制的高频振荡电流(能量)经馈电设备输入发射天线(馈电设备可随频率和形式不同,直接传输电流波或电磁波),发射天线将高频电流或导波(能量)转变为无线电波—自由电磁波(能量)向周围空间辐射(见图1);在接收端,无线电波(能量)通过接收天线转变成高频电流或导波(能量)经馈电设备传送到接收机。从https://www.elecfans.com/tags/%E5%A4%A9%E7%BA%BF/
12.机器学习在天线设计中的应用机器学习在天线设计中的应用,5G通信,室内天线,方向图可重构天线,宽带圆极化天线,机器学习,辅助优化,K-近邻算法,5G时代的到来,使天线的设计迎来了新的机遇和挑战。在城市或室内通信场景使用的天线,需要有较大的辐射覆盖范围、紧凑的尺寸、低剖https://wap.cnki.net/lunwen-1022544754.html
13.MIMO多天线技术教学学习课件PPT.pptMIMO多天线技术教学学习课件PPT 层数目一定小于或等于天线端口数量,一定小于或等于信道矩阵秩的大小。 一定大于或等于码字数目。 这是因为层是码字和天线的中间过渡。 在多数情况下,层数目等于秩的大小。 MIMO系统的实现 预编码: 预编码过程是将层数据按照一定规则映射到不同的天线端口上的过程。 预编码过程同样有https://max.book118.com/html/2017/1216/144453201.shtm
14.为什么不建议学电波传播与天线专业?电波传播与天线是最差的专业吗不建议学电波传播与天线专业的原因之一:个别高考生的目标专业并非是电波传播与天线,但却因为志愿报考失误而被调剂到了电波传播与天线专业读书学习。这种情况下,考生很容易对电波传播与天线专业产生反感情绪,所以就对后来者说出了不建议学电波传播与天线专业、电波传播与天线专业就是个坑之类的话。 https://m.gk100.com/read_80618390.htm