Note
This is a Hugging Face dataset. For large datasets, ensure huggingface_hub>=1.1.3 to avoid rate limits. Learn more in the Hugging Face integration docs.
LeRobot Community Dataset v3 β Cross-Embodiment Starter#

A curated cross-embodiment starter subset drawn from lerobot/community_dataset_v3: 497 episodes across 50 unique robot embodiments, with up to 10 episodes from each embodiment.
Usage#
Load in FiftyOne#
import fiftyone as fo
import fiftyone.utils.huggingface as fouh
dataset = fouh.load_from_hub("Voxel51/community_v3_10per_embodiment")
print(dataset)
# Filter by embodiment
so100_view = dataset.match(fo.ViewField("robot_type") == "so100")
Browse by robot type#
session = fo.launch_app(dataset)
# In App: filter sidebar by robot_type field to explore embodiments
Overview#
Metric |
Value |
|---|---|
Total Episodes |
497 |
Robot Embodiments |
50 |
FPS values |
10, 15, 20, 25, 30, 50 |
Duration range |
0.02 β 148.6 seconds |
Source dataset |
lerobot/community_dataset_v3 (v3.0) |
Format |
FiftyOne dataset (multimodal, LeRobotEpisodeReference) |
Robot Types Covered (50 embodiments)#
Robot Type |
Episodes |
Source Dataset |
|---|---|---|
Unitree_G1_Dex3 |
10 |
kuehnrobin/g1_stack_cube_left |
Unitree_G1_Gripper |
10 |
unitreerobotics/G1_MountCameraRedGripper_Dataset |
Unitree_G1_Inspire |
10 |
eastflag/g1_can_twohand |
Unitree_G1_inspire |
7 |
ccccccww/test1 (only 7 available total) |
Unitree_Z1_Dual |
10 |
unitreerobotics/Z1_DualArmStackBox_Dataset |
Unitree_Z1_Single |
10 |
unitreerobotics/Z1_StackBox_Dataset |
agilex |
10 |
Pi-robot/place_white_bottle |
aiworker |
10 |
noisyduck/ffw_bg2_rev4_ai_worker_demo_250714_2 |
aloha |
10 |
HuaihaiLyu/test_shorts |
aloha_solo |
10 |
AshtinDonuts/aloha_test6 |
arx5 |
10 |
villekuosmanen/pick_coffee_capsule_under_dome |
arx5_bimanual |
10 |
villekuosmanen/move_glass_cups |
bi_so100_follower |
10 |
LeRobot-worldwide-hackathon/46-3580-bi_so100_pour_water_real |
bi_xarm6_follower |
10 |
kumarhans/ethernetGrab8 |
ffw |
10 |
lcwoo/ffw_test |
g1 |
10 |
hainh22/pick_cube_train |
koch |
10 |
Dongkkka/blue_pen_pick_and_place |
koch_follower |
10 |
aidinism/arm-record-14 |
mcx |
10 |
relaxedandcalm/ds_move_the_motor |
moss |
10 |
Beegbrain/moss_stack_cubes |
multi_robot |
10 |
arclabmit/lx7r_knockover_test_dataset |
mycobot320 |
10 |
GreenIsGood/pick_scan_and_place_warehouse_boxes_05_06_01_smthng |
panda_follower |
10 |
konstantinZ/pickup-single-cotton-V2 |
piper |
10 |
hangwu/piper_joint_ep_20250421_realsense |
piper_follower |
10 |
CnLori/so101_piper |
rx200 |
10 |
underctrl/toy_pickup_and_place |
sam_bimanual |
10 |
girardijp/sam_fold_cloth_single |
sam_two |
10 |
1g0rrr/demo2_upart_peeloff |
so100 |
10 |
Gano007/so100_lolo |
so100-blue |
10 |
Chojins/chess_game_001_blue_stereo_flip |
so100-red |
10 |
Chojins/chess_game_001_red_stereo |
so100MovellaDot |
10 |
sergiov2000/so100_movella_pick_ball_C3 (5) + D3 (5) |
so100_bimanual |
10 |
Claessens14/playing_with_fold_april21_ego_single_fold_v1 |
so100_follower |
10 |
triton7777/cube_to_bowl_so100 |
so100_follower_bimanual |
10 |
LeRobot-worldwide-hackathon/160-LegoBot-lego_pixelart_stage_2_v2 |
so100_with_koch |
10 |
rgarreta/so100_dataset1 |
so101 |
10 |
hawnsoung/so101_test_coff_5 |
so101_follower |
10 |
MostafaOthman/pickplace_sweetsjp_smallcandy |
stretch |
10 |
Suzumiya894/stretch_test |
stretch3 |
10 |
Suzumiya894/stretch_smolvla_dataset |
trossen_ai_mobile |
10 |
mrrl-emcnei/trossen_dataset0 |
trossen_ai_solo |
10 |
minjunkevink/trossen_objects_pick_place |
trossen_ai_stationary |
10 |
ANRedlich/trossen_ai_stationary_test_08 |
unknown |
10 |
easonjcc/rm_test_02 |
ur5e_gello |
10 |
Arururu12/UR5e_Gello_Cube_bin_v2 |
widowx |
10 |
jesbu1/usc_widowx_combined_play_data |
xarm |
10 |
Anas0711/orange_bobo_pose_action_state_june3_1130am |
xarm6 |
10 |
kumarhans/glue_stick |
xarm_end_effector |
10 |
lukicdarkoo/pick_plazma |
xarm_lite6 |
10 |
ReubenLim/xarm_lite6_gripper_cube_in_box |
Dataset Structure#
Each sample in this FiftyOne dataset is one episode, with:
Field |
Type |
Description |
|---|---|---|
|
string |
Embodiment identifier (50 unique values) |
|
string |
Task description |
|
list[string] |
All task descriptions for episode |
|
int |
Episode index within the source dataset |
|
int |
Number of frames |
|
float |
Duration in seconds |
|
float |
Recording frame rate |
|
LeRobotEpisodeReference |
Reference to video clips |
|
string |
Source contributor dataset ( |
|
vector (2048) |
Qwen3-VL-Embedding-2B video embedding (via qwen3vl_embeddings): up to 32 evenly spaced frames from the episodeβs time window, last-token pooled and L2-normalised, in the same space as text embeddings from the same model |
|
string |
Camera stream used for |
|
float |
FiftyOne Brain uniqueness, computed from |
|
float |
FiftyOne Brain representativeness, computed from |
qwen3vl_embedding is a video embedding: each vector is computed from a clip spanning the episode, never from a single frame. The brain runs qwen3vl_embedding_sim (similarity index) and qwen3vl_embedding_umap (2D UMAP) are both built on it, and the similarity index accepts text queries as well as episodes. For text queries, register the model source first:
import fiftyone.zoo as foz
foz.register_zoo_model_source(
"https://github.com/harpreetsahota204/qwen3vl_embeddings",
overwrite=True,
)
view = dataset.sort_by_similarity(
"folding a cloth", k=10, brain_key="qwen3vl_embedding_sim"
)
Parsing Decisions#
Episode selection: shard-0 episodes (first N from
data/chunk-000/file-000.parquetand corresponding videochunk-000/file-000.mp4) for each source dataset. This gives the cheapest complete subset without splitting episodes across shards.Cap: 10 episodes per embodiment, or all available if fewer than 10 exist.
Unitree_G1_inspire: Kept separate fromUnitree_G1_Inspire; only 7 episodes existed in total across all contributing datasets β all 7 are included.so100MovellaDot: No single source dataset had β₯10 episodes (max 5 per dataset). Combined 5 episodes fromsergiov2000/so100_movella_pick_ball_C3and 5 fromso100_movella_pick_ball_D3to reach 10.Schema heterogeneity: The 50 embodiments use different camera setups, action dimensions, and FPS values. This FiftyOne dataset stores each sample document-style with only common fields (
robot_type,task,duration,fps,length,episode_index). Camera-specific features are accessible viamedia_referencepointing to the source video clips.No v2.x conversion: All 51 source sub-datasets were already at codebase_version v3.0 β no conversion needed.
No media re-encoding: Source video files are referenced as-is. Codecs may vary by embodiment (H.264, H.265, etc.).
episode_indexvalues: Preserved from source datasets. Twoso100MovellaDotsources both have indices 0β4; this is intentional β themedia_referencekey distinguishes them.
Source#
All data originates from lerobot/community_dataset_v3, a crowdsourced collection from 235 community contributors worldwide. Please acknowledge the original contributors when using this dataset.
License#
Apache 2.0 (same as source dataset). Individual datasets may have additional attribution requirements β see lerobot/community_dataset_v3 for contributor details.