自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 收藏
  • 关注

原创 Windows下 vscode、pycharm中conda activate失败成功解决

【代码】Windows下 vscode、pycharm中conda activate失败成功解决。

2023-04-29 11:12:07 356 1

原创 华测410配置

依赖sudo apt-get install ros-melodic-jsk-rviz-pluginssudo apt-get install ros-melodic-automotive-navigation-msgssudo apt-get install ros-melodic-automotive-platform-msgssudo apt-get install ros-melodic-automotive-autonomy-msgssudo apt-get install ros-mel

2022-06-22 15:30:14 1328 25

原创 IMU预积分的简单总结

IMU的一些简单理解

2022-06-02 16:51:25 380

原创 血战力扣752.打开转盘锁

你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为'0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 '0000' ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转。字符串 target 代表可以解锁的数字.

2022-04-14 17:50:00 275

原创 血战力扣51.皇后

n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]解释:如上图所示,4 皇后问题存在两个不同的解法。示例 2

2022-04-13 16:13:05 99

原创 血战力扣 332.零钱兑换

题目:给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的。解答:这里我们以第一个示例演示,分别画出每种金额的树形结构,如下这里我们采取一种自下而上的方法,这里我重点解释代码中一个公式:dp[i]=min(dp[i],dp[i-e]+1);dp[i]:表示不同的金额下所需最少的钱币数dp[i-e]+..

2022-04-10 21:10:32 191

原创 opencv学习日记——图像的闭运算

1、代码部分2、结果显示

2022-01-20 12:47:22 2576

原创 CUDA10网址 、tensorrt5网址

CUDA Toolkit 10.1 original Archive | NVIDIA Developer

2021-12-21 10:12:52 332

原创 安装protoc使用避雷

安装protoc后使用报错,类似于下面的错误一大堆:protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)’未定义的引用解决:原因是系统在调用的时候仍选取系统自带的老版本1、在/usr/lib/x86_64-linux-gnu下找到 libprotocbuf.so 这个文件并随便改成其他的名字,改完之后要删除之前编译的编译空间,类似ros中 ...

2021-12-03 15:43:55 769

原创 ros学习笔记——保存slam里程计数据用于评估

看了好多开源代码都没有保存最后的里程计信息,导致好多小伙伴无法用于评估代码的好坏或者适合哪种场景使用,所以使用ros写了一个保存轨迹数据的代码》》》使用之前先建立好对应文件夹保存轨迹信息。...

2021-10-16 22:03:03 766 3

原创 SuMA++论文重点总结

SuMA++:Efficient LiDAR-based Semantic SLAM简介:基于曲面建图(surfelbased mapping)方法的基础上,增加语义信息的融合以解决建图时移动物体的问题。语义信息是通过神经网络完成,该网络给点云中的点添加标签,建图时得到的是带有标签的曲面,1、可以滤除动态物体 2、使用语义信息对里程计进行约束,提高建图的精度主要贡献:对点云进行语义分割,根据语义信息识别动态物体,并去除 把带有语义标签的物体进行数据关联,和几何信息一起建立约束关系,从而提高

2021-08-06 18:02:28 455 8

原创 LeGO-LOAM论文重点总结

LeGO-LOAM:Lightweight and Ground-Optimaized Lidar Odmetry and Mapping on Variable Terrain启示:1、可以采取其他的分割方法与loam比较,针对曲率问题和平面问题,咱也可以针对园林场景来写;对于地面点云去除直接借鉴本篇 后面的针对性实验做的也非常好本文提出的框架采用从Velodyne的16线激光雷达VLP-16以及HDL-64E 3D激光雷达中采集的数据集进行验证。VLP-16激光雷达的感知范围达到100m,准

2021-08-05 11:47:58 426

原创 LIOM: 论文重点总结

LIOM: Laser-Inertial Odoemtry and MappingA Robust Laser-Inertial Odometry and Mapping Method for Large-Scale Highway Environments.激光惯性里程计:实时、低漂移、鲁棒的位姿估计、大尺度高速环境中主要由四个模块组成:帧预处理模块:使用惯性测量来补偿每个激光帧的运动扰动 动态物体检测模块:通过应用CNN分割网络来检测和移除每帧的动态物体 激光—惯性里程计模块:使用误

2021-08-04 09:26:29 1080 2

原创 LIO-SAM论文重点总结

LIO-SAM实际为LeGO-LOAM的扩展版本,添加了IMU预积分因子和GPS因子,去除了帧帧匹配部分摘要:IMU预积分校准点云,为激光雷达里程计优化提供初值。激光雷达里程计用于估计IMU的偏差。采用局部匹配代替全局匹配,采用关键帧和滑动窗口的方法,将新的关键帧输入到固定窗口的先验“子关键帧”提高系统的实时性。主要贡献:建立在因子图上的紧密耦合的激光雷达惯性里程计,适合多传感器融合和全局优化 一种高效、基于局部滑动窗口的扫描匹配方法,有选择的将新关键帧注册到固定大小的先验子关键集来实现实

2021-08-02 10:28:16 1111

原创 LVI-SAM论文重点总结

LVI-SAM构建在因子图之上:视觉惯导系统 、 激光惯导系统视觉惯导系统:利用激光惯导的估计来做初始化、利用激光的测量得到精度更高的深度信息激光惯导系统:利用视觉惯导的初值来做帧间匹配、做回环检测其中一个不工作时,另外一个可以正常工作介绍视觉惯导系统执行利用雷达帧恢复深度的视觉特征的跟踪,通过优化视觉重投影误差和imu测量误差的视觉里程计为激光雷达的激光匹配提供初值,并把约束加入到因子图中。当利用imu把点云的畸变去除后,激光惯导系统检测点云的边缘和平面特征,并和保存在划窗中的fe

2021-08-01 16:17:51 2275 4

原创 多传感器融合(8)——传感器时空标定

多传感器融合(8)——传感器时空标定

2021-07-05 11:17:59 424

原创 多传感器融合(7)——基于图优化的地图定位

多传感器融合(7)——基于图优化的地图定位

2021-07-05 11:16:59 656 1

原创 多传感器融合(6)——基于图优化的融合方法

多传感器融合(6)——基于图优化的融合方法

2021-07-05 11:15:43 589

原创 多传感器融合(5)——基于滤波的融合方法进阶

多传感器融合(5)——基于滤波的融合方法进阶

2021-07-05 11:14:22 257

原创 多传感器融合(4)——基于滤波的融合方法

多传感器融合(4)——基于滤波的融合方法

2021-07-05 11:13:22 300

原创 多传感器融合(3)——惯性导航原理及误差分析

多传感器融合(3)——惯性导航原理及误差分析

2021-07-05 11:12:08 417

原创 多传感器融合(2)——点云地图构建及基于地图的定位

多传感器融合(2)——点云地图构建及基于地图的定位

2021-07-05 11:10:23 880

原创 多传感器融合(1)——3D激光里程计

多传感器融合(1)——3D激光里程计

2021-07-05 11:09:09 528

原创 从零开始学自动驾驶(10)——基于地图的定位

对应任佬代码tag14.0一、概述:1、由于地图比较大,所以加载地图之后需要做一个滤波2、由于匹配需要初始位置,所以要做初始化3、地图比较大,直接匹配比较耗时,只要匹配附近的点云就可以,所以需要从大地图中分割出一个小地图4、每次移动都要分割出小地图,所以小地图适当做的大一些,当车辆快要离开小地图时在重新分割。1、数据的接收与发布:std::shared_ptr<MatchingFlow> matching_flow_ptr = std::make_shared&lt

2021-07-05 10:34:21 486 1

原创 从零开始学自动驾驶(6)——点云畸变补偿

对应任佬代码tag8.0问题概述:(1)旋转畸变:雷达扫描一周时,如果雷达自身与雷达旋转方向相反,会导致雷达激光旋转角比真实小一些。(2)直行畸变:雷达发射光束在接受时,如果雷达向前位移,会导致激光测得的距离比真实小一些。解决方案:计算雷达自身角速度与线速度,尽量还原激光真实情况,完成畸变补偿。点云畸变补偿在激光里程计更新中实现去畸变操作TransformCoordinate函数将imu测的角速度线速度信息转换到lidar坐标系下SetMotionInfo函数.

2021-06-24 18:23:57 993 1

原创 c++随笔——return false与break区别

结果为: 1 2 3 1结果为:1 2 3break: 使得跳出当前循环,还会继续运行下面代码return false: 直接终止整个程序的运行

2021-06-23 21:13:06 1505

原创 从零开始学自动驾驶(3)——前端里程计之代码优化

任佬代码tag5.0在上一节的front_end_node节点中,代码依旧很长,回顾一下,大致是这个样子emmmmm其实也还好,下面是,简化后的节点代码:把各个部分进行封装,使整个代码看起来更加清晰和简洁,也更有利于我们对各个模块进行扩展和替换对比。。保存地图模块(待处理)//接受存储地图信息ros::ServiceServer service = nh.advertiseService("save_map", save_map_callback);回调函数bool save_map_c

2021-06-22 17:11:37 893

原创 从零开始学自动驾驶(9)——前端里程计扩展

从零开始学自动驾驶——前端里程计扩展

2021-06-19 17:53:27 170

原创 从零开始做自动驾驶(8)——闭环修正

从零开始做自动驾驶——闭环修正

2021-06-19 17:52:06 416

原创 从零开始学自动驾驶(7)——后端优化

从零开始学自动驾驶——后端优化

2021-06-19 17:51:01 550

原创 从零开始学自动驾驶(5)——里程计精度评价

从零开始学自动驾驶——里程计精度评价

2021-06-19 17:49:34 993

原创 从零开始学自动驾驶(4)——传感器时间同步

从零开始学自动驾驶——传感器时间同步

2021-06-19 17:48:16 2593

原创 从零开始学自动驾驶(2)——前端里程计

从零开始学自动驾驶——前端里程计

2021-06-19 17:46:33 972 5

原创 从零开始学自动驾驶(1)——软件框架篇

cmake_minimum_required(VERSION 2.8.3)project(lidar_localization)#Release:发布版本进行优化 Debug:调试版本不进行优化SET(CMAKE_BUILD_TYPE "Release")SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")#使用C++11#为当前路径和下层路径的目标增加编译器命令行选项add_compile_options(-std=c++11).

2021-06-19 08:42:28 1908 3

原创 A-loam学习笔记——laserMapping建图

#include <math.h>#include <vector>#include <aloam_velodyne/common.h>#include <nav_msgs/Odometry.h>#include <nav_msgs/Path.h>#include <geometry_msgs/PoseStamped.h>#include <pcl_conversions/pcl_conversions.h>#

2021-06-07 09:59:37 1004

原创 c++随笔——linex下使用sleep()的函数头

在程序开始添加下面这个头文件,就可以在程序中调用延迟函数sleep(1)#include <unistd.h>

2021-05-01 11:06:44 131

原创 opencv学习日记——基于Hu矩的轮廓匹配

opencv学习日记——基于Hu矩的轮廓匹配图像结果(达不到预期)代码部分#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;void findcontours(Mat &img, vector<vector<Point>> &contours){ Mat gray, binary; v

2021-04-26 16:03:28 312

原创 opencv学习日记——Hu矩(旋转不变性)

opencv学习日记——Hu矩(旋转不变性)代码部分#include <iostream>#include <opencv2/opencv.hpp>#include <vector>using namespace std;using namespace cv;int main(){ Mat img = imread("手.png"); if (img.empty()) { cout << "输入为空"

2021-04-25 14:54:41 371

原创 opencv学习日记——计算图像几何矩, 中心矩, 归一化几何矩

opencv学习日记——计算图像几何矩, 中心矩, 归一化几何矩代码部分#include <iostream>#include <opencv2/opencv.hpp>#include <vector>using namespace std;using namespace cv;int main(){ Mat img = imread("nazha1.jpg"); if (img.empty()) { cout

2021-04-24 16:34:31 754

原创 opencv学习日记——凸包检验

#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;int main(){ Mat img = imread("手.png"); if (img.empty()) { cout << "输入为可空"; return -1; } Mat gray, binary;

2021-04-21 15:55:23 83

空空如也

空空如也

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

TA关注的人

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