自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (7)
  • 收藏
  • 关注

原创 只有激光雷达也能跑gmapping

     Gmapping是基于滤波SLAM框架的常用开源SLAM算法。在ros中使用gmapping需要提供odom和激光信息,但是我手里只有一个rplidar A2,我也想跑gmapping怎嘛办?这里我们可以使用laser_scan_matcher包提供odom信息。     laser_scan_matcher包是增量激光扫描配准工具。 该软件包允许扫描连续的sensor_msgs /...

2018-11-28 21:35:18 5613 41

转载 ubuntu启动丢失解决方法

1、准备ubuntu启用U盘。2、U盘启动,选择试用ubuntu,进入试用版本后进行联网。3、打开终端,输入命令,添加boot-repair所在的源:sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update回车4、再输入sudo apt-get install -y boo...

2018-11-20 17:00:51 2098 1

原创 在ros下使用crsm_slam建立地图

    CRSM SLAM代表临界光线扫描匹配SLAM(同时定位和映射)。 其主要特点如下:使用扫描到地图匹配,而不是通常的扫描到扫描匹配,旨在减少噪声累积。通过随机重启爬坡算法(RRHC)执行扫描匹配。只有临界射线参与RRHC。 至关重要的是表示包含比其他信息更多的空间信息的光线。根据当前的环境结构,使用动态强度执行地图更新。    这是indigo下的一个slam包,但我用...

2018-11-30 18:06:31 1909

原创 在ros上使用mrpt_icp_slam_2d建立地图

    该SLAM算法通过使用ICP算法将新范围扫描与点点或占用网格图对齐来逐步建立地图。    icp算法 根据点集P1中的点坐标,在曲面S上搜索相应最近点点集P2; 计算两个点集的重心位置坐标,并进行点集中心化生成新的两个点集; 由新的两个点集计算矩阵W=∑ni=1qiq′Ti,并对这个矩阵进行分解为W=U∑VT,R=U∗VT. 得到旋转矩阵和平移矩阵Rt,就可以计算点集P2进行刚体变换之...

2018-11-30 11:52:44 2332 2

原创 在ros上使用mrpt_graphslam_2d建立地图

    GraphSLAM又被称为Graph-based SLAM,它的基本思想是将机器人不同时刻的位姿抽象为点(pose),机器人在不同位置上的观测所产生的约束被抽象为点之间的边,或者叫约束(constraint)。所谓的约束可以有多种多样的形式,比如机器人在A点和B点都看到同一个消防栓(我们可以认为这是固定在地图上的landmark),那么机器人在AB点观测到消防栓的相对位置,就对机器人在A...

2018-11-29 23:14:24 1430

原创 在ros上使用mrpt_rbpf_slam建立地图

    Mobile Robot Programming Toolkit (MRPT)是一个跨平台的、开源的C++库,旨在帮助机器人研究员设计和实现SLAM、机器视觉和运动规划(避障)的算法。    RBPF SLAM 采用粒子 来 表 示机器人的位姿,而环境特征的估计依然利用 EKF 解析计算。 这种将状态分解为采样部分和解析部分的粒子滤波方法一般称为 RBPF 。 由于这 种 分 解 , ...

2018-11-29 22:17:13 2016 4

原创 在ros下使用karto slam建立地图

     KartoSLAM是基于图优化的方法,用高度优化和非迭代 cholesky矩阵进行稀疏系统解耦作为解.图优化方法利用图的均值表示地图,每个节点表示机器人轨迹的一个位置点和传感器测量数据集,箭头的指向的连接表示连续机器人位置点的运动,每个新节点加入,地图就会依据空间中的节点箭头的约束进行计算更新。karto slam需要odom和laser scan的信息。     在ros当中使用k...

2018-11-28 21:50:42 6618 14

原创 通过修改rplidar的ros包源码达到屏蔽雷达角度的目的

    rplidar是一款非常好用的激光雷达。但是,它同时也是一款360度无死角的雷达。我们有时候并不需要360度。比如笔者放在笔记本电脑上建图,只需要180度的激光数据就好了。    笔者这里通过修改rplidar的node.cpp源码达到了剪切雷达角度的目的,并且可以在launch文件当中通过设置参数的方法来动态剪切雷达角度。     下面笔者就将自己修改的部分贴上以供参考   ...

2018-11-27 23:31:19 3051 2

原创 ubuntu16下使用rplidar A2

     笔者以前使用激光雷达都是公司配好,无需管理。最近需要自己从头配置,于是笔者特此记下使用过程以做笔记,也为初次使用者提供帮助。     首先笔者下载了rplidar的ros包:git clone https://github.com/robopeak/rplidar_ros     在跑包之前需要对系统做一些设置,不然每次开机都需要做USB接口写入的设置, 非常麻烦。     ...

2018-11-27 23:13:29 1767

原创 ubuntu16如何开wifi

       ubuntu16有个很好的地方就是自带wifi,就是能够通过系统设置开启wifi热点,不需要下载什么软件。这里我就记录一下如何使用ubuntu16开wifi        第一步首先点击右上角网络连接的图样,选择Edit Connections        在弹出来的页面上点击Add,在新弹出来的页面选择Wi-Fi,选好以后点击Create。            ...

2018-11-27 20:21:01 8528

原创 Linux下多个python版本共存使用

在Linux下有时候需要使用多个不同版本的pythn,然而在终端输入命令python时,定位的可能并不是你想要的那个版本,那么怎么办呢?这时候我们可以在bashrc下export多个python路径。首先我们到usr/bin下看看自己安装了多少版本的python我这儿主要安装了python2.7和python3.5两个版本。那么下一步就是在bashrc当中添加环境变量。sudo g...

2018-11-23 21:59:42 16825 2

转载 MFC编辑框滚动条一直处于最下方

MFC编程中需要将编辑框中数据自动换行,并且添加垂直滚动条,首先在界面属性里面设置如下:设置好之后,当编辑框内的数据超出显示范围的时候,就会自动滚行,但是一直显示的是顶行的数据,需要手动拉动滚动条才能看到下面的数据下面做一些设置修正这一现象。1,、为编辑框再添加一个控制变量,之前已经有一个CSring变量,该变量只负责显示用,现在再添加一个控制变量,如下图所示:2、在更新编辑框...

2018-11-22 21:58:09 2775

原创 W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915

最近使用ubuntu的sudo apt-get update老是提醒我W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i9...

2018-11-20 17:47:49 16436 6

原创 QT5如何在MainWindow上布局(QWidget::setLayout: Attempting to set QLayout "" on MainWindow)

    布局是QT界面当中必不可少的一环。我们常常使用QHBoxLayout、QVBoxLayout等进行布局。然而有个问题是,在MainWindow并不能直接进行布局。不然会显示QWidget::setLayout: Attempting to set QLayout "" on MainWindow这个错误。     那么如果有在MainWindow上布局的需求,我们应该如何做呢?  ...

2018-11-15 09:19:42 11898 4

原创 QT练手项目二:鼠标拖动窗口

     对于一个没有边框的窗口,鼠标是无法将它拖动的,于是我们就需要自己重写鼠标的点击、移动和释放事件来跟踪鼠标,从而达到使用鼠标拖动窗口,这里我们就简单的使用一个mainwindow来演示。这个小项目代码非常少,适合用来入门QT。     首先是对窗口做无边框设置:     setWindowFlags(Qt::FramelessWindowHint);     然后我们做...

2018-11-14 18:18:01 2028 2

原创 QT5通用界面设置函数

     1、窗体标题:setWindowTitle(const QString &)。例:setWindowTitle("窗口");     2、固定窗口大小:setMaximumSize(const QSize &size)。   例:setMaximumSize(300,300);                                        setM...

2018-11-14 14:05:10 2046

原创 使用zeal离线方式查看ROSAPI文档

    用习惯了QT Assistant查看API,觉得非常的方便。但是每次查看ROS的API都会去打开官网看,觉得难受。以前张瑞雷老师在课堂上向我们推荐了zeal也教了我们怎么安装。这里我就写一写如何使用zeal安装ros的api。     首先我们需要下载zeal,这里可以参照zeal官网上的教程来安装。官网是这么说的:当官方软件包过时时,我们自己的PPA存储库提供了最新版本。所以我把官网...

2018-11-10 18:49:42 1639 7

原创 ros节点调用gdb调试器和调用valgrind分析节点

    在很多情况下我们需要调用gdb调试器去调试自己的代码。有时候也需要使用valgrind来检测程序的内存泄露情况。下面我们就来介绍如何启动gdb或者valgrind分析ros节点。    我是使用的launch文件去启动ros节点和调试器,并且查看调试信息。下面就来看看看简单地启动文件     以上两个文件是我分别启动gdb和valgrind的launch文件。 下面就看看启...

2018-11-10 17:49:40 2072

原创 catkin build初探

     最近开始看张瑞雷老师的《ROS机器人高效编程》。编译其中的源码时,阅读readme文档发现其要求使用catkin build方式编译。由于我以前一直用的都是catkin_make方式进行编译,一时间还摸不着头脑。     这种编译方式,我在官网上也只是看到了使用方法,却没有一个清晰的解释,说明其和catkin_make之间的差别。不过从视图上来看确实要炫酷得多。   要使用c...

2018-11-08 21:37:20 16160 5

原创 QT练手小项目一

    最近在做MFC方面的工作,但是觉得QT不能够扔下,所以空闲的时候做一些QT方面的练手小项目,就当复习了。代码量很小,易于理解。我会把整个代码放在博客最后面。         我们先来看一看整个页面,整个页面是比较简单的,有五个按钮和两个文本框。这只是一个空的界面,并没有做任何功能。         我们先来看看MainWIndow.h#ifndef MAINWINDOW_H...

2018-11-07 21:56:12 14571 1

原创 ubuntu16下安装微信

   在linux下,想用腾讯的东西总是免不了会遇到没有官方发行版(腾讯不做没办法)的问题。那么没有办法,只能在github上找别人做的开源项目了。我这里就介绍一个github上一个开源的,基于QT界面的微信。这个微信本质上是微信网页版,但是做了一个和Windows上的微信差不多的界面,也省去了每次使用微信都要打开浏览器那么麻烦。   好了,首先安装一个库,它叫:libelf-dev。(对不起...

2018-11-05 09:28:33 3666

原创 戴尔台式机安装ubuntu16

  刚来到一家新公司,老板要求我给他们的戴尔台式机安装ubuntu,我先是按照一般电脑的流程去安装,安装完以后却发现没有Ubuntu的引导,坑爹啊。。。。。真的,我发现安装linux+Windows8.1双系统超级麻烦,各个型号的电脑有各个型号的问题。今天我就写一写如果用正确的方式在戴尔上安装ubunt16。   我的这篇博客主要针对于戴尔台式机会出现的问题讲如何安装,一般安装流程我都省略了没...

2018-11-05 09:07:50 5536

原创 ubuntu下QT版本切换

     做QT偶而会遇到要切换版本。但是我这记性吧。老是忘老是忘了default.conf放哪儿了。这次我得写个博客记录一下,方便下次需要修改版本的时候找不到。     修改QT版本就是进入default.conf文件中把里面的使用版本替换了就好。     首先进入上图目录下     然后sudo vim default.conf        你用的是QT5的话就把第一...

2018-11-03 12:05:22 9977

GetColor.zip

Qt编写的颜色提取器练手小项目,代码量少,界面设计简单,适合初学者练习使用。IDE为vs2013,Qt版本为5.6.3

2020-03-16

DecoratorSuit.zip

  装饰模式(Decorator Pattern)允许向一个现有的对象添加新功能,同时又不改变其结构。该Demo是装饰模式的一个小Demo。环境:vs2008。语言:c++

2019-08-14

StrategyDemo.zip

  策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少各种算法类与使用算法类之前的耦合。其中Strategy类层次为Context类定义了一系列可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。策略模式中的每个算法都有自己的类,可以通过自己的接口单独测试。当不同的行为堆砌在一个类当中时,就很难避免使用条件语句来选择合适的行为。将这些行为封装在一个个独立的Strategy类中,可以在使用这些行为的类中消除条件语句。

2019-06-27

FactoryMethodPattern.zip

简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

2019-06-17

基于Qt4的柱状图绘制源码

qt练手小项目的源码。绘制动态柱状图,柱状图能够根据数据变化实时上升或下降。支持设置刻度值范围、背景色和柱状图颜色。qt版本:4.8.6;IDE:vs2008

2019-04-09

AnimationButton

继承QWidget利用重写QWidget的一些事件函数模拟出动态按钮的效果。可以学到1、QWidget的enterEvent、leaveEvent、paintEvent的重写;2、qt设计师的使用;3、初步接触qt动画;4、背景样式qss。

2019-04-08

cartographer建图的lua配置文件

本文档为谷歌的cartographer建图lua文件。该lua文件是基于真实机器人建图,经过修改可以应用到任何差速机器人上。不需要修改或者只需要修改机器人基座标即可使用。

2018-09-10

空空如也

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

TA关注的人

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