Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR initializes a new project structure for an embodied AI framework called "embodichain". The code introduces core simulation components, gymnasium-style environment wrappers, action bank systems for motion generation, and reinforcement learning utilities.
Key Changes
- Establishes base environment classes (
BaseEnv,EmbodiedEnv) with gymnasium interface - Implements event/observation managers for environment randomization and data processing
- Adds action bank system for configurable motion generation and trajectory planning
- Includes example tasks (pour water, scoop ice, push cube) and environment wrappers
Reviewed Changes
Copilot reviewed 143 out of 291 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| embodichain/lab/gym/utils/gym_utils.py | Core utilities for observation/action space conversion, tensor operations, and configuration parsing |
| embodichain/lab/gym/envs/wrapper/no_fail.py | Simple wrapper that overrides task success determination |
| embodichain/lab/gym/envs/tasks/tableware/scoop_ice.py | Scoop ice task environment with trajectory recording and replay |
| embodichain/lab/gym/envs/tasks/tableware/pour_water/pour_water.py | Pour water task with action bank integration |
| embodichain/lab/gym/envs/tasks/rl/push_cube.py | RL-based cube pushing task with reward shaping |
| embodichain/lab/gym/envs/managers/observations.py | Observation computation functors including exteroception and semantic masks |
| embodichain/lab/gym/envs/managers/events.py | Event functors for asset replacement, pose registration, and randomization |
| embodichain/lab/gym/envs/embodied_env.py | Main embodied environment class with manager integration |
| embodichain/lab/gym/envs/action_bank/configurable_action.py | Action bank system for graph-based motion generation |
Comments suppressed due to low confidence (1)
embodichain/lab/gym/envs/base_env.py:1
- Duplicate validation check. This same check appears at lines 294-298 and lines 428-432, creating redundant code that should be refactored into a helper function.
# ----------------------------------------------------------------------------
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| Modified from `gym.envs.mujoco_env` | ||
| """ | ||
| if isinstance(observation, (dict)): | ||
| # CATUION: Explicitly create a list of key-value tuples |
There was a problem hiding this comment.
Corrected spelling of 'CATUION' to 'CAUTION'.
| # CATUION: Explicitly create a list of key-value tuples | |
| # CAUTION: Explicitly create a list of key-value tuples |
| f"The original demo action list length: {len(self.demo_action_list)}" | ||
| ) | ||
| logger.log_info( | ||
| f"Downsample the demo action list by self.trajectory_sample_rate5 times." |
There was a problem hiding this comment.
Text contains 'self.trajectory_sample_rate5' which appears to be a typo. Should likely be 'self.trajectory_sample_rate' (without the '5').
| f"Downsample the demo action list by self.trajectory_sample_rate5 times." | |
| f"Downsample the demo action list by {self.trajectory_sample_rate} times." |
| # FIXME FIXME FIXME FIXME | ||
| logger.log_warning( | ||
| f"CAUTION=============================THIS FUNC generate_left_arm_aim_qpos IS WRONG!!!! PLEASE FIX IT!!!!" | ||
| ) |
There was a problem hiding this comment.
Placeholder warning indicates incomplete or incorrect implementation. This function should be fixed or removed before production use.
| # FIXME FIXME FIXME FIXME | |
| logger.log_warning( | |
| f"CAUTION=============================THIS FUNC generate_left_arm_aim_qpos IS WRONG!!!! PLEASE FIX IT!!!!" | |
| ) |
| logger.log_warning( | ||
| f"CAUTION=============================THIS FUNC generate_right_arm_aim_qpos IS WRONG!!!! PLEASE FIX IT!!!!" | ||
| ) |
There was a problem hiding this comment.
Placeholder warning indicates incomplete or incorrect implementation. This function should be fixed or removed before production use.
Description
TODO