具身智能_数据集构成与基本概念

具身智能

1.数据-模型-算力-工具链以及具体应用对象
    开源模型、数据集和工具
        “基础运动能力
           关节精度、热管理、电源系统、控制算法、通信干扰等
          遥控模式 跟跑模式 全自主模式
          谐波减速器:谐波传动减速器 
         通用性更强的替代形态
     机电系统
         末端执行器 (End Effector) 是机器人执行部件的统称,一般安装于机器人腕部的末端,是直接执行任务的装置。
    	    末端执行器按其功能可以分为两大类,即:工具类和抓手类
    		   自由度数量、驱动方式、传动机构、感知技术等进行分类
     
  
2.神经网络架构,2)学习法则,3)目标函数,4)训练数据/环境  

3.机电系统 
 动力源分为液压,气动和电动三大类
    电动:电源类型分为直流电机和交流电机两大类;按照应用类型一般可分为直流伺服电动机驱动、交流伺服电动机驱动、步进电动机驱动
     直流电机(DC Motor)  伺服电机(Servo Motor)  步进电机(Stepping Motor
	   马达
 关节  关节(Joint)
    Joint Space: 有多少驱动关节,有多少自由度
	R是旋转关节(Revolute Joint),P是平移关节(Prismatic Joint)
	   基础关节肯定是只有一个自由度(Degree of freedom/DOF)的,旋转关节只绕某一个轴旋转,平移关节只在某一条直线上运动
	   PPP笛卡尔坐标机器人
  EEF 末端执行器位姿的核心构成 机器人末端执行器的位姿(Pose)由两大要素构成: 位置 和 姿态
    ‌ 笛卡尔空间 (Cartesian Space)‌是指机器人末端执行器在三维空间中的位置和姿态
	  操作空间(operational space)  end effector的位置(position)和朝向(orientation)
	 轮式末端与脚式末端
    逆向运动学 (inverse kinematics)  桌面的环境下(tabletop scenario)		
 连杆(Link)   

传感器与执行器

    科大讯飞6麦克风语音阵列,远扬无碍收音
    RealSense深度相机,视野全覆盖
    高精度六维感知力模块
    惯性传感单元 实现全身位姿实时监
组成部分:
  轻量化关节模组-无刷力矩电机	

信号与数据

信号与数据
    01.信号  《DBC File Format Document》
      CAN通信矩阵是指用于 描述 CAN 网络中各个节点之间通信关系的表格或矩阵 CAN(Controller Area Network)通信
	  DBC 是由 vector 公司定义的 CAN 网络通信文件格式 
	       DBC文件描述的是数据帧: 理解信号描述需掌握起始位、信号长度、字节顺序等规则
		   Vector CANdb++ Editor 工具  不管是 Intel 格式,还是 Motorola 格式,起始位都为该信号的低位
    02.数据: 数据的规模以及时间跨度
       运动学数据,包括关节角度、扭矩,以及夹爪的位置、朝向和开合状态。
             	state:机器人机械臂、腿部、手部控制信息。		   
数据采集与处理
    1)数据采集装置
	2)设备参数
	3)数据处理
	    基于时间戳的对齐机制:
数据集 
   数据集规模 
      258 个场景系列(Series),321064 个任务(tasks),3033188个轨迹片段(Episodes)	
	    Series 是指同一个场景和同一个机器人采集的系列数据,如人形机器人在工厂车间采集的系列数据,可能包含不同的任务;
	    Task   是一个具体的任务,比如搬运货物,同一个任务可以重复采集多次,
	    Episode 是针对某一具体任务的一次完整采集过程   执行轨迹(episode trajectories)
		trajectories  执行轨迹(episode trajectories)
		End Effector)末端执行器( 是机器人系统中的一个关键部件,用于与外部环境进行交互。
		它通常位于机器人系统的末端,可以是机械手臂、控制器、传感器等装置

数据集

 基础:视觉模态 单一场景下的简单动作  任务定义模糊
 进一步:多模态融合加上触觉与力觉反馈数据 复杂逻辑推理、多步骤协作、目标关联任务的覆盖	 
  数据: 数据格式不统一、评估指标不一致、标注方式差异
  
数据集:
   数据集名称:Open X-Embodiment   数据格式RLDS格式,	
   数据集名称:RoboMIND
    meta 
	   rotation_type
    ##observation.images    videos/chunk-000
	  observation.images.front_view
	  observation.images.left_wrist_view
	  observation.images.right_wrist_view
	parquet   
	   observation.state   : 1D concatenated array of all action modalities.  一维数组
       action 		   
	   timestamp 
	   annotation.human.action.task_description annotation.human.validity   
	   next.reward   next.done
	   episode_index task_index  
	 
    1.注释的格式: <annotation_source>.<annotation_type>(.<annotation_name>) 		 
	2.index":0, // index of the observation. This is a global index across all observations in the dataset. 
	   全局唯一 

Standard LeRobot

Standard LeRobot   2024年5月16日
    visual-motor 模型  aloha,diffusion,和 tdmpc。 机器人动作规模模型
	visual-lingual-motor 模型,   
     observation.environment_state
	observation.effort 
 GR00T LeRobot 额外的数据 additional metadata file meta/modality.json 

能力

哪些能力具有迁移的技术价值,哪些能力可以跨场景集成  
 夹爪(手腕)相机
 数据采集遥操设备:全身动捕套装+ VR
仿真: MuJoCo、Habitat、SeaWave 等仿真引擎
        info 提供数据集的全局元数据,包括版本、来源和版权信息。
  	task_index:任务的唯一标识符,与 Parquet 文件中的task_index字段直接关联。
        episode_index
		modality : state annotation  同数据模态(如状态、动作、视频、注释等)

    data/parquet文件
	        基础轨迹与状态
	          observation.state
			  
		配置动作生成策略。通过策略模型,可以根据观测数据生成动作	  
		 action类型:位置、速度、加速度、力矩、扭矩
         action坐标系:世界坐标系、机器人坐标系、任务相关的物体坐标系	  
{
    "state": {
        "<state_key>": {
            "start": <int>,         // 状态数组中的起始索引
            "end": <int>,           // 状态数组中的结束索引
            "rotation_type": <str>,  // 可选:指定旋转格式
            "dtype": <str>,         // 可选:指定数据类型
            "range": <tuple[float, float]>, // 可选:指定模态范围
        }
    },
    "action": {
        "<action_key>": {
            "start": <int>,         // 动作数组中的起始索引
            "end": <int>,           // 动作数组中的结束索引
            "absolute": <bool>,      // 可选:true表示绝对值,false表示相对/增量值
            "rotation_type": <str>,  // 可选:指定旋转格式
            "dtype": <str>,         // 可选:指定数据类型
            "range": <tuple[float, float]>, // 可选:指定模态范围
        }
    },
    "video": {
        "<new_key>": {
            "original_key": "<original_video_key>"
        }
    },
    "annotation": {
        "<annotation_key>": {}  // 空字典,与其他模态保持一致
    }
}

参数

具身智能的研究主要集中在
     模仿学习(Imitation Learning)和强化学习 (Reinforcement Learning, RL) 两大块
observation.effort是指机器人在执行某个动作时所需的努力或力

    observation = {
        'position': [x, y],  # 机器人的位置
        'velocity': [vx, vy],  # 机器人的速度
        'pole_angle': theta,  # 杆的角度
        'pole_velocity_at_tip': omega  # 杆尖端的角速度
    }

位姿

  机器人位姿数据形式转换与旋转矩阵总结(欧拉角、RPY、NOAP)
 位姿(Position and Orientation)
 "rotation_type" 
    1.四元数表示 NOAP 是一种使用四元数表示的旋转方式,四元数比欧拉角
         quaternion
    2.矩阵表示 旋转矩阵		 
        matrix 
    3.轴角表示 轴角旋转(Axis-Angle Rotation)
       axis_angle
    
    4. 6d(自由度)旋转表示
     rotation_6d
       6D位姿,即6个自由度的位姿,包括3个自由度的位移(Translation)和3个自由度的空间旋转(Rotation),合起来就叫位姿 (Pose)
     
    欧拉角
       euler_angles_rpy euler_angles_ryp euler_angles_pry euler_angles_pyr euler_angles_yrp euler_angles_ypr
       例如:
          euler_angles_rpy  RPY (Roll-Pitch-Yaw) 是一种特殊的欧拉角表示方式,
    	    通常用于描述航天器或机械臂的姿态 RPY 的定义与欧拉角相似,但其旋转顺序固定为 ZYX。

策略

act        :Action Chunking Transformer 策略
diffusion  :扩散策略
tdmpc      :时序差分模型预测控制
vqbet      :向量量化行为变换器
pi0        :基础策略实现

    扎实的肢体技能和对环境的常识性理解,

说明

GR00T N1是由英伟达于2025年3月19日推出的全球首款开源人形机器人功能模型				  
# GR1 系列配置
"gr1_arms_only"         # GR1 仅机械臂(无腰部)
"gr1_arms_waist"        # GR1 机械臂 + 腰部传感器 
"gr1_full_upper_body"   # GR1 上半身完整传感器

# 双臂 Panda 机器人配置
"bimanual_panda_gripper"  # 双 Panda 臂 + 夹爪
"bimanual_panda_hand":    # 双 Panda 臂 + 仿人灵巧手

# 单臂 Panda 机器人配置
"single_panda_gripper"    # 单 Panda 臂 + 夹爪

# 特殊场景配置
"so100"                   # 工业场景专用配置(如 So100 标准)


 输入数据中,有2个重要的数据就是 state 和 action
 128维的动作空间
    CLVR Jaco Play子数据集采集了
	          机械臂的End effector的 x,y,z,各坐标轴的旋转角,还有各坐标轴的角速度。
	而Droid数据集除了 End effector的 x,y,z,各坐标轴的旋转角外,还采集了各joint(关节)的角度
 一套完整的动作叫一个episode,一般一个相同的指令需要采集多个episode。
     每个episode一般包含很多采样,例如可以采样180条数据,
	        每条数据都包含那一采样时刻的 state, action, image, text指令等全部信息
控制信号 
     end effector坐标xyz控制,有的是用joint角度控制,有的是用xyz或joint角度的增量控制,有的还需要输入速度/角速度控制信号

算法数据处理

 VLA可视为VLM(视觉-语言模型)与机器运动数据(如RT-1)的结合,其技术架构包括视觉编码器、文本编码器、轨迹解码器与文本解码器

视频转换:应用于视频数据,准备用于模型训练
 
状态转换:处理机器人状态信息:
    StateActionToTensor:将状态数据(如手臂位置、手部配置)转换为PyTorch张量
    StateActionTransform:对状态数据应用归一化
动作转换:处理机器人动作数据:
    StateActionToTensor:与状态转换类似,将动作数据转换为PyTorch张量
    StateActionTransform:对动作数据应用归一化
	
 in the form of (video, state, action)	
 
连接转换:将处理后的数据组合成统一数组

state以及action

lerobot 库中包含多种策略模型,如 ACT、Diffusion、TDMPC 等
    ACT(Action Chunking with Transformers)
动作生成: 
    # 采集观测数据 # Uses the follower arms and cameras to capture an observation
    observation = robot.capture_observation()
     
    # 生成动作   # Assumes a policy has been instantiated
    with torch.inference_mode():
        action = policy.select_action(observation)
     
    # 发送动作给机器人
    robot.send_action(action)

duckdb 查看parquet 数据

 create  table  episode as  select * from  read_parquet("episode_00001.parquet");
 select* from episode limit 5;
 desc table episode;
 select action from episode;
 select "observation.state" from episode; -- 带有dot的列名 在mysql中用反引号,在duckdb中用双引号 ###

强化学习术语和概念。 State action policy reward trajectory
    价值函数分为两种,一种是动作价值函数,另一种是状态价值函数。
	 状态(State) 状态代表了智能体在某一时刻所处的环境信息或情景。它是环境对智能体的一个观测值,可以包含各种信息
	 动作(Action)​定义:智能体在某个状态下能做出的选择。
	 奖励函数 (reward function) 
	 智能体学到的策略 (policy)
(视频、状态、动作)三元组
  parquet文件,存储状态信息、动作和时间戳等	
  
Github 上存放成 arrow 格式,而 Huggingface 上存放成 parquet 格式。
   随着机器人数据收集日益普及, 数据管理成为下一个挑战  高效、高质量的数据收集	

参考

 https://github.com/NVIDIA/Isaac-GR00T/blob/main/getting_started/LeRobot_compatible_data_schema.md	  
 https://github.com/dora-rs/dora-lerobot
 https://github.com/huggingface/lerobot/tree/main
  LeRobot的数据集系统(上)  https://zhuanlan.zhihu.com/p/1908239878614947512
posted @ 2025-06-13 12:10  辰令  阅读(114)  评论(0)    收藏  举报