- 博客(144)
- 收藏
- 关注
转载 FreeRTOS 笔记二 (中断配置和临界段)
freeRTOS 中断配置,需要根据MCU来具体配置Cortex-M 中断简介简介(有时也称为异常)由硬件(外设、外部引脚产生),中断产生以后,CPU中断当前程序而去处理指定的操作,所有cortex-M 内核都会有一个中断处理组件:NVIC(Nested Vectored Interrupt Controller m嵌套中断控制器)最多支持240个IRQ(中断请求),1个不可屏蔽中断(NMI),1个定时器中断和多个系统异常管理中断所使用的大部分寄存器都位于NVIC(Nested Vectore
2021-07-31 15:12:44
557
转载 freertos 笔记一(HAL 库移植)
什么是freertos?免费实时操作系统对某一事件做实时响应,即:任务调度是可以预测的用户分配优先级:文件系统比ucos小移植freertos v9FREERTOS/sources 所有文件复制到新建工程下/porttable 只留下 Keil;MemMang(内存管理);RVDs(针对架构的代码)添加到工程FREERTOS/CORE:FREERTOS/PORTABLE:ports/ARM_CM4F/port.cports/MemMang/heap_4.c (5中不
2021-07-31 15:10:52
1194
1
转载 pcl 学习论文阅读(Towards 3D Object Maps for Autonomous Household Robots)
Towards 3D Object Maps for Autonomous Household Robots,2007室内环境的3D地图构建摘要描述了室内环境下的绘图系统,如何获取室内目标模型系统分为3维分割和几何重建门、桌子、抽屉、货架、眼镜盘子是该系统中重要的对象该系统可以在复杂环境中辨识目标,并对新出现的物体进行分类该算法关键部分提供了一种稳定、准确且高效的算法:使用局部视角点云,构造完整的对象模型。基于特征点的辨识桌子、门等对象。自动推理目标对象和类别,可以在复杂或者真实环境
2021-06-06 19:47:17
687
转载 PCL点云学习 十二(RoPs 特征与惯性矩描述子)
RoPs(Rotational Projection Statistics)pcl官网地址来自:《pcl_点云从入门到精通》旋装投影特征旋装平移不变性抗干扰性良好理论基础
2021-05-26 21:56:38
1229
转载 pcl 学习十一(基准测试)
基准测试用来对于特定算法选择合适的邻域半径和阈值等参数确定pcl点云库中存在: <pcl/features/feature_evaluation/feature_evaluation_framework.h>否则在自己pcl库创建相应文件下载代码来自pcl点云从入门到精通:#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/point_cloud.h>
2021-05-24 22:24:57
805
2
转载 PCL库学习九(形状、调谐、旋转图像描述子)
论文原文:Recognizing Objects in Range Data Using Regional Point Descriptors论文阅读:在距离数据中使用区域点描述子识别目标简介介绍了两种区域描述子,适用于复杂环境的3d物体识别3d物体识别中存在的问题:(1)存在遮挡:(2)存在许多相似形状和大小相似物体(3)距离扫描仪器的分辨率不够(4) 高速扫描时会存在显著噪声描述子设计描述符时需要考虑如下问题:(1)支撑区域形状:分为若干个自取与,计算每个自取的直方
2021-05-13 19:16:28
528
转载 PCL 点云学习八(关键点)
Harris3Dpcl的原理Harris3d详见:链接(并不好用)更加准确的Harris3d论文:《Harris 3D: a robust extension of the Harris operator for interestpoint detection on 3D meshes》
2021-05-07 10:10:20
780
原创 PCL点云学习七(从距离图像重建曲面)
论文阅读原文:Fast Range Image Segmentation and Smoothing using Approximate Surface Reconstruction and Region Growing1.摘要/简介利用局部平面信息和临近点平滑测量点将图像分割为平面区域和其他的几何单元可以高速处理距离图像相关为了在复杂环境下获取目标部分,常用方法如下:<1>: 检测水平支撑平面<2>: 在这些平面上提取聚类点<2>: 再执行
2021-04-27 12:21:36
856
原创 PCL点云学习六(边缘提取)
论文:Point Feature Extraction on 3D Range Scans Taking into Account Object Boundaries论文阅读摘简介使用点云生成的距离图像提取了前景到背景的边界使用NARF特征,提出了3维数据的特征点和描述符提取方法<1>:特征点需要所在平面稳定(具有稳定的法线)<2>:利用局部视图中的物体边界(因为物体边界是特殊的,边界的特征点和描述符会使整个过程更加具有鲁棒性),提出了一种边界提取方法bor
2021-04-22 17:37:44
7662
转载 PCL 点云库学习六(提取任意多边形)
计算凸包算法来自 pcl从入门到精通提取任意多边形构造凸多边形,提取或者剔除任意多边形#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <pcl/filters/crop_hull.h>#include <pcl/surface/concave_hull.h>#include <pcl/io/pcd_io.h>#include <pcl/vi
2021-04-14 22:00:13
1497
转载 PCL点云库 学习六(提取、条件剔除、半径剔除)
来自pcl点库从入门到精通提取指定区域#include <iostream>#include <pcl/ModelCoefficients.h>#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <pcl/sample_consensus/method_types.h>#include <pcl/sample_consensus/model_typ
2021-04-13 22:42:26
2138
1
转载 PCL点云库 学习五(直通、体素、离群、投影滤波器)
对点云某一维度剔除/提取指定范围的数据#include <pcl/point_types.h>#include <pcl/point_cloud.h>#include <pcl/filters/passthrough.h>#include <ctime>#include <boost/thread/thread.hpp>#include <pcl/common/common_headers.h>#include &l.
2021-04-12 22:09:28
298
转载 PCL 点云库学习三(可视化)
检测新增点核心代码 octree.setInputCloud(cloudA); octree.addPointsFromInputCloud(); octree.switchBuffers(); octree.setInputCloud(cloudB); std::vector<int> newoctreeId; octree.addPointsFromInputCloud(newoctreeId);可视化核心代码visualization:.
2021-03-31 21:37:12
574
翻译 Loam_livox 论文阅读
摘要相较于传统机械式旋转雷达,固态激光雷达的视场角固定,每帧特征点少,容易意识特征匹配退化,受到局部最小值影响(移动的物体)livox的非重复扫描:扫描路径不重复运动畸变:连续工作的激光在不同时间的取样造成雷达的特征:点到边、点到平面、VFH 垂直直方图点云提取距离D(P)=x2+y2+z2D(P)=\sqrt{x^2+y^2+z^2}D(P)=x2+y2+z2方向角:激光与x轴的夹角ϕ(P)=tan−1((y2+z2)/x2)\phi(P)=\tan^{-1}(\sqr.
2021-03-30 11:44:35
394
转载 livox 使用
viewerwindows 下可以使用linux 无法使用报错:编译环境问题SDK下载编译:略TX2 下编译:cd Livox-SDKcd build && \cmake .. -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++make修改 静态ip来自sudo gedit /etc/ne
2021-03-23 15:50:21
2641
1
转载 PCL 库学习二(查找、点云压缩、octree)
查找K临近kdtree.nearestKSearch (searchPoint, K, pointIndex, pointSquareDistance) //searchPoint 查询点 //K 最临近点的个数 //pointIndex 查询到的临近值 //pointSquareDistance 存储的临近距离 //return .
2021-03-19 21:08:32
679
转载 PCL 库学习一(基本点云类型、IO)
来自pcl点云入门到精通基本的点Point类#include <pcl/point_types.h>#include <pcl/pcl_macros.h>#include <pcl/point_cloud.h>#include <pcl/io/pcd_io.h>using namespace pcl; //curvature 曲率 //intensity 强度 //range 视点到采样点距离 //vp_x,vp
2021-03-16 20:16:57
666
原创 旋转雷达的特征提取与匹配
原文:Lidar Odometry and Mapping in Real-time简介:-提出了一种低速、低计算量的算法-将定位问题划分为定位问题和映射问题-有两种算法:1:高频低精度用来估计雷达速度 2.运行速度低精度高的点云匹配和配对-当有imu时,可以使用imu用来解决高频运动(非必要)-需要提取尖锐的边和平面,平且用于匹配边缘线段和平面片-在计算映射时,通过检验对应局部点簇的集合分布的特征向量和特征值来确定相应关系-解决往分解问题之间欧就可以通过ICP问题求解-采用并行计算结构,
2021-03-16 14:11:03
861
转载 gtsam 学习十一(ISAM2 实践)
来自gtam/examples/ISAM1模板#include <gtsam/geometry/Point2.h>#include <gtsam/geometry/SimpleCamera.h>#include <gtsam/inference/Symbol.h>#include <gtsam/slam/PriorFactor.h>#include <gtsam/slam/ProjectionFactor.h>#include &
2021-03-10 18:42:26
3810
1
原创 gtsam 学习十(ISAM2 理论)
翻译自:iSAM2: Incremental Smoothing and Mapping Using the Bayes Tree摘要提出了一种新型的贝斯树处理稀疏矩阵,在转化为因子图,可以更好的求解平方根信息和映射问题。文中提出了三个概念使用概率密度项进行矩阵分解介绍如何将矩阵分解转换为贝叶斯数和条件概率密度基于贝叶斯树提供了一种新的系数非线性优化:ISAM2(进行重新排序和重新线性化,避免了批量更新)问题描述文章聚焦与如何用增量实时解决非线性问题,利用增量即新的测量值实时更新估
2021-03-08 20:51:11
7564
4
转载 gtsam 学习九(imu 因子)
理论知识状态假设相机和雷达所处测量频率和状态相同,均处在低速状态下(10Hz)。定义车辆自身的三个变量Rbn:R:姿态,n导航坐标系,b自身坐标系,下文使用会抛弃上下标R^n_b:R:姿态,n导航坐标系,b自身坐标系,下文使用会抛弃上下标Rbn:R:姿态,n导航坐标系,b自身坐标系,下文使用会抛弃上下标Pbn:R:位置,n导航坐标系,b自身坐标系,下文使用会抛弃上下标P^n_b:R:位置,n导航坐标系,b自身坐标系,下文使用会抛弃上下标Pbn:R:位置,n导航坐标系,b自身坐标系,下文
2021-03-03 16:08:53
3625
3
转载 gtsam 学习八(实现kalman 滤波)
例子 1:#include <gtsam/nonlinear/ExtendedKalmanFilter.h>#include <gtsam/inference/Symbol.h>#include <gtsam/slam/PriorFactor.h>#include <gtsam/slam/BetweenFactor.h>#include <gtsam/geometry/Point2.h>using namespace std;usi
2021-02-26 11:01:32
804
转载 gtsam 学习七(读取BAL数据集)
BAL接口函数 string filename="/home/n1/notes/gtsam/readbal/dubrovnik-3-7-pre.txt"; SfM_data mydata; readBAL(filename,mydata); writeBAL(const std::string& filename, SfM_data &data);一个例子#include <gtsam/inference/Symbol.h>#inclu.
2021-02-24 18:17:36
608
转载 GTSAM 库学习六(使用相机矫正,简单的SFM)
来自教程相机较真矫正原理(略)实现#include <gtsam/geometry/Pose3.h>#include <gtsam/geometry/Point3.h>#include <gtsam/geometry/SimpleCamera.h>#include <gtsam/inference/Symbol.h>#include <gtsam/nonlinear/NonlinearFactorGraph.h>#includ
2021-02-23 16:56:54
833
原创 GTSAM 库学习五(symbol,BearingRangeFactor,express)
symbol在gtsam 中,除了可以直接使用整数为factor,命名key值,还可以使用Symbol定义一个因子的变量(抽象),再需要使用相应key的地方定义。如何使用#include <gtsam/inference/Symbol.h> Symbol x1('x',1),x2('x',2),x3('x',3); Symbol l1('l',1),l2('l',2); // cout<<"x1"<<x1.key()<<e
2021-02-22 20:33:35
2618
2
原创 GTSAM 库学习四(添加一个回环约束)
什么是回环?机器人在其雷达/相机中,辨认出之前访问的路标点。(后端优化)下图来自于官网,x5,x2x_5,x_2x5,x2为相同路标点,添加回环之后,重新优化位姿,可以有效降低不确定度(协防差)。绿色包围的大小表示不确定度(matlab画出)。代码1:官方例程.g2o文件:VERTEX_SE2 0 0.000000 0.000000 0.000000VERTEX_SE2 1 0.774115 1.183389 1.576173VERTEX_SE2 2 -0.262420 2.047.
2021-02-19 15:40:13
1483
原创 LIO_SAM 学习一(基本数据结构)
基本数据格式自定义的配置文件(目前不用管意义,在查找时查询)config/params.yamllaunch 加载 <rosparam command="load" file="$(find MY_LIO)/config/params.yaml"/>自定义的could_info.msg#点云数据信息Header Header#索引范围int32[] startRingIndexint32[] endRingIndex#点的行数对应在图片上的索引#点云范围
2021-02-18 14:35:48
578
原创 GTSAM库 学习三(因子图进行最小乘优化)
l1,l2l_1,l_2l1,l2:为路标点(GPS、imu等)x1,x2x_1,x_2x1,x2:位置的实际3D坐标u1,u2u_1,u_2u1,u2:测量值(观测值)矩阵白化noiseModel::Base 内置了PCA白化
2021-02-18 11:19:26
1842
8
原创 GTSAM库 学习二(创建一个简单因子图)
来自官网官网上的因子图表达上图为一个HMM(隐马尔可夫链)模型上图的联合分布概率为:P(X3∣X2),P(X2∣X1):条件转移概率(条件概率矩阵)P(X_3|X_2),P(X_2|X_1):条件转移概率(条件概率矩阵)P(X3∣X2),P(X2∣X1):条件转移概率(条件概率矩阵)L(X1;z1)L(X2;z2)L(X3;z3):观测概率矩阵L(X_1;z_1)L(X_2;z_2)L(X_3;z_3):观测概率矩阵L(X1;z1)L(X2;z2)L(X3;z3):观测概率
2021-02-07 20:03:07
2278
1
转载 gtsam库 学习一 (因子图理论基础)
官方教程一 有向图无向图来自如下链接图有向图(Undirected Graph):无向边构成图无向图(Directed Graph):有向边构成图出度和入度出度:
2021-02-07 12:48:51
3642
2
转载 slam14讲 工程实践
确定工程框架文件存放内容文件名CMakeLists.txt 设置二进制文件binset(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)自己设置的头文件includeinclude_directories(${PROJECT_SOURCE_DIR}/include)(使用时调用include “myslam/xxx.h”,不易于别的库混淆)源代码文件srcadd_subdirectory(src)测试.
2021-02-01 16:20:52
197
原创 linux c++多线程学习(posix)
多线程基础简单概念(1). 基于进程的多任务(程序并发)(2). 基于线程的多任务(程序片段的并发)基本API创建pthread_create(thread,attr,start_routine,arg)//thread : 指向线程标识符指针//attr:一个不透明的属性对象,可以被用来设置线程属性。您可以指定线程属性对象,也可以使用默认值 NULL//start_routine:线程运行函数起始地址,一旦线程被创建就会执行//arg 运行函数的参数。它必须通过把引用作为指针强制
2021-01-15 11:16:17
386
原创 建图学习四 octomap库
1.绘制颜色直方图tree.writeColorHistogram()anzhuang依赖sudo apt-get install gnuplot#include <octomap/octomap.h>#include <octomap/ColorOcTree.h>using namespace std;using namespace octomap;int main(int /*argc*/, char** argv) { std::string fi
2021-01-09 15:43:11
733
转载 建图学习三 八叉树地图和octomap库
slam14讲 中的八叉树:点云地图存在如下缺点:点云地图规模大,一副640×480像素的图像,会产生30万个空间点,提供很多不必要的细节,需要对其压缩。点云地图无法处理运动物体。只有添加点的方法,没用当点消失时移除其方法,实际中运动物体普遍存在,点云地图不使用。八叉树:把三维空间建模为许多小方块,每个面均匀切成两块,那么可以得到8个同样大的小块<>八叉树的节点表示塔是否被占据的信息,0:表示空白 1:表示占据,更加精细的用x∈[0,1]x\in[0,1]x∈[0,1]表示某节
2021-01-07 19:57:10
2031
1
转载 建图学习二 从点云重建网格
从点云重建网格## 点云贪心三角化原理转载适用于采样点云来自表面连续光滑的曲面,并且点云的密度变化比较均匀的情况,所以使用之前,一般先进行滑动最小二乘滤波以满足条件。流程(1):将点云通过法线投影到某一二维坐标平面。(2):然后对投影得到的点云做平面内的三角化,从而得到各点的拓扑连接关系。平面三角化的过程中用到了基于Delaunay三角剖分的空间区域增长算法(3):最后根据平面内投影点的拓扑连接关系确定各原始三维点间的拓扑连接,所得三角网格即为重建得到的曲面模型Delaunay三角剖析
2021-01-05 15:50:00
1054
1
翻译 pcl::MovingLeastSquares滑动最小二乘
http://www.sci.utah.edu/~shachar/Publications/crpss.pdf
2021-01-04 17:54:21
2835
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人