ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

SELF-VLA框架:为机器人注入触觉智能,攻克接触式拆解难题

SELF-VLA框架:为机器人注入触觉智能,攻克接触式拆解难题 1. 项目缘起当机器人需要“手感”时在工业自动化领域让机器人完成“拧螺丝”、“拔插头”、“拆卡扣”这类看似简单的接触式拆解任务一直是个老大难问题。传统的“示教-再现”模式或者基于固定轨迹的编程在面对零件公差、装配应力、工具磨损等现实变量时往往显得笨拙不堪。一个螺丝稍微拧得紧一点或者卡扣老化变脆机器人就可能因为力控不当而损坏工件甚至伤及自身。这背后是机器人对“触觉”和“手感”的缺失——它无法像熟练工人那样通过微妙的力反馈和视觉观察实时调整自己的动作策略。近年来视觉-语言-动作Vision-Language-Action, VLA模型的出现为机器人带来了新的曙光。它让机器人能“看懂”指令语言、“看清”环境视觉并“规划”出动作。然而标准的VLA模型在处理需要精细力交互的接触式任务时常常力不从心。它可能知道要“拧下螺丝”但不知道用多大的扭矩、多快的速度以及在遇到阻力时该如何“柔顺”地应对。这就像教一个孩子用筷子只告诉他“夹起花生”却没教他手指如何发力、如何感知花生的滑腻与重量。“SELF-VLA: A Skill Enhanced Agentic Vision-Language-Action Framework for Contact-Rich Disassembly”这个项目正是为了解决这一核心痛点。它不是一个简单的工具集成而是一个旨在为机器人注入“肌肉记忆”和“触觉智能”的增强型框架。其核心思想是在通用VLA模型的“大脑”之上叠加一层专门针对接触式操作的“技能层”。这个技能层就像一位经验丰富的老师傅能将抽象的“拆解”指令转化为一系列包含力感知、自适应调整和错误恢复的具体“手感”动作。我之所以对这个框架感兴趣是因为它触及了机器人从“看得见”到“干得好”的关键跃迁对于推动自动化进入更复杂、更柔性的装配与维修场景具有实实在在的价值。2. SELF-VLA框架的核心架构拆解要理解SELF-VLA如何工作我们需要把它拆开来看。这个名字本身就包含了它的设计哲学SkillEnhancedLearningFramework forVision-Language-Action。它不是一个从零开始训练的全新模型而是一个“增强插件”式的架构旨在赋能现有的VLA基础模型。2.1 三层核心模块感知、决策与执行闭环整个框架可以清晰地划分为三个协同工作的层级它们共同构成了一个从指令理解到动作执行的完整闭环。第一层视觉-语言理解与场景解析层这是框架的“眼睛”和“耳朵”通常基于一个强大的多模态大模型如GPT-4V、Flamingo等变体。它的任务不仅仅是识别物体“这是一个螺丝刀”更是理解场景的语义和任务结构。给定一个自然语言指令如“请拆卸这个笔记本电脑的后盖”这一层需要完成物体检测与位姿估计精准定位后盖、螺丝、卡扣的位置和三维朝向。任务步骤分解将“拆卸后盖”分解为“找到并拧下所有螺丝”、“用撬片沿边缘分离卡扣”、“小心向上提起后盖”等子步骤。这一步往往通过思维链Chain-of-Thought提示或内部规划模块实现。状态理解判断当前任务进行到哪一步例如“已拧下3颗螺丝还剩1颗”“卡扣A已分离卡扣B仍卡紧”。第二层技能增强与策略规划层这是SELF-VLA的“灵魂”所在也是其区别于普通VLA的核心。当基础VLA模型输出一个高层级动作如“拧螺丝”后并不会直接转换为低层机器人指令。而是会进入这个“技能库”进行查询和增强。技能库这是一个预定义或学习得到的技能集合。每个技能不是一个简单的动作轨迹而是一个参数化的策略模型。例如“拧螺丝”技能包含的参数可能涉及初始接触力、旋转速度、目标扭矩、最大允许扭矩、滑丝检测阈值、回退策略等。这些技能可以通过模仿学习从人类演示中学习、强化学习在仿真中自我练习或两者结合的方式获得。技能选择与参数适配根据当前视觉场景螺丝型号、生锈程度和任务状态该层从技能库中选择最合适的技能实例并动态调整其参数。比如对于一颗生锈的螺丝它会自动调高最大允许扭矩并启用“往复微振”的辅助策略来松动锈迹。力-位混合规划输出不再是纯粹的位置轨迹而是力控与位控相结合的混合指令。例如在插入撬片时先以力控模式轻轻顶住缝隙边缘保持一个恒定的微小接触力再切换到位控模式沿特定轨迹滑动。第三层实时执行与状态反馈层这是框架的“手”和“神经”。它接收来自第二层的混合指令并通过机器人的控制器通常是阻抗控制或导纳控制器执行。高频率状态监控实时读取关节扭矩、末端六维力/力矩传感器数据、视觉特征变化等。异常检测与恢复这是接触式任务的关键。框架持续监测执行状态是否偏离预期。例如当拧螺丝时扭矩急剧上升但位移不变可能判断为“滑丝”当分离卡扣时力反馈突然消失可能判断为“卡扣断裂”。一旦检测到异常立即触发预定义的恢复策略如停止、回退、重新尝试或上报错误并将此异常状态作为新的“场景”反馈给第一层和第二层进行重规划。这三层通过一个共享的“工作记忆”或“状态表示”紧密连接使得高层语义理解、中层技能调度和底层执行反馈能够实时同步形成一个真正自主、适应性的智能体Agent。2.2 “Agentic”特性体现在何处“Agentic”一词是项目的点睛之笔它意味着这个框架中的机器人不是一个被动的执行器而是一个具有自主性的智能体。主要体现在主动感知与查询当指令模糊时如“拆开它”智能体会主动通过视觉扫描识别可操作部件并向用户或知识库询问以明确目标“您是指要拆卸这个面板吗”。基于状态的自主决策它不会死板地按预设步骤走。例如如果发现一颗螺丝滑丝无法拧下它可能自主决策跳过该螺丝尝试从其他固定点开始拆卸或者切换工具。试错与学习在安全边界内智能体可以尝试不同的策略。如果一种拧入角度失败它会稍微调整角度再试。更为先进的设计中这些成功的调整可以被抽象为新的经验沉淀到技能库中实现框架的自我进化这也是“SELF”中“Learning”的深层含义。3. 技能库的构建从“招式”到“内功”技能库是SELF-VLA的力量源泉。构建一个丰富、鲁棒的技能库是整个项目落地中最具挑战性也最富价值的一环。这不仅仅是录制几个动作那么简单。3.1 技能的表征超越动作轨迹一个合格的接触式操作技能至少需要包含以下几类信息动作基元技能的核心运动模式如“直线插入”、“旋转”、“摇橹式摆动”、“恒力接触”。感知触发条件什么情况下可以/应该启动这个技能例如“当螺丝刀头与螺丝槽口对齐且距离小于2mm时可触发‘拧入’技能”。终止条件技能何时算成功完成何时该失败退出例如“‘拧入’技能成功条件扭矩达到设定值且持续2秒失败条件尝试3次仍未达到接触状态或扭矩超限报警”。力控参数包括期望的接触力/力矩、阻抗参数刚度、阻尼、力控方向等。这是赋予机器人“手感”的关键。异常处理策略当遇到阻力突变、打滑、卡死等情况时应该执行怎样的应急动作序列如“回退5mm-轻微振动-再次尝试”。在实际项目中我们通常使用动态运动基元或神经运动基元来封装这些信息。它们能够将演示的动作轨迹泛化到不同的起始点、目标点和速度要求上。3.2 技能获取的三条路径路径一专家演示与模仿学习这是最直接的方法。由熟练的操作人员通过“手把手”示教或遥操作的方式完成多次拆卸任务。记录下的不仅是末端轨迹更重要的是过程中的力/力矩数据。然后使用行为克隆、动态运动基元学习等算法从这些多模态数据中提炼出技能策略。这里的坑在于演示数据必须覆盖足够多的 corner cases边缘情况比如特别紧的螺丝、已经损坏的卡扣否则学到的技能会很脆弱。路径二仿真环境与强化学习在MuJoCo、PyBullet或Isaac Sim等物理仿真器中构建高保真的拆卸场景模型。让智能体在仿真中通过试错强化学习来探索如何高效、安全地完成任务。仿真的优势在于可以低成本、高速地生成海量数据尤其是那些现实中难以获取的失败数据如用力过猛导致零件碎裂。我们可以设置密集的奖励函数例如完成任务奖励1000使用过大力矩惩罚-10耗时过长惩罚-1引导智能体学习“又快又轻柔”的策略。之后再通过仿真到现实的迁移技术将习得的技能应用到真实机器人上。路径三混合学习与分层精炼这是目前最有前景的方向。首先通过有限的专家演示为技能学习提供一个较好的初始策略解决强化学习探索难的问题。然后在仿真和真实世界中利用强化学习对这个初始策略进行微调和优化使其适应更广泛的情况。最后将优化后的策略与基于模型的规划相结合形成最终可部署的技能。这个过程就像学徒先跟师傅学个大概模仿然后自己反复练习琢磨强化学习最后形成自己的独门手法。注意技能库的构建绝非一劳永逸。不同的工件材质金属、塑料、不同的连接方式螺纹、卡扣、胶粘、甚至不同的工具电动螺丝刀、手动螺丝刀都需要不同的技能或技能参数。因此一个可扩展、易管理的技能库架构例如按任务类型、物体类别进行索引至关重要。4. 实战部署从实验室到车间的挑战与应对让SELF-VLA框架在真实的工业环境中稳定运行是检验其价值的最终标准。这里充满了在仿真和理想实验室环境中遇不到的“魔鬼细节”。4.1 硬件选型与系统集成机器人本体并非所有机器人都适合。优先选择协作机器人因为它们天生具备力感知能力和安全人机交互特性。例如Universal Robots的e系列、Franka Emika的Panda、以及国产的越疆、节卡等品牌都是不错的选择。它们的关节通常内置了扭矩传感器能够实现较好的阻抗控制。感知系统视觉需要2D3D视觉的融合。一台高分辨率工业相机用于精细的二维识别如螺丝型号、标签文字一台深度相机如Intel RealSense, Azure Kinect或3D结构光相机用于获取精确的点云数据完成位姿估计。光照变化、反光表面是视觉系统的大敌必须设计稳定的打光方案。力觉这是接触式任务的“生命线”。除了机器人自带的关节扭矩感知强烈建议在末端工具上加装一个六维力/力矩传感器。它能提供更直接、更精确的末端接触力信息对于拧螺丝、插拔这类操作至关重要。品牌如ATI、Robotous的都是行业标准。工具端工具需要“智能化”。例如使用带扭矩反馈和转速控制的电动螺丝刀并将其通过IO或总线协议与机器人控制器集成使得机器人可以精确控制拧紧过程。对于撬动操作可能需要定制带有力感知的柔性末端执行器。软件框架整个系统通常运行在ROS或ROS 2上。VLA模型部分可能部署在一台高性能工控机或服务器上甚至部分在云端通过ROS服务或话题与机器人的实时控制系统如ROS-Control通信。这里的关键是实时性与延迟管理。从图像采集到生成动作指令的整个闭环延迟必须控制在可接受范围内通常希望小于100ms否则机器人会显得“迟钝”在快速交互中容易失控。4.2 校准与标定精度之源在部署前有几项校准工作必须一丝不苟地完成手眼标定确定相机坐标系与机器人基座坐标系之间的变换关系。这是让机器人“看得懂”空间位置的基础。推荐使用easy_handeye或visp_hand2eye_calibration等ROS工具包并采集多组高精度的标定板姿态数据进行优化。工具中心点标定确定力传感器坐标系、工具如螺丝刀头尖端在机器人末端法兰坐标系下的精确位置。这对于力控和精确操作至关重要。通常采用“四点法”或“六点法”进行TCP标定。力传感器零漂校准在机器人静止、未接触任何物体时记录力传感器的读数作为零点。这个零点会随温度、姿态略有变化需要定期或在任务开始前校准。4.3 安全策略绝对红线在涉及力的自动化任务中安全是第一要务。必须在软件层面设置多层安全防护软件限位为机器人的位置、速度、关节扭矩和末端力设置严格的软件限制。这些限制应远低于硬件的物理极限。碰撞检测实时监控关节扭矩或电机电流一旦检测到非预期的力突变可能发生碰撞立即触发紧急停止或柔顺退让。人工干预机制必须保留便捷的人工急停、示教器暂停、以及“柔顺拖动”功能。操作员应能随时接管机器人。任务级安全约束在技能定义中就嵌入安全逻辑。例如“拧螺丝”技能必须包含“如果连续3秒扭矩无变化且未达到目标则判定为异常并停止”。5. 一个具体的拆解案例笔记本电脑后盖拆卸让我们以一个具体的任务——“使用SELF-VLA框架指导机器人拆卸笔记本电脑后盖”——来串联上述所有概念看看这个框架是如何一步步工作的。步骤1任务初始化与解析操作员发出语音或文本指令“拆卸这台笔记本电脑的D壳后盖”。机器人通过麦克风或HMI接收指令。视觉-语言层工作搭载VLA模型的工控机启动控制相机对工作台上的笔记本进行多角度拍摄。VLA模型识别出物体为“笔记本电脑”并理解“D壳”指的是底部盖板。它开始进行任务分解①定位所有固定螺丝②定位可能的卡扣位置③规划拆卸顺序。输出生成一个初步的任务图[任务拆卸D壳] - [子任务1拧下所有可见螺丝] - [子任务2用工具分离边缘卡扣] - [子任务3取下D壳]。同时输出所有螺丝的3D位姿和卡扣的大致位置区域。步骤2螺丝拆卸——技能增强的体现机器人移动到第一颗螺丝上方。技能层介入高层指令“拧下螺丝”被发送到技能增强层。该层结合视觉信息螺丝类型十字PH2预估状态无锈蚀和任务上下文第一步从技能库中调用“十字螺丝-拆卸”技能实例。参数动态配置技能实例加载默认参数目标转速200 RPM期望扭矩0.5 Nm。但同时它接收来自视觉的微调建议由于螺丝位置较深略微调高初始接触力阈值确保螺丝刀头完全嵌入槽口。混合控制执行机器人以位置模式精确移动使螺丝刀头对准螺丝。在即将接触时切换为力控模式以恒定微小力如2N向下压确保咬合。咬合后切换为扭矩控制模式以恒定扭矩逆时针旋转。力传感器实时反馈扭矩值。异常处理如果旋转时扭矩瞬间飙升可能滑丝技能内置的异常处理程序被触发立即停止旋转小幅回退尝试以更慢的速度和更垂直的角度再次接触和旋转。如果尝试两次仍失败则标记该螺丝为“异常”将状态“1号螺丝滑丝拆卸失败”反馈给上层并询问是否继续拆卸其他螺丝。步骤3卡扣分离——触觉感知的挑战所有螺丝拆卸完毕后进入卡扣分离阶段。这是最体现“手感”的部分。技能选择技能增强层选择“薄片工具-分离卡扣”技能。这个技能不是简单的撬动而是一个复杂的力-轨迹混合策略。执行过程机器人控制一个薄撬片以力控模式轻轻“贴”在D壳与C壳主体的缝隙处保持一个恒定的侧向接触力如1N。然后沿着缝隙边缘以位置模式缓慢移动同时持续监控侧向力。当撬片移动到卡扣位置时会感到阻力增加。此时技能策略要求在保持侧向接触力的同时增加一个微小的向上分力并配合高频低幅的振动模仿人手“抖”的动作使卡扣弹性变形并脱钩。状态判断卡扣脱开的瞬间侧向力会有一个骤降。力传感器捕捉到这个信号技能判定“该卡扣已分离”。机器人记录此位置并继续沿着边缘寻找下一个卡扣点。步骤4任务完成与状态更新所有卡扣分离后“取下D壳”子任务被激活。机器人切换到纯位置模式以平滑轨迹将D壳平移取出放置到指定区域。最终反馈视觉系统确认D壳已移除内部组件电池、内存条等清晰可见。任务状态更新为“完成”。整个过程中的关键数据如每颗螺丝的实际拆卸扭矩、卡扣分离时的力曲线可以被记录并用于技能库的优化或预测性维护例如某颗螺丝扭矩异常大提示该连接点可能存在问题。通过这个案例可以看到SELF-VLA框架将高层的语义理解、中层的技能调度和底层的力觉交互无缝融合使机器人能够像熟练工一样处理充满不确定性的物理交互任务。它不再是机械地重复动作而是能够感知、思考并适应复杂的现实世界。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表