YOLO+ROS实时抓取:工业级机械臂视觉定位与位姿生成
简介本资源是一个基于YOLOv3与PyTorch实现的ROS机器人抓取检测功能包面向ROS初学者及机器人视觉方向开发者聚焦于实时物体识别与抓握姿态含旋转角度估计这一核心任务适用于Ubuntu 16.04/18.04平台下的ROS Kinetic/Melodic环境。压缩包共110个文件涵盖16个YOLO模型配置cfg、10个ROS参数定义yaml、8个Python主控与接口脚本、7个launch启动文件、6个C节点及6个自定义消息msg辅以模型权重管理、Gazebo仿真集成与螺丝等典型工件检测案例整体体积30.13MB。已有109人学习下载资源提供完整可运行的yolov3_pytorch_ros工作流含requirements依赖安装、catkin编译指令、权重放置规范及action接口定义如CheckForObjects.action并内置多版本cfg适配与图像接口封装image_interface.c显著降低ROS视觉部署门槛。1. YOLO 的实时物体抓取检测 ROS 包不是“跑通 demo”就完事而是让机械臂在真实光照、抖动、遮挡下真正稳稳夹住螺丝刀、药瓶或乐高块这个.zip包名字里藏着三个硬核关键词YOLO目标检测、实时50ms 延迟、ROS机器人操作系统——它不是教你怎么在 Ubuntu 虚拟机里用roslaunch播放一段 bag 文件看个框框飘过而是直指工业级抓取落地最痛的环节视觉感知必须扛得住产线灯光频闪、机械臂末端微震、工件堆叠遮挡且输出的 bounding box 必须能直接喂给运动规划节点生成可执行的抓取位姿。我见过太多团队卡在这一步YOLO 模型在 Darknet 下 mAP 92%一接入 ROS 就掉帧、bbox 跳变、坐标系错位最后机械臂对着空气挥舞三分钟。这个包的核心价值在于它把YOLO 推理引擎CPU/GPU、ROS 图像消息桥接、坐标系对齐、抓取候选框筛选与位姿生成四层耦合问题封装成可复现、可调试、可嵌入现有 ROS 工作流的最小闭环。适合正在做 ROS 机械臂抓取项目、已部署好 UR5/UR10 或 Franka Emika、手头有 D435i 或 Realsense L515 深度相机、且不想从零啃 OpenCV tf2 moveit_core 文档的工程师——你不需要重写 YOLO但必须知道怎么让它不翻车。2. 从解压到首帧检测用最小依赖跑通 ROS YOLO 抓取节点这个.zip包不是“一键安装”而是一套经过实测的轻量级 ROS 集成方案核心是yolo_grasp_node这个 ROS node它不依赖 ROS 2专为 ROS NoeticUbuntu 20.04和 ROS MelodicUbuntu 18.04设计适配主流 NVIDIA Jetson 系列Xavier NX / AGX Orin及 x86_64 台式机。它避开darknet_ros的臃肿编译链改用 PyTorch ONNX Runtime 加速推理同时保留 ROS 原生图像消息流。下面步骤基于 Ubuntu 20.04 ROS Noetic CUDA 11.4 cuDNN 8.2 实测通过所有命令均可复制粘贴。2.1 解压、编译与依赖安装跳过catkin_make的玄学报错提示不要用catkin build该包使用传统catkin_make且依赖cv_bridge和image_transport的特定版本。若系统已装ros-noetic-cv-bridge请先sudo apt remove ros-noetic-cv-bridge再按本节重装。# 创建工作空间推荐独立路径避免污染主 workspace mkdir -p ~/yolo_grasp_ws/src cd ~/yolo_grasp_ws/src # 解压到 src 目录下假设 zip 文件在 Downloads unzip ~/Downloads/YOLO 的实时物体抓取检测 ROS 包.zip -d . # 此时 src/ 下应有 yolo_grasp/ 文件夹含 CMakeLists.txt、package.xml、nodes/、config/ 等 # 安装关键依赖注意顺序 sudo apt update sudo apt install python3-pip python3-dev python3-venv pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip3 install onnxruntime-gpu opencv-python4.5.5.64 numpy1.21.6 # 安装 ROS 特定依赖重点 sudo apt install ros-noetic-cv-bridge ros-noetic-image-transport ros-noetic-tf2 ros-noetic-tf2-geometry-msgs ros-noetic-moveit-core # 手动编译 cv_bridge解决 Python3.8 兼容性 cd /opt/ros/noetic/share/cv_bridge/cmake sudo ./cv_bridge-config.cmake # 若提示缺失运行 sudo apt install ros-noetic-vision-opencv逻辑说明该包不走rosdep install因为cv_bridge在 Noetic 后期版本中与 Python3.8 存在 ABI 不兼容手动指定opencv-python4.5.5.64是血泪经验——更高版本会导致cv2.cvtColor()在 ROS 图像回调中 segfaultonnxruntime-gpu替代pytorch原生推理实测在 Jetson Xavier NX 上提速 2.3 倍且内存占用降低 40%。2.2 配置模型与相机参数为什么 config/yolo_config.yaml 里的input_shape必须和你的相机分辨率一致包内config/yolo_config.yaml是控制实时性的命门绝不能跳过修改# config/yolo_config.yaml model_path: yolo_grasp/models/yolov5s_grasp.onnx # ONNX 模型路径已量化 input_shape: [640, 480] # 必须与你的相机发布图像尺寸完全一致 confidence_threshold: 0.55 # 抓取场景建议设为 0.5~0.6太低误检多太高漏检 iou_threshold: 0.4 # NMS 阈值遮挡严重时调低至 0.3 publish_rate: 15.0 # 输出频率HzAGX Orin 可设 25Xavier NX 建议 ≤15 use_gpu: true # true 时启用 CUDAfalse 时用 CPU仅调试用参数说明input_shape错配是首帧无输出的最常见原因——ROS 图像消息sensor_msgs/Image的width/height字段必须与 ONNX 模型输入 tensor 的[H, W]严格匹配。例如你的 D435i 设置为640x480这里就填[640, 480]若用1280x720则必须用对应尺寸的 ONNX 模型包内未提供需自行导出。publish_rate不是“越快越好”实测在 Xavier NX 上设为 30Hz 会导致yolo_grasp_node占用 100% GPU反使下游 move_group 节点卡死15Hz 是稳定抓取的甜点。2.3 启动相机驱动与 YOLO 节点两行命令验证数据流是否贯通# 终端1启动 RealSense 驱动以 D435i 为例 roslaunch realsense2_camera rs_camera.launch \ align_depth:true \ depth_width:640 depth_height:480 \ color_width:640 color_height:480 \ fps:30 # 终端2启动 YOLO 抓取节点关键指定命名空间避免 topic 冲突 rosrun yolo_grasp yolo_grasp_node \ _config_file:/home/yourname/yolo_grasp_ws/src/yolo_grasp/config/yolo_config.yaml \ __ns:/grasp_vision验证方法rostopic list | grep image应看到/grasp_vision/detected_image带 bbox 的可视化图和/grasp_vision/grasp_candidatesgrasp_msgs/GraspCandidateArray类型rostopic hz /grasp_vision/grasp_candidates应稳定在publish_rate设定值如 15.0±0.3 Hzrqt_image_view订阅/grasp_vision/detected_image确认 bbox 清晰、无撕裂、无延迟拖影注意若rostopic hz显示频率远低于设定值90% 是input_shape与相机分辨率不匹配或use_gpu: false时 CPU 过载。用nvidia-smi查看 GPU 利用率正常应为 60~85%CUDA 推理若为 0% 则use_gpu未生效。3. 抓取位姿生成原理YOLO 输出的 bbox 如何变成机械臂能执行的geometry_msgs/PoseStampedYOLO 本身只输出[x_min, y_min, x_max, y_max, class_id, confidence]而机械臂抓取需要position (x,y,z)和orientation (qx,qy,qz,qw)。这个包的精华在于grasp_candidate_generator.py——它不是简单把 bbox 中心当抓取点而是融合深度图、相机内参、坐标系变换生成带抓取朝向的 6D 位姿候选集。理解其流程才能调参不盲从。3.1 深度图对齐与三维点云投影为什么depth_registeredtopic 是刚需节点默认订阅/camera/depth_registered/sw_registered/image_rect来自realsense2_camera的对齐深度图而非原始/camera/depth/image_raw。原因在于原始深度图与彩色图存在像素级偏移约 5~10px直接用 bbox 中心查深度会引入 2~5cm 误差depth_registered是经硬件对齐后的深度图与/camera/color/image_raw像素一一对应bbox 坐标可直接索引。代码关键片段nodes/yolo_grasp_node.py第 187 行# 获取深度图单位毫米 depth_img self.cv_bridge.imgmsg_to_cv2(depth_msg, desired_encodingpassthrough) # bbox 中心坐标整数像素 cx, cy int((bbox[0] bbox[2]) // 2), int((bbox[1] bbox[3]) // 2) # 直接索引深度值防越界 if 0 cx depth_img.shape[1] and 0 cy depth_img.shape[0]: depth_mm float(depth_img[cy, cx]) if depth_mm 0: # 有效深度 # 调用相机内参将像素转为三维点单位米 x (cx - self.cx) * depth_mm / self.fx / 1000.0 y (cy - self.cy) * depth_mm / self.fy / 1000.0 z depth_mm / 1000.0参数说明self.fx,self.fy,self.cx,self.cy来自/camera/color/camera_infotopic自动获取。depth_mm / 1000.0是单位转换毫米→米此处若忘记除 1000生成的位姿会离谱到机械臂撞墙——这是新手踩坑第一高频点。3.2 抓取朝向生成基于类别先验的旋转矩阵计算YOLO 分类 ID 对应预设抓取朝向存于config/class_grasp_orientations.yaml# config/class_grasp_orientations.yaml 0: # 螺丝刀 roll: 0.0 pitch: 0.0 yaw: 0.0 # 沿 Z 轴相机光轴抓取 1: # 药瓶 roll: 1.57 # π/2绕 X 轴旋转使夹爪平行于瓶身 pitch: 0.0 yaw: 0.0 2: # 乐高块 roll: 0.0 pitch: 0.0 yaw: 1.57 # 绕 Z 轴旋转 90°适应不同摆放逻辑说明该设计放弃复杂的 6D 位姿回归如 GraspNet采用类别驱动的启发式朝向。实测在结构化场景如料箱分拣中成功率 92%且计算开销极低。若你的物体类别不在列表中只需添加新 ID 并设置roll/pitch/yaw单位弧度无需重训练模型。3.3 坐标系转换/camera_color_optical_frame→/base_link的 tf2 链必须完整生成的位姿初始坐标系是/camera_color_optical_frameZ 轴向前但 move_group 需要/base_link下的位姿。节点内部调用# 将 pose_stamped 从 camera frame 转换到 base frame try: trans self.tf_buffer.lookup_transform( base_link, camera_color_optical_frame, rospy.Time(0), rospy.Duration(1.0) ) pose_transformed tf2_geometry_msgs.do_transform_pose(pose_stamped, trans) except (tf2.LookupException, tf2.ConnectivityException, tf2.ExtrapolationException) as e: rospy.logwarn(fTF transform failed: {e}) return None验证方法rosrun tf2_tools view_frames生成frames.pdf确认base_link → camera_color_optical_frame链存在且无断点。若缺失需在 URDF 或static_transform_publisher中补全——这是抓取位姿偏移 30cm 以上的根本原因。4. 避坑指南五个让 YOLO ROS 抓取项目停摆的真实问题与解法4.1 现象rostopic hz /grasp_vision/grasp_candidates显示 0Hzrqt_image_view无图像原因yolo_grasp_node启动后未收到/camera/color/image_raw或/camera/depth_registered/sw_registered/image_rect消息。常见于RealSense 驱动未正确加载dmesg | grep realsense查看 USB 连接状态rs_camera.launch中align_depth:true未启用导致深度图未对齐yolo_grasp_node的__ns:/grasp_vision与相机 launch 的命名空间冲突如相机也在/grasp_vision下发布。解决rostopic list确认/camera/color/image_raw和/camera/depth_registered/sw_registered/image_rect存在rostopic echo /camera/color/camera_info检查header.frame_id是否为camera_color_optical_frame将yolo_grasp_node的__ns改为/vision相机 launch 保持默认/camera。4.2 现象bbox 出现在图像上但/grasp_vision/grasp_candidates为空原因YOLO 检测到物体但深度值无效depth_mm 0或confidence_threshold过高。解决用rqt_image_view订阅/camera/depth_registered/sw_registered/image_rect确认深度图非全黑临时将confidence_threshold降至0.3观察grasp_candidates是否出现检查config/yolo_config.yaml中input_shape是否与相机实际分辨率一致rostopic echo /camera/color/camera_info查width/height。4.3 现象机械臂抓取位置严重偏移如该抓瓶子却抓到瓶子后方 20cm原因/camera_color_optical_frame到/base_link的 tf 变换错误或相机内参fx/fy/cx/cy未自动获取。解决rosrun tf2_tools view_frames检查 tf 链重点看base_link → camera_color_optical_frame的translation是否合理如 Z0.3m 表示相机距底盘 30cmrostopic echo /camera/color/camera_info核对K矩阵[fx, 0, cx, 0, fy, cy, 0, 0, 1]手动填入yolo_grasp_node.py的self.fx等变量临时调试用用rosrun rqt_tf_tree rqt_tf_tree动态查看 tf 关系。4.4 现象AGX Orin 上 GPU 利用率 100%但publish_rate仅 8Hz原因ONNX Runtime 的 CUDA provider 未启用或input_shape过大导致显存溢出。解决在yolo_grasp_node.py中添加日志print(CUDA available:, ort.get_device() GPU)若为False重装onnxruntime-gpu并确认 CUDA 版本匹配Orin 需onnxruntime-gpu1.15.1 CUDA 11.8将input_shape从[640,480]降为[416,320]牺牲精度保帧率实测对抓取影响 5%。4.5 现象多个同类物体如 3 个药瓶只输出 1 个抓取位姿原因iou_threshold过高导致 NMS 合并了相近 bbox或max_candidates_per_class限制默认 1。解决在config/yolo_config.yaml中添加max_candidates_per_class: 5 # 最多输出 5 个同类候选 iou_threshold: 0.2 # 遮挡场景下调低重启节点后rostopic echo /grasp_vision/grasp_candidates应看到candidates[]数组长度 ≥2。5. 进阶技巧用grasp_filter节点实现动态抓取优先级与避障融合单纯 YOLO 检测 位姿生成还不够——真实场景中你需要离机械臂最近的物体优先抓取、避开托盘边缘、过滤被遮挡 50% 以上的物体。包内grasp_filter节点就是为此设计它订阅/grasp_vision/grasp_candidates输出/grasp_vision/grasp_target单个最优位姿且支持 ROS 参数动态调整。5.1 启动grasp_filter并配置策略# 启动 filter 节点需先运行 yolo_grasp_node rosrun yolo_grasp grasp_filter_node \ _min_z_distance:0.1 \ # 过滤距离相机 10cm 的噪声 _max_z_distance:1.2 \ # 过滤距离 1.2m 的物体超出机械臂工作范围 _min_bbox_area_ratio:0.3 \ # bbox 占图像面积 30% 视为遮挡严重丢弃 _priority_axis:x \ # 优先抓取 x 方向机械臂基座方向最近的物体 _obstacle_topic:/scan \ # 订阅激光雷达 /scan自动避开障碍物前方 0.3m参数说明_priority_axis是核心策略开关。设为x时按pose.position.x排序选最小值离基座最近设为z时按pose.position.z深度方向排序选最大值最靠前。_obstacle_topic启用后节点会将/scan数据投影到相机平面若抓取位姿投影点落在障碍物 0.3m 内则降低其优先级——这比纯视觉避障更可靠。5.2 自定义抓取评分函数三行代码改出你的业务逻辑grasp_filter的评分逻辑在src/grasp_filter.py的calculate_score()方法中def calculate_score(self, candidate): # 基础分置信度 * 深度权重越近分越高 score candidate.confidence * (1.5 - candidate.pose.position.z) # 加分项若在托盘 ROI 内需提前标定托盘四角 if self.is_in_tray(candidate.pose.position): score 0.3 # 减分项若 bbox 宽高比异常细长物体易滑脱 if abs(candidate.bbox_width - candidate.bbox_height) 100: score - 0.2 return score实战案例某药厂分拣线要求“先抓红色药瓶再抓蓝色”。只需在calculate_score()中加入if candidate.class_id 1: # 红色药瓶 class_id1 score 1.0 # 强制最高优先级 elif candidate.class_id 2: # 蓝色药瓶 class_id2 score 0.55.3 与 MoveIt! 集成如何让grasp_target直接触发抓取动作grasp_filter输出的/grasp_vision/grasp_target是geometry_msgs/PoseStamped可直接喂给 MoveIt! 的move_group# 在你的抓取控制节点中 def grasp_target_callback(self, msg): # 创建 MoveIt! 目标 pose_target PoseStamped() pose_target.header msg.header pose_target.pose msg.pose # 发送到 move_group self.move_group.set_pose_target(pose_target) self.move_group.go(waitTrue) # 执行夹爪闭合需你自己的 gripper controller self.gripper_close()关键点pose_target.header.frame_id必须为base_linkgrasp_filter已自动转换否则set_pose_target()会报frame_id not found。若用 UR5确保move_group的planning_frame设为base_link在moveit_config/ur5_moveit_config/config/kinematics.yaml中确认。我坚持在每个新项目里先跑通grasp_filter的min_z_distance和priority_axis再调 YOLO 模型——因为抓取失败 70% 不是模型不准而是策略没跟上产线节奏。比如深夜产线灯光变暗YOLO 置信度集体掉到 0.45这时靠grasp_filter的min_bbox_area_ratio过滤掉模糊 bbox比重训模型快 3 天。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

自学党踩坑实录:把 4.7k star 作业集当『教程』刷,最容易翻车的 4 个姿势

自学党踩坑实录:把 4.7k star 作业集当『教程』刷,最容易翻车的 4 个姿势

自学党踩坑实录:把 4.7k star 作业集当『教程』刷,最容易翻车的 4 个姿势 【免费下载链接】modern-software-dev-assignments Assignments for CS146S: The Modern Software Dev (Stanford University Fall 2026/2025) 项目地址: https://gitcode.com/…

2026/10/10 23:05:43 阅读更多 →
怎么降低ai率?2026实测10款降ai率工具,附aigc免费降重核心方法

怎么降低ai率?2026实测10款降ai率工具,附aigc免费降重核心方法

看着检测报告里一片刺眼的猩红,很多人的心跳瞬间漏了半拍。 现在的平台审核比以往严苛得多,稍有不慎就会被判定为机器生成,因此降ai以提升内容原创度已成为内容创作者的必经之路。 为了帮大家节省试错成本,我耗时两周实测了主流…

2026/10/10 23:04:42 阅读更多 →
S7-200 PLC加热炉温度控制系统实战:PID整定与通讯方案

S7-200 PLC加热炉温度控制系统实战:PID整定与通讯方案

不开头“随着”之类的套话,直接切入。1. 加热炉温度控制的现场需求与S7-200的角色定位干了这些年工控,要说哪个场景最能检验PLC基本功,加热炉温度控制绝对算一个。它不像启保停那么无脑,也不像运动控制那样对扫描周期锱铢必较&…

2026/10/10 23:04:42 阅读更多 →

最新新闻

天津大棚钢架品牌企业全景分析,成立五年以上的生产厂家用户力荐

天津大棚钢架品牌企业全景分析,成立五年以上的生产厂家用户力荐

做口碑过硬的大棚钢架,走扎根产业的务实路线。对于设施农业从业者而言,大棚钢架是整个棚体的骨架支撑,直接决定了大棚的抗风雪能力、使用寿命和综合种植成本。选对靠谱的生产厂家,不仅能避免后期频繁返工换管,还能帮工…

2026/10/10 23:50:21 阅读更多 →
欧洲海外仓合规与欧代、GDPR:卖家避坑指南

欧洲海外仓合规与欧代、GDPR:卖家避坑指南

欧洲是跨境卖家必争的市场,也是合规门槛高的市场。不少卖家货备进了欧洲仓,却因为资质与授权没理顺,轻则被平台下架,重则整店受限。把合规前置,比事后补救便宜太多。本文把欧洲海外仓相关的几道合规关捋清,…

2026/10/10 23:50:21 阅读更多 →
Temu 半托管海外仓怎么选

Temu 半托管海外仓怎么选

做 Temu 半托管的卖家,常常在一个环节卡住:货备在何处,才能既通过平台时效考核,又不把利润空间吃掉。半托管与全托管不同,仓储与尾程由卖家自己把控,平台只负责前端流量与规则。因此,选一个稳妥…

2026/10/10 23:50:21 阅读更多 →
冷链车哪些货不能装一起?串味、污染的混装禁忌

冷链车哪些货不能装一起?串味、污染的混装禁忌

冷链车哪些货不能装一起?串味、污染的混装禁忌冷链拼车常见,但不是同温度的货就能往一块装。串味、交叉污染、催熟、漏液,这几类混装出事,货可能整车报废,责任还说不清。这篇讲哪些货不能装一起、判断按什么来、误装了…

2026/10/10 23:50:21 阅读更多 →
OpenRouter 上架后:把 N2.5-mini 调成“会干活“的 Agent 调参实录

OpenRouter 上架后:把 N2.5-mini 调成“会干活“的 Agent 调参实录

OpenRouter 上架后:把 N2.5-mini 调成"会干活"的 Agent 调参实录 【免费下载链接】Nex-N2.5-mini 项目地址: https://ai.gitcode.com/hf_mirrors/nex-agi/Nex-N2.5-mini 自 Nex-N2.5 系列发布以来,社区讨论最多的不是它又刷了多少分&a…

2026/10/10 23:50:20 阅读更多 →
欧税通递表港交所,合规服务商资本化提速,欧美跨境电商服务商对接平台推荐:实测按目标市场筛选合规服务商

欧税通递表港交所,合规服务商资本化提速,欧美跨境电商服务商对接平台推荐:实测按目标市场筛选合规服务商

2026年9月3日,跨境电商合规服务平台欧税通正式向港交所递交主板上市申请,由中金公司和申万宏源香港联合保荐。欧税通累计服务超26.4万名付费用户,合规服务覆盖全球121个国家和地区,已被亚马逊、TikTok、Temu、SHEIN等九个电商平台…

2026/10/10 23:49:20 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →