-
Notifications
You must be signed in to change notification settings - Fork 116
Update heavy robot wrapper. Fix eval bug #1867
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
base: main
Are you sure you want to change the base?
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 adds a new HeavyRobotWrapper for evaluation purposes and fixes documentation issues. The wrapper configures the robot with a heavier base mass (250kg) and low-resolution RGB observations to match data collection settings.
- Adds
HeavyRobotWrapperclass that sets robot base mass to 250kg and uses 224x224 RGB observations - Updates documentation to clarify which wrappers are allowed in standard vs privileged tracks
- Exports the new wrapper in the module's public API
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| OmniGibson/omnigibson/learning/wrappers/heavy_robot_wrapper.py | New wrapper implementation that configures heavy robot base and low-res sensors |
| OmniGibson/omnigibson/learning/wrappers/init.py | Adds HeavyRobotWrapper to module exports |
| docs/challenge/evaluation.md | Updates documentation with corrected track eligibility and HeavyRobotWrapper description |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
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
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| def __init__(self, env: Environment): | ||
| super().__init__(env=env) | ||
| # Note that from eval.py we already set the robot to include rgb + depth + seg_instance_id modalities | ||
| # Here, we modify the robot observation to include only rgb modalities, and use 224 * 224 resolution |
Copilot
AI
Oct 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.
The comment states 'include only rgb modalities', but the code doesn't explicitly remove depth and seg_instance_id modalities mentioned in line 18. The comment should clarify that sensor resolution is being modified rather than modality filtering, or the code should explicitly set the modalities if that's the intent.
| with og.sim.stopped(): | ||
| robot.base_footprint_link.mass = 250.0 # increase base mass to 250kg | ||
| # Update robot sensors: | ||
| for camera_id, camera_name in ROBOT_CAMERA_NAMES["R1Pro"].items(): |
Copilot
AI
Oct 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.
The robot type 'R1Pro' is hardcoded. Consider using robot.name or similar dynamic approach to support different robot types, or add validation that the robot is indeed an R1Pro.
| for camera_id, camera_name in ROBOT_CAMERA_NAMES["R1Pro"].items(): | |
| robot_type = getattr(robot, "name", None) | |
| if robot_type not in ROBOT_CAMERA_NAMES: | |
| raise ValueError(f"Robot type '{robot_type}' not found in ROBOT_CAMERA_NAMES. Available types: {list(ROBOT_CAMERA_NAMES.keys())}") | |
| for camera_id, camera_name in ROBOT_CAMERA_NAMES[robot_type].items(): |
No description provided.