自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (4)
  • 收藏
  • 关注

原创 我的创作纪念日

初心未改,继续向前。

2023-02-26 10:05:02 267 1

原创 最新激光雷达闭环检测/地点识别算法CVTNet(2023)

CVTNet以激光点云多类投影生成的二维图为输入,利用cross transformer将多类信息交叉融合,为激光点云提取强特异性描述子,实现SLAM闭环检测或全局定位功能。此外,CVTNet生成的全局描述子具备车辆yaw角旋转不变性,提升车辆多视角地点识别精度。各项试验表明,CVTNet达到了SOTA的地点识别精度,且实时性适用于自动驾驶要求。代码地址:https://github.com/BIT-MJY/CVTNet。论文地址:https://arxiv.org/abs/2302.01665。

2023-04-01 10:26:49 530 1

原创 激光雷达闭环检测/地点识别算法OverlapTransformer/SeqOT(2022)

SOTA激光雷达闭环检测/地点识别算法

2022-07-06 21:58:00 879

原创 onnxruntime (C++/CUDA) 编译安装及部署

前几天使用了LibTorch对模型进行C++转换和测试,发现速度比原始Python的Pytorch模型提升了2倍。现在尝试以下另一种跨平台的模型转换方式——Onnx,可实现跨X86/ARM架构的迁移应用。本文主要介绍C++版本的onnxruntime使用,Python的操作较容易就不再提及了。一、克隆及编译git clone --recursive https://github.com/Microsoft/onnxruntimecd onnxruntime/git checkout v1.8.0

2022-03-15 15:50:09 21022 16

原创 NCLT数据集

NCLT数据集的groundtruth文件,包含的是velodyne在odom坐标系中的位姿。

2022-03-14 11:07:32 2139 8

原创 FAISS C++版本安装教程

FAISS的Python版本安装起来是很快乐的,conda就可以轻松安装。但是C++版本需要花费一点功夫。网上关于C++的教程除了官方以外少之有少,官方教程又过于繁琐,特此整理自己的安装流程,希望帮助到大家。对官方教程感兴趣的,关注:https://github.com/facebookresearch/faiss/blob/main/INSTALL.md预编译按照官方github的要求,首先cmake预编译:cmake -DBUILD_TESTING=ON -DFAISS_ENABLE_GPU=

2022-03-11 11:54:04 5545 6

原创 Github常用License总结(MIT/Apache/GPL)

MIT:比较宽松的许可证是 MIT 许可证,只要用户在项目副本中包含了版权声明和许可声明,他们就可以拿你的代码做任何想做的事情,你也无需承担任何责任。from: https://www.zhihu.com/question/27114031ApacheApache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:需要给代码的用户一份Apache Lic

2022-03-01 13:14:45 3386 1

原创 Github SSH方式避开私有仓密码输入

SSH配置流程:https://blog.csdn.net/u013778905/article/details/83501204克隆方式:git clone [email protected]:xxx/[email protected]:xxx/xxx.git来自于:

2022-02-22 18:51:17 605

原创 os.system()中路径包含空格导致无法读取文件

问题os.system()中路径包含空格导致无法读取文件pcd_root = "/media/mjy/My Passport/data/bkp/1208/02/1208_1/02"cmd = "ls " + pcd_root + "/*.pcd >> " + pcd_csv_fileos.system(cmd)将会报错,因为My Passport中间包含空格,导致执行linux系统命令ls的时候被分割开。解决方法在本地新建软连接:ln -s /media/mjy/My\ Pas

2021-12-17 11:32:44 1335 1

原创 git push方法

克隆下来以后进入文件夹git add .git commit -m "doing..."git config --global user.email "xxxx@xxxx"git config --global user.name "xxxx"git push -u origin main若有权限,则需要输入用户名和token

2021-10-18 23:42:03 3784 1

原创 GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch.

此前一直使用tensorflow2最近入坑pytorch配置环境时出现GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch.按照我之前的教程,ubuntu20.04 配置pytorch深度学习环境 + SSD目标检测_一只小菜鸟的博客-CSDN博客_ubuntu配置pytorch环境总体流程没毛病,就是显卡过新,CUDA和Pytorch的安装需要注意。按照官网提示:S

2021-10-11 16:27:14 933

原创 双激光雷达标定程序

https://github.com/BIT-MJY/Multiple_Lidar_Calibration

2021-08-13 14:22:22 1470 1

原创 基于激光雷达的机器人楼梯自主识别

这里基于激光雷达,介绍一种简单粗暴的方法,如果环境不复杂,则可以将楼梯很好的检测出来。

2021-08-04 15:46:57 2142 8

原创 LEGO-LOAM(LOAM)部分公式推导---未完待续

一、featureAssociation相关推导1)高频率里程计位姿累积函数:integrateTransformation void integrateTransformation(){ float rx, ry, rz, tx, ty, tz; AccumulateRotation(transformSum[0], transformSum[1], transformSum[2], -transformCu

2021-07-08 22:25:05 1475 2

原创 VNC远程桌面使用方法

参考:https://blog.csdn.net/weixin_41803874/article/details/81233789一共两台电脑,分别为服务端和客户端,为与场景联系方便,我们将需要被显示桌面的电脑称为移动端,将显示移动端桌面并进行远程操控的电脑成为遥控端。一、遥控端准备直接下载VNC Viewer,网址为:https://www.realvnc.com/en/connect/download/viewer/根据系统的不同选择不同版本,由于博主遥控端为Ubuntu,因

2021-07-05 00:31:37 74883 8

原创 PCL安装报错error: ‘shared_ptr’ does not name a type

将所有报错的位置的shared_ptr均更换为boost::shared_ptr

2021-06-30 00:01:28 893 1

原创 BLAM源码解析(五)—— 回环检测

上一节介绍了BLAM的帧间匹配和帧图匹配,代码简洁明了。本节介绍BLAM的回环检测模块。具体代码块如下: // Check for new loop closures. bool new_keyframe; if (HandleLoopClosures(msg_filtered, &new_keyframe)) { // We found one - regenerate the 3D map. PointCloud::Ptr regenerated_map(new

2021-06-28 11:30:37 537 3

原创 BLAM源码解析(四)—— 基于ICP的位姿更新

第三节我们介绍了定时器的定时回调,实现对激光数据的批量循环处理,在每一个激光数据的循环当中,除了一开始filter_的点云过滤,最重要的其实是下面的基于ICP的位姿更新,即 if (!odometry_.UpdateEstimate(*msg_filtered)) {接下来重点关注UpdateEstimate函数,此函数由第一节介绍的里程计模块实现。bool PointCloudOdometry::UpdateEstimate(const PointCloud& points)

2021-06-28 11:01:24 567 1

原创 BLAM源码解析(三)—— 定时器总揽大局

上一节介绍了激光数据的回调,最终被依次推入到容器之中,存储在pcl_pcld_queue。那么激光数据的使用是怎么实现的,就是这一节要介绍的内容。回想第一节我们介绍的定时器estimate_update_timer_,一秒进行20次的回调,进入回调函数BlamSlam::EstimateTimerCallback,接下来介绍此函数。BlamSlam::EstimateTimerCallback此函数位于src\blam_slam\src\BlamSlam.cc,内容如下:void ..

2021-06-28 10:04:37 286

原创 BLAM源码解析(二)—— 从激光回调入手

上一节(https://blog.csdn.net/weixin_44684139/article/details/118279360)我们介绍了系统各个模块的初始化,加载了许多的参数,创建了许多的发布者,构建了因子图、初始八叉树地图等。本节介绍激光数据回调以后的相关内容。激光雷达数据订阅者建立于src\blam_slam\src\BlamSlam.cc的 pcld_sub_ = nl.subscribe("pcld", 100, &BlamSlam::PointCloudCallb

2021-06-27 22:41:57 343

原创 BLAM源码解析(一)—— 模块初始化

对BLAM在线部分进行解析。blam_slam.cc文件直接进行初始化: if (!bs.Initialize(n, false /* online processing */)) {其中两个参数,n代表ros句柄,false代表不进行日志记录。让我们跳转到BlamSlam.cc,看一下初始化的作用:首先在句柄n的命名空间blam_slam中,附加命名空间BlamSlam:name_ = ros::names::append(n.getNamespace(), "Blam

2021-06-27 22:20:45 1015 1

原创 【Ubuntu】同时使用有线网卡和无线网卡

同时使用有线网卡和无线网卡,其中有一个用不了

2021-06-10 16:14:00 2107 1

原创 Git一些问题汇总(未完待续)

Github常见问题,便于自己平时查找

2021-04-27 21:50:52 160 1

原创 Github的readme文件链接colab

首先在google drive的的指定colab文件右键“获取链接”如:https://colab.research.google.com/drive/1gq0Qn-_PdKFZFr_LIxd-WWJBT3Mm1TP4?usp=sharing然后在readme文件中写入:[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive

2021-04-27 21:38:46 542

原创 Github的readme文件上传图片并进行排列(居中、同行等)

Github上自述文件引用图片的写法为:图片引用首先上传图片至自己的github仓库,并获取其网址,如:https://github.com/BIT-MJY/Active-SLAM-Based-on-Information-Theory/blob/master/img/1-2.png则在readme文件中引用图片的格式为:<img src="https://github.com/BIT-MJY/Active-SLAM-Based-on-Information-Theory/blob/maste

2021-04-27 21:35:22 4501

原创 基于Mutual Information的Active SLAM《Information-Theoretic Exploration with Bayesian Optimization》

关于论文Information-Theoretic Exploration with Bayesian Optimization的解读和复现

2021-04-23 11:47:24 736 7

原创 PNG/JPG 转 EPS

按住shift右键,在此处打开Powershell窗口然后在终端输入:bmeps -c map1.png map1.eps或bmeps -c map2.jpg map2.eps

2021-04-20 02:38:25 308

原创 Ubuntu20运行OverlapNet

OverlapNet源码:https://github.com/PRBonn/OverlapNet一、设置ubuntu默认使用python3:https://www.cnblogs.com/dancesir/p/14201267.html二、配置深度学习环境https://blog.csdn.net/weixin_44684139/article/details/109011361三、创建环境注意依赖库版本必须严格根据github对应conda create --name tf5 pytho

2021-03-17 14:10:00 685 6

原创 python离线库

https://pypi.org/project/tensorflow-gpu/1.15.4/#files

2021-03-17 12:27:13 344

原创 PCL点云拼接(合并,并非配准)

#include <cmath>#include <vector>#include <string>#include "montage/common.h"#include "montage/tic_toc.h"#include <nav_msgs/Odometry.h>#include <opencv/cv.h>#include <pcl_conversions/pcl_conversions.h>#include &l

2021-03-03 15:57:04 2432 8

原创 pcl安装报错undefined reference to `LZ4_compress_HC_continue‘

报错内容:kdtree.so.1.8.1:undefined reference to `LZ4_decompress_safe_continue’解决办法:/pcl/build/kdtree/CMakeFiles/pcl_kdtree.dir/下的link.txt里在末尾写上:-llz4即:/usr/bin/c++ -fPIC -std=c++11 -pthread -fopenmp -O3 -DNDEBUG -Wl,–as-needed -shared -Wl,-soname,

2021-01-12 12:13:12 3263 3

原创 3D点云标注工具

https://github.com/lcas/cloud_annotation_toolhttps://github.com/walzimmer/3d-bat

2020-12-24 13:29:59 2218

原创 pcl::PointXYZRGB 报错 has no member named ‘__getMD5Sum’

报错内容:/opt/ros/melodic/include/ros/message_traits.h: In instantiation of ‘static const char* ros::message_traits::MD5Sum<M>::value(const M&) [with M = pcl::PointCloud<pcl::PointXYZRGB>]’:/opt/ros/melodic/include/ros/message_traits.h:255:10

2020-12-18 14:48:58 2763 1

原创 PFH点特征直方图及其pcl用法

部分参考:https://blog.csdn.net/qq_25491201/article/details/51104390表面法线和曲率可以好的代表一个点的几何特征。然而它们算得很快,而且算法简单,但是它们不能捕获细节,它们只是点的近邻的几何特征的近似估计。作为一个直接的结论,大多数的场景往往会包括很多有着相似特征的点,这会减少它们所带来的消息量,也容易造成混淆和错误的匹配。这时候就要一个具备更加丰富信息的特征描述方法——点特征直方图Point Feature HistogramPFH的目标是通过

2020-12-11 12:12:25 1290 2

原创 计算不同维度之间的协方差

https://www.cnblogs.com/terencezhou/p/6235974.html

2020-12-02 15:48:15 992

原创 基于aloam研究ceres的构建方式

aloam相比于loam增加了ceres库自动微分,而不需要手推高斯牛顿,这是非常方便的。对于aloam源码,在laserOdometry中,有关ceres的部分: ceres::LossFunction *loss_function = new ceres::HuberLoss(0.1); // 鲁棒核 ceres::LocalParameterization *q_parameterization = new ceres::EigenQuaternionParamete

2020-11-26 13:33:27 938 1

原创 ROS多机时间同步

参考:https://blog.csdn.net/hnlyzxy123/article/details/89528511设备:一台搭载ubuntu18.04的笔记本、一台搭载ubuntu20.04的笔记本(1) 服务器端配置(18.04)sudo apt install ntpsudo gedit /etc/ntp.conf在打开的文件中加入:restrict 192.168.43.0 mask 255.255.255.0 nomodify notrapserver 127.127.1.0

2020-11-20 12:02:24 1594 2

原创 Eigen四元数的坐标变换和坐标系变换

参考:https://www.cnblogs.com/jerry323/p/9097264.html一共有两个机器人,一号和二号。一号位姿 q1 = [0.35, 0.2, 0.3, 0.1],t1=[0.3, 0.1, 0.1]。二号位姿 q2=[-0.5, 0.4, -0.1, 0.2], t2=[-0.1, 0.5, 0.3]。某点在一号坐标系下坐标为p=[0.5, 0, 0.2]。求p在二号坐标系下的坐标。假设在世界坐标系中p点的坐标为P。用四元数做旋转则有(在Eigen

2020-11-19 16:57:01 4533

原创 LOAM编译及遇到的问题

一、依赖库安装首先进行如下依赖库的安装:sudo apt-get updatesudo apt-get install git build-essential linux-libc-devsudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-devsudo apt-get install mpi-default-dev openmpi-bin openmpi-co

2020-11-15 16:56:18 3206 4

原创 矩阵求导公式(引自维基百科)

1.总体情况2.分子布局(Numerator layout)和分母布局(Denominator layout)首先我们常说 y 对 x 求导,这里的 y 和 均x 默认为列向量,y为(mx1), x为(nx1)(1)分子布局——较为常用y 对 xT 求导,得到mxn的矩阵。比如雅可比矩阵,就是典型的分子布局。雅可比矩阵形式如下:可见y依然是竖向变化的,而横向是对不同的x求导,也就是说x是横向的。所以是y对 xT 求导。(2)分母布局yT 对 x 求导,得到nxm的矩阵。其实此矩阵是分子布局

2020-11-13 17:20:30 10090

eigen3.2.8_for_loam.zip

这是loam等开源代码运行程序所必须的依赖库。

2020-11-15

ceres-1.14.0-for-eigen.tar.gz

为了匹配eigen3.3.7,这里是ceres-1.14.0 1111111111111111111111111111111111111111111111111111111111111111111

2020-03-15

open_ipynb2.0.exe

jupyter快速启动 复制文件路径至软件中,回车,即可快速打开jupyter

2019-12-27

(管理员身份运行)stop_windows_update.exe

关闭win10自动更新的小程序拿走不谢(自己写的),下载后以管理员运行即可。如果出现更新并关机的字样,使用此程序,然后打开电脑中的 服务 把windows update手动禁止,然后重启电脑会发现自动更新取消了

2019-12-27

空空如也

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

TA关注的人

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