自动泊车的自动驾驶控制算法

1. 自动泊车系统

自动泊车系统(AutomatedParkingASSiSt,APA)利用车辆搭载的传感器感知车辆周边环境,扫描满足当前车辆停放的障碍物空间车位或线车位,并通过人机交互(HumanMachine Interface,HMI)获取驾驶员对目标车位的选择或自动确定目标车位,自动规划泊车路径,通过控制器向车辆执行机构发送横向及纵向运动控制指令,最终实现车辆安全、准确、高效地泊入目标车位,如图1所示。

为实现上述自动泊车功能,一般将APA系统分为车位扫描、路径规划以及决策控制三个模块,对各模块功能描述如下:

(1)车位扫描模块:利用车辆配置的传感器对障碍物边界(车、路沿等)形成的障碍物边界车位和有车位线标记的线车位进行识别和扫描,输出车位地图信息和车辆定位信息。同时按照车位类型对上述两类车位进行区分,又可分为平行车位、垂直车位及倾斜车位三种类型。

目前主流APA系统主要是通过配置的超声波雷达和摄像头传感器实现车位扫描,两种类型的APA系统对比如表1所示。

由表1可以看出,超声波雷达只能对障碍物边界进行测距,对车位线无法识别,而采用360°全景式摄像头弥补了线车位无法识别扫描的缺点,并且通过对图像信息的分析处理能提供更丰富的障碍物类型等信息。因此,在超声波雷达和摄像头融合的APA系统中,对线车位的识别率大幅增加,即车位检出率得到提高。另外,将3609全景式影像(AroundViewMonitor,AVM)与APA系统在人机交互方面进行融合设计,为用户在泊车过程中提供全景式视角,用户能通过全景式影像界面直接选择泊车的目标车位,包括空旷区域自选车位、APA系统扫描出多个可泊车位供自选等场景,提升了用户的体验感与参与感。

(2)路径规划模块:根据车位扫描模块输出的地图信息,结合车辆运动学模型,对车辆泊入目标车位的路径进行规划。

(3)决策控制模块:根据车位扫描模块提供的地图信息以及路径规划模块提供的路径信息对车辆进行运动控制,使车辆按照路径规划的轨迹进行跟踪,实现车辆安全准确泊入。决策控制模块需同时对车辆的横向运动和纵向运动进行控制。

2.APA硬件架构

目前市场上典型的APA硬件架构如图2所示,主要包括传感器、集成控制器、人机交互(HMI)及执行机构。

APA系统通常配置12个超声波雷达,其中包含4个长距离超声波雷达,实现对车身两侧障碍物距离的探测:8个短距离超声波雷达,实现对车前和车后障碍物距离的探测,如图3所示。

同时,APA系统与AVM系统共用4个高清鱼眼摄像头,实现车辆前后左右四处视角图像的采集以及360О全景式影像的获取,如图4所示。

3. APA泊车控制算法设计

3.1 APA算法功能需求分析

自动泊车系统APA开启后,利用配置的传感器(超声波雷达、360О环视摄像头)自动搜索周边环境中的可停车位,在驾驶员确认目标车位后,APA自动进行路径规划并通过决策控制模块对车辆横、纵向运动进行控制,包括方向盘转角、档位、车速等方面,控制车辆自动泊入目标车位。结合使用场景和功能控制过程,对APA算法的功能需求分析如下:

(1)系统适用车速较低(一般在5km/h以下)的工况。

(2)车辆能够实现包括平行车位、垂直车位以及倾斜车位三种类型车位泊车入库功能。

(3)泊车过程中APA系统能够通过对EPS、ESP、EMS、TCU、EPB、VCU的控制实现对车辆横、纵向运动的控制。

(4)驾驶员可以利用HMI对APA功能的开启和关闭进行控制。

(5)在整个泊车过程中,涉及用户操作部分由HMI明确提示,形成良好的人机交互。

3.2 APA控制系统接口确定

根据APA算法功能需求和硬件架构,确定APA控制系统输入/输出接口及信号如图5所示。

3.3 APA平行泊车控制算法设计

3.3.1 扫描车位校验模块

扫描车位校验模块主要对环境感知模块扫描识别后输出的车位进行校验。结合传感器输出的车位信息(B点坐标)和车身参数,以车辆泊入过程安全无碰撞为约束条件,实时计算当前车辆能够成功泊车入库的最短泊车空间距离(L)。将当前车辆实际可泊入车位尺寸进行比较,若满足可泊入条件,则将当前识别出的车位进行输出,否则继续寻找可泊车位。以平行泊车为例,泊车过程如图6所示。

车辆无碰撞轨迹连续最短泊车空间为:

式中:r为车辆后悬距离:Rmin为内侧轮最小转弯半径:d为车宽:By为待校验车位B点y坐标:l为车头到后轴距离。

经校验后的可泊车位信息经坐标转换传输给控制决策模块,一方面,可以用于AVM显示,利用HMI提示实现驾驶员对可泊车位的选择:另一方面,可用于路径规划,便于后续的算法处理和车辆运动控制。

3.3.2 泊车初始位置校验模块

泊车初始位置校验模块主要对扫描车位校验模块输出的车位进行二次校验。基于车辆当前位置和需要泊入车位的位置,以两圆相切理论为规划约束对当前车位是否可泊入进行校验,如图7所示。

R2圆弧通常设置为车辆最小转弯半径,以两圆相切和车辆参数为约束,计算出允许泊车的初始位置范围为(Px,Py)。将当前车辆位置与(Px,Py)进行比较,如在范围内,则说明当前车位满足可泊入条件,否则继续寻找可泊入车位。

3.3.3 泊车路径规划模块

在利用HMI接口实现最终泊车车位的选择后,车辆在控制决策系统的控制下逐渐停稳。基于两圆相切原理,泊车路径规划模块主要完成车辆当前位置即预备倒车起始位置,到泊车终点目标位置的局部路径规划,形成圆弧-圆弧组合形式的泊车路径,如图8所示。

3.3.4 轨迹跟踪控制模块

轨迹跟踪控制模块基于泊车路径规划模块输出的拟合泊车路径,生成车辆横向控制及纵向控制的目标值,即方向盘转角、档位、车位、加速度等输出信号,同时根据车辆实时反馈的状态信号进行修正控制,保证车辆实时准确地跟踪规划轨迹。

3.3.5 泊车状态控制模块

泊车状态控制模块的主要功能是进行泊车状态逻辑的控制,需要根据HMI、车辆与车位的相对位置关系、驾驶员的操作等信息动态调整和反馈。

泊车主要状态包括:

(1)0FF,泊车功能关闭:

(2)Standby,泊车功能开启准备:

(3)ParkingSpaceSearc一,寻找车位:

(4)ParkingSpacehppearA,车位有效:

(5)hStuParkinghAAiAt,辅助泊车:

(o)ParkingFiniA一,泊车完成:

(7)Fail,泊车失败。

3.3.6 HMI交互显示模块

HMI交互显示模块的功能是根据hPh的运行状态,与驾驶员进行交互,包括车位扫描结果的显示、泊入目标车位的选择等。

4.结语

本文结合主流的自动泊车硬件平台,对自动泊车控制系统进行了设计。基于车辆配置确定控制算法接口,结合车辆实际泊车过程确定控制算法流程,环境感知模块利用超声波雷达和摄像头传感器进行车位扫描,路径规划模块主要采用圆弧-圆弧方式进行局部路径规划,控制决策模块根据规划路径进行跟踪和执行器控制。整个控制算法设计合理有效,为自动驾驶研究奠定了一定的基础。

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

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

相关文章

windows环境搭建ELK

目录 资源下载(8.9.1) ES安装、注册、使用 Kibana安装、注册、使用 Logstash安装、注册、使用 Filebeat安装、使用(如果只有一个数据流,则不需要使用filebeat,直接上logstash即可) 资源下载&#xff0…

WebSocket--技术文档--架构体系--《WebSocket实现原理以及关键组件》

WebSocket产生背景 简单的说,WebSocket协议之前,双工通信是通过多个http链接来实现,这导致了效率低下。WebSocket解决了这个问题。下面是标准RFC6455中的产生背景概述。 长久以来, 创建实现客户端和用户端之间双工通讯的web app都会造成HTT…

配置开启Hive远程连接

配置开启Hive远程连接 Hive远程连接默认方式远程连接Hive自定义身份验证类远程连接Hive权限问题额外说明 Hive远程连接 要配置Hive远程连接,首先确保HiveServer2已启动并监听指定的端口 hive/bin/hiveserver2检查 HiveServer2是否正在运行 # lsof -i:10000 COMMA…

详解 ElasticSearch Kibana 配置部署

默认安装部署所在机器允许外网 SSH工具 Putty 链接:https://pan.baidu.com/s/1b6gumtsjL_L64rEsOdhd4A 提取码:lxs9 Winscp 链接:https://pan.baidu.com/s/1tD8_2knvv0EJ5OYvXP6VTg 提取码:lxs9 WinSCP安装直接下一步到完成…

elementUi中的el-table表格的内容根据后端返回的数据用不同的颜色展示

效果图如下&#xff1a; 首先 首先&#xff1a;需要在表格行加入 <template slot-scope"{ row }"> </template>标签 <el-table-column prop"usable" align"center" label"状态" width"180" ><templ…

ELK安装、部署、调试 (二) ES的安装部署

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口操作ES&#xff0c;也可以利用Java API。Elasticsearch是用Java开发的&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是当前流行的企业…

Linux 桌面上的 Firefox 面临着大问题

导读毫无疑问&#xff0c;无论是在桌面、笔记本电脑还是移动设备上&#xff0c;浏览器都是任何操作系统中最重要的应用之一。 如果没有一个功能强大、快速且稳定的浏览器&#xff0c;操作系统的实用性将大幅度降低&#xff0c;以至于我相当确定&#xff0c;如果一个操作系统没有…

Mysql的page,索引,Explain Type等基本常识

Mysql的基本问题 Mysql 为什么建议使用自增id&#xff1f; 因为id&#xff08;主键&#xff09;是自增的话&#xff0c;那么在有序的保存用户数据到页中的时候&#xff0c;可以天然的保存&#xff0c;并且是在聚集索引&#xff08;id&#xff09;中的叶子节点可以很好的减少插…

WebGL非矩阵变换

目录 平移 示例代码&#xff1a; 齐次坐标矢量的最后一个分量w 旋转 p的坐标&#xff0c;可得等式 R1&#xff1a; 使用r、α、β来表示点p的坐标&#xff0c;可得等式 R2&#xff1a; 利用三角函数两角和公式&#xff0c;可得等式 R3&#xff1a; 最后&#xff0c;将…

下岗吧,Excel

ChatGPT的诞生使Excel公式变得过时。通过使用 ChatGPT 的代码解释器你可以做到&#xff1a; 分析数据创建图表 这就像用自然语言与电子表格交谈一样。我将向大家展示如何使用 ChatGPT 执行此操作并将结果导出为Excel格式&#xff1a; 作为示例&#xff0c;我将分析并创建美国…

阿里云效和阿里在线idea使用

阿里云效 https://flow.aliyun.com/all?page1 阿里在线idea&#xff1a;https://ide.aliyun.com/ 在云效中创建的项目可以在在线idea 打开 运行中的项目 设置ssh 设置以后可以使用云效率的代码构建来构建代码 设置 添加自有云或者体验5h

元素居中的方法总结

目录 垂直居中 行内元素垂直居中 单行文本垂直居中 1.line-height: 200px; 多行文本垂直居中 1.tablevertical-align:middle 块级元素垂直居中 1.display: flex;align-items: center; 2.使用position top margin-top 水平居中 行内元素水平居中 1.text-align:cente…

如何让你的jupyter notebook 排版得像Word(Markdown和网页文件写法)

案例背景 很多时候我们在jupyter notebook里面的写代码&#xff0c;画图&#xff0c;但是文字分析什么的写在里面纯文本不好看&#xff0c;需要进行排版&#xff0c;那么就得用markdown的写法&#xff0c;如何还想居中或者更花里胡哨的字体&#xff0c;那就得要网页文件的一些…

阿里云将关停代销业务

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 阿里云自从逐渐分拆独立之后&#xff0c;做了很多调整。最近它又做了一个大动作&#xff1a;据DoNews消息&#xff0c;阿里云将会在今年9月30日之前&#xff0c;全面关停代销业务。 这件事实际上…

mysql profiling profiles profile

要想优化一条 Query&#xff0c;我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里&#xff0c;是消耗的 CPU计算太多&#xff0c;还是需要的的 IO 操作太多&#xff1f;要想能够清楚的了解这些信息&#xff0c;在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了&a…

剑走偏锋:非传统问题在面试中的应对策略

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

滑动窗口系列4-Leetcode322题零钱兑换-限制张数-暴力递归到动态规划再到滑动窗口

这个题目是Leecode322的变种&#xff0c;322原题如下&#xff1a; 我们这里的变化是把硬币变成可以重复的&#xff0c;并且只有coins数组中给出的这么多的金币&#xff0c;也就是说有数量限制&#xff1a; package dataStructure.leecode.practice;import java.util.Arrays; i…

用NeRFMeshing精确提取NeRF网络中的3D网格

准确的 3D 场景和对象重建对于机器人、摄影测量和 AR/VR 等各种应用至关重要。 NeRF 在合成新颖视图方面取得了成功&#xff0c;但在准确表示底层几何方面存在不足。 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 我们已经看到了最新的进展&#xff0c;例如 NVIDIA 的…

【c++】VC编译出的版本,发布版本如何使用

目录 使用release类型进行发布 应用程序无法正常启动 0xc000007b 版本对应 vcruntime140d 应用版本 参考文章 使用release类型进行发布 应用程序无法正常启动 0xc000007b "应用程序无法正常启动 0xc000007b" 错误通常是一个 Windows 应用程序错误&#xf…

【网络】多路转接——poll | epoll

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《网络》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 书接上文五种IO模型 | select。 poll | epoll &#x1f367;poll&#x1f9c1;认识接口&#x1f9c1;简…