
【5】机器人决策规划控制合集
文章平均质量分 91
本专栏会持续更新,结合本人在机器人、自动驾驶行业的研发经验,本专栏从运动学动力学、任务规划、动作规划、全覆盖路径规划、全局路径规划、局部路径规划、轨迹跟踪等角度出发,探讨机器人决策、规划、控制算法原理和项目实践。
RoboticsTechLab
一枚爱琢磨、愿意深耕的研发攻城狮,现从事于机器人、自动驾驶行业,不定期分享机器人、自动驾驶及工作经验相关内容,感谢关注!
展开
-
移动机器人规划控制合集导读
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对移动机器人规划控制合集做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-10-10 19:53:14 · 2144 阅读 · 0 评论 -
【基于曲线实现速度规划】double S梯形速度规划(附C++代码)
本文先对基于曲线实现速度规划、基于逻辑实现速度规划做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容1.介绍Double S规划也叫S形曲线规划,S轨迹也称作七段轨迹曲线,因此主要由七段函数构成。,Point to Point的直线速度规划2.图例位置曲线速度曲线加速度曲线加加速度曲线标记q0:起点q1:终点v0:初始速度v1:终点速度a0:初始加速度a1:终点加速度j0:初始加加速度j1:终止加加速度。原创 2024-11-08 08:22:57 · 317 阅读 · 0 评论 -
【速度控制】基于逻辑实现速度控制
跟踪减速和停车的控制,放到twist控制更底层的地方做,这样的安全性和稳定性,优先级都更加高。(2)传感器检测到前方有障碍物:篡改导航的twist控制指令,实现跟踪减速和异常停车的控制。(1)阶跃twist控制指令的加减速滤波:可以采用轻量化的滤波器实现。详细可看看我这篇twist指令分层控制。【基于逻辑的算术控制方法–速度控制】bool逻辑、算术逻辑、滤波器等等。原创 2025-02-07 21:59:50 · 812 阅读 · 0 评论 -
【基于曲线的速度规划】归一化七次多项式拟合实现速度规划
起点和目标点状态约束包括位置、速度、加速度。最大速度限制v {lim},最大加速度 a {lim},最大加加速度 j {lim}给定起点和目标点的状态约束与速度限制值,拟合生成两点之间的运动轨迹,该运动轨迹满足速度平滑且小于速度约束条件。,也可体现在运动总时间T和运动总长度与速度限制值的关系上(非归一化表达)T取等号时,归一化变量u处达到极值,即T取等号以达到时间最短的速度规划。无论上上面那种方法,都可得到连续平滑的归一化7次多项式。不同的起点和目标点的状态约束,解出来的系数是不一样的。原创 2025-02-07 21:54:29 · 854 阅读 · 0 评论 -
【基于曲线的速度规划】归一化五次多项式拟合实现速度规划、加速度规划
给定起点和目标点的状态约束与速度限制值,拟合生成两点之间的运动轨迹,该运动轨迹满足速度平滑且小于速度约束条件。起点和目标点状态约束包括位置、速度、加速度。最大速度限制v {lim},最大加速度 a {lim},也可体现在运动总时间T和运动总长度与速度限制值的关系上(非归一化表达)T取等号时,归一化变量u处达到极值,即T取等号以达到时间最短的速度规划。无论上上面那种方法,都可得到连续平滑的归一化5次多项式。不同的起点和目标点的状态约束,解出来的系数是不一样的。根据速度限制值与速度曲线表达式,原创 2025-02-07 21:44:44 · 843 阅读 · 0 评论 -
【基于曲线的速度规划】归一化三次多项式拟合实现速度规划
给定起点和目标点的状态约束与速度限制值,拟合生成两点之间的运动轨迹,该运动轨迹满足速度平滑且小于速度约束提奥健。,也可体现在运动总时间T和运动总长度与速度限制值的关系上(非归一化表达)T取等号时,归一化变量u处达到极值,即T取等号以达到时间最短的速度规划。无论上上面那种方法,都可得到连续平滑的速度曲线表达式和位置曲线表达式。不同的起点和目标点的状态约束,解出来的系数是不一样的。并使得,3次多项式轨迹的最大速度 v{max}根据速度限制值与速度曲线表达式,设:插补总长度L 、总运动时间T。原创 2025-02-07 21:24:33 · 840 阅读 · 0 评论 -
【机器人学】运动学基础
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加TODO:写完再整理文章目录系列文章目录前言一、运动学的理解二、运动学的目的三、位置运动学(1)位置的表示1)位姿表示原理2)位姿和相对位姿的概念3)不同坐标系下的位置表示(1)笛卡儿坐标【这个比较常用】(2)柱坐标(3)球坐标4)步骤(2)旋转的表示1)旋转原理2)旋转通过旋转矩阵表示(1)旋转矩阵原理(2)绕XYZ轴旋转方向的基本旋转矩阵(3)正交旋转矩阵(1)旋转矩阵的性质(2)主动旋转与被动旋转(4)旋转矩阵进行坐标原创 2021-11-03 08:47:07 · 4153 阅读 · 0 评论 -
【机器人学】动力学基础
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加TODO:写完再整理文章目录系列文章目录前言一、动力学的理解二、动力学目的三、正动力学问题四、逆动力学问题五、动力学基础理论1.牛顿第二定律2.虚位移(形变位移)(1)一般虚位移表达式(2)单刚体的虚位移表达式(3)多体系统的虚位移表达式3.虚功原理六、系统动力学模型描述方法1.介绍2.牛顿-欧拉方法(1)经典牛顿-欧拉法(2)单刚体的牛顿-欧拉法(3)多刚体系统的牛顿-欧拉法3.投影牛顿-欧拉方法【好】(1)介绍(2)广义原创 2021-11-03 20:11:08 · 1896 阅读 · 0 评论 -
【机器人学】常用的小车底盘运动学模型推导(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对小车底盘运动学模型介绍做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容对于小车的分析,仅仅考虑XY轴的线速度和Z轴的角速度,不考虑和横滚和俯仰的速度,【防盗标记–盒子君hzj】也不考虑Z轴的高度变化【即:车底盘的运动可以用三个独立变量来描述:x轴平动、y轴平动、yaw轴转动】原创 2023-07-09 12:17:10 · 1187 阅读 · 0 评论 -
【机器人学】eigen的使用及常用的位姿变换实现(附C++代码)
常用于坐标转换及线性函数求解【它仅仅是一个工具,懂得线性代数的运算原理和坐标转换的原理是基础】–一般用eigen定义的矩阵类型,也对应的矩阵加减乘除、数量积向量积,分块、取矩阵元素等运算。原创 2023-07-02 12:40:44 · 442 阅读 · 0 评论 -
【规控模块项目实战】决策规划控制方向的架构部署
无人车&无人机导航合集提示:以下是本篇文章正文内容我认为,任务决策模块比较偏业务层了,具体的根据机器人/无人驾驶业务层得需求进行设计根据业务量的复杂程度,选用不同的任务决策工具和方法,实现既能满足现在的业务需求,又能又一定的拓展性全局路径规划算法难度不算复杂,一般根据高精度地图、栅格地图或者其他地图格式,从出发点到目标点之间的纯几何路径规划,无关时间序列,无关车辆动力学(位置速度加速度),得到一条可通行的路径。原创 2021-10-24 16:35:51 · 3012 阅读 · 1 评论 -
【局部规划模块轨迹优化算法】分段路径优化的策略&非线性优化
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对分段路径优化的策略&非线性优化做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-10-27 16:11:43 · 180 阅读 · 0 评论 -
【局部规划模块图形学算法】计算机图形学计算的库介绍及调用
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对相关计算机图形学计算的库介绍做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容Polyscope被设计为一个轻量级的通用三维可视化库,不开源。主要用户界面显示、用于可视化界面,使用这个库成为项目的一部分,即可以实现rviz的可视化效果(类似于嵌套在项目中的代码实现rviz)原创 2023-07-06 17:05:56 · 486 阅读 · 0 评论 -
【局部规划模块曲线算法】路径曲线插值、拟合和逼近的区别
全局路径由一系列路径点构成,这些路径点包含空间位置信息,也可以包含姿态信息,但不需要与时间相关。轨迹则在路径的基础上加入了时间约束,轨迹点是一种特殊形式的路径点,它在路径点的基础上加入了时间信息。本文先对路径插值与抽稀篇做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容在选择插值、拟合或逼近方法时,需要考虑路径的用途、所需的精度以及计算资源的限制。对于需要高精度的应用场景,如精密制造或医疗手术,插值方法可能是首选。原创 2022-11-06 17:52:23 · 1124 阅读 · 0 评论 -
【局部规划模块路径插值算法】路径线性插值相关算法(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对**路径点线性插值方法**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容线性插值是用一系列首尾相连的线段依次连接相邻各点线性插值的特点是计算简便,但光滑性很差。如果用线性插值拟合一条光滑曲线,对每一段线段,原曲线在该段内二阶导数绝对值的最大值越大,拟合的误差越大。一次多项式就是直线拟合算法。常用的又线性差值算法和双线性差值算法选择哪种插值方法取决于具体的应用场景和需求。原创 2024-04-28 20:49:06 · 334 阅读 · 0 评论 -
【局部规划模块路径抽稀算法】常用的路径抽稀算法介绍(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对常用的路径抽稀算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容在处理矢量化数据时,记录中往往会有很多重复数据,对进一步数据处理带来诸多不便。多余的数据一方面浪费了较多的存储空间,另一方面造成所要表达的图形不光滑或不符合标准。因此要通过某种规则,在保证矢量曲线形状不变的情况下, 最大限度地减少数据点个数,这个过程称为抽稀。原创 2024-04-28 20:49:57 · 360 阅读 · 0 评论 -
【局部规划模块曲线算法】曲线平滑介绍
本文先对轨迹平滑问题做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容(1)适合给移动机器人运动的路径【满足运动学,高阶平滑】(2)高阶的运动学不能够突变的【至少三阶的加速度不能突变,最好四阶的jerk和五阶的snap也不能突变】(3)在转弯的地方不会停下来(4)加减速均衡,节省能量(5)节省时间的。原创 2022-04-15 16:12:58 · 5216 阅读 · 2 评论 -
【局部规划路径平滑算法】算术平滑滤波(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对算术滤波平滑的方式做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-28 20:53:56 · 190 阅读 · 0 评论 -
【局部路径规划模块滤波器算法】滤波器平滑(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对使用滤波器进行滤波平滑做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容(1)阶数越高,整定的参数越多,一般我用到三阶就差不多了(三阶已经有四个参数了)(2)如何选择高通、带通、低通滤波器主要看信号的特性。原创 2024-04-28 20:57:35 · 235 阅读 · 0 评论 -
【局部规划模块路径平滑算法】佛洛依德floyd路径平滑算法(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对**基于地图的平滑算法–佛洛依德路径平滑算法(FLOYD)**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-28 21:01:26 · 613 阅读 · 0 评论 -
【局部规划模块曲线拟合算法】曲线拟合的实现路径插值与平滑(附C++代码)
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加TODO:写完再整理文章目录系列文章目录前言(1)双圆弧轨迹插值拟合算法一、双圆弧轨迹插值拟合算法的应用场景二、双圆弧轨迹插值拟合算法的实现流程三、实现工具(2)正余弦曲线插值拟合算法一、正余弦曲线插值拟合算法--路径规划二、正余弦曲线插值拟合算法--速度规划(3)基于三次、五次多项式曲线拟合算法的路径插值及平滑1、直线插值、二次样条插值、三次样条插值生成路径效果对比2、三次样条插值的路径生成实现1.人为数学推导过程(代数的原创 2024-04-28 20:59:58 · 706 阅读 · 0 评论 -
【局部规划模块轨迹优化算法】优化理论实现路径平滑(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对**使用优化理论的方式**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-28 20:55:37 · 625 阅读 · 0 评论 -
【局部路径规划模块速度规划算法】基于曲线实现速度规划、基于逻辑实现速度规划(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对基于曲线实现速度规划、基于逻辑实现速度规划做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容1.介绍Double S规划也叫S形曲线规划,S轨迹也称作七段轨迹曲线,因此主要由七段函数构成。,Point to Point的直线速度规划2.图例位置曲线速度曲线加速度曲线加加速度曲线标记q0:起点q1:终点v0:初始速度v1:终点速度。原创 2023-07-10 10:39:44 · 666 阅读 · 0 评论 -
【局部规划模块路径采样算法】线性轨迹代价加权评分,轨迹多选一的局部规划思想
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对线性加权轨迹代价损失评分,轨迹多选一方法–DWA_planner、Open_Planner、lexicographic_planner做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容1、工程常用方法:线性加权法–如上面的计算路径长度和路径平均曲率两个目标的代价线性加权法并没有用到优化的知识–从多选优2、学术常用方法:利用了优化理论的NSGA、Pareto最前沿。原创 2023-07-10 10:39:12 · 595 阅读 · 0 评论 -
【局部规划模块路径采样算法】OpenPlanner规划算法(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对**【多选一】OpenPlanner规划算法**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容规划执行最优路径,同时避免障碍,触发行为例如在交通信号灯处停车将高清矢量地图和定位数据作为先验信息输入,在全局中,指定一个起点,一个终点,通过全局规划得到一条全局静态路径,全局路径规划在车辆启动或重启的时候被确定,一旦分配了全局路径,本地马上启动运动规划器。原创 2024-04-28 23:52:42 · 595 阅读 · 0 评论 -
【局部规划模块采样&轨迹优化算法】lexicographic_planner规划算法(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容open_planner更适合用于无人驾驶车道线场景,【防盗标记–盒子君hzj】lexicographic_planner更适合于农业的一垄一垄林场和仓库的场景,或者数原论文中阿无人船场景【属于replan局部规划的范畴,因为全局是给定路线的】1.优点。原创 2024-04-29 00:15:14 · 400 阅读 · 0 评论 -
【局部规划模块路径采样算法】lattice planner格子规划算法(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对**regular state lattice in unstructured environment(结合了全局采样和图搜索的思想)**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容regular state lattice的每个采样网格中都是用曲线连接起来的,改进了RRT的折线问题,规划出来的path更加平滑。原创 2024-04-28 20:36:25 · 1243 阅读 · 0 评论 -
【局部规划模块路径控制算法】基于控制的方法实现轨迹避障
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对基于控制的方法实现轨迹避障做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容更粗暴,算法理论更地一级的时方形绕障碍–匹配适合场景实现效果就行感知传感器用超声波雷达、毫米波雷达、激光雷达 、视觉等等距离传感器(1)DWA_planning是move_base默认的局部规划器(2)该算法思想比较简单,且ROS已经封装成以一个功能包,【防盗标记–盒子君hzj】比较容易部署与移植。原创 2023-07-10 10:38:33 · 814 阅读 · 0 评论 -
【局部规划模块路径控制算法】应激式BUG局部避障算法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对应激式BUG局部避障算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容更粗暴,算法理论更地一级的时方形绕障碍–匹配适合场景实现效果就行感知传感器用超声波雷达、毫米波雷达、激光雷达 、视觉等等距离传感器。原创 2024-04-29 00:14:58 · 769 阅读 · 0 评论 -
【局部路径规划模块地图算法】感知局部规划--似然场局部规划
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对感知局部规划做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-05-14 17:43:20 · 845 阅读 · 0 评论 -
【局部规划模块轨迹优化算法】基于优化理论实现轨迹形变的局部规划思想
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对梯度下降迭代优化使得轨迹形变方法–Teb_planner、无人机的硬软约束后端轨迹优化做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容核心原理:终点非均值滤波后得到的终点和理想终点的差值,通过二范数计算距离 cost=xx + yy【防盗标记–盒子君hzj】原创 2023-07-10 10:38:51 · 888 阅读 · 0 评论 -
【局部规划模块优化算法】常用的优化方法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对常用的优化方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-29 00:06:34 · 266 阅读 · 0 评论 -
【局部规划模块优化算法】求解优化问题工具库的使用教程
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对求解优化问题的工具库做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容核心原理:终点非均值滤波后得到的终点和理想终点的差值,通过二范数计算距离 cost=xx + yy【防盗标记–盒子君hzj】//计算最后一个吻合程度代价函数//核心原理:终点非均值滤波后得到的终点和理想终点的差值,通过二范数计算距离 cost=x*x + y*y//初始化代价值和梯度为0。原创 2024-04-29 00:07:54 · 219 阅读 · 0 评论 -
【局部规划模块轨迹优化算法】Teb_planner规划算法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对****做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容由于ROS中的局部路径规划器比较老了,所以我推荐大家使用比较新的局部路径规划器teb_local_planner。teb_local_planner是基于弹性时间带碰撞约束的算法,算法将动态障碍物、运行时效、路径平滑性等约束做综合考虑,在复杂环境下有更优秀的表现。原创 2024-04-29 00:08:58 · 586 阅读 · 0 评论 -
【局部路径规划模块地图算法】基于势场地图的VFH、VFH+、VFH*算法(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对基于地图的方法–VFH、VFH+、VFH*算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2023-07-10 10:39:34 · 1314 阅读 · 0 评论 -
【局部规划模块项目实战】基于Frenet车道线坐标系,结合DP探索、QP优化实现无人车速度轨迹生成并优化
本文先对基于Frenet车道线坐标系,采用DP探索、QP优化进行速度解耦局部规划做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2022-11-06 23:22:44 · 2620 阅读 · 0 评论 -
【局部规划模块轨迹优化算法】基于Frenet车道线坐标系,采用解耦mini_jerk的插值优化进行局部规划(附C++代码)
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对基于Frenet坐标系轨迹优化,车道线解耦采样五次多项式拟合做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容Frenet坐标系描述了汽车相对于道路的位置,S代表沿道路的距离,也称为纵坐标,L表示与纵向线的位移,也被称为横坐标,纵坐标表示在道路中行驶距离,横坐标表示汽车偏离中心线的距离。原创 2023-07-09 12:17:28 · 2865 阅读 · 0 评论 -
【局部规划模块轨迹优化算法】EM_planner最大期望滚动优化算法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对EM_planner最大期望滚动优化算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-04-29 00:29:38 · 546 阅读 · 0 评论 -
【局部路径规划模块项目实战】车道具体场景的设计核心思想
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对3、车道具体场景的设计核心思想做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容【ST纵向轨迹+SL横纵轨迹(时间T–纵向距离S–横向距离L)原创 2024-04-29 00:31:27 · 367 阅读 · 0 评论 -
【局部规划模块路径生成算法】生成局部路径的一些方法
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对根据运动速度推演运动轨迹的方法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。原创 2024-02-06 09:14:42 · 602 阅读 · 0 评论