文档详情

运动控制算法笔试

桔****
实名认证
店铺
DOCX
12.25KB
约7页
文档ID:527333168
运动控制算法笔试_第1页
1/7

运动控制算法笔试一、轨迹优化1、说明规划算法建模过程如何设计代价函数和约束)2、说明轨迹规划和路径规划区别3、说明规划与控制的区别曲线)4、 说明DP和QP优化的时候考虑的约束及优化目标5、 如何考虑障碍物?6、 说明Lattice和Em的基本思路7、 Lattice为什么使用五次多项式?多项式次数对于拟合曲线 有什么影响?8、 什么是AX、DX、RRT?用途是什么?9、 说明Dijkstra和蚁群算法的特点10、 搜索算法有哪些,用途是什么?11、 什么是轨迹生成算法?(曲线)12、 hybrid As tar算法流程及应用二、控制算法1、 规划和控制的关系?如何相互配合影响的?2、 什么是运动控制?控制具体控制了什么,输入输出是什么? 如何实现的?表现到车辆状态上又是怎样的?3、 什么是PID、LQR、MPC算法?用途是什么?分别解决了什么 问题?4、 传统PID、LQR、MPC各自的优缺点有哪些?对于缺点有哪些解决方法?5、 PID超调如何解决,积分饱和如何解决?LQR如何建模,状态 量有哪些,控制量有哪些?6、 如何设计 MPC?三、 计算几何1、 如何求点上的投影?如何求点到直线距离?2、 如何求 SL 坐标系3、 两条直线的交点(向量)4、碰撞检测方法5、 曲线(贝塞尔,b样条,正弦曲线,圆弧曲线,螺旋曲线等)6、 五次曲线、回旋线、三次样条曲线、B样条曲线的表示。

四、 车辆动力学和运动学模型1、车辆动力学和运动学模型不同,原因以及使用的情况 代码类一、C++编程1、 C++函数指针有哪几类?函数指针、lambda、仿函数对象分别 是什么?2、 如何利用谓词对给定容器进行自定义排序?3、 传递引用和传递值的区别?传递常引用和传递引用之间的区 别?传递右值引用和传递引用之间的区别?4、 函数对象应该通过什么传递?5、 什么是万能引用?用途是什么?6、什么是完美转发?用途是什么?7、std::unorded_map 和 std::map 之间的差异是什么?8、虚函数、虚表的原理?9、 如何在c++中创建线程?如何程间同步?10、 互斥锁是什么?用途是什么?条件变量又是什么?为什么要 用条件变量?11、 智能指针和祼指针之间的差异?为什么要用指针的引用计数?12、 智能指针分哪几种? std::unique_ptr, std::shared_ptr, std::weak_ptr 各有何用途?13、 悬挂指针会导致什么问题?如何避免?14、 traits 是什么?什么时候用 traits?参考答案(部分)规划与控制岗一、轨迹优化1、说明规划算法建模过程如何设计代价函数和约束)【参考回答】代价函数:主流算法在 frenet 坐标系下进行规划,代价也表示 在 frenet 坐标系下。

代价函数:横向路径维度:guidance*避障+光滑guidance 项:相对中心参考线的横向偏移距离避障项:与障碍物的距离光滑项:与参考线的heading夹角,曲率(对应轨迹半径、前轮 转角大小),曲率变化率(对应前轮转向速率)纵向维度:guidance 项:巡航速度偏差舒适性:加速度,加加速度大小避障:障碍物距离约束:横向路径:安全范围,保证不碰撞;heading,确保与参考线的 夹角不过大;曲率:方向盘最大转角;曲率变化率:转向系统最大转 向速率纵向:单调递增约束,保证不发生倒车; station 上下限约束, 保证不发生碰撞;最大车速约束,保证不超过设定目标速度;加速度 边界约束;jerk上下限约束2、说明轨迹规划和路径规划区别参考回答】路径规划(Path/Motion Planning),是在不考虑临时或者移动 的障碍物的前提下,对车辆在空间上的变化的规划;轨迹规划(Trjectory Planning) —般轨迹规划包括横向规划和 纵向规划,横向规划主要输出trajectory中的x,y,s,纵向规划主 要填充轨迹上各点期望速度ds/dt一般横纵解耦规划方案先规划横 向,再规划纵向。

3、说明规划与控制的区别曲线)【参考回答】规划是基于环境信息给出一条需要被跟踪的轨迹(包括路径及路 径上的速度信息),需要保证安全性、可行性、舒适性;控制是对规划出轨迹进行横向、纵向的跟踪,使得车辆实际允许 效果尽量贴近规划轨迹,同时也会再次进一步考虑舒适性、安全性等 优化目标及约束一般规划相对低频,控制更加高频4、说明 DP 和 QP 优化的时候考虑的约束及优化目标参考回答】此问题仅针对EM Planner架构,横向上DP主要考虑避障、参考线距离、舒适性,QP主要考虑对DP结果跟踪的精度、舒适性5、 如何考虑障碍物?【参考回答】一般地,横向路径规划主要考虑oncoming障碍物以及静态障碍 物;纵向针对动态障碍物进一步处理,确保安全对于oncoming纵 向结果会在横向上投影,下一帧基于新的速度规划结果规划路径6、 说明 Lattice 和 Em 的基本思路参考回答】Lattice 是网格化采样路径规划采样:向前取若干个距离,每 个距离采样不同横向距离,从而获得多排采样点,使用多项式连接不 同排采样点获得候选路径;纵向规划采样:采样多各前方时间,每个 时间采样不同距离形成一列候选距离,沿时间向前使用多项式连接各 列候选距离形成候选距离随时间变化的纵向曲线。

路径与纵向规划采 样合并后得到候选轨迹,根据cost函数选取cost最低的最优轨迹输 出;EM Planner是在Lattice采样基础,针对采样结果再进行一次 优化采样可以更密集,直接使用直线连接,同时使用DP向前搜索 提高效率;优化时考虑舒适性,并贴近DP选出的采样结果7、 Lattice为什么使用五次多项式?多项式次数对于拟合曲线 有什么影响?【参考回答】五次多项式有6个系数,起点和终点的0阶/1阶/2阶导约束正 好是6个,形成满秩矩阵,唯一地确定多项式各个系数8、 什么是AX、DX、RRT?用途是什么?【参考回答】AXDX是基于搜索的路径规划方法,RRT是基于概率采样的路径规 划方法DX主要应用于动态环境下的路径优化,也能兼容静态环境,AX 只能用于静态环境下的路径优化DX的实现过程中有和Dijkstra、 AX相似的思想,在初始路径规划的过程中,是一个反向Dijkstra算 法,在遇障碍重新规划的过程中,可看做是一个启发式算法AX,只 是起点是一些不固定的点,h ()充当了启发函数的角色9、 说明Dijkstra和蚁群算法的特点参考回答】是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中 最短路径问题。

主要特点是从起始点开始,采用贪心算法的策略,每 次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终 点为止蚁群算法是用来寻找优化路径的概率型算法,具有分布计算、信 息正反馈和启发式搜索的特征,本质上是进化算法中的一种启发式全 局优化算法适用于大规模高复杂度的问题,只能保证结果是较优解, 难以保证最优解10、搜索算法有哪些,用途是什么?【参考回答】Dijkstra、AX、Lattice 采样等AX 是 Dijkstra 的升级版本, 效率更高,Hybrid AX在转向的采样空间内进行AX搜索,主要用于 非结构化道路场景如APA泊车;Lattice采样更多用于封闭结构化道 路的规划11、Dijkstra 算法 demo【参考回答】Dijkstra是一种完备但低效的向周围均匀扩张的算法,采用贪心算法思想解决有权图最短路径问题,类似广度有限搜索;AX引入启发式函数牵引搜索的方向,提升搜索效率,但搜索结 果无法保证满足运动学限制,Hybrid AX是在向前搜索时在可行转角 范围内采样不同转角,并使用该转角向前移动一定距离获得下一个位 置oHybrid AX搜索出的转角是不连续的,可能导致方向盘来回摆动,般和需要再进行一次曲线光滑优化。

下载提示
相似文档
正为您匹配相似的精品文档