机器人赛事实战指南:从ROS开发到系统集成,打造可落地创新方案
1. 这篇文章真正要解决的问题如果你是一名机器人、人工智能或自动化相关领域的开发者、学生或创业者最近可能被各种“以赛促创”、“产教融合”的口号包围但内心却充满困惑这些比赛到底能给我带来什么是浪费时间还是真的能加速我的技术成长和项目落地特别是像“2026世界机器人大会赛事”这样听起来规格很高的比赛它和学校里的小打小闹、或者公司内部的 Hackathon 有什么本质不同这篇文章要解决的正是这个核心痛点。我们不止步于复述官方新闻稿里的“精彩提前解锁”而是深入剖析一个顶级机器人赛事究竟是如何通过其赛题设计、评审规则和资源对接真实地“促进创新”的。对于技术人来说参与这类比赛绝不仅仅是争取一个名次或奖金更是一个极速验证技术方案、构建完整项目能力、并直接对话产业需求的珍贵沙盒。本文将带你提前拆解这类大赛的底层逻辑。你会明白为什么有些团队能靠比赛项目直接孵化出创业公司而有些则止步于“玩具 demo”。我们将从技术选型、团队协作、评审视角、到赛后延续提供一套可操作的备赛与价值最大化指南。无论你是想积累实战经验的学生寻求技术突破的工程师还是寻找早期项目的投资人都能从中获得超越“赛事预告”的深度洞察。2. 世界级机器人赛事不止于竞技更是创新基础设施在深入备赛细节前我们必须先建立正确的认知像世界机器人大会WRC这类赛事本质上是一个高度浓缩的“创新验证平台”。它和娱乐性竞技或单纯的知识竞赛有根本区别。核心差异体现在三个维度问题定义的真实性赛题往往源于真实的产业痛点或前沿探索需求。例如可能是“仓储场景下的多机协同分拣”、“复杂地形下的应急巡检”或“人机协作的精细装配”。这要求解决方案必须具备工程可行性而不仅仅是算法优越性。评价体系的多维性评分标准极少是单一的“速度”或“精度”。一个典型的评分表可能包含任务完成度30%、技术创新性25%、系统稳定性20%、成本控制与工程化潜力15%、团队答辩表现10%。这迫使团队必须从“实验室原型”思维转向“产品原型”思维。生态资源的连接性赛事背后是主办方汇聚的产业资源、投资机构、高校实验室和媒体曝光。获奖不是终点而是项目进入真实商业或科研循环的“敲门砖”。对于参赛者而言理解这一定位至关重要。你的目标不应仅是“做出一个能完成比赛动作的机器人”而应是“构建一个能解决某类问题的最小可行产品MVP并在赛事这个高压测试场中验证其核心价值”。这种思维转变是“以赛促创”能否在你身上发生化学反应的关键。3. 赛前核心准备从组队到技术栈选型距离比赛还有一段时间这正是进行战略性准备的黄金窗口。仓促上阵的团队99%会倒在工程实现的泥潭里。3.1 团队构建不是“最强”的人而是“最合适”的搭档理想的机器人竞赛团队通常需要4-6人角色互补比个人能力突出更重要。一个健康的团队结构应包含系统架构师1人负责整体技术方案设计、模块划分、通信协议制定。需要深厚的机器人学基础ROS/ROS2, 系统建模。算法工程师1-2人专注感知视觉SLAM、目标检测、决策路径规划、任务调度、控制运动规划、力控。需要熟练使用OpenCV、PCL、TensorFlow/PyTorch等。软件工程师1-2人负责各模块的代码实现、集成、调试以及上位机控制/监控软件开发。需要精通C/Python熟悉Linux和版本控制Git。硬件工程师1人负责机器人本体选型、改装、传感器标定、电路调试和底层驱动。需要熟悉嵌入式开发如STM32、Arduino和机械设计基础。项目经理可由以上角色兼任负责进度管理、文档撰写、物料采购和对外沟通。组队建议尽早明确团队负责人并制定简单的团队章程如例会制度、代码规范、决策机制。很多团队失败源于沟通不畅而非技术不行。3.2 技术栈选型务实优于炫技面对赛题新手常犯的错误是追求最前沿、最复杂的技术。但比赛环境复杂、时间有限稳定性和开发效率才是第一位的。技术领域推荐选型务实之选可选进阶方案选型核心考量机器人操作系统ROS (Noetic)或ROS 2 (Humble)自建通信框架ROS资料多生态成熟适合快速原型开发。ROS 2更适合多机、强实时和产品化但学习曲线稍陡。主控与开发板NVIDIA Jetson系列(如NX, Orin Nano)高性能工控机 实时控制器Jetson算力与功耗平衡好CUDA生态对视觉算法友好是比赛“标配”。编程语言C (核心性能模块)Python (算法原型/脚本)Rust, JuliaC用于SLAM、控制等实时性要求高的模块Python用于快速验证视觉算法、数据分析和工具脚本。视觉感知OpenCVYOLO系列/PyTorch目标检测专用视觉传感器、事件相机优先使用成熟的预训练模型进行微调而不是从头训练。OpenCV是图像处理的基石。仿真环境Gazebo(配合ROS)Isaac Sim(基于NVIDIA Omniverse)赛前必须在仿真中完成算法和逻辑的绝大部分验证能节省大量现场调试时间。版本控制GitGitHub/GitLab必须使用分支策略建议采用main(稳定版)、develop(开发版)、feature/xxx(功能分支)。关键提醒在确定最终技术栈前务必在仿真环境中跑通一个最小可行流程如仿真机器人从A点移动至B点并识别一个标志物。这能提前暴露工具链的兼容性问题。4. 开发流程实战从零构建一个比赛机器人原型我们以一个抽象的“室内物品抓取与搬运”赛题为例拆解核心开发流程。假设使用ROS Noetic Jetson Xavier NX 移动底盘 机械臂 RGB-D相机的经典配置。4.1 步骤一搭建仿真开发环境第1-2周在实物机器人到位前所有算法和逻辑都应在仿真中开发。安装ROS与Gazebo# Ubuntu 20.04 对应 ROS Noetic sudo apt update sudo apt install ros-noetic-desktop-full sudo apt install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control echo source /opt/ros/noetic/setup.bash ~/.bashrc source ~/.bashrc创建ROS工作空间并导入机器人模型mkdir -p ~/wrc_ws/src cd ~/wrc_ws/src catkin_init_workspace # 假设你从比赛官网或GitHub获得了机器人URDF模型包 git clone https://github.com/example/wrc_robot_model.git cd ~/wrc_ws catkin_make source devel/setup.bash在Gazebo中启动机器人并测试基础控制roslaunch wrc_robot_model gazebo.launch # 另开一个终端发布速度指令测试机器人是否能动 rostopic pub /cmd_vel geometry_msgs/Twist linear: x: 0.1 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.04.2 步骤二实现核心感知模块第3-5周感知是机器人的“眼睛”。我们使用RGB-D相机如Intel Realsense D435i来获取环境点云和图像。驱动相机并发布话题# 安装Realsense ROS驱动 sudo apt install ros-noetic-realsense2-camera roslaunch realsense2_camera rs_camera.launch # 此时会发布 /camera/color/image_raw, /camera/depth/image_rect_raw 等话题编写一个简单的目标识别节点Python示例# 文件~/wrc_ws/src/robot_perception/scripts/detect_object.py #!/usr/bin/env python3 import rospy import cv2 from sensor_msgs.msg import Image from cv_bridge import CvBridge from geometry_msgs.msg import PointStamped class ObjectDetector: def __init__(self): self.bridge CvBridge() # 订阅彩色图像 self.image_sub rospy.Subscriber(/camera/color/image_raw, Image, self.image_callback) # 发布识别到的目标中心点相对于相机坐标系 self.target_pub rospy.Publisher(/detected_target, PointStamped, queue_size10) # 这里使用一个简单的颜色阈值作为示例实际比赛需替换为YOLO等模型 self.lower_red (0, 100, 100) self.upper_red (10, 255, 255) def image_callback(self, msg): try: cv_image self.bridge.imgmsg_to_cv2(msg, bgr8) hsv cv2.cvtColor(cv_image, cv2.COLOR_BGR2HSV) mask cv2.inRange(hsv, self.lower_red, self.upper_red) contours, _ cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) if contours: # 找到最大轮廓 c max(contours, keycv2.contourArea) M cv2.moments(c) if M[m00] 0: cx int(M[m10]/M[m00]) cy int(M[m01]/M[m00]) # 构造一个简单的目标点消息实际需结合深度图计算3D坐标 target_point PointStamped() target_point.header.stamp rospy.Time.now() target_point.header.frame_id camera_color_optical_frame target_point.point.x cx target_point.point.y cy target_point.point.z 0 # 占位符实际应从深度图获取 self.target_pub.publish(target_point) rospy.loginfo(fTarget detected at ({cx}, {cy})) except Exception as e: rospy.logerr(fError in image processing: {e}) if __name__ __main__: rospy.init_node(object_detector) detector ObjectDetector() rospy.spin()将此文件设为可执行chmod x detect_object.py。这个节点实现了最简单的颜色识别并发布了目标像素位置。在实际比赛中你需要集成YOLO等深度学习模型并融合深度信息得到真实3D坐标。4.3 步骤三集成导航与运动规划第6-8周让机器人能够自主移动到目标点附近。配置导航栈ROS Navigation Stacksudo apt install ros-noetic-navigation你需要为你的机器人提供map地图、amcl定位和move_base路径规划的配置文件。这是一个庞大的主题核心是调整costmap参数和global/local planner。编写一个简单的任务调度节点C示例框架// 文件~/wrc_ws/src/robot_control/src/task_manager.cpp #include ros/ros.h #include geometry_msgs/PoseStamped.h #include std_msgs/Bool.h class TaskManager { public: TaskManager() { // 订阅目标检测结果 target_sub_ nh_.subscribe(/detected_target_3d, 1, TaskManager::targetCallback, this); // 发布导航目标点 goal_pub_ nh_.advertisegeometry_msgs::PoseStamped(/move_base_simple/goal, 1); // 发布抓取指令 grasp_pub_ nh_.advertisestd_msgs::Bool(/grasp_command, 1); state_ State::IDLE; } void targetCallback(const geometry_msgs::PointStamped::ConstPtr msg) { if (state_ State::IDLE) { // 1. 将目标点转换为机器人底盘坐标系下的导航目标 geometry_msgs::PoseStamped goal; goal.header.frame_id map; goal.pose.position.x msg-point.x; // 需经过坐标变换 goal.pose.position.y msg-point.y; goal.pose.orientation.w 1.0; goal_pub_.publish(goal); state_ State::NAVIGATING; ROS_INFO(Goal published, start navigating.); } } // 此处应有导航结果回调、状态机切换等逻辑... private: enum class State { IDLE, NAVIGATING, GRASPING, RETURNING }; State state_; ros::NodeHandle nh_; ros::Subscriber target_sub_; ros::Publisher goal_pub_; ros::Publisher grasp_pub_; }; int main(int argc, char** argv) { ros::init(argc, argv, task_manager); TaskManager manager; ros::spin(); return 0; }在CMakeLists.txt中添加编译规则这个节点构成了机器人的“大脑”负责调度导航、抓取等子任务。5. 现场调试与比赛策略从实验室到赛场仿真通过只成功了30%。真正的挑战在实物调试和比赛现场。5.1 实物-仿真差异与校准传感器标定是生命线相机内参、外参相机与机器人基座的变换关系、激光雷达与相机联合标定必须在实物上重新进行。使用rosrun camera_calibration cameracalibrator.py等工具。控制参数重调仿真中的电机模型是理想的。实物上移动底盘和机械臂的PID控制参数必须重新整定否则会出现抖动、超调或响应慢。应对真实光照实验室光线恒定赛场光线复杂。你的视觉算法必须有足够的鲁棒性如使用自适应阈值、HSV颜色空间、或进行数据增强训练。5.2 比赛日应急清单备用策略准备一套降级方案。例如深度学习模型失效时能否切换为基于颜色或形状的传统算法主规划器失败时是否有备用的简单巡线程序快速诊断工具提前编写好一键诊断脚本检查核心节点状态、话题发布、网络延迟、传感器数据是否正常。#!/bin/bash # check_system.sh echo ROS Master roscore_pid$(pgrep roscore) [ -z $roscore_pid ] echo ERROR: roscore not running! || echo roscore OK. echo 节点状态 rosnode list echo 关键话题 rostopic list | grep -E (camera|scan|odom|cmd_vel|goal) echo 网络 ping -c 1 $(hostname -I | awk {print $1}) # 自检模块化与热插拔将系统设计为模块化如感知、决策、控制分离。当某个模块崩溃时可以快速重启该模块而不必重启整个系统。6. 赛后价值延伸如何让项目“活”下去比赛结束无论名次如何项目的价值挖掘才刚刚开始。技术沉淀将比赛中验证过的核心算法模块如一个鲁棒的视觉识别包、一个稳定的底盘驱动包进行重构、封装和文档化形成你自己的“技术资产库”。发布到GitHub建立个人技术品牌。项目复盘撰写详细的技术报告包括架构设计图、算法选型对比、遇到的问题及解决方案、性能数据成功率、耗时。这份报告是未来求职或申请项目的强力背书。寻找应用场景你的解决方案是针对赛题抽象化后的某个通用问题如“动态避障”、“精准抓取”。尝试思考这个方案在工业质检、智慧农业、医疗服务等领域的潜在应用。可以据此撰写一份商业计划书或项目建议书。持续迭代如果项目确有潜力可以考虑申请大学生创新创业训练计划、挑战杯或寻找早期天使投资将其推向真正的产品化。7. 常见问题与排查思路FAQ问题现象可能原因排查方式解决方案Gazebo中机器人模型加载后沉入地面或飘在空中模型URDF文件中的碰撞collision属性或惯性inertial参数设置错误。1. 检查URDF中collision和inertial标签是否每个连杆都有。2. 使用rosrun urdf_tutorial check_urdf your_robot.urdf检查语法。为每个link添加合理的collision通常用简单几何体近似和inertial质量、转动惯量可估算。ROS节点启动后立即崩溃报“找不到消息类型”消息类型定义未编译或环境变量未更新。1. 运行catkin_make后是否source devel/setup.bash2. 使用rosmsg show msg_type检查消息是否存在。确保在运行节点的终端中已执行source ~/wrc_ws/devel/setup.bash。检查package.xml和CMakeLists.txt中的依赖声明。导航时机器人原地打转或撞墙costmap参数设置不当特别是inflation_radius膨胀半径和obstacle_range障碍物探测范围。1. 在Rviz中观察local_costmap和global_costmap的实时显示。2. 检查激光雷达/深度相机数据是否正常。调整costmap_common_params.yaml适当增大inflation_radius确保obstacle_range覆盖机器人前方足够距离。在仿真中反复测试。视觉识别在赛场光线变化下失效算法对光照条件过拟合或未进行色彩空间转换。1. 在算法中打印/显示处理过程中的中间图像如二值化图。2. 测试在不同光照下的识别效果。将图像从BGR转换到HSV色彩空间进行处理对色相H进行判断对饱和度S和明度V设定合理范围而非使用固定的RGB阈值。机械臂抓取位置不准手眼标定不准确或运动学逆解算存在误差。1. 使用标定板重新进行手眼标定Eye-in-Hand或Eye-to-Hand。2. 检查机械臂的零位是否准确。采用更精确的手眼标定算法如OpenCV的calibrateHandEye。在抓取前让机械臂多次移动到同一视觉目标点观察重复定位精度。8. 最佳实践与工程建议文档即代码从第一天起就用Markdown在项目根目录维护README.md、docs/文件夹。记录环境配置步骤、启动流程、参数说明、故障日志。这对团队协作和后期复盘至关重要。持续集成CI思维即使不搭建完整的CI/CD也应养成习惯每次重要修改后在仿真中运行一套完整的自动化测试脚本如让机器人完成一组标准任务确保核心功能未被破坏。数据记录与回放比赛调试时使用rosbag record记录所有关键话题的数据。当出现异常时可以回放rosbag play数据包在办公室反复复现和分析问题效率远高于在现场空想。电源与通信管理比赛现场电源干扰和Wi-Fi拥堵是隐形杀手。为关键设备如Jetson、路由器准备优质的稳压电源。考虑使用有线网络如交换机连接所有机器人组件减少无线干扰。心态管理将比赛视为一个长期项目进行管理设定每周里程碑。接受前期进度可能缓慢后期调试可能反复。保持团队沟通畅通及时调整技术方案必要时做减法确保核心功能稳定。参与世界机器人大会这类赛事是一次高强度、全栈式的工程演练。它逼迫你在有限时间内将一个想法转化为可运行的实体系统并接受严苛环境的检验。这个过程所锻炼出的系统思维、工程能力和抗压素质其价值远超过奖杯本身。现在距离2026年的赛事还有充足时间立即行动起来从组建团队、搭建仿真环境开始一步步将你的机器人创意变为现实。

相关新闻

5分钟搭建C++开发环境:小熊猫Dev-C++新手完全指南

5分钟搭建C++开发环境:小熊猫Dev-C++新手完全指南

5分钟搭建C开发环境:小熊猫Dev-C新手完全指南 【免费下载链接】Dev-CPP A greatly improved Dev-Cpp 项目地址: https://gitcode.com/gh_mirrors/dev/Dev-CPP 你是否厌倦了复杂的C环境配置?是否想要一款轻量级、功能全面的集成开发环境&#xff1…

2026/10/14 7:50:59 阅读更多 →
Gradle打包Jar详解:标准Jar与Spring Boot可执行Jar实战指南

Gradle打包Jar详解:标准Jar与Spring Boot可执行Jar实战指南

1. 项目概述:为什么Gradle打包Jar是个技术活在Java开发的世界里,打包Jar文件就像厨师把做好的菜装盘上桌,看似是最后一步,实则决定了这道菜能否被顺利“享用”。无论是传统的Java应用还是现代的SpringBoot项目,最终都需…

2026/10/14 2:42:12 阅读更多 →
socket工作原理粗浅总结

socket工作原理粗浅总结

本人是在ns3入门的时候深入了解的socket,之前对socket的理解粗浅的停留在“一个接口,软件通过此接口可以获取TCP/IP的某个端口/某个IP地址发来的数据包”,但是对如何调用socket,相关的C函数都是什么以及参数是什么,知之…

2026/10/10 18:43:00 阅读更多 →

最新新闻

基于微信小程序与Spring Boot的社区团购系统实战开发

基于微信小程序与Spring Boot的社区团购系统实战开发

上个月,一位做社区团购的团长朋友跟我抱怨,说还在用Excel表格记账,每天早上在微信群里接龙,晚上对账对到头疼。这几乎是社区团购刚起步阶段的真实写照:订单靠接龙、收款靠私聊、货品靠人工清点,等到单量上了…

2026/10/14 7:53:44 阅读更多 →
DAY37@浙大疏锦行:从崩溃边缘到关系质变,一份长期项目实操复盘

DAY37@浙大疏锦行:从崩溃边缘到关系质变,一份长期项目实操复盘

DAY37浙大疏锦行——如果你在朋友圈刷到这个打卡格式,大概率会以为又是某个卷王在记录学习日常。其实这是我所在的浙江大学"疏锦行"项目执行到第37天的一个标签。疏锦行是我们的实践项目名字,六个人,一百天的驻扎式生活&#xff0c…

2026/10/14 7:53:44 阅读更多 →
Discuz X3.4实现独立可DIY页面的完整方案

Discuz X3.4实现独立可DIY页面的完整方案

1. 为什么Discuz X3.4原生不支持“独立可DIY页面”——从模板机制说起Discuz X3.4发布已近十年,至今仍有大量社区系统基于它持续运行。但凡接手过这类老项目的开发者,几乎都遇到过同一个扎心问题:想做个纯粹的活动页、产品介绍页、或嵌入第三…

2026/10/14 7:53:44 阅读更多 →
RAG表格数据导入全攻略:CSV、Excel与数据库接入实战

RAG表格数据导入全攻略:CSV、Excel与数据库接入实战

不得不承认,RAG项目做到中期,最磨人的往往不是模型选型,也不是向量库调优,而是“喂数据”这一步。尤其是当你手里的资料不是干净的Markdown文档,而是一堆CSV导出报表、带合并单元格的Excel、还有藏在业务数据库里的关系…

2026/10/14 7:53:44 阅读更多 →
【2027精品毕设】基于spring boot的员工管理系统(附源码资料)增删改查,运行部署,选题推荐_网站项目_Java项目

【2027精品毕设】基于spring boot的员工管理系统(附源码资料)增删改查,运行部署,选题推荐_网站项目_Java项目

💖💖作者:计算机毕业设计江挽 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括…

2026/10/14 7:53:44 阅读更多 →
Agent任务规划与推理模式重构:从过度规划到高效执行

Agent任务规划与推理模式重构:从过度规划到高效执行

一个任务丢给 Agent,很多时候都会得到一份漂亮但没法落地的计划。我在调 Pi agent 的时候就撞上过这类问题:让它做稍微复杂一点的事,它要么把简单任务拆出十来个步骤,要么在执行中反复重新评估,迟迟不调用工具&#xf…

2026/10/14 7:52:44 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29: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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/14 7:53:34 阅读更多 →