2024年自动驾驶规划控制面试及答案

自动驾驶行业随着发展越来越卷,在面试前有更多的准备对求职者来说是很有必要的。在即将秋招来临之前给大家整理出了一些新的 自动驾驶规划控制面试题,希望在大家找工作的过程中提供帮助。 持续更新中……
刷更多的面试题有助于求职者展示自己与公司需求的匹配度,增加被录用的机会。是求职者展示综合能力、增加竞争力的重要途径。

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最小,同时还要满足约束条件,所以这是一个带约束的最优化问题,通过证明知道,它其实是一个二次规划问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch:Retrievers 介绍 - Python Jupyter notebook

在今天的文章里,我是继上一篇文章 “Elasticsearch:介绍 retrievers - 搜索一切事物” 来使用一个可以在本地设置的 Elasticsearch 集群来展示 Retrievers 的使用。在本篇文章中,你将学到如下的内容: 从 Kaggle 下载 IMDB 数据集…

Linux云计算 |【第一阶段】SERVICES-DAY5

主要内容: 源码编译安装、rsync同步操作、inotify实时同步、数据库服务基础 实操前骤:(所需tools.tar.gz与users.sql) 1.两台主机设置SELinnx和关闭防火墙 setenforce 0 systemctl stop firewalld.service //停止防火墙 sy…

C#类型基础Part2-对象判等

C#类型基础Part2-对象判等 参考资料引用类型判等简单值类型判等复杂值类型判等 参考资料 《.NET之美-.NET关键技术深入解析》 引用类型判等 先定义两个类型,它们代表直线上的一个点,一个是引用类型class,一个是值类型struct public class…

MySQL定时备份数据,并上传到oss

1.环境准备 1.安装阿里云的ossutil 2.安装mysql 2.编写脚本 脚本内容如下 #!/bin/bash # 数据库的配置信息,根据自己的情况进行填写 db_hostlocalhost db_usernameroot db_passwordroot db_namedb_root # oss 存贮数据的bucket地址 bucket_namerbsy-backup-buck…

软件更新的双刃剑:从”微软蓝屏”事件看网络安全的挑战与对策

引言 原文链接 近日,一场由微软视窗系统软件更新引发的全球性"微软蓝屏"事件震惊了整个科技界。这次事件源于美国电脑安全技术公司"众击"提供的一个带有"缺陷"的软件更新,如同一颗隐形炸弹在全球范围内引爆,…

/var/log/nginx/error.log

日志 : *1979 recv() failed (104: Connection reset by peer) while proxying and reading from upstream, client: 127.0.0.1, server: 0.0.0.0:60443, upstream: “10.x.x.x:6443”, bytes from/to client:64534240/731320118, bytes from/to upstream:731320118/64534240 …

Qt 实战(7)元对象系统 | 7.5、QMetaProperty详解

文章目录 一、QMetaProperty详解1、QMetaProperty的作用2、使用QMetaProperty2.1、声明属性2.2、访问属性 3、QMetaProperty成员方法4、示例4.1、通过名称获取指定属性4.2、遍历全部属性(包含从基类继承下来的)4.3、遍历当前类的全部属性(不包…

Python面试宝典第17题:Z字形变换

题目 将一个给定字符串 s 根据给定的行数numRows ,以从上往下、从左到右进行Z字形排列。比如:输入字符串为"PAYPALISHIRING",行数为3时,排列如下。最后,你的输出需要从左往右逐行读取,产生出一个…

unity 实现图片的放大与缩小(根据鼠标位置拉伸放缩)

1创建UnityHelper.cs using UnityEngine.Events; using UnityEngine.EventSystems;public class UnityHelper {/// <summary>/// 简化向EventTrigger组件添加事件的操作。/// </summary>/// <param name"_eventTrigger">要添加事件监听的UI元素上…

DevExpress中文教程 - 如何在.NET MAUI应用中实现Material Design 3?

DevExpress .NET MAUI多平台应用UI组件库提供了用于Android和iOS移动开发的高性能UI组件&#xff0c;该组件库包括数据网格、图表、调度程序、数据编辑器、CollectionView和选项卡组件等。 获取DevExpress v24.1正式版下载 Material Design是一个由Google开发的跨平台指南系统…

HydraRPC: RPC in the CXL Era——论文阅读

ATC 2024 Paper CXL论文阅读笔记整理 问题 远程过程调用&#xff08;RPC&#xff09;是分布式系统中的一项基本技术&#xff0c;它允许函数在远程服务器上通过本地调用执行来促进网络通信&#xff0c;隐藏底层通信过程的复杂性简化了客户端/服务器交互[15]。RPC已成为数据中心…

【Hot100】LeetCode—279. 完全平方数

目录 题目1- 思路2- 实现⭐完全平方数——题解思路 3- ACM 实现 题目 原题连接&#xff1a;279. 完全平方数 1- 思路 思路 动规五部曲 2- 实现 ⭐完全平方数——题解思路 class Solution {public int numSquares(int n) {// 1. 定义 dpint[] dp new int[n1];//2. 递推公式…

Mojo编程语言

Mojo编程语言作为一种新兴的、专为AI开发者设计的编程语言&#xff0c;近年来在AI领域引起了广泛关注&#xff0c;并逐渐成为AI开发者的新宠儿。以下是对Mojo编程语言的详细解析&#xff1a; 设计目的与特点 Mojo编程语言由Modular公司开发&#xff0c;旨在结合Python的易用性…

算法学习5——图算法

图算法在计算机科学中占有重要地位&#xff0c;广泛应用于网络连接、路径查找、社会网络分析等领域。本文将介绍几种常见的图算法&#xff0c;包括Dijkstra算法、Bellman-Ford算法、Floyd-Warshall算法、Kruskal算法和Prim算法&#xff0c;并提供相应的Python代码示例。 图的基…

在 WSL2 中频繁切换 PHP 版本,可以使用更简便的方法

在 WSL2 中频繁切换 PHP 版本&#xff0c;可以使用更简便的方法&#xff0c;例如使用 update-alternatives 工具。这是一种更系统化的方法&#xff0c;允许你更方便地管理和切换不同的 PHP 版本。 以下是使用 update-alternatives 工具切换 PHP 版本的步骤&#xff1a; 添加 P…

论文学习记录之一种具有边缘增强特点的医学图像分割网络

标题&#xff1a;一种具有边缘增强特点的医学图像分割网络 期刊&#xff1a;电子与信息学报-&#xff08;2022年5月出刊&#xff09; 摘要&#xff1a;针对传统医学图像分割网络存在边缘分割不清晰、缺失值大等问题&#xff0c;该文提出一种具有边缘增强特点的医学图像分割网…

社交圈子小程序搭建-源码部署-服务公司

消息通知:当有新的消息、评论或回复时&#xff0c;用户需要收到系统的推送通知&#xff0c;以便及时查看和回复 活动发布与参加:用户可以在社交圈子中发布各种类型的活动&#xff0c;如聚餐、旅游、运动等。其他用户可以参加这些活动&#xff0c;并与组织者进行交流和沟通 社交…

C#初级——输出语句和转义字符

输出语句 在C#中&#xff0c;C#的输出语句是通过Console类进行输出&#xff0c;该类是一个在控制台下的一个标准输入流、输出流和错误流。使用该类下的Write()函数&#xff0c;即可打印要输出的内容。 Console.Write("Hello World!"); //在控制台应用中打印Hell…

通过QT进行服务器和客户端之间的网络通信

客户端 client.pro #------------------------------------------------- # # Project created by QtCreator 2024-07-02T14:11:20 # #-------------------------------------------------QT core gui network #网络通信greaterThan(QT_MAJOR_VERSION, 4): QT widg…

Docker安装nacos(详细教程)

Nacos 是一个开源的动态服务发现、配置管理和服务管理平台&#xff0c;广泛用于微服务架构中。在本文章中&#xff0c;博主将详细介绍如何使用 Docker 来安装 Nacos&#xff0c;以便快速启动并运行这个强大的服务管理工具。 前置条件 在开始安装 Nacos 之前&#xff0c;请确保…