【具身智能】AgiBotWorld数据集介绍——智元百万真实机器人数据集

相关链接

Github:https://github.com/OpenDriveLab/AgiBot-World
数据集下载链接:https://huggingface.co/datasets/agibot-world/AgiBotWorld-Alpha
数据集官网:https://agibot-world.com/

机器人

  采集数据用到的机器人型号为远征A2-D(官网介绍链接:https://www.zhiyuan-robot.com/products/A2_D

在这里插入图片描述

在这里插入图片描述

数据集格式

数据目录

data
├── task_info
│   ├── task_327.json
│   ├── task_352.json
│   └── ...
├── observations
│   ├── 327 # This represents the task id.
│   │   ├── 648642 # This represents the episode id.
│   │   │   ├── depth # This is a folder containing depth information saved in PNG format.
│   │   │   ├── videos # This is a folder containing videos from all camera perspectives.
│   │   ├── 648649
│   │   │   └── ...
│   │   └── ...
│   ├── 352
│   │   ├── 648544
│   │   │   ├── depth
│   │   │   ├── videos
│   │   ├── 648564
│   │   │   └── ...
│   └── ...
├── parameters
│   ├── 327
│   │   ├── 648642
│   │   │   ├── camera
│   │   ├── 648649
│   │   │   └── camera
│   │   └── ...
│   └── 352
│       ├── 648544
│       │   ├── camera # This contains all the cameras' intrinsic and extrinsic parameters.
│       └── 648564
│       │    └── camera
|       └── ...
├── proprio_stats
│   ├── 327[task_id]
│   │   ├── 648642[episode_id]
│   │   │   ├── proprio_stats.h5 # This file contains all the robot's proprioceptive information.
│   │   ├── 648649
│   │   │   └── proprio_stats.h5
│   │   └── ...
│   ├── 352[task_id]
│   │   ├── 648544[episode_id]
│   │   │   ├── proprio_stats.h5
│   │   └── 648564
│   │    └── proprio_stats.h5
│   └── ...

任务信息-json文件

  每个json文件存储了当前任务的描述信息,包括任务名称、初始关于场景的文本描述、任务对应的动作信息(action config)、关键帧(key frame)。
  其中动作信息包括:动作开始时对应的帧数、动作结束时对应的帧数、动作对应的文本描述、动作对应的技能;关键帧包括:关键帧开始时对应的帧数、关键帧结束时对应的帧数、关键帧对应的文本描述。

任务信息案例

[ {"episode_id": 649078,
   "task_id": 327,
   "task_name": "Picking items in Supermarket",
   "init_scene_text": "The robot is in front of the fruit shelf in the supermarket.",
   "lable_info":{
    "action_config":[
       {"start_frame": 0,
        "end_frame": 435,
        "action_text": "Pick up onion from the shelf."
        "skill": "Pick"
       },
       {"start_frame": 435,
        "end_frame": 619,
        "action_text": "Place onion into the plastic bag in the shopping cart."
        "skill": "Place"
       },
    ]
    "key_frame": [
      {"start": 0,
       "end": 435,
       "comment": "Failure recovery"
      }
    ]
},
]

注:动作描述(action text)和关键帧(key frame)并没有全部公开,计划一月中旬公开这些数据。

观测数据

  共包括两种数据,深度图数据和RGB图像数据。

深度图

  分辨率为640×480,数值范围为0-240。机器人介绍里说是有三个RGBD相机,但是目前公开的数据集中,深度图似乎只有头部中间相机的图像,两个手的深度图信息似乎没有给,不知道后面会不会给出。

在这里插入图片描述

RGB图像数据

  整个机器人共有8个相机,头部中间的相机、头部中间的鱼眼相机、头部左侧的鱼眼相机、头部右侧的鱼眼相机、后脑勺左侧鱼眼相机、后脑勺右侧鱼眼相机、左手相机、右手相机(共包括3个普通相机,5个鱼眼相机),分辨率均为960×768。

头部中间的相机

在这里插入图片描述

头部中间的鱼眼相机

在这里插入图片描述

后脑勺左侧鱼眼相机

在这里插入图片描述

右手相机

在这里插入图片描述

机器人本体状态数据

|-- timestamp
|-- state
    |-- effector
        |-- force
        |-- position
    |-- end
        |-- angular
        |-- orientation
        |-- position
        |-- velocity
        |-- wrench
    |-- head
        |-- effort
        |-- position
        |-- velocity
    |-- joint
        |-- current_value
        |-- effort
        |-- position
        |-- velocity
    |-- robot
        |-- orientation
        |-- orientation_drift
        |-- position
        |-- position_drift
    |-- waist
        |-- effort
        |-- position
        |-- velocity
|-- action
    |-- effector
        |-- force
        |-- index
        |-- position
    |-- end
        |-- orientation
        |-- position
    |-- head
        |-- effort
        |-- position
        |-- velocity
    |-- joint
        |-- effort
        |-- index
        |-- position
        |-- velocity
    |-- robot
        |-- index
        |-- orientation
        |-- position
        |-- velocity
    |-- waist
        |-- effort
        |-- position
        |-- velocity

术语解释

状态和动作

  • 状态(state):不同传感器(sensor)和执行器(actuator)的监测信息;
  • 动作(action):发送到硬件层的指令信息,控制器将对这些指令做出响应;发出的指令和实际执行的状态之间存在差异

执行器

  • 效应器(effector):指末端效应器,例如灵巧的手或抓手;
  • 末端(end):机器人手指上的6自由度(6DoF)末端位姿
  • 头部(head):为机器人的头部视角,有两个自由度(俯仰角pitch和偏航角yaw,也就是上下角度和左右角度)
  • 关节(joint):指机器人双臂的关节,共有14个自由度,每只手臂有7个自由度;
  • 机器人(robot):指机器人在其周围环境中的姿态,方向和位置是指机器人在测程坐标系(odometry coordinate)中的相对姿态,其中原点是在机器人通电之后设置的;
  • 腰部(waist):指机器人的腰部关节,有两个自由度(俯仰pitch和升降lift)

公共属性

  • 位置(position):包括空间位置、编码器位置、角度等等;
  • 速度(velocity):指速度(speed);
  • 角速度(angular):指角速度(angular velocity);
  • 力(effort):指电机的扭矩(Torque of the motor),(目前暂时没有);
  • 扳手(wrench):6维力,xyz方向上的力和扭矩(force in the xyz directions, and torque),(目前暂时没有);

每个数据的维度和意义

GroupShapeMeaning
/timestamp[N]timestamp in nanoseconds
/state/effector/position (gripper)[N, 2]left [:, 0], right [:, 1], gripper open range in mm
/state/effector/position (dexhand)[N, 12]left [:, :6], right [:, 6:], joint angle in rad
/state/end/orientation[N, 2, 4]left [:, 0, :], right [:, 1, :], flange quaternion with xyzw
/state/end/position[N, 2, 3]left [:, 0, :], right [:, 1, :], flange xyz in meters
/state/head/position[N, 2]yaw [:, 0], pitch [:, 1], rad
/state/joint/current_value[N, 14]left arm [:, :7], right arm [:, 7:]
/state/joint/position[N, 14]left arm [:, :7], right arm [:, 7:], rad
/state/robot/orientation[N, 4]quaternion in xyzw, yaw only
/state/robot/position[N, 3]xyz position, where z is always 0 in meters
/state/waist/position[N, 2]pitch [:, 0] in rad, lift [:, 1]in meters
/action/*/index[M]actions indexes refer to when the control source is actually sending signals
/action/effector/position (gripper)[N, 2]left [:, 0], right [:, 1], 0 for full open and 1 for full close
/action/effector/position (dexhand)[N, 12]same as /state/effector/position
/action/effector/index[M_1]index when the control source for end effector is sending control signals
/action/end/orientation[N, 2, 4]same as /state/end/orientation
/action/end/position[N, 2, 3]same as /state/end/position
/action/end/index[M_2]same as other indexes
/action/head/position[N, 2]same as /state/head/position
/action/head/index[M_3]same as other indexes
/action/joint/position[N, 14]same as /state/joint/position
/action/joint/index[M_4]same as other indexes
/action/robot/velocity[N, 2]vel along x axis [:, 0], yaw rate [:, 1]
/action/robot/index[M_5]same as other indexes
/action/waist/position[N, 2]same as /state/waist/position
/action/waist/index[M_6]same as other indexes

数据用法

  对于这种用设备,一步一步采集的数据,在执行动作的每一帧,我们都可以获得传感器上的各个响应数据,例如位置、朝向、关节夹角等,我们将这些传感器数据统称为状态数据(state),同时,我们也可以捕获每个关节的动作信息(action),包括位置、速度等等。模型所要做的就是根据当前的图像观测observation、当前的状态state,去预测下一刻的动作action。
  智元官方给出了将公开数据的格式转化为LeRobot数据格式的代码(LeRobot链接:https://github.com/huggingface/lerobot),LeRobot是一个比较主流的机器人数据存储格式(类似目标检测中的COCO格式),将各种状态、动作信息统一到一个文件夹里,便于后续的代码调用。

  LeRobot数据格式的转换代码:https://huggingface.co/datasets/agibot-world/AgiBotWorld-Alpha/blob/main/scripts/convert_to_lerobot.py

  以任务327为例,该任务相关的状态维度为20,动作空间的维度为22:

在这里插入图片描述

所有任务

  一共45个任务,具体如下:
task_name: Supermarket pickup - Produce area.
init_scene_text: A robot is in front of the fruit shelf in the supermarket.
task_name: Opening fridge and taking out food.
init_scene_text: A robot is placed in front of a refrigerator with the door closed.
task_name: Supermarket pickup - Shelf area.
init_scene_text: A robot is in front of the supermarket shelf, with a shopping cart next to it.
task_name: Hanging clothes with a hanger.
init_scene_text: A robot stands beside the bed or sofa, with clothes and a hanger placed on the bed or sofa.
task_name: Supermarket packing - Hard.
init_scene_text: A robot is in front of the checkout counter, with three different types of items and a shopping bag on the counter.
task_name: Washing dishes with a dishwasher.
init_scene_text: The dishwasher lid is slightly closed, with items to be cleaned placed in the right sink.
task_name: Toasting bread.
init_scene_text: A bowl containing two slices of toast or a pack of bread slices is placed in front of the robot on the left side, while a toaster is placed in front of the robot on the right side.
task_name: Sorting household items.
init_scene_text: A robot stands in front of a table, with a 2-compartment material box and a target box on the table. The target box is on the right, and the 2-compartment material box is on the left.
task_name: Supermarket packup - Easy.
init_scene_text: A robot is in front of the checkout counter, with three different types of items and a shopping bag on the counter.
task_name: Flattening shorts.
init_scene_text: A robot is placed in front of a bed in the bedroom, with a pair of shorts messily placed on the bed.
task_name: Folding shorts.
init_scene_text: A pair of shorts is laid flat horizontally on a bed in the bedroom.
task_name: Sorting laundry and personal care products - task2.
init_scene_text: A robot stands in front of a table, with a 3-compartment material box and a target box on the table. The target box is on the left, and the 3-compartment material box is on the right.
task_name: Food sorting.
init_scene_text: A robot stands in front of a table, with a 4-compartment material box and a target box on the table. The target box is on the left, and the 4-compartment material box is on the right.
task_name: Taking out toast.
init_scene_text: A robot has an empty dinner plate on the left and a toaster with two pieces of toasted bread on the right.
task_name: Barbecuing.
init_scene_text: A robot stands in front of an oven with a baking tray containing two pieces of vegetables to be grilled. The oven is placed on the left side, and a oil dish and seasoning bottles are placed on the right side.
task_name: Magnet block packing.
init_scene_text: The tabletop is arranged with a nine-compartment material tray, and to the right of the tray on the assembly line, there are 1 to 5 magnetic blocks placed.
task_name: Supermarket packing - Medium.
init_scene_text: A robot is in front of the checkout counter, with four different types of items and a soft woven bag on the counter.
task_name: Sorting laundry and personal care products - task1.
init_scene_text: A robot stands in front of a table, with a 3-compartment material box and a target box on the table. The target box is on the left, and the 3-compartment material box is on the right.
task_name: Making tea.
init_scene_text: A box of tea bags, a cup, and a kettle are placed on the table.
task_name: Sorting electronic products.
init_scene_text: A robot stands in front of a table, with a 4-compartment material box and a target box on the table. The material box is on the left, and the target box is on the right.
task_name: E-commerce packing - Task 1.
init_scene_text: A robot stands in front of a table, with a cardboard box, air column packaging, and items placed on the table in order.
task_name: Cleaning up the dining table.
init_scene_text: The robot holds an empty dinner plate with a fork in a bowl, and a plate, cup, and napkin are placed on the table.
task_name: E-commerce packing - Task 2.
init_scene_text: A robot stands in front of a table, with a cardboard box, air column packaging, and items placed on the table in order.
task_name: Inserting a book into a bookshelf.
init_scene_text: A robot stands in front of a bookshelf, and there is a slight gap between each book on one shelf. The books to be inserted are placed flat on another shelf.
task_name: Supermarket pickup - Freezer area.
init_scene_text: A robot is in front of the freezer section of the supermarket.
task_name: Supermarket pickup - Fresh area.
init_scene_text: A robot is in front of the fresh food section of the supermarket, with a shopping cart next to it.
task_name: Scanning items at a supermarket checkout.
init_scene_text: A robot stands at the supermarket checkout counter, with three items and a barcode scanner on the counter. The items are randomly placed.
task_name: Washing bottles.
init_scene_text: A robot faces the sink, with a bottle of colored liquid on the countertop and a cup brush standing in a storage box on the countertop.
task_name: Sorting clothes.
init_scene_text: A robot stands in front of a table, with a material box containing clothes and a target box on the table. The 2-compartment material box is on the right, and the target box is on the left.
task_name: Pouring water in a restaurant.
init_scene_text: A robot’s operational area includes an empty cup and a bottle of colored tea in the kettle.
task_name: Opening the wardrobe to hang clothes.
init_scene_text: The robot is facing the wardrobe, with its right hand holding the clothes to be hung.
task_name: Industrial logistics packup (picking items from a conveyor belt).
init_scene_text: A conveyor belt, a logistics box, and air column packaging are placed on the table, with the logistics box on the left and the air column packaging on the right.
task_name: Cleaning countertop trash.
init_scene_text: There are three pieces of trash on the countertop, with a trash can next to it. The trash can has a trash bag inside.
task_name: Inserting a memory kit.
init_scene_text: A robot stands in front of the table, holding a memory kit in its left hand.
task_name: Using the washing machine to wash clothes.
init_scene_text: There is a front-load washing machine in front of the robot, and a laundry basket next to it. Two pieces of clothing are draped over the edge of the laundry basket.
task_name: Putting the pen into the pen holder.
init_scene_text: The robot is facing a desk, with pen 1, pen 2, and a pen holder randomly placed on the tabletop.
task_name: Ironing clothes.
init_scene_text: A robot stands in front of a garment steamer with a piece of clothing hanging on it, while the steam iron is on its stand.
task_name: Hanging clothes with a hanger.
init_scene_text: The robot stands by the bed or sofa, with clothes and a hanger placed on the bed or sofa. Two neatly folded clothes are placed around, or nothing is placed around.
task_name: Dual-robot table carrying.
init_scene_text: Two robots are on opposite sides of the table, facing each other, with the table in between.
task_name: Making a sandwich.
init_scene_text: The robot is facing a cooking counter. To the robot’s left-front, there is a toast basket containing slices of toast. To its right, there is a plate with vegetable leaves and meat slices, and a bottle of salad dressing. In front of the robot, there is an empty plate and a toaster.
task_name: Ironing clothes.
init_scene_text: An ironing machine is leaning against the wall. The robot is standing in front of the ironing machine. A short-sleeved shirt is hanging on the ironing machine, and a iron rests on the stand of the ironing machine.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉萌新、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值