- 博客(329)
- 资源 (3)
- 收藏
- 关注
原创 Pointpillars(四) 结合ROS来实现激光雷达点云物体检测
基于Apollo的preception与Autoware的lidar_apollo_cnn_seg_detect模块,并详细记录ROS系统上进行实时检测全部流程和踩坑,文章最后附上rosbag和rosbag的制作方法。
2025-05-21 14:40:18
653
原创 flatbuffer实践
3.1.1 schema的结构与功能FlatBuffer的schema定义了一套固定格式,它类似于其他序列化库使用的接口描述语言(IDL)。然而,它比IDL更加紧凑,因为它不描述方法或服务,而仅专注于数据结构本身。schema的结构通常由一系列的枚举(enum)、表(table)、结构体(struct)以及它们之间的关系组成。枚举(enum):用于定义一组命名的整数常量。在schema中定义枚举,可以简化数据的表示,因为枚举值能够直接被序列化和反序列化,而不需要额外的映射或查找表。表(table)
2025-05-14 18:44:20
721
原创 个人感触(一)不可面上过不去。
牵头一个新项目:有一个deadline,大家其实根本不关心到底能不能完成,只关心,没完成时不能说自己这边没完成,只要撇清自己的关系就行。而不参与者,内心其实也不爽。风头正紧,当低调抱团。刚来要尽量团结周边的同事。时间延后,理由已经解释了。但是只要延后就是扣绩效的理由。给出这个理由,递出去一把刀。我有一个同事,刚到公司两个月,风头正盛。与人为善,不可在会议上指责任何人。但是,最后一刀确实他给出的。其实大部分心理其实不爽的。
2025-05-07 13:57:24
96
原创 创业思考:小而美,摆脱棋子身份
凭借这一想法,他迅速吸引了硅谷投资人的注意,并成功融资 800 万美元,投资方包括 Accel Partners、Kleiner Perkins、PayPal 联合创始人 Max Levchin 以及 AngelList 创始人 Naval Ravikant 等知名人士。然而,在 Pinterest 即将迎来爆发式发展的前夕,他选择了辞职,甚至放弃了未兑现的期权——一个轻松成为百万富翁的机会。那一刻,他意识到自己失败了。最终,许多创业者发现,自己原本是为了自由创业,却走上了一条更加不自由的路。
2025-05-02 11:40:31
935
原创 PointPillars(一)论文解析和OpenPCDet代码解析
本文详细解析了PointPillars论文和OpenPCDet的实现,介绍了将点云数据转化为立方柱体并用2D检测框架处理的方法,包括数据预处理、特征提取、检测头设计、loss计算等步骤。PointPillars通过这种创新方式实现了速度和精度的平衡,适用于自动驾驶等场景
2025-04-21 18:39:10
869
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十三)图优化SLAM的本质
我从b站上学习理解的这个概念。视频的大概位置是1个小时以后,在第75min到80min之间。图优化SLAM是怎么一回事。slam本身是有的,也就是方程,也就是。通过t1时刻,可以递推预测t2时刻的重点来了:我通过这个预测的t2时刻的位置,可以预测出,在t1时刻所建地图中特征在t2时刻的位置。t1时刻的位置有了,观测的特征有了。对t2时刻的位置可以通过运动方程递推出来。那么我就可以基于对t2时刻位姿的估计,基于这个视角,出此时在t1时刻时地图中那些特征点,在t2时刻时,在地图中的位置。
2024-11-14 17:26:47
751
原创 turtlesim修改窗口大小;添加自己的小乌龟;
将刚才git clone的文件夹,打开找到ros_tutorials路径,然后将其中的turtlesim文件夹放在我们新建一个ws下的src中。找到turtlesim下的src文件夹下的turtle_frame.cpp文件,github中搜索ros,然后选择ros官网(九点方阵那个图标)。目前手边有humble版本ROS。在branch中,选择humble,然后复制链接。-b的意思是:选择branch。我们开始修改为我们自己的版本。我们先看一下自带的框体大小。这个提示,可以不用理睬。原始版本是正方形的。
2024-11-11 12:00:25
440
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十二)拓展图优化库g2o(三)边edge
小白:前面你介绍了g2o中边的基本类型、重要的成员变量和成员函数,那么如果我们要定义边的话,具体如何编程呢?public:myEdge(){}// ...// .../*...*/private:// data我们可以发现,最重要的就是(),()两个函数了小白:嗯,看起来好像也不难啊师兄:我们先来看一个简单例子,地址在这个是个一元边,主要是定义误差函数了,如下所示,你可以发现这个例子基本就是上面例子的一丢丢扩展,是不是感觉so easy?
2024-10-29 16:49:19
841
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十二)拓展图优化库g2o(二)顶点vertex
小白:师兄,我们是不是可以开始写顶点定义了?师兄:嗯,我们知道了顶点的基本类型是 BaseVertex,那么下一步关心的就是如何使用了,因为在不同的应用场景(二维空间,三维空间),有不同的待优化变量(位姿,空间点),还涉及不同的优化类型(李代数位姿、李群位姿)小白:这么多啊,那要自己根据 BaseVertex 一个个实现吗?师兄:那不需要!小白:好全啊,我们可以直接用啦!师兄:当然我们可以直接用这些,但是有时候我们需要的顶点类型这里面没有,就得自己定义了。
2024-10-29 10:26:12
1024
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十二)拓展图优化库g2o(一)框架
BlockSolver 内部包含 LinearSolver,用上面我们定义的线性求解器LinearSolver来初始化。g2og2ocore你点进去会发现 BlockSolver有两种定义方式一种是指定的固定变量的solver,我们来看一下定义其中p代表pose的维度(注意一定是流形manifold下的最小表示),l表示landmark的维度另一种是可变尺寸的solver,定义如下小白:为何会有可变尺寸的solver呢?
2024-10-24 18:16:51
1213
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十一)ESKF中融合速度观测量;发散的原因;如何解决发散;以及对slam的理解
1、slam发散的原因?2、如何解决/限制发散?3、如何在已经有观察值和预测值的ESKF中,再引入一个其他其他观察量?
2024-10-14 18:08:51
1365
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(九)imu运动学;lambda表达式;bind;function;std::move()
常用六轴IMU是由和两部分组成。安装要尽量保证IMU的安装位置在车辆中心。避免由IMU与载体系不重合引来的问题。
2024-08-28 17:50:36
1292
1
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(八)卡尔曼滤波器四:一文理清卡尔曼滤波,从传感器数据融合开始谈起【转载】
在正式讨论卡尔曼滤波前,我们先讨论对。我们会发现是和卡尔曼滤波紧密相关的。我们知道,如果需要对自然界的某个物理量,比如温度,气压,速度等进行测量,我们需要用各种传感器进行测量。但是,因为器件的工艺不可能达到完美,或者其他不能被人为预测到或者控制到的因素和噪声等存在,传感器对物理量的预测。因此,我们,不如把它看成是一个其均值和方差分别为μσ2,既是v∼Pμσ2,,这两个描述了。μσ2(暂且假设传感器的测量均值是和真实值无偏的。
2024-08-12 22:11:49
1000
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(七)卡尔曼滤波器三:卡尔曼滤波器公式推导【转载】
转载来源:卡尔曼滤波:从入门到精通考虑一个SLAM 问题,它由一个运动方程:xt=f(xt−1,ut)+ωt(1)\mathbf{x}_{t}=f(\mathbf{x}_{t-1},\mathbf{u}_{t}) + \omega_t \tag 1xt=f(xt−1,ut)+ωt(1)和一个观测方程组成:zt,j=h(yj,xt)+vt,j(2)\mathbf{z}_{t,j} = h( \mathbf{y}_{j},\mathbf{x}_{t} ) + v_{t,j} \tag 2z
2024-08-09 20:30:15
1078
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(六)卡尔曼滤波器二:图解卡尔曼滤波器;卡尔曼滤波器公式理解;面试答法;噪声协方差(不确定性)如何更新;OpenCV中卡尔曼实例;卡尔曼滤波器代码实例;
卡尔曼滤波器公式理解
2024-08-08 18:07:40
1214
1
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(四)高斯牛顿法详解
还是那句话:高斯牛顿法是对:最小二乘法展开的是后面的函数部分。将f(x)一阶泰勒展开(一阶就要带雅可比矩阵)。这个自变量增量都是可求的。因此为了简化有了下面的高斯牛顿法。不过只适用于最小二乘法。最小二乘法展开的是后面的函数部分。将f(x)一阶泰勒展开(一阶就要带雅可比矩阵)。通过使用不含有二阶导数的矩阵U代替牛顿法中的H,根据矩阵U构造的不同,具有不同的拟牛顿法。所以为了使增量的更加稳定可靠,对其做了限制,增加了置信域。无论一阶泰勒展开,还是二阶泰勒展开都是关于增量。缺点:雅可比矩阵有时是。
2024-07-26 17:10:31
1690
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(三)基变换与坐标变换;微分方程;李群和李代数;雅可比矩阵
雅可比矩阵加微分方程:一阶泰勒展开近似表示。如果一篇介绍这个概念的文章读不懂,那就多搜几篇,总有一篇符合你的胃口,直到弄懂为止。雅可比矩阵配合微分方程:完成了对逼近局部值的一阶泰勒展开的近似。为何要局部近似?因为这种多元向量值函数是一种隐函数,我们没法描述他的具体函数。只好做线性近似。是一种无奈之举。但是只要足够逼近,那么就足够精确。可微的意义:如果陡变,这种近似没有意义,不成立。所以这就是可微可导的实际物理意义。或者说几何意义。可以用雅可比矩阵刻画一个多元向量值函数的局部,从而简化分析。
2024-07-22 23:22:26
1568
1
原创 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(二)——带着问题的学习;一刷感受;环境搭建
按照作者在读者寄语中的说法:我们得榨干这本书的知识。
2024-07-16 11:21:34
2351
原创 解决:undefined reference to `pcl::PCLBase<pcl::PointXYZ>::setInp
因为我在新建这个package包时,错将pcl_ros写成了rospcl。导致依赖包没有加载上。修改这个包的这个部分就好了。
2024-07-03 00:42:11
678
原创 error: ‘LocalParameterization’ is not a member of ‘ceres
error: ‘LocalParameterization’ is not a member of ‘ceres’
2024-06-19 20:36:18
1419
原创 return pt.array().template round().template cast<int>();
观察最后一个3,4,6,发现是取整四舍五入。
2024-04-01 17:34:51
308
原创 命名空间 “Eigen“ 没有成员 “SelfAdjointEigenSolver“
结果报错:报错实在windows10条件下发生的。转发请备注来源于:xiaoyaolangwj。查找资料,最后还是要定位到官方文档。这是在特征值模块中定义的。
2024-01-15 15:49:58
969
原创 编译报错 undefined reference to `google::kLogSiteUninitialized‘ 的参考解决方法
完事在自己的CMakeLists.txt文件中,添加上这一句话:编译通过了。我试了很多种方法:包括重新编译安装gflags和glog等方法;1、重新安装gflags。2、重新安装glog。
2023-11-23 14:55:23
1843
原创 Ubuntu18.04安装pcl-1.12.1,make时报错:/usr/bin/ld: cannot find -lvtkIOMPIImage
然后勾选上VTK_Group_MPI和VTK_Group_Imaging。然后重新回到pcl安装目录的build下,将所有东西删除,重新编译。在vtk安装包中,重新打开。
2023-11-07 10:26:02
709
原创 Ubuntu系统配置;换源;
1 将系统自带的该文件做个备份: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup。系统不是18.04,可以打开下面的地址,选择你的Ubuntu版本,复制里面的链接到文本中。将下面的内容粘贴到打开文件的最前面,全部粘贴过去,保存,并关闭。更新软件: sudo apt-get upgrade。更新源: sudo apt-get update。打开终端(Open Terminal)如果你对上面的地址有疑惑,或者你的。
2023-07-25 09:46:29
677
原创 C/C++ 中 volatile 关键字详解
而且读取的数据立刻被保存。在此段代码中,nMyCounter 的拷贝可能存放到某个寄存器中(循环中,对 nMyCounter 的测试及操作总是对此寄存器中的值进行),但是另外又有段代码执行了这样的操作:nMyCounter -= 1;//等待上面的线程终止,如果bStop不使用volatile申明,那么这个循环将是一个死循环,因为bStop已经读取到了寄存器中,寄存器中bStop的值永远不会变成FALSE,加上volatile,程序在执行时,每次均从内存中读出bStop的值,就不会死循环了。
2023-06-26 14:49:54
776
原创 CloudCompare
分割点云:选中要分割的点云文件–>Segment–>左键框出要分割的点或者区域–>Segment Out–>Comfirm Segmentation,原点云文件被分割成两个结构,选中分割出来的remaining,右键delete即可。qSRA (Surface of Revolution Analysis):计算一个点云和一个假定旋转平面之间的距离(旋转平面用2D轮廓定义),距离计算好后,用户可以创建一个偏差的2D图或者圆柱或圆锥的投影。②表现为同样的对象或者至少有同样的形状。
2023-06-25 11:16:45
3814
GitHub - soumith_ganhacks_ starter from _How to Train a GAN__ at NIPS2016.pdf
2021-05-21
GANs-in-Action.pdf
2021-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人