十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

2026 VEX机器人竞赛北京选拔赛备赛全攻略:从规则拆解到赛场管理

2026 VEX机器人竞赛北京选拔赛备赛全攻略:从规则拆解到赛场管理 每年新赛季规则发布后很多志同道合的队伍都会一头扎进搭建和调试中看似忙碌最后却容易被同一类问题反复卡住规则理解不够透、机构方案反复推翻、自动程序到现场就“翻车”。2026赛季的VEX机器人竞赛北京选拔赛马上要进入备赛高峰这篇笔记想把“从规则拆解、机械搭建、编程调试到赛场管理”的完整流程整理出来供第一次参赛的队伍和带队老师参考也方便有基础的队伍快速对照查漏。这篇文章会围绕VEX机器人竞赛北京选拔赛的备赛需求展开先讲清楚赛事本身和组别差异再逐步说明软硬件环境、赛制拆解、结构设计、VEXcode编程、自动程序调参以及现场排错和团队管理。内容偏工程实操尽量做到每个环节都给得出可执行的方法而不是只讲概念。1. VEX机器人竞赛是什么一场工程项目的完整演练1.1 赛事定位与北京选拔赛的角色VEX机器人竞赛是一类面向中小学和大学阶段学生的机器人设计竞赛强调在限定时间内完成一台机器人的设计、搭建、编程和迭代优化。每年官方会发布一个全新的赛季主题场地、得分物、得分规则全部更换所以每支队伍都需要从零开始重新理解规则、调整方案。北京选拔赛属于区域性选拔赛事作用是让参赛队伍在真实比赛环境中检验自己的机器人同时为后续更高层级的区域赛、全国赛或国际交流赛筛选队伍。对于大多数队伍来说北京选拔赛更像一个“阶段考试”检验的不仅是机器人能否得分更是团队是否能在压力下完成问题定位、快速调整和稳定发挥。很多队伍把VEX当成纯“拼机器人”的比赛这是一个容易跑偏的理解。VEX的赛局只是最终呈现真正拉开差距的是赛前几个月里对规则的理解深度、结构设计的可靠性、程序逻辑的稳健程度以及几个人之间是否配合默契。理解了这一点备赛的思路才会从“把机器人做出来”转向“把整个工程链条跑通”。1.2 常见参赛组别与器材差异VEX竞赛体系里常见到的组别是VEX IQ、VEX V5和VEX U。VEX IQ主要面向小学和初中阶段器件更轻量编程可以选用图形化方式适合第一次接触机器人的学生VEX V5常见于初中高年级和高中阶段使用铝合金结构和更复杂的电机、传感器通常需要掌握C或Python文本编程VEX U则是大学阶段的比赛更强调自动化控制、机械设计和综合工程能力。不同组别的规则和场地尺寸不同但备赛逻辑是相通的。本文后续的代码示例和调试思路主要以VEX V5展开因为它的编程深度和结构复杂度更能体现工程化备赛的方法而这些方法只要把API对应到VEX IQ也能复用。报名前建议先和指导老师确认好队伍要参加的具体组别然后严格按该组别的规则手册准备避免器材和规则不匹配。1.3 从规则到技术需求的转化思路拿到一份新赛季规则时最忌讳的是不读细节直接按照往年经验画底盘。规则手册里包含的信息量很大包括场地尺寸、机器人启动尺寸限制、得分物种类、得分动作、比赛时间、违规判罚等每一项都会影响技术方案。建议把规则整理成一张“技术需求表”逐条摘录原文再写出对技术方案的影响。例如规则中的得分物如果是一个圆柱体抓取机构需要考虑圆弧形夹爪如果得分区位于高处抬升或弹射机构会成为设计重点如果启动区限制了机器人初始尺寸底盘和上层结构的设计空间也会受影响。做完这一步再开始讨论机构和程序才不会在设计阶段反复推倒重来。2. 备赛环境准备硬件、软件与代码组织2.1 硬件版本与器材确认不同赛季使用的硬件体系相对固定但每年固件和软件都会更新。以VEX V5为例核心硬件包括V5主控器、V5电机、V5陀螺仪Inertial Sensor、距离传感器、限位开关等。备赛开始前需要对所有硬件做一次清点和测试电池是否还能正常充电、主控器固件是否升级、电机端口是否顺畅转动、传感器读数是否正常。有一种很常见的现场故障是“代码没问题但机器人不动作”最后检查发现是电机线插错端口或者某个电机因为长时间堵转进入了保护状态。为了减少这类问题建议把每个电机的端口编号、传动比、正反方向记录在队伍共享文档里任何一次拆装之后都重新核对一遍。本文示例以VEX V5为主VEX IQ队伍思路一致只需要把设备和API对应到VEXcode IQ环境。2.2 安装VEXcode与首次连接VEX官方编程环境是VEXcode它同时支持图形化编程和文本编程。安装完成后不要急着写正式代码先做一个“最小测试工程”新建项目添加一个最简单的电机转动程序下载到主控并运行确认软件、数据线、主控器、电机这一整条链路是通的。如果遇到无法连接设备先换一根数据线试试再检查主控器是否为最新固件。不要一上来就怀疑程序问题。首次连接往往会在驱动、USB端口权限上出问题这类问题通常与代码无关先排除链路问题能节省很多时间。要特别提醒的是VEXcode的版本会持续更新界面布局和部分API可能发生变化网上教程的写法不一定完全匹配你的环境参照思路比照抄代码更重要。2.3 建立赛季项目目录一个赛季会经历多轮改版代码和文档如果东放一个西放一个到比赛现场很容易找不到最新版本。建议从备赛第一天就建立清晰的目录结构例如2026-Beijing-Selection/ ├── README.md ├── docs/ │ ├── 00_rule_notes.md │ ├── 01_design_review.md │ └── 02_competition_log.md ├── code/ │ ├── driver/ │ ├── auto/ │ └── library/ └── test/README.md记录当前方案概述和关键参数docs目录下放规则笔记、设计评审和训练日志code目录按驱动代码、自动程序、公共库分类test目录放各种单项测试工程。这样做的目的是让任何一名队员拿到电脑后都能快速看懂当前进展而不是靠某个人口头指挥。3. 拆解赛制比赛怎么打分数从哪里来3.1 赛局结构自动阶段与操作手阶段VEX的单场对抗赛通常由自动阶段和操作手阶段组成。自动阶段中机器人依靠预先写好的程序自主运行时间较短目标是完成固定动作操作手阶段则由队员通过遥控器控制机器人灵活应对场上变化。此外还有技能挑战赛Robot Skills一般分为自动技能赛和手控技能赛测试机器人在单一队伍情况下的极限得分能力。对北京选拔赛来说自动阶段的稳定得分往往比操作手阶段的“高难度操作”更影响排名因为在对抗赛里自动阶段的得分差异直接体现在比分里而且自动阶段不受操作手临场状态影响。很多强队的设计思路是先保证自动阶段拿满基础分再用操作手阶段扩大优势。3.2 得分任务的技术拆解方法拿到新规则后把每一个得分动作拆成“机器人需要做什么”和“需要哪些能力支持”。比如“把得分物从A区搬到B区”拆开就是移动到底盘需要巡线或编码器定位抓取需要夹爪放下需要抬升或翻转机构。再往下拆就会得到组件清单和功能需求。这阶段不要直接讨论电机型号或零件品牌先用功能语言描述比如“需要能夹起直径80毫米圆柱物的机构”“需要能抬升15厘米的装置”。功能确认后再研究机械实现才能避免被既有零件库带着走。建议队伍在拆解任务时做一张表把“得分动作、对应机构、对应程序模块、风险点”列清楚。例如自动阶段要走到特定位置风险点是地面摩擦差异导致走偏解决思路是用陀螺仪配合编码器闭环控制手控阶段要快速抓取分散的得分物风险点是机构反应慢解决思路是优化操作手按键映射和抓取逻辑。3.3 先自动、后手控的备赛优先级很多队伍把精力先放在手控操作上最后留给自动程序的时间只剩一两天结果自动阶段大量失分。更合理的优先级是先攻自动阶段因为自动阶段程序稳定得分可预期是整场比赛的基本盘手控阶段虽然上限高但受操作手状态、对手干扰等影响稳定性不如自动阶段。建议在设计阶段就预留出自动程序的接口比如底盘采用左右独立电机控制而非单电机转向传感器安装位置避开抓取机构的运动范围。这样等自动程序开发时不需要反过来大改结构。这一条对第一次参赛的队伍尤其重要自动阶段的每一分都是靠前期设计留出来的。4. 机械结构设计要点底盘、机构与可靠性4.1 底盘驱动与传动比选择底盘是机器人的基础VEX常见配置是四轮驱动或六轮驱动。四轮结构简单、转向灵活六轮驱动在通过地面障碍物时更稳但结构和调试复杂度更高。北京选拔赛的场地通常是木板或光滑地面摩擦力相对稳定四轮底盘配合高抓地力轮胎是大多数队伍的选择。传动比决定速度和扭矩的权衡。高传动比减速比大会让机器人力量更强但速度变慢低传动比速度更快但爬坡或搬运重物时可能无力。建议根据具体的得分任务决定如果场地需要频繁搬运重物优先保证扭矩如果大量时间花在空跑上可以适当提高速度。切记不要在赛前频繁更换齿轮组合传动比一旦确定程序和操作手的操作手感都要跟着调整。4.2 抓取、抬升与投掷机构选型机构选型是机械设计中最容易“纠结”的部分因为VEX零件形式上看起来差不多但不同机构的运动逻辑差异很大。抓取机构负责把得分物从地面或特定区域拿到手里常见方案有夹爪、铲斗、滚筒吸取等选择依据是得分物的形状、重量和排布方式抬升机构负责把得分物送到高处常见方案有剪式升降、连杆抬升、丝杠或齿条机构选择依据是抬升高度和负载需求投掷机构则用于远距离得分需要保证弹道一致性和频率。每种机构都有优缺点没有“万能方案”。剪式升降结构紧凑、抬升高但零件多、调试复杂连杆抬升响应快、结构简单但行程有限。建议队伍在规则发布后的一两周内多画几种方案草图甚至可以搭一个简易纸板模型验证运动轨迹再决定最终结构。机构一旦定型尽量减少大改因为后续的自动程序要依赖机构的位置和运动时间。4.3 重心、刚性与赛前机械检查机器人重心过高会导致加速和转向时倾斜特别是在自动阶段高速移动时机器人容易因为惯性翻倒或偏移。设计时要尽量把电池、主控这些重量大的部件放低并靠近底盘中心抬升机构末端执行器抓取重物时要格外注意机器人的前倾趋势。结构刚性方面VEX的金属梁和底板之间需要合理布置加强筋减少高速运动时产生的形变。所有关键螺丝建议在赛前做“划线标记”也就是在螺丝和固定件上画一条线一旦螺丝松动可以立刻看出来。赛前机械检查按清单执行电池满电、电机端口正确、机构顺畅无异响、尺寸符合当年规则、所有螺丝拧紧。5. VEXcode编程实战驱动、传感器与程序结构5.1 图形化编程与文本编程如何选择很多第一次接触VEX的学生会从VEXcode的图形化Blocks编程入手这种方式适合理解基本逻辑比如电机转动、传感器判断、循环和等待。但如果要写比较复杂的自动程序Blocks的嵌套块会让逻辑很难梳理和调试尤其是变量多、状态多的时候图形界面会越来越难维护。建议参加北京选拔赛的队伍中至少有一名核心编程队员能使用文本编程也就是VEXcode里的C或Python。文本编程的代码量并不比Blocks大但它能让你更清晰地看到程序执行流程也更方便做函数封装和参数调整。图形化编程可以作为入门和教学工具真正比赛时文本编程的调试效率会高很多。5.2 最小驱动代码示例先来看一个最基础的VEX V5驱动示例作用是让左右两个电机以40%速度转动2秒后停止。这里的重点是理解“电机方向”和“端口配置”这两件事。// 文件路径code/driver/basic_drive.cpp // 示例思路VEX V5 CAPI以实际VEXcode版本为准 #include vex.h using namespace vex; vex::brain Brain; vex::motor leftMotor vex::motor(vex::PORT1, vex::gearSetting::ratio18_1, false); vex::motor rightMotor vex::motor(vex::PORT10, vex::gearSetting::ratio18_1, true); int main() { leftMotor.spin(vex::directionType::fwd, 40, vex::velocityUnits::pct); rightMotor.spin(vex::directionType::fwd, 40, vex::velocityUnits::pct); // 让机器人前进2秒 vex::task::sleep(2000); leftMotor.stop(); rightMotor.stop(); return 0; }这段代码里左电机接PORT1右电机接PORT10。构造参数中的ratio18_1表示电机内部齿轮传动比是18:1false和true表示电机是否需要反向安装。实际比赛中左右电机通常是镜像安装的如果不设置反向两个轮子的转动方向相反机器人就会原地打转。如果你发现机器人跑偏或者转向先检查是否有电机方向设置反了这比检查传感器更基础。5.3 传感器读取与阈值判断传感器在VEX中的主要作用是给程序提供“当前状态”而不是直接控制。常见的传感器包括距离传感器、陀螺仪、编码器和限位开关。距离传感器可以测量物体与机器人的距离用于避障或定位陀螺仪可以测量机器人的朝向角度用于走直线和转弯编码器测量轮子转动的距离用于精确前进。读取传感器时不建议直接在程序里使用原始数值做判断因为传感器数据会受到光线、环境、电量等因素影响。更稳妥的做法是先观察一段时间内传感器的数值范围然后设定一个合理的阈值。比如距离传感器的读数在空旷场地是300毫米接近得分物时是80毫米可以把判断阈值设为150毫米。示例代码如下# 文件路径code/driver/distance_demo.py # 伪代码示例VEXcode Python 思路 distance_cm distance_sensor.distance(distance_units.CM) if distance_cm 15: stop_drive() else: drive_forward(30)这里的关键不是代码本身而是“先观察、再设阈值”的调试思路。很多自动程序不稳定都是因为阈值拍脑袋设的没有基于实际场地数据调整。5.4 用状态机组织自动程序自动程序最怕的是把所有动作按时间顺序写在一大段代码里一旦某一步因为现场情况出现偏差后续所有逻辑都会乱掉。更好的做法是用状态机思想组织程序把自动阶段拆成若干个独立状态比如START、MOVE_TO_PICKUP、PICKUP、MOVE_TO_SCORE、SCORE、END。每个状态完成一项明确的任务状态之间通过条件判断跳转比如用传感器检测是否到达目标位置、用计时器判断动作是否执行完毕。这样当某一状态出错时你可以单独调试那一段而不是从头看完整段逻辑。对北京选拔赛这种时间紧张、现场变量多的比赛来说状态机式的程序结构能大幅提升调试效率。6. 自动程序进阶位置控制与PID调参6.1 开环与闭环控制开环控制是指程序给电机一个固定的速度运行固定时间期望机器人到达目标位置。这种方式简单直接但受电池电压下降、地面摩擦力变化、负载不同等因素影响实际结果往往和预期偏差较大。比赛现场环境变化会让开环程序“昨天能跑通、今天就跑偏”的现象非常常见。闭环控制则是通过传感器实时测量机器人实际状态并与目标状态比较不断修正输出。比如走直线时编码器测出左轮比右轮转得快程序就适当降低左轮速度或提高右轮速度。闭环控制的优势是能抵抗外部扰动让机器人更稳定地到达目标位置。对大多数VEX队伍来说不必一开始就追求复杂的闭环控制但至少要掌握“编码器距离闭环”和“陀螺仪转角闭环”这两项足以覆盖大多数自动阶段的基础动作。6.2 陀螺仪辅助走直线陀螺仪走直线的核心思想是记录机器人启动时的朝向角度然后在移动过程中不断读取当前角度计算偏差并据此调整左右电机速度。示例的C思路如下// 示例思路陀螺仪走直线VEX V5 C 风格 double targetAngle inertial_sensor.angle(vex::deg); double currentAngle inertial_sensor.angle(vex::deg); double error targetAngle - currentAngle; double Kp 0.5; // 现场调参 double turnCorrection Kp * error; leftMotor.spin(vex::directionType::fwd, baseSpeed turnCorrection, vex::velocityUnits::pct); rightMotor.spin(vex::directionType::fwd, baseSpeed - turnCorrection, vex::velocityUnits::pct);这里只使用了P控制也就是比例控制。误差越大修正量越大误差越小修正量越小。要注意的是陀螺仪的角度在0到360度之间循环跨过边界时角度差会突然从很小变成很大比如从359度变到1度程序会误判为巨大误差。所以实际使用时需要做角度归一化比如把误差限制在-180到180度之间。6.3 PID控制的实用落地PID控制是比例、积分、微分三种控制的组合。比例项让系统对当前误差做出反应积分项消除长期累积的稳态误差微分项抑制震荡。但在VEX项目中很多场景只需要P或PD就够用完整PID反而容易因为积分项引发震荡。调参时最稳妥的顺序是先把P从一个小值开始调观察机器人是否靠近目标并稳定收敛如果出现来回震荡减小P或加入DKd可以帮助抑制速度过快导致的超调Ki一般最后加而且不要给太大。调参时每次只改一个参数并记录下改动的值和测试结果否则很容易调着调着就忘了哪个参数有效。对自动程序来说一个稳定且可重复的结果比一个“偶尔高分”的结果重要得多。北京选拔赛现场通常只给你有限的调试机会能稳定复现的程序才是好程序。6.4 自动程序调试流程调试自动程序时不要试图一次跑完整个自动流程。正确做法是分步验证先把机器人放到起点只测试第一个动作看机器人是否到达预期位置如果偏差大先检查传感器数据和参数再继续调试下一步。每完成一步记录下机器人最终位置和朝向和预期值对比。现场如果条件允许可以在关键位置贴上标记胶带方便判断到位精度。自动程序调试到后期建议在电量100%、50%和30%条件下各跑一遍检查电量变化对速度的影响。如果程序在低电量下明显跑不动说明开环成分太多需要加强闭环反馈。7. 常见故障与赛场排查思路7.1 高频问题对照表备赛过程中有一些问题几乎是每支队伍都会遇到的。下面这张表可以作为一个快速排查参考问题现象常见原因解决思路电机不转端口接错、电机堵转保护检查端口连接手动转动电机确认无卡死跑直线明显偏左右电机方向或速度不一致检查电机反转配置再做陀螺仪校准传感器读数异常线缆松动或安装位置遮挡检查线缆查看实时传感器数值自动程序不启动启动模式或按钮状态不对确认程序下载成功检查启动按键逻辑电池掉电特别快机构卡住或程序长时间堵转优化机构增加电机堵转判断这张表的核心价值是让队员在慌乱时有据可查。比赛现场最怕的不是故障本身而是故障出现时全队一起凭感觉乱试浪费宝贵的调试时间。7.2 现场快速排错流程到了北京选拔赛现场时间非常紧张不可能像平时训练一样从容拆解。遇到问题时建议按照“先电气后机械先简单后复杂”的顺序排查。第一步用主控屏幕查看电池电量和端口状态排除最基础的电量和接线问题第二步手动转动各个机构确认没有机械卡死第三步用主控的测试程序逐一控制电机和传感器定位是单个设备故障还是整体逻辑问题。如果现场机器人突然不响应不要立刻重写代码。先记录现象比如是电机完全不动还是电机转了但机器人不走还是程序运行到一半卡住。现象描述得越准确定位越快。平时在训练日志里记录过类似问题的话现场直接对照历史排查记录能节省不少时间。7.3 用模拟赛降低现场风险很多现场故障在平时训练中不会出现因为训练时人和机器都处于放松状态操作习惯和临场决策都和真实比赛不一样。建议赛前一周安排至少一次完整的模拟赛按真实赛程时间、真实规则、真实裁判判罚标准来跑中间不暂停、不修改程序只记录比赛中暴露的问题。模拟赛能发现的问题包括机器人长时间运行后部件松动、程序在满电和低电量下表现差异、操作手在压力下操作失误、队员之间沟通不顺畅等。这些问题如果等到正式比赛才发现基本来不及调整。模拟赛的意义正是把“意料之外”变成“意料之中”。8. 团队协作与备赛管理比技术更重要的工程能力8.1 队伍角色与训练记录一支队伍如果只有技术没有协作很难在比赛中稳定发挥。建议明确分工搭建队员负责机械结构编程队员负责程序逻辑操作手负责遥控操作记录员负责训练日志和比赛数据。但分工不等于各干各的搭建和编程之间必须紧密沟通因为机械结构直接决定程序怎么写程序要求也会反过来影响结构调整。每次训练结束时由记录员把当天的改动写进《训练日志》内容包括今天改了什么结构或代码、测试结果如何、发现了什么问题、明天要验证什么。这个日志是队伍最重要的“无形资产”即使某位主力队员临时不能到场其他人也能根据日志继续推进工作。8.2 对抗练习与战术评估如果北京选拔赛之前有机会和其他队伍约对抗练习一定要抓住。对抗练习不仅能看到对手的机构设计和得分策略还能检验自己的机器人在真正对抗环境下的稳定性。被撞、被挡、争抢得分物这些在单人训练中完全无法模拟。对抗练习后不要只讨论输赢而是围绕数据做复盘自动阶段得了多少分操作手阶段拿分效率如何哪个环节被对手克制了有没有更好的得分路线。每次对抗只定一个核心优化点不要贪多否则下一次练习时不知道改了什么效果无法验证。8.3 备赛时间线与赛前物资清单一个合理的备赛时间线大致是这样的规则发布后第一周通读规则并确定机构方案前四周完成搭建、基础驱动和第一版自动程序中间四周反复迭代机构、调自动程序并开始对抗练习赛前两周冻结大改动只做参数微调赛前三天进行模拟赛和故障检查。比赛当天需要带齐的物资建议单独列一张清单机器人本体、备用电池和充电器、常用工具、备用线缆和螺丝、笔记本电脑、程序备份U盘、纸质规则摘要、快速故障卡。不要指望现场能借到工具宁可多带也不少带。物资清单最好由专人负责赛前一个一个打勾核对。9. 长期进阶建议从VEX到综合工程素养9.1 代码与文档管理习惯很多队伍会把代码存在某个人的电脑里这是风险最大的习惯。一旦电脑出问题或者队员临时不能到场整个备赛进度都会受影响。建议从第一周开始就建立云端备份机制哪怕只是每周手动上传一次也能避免“电脑丢了、赛季归零”的情况。代码管理之外文档管理同样重要。规则笔记、设计草图、调试参数、训练日志这些记录的价值在比赛现场会完全体现出来。现场调参数时能快速查到“上次稳定运行的Kp值是多少”比现场重新试错高效得多。工程能力的本质其实就是把不确定的事情变成可查阅、可复现的流程。9.2 结构、算法与程序解耦好的VEX项目不是靠某一段复杂的代码赢的而是靠把结构、算法和程序合理分层。驱动控制统一封装成函数传感器读取统一封装成模块自动步骤调用封装好的接口而不是在main函数里写一堆重复代码。这样做的直接好处是比赛现场即使换了电机、调整了结构程序主体也能快速适配。举个例子如果驱动函数接收“目标距离”而不是“固定时间”那么调整机器人速度或换轮子后程序仍然能通过编码器闭环跑到目标点。这种“参数化”的编程习惯一开始会多花一点时间但到赛场上会成倍节省调试时间。9.3 赛后可以继续深挖的方向无论北京选拔赛结果如何VEX备赛过程中积累的能力都可以延伸到更广阔的领域。如果对机械感兴趣可以继续学习CAD三维建模把比赛中的机构在电脑里做仿真验证如果对控制感兴趣可以深入学习PID整定、运动学和路径规划如果对感知感兴趣可以尝试用摄像头做视觉识别这些都比单纯追求比赛成绩更有长期价值。VEX的真正意义是在一场比赛里体验一次完整的产品研发过程从需求分析、方案设计、样机实现到测试迭代、赛场验证。这份经历本身就是训练工程思维的绝佳机会。真正让你在赛场上稳定发挥的从来不是临时抱佛脚而是赛前几个月沉淀下来的规则理解、工程习惯和团队默契。希望这份备赛笔记能给你带来一些可执行的思路减少一些无效加班。赛场见。
返回列表