前言

本文主要对智能驾驶规划技术相关知识进行初步探究和总结,以加深理解,及方便后续学习过程中查漏补缺。

分层规划策略

寻径

A*算法

概念
  • 节点:网格化后的每一个最小单元
  • 父节点:路径规划中用于回溯的节点
  • 列表:需要不断的维护
    • 开放列表:用于存放待检测节点
    • 关闭列表:用于存放已检测节点
  • 路径排序F:选择路径的依据F=G+H。找最小路径
    • G:从初始位置移动到待检测节点的开销
    • H:启发函数。即,每个待检测节点到终点的代价。
算法流程
  • 建立列表:将初始位置加入开放列表,并检查与之相邻的8个节点,把其中可通行节点(除去障碍物和限行节点)加入到开放列表,并把初始位置设置为这8个节点的父节点,然后把初始位置从开放列表中删除,并将其加入关闭列表。
  • 选择移动节点:计算所有开放列表中节点的F值,选择其中最小的作为移动节点。
  • 计算最小消耗F=G+H:计算G时允许纵向(10)、横向(10)、斜向(14)移动;计算H时只允许纵向(10)和横向(10)移动,且不考虑障碍物(曼哈顿距离)。
  • 更新列表:将选中的节点从开放列表中移除,并加入到关闭列表中,接着检查与之相邻的可通行节点,如果节点不在开放列表中则将他们加入开放列表,并指定选中节点为其父节点;如果节点已经在开放列表中,则检查经过选中节点后F值是否会变小,若是,则重新指定父节点,若否,则不进行任何操作。
  • 选择移动节点:计算开放列表中所有节点的F值,选择其中最小的作为移动节点。
  • 更新列表:(循环)
  • 更新选中节点:(循环)
  • 循环过程:重复更新列表和更新选中节点两个步骤,直至重点位置出现在开放列表中。
  • 找到路径:从目标位置开始,沿着父节点指向,反向找回初始位置,即可得到路径。
  • 示例
    在这里插入图片描述
A*算法评价
  • 全局最优的路径规划
  • 对环境建模要求高,不仅要已知,还要网格化
  • 环境越复杂,每个迭代过程中需要维护的开放列表会越大

车辆行为决策

输入

  • 规划路径、驾驶情况(交通规则、路况)

输出

  • 车辆行为(速度保持、前车跟随、减速停车、驻车、主动变道)

状态机建立

  • 状态(每个状态对应一个车辆行为)
  • 转变(从一个状态到另一个状态)
  • 转变条件(状态发生转变需要符合的规则)
  • 状态动作(车辆行为的约束)
  • 示例
    在这里插入图片描述

运动路径生成

局部运动路径生成

静态障碍物
快速扩展随机树方法(RRT)
  • 随机树生长
    • 选择起点qs作为树的根节点,通过扩展叶节点的方式建立随机树。
    • 从随机树当前所有的叶节点中,选择一个距离qrand最近的节点,成为qnear,从qnear向qrand的方向延伸一个固定步长的距离,得到一个新的节点qnew,并以qnear为qnew的父节点,若qnew与障碍物发生冲突则放弃该节点,重复以上过程,直至qnew与目标距离足够小。
  • 路径反向搜索
    • 以距离目标位置最近的叶节点为起始,依次向上搜索父节点,则可获得一条从起始位置到目标位置的可行路径。 (注:和A*算法类似)
  • 伪代码
    在这里插入图片描述
  • RTT算法评价
    • 具有完备性
    • 计算量大,规划效率低
    • 规划路径不平滑
动态障碍物
人工势场法(APF)
  • 势场中的物体受到引力势场和斥力势场的综合作用,向势能最低处运动。
  • 势场的构建
    • 引力势场:势场大小与距离平方成正比,范围全局
    • 斥力势场:势场大小与距离平方成反比,范围局部
  • 势场力(势场负梯度)
    • 引力:方向从物体指向目标点
    • 斥力:方向从障碍物指向物体
    • 合力:物体在合力作用下,实时生成路径
  • APF算法评价
    • 在线规划,路径平滑
    • 只需考虑视野内的障碍物
    • 参数选择对效果影响较大
    • 会存在局部极小和徘徊现象

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

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

相关文章

05 网络信息内容安全--对抗攻击技术

1 课程内容 网络信息内容获取技术网络信息内容预处理技术网络信息内容过滤技术社会网络分析技术异常流量检测技术对抗攻击技术 2 对抗攻击概述 2.1 对抗攻击到底是啥? 咱们先举个生活例子: 你平时看苹果能认出来 —— 红颜色、圆溜溜、带个小揪揪。但如果…

【FPGA】VGA显示-贪吃蛇

这个项目实现了一个完整的贪吃蛇游戏,使用Verilog HDL在FPGA上构建。项目包含了VGA显示控制、按键消抖处理、游戏逻辑和图形渲染等多个模块,展示了数字逻辑设计的综合应用。 项目概述 该设计使用硬件描述语言实现了经典贪吃蛇游戏的所有核心功能&#…

从PostgreSQL到人大金仓(KingBase)数据库迁移实战:Spring Boot项目完整迁移指南

📖 前言 在国产化浪潮的推动下,越来越多的企业开始将数据库从国外产品迁移到国产数据库。本文将以一个真实的Spring Boot项目为例,详细介绍从PostgreSQL迁移到人大金仓(KingBase)数据库的完整过程,包括遇到…

Docker 入门指南:从基础概念到常见命令及高级工具详解

Docker 入门指南:从基础概念到常见命令及高级工具详解 大家好!今天我们来聊聊 Docker 这个强大的容器化工具。如果你是一个开发者、运维工程师,或者只是对云计算和容器技术感兴趣的人,Docker 绝对值得你深入了解。它可以帮助你轻松…

Redis数据持久化——RDB快照和Aof日志追加

Redis数据持久化数据持久化:将内存中的数据保存到磁盘中。作用:让Redis服务重启后可以恢复之前的数据。一、Redis数据持久化的方式:RDB(快照):将内存中Redis缓存的所有数据,都以二进制字符串的方…

浅聊达梦数据库物理热备的概念及原理

达梦数据库(DM Database)的物理热备份,核心是在数据库不中断业务(联机) 的前提下,通过对数据库物理文件(如数据文件、控制文件、日志文件等)的增量或全量复制,实现数据备…

C++ 中 ::(作用域解析运算符)的用途

C 中 ::(作用域解析运算符)的应用场景详解 在 C 中,:: 被称为 作用域解析运算符(Scope Resolution Operator),用于明确指定某个名字(变量、函数、类型等)所属的命名空间或类作用域&a…

鸿蒙中CPU活动分析:CPU分析

1 CPU分析的核心概念与重要性 CPU活动分析(CPU Profiling)是性能优化的核心手段,它通过测量代码执行时间,帮助开发者定位性能瓶颈。应用的响应速度直接影响用户体验,过长的加载时间或卡顿会导致用户流失 1.1 为什么C…

十大经典 Java 算法解析与应用

在 Java 开发的世界里,算法就如同构建大厦的基石,它们支撑着各种复杂应用的高效运行。无论是处理海量数据的排序,还是在庞大结构中精准查找信息,合适的算法都能大幅提升程序的性能。接下来,我们将深入解析十大经典的 J…

从感知机到大模型:神经网络的全景解析与实践指南

从感知机到大模型:神经网络的全景解析与实践指南在当今 AI 时代,我们身边的每一个智能应用 —— 从手机里的人脸识别、语音助手,到聊天机器人 ChatGPT、图像生成工具 MidJourney,再到自动驾驶的环境感知系统 —— 背后都离不开一个…

核心篇(下):Transformer 架构详解(程序员视角・实战版)

在上一篇 NLP 预处理文章中,你已经掌握了 “文本→向量” 的转化流程,解决了 DashScope Tokenizer 的调用问题。但此时你可能会问:“这些向量输入模型后,大模型是如何理解长文本语义的?比如‘小明告诉小红,…

FreeRTOS学习笔记(四):任务执行与切换

第一部分:FreeRTOS 任务是如何执行的? FreeRTOS 是一个抢占式的实时操作系统内核。其任务执行遵循一个核心原则:调度器(Scheduler)总是选择当前处于“就绪态”(Ready)的最高优先级任务来运行。 …

区块链技术探索与应用:从密码学奇迹到产业变革引擎

🌟 Hello,我是蒋星熠Jaxonic! 🌈 在浩瀚无垠的技术宇宙中,我是一名执着的星际旅人,用代码绘制探索的轨迹。 🚀 每一个算法都是我点燃的推进器,每一行代码都是我航行的星图。 &#x…

如何监控和调优JVM的内存使用情况?

监控和调优 JVM 内存使用是保障 Java 应用稳定性和性能的核心手段,需要结合监控工具、关键指标分析和针对性调优策略。以下是具体的实施方法:一、JVM 内存监控:工具与核心指标监控的目标是掌握内存使用趋势、GC 行为、线程状态等,…

把用户输进来的明文密码做一层 MD5 哈希

这一行干的就是:把用户输进来的明文密码先做一层 MD5 哈希,再把得到的 32 位十六进制字符串存到变量 password 里。 逐段拆开:password.getBytes() 把字符串转成字节数组,MD5 算法只能对字节/字节数组做运算。DigestUtils.md5Dige…

jeecg-boot3.7.0对接钉钉登录(OAuth2.0)

当前的jeecg-boot 是3.7.0前端问题:1.前端的路由vue-router的版本需要固定死。要不然会报page_not_found router the same.这种奇奇怪怪的问题。 就是把package.json的“^”,这个符号,删掉。(或者全局搜索,这个page no…

【C#】获取不重复的编码(递增,非GUID)

获取不重复的编码:从原始实现到高效优化本文针对软件开发中“为新对象分配唯一编码”的常见需求,以C#通信设备管理场景为例,从原始代码分析入手,逐步讲解基于LINQ和哈希集合的优化方案,帮助开发者理解不同场景下的最佳…

腾讯云人脸库技术架构深度解析

腾讯云人脸库技术架构深度解析人脸库是现代人脸识别系统的核心组件,负责海量人脸特征的高效存储、检索和管理。腾讯云在人脸库设计上采用了多项创新技术,本文将深入探讨其技术实现细节。一、人脸库核心架构腾讯云人脸库采用分层架构设计:应用…

Transformer图解指南:Attention机制动画演示

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,按量计费,灵活弹性,顶级配置,学生专属优惠。 Self-Attention矩阵运算 位置编码可视化 读者收获:理解大模型基石架构 Attenti…

工业网络安全:保护制造系统和数据

近年来,制造业数字化转型加速推进。自动化生产线、智能工厂和工业物联网设备已深度融入日常运营。这些进步在提升效率的同时,也暴露出新的安全漏洞。因此,工业网络安全已成为全球制造商的首要任务之一。与主要保护办公系统和客户数据库的传统…