- 博客(148)
- 资源 (10)
- 收藏
- 关注
原创 pgmXT — 一款开箱即用的在线 SLAM 地图编辑器
pgmXT是一款专为SLAM开发者设计的开源在线PGM地图编辑器,解决了传统修图工具格式不兼容、操作复杂的问题。它提供多种绘图工具(画笔、直线、橡皮擦等)、撤销重做、实时坐标显示等功能,支持PNG/PGM格式导出。无需安装,通过浏览器即可使用,支持中英文界面和账户数据存储。技术栈采用React+Fabric.js前端和Express+SQLite后端,适用于地图去噪、障碍物修补、教学演示等场景。项目持续更新中,未来计划增加图层和多人协作功能。访问https://editpgm.top即可体验。
2026-07-02 14:16:04
426
原创 舱口检测:从点云到矩形定位的射线投影算法
文章摘要: 本文提出了一种基于深度相机点云的舱口矩形检测算法,采用射线投影与连通域分析方法。流程分为两步:1) 甲板平面检测与高度图生成,通过RANSAC平面分割、正交投影和高度图二值化获得俯视图;2) 舱口定位,结合形态学处理、Canny边缘检测和Hough变换提取垂直线段,通过射线投影追踪与绿线/白区的交点,最终在连通域分析中通过收缩贴合确定精确矩形边界。算法利用多坐标系转换实现从低分辨率检测到高分辨率俯视图的映射,核心创新在于射线投影的停止条件判定与Shrink-to-Ray优化策略,有效提升了舱口边
2026-06-12 15:00:29
429
原创 AudioFlow一款好用的视频转音频工具
🎵 发现了一款超实用的免费在线音视频转换工具AudioFlow!支持30+种格式转换,包括MP4转MP3、FLAC转MP3等常见需求。操作简单三步完成,无需注册即可使用,转换速度快(约10秒),文件自动1小时后删除保障隐私。界面清爽无广告,游客每天3次免费转换机会(注册后5次)。适合音乐爱好者、视频创作者、学生等各类人群使用。开源项目技术可靠,是日常音视频处理的便捷选择!
2026-05-14 22:38:34
953
原创 FAST-LIVO2 数据流与接口关系文档
FAST-LIVO2系统文档摘要: FAST-LIVO2是一个多传感器融合的SLAM系统,包含LiDAR、IMU和视觉模块。系统采用主控制器(LIVMapper)协调各模块工作,包括点云预处理(Preprocess)、IMU处理(ImuProcess)、视觉惯性里程计(VIOManager)和体素地图管理(VoxelMapManager)。核心数据结构包括19维状态向量(StatesGroup)、LiDAR数据包(LidarMeasureGroup)和点云点与协方差(pointWithVar)等。系统支持多
2026-04-25 14:56:19
460
原创 从点云到舱口尺寸:船甲板舱口检测的算法实现
本文提出了一种从船甲板激光扫描点云中自动检测舱口尺寸的算法。通过数据预处理(降采样、去噪、平面分割)后,采用甲板投影轮廓法将3D点云转换为2D图像,利用双次闭运算解决扫描碎片化问题,通过轮廓树检测内轮廓识别舱口。算法最终能稳定检测出三个主要舱口的长宽尺寸、面积和位置信息,矩形度超过0.89。该方法克服了扫描稀疏和围壁结构复杂的问题,参数可调性强,适用于工程实践。关键创新点在于将舱口识别转化为图像中的"洞"检测,而非直接处理3D几何特征。
2026-04-07 21:52:24
146
原创 一键启动系统
一键启动系统架构与诊断规范 系统采用模块化设计,包含诊断监控中心(diagnostic_system)和业务模块。监控中心通过roslaunch启动各模块,并持续监听1Hz的/diagnostics消息进行状态汇总和显示。业务模块改造需遵循统一规范:1)添加健康状态缓存结构体;2)初始化1Hz诊断定时器;3)业务回调仅更新health_状态;4)定时器发布DiagnosticArray。诊断消息包含模块名、硬件ID、状态级别(0-2)和错误代码(XYYY格式)。各模块需在modules.yaml中注册名称、
2026-04-02 11:15:39
204
原创 打造属于你的 SLAM 仿真环境:从 Gazebo 到一键启动
本文介绍了如何打造一个高度集成的SLAM仿真环境,通过Gazebo、ROS Noetic和Scout UGV机器人模型实现一键启动的激光雷达-IMU SLAM系统。项目包含三大核心组件:Gazebo仿真环境、lightning-lm SLAM算法和RViz可视化工具。重点展示了通过bash脚本实现多节点分标签启动的解决方案,并优化了键盘控制方式,将默认按键改为更直观的箭头键控制。该方案将复杂的SLAM系统封装为简单易用的平台,便于算法验证和团队协作,未来可扩展集成导航模块和测试更复杂场景。
2025-12-25 14:21:22
1389
原创 Lightning-LM(ROS1 版)SLAM/定位简介与上手指南
本文介绍了一种基于多线激光雷达的在线建图与定位系统Lightning-LM。该系统采用激光-惯性紧耦合前端结合回环检测与位姿图优化的经典框架,支持Velodyne等主流雷达,提供SLAM和定位两种模式。文章详细说明了系统功能、参数配置、快速使用方法及常见问题排查,特别针对Velodyne雷达提供了具体配置建议。该系统具有实时性高、漂移低的特点,工程集成友好,适合实际应用场景。文末注明项目基于高翔的原始代码进行了ROS1适配改造。
2025-12-04 09:57:50
2265
2
原创 基于PCL的点云处理与可视化项目详解(第三篇)
本文介绍了基于PCL的点云可视化系统实现,重点讲解了可视化架构设计、点云渲染功能以及边界框可视化技术。系统采用PCL可视化器作为核心,支持实时渲染、多视图显示和交互控制。文章详细展示了点云可视化函数的多模式着色方案(强度值着色、固定颜色、随机颜色)和几何对象渲染功能(点云、线段、坐标系)。边界框可视化部分则包括边界计算算法和双重渲染技术(线框+填充)。该系统实现了高效的点云处理和可视化功能,为3D点云分析提供了实用工具。
2025-08-24 10:36:12
749
原创 基于PCL的点云处理与可视化项目详解(第二篇)
本文深入解析了点云处理核心算法,包括PCD文件读取、多级过滤策略和平面分割技术。文章详细介绍了基于PCL库的模板化设计实现,重点讲解了RANSAC平面分割算法原理及其参数优化过程,并展示了单平面和多平面分割的代码实现。关键点包括:点云数据预处理中的PassThrough滤波和VoxelGrid下采样技术,平面分割中RANSAC算法的随机采样、模型拟合、内点统计等核心步骤,以及多平面分割的迭代处理方法。这些算法为点云处理提供了高效可靠的技术支持。
2025-08-21 14:49:02
129
原创 基于PCL的点云处理与可视化项目详解(第一篇)
本文介绍了基于PCL的点云处理项目架构与核心数据结构设计。该项目针对集装箱环境,采用模块化架构,包含颜色管理(Color)、空间范围(LocalExtents)、坐标系变换(LocalFrameResult)等核心数据结构。关键技术包括模板化点云处理、Eigen3数学运算和PCL算法集成,支持多种点云类型的高效处理。项目采用CMake构建,具有良好的扩展性和类型安全性,适用于3D重建、空间分析等场景。后续文章将深入讲解点云算法实现和可视化应用。
2025-08-21 13:52:52
138
原创 使用RealSense相机和YOLO进行实时目标检测
本文介绍了使用Intel RealSense相机和YOLOv8模型实现实时目标检测的系统。系统通过RealSense获取RGB图像,YOLOv8进行目标检测,并采用跳帧处理和结果缓存优化性能。文章详细说明了硬件需求、软件配置、代码实现和优化策略,提供了完整的使用方法和常见问题解决方案。该系统可应用于机器人、安防等领域,支持多种YOLO模型选择,在RTX 3080上可实现35-40FPS的检测速度。项目具有良好的扩展性,可进一步开发多相机支持、3D检测等功能。
2025-08-20 15:28:22
1088
原创 激光雷达-相机标定工具:支持普通相机和鱼眼相机的交互式标定
本文介绍了一个开源的激光雷达-相机标定工具,支持普通相机和鱼眼镜头的交互式标定。该工具基于OpenCV、PCL和Pangolin等技术栈开发,提供GUI界面实时调整标定参数,支持点云投影可视化、距离/强度显示模式切换等功能。文章详细说明了安装使用步骤、数据格式要求、交互界面操作方法以及标定技巧,并比较了普通相机和鱼眼相机的标定差异。该工具具有易用性高、可视化强、支持多种相机类型等特点,适用于自动驾驶、机器人导航等领域的多传感器标定需求。项目已在GitHub开源,提供完整文档和示例数据。
2025-07-26 13:00:32
1636
原创 使用 OpenCV 实现 ArUco 码识别与坐标轴绘制
本文介绍了如何使用 Python 和 OpenCV 实现 ArUco 码的识别与坐标轴绘制。ArUco 码广泛应用于机器人、增强现实和相机标定等领域。文章首先指导读者安装 OpenCV 并准备相机内参和畸变参数,随后提供了完整的代码示例,展示了如何检测图像中的 ArUco 码、估计其姿态并绘制三维坐标轴。运行效果包括识别 ArUco 码并显示其边框及坐标轴,便于调试和验证相机姿态估计。文章还解答了常见问题,如未检测到 ArUco 码或坐标轴显示错误的原因,并总结了通过本文学到的关键技能。
2025-05-19 14:20:50
1960
原创 多线程TCP通信实现(C++):消息广播与心跳检测
本文介绍了如何使用C++实现一个支持多线程的TCP通信系统,具备消息广播和心跳检测功能。服务器端通过主监听线程接受客户端连接,并为每个客户端创建独立处理线程,同时使用心跳检测线程定期检查客户端活跃状态。客户端则通过消息接收线程和消息发送线程分别处理服务器消息和用户输入。系统通过互斥锁确保线程安全,并利用std::chrono进行精确时间管理。代码实现包括服务器端和客户端的完整示例,编译和运行步骤也一并提供。该系统支持多客户端连接、消息广播、心跳维持和自动断连检测,适用于需要稳定通信的场景。
2025-05-14 10:43:45
663
翻译 GaRLIO: 重力增强的雷达-激光雷达-惯性测程系统
近年来,重力作为一种关键约束被广泛研究,以减轻状态估计中的垂直漂移问题。现有的在线重力估计方法依赖于姿态估计和IMU测量的结合,当没有直接速度测量时,这是目前最优的方案。然而,雷达传感器可以提供直接的速度数据——这一测量尚未被用于重力估计——我们发现这是一个显著的机会,可以大幅提高重力估计的准确性。我们提出的 GaRLIO(重力增强的雷达-激光雷达-惯性测程系统)能够稳健地预测重力,从而减少垂直漂移,并利用逐点速度测量同时增强状态估计性能。
2025-05-05 21:25:17
477
翻译 Radar4Motion: IMU-Free 4D雷达里程计与鲁棒动态滤波及RCS加权匹配
精准定位对于自动驾驶车辆的导航至关重要。特别是,用于估计车辆随时间变化的位姿变换的里程计研究备受关注。为实现这一目标,多种环境感知传感器被应用,其中雷达传感器因其成本效益及在恶劣天气条件下的鲁棒性,相较于LiDAR传感器更具优势。然而,传统雷达传感器仅提供二维空间信息(xy, 多普勒)。近期技术进步引入了4D成像雷达,可提供三维空间信息(xyz, 多普勒)。尽管如此,与LiDAR数据相比,雷达数据仍存在稀疏性和噪声问题,使得传统的基于LiDAR的里程计算法难以直接应用。
2025-03-08 21:19:57
329
翻译 基于高斯建模与多假设扫描匹配的4D雷达-惯性里程计
4D毫米波雷达(mmWave)是一种在恶劣天气条件(如雨、雪、雾等)下表现出色的传感器,因此在里程计(odometry)和同步定位与地图构建(SLAM)应用中得到了越来越广泛的使用。然而,回波数据的噪声和稀疏特性对现有基于点云匹配的解决方案构成了巨大挑战,尤其是那些最初为更精确的传感器(如激光雷达LiDAR)设计的解决方案。
2025-02-27 16:30:27
386
原创 BMI085 和 BMI088 的数据同步
BMI08x 系列是一款系统级封装惯性测量单元 (IMU),可提供精确的加速度和角速度测量。由于采用系统级封装技术(单封装中包含两个传感器),陀螺仪和加速度计数据的采集是非同步的。然而,可以轻松实现加速度计与陀螺仪之间的同步。本文件描述了如何在增强现实(AR)或虚拟现实(VR)等典型应用中实现加速度计与陀螺仪的同步。要实现 BMI08x 的数据同步,需要将陀螺仪的 “数据准备好” 中断信号连接到 BMI08x 加速度计的一个中断引脚(可配置为输入引脚)。
2025-01-17 15:39:50
1343
原创 解决海康相机SDK导致 `libusb_set_option` 问题的经验总结
安装海康SDK后,路径冲突问题可能影响到其他依赖libusb的程序。通过调整优先使用系统默认库路径,可以有效解决问题。希望本文对遇到类似问题的朋友有所帮助!如果你有更好的解决方法,欢迎交流!😊。
2024-12-30 11:12:18
2813
1
原创 使用 Python 从 ROS Bag 中提取图像:详解与实现
读取指定的 ROS Bag 文件。从指定的话题(Topic)中提取图像数据。使用 OpenCV 将图像保存为 PNG 格式文件。提供灵活的命令行参数,支持不同的输入文件、输出目录和话题。
2024-12-17 17:32:35
2170
1
原创 NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址
在一些场景下,我们需要将计算机或嵌入式设备(例如 NVIDIA Orin NX)转换为 Wi-Fi 热点,以便其他设备(如手机、笔记本等)能够连接并使用该设备提供的网络连接。通过nmcli命令,我们可以在 Linux 系统中非常方便地创建一个无线 AP(Access Point)热点。本文将介绍如何使用nmcli创建 Wi-Fi 热点,并进一步讲解如何设置固定 IP 地址,让连接到热点的设备始终获得指定的 IP 地址。通过nmcli命令,我们可以轻松创建一个 Wi-Fi 热点,并为其配置静态 IP 地址。
2024-12-16 16:28:05
3284
原创 B-Spline(B样条)插值 代码实现
B-Spline(B样条)是一种常用于计算机图形学和数据拟合的数学方法。它由一系列控制点和节点(Knots)以及一组基函数(Basis Functions)组成。B-Spline 能够通过控制点生成平滑曲线或曲面,广泛应用于图形建模、路径规划、数据插值等领域。
2024-11-10 17:00:54
3391
1
原创 连续时间与离散时间的基于视觉的SLAM:对比研究
机器人从业者通常通过离散时间公式来处理基于视觉的SLAM问题。这种方法的优势在于理论已得到巩固,并且对成功和失败的情况有很好的理解。然而,在离散时间SLAM中,当估计过程中存在来自不同传感器的高频率和/或异步测量时,往往需要定制算法和简化假设。相比之下,连续时间SLAM通常被从业者忽视,但却不受这些限制。实际上,它允许异步整合新的传感器数据,而不需要为每个新测量添加新的优化变量。这样一来,异步或高频连
2024-11-09 14:40:29
1259
原创 undefined reference to `pthread_create‘
usr/bin/ld: …这个错误通常是由于链接时没有正确链接线程库(pthread)引起的。为了解决这个问题,我需要在CMake中指定链接pthread库。在编译3D Forest项目时,我遇到了一个与线程库相关的错误,导致链接阶段失败。我通过在CMake命令中添加共享链接器标志来解决了这个问题。
2024-10-22 10:32:12
539
原创 Eigen Is All You Need: 高效的具有内部关联的连续时间激光惯性里程计
Thien-Minh Nguyen, IEEE 会员,Xinhang Xu,Tongxing Jin,Yizhuo Yang,Jianping Li,Shenghai Yuan,Lihua Xie,IEEE 会士本文提出了一种名为 SLICT2 的连续时间激光惯性里程计 (CT-LIO) 系统,主要有两个创新点。首先,与传统认知相反,CT-LIO 算法可以通过线性求解器在仅几次迭代内完成优化,比常用的非线性求解器更加高效。其次,CT-LIO 更依赖于正确的关联过程,而非迭代次数。基于这些理念,我们实现了一种
2024-10-11 10:48:17
1425
2
原创 (DLIO): 具有连续时间运动修正的轻量级LIO算法
在高速飞行或穿越不规则地形的过程中,激光雷达扫描容易因运动引起失真,从而影响状态估计和地图构建。为了解决这一问题,本文提出了一种轻量级的激光雷达-惯性里程计算法(DLIO),该算法采用一种由粗到精的方法来构建连续时间轨迹进行精确的运动修正。我们的方法的关键在于构建一组仅由时间参数化的解析方程,从而实现快速并行的逐点去畸变。这种方法之所以可行,是因为我们的非线性几何观察器具有强大的收敛性,它为初始化敏感的IMU积分步骤提供了精确的状态估计。
2024-10-09 09:43:00
1218
2
原创 使用雷达速度因子进行越野导航的鲁棒高速状态估计
在复杂环境中实现机器人自主性以用于关键任务应用需要鲁棒的状态估计。特别是在导航所依赖的外感传感器可能因环境挑战而退化,从而导致任务失败的情况下。这种情况下,调频连续波(FMCW)雷达传感器的潜力得以凸显:作为一种具有直接速度测量能力的补充外感传感方式。在这项工作中,我们整合了FMCW雷达传感器的径向速度测量,使用径向速度因子提供线速度更新,并将其融合到滑动窗口状态估计器中,以与LiDAR姿态和IMU测量相结合。
2024-09-19 09:29:29
1396
原创 hku-mars雷达相机时间同步方案-软件驱动(MID360与海康MV-CB060-10UMUC-S)
hku的方案在硬件和软件方面都做了工作,所以才会实现相机帧和雷达帧的完全对齐。硬件方面的设置请参考上一期。下面开始驱动层面的设置。
2024-09-16 17:50:11
1939
1
原创 hku-mars雷达相机时间同步方案-硬件(MID360与海康MV-CB060-10UMUC-S)
组合导航模块只将GPRMC-Tx输出引脚接入雷达,而PPS秒脉冲由单片机提供,相机的触发脉冲也由单片机分频提供。相机和雷达的秒以上绝对时间由组合导航提供(雷达的帧已经有了GNSS绝对时间-秒以上),秒以下时间对齐到单片机秒脉冲。
2024-09-14 15:47:50
5122
23
翻译 IMU预积分- 5. LIO-SAM中的IMU预积分
在这个过程中,当累积的 key pose 超过 100 个时,会将所有这些位姿和 IMU 因子压缩为一个先验,并用来进行优化。回调函数是在 LIO-SAM 运行时,通过 ImageProjection→FeatureExtraction→MapOptimization 等一系列过程后,接收到基于 world 坐标系的 keyframe 位姿。回调接收到的第一个 keyframe 的位姿,其位置是 (0, 0, 0),旋转部分如果。然后,当接收到第一个位姿之后的其他位姿时,将进行优化以修正 bias。
2024-09-10 19:23:52
571
1
翻译 IMU 预积分 - 3. IMU 模型推导与运动积分
当前的目标是从 IMU 测量中推断系统的运动。为此,我们引入以下运动学模型。(简要说明)在详细讨论预积分之前,我们首先了解如何在每个 IMU 之间进行运动积分。(以下是对第 V 节的详细解释)
2024-09-10 16:06:45
1036
1
翻译 IMU 预积分 - 2. 预备知识 (2) 3D 旋转与不确定性
理解这一概念非常重要,因为论文的第 VI 节中介绍的流形上的预积分最终目标是将关键帧 i 和 j 之间的几十到数百个 IMU 测量值简化为一个 ϵ 项。在论文的第 III.B 节中,SO(3) 的不确定性描述是理解流形上的预积分的核心概念。要理解预积分,我们首先需要理解流形的概念。:使用 SO(3) 来表达旋转的不确定性,可以像在欧几里得几何中那样,通过加上高斯噪声来表示线性方程或非线性方程中的不确定性。例如,ϵ 较大时意味着旋转测量的不确定性较高,对应的误差也相对较大,从而在优化中信息的重要程度较低。
2024-09-10 14:44:04
321
翻译 IMU 预积分- 2. 预备知识 (1) 关键帧
在理解预积分之前,我们首先需要了解什么是关键帧。关键帧,顾名思义就是“重要的(key)帧”,在这里,“重要”意味着,在估计两帧之间的相对位姿时,能够利用周围环境的几何特性,通过丰富的、可靠且可重复的特征,进行足够准确的位姿估计。
2024-09-10 14:28:38
577
翻译 IMU 预积分 - 1. 介绍
简易解释:“基于流形的实时视觉惯性里程计的预积分”对于对 VINS(视觉惯性系统)或 LIO(激光雷达惯性里程计)感兴趣的人来说,可能已经听说过 IMU 预积分。IMU 预积分是一种为了有效地利用从相机或 LiDAR 传感器获取的数据进行因子图 SLAM 的方法,旨在处理高频 IMU 数据。
2024-09-10 14:10:13
515
原创 使用 Eigen 库中的 Kronecker 积运算
在数值计算和线性代数的众多应用中,Kronecker 积(Kronecker Product)是一种常用的矩阵运算。Eigen 是一个高性能的 C++ 数值计算库,广泛用于科学计算和工程应用中。在 Eigen 库中,Kronecker 积运算属于不常用的扩展功能,因此被放置在模块中。本文将介绍如何在 Eigen 中使用 Kronecker 积,并解释为什么这个功能位于模块中。Kronecker 积是两个矩阵之间的二元运算,其结果是一个更大的矩阵。
2024-09-01 20:21:34
1010
原创 /usr/include/flann/util/serialization.h:34:14: error: ‘class std::unordered_map<unsigned int, std::v
make[2]: *** [CMakeFiles/lio_sam_mapOptmization.dir/build.make:76:CMakeFiles/lio_sam_mapOptmization.dir/src/mapOptmization.cpp.o] 错误 1。
2024-08-23 15:36:38
2304
10
原创 RANSAC 和最小二乘法实现雷达自我速度估计
函数利用 RANSAC 算法来处理含有噪声和异常值的数据,选择最佳的内点集合进行速度估计,从而提高估计的鲁棒性。函数使用最小二乘法直接从雷达数据中计算速度,并根据需要估计误差的标准差。通过结合这两个函数,可以有效地从雷达数据中估计目标的速度,并处理数据中的异常值和噪声问题。优快云下载。
2024-08-18 19:15:06
1616
3
原创 TI AWR1843 毫米波雷达实物展示
毫米波雷达是一种使用毫米波(通常为30至300 GHz频段)的雷达系统,能够通过发射与接收电磁波来探测物体的距离、速度和方向。相比于传统雷达,毫米波雷达具有更高的分辨率和精度,特别是在距离和速度测量方面表现出色。其应用领域广泛,包括汽车电子、无人机、工业自动化等。TI AWR1843 是一款高度集成的毫米波雷达传感器,专为汽车和工业应用设计。它基于77 GHz三个发射器(TX)四个接收器(RX)数字信号处理器(DSP)微控制器(MCU)加速器。
2024-08-14 20:58:43
3114
2022中国智能巡检机器人行业发展研究白皮书
2023-08-16
视觉slam光流法资源
2023-07-06
利用opencv实现鼠标指针停留获取像素坐标和像素值,也可以实现仿射变换
2023-02-28
Kinect V2 + PCL 实现简单地方体目标的体积测量
2023-01-12
Coursera-Machine-Learning
2022-09-14
基于pytorch的分类网络
2022-06-22
基于 opencv 实现的相机内参标定程序(棋盘格)
2022-06-08
基于 opencv 实现的相机内参标定程序(棋盘格)
2022-06-08
win7+VS2017+PCL1.9.1配置资料.7z
2022-06-07
VS2017_PCL1.9.1&&VS2019_PCL1.11.1环境配置
2022-06-07
VS2017_PCL1.9.1&&VS2019_PCL1.11.1环境配置
2022-06-07
一个基于Qt和OpenCV的相机标定工具,支持实时相机标定和图像批量标定功能,具备鱼眼和针孔模型
2025-09-29
# 点云处理与可视化项目 这是一个基于PCL(Point Cloud Library)的点云处理和可视化项目,用于处理集装箱环境的点云数据
2025-08-21
1. YOLOv8 系列 - 经典版本 2. YOLO11 系列 - 最新版本
2025-08-20
SerialPlot-Small and simple software for plotting data
2024-09-27
RANSAC 和最小二乘法实现雷达自我速度估计
2024-08-18
MATLAB中创建各种常用的图形
2024-06-20
点云特征描述子求prc曲线,具体过程是什么呢?
2022-10-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅