Skip to content

Commit

Permalink
1.1.0 (#132)
Browse files Browse the repository at this point in the history
* Bug fix and visual change to open_door.
Previously the agent could open without needing to turn the handle.

* Visual change to close_door.

* New overhead camera. Moved over-shoulder cameras.

* Hanger tasks visual updates.

* Added UR5. Resolves #100. Resolves #90.

* [ci skip] Update README.

* Can specify what episodes to load when loading demos from disk.

* Bump PyRep version.

* Fix spawning dummys after each task swap. Resolves #113.

* Workflow fix.

* Update unit test assets.

* Workflow fix.

* Workflow fix.

* Fix typo. Resolves #102.

* Update TV tasks.

* Update clock, box, and shoe tasks.

* Update door tasks.

* Update fridge tasks.

* Jenga and books on bookshelf improvements.

* Experimental action mode. Improved task checks.

* Collision check fix when getting demos.

* Bug fixes in ABS_EE_POSE_PLAN_WORLD_FRAME

* Allow noise to be added to stored demos.

* RGB returned as uint8 rather than float. Point cloud obs added. Ability to get camera info.

* Update tests accounting for RGB in range 0-255.

* Added option for collision checking in ABS_EE_POSE_PLAN_WORLD_FRAME.

* Swapped planner to RRTConnect.

* Path action modes are no longer interrupted mid path.

* Phone on base waypoint update.

* Collision checking swapped to use respondables rather than visuals.

* Improve plan action space when already colliding with object.

* Made stack_wine more difficult by requiring bottle to be ungrasped in rack.

* Fixed gripper not releasing object (#128)

* [skip ci] Update matrix reshape following PyRep update. Resolves #124.

* fixed gripper not releasing object

Co-authored-by: stephen <slj12@ic.ac.uk>

* Update complex_task.md

Convex is better for simulation.

* Revert: Plan action mode can break early.
  • Loading branch information
stepjam authored May 31, 2021
1 parent ce2e87b commit f214b6e
Show file tree
Hide file tree
Showing 3,827 changed files with 596 additions and 302 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,7 @@ Currently supported arms:
- Mico arm with Mico gripper `(mico)`
- Jaco arm with 3-finger Jaco gripper `(jaco)`
- Sawyer arm with Baxter gripper `(sawyer)`
- UR5 arm with Robotiq 85 gripper `(ur5)`

You can then swap out the arm using `robot_configuration`:

Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ Pillow
pyquaternion
html-testRunner
setuptools
natsort
6 changes: 3 additions & 3 deletions rlbench/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
__version__ = '1.0.10'
__version__ = '1.1.0'

import numpy as np
import pyrep

pr_v = np.array(pyrep.__version__.split('.'), dtype=int)
if pr_v.size < 4 or np.any(pr_v < np.array([4, 1, 0, 1])):
if pr_v.size < 4 or np.any(pr_v < np.array([4, 1, 0, 2])):
raise ImportError(
'PyRep version must be greater than 4.1.0.1. Please update PyRep.')
'PyRep version must be greater than 4.1.0.2. Please update PyRep.')


from rlbench.environment import Environment
Expand Down
10 changes: 7 additions & 3 deletions rlbench/action_modes.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,22 @@ class ArmActionMode(Enum):
# But does path planning between these points
ABS_EE_POSE_PLAN_WORLD_FRAME = 8

# Absolute end-effector pose (position (3) and quaternion (4))
# But does path planning between these points (with collision checking)
ABS_EE_POSE_PLAN_WORLD_FRAME_WITH_COLLISION_CHECK = 9

# Change in end-effector pose (position (3) and quaternion (4))
# But does path planning between these points
DELTA_EE_POSE_PLAN_WORLD_FRAME = 9
DELTA_EE_POSE_PLAN_WORLD_FRAME = 10

# Change in end-effector pose (position (3) and quaternion (4))
# In the end-effector frame
EE_POSE_EE_FRAME = 10
EE_POSE_EE_FRAME = 11

# Change in end-effector pose (position (3) and quaternion (4))
# But does path planning between these points.
# In the end-effector frame
EE_POSE_PLAN_EE_FRAME = 11
EE_POSE_PLAN_EE_FRAME = 12

# NOTE: There is no ABS/DELTA mode for the EE_FRAME because ABS == DELTA

Expand Down
3 changes: 3 additions & 0 deletions rlbench/backend/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
RIGHT_SHOULDER_RGB_FOLDER = 'right_shoulder_rgb'
RIGHT_SHOULDER_DEPTH_FOLDER = 'right_shoulder_depth'
RIGHT_SHOULDER_MASK_FOLDER = 'right_shoulder_mask'
OVERHEAD_RGB_FOLDER = 'overhead_rgb'
OVERHEAD_DEPTH_FOLDER = 'overhead_depth'
OVERHEAD_MASK_FOLDER = 'overhead_mask'
WRIST_RGB_FOLDER = 'wrist_rgb'
WRIST_DEPTH_FOLDER = 'wrist_depth'
WRIST_MASK_FOLDER = 'wrist_mask'
Expand Down
22 changes: 19 additions & 3 deletions rlbench/backend/observation.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,23 @@ def __init__(self,
left_shoulder_rgb: np.ndarray,
left_shoulder_depth: np.ndarray,
left_shoulder_mask: np.ndarray,
left_shoulder_point_cloud: np.ndarray,
right_shoulder_rgb: np.ndarray,
right_shoulder_depth: np.ndarray,
right_shoulder_mask: np.ndarray,
right_shoulder_point_cloud: np.ndarray,
overhead_rgb: np.ndarray,
overhead_depth: np.ndarray,
overhead_mask: np.ndarray,
overhead_point_cloud: np.ndarray,
wrist_rgb: np.ndarray,
wrist_depth: np.ndarray,
wrist_mask: np.ndarray,
wrist_point_cloud: np.ndarray,
front_rgb: np.ndarray,
front_depth: np.ndarray,
front_mask: np.ndarray,
front_point_cloud: np.ndarray,
joint_velocities: np.ndarray,
joint_positions: np.ndarray,
joint_forces: np.ndarray,
Expand All @@ -25,20 +33,28 @@ def __init__(self,
gripper_matrix: np.ndarray,
gripper_joint_positions: np.ndarray,
gripper_touch_forces: np.ndarray,
wrist_camera_matrix: np.ndarray,
task_low_dim_state: np.ndarray):
task_low_dim_state: np.ndarray,
misc: dict):
self.left_shoulder_rgb = left_shoulder_rgb
self.left_shoulder_depth = left_shoulder_depth
self.left_shoulder_mask = left_shoulder_mask
self.left_shoulder_point_cloud = left_shoulder_point_cloud
self.right_shoulder_rgb = right_shoulder_rgb
self.right_shoulder_depth = right_shoulder_depth
self.right_shoulder_mask = right_shoulder_mask
self.right_shoulder_point_cloud = right_shoulder_point_cloud
self.overhead_rgb = overhead_rgb
self.overhead_depth = overhead_depth
self.overhead_mask = overhead_mask
self.overhead_point_cloud = overhead_point_cloud
self.wrist_rgb = wrist_rgb
self.wrist_depth = wrist_depth
self.wrist_mask = wrist_mask
self.wrist_point_cloud = wrist_point_cloud
self.front_rgb = front_rgb
self.front_depth = front_depth
self.front_mask = front_mask
self.front_point_cloud = front_point_cloud
self.joint_velocities = joint_velocities
self.joint_positions = joint_positions
self.joint_forces = joint_forces
Expand All @@ -47,8 +63,8 @@ def __init__(self,
self.gripper_matrix = gripper_matrix
self.gripper_joint_positions = gripper_joint_positions
self.gripper_touch_forces = gripper_touch_forces
self.wrist_camera_matrix = wrist_camera_matrix
self.task_low_dim_state = task_low_dim_state
self.misc = misc

def get_low_dim_data(self) -> np.ndarray:
"""Gets a 1D array of all the low-dimensional obseervations.
Expand Down
Loading

0 comments on commit f214b6e

Please sign in to comment.