规划系列的常见术语:龙格现象、控制点、型值点和插值点、规划控制的开环、闭环、前馈、反馈与重规划

news2025/5/22 14:06:12

参考b站大佬Ally的规划控制系列

1 龙格现象

1.1 初探龙格现象

龙格现象由德国数学家Carl Runge(卡尔·龙格)于1901年发现,龙格函数定义为:
f ( x ) = 1 25 x 2 + 1 f(x)=\frac{1}{25 x^{2}+1} f(x)=25x2+11
我们在 [ − 1 , 1 ] [-1,1] [1,1]区间按照0.1间隔将龙格函数的散点绘制出来,并利用MATLAB的polyfit函数分别用5次多项式、9次多项式、14次多项式及16次多项式进行拟合。
在这里插入图片描述

  • 当多项式的次数较低时,与散点的全局拟合效果较差;随着多项式次数增大,散点的局部拟合效果非常好,但是在靠近-1和1这两个端点时有较大振荡
  • 上述现象表明使用高次多项式拟合并不总是能提高准确性。随着多项式阶次的增加,以这种方式产生的多项式实际上可能偏离,通常发生在靠近插值点的端点。
1.2 龙格现象引发的多项式路径规划算法的思考

① 为了避免出现高阶多项式拟合时出现的龙格现象,通常使用多段样条曲线对散点进行插值
② 实际上,在B样条曲线中,我们已经接触过多段样条曲线进行插值的思想,B样条曲线通过基函数和节点向量的作用机制,一段完整的B样条曲线就是由若干段阶数更低的样条曲线首位相连而成
③ 样条函数属于分段光滑插值,其基本思想是在由两个相邻的型值点所构成的每一个小区间内用低次多项式来逼近,并且在各型值点的连接处又保证是光滑的(即导数连续)。
基于ST图进行分段五次多项式曲线速度规划思想,本质上也是为了避免龙格现象

2 规划/控制算法系列术语

2.1 控制点

在样条曲线中,用于约束曲线走势、控制曲线形状、且一般不位于曲线上的点称为控制点。
在这里插入图片描述

2.2 型值点

在求解参数曲线时,要求参数曲线必须经过的点统称为型值点。
在这里插入图片描述

2.3 插值点

若求解的参数曲线连续,在定义域内选取曲线上的若干散点可称为插值点。
在这里插入图片描述

3 规划控制的开环/闭环/前馈/反馈与重规划

3.1 案例

在这里插入图片描述
驾驶员高速公路控车过程

  • 当前路段道路限速100km/h,驾驶员控制车辆起步。刚开始由于车速较低,所以驾驶员深踩油门踏板。
  • 随着车速逐步接近目标车速,驾驶员根据当前车速与目标车速的差值,逐步缓抬油门踏板;
  • 当到达目标车速后,驾驶员轻踩油门踏板,并不时观察仪表车速,采取相应动作:如果车速超过目标车速,则松开踏板,依靠车辆惯性逐步减速;如果车速低于目标车速,则稍微增大油门,使其更加接近目标车速。
  • 按照上述过程持续一段时间后,前方遇到隧道,限速为80km/h。驾驶员当前目标车速随即降低,首先松开油门,驾驶员会优先判断依靠惯性减速是否可以在进入隧道前降低至80km/h,否则会直接踩制动踏板使车速快速降低。

在这里插入图片描述
开环、闭环及重规划

  • 当前路段的限速值是一个理想达到的速度值,它不在乎当前车速是否是否达到、何时达到100km/h,只是作为车辆期望达到的一个目标速度,这就是规划器的开环性
  • 驾驶员观察当前实际车速就好比控制器接收系统输出的反馈信号;深踩、轻踩油门踏板和制动踏板的过程就是控制器输出控制指令的过程;这就实现了驾驶过程的闭环控制
  • 当车辆快进入隧道时,限速发生变化,这表明规划器的目标车速也应当随即发生变化。由于规划的起点并不是上周期规划的终点,可理解为重规划。
3.2 规划器的开环性与控制器的闭环性

在这里插入图片描述
如图所示:在起点处,我们希望规划一条光滑的速度曲线,达到目标速度Vr,现有两种方案。
① 方案一是开环规划,如图中绿色曲线所示。在T0时刻,先规划T0 ~ T1的绿色速度曲线段,随后车辆立即响应指令。但由于执行误差,到达T1时刻后车辆速度为V1,未达到理想速度Vr1。开环速度规划不会局限于此周期实际速度到底有无达到规划速度,而是继续沿着上个周期末的规划结果,以Vr1为起点,继续规划T1~T2时间段的光滑绿色速度曲线。以此类推,从T0到T3的整个规划区间就是整条速率曲线,而实际速度响应为蓝色曲线。此方案优点是曲线更加光滑,满足最优性,缺点是未考虑系统的实际响应能力
② 方案二是闭环规划,如图中紫色曲线所示。既然是闭环,就需要引入实际速度。以T1时刻为例,由于此时V1≠Vr1,故此时以实际速度V1作为起点,重新规划一条从V1到Vr3的紫色速度曲线。同理,到达T2时刻后, V2≠Vr2’,故再次以V2作为起点,重新规划一条从V2到Vr3的紫色速度曲线。优缺点与开环相反。

哪种方案更优呢?实际上,两种方案在规控算法种都应该采用,只不过将他们进行了分工:
(1)在规划层,除了起点以及需要重规划的特殊场景外,都应采用开环,保证规划层在综合考虑众多约束条件下,求解最优速度曲线,即绿色曲线
(2)在控制层,引入实际速度,并与规划速度共同构造加速度的反馈分量,使速度能更及时响应规划的绿色曲线。

3.3 前馈+反馈的闭环控制器模型

规划层加速度的理解
规划层是开环的,不仅规划了速度,也规划了加速度,这个加速度从两方面进行理解。

  • 规划加速度也需要适当参考,因为它和规划速度共同反映了当前车辆需要达到的一种理想状态,控制模块以此作为理想目标,逐步趋近达成。
  • 另一方面,规划加速度不能直接用于指令输出给执行器。理由如下:如目标速度为60kph,此时速度为58kph,根据规划层的开环性可知,规划速度将首先
    达到60kph,此时对应的规划加速度为0。若直接将0加速度指令下发给执行器,当执行器完美响应时,则速度不再继续上升,因此最终实际车速永远停留在58kph。

加速度前馈与反馈

  • 将规划层输出的参考加速度做一个比例增益Gain1,其结果作为目标加速度指令的一部分。由于参考加速度直接由速度规划器输出,故称之为前馈加速度;
  • 为了解决系统稳态误差影响,将系统实际响应的速度与当前实际速度作差,并再增加一个比例增益Gain2,其结果作为目标加速度指令的另一部分。由于利用了系统实际响应反馈的速度,故称之为反馈加速度。

由加速度前馈和反馈共同构成了纵向控制模型
在这里插入图片描述

3.4 闭环控制的各种环

位置环
在这里插入图片描述
(1)一般来说,我们要求跟停前方静止车时,本车车头与前车车尾的距离控制在3~4m较为合适。因此,在所有驾驶场景中,动静态跟停场景对位置的控制要求相对最高。
(2)我们设主车在A0位置开始减速跟停,目标跟停位置距离前方B车的相对距离为Ls。
(3)将上述条件输入到速度规划器,可以输出满足安全性和舒适性要求的参考速度序列,车辆执行器接受相应指令后向前运动。
(4)经过单位周期后,车辆到达A1位置,距离目标位置还有L1的距离,根据上述条件,继续规划速度序列,不断循环往复,也就构成了最外层的位置环。

速度环
(1)在定速巡航等场景中,对位置控制要求较低,而对速度控制要求更高,故此时会产生速度环。
(2)将位置环中与目标位置相关的变量替换为与目标速度的变量,即可将该图整体替换为速度环的示意图。

加速度环
在起步加速至目标车速的过程中,尽可能以最大加速度(如 1.5 m / s 2 1.5m/s^2 1.5m/s2)不断靠近目标车速,这个过程常需要加速度进行精确控制,以期能够及时、足量产生加速度,此时则构成了加速度环。

3.5 规划器的重规划

在这里插入图片描述
绿色曲线表示规划的速度曲线,蓝色表示车辆实际响应速度曲线

  • 假设在T0~T1时刻,车辆正常巡航加速,实际响应速度曲线也在逐步加速。当到达T1时刻后,车辆突然遇到紧急情况,例如前车急减速、邻车道突然cut in,此时需要紧急规划减速。这种情况,我们期望车辆速度能立即按照紫色曲线那样响应减速。
  • T1~T2时间段,虽然规划速度在减小,但仍大于实际车速,导致控制层的反馈加速度为正,此时前馈加速度为负,但前馈与反馈加速度两者之和可能仍为正,这就导致最终车辆还会继续加速。
  • 因此,即使抛开系统时延和迟滞的影响,实际速度曲线仍会继续上升至V2,V3,这样就错过了减速的最佳时机,可能导致制动不足而与前车相撞
  • 因此在规划层,为了避免上述情况的发生,当识别到某种危险场景后,规划速度不再沿着上一周期的规划结果继续规划,而是直接从当前车速进行规划。如图2所示:绿色虚线表示识别到某种危险场景后规划的曲线,T1时刻规划速度发生跳变,从Vr1跳变到V1开始规划。如此一来,最终实际车速响应可能就类似按照T1之后的蓝色曲线。
    在这里插入图片描述

重规划就是针对一些特殊场景,需要尽可能降低系统时延和迟滞带来的加速或制动响应不足的问题

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

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

相关文章

MNN createRuntime(二)

系列文章目录 MNN createFromBuffer(一) MNN createRuntime(二) MNN createSession 之 Schedule(三) MNN createSession 之创建流水线后端(四) MNN Session::resize 之流水线编码&am…

后端开发要不要转鸿蒙?

看到一条很有意思的提问,互联网太卷了,熬过了2023才发现,2024更难熬!只因行业发展多年,人才过度饱和!那后端的出路在哪里? 我推荐大家学【鸿蒙应用开发】新兴行业需求大,各大厂都在…

AI大模型智能大气科学探索之:ChatGPT在大气科学领域建模、数据分析、可视化与资源评估中的高效应用及论文写作

本文深度探讨人工智能在大气科学中的应用,特别是如何结合最新AI模型与Python技术处理和分析气候数据。课程介绍包括GPT-4等先进AI工具,旨在帮助大家掌握这些工具的功能及应用范围。本文内容覆盖使用GPT处理数据、生成论文摘要、文献综述、技术方法分析等…

camunda流程引擎事务管理和乐观锁

本文重点介绍camunda开源流程引擎的事务配置,以及在高并发多线程情况下,可能会发生多个线程尝试对相同流程实例数据进行更改的情况,Camunda如何通过数据库的乐观锁解决这种并发冲突的,并介绍了乐观锁和悲观锁的适用场景、性能影响…

MySQL数据库概念及安装

一、数据库的基本概率 1.1 数据 记录每个人的信息 或者记录数据 1.2 表 存放信息的集合 或者存放行和列的信息 1.3 数据库 表的集合 二、数据库管理系统(DBMS) 2.1 DBMS定义 (DBMS)是一种软件,用于创建和管理…

【Python脚本随手笔记】 --- 复制文件并修改权限

💌 所属专栏:【Python脚本随手笔记】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…

HarmonyOS 通知意图

之前的文章 我们讲了 harmonyos 中的 基础和进度条通知 那么 今天 我们来说说 任何给通知添加意图 通知意图 简单说 就是 当我们点击某个通知 如下图 然后 就会拉起某个 应用 就例如说 我们某个微信好友发消息给我们 我们 点击系统通知 可以直接跳到你们的聊天界面 好 回到…

Vue+SpringBoot打造民宿预定管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

VsCode中高效书写Vue3代码的插件

Vue-Official(原Volar) 就是原先的Volar,现已弃用。 Vue-Official 提供的功能: 语法高亮: Vue-Official 扩展可以为 Vue 单文件组件(.vue 文件)中的 HTML、CSS 和 JavaScript 部分提供语法高亮&#xff…

linux系统------------Mysql数据库

目录 一、数据库基本概念 1.1数据(Data) 1.2表 1.3数据库 1.4数据库管理系统(DBMS) 数据库管理系统DBMS原理 1.5数据库系统(DBS) 二、数据库发展史 1、第一代数据库 2、第二代数据库 3、第三代数据库 三、关系型数据库 3.1关系型数据库应用 3.2主流的…

Echo服务器学习__01(基础)

ASIO是一个跨平台,主要用于实现异步网络和其他一些底层I/O操作的C库 可以基于ASIO实现Echo服务端,在这之前,学习一些基础的知识和概念 ​ 1:IO多路复用 简单的来说,一个线程同时监听多个I/O事件就是I/O多路复用。任…

⭐北邮复试刷题1793. 好子数组的最大分数___(基于快排的划分思想/基于快排的划分思想的优化过程/基于贪心的双指针操作)__每日一题

Problem: 1793. 好子数组的最大分数 文章目录 思路Code: 思路 法一: 基于快排的划分思想 1.即开始为拿到数组全部 计算分数 后来对每次找到的min值的下标左右两侧进行划分 即将min去掉 从而可以构建出两个新数组; 2.对新数组继续计算分数 与前一次比较取最大 接着继续找到min值…

51、CR-GCN:EEG通道拓扑结构+脑功能连接捕获EEG通道关系,用于情感识别[我处理的是原始EEG数据哦]

文章: CR-GCN: Channel-Relationships-Based Graph Convolutional Network for EEG Emotion Recognition 单位: 上海大学计算机学院、上海工业计算机、喀什大学计算机学院。提出CR-GCN,使用GCN的邻接矩阵提取情感数据中的特征用于分类。 2…

云计算太卷了,腾讯云服务器一年61元起,2核2G3M配置

腾讯云服务器多少钱一年?61元一年起。2024年最新腾讯云服务器优惠价格表,腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…

Flutter开发入门——路由

什么是路由? 移动端应用开发中,路由技术是一个非常重要的组成部分。路由技术负责管理应用中各个页面之间的跳转、导航以及参数传递等关键功能。在移动端应用中,一个高效、易于维护的路由系统对于提高开发效率和用户体验具有重要意义。 Flut…

AndroidLinux GPIO控制方法

目录 1 GPIO整体架构 2 user space 层 gpio使用方法 2.1 sysfs控制方法 2.1.1 kernel版本区别 2.1.2 /sys/class/gpio 2.1.3 /sys/bug/gpio/devices 2.2 chardev控制方法 2.2.1 chardev 示例代码 2.2.2 示例代码主要步骤描述 2.2.3 include/linux/gpio.h 全部代码 2.3…

代码随想录算法训练营第四十三天|卡码网52. 携带研究材料(第七期模拟笔试)、518. 零钱兑换 II、377. 组合总和 Ⅳ

卡码网52. 携带研究材料(第七期模拟笔试) 刷题https://kamacoder.com/problempage.php?pid1052文章讲解https://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85.…

STM32通信协议

STM32通信协议 STM32通信协议 STM32通信协议一、通信相关概念二、通信协议引脚作用三、通信方式四、采样方式五、电平信号六、通信对象 一、通信相关概念 通信接口 通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统 通信协议:制定…

sqlserver字段2按字段1分组后;合并字段2

效果 相同dzbm的mc通过‘;’合并 sqlserver语句 按字段dzbm分组,有相同dzbm的mc通过 ;合并成一个字段,其它字段都选择第一个 SELECT dzbm, STUFF((SELECT DISTINCT ; + mc FROM tablenameWHERE dzbm = p.dzbm FOR XML PATH()), 1

Json Web Token(JWT) 快速入门

推荐视频:【从零开始掌握JWT】 目录 第一章 会话跟踪 01 使用Cookie和Session,jsessionid 02 使用token 例子一:自定义token 例子二:使用redis存储token 第一章 会话跟踪 应用背景 :浏览器访问web应用&#xff…