自动驾驶学习笔记(二十四)——车辆控制开发

【自动驾驶控制算法】 第一讲 绪论 声明【自动驾驶控制算法】系列是博主对所分享教学内容的学习笔记,并且该系列每篇博客都会将博主听课后总结的纸质版笔记附于文末,供大家参考。是一位研究汽车领域,无人驾驶方向及其相关方向的大佬,也算是博主在无人驾驶方向的启蒙老师。所以研究相关领域的朋友推荐去听一听他的视频讲解。... 阅读详情

#Apollo开发者#

学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:

 《自动驾驶新人之旅》免费课程—> 传送门

《Apollo开放平台9.0专项技术公开课》免费报名—>传送门

文章目录

前言

控制算法

控制标定

控制协议

控制代码

控制调试

控制评价

总结


前言

        见《自动驾驶学习笔记(十九)——Planning模块》

        见《自动驾驶学习笔记(二十)——Planning算法》  

        见《自动驾驶学习笔记(二十一)——自动泊车系统》

        见《自动驾驶学习笔记(二十二)——自动泊车算法》

        见《自动驾驶学习笔记(二十三)——车辆控制模型》

        自动驾驶中的控制模块,通过操作车上的油门、刹车和方向盘,让车辆达到目标的速度、航向和位置。主要包括横纵向控制、动力学标定表和CAN总线协议等若干部分,示例如下:

控制算法

        横纵向控制的总体流程,示例如下:

        横纵向控制常用的算法有如下三种,示例如下:

        上述算法的具体介绍参见见《自动驾驶学习笔记(九)——车辆控制》

控制标定

        如果被控车辆的底盘含有ADAS控制器(统管油门和刹车踏板),它只要获得一个加速度指令即可。如果车上没有ADAS控制器,就要把加速度进一步换算成油门和制动踏板的行程,该计算过程需要用到一个动力学标定表。

        动力学标定表一般通过车辆云标定来获取,是通过采集车辆底盘油门踏板量刹车踏板量、车辆速度、加速度作为车辆纵向动力模型的输入,通过机器学习的方式,生成相应车辆的踏板标定表生成的标定表数据量大,精度高,能提高车辆的控制精度。开发好的油门标定表和制定标定表,示例如下:

油门标定表
制动标定表

        上述动力学标定表通过一个查表函数的调用:

        Throttle_cmd or Brake_cmd = f(vx ,ax );

控制协议

        CANBus是车辆底盘和自动驾驶软件之间的桥梁,主要作用是反馈车当前的状态(航向,角度,速度等信息)至Apollo的上层软件模块,并且发送控制命令到车线控底盘。Apollo中集成了多款车的CAN总线协议,示例如下:

控制代码

        Apollo中控制模块代码的执行流程,示例如下:

控制调试

        控制模块的开发高度依赖于车辆底盘的具体参数,DreamView的SimContrl功能中暂时还没有集成,所以只能基于实车进行调试验证。但是Apollo提供了远程实时访问的功能,同时也提供了播包的功能,都可以通过DreamView的PnC Monitor功能进行信号分析,示例如下:

控制评价

        控制模块的开发的好与不好,可以通过这些指标进行评价:精确性(Steady State Error)、稳定性(Stability, Overshoot)、快速性(Rise time, Peak time)、鲁棒性(Robust)、成本,能耗,时延等等。

总结

        以上就是本人在学习自动驾驶时,对所学课程的一些梳理和总结。后续还会分享另更多自动驾驶相关知识,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

        另外,如果有同在小伙伴,也正在学习或打算学习自动驾驶时,可以和我一同抱团学习,交流技术。


        版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!

        文中部分图片来源自网络,若有侵权,联系立删。

自动驾驶之无人驾驶车辆与模型预测控制 无人驾驶车辆 无人车辆( Unmanned Vehicle),根据其行驶环境的不同,可以分为空中无人机( Unmanned Aerial Vehicle)、水面无人艇( Unmanned Surface Vehicle)、水下无人潜水器( Unmanned Underwater Vehicle)和地面无人车辆( Unmanned Ground Vehicle)。 补充: 遥操作无人车辆不等同于完全的遥控车辆,而是在自主行驶无人车辆基础上**,增加了人在回路的任务决策、环境感知与规划、控制等功能**,是一 阅读详情

相关推荐

自动驾驶不等于无人驾驶,无人驾驶的概念是什么

无人驾驶汽车是一种智能汽车,也可以称之为轮式移动机器人,主要依靠车内的以计算机系统为主的智能驾驶仪来实现无人驾驶。无人驾驶汽车集自动控制、体系结构、人工智能、视觉计算等众多技术于一体,是计算机科学、模式识别和智能控制技术高度发展的产物,也是衡量一个国家科研实力和工业水平的一个重要标志,在国防和国民经济领域具有广阔的应用前景。从20世纪70年代开始,美国、英国、德国等发达国家开始进行无人驾驶汽车的研究,目前在可行性和实用化方面都取得了突破性的进展。问答。...

神经网络爱好者 2819

自动驾驶-控制算法(一)

文章目录前言一、纯跟踪算法1. 车辆运动学模型2. 纯跟踪算法推导二、Stanley算法1.车辆运动学模型2.Stanley算法推导三、后轮位置反馈控制算法1.车辆运动学模型2.后轮位置反馈控制算法推导参考文献 前言 本篇文章主要记录自动驾驶控制算法学习中的一些基础的非模型优化的算法,包括纯跟踪算法(PurePursuit)、Stanley算法、后轮反馈控制算法。 一、纯跟踪算法 1. 车辆运动学模型 纯跟踪算法采用基于车辆后轴中心的运动学模型,此处假定后轮不转向。 模型中的符号和定义如下: AAA:

Shoulderc的博客 2394

无人驾驶车辆路径规划及轨迹跟踪控制学习笔记(2)

无人驾驶车辆路径规划及轨迹跟踪控制学习笔记

小兮学习日记 2587

10种自动驾驶规控算法解析与实现,你都知道吗?

规划控制是自动驾驶的核心模块之一,它是整个自动驾驶算法流程中最下游的模块,直接决定着自动驾驶的安全性及舒适度。自动驾驶的规划控制又细分为诸多模块,从导航地图中的路径规划开始,行驶过程中会根据感知与定位的信息不断做出变道或者跟车等不同的决策。根据上游决策的结果,运动规划模块实时输出舒适安全的轨迹信息以及速度、加速度和方向盘转角信息,交由控制模块执行。目前企业界的主流规控算法包括PID, LQR, ...

CV_Autobot的博客 5063

【无人驾驶】基于模型预测控制实现无人驾驶车辆运动规划和控制

在无人驾驶车辆的运动规划与控制中,生成有效且动态可行的路径是确保车辆安全行驶的核心问题。本文提出一种结合模型预测控制(Model Predictive Control, MPC)的路径规划方法。通过引入基于图结构的路径搜索策略,MPC可以高效实现无人驾驶车辆的轨迹跟踪与动态控制。仿真实验验证了该方法在复杂环境下的鲁棒性和优越性能。

2401_84610415的博客 1015

自动驾驶——自动控制方法总结

工程中所使用的PID算法原理和上述一致,但是会更具有工程性,考虑的因素更多,在学校里所学的P/I/D就三个参数,看起来很容易,很简单。实际上并不是如此,我们的pid参数会考虑不同的车速段查表啊、不同的转角差查表啊、不同的道路曲率查表啊、不同的偏离速度查表啊、不同的横向距离查表,总之是看实车的运行效果,是复杂点,但是很有效。笔者进入该行业不到一年,所接触的控制方法主要是PID算法,LQR算法笔者已经和同事一起开发出最初的版本,后续还要优化,在优化中,不断提高自己的工程能力和研发工程师应该具有的经验。.....

qq_40464599的博客 2696

自动驾驶控制算法——常见控制算法原理

本文介绍了三种常见的车辆横向控制算法。Pure Pursuit算法基于几何学原理,通过预瞄点和前轮转角控制消除横向偏差,本质上是一种P控制器。Stanley算法采用非线性反馈,结合航向误差和横向误差进行转向控制。LQR控制算法则通过状态反馈实现最优控制,其核心是求解Riccati方程获取最优控制量。三种算法各有特点:Pure Pursuit依赖预瞄距离,Stanley更直观但不适合高速,LQR能实现稳定最优控制但计算复杂。这些算法在自动驾驶系统中广泛应用,需根据具体场景选择合适的控制策略。

liumengxie的博客 4780

自动驾驶软件:Tesla Autopilot二次开发_8.车辆控制与执行

车辆控制与执行是自动驾驶系统中的关键部分,它负责将感知和规划模块生成的指令转化为实际的车辆动作。在这一节中,我们将详细介绍如何通过二次开发来实现对车辆的精确控制,包括车辆动力学模型、控制策略、执行器接口以及实时控制系统的实现。车辆动力学模型是自动驾驶控制的基础。一个准确的动力学模型可以帮助我们更好地预测车辆的运动轨迹,从而实现更精确的控制。它假设车辆的动力学特性是线性的,可以用简单的线性方程来描述。模型预测控制(MPC)是一种基于模型的控制策略,它通过预测未来一段时间内的状态来生成最优的控制序列。

zhubeibei168的博客 1445

手把手教你做python无人驾驶车辆控制之车辆运动学模型(一)

手把手教你做python无人驾驶车辆控制之车辆运动学模型(一)

未知艺术家的博客 1万+

MATLAB实现无人驾驶车辆模型预测控制

预测控制的理论框架主要包括预测模型、参考轨迹以及优化控制器三个部分。预测模型描述了系统在未来一段时间内随时间变化的行为,参考轨迹则为系统的期望输出。优化控制器负责计算当前时刻的最优控制序列,使得预测输出尽可能地跟随参考轨迹。预测控制的核心在于对未来一段时间内的系统行为进行预测,并在每个控制周期都进行一次优化,这使得预测控制具有良好的适应性和鲁棒性。与传统的PID控制相比,预测控制能够更好地处理时滞、非线性和多变量控制问题。在自动驾驶系统的决策制定中,成本函数是不可或缺的组成部分。

weixin_35752645的博客 800

无人驾驶车辆MPC控制算法程序完整实现

无人驾驶汽车的硬件系统集成是将多个复杂的硬件组件整合成一个高效协同工作的整体。这包括但不限于感知系统(如雷达、摄像头、激光雷达等),控制系统(如ECU、线控转向、线控制动等),计算平台(如GPU、FPGA、专用AI处理器等),以及通信模块(如V2X通信系统)。每一个组件都必须精确地执行其功能,并且与其他组件无缝集成,以确保整个系统的响应速度、精确度和可靠性符合安全标准。

weixin_32535825的博客 2037

北理工无人驾驶车辆模型预测控制第4、5章代码勘误

北理工无人驾驶车辆模型预测控制第4、5章代码勘误 以下内容为实际使用过程中发现的小问题,不代表原代码逻辑错误。 第4章 程序约束生成区域中 delta_umin=[0.05;-0.0082;]; 应改为: delta_umin=[-0.05;-0.0082;]; matlab2014版本之后删除了有效集法,可改用内点法计算。Matlab 2020a版本可以计算有效集法。 options = optimset('Algorithm','interior-point-convex');

weixin_44884651的博客 5401

深入理解无人驾驶车辆模型预测控制

随着无人驾驶技术的发展,车辆模型预测控制(Model Predictive Control, MPC)成为确保车辆安全和性能的关键技术。MPC融合了系统理论、优化算法和反馈机制,能够预测未来系统的行为,并针对可能出现的多种情形制定最优控制策略。本章将概述MPC在无人驾驶车辆中的应用,并探讨其在解决复杂控制问题中的潜力。MATLAB(Matrix Laboratory的缩写)是一个高性能的数值计算环境和第四代编程语言。

weixin_31659095的博客 1067

【无人车】无人驾驶车辆模型预测控制(Matlab代码实现)

无人驾驶车辆( Self-driving Vehicle)是地面无人车辆的一种,在未来智能交通系统中有着广阔的应用前景。不仅各大汽车厂商纷纷研发无人驾驶技术测试样车,互联网与移动通信公司也积极涉足这一领域。本章首先介绍无人车辆通用概念、无人驾驶车辆与无人车辆的关系,说明无人车辆的主要组成部分,即任务决策、环境感知、路径规划、路径跟踪与车辆平台控制子系统,总结了无人驾驶车辆的特点,最后介绍模型预测控制理论在无人驾驶车辆控制过程中的应用情况。

Yan_she_He的博客 1354

Xilinx FPGA 10G Ethernet Subsystem example

The 10G Ethernet subsystem provides 10 Gb/s Ethernet MAC, Physical Coding Sublayer(PCS) and Physical Medium Attachment (PMA) transmit and receive functionality over anAXI4-Stream interface.

青城扬沙的博客 2378

HC32F460的GPIO重映射实战:如何用3步搞定SPI引脚冲突问题

本文详细介绍了HC32F460的GPIO重映射功能,通过三步操作解决SPI引脚冲突问题。文章解析了HC32F460的FuncGroup功能分组机制,提供了具体的寄存器配置步骤和验证技巧,并对比了与传统方案的性能优势,帮助工程师灵活配置引脚,优化硬件设计。

t4y5u6i7o的博客 918

【无人车】无人驾驶车辆模型预测控制附Matlab代码

随着人工智能、计算机视觉、传感器技术以及高性能计算的飞速发展,无人驾驶技术正以前所未有的速度改变着未来的交通出行方式。作为无人驾驶系统中至关重要的一环,决策与控制模块承担着根据环境感知信息规划安全、高效且符合法规的行驶路径并精确执行的任务。在这其中,模型预测控制(Model Predictive Control, MPC)以其对未来动态的预测能力、处理多约束的灵活性以及优越的控制性能,在无人驾驶车辆的轨迹跟踪、路径规划和行为决策等领域展现出巨大的应用潜力,成为当前研究的热点和技术前沿。

Matlab245的博客 842

【5G】5G 核心网(5GC)基本架构

本文旨在科普5G核心网相关知识...

Learning makes me happy (0^◇^0) 4万+
上一篇: 自动驾驶学习笔记(二十三)——车辆控制模型
下一篇: 初始数字孪生
Mr.Cssust
Mr.Cssust 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
博客等级 码龄9年 8609粉丝 162原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Cssust

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值