移动机器人规划控制合集

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理

文章目录


前言

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!

本文先对移动机器人规划控制合集做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章


提示:以下是本篇文章正文内容

运动学与动力学基础知识导读

1、运动学基础–坐标转换

介绍运动学基础,包括位置运动学与速度(微分)运动学。其中
位置运动学包括多种位姿的表示方式及其转换、旋转的表示方式及其转换、位置和旋转结合表示方式(齐次变换矩阵T)、正逆运动学问题等等
速度(微分)运动学包括线速度的表示方式、角速度表示方式、线速度和角速度结合表示(刚体速度公式)、速度运动学问题、雅可比矩阵的作用等等、
最后介绍相关的实现工具–ROS_TF、eigen
https://blog.csdn.net/qq_35635374/article/details/121109733

(1)Eigen的使用及常用的位姿变换实现

介绍eigen的使用及常用的位姿变换实现
https://blog.csdn.net/qq_35635374/article/details/131499781

(2)小车底盘运动学模型介绍

介绍机器人底盘的模型正逆运动学的推导及代码实现,包括两轮差速底盘的运动学模型、三轮全向底盘的运动学模型、自行车模型/四轮阿克曼运动学模型、四轮差速运动学模型、四轮麦克纳姆林轮运动学模型等等
https://blog.csdn.net/qq_35635374/article/details/131614686

(3)三关节单足几何空间投影运动学建模方法

介绍三关节单足几何空间投影运动学建模方法
https://blog.csdn.net/qq_35635374/article/details/121997202

2、动力学基础

介绍动力学基础,包括动力学基础理论、正逆\动力学问题、系统动力学模型描述方法、浮基系统的动力学基础等等。其中,
动力学基础理论包括牛顿第二定律、虚位移(形变位移)等等。
系统动力学模型描述方法包括牛顿-欧拉方法、投影牛顿-欧拉方法、拉格朗日方法等等。
浮基系统的动力学基础包括能量损失、动力学方程、接触力估计模型、关节空间动态控制、任务工作空间动力学控制、浮基系统的逆动力学等等。
https://blog.csdn.net/qq_35635374/article/details/121128823

(1)四足机器人弹簧加载倒立摆(SLIP)动力学模型

介绍四足机器人弹簧加载倒立摆(SLIP)动力学模型
https://blog.csdn.net/qq_35635374/article/details/121131692

3、运动学模型和动力学模型的关系及应用

简述机器人控制中运动学模型和动力学模型的关系,介绍机器人建模原则及模型的选择。介绍常用的运动学求解器
https://blog.csdn.net/qq_35635374/article/details/121129528

4、四足机器人运动学、动力学模型介绍

介绍四足机器人运动学、动力学模型的建立,其中
运动学模型建立与描述的方法包括DH法、单足空间投影分析法、浮动基体运动学分析法等等
动力学模型建立与描述的方法包括VMC( Virtual Model Controller)模型法、SLIP模型法、浮动基体动力学分析法等等
https://blog.csdn.net/qq_35635374/article/details/121130614

机器人动作策略规划导读

1、无人驾驶/机器人规划方向综述

决策规划若不预先定义好业务场景按照流程来,必然存在决策规划风险
目前深度学习也好,传统的方案也好,自动驾驶做不到完全的人的思维能力,因为决策能力不足以实现复杂的推理,类比甚至是联想。要么过于保守的按照固定规则流程来,要么模糊决策存在风险

遵循交通规则去设计决策系统,比如,跟车要保持距离和一定速度,转弯让直行,比如不能随意变道,红绿灯,环岛,十字路口通过,都有相应的规则需要遵守;无人驾驶系统的开发者必须去实现这些规则;

简述无人驾驶/机器人的决策、路径规划、控制跟踪方向的理论方向和工程部署经验

机器人自主导航可以分成两个实现部分,第一个部分就是路径规划,第二个部分就是动作控制策略。
https://blog.csdn.net/qq_35635374/article/details/120926131

下面介绍无人驾驶/机器人的决策的常见业务场景,并介绍一些用于决策的工具,根据不同的工程及环境机工具特性选择合适的决策工具
https://blog.csdn.net/qq_35635374/article/details/120592768

2、基于规则的动作决策

决策规划模块难以为考虑到每一种特殊场景,因为现实中的业务场景几乎无穷无尽,目前无人驾驶工程师大部分工作都是在想办法cover一些测试中遇到的badcase,或者是做泛化;

人类的智能强就强在能推理,归纳,类比,联想举一反三。感知,规控的日常各种调参就是去用固定的规则去适配各种场景,各种badcase
固定的规则缺少泛化能力,写了一个规则把一个badcase覆盖过去了,场景一小变,又不好使了,甚至动一个参数这个badcase 混过去了,另外一个曾经已经pass的场景又挂了,跟打地鼠一样,按住这个洞,另外一个洞又露头了。

(1)微控制器或者linux系统平台的中断触发机制(ROS的话题、服务、action机制、定时器机制)方法

(2)编程语言C/C++等的条件语法if-else(switch)方法

(3)分层/有限状态机HFSM方法

(1)ROS的任务级状态机smach方法

(2)tinyfsm的方法
介绍tinyfsm的原理、使用 tinyfsm 的一般步骤及源码实现
https://blog.csdn.net/qq_35635374/article/details/137793485

(3)FSM/HFSM的方法
介绍有限状态机FSM设计方法及代码实现,着重分享了有限状态机FSM部署的一些经验
第一章:行为树的基本概念及behavior tree core源码分析
第二章:behavior tree行为树结构设计的技巧&BT与FSM对比结合
第三章:行为树behavior tree部署示例(源码移植、库实现、ROS1/ROS2平台)

(4)行为树behaviar tree方法

介绍行为决策树BT-Tree的原理、使用行为决策树BT-Tree的一般步骤及源码实现
https://blog.csdn.net/qq_35635374/article/details/138792622

(5)局部规划算法实现连续子动作规划

用轨迹规划的算法实现复杂的小范围动作逻辑决策效果,如通过dubins/RS曲线实现倒车复杂的前进与后退的动作规划,但不是所有的局部动作都用局部规划算法实现效果是最好的,如红外回充(基于动作规划和控制的方案就比局部规划灵敏度好)
https://blog.csdn.net/qq_35635374/article/details/138174730

3、基于transfor的动作规划

(1)MDP及行为决策模型(POMDP方)方法

(2)基于知识的推理决策方法

(3)强化学习(Reinforcement Learning, RL)

机器人全局路线规划导读

1、全局路径探索的介绍

介绍全局规划的定义,全局规划的方法有很多,包括曲线拟合的方法、基于图形结构的图搜索方法、采样的方法、特殊地图元素的方法、还有论文常用的智能算法(蚁群算法、动态规划DP等)。目的都是得到从出发点到目标点的一条可通行的路径

https://blog.csdn.net/qq_35635374/article/details/131612228

2、曲线拟合的方法–Dubins曲线与Reeds-Shepp曲线

机器人的运动底盘往往不能原地旋转,而在机器人运动控制过程中,机器人到达目标点是不仅要考虑起点与目标点的位置,还要考虑起点与目标点的姿态朝向。
本文介绍Dubins曲线与Reeds-Shepp曲线的理论推导和源码分析,实现机器人自主泊车的路径规划 。
https://blog.csdn.net/qq_35635374/article/details/131612386

3、基于定位的全局航线的录制方法

对于园区循迹机器人的全局规划,若没有地图和传感器的支持条件下,可仅仅使用定位录制全局路径。通过保存连续时间戳的机器人定位点作为全局路径,循迹的时候读取对应的保存全局路径的csv文件即可。
https://blog.csdn.net/qq_35635374/article/details/131612341

但因为录制过程是人为操控的,难免在录制过程中操作不当导致录制的全局路径歪歪扭扭,此时我们就要对全局路径进行平滑等后端处理,具体可参考下面的方法
https://blog.csdn.net/qq_35635374/article/details/126183829
https://blog.csdn.net/qq_35635374/article/details/131580926
https://blog.csdn.net/qq_35635374/article/details/138732734
因为业务的引入,我们需要规范录制的操作,此时我们需要对录制过程中的操作构建一个状态机,实现友好的人机交互效果,如定位不行暂停录制、录制中途放弃、录制中断继续,录制结束自动生成首尾连接路径、智能打点、边界平滑、边界擦除、边界内缩\外扩及平移等等操作
状态机的实现可参考下面的方法
https://blog.csdn.net/qq_35635374/article/details/138175048

4、基于地图的方法

(1)vector map

介绍vector_map矢量化地图的生成方法,并使用vector_map矢量化地图中的线元素作为全局路径(实现车道级导航),或通过vector_map矢量化地图中的元素使用图搜索的方式进行全局路径搜索(类似高德地图)
https://blog.csdn.net/qq_35635374/article/details/120920983
https://blog.csdn.net/qq_35635374/article/details/131612580

(2)Voronoi map

介绍Voronoi图的生成方法,并使用Voronoi Diagram进行路径规划,Voronoi Planner实现在地图中查找一条安全路径,最大程度的避开障碍物。最后对比Voronio Planner 与 采样思想的Sample Planner各自的算法特性。
https://blog.csdn.net/qq_35635374/article/details/138792314

5、图搜索基础知识介绍&图搜索基础算法举例【离散栅格化+图搜索】

介绍一种常用的全局路径探索的方法

先介绍图搜索基础知识,包括图的概念、规划配置空间(C-space)的概念、障碍物在配置空间中的表示方法,如何建立一张搜索图及图搜索算法的核心思想。

再介绍一些常用图搜索类算法,包括DFS\BFS类算法、贪心算法、Dijkstra和A*类算法、JPS跳点搜索算法等等。

最后介绍图搜索算法的工程落地及优化方向,包括地图分辨率影响图搜的路径算法效果、提高图搜索路径规划算法性能的方法等等。
https://blog.csdn.net/qq_35635374/article/details/131612431

1、DFS\BFS\DFS-ID路径搜索算法

介绍第一类经典遍历搜索的算法如何应用在全局路径上,详细分析遍历搜索的原理及源码,遍历搜索算法包括深度优先搜索算法Depth-First-Searching(DFS)、广度优先搜索算法Breadth-First Searching(BFS)、迭代加深的深度优先搜索算法Best-First Searching(DFS-ID),最后对比上述三种算法的特性。
https://blog.csdn.net/qq_35635374/article/details/138289669

2、贪心算法、Dijkstra和A*类路径搜索算法

介绍第二类带有启发式的遍历搜索的算法如何应用在全局路径上,详细分析遍历搜索的原理及源码,遍历搜索算法包括greedy best frist search贪心算法、Dijkstra算法(双向Dijkstra算法)、A*算法。最后对比上述三种算法的特性
https://blog.csdn.net/qq_35635374/article/details/138289726

3、jump point search(JPS)跳点搜索算法

介绍第三类非邻接节点的遍历搜索的算法如何应用在全局路径上,详细分析jump point search(JPS)跳点搜索算法的原理及源码。最后对比JPS算法和A*算法的特性。
https://blog.csdn.net/qq_35635374/article/details/138290157

4、考虑运动学的hybird A*算法

介绍第四类考虑机器人运动学的遍历搜索的算法如何应用在全局路径上,详细分析遍历搜索的原理及源码,遍历搜索算法包括hybird A*算法
https://blog.csdn.net/qq_35635374/article/details/138290261

https://blog.csdn.net/qq_35635374/article/details/140556845

5、考虑运动学的Kinodynamic A*算法

介绍第四类考虑机器人运动学的遍历搜索的算法如何应用在全局路径上,详细分析遍历搜索的原理及源码,遍历搜索算法包括Kinodynamic A算法、Kinodynamic RRT算法等等
https://blog.csdn.net/qq_35635374/article/details/139304348

6、构建一张图(graph)思想&采样基础算法举例(采样离散化+图搜索)

介绍一种常用的全局路径探索的方法,这种方法进行全局路径探索的速度较快
先介绍有向图结构的基础知识,包括通过离散控制空间进行采样的方法(control space search)建立有向图,通过离散状态空间进行采样的方法(state space search)建立有向图的步骤与优缺点分析。
在介绍常用的基于采样思想的相关算法与控制器,包括概率路线图probabilistic Roadmap搜索算法及其改进、快速探索随机树Rapidly exploring Random Trees算法及其改进、DWA_planner规划器、lattice_planner规划器等等。
https://blog.csdn.net/qq_35635374/article/details/131612495

1、Rapidly exploring Random Trees(RRT)类算法

介绍第一类基于纯采样的算法如何应用在全局路径上,详细分析算法搜索的原理及源码,遍历搜索算法包括基于采样的普通路径规划RRT(Rapidly Exploring Random Tree)算法、基于采样的最优路径规划RRT*(Rapidly Exploring Random Tree*)算法、偏重于得到路径后的优化–informed RRT*算法。最后对比上述三种算法的特性。
https://blog.csdn.net/qq_35635374/article/details/138290420

2、概率路线图probabilistic Roadmap搜索(结合了全局采样和图搜索的思想)

介绍第二类结合了全局采样和图搜索思想的算法如何应用在全局路径上,详细分析算法搜索的原理及源码,遍历搜索算法包括概率路线图probabilistic Roadmap搜索算法、lazy PRM懒惰障碍物检测算法。
https://blog.csdn.net/qq_35635374/article/details/138290462

3、regular state lattice in unstructured environment(结合了局部采样和图搜索的思想)

介绍第三类结合了局部局采样和图搜索思想的算法如何应用在全局路径上,详细分析算法搜索的原理及源码,遍历搜索算法包括在笛卡尔坐标系的regular state lattice算法、在frenet坐标系的Lattice算法,常常应用于车道线场景的变道和超车场景中。
https://blog.csdn.net/qq_35635374/article/details/138290492

7、智能算法的方法–蚁群算法、动态规划DP等

介绍全局路径规划中常用于论文研究的算法,详细分析算法搜索的原理及源码。包括蚁群算法、动态规划DP等。
最后扩展其他的智能搜索算法,包括遗传算法、粒子群算法、爬山算法、集束搜索(Beam Search)算法、与或树算法、双向搜索算法、模拟退火(SA)搜索算法、基于数学模型的算法、基于生物启发的算法、基于深度学习算法等等
https://blog.csdn.net/qq_35635374/article/details/131612641

8、覆盖式路径规划

覆盖式路径规划常用于扫地机、割草机的全覆盖扫地、拖地、割草等作业路径的规划,也常用于农业无人机的全覆盖喷播作业路径的规划。
本文介绍覆盖式路径探索(CCPP)的类型(工字形覆盖路径、回字形覆盖路径,分块弓回字形覆盖路径,十字交叉形覆盖路径等),介绍覆盖式路径探索需解决的关键问题和技术指标。
最后介绍覆盖式路径探索的常用方法。
https://blog.csdn.net/qq_35635374/article/details/127720478

机器人局部轨迹规划导读

图形运算专题

1、点、曲线与图形相关运算实现

介绍图形相关运算的原理及源码实现,包括角度的相关运算、向量的相关运算、点与直线的相关运算、线段的相关运算、多边形的相关运算、几何图形的生成运算、曲线的曲率及后处理相关运算等等,简单的运算可源码实现不必调用几何图形库实现,这样工程更高效!
https://blog.csdn.net/qq_35635374/article/details/126183829

2、相关计算机图形学计算的库介绍

先介绍计算机图形学库的类型、适用场景及优劣分析,包括polyscope C++库、Boost C++库、OpenMesh库、geometry-central库、CGAL库、opencv库、OpenCascade库、Visualization Toolkit库、VCG Library库等等

再介绍三方库的调用方法与步骤
https://blog.csdn.net/qq_35635374/article/details/131580926
https://blog.csdn.net/qq_35635374/article/details/138732734

3、点云数据处理

1、点云数据密度不规则需要平滑处理
2、去除因为遮挡等问题造成离群点
3、数据量较大,需要进行下采样( Downsample)
4、去除噪声数据。
直通滤波器

作用是在指定的维度方向上保留特定值域内的点,同时过滤掉不在这个范围内的点。这种方法特别适用于消除背景噪声或初步裁剪点云数据集,以限定在特定的感兴趣区域(ROI)内。
https://blog.csdn.net/qq_35635374/article/details/141361362

半径滤波器

用于识别并移除点云数据中离群点的一种有效方法
https://blog.csdn.net/qq_35635374/article/details/141363856

体素滤波器

体素滤波器是一种下采样的滤波器,它的作用是使用体素化方法减少点云数量,采用**体素格中接近中心点的点替代体素内的所有点云,是会移动点的位置。**这种方式即减少点云数据,并同时保存点云的形状特征,在提高配准,曲面重建,形状识别等算法速度中非常实用。
https://blog.csdn.net/qq_35635374/article/details/141333547

均匀采样滤波

相较于体素滤波,均匀采样滤波计算出的最终结果点云,不改变点云点的位置,保持其原始形态。均匀采样滤波因为有质心点复原到体素块这一步,因此速度会比体素滤波更慢些。
https://blog.csdn.net/qq_35635374/article/details/141362926

统计滤波器

统计滤波器用于去除点云数据中离群点的一种滤波方法。它通过统计分析技术来识别并移除那些与周围点距离较远的离群点,这些离群点可能是由于测量误差或其他原因产生的噪声点。
https://blog.csdn.net/qq_35635374/article/details/141363316

条件滤波器

用于根据特定条件筛选点云数据的一种方法。它通过设定一个或多个条件,对点云中的每个点进行评估,仅保留满足这些条件的点。
https://blog.csdn.net/qq_35635374/article/details/141364222

双边滤波器

双边滤波器的工作原理是基于空间邻近度和值相似度的加权平均。它对每个点的邻域内的点进行加权平均处理
https://blog.csdn.net/qq_35635374/article/details/141364500

2、路径插值与抽稀专题

路径插值与抽稀是互斥的两个功能,并介绍路径曲线插值、拟合和逼近的区别。
https://blog.csdn.net/qq_35635374/article/details/127718216

1、路径点线性插值方法

先介绍实现路径插值的相关算法,包括:线性/双线性插值算法、多项式曲线插值&平滑算法。
https://blog.csdn.net/qq_35635374/article/details/138290850

2、常用的路径抽稀算法

再介绍实现路径抽稀的相关算法,包括:步距抽稀算法、等长抽稀算法、垂直限制抽稀算法、道格拉斯-普克(Douglas-Peuker)DPR抽稀算法、去除共线点抽稀算法、基于曲率的路径抽稀算法等等。
https://blog.csdn.net/qq_35635374/article/details/138290872

3、路径平滑滤波与拟合专题

介绍轨迹平滑最优的考虑因素(即平滑的轨迹要考虑什么指标),作为轨迹平滑的引入,简单介绍轨迹平滑的一些常用方法,如算术滤波平滑的方法、滤波器平滑的方法、基于地图的平滑的方法、采用曲线拟合的进行插值与平滑的方法、使用优化理论的方式进行平滑的方法等等
https://blog.csdn.net/qq_35635374/article/details/124196808

1、算术滤波平滑的方式

介绍常用的算术滤波平滑的原理即源码实现,包括滑动窗口滤波算法、限幅滤波算法、中位值滤波算法、算术平均滤波算法、中位值平均滤波算法、一阶滞后滤波算法、加权递推平均滤波算法、消抖滤波算法、低通数字滤波算法等等
https://blog.csdn.net/qq_35635374/article/details/138290947

2、使用滤波器进行滤波平滑

https://blog.csdn.net/qq_35635374/article/details/138291056

3、基于地图的平滑算法–佛洛依德路径平滑算法(FLOYD)

常见的基于图搜索的的算法(如a*算法)会探索出有“锯齿”的路径,佛洛依德路径平滑算法能较好平滑“锯齿”的路径,因此常用于图搜索路径的后端处理。
https://blog.csdn.net/qq_35635374/article/details/138291161

4、使用曲线拟合的进行插值与平滑

特定类型的曲线具有各自的特性,不同的曲线函数性质可用于进行路径平滑与插值。
这里介绍了常用的曲线拟合方法原理及源码实现,包括双圆弧轨迹插值拟合算法、正余弦曲线插值拟合算法、三\五次多项式曲线(三\五次样条)拟合算法、贝塞尔曲线算法、B样条曲线算法等等

https://blog.csdn.net/qq_35635374/article/details/138291096

5、使用优化理论的方式进行平滑

介绍使用梯度下降与非线性优化两种方式进行路径平滑,其中使用梯度下降的方式进行路径平滑比较轻量化,使用非线性优化的方式进行路径平滑还可以考虑兼顾其他性能指标,因此更适合复杂的场景。

介绍mini_snap的时间分配曲线优化生成轨迹算法

介绍以梯度下降的方式进行路径平滑的常用方法,包括梯度下降(SGD)原理、随机梯度下降原理、共轭梯度下降算法、五点中值梯度下降算法、连续点之间转角的平方和梯度下降算法等等。
再介绍使用非线性优化的方式进行路径平滑的常用方法,包括Hybrid A*的后端轨迹优化算法、Apollo基于优化的全局路径平滑的二次规划QP算法等等

https://blog.csdn.net/qq_35635374/article/details/138291015

涉及优化的一些理论和部署可以进一步转战下面这个专栏
https://blog.csdn.net/qq_35635374/category_11745384.html

4、速度规划专题

1、介绍基于逻辑实现速度规划和基于曲线实现速度规划的两种速度规划方法

介绍基于逻辑实现速度规划和基于曲线实现速度规划的两种速度规划方法,其中基于逻辑实现速度规划的方法,车速优先响应传感器数据,进而安全性问题依赖硬件传感器而不是依赖算法。
基于曲线实现速度规划的方法先介绍double S直线速度规划
https://blog.csdn.net/qq_35635374/article/details/131613027

2、基于Frenet车道线坐标系,速度解耦进行局部规划专题

(1)在ST图中进行横纵速度轨迹探索&优化

针对自动驾驶车的场景,介绍基于Frenet车道线坐标系下,进行横纵速度轨迹探索&优化
第一套思想:在笛卡尔坐标系进行路径规划,路径映射到st图和lt图上(变成了速度轨迹),障碍物也映射到st图和lt图上,对速度轨迹进行形变优化,得到优化的速度输出

第二套思想:障碍物也映射到st图和lt图上,在st图和lt图上做速度采样,生成速度轨迹(簇),通过平滑速度轨迹曲线,得到优化的速度输出(步骤更简单,因为用简单速度采样的方式代替了路径规划)

案例一:在Frenet车道线坐标系下,使用Jerk最优化问题在ST图中对规划出来的速度轨迹进行平滑,实现局部规划的动态效果
https://blog.csdn.net/qq_35635374/article/details/127720450
案例二:在Frenet车道线坐标系下,先使用DP的算法进行速度轨迹探索,再使用QP优化的方式在ST图中对规划出来的速度轨迹进行平滑,实现局部规划的动态效果
https://blog.csdn.net/qq_35635374/article/details/131613432

(2)EM_planner最大期望滚动优化算法

介绍EM_planner实现的流程,包括期望最大化Expectation Maximum的最优理论、EM_planner的optimizer具体的步骤、EM_planner的程序流程及关键步骤
https://blog.csdn.net/qq_35635374/article/details/138296059

(3)车道具体场景的设计核心思想

从场景需求出发,介绍车道具体场景的设计核心思想,包括实现变道、超车、切车并道的场景需求等等
https://blog.csdn.net/qq_35635374/article/details/138296092

5、线性加权轨迹代价损失评分,轨迹多选一专题

介绍局部路径规划的第一种核心思想:通过设计多项子代价损失函数,并对子代价损失函数代价归一化后进行线性加权,根据代价评分轨迹多选一的轨迹优化设计思想。
并介绍该局部路径规划思想的应用案例及步骤,包括DWA_planner规划算法、OpenPlanner规划算法等等。
进一步介绍该局部路径规划思想结合图搜索路径探索思想和后端非线性优化的算法:lexicographic_planner规划算法等等。
https://blog.csdn.net/qq_35635374/article/details/127755905

1、滑动窗口DWA_planner

介绍了DWA_planner规划算法的原理、源码分析、工程部署经验及算法优缺点
https://blog.csdn.net/qq_35635374/article/details/138295599

2、【多选一】OpenPlanner规划算法

介绍了OpenPlanner规划算法的原理及导航整体框架、源码分析、工程部署经验及算法优缺点,作为导航的知识补充,还介绍了行为状态生成器进行导航决策
https://blog.csdn.net/qq_35635374/article/details/138295437

3、lexicographic_planner

介绍一种结合了局部局采样和图搜索思想的算法如何应用在局部路径上,介绍了lexicographic_planner规划算法的原理及整体流程、源码分析、工程部署经验及算法优缺点
https://blog.csdn.net/qq_35635374/article/details/138295476

4、regular state lattice in unstructured environment

介绍一种结合了局部局采样和图搜索思想的算法如何应用在局部路径上,详细分析算法搜索的原理及源码,遍历搜索算法包括在笛卡尔坐标系的regular state lattice算法、在frenet坐标系的Lattice算法,常常应用于车道线场景的变道和超车场景中。
https://blog.csdn.net/qq_35635374/article/details/138290492

6、基于控制的方法实现轨迹避障专题

介绍局部路径规划的第二种核心思想:基于控制的方法实现轨迹避障。
并介绍该局部路径规划思想的应用案例及步骤,包括基于超声波与碰撞的几何方形绕障算法,BUG绕障算法、DWA_planner规划算法、飞思卡尔相机识别灰度障碍物与PID巡线控制算法等等
https://blog.csdn.net/qq_35635374/article/details/131612680

1、应激式BUG局部避障算法

介绍了BUG规划算法的原理、源码分析、工程部署经验及算法优缺点
https://blog.csdn.net/qq_35635374/article/details/138295570

2、滑动窗口DWA_planner

介绍了DWA_planner规划算法的原理、源码分析、工程部署经验及算法优缺点

https://blog.csdn.net/qq_35635374/article/details/138295599

3、感知控制的似然场局部规划

介绍了一个深层的神经网络来模仿人类的运动模式的避障控制算法,还有基于感知数据局部路径的避障控制算法
https://blog.csdn.net/qq_35635374/article/details/138792157

https://blog.csdn.net/qq_35635374/article/details/139304967

7、基于优化理论,梯度下降迭代优化使得轨迹形变专题

介绍局部路径规划的第三种核心思想:通过设计多项子代价损失函数,对一条路径进行非线性优化使其发生形变,实现障碍物避让的设计思想和设计步骤。
并介绍该局部路径规划思想的应用案例及步骤,包括Teb_planner规划算法、硬约束(飞行走廊)轨迹优化算法、软约束轨迹优化算法
https://blog.csdn.net/qq_35635374/article/details/131613564

2、常用的优化方法

作为知识引入,简单介绍常用的优化方法,包括基于梯度下降(Gradient)算法、基于无梯度(导数)的优化算法、凸优化的优化算法
https://blog.csdn.net/qq_35635374/article/details/138295668

3、求解优化问题的工具库

作为工程部署经验引入,简单介绍常用求解优化问题的工具库的使用步骤
https://blog.csdn.net/qq_35635374/article/details/138295722

4、Teb_planner

介绍了Teb_planner规划算法的原理、源码分析、工程部署经验及算法优缺点
https://blog.csdn.net/qq_35635374/article/details/138295741

5、硬约束(飞行走廊)轨迹优化

介绍了无人机硬约束(飞行走廊)轨迹优化规划算法的原理及算法优缺点
https://blog.csdn.net/qq_35635374/article/details/138295763

6、软约束轨迹优化(把硬约束转换成软约束)

介绍了无人机软约束轨迹优化规划算法的原理及算法优缺点
https://blog.csdn.net/qq_35635374/article/details/138295789

8、基于地图的方法–VFH、VFH+、VFH*算法专题

介绍局部路径规划的第四种核心思想:基于人工势场图做局部路径规划,首先介绍什么是人工势场,在介绍常用的基于人工势场图的局部路径规划算法,包括Virtual Force Field (VFF)算法、VFH+算法、VFH*算法的原理及代码实现

https://blog.csdn.net/qq_35635374/article/details/131613118

9、生成局部路径的专题

https://blog.csdn.net/qq_35635374/article/details/135100460

10、优化理论拓展阅读专题

https://blog.csdn.net/qq_35635374/category_11745384.html

局部规划各算法性能分析

1、基于采样的路径规划失败率会比基于图搜索的路径失败率要高

2、基于状态空间的采样方法效果比基于控制空间的方法好,不会出现频繁的打角不稳定情况(固定参数的控制采样就是降维成空间采样)

3、基于优化的方法算力要求较高,但适应性能也较好(基本不会出现跳变),基于优化理论的规划算法比较依赖算力且容易出现发散过不了安全检查的问题

触发局部避障的条件

1、pure_pursuit做采样DWA做安全检查,pure_pursuit安全检查失败才用DWA做状态空间采样
2、执行路径是否被占据做安全检查

规控效果的保证由业务决策逻辑、动作决策逻辑、路径规划精度、执行控制精度共同决定

机器人轨迹跟踪控制导读

1、小车底盘运动学模型介绍

介绍机器人底盘的模型正逆运动学的推导及代码实现,包括两轮差速底盘的运动学模型、三轮全向底盘的运动学模型、自行车模型/四轮阿克曼运动学模型、四轮差速运动学模型、四轮麦克纳姆林轮运动学模型等等
https://blog.csdn.net/qq_35635374/article/details/131614686

2、路径跟踪方法一:PID控制算法实现路径跟踪

以小车线速度控制及方向角度控制为实验平台,飞思卡尔的方法

介绍PID单/环PID反馈控制器、位置式PID与增量式PID算法及代码实现。

作为控制效果优化还介绍PID反馈控制器结合前馈控制器的原理及代码实现、PID控制器的抗积分饱和的原理及代码实现、PID控制器微分项的滤波原理及代码实现。
https://blog.csdn.net/qq_35635374/article/details/131614738

3、路径跟踪方法二:特定场景下逻辑路径巡线控制器

介绍特定场景下逻辑路径巡线控制器,包括顶点停车控制器、自动泊车控制器、巡直线控制器、巡曲线控制器等等
https://blog.csdn.net/qq_35635374/article/details/131614801

4、路径跟踪方法三:pure_pursuit纯跟踪算法代码实现

介绍pure_pursuit纯跟踪算法原理及代码实现,重点分享pure_pursuit纯跟踪算法的部署、经验及优缺点分析
https://blog.csdn.net/qq_35635374/article/details/131614833

5、路径跟踪方法四:stanley算法

介绍stanley算法实现路径跟踪原理及代码实现,重点分享stanley算法部署步骤
https://blog.csdn.net/qq_35635374/article/details/131614862

6、路径跟踪方法五:线性二次调节器(LQR)

介绍线性二次调节器(LQR)算法实现路径跟踪原理及代码实现,重点分享线性二次调节器(LQR)算法推导步骤,算法对比分析优缺点
https://blog.csdn.net/qq_35635374/article/details/131614905
https://blog.csdn.net/qq_35635374/article/details/141269236

7、路径跟踪方法六:模型预测控制(MPC)

介绍模型预测控制(MPC)控制器的核心思想,并介绍使用模型预测控制(MPC)算法实现车辆路径跟踪原理及代码实现,重点分享模型预测控制(MPC)算法推导步骤
https://blog.csdn.net/qq_35635374/article/details/131614929
https://blog.csdn.net/qq_35635374/article/details/120707364
https://blog.csdn.net/qq_35635374/article/details/121177403

8、路径跟踪方法七:使用基于栅格地图的DWA采样、基于似然场的采样避障算法

介绍基于控制空间采样核心思想的滑动窗口(DWA)算法基本原理,并使用滑动窗口(DWA)算法部署车辆路径跟踪及代码实现。

https://blog.csdn.net/qq_35635374/article/details/131615002
https://blog.csdn.net/qq_35635374/article/details/138295599

作为类似核心思想的算法改进,进一步介绍一种不基于栅格地图而是基于概率的似然场的快速避障及跟踪算法
https://blog.csdn.net/qq_35635374/article/details/139304967

9、路径跟踪模式:pure_pursuit与原地旋转结合实现

介绍路径航向角yaw规划,用于处理仅仅使用上述跟踪算法的实现过程中,路径误差收敛比较慢,导致跟踪误差比较大的coner case问题
https://blog.csdn.net/qq_35635374/article/details/131615038

介绍上述跟踪算法与车辆旋转两种控制器的结合,并通过参数的设置,实现迫近期望路径的平滑连续路径跟踪和到点期望路径的精确路径跟踪两种模式
https://blog.csdn.net/qq_35635374/article/details/135091307

10、路径跟踪模式:HFSM多控制器管理与切换的方法

面对复杂路径和场景,仅仅使用一种路径跟踪算法的泛化能力往往不能满足全部业务场景。我们经常根据不同场景设计车辆的不同控制器,此时,要满足全部场景的路径跟踪性能要求,我们就要根据不同场景实现不同控制器的切换,此时就要用上有限状态机FSM甚至是分层优先状态机HFSM等等
https://blog.csdn.net/qq_35635374/article/details/121745509

11、无人车线控底盘开发

介绍无人车线控底盘控制的基本原理,包括了解无人车硬件架构设计、线控转向系统设计、线控制动系统设计、线控动力系统设计及底盘哥控制器与传感器的CAN通讯等等
https://blog.csdn.net/qq_35635374/article/details/121180713

12、机器人红外回充控制

https://blog.csdn.net/qq_35635374/article/details/140556683

扩展阅读

对控制理论的理解

https://blog.csdn.net/qq_35635374/article/details/124134979

关节阻抗控制

https://blog.csdn.net/qq_35635374/article/details/121174843

提高控制的稳定性能的方法

https://blog.csdn.net/qq_35635374/article/details/121762304

动态调整参数的方法

https://blog.csdn.net/qq_35635374/article/details/136498389


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盒子君~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值