upkie 6.1.0
Open-source wheeled biped robots
Loading...
Searching...
No Matches
upkie.envs.upkie_servo_torques.UpkieServoTorques Class Reference

Command servos by torque control. More...

Public Member Functions

def __init__ (self, float fall_pitch=1.0, float frequency=200.0, bool frequency_checks=True, Optional[RobotState] init_state=None, bool regulate_frequency=True, str shm_name="/upkie", Optional[dict] spine_config=None)
 Initialize environment. More...
 
- Public Member Functions inherited from upkie.envs.upkie_servos.UpkieServos
def __init__ (self, float fall_pitch=1.0, float frequency=200.0, bool frequency_checks=True, Optional[RobotState] init_state=None, bool regulate_frequency=True, str shm_name="/upkie", Optional[dict] spine_config=None)
 Initialize environment. More...
 
dict get_neutral_action (self)
 Get the neutral action where servos don't move. More...
 
def get_env_observation (self, dict spine_observation)
 Extract environment observation from spine observation dictionary. More...
 
dict get_spine_action (self, dict env_action)
 Convert environment action to a spine action dictionary. More...
 
- Public Member Functions inherited from upkie.envs.upkie_base_env.UpkieBaseEnv
None __init__ (self, float fall_pitch=1.0, Optional[float] frequency=200.0, bool frequency_checks=True, Optional[RobotState] init_state=None, bool regulate_frequency=True, str shm_name="/upkie", Optional[dict] spine_config=None, int spine_retries=10)
 Initialize environment. More...
 
def __del__ (self)
 Stop the spine when deleting the environment instance.
 
None close (self)
 Stop the spine properly.
 
Optional[float] dt (self)
 Regulated period of the control loop in seconds, or None if there is no loop frequency regulation.
 
Optional[float] frequency (self)
 Regulated frequency of the control loop in Hz, or None if there is no loop frequency regulation.
 
None update_init_rand (self, **kwargs)
 Update initial-state randomization. More...
 
Tuple[np.ndarray, dict] reset (self, *Optional[int] seed=None, Optional[dict] options=None)
 Resets the spine and get an initial observation. More...
 
Tuple[np.ndarray, float, bool, bool, dict] step (self, np.ndarray action)
 Run one timestep of the environment's dynamics. More...
 
bool detect_fall (self, dict spine_observation)
 Detect a fall based on the base-to-world pitch angle. More...
 
def get_env_observation (self, dict spine_observation)
 Extract environment observation from spine observation dictionary. More...
 
dict get_spine_action (self, action)
 Convert environment action to a spine action dictionary. More...
 
None log (self, str name, Any entry)
 Log a new entry to the "log" key of the action dictionary. More...
 
None bullet_extra (self, dict bullet_action)
 Prepend for the next step an extra action for the Bullet spine. More...
 

Public Attributes

 action_space
 Action space.
 
- Public Attributes inherited from upkie.envs.upkie_servos.UpkieServos
 action_space
 Action space.
 
 observation_space
 Observation space.
 
- Public Attributes inherited from upkie.envs.upkie_base_env.UpkieBaseEnv
 fall_pitch
 Fall detection pitch angle, in radians.
 
 init_state
 Initial state for the floating base of the robot, which may be randomized upon resets.
 
 model
 Robot model read from its URDF description.
 

Additional Inherited Members

- Static Public Attributes inherited from upkie.envs.upkie_servos.UpkieServos
int version = 4
 Environment version number.
 

Detailed Description

Command servos by torque control.

Action space

The action space is consists of the following targets for each joint:

  • feedforward_torque: feedforward joint torque \(\tau_{\mathit{ff}}\) in [N m].

This makes the agent command joint torques directly:

\[ \begin{align*} \tau & = \tau_{\mathit{ff}} \end{align*} \]

Observation space

This environment has the same observation space as UpkieServos.

Constructor & Destructor Documentation

◆ __init__()

def upkie.envs.upkie_servo_torques.UpkieServoTorques.__init__ (   self,
float   fall_pitch = 1.0,
float   frequency = 200.0,
bool   frequency_checks = True,
Optional[RobotState]   init_state = None,
bool   regulate_frequency = True,
str   shm_name = "/upkie",
Optional[dict]   spine_config = None 
)

Initialize environment.

Parameters
fall_pitchFall pitch angle, in radians.
frequencyRegulated frequency of the control loop, in Hz.
frequency_checksIf regulate_frequency is set and this parameter is true (default), a warning is issued every time the control loop runs slower than the desired frequency. Set this parameter to false to disable these warnings.
init_stateInitial state of the robot, only used in simulation.
regulate_frequencyEnables loop frequency regulation.
shm_nameName of shared-memory file.
spine_configAdditional spine configuration overriding the default upkie.config.SPINE_CONFIG. The combined configuration dictionary is sent to the spine at every reset.

Reimplemented from upkie.envs.upkie_servos.UpkieServos.


The documentation for this class was generated from the following file: