基于STM32的无人小车自主避障系统设计

news2024/9/21 0:35:30

文章目录

  • 前言
  • 资料获取
  • 设计介绍
  • 功能介绍
  • 设计程序
  • 具体实现截图
  • 参考文献
  • 设计获取


前言

💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗
👇🏻 精彩专栏 推荐订阅👇🏻
单片机设计精品实战案例
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

资料获取

文章底部名片,详细资料联系我。

设计介绍

自动避障小车是通过内部和外部传感器检测外部环境并在障碍物中工作的智能设备,可以执行避障循迹运动。本文提供了基于STM32嵌入式微处理器设计系统的技术。该小车采用四轮驱动设计作为其发动机平台和控制系统。选择STM32F103单片机作为主控制器,搭配驱动控制器L298N。整合了丰富的芯片外部资源,为智能设备提供了强大的平台。避开障碍和跟踪轨迹是智能设备应该具备的功能。本文介绍了硬件和软件工具、实现其功能的方法。避开障碍的方法主要有两种方式,红外线和超声波。这两种方法都使用传感器收集数据并传输到STM32F103的CPU,处理来自不同传感器的数据,并集成了前进、转向、后退等循迹避障功能。该过程简单且设置成本低。试验结果通过实验获得,实现了循迹避障功能。
软件设计使用Keil软件,以方便未来的更新和升级。第一章简要介绍了国内外自动化小车领域的研究环境,涉及自动避障、PC上位机和Android手机控制端的设计,并介绍了自动化小车在外太空领域的研究;第二章介绍智能小车硬件系统的设计;第三章介绍了设计软件系统,首先描述了Keil开发环境,然后详细说明了每个模块系统的软件程序;第四章接着描述了系统调试,描述了每个部分调试的细节;最后描述了该主题的工作愿景及不足之处

功能介绍

避障小车主要由主控模块、驱动模块、检测模块、报警模块、显示模块、电源模块六个模块组成。当前方遇到障碍物时,小车减速并判断其左侧是否有障碍物,无则左转,有则继续判断右侧是否有障碍物,无则右转,有则制动并后退。

系统总体框图
整车主控系统的主要特点是是完成系统初始化任务、超声波测距控制、红外传感器测距、发动机驱动控制和红外光电跟踪轨迹。 收到外部命令后,运行命令行成功。如果小车没有得到指示,会继续发现障碍。 如果前方没有障碍物,汽车将转向目标。当传感器检测到迎面而来的障碍物时,它会进行干预以避开障碍物,并且电机会向障碍物行驶
在这里插入图片描述

设计程序

电机驱动IO口
IN1 --- 左电机前进 --PC11 
IN2 --- 左电机后退 --PD0 
IN3 --- 右电机前进 --PD6 
    IN4 --- 右电机后退 --PG9 
ENA --- 左电机PWM---输入0时停车 --PD4 
ENB --- 右电机PWM---输入0时停车 --PD2

具体实现截图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

参考文献

[1]王大庆编制.美国 “机遇" 号成功着陆火星[EB/OL]. http://news3.xinhuanet.com/ziliao/2004-01/29/content_1290040.htm,2004一01—29
[2]新华网.机遇号、勇气号都达标美火星探测计划成功[EB/0L]. http://tech.sina.com/other/2004—04—27/1418355367.shtml,2004—04—27
[3]徐国华,谭民.移动机器人的发展现状及其趋势[J].机器人技术与应 用,2001(3):7—14
[4]新华网.中国月球车制造完毕2013搭嫦娥三号探月[EB/OL] http://news.xinhuanet.tom/tech/2010—04/10/content 13331069.htm , 2010-04-10
[5]李宁基于MDK的STM32处理器开发应用2008.10.
[6]蔡自兴,贺汉根,陈虹未知环境中移动机器人导航控制理论与方法2009.1
[7]广州周立功单片机发展有限公司.ARM Cortex-M3处理器简介.2006.1
[8]周立功等编著.ARM嵌入式系统软件开发实例[M].北京:北京航空航天大学出版 社,2005.
[9]杜春雷编著.ARM体系结构与编程[M].北京:清华大学出版社,2003
[10]曾德怀,谢存禧等.行走机器人的超声波测距系统的研究[J].机械科学与技 术,2004,23(5).613"–616.
[11]曹玉华超声测距系统设计及其在其在机器人模糊避障中的应用中国海洋大学 论文2007.5
[12]Roland Siegwart,Il lah R.Nourbakhsh.自主移动机器人导论.西安:西安交通大 学出版社,2006.
[13]贾一.美国的火星探测器机器人机器人技术与应用,2001(3):1’7
[14]李磊,曹志强等.基于行为的轮式移动机器人导航控制.控制与决策.2004年第6 期:707-710
[15]邱瑛,富大伟,王惠森等.移动机器人模糊控制系统避障研究.河北工业大学学 报.2007年第6期:86-89
[16]庞思红,李维,李春书等.移动机器人模糊逻辑控制系统避障研究.微计算机信 息.2007年第12—2期:250-252
[17]程智远,谭宝成.移动机器人运动控制的模糊逻辑系统设计.电子元器件应用 82008年第1期:54-56
[18]孟伟,黄庆成,韩学东,洪炳榕.一种动态未知环境中自主机器人的导航方法.计算 机研究与发展(J),2005,42(9):1538—1543
[19]张纯刚,席裕庚.动态未知环境中移动机器人的滚动路径规划.机器人 (J),2002,24(1):71—75
[20]徐撞,唐振民.动态环境中的移动机器人避碰规划研究.机器人(J),2003,25(2): 117-122
[21]丛爽.神经网络、模糊系统及其在运动控制中的应用.中国科学技术大学出版社.2001
[22]李贻斌,李彩虹,刘鲁源.不确定环境下移动机器人路径规划算法研究.杭州电子 科技大学学报(J),2005,25(2):i0—13
[23]A.Zelinsky.A mobile robot exploration algorithm.IEEE Transactions on Robotics and Automation,1992,8(2):707-717
[24]Koenig,S.;Likhachev,M.:Fast Replanning for Navigation in Unknown Terrain.IEEE Transaetions on RobotiCS and Automation.Volume21,Issue3,June 2005 Page(S):354—363

设计获取

文章下方名片联系我即可~

精彩专栏推荐订阅:在下方专栏👇🏻

毕业设计精品实战案例

收藏关注不迷路!!

🌟文末获取设计🌟

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2145464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式 享元模式(Flyweight Pattern)

享元模式 简绍 享元模式(Flyweight Pattern)是一种结构型设计模式,它的目的是通过共享技术来有效地支持大量细粒度的对象。享元模式可以极大地减少内存的使用,从而提高程序的性能。它特别适用于需要创建大量相似对象的场景&#…

鸿蒙 ArkUI组件三

ArkUI组件(续) QRCode组件 用于显示单个二维码的组件。 说明 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。二维码组件的像素点数量与内容有关,当组件尺寸过小时,可能…

二叉树的层序遍历(含十道leetcode相关题目)

文章目录 二叉树层序遍历模板102. 二叉树的层序遍历 二叉树层序遍历模板 我们之前讲过了关于二叉树的深度优先遍历的文章:前中后序遍历的递归法和迭代法。 接下来我们再来介绍二叉树的另一种遍历方式:层序遍历。 层序遍历一个二叉树。就是从左到右一层…

vue2使用npm引入依赖(例如axios),报错Module parse failed: Unexpected token解决方案

报错情况 Module parse failed: Unexpected token (5:2) You may need an appropriate loader to handle this file type. 原因 因为我们npm install时默认都是下载最新版本,然后个别依赖的版本太新,vue2他受不起这个福分。 解决方法 先去package.js…

SD-WAN如何保障企业数据安全?

SD-WAN(软件定义广域网)作为一种现代化网络解决方案,不仅能够优化和管理广域网的连接,还集成了一系列安全功能,帮助企业保护其数据安全。以下将详细介绍SD-WAN如何有效保障企业数据安全的机制。 在采用SD-WAN技术之前&…

[论文笔记]MRRNET

这是一篇河大的论文 感觉跟SANET很像 摘要 摘要:随着物联网(IoT)的大规模部署,道路场景中实时感知和环境理解的需求变得越来越迫切。 同时,语义分割作为像素级场景解析得到了广泛的研究。 然而,资源有限…

合宙Air201模组LuatOS:PWRKEY控制,一键解决解决关机难问题

不知不觉间,我们已经发布拉期课程:hello world初体验,点灯、远程控制、定位和扩展功能,你学的怎么样?很多伙伴表示已经有点上瘾啦!合宙Air201,如同我们一路升级打怪的得力法器,让开发…

打通最后一公里:使用CDN加速GitHub Page的访问

无论是互联网从业者还是科研人员,使用Github Page能够很友好的建立个人网站。 目前比较主流的方案是使用GitHub Page托管文字网页,利用GitHub仓库托管图床,稳定可靠(Gitee的page突然撤退,让人不敢再将图床放到上面&am…

大数据-138 - ClickHouse 集群 表引擎详解3 - MergeTree 存储结构 数据标记 分区 索引 标记 压缩协同

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

Linux上Qt安装相关的内容及在QtCreator使用QChart模块需要的配置

引言 下面是Ubuntu上Qt安装相关的内容及在QtCreator使用QChart模块需要的配置。 关于Qt安装及环境 Qt的模块 查看已经安装的模块 sudo apt search qt5-安装新的模块 sudo apt install qt5-svg # 安装Qt SVG模块3.查看qt已经安装了哪些模块 dpkg -l | grep libqt安装qt,…

【深度学习实战—11】:基于Pytorch实现谷歌QuickDraw数据集的下载、解析、格式转换、DDP分布式训练、测试

✨博客主页:王乐予🎈 ✨年轻人要:Living for the moment(活在当下)!💪 🏆推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法】 目录 😺〇、仓库…

链式前向星建图

回顾邻接局矩阵和邻接表建图: ​ 在之前的图论基础中,我们提到了两种建图方式:邻接矩阵、邻接表。 邻接矩阵实现: int N; //所有节点个数 int Graph[N][N]; for(int i : Numbers){ //Numbers表示所有节点for(int j : Neighbor…

VC++以资源方式打开可执行文件

刚看一个资料说可以在VC中,以资源方式打开可执行文件,然后它如果包含对话框一些资源,会呈现出来,可以把其他程序界面上的控件直接拷贝到自己程序; 但是操作了一下没有成功, 先新建一个空对话框准备拷贝东…

【Linux】Linux的基本指令(1)

A clown is always a clown.💓💓💓 目录 ✨说在前面 🍋知识点一:Linux的背景 •🌰1.Unix发展的历史 •🌰2.Linux发展历史 •🌰3.企业应用现状 •🌰4.发行版本 &…

【protobuf】ProtoBuf的学习与使用⸺C++

W...Y的主页 😊 代码仓库分享💕 前言:之前我们学习了Linux与windows的protobuf安装,知道protobuf是做序列化操作的应用,今天我们来学习一下protobuf。 目录 ⼀、初识ProtoBuf 步骤1:创建.proto文件 步…

WLAN无线局域网

目录 概述 IEEE 802.11标准与WiFi的世代 ​编辑 无线控制器AC(Access Controller) 无线接入点AP(Access Point) PoE(Power Over Ethernet) PoE交换机 STA(Station) BSS&#x…

简单生活的快乐

小明经常会被问到一个问题:为什么他那么有钱却选择过一种简单、谦逊的生活。先从小明的早年经历说起吧,大概是他六到十三岁的时候,物质对他来说是非常重要的。他记得当妈妈给他买了一双昂贵的鞋子时,他特别兴奋,喜欢向…

GEE 案例:利用sentinel-2数据计算的NDVI指数对比植被退化情况

目录 简介 NDVI指数 数据 函数 ui.Chart.image.series(imageCollection, region, reducer, scale, xProperty) Arguments: Returns: ui.Chart 代码 结果 简介 利用sentinel-2数据计算的NDVI指数对比植被退化情况 NDVI指数 NDVI(Normalized Difference Ve…

武器检测系统源码分享

武器检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

压力测试Monkey命令参数和报告分析!

adb的操作命令格式一般为&#xff1a;adb shell monkey 命令参数 PART 01 常用参数 ⏩ -p <测试的包名列表> 用于约束限制&#xff0c;用此参数指定一个或多个包。指定包之后&#xff0c;Monkey将只允许系统启动指定的APP。如果不指定包&#xff0c;Monkey将允许系统…