2023世界智能驾驶挑战赛(WIDC)仿真赛-感知决策控制组金奖(冠军)方案和代码分享

本文主要是介绍2023世界智能驾驶挑战赛(WIDC)仿真赛-感知决策控制组金奖(冠军)方案和代码分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

2023世界智能驾驶挑战赛(WIDC)元宇宙虚拟仿真赛今天公布成绩,我们队有幸获得了元宇宙虚拟仿真赛-感知决策控制组金奖(第一名),运气不错哈哈,给大家分享一下我们的代码思路和调试经验。
先来看一下比赛需要完成的任务和我们的排名。
在这里插入图片描述

决赛的排名:
在这里插入图片描述


一、整体方案介绍


从上面的图片可以看到,我们的思路是分模块去调试的:感知模块使用单目相机测距,并用卡尔曼滤波对距离估计进行修正,决策模块使用的是有限状态机:三个状态机之间的切换、控制模块使用最常用的PID,下面会详细介绍各个模块调试的流程。

二、感知模块调试

由于赛题本身只有单目相机和车道线传感器,所以测距只能使用单目相机。

2.1 单目相机测距

单目相机测距原理
单目相机测距的原理是使用单目相机拍的照片中物体的大小来进行估算距离的,上图中已经展示出来了,相机的摄像头和拍物体的照片构成一个相似三角形,这里其实就是小孔成像的原理。计算公式如下:
在这里插入图片描述

代码如下:

2.2 数据后处理(卡尔曼滤波)

由于单目相机测距存在一定误差,而且经过调试发现在距离小于7m的时候,距离会变成‘inf’,也就是此时单目相机测距已经失去作用了,需要解决这样的问题,所以需要用卡尔曼滤波进行处理,方案如下。
保留距离的历史数据,如果距离从上一时刻到当前时刻从有值变成了‘inf’,那就把当前的距离估计值暂且等于pre_distance-speed*dt,然后再用卡尔曼滤波对当前的距离估计值进行滤波,使距离估计更准确。
在这里插入图片描述

三、决策模块调试

3.1 决策模块思路

在这里插入图片描述

决策模块使用三个状态机进行切换,speedup是在交通流中行驶,overtake是需要进行超车时候的状态机,Finalspeedup是最后阶段驶出交通流后将速度提升至最高速行驶的状态机。
规划模块就是一个简单的距离比较,比如我在中间车道,我想超车是从左边还是右边呢,那就看左边车道车和右边的车哪个距离更近,走距离较远的那个车道进行超车。
在这里插入图片描述
在这里插入图片描述

四、控制模块调试

4.1 控制模块调试

我们采用位置式PID,在纵向控制的时候分为四个阶段:加速阶段、稳定控速阶段、减速第一阶段、减速第二阶段;PID的原理比较简单,这里不再赘述,不懂的同学先去看看PID控制的原理哦。
在这里插入图片描述
横向控制就是取车辆前方3-4m一个前视点,然后把它当做目标点去跟踪,计算出转角即可达到横向控制的目的。
在这里插入图片描述


总结

2023世界智能驾驶挑战赛(WIDC)元宇宙虚拟仿真赛感知决策控制组的比赛持续了一个多月,从四月份的中下旬开始备赛,前前后后大概一个月的时间,辛苦了一个月拿到了金奖,还是很开心的,欢迎大家改进我们的方案,期待改进出更好的方案。

这篇关于2023世界智能驾驶挑战赛(WIDC)仿真赛-感知决策控制组金奖(冠军)方案和代码分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279989

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n