<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sunqin的博客]]></title><description><![CDATA[随缘而去乘风而来才是我胸怀------闲云野鹤]]></description><link>https://blog.youkuaiyun.com/sunqin_csdn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sunqin_csdn]]></copyright><item><title><![CDATA[linux手册翻译 execve]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/142904110</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/142904110</guid><author>sunqin_csdn</author><pubDate>Sun, 13 Oct 2024 23:03:36 +0800</pubDate><description><![CDATA[execve - 执行程序
描述
execve() 执行由参数 pathname指定的程序. 这将导致调用进程当前正在运行的程序被一个新程序替换，该程序具有新初始化的堆栈、堆和（初始化和未初始化的）数据段。
参数pathname必须也是一个可执行的二进制文件, 或者是一个 #!interpreter [optional-arg] 形式的脚本. 详情见下面 “Interpreter scripts” 部分.参数 argv 一组指向字符串的指针的数组. 这些字符串作为命令行参数传递给新程序. 按照惯例，这些字符]]></description><category></category></item><item><title><![CDATA[linux手册翻译 nm]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/142898355</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/142898355</guid><author>sunqin_csdn</author><pubDate>Sun, 13 Oct 2024 16:18:31 +0800</pubDate><description><![CDATA[nm - 从目标文件中列出符号。]]></description><category></category></item><item><title><![CDATA[linux手册翻译 addr2line]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/142287318</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/142287318</guid><author>sunqin_csdn</author><pubDate>Sun, 15 Sep 2024 21:27:53 +0800</pubDate><description><![CDATA[addr2line
将地址转换为文件名和代码行数
描述
addr2line 将地址转换为文件名和代码行数. 给定可执行文件中的地址或可重定位对象的部分中的偏移量，它使用调试信息来找出与它相关联的文件名和行号。要使用的可执行或可重定位对象使用-e选项指定。默认是文件a.out。使用-j选项指定可重定位对象中要使用的部分。addr2line 有两种操作模式
第一种, 在命令行上指定十六进制地址，addr2line显示每个地址的文件名和行号。
第二种, addr2line从标准输入中读取十六进制地址，并在标准输出]]></description><category></category></item><item><title><![CDATA[linux手册翻译 dlopen系列]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/141993380</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/141993380</guid><author>sunqin_csdn</author><pubDate>Sun, 08 Sep 2024 00:34:45 +0800</pubDate><description><![CDATA[dlclose, dlopen, dlmopen 打开和关闭一个共享对象
描述
dlopen
函数dlopen()加载由以空结尾的字符串filename命名的动态共享对象(共享库)文件，并为加载的对象返回一个不透明的“句柄”。此句柄与dlopen API中的其他函数一起使用，例如dlsym(3)， dladdr(3)， dlinfo(3)和dlclose()如果filename为NULL，则返回的句柄是主程序的。如果filename包含斜杠(“/”)，则将其解释为(相对或绝对)路径名。否则，动态链接器按照如]]></description><category></category></item><item><title><![CDATA[linux手册翻译 kill系列]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/140754043</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/140754043</guid><author>sunqin_csdn</author><pubDate>Sun, 28 Jul 2024 18:28:41 +0800</pubDate><description><![CDATA[在linux中, 通过man kill 终端指令, 可以了解到和杀死进程kill相关的使用说明.kill 给进程发送一个信号, 使用方法:kill的默认信号是TERM，使用 -l/-L 列出所有的信号。特别有用的信号包括：HUP, INT, KILL, STOP, CONT, 0负的PID值被用来选择整个进程组。见ps命令的PGID列，-1的PID是特殊的，它表示除了kill进程它本身和init进程以外的所有进程。]]></description><category></category></item><item><title><![CDATA[linux手册翻译 gdb]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/140736711</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/140736711</guid><author>sunqin_csdn</author><pubDate>Sun, 28 Jul 2024 13:55:50 +0800</pubDate><description><![CDATA[gdb [选项] [可执行程序|可执行程序进程ID|程序的core文件]]]></description><category></category></item><item><title><![CDATA[文章翻译——矩阵微积分]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/121437776</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/121437776</guid><author>sunqin_csdn</author><pubDate>Sat, 20 Nov 2021 20:09:16 +0800</pubDate><description><![CDATA[文章作者：Sourya Dey
发表时间： 01 April 2019.
原文：Matrix Calculus
目录：
文章目录1. 符号2. 基本规则3. 导数类型3.1 标量对标量（求导）3.2 标量对向量（求导）3.3 向量对标量（求导）3.4 向量对向量（求导）3.4.1 特殊的例子——向量化的标量函数3.4.2 特殊的例子——Hessian3.5 标量对矩阵（求导）3.6 矩阵对标量（求导）3.7 向量对矩阵（求导）3.8 矩阵对向量（求导）4. 操作和例子4.1 Commutation4.2 转]]></description><category></category></item><item><title><![CDATA[pcl有序点云分析]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/119513989</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/119513989</guid><author>sunqin_csdn</author><pubDate>Sun, 08 Aug 2021 19:37:43 +0800</pubDate><description><![CDATA[在工作和学习中，只要是与点云打交道，那基本离不开pcl（point cloud library）,点云pcd文件是我们最常接触到的文件，它的数据组织形式，可以分为有序（HEIGHT字段不为1）和无序两种（HEIGHT字段为1），对于有序点云，我们可以通过按照行列 cloud.at(column, row) 的方式来访问（注意对于pcd中的有序点云at方式的访问，列也就是宽度在前面，和常用的image访问相反），下面用代码进行验证。
pcd文件的数据头示例如下所示：
pcd 数据头
# .PCD v0.7 -]]></description><category></category></item><item><title><![CDATA[论文翻译—ICP算法论文（节选1~4章）]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/118434830</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/118434830</guid><author>sunqin_csdn</author><pubDate>Sun, 18 Jul 2021 23:53:20 +0800</pubDate><description><![CDATA[标题：A Method for Registration of 3-D Shapes
作者： J. Besl, Neil D. McKay
目录：

Ⅰ  Introduction
Ⅱ Literature Review
Ⅲ Mathematical Preliminaries

A. Point to Parametric Entity Distance
B. Point to Implicit Entity Distance
C. Corresponding Point Set Registration]]></description><category></category></item><item><title><![CDATA[论文翻译—3D NDT算法论文（节选6.1-6.2）]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/118404889</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/118404889</guid><author>sunqin_csdn</author><pubDate>Sat, 03 Jul 2021 00:33:12 +0800</pubDate><description><![CDATA[文章目录第6章 正态分布变换6.1 用于表面表达的NDT6.2 NDT 扫描配准6.2.1 2D NDT6.2.2 3D NDT
第6章 正态分布变换
本章详细描述了正态分布变换以及它是如何被应用到扫描配准中的。
6.1 用于表面表达的NDT
在第3章讨论的距离传感器都是输出的点云：来自表面的空间采样点的集合。而且，在第5章的工作中提到的许多相关的算法都与点云打交道。但是，使用点云来表达表面有一系列的限制。例如，点云没有包含如方向、平滑度或者洞（holes）等表面属性的明确信息。根据传感器的配置，点云也可能]]></description><category></category></item><item><title><![CDATA[算法公式推导——PCA]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/116895783</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/116895783</guid><author>sunqin_csdn</author><pubDate>Sun, 13 Jun 2021 00:16:45 +0800</pubDate><description><![CDATA[主成分分析（Principle Component Analysis，PCA）算法公式推导：
1，算法定义
算法输入：一堆点集 X=[x1,x2,...,xm]，其中xi∈Rn,&nbsp;&nbsp;i=1,2,...,m\mathbf{X} = [x_1, x_2, ...,x_m]，其中x_i \in \mathbb{R}^n, ~~i = 1,2,...,mX=[x1​,x2​,...,xm​]，其中xi​∈Rn,&nbsp;&nbsp;i=1,2,...,m
算法输出： 一堆主向量 z1,z2,.]]></description><category></category></item><item><title><![CDATA[算法公式推导——ICP]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/116843003</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/116843003</guid><author>sunqin_csdn</author><pubDate>Sun, 16 May 2021 14:26:34 +0800</pubDate><description><![CDATA[前言：点云配准中的迭代最近点（Iterative Closest Points，ICP）算法的推导，网上很多资料都有提到，但是对我来说，看完这些资料还是有写些太明白的地方，前段时间学习的相关课程中讲到了ICP的算法推导，感觉很详细，因此这里详细总结一下，确保任何一个有线性代数基础的小伙伴都能看懂。
1，算法输入
两堆点集：X={x1,x2,...,xM}\mathbf{X} = \{x_1, x_2, ..., x_M\}X={x1​,x2​,...,xM​} 和 Y={y1,y2,...,yN}\math]]></description><category></category></item><item><title><![CDATA[关于ROS订阅和发布中的问题笔记]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/109062744</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/109062744</guid><author>sunqin_csdn</author><pubDate>Wed, 14 Oct 2020 00:05:54 +0800</pubDate><description><![CDATA[前言：在学习知乎大佬的定位文章 从零开始做自动驾驶定位(三): 软件框架  。其中提到：

gnss_callback {
gnss 数据解析，赋给变量 gnss_data
}
lidar_callback {
雷达数据解析，得到lidar_data
融合(lidar_data, gnss_data)
}

问题在于当融合算法处理时间比较长，超出了传感器信息的发送周期的时候，未被接收的数据会被放在每个subscriber对应的缓冲区中，等当前融合步骤处理完之后，下次ros从缓冲区中读取数据的时候，会先把gn]]></description><category></category></item><item><title><![CDATA[代码分析——基于误差状态卡尔曼滤波器（ESKF）实例分析]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108966950</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108966950</guid><author>sunqin_csdn</author><pubDate>Thu, 08 Oct 2020 19:24:37 +0800</pubDate><description><![CDATA[imu_gps_localization代码分析
最近在学习ESKF相关知识，偶然发现知乎大佬 Dongsheng Yang基于《Quaterniond kinematics for the error-state Kalman filter》实现了IMU+GPS的融合定位。刚刚学完理论知识，正好学习下基于ESKF的代码实战。看完大佬写的代码，更加深入地了解了数据融合的机制，笔记如下，一图胜千言。


...]]></description><category></category></item><item><title><![CDATA[文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第7章]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108911364</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108911364</guid><author>sunqin_csdn</author><pubDate>Tue, 06 Oct 2020 00:22:58 +0800</pubDate><description><![CDATA[文章目录基于误差状态卡尔曼滤波器的四元数运动学7 使用全局角度误差的ESKF7.1 持续时间的系统运动学7.1.1 真实和标称状态运动学7.1.2 误差状态运动学7.2 离散时间的系统运动学7.2.1 标称状态7.2.2 误差状态7.2.3 误差状态雅可比和扰动矩阵7.3 与互补的传感数据融合7.3.1 误差状态观测7.3.2 将观测到的误差注入标称状态7.3.3 ESKF重置
基于误差状态卡尔曼滤波器的四元数运动学
7 使用全局角度误差的ESKF
7.1 持续时间的系统运动学
7.1.1 真实和标称状态运]]></description><category></category></item><item><title><![CDATA[文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第6章]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108903580</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108903580</guid><author>sunqin_csdn</author><pubDate>Tue, 06 Oct 2020 00:22:10 +0800</pubDate><description><![CDATA[文章目录基于误差状态卡尔曼滤波器的四元数运动学6. 用将IMU与互补的感知数据融合6.1 通过滤波校准的误差状态观测6.1.1 用于滤波器校正的雅可比计算6.2 将观察到的误差注入标称状态6.3 ESKF 重置6.3.1 关于定位误差的复位操作的雅可比
基于误差状态卡尔曼滤波器的四元数运动学
6. 用将IMU与互补的感知数据融合
在除了IMU之外的其他信息（例如GPS或视觉）到达时，我们将进行ESKF校正。在设计良好的系统中，这应使IMU偏差可观察到，并允许ESKF正确估计它们。有无数种可能性，最受欢迎的是]]></description><category></category></item><item><title><![CDATA[文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第5章]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108895773</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108895773</guid><author>sunqin_csdn</author><pubDate>Tue, 06 Oct 2020 00:21:24 +0800</pubDate><description><![CDATA[基于误差状态卡尔曼滤波器的四元数运动学
5. 基于IMU驱动系统的误差状态运动学
5.1 运动
我们希望使用汉密尔顿（Hamilton）四元数表示空间或姿态的方向，编写将加速度计和陀螺仪读数与偏置和噪声相结合的惯性系统运动学的误差方程。
加速度计和陀螺仪的读数通常来自惯性测量单元（IMU）。整合IMU读数可以得到随着时间漂移的航位推算定位系统。避免漂移就是将这些信息与GPS或视觉等绝对位置读数融合在一起。
误差状态卡尔曼滤波（ESKF）是我们基于这个目的可能使用的其中的一个工具。在卡尔曼滤波范例中，这些是E]]></description><category></category></item><item><title><![CDATA[文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第4章]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108863236</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108863236</guid><author>sunqin_csdn</author><pubDate>Tue, 06 Oct 2020 00:20:52 +0800</pubDate><description><![CDATA[文章目录基于误差状态卡尔曼滤波器的四元数运动学4. 扰动，微分和积分4.1 SO(3)SO(3)中的加法和减法运算符4.2 四个可能的微分定义4.2.1 从向量空间到向量空间的函数4.2.2 从SO(3)到SO(3)的空间4.2.3 从向量空间到SO(3)的函数4.2.4 从SO(3)到向量空间的函数4.3 有用的，且非常有用的，旋转的雅可比4.3.1 关于向量的雅可比4.3.2 关于四元数的雅可比4.3.3 SO(3)的右雅可比4.3.4 关于旋转向量的雅可比4.4 扰动，不确定性，噪声4.4.1 局部扰]]></description><category></category></item><item><title><![CDATA[文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第3章]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108850464</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108850464</guid><author>sunqin_csdn</author><pubDate>Tue, 06 Oct 2020 00:19:54 +0800</pubDate><description><![CDATA[文章目录3. 四元数约定，我的选择3.1 四元数flavors[风味?]3.1.1 四元数分量的顺序3.1.2 四元数代数的规范3.1.3 旋转操作的函数3.1.4 旋转操作的方向
3. 四元数约定，我的选择
3.1 四元数flavors[风味?]
有几种确定四元数的方法。它们基本上与四种二元选择有关：


元素的顺序——实部在前还是在后：
q=[qwqv]&nbsp;&nbsp;&nbsp;&nbsp;vs.&nbsp;&nbsp;&nbsp;&nbsp;q=[qvqw]&nbsp;.(140)\math]]></description><category></category></item><item><title><![CDATA[文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第2章]]></title><link>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108766841</link><guid>https://blog.youkuaiyun.com/sunqin_csdn/article/details/108766841</guid><author>sunqin_csdn</author><pubDate>Tue, 06 Oct 2020 00:18:53 +0800</pubDate><description><![CDATA[基于误差状态卡尔曼滤波(ESKF)的四元数运动学
文章作者：Joan Sol`a
发表时间：October 12, 2017（注：Quaternion kinematics for the error-state Kalman filter 貌似有好几个版本，我这里选择翻译的是2017年10月的版本）
原文：Quaternion kinematics for the error-state Kalman filter
目录：

1 四元数的定义和性质

1.1 四元数定义

1.1.1 四元数的替代表示

]]></description><category></category></item></channel></rss>