google-research
42 строки · 1.3 Кб
1# coding=utf-8
2# Copyright 2024 The Google Research Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16"""Utilities for adroit environments."""
17
18import enum
19
20
21class VisibleState(enum.Enum):
22IMAGE = 1
23ROBOT = 2
24FULL = 3
25
26
27def get_visible_features_for_task(task, visible_state):
28"""Defines names of robot state or full state features for task."""
29features = []
30if isinstance(visible_state, str):
31try:
32visible_state = VisibleState[visible_state.upper()]
33except KeyError:
34# Custom subset of state features.
35features = visible_state.split(',')
36if visible_state == VisibleState.ROBOT:
37features = ['qpos', 'palm_pos', 'tactile']
38if task != 'relocate':
39features = ['qpos', 'qvel', 'palm_pos', 'tactile']
40elif visible_state == VisibleState.FULL:
41features = ['original_obs']
42return features
43