基于车辆模型的横向控制方法

  • 1. 简介
    • 1.1. 无人驾驶车辆
    • 1.2. 横向控制和纵向控制
    • 1.3. 横向控制
      • 1.3.1. 无模型横向控制
      • 1.3.2. 基于模型横向控制
  • 2. 基于车辆运动学模型的控制方法
    • 2.1. 车辆运动学模型
    • 2.2. 纯跟踪控制算法
    • 2.3. 后轮反馈控制算法
    • 2.4. 前轮反馈控制算法
  • 3. 基于车辆动力学模型的横向控制
    • 3.1. 车辆线性二自由度动力学模型
    • 3.2. 车辆路径跟踪偏差状态方程的构建
    • 3.3. LQR 横向控制算法的求解
  • 4. 总结

1. 简介


1.1. 无人驾驶车辆

大到类似百度apollo无人车,无人配送车
小到扫地机器人,其实都是无人驾驶车辆
都是一个复杂的软硬件结合系统
其软件算法模块主要包含:感知、定位、轨迹预测、行为决策、运动规划 及 反馈控制

在这里介绍和补充的是 反馈控制部分
部分软件实现可参考:个人开源项目 path-following-control


1.2. 横向控制和纵向控制

反馈控制是无人车 最底层 的软件算法模块,包括:

  • 横向控制,主要用于车辆方向盘的控制
  • 纵向控制,主要用于车辆油门、刹车的控制

两者协同工作以 使无人车按照预定的参考轨迹行驶

其中,横向控制根据上层运动规划输出的 路径曲率 等信息进行跟踪控制,以减少跟踪误差
同时保证车辆行驶的 稳定性舒适性


1.3. 横向控制

根据横向控制使用车辆模型的不同,可以将其分为两种类型,包括:

  • 无模型 的横向控制方法
  • 基于模型 的横向控制方法

1.3.1. 无模型横向控制

无模型的横向控制即传统的 PID 控制算法
将车辆当前的 路径跟踪偏差 作为输入量
对跟踪偏差进行比例(Proportion)、积分(Integration)和微分(Differentiation)控制得到转向控制量
具体原理可以参考:PID控制的理解和应用

但该算法由于没有考虑车辆本身的特性
因此算法对外界干扰的鲁棒性较差,无法满足车辆在高速行驶过程中的有效控制


1.3.2. 基于模型横向控制

而其中基于模型的方法又可分为:

  • 基于车辆 运动学模型 的横向控制方法
  • 基于车辆 动力学模型 的横向控制方法

因此,将主要介绍包括:

  • 基于车辆运动学模型的纯跟踪控制(Pure Pursuit)算法
  • 后轮反馈控制(Rear wheel feedback)
  • 前轮反馈控制(Front wheel feedback)算法
  • 基于车辆动力学模型的线性二次型调节器(Linear Quadratic Regulator,LQR)控制算法

2. 基于车辆运动学模型的控制方法


2.1. 车辆运动学模型

基于车辆运动学模型的控制方法主要考虑了 车辆的运动学约束对车辆控制的影响

首先了解一下常见的车辆运动学模型:

平时见到的汽车属于 阿克曼转向,通常可以简化为两轮的自行车模型

其假设车辆的前后轮均为刚体,只能沿着车轮滚动的方向前进,无侧向滑动

由上述假设可得自行车模型的运动微分方程如下式:

角速度和角速度的关系:v=ωr,即 ω=v/r,因此这里 ψ˙\dot{\psi}ψ˙​ = v * tan(δδδ) / L
其他的比较简单,就不加以说明


2.2. 纯跟踪控制算法

纯跟踪控制算法(Pure Pursuit)是一种典型的横向控制方法
最早由 R. Wallace 在1985年提出,该方法对外界的 鲁棒性 较好

该算法的思想:
基于当前车辆 后轮中心 位置,在参考路径上向 llld (自定义)的距离匹配一个预瞄点
假设车辆后轮中心点可以按照一定的转弯半径

基于车辆模型的横向控制方法相关推荐

  1. 四轮独立驱动电动汽车转矩分配控制 CarSim与Simulink联合 三自由度车辆模型(纵向、横向、横摆)

    四轮独立驱动电动汽车转矩分配控制 CarSim与Simulink联合 三自由度车辆模型(纵向.横向.横摆) 控制方法为离散LQR(包括连续系统的离散方法和求解方法) 带有完整详细的控制器.二自由度稳定 ...

  2. 基于MPC 模型预测控制的轨迹跟随,横向控制模型,车道保持

    基于MPC 模型预测控制的轨迹跟随,横向控制模型,车道保持,simulink模型 采用二自由度车辆动力学模型,可以自定义车辆参数,自定义目标轨迹,图中为单移线目标轨迹与实际轨迹偏差 ID:485067 ...

  3. 4.5 自行车模型的横向动力学(第四章 车辆的动态建模)

    4.5 自行车模型的横向动力学 (Lateral Dynamics of Bicycle Model) 在前面的视频中,我们覆盖了汽车纵向动力学.在本课中,我们将涵盖基于自行车建模方法的四轮汽车的动态 ...

  4. 基于车辆运动学模型的纯跟踪(Pure Pursuit)法

    一.定义及概论 纯跟踪控制算法(Pure Pursuit)是一种典型的横向控制方法,最早由 R. Wallace 在1985年提出,该方法对外界的鲁棒性较好. 该算法的思想:基于当前车辆后轮中心位置, ...

  5. 四轮转向系统横摆角速度控制simulink仿真模型,利用滑模控制算法,基于八自由度车辆模型

    四轮转向系统横摆角速度控制simulink仿真模型,利用滑模控制算法,基于八自由度车辆模型,控制有比较好的效果,附参考说明. ID:29150640269337950ccboy123

  6. 《无人驾驶车辆模型预测控制》之基于动力学的MPC设计

    目录 写之前的话: 1. 车辆模型的建立 2. 车辆模型的线性化 ​ 3. 车辆模型离散化 4. 预测模型的建立 5.目标函数及约束 写之前的话: 前面我写到一些列的文章: <无人驾驶车辆模型预 ...

  7. 基于运动学模型的轨迹跟踪控制

    章四 基于运动学模型的轨迹跟踪控制 MPC(4)基于运动学模型的轨迹跟踪控制器设计 无人驾驶车辆模型预测控制(龚建伟)第四章 基于运动学模型的轨迹跟踪控制(仿真部分) 无人车辆在惯性坐标系中,车辆必须 ...

  8. MPC(3)常用车辆模型

    上一篇中介绍了,模型预测控制的理论方面基础,无人驾驶车辆采用MPC控制方法来进行相关控制的时候,就考虑结合车辆的运动学以及动力学的相关约束.而且,如果在路径规划阶段(Local Planner)就考虑 ...

  9. 路径跟踪—基于车辆运动学方程的离散时间LQR控制仿真

    文章目录 前言 一.运动学模型 二.建模仿真 总结 更新 前言 路径跟踪,轨迹跟踪的算法有基于运动学和基于动力学的,其中LQR算法基于车辆动力学网上有很多,毕竟百度开源了apollo,该算法通过简单改 ...

最新文章

  1. 关于CSS属性display:none和visible:hidden的区别
  2. Crossing Rivers UVA - 12230 概率与期望
  3. 【Accelerated C++】重点回顾
  4. 多元化思维其二:“马太效应”之道
  5. css打印适应纸张_从生态平衡到打印机故障分析
  6. css布局方式_收藏!40 个 CSS 布局技巧
  7. 百度编辑器 Ueditor 如何增加模板 ?
  8. cad渐开线齿轮轮廓绘制_如何在机械CAD软件中自动生成齿轮
  9. C++网络编程实例2(socket)
  10. 软件工程各种UML总结
  11. 计算机论文刊物发表,计算机论文发表流程
  12. 搞着玩:基于Spring Boot的企业CMS系统
  13. 干货满满!龙蜥社区Meetup走进龙芯圆满结束,5大技术分享精彩回顾
  14. python堆叠面积图_06. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图...
  15. 软件需求工程 高校教学平台 测试报告
  16. 小米/红米手机如何通过USB数据线把手机网络共享给电脑
  17. 【CSS3】---- 纯 css 控制 html5旋转音乐图标,控制背景音乐
  18. 输入圆的半径,计算圆的周长与面积
  19. 云计算专业防火墙混合模式应用实验
  20. 将多个k8s集群在同一台主机上使用kubectl进行管理

热门文章

  1. 2018年终总结——凡是过往,皆为序章
  2. filecoin/lotus 官方开发文件中文翻译2019.12.17最新版本
  3. python cpu count_Python multiprocessing.cpu_count方法代码示例
  4. 马氏快速记星座法——5分钟快速记忆星座和月份!超快!超准!超实用!
  5. 生成二维码API接口,免费好用
  6. C# LINQ TO SQL
  7. 电信融合机ip906h-fv2,线刷包(当贝桌面)
  8. Cuteftp连接虚拟机Centos7
  9. 【原】通俗说法所谓数码相机的“动态像素”和“静态像素”背后的故事
  10. HDLBits-Lemmings4