笔记
文章平均质量分 92
helton_yan
一个单纯的人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常用Linux基础命令行操作
学习linux操作系统的第一步,就是学会如何打开命令行 — 兹基·硕德好了不开玩笑了,当我们费劲千辛万苦,在各种报错,重装后终于给电脑装上Linux系统时,最基础的第一步应该是先了解linux命令行下的各种基础命令,方便快速上手,也方便在之后使用服务器(非图形界面)时不至于感到生疏。打开命令行(终端Terminal)快捷键:Ctrl+Alt+T 文件目录操作:ls #查看当前目录中的子文件[子文件夹]ls -F #查看目录中的文件[文件夹后有带/],包括隐藏文件ls .原创 2020-10-25 18:30:09 · 1070 阅读 · 0 评论 -
【学习记录】贝叶斯滤波详解
贝叶斯滤波详解贝叶斯滤波的用途(Bayesian Filtering):贝叶斯滤波理论的应用可谓十分广泛。我们知道,在机器人运动过程中,有两个方面的信息来源,一个是通过我们实际控制机器人的运动路线(状态方程)和机器人传感器观测的实际信息(观测方程)来估计自身的位姿,但实际上,无论是状态还是观测都不可避免的存在噪声。假如机器人单方面的仅通过状态方程或观测方程来估计自身位姿,这样一来随着时间的不断推移,机器人估计的位姿与机器人实际的位姿误差将会越来越大。这时候我们就需要考虑这样一个问题:如何有效的融合控制信原创 2020-07-31 13:52:52 · 6055 阅读 · 1 评论 -
【理解】经典角点检测算法--Harris角点
什么是角点角点还没有明确的数学定义,但普遍具有以下特征:局部小窗口沿各方向移动,窗口内的像素均产生明显变化的点。图像局部曲率(梯度)突变的点。对于同一场景,即使视角发生变化,其角点通常具备某些稳定不变性质的特征角点检测算法的原始思想:我们可以从角点具有的特征出发:即选取一个局部窗口,将这个窗口沿着各个方向移动,计算移动前后窗口内像素的差异的多少进而判断窗口对应的区域是否是角点。有了基本的对角点的描述思想,我们可以进一步把它转化为数学描述:通过数学描述,我们可以总结出Harris角点原创 2020-06-16 01:26:47 · 30832 阅读 · 8 评论 -
【OpenCV学习4】图像金字塔
图像金字塔:在先前对图像的操作中,我们对图像的处理是停留在二维尺度上的,即没有考虑到图像其实具有第三个维度。而在现实场景中,我们人眼观察到的世界是时刻变化的,即观察近处的图像较大,远处的图像较小的特点。因此对于给定的一帧图像,为了模仿图像离我们远去时在视网膜上的成像,并尽可能的还原图像在不同尺度下的呈现的不同特征,(即图像的纵深),我们引入图像金字塔的概念。试图图在二维图像的基础之上,还原出图像中自然存在的另一个维度:尺度。图像金字塔(Image Pyramid):一个图像金字塔由一系列按比例缩放的不原创 2020-05-29 18:15:26 · 975 阅读 · 0 评论 -
【理解】ORB特征提取与ORBSLAM特征匹配简要剖析
ORB特征提取优势:ORB:Orinted FAST+Rotated BRIEF顾名思义:ORB特征是基于FAST特征的一个改进算法,它改进了FAST检测子不具有方向性的问题,在FAST特征提取的基础上加入了特征点的主方向。从而为后续的BRIEF描述子增添旋转不变的特征,同时构建图像金字塔实现尺度不变性。这样一来,图像帧与帧之间的特征匹配就变得容易许多,减少了特征点丢失,不匹配或误匹配的现象。ORB特征提取采用速度极快的二进制描述子BRIEF,使得图像特征提取的速度大大提升。由原论文的测试数据可知(原创 2020-05-23 11:30:25 · 4877 阅读 · 0 评论 -
【OpenCV学习3】图像形态学操作
图像形态学操作:区别于生物学上的形态学,图像形态学:即数学形态学(mathematical Morphology),是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质〈最具区分能力-most discriminative)的形状特征,如边界和连通区域等。同时像细化、像素化和修剪毛刺等技术也常应用于图像的预处理和后处理中,成为图像增强技术的有力补充。形态学基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到原创 2020-05-18 16:50:32 · 1752 阅读 · 0 评论 -
【OpenCV学习2】图像滤波
目录图像滤波:线性滤波:均值滤波:高斯滤波(二元):非线性滤波:中值滤波:双边滤波:图像滤波:图像滤波分为线性滤波和非线性滤波。线性滤波:输出图像上每个像素点的值都是由输入图像各像素点值加权求和的结果。(即运算只涉及加减乘除是则运算。)非线性滤波:算子中包含了取绝对值、置零等非线性运算。线性滤波:基本原理:其中:i,j表示图像的行跟列,f(i,j)表示当前像素,k,l表示卷积...原创 2020-05-05 14:33:09 · 793 阅读 · 0 评论 -
【ROS学习9】参数的使用与编程及tf坐标管理系统的基本了解
目录参数的使用与自定义实现使用`rosparam get`显示参数:使用`rosparam set`更改参数:获取/设置参数的编程实现:Ros坐标系管理系统机器人中的坐标变换小海龟跟随实验:代码实现小海龟跟随实验:广播:监听器:参数的使用与自定义实现Parameter Server是Ros中自带的参数服务端,由于其对参数的定义类型为一个全局字典,因此RosMaster下的各个节点均可全局访问...原创 2020-05-04 23:48:21 · 941 阅读 · 0 评论 -
【OpenCV学习1】基本图像操作
加载,修改,保存图像cv::Mat:创建一个矩阵头,用来保存图像加载图像:(cv::imread)用于加载图像文件并转换为一个Mat对象Mat src = imread("/home/yht/OpenCV/image/test5.png",1)第一个参数表示图像地址与图像名,第二个参数表示加载图像类型,IMREAD_UNCHANGED(<0)加载原图IMREAD_GRAYSCAL...原创 2020-04-19 20:48:03 · 1122 阅读 · 0 评论 -
【ROS学习8(Service)】服务数据service的定义与使用
目录服务数据的定义与使用:自定义服务数据Person:➢定义srv文件:Person.srv➢ 在package.xml中添加功能包依赖(和msg的操作相似)➢ 在CMakeLists.txt添加编译选项(和msg的操作相似)➢ 编译:创建Client端代码创建Server端代码CMakeLists:编译运行:总结服务数据的定义与使用:由于先前的话题通讯机制适合在通讯频率高的场景下使用,因此...原创 2020-04-19 14:52:25 · 1462 阅读 · 0 评论 -
【ROS学习7(Service)】服务端(Server)的编程实现
服务端Server的编程实现:在本次学习中我们将实现Server端:目标:通过终端控制Client端来给Server端发送Request请求,请求内容的服务类型为ROS中的一个标准定义Trigger(触发),控制Server端是否发送信号,间接控制海龟的运动/停止。这里的Server端也充当Publisher,发布Topic的消息结构为Twist,发送海龟的运动指令给Turtlesim。...原创 2020-04-14 14:31:39 · 465 阅读 · 0 评论 -
【ROS学习6(Service)】客户端Client的编程实现
在前几次学习当中,我们了解了Topic通讯当中基本模型publisher,subscriber的实现方式,从本次我们开始学习ROS中另一种重要的通讯方式:Service(服务)的实现。客户端Client的编程实现:以发布海龟生成请求为例:Client(客户端):发布海龟生成请求 [类似Publisher]Serve(服务端):海龟仿真器,接收请求 [类似于Subscriber]S...原创 2020-04-12 19:04:56 · 1452 阅读 · 2 评论 -
【ROS学习5(Topic)】话题消息(message)的自定义与使用
话题消息的自定义与使用:在上几次的学习当中,无论是给小海龟发送速度指令的Twist消息,还是去订阅小海龟的位姿Pose消息,都是ROS里默认定义的,假如这些消息仍无法满足我们的需求,我们就需要自定义一个消息类型。我们以创建一个个人信息的消息类型为例:如何定义话题消息:➢定义msg文件:(Person.msg)cd learning_topicmkdir msg#用touch命令创建...原创 2020-04-07 13:38:51 · 2502 阅读 · 1 评论 -
【ROS学习4(Topic)】订阅者(Subscriber)的编程实现
订阅者(Subscriber)的编程实现:以小海龟仿真器为例:目的:查看发布者发布的海龟实时位姿。如何实现一个订阅者:• 初始化ROS节点;• 订阅需要的话题;• 循环等待话题消息,接收到消息后进入回调函数;• 在回调函数中完成消息处理。代码实现:/** * 该例程将订阅/turtle1/pose话题,消息类型turtlesim::Pose */#include <...原创 2020-04-07 13:10:35 · 1076 阅读 · 3 评论 -
【ROS学习3(Topic)】发布者(Publisher)的编程实现
发布者(Publisher)的编程实现:我们仍然以小海龟仿真器为例。目的:使用程序实现publisher,将海龟的速度指令发布给topic再复习一下基本的话题模型:·ros master用以管理所有节点·publisher发布海龟的速度指令·topic(turtle1)接收发布消息·subscriber(turtlesim)订阅这个消息,使海龟发生运动。创建功能包 (learn...原创 2020-04-05 15:13:18 · 892 阅读 · 3 评论
分享