- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 ROS局部导航参数解析
原文navguide.pdfhttps://kaiyuzheng.me/documents/navguide.pdf参数解析:sim_time:可以认为是允许机器人按照采样速度运行的时间如果将其设置比较小(sim_time<=2)将有可能导致在经过门或者比较狭窄的空间时的表现不太好,因为没有足够的时间来让机器人人规划处最优路径将其设置为比较大(sim_time>=5)设置为比较大会规划出一个长曲线,从而显得不是那么灵活通常将其设置为4,即便对于高性能的处理器也足够用了
2022-05-18 16:10:12 1148 2
原创 古月居ROS课程-Arbotix 差分控制小车左右转相反导致导航失败
在复现古月居ROS的时候发现使用Arbotix 差分控制的小车在左右转控制时是相反的,刚开始没太在意,直到后面导航部分的时候发现虽然算法给出了一条最优路径,而且查看发送的/cmd_vel 也是不停的发送局部最优,但是小车一直不按照规定路线行驶,无法完成导航。解决方法:修改mbot_base_gazebo.xacro文件中的左右轮即可...
2022-03-11 10:08:15 1070
原创 Ubuntu18.04安装ROS-melodic(使用国内镜像源,很快就能玩小乌龟了)
版本选择每个Ubuntu版本都对应不同的ROS版本,我使用的是Ubuntu18.04,对应的版本是ROS-melodic建议先给Ubuntu也把源换了,不管下载什么都要方便很多,Ubuntu上面的原始源真的拉跨【Linux教程】Ubuntu Linux 更换源教程_菜鸟的后花园-CSDN博客_ubuntu换源教程1.添加国内中科大源sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros
2022-01-14 22:04:30 2872 1
原创 树莓派4B 与 stm32 通信
本文用来记录智能控制课设中的通信环节的实现硬件便是树莓派4Bstm32(我用的是正点原子的STM32F103ZET6的核心板)从头开始做的,带着你去从烧录树莓派,安装STM32的编译环境开始,直到二者成功通信。如何使用串口助手进行调试,以及如何通过代码进行通信。1.准备环节(树莓派已经烧录好镜像可以正常使用,stm32也已经装好keil5的同学可以略过)1.1 树莓派新买的树莓派4B一般TF卡没有烧入镜像(也就是树莓派的操作系统)官方推荐系统是以下三种32位Lite版(无桌面)32位桌面版
2021-05-30 11:32:53 19628 30
原创 安装pycocotools库
看了很多网上的方法,以下是我自己做的记录首先先去网上将其下来下来https://github.com/cocodataset/cocoapi进入到对应的文件里(我这里用的是Anaconda的Prompt)执行python setup.py install 指令注意:这里出现了error: Unable to find vcvarsall.bat 的报错...
2020-12-05 15:30:37 402
原创 Ubuntu如何查看被锁住的进程,以及如何继续&暂停下载后恢复下载
在Ubuntu中,计算机运行的多条进程都是可以查看的,但是不比Windows操作系统的可视化,在Ubuntu中如果进程没有正常结束,那么它会自动挂起在后台(重启后清除)如果这时候再去执行相同的操作,那么系统会提示,这个进程已经被“lock“起来了。这时候可以通过执行 jobs来查看当前已有的线程查看已有进程jobs继续执行某个线程fg %x#x代表的是进程号有时候下载任务被不小心被 ctrl+z 暂停了,就可以通过jobs找到这个进程号后,通过fg %x来恢复下载任务.
2020-11-16 21:30:33 3064
原创 Ubuntu执行时遇到lock怎么解决
在使用Ubuntu时,经常会遇到执行程序的时候遇到锁的情况这个问题应该是上一次的程序没有正常停止导致的,很好解决,只需要将对应的锁删除掉即可(路径一定要敲对!)这样就OK,然后就可以继续任务了...
2020-11-16 21:00:54 887
原创 在华为云NAIE上跑深度学习_将数据集压缩文件拷贝到本地镜像并进行解压
#需要用到一下三个模块 import moxing as mox import zipfile from naie.datasets import get_data_reference filename = "spilt_total_contuor"#1.将文件拷贝到本地镜像 data_reference = get_data_reference(dataset="Consep",dataset_entity=filename) print(data_
2020-09-12 16:56:45 989 1
原创 IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)
再跑深度学习时运行爆出了这个问题当时出错的代码是这个:torch.sum(a,(1,2))抛出这么个错误IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)实在想不明白为什么,就去做了几个小实验这个是torch.sum() 的官方测试案例,没问题接着又试了一个呐,报出了一个一摸一样的问题,这时候问题就来了,我再试了一个三维的一切正常,所以问题出在维度上,因为少了一个维度,
2020-09-12 15:29:47 11556
原创 将 .mat 文件中保存的图片转换 .png 格式的图片Python实现
单个 .mat 文件转换import scipy.io as sciofrom PIL import Imageimport numpy as npimport matplotlib.pyplot as pltimport osdataFile = r'./CoNSeP/Train/Labels/train_2.mat' # 单个的mat文件data = scio.loadmat(dataFile)print(type(data))# print (data['data'])# 由于导
2020-09-10 16:17:09 5629 7
原创 Pytorch 中nn.Moudle 与 nn.functional 的区别
一、命名区别1.nn.Moudle中命名一般为: nn.Xxx (第一个X为大写)例如:nn.Linear,nn.Conv2d,nn.CrossEntropyLoss等2.nn.functional中命名一般为:nn.funtional.xxx例如:nn.funicational.linear,nn.funicational.conv2d,nn.funicational.cross_entropy等二、使用功能区别从功能上来书两者相当,基于nn.Moudle能实现的层,使用nn.funic
2020-09-03 15:43:44 521
原创 Python如何解压.zip文件(如果有密码需要密码已知)
需导入头文件import zipfile无密码zip_file = zipfile.ZipFile('./cache/.zip')#文件的路径与文件名zip_list = zip_file.namelist() # 得到压缩包里所有文件for f in zip_list: zip_file.extract(f, './cache_F/',pwd="".encode("utf-8")) # 循环解压文件到指定目录 zip_file.close() # 关闭文件,必须有,释放内存有密码
2020-08-27 20:32:52 5142
转载 opencv对图像进行任意角度旋转
def rotate_bound(image, angle): # grab the dimensions of the image and then determine the # center (h, w) = image.shape[:2] (cX, cY) = (w // 2, h // 2) # grab the rotation matrix (applying the negative of the # angle to rotate clo
2020-08-22 10:26:13 2496
转载 深度学习中监督学习与非监督学习的区别
监督学习和非监督学习监督学习就是给你一本作业本,后面有答案,自己先做,做完之后对答案,对了ok,不对调整自己的答案,让自己的答案尽最大可能是正确答案。非监督学习就是给你一本作业本,没答案,自己做。监督学习中,有一个label,让计算机根据这个label学习;非监督学习中没有。监督学习主要研究的问题:回归和分类非监督学习主要研究的问题:聚类神经网络就是基于监督学习的。...
2020-08-21 22:22:40 2763
转载 深度学习中的前向传播与反向传播
前向传播对于一个还没有训练好的神经网络而言,各个神经元之间的参数都是随机值,即初始化时赋的值,前向传播过程是神经网络的输入输出过程,即网络是如何根据X的值得到输出的Y值的。设激活函数为f,权重矩阵为W,偏置项为b,输入为A,输出为Y,则Y = f(AW+b),计算Y这个过程就是前向传播的过程。注意:权重矩阵W一开始是个随机值在样本中我们的数据是(x,label),而y是我们经过神经网络计算出来的值,也就是估计值,y和label肯定有误差,如何减少误差,需要改变权重矩阵W,反向传播就是解决这个问题的。
2020-08-21 22:19:37 1082
原创 tensorflow2.0自制分类数据集怎么读取.csv文件和 .txt文件
读取 .txt文件一般而言自制数据集需要有自己的图片,将图片全部放在一个文件夹里或者将训练集与测试集分开放置,本次采用将图片分为训练集和测试集分开方式,同时也需要训练集和测试集图片对应的分类标签便签像这种代码:train_path = './image_label/train_jpg/'train_txt = './image_label/train_jpg.txt'x_train_savepath = './image_label/x_train.npy'y_train_savepath
2020-08-21 16:38:44 1446
原创 Tensorflow学习笔记4-卷积是什么
卷积是什么?卷积就是特征提取器,就是CBAPDgithub 链接,老师上课用的课件,课件5,对卷积网络描述的非常详细
2020-08-14 16:14:55 213
原创 Tensorflow学习笔记3-tf.Keras完善功能模块
一、自制数据集,应对特定应用首先需要有4个文件夹训练集图片训练集标签测试集图片测试集标签测试代码如下:增加了自制数据集的处理过程,其余代码与笔记2中一样#自制数据集import tensorflow as tffrom PIL import Imageimport numpy as npimport ostrain_path = './mnist_image_label/mnist_train_jpg_60000/'train_txt = './mnist_
2020-08-13 18:37:13 297
原创 Tensorflow学习笔记2-Keras六步法搭建神经网络模型
六步法实现模型搭建导入相关模块导入训练集与测试集搭建网络结构配置训练方法执行训练方法打印出网络结构,参数统计基本元素介绍一、激活函数激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。引入非线性激活函数,可使深层神经网络的表达能力更加强大。激活函数非线性时,多层神经网络可逼近所有函数常见的激活函数有 sigmoid、relu、softmax小提示:平时在使用时,最后输出用softmax,其余基本都用relu二、损失函数神经网络模型的效果及优化的目标是通过损失函数来定义
2020-08-11 17:59:34 785
原创 Tensorflow学习笔记1-基础与常用函数
百度百科对Tensorflow的介绍TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief [1] 。Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,被广泛应用于谷歌内部的产品开发和各领域的科学研究 [1-2] 。TensorFlow由谷歌人工智能团队谷歌大脑(Googl
2020-08-10 10:33:47 424
原创 numpy&pandas 学习笔记2-pandas
numpy 与 pandas的区别numpy:数值型,无索引,重点在于进行矩阵运算pandas:多数据类型,有索引,重点在于进行数据分析一、pandas 的基本用法s = pd.Series([1,3,6,np.nan,44,1])print(s)dates = pd.date_range('20200807',periods=6)print(dates)#自己设定行列的索引名称(也可用字典直接导入)df = pd.DataFrame(np.random.randn(6,4),inde
2020-08-07 20:03:54 620
原创 numpy&pandas 学习笔记1-numpy
用途主要同于数据分析,处理。numpy基于C语言,因此速度特别快,pandas基于numpy,是numpy的升级版。主要用矩阵进行处理。Anaconda里面直接就带上了这些常用包,省去了安装的麻烦测试import numpy as np array = np.array([[1,2,3] ,[2,3,4]])print(array)#维度print('number of dim:',array.ndim)#几行几列print('shape:',ar
2020-08-07 16:49:10 296
原创 DAC0832_A/D数模转换
采用DAC0832进行A/D数据转换DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。如图4-82所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。运算放大器输出的模拟量V0为:一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。图是DAC0832的逻辑框图和引脚排列。DAC083
2020-07-30 22:01:42 3911
原创 ROS学习笔记1-ROS安装与核心概念
学习所用B站古月的ROS入门21讲ROS简介ros是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。ROS入门基础知识需求比较多,C++,Python,Linux。Linux下的ROS安装...
2020-07-28 15:25:12 233
原创 Linux学习笔记4-终端命令
为什么学习Linux终端命令操作Ubuntu的两种方式1.图形界面操作-比较消耗性能-只有桌面版有,服务器版只有命令行2.命令行操作-SSH客户端,类似于以下图片,只能通过命令行的指令进行操作,即需要学习终端命令对其进行Is、pwd、cd 三个基本命令pwd(print work directory):显示当前所在路径ls(list):显示当前路径下所有的文件ls -l :以列表的形式显示当前路径下的所有文件(不显示隐藏文件)ls -a:显示当前路径下所有文件(包括隐藏文件)通配符 *
2020-07-27 15:06:14 134
原创 Linux学习笔记3-Ubuntu上的文件系统
Ubuntu上的文件系统windows上用文件资源管理器,采用文件夹进行存储。有盘符。Ubuntu是没有盘符的,只有一个根目录,不同目录有不同的作用不同根目录的介绍可以戳这里主要的应用程序放在usr下,Home是所有目录的基目录所有的目录都是存放在主硬盘里的(存放操作系统的硬盘叫做主硬盘)Ubuntu有新硬盘采用的是挂载的方式,挂在某个文件夹下,此文件夹中的文件即存在这个新硬盘中。...
2020-07-27 10:55:24 94
原创 Linux学习笔记2-安装Ubuntu
采用虚拟机的方式安装Linux采用Vmware10虚拟机Vmware虚拟机下载发行版本:基于内核装上自己的软件,用以不同的用途Desktop版本有UI界面,更容易使用
2020-07-27 10:36:10 94
原创 Linux学习笔记1—简单Linux介绍
所用B站视频地址:https://www.bilibili.com/video/av71383568/?spm_id_from=333.788.b_636f6d6d656e74.26注:主要用于服务器端,需要处理大量数据,安全性更重要,Linux主要用命令行,对权限管理更严格,服务器的稳定性特别重要!Windows开放的权限比较多,使用人多,会有更多的漏洞手机,家电,MP3等带有处理器属于嵌入式设备安卓,机顶盒都是基于Linux的,Linux内核。Linux操作系统不是某个具体系统,是一.
2020-07-26 15:16:08 114
原创 Python中for循环的用法
1.一般格式range(stop) #0 ~ stop-1range(start,stop) #start ~ stop-1range(start,stop,step) #start ~ stop-1, step表示步长注:Python中break,continue 的用法与C中一致2.在enumerate中的用法enumerate()(单词意思是枚举的意思)是python中的内置函数,enumera
2020-07-13 20:48:13 851
原创 Git简单使用,将本地同步更新到github上
git简单使用自己平时使用直接在需要更新的文件夹里,右键git bash here(前提:这个文件夹里有.git文件,也就是git可以进行文件追踪)首先便是将自己需要更新的文件添加进去,这里的 git add . 个人认为是比较简便的方法,不用选定对应的文件,直接将全部添加进去(系统会自己判断哪一个文件发生了变化一般只适用于比较小一点的项目,本人是大学生,就平时做的一些项目而言,完全没问题)接下来可以看一下已经添加到缓存区的文件(可选)git status添加成功后 git commit
2020-07-11 18:45:30 251
原创 是什么让我重拾博客
从头再来好久都没有写博客了,呵!其实没有养成这种习惯,谈何从头而来,时间转瞬即逝,上次学长建议我写博客还是两年前,大一刚开学的时候,上一次约莫实在一年前,我哥问我有没有在写博客,记得回答的是么欸有那个习惯,觉得很麻烦,现在回想起来,真的是,也不说可笑,就现在看来,写博客依然是个麻烦事,这种观点没有变,让我重新拾起想要写博客的想法的是晚上因为白天早上上实验,下午复习,一直都是对着电脑,眼睛受不了,到晚上,心里对继续盯着电脑学习非常排斥,我自然知道这样的问题,毕竟大多数人都是这样,我又何必矫情。绕远了,晚上
2020-07-10 21:23:38 180
原创 ps
png :便携式网络图形是一种无损压缩的位图片形格式,其设计目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。PNG使用从LZ77派生的无损数据压缩算法,一般应用于JAVA程序、网页或S60程序中,原因是它压缩比高,生成文件体积小。...
2019-08-21 22:31:29 94
原创 Java语言
Java的特点简单易学面向对象平台无关性安全稳定支持多线程 具有丰富的库与C++ 的区别无直接指针操作自动内存管理数据类型长度固定不用头文件不包含结构和联合不支持宏不用多重继承无类外全局变量无GOTOJava三种核心机制Java虚拟机代码安全性检测垃圾收集机制...
2019-04-04 10:57:05 77
原创 c小知识点
一、rand()rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。rand()会返回一个范围在0到RAND_MAX(至少是32767)之间的伪随机数(整数)。在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。...
2019-04-01 15:12:28 86
原创 Java编程 零碎的小知识点
1.当你输出时可以有更简洁的输出方法例如:(1)当你要输出变量a的值时可以System.out.print(&amp;quot; &amp;quot;+ a);当然你也可以直接 System.out.print(a);(2)还有一种组合输入,还不是很能使用像是int beerNum = 99;String word = “bottle”;System.out.println(beerNum + &amp;quot; &a
2019-03-10 11:22:41 130
原创 Java中需要精准计算时BigDecimal的优点以及用法
float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候BigDecimal就派上大用场啦。当然要先引入函数 import java.math.BigDecimal;接着就可以在类中使用了...
2019-03-10 11:22:20 1460
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人