- 博客(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
642
原创 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
551
原创 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
905
原创 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
163
原创 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
1548
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
8278
1
原创 点云配准方法--ICP(最近迭代点)
ICP方法就是给定两个点集,求取这两个点集之间的旋转矩阵R和平移T,求得它们之间的最优匹配。这个方法可以用在SLAM中求解两帧图像或者两帧激光数据的运动位姿。ICP问题描述:给定两个点集:找一个欧式变换R,t,使得:求解R和t,使得误差函数最小:一、已知对应点关系求解R和t计算两组点的质心位置:计算每个点的去质心坐标:推导目标函数:所以,...
2019-10-23 22:27:49
2701
2
原创 gmaping原理及代码解析(三)
(三)gmapping详细代码解析A、里程计运动模型我们先来看一下Gmapping里面实现的里程计模型代码:/*@desc 里程计运动模型@p 表示粒子估计的最优位置(机器人上一个时刻的最优位置)@pnew 表示里程计算出来的新的位置@pold 表示里程计算出来的旧的位置(即上一个里程计的位置)*/OrientedPoint MotionModel::drawFr...
2019-10-15 22:54:05
4070
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
2607
原创 win7 visual studio code安装和使用
博客参考:(1)https://blog.youkuaiyun.com/qq_41185868/article/details/81262111(2)https://blog.youkuaiyun.com/Mculover666/article/details/89164639,这个博主有一系列visual studio code的使用博文(一)visual studio code 的安装到官网下载对应版...
2019-10-01 20:35:42
5934
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
4338
原创 cartographer系列----cartographer论文
看完这篇论文很久了,现在再做一下学习笔记。希望大家一起交流学习呀~这篇论文的重点在于分支定界算法回环检测时对CSM相关算法的搜索加速。论文中文翻译可看:real-time loop closure in 2D LIDAR SLAMI.INTRODUCTION讲这篇论文的重点在于减少在计算回环约束时的计算量。II.RELATED WORK提出几种常用的回环检测时用到的扫描匹配...
2019-06-04 11:41:44
13798
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
8963
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
10935
7
原创 PCL学习系列(一)----PCL屏幕选点
此系列旨在记录学习过程,及代码案例。此文操作平台:win7+pcl1.8.0+vs2015PCL中通过注册回调函数registerPointPickingCallback来实现点云的三维坐标选取。以下为代码main.cpp:#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/poi...
2019-03-01 10:15:35
4717
12
原创 粒子滤波、卡尔曼滤波、贝叶斯滤波
参考:细说贝叶斯滤波,很容易理解参考一:从理论推导到代码实现,参考二:简单放狗比拟例子理解,卡尔曼和粒子参考三:卡尔曼的推导和应用参考四:从实际场景理解粒子滤波...
2018-11-28 11:20:49
2516
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
424
原创 北阳激光雷达UST_2OLX使用笔记
驱动参考:(1)https://blog.youkuaiyun.com/hajungong007/article/details/79210140(2)http://www.itdaan.com/blog/2016/11/09/6adf8d0410abfd835bc2c8c6d293b8b8.html大部分按照上面的博客做都是没问题的,只可惜我在设置静态IP的时候踩了一个小坑.用命令ip...
2018-10-26 15:24:40
2376
原创 关于C++
最近在写程序的时候,遇到一些问题;宝宝也是初学,欢迎批评指正和交流讨论(一)关于模板类vectorvector是数组的高级版,是动态数组的替代品,长度可变;相对应是模板array,是静态数组的替代品.(1)vector使用方式vector<typename> name(length)typename是元素类型,name是对象名字,length是长度,可以是常量也可...
2018-10-19 09:39:14
202
原创 ROS学习笔记--rplidar
最近入手一个rplidarA2,这篇文章主要记录一下学习的过程:ubuntu16.04ROSkInetic(一)rplidar的驱动安装参考网址:创客制造每次拔插后都需要给串口赋权限,为解决这个问题,可以想下面这么做:查看串口:~ ls -l /dev/ttyUSB0得到以下结果:crw-rw---- 1 root dialout 188, 0 10月 ...
2018-09-19 22:30:00
454
原创 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
1035
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
4778
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
3994
翻译 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
18692
翻译 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
2058
原创 ubuntu中,添加安装的软件的桌面快捷方式
Linux 系统中的Desktop Entry 文件以desktop为后缀名。Desktop Entry 文件是 Linux 桌面系统中用于描述程序启动配置信息的文件。此文是以ubuntu16.04为操作系统。整体可以分为以下几个步骤:(1)新建文件 所有的软件图标都在usr/share/applications目录下,你可以直接复制已有的图标到桌面作为桌面快捷方式。如果没有就新建一个...
2018-08-28 11:18:59
3827
原创 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
876
原创 制作Ubuntu16.04 U盘启动盘
因为工作学习的需要,需要kill一个windows系统,安装ubuntu16.04。在网上看了很多博客,下面几个是可以采用的:(1)用UltraISO制作Ubuntu16.04 U盘启动盘(2)ubuntu系统安装另外还用到树莓派3B:(1)树莓派安装ubuntu16.04...
2018-07-09 12:48:14
2760
翻译 (译):将SolidWorks模型转URDF
参考网站:wiki0.1 属性管理器窗口首先会出现一个属性管理器页面,用来配置你要导出的urdf文件。 您需要配置每个link并手动构建link树。 第一次配置完成后,软件会自动保存配置。 以后你应该可以跳过这一步。对于每个link,需要给它一个唯一的名称,同时给link一个独一的joint名称,在SolidWorks中选择要与该link关联的组件(装配体或者零件),并添加子link的数量。 如果...
2018-06-04 22:00:24
13271
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
3436
1
原创 ROS1学习笔记--urdf
urdf文件上是ROS上一个非常重要的机器人模型描述格式。在建立一个机器人模型之前,先来了解一下我们待会会在urdf文件中用到的一系列标签。1. <link>标签描述机器人某个刚体部分的外观和物理属性 尺寸(size)、颜色(color)、形状(shape)、惯性矩阵(inertial matrix)、碰撞参数等(collision properties)等<...
2018-05-29 15:18:54
993
3
原创 ROS1学习笔记--tf变换
一、tf变换简介 机器人系统通常具有许多随时间变化的3D坐标系,例如世界坐标系(world frame),基准坐标系(base frame),夹具坐标系(gripper frame),头部坐标系(head frame)等。tf包可以随时记录所有这些坐标系,并可以解决如下问题:5秒前,机器人头部坐标系相对于世界(全局)坐标系的关系是什么样的?机器人夹取的物体相对于机器人的中心坐标的位...
2018-05-29 10:49:51
868
原创 ROS1学习笔记--通信编程
前面有一个博客笔者概述了关于ROS1的通信机制,现在就来通过几个例子来讲讲具体的通信编程一、话题编程话题编程流程:创建发布者 创建订阅者 添加编译选项 运行可执行程序1.创建一个发布者ROS节点初始化 编写相关的节点信息,包括发布的话题名和消息类型 按一定的频率循环发布消息 #include <sstream>#include "ros/r...
2018-05-28 15:39:59
546
原创 ROS1学习笔记--launch文件
Launch文件是通过.xml文件来实现多节点的配置与启动的文件,可以自动启动ROS master,不需要使用roscore命令启动ROS master。一个launch文件里也可以引用其他.launch文件。 launch 文件中的根元素采用<launch>标签定义。一般包含以下几个部分:(1)<node>标签 功能:启动节点,取消节点(取消??...
2018-05-24 21:00:39
1092
原创 ROS1学习笔记---通信机制
ROS1通信机制的核心是点对点的分布式通信,使用了基于TCP/IP的通信方式,可以实现模块间点对点的松耦连接。有基于异步通信的话题(topic)消息机制,也有基于服务(service)的同步通信。先介绍几个特别的名词:节点(node):节点是主要的计算执行过程,也可以理解为是一个可执行的文件。节点之间可以进行交互。节点管理器(master):用于节点的名称注册和查找等。没有master...
2018-05-24 16:05:43
1525
翻译 译: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
20874
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
4487
5
原创 Ubuntu 清理/boot空间,删除旧的内核
窗口一直弹出/boot空间不足,在网上收罗了相关资料之后,可以分为几个步骤:(1)查看当前所用的内核uname -a或者使用uname -r (2)查看已经安装的内核版本dpkg --get-selections |grep linux(3)可以用下面几条命令删除多余的内核(个人用的第一条)sudo dpkg --purge <版本号>sudo apt-get purge <...
2018-05-09 15:22:23
1333
ros_by_example
2018-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人