This README provides instructions for processing data collected from AgileX robots, fine-tuning GO-1 model, and performing real robot inference.
python agilex_dataset_filter.py --root_dir /path/to/your/hdf5/filesThis tool performs comprehensive outlier analysis on HDF5 files by calculating Z-scores based on global mean and standard deviation across all data. It identifies data points that exceed the specified threshold (default 5 standard deviations) and outputs a detailed list of files containing these outliers. The analysis helps ensure data quality by flagging potentially problematic episodes that may contain sensor errors or abnormal robot behaviors.
Arguments:
root_dir- Directory containing HDF5 filesstd_threshold- Standard deviation threshold (default:5.0)
Set data key names and shapes in agilex_features.py.
# Activate the GO-1 environment
conda activate go1
python convert_agilex_data_to_lerobot.py \
--src_path /path/to/your/hdf5/files \
--tgt_path /path/to/output \
--repo_ids <REPO_IDS> \
--save_repoid <SAVE_REPO_ID>Arguments:
src_path- Path to the directory containing HDF5 filestgt_path- Path to save the converted LeRobot datasetrepo_ids- List of folders to process insrc_pathsave_repoid- Repo ID for saving the converted dataset (default: the first item inrepo_ids)
Notes:
-
We use the
observations/qposas both state and action. (The defaultactionkey cannot replay.) -
Set the
exclude_fileslist in the script to exclude files containing outliers.
Refer to the GO-1 Fine-tuning Guide for detailed instructions.
Start the GO-1 inference server using your fine-tuned model checkpoint and data statistics:
conda activate go1
python evaluate/deploy.py --model_path /path/to/your/checkpoint --data_stats_path /path/to/your/dataset_stats.json --port <SERVER_PORT>The server will will listen on port SERVER_PORT and wait for observations.
python agilex_inference.py --host <SERVER_IP> --port <SERVER_PORT> --ctrl_type joint --publish_rate 30 --chunk_size 30Arguments:
host- IP address of the server (default:127.0.0.1)port- Port number of the server (default:9000)ctrl_type- Control type of the robot (jointoreef, default:joint)publish_rate- Action publishing frequency (default:30)chunk_size- Executed action chunk size, should be smaller than the action chunk size of the model (default:30)