From fe558f7adbdec653938dcc2bc1c2b05506abb50b Mon Sep 17 00:00:00 2001 From: Qizhi Chen Date: Mon, 14 Apr 2025 20:01:09 +0800 Subject: [PATCH] add support for agibot2lerobot (#15) Co-authored-by: ModiShi Co-authored-by: aopolin-lv Co-authored-by: HaomingSong --- README.md | 2 +- agibot2lerobot/README.md | 242 +++++++++++++++ agibot2lerobot/agibot_h5.py | 309 ++++++++++++++++++ agibot2lerobot/agibot_utils/agibot_utils.py | 94 ++++++ agibot2lerobot/agibot_utils/config.py | 310 +++++++++++++++++++ agibot2lerobot/agibot_utils/lerobot_utils.py | 75 +++++ agibot2lerobot/convert.sh | 7 + agibot2lerobot/libtcmalloc.so.4.5.3 | Bin 0 -> 303040 bytes 8 files changed, 1038 insertions(+), 1 deletion(-) create mode 100644 agibot2lerobot/README.md create mode 100644 agibot2lerobot/agibot_h5.py create mode 100644 agibot2lerobot/agibot_utils/agibot_utils.py create mode 100644 agibot2lerobot/agibot_utils/config.py create mode 100644 agibot2lerobot/agibot_utils/lerobot_utils.py create mode 100644 agibot2lerobot/convert.sh create mode 100755 agibot2lerobot/libtcmalloc.so.4.5.3 diff --git a/README.md b/README.md index 35427c2..0dd1b7b 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ A curated collection of utilities for [LeRobot Projects](https://github.com/hugg ## ✨ Features - ​**​Data Conversion​**​: - [x] [Open X-Embodiment to LeRobot](./openx2lerobot/README.md) - - [ ] AgiBot-World to LeRobot + - [x] [AgiBot-World to LeRobot](./agibot2lerobot/README.md) - [ ] RoboMIND to LeRobot - [ ] LeRobot to RLDS diff --git a/agibot2lerobot/README.md b/agibot2lerobot/README.md new file mode 100644 index 0000000..1bbbf87 --- /dev/null +++ b/agibot2lerobot/README.md @@ -0,0 +1,242 @@ +# AgiBot-World to LeRobot + +## 🚀 What's New in This Script + +In this dataset, we have made several key improvements: + +- **Preservation of Agibot’s Original Information** 🧠: We have preserved as much of Agibot’s original information as possible, with field names strictly adhering to the original dataset’s naming conventions to ensure compatibility and consistency. +- **State and Action as Dictionaries** 🧾: The traditional one-dimensional state and action have been transformed into dictionaries, allowing for greater flexibility in designing custom states and actions, enabling modular and scalable handling. + +Dataset Structure of `meta/info.json`: + +```json +{ + "codebase_version": "v2.1", // lastest lerobot format + "robot_type": "a2d", // specific robot type + "fps": 30, // control frequency + "features": { + "observation.images.image_key": { + "dtype": "video", + "shape": [480, 640, 3], + "names": ["height", "width", "rgb"], + "info": { + "video.fps": 3.0, + "video.height": 128, + "video.width": 128, + "video.channels": 3, + "video.codec": "av1", + "video.pix_fmt": "yuv420p", + "video.is_depth_map": false, + "has_audio": false + } + }, + // for more states key, see config.py + "observation.states.joint.position": { + "dtype": "float32", + "shape": [14], + "names": { + "motors": [ + "left_arm_0", + "left_arm_1", + "left_arm_2", + "left_arm_3", + "left_arm_4", + "left_arm_5", + "left_arm_6", + "right_arm_0", + "right_arm_1", + "right_arm_2", + "right_arm_3", + "right_arm_4", + "right_arm_5", + "right_arm_6" + ] + } + }, + "observation.states.head.position": { + "dtype": "float32", + "shape": [ + 2 + ], + "names": { + "motors": [ + "yaw", + "patch" + ] + } + }, + ... + // for more actions key, see config.py + "actions.head.position": { + "dtype": "float32", + "shape": [2], + "names": { + "motors": ["yaw", "patch"] + } + }, + "actions.waist.position": { + "dtype": "float32", + "shape": [2], + "names": { + "motors": ["pitch", "lift"] + } + }, + ... + } +} +``` + +## Installation + +1. Install LeRobot: + Follow instructions in [official repo](https://github.com/huggingface/lerobot?tab=readme-ov-file#installation). + +2. Install others: + We use ray for parallel conversion, significantly speeding up data processing tasks by distributing the workload across multiple cores or nodes (if any). + ```bash + pip install h5py + pip install -U "ray[default]" + ``` + +## Get started + +> [!IMPORTANT] +> 1.If you want to save depth when converting the dataset, modify `_assert_type_and_shape()` function in [lerobot.common.datasets.compute_stats.py](https://github.com/huggingface/lerobot/blob/main/lerobot/common/datasets/compute_stats.py). +> +> ```python +> def _assert_type_and_shape(stats_list: list[dict[str, dict]]): +> for i in range(len(stats_list)): +> for fkey in stats_list[i]: +> for k, v in stats_list[i][fkey].items(): +> if not isinstance(v, np.ndarray): +> raise ValueError( +> f"Stats must be composed of numpy array, but key '{k}' of feature '{fkey}' is of type '{type(v)}' instead." +> ) +> if v.ndim == 0: +> raise ValueError("Number of dimensions must be at least 1, and is 0 instead.") +> if k == "count" and v.shape != (1,): +> raise ValueError(f"Shape of 'count' must be (1), but is {v.shape} instead.") +> # bypass depth check +> if "image" in fkey and k != "count": +> if "depth" not in fkey and v.shape != (3, 1, 1): +> raise ValueError(f"Shape of '{k}' must be (3,1,1), but is {v.shape} instead.") +> if "depth" in fkey and v.shape != (1, 1, 1): +> raise ValueError(f"Shape of '{k}' must be (1,1,1), but is {v.shape} instead.") +> ``` + +> [!NOTE] +> The conversion speed of this script is limited by the performance of the physical machine running it, including **CPU cores and memory**. We recommend using **3 CPU cores per task** for optimal performance. However, each task requires approximately 20 GiB of memory. To avoid running out of memory, you may need to increase the number of CPU cores per task depending on your system’s available memory. + +### Download source code: + + +```bash +git clone https://github.com/Tavish9/any4lerobot.git +``` + +### Modify path in `convert.sh`: + +There are three types of end-effector, `gripper`, `dexhand` and `tactile`, specify the type before converting + +```bash +python convert.py \ + --src-path /path/to/AgiBotWorld-Beta \ + --output-path /path/to/local \ + --eef-type gripper \ + --num-cpus-per-task 3 +``` + +### Execute the script: + +#### For single node + +```bash +cd agibot2lerobot && bash convert.sh +``` + +#### For multi nodes + +**Direct Access to Nodes (2 nodes in example)** + +On Node 1: + +```bash +ray start --head --port=6379 +``` + +On Node 2: + +```bash +ray start --address='node_1_ip:6379' +``` + +On either Node, check the ray cluster status, and start the script + +```bash +ray status +cd agibot2lerobot && bash convert.sh +``` + +**Slurm-managed System** + +```bash +#!/bin/bash +#SBATCH --job-name=ray-cluster +#SBATCH --ntasks=2 +#SBATCH --nodes=2 +#SBATCH --partition=partition + +# Getting the node names +nodes=$(scontrol show hostnames "$SLURM_JOB_NODELIST") +nodes_array=($nodes) + +head_node=${nodes_array[0]} +head_node_ip=$(srun --nodes=1 --ntasks=1 -w "$head_node" hostname --ip-address) + +# if we detect a space character in the head node IP, we'll +# convert it to an ipv4 address. This step is optional. +if [[ "$head_node_ip" == *" "* ]]; then +IFS=' ' read -ra ADDR <<<"$head_node_ip" +if [[ ${#ADDR[0]} -gt 16 ]]; then + head_node_ip=${ADDR[1]} +else + head_node_ip=${ADDR[0]} +fi +echo "IPV6 address detected. We split the IPV4 address as $head_node_ip" +fi + +port=6379 +ip_head=$head_node_ip:$port +export ip_head +echo "IP Head: $ip_head" + +echo "Starting HEAD at $head_node" +srun --nodes=1 --ntasks=1 -w "$head_node" \ + ray start --head \ + --node-ip-address="$head_node_ip" \ + --port=$port \ + --block & + +sleep 10 + +# number of nodes other than the head node +worker_num=$((SLURM_JOB_NUM_NODES - 1)) + +for ((i = 1; i <= worker_num; i++)); do + node_i=${nodes_array[$i]} + echo "Starting WORKER $i at $node_i" + srun --nodes=1 --ntasks=1 -w "$node_i" \ + ray start \ + --address "$ip_head" \ + --block & + sleep 5 +done + +sleep 10 + +cd agibot2lerobot && bash convert.sh +``` + +**Other Community Supported Cluster Managers** + +See the [doc](https://docs.ray.io/en/latest/cluster/vms/user-guides/community/index.html) for more details. \ No newline at end of file diff --git a/agibot2lerobot/agibot_h5.py b/agibot2lerobot/agibot_h5.py new file mode 100644 index 0000000..1b4c55f --- /dev/null +++ b/agibot2lerobot/agibot_h5.py @@ -0,0 +1,309 @@ +import argparse +import gc +import shutil +from concurrent.futures import ( + ThreadPoolExecutor, + as_completed, +) +from pathlib import Path +from typing import Callable + +import numpy as np +import ray +import torch +from agibot_utils.agibot_utils import get_task_instruction, load_local_dataset +from agibot_utils.config import AgiBotWorld_TASK_TYPE +from agibot_utils.lerobot_utils import compute_episode_stats, generate_features_from_config +from lerobot.common.datasets.lerobot_dataset import LeRobotDataset +from lerobot.common.datasets.utils import ( + check_timestamps_sync, + get_episode_data_index, + validate_episode_buffer, + validate_frame, +) +from ray.runtime_env import RuntimeEnv + + +class AgiBotDataset(LeRobotDataset): + def __init__( + self, + repo_id: str, + root: str | Path | None = None, + episodes: list[int] | None = None, + image_transforms: Callable | None = None, + delta_timestamps: dict[list[float]] | None = None, + tolerance_s: float = 1e-4, + download_videos: bool = True, + local_files_only: bool = False, + video_backend: str | None = None, + ): + super().__init__( + repo_id=repo_id, + root=root, + episodes=episodes, + image_transforms=image_transforms, + delta_timestamps=delta_timestamps, + tolerance_s=tolerance_s, + download_videos=download_videos, + local_files_only=local_files_only, + video_backend=video_backend, + ) + + def add_frame(self, frame: dict) -> None: + """ + This function only adds the frame to the episode_buffer. Apart from images — which are written in a + temporary directory — nothing is written to disk. To save those frames, the 'save_episode()' method + then needs to be called. + """ + # Convert torch to numpy if needed + for name in frame: + if isinstance(frame[name], torch.Tensor): + frame[name] = frame[name].numpy() + + features = {key: value for key, value in self.features.items() if key in self.hf_features} # remove video keys + validate_frame(frame, features) + + if self.episode_buffer is None: + self.episode_buffer = self.create_episode_buffer() + + # Automatically add frame_index and timestamp to episode buffer + frame_index = self.episode_buffer["size"] + timestamp = frame.pop("timestamp") if "timestamp" in frame else frame_index / self.fps + self.episode_buffer["frame_index"].append(frame_index) + self.episode_buffer["timestamp"].append(timestamp) + + # Add frame features to episode_buffer + for key, value in frame.items(): + if key == "task": + # Note: we associate the task in natural language to its task index during `save_episode` + self.episode_buffer["task"].append(frame["task"]) + continue + + if key not in self.features: + raise ValueError( + f"An element of the frame is not in the features. '{key}' not in '{self.features.keys()}'." + ) + + self.episode_buffer[key].append(value) + + self.episode_buffer["size"] += 1 + + def save_episode(self, episode_data: dict | None = None, videos: dict | None = None) -> None: + """ + This will save to disk the current episode in self.episode_buffer. + + Args: + episode_data (dict | None, optional): Dict containing the episode data to save. If None, this will + save the current episode in self.episode_buffer, which is filled with 'add_frame'. Defaults to + None. + """ + if not episode_data: + episode_buffer = self.episode_buffer + + validate_episode_buffer(episode_buffer, self.meta.total_episodes, self.features) + + # size and task are special cases that won't be added to hf_dataset + episode_length = episode_buffer.pop("size") + tasks = episode_buffer.pop("task") + episode_tasks = list(set(tasks)) + episode_index = episode_buffer["episode_index"] + + episode_buffer["index"] = np.arange(self.meta.total_frames, self.meta.total_frames + episode_length) + episode_buffer["episode_index"] = np.full((episode_length,), episode_index) + + # Add new tasks to the tasks dictionary + for task in episode_tasks: + task_index = self.meta.get_task_index(task) + if task_index is None: + self.meta.add_task(task) + + # Given tasks in natural language, find their corresponding task indices + episode_buffer["task_index"] = np.array([self.meta.get_task_index(task) for task in tasks]) + + for key, ft in self.features.items(): + # index, episode_index, task_index are already processed above, and image and video + # are processed separately by storing image path and frame info as meta data + if key in ["index", "episode_index", "task_index"] or ft["dtype"] in ["video"]: + continue + episode_buffer[key] = np.stack(episode_buffer[key]).squeeze() + + for key in self.meta.video_keys: + video_path = self.root / self.meta.get_video_file_path(episode_index, key) + episode_buffer[key] = str(video_path) # PosixPath -> str + video_path.parent.mkdir(parents=True, exist_ok=True) + shutil.copyfile(videos[key], video_path) + + ep_stats = compute_episode_stats(episode_buffer, self.features) + + self._save_episode_table(episode_buffer, episode_index) + + # `meta.save_episode` be executed after encoding the videos + self.meta.save_episode(episode_index, episode_length, episode_tasks, ep_stats) + + ep_data_index = get_episode_data_index(self.meta.episodes, [episode_index]) + ep_data_index_np = {k: t.numpy() for k, t in ep_data_index.items()} + check_timestamps_sync( + episode_buffer["timestamp"], + episode_buffer["episode_index"], + ep_data_index_np, + self.fps, + self.tolerance_s, + ) + + if not episode_data: # Reset the buffer + self.episode_buffer = self.create_episode_buffer() + + +def get_all_tasks(src_path: Path, output_path: Path): + json_files = src_path.glob("task_info/*.json") + for json_file in json_files: + local_dir = output_path / "agibotworld" / json_file.stem + yield (json_file, local_dir.resolve()) + + +def save_as_lerobot_dataset(agibot_world_config, task: tuple[Path, Path], num_threads, save_depth, debug): + json_file, local_dir = task + print(f"processing {json_file.stem}, saving to {local_dir}") + src_path = json_file.parent.parent + task_name = get_task_instruction(json_file) + task_id = json_file.stem.split("_")[-1] + features = generate_features_from_config(agibot_world_config) + + if local_dir.exists(): + shutil.rmtree(local_dir) + + if not save_depth: + features.pop("observation.images.head_depth") + + dataset = AgiBotDataset.create( + repo_id=json_file.stem, + root=local_dir, + fps=30, + robot_type="a2d", + features=features, + ) + + all_subdir = [f.as_posix() for f in src_path.glob(f"observations/{task_id}/*") if f.is_dir()] + + all_subdir_eids = [int(Path(path).name) for path in all_subdir] + + if debug or not save_depth: + for eid in all_subdir_eids: + try: + raw_dataset = load_local_dataset( + eid, + src_path=src_path, + task_id=task_id, + task_name=task_name, + save_depth=save_depth, + AgiBotWorld_CONFIG=agibot_world_config, + ) + frames, videos = raw_dataset + if not all([video_path.exists() for video_path in videos.values()]): + print(f"{json_file.stem}, episode_{eid}: some of the videos does not exist, skipping") + continue + + for frame_data in frames: + dataset.add_frame(frame_data) + dataset.save_episode(videos=videos) + except Exception as e: + raise Exception(f"{json_file.stem}, {eid}") from e + gc.collect() + print(f"process done for {json_file.stem}, episode_id {eid}, len {len(frames)}") + else: + with ThreadPoolExecutor(max_workers=num_threads) as executor: + futures = [] + for episode_id in all_subdir_eids: + futures.append( + executor.submit( + load_local_dataset, + episode_id, + src_path=src_path, + task_id=task_id, + task_name=task_name, + save_depth=save_depth, + AgiBotWorld_CONFIG=agibot_world_config, + ) + ) + + for raw_dataset in as_completed(futures): + frames, videos = raw_dataset.result() + for frame_data in frames: + dataset.add_frame(frame_data) + dataset.save_episode(videos=videos) + gc.collect() + + +def main( + src_path: str, + output_path: str, + eef_type: str, + task_ids: list, + cpus_per_task: int, + num_threads_per_task: int, + save_depth: bool, + debug: bool = False, +): + tasks = get_all_tasks(src_path, output_path) + + agibot_world_config, type_task_ids = ( + AgiBotWorld_TASK_TYPE[eef_type]["task_config"], + AgiBotWorld_TASK_TYPE[eef_type]["task_ids"], + ) + + if eef_type == "gripper": + remaining_ids = AgiBotWorld_TASK_TYPE["dexhand"]["task_ids"] + AgiBotWorld_TASK_TYPE["tactile"]["task_ids"] + tasks = filter(lambda task: task[0].stem not in remaining_ids, tasks) + else: + tasks = filter(lambda task: task[0].stem in type_task_ids, tasks) + + if task_ids: + tasks = filter(lambda task: task[0].stem in task_ids, tasks) + + if debug: + save_as_lerobot_dataset(agibot_world_config, next(tasks), num_threads_per_task, save_depth, debug) + else: + runtime_env = RuntimeEnv( + env_vars={ + "HDF5_USE_FILE_LOCKING": "FALSE", + "HF_DATASETS_DISABLE_PROGRESS_BARS": "TRUE", + "LD_PRELOAD": str(Path(__file__).resolve().parent / "libtcmalloc.so.4.5.3"), + } + ) + ray.init(runtime_env=runtime_env) + resources = ray.available_resources() + cpus = int(resources["CPU"]) + + print(f"Available CPUs: {cpus}, num_cpus_per_task: {cpus_per_task}") + + remote_task = ray.remote(save_as_lerobot_dataset).options(num_cpus=cpus_per_task) + futures = [] + for task in tasks: + futures.append( + (task[0].stem, remote_task.remote(agibot_world_config, task, num_threads_per_task, save_depth, debug)) + ) + + for task, future in futures: + try: + ray.get(future) + except Exception as e: + print(f"Exception occurred for {task}") + with open("output.txt", "a") as f: + f.write(f"{task}, exception details: {str(e)}\n") + + ray.shutdown() + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--src-path", type=Path, required=True) + parser.add_argument("--output-path", type=Path, required=True) + parser.add_argument("--eef-type", type=str, choices=["gripper", "dexhand", "tactile"], default="gripper") + parser.add_argument("--task-ids", type=str, nargs="+", help="task_327 task_351 ...", default=[]) + parser.add_argument("--cpus-per-task", type=int, default=3) + parser.add_argument("--num-threads-per-task", type=int, default=2) + parser.add_argument("--save-depth", action="store_true") + parser.add_argument("--debug", action="store_true") + args = parser.parse_args() + + main(**vars(args)) diff --git a/agibot2lerobot/agibot_utils/agibot_utils.py b/agibot2lerobot/agibot_utils/agibot_utils.py new file mode 100644 index 0000000..85d63ce --- /dev/null +++ b/agibot2lerobot/agibot_utils/agibot_utils.py @@ -0,0 +1,94 @@ +import json +from pathlib import Path + +import h5py +import numpy as np +from PIL import Image + + +def get_task_instruction(task_json_path: str) -> dict: + """Get task language instruction""" + with open(task_json_path, "r") as f: + task_info = json.load(f) + task_name = task_info[0]["task_name"] + task_init_scene = task_info[0]["init_scene_text"] + task_instruction = f"{task_name}.{task_init_scene}" + return task_instruction + + +def load_depths(root_dir: str, camera_name: str): + cam_path = Path(root_dir) + all_imgs = sorted(list(cam_path.glob(f"{camera_name}*"))) + return [np.array(Image.open(f)).astype(np.float32)[:, :, None] / 1000 for f in all_imgs] + + +def load_local_dataset( + episode_id: int, src_path: str, task_id: int, task_name: str, save_depth: bool, AgiBotWorld_CONFIG: dict +) -> tuple[list, dict]: + """Load local dataset and return a dict with observations and actions""" + ob_dir = Path(src_path) / f"observations/{task_id}/{episode_id}" + proprio_dir = Path(src_path) / f"proprio_stats/{task_id}/{episode_id}" + + state = {} + action = {} + with h5py.File(proprio_dir / "proprio_stats.h5", "r") as f: + for key in AgiBotWorld_CONFIG["states"]: + state[f"observation.states.{key}"] = np.array(f["state/" + key.replace(".", "/")], dtype=np.float32) + for key in AgiBotWorld_CONFIG["actions"]: + action[f"actions.{key}"] = np.array(f["action/" + key.replace(".", "/")], dtype=np.float32) + + # HACK: agibot team forgot to pad some of the values + num_frames = len(next(iter(state.values()))) + for action_key, action_value in action.items(): + if action_value.size and len(action_value) != num_frames: + state_key = action_key.replace("actions", "state").replace(".", "/") + new_action_value = np.array(f[state_key], dtype=np.float32).copy() + action_index_key = "/".join(list(action_key.replace("actions", "action").split(".")[:-1]) + ["index"]) + action_index = np.array(f[action_index_key]) + # agibot lost end index, replace it with joint + if not action_index.size: + action_index_key = action_index_key.replace("end", "joint") + action_index = np.array(f[action_index_key]) + new_action_value[action_index] = action_value + action[action_key] = new_action_value + + if save_depth: + depth_imgs = load_depths(ob_dir / "depth", "head_depth") + assert num_frames == len(depth_imgs), "Number of images and states are not equal" + + state_key_prefix_len = len("observation.states.") + action_key_prefix_len = len("actions.") + frames = [ + { + **({"observation.images.head_depth": depth_imgs[i]} if save_depth else {}), + **{ + key: value[i] + if value.size + else np.zeros( + AgiBotWorld_CONFIG["states"][key[state_key_prefix_len:]]["shape"], + dtype=AgiBotWorld_CONFIG["states"][key[state_key_prefix_len:]]["dtype"], + ) + for key, value in state.items() + }, + **{ + key: value[i] + if value.size + else np.zeros( + AgiBotWorld_CONFIG["actions"][key[action_key_prefix_len:]]["shape"], + dtype=AgiBotWorld_CONFIG["actions"][key[action_key_prefix_len:]]["dtype"], + ) + for key, value in action.items() + }, + "task": task_name, + } + for i in range(num_frames) + ] + + videos = { + f"observation.images.{key}": ob_dir / "videos" / f"{key}_color.mp4" + if "sensor" not in key + else ob_dir / "tactile" / f"{key}.mp4" # HACK: handle tactile videos + for key in AgiBotWorld_CONFIG["images"] + if "depth" not in key + } + return frames, videos diff --git a/agibot2lerobot/agibot_utils/config.py b/agibot2lerobot/agibot_utils/config.py new file mode 100644 index 0000000..063056d --- /dev/null +++ b/agibot2lerobot/agibot_utils/config.py @@ -0,0 +1,310 @@ +AgiBotWorld_BETA_GRIPPER_CONFIG = { + "images": { + "head": { + "dtype": "video", + "shape": (480, 640, 3), + "names": ["height", "width", "rgb"], + }, + "head_center_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "head_depth": { + "dtype": "image", + "shape": (480, 640, 1), + "names": ["height", "width", "channel"], + }, + "head_left_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "head_right_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "hand_left": { + "dtype": "video", + "shape": (480, 640, 3), + "names": ["height", "width", "rgb"], + }, + "hand_right": { + "dtype": "video", + "shape": (480, 640, 3), + "names": ["height", "width", "rgb"], + }, + "back_left_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "back_right_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + }, + "states": { + "effector.position": { + "dtype": "float32", + "shape": (2,), + "names": {"motors": ["left_gripper", "right_gripper"]}, + }, + "end.orientation": {"dtype": "float32", "shape": (2, 4), "names": {"motors": ["left_xyzw", "right_xyzw"]}}, + "end.position": {"dtype": "float32", "shape": (2, 3), "names": {"motors": ["left_xyz", "right_xyz"]}}, + "head.position": {"dtype": "float32", "shape": (2,), "names": {"motors": ["yaw", "patch"]}}, + "joint.current_value": { + "dtype": "float32", + "shape": (14,), + "names": { + "motors": [ + "left_arm_0", + "left_arm_1", + "left_arm_2", + "left_arm_3", + "left_arm_4", + "left_arm_5", + "left_arm_6", + "right_arm_0", + "right_arm_1", + "right_arm_2", + "right_arm_3", + "right_arm_4", + "right_arm_5", + "right_arm_6", + ] + }, + }, + "joint.position": { + "dtype": "float32", + "shape": (14,), + "names": { + "motors": [ + "left_arm_0", + "left_arm_1", + "left_arm_2", + "left_arm_3", + "left_arm_4", + "left_arm_5", + "left_arm_6", + "right_arm_0", + "right_arm_1", + "right_arm_2", + "right_arm_3", + "right_arm_4", + "right_arm_5", + "right_arm_6", + ] + }, + }, + "robot.orientation": {"dtype": "float32", "shape": (4,), "names": {"motors": ["x", "y", "z", "w"]}}, + "robot.position": {"dtype": "float32", "shape": (3,), "names": {"motors": ["x", "y", "z"]}}, + "waist.position": {"dtype": "float32", "shape": (2,), "names": {"motors": ["pitch", "lift"]}}, + }, + "actions": { + "effector.position": { + "dtype": "float32", + "shape": (2,), + "names": {"motors": ["left_gripper", "right_gripper"]}, + }, + "end.orientation": {"dtype": "float32", "shape": (2, 4), "names": {"motors": ["left_xyzw", "right_xyzw"]}}, + "end.position": {"dtype": "float32", "shape": (2, 3), "names": {"motors": ["left_xyz", "right_xyz"]}}, + "head.position": {"dtype": "float32", "shape": (2,), "names": {"motors": ["yaw", "patch"]}}, + "joint.position": { + "dtype": "float32", + "shape": (14,), + "names": { + "motors": [ + "left_arm_0", + "left_arm_1", + "left_arm_2", + "left_arm_3", + "left_arm_4", + "left_arm_5", + "left_arm_6", + "right_arm_0", + "right_arm_1", + "right_arm_2", + "right_arm_3", + "right_arm_4", + "right_arm_5", + "right_arm_6", + ] + }, + }, + "robot.velocity": {"dtype": "float32", "shape": (2,), "names": {"motors": ["x_vel", "yaw_vel"]}}, + "waist.position": {"dtype": "float32", "shape": (2,), "names": {"motors": ["pitch", "lift"]}}, + }, +} + +AgiBotWorld_BETA_DEXHAND_CONFIG = { + "images": { + "head": { + "dtype": "video", + "shape": (480, 640, 3), + "names": ["height", "width", "rgb"], + }, + "head_center_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "head_depth": { + "dtype": "image", + "shape": (480, 640, 1), + "names": ["height", "width", "channel"], + }, + "head_left_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "head_right_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "hand_left_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "hand_right_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "back_left_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + "back_right_fisheye": { + "dtype": "video", + "shape": (748, 960, 3), + "names": ["height", "width", "rgb"], + }, + }, + "states": { + **AgiBotWorld_BETA_GRIPPER_CONFIG["states"], + "effector.position": { + "dtype": "float32", + "shape": (12,), + "names": { + "motors": [ + "left_joint_0", + "left_joint_1", + "left_joint_2", + "left_joint_3", + "left_joint_4", + "left_joint_5", + "right_joint_0", + "right_joint_1", + "right_joint_2", + "right_joint_3", + "right_joint_4", + "right_joint_5", + ] + }, + }, + }, + "actions": { + **AgiBotWorld_BETA_GRIPPER_CONFIG["actions"], + "effector.position": { + "dtype": "float32", + "shape": (12,), + "names": { + "motors": [ + "left_joint_0", + "left_joint_1", + "left_joint_2", + "left_joint_3", + "left_joint_4", + "left_joint_5", + "right_joint_0", + "right_joint_1", + "right_joint_2", + "right_joint_3", + "right_joint_4", + "right_joint_5", + ] + }, + }, + }, +} + +AgiBotWorld_BETA_TACTILE_CONFIG = { + **AgiBotWorld_BETA_GRIPPER_CONFIG, + "images": { + **AgiBotWorld_BETA_GRIPPER_CONFIG["images"], + "left_sensor_1": { + "dtype": "video", + "shape": (700, 400, 3), + "names": ["height", "width", "rgb"], + }, + "left_sensor_2": { + "dtype": "video", + "shape": (700, 400, 3), + "names": ["height", "width", "rgb"], + }, + "right_sensor_1": { + "dtype": "video", + "shape": (700, 400, 3), + "names": ["height", "width", "rgb"], + }, + "right_sensor_2": { + "dtype": "video", + "shape": (700, 400, 3), + "names": ["height", "width", "rgb"], + }, + }, +} + +# Task statistics coming from https://docs.google.com/spreadsheets/d/1GWMFHYo3UJADS7kkScoJ5ObbQfAFasPuaeC7TJUr1Cc/edit?gid=0#gid=0 +AgiBotWorld_TASK_TYPE = { + "gripper": { + "task_config": AgiBotWorld_BETA_GRIPPER_CONFIG, + "task_ids": [], # The remaining are all gripper + }, + "dexhand": { + "task_config": AgiBotWorld_BETA_DEXHAND_CONFIG, + "task_ids": [ + "task_475", + "task_536", + "task_547", + "task_548", + "task_549", + "task_554", + "task_577", + "task_578", + "task_591", + "task_595", + "task_608", + "task_620", + "task_622", + "task_660", + "task_679", + "task_705", + "task_710", + "task_727", + "task_730", + "task_731", + "task_749", + "task_753", + ], + }, + "tactile": { + "task_config": AgiBotWorld_BETA_TACTILE_CONFIG, + "task_ids": [ + "task_666", + "task_675", + "task_676", + "task_677", + "task_694", + "task_737", + "task_774", + ], + }, +} diff --git a/agibot2lerobot/agibot_utils/lerobot_utils.py b/agibot2lerobot/agibot_utils/lerobot_utils.py new file mode 100644 index 0000000..fc6ac81 --- /dev/null +++ b/agibot2lerobot/agibot_utils/lerobot_utils.py @@ -0,0 +1,75 @@ +import numpy as np +import torch +import torchvision +from lerobot.common.datasets.compute_stats import auto_downsample_height_width, get_feature_stats, sample_indices + +torchvision.set_video_backend("pyav") + + +def generate_features_from_config(AgiBotWorld_CONFIG): + features = {} + for key, value in AgiBotWorld_CONFIG["images"].items(): + features[f"observation.images.{key}"] = value + for key, value in AgiBotWorld_CONFIG["states"].items(): + features[f"observation.states.{key}"] = value + for key, value in AgiBotWorld_CONFIG["actions"].items(): + features[f"actions.{key}"] = value + return features + + +def sample_images(input): + if type(input) is str: + video_path = input + reader = torchvision.io.VideoReader(video_path, stream="video") + frames = [frame["data"] for frame in reader] + frames_array = torch.stack(frames).numpy() # Shape: [T, C, H, W] + + sampled_indices = sample_indices(len(frames_array)) + images = None + for i, idx in enumerate(sampled_indices): + img = frames_array[idx] + img = auto_downsample_height_width(img) + + if images is None: + images = np.empty((len(sampled_indices), *img.shape), dtype=np.uint8) + + images[i] = img + elif type(input) is np.ndarray: + frames_array = input[:, None, :, :] # Shape: [T, C, H, W] + sampled_indices = sample_indices(len(frames_array)) + images = None + for i, idx in enumerate(sampled_indices): + img = frames_array[idx] + img = auto_downsample_height_width(img) + + if images is None: + images = np.empty((len(sampled_indices), *img.shape), dtype=np.uint8) + + images[i] = img + + return images + + +def compute_episode_stats(episode_data: dict[str, list[str] | np.ndarray], features: dict) -> dict: + ep_stats = {} + for key, data in episode_data.items(): + if features[key]["dtype"] == "string": + continue # HACK: we should receive np.arrays of strings + elif features[key]["dtype"] in ["image", "video"]: + ep_ft_array = sample_images(data) + axes_to_reduce = (0, 2, 3) # keep channel dim + keepdims = True + else: + ep_ft_array = data # data is already a np.ndarray + axes_to_reduce = 0 # compute stats over the first axis + keepdims = data.ndim == 1 # keep as np.array + + ep_stats[key] = get_feature_stats(ep_ft_array, axis=axes_to_reduce, keepdims=keepdims) + + if features[key]["dtype"] in ["image", "video"]: + value_norm = 1.0 if "depth" in key else 255.0 + ep_stats[key] = { + k: v if k == "count" else np.squeeze(v / value_norm, axis=0) for k, v in ep_stats[key].items() + } + + return ep_stats diff --git a/agibot2lerobot/convert.sh b/agibot2lerobot/convert.sh new file mode 100644 index 0000000..0da999a --- /dev/null +++ b/agibot2lerobot/convert.sh @@ -0,0 +1,7 @@ +export HDF5_USE_FILE_LOCKING=FALSE +export RAY_DEDUP_LOGS=0 +python agibot_h5.py \ + --src-path /path/to/AgiBotWorld-Beta/ \ + --output-path /path/to/local \ + --eef-type gripper \ + --cpus-per-task 3 \ No newline at end of file diff --git a/agibot2lerobot/libtcmalloc.so.4.5.3 b/agibot2lerobot/libtcmalloc.so.4.5.3 new file mode 100755 index 0000000000000000000000000000000000000000..133c8170a9885278d512d94cd8de2c5a3407333a GIT binary patch literal 303040 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 z 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