基于STM32的无人小车自主避障系统设计
文章目录
- 前言
- 资料获取
- 设计介绍
- 功能介绍
- 设计程序
- 具体实现截图
- 参考文献
- 设计获取
前言
💗博主介绍:✌全网粉丝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
设计获取
文章下方名片联系我即可~
精彩专栏推荐订阅:在下方专栏👇🏻
毕业设计精品实战案例
收藏关注不迷路!!
🌟文末获取设计🌟
相关文章:

基于STM32的无人小车自主避障系统设计
文章目录 前言资料获取设计介绍功能介绍设计程序具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设…...

杂牌鼠标侧键设置
X-Mouse Button Control修改侧键基本功能介绍-CSDN博客 下载链接 【X-Mouse汉化版】X-Mouse中文版 v2.19.2 绿色版(支持Win10)-开心电玩 (kxdw.com)...

Android WebView H5 Hybrid 混和开发
对于故乡,我忽然有了新的理解:人的故乡,并不止于一块特定的土地,而是一种辽阔无比的心情,不受空间和时间的限制;这心情一经唤起,就是你已经回到了故乡。——《记忆与印象》 前言 移动互联网发展…...

智源推出下一代检索增强大模型框架MemoRAG
北京智源人工智能研究院与中国人民大学高瓴人工智能学院联合发布了一款创新的人工智能模型框架——MemoRAG。该框架基于长期记忆,旨在推动检索增强生成(RAG)技术的发展,使其能够处理更复杂的任务,而不仅限于简单的问答…...

【AprilTag】视觉定位实战 | 使用 ROS 驱动的 USB 摄像头进行相机标定与 AprilTag 识别
写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…...

[数据集][目标检测]俯拍航拍森林火灾检测数据集VOC+YOLO格式6116张2类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):6116 标注数量(xml文件个数):6116 标注数量(txt文件个数):6116 标注…...

windows10下tomcat安装及配置教程
Apache Tomcat是一个开源的、轻量级的Servlet容器,广泛用于运行Java Web应用程序。以下是Tomcat安装及配置的基本步骤,根据搜索结果整理: 一、安装前的准备工作 确保你的计算机上已经安装了Java Development Kit (JDK),因为Tomc…...

Spring MVC设置请求头和响应头的Header
在Spring MVC中,动态设置请求头和响应头的方法有多种,以下是一些常见的方式: 设置请求头 使用RequestHeader注解 这个注解用于读取请求中的单个HTTP头部值,并将其作为一个参数传递给控制器方法。 RequestMapping("/examp…...

一个基于 laravel 和 amis 开发的后台框架, 友好的组件使用体验,可轻松实现复杂页面(附源码)
前言 随着互联网应用的发展,后台管理系统的复杂度不断增加,对于开发者而言,既要系统的功能完备,又要追求开发效率的提升。然而,传统的开发方式往往会导致大量的重复劳动,尤其是在构建复杂的管理页面时。有…...

HTML讲解(二)head部分
目录 1. 2.的使用 2.1 charset 2.2 name 2.2.1 describe关键字 2.2.2 keywords关键字 2.2.3 author关键字 2.2.4 http-equiv 小心!VS2022不可直接接触,否则!没这个必要,方源面色淡然一把抓住!顷刻炼化&#x…...

Linux(Ubuntu)(终端实现helloworld输出)
一、终端实现gcc编译 1.写好helloworld.h,helloworld.c,main.c后,打开终端,切换到保存这些文件的文件夹的目录,我把这些文件存放在helloworld的文件夹下,所以输入cd ~/helloworld 2.查看该目录下的文件&a…...

开源模型应用落地-qwen模型小试-调用Qwen2-VL-7B-Instruct-更清晰地看世界-集成vLLM(二)
一、前言 学习Qwen2-VL ,为我们打开了一扇通往先进人工智能技术的大门。让我们能够深入了解当今最前沿的视觉语言模型的工作原理和强大能力。这不仅拓宽了我们的知识视野,更让我们站在科技发展的潮头,紧跟时代的步伐。 Qwen2-VL 具有卓越的图像和视频理解能力,以及多语言支…...

【乐企-工具篇】有关乐企发票文件生成- OFD和PDF文件生成
有关乐企发票文件生成- OFD和PDF文件生成 本文主要是实现发票的OFD文件以及PDF文件的生成可以参考具体实现思路,具体情况需要根据自己业务进行改造! 具体的OFD文件模板可以从税局进行下载,下载之后放到resources资源目录下。 代码 package com.ruoyi.output.service.thi…...

llama网络结构及源码
目录 模型初始化 config lm_head transformer wte h rms_1/rms_2 attn c_attn c_proj 线性层mlp ln_f rope_cache mask_cache kv_caches tokenizer tokenizer初始化 tokennizer.encoder 位置编码和mask 确定最大文本长度 建立rope_cache 建立mask_cache …...

828华为云征文|Flexus云服务器X实例部署宝塔运维面板
本次华为云Flexus云服务器X实例部署宝塔运维面板教学,这次是推陈出新啊 之前的云耀云服务器L实例已经很不错了,大力赞叹华为云的 同时感谢华为云提供优惠卷,只能说白嫖真是太棒了 华为云近期正在筹办华为云828企业节活动,90款免…...

计算机网络 8.*结构化布线
第八章 结构化布线 第一节 结构化布线基础 一、认识结构化布线 1.定义:在建筑物或楼宇内安装的传输线路,是一个用于语音、数据、影像和其他信息技术的标准结构化布线系统。 2.任务:使语音和数据通信设备、交换设备和其他信息管理系统彼此相…...

c#的委托、事件
程序目的:实现对一个bool型变量的监视,当数据变化时,调用某一个函数,引申出委托、事件等基础概念。 方法一、在form1的类定义中,定义如下代码,这样定义是最直接的,也非常简单,没有涉…...

Day23笔记-Day21和Day22作业讲解单例类
Day22作业讲解 学生类Student:属性:学号,姓名,年龄,性别,成绩 班级类 Grade:属性:班级名称,班级中的学生 【使用列表存储学生】 方法:1.查看该班级中的所有学生的信息2.查看指定学号的学生信息3.查看班级中成绩不…...

k8s中的存储
目录 一 configmap 1.1 configmap的功能 1.2 configmap的使用场景 1.3 configmap创建方式 1.3.1 字面值创建 1.3.2 通过文件创建 1.3.3 通过目录创建 1.3.4 通过yaml文件创建 1.3.5 configmap的使用方式 1.3.5.1 使用configmap填充环境变量 1.3.5.2 通过数据卷使用c…...

【Linux进程控制】进程程序替换
目录 进程程序替换 替换函数 看现象 替换原理 多进程替换 exec*函数使用(部分),并且认识函数参数的含义 1.execl 2.execv 3.execvp 4.execvpe execlp 和execlpe 替换函数总结 进程程序替换 替换函数 有六种以exec开头的函数&am…...

02 ETH
以太坊与比特币有什么不同? 以太坊立足比特币创新之上,于 2015 年启动,两者之间有一些显著不同。 比特币就仅仅是比特币;以太坊包括以太币,以太币才是和比特币对等的存在。以太坊是可编程的,所以你可以在…...

web渗透—RCE
一:代码执行 相关函数 1、eval()函数 assert()函数 (1)原理:将用户提交或者传递的字符串当作php代码执行 (2)passby:单引号绕过:闭合注释;开启GPC的话就无法绕过(GPC就是将单引号转换为"反斜杠单引号"&a…...

HomeAssistant显示节假日
先看效果 步骤: 新建卡片时选择“Markdown 卡片”代码在文章最下方,当然你也可以自己修改 点击保存/完成 ### {% if now().hour > 6 and now().hour < 9 -%} 早上好, {%- elif now().hour > 9 and now().hour < 12 -%} 上午好…...

AI问答-HTTP:理解 Content-Disposition
本文背景 在下载arraybuffer文件时,想要获取文件名,这时引入本文内容Content-Disposition,我们在Content-Disposition获取到文件名就可以在下载后的文件以该文件名命名了。 一、简介 Content-Disposition是HTTP协议中的一个响应头字段&…...

kubernetes架构
kubernetes cluster由master和node组成,节点上运行着若干kubernetes服务Master节点: master是kubernetes cluster的大脑,运行着的Daemon服务包括kube-apiserver,kube-scheduler,kube-controller-manager,etcd和Pod网络…...

【隐私计算篇】中国剩余定理解释以及Paillier解密加速应用
1. 背景介绍 本篇主要关注中国剩余定理的原理以及在paillier同态加密系统中的应用。在很多工作中,都可以看到中国剩余定理的影子,特别是同态加密提升计算效率的优化工作中,将paillier与中国剩余定理进行结合,能够实现在加密状态下…...

保护您的隐私:隐藏 IP 地址的重要性
在当今的数字时代,我们的在线隐私和安全变得比以往任何时候都更加重要。浏览互联网时保护自己的一种方法是隐藏您的 IP 地址。 但是为什么要隐藏您的 IP 地址以及如何有效地做到这一点? 隐藏您的 IP 地址有助于保护您的在线匿名性。您的 IP 地址就像您的…...

nodejs 007:错误npm error Error: EPERM: operation not permitted, symlink
完整错误信息 npm error Error: EPERM: operation not permitted, symlink npm warn cleanup Failed to remove some directories [ npm warn cleanup [ npm warn cleanup C:\\Users\\kingchuxing\\Documents\\IPFS\\orbit-db-set-master\\node_modules\\ipfs-cli, npm…...

Rsync未授权访问漏洞复现及彻底修复
一、什么是 Rsync? Rsync 是一种广泛使用的文件传输工具,它允许系统管理员和用户通过局域网(LAN)或广域网(WAN)在计算机之间同步文件和目录。Rsync 支持通过本地或远程 shell 访问,也可以作为守…...

影刀RPA实战:网页爬虫之携程酒店数据
1.实战目标 大家对于携程并不陌生,我们出行定机票,住酒店,去旅游胜地游玩,都离不开这样一个综合性的网站为我们提供信息,同时,如果你也是做旅游的公司,那携程就是一个业界竞争对手,…...