DOI: 10.5281/zenodo.17529720
title: Dataset - BeyondMimic: From Motion Tracking to Versatile Humanoid Control via Guided Diffusion

description: Dataset - BeyondMimic: From Motion Tracking to Versatile Humanoid Control via Guided Diffusion

Dataset

Content

dataset_root/├─ rosbag_agile_motion/│  ├─ C1970_tkd_skill_clip1.mcap│  ├─ C1975_side_flip.mcap│  ├─ C1980_double_high_kick.mcap│  └─ C1985_merge2.mcap   # side_flip + tkd_skill│├─ rosbag_walk_and_run/│  ├─ walk_rosbag│  └─ run_rosbag│└─ rosbag_ablation/   ├─ 2ms_rosbag2_2025_10_22-03_50_34   ├─ 5ms_rosbag2_2025_10_22-03_41_01   ├─ 10ms_rosbag2_2025_10_22-03_36_03   ├─ arma0_rosbag2_2025_10_22-00_29_58   ├─ arma0.1_rosbag2_2025_10_22-00_44_01   ├─ arma10_rosbag2_2025_10_22-00_48_58   ├─ asapgain_rosbag2_2025_10_22-01_03_25   ├─ axisangle_rosbag2_2025_10_22-01_24_25   ├─ hist4_rosbag2_2025_10_22-07_00_11   ├─ hist8_rosbag2_2025_10_22-07_03_51   ├─ hist25_rosbag2_2025_10_22-07_06_58   ├─ origin_rosbag2_2025_10_22-01_35_46   ├─ quat_rosbag2_2025_10_22-01_17_38   ├─ wn5_rosbag2_2025_10_22-00_54_05   └─ wn25_rosbag2_2025_10_22-00_57_52

1) rosbag_agile_motion/

Agile acrobatic clips recorded on the humanoid:



C1970_tkd_skill_clip1.mcap — Taekwondo skill clip.

C1975_side_flip.mcap — Side-flip sequence.

C1980_double_high_kick.mcap — Double high-kick sequence.

C1985_merge2.mcap — Composite sequence (side_flip + tkd_skill).


2) rosbag_walk_and_run/



walk_rosbag — Walking trials.

run_rosbag — Running/sprinting trials.


3) rosbag_ablation/

Ablation study recordings:




Prefix
Meaning


origin
Baseline (Our setting)


hist4/8/25
Observation history length = 4 / 8 / 25


2ms/5ms/10ms
Execution delay = 2 / 5 / 10 ms


arma0/0.1/10
Armature coeff


wn5/wn25/asapgain
PD Gain: natural frequency = 5 / 25 / same as ASAP's


quat/axisangle
Orientation represented as quaternion / axis-angle




 

Code for Plot

1. IMU data plot

Directory: ./base_imu/

We first use plotjuggler to export the .csv file from .mcap bag 



python export_imu_csv.py rosbag_data_raw.csvpython plot_imu_csv.py


2. Plot local motion tracking err

Directory: ./ablation/

2.1. Plot raw joint position vs ref motion joint position data



python plot_joint_raw.py


Please change the `BAG` path in the code.

2.2. Batch run for local errPlot local motion tracking err for all the bags under `BASE_DIR`.

Please change the `BASE_DIR` in the code.



python batch_local.py


The results will be stored at the path of the dataset. 

3. Plot global motion tracking err

3.1. Batch run for global errPlot global motion tracking err for all the bags under `BASE_DIR`.

Please change the `BASE_DIR` in the code.



python batch_global.py


Visualize global err of all the experiments: Use Chrome open: `mocap_error_gallery_local_folder_viewer.html`

4. Plot overall err

Compare local and global err among selected experiments.



Example:python compare_err.py --base "/media/nv/TSD302/rosbag_ablation" --exp origin hist4 hist8 hist25


Batch run for overall errCompare the global and local motion tracking err among experiments.

Please change the `BASE_DIR` in the code.



python batch_all_err.py


5. Adaptive Sampling Plot

5.1. Plot Adaptive Sampling Failure Hatmap



python plot_failure_heatmap.py   --dir ./w \                                      --out_dir ./w_out \  --bins 200 \  --thresh 0.05 \  --dpi 180 \  --pattern "*_ckpt_failure_*.npy" --save_csv


5.2. Plot Adaptive Sampling Prob over Timepython plot_sampling_prob.py sampling_prob_over_time.pkl

6. GRF Plot

6.1. Walking



Human ref:python grf_walk_ref.pyRobot real:python run_bag.py --csv walk_bag2.csv --out walk_bag2.png


6.2. Running



Human ref:python grf_run_ref.py RBDS028runT25forces.txt --save ref_run_grf.pngRobot real:python run_bag.py --csv run_bag.csv --out run_bag.png