<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_35635374的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_35635374</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_35635374]]></copyright><item><title><![CDATA[工程开发纪要]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/158390416</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/158390416</guid><author>qq_35635374</author><pubDate>Wed, 25 Feb 2026 18:13:22 +0800</pubDate><description><![CDATA[工程开发。]]></description><category></category></item><item><title><![CDATA[端到端相关技术落地分析【learning && planning】]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/147853355</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/147853355</guid><author>qq_35635374</author><pubDate>Thu, 15 May 2025 21:38:30 +0800</pubDate><description><![CDATA[给出了整体的导航框架，关于改进可以用端到端替换这个框架内的某些控制器，不断优化平顺性，在planning中小规模使用learning的方法，实在不行用planning兜底（可进可退）“端到端”是指，控制系统读取原始传感器的数据输入，仅通过神经网络直接计算出控制指令，而其中不包含任何人为设计的规则模块。我觉得落地可行的方向是结合learning && planning，相互依存，不断探索，而不是取代，AI要有牛马也要有。端到端的模块流程链路比较短，通过神经网络的链式法则，全局优化，更加实时，且信息无损。]]></description><category></category></item><item><title><![CDATA[【到点导航避障】保证局部执行路径和障碍物保持一定的距离，避免绕障距离时近时远，实现贴边导航方案]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/147958190</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/147958190</guid><author>qq_35635374</author><pubDate>Thu, 15 May 2025 21:21:30 +0800</pubDate><description><![CDATA[2、方式二：修改astar的启发函数类型，不仅仅考虑导航点欧氏距离启发函数类型，还要考虑距离覆盖作业航线垂线距离启发函数类型【这个需要同时整定占据代价，目标点距离代价和偏离作业航线代价，参数是不好整定的】【兼容】若路径规划的起点或目标点在指数下降膨胀区范围内代价比较大的位置，二值化后有可能被占据，此时就要根据路径和障碍物保持的距离参数，动态调整路径规划的起点或目标点。1、方式一：根据设定的路径和障碍物保持的一定距离参数值，去设定地图的指数下降膨胀区大小。（3）保证不偏离作业航线（全局路径）的偏离代价函数。]]></description><category></category></item><item><title><![CDATA[感知检测输出原则与要求]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/147656131</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/147656131</guid><author>qq_35635374</author><pubDate>Thu, 01 May 2025 22:14:46 +0800</pubDate><description><![CDATA[（7）障碍物语义类型不同标记方式：危险障碍物（水池、车）、动态障碍物、静态障碍物【感知识别障碍物所见即所得，若存在障碍物语义二义性，规控根据任务状态进行决策】（13）特定的不可通行与可通行牌面的识别场景：这个是人为设计的带有语义的对象，用于重定位与特定场景黑白名单障碍物输出（如窄区、长斜坡，减速带，物理护栏等等）（1）高草场景：草高于车身的，稀疏且不超过车身高度的草【质量比较差的草坪，感知会有很多噪点障碍物输出，导致漏草和误避障】（5）路沿和悬崖场景：石阶和断桥的高度差障碍物，输出普通障碍物。]]></description><category></category></item><item><title><![CDATA[运动轨迹预测]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/145863275</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/145863275</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:51:22 +0800</pubDate><description><![CDATA[将车辆状态和车道段作为输入，该模型用于提供车辆可能采用每个车道序列的概率，希望模型能够学习新的行为因此应该使用观测数据对模型进行经验性训练，在训练中将真实的车辆行为提供给模型，不仅包括车道段和对象的状态，还包括对象最终选择哪条车道序列。基于车辆的物理学来进行预测的方法, 包括基于车辆动力学模型, 车辆运动学模型. 动力学模型的预测方法可能会非常复杂, 但是对于预测方法来说, 复杂的动力学模型带来的效果提升非常有限. 在大部分情况下, 简单的运动学模型(通常使用自行车模型)即可满足预测需求.]]></description><category></category></item><item><title><![CDATA[【路径平滑】窗口滑动滤波结合随机梯度下降法实现平滑路径]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/145888809</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/145888809</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:49:31 +0800</pubDate><description><![CDATA[在移动过程中，为了保证路径无碰撞，需要进行碰撞检测，当移动后的点发生碰撞时，不对该点移动操作。在定义了平滑度后，可以发现通过移动P点的位置，平滑度会发生改变，那么当平滑度最小时，P的位置在哪个地方，或者说P点朝哪个方向移动多少距离？这是一个最小值问题。依次选取5个路径点定义平滑度与路径点的关系，通过移动第3个点的位置，求解出使5个路径点平滑度最小的值，梯度方向为第3个点的移动方向，如下图所示。（2）Pa为P−2 与P的中点，Pb 为P−1与P1的中点，Pc为P2 与P的中点。4、平滑度的定义不唯一；]]></description><category></category></item><item><title><![CDATA[【路径平滑】窗口滑动滤波结合共轭梯度下降法实现平滑路径]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/145889669</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/145889669</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:49:04 +0800</pubDate><description><![CDATA[对于一个 二次型优化问题：一般情况下，分别用 梯度下降法（GD） 和 共轭方向法（CG），有如下图的收敛轨迹：显然可以看出，梯度下降法需要经过多次迭代，而共轭方向法只需要经过两次迭代。]]></description><category></category></item><item><title><![CDATA[【轨迹后端优化】PiecewiseJerkPathOptimizer多项式速度优化]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/145890123</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/145890123</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:48:18 +0800</pubDate><description><![CDATA[算法入口在 planning\tasks\optimizers\path_time_heuristic\path_time_heuristic_optimizer.cc。速度规划这块，可以参考一下EM Planner，保留了EM的思想，DP+QP。1、S-T图离散，动态规划（代价最小的有向图搜索）]]></description><category></category></item><item><title><![CDATA[日志关键信息提取－－正则表达式std::regex]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146958287</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146958287</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:47:29 +0800</pubDate><description><![CDATA[Regex”是“Regular Expression”（正则表达式）的缩写，它是一种强大的文本处理工具，用于匹配、搜索、替换和操作字符串。正则表达式在编程、文本编辑、数据处理等领域广泛应用。正则表达式的用途文本匹配：检查字符串是否符合特定的模式。例如，验证电子邮件地址、电话号码等。搜索和替换：在文本中查找符合模式的内容，并进行替换。字符串分割：根据特定规则将字符串分割成多个子字符串。数据提取：从复杂文本中提取特定格式的数据。正则表达式的语法。]]></description><category></category></item><item><title><![CDATA[参数自适应的相关方法]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146978317</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146978317</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:46:57 +0800</pubDate><description><![CDATA[相反，对于出现频率较高的参数采用较小的学习率。这里的改动就在于分号下面的根号，根号中有两个符号，第二个符号比较好理解，它就是为了避免除0而人为引入的一个很小的常数，例如可以设为：0.001。对比原始的算法过程可以看出，改进算法最大的区别是：在寻找目标值时会在最终结果上下跳动，但是越往后跳动的幅度越小，这也就是动量所产生的效果。对比梯度下降的泛化公式，这个算法的主要区别就是引入了vt，并且，每个时刻的vt受前一个时刻vt−1的影响。事实上，学习率的取值未必一定要是一个常数，关于这个值的设定有很多的研究。]]></description><category></category></item><item><title><![CDATA[第一章：【可视化工具项目实战】ROS jsk_rviz_plugins可视化插件介绍]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146958207</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146958207</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:46:33 +0800</pubDate><description><![CDATA[是一个为 RViz 提供额外插件的 ROS（机器人操作系统）包。功能概述提供了一系列原始的 RViz 插件、面板和工具，用户可以通过启动 RViz 来直接使用这些功能。具体插件：用于显示分割数组。和：用于显示边界框及其数组。CameraInfo：显示相机信息。Footstep：显示脚印。：显示人体骨骼数组。：显示线性仪表。Normal：显示法线。：在 RViz 界面上叠加文本。：显示人员位置测量数组。Pictogram：显示图形符号。PieChart：显示饼图。Plotter2D。]]></description><category></category></item><item><title><![CDATA[【项目实战】自动驾驶决策模块设计思路及代码解析]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146679986</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146679986</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:45:58 +0800</pubDate><description><![CDATA[首先根据当前位置获取当前车道的左右宽度，然后根据左右借道获取相邻车道的宽度（当然，fallback设定不借道），最后综合各因素，更新PathBound。依据原先设计好的规则，对各种path进行assess，排序得到最优的路径，并在规划路径上的采样点添加标签作为路径筛选的依据，并为速度规划提供限制。和上述的Process方法相对应。当参考线起点与终点距离小于某个阈值，说明没有办法规划出一条较长的路径，所以我们需要对终点添加stop fence ，这时候需要退出动态重规划的过程，而是在一段距离后停车。]]></description><category></category></item><item><title><![CDATA[轨迹非线性优化]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146995568</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146995568</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:45:05 +0800</pubDate><description><![CDATA[Voronoi图是在收到栅格地图的回调函数处理生成的，Voronoi图就是根据栅格地图障碍物代价生成的一系列原理障碍物的蓝色点路径，蓝色点路径和之前路径探索得到的路径是不完全吻合和，【防盗标记–盒子君hzj】使用蓝色点路径优化原有路径可以实现车辆也能很好地通过狭窄路段，使路径远离障碍物。voronoi 场表明到最近的 voronoi 边缘和最近的障碍物的距离。在stage 1的子节点扩张的过程中，路径会有一些额外的不必要控制动作（即steering），所以算法的第二个部分就是对生成点曲线进行平滑处理。]]></description><category></category></item><item><title><![CDATA[【全局路径规划模块图搜索算法】greedy best frist search贪心算法]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146995676</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146995676</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:44:28 +0800</pubDate><description><![CDATA[这个代码实现了一个基本的贪婪最佳优先搜索算法，用于在一个给定的网格中找到从起点到终点的路径。注意，这个实现仅适用于整数网格，并且假设网格中的数字表示高度。总的来说，贪婪最佳优先搜索通过优先考虑那些最有可能导向目标的节点，从而高效地找到最短路径。然而，这种方法并不保证总是找到绝对的最短路径，特别是在存在障碍物或其他复杂情况的地图中。这个函数通常基于一些已知的信息，比如实际距离、地形难度等，来估计到达目标的代价。（1）启发式的搜索会指导一个靠近目标点的正确方向【防盗标记–盒子君hzj】]]></description><category></category></item><item><title><![CDATA[【全局路径规划模块图搜索算法】Dijkstra算法]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146995679</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146995679</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:43:58 +0800</pubDate><description><![CDATA[在开集中，若是当前节点的邻节点将会被更新代价，若不是当前节点的邻节点其代价为无穷大。第二步：2.收录节点后遍历该节点的邻接节点，【防盗标记–盒子君hzj】更新计算n节点的所有临近节点m的代价值g(m)【防盗标记–盒子君hzj】第一步：从未访问的节点选择距离（代价）最小的节点收录，【防盗标记–盒子君hzj】g(n)表示从起点开始到当前节点的代价累加值（基于贪心思想）1、定义一个节点类，包含当前节点的位置、父节点、g值（从起点到当前节点的实际距离）和h值（从当前节点到目标节点的估计距离）。]]></description><category></category></item><item><title><![CDATA[【全局路径规划模块图搜索算法】A*算法]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146995693</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146995693</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:43:30 +0800</pubDate><description><![CDATA[（1）地图：在代价地图上进行路径探索（规划用到的地图格式和ros的格式不一样，是mat类型的（可以理解为一个二维数组，输入xy，判断对应的节点是以下那个状态nodetype【openlist、closelist、free、obstacle】））（2）节点信息储存的列表：openlist、closelist（3）节点信息：node【point、f_cost、g_cost、h_cost、parent_node】astar算法的理解。]]></description><category></category></item><item><title><![CDATA[【全局路径规划模块智能体算法】蚁群算法]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146995725</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146995725</guid><author>qq_35635374</author><pubDate>Mon, 07 Apr 2025 08:43:02 +0800</pubDate><description><![CDATA[感性分析蚂蚁走多了就有经验了！不断参考前车之鉴的思想进行迭代–是多只的蚂蚁去走【第一个循环】，走很多次【第二个循环】！蚁群算法常被用在全局路径探索，一方面是因为探索出来的路径比较粗糙，在复杂提点的场景一般不能直接用于执行。另一方面是只有在大地图（全局地图）中，蚁群算法的优势才能被显现出来。]]></description><category></category></item><item><title><![CDATA[【行为决策模块项目实战】第八章：Behavior Tree的Control Nodes功能及源码解析]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146980734</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146980734</guid><author>qq_35635374</author><pubDate>Sun, 06 Apr 2025 07:46:33 +0800</pubDate><description><![CDATA[BehaviorTree.CPP中内建的控制节点如下，都继承自 BehaviorTree.CPP\include\behaviortree_cpp_v3\control_node.h 中的ControlNode类。很明显，该类有多个子节点，其执行顺序就是控制节点的核心内容。默认子节点是从左到右执行。除了这些ControlNodes之外，其他开源库实现的个性化nodes，用起来也很方便，开发者可以自行导入。
FallbackNode也被成为Selector，适用于“如果子节点返回FAILURE该怎么办？”的场]]></description><category></category></item><item><title><![CDATA[决策的相关方法]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146679437</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146679437</guid><author>qq_35635374</author><pubDate>Sun, 06 Apr 2025 07:46:11 +0800</pubDate><description><![CDATA[1、简单的导航Dome只追求做处效果，没有产品化的要处理的复杂的细节，因此dome大都不会太注重决策模块的设计，只有业务发展到一定程度、要处理的场景十分复杂、算法功能是西安与调度相互冗余与冲突的时候，架构化的决策模块才体现出价值来。特点：树型决策结构更清晰（因为有明确的起始节点和目标阶段，不会有环形的多次循环），设计的代码量比FSM多，复杂的决策做好用库支持，简单的决策可通过移植库中的部分代码实现。本质：决策信息与规则都在行为树中，决策效率很取决于行为树的树型结构的设计（并行、串行、串并行结构）]]></description><category></category></item><item><title><![CDATA[【无人机实战】第二章：Ego Planner程序框架及代码解析]]></title><link>https://blog.youkuaiyun.com/qq_35635374/article/details/146682661</link><guid>https://blog.youkuaiyun.com/qq_35635374/article/details/146682661</guid><author>qq_35635374</author><pubDate>Sun, 06 Apr 2025 07:45:43 +0800</pubDate><description><![CDATA[上面生成的轨迹并不是B样条轨迹，接下来需要将其变成B样条轨迹（通过求解最小二乘问题获得B样条的控制带你来进行转换），该部分内容是通过调用parameterizeToBspline函数完成的，该函数的具体程序位于uniform_bspline.cpp文件中，该函数的输入参数中point_set是轨迹上的点，start_end_derivatives是起点和终点的高阶约束。在BsplineOptimizeTrajRefine函数中，调用了refine_optimize函数来执行具体的优化过程。]]></description><category></category></item></channel></rss>