-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathviz_isaac.py
38 lines (28 loc) · 1.05 KB
/
viz_isaac.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from avp_stream.isaac_env import IsaacVisualizerEnv
from avp_stream import VisionProStreamer
import time
from typing import *
import numpy as np
import torch
class IsaacVisualizer:
def __init__(self, args):
self.s = VisionProStreamer(args.ip, args.record)
self.env = IsaacVisualizerEnv(args)
def run(self):
while True:
latest = self.s.latest
self.env.step(np2tensor(latest, self.env.device))
def np2tensor(data: Dict[str, np.ndarray], device) -> Dict[str, torch.Tensor]:
for key in data.keys():
data[key] = torch.tensor(data[key], dtype = torch.float32, device = device)
return data
if __name__ == "__main__":
import argparse
import os
parser = argparse.ArgumentParser()
parser.add_argument('--ip', type = str, required = True)
parser.add_argument('--record', action = 'store_true')
parser.add_argument('--follow', action = 'store_true', help = "The viewpoint follows the users head")
args = parser.parse_args()
vis = IsaacVisualizer(args)
vis.run()