智能驾驶进阶8——控制

控制理论

简介

Apollo自动驾驶框架的基本结构
在这里插入图片描述

  • 控制的输入主要来源于规划模块以及反馈阶段信息(如localization和HD Map)
  • 控制的输出是控制指令,与canbus进行交互
    • canbus 车辆交互标准
  • 控制模块也会从底层车辆得到反馈信号(车辆本身in vehicle reference frame:速度信息、四轮转速信息、车辆健康状况信息、底盘是否报错信息、危险信息)
  • simulated model,车辆的运动学和动力学模型,控制模块如果是基于模型的控制算法的话,需要首先对车辆建模,同时仿真中需要车辆在环。

控制模块

在这里插入图片描述

  • 预处理——控制器——后处理

  • 预处理

    • 对输入信号的检查,对不正常信号的过滤
    • 做一些紧急处理
    • 做一些滤波操作,例如信号的平滑等
  • 控制器

    • 模型建立
    • 系统识别和分析
    • 控制器观测器设计以及参数调优等
  • 后处理

    • 将信号发送给执行器(限制的处理以及信号滤波)
      • 油门、刹车、转向这种执行器本身有上下限、滞后(回滞曲线),所以需要对信号进行一些相关处理。
  • 控制:在车辆允许的条件下让车辆尽可能按照规划的技术路径走,弥补数学模型和物理世界执行之间的不一致性。

    • 稳定性,包括所有场景下的车辆行为稳定和安全
    • 稳定状态的行为,减少或者消除规划和实际车辆行为的差别
    • 瞬时状态的行为,避免超过(比如图内曲线超过峰值)或者非收敛的(如c、d图)
      在这里插入图片描述
  • 判断自动驾驶系统是否满足性能要求

    • 时域:输出在时间轴上要满足的要求

      • steady state gain
      • rising time
      • setting time:达到终值的±2%或者5%
      • overshoot:瞬态方向时的超调量(通过设计调整使最大最小都不超过峰值)
      • undershood在这里插入图片描述
    • 频域

      • X轴是输入频率,Y轴是输出和输入的比例,理想状态Y值为1
      • pass band
      • cutoff frequency在这里插入图片描述
    • 离散域

    • 对系统来说,在time domain跟frequency domain中的系统需求是可以等价转换的。系统在时域中的要求、响应、数学表达跟频域是可以相互对应的。

    • 其他指标

控制器

  • 如何设计好的控制模块
    • PID控制器,具有通用性
    • 基本原理
      • U是参考量,它和反馈信号之间的差距用error 表示,即图中的e。比例控制P的意思是该控制量与误差成比例,用Kp*e(t) 表示。当Kp比较小的时候,接近终值的速度会非常慢,如右图的红线所示,但是它有超调与undershoot现象。当Kp设置比较大时,则达到稳态速度变快,但会超调,如右图紫色曲线所示。如果系统中存在损耗,比如汽车上坡的动力或者摩擦损耗,使得比例控制每次增加的控制量就等于或者小于损耗时,出现稳态误差,这就是引入积分控制的目的,它可以将之前的误差进行积分,消除稳态误差。而微分控制的目的是使系统更快的从瞬态转化为稳态。系统的控制量就是P+I+D三项的和。

基于模型的控制方法

  • PID控制由比例单元P、积分单元I和微分单元D组成。
    • 基础是比例控制
    • 积分控制可消除稳态误差,但可能增加超调
    • 微分控制可加快大惯性系统响应速度以及减弱超调趋势

建模

  • 分析建模
  • 拟合建模
  • 模型
    • 动力学模型:控制
    • 运动学模型:几何模型,感知、预测

系统辨识

  • 确定未知参数的三种方法
    • 白盒:对于基于第一原理(如牛顿定律)的模型结构,可以由测量数据估计模型的参数。
    • 灰盒:用于只有部分模型结构可知,通过数据重建的方法来获取模型的其它部分的方法。
    • 黑盒:模型结构和参数都在未知的情况下,只能通过输入输出数据来估计的方法。
  • 基于学习的系统辨识方法

控制器设计

  • 步骤
    • 滤波器设计
      • 线性与非线性
      • 数字滤波与模拟信号滤波
      • 离散滤波和连续滤波
      • 对频域信号细分为低通滤波和高通滤波
      • 根据实现方式,分为高斯滤波、卡尔曼滤波、贝叶斯滤波(预测、跟踪)
    • 控制器设计
    • 观察器设计
### 智能驾驶路径规划的技术综述 #### 路径规划的重要性 在自动驾驶领域,路径规划是一项核心功能,它决定了车辆如何从起点到达终点。路径规划不仅涉及几何学上的轨迹设计,还需要考虑动态环境下的安全性、舒适性和效率。为了实现这些目标,路径规划通常分为全局路径规划和局部路径规划两部分。 #### 全局路径规划 全局路径规划主要负责计算从起始位置到目的地的大致路线。该阶段利用地图数据(如高精地图)和其他先验信息完成静态路径的设计。常见的算法包括A*算法、Dijkstra算法及其变体。例如,在复杂的城市环境中,A*算法因其高效性和灵活性而被广泛采用[^2]。 ```python def a_star(start, goal, graph): open_set = {start} came_from = {} g_score = defaultdict(lambda: float('inf')) g_score[start] = 0 f_score = defaultdict(lambda: float('inf')) f_score[start] = heuristic_cost_estimate(start, goal) while open_set: current = min(open_set, key=lambda node: f_score[node]) if current == goal: return reconstruct_path(came_from, current) open_set.remove(current) for neighbor in graph.neighbors(current): tentative_g_score = g_score[current] + dist_between(current, neighbor) if tentative_g_score < g_score[neighbor]: came_from[neighbor] = current g_score[neighbor] = tentative_g_score f_score[neighbor] = g_score[neighbor] + heuristic_cost_estimate(neighbor, goal) if neighbor not in open_set: open_set.add(neighbor) return None ``` 上述代码展示了经典的 A* 算法框架,适用于离散空间中的路径寻找问题。 #### 局部路径规划 局部路径规划则专注于实时调整车辆行驶轨迹以应对突发状况或障碍物的存在。此环节更多依赖传感器输入的数据流处理能力和快速反应机制。常用的局部路径规划方法有: - **势场法 (Potential Field Method)**:将机器人视为受力粒子,在吸引力与排斥力共同作用下移动至目标点。 - **模型预测控制 (Model Predictive Control, MPC)**:通过求解最优控制序列来指导下一时刻的动作选择,尤其适合非线性动力系统的建模分析[^3]。 #### 综合考量因素 无论是全局还是局部层面的路径规划方案都需要综合权衡多种约束条件,比如时间成本最小化的同时也要保障乘员体验感良好;规避碰撞风险之外还需兼顾交通法规遵从度等问题。此外,随着人工智能技术的发展,强化学习等新型范式也被引入进来尝试解决更加复杂的场景挑战[^1]。 #### 当前趋势与发展前景 目前来看,融合多源异构传感信息的世界模型构建成为推动智能驾驶进步的关键突破口之一。借助深度神经网络强大的特征提取能力,可以更精准地捕捉周围环境变化规律进而辅助做出合理决策。与此同时,自然语言处理领域的最新成果也为增强人机交互界面友好程度开辟了新途径——允许乘客直接下达口语化的导航指令而不是局限于固定选项列表之中。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值