Skip to content

Latest commit

 

History

History
156 lines (105 loc) · 4 KB

File metadata and controls

156 lines (105 loc) · 4 KB

Action Flow Matching (AFM)

Code for the paper "Action Flow Matching for Continual Robot Learning" presented at Robotics: Science and Systems (RSS) 2025.

View on RSS View on arXiv View on Hugging Face

Overview

AFM enables efficient, non-episodic, online robot model refinement. AFM adjusts the planned actions seeking to reduce the gap between the intended and realized/actual state transitions.


Table of Contents


Installation

Clone the Repository

Before setting up the environment, clone this repository and navigate to the root directory:

git clone https://github.com/AlejandroMllo/action_flow_matching.git
cd action_flow_matching

Conda Environment Setup

We recommend creating a dedicated Conda environment for this project.

  1. Create the environment:

    conda create -n afm python=3.10.16 -y
  2. Activate the environment:

    conda activate afm

Dependencies

Install required Python packages:

pip install -r requirements.txt

Data and Pre-trained Weights

All required datasets and pre-trained model weights are hosted on Hugging Face (https://huggingface.co/AlejandroMllo/action_flow_matching):

  1. Install Hugging Face Hub CLI:

    pip install huggingface_hub
  2. Download Models: From the project's root, type:

    hf download AlejandroMllo/action_flow_matching --exclude data/* --local-dir .
  3. [Optional] Download Dataset:

    hf download AlejandroMllo/action_flow_matching --exclude artifacts/* --local-dir .

After downloading the pretrained checkpoints and (optionally) the datasets, your project root should look like:

.
├── .git/
├── .gitignore
├── README.md
├── artifacts/
│   └── ugv/
│       ├── afm/
│       │   └── latest_model.pth
│       └── dynamics/
│           ├── model_0
│           ├── model_1
│           ├── model_2
│           ├── model_3
│           └── model_4
├── assets/
├── data/
│   └── ugv/
│       ├── afm_data_dubins.pt
│       ├── ugv_transition_dynamics_delta.csv
│       └── ugv_transition_dynamics_val_delta.csv
├── requirements.txt
├── results/         # If you already have any
└── src/

Experiment Execution

Run the experiments from the continual_dynamics_learning.py script (note that you need to navigate to /src):

cd src/
python continual_dynamics_learning.py

The results will be automatically saved at the same level of the /src directory in the /results folder.

Citation

If you use this code, please cite our paper:

@INPROCEEDINGS{Murillo-GonzálezA-RSS-25, 
    AUTHOR    = {Alejandro Murillo-González AND Lantao Liu}, 
    TITLE     = {{Action Flow Matching for Continual Robot Learning}}, 
    BOOKTITLE = {Proceedings of Robotics: Science and Systems}, 
    YEAR      = {2025}, 
    ADDRESS   = {Los Angeles, CA, USA}, 
    MONTH     = {June}, 
    DOI       = {10.15607/RSS.2025.XXI.026} 
}

Contact

For questions or issues, please contact:

Feel free to open GitHub issues or pull requests for contributions.