<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Qing的专栏]]></title><description><![CDATA[拥抱开源，热心分享，记录生活]]></description><link>https://blog.youkuaiyun.com/changqing1990</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; changqing1990]]></copyright><item><title><![CDATA[内核debug 常识]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/170037638</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/170037638</guid><author>changqing1990</author><pubDate>Thu, 05 Nov 2026 10:18:16 +0800</pubDate><description><![CDATA[内核Oops定位为do_last函数中读取空指针dir->d_inode导致。通过反汇编分析，崩溃指令ldr w3, [x1, #4]读取地址0x4，表明x1（即d_inode）为NULL。回溯可知x1源自nd->path.dentry->d_inode，说明起点目录的inode为空，属“负dentry”或正在销毁的目录，触发空指针解引用。]]></description><category></category></item><item><title><![CDATA[lspci 常见debug 命令]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/168771058</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/168771058</guid><author>changqing1990</author><pubDate>Thu, 22 Oct 2026 18:08:28 +0800</pubDate><description><![CDATA[通过 lspci -tv 和 lspci -Dnn 可清晰解析 PCIe 拓扑结构：系统存在多个 PCIe 域与总线，其中 NVIDIA Device [10de:229c] 与 Pericom PI7C9X2G608GP Switch 芯片构成多端口桥接结构，每个下游端口表现为独立的 PCI-to-PCI Bridge，实现多设备扩展。各网卡（如 Intel I350、Device 125c）挂载于不同子总线，体现 PCIe Switch 的多路复用能力。桥接设备改变总线号，形成独立子总线段，支持并行通信]]></description><category></category></item><item><title><![CDATA[Jetson 重写HDMI 的EDID]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/162860530</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/162860530</guid><author>changqing1990</author><pubDate>Tue, 14 Jul 2026 09:59:34 +0800</pubDate><description><![CDATA[摘要：本文介绍了英伟达显卡驱动配置中强制识别显示接口的方法。通过在X11配置文件的Device段添加特定参数，可强制驱动将DFP-0接口识别为在线状态，并加载自定义的4K EDID文件。关键配置选项包括ConnectedMonitor、CustomEDID和UseDisplayDevice，均需使用英伟达内部接口命名（如DFP-0或HDMI-0）。这种方法适用于需要精确控制显示输出的场景。（98字）]]></description><category></category></item><item><title><![CDATA[Jetson 平台 OpenCV 纯硬件加速编码（NVENC）权限与路径冲突排查]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/162264983</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/162264983</guid><author>changqing1990</author><pubDate>Wed, 24 Jun 2026 11:30:43 +0800</pubDate><description><![CDATA[本文档记录了在NVIDIA Jetson平台上解决cv2.VideoWriter无法调用NVENC硬件加速的问题。问题表现为：root用户下可使用软件编码，普通用户则崩溃。通过分析发现三个主要问题：1)系统缺少V4L2节点导致硬件加速失败；2)普通用户误装标准OpenCV库，缺少硬件支持；3)root用户创建的文件导致权限冲突。最终解决方案包括：卸载冲突的OpenCV库、清理root文件、配置正确的库路径，并使用GStreamer管道直接调用NVENC硬件编码器。提供的Python代码展示了如何构建GPU显]]></description><category></category></item><item><title><![CDATA[《盐铁论》-通有第三]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/161646237</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/161646237</guid><author>changqing1990</author><pubDate>Wed, 03 Jun 2026 10:22:19 +0800</pubDate><description><![CDATA[燕国的涿、蓟，赵国的邯郸，魏国的温、轵，韩国的荥阳，齐国的临淄，楚国的宛、陈，郑国的阳翟，以及三川地区的东周和西周，这些城市之所以能富甲天下，成为名扬四海的大都市，并不是因为有人在城外帮他们耕种土地，而是因为它们处于五方诸侯往来的交通要冲，横跨在四通八达的大街之上。如果大家都各自待在自己的地方，只吃自己生产的东西，那么橘子、柚子就无法卖到别处去，朐地、卤地的盐就无法运出来，毛织品、毡毯就无法上市交易，而吴地、唐地的木材也就无法被利用起来了。天地的物产本来是丰足无缺的，山海之间的财富本来是富饶无比的。]]></description><category></category></item><item><title><![CDATA[《盐铁论》-力耕第二]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/161320743</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/161320743</guid><author>changqing1990</author><pubDate>Fri, 22 May 2026 17:36:08 +0800</pubDate><description><![CDATA[商业容易滋生长久的欺诈，工匠容易搞伪劣装饰，他们心里怀着投机取巧的念头却毫不惭愧，因此轻薄的人欺骗人，敦厚的人也变得刻薄了。因此，骡子、驴、骆驼成群结队地进入边塞，良马、骏马全部成为我们的牲畜，貂皮、狐皮、貉皮，彩色毛毡、花纹毯子，充满了宫廷仓库，而玉璧、珊瑚、琉璃，都成为国家的宝物。灾荒之年，就投放货币和物资，把有余的地方调运到不足的地方。大夫说：“从京城出发，往东西南北各个方向，走过山川，经过各郡国，凡是那些富裕的大都市，没有哪一条大街不是四通八达的，那里是商贾聚集的地方，也是万物生长繁殖的地方。]]></description><category></category></item><item><title><![CDATA[《盐铁论》-本议第一]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/161215940</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/161215940</guid><author>changqing1990</author><pubDate>Tue, 19 May 2026 11:19:37 +0800</pubDate><description><![CDATA[公元前87年，汉武帝刘彻驾崩，留给继位的幼子汉昭帝刘弗陵一个庞大的帝国，也留下了一个深刻的悖论：一方面，他五十四年的统治北逐匈奴、南平百越、东定朝鲜、西通丝路，奠定了中国历代王朝的疆域根基，“犯强汉者，虽远必诛”的豪气正源于此。另一方面，连年战争耗干了文景之治积攒的国库。到晚年，甚至出现“天下虚耗，人口减半”的危局。为了解决“钱从哪来”这个致命问题，汉武帝重用了天才经济官僚桑弘羊。（国家垄断利润最厚的行业）、（对商人征收重税并鼓励互相举报）、（官府低买高卖，调控物价）。]]></description><category></category></item><item><title><![CDATA[【ROS2】路径规划原理探析]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/159117191</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/159117191</guid><author>changqing1990</author><pubDate>Wed, 18 Mar 2026 14:53:07 +0800</pubDate><description><![CDATA[摘要： 路径规划是机器人导航的核心，分为全局规划（基于静态地图生成最优路径，如A*算法）和局部规划（实时避障，如DWA算法）。SLAM（同步定位与建图）解决机器人未知环境中的定位与地图构建问题，分为2D激光SLAM（低成本，如Gmapping）、3D激光SLAM（高精度，如LIO-SAM）、视觉SLAM（语义丰富，如ORB-SLAM3）和多传感器融合（工业级稳定性）。不同方案各具优劣，需根据场景需求（成本、环境复杂度）选择传感器与算法组合。]]></description><category></category></item><item><title><![CDATA[【翻译】软件开发的演进：从机器码到 AI 编排]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/154521688</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/154521688</guid><author>changqing1990</author><pubDate>Fri, 07 Nov 2025 10:23:58 +0800</pubDate><description><![CDATA[探索从手动编码到 AI 编排的剧变——以及未来 3 年将如何彻底改变“谁能开发软件”。]]></description><category></category></item><item><title><![CDATA[【ROS2】基础入门]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/127611072</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/127611072</guid><author>changqing1990</author><pubDate>Wed, 05 Nov 2025 11:32:57 +0800</pubDate><description><![CDATA[【代码】【ROS2】基础知识。]]></description><category></category></item><item><title><![CDATA[【ROS2】ros2笔记杂类]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/154389762</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/154389762</guid><author>changqing1990</author><pubDate>Tue, 04 Nov 2025 15:38:37 +0800</pubDate><description><![CDATA[我们从了解到，robot_state_publisher 会订阅 /joint_states，来计算对应的坐标变化。那么，]]></description><category></category></item><item><title><![CDATA[【ROS2】运动底盘的基础概念]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/154064919</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/154064919</guid><author>changqing1990</author><pubDate>Wed, 29 Oct 2025 13:26:24 +0800</pubDate><description><![CDATA[编码器是一种将成的，广泛用于机器人、电机控制、工业自动化等领域。，帮助系统闭环控制（如让电机精准转到指定位置）。编码器 = 把“运动”翻译成“数字代码”的翻译官。]]></description><category></category></item><item><title><![CDATA[【ROS2】驱动开发-通过控制器访问硬件（Hardware Access through Controllers）]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/154017242</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/154017242</guid><author>changqing1990</author><pubDate>Tue, 28 Oct 2025 15:40:18 +0800</pubDate><description><![CDATA[本文介绍了控制器如何，同时保持尽可能的灵活性，以避免被严格绑定为“位置（position）”、“速度（velocity）”和“力/力矩（effort）”这三种类型的限制（参见文章首先描述了硬件资源是如何的，然后提供了一种。]]></description><category></category></item><item><title><![CDATA[【Linux kernel】CONFIG_MODVERSIONS介绍]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/154011731</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/154011731</guid><author>changqing1990</author><pubDate>Tue, 28 Oct 2025 11:22:09 +0800</pubDate><description><![CDATA[Linux内核的CONFIG_MODVERSIONS选项用于模块符号版本检查，通过CRC校验确保外部模块与内核符号版本一致，防止因符号不匹配导致崩溃。该功能为每个导出符号生成32位CRC值，在模块加载时进行比对，不匹配则报错。启用该选项能提高安全性但会增加编译时间和文件大小。可通过查看内核配置文件确认是否启用，并使用相关命令调试符号CRC值。]]></description><category></category></item><item><title><![CDATA[【ROS2】驱动开发-ros2_control模式驱动]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/153817581</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/153817581</guid><author>changqing1990</author><pubDate>Fri, 24 Oct 2025 11:17:38 +0800</pubDate><description><![CDATA[摘要： ROS2驱动开发中是否使用ros2_control的Manager取决于设计目标和复杂度： 简单驱动（如独立传感器/单电机）直接通过topic/service通信，无需Manager，开发快但扩展性差（如MotorDriverROSWrapper）。 复杂系统（多设备协调，如机械臂/底盘）需Manager（如ros2_control）统一调度硬件接口，支持实时控制与动态加载，但开发复杂度高（需配置URDF/YAML）。 对比： 直接通信：适合小项目，调试简单；Manager模式：适合中大型系统，维护]]></description><category></category></item><item><title><![CDATA[【ROS2】驱动开发-雷达篇]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/153817372</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/153817372</guid><author>changqing1990</author><pubDate>Fri, 24 Oct 2025 10:03:20 +0800</pubDate><description><![CDATA[雷达和激光雷达是两种基于电磁波/光波反射原理的测距传感器。雷达通过发射无线电波，利用回波时间或频率变化测量目标距离和速度，具有抗干扰强、测速准、成本低的特点，但分辨率较低。激光雷达则发射激光脉冲，通过飞行时间生成高精度3D点云，分辨率高但易受天气影响。两者在自动驾驶、环境感知等领域各有优势：雷达适合远距离测速，激光雷达擅长精细建模。此外，超声波传感器成本低但精度和范围有限，主要用于短距探测。]]></description><category></category></item><item><title><![CDATA[【ROS2】驱动开发-超声波模块篇]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/153817321</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/153817321</guid><author>changqing1990</author><pubDate>Fri, 24 Oct 2025 10:02:07 +0800</pubDate><description><![CDATA[本文介绍了超声波传感器模块及其在ROS2中的驱动实现方式。超声波传感器（如HC-SR04）通过发射40kHz超声波并测量回波时间来计算距离，量程2cm-4m，精度3mm。文章详细讲解了其工作原理、引脚定义、距离计算方法及速度测量原理，并提出了ROS2驱动设计方案：采用Topic通信模式，定义/ultrasonic/distance（sensor_msgs/Range）和/ultrasonic/velocity（Float32）两个话题来发布距离和速度数据。其中重点解析了sensor_msgs/Range消息]]></description><category></category></item><item><title><![CDATA[【ROS2】驱动开发入门]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/153786444</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/153786444</guid><author>changqing1990</author><pubDate>Thu, 23 Oct 2025 17:47:34 +0800</pubDate><description><![CDATA[摘要：本文介绍了如何为硬件驱动创建ROS Wrapper，实现与ROS系统的对接。文章首先解释了ROS Wrapper的概念，即通过封装非ROS代码创建ROS接口的节点，并分析了使用Wrapper的优势。接着详细说明了驱动开发应保持独立于ROS的重要性，并展示了基础Wrapper的实现方法：初始化节点、管理驱动生命周期。最后，文章提供了具体示例（虚拟电机控制），演示如何通过ROS参数、话题、服务等扩展驱动功能，包括速度控制、状态监测等。该教程将帮助开发者规范地将硬件驱动集成到ROS生态中。]]></description><category></category></item><item><title><![CDATA[【ROS2】Rviz基础介绍]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/153776462</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/153776462</guid><author>changqing1990</author><pubDate>Thu, 23 Oct 2025 11:25:27 +0800</pubDate><description><![CDATA[机器人项目由多个核心模块构成，包括感知系统（如视觉、触觉）、控制系统、决策系统和执行机构等，各模块协同工作实现机器人功能。图中展示了这些模块的组成关系，为机器人开发提供了清晰的框架结构。]]></description><category></category></item><item><title><![CDATA[【ROS2】通过robot_state_publisher 让Rviz 中的模型动起来]]></title><link>https://blog.youkuaiyun.com/changqing1990/article/details/153731076</link><guid>https://blog.youkuaiyun.com/changqing1990/article/details/153731076</guid><author>changqing1990</author><pubDate>Wed, 22 Oct 2025 15:37:45 +0800</pubDate><description><![CDATA[本文介绍了在ROS2中通过robot_state_publisher实现RVIZ机器人模型运动的方法。主要内容包括：1) RVIZ作为可视化工具依赖/tf和/tf_static数据流进行模型渲染；2) robot_state_publisher节点的核心功能是将URDF模型和关节状态转换为TF变换树；3) 详细教程展示了如何创建URDF模型、编写运动节点，并使用robot_state_publisher发布机器人状态。文章重点阐述了RVIZ的运动原理和robot_state_publisher的关键作用，为]]></description><category></category></item></channel></rss>