自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

robots的博客

一起奋斗呀

  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 LOAM源代码分析附公式推导之LaserOdometry

持续更新中,望批评指正!有疑惑的地方欢迎共同探讨!@2020-10-116. 之LaserOdometry6.1 参数配置默认设置如下每次激光扫描周期 scanPeriod = 0.1s输入与输出激光帧的比值 ioRatio = 2最大迭代次数 maxIterations = 25explicit LaserOdometry(float scanPeriod = 0.1, uint16_t ioRatio = 2,

2020-12-07 17:11:57 1122 2

原创 LOAM源代码分析附公式推导之MultiScanRegistration

LOAM源代码分析附公式推导概述前言准备工作激光雷达概述整理一下LOAM中对激光点云数据、IMU数据的处理以及相关的公式推导,希望能帮助大家,同时供自己以后复习参考。由于相关的东西较多,可能会有疏漏,并且由于时间有限,精力有限,此博客长期更新,欢迎各位小伙伴批评指正。前言LOAM参考源代码仓库github地址为LOAM 源代码链接具体配置可以参照博客LOAM SLAM安装与配置关于LOAM原始论文的解读可以参考LOAM SLAM之论文原理解读,相关链接LOAM SLAM原理之防止非线性优化解退化

2020-10-11 21:22:34 3133 11

原创 LOAM SLAM之论文原理解读

LOAM SLAMLOAM细节分析比较详细的分析代码流程https://zhuanlan.zhihu.com/p/57351961除了LOAM还有易读版本的A-LOAMhttp://tb.huitaofuwu.com/2020/03/14/%E8%AE%BA%E6%96%87%E5%9B%9E%E9%A1%BE%E4%B9%8BLOAM/论文回顾之LOAMhttp://tb.huitaofuwu.com/2020/03/14/%E8%AE%BA%E6%96%87%E5%9B%9E%E9%A1%

2020-09-28 10:35:09 4316 13

原创 LOAM SLAM原理之防止非线性优化解退化

On Degeneracy of Optimization-based State Estimation Problems概述理解参考链接概述LOAM中用于非线性优化的方法,希望能帮助大家,同时供自己以后参考。理解对于SLAM而言,视觉传感器需要纹理信息决定特征点,距离传感器需要空间几何结构信息决定特征点,在特征点缺乏时,状态估计方法会进行退化,为了解决这种退化问题,本文提出了一种在线方法。处理退化的常用方法有:1)当出现退化时换一种方法;这要求在设计时需要一个备用方法可用2)在状态估计过程

2020-09-22 22:58:29 4645 1

原创 QT安装教程

QT安装教程概述简单介绍如何在Ubuntu下安装QT,希望能够帮助大家,同时给自己一个参考。、下载链接https://download.qt.io下载QT 5.12-linux版本https://download.qt.io/official_releases/qt/5.12/5.12.10/官方教程https://wiki.qt.io/Install_Qt_5_on_Ubuntu...

2021-06-02 23:39:09 1363

原创 相机标定之使用Kalibr工具箱

使用kalibr标定相机特别注意tagpacing参数的设置,为spacing/tagSize在文件src/Kalibr/Schweizer-Messer/sm_python/python/sm/PlotCollection.py中第8行from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx as Toolbar改为from matplotlib.backends.backend_wx import Navigatio

2021-04-05 21:38:02 7954 2

原创 相机标定之使用ROS节点程序

ros标定相机rosrun camera_calibration cameracalibrator.py --size=8x6 --square=03 --k-coefficients=2 --no-service-check image:=/imsee/image/left**** Calibrating ****D = [0.23693456430365478, -0.19687977090828668, 0.0004951616081759047, 0.0034006780033438875,

2021-04-05 21:36:48 1054 1

原创 相机标定之使用Matlab工具箱

相机标定概述准备步骤概述简单介绍使用Matlab进行相机标定的步骤,供自己以后参考,同时希望给大家带来帮助。准备提前准备好棋盘格并打印出来,可以使用A4纸打印,然后粘贴在纸板上,注意粘贴时贴紧纸板,确保位于纸张上的点位于同一平面。棋盘格图片下载。使用相机拍摄一系列棋盘格图片,确保每张图片包含完整的棋盘格信息,并不断旋转移动棋盘格,保证采取到不同位置下的棋盘格信息。确保所使用的Matlab工具箱中包含相机标定程序,一般高版本的Matlab都会自带图像处理工具箱。步骤...

2021-04-05 21:35:30 2873 2

原创 indemind imsee 双目视觉惯性相机 SDK安装

indemind 相机 驱动如果需要安装ROS,可以不用安装OpenCV/PCL, 以防兼容性问题。SDK默认基于OpenCV3.3.1(ROS Kinetic自带OpenCV版本)编译。同时我们也提供基于OpenCV3.4.3编译的库,在<IMSEE-SDK>/lib/others文件夹中。如果客户想基于该版本编译,请在相应文件夹下替换。详细可咨询技术支持。$ sudo su #开启权限模式$ source ros/devel/setup.bash$ roslaunch imsee_

2021-01-07 09:29:28 1486 1

原创 NTP服务器 设置初探

NTP服务器 初探1. 概述2. 原理2. 安装2.1 ntp2.2 文件2.3 信息参考链接1. 概述记录下NTP服务器的使用步骤以及注意事项,供自己以后参考,同时希望能够帮助大家。2. 原理C/S模型:客户端通过ntp服务从服务端获取时间信息同步客户端的时间。LAN上同步误差可达到1ms,WAN上可达到几十毫秒。ntp 服务既是客户端又是服务器端,可以通过配置文件看到。2. 安装版本 ubuntu18042.1 ntp需要安装NTP服务所需要的程序,使用命令sudo apt-get

2020-12-26 13:06:47 548

原创 ubuntu 开机后 按键 鼠标不能用

Esc 进入biosctrl alt F1 进入gnu grub界面1. 强制重启(按电源键,我也不知道什么危害,见谅)2. 选择ubuntu advanced options recovery3. 联网network 选择enter4. 选择 root 按下enter5. 卸载安装的错误软件,我是安装了bumblebee导致的出错,所以先卸载sudo apt-get purge bumblebee6. 安装sudo apt-get install ubuntu-desktop7. 安装s

2020-12-24 22:53:07 6175 4

原创 Velodyne VLP16时间同步

VLP16时间同步时间同步需要GPS信号和PPS信号需求1.介绍2.设置界面3.背景4.PPS Qualifier4.1 Require GPS Receiver Valid4.2 Require PPS Lock4.3 Delay5. GPS Qualifier5.1 Require GPS Receiver Valid6.应用7.汇总8.电平需求时间同步需要GPS信号和PPS信号需求高电平 3 ~ 15V低电平 -15 ~ 1.2VGPS信号 GPR

2020-12-07 21:53:43 3287 1

原创 Eigen 安装问题解决

Eigen 安装问题解决Eigen提示报错ceres报错Eigen提示报错关键信息**/usr/include/eigen3**-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpyCMake Error at /opt/ros/kinetic/share/pcl_conversions/cmake/pcl_conversionsConfig.cmake:113 (message): Project 'pc

2020-12-01 20:19:53 2748 1

原创 Velodyne VLP16 WIN下配置

配置说明RJ45网线进行连接VLP16和雷达默认IP地址192.168.1.201默认UDP广播地址255.255.255.255MAC地址唯一、序列号唯一设置以下是WIN’下设置,Linux、Mac同理。1.使用网线连接电脑和接口盒子(Interface Box)。建议关闭WIFI,防止网络冲突。2.传感器VLP16供电。3.打开电脑网络设置界面4.选择TCP/IPv4网络协议5.选择静态IP地址6.填入IP地址,192.168.1.XXX其中XXX可以为2-254中除了20

2020-11-30 21:37:18 2933 5

原创 Gmapping 原理之源代码框架

Gmapping 原理之源代码框架1. 概述2. 代码流程求解的问题轨迹节点内容地图之间关系Gmapping发布订阅的话题说明SlamGMapping::laserCallback 总体框架2.1.初始化地图2.2.激光数据加入2.3.地图更新2.4.地图参数初始化2.5.激光扫描数据处理2.6.里程计运动模型2.7.扫描匹配环节2.8.选择性重采样2.9.地图边界更新,点更新2.10.粒子位姿优化3. 说明1. 概述简单总结一下Gmapping源代码中的流程,因为已经有一段时间了(懒癌晚期),说明不

2020-11-25 17:31:19 1388 1

原创 ROS编译成功 无法运行节点

ROS编译成功 无法运行节点1.概述2.新建工作空间3.CMakeLists文件4.错误示例5.正确示例6.总结7.参考链接1.概述简单说一下ROS中其他项目可工作,但是ROS不能找到可执行文件时的处理办法,希望额给大家提供帮助,同时供自己以后参考.2.新建工作空间命令如下mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspacecd ~/catkin_ws/catkin_makesource devel/se

2020-09-30 10:18:42 6093

原创 TF坐标系变换

TF坐标系变换1. 概述2. 代码3. 最终结果4. 参考链接1. 概述使用代码实例来理解tf发布信息中的位姿变换具体含义:在父坐标系下描述父坐标系到子坐标系的变换关系,希望能帮助大家,同时给自己一个参考。2. 代码参考代码如下#include <ros/ros.h>#include <tf/transform_broadcaster.h>int main(int argc, char** argv){ ros::init(argc, argv, "my_tf_b

2020-09-27 23:02:32 1629 1

原创 SLAM 常用库环境配置

SLAM 常用库环境配置1. 概述2. Opencv3. PCL4. Sophus5. Pangolin6. Eigen7. Ceres8. g2o9. DBoW310. 参考链接1. 概述简单介绍在Ubuntu下进行SLAM所需要的常用库,希望能帮助大家,同时供自己以后参考.2. OpencvOpenCV下载地址:https://opencv.org/releases.htmlOpenCV-Contrib下载地址:https://github.com/opencv/opencv_contr

2020-09-21 15:46:56 1168

原创 LOAM SLAM安装与配置

LOAM SLAM安装与配置概述安装运行结果概述安装首先源代码链接https://github.com/laboshinl/loam_velodynegit clone [email protected]:laboshinl/loam_velodyne.git然后make catkin_make -DCMAKE_BUILD_TYPE=Release注意运行roscore,注意重新sourcesource ./devel/setup.bash 运行参考数据集链接参考数据集loam可以只使

2020-09-21 11:22:02 2933 2

原创 Gmapping 原理之目标分布与提议分布

Gmapping 原理简谈概述目标分布与提议分布目标分布提议分布改进提议分布权重更新重采样概述简单讲一下Gmapping的原理,供自己以后参考。目标分布与提议分布目标分布真实分布,如果考虑机器人的运动,那么机器人在t时刻位置的真实分布就是目标分布,但是这是不能得到的,只是理论上的分布,我们需要只能通过其他分布来得到该分布,评价的标准就是权重f/g,f表示目标分布,g表示提议分布。提议分布因为目标分布是得不到的,因此需要使用提议分布来得到目标分布的真实情况。一般的,使用里程计模型来作为提议分布。

2020-09-17 00:08:19 4022

原创 ROS报错 cant locate node 解决办法

ROS报错 can't locate node解决办法原因解决办法原因如下面所示.在ROS中运行节点程序时出现报错信息,也就是说在mindvision_driver包中找到可执行文件mindvision_driver.ERROR: cannot launch node of type [mindvision_driver/mindvision_driver]: can't locate node [mindvision_driver] in package [mindvision_driver]唯

2020-09-16 23:27:41 11779 2

原创 设备绑定串口名称 Ubuntu

设备绑定串口号 ubuntu进入下面的目录 cd /etc/udev/其中rules.d中就是设置的设备和串口名关系/etc/udev$ ls -ltotal 12drwxr-xr-x 2 root root 4096 4月 12 2016 hwdb.ddrwxr-xr-x 2 root root 4096 7月 13 01:59 rules.d-rw-r--r-- 1 root root 153 4月 12 2016 udev.conf进入rules.d目录,可以看到已

2020-09-15 17:17:44 1500

原创 ROS 坐标系 官方教程与个人理解

ROS 坐标系REP 105——移动平台坐标系(ROS.org)坐标系base_linkodommap坐标系的约定坐标系之间的联系多个机器人坐标系坐标系转换REP 105——移动平台坐标系(ROS.org)REP代表了ROS使用的移动平台的坐标框架的命名约定和语义意义。为了更好地集成和重用软件组件,驱动程序、模型和库的开发人员需要一个共享约定来协调框架。坐标框架的共享约定为开发人员创建移动基地的驱动程序和模型提供了规范。类似地,创建库和应用程序的开发人员可以更容易地使用与此规范兼容的各种移动基础上的软

2020-08-30 22:27:47 3446

原创 图文解 RS485 RS422 RS232 TTL

图文详解 RS485 RS422 RS232 TTLRS485、RS422、RS232、TTL只是按照电平特性进行区分,USB和他们的关系是在物理形式上,他们的区别有RS232接口定义RS232、RS422、RS485接口定义比较参考链接

2020-08-30 22:09:28 881

原创 Hector SLAM 安装与配置

Hector SLAM 安装与配置1. 概述2. 安装3. 运行4. 结果4.1 未更改参数4.2 更改参数4.3 TF树关系官方教程重要提示参考1. 概述Gmapping从配置到运行,希望能帮助大家,也给自己留一个笔记,以供复习参考。2. 安装必要文件sudo apt-get install ros-kinetic-hector-slamROS下节点程序git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git官方

2020-08-28 22:54:13 4155 5

原创 Gmapping 之安装与配置

GMapping安装与配置安装安装首先需要安装一些必要文件sudo apt-get install ros-kinetic-slam-gmapping然后在工作空间中获取Gmapping的源代码gitclone https://github.com/ros-perception/slam_gmapping.git

2020-08-28 10:46:20 8530 4

原创 .log .clf文件转化为 .bag文件 github

.log .clf文件转化为 .bag文件 github概述数据集下载转换代码pythongithub仓库参考链接概述将.log .clf文件转化为 .bag文件供Gmapping使用。注意TF消息的发布,以及传感器消息的话题以及ID。数据集下载数据集并不是直接使用的.bag文件,而是.clf文件,需要进行转换才能使用clf文件数据集地址.clf文件所包含信息示例转换代码python使用python代码可以进行转换.clf文件转化为 .bag文件。github仓库大家可以直接使用

2020-08-23 20:20:42 1704

原创 C++ Thread 多线程 线程

threadhttps://blog.csdn.net/jack_20/article/details/79892250https://blog.csdn.net/Fourier_Legend/article/details/82020686

2020-08-12 21:07:14 212

原创 C++ 线程锁 mutex 理解 附代码

使用boost进行线程管理简单使用boost::mutex 。mutex对象本身并不知道它代表什么,它仅仅是被多个消费者线程使用的资源访问的锁定解锁标志。在某个时刻,只有一个线程可以锁定这个mutex对象,这就阻止了同一时刻有多个线程并发访问共享资源。一个mutex就是一个简单的信号机制。给mutex加解锁有多种策略,最简单的是使用scoped_lock类,它使用一个mutex参数来构造,并一直锁定这个mutex直到对象被销毁。如果这个正在被构造的mutex已经被别的线程锁定的话,当前线程就会进入wai

2020-08-12 20:55:12 1944 1

原创 Gmapping Dropped 100.00% of messages so far 解决办法

MessageFilter [target=odom ]: Dropped 100.00% of messages so far.问题解决https://blog.csdn.net/weixin_44827364/article/details/104202536正常情况下的tf树为,可以看到有四个启动Gmapping1之后会添加map报错的只有四个,因此需要重新设置或者添加正确的坐标转换关系...

2020-08-11 16:46:22 3830 3

原创 ROS日志级别 DEBUG, INFO, WARN, ERROR,FATAL

ROS日志级别概述查看方法参考链接概述ROS日志级别有五种: DEBUG, INFO, WARN, ERROR,FATAL.查看方法使用下面的命令可以查看具体的信息输出,还可以屏蔽,排序等操作rosrun rqt_console rqt_console 可以查看信息输出使用下面的命令可以设置每个节点输出信息的级别rosrun rqt_logger_level rqt_logger_level 可以改变日志输出的级别如下所示为更改节点slam_gmapping输出信息级别为Debug。如

2020-08-11 16:43:48 3990

原创 ROS 自定义msg 代码参考 github

ROS 自定义msg 代码参考概述自定义msg使用自定义msg概述简单介绍ROS自定义msg以及如何在其他项目中进行使用。自定义msg主要有两个方面创建.msg文件编写CMakeLists文件自定义msg文件float32[] datafloat32 velgeometry_msgs/Pose posestring name编写CMakeLists文件,注意添加msg中需要使用的包文件geometry_msgs, std_msgs,message_generation添加

2020-07-22 22:14:07 562

原创 MTI Ellipse VLP16 LinkTrack Topic msg整理

MTI Ellipse VLP16 NoopLoop Topic msg整理概述MTIEllipseVLP16LinkTrack概述整理一些传感器(MTI Ellipse VLP16 NoopLoop)在ROS下的发布信息的Topic以及msg。方便后面使用。MTI启动,使用xsens_mti_node.launchrobots@Robots-ubuntu1604:~/catkin_ws$ roslaunch xsens_mti_driver display.launch xse

2020-07-22 20:01:36 657

原创 雷达点云 PointCloud2 格式转换

雷达点云 sensor_msgs::PointCloud2 pcl::PointCloud数据格式转换参考代码官方对点云格式的介绍,主要有四种,sensor_msgs::PointCloud已经弃用。参考sensor_msgs::PointCloud — ROS message (deprecated)sensor_msgs::PointCloud2 — ROS messagepcl::PCLPointCloud2 — PCL data structure mostly for compati

2020-07-22 19:55:26 6463 2

原创 ROS PCL 配置 报错 undefined reference to

PCL错误代码错误提示如下undefined reference to `pcl::console::print(pcl::console::VERBOSITY_LEVEL, char const*, ...)'这种错误一般是CMakeLists文件没有编写好。解决办法确保PCL库所有设置已经完整配置我只需要在CMakeLists中添加target_link_libraries(dev_detect ${PCL_COMMON_LIBRARIES} ${PCL_IO_LIBRARIES}

2020-07-22 19:09:12 1775 1

原创 ROS NodeHandle 命名空间 参数读取

ROS NodeHandle 命名空间 参数读取概述命名空间参数读取ros::param::paramnh_.param小结概述将命名空间相关知识梳理一下,最近在命名空间上吃了大亏,浪费了很多时间,特别是涉及到后面的参数读取以及订阅发布Topic。命名空间全局命名空间,就是默认路jin为全局的命名空间,和绝对路jin的概念相仿。定义时需要注意下面的几点。1.node不带任何命名空间ros::NodeHandle node;2.此时参数路jin均为"imu_mti/imu_mti_sequen

2020-07-22 16:50:24 2487

原创 NoopLoop ROS 节点 时间戳以及话题

NoopLoop ROS 节点 代码分析概述说明LP模式角色溯源概述阅读NoopLoop公司LinkTrack 系列UWB模块在ROS下节点源代码,将有用的部分总结一下,主要是时间戳以及topic的处理。说明根据官方文档,LinkTrack模块可以执行三种不同的运行模式(LP(Local Positioning)局部定位,DR(Distributed Ranging)分布式测距,DT(DataTransmission)数据传输简称数传),每种模式下面又有具体的角色设置,本次主要研究LP模式,也就是局

2020-07-20 17:50:27 3392

原创 ROS msg 文件修改 报错

修改msg文件报错自己定义msg文件,catkin_make没有问题,但是当自己修改了msg文件内容之后catkin_make就会出现错误The dependencies of the message/service 'nlink_parser/LinktrackTagframe0' have changed. Please rerun cmake.message文件错误,需要重新构建,但是我重新构建不行,查找之后发现需要catkin clean 我的kinetic版本不能执行这个命令,查找

2020-07-19 10:22:06 1770 1

原创 Nooploop UWB LinkTrack ROS下配置

Nooploop LinkTrack ROS概述ROS下配置ROS系统安装串行库安装。ROS包的配置找不到libserial.so文件解决办法消息格式参考概述主要介绍Ubuntu ROS下进行Nooploop公司LinkTrack系列UWB的基本配置。ROS下配置需要三部分工作:ROS系统安装串口通信库配置ROS下nlink_parser包的配置ROS系统安装不详细讲了,有很多参考资料,可百度自行查找。串行库安装。参考首先获取源代码$ git clone https://git

2020-07-17 17:55:01 5981 1

原创 SBG ROS 节点 时间戳 话题

SBG ROS 节点 代码分析概述参数设置溯源概述阅读SBG在ROS下IMU节点源代码,将有用的部分总结一下,主要是时间戳以及topic的处理。参数设置SBG节点提供了较多的launch文件,分别对应不同的传感器,如下robots@Robots-ubuntu1604:~/catkin_ws$ roslaunch sbg_driver sbg_sbg_device.launch sbg_ellipseE.launchsbg_device_mag_calibrat

2020-07-13 21:49:11 2540 4

On Degeneracy of Optimization-based State Estimation Problems.pdf

LOAM SLAM中用于非线性优化的方法《On Degeneracy of Optimization-based State Estimation Problems》,大家可以详细阅读,有需要的可以下载。同时可以参照博客https://blog.csdn.net/i_robots/article/details/108724606

2020-09-22

Improved Techniques for Grid Mapping with Rao-Blackwellized Particle Filters.pdf

Gmapping SLAM原始论文《Improved Techniques for Grid Mapping with Rao-Blackwellized Particle Filters》,大家可以详细阅读,有需要的可以下载。同时可以参照博客https://blog.csdn.net/i_robots/article/details/108308676

2020-09-17

空空如也

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

TA关注的人

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