🚀 RDT-170M
RDT-170Mは、170Mパラメータの模倣学習用Diffusion Transformerです(アブレーション実験ではRDT(小)と呼ばれます)。隠れ層のサイズは1024
、深さは14
で、これらはRDT-1Bの半分です。最大3つの視点からの言語指示とRGB画像を入力として、RDTは次の64個のロボットアクションを予測することができます。RDTは、単腕から双腕、関節からEEF、位置から速度、さらには車輪式移動まで、ほとんどすべての最新のモバイルマニピュレータと互換性があります。
すべてのコード、事前学習済みのモデルウェイト、およびデータは、MITライセンスの下で提供されています。
詳細については、プロジェクトページと論文を参照してください。
📚 ドキュメント
モデルの詳細
用途
RDTは、言語指示、RGB画像(最大3つの視点)、制御頻度(あれば)、およびプロプリオセプションを入力として、次の64個のロボットアクションを予測します。
RDTは、統一されたアクション空間を利用することで、ほとんどすべてのロボットマニピュレータの制御をサポートしています。このアクション空間には、ロボットマニピュレータの主要な物理量(エンドエフェクタや関節、位置や速度、さらには車輪式移動など)がすべて含まれています。
あなたのロボットプラットフォームにデプロイするには、生のアクションベクトルの関連する量を統一された空間ベクトルに入力する必要があります。詳細については、私たちのリポジトリを参照してください。
⚠️ 重要提示
エンボディメントギャップのため、RDTはまだ事前学習データセットに含まれていない新しいロボットプラットフォームには汎化できません。この場合、ターゲットロボットの小さなデータセットを収集し、それを使ってRDTをファインチューニングすることをおすすめします。チュートリアルについては、私たちのリポジトリを参照してください。
💻 使用例
基本的な使用法
from scripts.agilex_model import create_model
CAMERA_NAMES = ['cam_high', 'cam_right_wrist', 'cam_left_wrist']
config = {
'episode_len': 1000,
'state_dim': 14,
'chunk_size': 64,
'camera_names': CAMERA_NAMES,
}
pretrained_vision_encoder_name_or_path = "google/siglip-so400m-patch14-384"
model = create_model(
args=config,
dtype=torch.bfloat16,
pretrained_vision_encoder_name_or_path=pretrained_vision_encoder_name_or_path,
pretrained='robotics-diffusion-transformer/rdt-1b',
control_frequency=25,
)
lang_embeddings_path = 'your/language/embedding/path'
text_embedding = torch.load(lang_embeddings_path)['embeddings']
images: List(PIL.Image) = ...
proprio = ...
actions = policy.step(
proprio=proprio,
images=images,
text_embeds=text_embedding
)
引用
もし私たちの研究が役に立った場合は、以下のように引用してください。
@article{liu2024rdt,
title={RDT-1B: a Diffusion Foundation Model for Bimanual Manipulation},
author={Liu, Songming and Wu, Lingxuan and Li, Bangguo and Tan, Hengkai and Chen, Huayu and Wang, Zhengyi and Xu, Ke and Su, Hang and Zhu, Jun},
journal={arXiv preprint arXiv:2410.07864},
year={2024}
}
ありがとうございます!
📄 ライセンス
すべてのコード、事前学習済みのモデルウェイト、およびデータは、MITライセンスの下で提供されています。