Feedback visual ativo imersivo
Xuxin cheng* · jialong li* · shiqi yang
Ge yang · xiaolong wang



Este código contém implementação para o aprendizado de televisão e imitação da televisão aberta.
conda create -n tv python=3.8
conda activate tv
pip install -r requirements.txt
cd act/detr && pip install -e .Instale o ZED SDK: https://www.stereolabs.com/developers/release/
Instale o Zed Python API:
cd /usr/local/zed/ && python get_python_api.py
Se você deseja experimentar o exemplo de teleoperação em um ambiente simulado (teleop_hand.py):
Instale o Isaac Gym: https://developer.nvidia.com/isaac-gym/
Para a Quest Local Streaming, siga esta questão.
A Apple não permite o WebXR nas conexões não-HTTPS. Para testar o aplicativo localmente, precisamos criar um certificado autoassinado e instalá-lo no cliente. Você precisa de uma máquina Ubuntu e um roteador. Conecte o VisionPro e a máquina Ubuntu ao mesmo roteador.
ifconfig | grep inet
Suponha que o endereço IP local da máquina Ubuntu seja 192.168.8.102 .
mkcert -install && mkcert -cert-file cert.pem -key-file key.pem 192.168.8.102 localhost 127.0.0.1
ps. Coloque os arquivos Gerated cert.pem e key.pem no teleop .
sudo iptables -A INPUT -p tcp --dport 8012 -j ACCEPT
sudo iptables-save
sudo iptables -L
ou pode ser feito com ufw :
sudo ufw allow 8012
tv = OpenTeleVision(self.resolution_cropped, shm.name, image_queue, toggle_streaming, ngrok=False)
mkcert -CAROOT
Copie o rootca.pem via AirDrop para VisionPro e instale -o.
Configurações> Geral> Sobre> Configurações de confiança do certificado. Em "Enable total confiança para certificados raiz", ligue a confiança no certificado.
Configurações> APPS> Safari> Avançado> Sinalizadores de recursos> Ativar recursos relacionados ao Webxr
Abra o navegador no Safari no VisionPro e vá para https://192.168.8.102:8012?ws=wss://192.168.8.102:8012
Clique em Enter VR e Allow iniciar a sessão de VR.
Para o Meta Quest3, a instalação do certificado não é trivial. Precisamos usar uma solução de streaming de rede. Usamos ngrok para criar um túnel seguro para o servidor. Este método funcionará para o VisionPro e o Meta Quest3.
ngrok http 8012
ps. Ao usar o NGROK para streaming de rede, lembre -se de ligar para OpenTeleVision com:
self.tv = OpenTeleVision(self.resolution_cropped, self.shm.name, image_queue, toggle_streaming, ngrok=True)
cd teleop && python teleop_hand.py
Vá para o seu site Vuer no VisionPro, clique em Enter VR e Allow entrar no ambiente imersivo.
Veja suas mãos em 3D!

Faça o download do conjunto de dados em https://drive.google.com/drive/folders/11wo96mumjmxro9hpvm4adz7thuugnemy?usp=sharing.
Coloque o conjunto de dados baixado em data/recordings/ .
Processe o conjunto de dados especificado para treinamento usando scripts/post_process.py .
Você pode verificar as seqüências de imagem e ação de um episódio específico no conjunto de dados usando scripts/replay_demo.py .
Para treinar o ato, correr:
python imitate_episodes.py --policy_class ACT --kl_weight 10 --chunk_size 60 --hidden_dim 512 --batch_size 45 --dim_feedforward 3200 --num_epochs 50000 --lr 5e-5 --seed 0 --taskid 00 --exptid 01-sample-expt
python imitate_episodes.py --policy_class ACT --kl_weight 10 --chunk_size 60 --hidden_dim 512 --batch_size 45 --dim_feedforward 3200 --num_epochs 50000 --lr 5e-5 --seed 0 --taskid 00 --exptid 01-sample-expt
--save_jit --resume_ckpt 25000
scripts/deploy_sim.py , exemplo de uso: python deploy_sim.py --taskid 00 --exptid 01 --resume_ckpt 25000
@article{cheng2024tv,
title={Open-TeleVision: Teleoperation with Immersive Active Visual Feedback},
author={Cheng, Xuxin and Li, Jialong and Yang, Shiqi and Yang, Ge and Wang, Xiaolong},
journal={arXiv preprint arXiv:2407.01512},
year={2024}
}