b537677277
Robot into its own Class instead of lose Global Variables that cause circular imports StateClass usage instead of the old RobotState.py New Input Class for Controller and randome intputs
30 lines
835 B
Python
30 lines
835 B
Python
"""
|
|
states/IdleState.py - Stance & Idle state
|
|
"""
|
|
from __future__ import annotations
|
|
from typing import TYPE_CHECKING, Optional
|
|
from states.State import State
|
|
|
|
if TYPE_CHECKING:
|
|
from Robot import Robot
|
|
|
|
|
|
class IdleState(State):
|
|
def enter(self, robot: "Robot") -> None:
|
|
robot.reset_to_init()
|
|
|
|
def execute(self, robot: "Robot") -> Optional[str]:
|
|
# Check transition conditions based on vector_dirmov or command flags
|
|
vx, vy, omega = robot.vector_dirmov
|
|
if abs(vx) > 0.01 or abs(vy) > 0.01 or abs(omega) > 0.01:
|
|
return "walking"
|
|
|
|
if robot.robot_state == "wave":
|
|
return "wave_emote"
|
|
if robot.robot_state == "laola":
|
|
return "laola_emote"
|
|
|
|
return None
|
|
|
|
def exit(self, robot: "Robot") -> None:
|
|
pass |