Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comparing for eventual rebase #2039

Draft
wants to merge 93 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
2944319
Add task config for multi-agent
Ram81 Apr 29, 2024
8c22953
changes to run barebone w/llm
zephirefaith May 1, 2024
e16ddbd
basic plumbing into hitl
zephirefaith May 1, 2024
7849ef6
fixing precommit
zephirefaith May 1, 2024
e4631d5
adding visual sensors
zephirefaith May 2, 2024
0c0ed67
config patching, remove unneeded super() calls
zephirefaith May 2, 2024
c8a9857
frankenstein hitl+llm config
zephirefaith May 2, 2024
77880a3
bandaids to get to working V0
zephirefaith May 6, 2024
eed48c1
Merge branch 'main' of github.com:facebookresearch/habitat-lab into z…
zephirefaith May 7, 2024
21ce0c4
making visual sensor changes configurable with explicit flags
zephirefaith May 8, 2024
e74a92d
delete sensors we do not need
zephirefaith May 8, 2024
8e912e4
multi-threading + partial obs
zephirefaith May 12, 2024
f62a4e9
speeding up the humanoid
zephirefaith May 15, 2024
c71b55f
logging
zephirefaith May 15, 2024
622f582
Merge branch 'main' of github.com:facebookresearch/habitat-lab into z…
zephirefaith May 15, 2024
05ac703
moving habitat-llm stuff to dedicated file/module
zephirefaith May 17, 2024
998dd6d
+header,+-logging,-llm util
zephirefaith May 17, 2024
ff0fb40
remove unused config
zephirefaith May 17, 2024
a87b1ba
optional logging, -llb-deps
zephirefaith May 17, 2024
a0ab1c2
Disable new clone protection for git lfs (#1961)
aclegg3 May 16, 2024
48fdfdb
HITL - Make client loading state available to applications. (#1955)
0mdc May 17, 2024
0963a59
Add buttons and modal dialog boxes. (#1956)
0mdc May 17, 2024
4e8650c
Add configuration to enable new connections by default. (#1960)
0mdc May 17, 2024
8a653c2
Add textboxes. (#1957)
0mdc May 17, 2024
783506e
HITL - Add picture-in-picture viewports. (#1958)
0mdc May 17, 2024
e7e76ab
HITL - Add object visbility handling and hide "self" in viewports. (#…
0mdc May 17, 2024
8a93681
Add autogenerated navmeshes to gitignore. (#1963)
0mdc May 17, 2024
74c8df7
HITL - Rearrange State Machine (#1964)
0mdc May 18, 2024
bb2167d
HITL - Rearrange session handling (#1965)
0mdc May 20, 2024
a9a2912
HITL - Data collection (#1967)
0mdc May 20, 2024
91481fd
[BE/CI] - remove auto downloads (#1962)
aclegg3 May 21, 2024
c3963a6
HITL - Add end episode form and error reporting (#1968)
0mdc May 21, 2024
1031c8d
Embodied Unoccluded Navmesh Snap util (#1949)
aclegg3 May 21, 2024
d675999
remove auto downloader from RearrangeDataset init (#1969)
aclegg3 May 22, 2024
8d0c9cf
add ignore_object_ids to snap_down API (#1971)
aclegg3 May 22, 2024
0c05761
HITL - Decouple agents from users. (#1972)
0mdc May 22, 2024
1b3e7cf
Change dataset config.
0mdc May 23, 2024
30712b0
Config updates for remote HITL sessions.
0mdc May 28, 2024
0a88ef7
Load llm extensions.
0mdc May 28, 2024
1d8f031
Update LLM config.
0mdc May 28, 2024
d981be3
Remove dead code in LLM controller.
0mdc May 28, 2024
4a8c77f
Avoid errors when loading non-llm configs.
0mdc May 29, 2024
a9e49f5
Remove superfluous dataset definition.
0mdc May 29, 2024
1965953
Avoid resetting Habitat when resetting environment_interface.
0mdc May 29, 2024
dc65e92
Fix rearrange sensor initialization.
0mdc May 29, 2024
60a08f9
Add rearrange_v2 config.
0mdc May 29, 2024
fe5504c
Set idle timer to 180s.
0mdc May 29, 2024
cebd24b
event callbacks and action-space update
zephirefaith May 31, 2024
72cb8f7
added open/close callback too; test next
zephirefaith May 31, 2024
243df21
Speed up agent action thread.
0mdc Jun 1, 2024
a9ff943
Make Unity controls smoother.
0mdc Jun 2, 2024
3ae3e3c
Code formatting and typing fixes.
0mdc Jun 2, 2024
5f07807
Skip serialization of attributes missing mendatory values.
0mdc Jun 2, 2024
9dcb6ce
Fix other agent's sensor.
0mdc Jun 2, 2024
4431ab2
Add comment.
0mdc Jun 2, 2024
61750e4
Query grasp manager to determine whether an object is picked by an ag…
0mdc Jun 3, 2024
5945cce
Move HITL output to 'data/' so that it is ignored by git.
0mdc Jun 3, 2024
0c585de
Fix place receptacle ID.
0mdc Jun 3, 2024
0d1d2fb
Use grasp manager to communicate grasp state to other systems.
0mdc Jun 4, 2024
3ac6df1
Enable humanoid model in single-learn so that the human appears in th…
0mdc Jun 4, 2024
ef49e09
forward all the actions
zephirefaith Jun 4, 2024
2d2d1c5
Merge branch '0mdc/phase3' of https://github.com/facebookresearch/hab…
zephirefaith Jun 4, 2024
38e9da2
removing unnecessary measure
zephirefaith Jun 4, 2024
e487e9f
robustifying a bit
zephirefaith Jun 4, 2024
95522f3
receptacle naming
zephirefaith Jun 5, 2024
7fa8f17
turn off magic desnapping
zephirefaith Jun 5, 2024
93ed72d
termination condition for single-learn case
zephirefaith Jun 6, 2024
2191f56
adding termination event; bypassing planning when done
zephirefaith Jun 6, 2024
3031983
clean-up
zephirefaith Jun 6, 2024
74829eb
Disable new connections by default.
0mdc Jun 7, 2024
7f3ccf1
Move agent head sensors to match GUI camera.
0mdc Jun 7, 2024
6e0cdfb
Disable RGB sensors.
0mdc Jun 7, 2024
41583e0
adding task % progress
zephirefaith Jun 7, 2024
677d971
guard each agent's obs
zephirefaith Jun 7, 2024
9b5ca88
Disable humanoid sensor auto-update.
0mdc Jun 7, 2024
3e3324e
Disable task success text. Add task success to data output.
0mdc Jun 7, 2024
b983eb3
Adjust episode termination signals for single-learn.
0mdc Jun 7, 2024
1757301
Add skip episode app state.
0mdc Jun 7, 2024
c455f7f
Fix config typo.
0mdc Jun 7, 2024
5f756d5
hot-fix for inaccessible receptacles
zephirefaith Jun 7, 2024
859c0c5
Merge branch '0mdc/phase3' of https://github.com/facebookresearch/hab…
zephirefaith Jun 7, 2024
a6021cc
guard if no fur found for rec
zephirefaith Jun 7, 2024
9bb5ec1
guards
zephirefaith Jun 7, 2024
4a0d292
typo
zephirefaith Jun 7, 2024
08f9fb3
first finish thread then reset env
zephirefaith Jun 7, 2024
fe9d887
receptacle ID can be furniture ID
zephirefaith Jun 7, 2024
de568e2
Formatting fix.
0mdc Jun 10, 2024
21aeea3
Change data collection output folder.
0mdc Jun 10, 2024
776f0c7
handle error termination from user/agent
zephirefaith Jun 11, 2024
12e4f56
sending error information
zephirefaith Jun 11, 2024
f4fe7de
Record episode status.
0mdc Jun 12, 2024
744dc38
guarding against exceptions and absence of handles
zephirefaith Jun 12, 2024
cc1584c
Merge branch '0mdc/phase3' of https://github.com/facebookresearch/hab…
Jun 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Record episode status.
0mdc committed Jun 12, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit f4fe7de2d18b8d00d08e4082400fbbdb30b61979
14 changes: 8 additions & 6 deletions examples/hitl/rearrange_v2/rearrange_v2.py
Original file line number Diff line number Diff line change
@@ -42,6 +42,7 @@
GuiRobotController,
)
from habitat_hitl.environment.controllers.llm_controller import (
AgentTerminationEvent,
LLMController,
PlannerStatus,
)
@@ -57,7 +58,6 @@ class EpisodeCompletionStatus(Enum):
PENDING = (0,)
SUCCESS = (1,)
FAILURE = (2,)
ERROR = (3,)


class FrameRecorder:
@@ -166,15 +166,15 @@ def __init__(
self.cam_transform = mn.Matrix4.identity_init()

self.episode_completion_status = EpisodeCompletionStatus.PENDING
self._episode_completion_message = ''
self._episode_completion_message = ""

def _on_termination_cb(self, _e: Any = None):
def _on_termination_cb(self, _e: AgentTerminationEvent = None):
if _e.status == PlannerStatus.SUCCESS:
self.episode_completion_status = EpisodeCompletionStatus.SUCCESS
elif _e.status == PlannerStatus.FAILED:
self.episode_completion_status = EpisodeCompletionStatus.FAILURE
elif _e.status == PlannerStatus.ERROR:
self.episode_completion_status = EpisodeCompletionStatus.ERROR
self.episode_completion_status = EpisodeCompletionStatus.FAILURE
self._episode_message = _e.message

def update_camera_from_sensor(self) -> None:
@@ -639,7 +639,9 @@ def on_exit(self):
super().on_exit()

episode_success = self._is_episode_successful()
self._session.session_recorder.end_episode(episode_success)
self._session.session_recorder.end_episode(
episode_success, self._skip_episode_error_message
)

def on_environment_reset(self, episode_recorder_dict):
self._world.reset()
@@ -920,7 +922,7 @@ def _is_episode_successful(self) -> bool:
for agent_index in range(self._num_agents)
)

def _on_termination_cb(self, _e: Any = None):
def _on_termination_cb(self, _e: AgentTerminationEvent = None):
# Trigger episode change sequence when an agent error occurs.
if _e.status == PlannerStatus.ERROR:
self._skip_episode_error_message = f"Other participant encountered an error: {_e.message}. Skipping episode."
6 changes: 5 additions & 1 deletion examples/hitl/rearrange_v2/session_recorder.py
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

from typing import Any, Dict, List
from typing import Any, Dict, List, Optional

from util import timestamp

@@ -68,10 +68,14 @@ def start_episode(
def end_episode(
self,
success: bool,
episode_failure_error_message: Optional[str],
):
self.data["episodes"][-1]["end_timestamp"] = timestamp()
self.data["episodes"][-1]["success"] = success
self.data["episodes"][-1]["completed"] = True
self.data["episodes"][-1][
"error_message"
] = episode_failure_error_message

def record_frame(
self,
Original file line number Diff line number Diff line change
@@ -270,15 +270,23 @@ def act(self, observations, debug_obs: bool = False, *args, **kwargs):
>= self._planner_info["replanning_threshold"]
):
self._on_termination.invoke(
AgentTerminationEvent(status=PlannerStatus.FAILED, message="replanning threshold exceeded")
AgentTerminationEvent(
status=PlannerStatus.FAILED,
message="replanning threshold exceeded",
)
)
elif "ConnectionError" in self._planner_info["prompts"][0]:
self._on_termination.invoke(
AgentTerminationEvent(status=PlannerStatus.ERROR, message="LLM connection error")
AgentTerminationEvent(
status=PlannerStatus.ERROR,
message="LLM connection error",
)
)
else:
self._on_termination.invoke(
AgentTerminationEvent(status=PlannerStatus.SUCCESS, message="")
AgentTerminationEvent(
status=PlannerStatus.SUCCESS, message=""
)
)
self._termination_reported = True