Trazemos dados visuais realistas e diversos, desde modelos generativos até simuladores de física clássica, permitindo que os robôs aprendam tarefas altamente dinâmicas, como parkour, sem exigir profundidade.
lucidsim
contém nossos ambientes simulados construídos usando MuJoCo. Fornecemos os ambientes e ferramentas para executar o pipeline de renderização LucidSim para parkour quadrúpede. O código de treinamento ainda não está incluído.
Se você está procurando o código de aumento generativo (necessário para executar o pipeline de renderização completo), verifique o repositório weaver!
Alan Yu *1 , Ge Yang *1,2 , Ran Choi 1 , Yajvan Ravan 1 , John Leonard 1 , Phillip Isola 1
1 MIT CSAIL, 2 Instituto de IA e Interações Fundamentais (IAIFI)
* Indica contribuição igual
CoRL 2024
Índice
Se você seguiu as instruções de configuração do weaver
, sinta-se à vontade para instalar nesse ambiente.
conda create -n lucidsim python=3.10
conda activate lucidsim
# Choose the CUDA version that your GPU supports. We will use CUDA 12.1
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --extra-index-url https://download.pytorch.org/whl/cu121
# Install lucidsim with more dependencies
git clone https://github.com/lucidsim/lucidsim
cd lucidsim
pip install -e .
As últimas dependências requerem setuptools
e wheel
desatualizadas para serem instaladas. Para instalar, faça o downgrade e reverta depois.
pip install setuptools==65.5.0 wheel==0.38.4 pip==23
pip install gym==0.21.0
pip install gym-dmc==0.2.9
pip install -U setuptools wheel pip
Nota: No Linux, certifique-se de definir a variável de ambiente MUJOCO_GL=egl
.
LucidSim gera imagens fotorrealistas usando um modelo generativo para aumentar a renderização do simulador, usando imagens condicionadas para manter o controle sobre a geometria da cena.
Disponibilizamos um ponto de verificação de políticas especializado em checkpoints/expert.pt
. Esta política foi derivada daquela do Extreme Parkour. Você pode usar esta política para amostrar um ambiente e visualizar as imagens de condicionamento com:
# env-name: one of ['parkour', 'hurdle', 'gaps', 'stairs_v1', 'stairs_v2']
python play.py --save-path [--env-name] [--num-steps] [--seed]
onde save_path
é onde salvar o vídeo resultante.
Para executar o pipeline de aumento generativo completo, você precisará instalar o pacote weaver
aqui. Quando terminar, certifique-se também de que as variáveis de ambiente ainda estejam definidas corretamente:
COMFYUI_CONFIG_PATH=/path/to/extra_model_paths.yaml
PYTHONPATH=/path/to/ComfyUI: $PYTHONPATH
Você pode então executar o pipeline completo com:
python play_three_mask_workflow.py --save-path --prompt-collection [--env-name] [--num-steps] [--seed]
onde save_path
e env_name
são os mesmos de antes. prompt_collection
deve ser um caminho para um arquivo .jsonl
com prompts formatados corretamente, como na pasta weaver/examples
.
Agradecemos aos autores do Extreme Parkour por sua base de código de código aberto, que usamos como ponto de partida para nossa política especializada ( lucidsim.model
).
Se você achar nosso trabalho útil, considere citar:
@inproceedings{yu2024learning,
title={Learning Visual Parkour from Generated Images},
author={Alan Yu and Ge Yang and Ran Choi and Yajvan Ravan and John Leonard and Phillip Isola},
booktitle={8th Annual Conference on Robot Learning},
year={2024},
}