Skip to content

Commit

Permalink
tasknet demo1 updated for iGv1
Browse files Browse the repository at this point in the history
  • Loading branch information
sanjanasrivastava committed Oct 19, 2020
1 parent e1f3457 commit a3ba844
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 21 deletions.
2 changes: 1 addition & 1 deletion examples/demo/mouse_interaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def test_import_igsdf():

scene = InteractiveIndoorScene(
'Rs_int', texture_randomization=False, object_randomization=False)
# scene._set_first_n_objects(10)
scene._set_first_n_objects(5)
settings = MeshRendererSettings(env_texture_filename=hdr_texture,
env_texture_filename2=hdr_texture2,
env_texture_filename3=background_texture,
Expand Down
60 changes: 60 additions & 0 deletions examples/demo/mouse_interaction_placesetting.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/usr/bin/env python
from gibson2.simulator import Simulator
from gibson2.scenes.igibson_indoor_scene import InteractiveIndoorScene
from gibson2.utils.utils import parse_config
from gibson2.render.mesh_renderer.mesh_renderer_cpu import MeshRendererSettings
from gibson2.objects.ycb_object import YCBObject
import os
import gibson2
import time
import random
import sys

# human interaction demo


def test_import_igsdf():
hdr_texture = os.path.join(
gibson2.ig_dataset_path, 'scenes', 'background', 'probe_02.hdr')
hdr_texture2 = os.path.join(
gibson2.ig_dataset_path, 'scenes', 'background', 'probe_03.hdr')
light_modulation_map_filename = os.path.join(
gibson2.ig_dataset_path, 'scenes', 'Rs_int', 'layout', 'floor_lighttype_0.png')
background_texture = os.path.join(
gibson2.ig_dataset_path, 'scenes', 'background', 'urban_street_01.jpg')

scene = InteractiveIndoorScene(
'Rs_int', texture_randomization=False, object_randomization=False)
# scene._set_first_n_objects(10)
settings = MeshRendererSettings(env_texture_filename=hdr_texture,
env_texture_filename2=hdr_texture2,
env_texture_filename3=background_texture,
light_modulation_map_filename=light_modulation_map_filename,
enable_shadow=True, msaa=True,
light_dimming_factor=1.0)
s = Simulator(mode='iggui', image_width=960,
image_height=720, device_idx=0, rendering_settings=settings)

s.viewer.min_cam_z = 1.0

s.import_ig_scene(scene)

# Add objects
# obj1 = YCBObject(filename=

while True:
start = time.time()
s.step()
end = time.time()
print("Elapsed time: ", end - start)
print("Frequency: ", 1 / (end - start))
s.disconnect()
print("end")


def main():
test_import_igsdf()


if __name__ == "__main__":
main()
1 change: 1 addition & 0 deletions gibson2/render/viewer.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ def create_visual_object(self):
radius=0.04, rgba_color=[0, 0, 1, 1])
self.constraint_marker2 = VisualMarker(visual_shape=p.GEOM_CAPSULE, radius=0.01, length=3,
initial_offset=[0, 0, -1.5], rgba_color=[0, 0, 1, 1])
print('SIMULATOR:', self.simulator)
if self.simulator is not None:
self.simulator.import_object(
self.constraint_marker2, use_pbr=False)
Expand Down
9 changes: 4 additions & 5 deletions gibson2/simulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@ def add_viewer(self):
if self.use_vr_renderer:
self.viewer = ViewerVR()
else:
self.viewer = Viewer()
# self.viewer = Viewer()
self.viewer = Viewer(simulator=self, renderer=self.renderer)
self.viewer.renderer = self.renderer

def reload(self):
Expand Down Expand Up @@ -151,17 +152,15 @@ def load(self):
p.setPhysicsEngineParameter(enableFileCaching=0)
print("PyBullet Logging Information******************")

if (self.use_ig_renderer or self.use_vr_renderer) and not self.render_to_tensor:
self.add_viewer()

self.visual_objects = {}
self.robots = []
self.scene = None
self.next_class_id = 0

if self.use_ig_renderer and not self.render_to_tensor:
if (self.use_ig_renderer or self.use_vr_renderer) and not self.render_to_tensor:
self.add_viewer()


def optimize_vertex_and_texture(self):
self.renderer.optimize_vertex_and_texture()

Expand Down
47 changes: 32 additions & 15 deletions gibson2/task/task_base.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,54 @@
import os

import tasknet as tn
from tasknet.task_base import TaskNetTask
import gibson2
from gibson2.simulator import Simulator
from gibson2.scenes.igibson_indoor_scene import InteractiveIndoorScene
from gibson2.render.mesh_renderer.mesh_renderer_cpu import MeshRendererSettings


scene_path = 'd:\\gibson2_assets\\gibson_v2_selected\\' # TODO where to source this from?
scene_path = 'd:\\ig_dataset\\scenes'
from gibson2.objects.articulated_object import URDFObject


class iGTNTaskInstance(TaskNetTask):
def __init__(self, atus_activity, simulator):
def __init__(self, atus_activity):
super().__init__(atus_activity)
self.simulator = simulator

def initialize_scene(self): # NOTE can't have the same method name right
'''
Get scene populated with objects such that scene satisfies initial conditions
'''
self.scene = self.initialize(scene_path, InteractiveIndoorScene)
self.simulator.import_scene(self.scene)
self.scene_name, self.scene = self.initialize(InteractiveIndoorScene, URDFObject)

hdr_texture = os.path.join(
gibson2.ig_dataset_path, 'scenes', 'background', 'probe_02.hdr')
hdr_texture2 = os.path.join(
gibson2.ig_dataset_path, 'scenes', 'background', 'probe_03.hdr')
light_modulation_map_filename = os.path.join(
gibson2.ig_dataset_path, 'scenes', self.scene_name, 'layout', 'floor_lighttype_0.png')
background_texture = os.path.join(
gibson2.ig_dataset_path, 'scenes', 'background', 'urban_street_01.jpg')

settings = MeshRendererSettings(env_texture_filename=hdr_texture,
env_texture_filename2=hdr_texture2,
env_texture_filename3=background_texture,
light_modulation_map_filename=light_modulation_map_filename,
enable_shadow=True, msaa=True,
light_dimming_factor=1.0)
self.simulator = Simulator(mode='iggui', image_width=960, image_height=720, device_idx=0, rendering_settings=settings)

self.simulator.viewer.min_cam_z = 1.0
self.simulator.import_ig_scene(self.scene)


def main():
settings = MeshRendererSettings(enable_shadow=True, msaa=False)
sim = Simulator(mode='gui', image_width=1000, image_height=1000, device_idx=0, rendering_settings=settings)
igtn_task_instance = iGTNTaskInstance('demo1', sim)
igtn_task_instance = iGTNTaskInstance('demo1')
igtn_task_instance.initialize_scene()
for i in range(30):
sim.step()
print('TASK SUCCESS:', igtn_task_instance.check_success())
sim.disconnect()

for i in range(100):
igtn_task_instance.simulator.step()
print('TASK SUCCESS:', igtn_task_instance.check_success())
igtn_task_instance.simulator.disconnect()


if __name__ == '__main__':
main()
Expand Down

0 comments on commit a3ba844

Please sign in to comment.