算法科普——运动学LMPC和动力学LMPC之间的区别与联系

发布时间 - 2025-07-11 00:00:00    点击率:

在上一期的算法科普中,我已经探讨了lmpc的发展历程。然而,上一期并未深入探讨lmpc的各种分支,因此本期将重点介绍两种运动学层面的lmpc控制器和一种动力学层面的lmpc控制器。

一种常见的运动学层面的LMPC控制器的预测模型是直接对运动学模型进行雅克比线性化处理,如[1]中所述:

另一种运动学层面的LMPC控制器的预测模型则是通过对车辆或移动机器人的运动学模型进行几何推导获得,如[2]中所述:

而[3]中则为:

这些预测模型的共同点是通过当前误差来预测未来误差,因此在速度较快或参考路径曲率变化幅度较大时,性能会有所下降,如[4]中所述的高速情况:

动力学层面的LMPC控制器的预测模型通常如[1]中所述:

或如[5]中所述:

[5]中的模型与[2-3]中的运动学预测模型具有某些相似特征,都是非全局的车身坐标系下的模型。

上述动力学模型与运动学模型存在一些差异,运动学模型以误差作为状态量,而动力学模型则可以直接以车辆的车身坐标等状态作为状态量。这种差异的原因是,如果运动学模型以车身坐标等状态作为状态量,那么A矩阵的二次至N次方均为零矩阵,即预测模型在第二个预测步数以后会严重失真,甚至可能导致控制失败。

动力学层面的LMPC控制器的预测模型具有的这一特征,使得它能够先预测未来的状态,然后根据预测获得的状态和参考路径计算未来的误差,从而避免了运动学层面的LMPC控制器只能通过当前误差预测未来误差的局限性。然而,也需要认识到,除了[5]中提到的轮胎参数会影响预测的精确性外,小角度假设(即假设sinφ=φ,cosφ=1)等线性化过程在预测时域较长时也会产生较大的影响。

参考文献:

[1] 龚建伟, 姜岩, 徐威. 无人驾驶车辆模型预测控制[M]. 北京理工大学出版社, 2014.

[2] Bai G, Meng Y, Liu L, et al. Review and comparison of path tracking based on model predictive control[J]. Electronics, 2019, 8(10): 1077.

[3] Nayl T, Nikolakopoulos G, Gustafsson T. A full error dynamics switching modeling and control scheme for an articulated vehicle[J]. International Journal of Control, Automation and Systems, 2015, 13(5): 1221-1232.

[4] Bai G, Liu L, Meng Y, et al. Path tracking of mining vehicles based on nonlinear model predictive control[J]. Applied Sciences, 2019, 9(7): 1372.

[5] 王国栋, 刘洋, 李绍松, 等. 基于轮胎状态刚度预测的极限工况路径跟踪控制研究[J/OL]. 自动化学报:1-11 [2025-09-15]. https://www./link/cb38763404fb5d36d5f4759acc5ec84a.


# linux  # ai  # switch  # 区别  # cos  # red  # for  # Error  # 算法  # https  # 自动化  # 所述  # 线性化  # 未来  # 这一  # 会有  # 也会  # 则是  # 两种  # 均为  # 第二个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Windows Hello人脸识别突然无法使用  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  如何快速搭建高效WAP手机网站?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  如何在搬瓦工VPS快速搭建网站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  jquery插件bootstrapValidator表单验证详解  如何安全更换建站之星模板并保留数据?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  北京网站制作的公司有哪些,北京白云观官方网站?  如何在Windows服务器上快速搭建网站?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  如何在 React 中条件性地遍历数组并渲染元素  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  如何选择可靠的免备案建站服务器?  大同网页,大同瑞慈医院官网?  Firefox Developer Edition开发者版本入口  用yum安装MySQLdb模块的步骤方法  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  如何在不使用负向后查找的情况下匹配特定条件前的换行符  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  详解vue.js组件化开发实践  nginx修改上传文件大小限制的方法  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Java类加载基本过程详细介绍  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  WEB开发之注册页面验证码倒计时代码的实现  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  javascript中闭包概念与用法深入理解  QQ浏览器网页版登录入口 个人中心在线进入  JavaScript如何实现路由_前端路由原理是什么  高防服务器:AI智能防御DDoS攻击与数据安全保障  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何在阿里云购买域名并搭建网站?  Laravel如何优化应用性能?(缓存和优化命令)  魔方云NAT建站如何实现端口转发?  Laravel如何实现文件上传和存储?(本地与S3配置)  如何在万网主机上快速搭建网站?