Skip to content

Commit

Permalink
Merge pull request #316 from StanfordVL/ig-develop
Browse files Browse the repository at this point in the history
Release v2.2.2
  • Loading branch information
cgokmen authored Feb 19, 2023
2 parents 3ad2aef + c36a60b commit 7d95982
Show file tree
Hide file tree
Showing 25 changed files with 60 additions and 72 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
build-docs:
name: Build and deploy documentation
runs-on: ubuntu-latest
if: github.repository == 'StanfordVL/iGibson' && github.ref == 'refs/heads/master'
if: github.ref == 'refs/heads/master'

steps:
- name: Checkout code
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/examples-as-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ concurrency:
jobs:
test:
runs-on: [self-hosted, linux, gpu]
if: github.repository == 'StanfordVL/iGibson-dev'

steps:
- name: Checkout source
Expand Down Expand Up @@ -63,9 +62,8 @@ jobs:
- name: Checkout BDDL
uses: actions/checkout@v2
with:
repository: StanfordVL/bddl-dev
ref: 581be50e7cfd2b3a1447aaa1b4fc2424b673339c
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # PAT is required since this is a different repo
repository: StanfordVL/bddl
ref: 7fba5f13cc9f3c83dcce9ef4b014903bbcd6e34f
path: bddl
submodules: recursive
lfs: true
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/exhaustive-examples-as-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ concurrency:
jobs:
test:
runs-on: [self-hosted, linux, gpu]
if: github.repository == 'StanfordVL/iGibson-dev'

steps:
- name: Checkout source
Expand Down Expand Up @@ -63,9 +62,8 @@ jobs:
- name: Checkout BDDL
uses: actions/checkout@v2
with:
repository: StanfordVL/bddl-dev
ref: 581be50e7cfd2b3a1447aaa1b4fc2424b673339c
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # PAT is required since this is a different repo
repository: StanfordVL/bddl
ref: 7fba5f13cc9f3c83dcce9ef4b014903bbcd6e34f
path: bddl
submodules: recursive
lfs: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
--outdir dist/
.
- name: Publish a Python distribution to PyPI
if: github.repository == 'StanfordVL/iGibson' && startsWith(github.ref, 'refs/tags')
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
Expand Down
18 changes: 0 additions & 18 deletions .github/workflows/sync-repos.yml

This file was deleted.

6 changes: 2 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ concurrency:
jobs:
test:
runs-on: [self-hosted, linux, gpu]
if: github.repository == 'StanfordVL/iGibson-dev'

steps:
- name: Checkout source
Expand Down Expand Up @@ -51,9 +50,8 @@ jobs:
- name: Checkout BDDL
uses: actions/checkout@v2
with:
repository: StanfordVL/bddl-dev
ref: 581be50e7cfd2b3a1447aaa1b4fc2424b673339c
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # PAT is required since this is a different repo
repository: StanfordVL/bddl
ref: 7fba5f13cc9f3c83dcce9ef4b014903bbcd6e34f
path: bddl
submodules: recursive
lfs: true
Expand Down
22 changes: 14 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,20 @@ iGibson is a simulation environment providing fast visual rendering and physics
If you use iGibson or its assets and models, consider citing the following publication:

```
@misc{li2021igibson,
title={iGibson 2.0: Object-Centric Simulation for Robot Learning of Everyday Household Tasks},
author={Chengshu Li and Fei Xia and Roberto Mart\'in-Mart\'in and Michael Lingelbach and Sanjana Srivastava and Bokui Shen and Kent Vainio and Cem Gokmen and Gokul Dharan and Tanish Jain and Andrey Kurenkov and Karen Liu and Hyowon Gweon and Jiajun Wu and Li Fei-Fei and Silvio Savarese},
year={2021},
eprint={2108.03272},
archivePrefix={arXiv},
primaryClass={cs.RO}
}
@inproceedings{li2022igibson,
title = {iGibson 2.0: Object-Centric Simulation for Robot Learning of Everyday Household Tasks},
author = {Li, Chengshu and Xia, Fei and Mart\'in-Mart\'in, Roberto and Lingelbach, Michael and Srivastava, Sanjana and Shen, Bokui and Vainio, Kent Elliott and Gokmen, Cem and Dharan, Gokul and Jain, Tanish and Kurenkov, Andrey and Liu, Karen and Gweon, Hyowon and Wu, Jiajun and Fei-Fei, Li and Savarese, Silvio},
booktitle = {Proceedings of the 5th Conference on Robot Learning},
pages = {455--465},
year = {2022},
editor = {Faust, Aleksandra and Hsu, David and Neumann, Gerhard},
volume = {164},
series = {Proceedings of Machine Learning Research},
month = {08--11 Nov},
publisher = {PMLR},
pdf = {https://proceedings.mlr.press/v164/li22b/li22b.pdf},
url = {https://proceedings.mlr.press/v164/li22b.html},
}
```

```
Expand Down
2 changes: 1 addition & 1 deletion docker/.env
Original file line number Diff line number Diff line change
@@ -1 +1 @@
VERSION=v2.2.1
VERSION=v2.2.2
28 changes: 17 additions & 11 deletions docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,23 @@ iGibson implements all features required to evaluate AI solutions in the BEHAVIO
### Citation
If you use iGibson or its assets and models, consider citing the following publications:

```
@InProceedings{li2022igibson,
title = {iGibson 2.0: Object-Centric Simulation for Robot Learning of Everyday Household Tasks},
author = {Li, Chengshu and Xia, Fei and Mart\'in-Mart\'in, Roberto and Lingelbach, Michael and Srivastava, Sanjana and Shen, Bokui and Vainio, Kent Elliott and Gokmen, Cem and Dharan, Gokul and Jain, Tanish and Kurenkov, Andrey and Liu, Karen and Gweon, Hyowon and Wu, Jiajun and Fei-Fei, Li and Savarese, Silvio},
booktitle = {Proceedings of the 5th Conference on Robot Learning},
pages = {455--465},
year = {2022},
editor = {Faust, Aleksandra and Hsu, David and Neumann, Gerhard},
volume = {164},
series = {Proceedings of Machine Learning Research},
month = {08--11 Nov},
publisher = {PMLR},
pdf = {https://proceedings.mlr.press/v164/li22b/li22b.pdf},
url = {https://proceedings.mlr.press/v164/li22b.html},
}
```

```
@inproceedings{shen2021igibson,
title={iGibson 1.0: a Simulation Environment for Interactive Tasks in Large Realistic Scenes},
Expand All @@ -23,17 +40,6 @@ If you use iGibson or its assets and models, consider citing the following publi
}
```

```
@misc{li2021igibson,
title={iGibson 2.0: Object-Centric Simulation for Robot Learning of Everyday Household Tasks},
author={Chengshu Li and Fei Xia and Roberto Martín-Martín and Michael Lingelbach and Sanjana Srivastava and Bokui Shen and Kent Vainio and Cem Gokmen and Gokul Dharan and Tanish Jain and Andrey Kurenkov and Karen Liu and Hyowon Gweon and Jiajun Wu and Li Fei-Fei and Silvio Savarese},
year={2021},
eprint={2108.03272},
archivePrefix={arXiv},
primaryClass={cs.RO}
}
```

### Code Release
The GitHub repository of iGibson can be found [here](https://github.com/StanfordVL/iGibson). Bug reports, suggestions for improvement, as well as community developments are encouraged and appreciated.

Expand Down
2 changes: 1 addition & 1 deletion igibson/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import packaging.version
import yaml

__version__ = "2.2.1"
__version__ = "2.2.2"

__logo__ = r"""
_ _____ _ _
Expand Down
2 changes: 1 addition & 1 deletion igibson/controllers/null_gripper_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def __init__(
super().__init__(
control_freq=control_freq,
control_limits=control_limits,
joint_idx=np.array([], dtype=np.int), # no joints controlled
joint_idx=np.array([], dtype=int), # no joints controlled
command_input_limits=command_input_limits,
command_output_limits=command_output_limits,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ def get_lidar_sampling_pattern():

height = 128

x_samples = (np.tan(xx) / np.cos(yy) * height // 2 + height // 2).astype(np.int)
y_samples = (np.tan(yy) * height // 2 + height // 2).astype(np.int)
x_samples = (np.tan(xx) / np.cos(yy) * height // 2 + height // 2).astype(int)
y_samples = (np.tan(yy) * height // 2 + height // 2).astype(int)

x_samples = x_samples.flatten()
y_samples = y_samples.flatten()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ def gen_map(obj_filepath, mesh_dir, img_filename_format="floor_{}.png"):
xmax, ymax, _ = vertices.max(axis=0)

max_length = np.max([np.abs(xmin), np.abs(ymin), np.abs(xmax), np.abs(ymax)])
max_length = np.ceil(max_length).astype(np.int)
max_length = np.ceil(max_length).astype(int)

with open(os.path.join(mesh_dir, "floors.txt")) as f:
floors = map(float, f.readlines())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ def gen_trav_map(mp3d_dir, add_clutter=False):
xmax, ymax, _ = vertices.max(axis=0)

max_length = np.max([np.abs(xmin), np.abs(ymin), np.abs(xmax), np.abs(ymax)])
max_length = np.ceil(max_length).astype(np.int)
max_length = np.ceil(max_length).astype(int)

for i_floor in range(len(floors)):
floor = floors[i_floor]
Expand Down
2 changes: 1 addition & 1 deletion igibson/external/pybullet_tools/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3419,7 +3419,7 @@ def collision_fn(q):
robot_footprint_radius_in_map * 2 + 1))
cv2.circle(mask, (robot_footprint_radius_in_map, robot_footprint_radius_in_map), robot_footprint_radius_in_map,
1, -1)
mask = mask.astype(np.bool)
mask = mask.astype(bool)

# Check if all the points where the shifted mask of the robot base overlaps with the occupancy map are
# marked as FREESPACE, and return false if not
Expand Down
4 changes: 2 additions & 2 deletions igibson/object_states/adjacency.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def compute_adjacencies(obj, axes, max_distance):
directions[1::2] = -axes

# For now, we keep our result in the dimensionality of (direction, hit_object_order).
finalized = np.zeros(directions.shape[0], dtype=np.bool)
finalized = np.zeros(directions.shape[0], dtype=bool)
bodies_by_direction = [[] for _ in directions]

# Prepare this object's info for ray casting.
Expand Down Expand Up @@ -104,7 +104,7 @@ def compute_adjacencies(obj, axes, max_distance):
)

# Get the object IDs per axis and filter out self-hit cases.
obj_ids = np.array([result[0] for result in ray_results], dtype=np.int)
obj_ids = np.array([result[0] for result in ray_results], dtype=int)

# Add the results to the appropriate lists
for direction_idx, result in enumerate(obj_ids):
Expand Down
2 changes: 1 addition & 1 deletion igibson/object_states/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ def sample_kinematics(
height, height_map = objB.supporting_surfaces[predicate][(body_id, link_id)][random_height_idx]
obj_half_size = np.max(objA.bounding_box) / 2 * 100
obj_half_size_scaled = np.array([obj_half_size / objB.scale[1], obj_half_size / objB.scale[0]])
obj_half_size_scaled = np.ceil(obj_half_size_scaled).astype(np.int)
obj_half_size_scaled = np.ceil(obj_half_size_scaled).astype(int)
height_map_eroded = cv2.erode(height_map, np.ones(obj_half_size_scaled, np.uint8))

valid_pos = np.array(height_map_eroded.nonzero())
Expand Down
4 changes: 2 additions & 2 deletions igibson/render/mesh_renderer/mesh_renderer_cpu.py
Original file line number Diff line number Diff line change
Expand Up @@ -1764,8 +1764,8 @@ def setup_lidar_param(self):
xx = xx.flatten()
yy = yy.flatten()

x_samples = (np.tan(xx) / np.cos(yy) * self.height // 2 + self.height // 2).astype(np.int)
y_samples = (np.tan(yy) * self.height // 2 + self.height // 2).astype(np.int)
x_samples = (np.tan(xx) / np.cos(yy) * self.height // 2 + self.height // 2).astype(int)
y_samples = (np.tan(yy) * self.height // 2 + self.height // 2).astype(int)

self.x_samples = x_samples.flatten()
self.y_samples = y_samples.flatten()
Expand Down
2 changes: 1 addition & 1 deletion igibson/robots/jr2.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ def gripper_control_idx(self):
:return dict[str, Array[int]]: Dictionary mapping arm appendage name to indices in low-level control
vector corresponding to gripper joints.
"""
return {self.default_arm: np.array([8, 9], dtype=np.int)}
return {self.default_arm: np.array([8, 9], dtype=int)}

@property
def disabled_collision_pairs(self):
Expand Down
2 changes: 1 addition & 1 deletion igibson/scenes/igibson_indoor_scene.py
Original file line number Diff line number Diff line change
Expand Up @@ -1042,7 +1042,7 @@ def world_to_seg_map(self, xy):
:param xy: 2D location in world reference frame (metric)
:return: 2D location in seg map reference frame (image)
"""
return np.flip((xy / self.seg_map_resolution + self.seg_map_size / 2.0)).astype(np.int)
return np.flip((xy / self.seg_map_resolution + self.seg_map_size / 2.0)).astype(int)

def get_room_type_by_point(self, xy):
"""
Expand Down
2 changes: 1 addition & 1 deletion igibson/scenes/indoor_scene.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ def world_to_map(self, xy):
:param xy: 2D location in world reference frame (metric)
:return: 2D location in map reference frame (image)
"""
return np.flip((np.array(xy) / self.trav_map_resolution + self.trav_map_size / 2.0)).astype(np.int)
return np.flip((np.array(xy) / self.trav_map_resolution + self.trav_map_size / 2.0)).astype(int)

def has_node(self, floor, world_xy):
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ def get_scene_range(model_id):
xmin, ymin = stacked.min(axis=0)
xmax, ymax = stacked.max(axis=0)
max_length = np.max([np.abs(xmin), np.abs(ymin), np.abs(xmax), np.abs(ymax)])
max_length = np.ceil(max_length).astype(np.int)
max_length = np.ceil(max_length).astype(int)
return max_length


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ def main():
xmin, ymin = stacked.min(axis=0)
xmax, ymax = stacked.max(axis=0)
max_length = np.max([np.abs(xmin), np.abs(ymin), np.abs(xmax), np.abs(ymax)])
max_length = np.ceil(max_length).astype(np.int)
max_length = np.ceil(max_length).astype(int)
ins_image = Image.new("L", (2 * max_length * 100, 2 * max_length * 100), 0)
d1 = ImageDraw.Draw(ins_image)
sem_image = Image.new("L", (2 * max_length * 100, 2 * max_length * 100), 0)
Expand Down
4 changes: 2 additions & 2 deletions igibson/utils/map_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def gen_trav_map(
xmax, ymax, _ = vertices.max(axis=0)

max_length = np.max([np.abs(xmin), np.abs(ymin), np.abs(xmax), np.abs(ymax)])
max_length = np.ceil(max_length).astype(np.int)
max_length = np.ceil(max_length).astype(int)

wall_maps = gen_map(vertices, faces, output_folder, img_filename_format=obstacle_map_filename_format)
wall_pts = np.array(np.where(wall_maps[0] == 0)).T
Expand Down Expand Up @@ -170,7 +170,7 @@ def gen_map(vertices, faces, output_folder, img_filename_format="floor_{}.png"):
xmax, ymax, _ = vertices.max(axis=0)

max_length = np.max([np.abs(xmin), np.abs(ymin), np.abs(xmax), np.abs(ymax)])
max_length = np.ceil(max_length).astype(np.int)
max_length = np.ceil(max_length).astype(int)

floors = [0.0]
print(floors)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name="igibson"
version="2.2.1"
version="2.2.2"
readme = "README.md"
requires-python = ">=2.8"
license = {text = "MIT"}
Expand Down

0 comments on commit 7d95982

Please sign in to comment.