ExBody2: Advanced Expressive Humanoid Whole-Body Control

ExBody2: Advanced Expressive Humanoid Whole-Body Control

  • 研究动机
  • 解决方案
  • 技术路线
  • 实验结果

ExBody2: Advanced Expressive Humanoid Whole-Body Control

研究动机

  • 高维状态空间和复杂控制限制了人形机器人在现实世界中的应用。
  • 人形机器人和人类在身体结构上有很大不同,阻碍了机器人完全复制人类动作的能力。

解决方案

提出高表达性全身控制(ExBody2),该框架可以最大限度地提高人形机器人上可行的全身运动的表现力。该框架属于Sim2Real,策略将参考运动作为输入,输出控制真实人形机器人在现实世界中执行运动的动作。其中策略可以对不同的动作进行泛化。

在这里插入图片描述

技术路线

数据集管理:数据集包括各种上半身运动。动作的多样性对于挑战和增强机器人的适应性和对实际应用的准备至关重要,尤其是响应意外场景的灵活性。而由于机器人的机械限制和稳定性要求,下半身的运动选择更加保守。基本动作包括行走和细微的姿态调整。而高动态的运动如跳跃或复杂的旋转运动,则需要仔细考量。不可行的行为进行训练会在学习过程中引入噪声,从而降低其有效性。此外,还需要排除或修改超出机器人能力的复杂下半身运动动作。

策略学习:采用两阶段师生训练策略。具体而言,教师策略首先使用PPO算法进行训练,在仿真中获取特权信息。然后,将特权信息替换为与现实世界一致的观测值,并将教师策略提炼为可部署的学术策略。

  • 教师策略学习:状态信息包括特权信息、机器人本体感知和运动跟踪目标。动作输出是关节目标位置。特权信息包含人形机器人和环境的一些状态真值,这些真值只能在仿真中观测到,包括机器人本体速度、机器人本体连接件的位置和物理属性(比如摩擦系数、电机强度)。运动跟踪目标由两部分组成,分别是上半身和下半身的预期关节和3D关键点,以及目标线速度和位姿。奖励函数包括跟踪机器人本体速度、方向和方位,跟踪关键点和关节位置,以及正则化项。

Alt
在这里插入图片描述

  • 学生策略学习:学生策略不含特权信息,而是使用观测时序更长的历史帧来训练,同时包含运动跟踪目标。使用教师策略输出的动作对学生策略输出的动作进行监督,并采用MSE损失进行训练。此外,还用DAgger方法,在仿真环境中执行学生策略以生成训练数据。
  • 跟踪策略解耦:运动跟踪包含两个目标:跟踪关节位置和身体关键点位置。关键点跟踪至关重要,因为关节的跟踪误差可以扩散到整个身体,而关键点跟踪而直接应用于身体。具体而言,将全局关键点映射到机器人的局部坐标系,并使用基于速度的全局跟踪。速度和运动的协调允许即使出现轻微的位置偏差也能完成跟踪效果。此外,为进一步增强机器人在跟随关键点的能力,在训练阶段允许关键点有轻微的全局漂移,并定期将其纠正到机器人的当前坐标系。

连续运动生成:现有的动作通常较短,这限制了人形机器人连续执行有趣且延伸的行为。为克服该问题,训练条件变分自编码器CVAE,以合成未来可以被全身跟踪策略直接使用的动作。具体而言,CVAE根据历史M帧的运动信息合成未来H帧的运动信息,包括关节位置、机器人本体姿态、速度和角速度。该设计使ExBody2系统能够执行超越原始数据集时长限制的复杂动作(如持续舞蹈),并且动态适应环境变化以及保持动作的自然流畅性。

实验结果

请阅读原文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31650.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

115.不同的子序列(困难)

115.不同的子序列 力扣题目链接(opens new window) 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符…

【学习笔记】【AI医生】2-4 项目详细分析及DeepSeek适用场景

【DeepSeek AI 医生】2-4 项目详细分析及DeepSeek适用场景 1.1 项目流程图1.2 主流AI模型对比1.3 DeepSeek使用途径1.4 DeepSeek 适用场景 1.1 项目流程图 1.2 主流AI模型对比 1.3 DeepSeek使用途径 官网 https://chat.deepseek.com/线上Api (目前不可以状态&#…

再聊 Flutter Riverpod ,注解模式下的 Riverpod 有什么特别之处,还有发展方向

三年前我们通过 《Flutter Riverpod 全面深入解析》 深入理解了 riverpod 的内部实现,而时隔三年之后,如今Riverpod 的主流模式已经是注解,那今天就让我们来聊聊 riverpod 的注解有什么特殊之处。 前言 在此之前,我们需要先回忆…

Java【多线程】(3)单例模式与线程安全

目录 1.前言 2.正文 2.1线程安全类 2.2杂谈(介绍几个概念) 2.2.1内存可见性 2.2.2指令重排序 2.2.3线程饥饿 1. 什么是线程饥饿? 2. 线程饥饿的常见原因 2.2.4区分wait和sleep 2.4单例模式 2.4.1饿汉模式 2.4.2懒汉模式 2.4.2指…

4g串口发短信踩坑

这短短的4行有三种发送方式 1 勾选新行 2 不选新行 3 不选新行,再勾选16进制,完美解决 推荐网站AIR780 MINI LTE 4G全网通模块 — wiki

STM32 ——系统架构

3个被动单元 SRAM 存储程序运行时用到的变量 Flash(内部闪存存储器) 存储下载的程序 程序执行时用到的常量 桥接1和桥接2 AHB到APB的桥(AHBtoAPBx) 桥1 通过APB2总线连接到APB2上的外设。 高速外设,最高72MHz。 桥2 通过…

离散化和树状数组

离散化 #include<bits/stdc.h> using namespace std; using lllong long; const int N3e59; ll a[N]; struct Q {ll a,b; }Add[N],Que[N];//用结构体存储数值对 vector<ll>X; ll getIdx(ll x)//得到离散化数组下标 {return lower_bound(X.begin(),X.end(),x)-X.beg…

序列化和反序列化(Linux)

1 序列化和反序列化 write和read实质是拷贝函数 1.1序列化和反序列化的概述&#xff1a; 2网络版计算器 2.1代码实现 先把日志拷贝过来 2.1.1必须先要有网络功能 先把 TcpServer.hpp编写号 #pragma once #include <cstdint>#include "Socket.hpp" #inclu…

关于ngx-datatable no data empty message自定义模板解决方案

背景&#xff1a;由于ngx-dataable插件默认没有数据时显示的文案是no data to display&#xff0c;且没有任何样式。这里希望通过自定义模板来实现。但目前github中有一个案例是通过设置代码&#xff1a; https://swimlane.github.io/ngx-datatable/empty** <ngx-datatable…

opencv 图片颜色+轮廓识别

目标图片&#xff1a; 1 简单识别图片中出现颜色最多的 import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;public class SimpleImageColorRecognizer implements ImageColorRecogniz…

文件系统调用(上) ─── linux第17课

目录 linux 中man 2和man 3的区别 文件内容介绍 C语言文件接口 示例: 输出信息到显示器&#xff0c;你有哪些方法 总结: 系统文件I/O 文件类的系统调用接口介绍 示例 open 函数具体使用哪个,和具体应用场景相关&#xff0c; write read close lseek ,类比C文件相关接…

vue3-element-admin 前后端本地启动联调

一、后端环境准备 1.1、下载地址 gitee 下载地址 1.2、环境要求 JDK 17 1.3、项目启动 克隆项目 git clone https://gitee.com/youlaiorg/youlai-boot.git数据库初始化 执行 youlai_boot.sql 脚本完成数据库创建、表结构和基础数据的初始化。 修改配置 application-dev.y…

证券行业SCA开源风险治理实践

近日&#xff0c;悬镜安全成功中标国内领先的证券公司海通证券软件成分分析工具采购项目&#xff0c;中标产品为源鉴SCA开源威胁管控平台。 海通证券作为国内领先的证券公司之一&#xff0c;当下已基本建成涵盖证券期货经纪、投行、自营、资产管理、私募股权投资、另类投资、融…

JVM内存结构笔记(上)

文章目录 前言运行时数据区域1.程序计数器定义特点总结 2.虚拟机栈2.1 定义局部变量表 ★操作数栈动态链接方法返回地址(方法出口) 2.2 栈内存溢出演示栈内存溢出 java.lang.StackOverflowError 2.3问题辨析1. 垃圾回收是否涉及栈内存&#xff1f;2. 栈内存分配越大越好吗&…

使用 Miniforge3 管理 Python 环境的详细指南(基于最新实践和时效性信息,截至 2025 年)

以下是使用 Miniforge3 管理 Python 环境的详细指南&#xff08;基于最新实践和时效性信息&#xff0c;截至 2025 年&#xff09;&#xff1a; 一、Miniforge3 简介 Miniforge3 是一个轻量级 Conda 环境管理工具&#xff0c;默认使用 conda-forge 软件源&#xff08;社区维护的…

【python|二分|leetcode441】一题搞清楚二分区间问题---闭区间、左闭右开、左开右闭、全开区间

every blog every motto: Although the world is full of suffering&#xff0c; it is full also of the overcoming of it 0. 前言 一题搞清楚二分区间问题—闭区间、左闭右开、左开右闭、全开区间 0.1 题目&#xff1a;Problem: 441. 排列硬币 你总共有 n 枚硬币&#x…

【NLP 34、实践 ⑧ 基于faq知识库和文本匹配算法进行意图识别】

目录 一、demo1_similarity_function.py 二、demo2_bm25.py 三、基于faq知识库和文本匹配算法的意图识别 1.初始化 2.加载BM25模型 3.加载Word2Vec模型 4.文本向量化 5.加载知识库 6.查询方法 7.模型测试 正是江南好时节&#xff0c;落花时节又逢君 —— 25.3.7 一、demo1_sim…

机器人交互系统 部署构建

环境要求 Ubuntu 20.04 或更高版本ROS Noetic 或兼容版本Python 3.8 安装步骤 1. 安装ROS环境&#xff08;如未安装&#xff09; sudo apt update sudo apt install ros-noetic-desktop-full source /opt/ros/noetic/setup.bash2. 创建工作空间并克隆代码 mkdir -p ~/code…

每日一题——两数相加

两数相加 问题描述问题分析解题思路代码实现代码解析注意事项示例运行总结 问题描述 给定两个非空链表&#xff0c;表示两个非负整数。链表中的每个节点存储一个数字&#xff0c;数字的存储顺序为逆序&#xff08;即个位在链表头部&#xff09;。要求将这两个数字相加&#xff…

ResNet50深度解析:原理、结构与PyTorch实现

ResNet50深度解析&#xff1a;原理、结构与PyTorch实现 1. 引言 ResNet&#xff08;残差网络&#xff09;是深度学习领域的一项重大突破&#xff0c;它巧妙解决了深层神经网络训练中的梯度消失/爆炸问题&#xff0c;使得构建和训练更深的网络成为可能。作为计算机视觉领域的里…