格灵深瞳C++软件开发面试(一)

全程1小时40分钟
一、项目上的问题
1、介绍项目
2、项目上为什么用双PID做纵向控制,横向上用mpc控制
    A:PID不需要知道模型,直接用就行,横向比较复杂
3、横向上为什么不能用PID MPC用的什么求解器
    A:因为横向需要转弯比较复杂 求解器用的OSQP
4、PID参数怎么调
    A:先调P,再调I,最后调D
5、D有什么作用?
    A:修正调节I的动态响应
6、积分饱和有什么作用
    A:防止误差过大,输出过大
7、路径规划怎么规划的,为什么要用改进A*
    A:激光雷达构建地图实现全局路径规划,ARA*算法首先改用曼哈顿距离、其次动态调整启发函数的权值,不同场景下权值不一样
8、为什么不把车辆的爬坡当成代价算进去?
    A:我们分场景进行ARA*的构建,没有考虑这种方法,后面可以试一下
9、你们应该需要局部规划,A*会一直重构建路径,导致一个场景结束得等一会才能继续,采用局部的RRT、RRT*、D*可能会解决你们这个问题
    A:嗯嗯额嗯,谢谢您的建议
10、为什么用B样条
    A:拐弯轨迹可能出现拐点,导致曲率突变
11、还有什么轨迹生成的方法?
    A:人工势场法、我了解Apollo的Lattice\EM planner都可以

#暑期实习#
全部评论
双九爷吗?
点赞 回复 分享
发布于 2023-07-25 23:39 四川
佬,有内推码吗
点赞 回复 分享
发布于 2023-09-30 18:51 辽宁

相关推荐

10-15 13:14
已编辑
门头沟学院 算法工程师
时间线:笔试:8.18  3/3 ac一面:8.30  60min二面:9.19  100minHR面:9.26  30min-------------------------------------评价:目前泡池子中,秋招面过最硬核的面试,问的很基础很细节,多方位考察。面试官水平也挺高。-------------一面面经---------------十分注重优化算法、数学基础,面的其他家基本上没有问的这么细的。-------------------------------------1. ILQR的求解时间复杂度跟标称轨迹点的个数有什么关系?2. CILQR 和 ILQR区别,如何处理C,与SQP有什么关系。3. 如何从笛卡尔坐标系转换到Frenet坐标系,时间复杂度如何优化?能优化多少?4. Frenet中r和L要满足什么关系? 5. 一堆离散点如何求曲率6. line search 是什么?满足什么准则?7. 点到线段的距离?如何判断一个点在不在凸多边形内部?8. QP问题求解相关,描述矩阵求逆优化:LU QR分解,稀疏性优化。9. 高斯牛顿法相关,海塞矩阵如何求逆,雅可比矩阵和海塞矩阵关系,逆矩阵如何保证正定? 10. coding:笛卡尔坐标系转换到Frenet坐标系输出S L-------------二面面经---------------全程高强度拷打,项目、算法、优化、C++八股该有的全部都有,拷打了一个多小时之后又给一道比较难的coding写。从第三题开始,面试官打开了白板,之后所有题都在白板上写,手推公式、手写方程、手算特征值。总的来说,开白板交流效率很高,但是也非常考验基础,很多时候脑子里知道某个模型,某个公式,但是让你真正写出来又没啥把握。-------------------------------------1. ilqr和MPC求解速度哪个快,x = Ax 系统稳定的条件2. MPC是否要求系统可观,为什么3. 运动学模型公式白板推导,为什么参考点在后轴中心,后轮转向车辆的转弯半径推导4. 凸优化问题 凸函数定义 琴声不等式,QP问题的形式 白板书写,给一个cost function判断是不是QP,特征值求解5. 数值优化算法 梯度法 牛顿法 拟牛顿法各自区别,给一个等高线画出梯度法的下降曲线和牛顿法的下降曲线6. 给C++代码判断输出是什么 2题(好像都答错了)7. A*算法的原理 启发式代价怎么定 用的什么数据结构 优先队列和哈希表取值时间复杂度8. 虚函数是什么 动态多态和静态多态的区别  指针常量和常量指针 类的静态成员函数和静态成员变量9. 计算几何:判断点在线段左侧还是右侧,叉乘方向,圆与线段是否相交10. coding:线段FindNextPoint,有点像链表的题目,线段用链表节点表示的。
点赞 评论 收藏
分享
7 21 评论
分享
牛客网
牛客企业服务