自动驾驶行业随着发展越来越卷,在面试前有更多的准备对求职者来说是很有必要的。在即将秋招来临之前给大家整理出了一些新的 自动驾驶规划控制面试题,希望在大家找工作的过程中提供帮助。 持续更新中......
刷更多的面试题有助于求职者展示自己与公司需求的匹配度,增加被录用的机会。是求职者展示综合能力、增加竞争力的重要途径。
1、请说出你对轮胎模型公式的了解。
轮胎的非线性特性对汽车的转向特性及行驶稳定性有非常重要的影响,进行汽车控制研究往往要建立精确的轮胎模型。
这里以魔术公式进行阐述:魔术公式轮胎模型对轮胎力学特性的表达式单一,拟合精度高,适用于产品设计、汽车动态模拟以及实验对比等要求精确描述轮胎力学特性的领域。
2、采样和优化算法有何区别?
优化研究侧重于评估和预测问题,而采样研究侧重于需要评估不确定性的任务,如形成置信区间和进行假设测试。然而,在两个研究领域中使用共同的方法要素开始成为一种趋势。
3、QP一定是凸问题吗?
QP问题不一定是凸问题。判断QP是不是凸的关键在于Hessian矩阵,如果Hessian矩阵半正定,那么QP是凸问题,否则是非凸问题。
4、机器人方向的介绍,运动学,动力学。比如正运动学的 HD table,以及怎么建坐标系?
机器人方向涉及到机器人的环境感知,路径规划和运动学及动力学研究。在matlab软件中利用DH参数法求解运动学问题。
5、机器人常用的决策方法你熟悉吗?例如决策树或者状态机或者行为树,能否举例说明一下?
机器人常见的决策方法如有限状态机模型,通过设置一系列的状态来实现决策。如从启动的初始状态开始,在沿着轨迹行进的过程中,如果识别到障碍物,切换到避障的状态,然后如果通过了障碍物,那么又切换回沿着轨迹行进的状态。
6、常用的控制方法都有哪些,能否举例说明?例如pid或者lqr方法?
PID控制:随处可见的控制方法,优点就是控制律简单,易于实现,不用建模;缺点是难以保证机器人具有良好的动态和静态品质,并且需要较大的控制量;自适应控制:根据要求的性能指标与实际系统的性能指标相比较所获得的信息来修正控制规律或控制器参数,使系统能保持最优或次优的工作状态的控制方法。简单的说,就是控制器能及时修正自己的特性以适应控制对象和外部扰动的动态特性变化。鲁棒控制:仅需知道限制不确定性的最大可能性的边界即可,鲁棒控制可同时补偿结构和非结构的不确定性影响。而且鲁棒控制相比自适应控制实现简单,没有自适应律,对时变参数及非结构非线性不确定性的影响有更好的补偿效果,更易于保证稳定性。神经网络和模糊控制:具有高度的非线性逼近映射能力,神经网络和模糊系统可解决复杂的非线性,不确定性及不确知系统的控制,而且可实现对机器人动力学方程中未知部分精确逼近,从而可通过在线建模和前馈补偿,实现机器人的高精度跟踪。迭代学习控制:具有严格的数学描述,适合于解决非线性,强耦合,建模难,运动具有重复性的对象的高精度控制问题。不依赖于系统的精确数学模型,算法简单,机器人轨迹跟踪是其典型代表。变结构控制:通过控制量的切换使变系统状态沿滑模面滑动,本质上是一类特殊的非线性控制,非线性表现为不连续性。滑动模态可以进行设计且与对象参数及扰动无关,所以变结构控制具有快速响应,对参数变化及扰动不领命。
7、解释TEB算法。
Time Elastic Band算法把路径规划问题描述为一个多目标优化问题,即对最小化轨迹执行时间、与障碍物保持一定距离并遵守运动动力学约束等目标进行优化。因为优化的大多数目标都是局部的,只与机器人的某几个连续的状态有关,所以该优化问题为对稀疏模型的优化。
8、常用的局部路径规划方法都有哪些?能否讲一个你熟悉的方法?
DWA,TEB算法。DWA算法的原理主要是在速度空间(v,w)中采样多组速度,并模拟出这些速度在一定时间内的运动轨迹,并通过评价函数对这些轨迹进行评价,选取最优轨迹对应的(v,w)驱动机器人运动。
9、列举常见路径规划算法以及细节。
常见的路径规划算法有A*,RRT,PSO算法等。PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解,在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值。另一个极值是整个种群目前找到的最优解,这个极值是全局机制。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。
10、轨迹插值的中间点如何保证可行?
根据实际应用对于平滑的要求,通常会有以下不同的约束:
1.要求生成的参考曲线是连续的;
2.在1的基础上,要求参考曲线的速度是连续的;
3.在1和2的基础上,要参考曲线的加速度是连续的;
通常情况下,在机器人高速运动的时候,想要得到非常连续、平滑、噪音低的运动控制,第3个约束条件是必不可少的,有的甚至还要求加速度的导数jerk都是连续的。
11、讲一下A*算法的原理。
A*吸取了Dijkstra 算法中的cost_so_far,为每个边长设置权值,不停的计算每个顶点到起始顶点的距离(G),以获得最短路线, 同时也汲取贪婪最佳优先搜索算法中不断向目标前进优势,并持续计算每个顶点到目标顶点的距离(Heuristic distance),以引导搜索队列不断想目标逼近,从而搜索更少的顶点,保持寻路的高效。
A*(A-Star)算法是一种求解最短路径最有效的直接搜索方法,也是许多其他问题的常用启发式算法。
对于每个相邻节点按下列规则处理;
(1) 如果相邻节点既不在Open表中,又不在Closed表中,则将它加入Open表中;
(2) 如果相邻节点已经在Open表中,并且新的路径具有更低的代价值,则更新它的信息;
(3) 如果相邻节点已经在Closed表中,那么需要检查新的路径是否具有更低的代价值,如果是,那么将它从Closed表中移出,加入到Open表中,否则忽略。
重复上述步骤,直到到达目标节点。如果在到达目标之前,Open表就已经变空,则意味着在起始位置和目标位置之间没有可达的路径。
12、介绍一下优化算法的目标函数,为什么要min jerk?
使用路径规划可以得到一系列的路径点,这些路径点是不带时间信息的,而轨迹则是时间t的函数,一般用n阶多项式表示。Minimum-jerk,顾名思义就是求解每段轨迹的系数p使得总的jerk最小,同时还要满足约束条件,所以这是一个带约束的最优化问题,通过证明知道,它其实是一个二次规划问题。