自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Dijkstra 路径规划算法原理详解及 Python 代码实现

荷兰数学家 E.W.Dijkstra 于 1959 年提出了 Dijkstra 算法,它是一种适用于 非负权值 网络的 单源最短路径算法,同时也是目前求解最短路径问题的理论上最完备、应用最广的经典算法。它可以给出从指定节点到图中其他节点的最短路径,以及任意两点的最短路径。Dijkstra 算法是一种基于 贪心策略 的最短路径算法,该种算法的原理是按照路径长度逐点增长的方法构造一棵路径树,从而得出从该树的根节点(即指定节点)到其他所有节点的最短路径。Dijkstra 算法的 核心思想 是:设置两个点的集

2021-02-03 21:32:04 17758 11

原创 解决新版 Edge 浏览器每次打开都弹出“ 禁用开发人员模式扩展 ”弹窗的问题(亲测有效)

__之前一直在用谷歌的chrome浏览器,新版的 Edge 浏览器换了Chromium内核,据说功能和用户体验上可以和chrome浏览器相媲美,所以就想试一试。从官网下载了最新版本,安装后的第一件事情就是给浏览器装插件,提高浏览器的战斗力。 采用了Chromium内核,我想应该支持chrome浏览器的插件,故采用了直接加载本地文件的方式进行了安装,安装成功了也可以使用,但随后发现了一个...

2020-04-18 15:54:32 52825 14

原创 解决JupyterLab或者Jupyter Notebook无法跳转到浏览器的问题

问题描述在正常安装了Jupyter Notebook后,从命令行启动时,无法跳到浏览器页面,情况如下图所示:(我是直接在window的环境下装的JupyterLab,JupyterLab是Jupyter Notebook的升级版本,具有比JupyterNote更强大的功能,界面如下。如果是在Anaconda环境中出现这种情况,操作和此一样)具体介绍操作使用说明,请详见官网(JupyterLa...

2019-09-27 09:50:07 44264 102

原创 VMware16安装CentOS7 并配置网络(步骤详细)

VMware16 安装 CentOS 7 并配置网络安装准备安装步骤配置虚拟机操作系统安装虚拟机操作系统配置网络安装准备虚拟机下载安装:VMware Workstation Pro 16CentOS镜像下载安装:在此建议选择国内镜像源:阿里云镜像:https://mirrors.aliyun.com/centos/网易开源镜像:https://mirrors.163.com/centos/CentOS选择版本:CentOS 7.9进入镜像源网页后,参考上述路径找到图中所示的镜像,下载

2021-10-31 19:56:10 8754 7

原创 Linux实战技巧--文件系统操作(五)--打包压缩和解压缩(tar)

打包压缩和解压缩最早的 Linux 备份介质是磁带,使用的命令是 tar(打包)常用参数:c : 打包x : 解包f : 指定操作类型的文件可以对打包后的磁带文件进行压缩储存,压缩的命令是 gzip 和 bzip2(压缩)经常使用的扩展名是 .tar.gz(.tgz) / .tar.bz2(.tbz2)打包压缩示例 1:打包: tar cftar cf [打包后文件] [目标文件]tar cf ./a/pycharm.tar ./pycharm-community-

2021-08-22 20:00:16 1361

原创 Linux实战技巧--文件系统操作(四)--文本内容查看(cat/head/tail)

文本查看命令cat:文本内容显示到终端head:查看文件开头tail:查看文件结尾常用参数 -f 文件内容更新后,显示信息同步更新wc:统计文件内容信息cat示例:cat demohead示例:head demo查看前 5 行:head -5 demotail示例 1:tail demo查看最后 3 行:head -3 demowc常用命令:wc -l(查看文件有多少行)wc -l demo...

2021-08-22 19:03:53 946

原创 Linux实战技巧--文件系统操作(三)--复制和移动文件或者目录(cp/mv)

复制文件和目录cp – 复制文件或者目录cp [选项] 文件路径cp [选项] 文件… 路径常用的参数:-r:复制目录-p:保留用户、权限、时间等文件属性-a:等同于 -dpR示例 1:复制目录cp -r a/c a/b示例 2:复制文件cp a/c/file_c a/b上述的复制改变了文件的属性(比如说时间),如果想要保持原来的属性,则用命令 -p如果想要显示复制过程的进度条:则需在命令中加入选项:-v移动(重命名)文件mv – 移动(重命名)文件mv

2021-08-22 16:34:34 1033

原创 Linux实战技巧--文件系统操作(一)--文件查看(pwd/ls/cd)

文件查看pwd:显示当前的目录名称ls:查看当前目录下的文件cd:更改当前的操作目录pwd–显示当前的目录示例:pwdls–查看当前目录下的文件命令:ls [选项,选项...] 参数...常用的参数:-l:长格式显示文件-a:显示隐藏文件-r:逆序显示-t:按时间顺序显示-R:递归显示示例 1:显示单个目录ls /示例 2:显示多个目录ls / /home示例 3:ls -lls -l上图中的7列分别表示的信息为:文件的类型和权限。第

2021-08-22 13:08:16 985

原创 Linux实战技巧--文件系统操作(二)--创建和删除目录(mkdir/rm)

创建和删除目录创建目录命令 -> mkdir示例 1:在当前目录下创建一个新的文件夹 a:mkdir a示例 2:在当前目录下创建多个新的文件夹 b , c, d:mkdir b c d示例 3:创建多级目录方式一:一级一级去创建mkdir a/bmkdir a/b/c方式二:一次性创建mkdir -p aa/bb/cc注:在此使用了多级目录查看命令:ls -R aa删除目录rmdir:删除空文件夹。rm:删除文件或者文

2021-08-20 14:53:04 1527

原创 PostgreSQL 的安装以及在安装过程中遇到的问题及解决方法

遇到的问题最近在学习《SQL基础教程》,在安装PostgreSQL的过程中遇到了一些问题,主要有以下两个:There has been an error. Error running …Problem running post-install step.Installation …针对问题1:网上很多说是中文路径的问题,但是我将电脑名称改成英文后还是存在这个问题,可能是自己的用户名还是中文的缘故,具体问题还是不太清楚,在尝试了各种方法后,下面这种方法成功了,就是使用 postgres

2021-08-08 20:39:22 20537 17

原创 Linux 实战技巧 --vi/vim 的使用

Vi 的使用vi 是一个强大的文本编译器。它可以通过不同模式的切换,使用户可以不用鼠标,通过键盘完成对所有文本的操控。vi 的四种模式:正常模式(Normal-model)插入模式(Insert-model)命令模式(Command-model)可视模式(Visual-model)命令行输入 vi,会进入vim 文本编译器的版本,vim 是对 原始 vi 编译器的扩展。可以用命令 man vi获取到相应的帮助。可以在终端输入 vim 进入其主界面。viman vivimvim .

2021-08-05 22:28:46 866

原创 Ubuntu18.04安装Pycharm并将其添加至左侧收藏夹

最近在新装的Ubuntu18.04上安装Pycharn时,发现不能想Ubuntu16.04那样直接在收藏夹右键添加了。所以在此来记录一下Pycharn的安装过程以及如何将其添加到收藏夹。Pycharm的安装环境与版本系统版本:Ubuntu18.04 LTSPycharm版本:pycharm-community-2021.1.1安装首先从官网下载Pycharm的安装包。官网链接将下载的 pycharm-community-2021.1.1.tar.gz 文件提取到你要安装的目

2021-05-01 16:58:25 1216

原创 bazel 的安装与卸载

bazel 安装安装依赖sudo apt install g++ unzip zip如果想要构建 java 代码,则需要安装一个 jdk:# Ubuntu 16.04 (LTS) uses OpenJDK 8 by default:sudo apt-get install openjdk-8-jdk# Ubuntu 18.04 (LTS) uses OpenJDK 11 by default:sudo apt-get install openjdk-11-jdk下载名为 baz

2021-04-23 16:58:45 4743

原创 Ubuntu18.04 安装 ROS Melodic(同时解决 rosdep update 问题,亲测有效)

该教程参考自ROS官方安装教程,并解决了国内安装时,运行rosdep update经常会遇见了time out问题.http://wiki.ros.org/melodic/Installation/UbuntuROS Melodic 安装添加 ROS 软件源sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-late

2021-04-20 16:36:36 2321 7

原创 pip 升级到最近21.0.1 后报错 sys.stderr.write(f“ERROR: {exc}“)

最近升级了一下pip之后,竟然报错了,还是不能随便升级呀!报错如下:报错原因:Python 2.7 已于2020年1月1日到期,请停止使用。请升级您的Python,因为不再维护Python 2.7。pip 21.0将于2021年1月停止对Python 2.7的支持。pip 21.0将删除对此功能的支持。解决办法wget https://bootstrap.pypa.io/pip/2.7/get-pip.py显示如下:python get-pip.py.2显示如下:如果文章对您有帮

2021-03-15 15:26:53 1616 7

原创 Python 中的 defaultdict 数据类型

Python 中的 defaultdict 数据类型官方网址首先,defaultdict 是 dict 的一个子类。通常 Python 中字典(dict)这种数据类型是通过键值对来存取的,当索引一个不存在的键时,就会引发 keyerror 异常。那么,defaultdict 就可以解决这个问题,它可以实现为不存的键值返回一个默认值。defaultdict是 collections 包下的一个模块,defaultdict 在初始化时可以提供一个 default_factory 的参数,default_

2021-02-19 10:56:10 1352 1

原创 RRT* 算法原理以及在二维仿真环境中的实现 -- Python代码实现

RRT* 算法是在 RRT 的基础上做出了一些改进,主要改进的点有两点:新结点生成后,优化其父结点。在生成新结点 new_node 后,首先设置一个搜索区域的半径,搜索该区域中的树结点,并计算其中的每一个结点到新结点 new_node 的距离。# 改进一:当生成新的结点时,判断在一定范围内的结点是否有比当前父结点路径更有的结点near_inds = self.find_near_nodes(new_node)new_node = self.choose_parent(new_node, n

2021-02-17 16:46:43 3202 3

原创 RRT路径规划算法在二维仿真环境中的应用 -- Python代码实现

在上一节中,介绍了 RRT 算法的原理,这一节将一步步实现 RRT 路径规划算法在二维环境中的路径规划,来进一步加深对 RRT 算法的理解。二维环境的搭建我们将搭建下图所示的二维环境,绿色点为起点(0,0),红色点为目标点(15, 12),黑色的圆表示障碍物。实现上述环境的代码如下:start = [0, 0] # 起点goal = [15, 12] # 终点# 障碍物 (x, y, radiu)obstacle_list = [ (3, 3, 1.5),

2021-02-16 21:33:22 4474 6

原创 RRT 算法原理以及过程演示

RRT 适用于涉及非完整约束场合下的路径规划问题。RRT 算法为一种递增式的构造方法,在构造过程中,算法不断在搜索空间中随机生成状态点,如果该点位于无碰撞位置,则寻找搜索树中离该节点最近的结点为基准结点,由基准结点出发以一定步长朝着该随机结点进行延伸,延伸线的终点所在的位置被当做有效结点加入搜索树中。这个搜索树的生长过程一直持续,直到目标结点与搜索树的距离在一定范围以内时终止。随后搜索算法在搜索树中寻找一条连接起点到终点的最短路径。下面用一个示例来说明RRT算法的过程。初始化一个环境,包括地图,起

2021-02-09 20:34:29 25920 13

原创 A* 算法原理以及在二维环境地图中的应用 -- Python 代码实现

上节学习了 Dijkstra 路径规划规划算法,虽然能够找到最短的路径,但是其遍历的搜索过程具有盲目性,因此效率比较低,计算量非常大。而实际中电子地图的结点数量是非常庞大的,Dijkstra 算法在有限的时间内可能无法搜索到目标点,此时就要用到启发式搜索。启发式搜索就是在搜索的过程中加入与问题有关的的启发式信息,引导搜索朝着最优的方向前进。这样就可以忽略大量与启发式信息无关的结点,提高搜索效率。在启发式搜索中,对结点的估价十分重要,采用不同的估价标准会产生不同的结果。A*算法是建立在 Dijkstra

2021-02-06 15:05:02 3246 2

原创 Dijkstra 路径规划算法在二维仿真环境中的应用 -- Python代码实现

在上一节中,介绍了 Dijkstra 算法的原理以及在图中的应用,这一节将一步步实现 Dijkstra 路径规划算法在二维环境中的路径规划,来进一步加深对 Dijkstra 算法的理解。所需要用到的 python 库为 matplotlib 和 math。二维环境的搭建我们将搭建下图所示的二维环境,其中黑色原点围成的为墙壁障碍物,绿色点为起点(30, 30),红色点为目标点(70,70)。后面需要将所示环境地图转换为栅格地图,所以在此设置栅格地图中栅格的大小为:1.0, 设置移动机器人的半径为: 2.

2021-02-06 10:48:19 3725 9

原创 《TensorFlow深度学习》学习笔记--10.卷积神经网络--1.LeNet-5实战

1. LeNet-5 实战1. 导入相关的包import tensorflow as tffrom tensorflow.keras import Sequential, layers, losses, optimizers设置GPU(如果使用GPU,则需添加下面代码,如果不使用,则无需添加)devices = tf.config.experimental.list_physical_devices('GPU')tf.config.experimental.set_memory_growth(

2021-01-20 15:42:13 832

原创 哈希冲突的解决办法

哈希冲突的解决办法处理冲突为产生冲突的地址寻找下一个哈希地址。解决办法开放寻址法线性探测法平方探测法拉链方法(链地址法)线性探测法使用数组来存储哈希表,可设置标志来判断该位置是否为空。存放时,如果哈希计算结果冲突,将新的表项放在下个空闲的存储单元。if (Hashtable[j].data == -1) {Hashtable[j].data = key;}else {key++; j = hash(key);}检索时,发现

2020-11-24 22:55:59 682

原创 Python 中列表与元组的异同

相同点:都是可以放置任意数据类型的有序集合。内部实现都是 数组 的形式。在使用上:(1)都支持负数索引 (2)都支持切片操作 (3)都可以随意嵌套 (4)可以通过 list() 和 tuple() 进行相互转化不同点:列表是动态的,长度可变,可以进行增、删、改操作;元组是静态的,长度不可变,不能进行 增、删、改 操作。存储方式的差异列表的存储空间要比元组大一些,因为列表是可变的,所以要多存两个元素,一个是当前列表的大小,另一个是存储一个指

2020-10-30 17:36:26 807

原创 Jupyter Notebook 中使用虚拟环境(或者改变虚拟环境)

1. 创建虚拟环境创建一个名为: tf_jpter 的 python3.6 的虚拟环境conda create --name tf_jpter python=3.6进入虚拟环境conda activate tf_jpter在虚拟环境中安装 jupyterpip install jupyter2.查看当前 kernel 中的环境jupyter kernelspec list3.在 kernel 中安装刚才创建的虚拟环境python -m ipykernel install --us

2020-09-12 11:46:42 992

原创 使用Github和Hexo搭建个人主页时报错 404 There isnt a GitHub Pages site here

问题描述:最近自己尝试使用Github+Hexo 创建了自己的主页,在输入"username.github.io"时,可以打开自己的网页,但是在输入自己注册的与"username.github.io"链接的域名"www.username.top"时,显示 404 There isn’t a GitHub Pages site here.页面如下解决办法:简单分析:能打开 “username.github.io”,说明使用Github和Hexo创建的个人博客主页没有问题,而在输入自己所注册的域名时,打

2020-05-26 16:58:46 4055 2

原创 JupyterLab 的安装以及 解决打开JupyterLab时失败,浏览器弹出 404:Not Found 的问题

JupyterLab 和 Jupyter Notebook 是一家人,前者算是后者的一个升级加强版,更像一个IDE。前者相比后者最大的优势在于它的 用户界面集成强,适合多文档协助工作。而且 JupyterLab 是可扩展的,插件丰富且完美的继承了 Jupyter Notebook 的所有优点。1.JupyterLab的安装在 Anaconda prompt 中运行:pip install jupyterlab如果你使用的Jupyter版本早于5.3,那么你还需要运行以下命令来启动JupyterLa

2020-05-21 12:02:20 10035

原创 解决Github中使用Octotree时,出现 Error: API limit exceeded 报错 或者 Error: Connection error报错的问题(详细操作)

对于科研工作者来说,Github 是不可多得的利器,那么Octotree 插件的使用将会让用户在使用 Github 时拥有更好的体验,提高学习工作的效率。但是笔者在使用的过程中遇到以下这样的问题,下面将介绍遇到的问题以及解决办法。1. 问题描述在 Github 中使用 Octotree遇到以下两个问题:问题一:出现 "Error: API limit exceeded(You have exceeded the Github API rate limit. To continue using Oct

2020-05-19 23:41:38 4231 4

原创 电子书(文学,计算机)搜索与下载网站推荐

本人工科专业,所以平时会对一些专业书籍有需求(包括机器学习,数据科学,编程语言等等方面)。读书是我的一个业余爱好平时喜欢读一些文学作品,在这个过程中积累了一些比较好的免费电子书搜索和下载的网站,在此推荐给大家。文学类1. 偶书 https://obook.cc/推荐理由:书的种类众多,我平时看书搜素的首选网站书单推荐。豆瓣书单,年度书单,经典读物等等,内容质量非常高。书的内容简...

2020-04-28 15:37:42 2740

原创 解决在word中插入Mathtype公式后行距变大的问题(简单有效)

问题描述又到了写论文的季节,最近遇到这样的问题,在word中插入MathType公式时,行距变大,原来的单倍行距已经不像只有文字时的单倍行距了,如下图:解决方法选中该段落打开段落取消 如果定义了文档网络,则对齐到网络该项打勾如果对您有帮助,记得在下方给点赞呦!...

2020-04-21 08:35:45 33389 30

原创 解决新版 Edge 浏览器开机自启问题(简单有效)

1.问题描述自从新版Edge发布以后,就转到Edge浏览器上,但是在使用的过程中,总是存在开机自启的情况,也找不到开机自启禁用项。每次开机都弹出Edge浏览器的窗口,非常让人讨厌,而且还拖慢电脑的开机速度。2.解决办法打开浏览器的【设置】,选择【系统】选项卡,然后关闭【关闭Microsoft edge后继续运行后台应用】当使用edge浏览器时,如果上述选项为开启状态,每次关闭浏览器时,其...

2020-03-17 22:21:12 40114 4

原创 解决在打开word时,出现 “word 在试图打开文件时遇到错误” 的问题(亲测有效)

1.问题描述:最近在网上查找期刊论文的模板时,发现从期刊官网下载下来的论文格式模板,在本地用word打开时,出现错误,情况如下2.解决办法1. 关闭提示窗口,打开左上角的【文件】按钮2.点击【选项】按钮3.点击【信任中心】>>>>【信任中心设置】4.选择【受保护视图】选项卡,将右侧窗口中红色框选的三个打勾选项取消打勾,点击确定,依次退出5.重新打开w...

2020-03-17 11:47:58 3771 2

原创 递归函数应用实例:用python来画分形树

什么是递归函数函数定义中调用函数自身的方式称为递归(简单说就是自己调用自己)举个简单例子就是:函数f(x)-----f(f(x)) 既是一个递归调用。每次函数调用时,函数参数会临时存储,相互没有影响;达到终止条件时,各函数逐层结束运算,返回计算结果;要注意终止条件的构建,否则递归无法正常返回结果。分形树分形几何学的基本思想:客观事物具有自相似性的层次结构,局部和整体在形态,功能,信息...

2020-02-28 23:20:02 3233

原创 Ubuntu18.04搭建DeepMind Lab环境

1.安装BazelStep1: 安装所需要的包pkg-config, zip, g++, zlib1g-dev, unzip, and python3.sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python3Step2: 下载Bazel https://github.com/bazelbuild/bazel/relea...

2019-12-26 09:45:59 528 2

原创 两步在Ubuntu16.04上安装搜狗拼音输入法(不用敲代码,简单高效)

在百度上看了很多在Ubuntu上安装搜狗拼音输入法的教程,但并不太好使,还比较麻烦。在此介绍一种非常简单的安装方法,亲测有效。Step1: 下载搜狗拼音linux版本 https://pinyin.sogou.com/linux/?r=pinyinStep2: 下载好的安装包默认在 /home/下载 的目录下,双击下载的deb包进行安装,等待安装完成后,重启电脑,你就可以在电脑的右上角找到安...

2019-10-31 15:06:23 299

原创 Ubuntu两步三行代码简单安装Google浏览器

简单三步在Ubuntu上安装Google浏览器Step1:从系统自带的火狐浏览器上下载Google浏览器 https://www.google.cn/chrome/Step2:打开终端命令行下载的软件包默认是在/home/下载 文件夹下cd 下载sudo dpkg -i google-chrome*sudo apt-get install -f打开搜索框,输入google,可...

2019-10-31 14:24:01 285

原创 安装双系统:win10下安装Ubuntu16.04(详细操作过程,并解决NVIDIA显卡不兼容的问题)

准备工作:1.从电脑磁盘中分出一定容量的空余空间,如下图所示,有200G的空间未分配,分出来的这200G空间用于安装Ubuntu16.04的系统。2.制作系统盘。所需工具 Rufus。官网下载链接 按下图所示的进行设置。完成以上的准备工作后,下面来进行安装。安装1.从U盘启动安装在电脑开机或者重启的过程中不停的按 F12 (不同品牌的电脑可能不一样,请自行查阅自己品牌的电脑如何...

2019-10-25 14:43:33 1390

原创 V-REP教程(三)---- 传送带模型

在本教程中,我们将创建一个传送带模型。创建完的模型如下:我们将构建一个和真实行为一样的传送带,其中每个传送带垫都是单独模拟的,这意味着较小的物体可能被困在两个相邻的垫块之间。这种类型的仿真可能需要大量的计算,并且会降低整个仿真过程的速度。有一种替代的、简化的方法来建模输送带,这也将在本教程中进行演示,并记该方法为方法B(与模拟单个垫片的方法a相反)。1.创建轨迹(1)创建轨迹Popup me...

2019-04-16 22:01:57 3023

原创 V-REP教程(二)----Line following BubbleRob tutorial详细操作(图文教程)

该教程参考V-REP官方示例教程Tutorials–Line following BubbleRob tutorial建议大家结合官方教程操作官方教程-----Line following BubbleRob tutorial1.加载之前建立的模型2. 创建三个视觉传感器用来循迹(1)添加视觉传感器(2)修改属性(3)修改视觉传感器的角度,使传感器朝向地面(4)复制粘贴2次,并将...

2019-04-02 21:41:24 2693 3

原创 V-REP教程(一)--bubbleRob详细操作步骤(详细图文步骤操作)

该教程参考V-REP官方示例教程Tutorials–BubbleRob tutorial。官方教程链接1. 添加bubbleRob(1)在场景中添加一个直径为0.2的球。【Menu bar --> Add --> Primitive shape --> Sphere】(2)在弹出的对话框中为Sphere指定大小为0.2。即设置【X-size】为0.2,点击OK创建的球将...

2019-03-29 16:47:27 18055 19

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除