基于STM32的快递小车无人驾驶系统

news2025/2/21 4:13:54

目录

摘  要

一、绪论

1.1 背景和意义

1.1.1 背景

1.1.1 意义

1.2 国内外研究现状

二、小车设计方案

2.1 方案一

2.2 方案二

2.3 方案三

2.4 方案选择与论证

三、硬件设计方案

3.1 单片机最小系统

3.2 光耦隔离电路

3.3 电源模块电路

3.4 直流电机驱动电路

3.5 openmv摄像头

3.6 语言控制模块设计

3.7 无线通信模块设计

3.8 显示电路设计

四、软件设计方案

4.1 控制系统设计

4.2 主函数

4.3 定时器中断函数

4.3.1 位置闭环定时器中断函数

4.3.2 速度闭环定时器中断函数

4.4 直流电机驱动程序设计

4.5 PID算法

4.6 openmv程序

4.6.1 图形识别分析

五、调试

5.1 PID参数整定

5.2 位置闭环PID参数整定

六、系统测试

6.1 障碍物检测测试

6.2 语音控制测试

6.3 无线通信测试

6.4 自动充电测试

七、总结


完整内容如下,图片太多了,就不一一粘贴了,总字数在一万五左右。可私信获取

摘  要

本课设基于现有图像识别技术,针对图像识别对环境的苛刻要求,研究了一种基于机器视觉的快递无人驾驶小车的设计。随着网络购物的盛行,电子商务的兴起,带动了物流业的蓬勃发展。为了加快物流的效率,更加迅捷的进行货物的存储与出纳,智能快递小车应运而生。设计了一种基于stm32的快递小车控制系统,实现对小车的运动控制和环境感知。系统采用了stm32开发板作为控制核心,结合电机驱动模块、传感器模块、语音与远程控制模块等多种硬件部件,构建了一个稳定、可靠和灵活的控制系统。通过对小车的运动控制,实现小车智能化地行进和存取快递功能;通过环境感知,让小车能够感知到周围的障碍物和墙壁等,从而完善了小车的自主性和适应性。实验结果表明,本控制系统具有高度的控制精度和稳定性,能够满足小车长时间工作的要求。

关键词:智能小车;控制系统;运动控制;环境感知;STM32

一、绪论

1.1 背景和意义

1.1.1 背景

随着人工智能的不断发展,无人驾驶技术逐渐成熟并被广泛关注。无人驾驶技术具有广泛的应用前景,例如在物流、公共交通、出租车和私家车等领域。机器视觉是无人驾驶技术中不可或缺的一部分,它可以通过使用相机、激光雷达、红外线传感器等传感器捕捉环境信息,并使用算法对图像和数据进行处理和分析,从而实现无人快递小车的自主导航。

机器视觉指的是让计算机通过摄像头或其他感知设备获取图像或视频,并通过图像处理和模式识别技术将其转化为计算机可以理解和处理的数据。在无人驾驶领域,机器视觉技术主要应用于实时的场景感知和障碍物检测,从而帮助自动驾驶汽车做出决策。

在无人快递小车的设计和实现中,机器视觉技术的应用可以有效地实现对环境信息的实时感知和分析,从而对车辆的运行进行控制和优化。在无人快递小车中,机器视觉技术可以用于实现以下功能:

实时地感知和识别道路标志、交通信号灯等道路标识,并根据这些信息规划车辆的行驶路线。

对车辆周围的环境进行感知和识别,例如检测和跟踪其他车辆、行人、障碍物等,并根据这些信息进行决策和避障。

利用机器学习算法进行路面状况检测和预测,从而优化车辆的行驶路线和速度,提高行驶安全性和效率。

在设计和实现基于机器视觉的无人快递小车时,需要考虑以下几个方面:

(1)感知设备的选择:为了获取环境的图像或视频,需要选择合适的摄像头或激光雷达等感知设备。

(2)图像处理和模式识别技术的应用:对于获取到的图像或视频数据,需要应用图像处理和模式识别技术进行处理和分析,以获取有用的信息,如障碍物位置和运动方向等。

(3)决策算法的设计:基于感知数据,需要设计合适的决策算法,帮助无人驾驶小车做出正确的驾驶决策。

(4)实时性和鲁棒性的保证:在无人驾驶过程中,需要保证算法的实时性和鲁棒性,以应对不同的道路和天气条件。

基于以上功能,无人驾驶快递小车的设计和实现需要涉及到多个领域的知识,包括计算机视觉、深度学习、控制理论等。同时,无人快递小车的实现还需要考虑传感器选择、通信协议、车辆硬件和软件的整合等问题。因此,无人快递小车的设计和实现是一个多学科交叉的研究领域,需要跨越多个领域的知识和技术,具有非常高的技术挑战和应用价值。

1.1.1 意义

本文是基于机器视觉的无人驾驶小车的设计和实现,该课题的研究意义主要体现在以下几个方面:

探索新的自动驾驶技术:无人驾驶技术是未来交通领域的发展方向,本文通过研究机器视觉技术在无人驾驶小车中的应用,探索一种新的自动驾驶技术,可以对未来的交通领域的发展做出贡献。

提高交通安全性:无人驾驶小车可以减少人类驾驶员的误判和疲劳驾驶等安全隐患,从而提高道路交通的安全性。研究基于机器视觉的无人驾驶小车,可以为交通安全领域的研究提供新的思路和方法。

提高交通效率:无人驾驶小车可以自主规划路径、避免拥堵等,从而提高道路交通的效率。本文研究的基于机器视觉的无人驾驶小车可以进一步提高交通效率,对交通管理和优化有着重要的意义。

推动机器视觉技术的发展:本文研究的基于机器视觉的无人驾驶小车,需要涉及计算机视觉、模式识别、机器学习等多个领域的知识,通过研究和实践,可以推动机器视觉技术的发展,为其他领域的应用提供技术支持。

综上所述,基于机器视觉的无人驾驶小车的设计和实现具有重要的研究意义和应用价值,对于未来的自动驾驶技术的发展和交通安全、效率的提升都有着重要的影响。

1.2 国内外研究现状

基于机器视觉的无人驾驶小车是当前国内外的研究热点之一。以下是该课题的国内外研究现状:

国外研究现状

(1)Google自动驾驶汽车:Google自动驾驶汽车是目前自动驾驶技术领域的代表之一,其采用多种传感器和算法技术,实现了高精度的自动驾驶。

(2)Uber自动驾驶汽车:Uber自动驾驶汽车也是当前自动驾驶技术领域的重要代表之一,其采用了机器学习和深度学习等技术,实现了自主规划路径、避免障碍物等功能。

(3)MIT自动驾驶汽车:MIT自动驾驶汽车采用了基于机器视觉的算法,包括SLAM算法、目标检测算法、图像识别算法等,实现了高精度的自动驾驶。

国内研究现状

(1)百度Apollo:百度Apollo是中国自动驾驶技术领域的代表之一,其采用了多种传感器和算法技术,包括激光雷达、摄像头、毫米波雷达、GPS等,实现了高精度的自动驾驶。

(2)华为HI自动驾驶:华为HI自动驾驶采用了基于机器学习的算法,包括图像识别、语音识别、自然语言处理等,实现了自主规划路径、避免障碍物等功能。

(3)上汽大通自动驾驶汽车:上汽大通自动驾驶汽车采用了基于机器视觉的算法,包括SLAM算法、目标检测算法等,实现了高精度的自动驾驶。

综上所述,国内外在基于机器视觉的无人驾驶小车方面已经开展了大量的研究和实践,并取得了显著的成果。同时,该领域的研究还存在一些问题,例如如何提高自动驾驶的安全性、如何解决无人驾驶小车的法律和道德问题等,这些问题都需要继续深入研究。

二、小车设计方案

2.1 方案一

基于传统计算机视觉算法的无人驾驶小车设计:该方案主要采用传统的计算机视觉算法,如边缘检测、特征提取、目标跟踪等算法,利用stm32单片机进行控制和驱动,实现小车的自主导航、障碍物避让、交通信号灯识别等功能。

2.2 方案二

基于深度学习的无人驾驶小车设计:该方案主要采用深度学习算法,如卷积神经网络(CNN)、循环神经网络(RNN)等算法,通过对图像进行训练和学习,实现对交通标志、障碍物、行人等目标的识别和跟踪。同时,利用stm32单片机进行控制和驱动,实现小车的自主导航、避障等功能。

2.3 方案三

基于机器人操作系统(ROS)的无人驾驶小车设计:该方案主要采用ROS框架进行设计,利用ROS提供的各种功能包和工具,实现图像采集、处理、导航等功能。同时,利用stm32单片机进行控制和驱动,实现小车的自主导航、避障等功能。

2.4 方案选择与论证

最终选用方案一。经研究决定采用OpenMV识别交通灯和车道轨迹检测,在保证精度尽可能高的情况下,降低分辨率不断调试阈值即可。与其他方案相比,在方案一上花费的时间预计更少,最终呈现效果也能达到测量要求。

三、硬件设计方案

3.1 单片机最小系统

3.2 光耦隔离电路

3.3 电源模块电路

3.4 直流电机驱动电路

3.5 openmv摄像头

3.6 语言控制模块设计

3.7 无线通信模块设计

3.8 显示电路设计

四、软件设计方案

4.1 控制系统设计

4.2 主函数

4.3 定时器中断函数

4.3.1 位置闭环定时器中断函数

4.3.2 速度闭环定时器中断函数

4.4 直流电机驱动程序设计

4.5 PID算法

4.6 openmv程序

4.6.1 图形识别分析

五、调试

5.1 PID参数整定

5.2 位置闭环PID参数整定

六、系统测试

6.1 障碍物检测测试

6.2 语音控制测试

6.3 无线通信测试

6.4 自动充电测试

七、总结

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

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

相关文章

Lua脚本使用手册(Redis篇)

Lua脚本 **简介:**Lua是一种功能强大的,高效,轻量级,可嵌入的脚本语言。它是动态类型语言,通过使用基于寄存器的虚拟机解释字节码运行,并具有增量垃圾收集的自动内存管理,是配置,脚…

数据资产与数据要素的重要性及数据资产入表的实践指南

## 引言在当今快速发展的数字化时代,数据资产已经成为企业最宝贵的资源之一。数据资产不仅对企业的运营决策有着至关重要的影响,而且在企业的财务健康和市场竞争力方面扮演着核心角色。数据要素,作为构成数据资产的基本单元,其管理…

【攻防世界】bug

垂直越权IP绕过文件上传 文件上传绕过&#xff1a; 1. mime检测 2. 大小写绕过 3. 等价替换&#xff08;php5&#xff0c;php3&#xff09; 4. 利用JavaScript执行php代码&#xff08;正常的php代码会被检测到&#xff0c;所以就用JavaScript来执行&#xff09; <script lan…

终端工具命令行颜色配置(解决终端工具连上服务器之后,无颜色问题)

本期主题&#xff1a; 讲解使用mobaxterm等终端工具连上服务器&#xff0c;但是命令行没有颜色的问题 目录 1. 问题描述2. 原因解释3.测试 1. 问题描述 使用终端工具&#xff08;Mobaxterm等&#xff09;连上服务器之后&#xff0c;发现终端工具没有颜色&#xff0c;如下图&am…

数模 线性规划模型理论与实践

线性规划模型理论与实践 1.1 线性规划问题 在人们的生产实践中&#xff0c;经常会遇到如何利用现有资源来安排生产&#xff0c;以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支一数学规划&#xff0c;而线性规划(Linear Programming 简记LP)则是数学规划的一个…

深度学习学习日记4.14 数据增强 Unet网络部分

数据增强 transforms.Compose([&#xff1a;这表示创建一个转换组合&#xff0c;将多个数据转换操作串联在一起 transforms.RandomHorizontalFlip()&#xff1a;这个操作是随机水平翻转图像&#xff0c;以增加数据的多样性。它以一定的概率随机地水平翻转输入的图像。 transfo…

系统架构最佳实践 -- 金融企业的资损防控

一、资损产生的原因 由于支付行业的特殊性与复杂性&#xff08;主要处理资金相关业务&#xff09;&#xff0c;支付公司处于资损的风口浪尖&#xff0c;最容易发生资损&#xff0c;可以说资损风险无处不在。 常规来说&#xff0c;资损原因主要可以分为以下三类&#xff1a; 1…

Linux设备驱动开发-字符设备

阅读引言&#xff1a; 从linux文件的种类、字符设备的创建、设备号、申请设备号、cdev对象和字符设备的对应关系、应用层调用到我们编写的设备驱动方法合集的流程。 目录 一、Linux文件的种类 二、Linux对设备的分类 三、驱动程序如何向应用层提供接口 四、Linux中设备的划…

微服务之LoadBalancer负载均衡服务调用

一、概述 1.1什么是负载均衡 LB&#xff0c;既负载均衡&#xff08;Load Balancer&#xff09;,是高并发、高可用系统必不可少的关键组件&#xff0c;其目标是尽力将网络流量平均分发到多个服务器上&#xff0c;以提高系统整体的响应速度和可用性。 负载均衡的主要作用 高并发…

华为机考入门python3--(15)牛客15-求int型正整数在内存中存储时1的个数

分类&#xff1a;二进制 知识点&#xff1a; int转二进制 binary bin(n)[2:] 题目来自【牛客】 def count_ones_in_binary(n): # 将输入的整数转换为二进制字符串 # bin(n)为0b11011binary bin(n)[2:]# 初始化计数器为0 count 0 # 遍历二进制字符串的每一位 fo…

2024年大唐杯备考

努力更新中…… 第一章 网络架构和组网部署 1.1 5G的网络整体架构 5G网络中的中传、回传、前传&#xff08;这里属于承载网的概念&#xff09; CU和DU之间是中传 BBU和5GC之间是回传 BBU和AAU之间是前传&#xff08;这个好记&#xff09; 这里竟然还藏了MEC&#xff08;…

YOLTV8 — 大尺度图像目标检测框架(欢迎star)

YOLTV8 — 大尺度图像目标检测框架【ABCnutter/YOLTV8: &#x1f680;】 针对大尺度图像&#xff08;如遥感影像、大尺度工业检测图像等&#xff09;&#xff0c;由于设备的限制&#xff0c;无法利用图像直接进行模型训练。将图像裁剪至小尺度进行训练&#xff0c;再将训练结果…

使用Python的Pillow库进行图像处理书法参赛作品

介绍&#xff1a; 在计算机视觉和图像处理领域&#xff0c;Python是一种强大而流行的编程语言。它提供了许多优秀的库和工具&#xff0c;使得图像处理任务变得轻松和高效。本文将介绍如何使用Python的wxPython和Pillow库来选择JPEG图像文件&#xff0c;并对选中的图像进行调整和…

STM32常见调试工具介绍

STM32的常见调试工具主要包括ST-LINK、USB转TTL、USB转485以及USB转CAN。这些工具在嵌入式系统开发、调试以及通信中发挥着重要的作用。 1.ST-LINK&#xff1a; ST-LINK是STMicroelectronics公司专为其STM32系列微控制器开发的调试和编程工具。既能仿真也能将编译好的程序下载…

python应用-os库操作目录

python自带的os模块提供了许多与操作系统交互的函数&#xff0c;适配多种操作系统&#xff0c;比如windows&#xff0c;mac&#xff0c;linux等&#xff0c;比如常用路径操作、进程管理、环境参数等都可通过os模块实现。 以下是自带的os.py中的前面一部分代码。 第一个红框中主…

asp.net core 网页接入微信扫码登录

创建微信开放平台账号&#xff0c;然后创建网页应用 获取appid和appsecret 前端使用的vue&#xff0c;安装插件vue-wxlogin 调用代码 <wxlogin :appid"appId" :scope"scope" :redirect_uri"redirect_uri"></wxlogin> <scri…

Qt快速入门(Opencv小案例之人脸识别)

Qt快速入门&#xff08;Opencv小案例之人脸识别&#xff09; 编译出错记录 背景 因为主要使用qt&#xff0c;并且官网下载的win版本的编译好的opencv默认是vc的&#xff0c;所以我们需要自己下载opencv的源码使用mingw自行编译&#xff0c;我直接使用的vscode。 报错 报错…

LabVIEW直流稳定电源自动化校准系统

LabVIEW直流稳定电源自动化校准系统 直流稳定电源正向着智能化、高精度、多通道、宽量程的方向发展。基于LabVIEW开发环境&#xff0c;设计并实现了一种直流稳定电源自动化校准系统&#xff0c;以提升校准过程的整体效能&#xff0c;实现自动化设备替代人工进行电源校准工作。…

YOLOv8 测试 5:Linux 中 Docker 部署 YOLOv8,Python 封装 API 接口,base64 图片处理

一、前言 记录时间 [2024-4-14] 系列文章简摘&#xff1a; Docker 学习笔记&#xff08;二&#xff09;&#xff1a;在 Linux 中部署 Docker&#xff08;Centos7 下安装 docker、环境配置&#xff0c;以及镜像简单使用&#xff09; API 接口简单使用&#xff08;二&#xff09;…

对常见FTP客户端/服务器的调查与分析

前言 主要是想看看常见的服务器和客户端是如何实现协议中要求的功能的&#xff0c;。 比如RF959要求的记录结构&#xff08;Record Structure&#xff09;、页结构&#xff08;Page Structure&#xff09;、Block Mode、Compress Mode&#xff0c;看起来就很抽象。 实测发现…