refactor(utils): simplify log_rerun_data function (#1864)

* refactor(logging): enhance log_rerun_data to handle observation and action separately

- Updated the `log_rerun_data` function to accept and log observation and action data more clearly, improving readability and maintainability.
- Refactored the `record_loop` and `teleop_loop` functions to extract and pass observation and action data to `log_rerun_data`, ensuring consistent logging format.

* refactor(tests): update test_log_rerun_data to align with log_rerun_data changes

- Modified test cases in `test_visualization_utils.py` to extract and pass observation and action data separately to `log_rerun_data`, improving clarity and consistency with recent function updates.
- Ensured that the tests reflect the new structure of `log_rerun_data` for better maintainability.

* refactor(processors): simplify calls to log_rerun + replace lambda functions with identity_transition

---------

Co-authored-by: Steven Palma <steven.palma@huggingface.co>
This commit is contained in:
Adil Zouitine
2025-09-04 19:25:51 +02:00
committed by GitHub
parent f247aa0701
commit 888a5b6249
7 changed files with 109 additions and 111 deletions
+3 -2
View File
@@ -23,6 +23,7 @@ from lerobot.policies.act.modeling_act import ACTPolicy
from lerobot.policies.factory import make_pre_post_processors
from lerobot.processor import RobotProcessorPipeline
from lerobot.processor.converters import (
identity_transition,
observation_to_transition,
transition_to_robot_action,
)
@@ -74,7 +75,7 @@ robot_ee_to_joints_processor = RobotProcessorPipeline(
initial_guess_current_joints=True,
),
],
to_transition=lambda tr: tr,
to_transition=identity_transition,
to_output=transition_to_robot_action,
)
@@ -84,7 +85,7 @@ robot_joints_to_ee_pose_processor = RobotProcessorPipeline(
ForwardKinematicsJointsToEE(kinematics=kinematics_solver, motor_names=list(robot.bus.motors.keys()))
],
to_transition=observation_to_transition,
to_output=lambda tr: tr,
to_output=identity_transition,
)
# Build dataset action and gripper features
+4 -3
View File
@@ -23,6 +23,7 @@ from lerobot.model.kinematics import RobotKinematics
from lerobot.processor import RobotProcessorPipeline
from lerobot.processor.converters import (
action_to_transition,
identity_transition,
observation_to_transition,
transition_to_robot_action,
)
@@ -89,7 +90,7 @@ phone_to_robot_ee_pose_processor = RobotProcessorPipeline(
),
],
to_transition=action_to_transition,
to_output=lambda tr: tr,
to_output=identity_transition,
)
# Build pipeline to convert ee pose action to joint action
@@ -105,7 +106,7 @@ robot_ee_to_joints_processor = RobotProcessorPipeline(
speed_factor=20.0,
),
],
to_transition=lambda tr: tr,
to_transition=identity_transition,
to_output=transition_to_robot_action,
)
@@ -115,7 +116,7 @@ robot_joints_to_ee_pose = RobotProcessorPipeline(
ForwardKinematicsJointsToEE(kinematics=kinematics_solver, motor_names=list(robot.bus.motors.keys()))
],
to_transition=observation_to_transition,
to_output=lambda tr: tr,
to_output=identity_transition,
)
# Build dataset ee action features