- 博客(153)
- 收藏
- 关注
原创 Windows下 vscode、pycharm中conda activate失败成功解决
【代码】Windows下 vscode、pycharm中conda activate失败成功解决。
2023-04-29 11:12:07
507
原创 华测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
1779
25
原创 血战力扣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
347
原创 血战力扣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
162
原创 血战力扣 332.零钱兑换
题目:给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的。解答:这里我们以第一个示例演示,分别画出每种金额的树形结构,如下这里我们采取一种自下而上的方法,这里我重点解释代码中一个公式:dp[i]=min(dp[i],dp[i-e]+1);dp[i]:表示不同的金额下所需最少的钱币数dp[i-e]+..
2022-04-10 21:10:32
239
原创 CUDA10网址 、tensorrt5网址
CUDA Toolkit 10.1 original Archive | NVIDIA Developer
2021-12-21 10:12:52
385
原创 安装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
936
原创 ros学习笔记——保存slam里程计数据用于评估
看了好多开源代码都没有保存最后的里程计信息,导致好多小伙伴无法用于评估代码的好坏或者适合哪种场景使用,所以使用ros写了一个保存轨迹数据的代码》》》使用之前先建立好对应文件夹保存轨迹信息。...
2021-10-16 22:03:03
955
2
原创 SuMA++论文重点总结
SuMA++:Efficient LiDAR-based Semantic SLAM简介:基于曲面建图(surfelbased mapping)方法的基础上,增加语义信息的融合以解决建图时移动物体的问题。语义信息是通过神经网络完成,该网络给点云中的点添加标签,建图时得到的是带有标签的曲面,1、可以滤除动态物体 2、使用语义信息对里程计进行约束,提高建图的精度主要贡献:对点云进行语义分割,根据语义信息识别动态物体,并去除 把带有语义标签的物体进行数据关联,和几何信息一起建立约束关系,从而提高
2021-08-06 18:02:28
543
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
508
原创 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
1284
2
原创 LIO-SAM论文重点总结
LIO-SAM实际为LeGO-LOAM的扩展版本,添加了IMU预积分因子和GPS因子,去除了帧帧匹配部分摘要:IMU预积分校准点云,为激光雷达里程计优化提供初值。激光雷达里程计用于估计IMU的偏差。采用局部匹配代替全局匹配,采用关键帧和滑动窗口的方法,将新的关键帧输入到固定窗口的先验“子关键帧”提高系统的实时性。主要贡献:建立在因子图上的紧密耦合的激光雷达惯性里程计,适合多传感器融合和全局优化 一种高效、基于局部滑动窗口的扫描匹配方法,有选择的将新关键帧注册到固定大小的先验子关键集来实现实
2021-08-02 10:28:16
1314
原创 LVI-SAM论文重点总结
LVI-SAM构建在因子图之上:视觉惯导系统 、 激光惯导系统视觉惯导系统:利用激光惯导的估计来做初始化、利用激光的测量得到精度更高的深度信息激光惯导系统:利用视觉惯导的初值来做帧间匹配、做回环检测其中一个不工作时,另外一个可以正常工作介绍视觉惯导系统执行利用雷达帧恢复深度的视觉特征的跟踪,通过优化视觉重投影误差和imu测量误差的视觉里程计为激光雷达的激光匹配提供初值,并把约束加入到因子图中。当利用imu把点云的畸变去除后,激光惯导系统检测点云的边缘和平面特征,并和保存在划窗中的fe
2021-08-01 16:17:51
2644
4
原创 从零开始学自动驾驶(10)——基于地图的定位
对应任佬代码tag14.0一、概述:1、由于地图比较大,所以加载地图之后需要做一个滤波2、由于匹配需要初始位置,所以要做初始化3、地图比较大,直接匹配比较耗时,只要匹配附近的点云就可以,所以需要从大地图中分割出一个小地图4、每次移动都要分割出小地图,所以小地图适当做的大一些,当车辆快要离开小地图时在重新分割。1、数据的接收与发布:std::shared_ptr<MatchingFlow> matching_flow_ptr = std::make_shared<
2021-07-05 10:34:21
567
1
原创 从零开始学自动驾驶(6)——点云畸变补偿
对应任佬代码tag8.0问题概述:(1)旋转畸变:雷达扫描一周时,如果雷达自身与雷达旋转方向相反,会导致雷达激光旋转角比真实小一些。(2)直行畸变:雷达发射光束在接受时,如果雷达向前位移,会导致激光测得的距离比真实小一些。解决方案:计算雷达自身角速度与线速度,尽量还原激光真实情况,完成畸变补偿。点云畸变补偿在激光里程计更新中实现去畸变操作TransformCoordinate函数将imu测的角速度线速度信息转换到lidar坐标系下SetMotionInfo函数.
2021-06-24 18:23:57
1229
1
原创 c++随笔——return false与break区别
结果为: 1 2 3 1结果为:1 2 3break: 使得跳出当前循环,还会继续运行下面代码return false: 直接终止整个程序的运行
2021-06-23 21:13:06
1753
原创 从零开始学自动驾驶(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
959
原创 从零开始学自动驾驶(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
2060
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
1151
原创 c++随笔——linex下使用sleep()的函数头
在程序开始添加下面这个头文件,就可以在程序中调用延迟函数sleep(1)#include <unistd.h>
2021-05-01 11:06:44
173
原创 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
396
原创 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
421
原创 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
836
原创 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
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人