相信大家对自动驾驶中的感知应该很熟悉了,今天我们花点时间来看看规划和控制是怎么玩的。 当然传统的做法是感知,规划和控制相对独立的,但是随着自动驾驶的崛起,特别基于深度学习的崛起,基于数据驱动的算法取得了很广泛的应用。今天我们一起大概回顾一下规划和控制的算法设计。先来看一张自动驾驶的主要算法模块, 这里主要讲规划和控制部分。
首先要对汽车进行动力学建模, 汽车具有位置,方向,加速度还有转向角度,当然如果考虑摩擦力,
其中规划分为路径规划,行为规划还有运动规划,参见下图:
Route Planning:路线规划与寻找从给定起点到目的地的最佳全球路线有关,偶尔会补充实时交通信息,典型算法包括A* 和 Dijkstras,但是他们可扩展性不好,必须要有大规模算法扩展算法,这也是目前研究方向之一。
Behavior Planner: 做出临时决策以与其他特工正确互动并遵守规则限制,从而产生局部目标,例如改变车道,超车或通过交叉路口。利用有限元算法可以用得上。
Motion Planning:生成适当的路径和/或动作组以实现局部目标,最典型的目标是在避免障碍物碰撞的同时达到目标区域。
当然motion Planing 又可以分为三类:
complete planing:完整的计划-在配置空间中的连续计划,空间维数很大。 一般计算量超乎目前芯片能力。
Combinatorial Planning: 对配置空间进行精确分解的离散计划, 一般会降低维数处理。
Sample-Based planning:在空间中采样以查找无碰撞且链接的控件/位置,一般不是完全的解空间,但是计算复杂度降了下来。因保证概率完整性而很受欢迎,也就是说,给定足够的时间来检查无限数量的样本,如果解存在,将找到解的概率收敛为一个。
最后我们简单回顾一下自动驾驶里面应用到的控制算法部分,简单分为三个部分:
PID
我们大学阶段就学过的PID控制,传统的控制算法, 比例积分微分控制器:控制回路反馈机制,广泛用于工业控制系统和其他需要连续调制控制的应用中。当然PID控制可以广泛的应用到各个不同的领域中去。
Model Predictive Control
模型预测控制器:控制环依赖于底层系统模型来生成前馈控制
- 在每个时间,通过为预测范围解决开环优化问题来计算控制
- 应用计算的控制序列的第一个值
- 在下一步,获取系统状态并重新计算
MPC在汽车环境中的使用:牵引控制/制动控制/转向/车道保持。
Path/Trajectory tracking
给定运动计划者计算出的路径/轨迹,我们使用控件来遵循或“实现”路径。路径/轨迹跟踪的许多方法:纯粹追踪;AutonoVi;运动自行车以及模型预测控制。
尽管在规划算法领域也展示了令人印象深刻的功能,但我们期望在动态环境中改善实时规划方面有进一步的发展。最近的相关研究正在朝着更好地包括机器人差动运动约束和在重新计划的后续迭代之间保留知识的有效策略的方向发展。
在最近几年中,自主车辆控制领域存在着重大的理论进展。但是,许多突破性结果仅在仿真中进行了测试。确保自治系统严格遵循高层决策流程的意图至关重要。基于模型预测控制(MPC)的技术因其灵活性和性能而成为该领域的活跃研究主题。计算时间在实时应用程序中至关重要,因此模型选择和MPC问题表述在一个应用程序与另一个应用程序之间会有所不同。
已经表明,车辆协作可以在感知和计划模块中实现更好的性能,但是在改善多车辆协作算法的可伸缩性方面还有很大的进步空间。此外,尽管硬件已经针对V2V通信进行了标准化,但是尚不存在有关在车辆之间传递哪些信息内容的标准。
自动驾驶汽车是复杂的系统。因此,对于研究人员来说,划分AV软件结构并集中于单个子系统的整体发展,通过改进这些单独的子系统来实现新功能,将更加实用。自治系统研究中的一个关键但有时被忽略的挑战是所有这些组件的无缝集成,以确保不同软件组件之间的交互是有意义和有效的。由于整个系统的复杂性,很难保证本地过程的总和会导致系统达到预期的最终输出。平衡系统中各个流程之间的计算资源分配也是一个关键挑战。认识到自动驾驶汽车研究发展的迅速步伐,我们热切期望不久的将来将克服上述挑战,并使自动驾驶汽车在城市交通系统中更加普及。
-
自动驾驶
+关注
关注
782文章
13617浏览量
165906 -
深度学习
+关注
关注
73文章
5463浏览量
120876
发布评论请先 登录
相关推荐
评论