- 博客(33)
- 资源 (3)
- 收藏
- 关注
原创 记ubuntu2004通过NetworkManager修改网络的优先级
前言步骤起因在于万恶的校园网,突然台式死活没法认证(感觉是IP冲突了?另外一台电脑同样的系统就没有问题,连路由器WIFI也是可以的,路由器设置的是桥接模式,有没有大佬提供一点解决思路), 但是连接WIFI是可以认证的。但是我一般是ssh到台式写代码的,之前网线连习惯了WIFI远程总感觉卡卡的,所以想通过有线来进行局域网的互联,通过WIFI来访问外网。但是系统默认的优先级是有线 > 无线,这会导致无法访问外网。逛了一下国内的资源,主要是通过netplan来修改优先级,如此处。
2024-01-15 22:24:08
2156
原创 强推一个讲解卡尔曼滤波的网站,比我见过的所有国内blog都好
先直接上链接:https://www.kalmanfilter.net/default.aspx(不需要梯子) 网站的第一句就说明了作者有多自信,然而确实也是讲的很好。不像很多blog上来就是先把五个公式摆上来给人干迷糊。个人认为要想理解卡尔曼滤波,有必要知道卡尔曼滤波是怎么一步步推导出来的,这里得推导不单单是推公式,而是为什么我们要在工程上进行卡尔曼滤波,卡尔曼滤波之前的算法是怎么实现的,之前的算法有什么劣势,卡尔曼滤波相比于之前的算法有什么优势,卡尔曼滤波的思想是什么,然后才是卡尔曼滤波的公
2022-05-04 15:18:15
1136
1
原创 PointRCNN:3D Object Proposal Generation and Detection from Point Cloud
目录前言论文及代码链接论文动机PointRCNN主要模块分析总结及个人思考前言 这篇论文比较老了,是2018年12份上传到arxiv的,虽然也就才几年,但是对于现在深度学习相关领域日卷月卷的情况而言,确实有点太旧了。这是我前段时间阅读的第一篇两阶段的3D目标检测论文,也许是看了它之后的PV-RCNN,Voxel-RCNN,现在看起来这个算法没有什么新奇点。当然这也是我不客观地从现在的角度去看,毕竟这算法曾经风流过。 个人感觉,如果对于二阶段目标检测算法已经有了大概的一个了解,这篇论文可以不去深究了
2022-04-29 23:42:37
2093
原创 Point-Voxel CNN:Point-Voxel Feature Set Abstraction for 3D Object Detection
其实PVCNN这篇论文十分好理解,采用的模型也十分简单,就是通过卷积的方法去提取局部特征,然后通过插值进行上采样,最后将上采样的特征直接concat到点云原始特征,之后就是pointnet那一套了。这篇论文最大的亮点是可以让我们更直观深入地理解基于体素的方法与基于点的方法的区别,文章中不仅指出了两种方法的局限,也给出了相应的实验与分析。
2022-04-25 21:23:16
1136
原创 PV-RCNN:Point-based与Voexl-based共同成就的高性能3D目标检测网络
现阶段的3D目标检测方法主要可以分为两大类,一个是采用pointnet及其变种直接对点云进行处理,即point-based。一种是将点云数据转化成规则的体素,通过三维卷积进行特征提取,即voxel-based。两种方法没有绝对意义上的孰优孰劣,各有各自不同的特点。得益于稀疏卷积,voxel-based方法的显存占用与计算量大大减少,但是体素化带来的信息损失仍然不可避免。而point-based方法虽然利用了完整的,也是最原始的点云信息,但是这类方法都会通过SA操作来提取局部空间信息,SA操作中的近邻搜索过于
2022-04-22 23:29:53
3552
原创 Voxel-RCNN:基于体素化的高效率3D目标检测算法
目录论文及代码链接论文背景及动机网络整体结构与关键module分析整体结构关键module分析论文及代码链接论文链接:论文链接代码链接:代码链接论文背景及动机 目前3D目标检测方法主要有Voxel-based方法与Point-based两大类。两种方法各个各的优点与不足,主要表现在:基于voxel的方法在点云进行体素化的时候,绝大部分体素都是空的,但是进行3DCNN卷积的时候,空的卷积需要补0,这就会造成很大的显存消耗与计算量,目前这个问题已经通过稀疏卷积得到较好的解决(可以看一下SECON
2022-04-16 15:44:22
4600
原创 Pointnet以及Pointnet++论文笔记
目录论文及代码链接Pointnet部分论文研究背景Pointnet的思想三级目录论文及代码链接Poinenet论文链接:论文链接代码链接 官方代码(TF1.0.1) 大佬复现版本(Pytorch1.0)Pointnet++论文链接:论文链接代码链接: 官方代码(TF1.2) 大佬复现版本(Pytorch1.3,里头有也Poinenet的实现)Pointnet部分论文研究背景点云是3D物体的最自然的表现形式,具有最完整的物体的几特征,然而点云具有无序性(irr
2022-04-06 13:41:38
5295
4
原创 PCL系列笔记——(滤波)Filter
目录直通滤波(PassThrough filter)体素滤波(VoxelGrid filter)离群点滤波器(StatisticalOutlierRemoval filter)直通滤波(PassThrough filter) 这个滤波很直接,就是按照我们的设置的要求直接进行滤波,例如我们可以通过直通滤波直接得到z分量在(0-500)的点云。 code#include <iostream>#include <pcl/point_types.h>#include <
2022-02-27 12:10:11
1021
1
原创 免费恢复删除文件的办法(效果与diskGenius类似)
目录前言可以白嫖的数据恢复软件——testdisk下载地址二、使用步骤前言 前段时间为了给ubuntu根目录扩容,不小心把硬盘的近200个G的文件删除了,然后几天后一觉醒来,另外一个近300G的资料盘莫名格式化而且变成了空闲空间。找了半天最好用的是diskgenus,毕竟可以保证原来的文件结构,但是死贵死贵。最后,在万能的小破站发现了一个很牛掰的软件,不仅免费,而且恢复能力不错,就算分区表改变了也没问题,最最重要是可以保证原来的文件结构不变。唯一的缺点就是操作难度可能会大一点,但是抵不住可以白嫖啊。
2022-01-11 17:23:48
2624
1
原创 Latex更改表格列宽的办法(可以实现不同列设置不同列宽)
文章目录原始表格采用\resizebox(整体进行缩放、包括文字内容)采用\setlength (修改表格列宽、整体修改)采用box(可以单独修改任意列列宽)原始表格 原始代码如下:\begin{center} \begin{tabular}{ccccc} \toprule[1.5pt] name & taskA & taskB & taskeC & taskD \\ \midrule[1pt] xiaowang &a.
2021-12-17 13:58:40
68668
2
原创 PCL系列笔记——Octree
八叉树原理 与KD树一样,八叉树(octree)也是一种高效的组织点云数据的办法,它可以从原始点云数据建树状数据结构。八叉树可以有效实现对点云的空间分区、下采样、搜索操作(如近邻搜索)等。每个八叉树要么有8个节点,要么没有节点。根节点是一个包含所有点云数据的立方体包围盒 八叉树结构是由 Hunter博士于1978年首次提出的一种数据模型。八叉树结构通过对三维空间的几何实体进行体元剖分,每个体元具有相同的时间和空间复杂度,通过循环递归的划分方法对大小为 (2n∗2n∗2n)(2n∗2n∗2n) 的三维
2021-12-09 09:04:27
2092
4
原创 机器人手眼标定
文章目录前言手眼标定标的是什么手眼标定原理眼在手上(Eye_in_hand)眼在手外(Eye_to_hand)怎么求解AX=XB误差分析以及如何减少误差前言 前阵子由于参与一个自动加油机器人的项目,研究了一下机器人的手眼标定。借着写博客的机会把整个过程理通顺、消化消化(其实就是健忘~_ ~)手眼标定标的是什么 我们开门见山,手眼标定标的是相机到机器人坐标系的变换矩阵。那么为什么要标这个呢?我们以加油机器人为例,要实现对加油盖的准确抓取,我们需要知道加油盖的位姿相对于机器人基坐标系下的位姿。这个
2021-11-18 13:57:23
8189
2
原创 相机标定——张氏标定法
目录前言动机为什么要进行相机标定什么是张氏标定法张氏标定法的原理透镜成像原理相机坐标系到图像坐标系的转换图像坐标系到像素坐标系单应性矩阵内参求解外参求解Matlab实操前言动机 前段时间在整机械臂的手眼标定,也就是标定3D相机到机械臂末端坐标系之间的转化关系,需要用到Matlab的相机标定工具来得到相机与标定板之间的齐次变换矩阵(也就是相机标定中的外参)。Matlab标定工具箱使用起来确实方便,不需要知道其中的标定原理,但是我认为要使用好一个工具,对原理有一定的了解是必要的,故而花了点时间研究了一下
2021-11-15 12:51:12
17876
16
原创 PCL系列笔记——KDtree
目录作用概念代码参考链接作用对点云数据进行组织,建立树形数据结构,用于对点云进行高效的近邻搜索等(如进行K最近邻搜索、半径内邻域搜索)概念K维树,是在计算机科学领域用于组织在K维空间中数据点(一个点由K个变量表示)的数据结构(点云中的K维树其实就是3维树,其数据就三个维度,也就是相机坐标系下的XYZ位置),它是一种带有额外限制的二叉搜索树。K维树在范围搜索以及近邻搜索中很有用。K维树的每一层,将会沿着某一特定维度的超平面切分所有子节点,每个父节点下的所有子节点将会被分成两部分(所以说K维树其实就是二
2021-11-14 21:19:43
1916
原创 ubuntu下查找文件位置的方法
1.find(查找最全面) find是通过遍历硬盘进行查找,查找的最为全面,但是同时也比较耗时,find的使用方法如下:find <指定目录> <指定条件> <指定动作>其中 / 代表在根目录下寻找,-name代表按照文件名进行匹配,firefox代表所需要寻找的文件名2、locate与find不同,locate查找的速度更快,原因是locate搜索的是一个数据库(/var/lib/locatedb),该数据库包含本地的所有文件信息,由Lin..
2021-11-01 10:43:44
33911
3
转载 c++ auto类型用法总结
一、用途auto是c++程序设计语言的关键字。用于两种情况(1)声明变量时根据初始化表达式自动推断该变量的类型(2)声明函数时函数返回值的占位符二、简要理解auto可以在声明变量时根据变量初始值的类型自动为此变量选择匹配的类型。举例:对于值x=1;既可以声明: int x=1 或 long x=1,也可以直接声明 auto x=1三、用法根据初始化表达式自动推断被声明的变量的类型,如:auto f = 3.14; //doubleauto s("hello").
2021-09-23 10:07:13
12611
原创 Opencv读取图像时候的路径问题
以XML-RPC的方式传输数据存在一定的延时和阻塞。在数据量小、频率低的情况下,传输耗费的时间可以忽略不计。但当传输图像流,点云等数据量较大的消息,或者执行有一定的实时性要求的任务时,因传输而耗费的时间就不得不考虑。Nodelet包就是为改善这一状况设计的,它提供一种方法,可以让多个算法程序在一个进程中用 shared_ptr 实现零拷贝通信(zero copy transport),以降低因为传输大数据而损耗的时间。简单讲就是可以将多个node捆绑在一起管理,使得同一个manager里面的topic的数据
2021-09-12 21:29:37
860
原创 ubuntu系统中Tensorflow版本对应关系(截止至2021.3.27)
0参考链接:https://tensorflow.google.cn/install/source#ubuntu
2021-03-28 09:41:24
678
原创 Ubuntu卸载cuda10.0
在/usr/local/cuda/bin目录下,有cuda自带的卸载工具uninstall_cuda_10.0.pl在终端输入如下指令:cd /usr/local/cuda/binsudo ./uninstall_cuda_10.0.pl
2021-03-27 16:49:56
363
原创 Ubuntu设置截图快捷键
Ubuntu自带截图工具,叫screenshot(我的系统设置语言为简体中文所以就叫截图了),软件图标如下:所以,只需要在系统中设置一下快捷键,就可以轻松实现在windows系统中一样的Ctrl+Alt+A快捷截图了,具体操作方法如下:1.进入设置-设备-键盘-键盘快捷键,然后拉到底,可以看到一个+号,如下图:2.点击+号,在相应位置输入如下指令:3.点击添加,就可以正常使用了,按下ctrl+art+a就会出现一个加号,可以选择截屏区域,截取完成之后会自动复制到剪切板...
2021-03-25 22:46:33
3651
1
原创 cuda安装错误
记录下来以便之后查阅,错误为下图,看安装错误后的输出文件可以知道:cuda_install_3863.logAn NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel. This may be because it is in use (for example, by an X server, a CUDA program, or the NVIDIA Persistence D
2021-03-13 11:35:12
557
原创 解决ros安装过程中的sudo apt-get update,rosdep init,rosdep update报错问题
前言前段时间由于一些原因把自己的系统整崩了,所以重装了一下系统顺带想重装一下ROS,结果又是遇到了常遇到的那几个问题,虽然之前安装过但还是花了一点时间来解决,所以为了以后方便,还是写一个blog记录下来,方便之后查阅,本文没有具体的安装过程,具体安装过程网上一搜一大片,主要针对的是常见的几个比较难解决的问题一、在sudo apt-get update过程出错 问题如下: W: GPG 错误:http...
2021-03-07 22:06:58
1160
原创 MDK5.25以上版本解决j-link “the connected j-link is defective“ 问题
一、问题 MDK更新到5.32之后,无论是使用J-LinkOB烧写程序还是在线仿真都会提示如下: 然后轻则每次都需要把这个警告去掉,仿真可能遇到问题,重则程序直接闪退(我遇到每次都是闪退)。实测从5.25开始就遇到了这类问题,更低版本的没有测试二、原因 MDK在5.25之后,使用了更高版本的J-...
2021-02-24 16:15:54
14793
14
原创 ubuntu换国内源
为什么需要换源 ubuntu默认的软件源服务器是在国外的,下载速度堪称龟速,更恶心的是,可能在你等了几个小时之后,给你一个failed,所以,为了防止心脏病突发,在愉快享用ubuntu之前,一定先换源 具体理解什么是源,为什么需要换源,请参考:https://www.zhihu.com/question/413453462换源的具体步骤(以阿里源为例)备份原来的源 sudo cp /etc/apt/sources.list /etc/apt/sources...
2020-10-20 12:51:46
2434
原创 ubuntu处理rar文件的方法
一般来说ubuntu默认是无法直接解压缩rar文件的,需要安装处理rar文件的工具,不过幸运的是,安装过程十分简单:安装压缩rar工具:在终端输入sudo apt-get install rar安装解压缩rar工具:在终端输入sudo apt-get install unrar使用方法:命令有: e Extract files without archived paths l[t[a],b] List archive conten.
2020-10-15 13:38:58
1741
原创 C++ primer Plus第十章总结
最重要的OPP特性有抽象 封装和数据隐藏 多态 继承 代码的可重用性C++用class来定义类设计,格式如下class stock{..................}其中stock是这个类的类型名,我们可以使用stock来声明类的对象,如stock a; stock b;访问控制private 表示私有成员,public表示公有成员,程序可以直接访问...
2019-03-02 16:10:59
365
转载 构造函数与析构函数
C++提供的默认函数首先说一下一个C++的空类,编译器会加入哪些默认的成员函数默认构造函数和拷贝构造函数 析构函数 赋值函数(赋值运算符) 取值函数即使程序没定义任何成员,编译器也会插入以上的函数,也就是说当用户没有定义构造函数和析构函数时编译器会自动添加默认的构造函数和析构函数。但是某些情况下,由于成员的特殊性,需要自己进行构造函数与析构函数的编写。构造函数基础1. 关于...
2019-03-01 16:13:05
238
原创 C++ primer plus 第九章总结
包含自己编写的头文件的时候应该使用“”而不是<>;储存持续性、作用域、和链接性c++中有四种方案来储存数据自动存储的持续性:在函数定义中声明的变量(包含函数参数)的存储持续性为自动的。它们在程序开始执行其所属的函数或代码块时被创建,在执行完函数或者代码块时,他们使用的内存就被释放,C+有两种储存持续性为自动的变量 静态储存的持续性:在函数定义外定义的变量和使用关键字sta...
2019-02-27 20:29:32
486
转载 void*的用法
指针有两个属性:指向变量/对象的地址和长度 但是指针只存储地址,长度则取决于指针的类型 编译器根据指针的类型从指针指向的地址向后寻址 指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 double*从指定地址向后寻找8字节作为变量的存储单元 1.void指针是一种特别的指针 void *vp //说它特别是因为它没有类型 ...
2019-02-25 20:02:19
901
原创 C++ primer plus 前四章学习总结
最近开始学习C++。用的教材是C++ primer plus,很经典与权威的一本教材。关于oop编程我还不太了解,也不能说出个所以然出来,下面是书中一些重要知识点的总结1.main函数是被编译器添加的启动代码调用的2.在C++风格中,C语言中的头文件的书写格式是去掉.h,在最前面加上c。如math.h->cmath。3.名称空间是用来确定使用什么厂商的代码的。(就是说假如有两...
2019-02-25 12:42:43
295
原创 C++ primer plus 第八章函数探幽总结
引用变量它实质上是变量的别名,我们可以看作他是变量的一个“外号”创建方法int rats;int &rodents=rats;(必须在声明的时候就初始化,不可int &rodents;rodents=rats;)在这里rodents与rats指向相同的内存单元与值。也就是说,rats与rodents 的值都相同引用变量作为函数参数引用变量作为函数参数的参...
2019-02-25 11:00:51
224
原创 stm32f103读取电子罗盘数据
前几天接到了一个任务,用stm32f103的串口读取电子罗盘(北微姿态传感器)的数据,其实也就三个,PITCH,ROLL,HEADING三个方向上的角度,顺带复习了一下串口知识。 个人觉得熟悉一下串口协议还是很重要的,刚开始学习的时候跟着原子的视频学习还是学习的很认真的,奈何但是是为了比赛速成,所以看完视频就直接用原子的例程了,久而久之不太清楚串口通信的具体实现过程了,就知道怎么使...
2018-12-04 22:59:03
3182
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅