首例开源的自动驾驶混合运动规划框架,手握“规划可解释”和“决策准确”两张王牌!

news2024/9/21 0:40:51

导读:

本文开发了一种新的混合运动规划方法,将环境和预测信息集成在Frenet坐标系中,提升了运动规划能力。本文将传统运动规划算法的可预测性和稳定性与RL的动态适应性相结合,从而形成了一个能够有效管理复杂情况并适应不断变化的环境条件的系统。©️【深蓝AI】编译

图1|运动规划代理的混合强化学习原理©️【深蓝AI】编译

1. 摘要

本文介绍了一种自主运动规划的新方法,即在Frenet坐标系中使用强化学习(RL)代理来指导分析算法。这种组合直接解决了自动驾驶中的适应性和安全性问题。运动规划算法对于驾驭动态和复杂场景至关重要,然而,传统方法缺乏不可预测环境所需的灵活性,而机器学习技术,尤其是强化学习(RL),虽然具有适应性,但却存在不稳定和缺乏可解释性的问题。作者独特的解决方案将传统运动规划算法的可预测性和稳定性与RL的动态适应性相结合,从而形成了一个能够有效管理复杂情况并适应不断变化的环境条件的系统。

图2|Frenetix运动规划器©️【深蓝AI】编译

2. 引言

正如各种碰撞报告所记录的那样,自动驾驶技术在现实世界中的实施拥有极大挑战。这些挑战包括在复杂的城市环境中导航、管理不可预测的交通和行人行为以及在新环境中做出明智的决策。这种不可预测性要求运动规划领域采用高度复杂且适应性强的算法。

传统的分析规划方法通常不足以处理现实世界场景的动态性质,这强调了自动驾驶系统对增强决策能力和强大适应性以确保安全和效率的迫切需求。此外,分析基于规则的模型需要调整参数,这涉及识别和调整适合特定场景的各种设置和参数,这些调整通常是通过专家知识和数值评估技术进行的。值得注意的是,即使是微小的参数变化也会明显影响系统的行为。调整整个系统既低效又昂贵,在处理多种配置和变体时,这一点变得更加明显。

当代机器学习方法,尤其是强化学习,在复杂场景中有望实现出色的性能。然而,学习过程的有效性取决于所使用的特定环境和训练配置。尤其是在自动驾驶中,用于运动规划的机器学习模型成功率较低,或者只能在高速公路驾驶等特定环境和场景中取得成功。此外,复杂场景需要较长的训练时间,并且Sim2Real可能会出现失真问题。此外,这些代理的决策过程通常缺乏固有的透明度,需要在验证和实施安全措施方面付出相当大的努力,以确保其行动的可靠性和可信度。应对这些挑战至关重要,尤其是在安全性和可靠性至关重要的自动驾驶领域。

相比之下,结合分析和机器学习模型的混合方法有望在这两个领域都发挥优势。基于此,作者提出了一种使用两阶段代理进行运动规划的新方法,如图1所示。在这种方法中,分析模型的基础稳健性与机器学习算法的动态学习能力相结合,提高了驾驶行为环境中的性能和适应性。这种混合方法有效地弥补了理论构造与实际应用之间的差距,特别是在具有复杂、非线性数据模式的环境中。特别注意,这些混合模型通常需要较少的数据进行有效训练,在数据匮乏的情况下具有优势。另外,可以将安全方法和附加功能有效地集成到分析规划算法中。

表1|学习过程的观察空间©️【深蓝AI】编译

3. 相关工作

多年来,自动驾驶运动规划一直是研究的热门领域。目前,已有多种方法被开发用于解决自动驾驶的规划任务。规划方法大体可分为以下几类:

  • 基于图的算法通过节点和边的网络来寻找结构化路径;
  • 基于采样的方法通过生成大量可能性来探索各种轨迹;
  • 基于优化的规划方法则通过系统地评估各种约束和目标来找到最有效的轨迹,其通常使用线性规划、动态规划或基于梯度的优化等技术。

此外,利用人工智能的算法被开发出来用于在动态环境中提供高适应性。自动驾驶研究领域中已有几种机器学习模型可以学习控制方向盘和加速度,这些模型几乎完全使用特定场景进行训练,例如高速公路驾驶或决策代理。虽然这些模型体现出性能的改进,例如类似场景决策的准确性和决策制定的实时性都得到改进,但在更复杂的场景的成功率太低,特别是对于现实世界的应用。还通过逆强化学习研究了学习类似人类的行为。可以学习和采用某些特征的驾驶行为。然而,这并不能从根本上提高自动驾驶复杂场景行为规划成功率。

相关研究探讨了迭代学习和人类反馈如何改善自主机器人在复杂环境中的导航。通过将这些元素集成到传统导航系统中,该研究展示了潜在的性能改进,同时保持了系统的安全性和可解释性,这项研究为开发机器人自适应导航系统提供了一个值得注意的视角。结果虽然很有希望,但主要作为概念验证,它们没有纳入复杂的公共道路环境,也没有考虑到其他道路使用者的预测不确定性。此外,该方法没有集成复杂的分析规划算法;相反,它依靠机器学习来吸收基于专家知识的参数设置。

也有人提出了一种将RL与快速探索随机树相结合的自动驾驶汽车运动规划框架。它专注于有效控制车速和确保安全,使用深度学习技术适应不同的交通状况。该方法的主要问题是其在高维状态空间中的收敛速度慢,这损害了其实时适用性。此外,该方法仅适用于某些场景,限制了其通用性。其他研究采用 RL 通过分析模型确定执行动作的最佳切换点。这种方法适用于诸如定时车道变换和促进不同道路使用者之间的互动行为等场景。当前的研究表明,在探索一种将机器学习与强大的轨迹规划分析算法相结合的混合方法方面存在差距,这种方法可以确保高成功率、实时能力、可解释性和附加安全功能的集成。可以使用这种独立于监督学习数据集的概念来研究其优缺点。

图3|学习过程结构的类图©️【深蓝AI】编译

4. 方法

本节介绍了基于分析采样的轨迹规划器架构与RL设计的结合,以开发混合运动规划方法。

4.1 基于采样的运动规划器

本文所用的分析轨迹规划算法是基于Frenet坐标系中采样方法,作者使用神经网络的算法来预测场景中的其他车辆。该算法在一个时间步内的流程如图2所示。该流程可归纳为以下主要阶段:

• 车辆状态更新: 车辆使用自我、预测和环境信息更新与Frenet坐标系有关的所有状态。

• 轨迹采样: 该算法根据采样矩阵对可能的轨迹进行采样。作者使用时间、速度和横向采样指标来创建取决于当前自我车辆状态的不同轨迹方案。

• 轨迹运动学检查: 根据单轨模型和车辆参数检查生成的轨迹的运动学可行性。

• 轨迹成本计算: 作者使用不同的成本指标(如碰撞概率、加速度、到参考路径的距离和速度偏移成本)来区分不同轨迹的性能。作者将碰撞概率成本与来自预测信息的其他障碍物相结合。轨迹生成采用C++实现,以减少计算时间并加速训练过程。

• 轨迹碰撞检查: 分析成本最低的轨迹是否可能与车道边界和其他障碍物发生碰撞。此步骤在成本计算步骤之后进行,以提高计算效率。

按绝对成本排序的第一个无碰撞轨迹是更新当前车辆状态的最佳轨迹。根据为每个连续时间步计算的最佳轨迹更新车辆的状态。轨迹涵盖3秒的范围。模拟的时间步离散化为0.1秒。

图4|轨迹损失观测空间©️【深蓝AI】编译

4.2 强化学习过程

在本节中,作者将集成一个RL算法,该算法优化了后续提出的基于采样的轨迹规划器的轨迹选择过程。对于定制环境和训练过程,作者使用gymnasium4和stable-baselines35。对于代理的模拟环境,作者使用CommonRoad。优化由近端策略优化(PPO)执行,这是一种通过剪辑策略更新来平衡探索和利用的RL算法。它避免了可能导致性能下降的大型策略更新,从而使训练更加稳定和可靠。PPO算法的核心封装在等式中:

L C L I P ( θ ) = E ^ t [ min ⁡ ( r t ( θ ) A ^ t , clip ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ t ) ] L^{CLIP}(\theta) = \hat{\mathbb{E}}_t [ \min(r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1 - \epsilon, 1 + \epsilon) \hat{A}_t)] LCLIP(θ)=E^t[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t)]

该方程表示截断的替代目标函数,这对于PPO算法的效率和稳定性至关重要。这里, θ \theta θ表示策略参数, E ^ t \hat{\mathbb{E}}_t E^t是时间步长上的经验期望, r t ( θ ) r_t(\theta) rt(θ)表示新策略与旧策略下的概率比, A ^ t \hat{A}_t A^t表示时间 t t t时的估计优势, ϵ \epsilon ϵ是控制目标函数中截断的关键超参数。作者使用MlpLstmPolicy的循环PPO优化来处理时间关系和信息。传统的PPO架构通过长短期记忆(LSTM)网络进行扩展,这是一种适用于动态时间序列数据的循环神经网络。这种方法在顺序数据和部分可观察环境中非常有效。LSTM组件可以表示如下:

• LSTM状态更新: 在每个时间步 t t t,LSTM根据当前输入 x t x_t xt、先前的隐藏状态 h t − 1 h_{t-1} ht1和先前的单元状态 c t − 1 c_{t-1} ct1更新其隐藏状态 h t − 1 h_{t-1} ht1和单元状态 c t c_t ct,表示为: ( h t , c t ) = L S T M ( x t , h t − 1 , c t − 1 ) (h_t,c_t)=LSTM(x_t,h_{t-1},c_{t-1}) (ht,ct)=LSTM(xt,ht1,ct1)

• 策略和价值函数: 更新后的隐藏状态 h t h_t ht随后被策略网络 π ( a t ∣ s t , h t ) \pi(a_t|s_t,h_t) π(atst,ht)和价值网络 V ( s t , h t ) V(s_t, h_t) V(st,ht)使用,其中 a t a_t at是动作, s t s_t st是时间 t t t的状态。这种集成使网络能够记住过去的状态,从而增强复杂环境中的决策能力。

表2|PPO训练过程的混合奖励©️【深蓝AI】编译

为了启动优化过程,首先需要设计几个关键组件:观察空间、终止标准、奖励系统的结构以及代理行动空间的定义。图3显示了类图,概述了训练过程中不可或缺的功能。

观测空间: 观测空间分为表1中的类别和观测值。

类别可以分为各种类型: 源自自我车辆的类别、与实现目标区域相关的类别、周围信息、轨迹细节以及与采样轨迹相关的成本信息。与其他仅假设直接车辆控制的系统不同,作者的方法提供了增强观察空间的补充数据。轨迹规划算法的数百条采样轨迹通过图2中的计算步骤包含附加信息。这些数据的关键要素包括运动学上可行的轨迹数量、每条轨迹的相关风险水平及其各自的成本分布。此外,作者使用图4中所示的概念来解决碰撞概率感知问题。

示意图显示了采样的轨迹: 作者可以通过采用时间、速度和横向相关采样来构建网格。该网格使作者能够分析与最外层轨迹相关的碰撞概率成本的变化,从而丰富了观察空间。这种方法可以映射随时间变化的差异和相关性。在图中,正横向d方向的轨迹比负d方向的轨迹具有更高的碰撞概率成本。

动作空间: 图1显示了分析轨迹规划器和RL代理之间的连接。代理学习动作,即轨迹规划器的成本权重。理论上,任何调整都可以传递给轨迹规划器。在作者的案例中,作者研究成本权重的调整来证明这一概念。为了实现和谐的行为,代理可以减少或增加轨迹规划器的当前成本权重。等式(2)显示了代理在时间步 t t t中关于每个成本项 i i i的动作空间。

ω i t = ω i min ≤ ω i p r e v + ω i a c t i o n ≤ ω i max \omega_{i}^{t} = \omega_{i}^{\text{min}} \leq \omega_{i}^{prev} + \omega_{i}^{action} \leq \omega_{i}^{\text{max}} ωit=ωiminωiprev+ωiactionωimax

考虑 ω i action \omega_{i}^{\text{action}} ωiaction,它是 [ a min , a max ] [a_{\text{min}}, a_{\text{max}}] [amin,amax]范围内的浮点值。这里, ω i min \omega_{i}^{\text{min}} ωimin ω i max \omega_{i}^{\text{max}} ωimax分别表示绝对成本项的预定义最小值和最大值。此外, ω i p r e v \omega_{i}^{prev} ωiprev表示来自前一个时间步的权重,而 ω i a c t i o n \omega_{i}^{action} ωiaction表示算法的当前动作。值得注意的是,每次执行后,成本项都会重置为其默认值。

表3|PPO算法超参数设定©️【深蓝AI】编译

奖励设计: 训练过程需要奖励配置,这对成功和驾驶行为至关重要。作者在学习过程中使用的奖励如表 II 所示,作者使用混合奖励系统来提高训练效率,包括终止奖励和稀疏奖励。

终止奖励对于成功完成场景至关重要,而稀疏奖励则指导车辆行为。主要目标是尽量减少碰撞,尤其是受终止奖励影响的碰撞。此外,还需要稀疏奖励来优化驾驶性能和行为,例如满足舒适度指标或最大限度地降低整体驾驶风险。车辆可以通过六种不同的方式完成场景。每个场景都有一个不同的时间范围,这样的时间范围就是一个匹配可实现目标的窗口。这允许比分配的时间间隔更快或更慢地达到目标,具体取决于车辆的性能。场景可能会因与障碍物或道路边界相撞而结束,或者如果车辆在任何时间步都找不到有效的轨迹。此外,如果车辆未达到目标就停下来,场景将在超过特定时间限制后自动终止。最佳性能包括严格遵守参考路径、保持指定速度、最大限度地接近目标距离以及最大限度地降低风险。作者正在整合成本调节项,以增强车辆动作的稳定性。这一增加旨在防止动作过度波动,促进更平稳、更和谐的驾驶行为。作者使用当前动作与轨迹规划器的默认成本设置之间的绝对差。

图5|各种情景下自我风险和第三方风险的平均值©️【深蓝AI】编译

5. 实验分析

本节展示模型的训练、选定的测试场景和结果。作者定性和定量地探索了该模型,将研究独立默认分析轨迹规划器(DP)和建议的混合规划器(HP)之间的差异。

图6|HP(蓝色)和DP(橙色)左转,迎面驶来车辆©️【深蓝AI】编译

5.1 实验环境和参数设置

作者使用T型路口场景(见图6)进行训练,因为它们与其他车辆表现出复杂且关键的交互动态。数据集中的各种场景提供了一定程度的可变性,以降低过度拟合的风险。对于模型的训练和执行,计算资源包括AMD 7950x处理器、NVIDIA GeForce RTX 4090显卡和128GB RAM。作者研究中使用的超参数如表III所示。

训练与核心数并行,大约需要24小时才能完成700万个时间步。数据分为训练集(75%)、验证集(15%)和测试集(10%)。根据一系列评估场景中的奖励函数选择最佳模型。训练在2-3百万个训练步骤后收敛,具体取决于设置。作者使用超参数调整,因为训练结果高度依赖于它。

图7|HP和DP的速度分布以及由于混合规划器的操作而导致的碰撞概率权重的相对变化©️【深蓝AI】编译

5.2 风险感知轨迹规划

首先,作者研究学习到的代理的风险行为,并为此设置奖励(见表II)以优化代理的行为。除了成功率之外,自动驾驶中的风险也是评估算法安全性的决定性因素。随后,风险通过将轨迹 T \mathcal{T} T的最大碰撞概率 p p p乘以造成的伤害 H H H来计算。

R ( T ) = m a x ( p ( T ) H ( T ) ) R(\mathcal{T}) = \mathrm{max}(p(\mathcal{T})H(\mathcal{T})) R(T)=max(p(T)H(T))

作者的评估涵盖了64种不同的场景来评估风险水平。通过计算所有场景的平均风险,作者获得了对整体安全状况的宝贵见解。值得注意的是,结果表明,自车和第三方道路使用者的风险降低,凸显了道路安全性的提高。图5显示了场景中的自车风险和第三方风险。蓝色表示HP,橙色表示DP。与DP相比,HP仅显示自车风险的33%左右。

图8|HP和DP算法的自车风险分布©️【深蓝AI】编译

代理降低风险的奖励对轨迹的选择过程具有可持续的影响。作者的分析表明,尽管目标变量众多,但车辆可以改变其行为。强调在此框架内仔细选择奖励条款的重要性至关重要。通过奖励机制过于激进地追求降低风险可能会导致车辆在某些情况下选择完全停止的情况。为了缓解这种情况,作者加入了一个特定的奖励条款,如表II所示,以确保遵守指定的目标速度,从而以可控的方式平衡安全性和运营效率。风险是根据所选轨迹计算的,取决于规划范围。DP在短时间内接受明显更高的风险,并且仅在识别出风险后才对降低做出反应。另一方面,此处介绍的模型通过环境和障碍物信息在风险发生之前识别风险情况。风险在绝对值和持续时间方面都显着降低。通过提前减速,还可以确定风险峰值的发生时间与DP的风险峰值有延迟。

5.3 适应代理的驾驶行为

HP使得在运行时调整分析轨迹规划算法的驾驶行为成为可能。在下面的分析中,作者展示了所提出的模型和独立分析轨迹规划器在驾驶行为上的差异。图6分别以蓝色和橙色显示了相同场景中HP与DP的比较。

图9|DP与HP的比较,共547个场景:DP以不同的碰撞概率成本执行,以调查不同的设置。橙色表示发生碰撞的场景数量©️【深蓝AI】编译

从定性上讲,可以确定迎面驶来的车辆对驾驶行为的强烈适应性。根据时间戳点显示自车的中心位置。如蓝色轨迹所示,作者的方法证明了对指定参考路径的遵守有所改善,并辅以更早的制动启动。相比之下,DP行驶时偏离参考路径较大,但很快接近迎面驶来的车辆。

这种加速接近导致车辆在第74个时间步意外违反安全限制,从而导致与迎面驶来的车辆相撞。可以通过仔细更改DP的手动设置参数来完成该场景。然而,结果表明作者的HP可以避免手动调整参数。图7显示了DP和HP的速度以及HP代理在同一场景中调整规划器碰撞概率权重的操作。与DP相比,HP的速度明显降低,因此在这种情况下不会发生碰撞。这是通过代理的动作连续增加碰撞概率成本项的权重来实现的。RL模型甚至可以部分补偿成本函数中的概念错误,这可以从DP在这种情况下的强烈加速度中得出。

图8显示了场景中主动自我风险的降低。可以看出,在作者的模型中,风险总额明显较低。理论上计算的风险不一定反映碰撞的发生。然而,模型可以避免碰撞,并将计算出的潜在危害风险最小化。对物体的错误预测会导致导致DP碰撞的行为。结果表明,这些可以通过模型进行补偿。

表4|在不同场景下默认规划器和混合规划器之间的驱动特性测量©️【深蓝AI】编译

5.4 场景性能评估

作者在DP中应用了不同的碰撞概率成本参数,以确保参数化的准确性。将结果与HP进行比较,如图9所示。可以看出,DP的成功率很高,但在每种配置中都会发生碰撞。适当设置碰撞概率成本对于平衡算法至关重要。成本设置得太低可能会导致过于激进的驾驶而发生碰撞。相反,过高的成本可能会因过于谨慎的行为而导致追尾碰撞。DP缺乏足够的灵活性,需要更多功能才能获得最佳性能。经过训练的HP表现非常出色,即使在以前未见过的测试场景中也没有观察到碰撞。可以从表IV中获得驾驶行为的差异。HP在与参考路径的最大允许偏差方面表现出色。此外,降低了最大和平均速度以改善T型路口场景的转弯机动。此外,与HP中的最佳轨迹相关的成本显示出更大的偏差。由于应用了可变权重,这种偏差的增加是可行的,为轨迹优化提供了更细致入微的方法。

图10|RL模型预测、轨迹束计算和整体模型每次迭代的执行时间©️【深蓝AI】编译

5.5 执行时间评估

图10以箱线图形式说明了RL框架内三个关键组件每次迭代的执行时间(以秒为单位):RL模型预测执行、DP的采样步骤和整体模型执行。

计算时间基于十种不同的场景确定,代理预测执行的平均时间约为0.44毫秒。此步骤仅包括神经网络的执行,而不包括环境模型的更新。每个时间步长大约包含800条轨迹的生成、有效性检查和成本计算平均需要大约15.8毫秒。增加分析规划步骤中的轨迹数量对计算时间影响不大,因为由于C++包扩展,并行化过程是稳定的。运行整个模型每次迭代平均需要大约46毫秒的执行时间。

5.6 结果讨论

结果表明,混合方法是有效的,并且可以显著改善分析模型,同时缩短执行时间。与其他纯RL模型相比,该模型的训练过程很快,成功率很高。通用性显著提高。虽然纯分析模型在某些情况下表现相对较好,但性能可能因情况而异。此外,通过正确的设置,所提出的模型可以补偿其他模型(例如预测算法)的误差。然而,对算法的重大修改需要对代理模型进行部分重新训练。该方法的设计也可以进行调整和增强。因此,方程(2)中的极限经常被利用,这表明该模型可以得到改进。此外,必须仔细考虑奖励值和场景的选择,这可能很耗时。总体而言,作者的概念展示了混合规划器提供的协同作用的有效利用,并通过更高的复杂性和在边缘场景中的适用性扩展了当前可用的方法。

7. 总结展望

本文介绍了一种用于轨迹规划的混合运动规划器方法,以在变化的条件下增强车辆驾驶行为。针对传统分析轨迹规划器的低通用性,作者的方法将基于采样的规划器与RL代理相结合。该代理动态调整分析算法中的成本权重,提高其适应性。作者的方法利用观察空间,包括环境、语义地图和障碍物数据,这些数据对于混合代理学习车辆动力学至关重要。结果表明,代理的成功率显著提高,风险降低,同时保持了现实世界应用的高性能执行时间。且通过更广泛的调查,附加功能可以改善驾驶行为和模型性能。未来的工作可以使用RL优化分析规划器的采样参数,从而研究该算法在现实世界中的适用性。通过图形表示等方式纳入更全面的环境数据,可以进一步提高系统的稳定性和效率。
©️【深蓝AI】

Ref:
A Reinforcement Learning-Boosted Motion Planning Framework: Comprehensive Generalization Performance in Autonomous Driving
编译|匡吉
审核|Los

本文首发于微信公众号【深蓝AI】,移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态👇
深蓝AI·赋能自动驾驶+机器人+AI

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

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

相关文章

C#高级:递归3-根据ID连续递归生成一颗递归树

目录 一、需求: 二、实现代码 三、递归代码 四、思考 一、需求: 给小明一家生成族谱树 二、实现代码 using Newtonsoft.Json;class Person {public int Id { get; set; }public int? ParentID { get; set; }public string Name { get; set; } }c…

四数相加 II--力扣454

四数相加 II 题目思路C代码 题目 思路 我们需要统计元组的个数,并且不需要排序和去重,所以选择哈希表unordered_map。 要使得abcd0,我们首先利用map在前两个数组中统计ab的值以及该值出现的次数。 接下来我们去后两个数组中查找0-(cd)&…

每日一练:除自身以外数组的乘积

一、题目要求 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在…

windows手工杀毒-寻找可疑进程之句柄

上篇回顾:windows手工杀毒-寻找可疑进程之内存-CSDN博客 上篇中我们介绍了如果通过进程的内存分析进程是否是可疑进程,主要是通过查看是否有可写可执行的内存页。也可以通过查看内存内容,看是否是可疑内容,不过这个可能需…

如何取消密码?打印加密的PDF文件?

在日常生活和工作中,我们时常会遇到需要处理加密PDF文件的情况。这些文件可能包含敏感信息,如合同、报告或私人文档,因此被设置了密码保护。然而,有时我们出于工作需要或其他原因,需要打印这些加密的PDF文件。本文将详…

管道检测机器人市场前景:预计2030年全球市场规模将达到18.9亿美元

用于检查管道内堆积的残留物的机器人被称为管道内检查机器人。这种机器人有能力从地面向机器人的控制器发送视频反馈信息。通过这种方式,用户可以验证管道的实际状况,也可以测量管道壁上的沉积物厚度。 据QYResearch调研团队最新报告“全球管道检测机器人…

苹果手机照片被删除?如何通过不同的方法来恢复照片

手机已经成为我们生活中不可或缺的一部分,它不仅仅是通讯工具,更是我们记录生活点滴的重要工具之一。然而,正如其他任何设备一样,iPhone上存储的照片有时也会不小心被删除或丢失。 别担心,即使你误删了重要的照片&…

未来的去中心化网络:Web3与AI的深度融合探讨

在数字技术的快速发展下,Web3和人工智能(AI)正逐步成为未来互联网的核心支柱。Web3作为一种去中心化的网络架构,致力于重塑互联网的基本结构,而AI则通过智能化技术提升了数据处理和决策的能力。二者的深度融合不仅推动…

数学建模笔记—— 模糊综合评价

数学建模笔记—— 模糊综合评价 模糊综合评价1. 模糊数学概述2. 经典集合和模糊集合的基本概念2.1 经典集合2.2 模糊集合和隶属函数1. 基本概念2.模糊集合的表示方法3. 模糊集合的分类4. 隶属函数的确定方法 3. 评价问题概述4. 一级模糊综合评价模型典型例题 5. 多层次模糊综合…

系统分析师8:项目管理

文章目录 1 内容提要2 范围管理3 时间管理3.1 时间管理-关键路径法3.1.1 时间管理-前导图法(单代号网络图,PDM)3.1.2 时间管理-箭线图法(双代号网络图,ADM) 4 时间管理-甘特图(Gantt)5 成本管理6 软件质量管…

超声波眼镜清洗机有用吗? 非常好用的超声波清洗机

随着科技的飞速跃进,现代人的生活质量显著提升,众多日常用品已成为生活的必需品,例如频繁佩戴的眼镜。尽管常规的眼镜布能抹去镜片上的尘埃,但隐匿于细微之处的细菌往往逃过人眼的监察。这些潜在的细菌若不被及时清除,…

NavVis是如何评估数据精度的?

以下文章来源于内芬兹NavVis ,作者NavVis NavVis VLX作为移动扫描领域的标杆产品,其数据精度一直是客户关注的重点,今天我们就一起来看看NavVis是如何评估VLX的数据精度的。 评价一款测绘设备的精度时,我们总是将其与业内公认的…

局域网文件分发如何实现?掌握这4个秘籍,文件一键分发破次元!

局域网文件分发是许多企业和组织在日常工作中常见的需求, 有效的文件分发可以显著提高工作效率。 以下是四种实现局域网文件一键分发的秘籍: 1.使用终端监控软件的文件分发功能 软件示例:安企神等。 步骤简述: 安装软件&…

数学建模笔记——熵权法(客观赋权法)

数学建模笔记——熵权法[客观赋权法] 熵权法(客观赋权法)1. 基本概念2. 基本步骤3. 典型例题3.1 正向化矩阵3.2 对正向化矩阵进行矩阵标准化3.3 计算概率矩阵P3.4 计算熵权3.5 计算得分 4. python代码实现 熵权法(客观赋权法) 1. 基本概念 熵权法,物理学名词,按照信息论基本原…

大数据之Flink(四)

11、水位线 11.1、水位线概念 一般实时流处理场景中,事件时间基本与处理时间保持同步,可能会略微延迟。 flink中用来衡量事件时间进展的标记就是水位线(WaterMark)。水位线可以看作一条特殊的数据记录,它是插入到数…

Linux系统【RockyLinux9.4】下K8S集群【1.31.0】安装部署指南

1.概述 公司之前一直使用的是CentOS系统作为测试、开发、生产环境的基础系统镜像,由于最近的CentOS的镜像彻底终止维护之后,我们在为后续项目的基础系统镜像选型进行的调研, 最好是可以平替的进行类似系统的移植, 经过多番对比&a…

基于锁相环闭环控制AD2S1210旋转变压器测速原理及仿真

旋转变压器通过在转子施加高频励磁信号,通过电磁感应方式在两定子上输出正交的包含转子角度信号,数学建模公式如下: E为幅值,sinwt为转子输入的高频励磁信号,、为电机角度信号 AD2S1210 测角度原理是通过自动控制原理…

进程之间的通信方式

前言 每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。 Linux提供了以下进程通信方式: 一、管道 所谓的管道,就是内核里面的一串缓存。…

Iceberg与SparkSQL写操作整合

前言 spark操作iceberg之前先要配置spark catalogs,详情参考Iceberg与Spark整合环境配置。 有些操作需要在spark3中开启iceberg sql扩展。 Iceberg使用Apache Spark的DataSourceV2 API来实现数据源和catalog。Spark DSv2是一个不断发展的API,在Spark版…

12. GIS地图制图工程师岗位职责、技术要求和常见面试题

本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…