mirror of
https://github.com/huggingface/lerobot.git
synced 2026-07-30 21:19:40 +00:00
(refactor) restore remote_keys
This commit is contained in:
@@ -34,6 +34,7 @@ from .config_unitree_g1 import UnitreeG1Config
|
|||||||
from .g1_kinematics import G1_29_ArmIK
|
from .g1_kinematics import G1_29_ArmIK
|
||||||
from .g1_utils import (
|
from .g1_utils import (
|
||||||
REMOTE_AXES,
|
REMOTE_AXES,
|
||||||
|
REMOTE_KEYS,
|
||||||
G1_29_JointArmIndex,
|
G1_29_JointArmIndex,
|
||||||
G1_29_JointIndex,
|
G1_29_JointIndex,
|
||||||
default_remote_input,
|
default_remote_input,
|
||||||
@@ -589,14 +590,18 @@ class UnitreeG1(Robot):
|
|||||||
def _update_controller_action(self, action: RobotAction) -> None:
|
def _update_controller_action(self, action: RobotAction) -> None:
|
||||||
"""Update controller input state from an incoming teleop action.
|
"""Update controller input state from an incoming teleop action.
|
||||||
|
|
||||||
Controller-agnostic: every value-carrying key (locomotion ``remote.*`` axes or
|
Locomotion controllers (GR00T / Holosoma) read the ``remote.*`` joystick axes;
|
||||||
SONIC ``motion_token.*`` values) is forwarded verbatim into ``controller_input``
|
the SONIC whole-body controller reads the 64-D ``motion_token.*`` latent. Both are
|
||||||
and each controller extracts only the keys it understands. The robot deliberately
|
forwarded into ``controller_input`` for the controller thread to consume.
|
||||||
does not enumerate any controller's key schema here.
|
|
||||||
"""
|
"""
|
||||||
|
from .controllers.sonic_whole_body import TOKEN_ACTION_PREFIX
|
||||||
|
|
||||||
with self._controller_action_lock:
|
with self._controller_action_lock:
|
||||||
|
for key in REMOTE_KEYS:
|
||||||
|
if key in action:
|
||||||
|
self.controller_input[key] = action[key]
|
||||||
for key, value in action.items():
|
for key, value in action.items():
|
||||||
if isinstance(key, str) and value is not None:
|
if isinstance(key, str) and value is not None and key.startswith(TOKEN_ACTION_PREFIX):
|
||||||
self.controller_input[key] = value
|
self.controller_input[key] = value
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|||||||
Reference in New Issue
Block a user