Имтивтивная активная визуальная обратная связь
Xuxin Cheng* · Jialong li* · Shiqi Yang
Ge yang · xiaolong wang



Этот код содержит реализацию для телеоперации и имитации изучения открытого телевизионного.
conda create -n tv python=3.8
conda activate tv
pip install -r requirements.txt
cd act/detr && pip install -e .Установить Zed SDK: https://www.stereolabs.com/developers/release/
Установите API Zed Python:
cd /usr/local/zed/ && python get_python_api.py
Если вы хотите попробовать пример телеоперации в моделируемой среде (teleop_hand.py):
Установите Gym: https://developer.nvidia.com/isaac-gym/
Для квеста локальной потоковой передачи следуйте этой проблеме.
Apple не разрешает webxr на не-HTTPS подключения. Чтобы проверить приложение локально, нам нужно создать самореагированный сертификат и установить его на клиент. Вам нужна машина Ubuntu и маршрутизатор. Подключите VisionPro и машину Ubuntu с тем же маршрутизатором.
ifconfig | grep inet
Предположим, локальный IP -адрес машины Ubuntu составляет 192.168.8.102 .
mkcert -install && mkcert -cert-file cert.pem -key-file key.pem 192.168.8.102 localhost 127.0.0.1
пса Поместите сгенерированные файлы cert.pem и key.pem в teleop .
sudo iptables -A INPUT -p tcp --dport 8012 -j ACCEPT
sudo iptables-save
sudo iptables -L
или можно сделать с помощью ufw :
sudo ufw allow 8012
tv = OpenTeleVision(self.resolution_cropped, shm.name, image_queue, toggle_streaming, ngrok=False)
mkcert -CAROOT
Скопируйте rootca.pem через Airdrop в VisionPro и установите его.
Настройки> Общие> о> Настройках доверия сертификата. В разделе «Включить полное доверие для корневых сертификатов», включите доверие для сертификата.
Настройки> Приложения> Safari> Advanced> Флаги функций> Включить функции, связанные с WebXR
Откройте браузер на Safari на VisionPro и перейдите по адресу https://192.168.8.102:8012?ws=wss://192.168.8.102:8012
Нажмите Enter VR и Allow запустить сеанс VR.
Для Meta Quest3 установка сертификата не является тривиальной. Нам нужно использовать решение потоковой передачи сети. Мы используем ngrok для создания безопасного туннеля для сервера. Этот метод будет работать как для VisionPro, так и для Meta Quest3.
ngrok http 8012
пса При использовании NGROK для потоковой передачи сети не забудьте позвонить OpenTeleVision с:
self.tv = OpenTeleVision(self.resolution_cropped, self.shm.name, image_queue, toggle_streaming, ngrok=True)
cd teleop && python teleop_hand.py
Перейдите на свой сайт Vuer на VisionPro, нажмите Enter VR и Allow войти в иммерсивную среду.
Смотрите свои руки в 3D!

Скачать набор данных с https://drive.google.com/drive/folders/11wo96mumjmxro9hpvm4adz7thuugnemy?usp=sharing.
Поместите загруженный набор данных в data/recordings/ .
Обработайте указанный набор данных для обучения, используя scripts/post_process.py .
Вы можете проверить последовательности изображения и действия конкретного эпизода в наборе данных, используя scripts/replay_demo.py .
Чтобы тренировать акт, беги:
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 , пример использования: 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}
}