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.
- OpenRAVE 0.9.0
- ROS Melodic/Kinetic/Indigo
- frugally-deep
- Tensorflow 1.40
- comps
- SL
- Install ROS, OpenRAVE, Tensorflow (with C++ API), and frugally-deep
- Create a catkin workspace, and put
escher_openrave_cpp, comps and SL under the same catkin workspace. catkin_maketo build the code.
-
surface_source: The source of the environment in planning. The user can create new environment by adding new options inupdate_environmentfunction inenvironment_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 usingpicklefrom path specified byenvironment_pathparameter. -
environment_path: The folder which contains the stored environment object file. -
start_env_idandend_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