无人驾驶实战-第十一课(控制理论)

news2024/9/24 17:46:32

在七月算法上报了《无人驾驶实战》课程,老师讲的真好。好记性不如烂笔头,记录一下学习内容。 课程入口,感兴趣的也可以跟着学一下。

—————————————————————————————————————————

无人驾驶中控制系统的输入与输出

 

控制系统在无人驾驶系统中的位置

CANBus

车辆底盘交互协议(由车厂来决定),包括Chassis(底盘) 、速度、四轮转速、健康状况、底盘报错、自动驾驶状态

控制的任务

Planning的轨迹信息,不同环境下的轨迹跟踪(雨雪、陡坡、石头路)。保证车辆可行性,保证车辆舒适性,实时性要求高(100Hz)

控制系统为什么重要?

控制是对车辆油门、刹车、方向盘的精细控制,是安全行驶的最后关卡,克服外界各种不确定性环境因素(风速、湿滑)  

控制模块:让车辆在既定轨迹上平稳运行的学问,控制问题很复杂,是一套严格的数学分支

控制系统的预处理

数据清洗:不正常信号、planning异常值 

合理性检查:定位信息、车辆底盘信号 

紧急处理:前方突然出现障碍物(Emergency Stop) 

信号Smooth:去除信号噪声、Lag Compensation

控制系统的后处理

Saturation/Limitation 处理:执行器的固有缺陷补偿 

信号Smoothing:简单的平滑处理和异常检查

ontroller 控制器设计:建模,系统参数辩识,控制观测器设计,参数Fine Tuning

控制系统:消除数学模型和物理模型差异性的过程 

对于无人车: Stability:稳定性,对于任何环境的都需要稳定(安全);稳态误差:尽可能小,保证执行上层命令;动态误差:在动态工程中也需要保证很多性能。

制的理论基础

时间域(Time Domain):超调量、超调时间、稳态调整时间(整体时间)、上升时间

频率域(Frequency Domain):通过频率(Pass Band)、停止频率(Stop Band)、带宽、截止频率

离散域(z变换)

拉普拉斯变换:时域 → 频域

傅立叶变换(FT,FFT)

控制系统三域是可以相互变换的,不同领域对特定的需求有不同的解法。控制算法也正对不同域有不同的优势,扩展了人对物理系统的深刻理解。

PID

最简单但是应用最广最有效的控制器,任何模型都可以,反馈控制,输入可以是速度、位置等。

P:proportional。比例跟误差成正比,误差越大,作用越强 容易出现震荡,无法收敛。越靠近目标,应该作用越小,才能稳定。注意在误差是0的时候,控制器的输出也是0。

D:derivative 微分。阻尼项,减少控制器输出的变化率。考虑将来误差,计算误差的一阶导,并和一个正值的常数相乘,微分控制可以提升整定时间及系統稳定性。

I:integral 积分。纠正系统累计偏差,缩小稳态误差。考虑过去误差,将误差值过去一段时间和(误差和)乘以一个正值的常数,积分控制会加速系統趋近设定值的过程,并且消除纯比例控制器会出现的稳态误差。

PID控制器是世界上最好用的控制器,需要的信息少:当前状态、目标。无人车里面用于控制转向和加速度。

PID是线性控制器 复杂系统是不够的:四轴飞行器、多自由度机器人 依赖于实时误差,不能有测量时延

位置式:输出控制量大小的实际值 

增量式: 输出只是控制量的增量 递推式算法 

无人车的应用: 速度使用的是位置式 方向盘使用的位置式

串联控制:改善控制质量的有效方法,应对多变量控制和多干扰项。外环控制器的输出作为内环控制器的设定值,内环控制器的输出去操纵控制阀、

复杂控制器设计

控制任务:按照Planning要求到达目标,适应不同路况,适配不同车型 

动力学建模:横向模型和纵向模型 

控制器设计:横向控制和纵向控制

模型表征一个车辆的物理特性, 评估每一个控制输入应用于车辆后会发生什么

小误差模型

横向动力学模型:Heading误差,横向误差

系统辨识模型

模型有些参数式不知道的,需要确定系统模型,这个叫系统辨识。系统辩识:通过实验的方法采集参数;White Box:汽车大多是白箱辩识;Black Box:有点像神经网络;Grey Box。 Learning-Based 方法 机器学习

最优控制理论

Optimal Control:给定一个系统和环境扰动,根据需求条件(Objective),实现最优的控制量决策。

复杂度从左往右递增, 精准度从左往右递增。

LQR(线性二次调节器)

LQR = linear quadratic regulator

基于模型的控制器 :通过车辆状态和模型推理,使得误差最小,可用于设计横向控制器。

状态X: 横向误差及其变化率,Heading误差及其变化率

控制量U: 方向盘、油门、刹车

LQR 状态方程:线性等式(L)。尽可能减少误差,同时使用最小的输入量U。这样做可以做到省油、平滑等特性。

Cost 函数 Q和R为正定矩阵

MPC(模型预测控制)是更为复杂的控制器。

基本步骤: 1.建立模型;2.计算有限时间范围内的最优控制输入;3.执行第一组控制输入 

迭代优化的思想: 先计算一系列的控制输入并优化该序列输入;执行第一组控制输入;循环执行上面两步 

LQR VS MPC:LQR针对固定的时间区间(一般为无限长时间)进行最佳化,而MPC针对不同的时间区间分别进行最佳化

模型、约束、优化结合

MPC控制流程图 

预测系统,车辆动力学模型, 滚动优化,反馈矫正。

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

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

相关文章

1、如何实现两台电脑之间数据相互读写

一、确保两台电脑在同一个局域网中,可以使用网线【动态配置】进行两台电脑互连。 二、静态配置: 将IP地址和网关设为192.168.0.1,目的是让这台电脑做另一台电脑的网关,子网掩码一点击会自动添加。第二台电脑同样打开设置,此处IP地…

[oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J

光标位置 回忆上次内容 上次了解了键盘演化的过程 ESC 从 组合键到 独立按键 ESC的作用 是 进入 控制序列配置 控制信息控制信息 \033[y;xH 设置光标位置\033[2J 清屏 这到底怎么控制???🤔谁来实现这些功能? 控制…

【大数据】Flink 详解(二):核心篇 Ⅱ

Flink 详解(二):核心篇 Ⅱ 22、刚才提到 State,那你简单说一下什么是 State。 在 Flink 中,状态 被称作 state,是用来保存中间的计算结果或者缓存数据。根据状态是否需要保存中间结果,分为 无状…

【Linux】网络基础1

文章目录 网络基础11. 计算机网络背景1.1 网络发展 2. 认识协议2.1 网络协议2.2 OSI七层模型2.3 TCP/IP五层(或四层)模型 3. 网络传输基本流程3. 1 数据报封装和分用 4. 网络中的地址管理4.1 认识IP地址 5. 认识MAC地址 网络基础1 1. 计算机网络背景 1…

(番外篇)Michael.W基于Foundry精读Openzeppelin第22期——内联汇编staticcall

(番外篇)Michael.W基于Foundry精读Openzeppelin第22期——内联汇编staticcall 0. 版本1. 关于内联汇编staticcall2. foundry代码验证2.1 目标合约2.2 返回数据字节长度为322.3 返回数据字节长度为642.4 返回数据为动态数组 0. 版本 [forge-std]&#xf…

腾讯云COS的快速接入

背景 最近在研究一个剪贴板粘贴工具,实现粘贴图片,返回可访问的地址,这个在我的哔哩哔哩上有出一期视频🤭。但是,我发现部分博客平台不能正常的转载我的图片链接,于是研究了一下腾讯云的COS(阿…

MySQL数据库面试题:如何优化呢?

文章目录 优化字段类型的选择优化索引的使用优化SQL语句事务与隔离级别并发事务的问题与解决undo log和redo log的区别事务的隔离性与MVCCMySQL主从同步原理分库分表的经验水平分库的应用 在数据库开发中,创建表是一个至关重要的步骤,优化设计可以显著提…

【非欧几里得域信号的信号处理】使用经典信号处理和图信号处理在一维和二维欧几里得域信号上应用低通滤波器研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

遍历集合List的五种方法以及如何在遍历集合过程中安全移除元素

一、遍历集合List的五种方法 测试数据 List<String> list new ArrayList<>(); list.add("A");list.add("B");list.add("C");1. 普通for循环 普通for循环&#xff0c;通过索引遍历 for (int i 0; i < list.size(); i) {Syst…

《UNUX环境高级编程》(14)高级I/O

1、引言 2、 非阻塞I/O 系统调用分为两类&#xff1a;低速系统调用和其他系统调用。低速系统调用是可能会使进程永远阻塞的一类系统调用&#xff0c;包括&#xff1a; 如果某些文件类型&#xff08;如读管道、终端设备和网络设备&#xff09;的数据并不存在&#xff0c;读操作…

国产低功耗蓝牙HS6621CxC/6621Px系列支持Find My网络功能方案芯片

目录 什么是“Find My“&#xff1f;HS6621系列简介 什么是“Find My“&#xff1f; “Find My”是苹果公司于19年前推出的针对失物追踪&#xff0c;Find My iPhone&#xff08;查找我的iPhone&#xff09;和Find My Friends&#xff08;查找朋友&#xff09;的结合体应用。为…

【CSS3】CSS3 动画 ④ ( 使用动画制作地图热点图 )

文章目录 一、需求说明二、动画代码分析1、地图背景设置2、热点动画位置测量3、热点动画布局分析4、动画定义5、小圆点实现6、波纹效果盒子实现7、延迟动画设置 三、代码示例 一、需求说明 实现如下效果 , 在一张地图上 , 以某个位置为中心点 , 向四周发散 ; 核心 是实现 向四周…

go-zero 是如何做路由管理的?

原文链接&#xff1a; go-zero 是如何做路由管理的&#xff1f; go-zero 是一个微服务框架&#xff0c;包含了 web 和 rpc 两大部分。 而对于 web 框架来说&#xff0c;路由管理是必不可少的一部分&#xff0c;那么本文就来探讨一下 go-zero 的路由管理是怎么做的&#xff0c…

速卖通,国际站店铺想要增加曝光,提升销量,测评补单有效果吗?

作为一个卖家&#xff0c;成功运营速卖通店铺需要一系列的策略和技巧 1.借助平台的力量对于成长期的店铺来说&#xff0c;平台本身是最大的流量来源。如何从平台那儿获取更多的支持则成为这个阶段最重要的难题。以速卖通为例&#xff0c;经过反复测试&#xff0c;平台给普通卖家…

LeetCode练习习题集【4月 - 7 月】

LEETCODE习题集【4月-7月总结】 简单 数组部分 1.重复数 题目&#xff1a; 在一个长度u为 n 的数组 nums 里的所有数字都在 0&#xff5e;n-1 的范围内。数组中某些数字是重复的&#xff0c;但不知道有几个数字重复了&#xff0c;也不知道每个数字重复了几次。请找出数组中…

蛋糕小程序商店制作攻略教程分享

想要开发一个蛋糕小程序商店&#xff0c;可以通过以下步骤进行操作&#xff1a; 1.首先&#xff0c;我们需要注册登录账号&#xff0c;进入操作后台。找到并点击【商城】中的【去管理】进入商城的后台管理页面。然后再点击【小程序商城】模块中的【去装修】进入小程序商城的制作…

【torch.nn.PixelShuffle】和 【torch.nn.UnpixelShuffle】

文章目录 torch.nn.PixelShuffle直观解释官方文档 torch.nn.PixelUnshuffle直观解释官方文档 torch.nn.PixelShuffle 直观解释 PixelShuffle是一种上采样方法&#xff0c;它将形状为 ( ∗ , C r 2 , H , W ) (∗, C\times r^2, H, W) (∗,Cr2,H,W)的张量重新排列转换为形状为…

网络安全 Day28-运维安全项目-加密隧道

运维安全项目-加密隧道 1. 加密隧道服务概述2. openVPN应用场景3. 虚拟机环境准备3.0 准备知识3.1 添加网卡![请添加图片描述](https://img-blog.csdnimg.cn/f155ca2804d84118b89a69da3688911e.png)3.2 配置内网&#xff08;LAN区段)3.3 虚拟机选择LAN区段3.4 书写eth1网卡配置…

力扣hot100刷题记录

二刷hot100&#xff0c;坚持每天打卡&#xff01;&#xff01;&#xff01; 1. 两数之和 // 先求差&#xff0c;再查哈希表 public int[] twoSum(int[] nums, int target) {Map<Integer,Integer> map new HashMap<>();for(int i 0;i<nums.length;i){int key …

UE Mesh Generation and Editing at Runtime

UE Mesh Generation and Editing at Runtime 虚幻运行时和编辑器下生成和编辑 网格体。 UE Mesh 虚幻中常用的三种网格体 UProceduralMeshComponent 程序化网格体 UStaticMeshComponent 静态网格体 USimpleDynamicMeshComponent 动态网格体 借用他人总结的&#xff0c;UE4…