Skip to content

Releases: geyang/gym-fetch

v0.1.0-rc12 Improved Goal Tracking + Table Cleaning Tasks w/ Fixed object ρ₀

01 Oct 04:40
Compare
Choose a tag to compare
  1. now sample goal offsets for tracking targets once per episode (upon reset, saved in goal_offsets cache)
  2. add the following sub-tasks in the table cleaning taskset for faster experiments
# Fixing the objects in-place
register(id='Clean-i-fixed-v0', entry_point=vec_clean_env, kwargs=dict(
    initial_qpos={'object1:joint': [1.35, 0.75, .45, 0, 0., 0., 0.]},
    obj_reset={'object0': dict(pos=[1.35, 0.7, 0.42478468]),
               'object1': dict(pos=[1.35, 0.8, 0.42478468]), },
    goal_sampling={'object0': dict(target="box", range=0, ),
                   'object1': dict(target="object1", range=0, offset=[0, 0, 0]), },
), **kw)

register(id='Clean-ii-fixed-v0', entry_point=vec_clean_env, kwargs=dict(
    obj_reset={'object0': dict(track='box', avoid=['gripper'], range=0, h=0.43456914),
               'object1': dict(pos=[1.35, 0.8, 0.42478468]), },
    goal_sampling={'object0': dict(target="box", range=0),
                   'object1': dict(target="object0", range=0), },
), **kw)

register(id='Clean-train-fixed-v0', entry_point=SampleEnv,
         kwargs={'fetch:Clean-i-fixed-v0': 0.5, 'fetch:Clean-ii-fixed-v0': 0.5, }, **kw)

register(id='Clean-train-fixed-80-20-v0', entry_point=SampleEnv,
         kwargs={'fetch:Clean-i-fixed-v0': 0.8, 'fetch:Clean-ii-fixed-v0': 0.2, }, **kw)

register(id='Clean-fixed-v0', entry_point=vec_clean_env, kwargs=dict(
    obj_reset={'object0': dict(pos=[1.35, 0.7, 0.42478468]),
               'object1': dict(pos=[1.35, 0.8, 0.42478468]), },
    goal_sampling={'object0': dict(target="box", range=0),
                   'object1': dict(target="box", range=0), },
), **kw)

v0.1.0-rc11 Improve Clean task initial condition and Goal height

29 Sep 16:54
Compare
Choose a tag to compare

Task: Cleaning Table

Primitives

  1. place A into box, both on table.
  2. place B into box, with A already inside the box.

Training Mixture: 1 + 2, 50:50.

Test: Both A and B on table, and place both into the box. (edited)

Name Observation Spec Goal Init/Comment
Clean-i-v0 achieved_goal: (6,)
desired_goal: (6,)
observation: (43,)
place the first object
into the box
Clean-ii-v0 achieved_goal: (6,)
desired_goal: (6,)
observation: (43,)
place the second object
into the box while the
first one is already in there.
Clean-train-v0 achieved_goal: (6,)
desired_goal: (6,)
observation: (43,)
50/50 mixture of both
Clean-v0 achieved_goal: (6,)
desired_goal: (6,)
observation: (43,)
Start with both on the
table, place both into
the box.
twin_box_envs = [
    'fetch:Clean-i-v0',
    'fetch:Clean-ii-v0',
    'fetch:Clean-train-v0',
    'fetch:Clean-v0',
    'fetch:Clean-aside-i-v0',
    'fetch:Clean-aside-ii-v0',
    'fetch:Clean-aside-train-v0',
    'fetch:Clean-aside-v0',
]
Clean-i-v0 distribution
specs/tasksets/figures/Clean-i-v0_init.png?ts=511920 specs/tasksets/figures/Clean-i-v0_reset.png?ts=662350 specs/tasksets/figures/Clean-i-v0.gif?ts=550842
Clean-ii-v0 distribution
specs/tasksets/figures/Clean-ii-v0_init.png?ts=230667 specs/tasksets/figures/Clean-ii-v0_reset.png?ts=328788 specs/tasksets/figures/Clean-ii-v0.gif?ts=276853
Clean-train-v0 distribution
specs/tasksets/figures/Clean-train-v0_init.png?ts=083586 specs/tasksets/figures/Clean-train-v0_reset.png?ts=260712 specs/tasksets/figures/Clean-train-v0.gif?ts=392835
Clean-v0 distribution
specs/tasksets/figures/Clean-v0_init.png?ts=165417 specs/tasksets/figures/Clean-v0_reset.png?ts=264129 specs/tasksets/figures/Clean-v0.gif?ts=193331
Clean-aside-i-v0 distribution
specs/tasksets/figures/Clean-aside-i-v0_init.png?ts=929441 specs/tasksets/figures/Clean-aside-i-v0_reset.png?ts=026328 specs/tasksets/figures/Clean-aside-i-v0.gif?ts=821052
Clean-aside-ii-v0 distribution
specs/tasksets/figures/Clean-aside-ii-v0_init.png?ts=583657 specs/tasksets/figures/Clean-aside-ii-v0_reset.png?ts=678971 specs/tasksets/figures/Clean-aside-ii-v0.gif?ts=530760
Clean-aside-train-v0 distribution
specs/tasksets/figures/Clean-aside-train-v0_init.png?ts=648270 specs/tasksets/figures/Clean-aside-train-v0_reset.png?ts=826200 specs/tasksets/figures/Clean-aside-train-v0.gif?ts=969260
Clean-aside-v0 distribution
specs/tasksets/figures/Clean-aside-v0_init.png?ts=783935 specs/tasksets/figures/Clean-aside-v0_reset.png?ts=885287 specs/tasksets/figures/Clean-aside-v0.gif?ts=693937

v0.1.0-rc10 Add Clean Table task set

29 Sep 09:08
Compare
Choose a tag to compare
Pre-release

v0.1.0-rc9 Fix returned goals for targets that depends on other objects

28 Sep 12:55
Compare
Choose a tag to compare

It turned out that goals that depend on the position of other objects are wrong right after env.reset() call, but they are good otherwise (for the rest of the trajectory).

v0.1.0-rc8 Remove `ml_logger` from dependencies

28 Sep 04:34
Compare
Choose a tag to compare

See rc7 for env list and installation guides.

v0.1.0-rc7 Add Updated Box Single Taskset

28 Sep 04:03
Compare
Choose a tag to compare

write_protected: true

Cloning and Installing A Specific Version

For those who do not use pip, you can pull/checkout specific versions of the repository using a git tag. Github integrates with git, such that it shows tagged versions under the <project-repo>/releases URL. You can check out the releases for this repo at https://github.com/geyang/gym-fetch/releases. To pull a specific version, just run:

git checkout v0.1.0-rc5

After git clone, the structure of the project is

$ tree . -L 1
gym-fetch
├── fetch
└── specs

To install, you can use pip

pip install -e .

Alternatively, you can include the ./gym-fetch directory as part of your PYTHONPATH.

Box Single Task Taskset

Simple Goal Distributions

The goal distribution of these tasks are pure. Tasks with place postfix have the goal
initialized at the center of the box, whereas the other two uses the goal distribution
from standard gym FetchPickAndPlace-v1 environment.

Name Observation Spec Goal Init/Comment
Box-fixed-v0 achieved_goal: (3,)
desired_goal: (3,)
observation: (25,)
box is in the middle
Box-aside-v0 achieved_goal: (3,)
desired_goal: (3,)
observation: (25,)
box is on the side
Box-fixed-place-v0 achieved_goal: (3,)
desired_goal: (3,)
observation: (25,)
box is on the side
Box-aside-place-v0 achieved_goal: (3,)
desired_goal: (3,)
observation: (25,)
box is on the side

Mixture Goal Distributions

These two training environments uses a mixture of 20/80% of pick-and-place distribution vs target inside the box.

Name Observation Spec Goal Init/Comment
Box-fixed-place-train-v0 achieved_goal: (3,)
desired_goal: (3,)
observation: (25,)
box is on the side
Box-aside-place-train-v0 achieved_goal: (3,)
desired_goal: (3,)
observation: (25,)
box is on the side

Details of Each Task

box_envs = ['fetch:Box-aside-v0',
            'fetch:Box-aside-place-v0',
            'fetch:Box-aside-place-train-v0',
            'fetch:Box-fixed-v0',
            'fetch:Box-fixed-place-v0',
            'fetch:Box-fixed-place-train-v0']
Box-aside-v0 distribution
specs/tasksets/figures/Box-aside-v0_init.png?ts=633888 specs/tasksets/figures/Box-aside-v0_reset.png?ts=771788 specs/tasksets/figures/Box-aside-v0.gif?ts=564926
Box-aside-place-v0 distribution
specs/tasksets/figures/Box-aside-place-v0_init.png?ts=935533 specs/tasksets/figures/Box-aside-place-v0_reset.png?ts=077962 specs/tasksets/figures/Box-aside-place-v0.gif?ts=771020
Box-aside-place-train-v0 distribution
specs/tasksets/figures/Box-aside-place-train-v0_init.png?ts=333087 specs/tasksets/figures/Box-aside-place-train-v0_reset.png?ts=480236 specs/tasksets/figures/Box-aside-place-train-v0.gif?ts=493045
Box-fixed-v0 distribution
specs/tasksets/figures/Box-fixed-v0_init.png?ts=855975 specs/tasksets/figures/Box-fixed-v0_reset.png?ts=973603 specs/tasksets/figures/Box-fixed-v0.gif?ts=661487
Box-fixed-place-v0 distribution
specs/tasksets/figures/Box-fixed-place-v0_init.png?ts=023976 specs/tasksets/figures/Box-fixed-place-v0_reset.png?ts=176225 specs/tasksets/figures/Box-fixed-place-v0.gif?ts=988257
Box-fixed-place-train-v0 distribution
specs/tasksets/figures/Box-fixed-place-train-v0_init.png?ts=601948 specs/tasksets/figures/Box-fixed-place-train-v0_reset.png?ts=769822 specs/tasksets/figures/Box-fixed-place-train-v0.gif?ts=719687

Adding StackTwo Task

27 Sep 15:34
Compare
Choose a tag to compare
Adding StackTwo Task Pre-release
Pre-release

This release includes the new StackTwo environment, with a new ρ₀ that makes it easy to learn.

To install:

pip install gym-fetch==0.1.0rc2

Or you can install from github (might be slower b/c images)

pip install git+git://github.com/geyang/gym-fetch.git#v0.1.0-rc2

Adding Single Task Environments

27 Sep 15:35
Compare
Choose a tag to compare
Pre-release

This is the first public release including all of the single task environments.