Skip to content

Commit 17ec6b3

Browse files
authored
bugfix - correctly pass constrain_to_largest_nav_island into ObjectSampler and TargetObjectSampler constructors (#1481)
1 parent 5dee9a7 commit 17ec6b3

File tree

2 files changed

+38
-15
lines changed

2 files changed

+38
-15
lines changed

habitat-lab/habitat/datasets/rearrange/rearrange_generator.py

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -214,21 +214,29 @@ def _get_obj_samplers(self) -> None:
214214
self._obj_samplers[
215215
obj_sampler_info["name"]
216216
] = samplers.ObjectSampler(
217-
object_handles,
218-
obj_sampler_info["params"]["receptacle_sets"],
219-
(
217+
object_set=object_handles,
218+
allowed_recep_set_names=obj_sampler_info["params"][
219+
"receptacle_sets"
220+
],
221+
num_objects=(
220222
obj_sampler_info["params"]["num_samples"][0],
221223
obj_sampler_info["params"]["num_samples"][1],
222224
),
223-
obj_sampler_info["params"]["orientation_sampling"],
224-
get_sample_region_ratios(obj_sampler_info),
225-
obj_sampler_info["params"].get(
225+
orientation_sample=obj_sampler_info["params"][
226+
"orientation_sampling"
227+
],
228+
sample_region_ratio=get_sample_region_ratios(
229+
obj_sampler_info
230+
),
231+
nav_to_min_distance=obj_sampler_info["params"].get(
226232
"nav_to_min_distance", -1.0
227233
),
228-
obj_sampler_info["params"].get("sample_probs", None),
229-
obj_sampler_info["params"].get(
230-
"constrain_to_largest_nav_island", False
234+
recep_set_sample_probs=obj_sampler_info["params"].get(
235+
"sample_probs", None
231236
),
237+
constrain_to_largest_nav_island=obj_sampler_info[
238+
"params"
239+
].get("constrain_to_largest_nav_island", False),
232240
)
233241
else:
234242
logger.info(
@@ -256,17 +264,29 @@ def _get_object_target_samplers(self) -> None:
256264
target_sampler_info["name"]
257265
] = samplers.ObjectTargetSampler(
258266
# Add object set later
259-
[],
260-
target_sampler_info["params"]["receptacle_sets"],
261-
(
267+
object_instance_set=[],
268+
allowed_recep_set_names=target_sampler_info["params"][
269+
"receptacle_sets"
270+
],
271+
num_objects=(
262272
target_sampler_info["params"]["num_samples"][0],
263273
target_sampler_info["params"]["num_samples"][1],
264274
),
265-
target_sampler_info["params"]["orientation_sampling"],
266-
get_sample_region_ratios(target_sampler_info),
267-
target_sampler_info["params"].get(
275+
orientation_sample=target_sampler_info["params"][
276+
"orientation_sampling"
277+
],
278+
sample_region_ratio=get_sample_region_ratios(
279+
target_sampler_info
280+
),
281+
nav_to_min_distance=target_sampler_info["params"].get(
268282
"nav_to_min_distance", -1.0
269283
),
284+
recep_set_sample_probs=target_sampler_info["params"].get(
285+
"sample_probs", None
286+
),
287+
constrain_to_largest_nav_island=target_sampler_info[
288+
"params"
289+
].get("constrain_to_largest_nav_island", False),
270290
)
271291
else:
272292
logger.info(

habitat-lab/habitat/datasets/rearrange/run_episode_generator.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,9 @@ class RearrangeEpisodeGeneratorConfig:
159159
# {"object_samplers":[str], "receptacle_sets":[str], "num_samples":[min, max], "orientation_sampling":str)
160160
# NOTE: random instances are chosen from the specified, previously excecuted object sampler up to the maximum number specified in params.
161161
# NOTE: previous samplers referenced must have: combined minimum samples >= minimum requested targets
162+
# NOTE: "orientation_sampling" options: "none", "up", "all"
163+
# NOTE: (optional) "constrain_to_largest_nav_island" (default False): if True, valid placements must snap to the largest navmesh island
164+
# NOTE: (optional) "nav_to_min_distance" (default -1): if not -1, valid placements must snap to the navmesh with horizontal distance less than this value
162165
# {
163166
# "name": "any_one_target",
164167
# "type": "uniform",

0 commit comments

Comments
 (0)