- 博客(30)
- 问答 (1)
- 收藏
- 关注
原创 2.2.3 - 3D混合搜索算法(以Voronoi为例) - Python运动规划库教程(Python Motion Planning)
本文介绍了Python运动规划库中Voronoi Planner的使用方法。该混合搜索规划器通过创建Voronoi地图,并基于A*等基础算法进行路径规划。文章提供了完整的代码示例,展示如何设置起点、终点,规划路径并可视化结果。关键参数包括base_planner用于指定基础规划器,base_planner_kwargs传递参数。示例中还演示了随机生成3D障碍物地图、路径规划执行及结果可视化过程,包含路径坐标点、长度、扩展节点等详细信息。
2026-03-12 20:22:35
35
原创 2.2.2 - 3D采样搜索算法(以RRT和RRT*为例) - Python运动规划库教程(Python Motion Planning)
本文介绍了使用Python运动规划库实现RRT路径规划的方法。首先需要创建地图并设置起点终点,然后初始化RRT规划器进行路径规划,返回路径坐标和详细信息(包括成功状态、路径长度等)。文中提供了3D可视化代码示例,可展示地图、路径和扩展树。同时说明了如何在离散空间规划,以及RRT*等优化算法的参数设置。完整代码展示了从地图构建到路径规划及可视化的全过程,适用于三维空间的运动规划任务。
2026-03-12 20:20:16
272
原创 2.2.1 - 3D图搜索算法(以A*为例) - Python运动规划库教程(Python Motion Planning)
本文介绍了使用Python运动规划库进行3D路径规划的方法。首先定义起点(25,5,5)和终点(5,25,25),然后创建栅格地图并随机生成75个障碍物。使用A*算法进行路径规划,输出规划路径和详细信息,包括路径长度(40.1)和扩展节点数。最后通过3D可视化展示规划结果,包含起点、终点、障碍物和规划路径。完整代码演示了从地图创建、障碍物设置到路径规划和可视化的完整流程。
2026-03-12 20:14:38
24
原创 2.1 - 3D栅格地图 - Python运动规划库教程(Python Motion Planning)
本文介绍了使用Python Motion Planning库进行3D路径规划的基础操作。首先通过设置随机种子确保结果可复现,然后导入相关库并创建31x31x31的栅格地图。通过添加75个随机障碍物并进行3格膨胀处理,生成测试环境。文章详细说明了栅格地图的坐标系转换原理,并提供了可视化检查3D网格地图的代码示例。最后介绍了如何保存3D可视化结果,指出需要关闭交互模式并注释show()方法。完整代码展示了从地图创建到可视化的全流程,为后续路径规划算法实现奠定了基础。
2026-03-12 20:07:01
38
原创 1.3 - 路径跟踪控制算法(以PurePursuit和DWA为例) - Python运动规划库教程(Python Motion Planning)
本文介绍了Python运动规划库中路径跟踪控制器的使用方法。主要内容包括:1)将全局路径规划器生成的栅格地图坐标转换为世界坐标系浮点数坐标;2)创建2D物理仿真环境并添加圆形机器人和差速驱动机器人;3)为机器人配置PurePursuit路径跟踪控制器;4)启动仿真并可视化运行结果,包括轨迹跟踪效果和性能指标(如路径长度、导航误差等)。文章提供了完整的代码示例,展示了如何实现从路径规划到运动控制的完整流程,并通过可视化工具直观呈现机器人的运动轨迹和性能评估结果。
2026-03-12 19:56:32
467
原创 1.2.3 - 混合搜索算法(以Voronoi为例) - Python运动规划库教程(Python Motion Planning)
本文介绍了使用Python运动规划库中的Voronoi Planner进行路径规划的方法。该规划器通过创建Voronoi地图并基于A*算法(可替换)进行路径搜索。示例代码展示了如何设置起点、终点和障碍物地图,并可视化规划结果。规划器成功找到了一条80.28单位长度的路径,输出包含路径坐标、成本等信息。文章还提供了完整的可运行代码,包括地图初始化、障碍物设置和结果可视化步骤,并提示可查阅官方文档了解更多规划器参数设置。
2026-02-23 14:28:17
256
原创 1.2.2 - 采样搜索算法(以RRT和RRT*为例) - Python运动规划库教程(Python Motion Planning)
本文介绍了使用Python运动规划库实现RRT路径规划的方法。首先创建包含障碍物的地图,设置起点和终点,通过RRT算法规划路径,返回路径坐标和详细信息(包括成功率、路径长度等)。代码演示了连续和离散两种规划模式,并提供了可视化方法展示规划结果和扩展树。对于RRT*等优化算法,可通过参数配置获取更优路径。完整代码展示了从地图构建到路径规划、结果输出的完整流程,为运动规划提供了实用参考。
2026-02-23 14:24:02
452
原创 1.2.1 - 图搜索算法(以A*为例) - Python运动规划库教程(Python Motion Planning)
本文介绍了基于A算法的路径规划实现方法。首先定义了起点(5,5)和终点(45,25)坐标,并将其标记在栅格地图上。通过创建A规划器进行路径搜索,返回包含路径坐标点和规划信息的字典(包括成功标志、路径长度、代价等)。最后使用可视化工具展示规划结果,包括栅格地图、障碍物膨胀处理和最终路径。完整代码展示了从地图构建、路径规划到结果可视化的完整流程,适用于二维空间中的运动规划问题。
2026-01-16 12:17:58
283
原创 1.1 - 2D栅格地图 - Python运动规划库教程(Python Motion Planning)
栅格地图是路径规划领域最常用的一种地图形式。世界坐标系是描述机器人与环境在真实世界中的全局坐标系,而栅格地图坐标系是用于栅格地图表示的局部或离散坐标系,通常与地图分辨率和索引相关。bounds参数定义离散栅格地图在世界坐标系的范围。随后会结合分辨率参数自动计算出栅格地图的大小。Grid类的分辨率默认是1,因此计算出来的离散栅格地图尺寸是51*31格。膨胀障碍物,以防止路径规划器规划的路径过于靠近障碍物。创建栅格地图后,我们为其添加一些障碍物用于测试路径规划器。定义栅格地图并添加障碍物。
2026-01-16 11:59:48
114
原创 0 - 简介与安装 - Python运动规划库教程(Python Motion Planning)
本仓库提供Python实现的运动规划算法,包含路径规划和轨迹规划两部分。主要功能包括:基于栅格的路径规划算法(如Dijkstra、A*、RRT等)、路径跟踪控制器(PID、Pure Pursuit等)、2D/3D可视化工具以及简易物理仿真器。支持多智能体测试,提供圆形机器人和差速机器人两种模型。仓库结构清晰,包含路径规划器、控制器和曲线生成器等模块,可通过pip安装使用。
2026-01-16 11:18:15
712
原创 解决safetensors_rust.SafetensorError: Error while deserializing header: HeaderTooLarge
报了很长一段错,结尾是safetensors_rust.SafetensorError: Error while deserializing header: HeaderTooLarge。git clone https://模型仓库地址。
2025-07-02 16:53:42
777
原创 网络综合实验-Sniffer工具(有完整代码)
提交材料要求:6. 可运行的 sniffer 工具(包含可执行文件、源代码、使用配置说明);7. Sniffer 工具的技术报告(报告包含设计、实现和测试各阶段的内容)。
2025-04-18 16:28:41
635
原创 深度强化学习DDPG实现路径跟踪(局部规划器)方法讲解与PyTorch代码实现
DDPG是一种Actor-Critic方法,它有一个策略网络(演员),一个价值网络(评委)。策略网络(Actor)控制智能体做运动,它基于状态sss做出动作aaa,记为μs\mu(s)μs,输入连续的状态空间,输出每一个动作的确定值。价值网络(Critic)不控制智能体,只是基于状态sss给动作aaa打分,记为qsaq(s,a)qsa,输入连续的状态+动作,输出评分,从而指导策略网络做出改进。在PyTorch代码实现中,我们可以用简单的。
2024-05-24 16:08:52
7627
47
原创 题解 CF1954D Colored Balls
对于单个set方案,每次分group时,如果有不同颜色可以把两个球分到同一个group,如果只剩一个颜色则只能一个球一个group。那么最优的分法是每次数量最少的球和数量最多的球分同一个group,直到分完或者分到只剩一种颜色的球,如果只剩一种颜色则这些球每一个成一个group。由于排过序,遍历到的时候保证是set中数量最多的颜色的球的数量,则每一次访问一个状态要对结果加上。种,我们不可能一个一个枚举,这种涉及到求方案数的题可以考虑DP。是方案里数量最多的颜色的球的数量,一种可行的状态转移函数是,
2024-04-19 19:34:36
815
1
原创 ANYA:一种最优任意角度在线2D寻路算法(论文解读+伪代码)
ANYA算法是一种用于任意角度路径规划的算法。ANYA算法的关键优势在于其能够在线处理查询,即不需要预先的数据处理步骤,且始终能够找到最优路径。经典的任意角度路径规划算法有Theta*等,相比A*等算法,它们规划出来的路径角度不受地图的栅格限制,而且路径长度通常更短,很适合用于机器人和游戏中的路径规划,详情请参考维基百科。传统的路径规划方法通常只考虑栅格上的离散点,并通过后处理步骤来优化路径长度和外观。然而,这些方法存在一些局限性:它们通常只能产生近似最短路径,并且在计算上更为复杂。
2024-01-30 16:57:18
1585
原创 RVSC右心室分割挑战-UNet注意力,UNet++,U2Net实现
如果对你有帮助可以给个小星星哦~。RVSC原始资料(含介绍,数据集,matlab评测程序等)下载地址:链接:提取码: yx13RVSC数据集(仅含数据集,不含其它资料,已整理好,可以直接运行预处理)下载地址:链接:提取码: 6h2i本文不讲解模型原理,只介绍实验过程,如有需要可在网上搜索其它文章学习。
2024-01-27 14:59:51
2144
9
原创 qemu源码configure配置出错scripts/symlink-install-tree.py
将scripts/symlink-install-tree.py修改为如下代码即可解决问题。
2024-01-15 18:03:23
883
原创 《智能系统》课程实验-产生式系统推理
正向推理是最复杂的,因为它可能会出现自相矛盾的事实。比如在老虎的特征之上再加上“会飞”,出现了一个规则库中不存在的生物体,对此,我们只能输出组合结论“会飞的老虎”。写完代码后,我给助教老师检查了两次。反向推理以及规则的增删改没有什么问题,就只有正向推理出问题。第一次在老虎的特征基础上加上“会飞”特征,我的程序推导出“老虎”,但现实中显然不存在有“会飞”特征的“老虎”,我的算法需要修改。第二次给助教老师检查,我使用了“概率”或“特征符合率”来描述推导出最优结论与特征的符合率。
2024-01-06 01:29:41
2151
4
原创 强化学习课程知识点总结
本总结是本人复习《强化学习》课程,准备其考试时自己手打的总结。不保证系统性、准确性和时效性,仅用于应试,因追求精简而省略了很多内容,如需系统学习请使用正式教材。CH1 介绍1.1 RL问题描述观点1 强化学习就是学习“做什么”才能使得数值化的收益最大化。观点2 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。特点没有监督者,只有收益信号延时收益数据是按时间连续的,不独立同分布智能体的行动有长期效应,会影响之后接收的数据1.2 RL基本概念1.2.1
2024-01-06 01:27:08
1001
原创 LLM微调实现特定任务(以CHIP2021-Task3中文临床术语标准化任务为例)
临床术语标准化任务是医学数据统计分析中不可或缺的一项任务。临床上,关于同一种诊断、手术、药品、检查、化验、症状等往往会有成百上千种不同的写法。标准化(归一)要解决的问题就是为临床上各种不同说法找到对应的标准说法。有了术语标准化的基础,研究人员才可对电子病历进行后续的统计分析。本质上,临床术语标准化任务也是语义相似度匹配任务的一种。但是由于原词表述方式过于多样,单一的匹配模型很难获得很好的效果。
2023-12-05 00:43:09
2198
3
原创 第k个格雷码为k xor (k>>1)的简单理解证明
大神没有给出详细的证明,评论区也没看到证明,我在网上也找不到证明,于是自己证了一波(不会是前无古人吧,但我真的找不到其他人的证明了,百科上甚至没有这个结论,如果有前人的证明请告诉我,我信息检索能力不太行QWQ),并且给出一种可能的推出这个结论的思路(当然蒟蒻没有看到结论之前是想不出的QWQ)。如果k的最低位为0,则k+1最低位为1,没有产生进位,此时要使式子只有一位为1,将k和k+1异或即可,我们假设不知道这个结论,我们寻找一种结论来用k表示Gk。如果k的最低位为1,则k+1最低位为0,此时发生了进位。..
2022-08-02 22:50:17
1053
4
原创 Codeforces 1249E By Elevator or Stairs?最简单题解
每次更新完f[i],也要更新一下mb,使得最后一次坐电梯时间总是最小的。要求f[i],我们就求最后一次是走楼梯或是坐电梯的最小时间。f[i-1]+a[i]就是最后一次是走楼梯的最小时间。虽然说可以往下走,但易证要求最短时间肯定只能往上走。mb+b[i]表示最后一次是坐电梯的最小时间。f[i]表示答案,即到每个楼层最短时间。...
2022-07-20 10:21:59
698
原创 因路径乱码使InstallShield Wizard安装包打开“出现1155错误,文件xxx.msi未找到“的解决方式
我遇到的错误如下图:之前改过日文系统,现在出现路径乱码,使得.exe安装包无法正常运行。上网针对InstallShield搜索,也查不到相关解决方法。于是改变思路,想着怎么去掉这个乱码,又继续上网搜索。琢磨了两个小时,发现把控制面板→区域→区域设置里的Beta版的√去掉就好了,乱码没了。...
2022-04-19 17:42:14
5103
7
原创 将其它进制整数转换为对称三进制数的算法(用1/0/-1表示,可应用在三进制计算机上)
对称三进制数的对称即相反数的一致性,因此它就和二进制代码不同,不存在无符号数的概念。这样,三进制计算机的架构也要简单、稳定、经济得多。其指令系统也更便于阅读,而且非常高效。在一般情况下,命题不一定为真或假,还可能为未知。在三进制逻辑学中,符号1代表真;符号-1代表假;符号0代表未知。本文章中,为了方便表示,我们用符号’-'表示-1。以下代码中,Ternary(int x)函数是算法的关键代码。定义Ternary类:class Ternary{private: char num[25];//数字
2022-02-27 18:20:44
976
原创 C++实现复数类complex以“a+bi“形式的读入与输出
主要是因为STL自带的complex类不支持按这种方式读入,又不想重新写一遍整个类,于是就写了这个读入函数。有BUG欢迎反馈
2022-02-16 15:40:51
1687
原创 有理数类的一种实现
int gcd(int x, int y){ return x%y?gcd(y,x%y):y;}struct rational{ int numerator,denominator; rational(){ initialization(); } rational(int _numerator){ numerator = _numerator; denominator = 1; } rational(int _numerator, int _denominator
2022-02-10 18:16:08
294
原创 利用矩阵判断二元关系的传递性的简易方法
有任何问题欢迎指出。参考教材:离散数学及其应用Discrete Mathematics and its Applycations the Eighth Edition by Kenneth H.Rosen
2021-11-09 12:34:45
2194
原创 对SG函数(Sprague-Garundy函数)及其应用的简单解释与证明
前置知识:Nim博弈(还没接触过的可以顺便学一学把模板题做了)参考文章:博弈论 SG函数(需要更详细的解释的可去此处)正文:提出问题:给定多个有向无环图,每个图有一个起始顶点,起始顶点上有一枚棋子,两名选手交替地选择一个图将其上的那枚棋子沿有向边进行移动,无法移动者判负。接下来分析一个图的情况:首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。对于一个
2021-11-09 00:33:19
571
2
原创 图论-链式前向星-删边操作
其实这个东西,如果已经理解链式前向星存边了的话应该都想的出来。如果还不理解链式前向星还是先学吧。struct edge{ int fr,to,top,bot;//fr为起点, to为终点, top为边集栈中该边上方一边, bot为边集栈中该边下方一边 }e[2000005]; int head[2005],ecnt=0; inline void add_edge(int u, int v){ ...
2019-11-09 20:36:51
2133
3
空空如也
请问有没有能保留根号进行运算的数据类型
2021-11-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅