https://github.com/um-arm-lab/escher_openrave_cpp
OpenRAVE C++ plugin for Escher Robot
https://github.com/um-arm-lab/escher_openrave_cpp
Last synced: 9 months ago
JSON representation
OpenRAVE C++ plugin for Escher Robot
- Host: GitHub
- URL: https://github.com/um-arm-lab/escher_openrave_cpp
- Owner: UM-ARM-Lab
- Created: 2017-08-19T14:54:08.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2020-05-29T14:19:46.000Z (about 6 years ago)
- Last Synced: 2025-02-22T17:47:42.908Z (over 1 year ago)
- Language: C++
- Size: 1.05 GB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# escher_openrave_cpp
OpenRAVE C++ plugin for Escher Robot to run contact planner and experiment for the paper: "Robust Humanoid Contact Planning with Learned Zero- and One-Step Capturability Prediction" in RA-L 2020.
`escher_cpp_motion_planner_interface.py` is the main testing script used to run experiments. It will call the corresponding functions in `EscherMotionPlanning.cpp` through OpenRAVE cpp interface with configurations shown in `escher_openrave_cpp_wrapper.py`. The contact planner is described in `ContactSpacePlanning.cpp`.
# Dependency
* [OpenRAVE 0.9.0](https://github.com/rdiankov/openrave/tree/v0.9.0)
* ROS Melodic/Kinetic/Indigo
* [frugally-deep](https://github.com/Dobiasd/frugally-deep)
* Tensorflow 1.40
* [comps](https://github.com/UM-ARM-Lab/comps)
* [SL](https://github.com/UM-ARM-Lab/SL_and_momopt)
# Setup
1. Install ROS, OpenRAVE, Tensorflow (with C++ API), and frugally-deep
2. Create a catkin workspace, and put `escher_openrave_cpp`, comps and SL under the same catkin workspace.
3. `catkin_make` to build the code.
# Usage
* `surface_source`: The source of the environment in planning. The user can create new environment by adding new options in `update_environment` function in `environment_handler_2.py`.
`capture_test_env_3`: Narrow flat corridor environment.
`capture_test_env_4`: One-wall rubble environment.
`capture_test_env_5`: Oil platform environment.
`load_from_data`: Load environment object file stored using `pickle` from path specified by `environment_path` parameter.
* `environment_path`: The folder which contains the stored environment object file.
* `start_env_id` and `end_env_id`: The first and last environment object file id loaded in the process.
Example Usage:
```
python escher_cpp_motion_planner_interface.py surface_source capture_test_env_4 start_env_id 0 end_env_id 0
```