- 博客(23)
- 收藏
- 关注
原创 基于搜索的路径规划算法:A*算法
A算法是一种用于在图形或网格中查找最短路径的启发式搜索算法。它通过结合已经搜索过的路径代价和从当前节点到目标节点的估算代价(即启发函数),来评估每个节点的优先级,并优先搜索可能性最高的节点,从而高效地找到从起点到终点的最短路径。OPEN列表:包含待评估的节点。这些节点是可能的候选路径的一部分,但尚未被完全评估。CLOSED列表:包含已经评估过的节点。这些节点在搜索过程中已经被考虑过,并且不会再次被考虑(除非发现通过新的路径到达它们的成本更低)。
2024-09-18 15:23:38
743
原创 基于搜索的路径规划算法:迪杰斯特拉算法
迪杰斯特拉算法(Dijkstra's algorithm)是由荷兰计算机科学家艾兹赫尔·迪杰斯特拉提出的一种计算单源最短路径的算法。这个算法解决了图中一个顶点到其他所有顶点的最短路径问题。算法的原理是:每次找到当前未处理顶点中距离源点最近的顶点,然后更新其他顶点到源点的距离,直到所有顶点都被处理过。
2024-09-17 15:45:34
898
原创 基于搜索的路径规划算法:什么是深度优先算法?什么是广度优先算法?
基于搜索的路径规划算法通常运用在基于栅格地图中,寻找路径的方式是通过一个一个节点的搜索。可以将其理解为洪水,由根节点向四周不断遍历,直到遍历到目标点。当然随着路径规划算法的不断发展,已实现“洪水”可以向着目标的大致方向流动,而不是简单粗暴的向着四周全方位流动,大大减轻了算力资源的浪费,提高了算法质量。下图便是目标(星型)向着目标(差型)搜索过程根据搜索方法的不同,又将搜索类算法分为了深度优先算法和广度优先算法。
2024-09-13 22:30:33
1194
原创 路径规划:概述、分类及现有问题
路径规划(Path Planning)是计算从起点到目标点的一条或多条安全且有效的路径的过程,它在机器人导航、自动驾驶车辆、无人机飞行以及许多其他自动化系统中扮演着核心角色。以下是路径规划的主要组成部分和步骤:目标到达预定的目标位置。避开所有障碍物。最优化某些性能指标,如路径长度、时间、能耗、平滑度等。主要步骤环境建模离散化:将环境划分为网格或图节点。连续化:使用数学函数或几何模型描述环境。障碍物检测使用传感器(如激光雷达、摄像头、超声波等)来感知环境中的障碍物。
2024-09-13 00:44:01
2139
原创 一篇文章理清单片机
主要有CPU、SRAM、FLASH闪存和外设组成;CPU:就是电脑的大脑,这不用细说吧SRAM:静态随机存储器,类似电脑的运行内存。RAM(随机存储器)分为DRAM(动态随机存储器)和SRAM。电脑用的就是DRAM,需要周期性的刷新数据,不然数据丢失,就是我们俗称的运行内存。而SRAM上电就一直保存着数据。FLASH闪存:类似电脑的硬盘。ROM也是可长期存储的存储器,但是应为是只读,用户无法修改,而flash就可以多次擦写,且容量大,便宜,所以大部分都使用FLASH。外设。
2024-08-18 00:55:23
188
原创 51单片机学习总结
大一已经结束啦!趁暑假简单总结一下,大一学年学了很多,有51、32、Linux、PCB等。51单片机是我最开始学的,现在想来总结一下,毕竟学了不少了,应该有点话语权了。嘻嘻。下面我将从51单片机的工作原理、如何学习、我的经验等方面进行介绍。首先我必须强调一个注意点,这是新手很容易误解的:51单片机仅仅就是那一个芯片,但是因为51单片机的性能有限,往往生产成一块51开发板,板上集结了很多外设,差不多就是51单片机的全部功能了,毕竟是上世纪的发明。小白不要再搞错了!51单片机51单片机开发板。
2023-08-17 23:38:01
498
1
原创 Linux命令总结(三)
公认端口-----1~1023,通常用于一些系统内置或知名程序的预留使用,程序运行一般不会占用此端口,如:端口22就是我们Linux的远程登录端口。-b 表示后台下载,进度会显示到wget-log这个文件中 参数:下载链接。修改主机名,关键字hostnamectl,选项set-hostname,修改成:主机名。-9强制关闭,不加就是进程自己关闭,加上就是系统强制关闭了进程。注册端口-----1024~49151通常程序运行随意使用。-anp | grep 端口号/进程号(固定语法)
2023-06-20 14:11:50
103
原创 Linux各类小技巧快捷键
ctrl+a/e 光标移动到命令开始或结束。ctrl+ l 或clear 清屏。ctrl+ ⬅ /➡ 光标左右跳单词。+命令前缀 自动配置上一个命令。history 查看历史命令。ctrl+r 搜索历史命令。ctrl+c 强制停止。ctrl+d 退出登录。
2023-06-14 00:39:23
101
原创 Linux命令总结(二)
-R] [用户] [:] [用户组] 文件或文件夹 //只能在root用户下执行。start / stop / status / enable / disable 服务名。[-] [用户名] //不写用户名就默认是root用户。软件的 安装 / 卸载 / 搜索 //root下进行。可以控制软件(服务)的开 / 关 / 状态 / 开机自启开 / 关。
2023-06-14 00:25:01
86
原创 Linux命令总结(一)
找文件,起始路径就是从哪找, -name按名字找 -size按大小找 ,“被查找文件名” 支持通配符。[ -f -num] [路径] 查看文件的尾部内容, -f 可以跟踪。-a可以显示隐藏的文件 -l竖向排列,信息更全 -h显示文件大小(可以结合使用)表示文件移动,参数1是被移动,参数2是移动到地方,如果不存在就起到改名的作用。表示删除文件,参数可以很多, -r表示删文件夹, -f表示强制删除。[-c -m -l -w] 文件路径。
2023-06-06 20:25:01
73
原创 数字电路到底如何操作单片机的
假如在低电平置0端置0,那么输上面出端就一定是1,低电平置1端默认是1,上面的高电平在传给低电平置1端,那么下面的输出端就输出0,这是0又会传到上面的低电平置0端,这样0就会储存在这个储存在这里面,哪怕低电平置0端置1,上面的输出端也不会改变,这就起到了锁存器的作用。当G端加高电压,那DS就导通,G端加低电压,那DS就断开,相当于给G端一个很小的电压,就能控制DS的高电压,起到放大功效的作用。寄存器中存储的是我们计算机的状态参数,我们对此参数进行编写,从而控制单片机的运行,说白了,我们就是要配置寄存器。
2023-06-06 19:41:00
288
原创 VMware Workstation虚拟机及Linux操作系统Centos7的超细安装教程,还有finalshell远程连接工具安装及使用
右击打开终端,输入命令:ifconfig,回车,位于ens33的黑框处就是网络ip,如果没有就说明没有联网,虚拟机没有自动联网,就需要手动一下(也可以重装试试,看看会不会自动连接)有了虚拟机,就要装个Linux操作系统,这里我们用发行版Centos7,这个很火,当然乌班图也不错,反正都大同小异,都是Linux系统,不同公司搞得罢了。填信息,密码最好简单的,后面输的多,而且输的时候还不显示,密码太多太杂,就容易出错,建议123456。回到虚拟机中,找到设置,有线连接,IPV4,手动,输入刚刚的。
2023-06-05 20:49:48
1336
1
原创 Linux系统中查看权限控制信息
前个root是用户名,后面的root是用户组,表明bin软连接是root用户组下root用户的,当在yuchen用户下访问时,就是属于其他用户权限问题,权限是rwx,所以是既可以访问、阅读还可以修改,以此类推,boot文件在yuchen用户下就是r-x,就是能访问、能读,但不能写。好啦,就这么简单,有什么问题欢迎私信哦。在线大学生,我们一起进步呀!m表示执行权限,针对文件可以将文件作为执行程序。r 表示读权限,针对文件可以查看文件内容。w 表示写文件,针对文件可以修改文件。#1 三种权限代表rwm。
2023-06-01 20:55:59
419
原创 AS608指纹模块的上位机检测
最近在搞这个基于STC51的指纹锁,目前已经差不多完成,对于我这个小白来说还是有点难度的。上位机检测是之前做的,现在也算是回忆总结一下吧!PCB:将AS608指纹模块的引脚线接上USB-TTL小板上,按照引脚分布图对应着接,如果上位机连接失败,就将发送与接受线对调一下。插上USB,查看COM口是几(不同电脑分配的口不一样,以自己的为准)打开设备,选择正确的窗口号: 最后就按着操作就好了。详细链接:1.AS608指纹识别模块视频教程 上位机测试_哔哩哔哩_bilibili指纹模块测试上位机:https:/
2023-05-14 20:09:21
1749
2
原创 隐式类型转换
a-000000000000000000000000000000000011(二进制形)但char是字符类型,只能存1个字符(8个比特位),而3,127都是整型类型为4个字符,c-11111111111111111111111110000010-补码。然而打印的是%d(整形),字符型转化到整形在是按照变量类型的符号位决定的。而c又是char型转化c-10000010。最后再将二进制转化为十进制为-126。所以只能存8个比特位,规定存后面的。存的是补码,而执行的需要原码,相加的时候要整型提升。
2022-11-24 12:10:27
117
1
原创 vs2022详细安装及使用教程(初学c)
到官网下载下载vs,初学选第一个community 2022。#第一个C++,添加,就可以编译啦(原创不易,给个好评吧)#下载好后,要安装“C++的桌面开发”的工具。#打开安好的vs,点击“创建新项目”##如何安装及使用vs,手把手教会你。#进来后,视图,点击第一个。#右击源文件,添加,新建项。#设置空项目名称,位置。#点击空项目,下一步。
2022-11-15 16:54:24
5452
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人