编辑 | 哎嗨人生
点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
本文只做学术分享,如有侵权,联系删文
下午看了贾玲的新电影《热辣滚烫》,非常燃。所谓绝境逢生,到了绝境,才能逢生。没有绝境,就会像雷佳音一样,曾经有理想,败给了现实,最后去搬砖。当然,希望大家不遇绝境,但能重生。

我上一次全力以赴去为一件事努力,就是转行找工作了。
曾经看过一个理论,入门一个新的领域,就先掌握100个该领域的关键词,下边是100个运动规划相关的关键词,可能有重复,请见谅。
路径规划(Path Planning)
路径规划是寻找从起点到终点最佳路线的过程,关键在于如何高效地避开障碍物并优化特定的路径指标(如距离、时间或能量消耗)。在机器人导航、自动驾驶、物流和游戏设计等领域,路径规划是基础且关键的问题。高级路径规划系统还会考虑动态环境变化,如移动障碍物和不确定性因素,以适应复杂的实际应用场景。
广度优先搜索(BFS)
BFS是一种图搜索算法,从一个节点开始,逐层探索周围节点,直到找到目标节点。它使用队列来管理待探索的节点,保证了每一层的节点都在进入下一层之前被完全探索。这种方法特别适合于找到最短路径问题,在无权图(即所有边的权重相同)中尤其有效。
深度优先搜索(DFS)
DFS是一种图搜索算法,它沿着一条路径深入探索,直到无法继续,然后回溯到上一个分叉点继续探索其他路径。DFS使用栈(可以是递归函数调用栈)来跟踪待探索的路径。DFS适合于需要遍历所有可能路径的场景,如解决迷宫问题、图的连通性检查等。
Dijkstra算法
Dijkstra算法是解决加权图中单源最短路径问题的经典算法。它逐步扩展已知最短路径的边界,直到达到目标节点。虽然Dijkstra算法能够高效地处理大量节点,但它不适用于包含负权重边的图。
启发式搜索(Heuristic Search)
启发式搜索使用启发式函数来估计从任一节点到目标的距离,从而指导搜索过程,优先探索更有希望的路径。这种方法能够显著提高搜索效率,特别是在搜索空间庞大且目标位置未知的情况下。
A*搜索算法
A算法是一种高效的启发式搜索算法,它结合了BFS的全面性和启发式搜索的高效性。A算法通过评估函数f(n) = g(n) + h(n)来选择路径,其中g(n)是从起点到当前节点的实际成本,h(n)是当前节点到目标的估计成本。A*算法广泛应用于各种路径规划和图搜索问题,如游戏设计和机器人导航。
基于采样的算法
基于采样的路径规划算法通过在配置空间中随机采样并尝试连接这些样本点来避免对环境的显式表示。这些算法,特别是RRT和PRM,适用于高维空间和复杂约束条件下的路径规划,能够有效处理机器人臂和移动机器人的规划问题。
RRT算法
RRT算法以其随机性和简单性而著称,适合于解决高维空间和复杂约束下的路径规划问题。RRT通过从初始状态开始,不断向随机采样的状态扩展,直到达到目标区域或满足特定条件,从而构建出一棵覆盖配置空间的树。
运动学模型
运动学模型描述了系统的几何运动特性,不考虑力和质量的影响。在机器人领域,运动学模型是理解和预测机器人如何在其环境中移动的基础,对于设计控制系统和规划运动轨迹至关重要。
动力学模型
动力学模型考虑了物体的运动和作用于物体的力之间的关系,提供了对系统动态行为的更深入理解。这些模型对于设计高性能机器人系统和高级控制策略非常重要,特别是在需要精确控制力和运动的应用中。
Dubins曲线
Dubins曲线为具有最小转弯半径限制的车辆提供了从一点到另一点的最短路径解决方案。这种路径由三段组成:直线、圆弧和直线(LSL)、或圆弧、直线、圆弧(LSR)。Dubins曲线在需要考虑车辆转向限制的路径规划中非常有用,如无人机和自动驾驶车辆。
Reeds-Shepp曲线
Reeds-Shepp曲线扩展了Dubins曲线,允许路径中包含倒车(即车辆可以向后移动)。这为路径规划提供了更大的灵活性,使得Reeds-Shepp曲线适用于更多种类的车辆和更复杂的规划环境。
混合A*算法
混合A算法结合了经典A算法的图搜索能力和连续空间规划的优势,通过离散化车辆的状态空间来考虑车辆的动力学约束。这种方法特别适合于复杂环境中的自动驾驶汽车路径规划,因为它能够生成适应车辆动力学的实际可行路径。
DWA算法
动态窗口法考虑了机器人的当前速度和加速度约束,通过搜索一系列在短时间内可达的速度空间(动态窗口)来选择最优的速度和转向角。DWA算法适用于动态环境中的避障和路径跟踪,特别是对于需要快速响应的移动机器人。
TEB算法
时间弹性带(TEB)算法是一种基于优化的路径规划方法,它将路径建模为一系列连接的点,这些点可以在时间和空间中进行优化调整,以适应动态约束和避免障碍。TEB算法特别适合于需要考虑动态环境和复杂交互的应用,如自动驾驶车辆在城市交通中的导航。
Ubuntu版本与ROS版本
Ubuntu是一个基于Debian的Linux发行版,以其用户友好和广泛的社区支持而闻名。ROS(Robot Operating System)是一个为机器人应用开发提供库和工具的框架,与Ubuntu紧密集成。ROS有多个版本,每个版本通常针对特定的Ubuntu发行版进行优化。例如,ROS Noetic是专为Ubuntu 20.04 LTS(Focal Fossa)开发的,而ROS Melodic则更适合Ubuntu 18.04 LTS(Bionic Beaver)。了解ROS和Ubuntu版本之间的兼容性对于设置机器人开发环境非常重要。
ROS(Robot Operating System)
ROS是一个开源的机器人中间件,提供了一种简化机器人应用开发的方式。它包括一系列工具和库,用于帮助开发者构建复杂且健壮的机器人应用。ROS的核心是其通信系统,允许不同部分的机器人系统(如传感器、控制器、算法模块等)通过主题、服务和动作等机制进行交互。
TurtleBot
TurtleBot是一个流行的开源移动机器人平台,经常用于教育和研究。它基于ROS,支持各种传感器和扩展模块。TurtleBot提供了一个低成本、易于使用的平台,用于开发和测试机器人算法,包括导航、映射和交互。
Gazebo, RViz, Stage_ros
Gazebo是一个高级的3D机器人仿真环境,能够模拟复杂的动态和传感器交互。
RViz是一个3D可视化工具,用于显示ROS中的传感器数据、机器人模型和算法输出,支持用户与数据进行交互。
Stage_ros是一个快速的2D机器人仿真环境,适用于测试机器人导航和路径规划算法。
ROS Navigation Stack
ROS Navigation Stack是一个功能强大的软件包,提供了使机器人能够自主定位和导航到目标位置的工具和算法。它结合了多个组件,包括地图构建(SLAM)、定位(AMCL)、路径规划(Dijkstra、A*等)和避障,为移动机器人提供了一套完整的导航解决方案。
栅格地图(Grid Map)
栅格地图通过将环境分割成一个个小方格来构建对环境的数字表示。每个方格代表环境中的一块区域,可以存储不同类型的信息,如该区域是否可通行(无障碍物),或者该区域的特定属性(如地形的高度)。这种地图的优势在于其简单性和直观性,使其成为机器人路径规划和室内导航中常用的地图类型。
ESDF地图(Euclidean Signed Distance Field)
ESDF地图为每个点提供到最近障碍物表面的最短欧几里得距离。正值表示该点在障碍物外部,负值表示在障碍物内部。这种地图对于避障和路径规划非常有用,因为它不仅告诉机器人哪里有障碍,还提供了关于障碍物大小和形状的详细信息,使路径规划更加安全和高效。
维诺图(Voronoi Diagram)
维诺图通过将平面分割成多个区域来构建,每个区域内的所有点都比其他区域的点更接近某个特定的“种子”点。在路径规划中,维诺图常被用来确定一条避开障碍物的安全路径,因为这种路径最大限度地远离障碍物,从而减少与障碍物发生碰撞的风险。
点云地图(Point Cloud Map)
点云地图由一系列在三维空间中分布的点组成,每个点代表了环境中的一个特征,如物体的边缘或表面。这些地图通常由激光扫描仪、深度相机等传感器生成,能够提供环境的详细三维结构信息,对于机器人进行精确的空间定位和环境建模至关重要。
拓扑地图(Topological Map)
拓扑地图关注的是空间中的地点(节点)及地点之间的连接关系(边),而非具体的几何形状或距离。这种地图适用于描述环境的抽象结构,如不同房间之间的关系,使得机器人可以在更大的尺度上进行有效的路径规划和导航。
差速底盘模型(Differential Drive Model)
差速底盘模型描述了两轮独立驱动的机器人如何通过改变两个轮子的速度差来实现转向和移动。这种模型适用于很多基本的移动机器人,因为它结构简单,容易实现。通过调节左右轮的速度,机器人可以原地转弯、直线行驶或沿曲线路径移动。
自行车模型(Bicycle Model)
自行车模型是车辆运动学的一种简化,其中车辆被假设为具有两个轮子的自行车,前轮用于转向,后轮在车身后部固定。这种模型在自动驾驶和车辆动力学研究中非常有用,因为它能够以简单的数学形式捕捉车辆的转向动态和行为。
质点模型(Particle Model)
质点模型是物理学中的一个基本概念,它将物体简化为一个具有质量但没有体积的点,忽略其形状和大小。这种模型适用于分析物体的线性运动(如平移),因为它忽略了旋转和形状变化等复杂因素。质点模型使问题简化,便于理解和计算物体的运动状态(如位置、速度、加速度)。
膨胀半径(Inflation Radius)
在机器人路径规划中,膨胀半径是一种安全策略,用于增加机器人与障碍物之间的安全距离。通过在障碍物周围设定一个虚拟的“膨胀区域”,确保机器人在规划路径时不仅避开障碍物本身,还能避开这个膨胀区域,从而预留出足够的空间来应对定位误差、机器人尺寸或其他潜在因素,增加路径的安全性。
MPC(模型预测控制)
模型预测控制是一种动态系统的控制策略,其核心思想是利用系统的当前状态来预测未来一段时间内的系统行为,并在此基础上优化控制输入,以实现期望的输出。MPC在每个控制周期都会解决一个优化问题,以确定当前的最优控制动作。这种控制方法特别适合于处理有约束的系统,因为它能够在规划过程中考虑到系统的物理限制和操作限制。
硬约束和软约束
在优化和控制问题中,硬约束是指必须被严格遵守的约束条件,违反硬约束会导致解变得不可接受或不可行。例如,机器人的物理尺寸限制了它不能穿过比自己小的空间,这就是一个硬约束。软约束则是那些在优化过程中希望遵守但并非绝对必须满足的条件。软约束通常通过在目标函数中加入惩罚项来实现,允许在一定程度上的违反,以获得更优的整体性能或更灵活的解决方案。
多项式曲线(Polynomial Curve)
多项式曲线是由多项式方程定义的一类曲线,其形式为P(x) = a_n*xn + a_{n-1}x{n-1} + ... + a_1x + a_0,其中a_n, a_{n-1}, ..., a_1, a_0是多项式的系数,n是多项式的阶数。多项式曲线在插值、曲线拟合和动画中广泛使用,因为它们数学表达简单,易于计算和调整。
贝塞尔曲线(Bezier Curve)
贝塞尔曲线是一种广泛使用的参数曲线,特别是在计算机图形和动画设计中。贝塞尔曲线通过一组控制点定义,曲线形状由这些控制点的位置和顺序决定。贝塞尔曲线具有很好的数学性质,如局部控制性(移动一个控制点只影响曲线的一部分)和可变形性(通过调整控制点可以轻松改变曲线形状),使其在设计和动画制作中非常灵活和有用。
螺旋线(Spiral)
螺旋线是一种在平面或三维空间中半径随角度变化的曲线。在二维空间中,螺旋线从一个固定点开始,随着角度的增加,离中心点的距离也逐渐增加。螺旋线在自然界和技术应用中都非常常见,如蜗牛的壳、春卷的形状和道路设计中的缓和曲线。
离散点(Discrete Points)
离散点指的是在数学和计算机科学中,点的集合中的元素是分开的、不连续的。在数据分析、图像处理和科学计算中,经常需要处理由离散点组成的数据集。这些点可以代表各种物理量的测量值,如温度、压力或其他传感器数据。
泰勒展开近似
泰勒展开是一种数学方法,用来近似表示复杂函数。它将一个函数展开成多项式的形式,使我们可以用几个简单的项来近似计算函数的值。这种方法在物理和工程问题中非常有用,尤其是当直接计算函数值很困难时。
完整性约束和非完整性约束
完整性约束指的是系统的运动可以完全由其位置和位置变化来描述的约束。例如,一个可以自由移动的机器人在平面上的运动可以完全由其在该平面上的位置来描述。
非完整性约束涉及到系统的运动不能仅由位置和位置的变化来描述的情况。例如,汽车由于其转向机制的限制,不能横向移动。
凸优化
凸优化是一类特殊的优化问题,其中目标函数是凸函数,这意味着函数的任意两点连线上的点都不低于函数曲线。凸优化问题的一个关键特性是它们的局部最优解也是全局最优解。凸优化在金融、机器学习和自动控制系统设计中有广泛应用。
非线性优化
非线性优化是指目标函数或约束条件为非线性的优化问题。这类问题更为常见,但也更难解决。非线性优化广泛应用于机器人路径规划、能源管理和化学工程设计等领域。
二次规划
二次规划是一种特殊类型的优化问题,其目标函数是二次的,而约束条件是线性的。二次规划在投资组合优化、飞行器航迹规划和机器人运动规划中有重要应用。
Eigen库
Eigen是一个高级C++库,用于进行矩阵运算、线性代数变换、数值解析等。它在计算机视觉、机器人技术和物理模拟中被广泛使用,以提高数学运算的效率和准确性。
OSQP求解器
OSQP(Operator Splitting Quadratic Program)求解器是专门用于求解凸二次规划问题的软件库。它在自动驾驶车辆的轨迹优化、能量系统的优化调度等领域有着重要的应用。
NLopt求解器
NLopt是一个用于求解非线性优化问题的库,支持多种优化算法。它可以应用于工程设计优化、经济学模型优化和机器学习模型调优等领域。
横纵向解耦
横纵向解耦是在车辆动力学控制中将车辆的纵向控制(加速和制动)与横向控制(转向)分开处理的方法。这种方法简化了控制系统的设计,常见于自动驾驶系统的开发中。
时空联合
时空联合是在路径规划和调度问题中同时考虑时间和空间约束的方法。例如,在自动驾驶中,需要规划一条既考虑避免与其他车辆和障碍物空间上的碰撞,又要考虑到达时间的路径。
碰撞检测(Collision Detection)
碰撞检测是指在计算机模拟和机器人学中确定两个或多个对象是否相互接触或交叉的过程。在自动驾驶领域,碰撞检测用于确保车辆在行驶过程中能够避开其他车辆、行人和障碍物,从而保障行车安全。
AABB(Axis-Aligned Bounding Box)
AABB,即轴对齐边界盒,是一种简单的碰撞检测技术,其中使用与坐标轴平行的矩形或立方体来包围物体。AABB简化了碰撞检测的计算,使其在计算机图形学和游戏开发中得到广泛应用。
DP动态规划(Dynamic Programming)
动态规划是一种算法设计技术,用于解决具有重叠子问题和最优子结构的复杂问题。在自动驾驶中,动态规划可用于路径规划、速度优化等,通过将大问题分解为小问题并存储中间结果来提高计算效率。
曲率和曲率导数
曲率描述了曲线弯曲的程度,是曲线上任意点处切线方向变化的速率。在车辆路径规划中,曲率用于评估路径的转弯强度,确保车辆能够安全行驶。
曲率导数则描述了曲率沿曲线的变化率,对于分析和控制车辆的转向动态特别重要。
一阶导数和二阶导数
一阶导数表示函数值随变量变化的瞬时速率,用于描述物体的速度或曲线的斜率。
二阶导数表示一阶导数的变化率,用于描述加速度或曲线的凹凸性(曲率)。
曲线连续和平滑
曲线的连续性和平滑性是曲线几何特性的度量,直接影响路径规划和车辆控制的质量。连续的曲线没有断点,平滑的曲线则没有尖锐的转弯,这对于确保自动驾驶车辆平稳舒适的行驶至关重要。
Frenet坐标系
Frenet坐标系是一种沿着曲线定义的局部坐标系,使用曲线上的点(位置)、切向量(方向)、法向量和副法向量来描述。在自动驾驶中,Frenet坐标系常用于路径规划,因为它可以简化车辆沿道路行驶的描述。
笛卡尔坐标系(Cartesian Coordinate System)
笛卡尔坐标系是最常见的坐标系,由垂直的x轴和y轴组成,用于在平面上定位点。自动驾驶中使用笛卡尔坐标系来表示车辆、障碍物的位置以及规划的路径。
行为决策(Behavioral Decision)
行为决策是自动驾驶系统中决定车辆行为(如变道、加速、减速)的过程。这涉及到理解周围环境,预测其他交通参与者的行为,并根据当前的交通状况做出安全且合理的驾驶决策。
转弯半径(Turning Radius)
转弯半径是指车辆进行转弯时,车辆中心点所描述的圆的半径。它是车辆操控性的一个重要参数,影响车辆在有限空间内的行驶能力。在自动驾驶中,合理规划转弯半径对于确保车辆安全通过弯道至关重要。
控制量(Control Variable)
控制量是控制系统中可以被调节以影响系统行为的变量。在自动驾驶车辆中,控制量通常包括加速度、方向盘转角等,通过调整这些变量来实现对车辆运动状态的精确控制。
轨迹优化(Trajectory Optimization)
轨迹优化是寻找最优路径的过程,使得车辆能够在满足所有约束(如避免碰撞、遵守交通规则)的情况下,以最优的方式(如最短时间、最低能耗)从起点移动到终点。这是自动驾驶中路径规划的核心环节。
速度规划(Speed Planning)
速度规划是确定车辆在路径上的速度分布的过程。它需要考虑各种因素,如道路限速、交通状况、曲率等,以确保行驶安全同时提高行驶效率。
T型和S型速度曲线(Trapezoidal and S-curve Speed Profiles)
T型速度曲线(Trapezoidal Speed Profile)是指速度随时间变化呈现线性上升、恒速和线性下降的形态,像一个梯形。这种速度曲线常用于简单的运动控制场景。
S型速度曲线(S-curve Speed Profile)则在加速度和减速度过程中加入了平滑过渡,使得速度曲线在起始和结束时更为平滑,减少了冲击和振动,适用于需要平滑加减速的场景。
自动驾驶参考线(Reference Line for Autonomous Driving)
自动驾驶参考线是车辆预计行驶的理想路径,通常基于道路中心线或车道线生成。规划模块会在此基础上生成实际的行驶轨迹,尽可能地跟随参考线,同时考虑动态障碍物、交通规则等因素。
BEV(Bird's Eye View)
鸟瞰视图(BEV)是从顶部向下看的视角,提供了对车辆周围环境的全面视图。在自动驾驶系统中,BEV常用于融合来自多个传感器的信息,帮助算法更好地理解车辆周围的情况,进行决策。
语义信息(Semantic Information)
语义信息是指对环境元素的类型和功能的理解,如路标、车辆、行人等。在自动驾驶中,语义信息对于理解道路情况、做出正确的行为决策至关重要。通过对传感器数据(如来自摄像头和雷达的数据)进行深度学习分析,自动驾驶系统能够识别和理解周围环境的语义信息。
曲率突变(Curvature Discontinuity)
曲率突变是指曲线在某一点或某一区域内曲率发生急剧变化的现象。在道路和路径规划中,曲率突变可能导致车辆行驶不稳定,因此避免在自动驾驶车辆的路径规划中产生曲率突变是非常重要的。
换挡点(Shift Points)
换挡点是指自动变速器根据车辆速度和发动机负载决定换挡时机的点。在自动驾驶系统中,合理设置换挡点对于保证驾驶平顺性和提高燃油经济性都非常关键。
SL图和ST图(SL and ST Graphs)
SL图是Frenet坐标系下的表示,将车辆路径分解为沿着道路中心线的纵向距离(S)和横向偏移(L)。SL图常用于路径规划,以简化车辆相对于道路的位置表示。
ST图表示时间(T)与纵向距离(S)的关系,常用于速度规划,以确保车辆遵循预定的时空轨迹,避免碰撞,并优化行驶效率。
重规划(Replanning)
重规划是指在自动驾驶过程中,由于检测到新的障碍物、变化的交通条件或其他未预见因素,自动驾驶系统需要重新计算路径或行为策略。重规划确保车辆能够适应动态环境,安全高效地到达目的地。
概率完备(Probabilistic Completeness)
概率完备是指一个算法如果给予足够的时间运行,最终能够以高概率找到问题的解(如果解存在的话)。在自动驾驶路径规划中,考虑概率完备性的算法能够在复杂环境中提高找到安全路径的可能性。
KPH(Kilometers Per Hour)
KPH是速度的度量单位,表示每小时行驶的公里数。在自动驾驶系统中,对车辆速度的测量、规划和控制通常使用KPH作为单位。
换道(Lane Changing)
换道是指车辆从当前行驶车道转移到另一车道的行为。自动驾驶系统中的换道决策需要考虑周围车辆的位置、速度、以及换道后的行驶效率和安全性。
线控底盘(By-Wire Chassis)
线控底盘是指车辆的控制系统(如转向、制动、加速)完全通过电子信号控制,而不是传统的机械连接。在自动驾驶车辆中,线控底盘是实现高级自动化控制的基础。
Lattice Planner
格点规划器(Lattice Planner)是一种用于路径规划的算法,它通过创建一个离散的格点网络,并在这个网络中搜索从起点到终点的最优路径。格点规划器能够考虑车辆的动态约束和路况,广泛应用于自动驾驶车辆的轨迹规划中。
EMPlanner
EMPlanner(Expectation Maximization Planner)是一种基于期望最大化算法的路径和行为规划器。它能够处理周围环境的不确定性,通过预测其他交通参与者的行为来规划出一条安全高效的路径。EMPlanner在复杂交通场景下的自动驾驶系统中特别有用。
73-74. 二次规划和非线性优化
前文已经进行了说明,二次规划和非线性优化是解决优化问题的两种方法,分别处理目标函数是二次和非线性的情况。
OSQP
前文已经介绍了OSQP求解器,它是专门用于求解凸二次规划问题的库,尤其适用于处理稀疏问题。
NLopt
NLopt是一个用于非线性优化的开源库,支持多种全局和局部优化算法。NLopt能够处理包括无约束、有约束、连续和离散变量在内的各种优化问题。
Ipopt
Ipopt(Interior Point OPTimizer)是一个用于求解大规模非线性优化问题的开源软件包。它使用内点法,适用于处理具有复杂约束的优化问题,如工业设计和金融模型优化。
梯度下降法和拟牛顿法
梯度下降法是一种最优化算法,通过沿着目标函数梯度下降的方向迭代更新变量值来寻找函数的最小值。梯度下降法简单易实现,适用于各种优化问题。
拟牛顿法是求解非线性优化问题的一类算法,通过逼近海森矩阵(Hessian Matrix)的逆或者海森矩阵本身来寻找函数的极小值点,提高优化的效率和准确性。
优化变量和决策变量
优化变量和决策变量是指在优化问题中需要被优化或决策的变量。在自动驾驶的轨迹规划中,优化变量可能包括车辆的速度、加速度、方向等。
非线性约束
非线性约束是指在优化问题中约束条件为非线性方程或不等式的情况。非线性约束增加了优化问题的复杂度,常见于工程设计和经济模型中。
完整性约束和非完整性约束
前文已经进行了说明,完整性约束和非完整性约束涉及系统运动的描述方式,特别是在自动驾驶车辆的动力学建模中。
行为决策
行为决策是指自动驾驶系统决定车辆行为(如跟车、变道、转弯等)的过程。行为决策需要考虑交通规则、周围环境、车辆状态和乘客的安全与舒适。
有限状态机(Finite State Machine, FSM)
有限状态机是一种计算模型,它通过一组定义良好的状态和在这些状态之间的转换来描述系统的行为。在自动驾驶系统中,有限状态机常用于实现车辆行为的决策逻辑。
代码Review
代码Review是软件开发过程中的一种质量保证活动,其中开发人员检查同事的代码,以发现错误并改进代码质量。在自动驾驶系统的开发中,代码Review是确保软件可靠性和安全性的关键步骤。
代码版本管理
代码版本管理是指使用专门的工具(如Git)来管理软件开发过程中代码的变更历史的做法。这使得开发团队能够协作开发,跟踪每次代码改动,并能在必要时恢复到旧版本。
矩阵运算
矩阵运算是线性代数中的基本运算,包括矩阵加法、乘法、转置等。在自动驾驶系统中,矩阵运算被广泛用于处理传感器数据、执行数学变换和优化计算。
最优控制(Optimal Control)
最优控制是一种寻找控制系统最优输入(如加速度或转向角度)的方法,使得系统性能达到最佳。在自动驾驶中,最优控制策略可以帮助车辆以最经济或最快的方式从一个状态转移到另一个状态,同时满足所有的动态约束和安全要求。
MPC(Model Predictive Control)
模型预测控制是一种先进的控制策略,通过解决一系列优化问题,预测未来一段时间内的系统行为,并计算出最优控制输入。MPC能够考虑系统的未来行为和约束,因此在自动驾驶系统中特别有用,用于路径规划和避免障碍物。
状态转移方程(State Transition Equation)
状态转移方程描述了系统状态如何随时间变化,通常以数学模型的形式出现。在自动驾驶中,状态转移方程可以表示车辆的动态行为,如速度、加速度和位置的变化,对于预测车辆未来状态至关重要。
贝塞尔曲线求导(Derivatives of Bézier Curves)
贝塞尔曲线的导数用于计算曲线在某一点的切线和曲率,对于分析和控制曲线形状特别重要。在自动驾驶中,贝塞尔曲线及其导数可用于平滑路径规划和轨迹生成。
B样条曲线及其求导(B-spline Curves and Their Derivatives)
B样条曲线是一种通过一组控制点定义的平滑曲线,广泛用于计算机图形学和路径规划。B样条曲线的导数可用于分析曲线的局部性质,如切线方向和曲率,对于设计平滑连续的车辆轨迹至关重要。
五次多项式曲线及其曲率表达式(Quintic Polynomial Curves and Their Curvature Expressions)
五次多项式曲线是一种通过五次方程定义的曲线,常用于路径规划中以生成平滑的轨迹。曲率表达式描述了曲线弯曲程度的变化,对于评估路径的可行性和安全性非常重要。
螺旋线与其他样条曲线的区别
螺旋线是一种半径随曲线长度变化的曲线,常用于道路和轨道设计中的过渡曲线。与其他样条曲线(如B样条和贝塞尔曲线)相比,螺旋线在连接直线和圆弧段时能提供更平滑的转换,减少车辆转向时的离心力。
非线性最小二乘(Nonlinear Least Squares)
非线性最小二乘是一种数学优化方法,用于拟合非线性模型到数据。它通过最小化预测值和实际值之间的差异的平方和来寻找最佳拟合参数。在自动驾驶系统中,非线性最小二乘可用于传感器数据融合和车辆状态估计。
95-96. 微分平坦(Differential Flatness)
微分平坦是指系统的所有状态和控制输入都可以通过一组“平坦输出”及其导数来表示。在无人机和无人车领域,微分平坦性使得系统的控制和规划更加简单,因为可以直接在平坦输出空间中进行。
ADAS(Advanced Driver-Assistance Systems)
高级驾驶辅助系统(ADAS)是一系列使用先进技术来提高驾驶安全和舒适性的系统。这包括自动紧急刹车、车道保持辅助、自适应巡航控制等功能。ADAS是自动驾驶技术发展的基础。
高精地图(High-Definition Maps)
高精地图是自动驾驶系统中使用的详细地图,提供道路、交通标志、交通灯和其他关键地理信息的精确表示。高精地图对于自动驾驶车辆的定位、导航和环境感知至关重要。
不确定性规划MDP(Markov Decision Processes)
MDP是一种数学框架,用于建模决策过程中的不确定性和随机性。在自动驾驶中,MDP可用于模拟车辆在不确定的交通环境中做出决策的过程,如何在不同的交通情况下选择最佳的行为策略,以最大化行驶的安全性和效率。
概率完备性(Probabilistic Completeness)
概率完备性是指一个算法最终能够以一定的概率找到问题的解(如果解存在)。在自动驾驶的路径规划中,考虑概率完备性的算法可以提高在复杂和不确定环境中找到安全路径的可能性。
有限状态机(Finite State Machine, FSM)
有限状态机是描述一个系统可以处于有限个状态之一,并且在给定的输入下可以从一个状态转移到另一个状态的数学模型。自动驾驶系统中的行为决策往往利用有限状态机来管理不同的驾驶模式和行为,如巡航、变道、避障等。
代码版本管理(Version Control)
代码版本管理是使用专门的系统(如Git)来追踪和管理软件代码变更的过程。这使得团队成员可以协作开发,跟踪每次更改,并能够在需要时恢复到之前的版本,是自动驾驶软件开发不可或缺的部分。
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!
自动驾驶感知:目标检测、语义分割、BEV感知、毫米波雷达视觉融合、激光视觉融合、车道线检测、目标跟踪、Occupancy、深度估计、transformer、大模型、在线地图、点云处理、模型部署、CUDA加速等技术交流群;
多传感器标定:相机在线/离线标定、Lidar-Camera标定、Camera-Radar标定、Camera-IMU标定、多传感器时空同步等技术交流群;
多传感器融合:多传感器后融合技术交流群;
规划控制与预测:规划控制、轨迹预测、避障等技术交流群;
定位建图:视觉SLAM、激光SLAM、多传感器融合SLAM等技术交流群;
三维视觉:三维重建、NeRF、3D Gaussian Splatting技术交流群;
自动驾驶仿真:Carla仿真、Autoware仿真等技术交流群;
自动驾驶开发:自动驾驶开发、ROS等技术交流群;
其它方向:自动标注与数据闭环、产品经理、硬件选型、求职面试、自动驾驶测试等技术交流群;
扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】硬件专场