All Projects → clvrai → Furniture

clvrai / Furniture

Licence: mit
IKEA Furniture Assembly Environment for Long-Horizon Complex Manipulation Tasks

Projects that are alternatives of or similar to Furniture

Ravens
Train robotic agents to learn pick and place with deep learning for vision-based manipulation in PyBullet. Transporter Nets, CoRL 2020.
Stars: ✭ 133 (-52.84%)
Mutual labels:  robotics, imitation-learning
Hand dapg
Repository to accompany RSS 2018 paper on dexterous hand manipulation
Stars: ✭ 88 (-68.79%)
Mutual labels:  robotics, imitation-learning
Awesome Real World Rl
Great resources for making Reinforcement Learning work in Real Life situations. Papers,projects and more.
Stars: ✭ 234 (-17.02%)
Mutual labels:  robotics, imitation-learning
Learningbycheating
Driving in CARLA using waypoint prediction and two-stage imitation learning
Stars: ✭ 119 (-57.8%)
Mutual labels:  robotics, imitation-learning
Mil
Code for "One-Shot Visual Imitation Learning via Meta-Learning"
Stars: ✭ 254 (-9.93%)
Mutual labels:  robotics, imitation-learning
StuyLib
Award-Winning FRC Library by StuyPulse Team 694
Stars: ✭ 17 (-93.97%)
Mutual labels:  robotics
Awesome Imitation Learning
A curated list of awesome imitation learning resources and publications
Stars: ✭ 253 (-10.28%)
Mutual labels:  imitation-learning
igvc-software
The code base for the RoboNav team's IGVC robot.
Stars: ✭ 78 (-72.34%)
Mutual labels:  robotics
fmi adapter
Integrating functional mock-up units (FMUs) in ROS nodes
Stars: ✭ 26 (-90.78%)
Mutual labels:  robotics
Camlasercalibratool
Extrinsic Calibration of a Camera and 2d Laser
Stars: ✭ 277 (-1.77%)
Mutual labels:  robotics
Dreamer
Dream to Control: Learning Behaviors by Latent Imagination
Stars: ✭ 269 (-4.61%)
Mutual labels:  robotics
Awesome Weekly Robotics
A list of projects that were or will be featured in Weekly Robotics newsletter
Stars: ✭ 255 (-9.57%)
Mutual labels:  robotics
RobotBuilder
Generate C++ or Java FRC programs
Stars: ✭ 30 (-89.36%)
Mutual labels:  robotics
Gym Gazebo2
gym-gazebo2 is a toolkit for developing and comparing reinforcement learning algorithms using ROS 2 and Gazebo
Stars: ✭ 257 (-8.87%)
Mutual labels:  robotics
ROS Basic SLAM
BUILDING AN AUTOMATIC VEHICLE BASED ON STEREO CAMERA
Stars: ✭ 16 (-94.33%)
Mutual labels:  robotics
Bonnet
Bonnet: An Open-Source Training and Deployment Framework for Semantic Segmentation in Robotics.
Stars: ✭ 274 (-2.84%)
Mutual labels:  robotics
AVO2
Reciprocal Collision Avoidance with Acceleration-Velocity Obstacles (C++)
Stars: ✭ 24 (-91.49%)
Mutual labels:  robotics
ros-docker-images
🐳 Bring ROS to any Linux distributions.
Stars: ✭ 15 (-94.68%)
Mutual labels:  robotics
Rvo2
Optimal Reciprocal Collision Avoidance (C++)
Stars: ✭ 264 (-6.38%)
Mutual labels:  robotics
CLF reactive planning system
This package provides a CLF-based reactive planning system, described in paper: Efficient Anytime CLF Reactive Planning System for a Bipedal Robot on Undulating Terrain. The reactive planning system consists of a 5-Hz planning thread to guide a robot to a distant goal and a 300-Hz Control-Lyapunov-Function-based (CLF-based) reactive thread to co…
Stars: ✭ 21 (-92.55%)
Mutual labels:  robotics

The current release is a beta release. We welcome any feedback using this form.


IKEA Furniture Assembly Environment

Youngwoon Lee, Edward S. Hu, Zhengyu Yang, Alex Yin, Joseph J. Lim at USC CLVR lab
[Environment website (https://clvrai.com/furniture)]
[arXiv Paper]

Sawyer Baxter Cursors

We are announcing the launch of the IKEA Furniture Assembly environment as a first-of-its-kind benchmark for testing and accelerating the automation of physical assembly processes. An agent (Sawyer, Baxter, Cursor) is required to move, align, and connect furniture parts sequentially. The task is completed when all parts are connected.

The IKEA Furniture Assembly environment provides:

  • Comprehensive modeling of furniture assembly task
  • Multiple furniture models, backgrounds, lighting, textures, and more
  • Realistic robot simulation (Baxter, Sawyer, and more)
  • Gym interface for easy RL training

A more comprehensive version will come in December, 2019

  • [ ] 80+ Furniture models
  • [ ] More robots and grippers (e.g. Jaco, Fetch)
  • [ ] Reinforcement learning and imitation learning benchmark
  • [ ] 3D mouse/VR controller
  • [ ] Programmatic changes in lighting and textures

(1) Example use cases

(1.0) Installation

See docs/installation.md for installation.
If you are on a headless server, make sure you run a virtual display and use --virtual_display to specify the display number (e.g. :0 or :1).

(1.1) Human control

You can use WASDQE keys for moving and IJKLUO keys for rotating an end-effector of an agent.

$ python demo_manual.py

(1.2) RL Training

The Gym-like interface makes it easy to use the environment with various RL algorithms. Moreover, users can easily switch furniture models and backgrounds using reset method. We refer the readers to furniture/demo_rl.py for more details.

from env import make_env

# make environment by following arguments
env = make_env('FurnitureBaxterEnv')

# run one episode and collect transitions
done = False

# reset environment
observation = env.reset(furniture_id=1, background='Industrial')

while not done:
    # sample action from policy
    action = pi.act(observation)

    # update unity rendering
    env.render()

    # simulate environment
    observation, reward, done, info = env.step(action)

Train block picking up with the provided SAC implementation. It requires 300k steps to pick up a block. To use loggging, you need to change furniture/rl/trainer.py:74 with your wandb entity name and set --wandb True.

# gpu: gpu number
$ python -m rl.main --env FurnitureBaxterBlockEnv --prefix demo --gpu 0 --reward_scale 3

See the furniture/rl folder for a full SAC implementation that uses the IKEA furniture assembly environment.

(1.3) Gym interface

Gym interface for the IKEA Furniture Assembly environment is also provided, but the furniture model and background should be predefined when registered (see register functions in furniture/env/__init__.py.

# More details, see furniture/demo_gym.py

import gym

# make an environment
env = gym.make('furniture-baxter-v0')

done = False

# reset environment
observation = env.reset()

while not done:
    # simulate environment
    observation, reward, done, info = env.step(env.action_space.sample())

(1.4) Data generation and observation configuration

See the various observation types (RGB image, segmentation map, depth map, robot joint state, furniture pose) and generate your own data. It will show you the various observation options available to the environment. The video generation can be RAM heavy, so decrease --screen_width and --screen_height if it crashes. There are pre-recorded demonstrations sawyer_7.pkl, baxter_0.pkl, cursor_7.pkl in the demos folder for data generation.

$ python -m demo_vision

(1.5) Demonstration recording and playback

The following script will take the user through the 1) playback of existing demonstrations and 2) recording and playback of their own demos.

$ python -m demo_demonstration

(2) Documentation

See documentation for installation and configuration details.


(3) References

Our Mujoco environment is developed based on Robosuite and Unity implementation from DoorGym-Unity is used.


(4) Citation

@article{lee2019ikea,
  title={{IKEA} Furniture Assembly Environment for Long-Horizon Complex Manipulation Tasks},
  author={Lee, Youngwoon and Hu, Edward S and Yang, Zhengyu and Yin, Alex and Lim, Joseph J},
  journal={arXiv preprint arXiv:1911.07246},
  year={2019},
  url={https://clvrai.com/furniture},
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].