当前位置: 首页 > news >正文

Robot---能打羽毛球的机器人

1 前言

        Robot系列主要介绍一些比较有意思的机器人,前面的博客文章中也给读者朋友们展示了一些:

        《人形机器人---越来越像人了》

        《自动驾驶---两轮自行车的自主导航》

        《自动驾驶---会打架的“球形机器人”》

        《Robot---SPLITTER行星探测机器人》

        《Robot---奇思妙想轮足机器人》

        目前强一些的研究团队都在研究如何让机器人(不管是双足还是四足)完成人类的某些动作,这也是机器人技术进步的一种体现。

        本篇博客介绍的是 ETH 苏黎世联邦理工大学的研究团队在机器人顶刊Science Robotics上发布的成果,探索如何让拥有腿部和手臂的机器人(即腿足机械臂)学习并执行像羽毛球这样高度动态、需要全身协调的复杂技能。

2 羽毛球Robot

        机器人由四足底盘(苏黎世联邦理工的老演员了)、机械臂和立体相机组成。立体相机为前置双目立体相机,图像采样频率为 30Hz,用于感知羽毛球的位置和运动状态等信息,系统通过摄像感知、轨迹预测与整身控制策略实现对羽毛球的精准拦截与挥拍操作。

        当前这种直接基于强化学习的端到端方法,不仅可应用于四足机器人,还应用于无人机,无人车等做种机器人载体。感兴趣的读者朋友可以看看,很多知名高校(苏黎世联邦理工大学,香港科技大学,浙大等)开源的论文和代码都有不少,但目前仍然停留在学术Demo阶段,还没有到量产阶段。

    2.1 架构

            相机安装:该腿式移动操作机器人由四足底盘和动态机械臂组成,额外安装了一个带全局快门的立体相机。

            机器人控制系统接收在相机坐标系中计算出的羽毛球位置,预测拦截位置,并将其与机器人本体感知数据一起输入强化学习(RL)策略。该策略通过生成关节指令控制机器人的全部 18 个驱动单元。

            总体的思路比较简单,预测羽毛球运动轨迹,通过强化学习方法计算最佳击球位置,难点在于协同控制。

            研究方法与设计:

    • 基于强化学习的整身控制策略:核心是利用 PPO(Proximal Policy Optimization)算法,训练一个联合控制机器人 18 个关节的策略网络。策略结构采用非对称 Actor-Critic 架构,Critic 能访问 “特权信息”,如球的真实位置、速度和未来轨迹等,以获得更稳定的训练反馈;Actor 仅基于机器人部署时可获得的感知信息,如本体状态、预测击球点进行动作输出,提升训练效率并保持策略的可部署性。
    • 贴近真实的感知误差模型:由于羽毛球速度快,微小感知误差会导致击球失败,因此在训练中引入基于实测数据回归的感知误差模型。该模型考虑观测角度、距离、球速对测量误差的影响,并在仿真中为每次观测引入高斯噪声扰动,增强了策略对现实感知条件的鲁棒性,还使机器人发展出主动视觉行为,如通过躯干姿态调整保持球在视野中央,击球前微调站位以减少预测误差。
    • 具备目标引导与物理约束的训练机制:奖励函数除击中球的核心奖励外,还设计多个辅助项,用于鼓励策略提前接近预测击球点、控制步态稳定性、控制挥拍速度与角度以匹配球速、在连续击球任务中维持身体状态稳定等。此外,提出多目标摆动训练范式,每个训练回合中机器人需连续完成多次击球,模拟真实对战中的回合场景,让机器人学习击球后的姿态收敛和过渡动作的快速调度。

    2.2 详细框架

            论文的核心贡献在于提出了一种端到端的强化学习(Reinforcement Learning, RL)框架,用于学习腿足机械臂的全身协调羽毛球技能。

    • 强化学习范式

      • 模型无关(Model-Free)RL: 避免了对机器人复杂动力学模型的精确建模,而是通过与环境的交互来学习最优策略。
      • 策略梯度方法: 通常会使用如PPO (Proximal Policy Optimization) 或 SAC (Soft Actor-Critic) 等算法,这些算法在处理连续控制任务和高维状态/动作空间方面表现出色。
    • 状态空间(Observation Space)
      为了让机器人“理解”当前情况,其观测空间通常包括:

      • 机器人自身状态: 各关节的角度、角速度、基座(body)的姿态(俯仰、滚转、偏航)、线速度和角速度。
      • 羽毛球状态: 羽毛球相对于机器人基座的位置、速度,甚至可能是其历史轨迹,以便预测未来位置。
      • 目标信息: 例如,击球目标点(如果任务要求将球击到特定区域)。
    • 动作空间(Action Space)
      机器人直接控制的输出:

      • 关节目标位置/力矩: 策略输出的是机器人所有关节(包括腿部和手臂)的目标位置或力矩,由低层控制器执行。这确保了全身的协同控制。
    • 奖励函数(Reward Function)
      奖励函数是RL成功的关键,它引导机器人学习期望的行为:

      • 击球成功奖励: 当机器人成功击中羽毛球时给予高奖励。
      • 击球质量奖励: 鼓励球击过网,并落在对方场地内。可能还会细化为击球速度、角度等。
      • 平衡与稳定性奖励/惩罚: 避免机器人跌倒,鼓励其在运动中保持基座的稳定和姿态的平稳。
      • 运动平滑性/能耗奖励: 惩罚剧烈的关节抖动或过大的关节力矩,鼓励更自然、高效的运动。
      • 任务完成奖励: 例如,每成功击打一次球就给予奖励。
    • 训练策略与Sim2Real

      • 大规模仿真训练: 在高保真物理仿真器(如Isaac Gym, MuJoCo等)中进行数百万甚至数十亿步的训练。这是因为在真实机器人上进行如此大规模的试错是不可行且危险的。
      • 域随机化(Domain Randomization): 为了弥合仿真与现实之间的差距(Sim2Real Gap),在仿真训练过程中,会随机化各种环境参数和机器人参数,例如:
        • 摩擦系数、空气阻力。
        • 机器人质量、惯量、关节刚度、阻尼。
        • 传感器噪声、执行器延迟。
        • 羽毛球的初始速度和旋转。
          这使得学习到的策略对真实世界中的不确定性更加鲁棒。
      • 课程学习(Curriculum Learning): 可能从简单的任务开始(例如,静止击球,然后逐步增加球速和复杂性),帮助策略循序渐进地学习。
      • 统一的全身控制策略: 整个机器人(腿部和手臂)由一个单一的神经网络策略控制,确保了内在的协调性。

    2.3 难点与挑战

    (1)难点

            研究四足机器人打羽毛球是一个很有意思的课题,那么针对这两件事情,分别有什么难点?

    • 腿足机械臂: 腿足机器人提供卓越的移动性和越障能力,而机械臂则赋予它们操作和交互的能力。将两者结合,可以创造出能在复杂地形中移动并执行精细任务的机器人。然而,控制这种高自由度(High-DOF)的系统,尤其是在执行全身协调的动态任务时,是一个巨大的挑战。
    • 羽毛球作为测试平台: 羽毛球运动是一个极佳的测试平台,因为它包含了机器人控制的诸多难点:
      • 高动态性: 羽毛球飞行速度快,轨迹多变,要求机器人快速感知和响应。
      • 全身协调: 机器人需要通过腿部移动来定位自身,同时用手臂挥拍击球,且在击球过程中保持平衡和稳定。
      • 实时决策: 需要在毫秒级时间内预测球的轨迹并规划击球动作。
      • 精确的接触动力学: 击球瞬间的力道和角度控制至关重要。
      • 平衡与鲁棒性: 在剧烈挥拍和移动中保持不摔倒。

    (2)核心挑战

    • 高维度控制空间: 腿足机械臂通常拥有数十个自由度,传统控制方法难以有效优化。
    • 动态环境下的鲁棒性: 机器人需要适应羽毛球来球的各种速度、角度和旋转。
    • 全身运动的耦合: 腿部运动会影响手臂的基座,手臂挥拍的惯性力会影响腿部的平衡,两者必须协同工作。
    • Sim2Real Gap: 在仿真环境中训练的策略如何有效地迁移到真实的物理机器人上,是一个普遍存在的问题。

    2.4 实验结果

            论文通常会通过以下方式验证其方法的有效性:

    • 仿真环境测试:
      • 展示机器人在仿真中成功击打各种来球,包括高速球、不同角度的球等。
      • 量化击球成功率、击球精度、机器人稳定性等指标。
    • 真实机器人部署:
      • 将训练好的策略部署到真实的腿足机械臂硬件平台(例如,Unitree H1, ANYmal + Franka Emika Panda等组合)。
      • 通过实际视频和数据展示机器人在真实世界中成功击打羽毛球,验证Sim2Real的有效性。
    • 性能对比:
      • 可能与传统的基于模型或非全身协调的控制方法进行对比,突出强化学习和全身协调的优势。
      • 展示机器人能够应对复杂、动态的击球场景,这是传统方法难以实现的。

    3 总结

            本篇博客所介绍的论文不仅仅是让机器人学会打羽毛球,更重要的是它提供了一个通用的框架和方法,用于训练高自由度、多模态机器人执行需要精细全身协调的复杂动态任务,这对于推动通用型机器人的发展具有里程碑式的意义。

            当前这种直接基于强化学习的端到端不仅应用于四足机器人,还应用于无人机,无人车等做种机器人载体。感兴趣的读者朋友可以看看,开源的论文和代码都有不少,但目前仍然停留在学术Demo阶段,还没有到量产。

    参考论文:《Learning coordinated badminton skills for legged manipulators》

    http://www.dtcms.com/a/266115.html

    相关文章:

  • Linux: perf report数据对比,python
  • Java的SpringAI+Deepseek大模型实战之会话记忆
  • MySQL 8.0 OCP 1Z0-908 题目解析(19)
  • 基于SpringBoot+Vue的电影售票系统(协同过滤算法)
  • 【数据安全】连续数据突升检测
  • 优化Facebook广告投放的五大关键策略
  • 全双工和半双工在以太网报文收发过程中的核心区别
  • AMD-R9-9950X 和 微星B850M-MORTAR-WIFI主板 简单开箱测评
  • [自然语言处理]汉语文本分词
  • Odoo 中国特色高级工作流审批模块研发
  • 页面登录数据的加密(前端+后端)
  • 使用pdf box去水印
  • 搜索选择DFS还是BFS
  • NumPy-核心函数transpose()深度解析
  • 【HarmonyOS】HAR和HSP循环依赖和依赖传递问题详解
  • 二叉树展开为链表C++
  • 20.数据同步Mysql-ES解决方案
  • 网络编程学习路线图
  • 如何配置core dump生成
  • Android App冷启动流程详解
  • webrtc-streamer视频流播放(rstp协议h264笔记)
  • 新人如何入门学习 STM32?
  • Stata如何做机器学习?——SHAP解释框架下的足球运动员价值驱动因素识别:基于H2O集成学习模型
  • Selenium 自动化测试中跳过机器人验证的完整指南:能用
  • 1688 Agent Russia 丨俄罗斯淘宝代购1688代采集运系统搭建指南介绍
  • 8分钟讲完 Tomcat架构及工作原理
  • Vue如何处理数据、v-HTML的使用及总结
  • 使用Python Watchdog库实现文件系统监控
  • Linux基本命令篇 —— tar命令
  • 修改阿里云vps为自定义用户登录