-
Notifications
You must be signed in to change notification settings - Fork 1
[WIP]: Init Project #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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." |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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!!!!" | ||
| ) |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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!!!!" | ||
| ) |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Placeholder warning indicates incomplete or incorrect implementation. This function should be fixed or removed before production use.
Description
TODO