- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 【C++】vector 释放,二维vector开辟 使用
clear()清除了vector中的内容但是并没有释放内存,即容器的capacity不为0。首先对于数据量较小的vector容器,没有太多必要自己进行主动释放,小容量vector容器对程序效率没有太多影响。这个过程并没有真正的分配空间,也就是说这个vector容器的capacity为0,相当于只是声明了这个变量而已,另外,有时候可能存在内存虽然在程序释放了,但是这段空间实际上还没有归还给系统的情况,故可以在释放后跟随一句。对于大容量的vector,可以进行积极主动的释放,可以提升内存等效率。
2024-04-07 21:32:40 1023
原创 【C++ RapidJson】使用RapidJson写入文件
最初,我希望能够使用RapidJson 向文件中写入一个三级json。其二级json是由for循环计算生成的。但是写来写去,发现有很多乱码,好像是字符串空间在写入流之前就销毁的原因?(不确定)于是,使用AI生成了以下例子。
2024-03-28 09:22:37 444
原创 C++ 内存泄漏检测工具——Valgrind(Linux系统)
前六种是比较常见的问题,内存泄漏主要是有(4)(5)引起的,由于程序中申请了空间,但是没有在程序结束或是在函数结束时正确的释放,导致这段空间被无法在后面的程序中继续使用。对于数据量较大的程序,这是很危险的,由于内存占用问题,尽管函数或程序可能执行完毕,但是未被释放,但是内存仍被占用,这些空间无法后续使用或被其他程序使用,可能会导致计算机运行变慢,也可能导致后续程序无法正常运行。–log-file=< file > 将输出的信息写入到filename.PID的文件里,PID是运行程序的进行ID。
2024-03-14 21:12:02 776
翻译 【原文翻译】Near Optimal Hierarchical Path-Finding
商业计算机游戏中的路径搜索问题必须实时解决,而且往往受到内存和 CPU 资源的限制。使用 A* 等搜索算法确定路径所需的计算量会随着搜索空间的增大而增加。因此,在大型地图上寻路会导致严重的性能瓶颈。本文介绍了 HPA* (Hierarchical Path-Finding A*),一种在网格地图上降低寻路问题复杂性的分层方法。该技术将地图抽象为相互关联的局部群组。在局部层面,预先计算并缓存穿越每个簇的最佳距离。在全局层面上,簇的穿越只需一大步。层次结构可以扩展到两级以上。
2024-03-01 14:03:16 177 1
翻译 【原文翻译】Path Planning for Autonomous Mobile Robots: A Review
摘要:为移动机器人提供自主能力是有好处的。它使人们可以免去人类操作员的干预,这可能会在经济和安全方面带来好处。在大多数情况下,自主性要求使用路径规划器,使机器人能够考虑如何从其所在位置在某一时刻移动到另一时刻。鉴于文献中存在大量的方法,根据用户的要求寻找最合适的路径规划算法可能具有挑战性。此外,本文所分析的过去的综述作品只涵盖了其中的一些方法,遗漏了一些重要的方法。因此,我们的论文旨在作为一个起点,对迄今为止的研究进行清晰而全面的概述。
2024-02-01 10:56:00 513
翻译 【原文翻译】Autonomous land vehicle path planning algorithm based on improved heuristic function of A-Star
自主陆地车辆的路径规划已成为近年来的研究热点。本文提出了一种新型的自主陆地车辆路径规划算法。根据自主陆地车自主运动的特点,设计了一种改进的 A-Star 路径规划算法。使用 A-Star 算法进行路径规划的缺点是,A-Star 算法规划的路径包含许多不必要的转弯点,不够平滑。自主陆地车辆需要在每个转弯点调整姿态,这将大大浪费时间,也不利于自主陆地车辆的运动控制。针对这些不足,本文提出了一种新的启发式函数,结合人工势场方法,其中包含距离信息和障碍物信息。
2024-01-31 12:56:22 470
翻译 【原文翻译】Hierarchical and smoothed topographic path planning for large-scale virtual simulation environ
虚拟仿真系统应充分利用智能体的逼真行为,让用户感觉沉浸在模拟真实世界环境的虚拟场景中。基于智能体的仿真通常用于培训和教学目的,在开发计算机游戏时经常探索的人工智能解决方案需要考虑更多的要求。为了提供模拟智能体如何在真实世界地形中导航的宝贵印象,关键要求之一是在路径规划任务中需要考虑地形特征。这意味着所使用的寻路算法必须正确处理智能体导航能力的重要方面。在最先进的仿真系统中考虑大规模地形场景时,这个问题更具挑战性,因为在处理搜索空间较大的地形表征时,路径规划可能过于耗时。
2024-01-23 21:22:16 42
翻译 【原文翻译】Improved Heuristics for Optimal Pathfinding on Game Maps
随着计算机游戏世界变得越来越复杂,寻路性能瓶颈也变得越来越明显。通常用于指导基于 A∗ 的寻路的启发式函数过于简单,无法在如此复杂的大型游戏世界中为搜索提供必要的指导。这可能会导致 A∗ 搜索为了在两个遥远的地点之间找到一条路径而探索整个游戏地图。本文提出了两种有效的启发式方法,用于估算大型复杂游戏地图中不同地点之间的距离。前一种启发式,即死胡同启发式,可以从搜索地图中剔除与当前查询无关的区域,而第二种启发式则使用所谓的网关来改进其估计值。
2024-01-23 09:08:43 502
翻译 【原文翻译】An improved heuristic mechanism ant colony optimization algorithm for solving path planning
随着人工智能算法的发展,智能路径规划因其广阔的应用前景和发展潜力吸引着研究人员的目光。蚁群优化(ACO)算法是目前应用最广泛的路径规划求解方法之一。然而,传统的 ACO 算法存在搜索效率低、容易停滞等缺点。本研究提出了一种新的 ACO 变体,名为改进的启发式机制 ACO(IHMACO)。IHMACO 包含四种改进机制,包括自适应信息素浓度设置、带有方向判断的启发式机制、改进的伪随机转移策略和信息素蒸发率的动态调整。
2024-01-18 00:38:06 545
翻译 【原文翻译】 A tutorial on heuristic methods(启发式方法)
作者:Edward A. Silver, R. Victor V. Vidal, Dominique de Wearra。
2024-01-03 11:14:28 47
原创 【Anaconda】Ubuntu anaconda使用(新建环境、最小化安装Tensorflow, CUDA对应关系)
pip安装使用的时候,请先安装好anaconda,再继续下面步骤。打开terminal(请先安装好anaconda)指定名字xxxx,指定python版本。例如想建一个名为tensorflow的虚拟环境,python版本为3.11例如想安装Tensorflow 2.14。例如,启动tensorflw。查看自己安装的tensorflow是不是自己想要的版本pip list我的环境中显示表明安装的是tensorflow 2.14.0,然后在tenminal中输入到python,启动python。
2023-12-13 15:08:41 332
原创 【Markdown】Markdown 公式书写
记住“^”和“__”只对其后面的一个单位产生效果,所以什么是一个单位对象?a是一个单位对象,2也是一个单位对象,{2222}也是一个单位对象。Latex数学公式主要有两种,一种是行内公式(公式与文字相连,并被包裹),一种是行间公式(公式单独成行),例如。Markdown公式方面主要是用的Latex数学公式的写法(也是不完全相同,比Latax少了一些内容)。语法解释:{matrix} 矩阵标签值,一个标签必须有开始和结束, & 对齐空格符,可以看到两种行间公式,一种是无编号行间公式,一种是有编号行间公式。
2023-12-06 18:46:06 90
翻译 【原文翻译】Overview of Multi-Agent Path Finding (MAPF)
本文是一个简单易懂的多智能体路径规划的综述性质短文。
2023-12-06 16:39:34 133
原创 tensorflow‘ has no attribute ‘variable_scope‘ tf.placeholder() is not compatible tensorflow.compat.v
查看自己当前的环境的tensorflow版本的api,然后查看项目的tensorflow版本api,两个对照以后进行修改。整个项目是基于tensorflow 1.x版本的。众所周知,tf 1.0 和 2.0 的兼容有点差。原因是tensorflow1.x的contrib包被整合进了2.0的其他包里。解决方案:使用compat接口。如果解决不了,就参考官方文档。方法之前使用该语句。最基本的解决方法👆。
2023-12-06 09:13:13 642
翻译 【原文翻译】An Improved Ant Colony Optimization Algorithm for Multi-Agent Path Planning
近年来,蚁群优化算法已成为应用最广泛的启发式算法之一,并被广泛应用于解决不同类型的路径规划问题。然而,多智能体路径搜索仍存在一些问题,如收敛效率低、易陷入局部最优和顶点冲突等。本文提出了一种基于参数优化和顶点冲突解决的改进蚁群优化算法。首先,我们初始化了信息素的分布,以减少算法早期的盲目性。其次,我们引入了自适应信息素强度和信息素减少因子,以避免算法陷入局部最优。在此基础上,通过动态修正蒸发因子和启发式函数,提高算法的全局搜索能力和收敛速度。
2023-12-01 22:25:40 611
原创 【python学习】Python 线程编程(类内多线程编程)
python多线程可以同时执行一段代码的多个程序。使用多线程可能使程序运行速度更快。线程和进程不同:可以这样来简单理解,一个程序包含一个或多个进程,一个进程包含一个或多个线程。也就是说程序 > 进程 > 线程。进程之间、线程之间、进程和线程之间可以共享数据。线程也被称为轻量级进程。线程是操作系统能够运行的最小单位,线程包含在进程中,是进程中的实际运作单位。
2023-12-01 22:07:35 583
翻译 【原文翻译】Multi-Agent Pathfinding: Definitions, Variants, and Benchmarks
多智能体寻路(MAPF)问题是为多个智能体规划路径的基本问题,其中的关键约束条件是智能体能够同时沿着这些路径前进,而不会相互碰撞。MAPF 的应用包括自动仓库和自动驾驶汽车。在过去几年中,有关 MAPF 的研究一直在蓬勃发展。不同的 MAPF 研究论文做出了不同的假设,例如,智能体是否能同时穿越同一条道路,并具有不同的目标函数,例如,最小化时间跨度或智能体行动成本总和。这些假设和目标有时是隐含假设或非正式描述。这就很难在研究论文中建立适当的比较基线,也使实践者很难找到与其具体应用相关的论文。
2023-12-01 16:25:35 117
原创 Theta*: Any-Angle Path Planning on Grids 原文翻译
在机器人和视频游戏中,通常使用带有阻塞和非阻塞单元的栅格来表示地形。然而,栅格边缘形成的路径可能比地形中真正的最短路径更长,因为它们的方向受到人为限制。为了避免这一缺陷,我们提出了两种适用于任意角度的新的正确、完整的路径规划算法。基本 Theta* 算法和角度传播 Theta* 算法都是 A* 算法的变种,它们沿栅格边缘传播信息,而不将路径限制在栅格边缘。==基本 Theta* 算法易于理解和实现,速度快,能找到短路径。但是,它不能保证找到真正的最短路径。
2023-11-24 20:26:04 111
原创 【XTDrone Ubuntu18.04】XTDrone + Ubuntu18.04 + PX4 安装过程
重新配置所有的软件卸载之前安装的ROS GAZEBO记得把/home下的.ros和.gazebo也删除,删就删干净正式安装安装依赖国内源地址。
2023-11-16 13:23:14 765
原创 【XTDrone Ubuntu20.04】XTDrone+ Ubuntu20.04 + PX4安装
环境:(因为没人配过)Ubuntu 20.04安装过程:简单地说,XTDrone安装包括几个部分:ROS安装、Gazebo安装、marvos安装和PX4 安装,XTDrone下载和配置。
2023-11-16 13:20:57 1661 3
原创 【Python 算法】双向迪杰斯特拉算法 Python实现
双向迪杰斯特拉算法(Bi Directional Dijkstra Algorithm)是一种用于在加权图中查找两个顶点之间最短路径的算法,是Dijkstra算法的一个变种,基本思想是:从两个搜索方向同时开始搜索——从起点到终点方向和从终点到起点方向同时进行迪杰斯特拉算法搜索,如果存在路径,那么最终两个方向的搜索会在某点相遇并终止,而这条路径就是最短距离路径。在某些情况下,双向迪杰斯特拉算法可以减少搜索空间大小,从而提高算法效率。其中也有分治法的思想。
2023-11-13 20:38:44 463
原创 【python算法】迪杰斯特拉算法 python实现
迪杰斯特拉算法的是用于图搜索的一种算法,其作用是图中搜索出单源最短路径。单源最短路径问题是一个给定起始点和目标点,在图中搜索出由起始点到目标点最短路径问题。
2023-11-09 14:32:01 161 1
原创 【python 学习】代码插桩调试
代码插桩技术是指在保持原有程序逻辑完整性的基础上,在程序中加入探针,通过探针来收集代码在执行过程中的信息(函数参数,返回值、变量变化信息、函数调用顺序等等)。插桩技术在调试代码的过程中也非常实用。通常实现方法是在特定位置插入代码段,从而收集程序运行时的动态上下文信息。
2023-11-08 17:40:17 398
原创 新手学习:ArcGIS 提取SHP 路网数据、节点
有一些节点,其连接数为1,这些节点往往是某条路径的末端,仅与一条路径相连,所以删除这样的节点,可以减少节点数量。得到网络数据集,包含node 和 edge ,我们只需要其中的 node 和原始的打断的路网 shp,建立拓扑关系,点击 拓扑 工具栏中的 选择拓扑,选中要建立拓扑关系的图层,并。打开要编辑的shp数据,工具栏中,编辑器-开始编辑,开启编辑状态;在线的交点处打断线,点击 拓扑工具栏中的 打断相交线,默认参数,在新建的要素数据集上右键——新建——网络数据集,全部默认就好。
2023-09-21 14:34:06 2541
原创 MagicBook安装Ubuntu
使用软件 Rufus 制作系统盘准备一个U盘(空盘,最好事先进行过格式化),Rufus刻录工具,Ubuntu18.04 操作系统的iso文件。
2023-04-04 10:27:31 767
Theta*算法MATLAB实现
2023-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人