<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[微鉴道长的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zkk9527</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zkk9527]]></copyright><item><title><![CDATA[【机器人感知运控笔记四】理解 IPOPT：原始—对偶内点法与二阶信息]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/170039850</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/170039850</guid><author>zkk9527</author><pubDate>Wed, 04 Nov 2026 12:43:54 +0800</pubDate><description><![CDATA[本文深入解析约束优化中的核心概念与求解机制，聚焦于对数障碍法与原始—对偶内点法的结合应用。通过引入松弛变量和乘子，将不等式约束转化为等式，并构建联合最优性方程组，实现对约束余量与梯度平衡的统一处理。以一维问题为例，阐明如何将原问题转化为可求解的方程系统，并揭示乘子 $ y $ 与原问题拉格朗日乘子 $ \lambda $ 的对应关系。最终，结合 IPOPT 求解器的实际流程，说明其如何利用二阶信息与障碍参数更新，高效求解复杂约束优化问题。适合希望从“调库”走向理解算法本质的读者深入研读。]]></description><category></category></item><item><title><![CDATA[【机器人感知运控笔记三】约束优化基础：从简单问题到拉格朗日乘子与 KKT 条件]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/170039772</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/170039772</guid><author>zkk9527</author><pubDate>Wed, 04 Nov 2026 12:39:34 +0800</pubDate><description><![CDATA[本文面向熟悉数值优化但依赖调库、不深究原理的读者，系统讲解约束优化核心概念：从等式/不等式约束、罚函数、对数障碍到拉格朗日乘子法、KKT条件及对偶变量，并以CasADi与IPOPT为例，揭示如何将不等式约束转化为等式约束并求解。结合机器人逆运动学、轨迹优化与接触力分配等实例，逐步推导最优性条件，辅以牛顿法回顾与二阶信息应用，帮助读者理解求解器内部机制。建议预留数小时专注阅读，方能深入掌握。]]></description><category></category></item><item><title><![CDATA[【机器人感知运控笔记二】让地图持续跟上机器人：存储、融合与更新的加速设计]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/169460736</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/169460736</guid><author>zkk9527</author><pubDate>Thu, 29 Oct 2026 17:05:40 +0800</pubDate><description><![CDATA[本文延续前文距离场构建，深入探讨机器人在线建图的高效加速策略：通过循环缓冲区复用窗口内存、位掩码索引实现快速定位、射线与贝叶斯融合提升观测稳定性、TSDF加权融合优化表面表示，并结合种子关联与增量传播机制，仅更新受障碍变化影响的局部区域。整体设计显著降低数据搬运与重复计算，支持高频率、大范围地图维护，为实时避障与重规划提供高效环境感知基础。]]></description><category></category></item><item><title><![CDATA[【机器人感知运控笔记一】从点云到避障：距离场的构建、查询与梯度]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/169455900</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/169455900</guid><author>zkk9527</author><pubDate>Thu, 29 Oct 2026 15:10:03 +0800</pubDate><description><![CDATA[本文介绍机器人避障中距离场的构建与应用，重点阐述从点云生成占据地图、通过Chamfer加权邻域距离变换和可分离欧式距离变换构建带符号距离场（ESDF）的方法。通过体素化空间、利用邻居传播与方向权重近似欧式距离，实现高效距离查询与梯度计算，为机械臂运动规划提供精确的避障信息。]]></description><category></category></item><item><title><![CDATA[pinocchio库C++版本无法使用FCL及碰撞检测踩坑记录]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/151992834</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/151992834</guid><author>zkk9527</author><pubDate>Tue, 23 Sep 2025 11:06:14 +0800</pubDate><description><![CDATA[Pinocchio 库在编译时可以配置不同的后端碰撞检测库。默认情况下，它可能使用内部的一个简化版本（FakeCollisionGeometry），或者使用 hpp-fcl（一个功能更全的碰撞检测库）。以及无法利用hpp-fcl构造障碍物模型，并利用pinocchio::GeometryObject 添加到模型中进行碰撞检测。然后构造 pinocchio::GeometryObject 并调用addGeometryObject添加即可。，这要求 Pinocchio 必须配置为使用 hpp-fcl 后端。]]></description><category></category></item><item><title><![CDATA[Casadi库C++运行速度比python版本慢解决方法]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/150486824</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/150486824</guid><author>zkk9527</author><pubDate>Mon, 18 Aug 2025 11:21:51 +0800</pubDate><description><![CDATA[casadi库是一个用来做符号运算的库，，并在底层对一些优化器做了接口封装。可以用于机器人运动学与动力学或其他优化问题。当使用cpp版本的时候，会意外发现比python版本慢了许多（一倍以上）。这是因为底层依赖版本的缘故。如果没有必要的原因，建议就使用python版本的casadi。但如果有必要一定要用cpp版本，可以参考我这篇文章。不过没有太多第三方库编译经验的朋友不要轻易尝试。]]></description><category></category></item><item><title><![CDATA[ROS1、ROS2如何把预编译好的二进制文件封装成功能包？]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/147504900</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/147504900</guid><author>zkk9527</author><pubDate>Fri, 25 Apr 2025 12:26:43 +0800</pubDate><description><![CDATA[当我们编译一个第三方功能包的时候，会通过cmake指令，将源码编译好，并通过make install安装到系统目录下。如果希望预编译好的二进制文件，封装成一个ros的功能包，该怎么做呢？本文要求你掌握Cmake和ROS1、ROS2的基础，涉及到的细节操作这里不做介绍，只介绍核心操作步骤。]]></description><category></category></item><item><title><![CDATA[C++调试方法（Vscode）（二） ——本地调试（ROS版）]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/142874090</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/142874090</guid><author>zkk9527</author><pubDate>Sat, 12 Oct 2024 12:50:05 +0800</pubDate><description><![CDATA[本文讲解了如何用vscode的插件，gdb本地调试ROS相关的C++程序。
主要方法包括简便启动版，通过launch启动版，通过attach方式启动程序。]]></description><category></category></item><item><title><![CDATA[C++调试方法（Vscode）（一） ——本地调试]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/142872617</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/142872617</guid><author>zkk9527</author><pubDate>Sat, 12 Oct 2024 11:27:33 +0800</pubDate><description><![CDATA[初学者在调试一段代码的时候，经常出于不明原因，写出bug，导致程序崩溃。但是定位崩溃的地方时，往往采用简单而朴素的方法：即采用cout或者printf进行输出。这种方式既原始，又低效。一个合格的工程师应该是通过打断点的方式进行调试，而非加入各种print。

但是，采用gdb调试，则需要熟悉gdb的各种指令，往往不能快速入手。

好在vscode 提供了比较便捷的调试方法，本文就对vscode进行C++本地调试的方法，做一个简单的介绍和实践。]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记十四：中文版印刷/翻译勘误]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/133563578</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/133563578</guid><author>zkk9527</author><pubDate>Wed, 04 Oct 2023 23:37:46 +0800</pubDate><description><![CDATA[首先声明，这个印刷/勘误并非经过官方的认可，只是我个人的粗浅的理解。如果内容有误，恳请大家谅解指正。

其实有的并不算错，只是我个人认为不太准确，在我学习过程中产生了一些小疑惑和误解。

都是一些小毛病，瑕不掩瑜，本文的目的并非挑刺。在我心目中这本书是经典中的经典，中文版的翻译也是难得的精品。]]></description><category></category></item><item><title><![CDATA[GDB排查死锁问题]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/132455073</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/132455073</guid><author>zkk9527</author><pubDate>Wed, 23 Aug 2023 17:04:06 +0800</pubDate><description><![CDATA[gdb排查死锁问题]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记十三：配套代码解析]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/132393802</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/132393802</guid><author>zkk9527</author><pubDate>Sun, 20 Aug 2023 20:29:14 +0800</pubDate><description><![CDATA[最近一直忙于工作，每天都在写一些业务代码。而目前工程中的技术栈并没有使用旋量这一套机器人理论系统，因此时间长了自己都忘记了。于是决定把这本书配套的代码内容也过一遍，查漏补缺，把这本书的笔记内容完结一下。其中Python部分，相关的函数一共有47个，其实也不是很多。]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记十二：轮式移动机器人]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/130546488</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/130546488</guid><author>zkk9527</author><pubDate>Sun, 07 May 2023 21:31:46 +0800</pubDate><description><![CDATA[这一章讲移动机器人相关的内容。许久没有更新了，有人私聊我是不是烂尾了。写的这几篇屁文我本来是拿来当自己的笔记本的，不以为有人会认真看。没想到居然还有人追，真是受宠若惊。一直没更新其实是因为年后的工作实在是太忙了，连休息的时间都没有，更何谈写这些博客。另外我还看到之前写的一些内容甚至我自己都没有印象了，看来还得抽时间再回顾一遍。话不多说，开始吧：开篇放了一个这样的公式：意为讲固定系s下的角速度、沿xy方向的线速度变换到body系下并用旋量表示。]]></description><category></category></item><item><title><![CDATA[roslaunch 中的条件语句（字符串与bool类型）]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/129725420</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/129725420</guid><author>zkk9527</author><pubDate>Thu, 23 Mar 2023 10:38:26 +0800</pubDate><description><![CDATA[工作原因，在配置机器人系统的时候为了统一管理，在roslaunch的启动脚本中经常需要根据不同的传入参数启动不同的launch文件。但是写法总是不记得，临时到处找以前的文件复制粘贴。如果是bool类型，就使用表示当xxx是false的时候执行，或表示xxx是true的时候执行。
如果是字符串类型，就使用 表示mode]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记十一：抓握与操作]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/129454776</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/129454776</guid><author>zkk9527</author><pubDate>Sat, 11 Mar 2023 00:23:08 +0800</pubDate><description><![CDATA[本章是比较独特的一章，相对于前面的内容，内容较为独立，主要描述的是力学相关的一些理论。主要内容有，接触运动学，接触类型分析，一阶形封闭分析，接触力与摩擦力，力封闭分析等内容。]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记十：机器人控制]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/128709448</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/128709448</guid><author>zkk9527</author><pubDate>Mon, 16 Jan 2023 23:58:12 +0800</pubDate><description><![CDATA[这节的内容主要讲述在关节空间和任务空间中的运动控制中的反馈控制，力控制，运动-力混合控制以及阻抗控制、导纳控制，pid控制等内容。
在之前的内容当中，往往不涉及到实际对机器人的操纵，即我们计算出一个结果，就默认机器人可以执行这个期望的指令，而没有考虑到机器实际上是存在误差的，它实际执行的结果很可能不是我们所期望的命令，因此引入了本章的控制部分内容。
为了避免简单的抄书，本节我只整理一些我认为的重点内容。这节的内容也是较多的，但也是日常机器人工程中非常经典的一些理论内容。]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记九：运动规划]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/128570572</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/128570572</guid><author>zkk9527</author><pubDate>Thu, 05 Jan 2023 23:41:54 +0800</pubDate><description><![CDATA[本节讲述运动规划，内容包括：位形空间障碍，到障碍物的距离与碰撞检测，A*算法，RRT算法，PRM算法，移动机器人网格规划，机械臂网格规划，虚拟势场法，非线性优化，平滑等内容。]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记八：轨迹生成]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/128487742</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/128487742</guid><author>zkk9527</author><pubDate>Thu, 29 Dec 2022 22:56:08 +0800</pubDate><description><![CDATA[本节主要讲述机器人学中的轨迹生成，内容包括：定义，多项式插值，三次多项式与五次多项式，梯形运动，S曲线时间标度，Waypoint规划，时间最优的时间标度，时间标度算法算法。]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记七：开链动力学（前向动力学Forward dynamics 与逆动力学Inverse dynamics）]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/128435630</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/128435630</guid><author>zkk9527</author><pubDate>Sun, 25 Dec 2022 21:43:49 +0800</pubDate><description><![CDATA[这节的内容主要讲述机器人动力学的内容。包括：拉格朗日方程，通用方程，质量矩阵的解释，牛顿欧拉动力学，单刚体动力学，运动旋量-力旋量方程，机械臂动力学，牛顿欧拉逆动力学算法，封闭形式的动力学，开链机器人的正向动力学：
任务空间中的动力学：受约束动力学：硬件部分内容等。]]></description><category></category></item><item><title><![CDATA[【现代机器人学】学习笔记六：闭链运动学]]></title><link>https://blog.youkuaiyun.com/zkk9527/article/details/128322174</link><guid>https://blog.youkuaiyun.com/zkk9527/article/details/128322174</guid><author>zkk9527</author><pubDate>Wed, 14 Dec 2022 23:05:14 +0800</pubDate><description><![CDATA[这一章的内容主要讲并联机器人的相关算法，内容在全书中属于比较少，仅仅介绍概念的章节。恰好部门中有一位同事就是专门做并联机器人出身的博士，也请他帮忙看了一下内容，但他觉得写书的这个人可能也不是非常懂并联机器人，他认为书里的一些内容表述的不是非常恰当。好在这节的内容偏向科普性质，而我司目前也并没有用到并联机器人，所以这节草草记录一下概念重点，等工作中如果遇到的时候再去深入，到时补充在这章。]]></description><category></category></item></channel></rss>