【2021研电赛】基于动态无线充电技术的自动驾驶小车

本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力,更有重磅电子产品免费领取!

参赛单位:北京交通大学

作品简介

近年来,电动汽车的发展得到了很多国家和车企的大力支持,但其仍然存在充电时间长、充电设施不齐全等问题。同时,虽然无线充电技术的发展有效地解决了传统式充电面临的接口限制问题,但静态无线充电依然无法解决电动汽车续航不足的问题,尤其在长途出行过程中(如:节假日高峰出行等),电动汽车的续航不足将会成为制约其发展的主要因素。动态无线充电系统(DWCS)则可以解决上述问题,同时随着自动驾驶技术的不断发展,动态无线充电技术与智能驾驶相融合将成为未来的主要应用趋势。

动态无线充电管理的初级能量变换机构采用分段导轨式结构,利用零电压自激谐振方案(ZVS)实现能量的发送;副边采用双线圈接收的方案,通过采用相互重叠的双接收线圈,补偿单线圈在移动中的互感零点,并结合切换控制算法,从而实现恒功率管理输出设计,通过浅冲浅放来有效提升车体电池的续航能力。自动驾驶导航平台在机械结构上采用阿克曼转向结构,模拟电动汽车的真实行驶状态,通过搭载激光雷达、摄像头、里程计等传感器实现小车的自主导航与规划避障等功能,采用Gmapping算法实现自主建图功能;在路径规划上采用改进评价函数法来改善局部路径规划效果,并结合全局路径规划来提升小车对路段环境的适应力。

本项目实现了上述功能的软硬件设计,并搭建小型化实物来验证方案的可行性,通过实际的调试,本项目能够实现小功率的动态充电管理,以及在模拟场景中实现小车的自主建图、路径规划、动态避障等功能。在未来自动驾驶电动汽车逐步盛行的时代,动态无线充电技术将在电动汽车远途出行电能补给中扮演着重要角色。

总体方案

在这里插入图片描述

其中,充电管理层采用动态无线充电技术,发射装置采用分段式导轨结构,选取ZVS自激方案进行能量的发送,接收装置采用双接收线圈的结构,并利用恒功率控制电路实现稳定的输出,并在升降压模块的变换下为运动控制层和自主导航层提供稳定的电源支持。自主导航层选取树莓派4B,搭载ROS系统,该部分平台中包含了激光雷达、摄像头、IMU等传感器,通过激光雷达获取实时的环境信息,采取Gmapping算法建立2D平面图,在此基础上利用改进的动态窗口法规划出最优路线,通过UART串口通信将数据传输至运动控制层。运动控制层中利用增量式编码器、IMU等实时获取小车的运动状态,使用增量式PID控制算法实现速度闭环控制,通过PD算法实现转向控制。通过PWM波来实现运动状态的实时调整;WiFi模块便于用户的远程访问。

硬件设计

在这里插入图片描述

上图为系统的动态无线充电系统结构图,系统由三部分组成,分别为导轨切换系统、电能变换系统、接收端控制系统。其中,导轨切换系统由STM32控制、驱动控制、光电传感器位置识别、继电器切换系统组成。电能变换系统由ZVS电能变换电路组成。接收控制系统由接收整流电路、恒功率控制电路、BOOST电路组成。

系统的工作流程为:当小车以一定速度通过导轨时,位置传感器识别小车的实时位置,并将位置信息返回至切换控制系统中,通过继电器打开对应的电能变换系统,接收装置将双拾取线圈产生的交流电经过整流电路转化为系统可用的直流电,其次通过接收端的控制器检测实时的电路参数,并通过输出占空比可变的PWM波来控制接收端的功率恒定输出。

关键技术

1、恒功率充电管理在以下两方面体现:其一,采用双接收线圈结构,引入线圈互感零点,实现接收部分前级的稳定输出;其二,在后级输出端通过控制器采集输出系统中的电压和电流参数,从而控制锂电池的充电功率恒定。
在这里插入图片描述

2、充电路段自驾驶跟踪与避障技术
在汽车沿充电线路行驶的过程中,为提升充电效率,要求车体的接收线圈能够与地面线圈实现最大耦合,因此,本项目在地面铺设轨迹线,使得自动驾驶汽车能够通过车载摄像头实现轨迹巡线。

本项目在自主巡线中使用OpenCV开源库,其基本原理是通过摄像头采集充电路段图像,利用算法实现灰度化、二值化、膨胀、腐蚀操作,提取出最终二值化后的道路图像,并通过运动控制系统实现动态充电线路自主跟随,由于充电线路的特殊性,在汽车移动的动态充电过程中,车速与行驶方向应尽量减少人工干预,降低由于偏移造成的功率不稳定等现象。

同时,本项目考虑到在充电的过程中极可能出现路面障碍物,因此,本设计通过搭载车载激光雷达实现小车在面临前方障碍物时能够自主进行路径规划与动态避障等功能。此外,自主路径规划的前提是能够进行实时建图导航,本项目采用Gmapping建图算法实现SLAM建图导航。在路径规划算法上通过采用改进评价函数的动态窗口法来实现局部路径规划,提升系统在充电路段中对路面环境的适应能力。

系统测试

在这里插入图片描述

未来展望

随着人工智能、车联网、无人驾驶技术的快速发展,人们可以尝试通过整合这些新技术来提升电动汽车动态无线充电系统的性能。未来将对该项目的功率、效率继续做出优化,同时增加本项目的应用场景。

参赛感想

首先想说的是自己的作品能获得华北赛区一等奖实属幸运,记得我们前往济南前,我和队友说,咱们能进决赛就已经很幸运了,去济南的目的就是能够拿回属于我们的二等奖,顺便去山大转一圈,哈哈哈。到了之后,在会场看了一圈别人的作品,过于震撼,以至于装在箱子里的作品不好意思拿出来了。在现场评审的时候发现评委老师对我们的创意很感兴趣,顿时感觉有希望,信心倍增。最后得知自己能拿一等奖之后更是喜出望外,回来还被导师夸了一顿。

其实本科的时候做过很多比赛,有了竞赛的经验,对于研电赛,自然是很感兴趣,从开始选题、创意筛选、到最后的系统制作与调试,确实花了不少时间,期间的创意点也发生过改动,有很顺利的地方,也有调试无果的时候,研电赛不像是本科电赛,时间给的很充裕,但对于作品的要求上也会更高,从生活中找创意,从论文中“磨”创新。最后还得感谢老师的无条件支持和两位队友的配合,每做一场比赛,都会有很多收获。
矫情点讲,很难忘,也很难得!

更多研电赛作品请查看2021年研电赛获奖作品合集

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

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

相关文章

Java 数据结构

枚举 Java枚举是一种特殊的类,它用于定义有限个特定的值,例如一周的星期或者性别。枚举在Java中被视为数据类型,你可以使用它们来创建枚举类型的变量,然后使用那些枚举值等。 在Java中,声明枚举类型需要使用enum关键字…

迷你洗衣机哪个牌子好又实惠?小型洗衣机全自动

现在洗内衣内裤也是一件较麻烦的事情了,在清洗过程中还要用热水杀菌,还要确保洗衣液是否有冲洗干净,还要防止细菌的滋生等等,所以入手一款小型的烘洗全套的内衣洗衣机是非常有必要的,专门的内衣洗衣机可以最大程度减少…

乾坤js隔离

乾坤,作为一款微前端领域的知名框架,其建立在single-spa基础上。相较于single-spa,乾坤做了两件重要的事情,其一是加载资源,第二是进行资源隔离。而资源隔离又分为Js资源隔离和css资源隔离。 我们把Js隔离机制常常称作…

前端常用网址总结

https://blog.csdn.net/duanhy_love/article/details/110007515 在线CSS编辑 http://tool.alixixi.com/csseditor/ http://c.biancheng.net/css3/position.html https://www.runoob.com/css/css-positioning.html https://cssgrid-generator.netlify.app/ 开发常用组件网…

C#中获取代码执行时间的方法

在C#中,您可以使用System.Diagnostics.Stopwatch类来测量代码执行时间。以下是一个简单的示例: using System.Diagnostics; public static double MeasureExecutionTime(Action action) {Stopwatch stopwatch new Stopwatch();stopwatch.Start();actio…

SpringMVC(三)获取请求参数

1.1通过ServletAPI获取 SpringMVC封装的就是原生的servlet 我们进行测试如下所示: package com.rgf.controller.service;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.…

学习MAVEN

MAVEN的详细介绍和作用、意义 好的,小朋友们,我们今天来聊聊一个非常神奇的工具箱,它的名字叫做Maven! 🌟 1. **神奇的工具箱Maven**: Maven就像是一个神奇的工具箱🧰,它可以帮助大人们把他们的电脑工…

P2 B+树索引

文章目录 Task1 B树页B树页B树内部结点B树叶子结点 Task2 B树操作Task2 B树插入和搜索的单一值插入单一值搜索单一值 Task2 B树删除 Task3 叶子扫描的迭代器Task4 并行索引 Task1 B树页 B树页 实际上是每个B树页面的标题部分,包含叶子页面和内部页面共享的信息。 …

【Docker】Dockerfile常用指令

参考官方文档:https://docs.docker.com/engine/reference/builder/ Dockerfile常用指令 指令说明from基础镜像,当前镜像基于(依赖)哪个镜像maintainer镜像的维护者和邮箱run镜像构建时需要执行的命令workdir镜像的工作目录expos…

基于springboot实现基于Java的超市进销存系统项目【项目源码+论文说明】

基于springboot实现基于Java的超市进销存系统演示 摘要 随着信息化时代的到来,管理系统都趋向于智能化、系统化,超市进销存系统也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大&#x…

最详细STM32,cubeMX外部中断

这篇文章将详细介绍 cubeMX外部中断的配置,实现过程。 文章目录 前言一、外部中断的基础知识。二、cubeMX 配置外部中断三、自动生成的代码解析四、代码实现。总结 前言 实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX 。实…

09 创建型模式-建造者模式

1.建造者模式介绍: 建造者模式 (builder pattern), 也被称为生成器模式 , 是一种创建型设计模式 定义: 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不 同的表示。 2.建造者模式要解决的问题 建造者模式可以将部件和其组装过程分开&am…

【Unity程序技巧】公共Update管理器

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…

Spring Boot中捕获异常错误信息并将其保存到数据库中

Spring Boot中捕获异常错误信息并将其保存到数据库中: 1.创建数据库表: 首先,您需要创建一个用于存储异常信息的数据库表。可以使用SQL脚本或者使用Hibernate实体类来创建表。以下是一个用于存储异常信息的表的示例SQL: CREATE TABLE erro…

【29】c++设计模式——>策略模式

策略模式 C中的策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时选择算法的行为。策略模式通过将算法封装成独立的类,并且使它们可以互相替换,从而使得算法的变化独立于使用算法的客户端。 策略模式通…

图像语义分割 pytorch复现DeepLab v1图像分割网络详解以及pytorch复现(骨干网络基于VGG16、ResNet50、ResNet101)

图像语义分割 pytorch复现DeepLab v1图像分割网络详解以及pytorch复现(骨干网络基于VGG16、ResNet50、ResNet101) 背景介绍2、 网络结构详解2.1 LarFOV效果分析 2.2 DeepLab v1-LargeFOV 模型架构2.3 MSc(Multi-Scale,多尺度(预测…

vim 使用文档笔记

1. i:进入编辑模式 2. ESC:进入一般命令模式 3. h 或 ←:光标向左移动一个字符 4. j 或 ↓:光标向下移动一个字符 5. k 或 ↑:光标向上移动一个字符 6. l 或 →:光标向右移动一个字符 7. num&#xf…

Matlab论文插图绘制模板第122期—函数折线图(fplot)

本期分享的是函数折线图的绘制模板。​ 所谓函数折线图,就是将自定义线函数进行可视化表达​。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的…

【JavaEE】网络编程---TCP数据报套接字编程

一、TCP数据报套接字编程 1.1 ServerSocket API ServerSocket 是创建TCP服务端Socket的API ServerSocket 构造方法: ServerSocket 方法: 1.2 Socket API Socket 是客户端Socket,或服务端中接收到客户端建立连接(accept方法&…