Repository Summary
Description | |
Checkout URI | https://github.com/samsunglabs/ramp.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2023-11-03 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
csdf | 0.0.0 |
README
RAMP
Vasileios Vasilopoulos, Suveer Garg, Pedro Piacenza, Jinwook Huh, Volkan Isler
Paper | Project page |
This package includes the code for RAMP: Hierarchical Reactive Motion Planning for Manipulation Tasks Using Implicit Signed Distance Functions, developed by Samsung Research (Samsung AI Center - New York) and presented at IROS 2023.
For simulation demonstrations, we use the Isaac Gym physics simulation environment from NVIDIA, as well as modified environment generation code from SceneCollisionNet, included in the sim_env folder. For the computation of differentiable forward kinematics, the package uses pytorch-kinematics.
Installation and running
Environment setup
- Create a python virtual environment inside the repo, source it and update pip:
python3 -m venv pyvenv
source pyvenv/bin/activate
pip install --upgrade pip
- Install the requirements. When installing PyTorch, make sure that the PyTorch version matches your installed CUDA version by updating
--extra-index-url
, for example: https://download.pytorch.org/whl/cu118 for CUDA 11.8. You can check your CUDA version by running:nvcc --version
.
pip install -r requirements.txt
- Install PyTorch3D with GPU support:
pip install git+https://github.com/facebookresearch/pytorch3d.git@stable
- Download Isaac Gym and copy the
isaacgym
folder intoextern
(Prerequisites:Ubuntu 18.04, or 20.04. Python 3.6, 3.7, or 3.8).
Setup all packages
Install all packages by running:
pip install -e .
Run without any arguments
Run the simulation:
python -m test_ramp_simulation
Run with optional arguments
Optionally, you can visualize the start (green) and goal (red) sphere markers with the --markers
flag and/or you can specify an experiment to run with the --experiment
flag. For demonstration purposes, we have included 5 static environment scenarios (numbered 0-4) and 5 dynamic environment scenarios (numbered 10-14). The full list of all available arguments is included near the top of the main script.
python -m test_ramp_simulation --markers True --experiment 10
Known Issues
- If you see the error
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
, try the following command:
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
Use Outside of Isaac Gym Environment - API Description
In this package, RAMP is wrapped around an Isaac-Gym simulation environment. To use the algorithm for your own application:
- You need to copy over to your project the mppi_planning (which includes the trajectory generator) and trajectory_following (which includes the trajectory follower) folders.
- You need to instantiate a
TrajectoryPlanner
(see trajectory_planning) class, for example:
```python # Robot parameters JOINT_LIMITS = [ np.array([-2.8973, -1.7628, -2.8973, - 3.0718, -2.8973, -0.0175, -2.8973]), np.array([2.8973, 1.7628, 2.8973, - 0.0698, 2.8973, 3.7525, 2.8973]) ]
LINK_FIXED = 'panda_link0'
LINK_EE = 'panda_hand'
LINK_SKELETON = [
'panda_link1',
'panda_link3',
'panda_link4',
'panda_link5',
'panda_link7',
'panda_hand',
]
robot_urdf_location = 'resources/panda/panda.urdf'
scene_urdf_location = 'resources/environment/environment.urdf'
# Instantiate trajectory planner
self.trajectory_planner = TrajectoryPlanner(
joint_limits=JOINT_LIMITS,
robot_urdf_location=robot_urdf_location,
scene_urdf_location=scene_urdf_location,
link_fixed=LINK_FIXED,
File truncated at 100 lines see the full file
CONTRIBUTING
Indexing Errors
- Could not update repo, using old version: Could not fetch git repository from uri: https://github.com/samsunglabs/ramp.git: remote authentication required but no callback set