自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (3)
  • 收藏
  • 关注

原创 3D激光slam解析

这里只总结大佬解析的网址,如有侵权,请联系我.(今天也是膜拜大佬的一天ing)1. hdl_graph_slam 源码: github 代码hdl_graph_slam任大佬的解析(膜拜ing.....):hdl_graph_slam源码解读(一):整体介绍hdl_graph_slam源码解读(二):g2o顶点和边的管理hdl_graph_slam源码解读(三):点云滤波hdl_graph_slam源码解读(四):关键帧hdl_graph_slam源码解读(五):前端里程..

2021-07-01 17:18:23 550

原创 ubunru18.04 查看环境变量及其获取

参考:查看、设置环境变量查看环境变量1.env 列出所以环境变量(常用)2.export 同env一样,可以获取所以环境变量3.echo $PATH用于列出变量PATH的值,里面包含了已添加的目录获取环境变量1.c++ 普通获取 #include <stdio.h>#include <stdlib.h>int main(){ //printf("PATH: %s\n",getenv("PATH")); printf(...

2020-11-17 10:41:02 493

原创 ubuntu18.04 ros工作空间catkin_make时gebest 和gmock报错

解决方法:修改CATKIN_ENABLE_TESTING值为OFF.sudo vim melodic/share/catkin/cmake/test/tests.cmake

2020-07-26 09:42:10 792

原创 Git学习笔记

参考网站:廖学峰Git教程(1)git init :创建本地版本库 ,本地的版本库可以看作是“工作区".构建成功后,目录下会有一个隐藏文件:.git(2) git status : 查看当前版本库状态,文件的修改情况,是否需要git add 和git commit(3) git diff :查看文件修改情况,示例: git diff readme.txt(4) git add <file> :将修改后的文件放在暂存区(5) git commit -m <说明..

2020-07-17 16:58:24 132

原创 about ubuntu18.04

(1)install win10+ubuntu18.04:reference:超详细!Win10(UEFI启动)安装Ubuntu18.04双系统lenoovo K4-IML enter BIOS: Ctrl+Fn+F12(2)ubuntu18.04 install ROS-melodicofficial website:Ubuntu install of ROS Melodic

2020-07-13 18:30:32 1405 1

原创 点云配准方法--PLICP

PLICP论文下载:Censi, A. (2008). "An ICP variant using a point-to-line metric." IEEE International Conference on Robotics & Automation. IEEE,: 19-25.ICP方法存在以下缺点:依赖初始值,初始值不好时,迭代次数增加;对于较大的初始误差,可能会出现错误...

2019-10-25 21:24:25 7579 1

原创 点云配准方法--ICP(最近迭代点)

ICP方法就是给定两个点集,求取这两个点集之间的旋转矩阵R和平移T,求得它们之间的最优匹配。这个方法可以用在SLAM中求解两帧图像或者两帧激光数据的运动位姿。ICP问题描述:给定两个点集:找一个欧式变换R,t,使得:求解R和t,使得误差函数最小:一、已知对应点关系求解R和t计算两组点的质心位置:计算每个点的去质心坐标:推导目标函数:所以,...

2019-10-23 22:27:49 2457 2

原创 gmaping原理及代码解析(三)

(三)gmapping详细代码解析A、里程计运动模型我们先来看一下Gmapping里面实现的里程计模型代码:/*@desc 里程计运动模型@p 表示粒子估计的最优位置(机器人上一个时刻的最优位置)@pnew 表示里程计算出来的新的位置@pold 表示里程计算出来的旧的位置(即上一个里程计的位置)*/OrientedPoint MotionModel::drawFr...

2019-10-15 22:54:05 3715 2

原创 gmaping原理及代码解析(二)

之前记录着就忘记录了,现在补上,欢迎大家一起交流啊~(二)gmapping原理解析A、先验知识条件概率公式:上图中红色为A事件,蓝色为B时间,紫色为A、B事件同时发生的概率,P(A|B)表示B发生的条件下A发生的概率:全概率公式:如上图,对于样本空间A,由A1...A7个事件组成,且A1...A7事件两两互斥,即任意两个事件的交集为空集;则对于任意事件B有:...

2019-10-14 12:05:10 2264

原创 win7 visual studio code安装和使用

博客参考:(1)https://blog.csdn.net/qq_41185868/article/details/81262111(2)https://blog.csdn.net/Mculover666/article/details/89164639,这个博主有一系列visual studio code的使用博文(一)visual studio code 的安装到官网下载对应版...

2019-10-01 20:35:42 5689 1

原创 占用栅格地图原理分析

参考:占用栅格地图---知乎参考:bresenham画线算法解析上传公式失败,直接上传图片了~计算出栅格后,利用画线算法bresenham将经过的激光束画出来,小博自己将gmapping里的画线算法改为matlab语言,代码如下:function [freex,freey]=self_bresenham(startx,starty,endx,endy)i=0;j=0;d...

2019-06-17 10:29:46 4181

原创 cartographer系列----cartographer论文

看完这篇论文很久了,现在再做一下学习笔记。希望大家一起交流学习呀~这篇论文的重点在于分支定界算法回环检测时对CSM相关算法的搜索加速。论文中文翻译可看:real-time loop closure in 2D LIDAR SLAMI.INTRODUCTION讲这篇论文的重点在于减少在计算回环约束时的计算量。II.RELATED WORK提出几种常用的回环检测时用到的扫描匹配...

2019-06-04 11:41:44 13413 1

原创 cartographer系列---lua配置文件

使用cartographer建图需要从lua文件中读取参数配置。本文记录lua文件中的一些参数参考:官方文档先看一些ros与cartographer的集成项,这些集成项需要在lua文件中声明:map_frame:一般为“map”.用来发布submap的ROS帧ID.tracking_frame:SLAM算法要跟踪的ROS 帧ID.?published_frame:用来发布pos...

2019-04-29 17:04:57 8466 2

原创 gmapping原理及代码解析(一)

此次记录Gmapping学习的过程,笔者能力尚缺,欢迎大家一起交流啊~一、gmapping代码解析我们先来看看Gmapping里的main.cpp#include <ros/ros.h>#include "slam_gmapping.h"intmain(int argc, char** argv){ ros::init(argc, argv, "slam_...

2019-03-29 09:23:00 10516 7

原创 PCL学习系列(一)----PCL屏幕选点

此系列旨在记录学习过程,及代码案例。此文操作平台:win7+pcl1.8.0+vs2015PCL中通过注册回调函数registerPointPickingCallback来实现点云的三维坐标选取。以下为代码main.cpp:#include &lt;iostream&gt;#include &lt;pcl/io/pcd_io.h&gt;#include &lt;pcl/poi...

2019-03-01 10:15:35 4340 12

原创 粒子滤波、卡尔曼滤波、贝叶斯滤波

参考:细说贝叶斯滤波,很容易理解参考一:从理论推导到代码实现,参考二:简单放狗比拟例子理解,卡尔曼和粒子参考三:卡尔曼的推导和应用参考四:从实际场景理解粒子滤波...

2018-11-28 11:20:49 2413 1

原创 ros Tim学习笔记

最近在学习的过程中用到ROS Time的机会比较多,借此机会做个笔记.参考(1):创客制造(1)使用ros::Time::Now获取当前时间,计算程序/算法运行时间startTime=ros::Time::Now() //程序开始{程序算法中....}endTime=ros::Time::Now();double process_time=(endTime-starTim...

2018-11-13 17:19:09 308

原创 北阳激光雷达UST_2OLX使用笔记

驱动参考:(1)https://blog.csdn.net/hajungong007/article/details/79210140(2)http://www.itdaan.com/blog/2016/11/09/6adf8d0410abfd835bc2c8c6d293b8b8.html大部分按照上面的博客做都是没问题的,只可惜我在设置静态IP的时候踩了一个小坑.用命令ip...

2018-10-26 15:24:40 2224

原创 关于C++

最近在写程序的时候,遇到一些问题;宝宝也是初学,欢迎批评指正和交流讨论(一)关于模板类vectorvector是数组的高级版,是动态数组的替代品,长度可变;相对应是模板array,是静态数组的替代品.(1)vector使用方式vector&lt;typename&gt;  name(length)typename是元素类型,name是对象名字,length是长度,可以是常量也可...

2018-10-19 09:39:14 172

原创 ROS学习笔记--rplidar

最近入手一个rplidarA2,这篇文章主要记录一下学习的过程:ubuntu16.04ROSkInetic(一)rplidar的驱动安装参考网址:创客制造每次拔插后都需要给串口赋权限,为解决这个问题,可以想下面这么做:查看串口:~ ls -l /dev/ttyUSB0得到以下结果:crw-rw---- 1 root dialout 188, 0 10月 ...

2018-09-19 22:30:00 384

原创 ROS学习笔记--realssenseD435学习笔记

ubuntu16.04ROS kinetic参考网址:(1)http://wiki.ros.org/RealSense(2)https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md(测试的时候主要参考这篇,按步骤来就可以了)(3)https://realsense.i...

2018-09-17 08:17:38 992 1

原创 学习笔记--MYNTEYE小觅摄像头学习笔记

记录一下MYNT学习笔记ROSkineticubuntu16.04安装SDK,具体方法可以参考:小觅SDK安装方法因为ROS安装出了点问题没有解决,所以就用ubuntu安装,安装到/home/huang/Software文件夹下获取代码:sudo apt-get install gitgit clone https://github.com/slightech/MYNT...

2018-09-15 21:31:48 4695 5

转载 关于move_base的原理及应用

原理:(1)ROS探索总结(十四)——move_base(路径规划)(2)ROS专题----导航功能包navigation基础汇总某些引用及代码:(1)学习,move_base包(2)ROS 教程之 navigation : 用 move_base 控制自己的机器人(1)(3)ROS 教程之 navigation : 用 move_base 控制自己的机器人(2)源码解...

2018-09-08 21:54:16 3676

翻译 ROS学习笔记--cv_bridge

cv_bridge是在ROS图像消息和OpenCV图像之间进行转换的一个功能包。(一)在ROS图像和OpenCV图像之间转换(C ++)1.Concepts(概念)ROS以自己的sensor_msgs / Image消息格式传递图像,但许多用户希望将图像与OpenCV结合使用。 CvBridge是一个ROS库,提供ROS和OpenCV之间的接口。 可以在vision_opencv ...

2018-08-30 16:50:21 16112

翻译 ROS学习笔记--vision_opencv

功能包摘要vision_opencv:cv_bridge/image_geometryvisio你_opencv是用于将ROS与OpenCV连接的功能包,是一个用于实时计算机视觉的编程函数库。维护者状态:维护 维护者:Vincent Rabaud 作者:Patrick Mihelich, James Bowman 许可证:BSD Bug / feature tracker:ht...

2018-08-30 09:22:58 1847

原创 ubuntu中,添加安装的软件的桌面快捷方式

Linux 系统中的Desktop Entry 文件以desktop为后缀名。Desktop Entry 文件是 Linux 桌面系统中用于描述程序启动配置信息的文件。此文是以ubuntu16.04为操作系统。整体可以分为以下几个步骤:(1)新建文件   所有的软件图标都在usr/share/applications目录下,你可以直接复制已有的图标到桌面作为桌面快捷方式。如果没有就新建一个...

2018-08-28 11:18:59 3637

原创 ubuntu16.04安装eclipse完成后,启动不显示菜单栏

在安装Kdevelop失败后(缺少下载源,估计被我误删),果断转战eclipse。扎心的是安装后打开竟然没有菜单,不能认不能忍。有两种解决方法:(1)方法一1. 新建一个eclipse.sh文件,加入如下内容,下面的路径是ecipse的路径#!/bin/bashexport UBUNTU_MENUPROXY=0/usr/bin/eclipse2. 在终端 sh ./ec...

2018-08-15 15:39:21 840

原创 制作Ubuntu16.04 U盘启动盘

因为工作学习的需要,需要kill一个windows系统,安装ubuntu16.04。在网上看了很多博客,下面几个是可以采用的:(1)用UltraISO制作Ubuntu16.04 U盘启动盘(2)ubuntu系统安装另外还用到树莓派3B:(1)树莓派安装ubuntu16.04...

2018-07-09 12:48:14 2696

翻译 (译):将SolidWorks模型转URDF

参考网站:wiki0.1 属性管理器窗口首先会出现一个属性管理器页面,用来配置你要导出的urdf文件。 您需要配置每个link并手动构建link树。 第一次配置完成后,软件会自动保存配置。 以后你应该可以跳过这一步。对于每个link,需要给它一个唯一的名称,同时给link一个独一的joint名称,在SolidWorks中选择要与该link关联的组件(装配体或者零件),并添加子link的数量。 如果...

2018-06-04 22:00:24 13052 1

原创 ROS1学习笔记--xacro

xacro文件是urdf文件的进阶版,可以通过宏定义,文件包含来精简模型文件。还可以通过定义常量、变量等来反复调用,相当有用哦~~先贴代码:<?xml version="1.0" ?><robot name="fourwheelrobot" xmlns:xacro="http://www.ros.org/wiki/xacro"><!--...

2018-05-29 17:09:32 3360 1

原创 ROS1学习笔记--urdf

urdf文件上是ROS上一个非常重要的机器人模型描述格式。在建立一个机器人模型之前,先来了解一下我们待会会在urdf文件中用到的一系列标签。1. &lt;link&gt;标签描述机器人某个刚体部分的外观和物理属性 尺寸(size)、颜色(color)、形状(shape)、惯性矩阵(inertial matrix)、碰撞参数等(collision properties)等&lt...

2018-05-29 15:18:54 896 3

原创 ROS1学习笔记--tf变换

一、tf变换简介         机器人系统通常具有许多随时间变化的3D坐标系,例如世界坐标系(world frame),基准坐标系(base frame),夹具坐标系(gripper frame),头部坐标系(head frame)等。tf包可以随时记录所有这些坐标系,并可以解决如下问题:5秒前,机器人头部坐标系相对于世界(全局)坐标系的关系是什么样的?机器人夹取的物体相对于机器人的中心坐标的位...

2018-05-29 10:49:51 773

原创 ROS1学习笔记--通信编程

前面有一个博客笔者概述了关于ROS1的通信机制,现在就来通过几个例子来讲讲具体的通信编程一、话题编程话题编程流程:创建发布者 创建订阅者 添加编译选项 运行可执行程序1.创建一个发布者ROS节点初始化 编写相关的节点信息,包括发布的话题名和消息类型 按一定的频率循环发布消息 #include <sstream>#include "ros/r...

2018-05-28 15:39:59 444

原创 ROS1学习笔记--launch文件

Launch文件是通过.xml文件来实现多节点的配置与启动的文件,可以自动启动ROS master,不需要使用roscore命令启动ROS master。一个launch文件里也可以引用其他.launch文件。 launch 文件中的根元素采用&lt;launch&gt;标签定义。一般包含以下几个部分:(1)&lt;node&gt;标签 功能:启动节点,取消节点(取消??...

2018-05-24 21:00:39 977

原创 ROS1学习笔记---通信机制

ROS1通信机制的核心是点对点的分布式通信,使用了基于TCP/IP的通信方式,可以实现模块间点对点的松耦连接。有基于异步通信的话题(topic)消息机制,也有基于服务(service)的同步通信。先介绍几个特别的名词:节点(node):节点是主要的计算执行过程,也可以理解为是一个可执行的文件。节点之间可以进行交互。节点管理器(master):用于节点的名称注册和查找等。没有master...

2018-05-24 16:05:43 1280

翻译 译:ROS和Openv之间的图像转换(Python)

描述:本教程介绍如何使用cv_bridge将ROS图像转换为OpenCV图像,反之亦然,从而实现ROS和OpenCV的交互。 包括一个示例节点,可用作您自己节点的模板。1.概念    ROS以其自己的sensor_msgs/Image消息格式发布图像,但许多用户会希望将图像与OpenCV结合使用。 CvBridge是一个ROS库,提供ROS和OpenCV之间的接口。 可以在vision_openc...

2018-05-24 10:51:00 18988 5

原创 关于ROS学习过程中的N多问题,纯粹自己记笔记了

(一)catkin_make编译错误        (1) Could not find a package configuration file provided by "gazebo_ros_control" with any of the following names: gazebo_ros_controlConfig.cmake gazebo_ros_co...

2018-05-15 20:31:05 4412 5

原创 Ubuntu 清理/boot空间,删除旧的内核

窗口一直弹出/boot空间不足,在网上收罗了相关资料之后,可以分为几个步骤:(1)查看当前所用的内核uname -a或者使用uname -r (2)查看已经安装的内核版本dpkg --get-selections |grep linux(3)可以用下面几条命令删除多余的内核(个人用的第一条)sudo dpkg --purge &lt;版本号&gt;sudo apt-get purge &lt...

2018-05-09 15:22:23 1198

ROS学习相关书籍

包括ros_by-example,机器人程序设计,ROS机器人编程基础等10本pdf

2019-02-22

ROS机器人基础

ROS机器人编程中文版,可与ROS其他书籍一起学习,ROS作为工具可用于自动驾驶,SLAM等方向

2019-02-22

ros_by_example

ros操作系统经典书籍,ros__by_example 原版pdf,ros版本为indigo,可以作为自学ros的参考书籍,ros1操作系统在Linux下运行

2018-06-11

空空如也

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

TA关注的人

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