You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

60 lines
1.4 KiB

from abc import abstractmethod
from decoupled_wbc.control.base.env import Env
from decoupled_wbc.control.base.sensor import Sensor
from decoupled_wbc.control.robot_model.robot_model import RobotModel
class Hands:
"""Container class for left and right hand environments.
Attributes:
left: Environment for the left hand
right: Environment for the right hand
"""
left: Env
right: Env
class HumanoidEnv(Env):
"""Base class for humanoid robot environments.
This class provides the interface for accessing the robot's body, hands, and sensors.
"""
def body(self) -> Env:
"""Get the robot's body environment.
Returns:
Env: The body environment
"""
pass
def hands(self) -> Hands:
"""Get the robot's hands.
Returns:
Hands: Container with left and right hand environments
"""
pass
def sensors(self) -> dict[str, Sensor]:
"""Get the sensors of this environment
Returns:
dict: A dictionary of sensors
"""
pass
@abstractmethod
def robot_model(self) -> RobotModel:
"""Get the robot model of this environment
This robot model is used to dispatch whole body actions to body
and hand actuators and to reconstruct proprioceptive
observations from body and hands.
Returns:
RobotModel: The robot model
"""
pass