Skip to content

Repository containing the simulation code for the Robot Assembly Manipulation and Planning (RAMP) benchmark

License

Notifications You must be signed in to change notification settings

applied-ai-lab/ramp-sim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAMP - Sim: A Benchmark for Evaluating Robotic Assembly Manipulation and Planning

A repository containing the simulation component of the RAMP benchmark.

Teaser figure

Dependencies

There are two dependencies for ramp-sim:

  • Nvidia Isaac 2022.2.1
  • The Planner found here

Installation

There are two options for installing and running the simulation, (1) locally, or (2) in a Docker container.

Locally

  1. Clone this repository
git clone --recursive --branch main [email protected]:applied-ai-lab/ramp-sim.git
cd ramp-sim
git submodule update --init --recursive
  1. Install Nvidia Isaac locally following the guide here
  2. Follow the instructions to install the planner from here

Docker

  1. Clone this repository
git clone --recursive --branch main [email protected]:applied-ai-lab/ramp-sim.git
cd ramp-sim
git submodule update --init --recursive
  1. Follow the guide to install the containerised Nvidia Isaac from here
  2. Build the docker container from the dockerfile
docker build -t isaac_ramp .

To Run

For convenience there is a scripts/simple_assembly.py that demonstrates how to use the simulation environment. For the scripts/main.py there is a single flag that is used to decide which assembly to attempt. The flag --assembly takes as an argument the XML file for desired assembly, currently either assembly_easy_1.xml, assembly_easy_2.xml or assembly_easy_3.xml.

Locally

/home/$USER/pkg/isaac_sim-2022.2.1/python.sh scripts/main.py --assembly assembly_easy_2.xml

Docker

./docker/run_docker.sh
/isaac-sim/python.sh scripts/main.py --assembly assembly_easy_2.xml

Simulation environment improvements to be made

  1. The joint limits have been increased for task-based motion planning, otherwise, the Nvidia Isaac motion planner often fails to generate feasible trajectories.
  2. Transforms in /core/utils/transforms.py to be w,x,y,z
  3. Fiducial markers to be added to the joints
  4. Add noise to observations
  5. Incorporate April Tag detection
  6. Instead of relying on a pre-built USD, create a script for procedural generation
    1. Requires finger tips to be added to the Panda
    2. Requires ee xform and rigid joint to be added to Panda
    3. Seperately load each of the meshes, add joints, SDF collisions, etc.

Cite

An arXiv paper is available here, and can be cited with the following bibtex entry:

@misc{collins2023ramp,
      title={RAMP: A Benchmark for Evaluating Robotic Assembly Manipulation and Planning}, 
      author={Jack Collins and Mark Robson and Jun Yamada and Mohan Sridharan and Karol Janik and Ingmar Posner},
      year={2023},
      eprint={2305.09644},
      archivePrefix={arXiv},
      primaryClass={cs.RO}
}

About

Repository containing the simulation code for the Robot Assembly Manipulation and Planning (RAMP) benchmark

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages