Unverified Commit fc2711f4 authored by Fernbach Pierre's avatar Fernbach Pierre Committed by GitHub
Browse files

Update README.md

parent 810988c1
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
[![Pipeline status](https://gepgitlab.laas.fr/humanoid-path-planner/hpp-rbprm-corba/badges/master/pipeline.svg)](https://gepgitlab.laas.fr/humanoid-path-planner/hpp-rbprm-corba/commits/master) [![Pipeline status](https://gepgitlab.laas.fr/humanoid-path-planner/hpp-rbprm-corba/badges/master/pipeline.svg)](https://gepgitlab.laas.fr/humanoid-path-planner/hpp-rbprm-corba/commits/master)
[![Coverage report](https://gepgitlab.laas.fr/humanoid-path-planner/hpp-rbprm-corba/badges/master/coverage.svg?job=doc-coverage)](http://projects.laas.fr/gepetto/doc/humanoid-path-planner/hpp-rbprm-corba/master/coverage/) [![Coverage report](https://gepgitlab.laas.fr/humanoid-path-planner/hpp-rbprm-corba/badges/master/coverage.svg?job=doc-coverage)](http://projects.laas.fr/gepetto/doc/humanoid-path-planner/hpp-rbprm-corba/master/coverage/)
Copyright 2015 LAAS-CNRS Copyright 2015-2020 LAAS-CNRS
Author: Steve Tonneau Authors: Steve Tonneau, Pierre Fernbach
## Description ## Description
hpp-rbprm-corba implements python bindings for hpp-rbprm, and presents a few example files. hpp-rbprm-corba implements python bindings for hpp-rbprm, and presents a few example files.
...@@ -13,15 +13,15 @@ Please refer to this [link](https://github.com/humanoid-path-planner/hpp-rbprm) ...@@ -13,15 +13,15 @@ Please refer to this [link](https://github.com/humanoid-path-planner/hpp-rbprm)
## Installation from binary package repository ## Installation from binary package repository
1. Add robotpkg to your apt configuration: http://robotpkg.openrobots.org/debian.html 1. Add robotpkg/wip to your apt configuration: http://robotpkg.openrobots.org/robotpkg-wip.html
2. `sudo apt update && sudo apt install robotpkg-hpp-rbprm-corba` 2. `sudo apt update && sudo apt install robotpkg-pyXX-hpp-rbprm-corba` (replace pyXX with your python version)
3. Then, you will need to export some variables to allow you system to find the executables: 3. Then, you will need to export some variables to allow you system to find the executables:
`export PATH=${PATH:+$PATH:}/opt/openrobots/bin:/opt/openrobots/sbin` `export PATH=${PATH:+$PATH:}/opt/openrobots/bin:/opt/openrobots/sbin`
`export MANPATH=${MANPATH:+$MANPATH:}/opt/openrobots/man` `export MANPATH=${MANPATH:+$MANPATH:}/opt/openrobots/man`
`export PYTHONPATH=/opt/openrobots/lib/python2.7/site-packages:$PYTHONPATH` `export PYTHONPATH=/opt/openrobots/lib/pythonXX/site-packages:$PYTHONPATH`(replace XX with your python version)
`export ROS_PACKAGE_PATH="$ROS_PACKAGE_PATH:/opt/openrobots/share"` `export ROS_PACKAGE_PATH="$ROS_PACKAGE_PATH:/opt/openrobots/share"`
...@@ -38,15 +38,15 @@ Please refer to this [link](https://github.com/humanoid-path-planner/hpp-rbprm) ...@@ -38,15 +38,15 @@ Please refer to this [link](https://github.com/humanoid-path-planner/hpp-rbprm)
If you are planning to use the visualization tools used by the Gepetto team, along with python examples, you may need a few extra steps: If you are planning to use the visualization tools used by the Gepetto team, along with python examples, you may need a few extra steps:
1. Install the gepetto-viwer server 1. Install the gepetto-viewer server
`sudo apt install -qqy robotpkg-py27-qt4-gepetto-viewer-corba` `sudo apt install -qqy robotpkg-pyXX-qt4-gepetto-viewer-corba`
`sudo apt install -qqy robotpkg-py27-qt4-hpp-gepetto-viewer` `sudo apt install -qqy robotpkg-pyXX-qt4-hpp-gepetto-viewer`
2. Install the pinocchio bindings 2. Install the pinocchio bindings
`sudo apt install -qqy robotpkg-py27-pinocchio` `sudo apt install -qqy robotpkg-pyXX-pinocchio`
3. Install the dae extension for osg 3. Install the dae extension for osg
...@@ -62,21 +62,47 @@ If you are planning to use the visualization tools used by the Gepetto team, alo ...@@ -62,21 +62,47 @@ If you are planning to use the visualization tools used by the Gepetto team, alo
To see the planner in action, one example from our IJRR submission with HyQ is available. Examples with HRP-2 are also provided, though they can only be executed if you have access to HRP-2 model. To see the planner in action, one example from our IJRR submission with HyQ is available. Examples with HRP-2 are also provided, though they can only be executed if you have access to HRP-2 model.
- If you installed the planner form binaries, you need to download the scripts as explained here. Otherwise you can find them directly in script/scenarios/demos folder. For the binary proceudre, create a folder and cd in to it, then type - You can find the scripts in your install directory, in `lib/pythonXX/dist-packages/hpp/corbaserver/rbprm/scenarios/demos` folder.
- The planning is decomposed in two phases / scripts. First, a root path is computed (`\*_path.py files`). Then, the contacts are generated along the computed path.
`wget https://raw.githubusercontent.com/humanoid-path-planner/hpp-rbprm-corba/master/script/scenarios/demos/darpa_hyq.py`
- In order to start a scenario, run:
`wget https://raw.githubusercontent.com/humanoid-path-planner/hpp-rbprm-corba/master/script/scenarios/demos/darpa_hyq_path.py`
`python -im hpp.corbaserver.rbprm demos.hyq_darpa`
`wget https://raw.githubusercontent.com/humanoid-path-planner/hpp-rbprm-corba/devel/script/scenarios/demos/run.sh`
Replace demos.hyq_darpa with the name of any file in the demos or memmo folder to try different scenarios.
- Make the run.sh script executable:`chmod +x run.sh`
- Once the script have been executed, you can display the results in the viewer (if you installed it):
- The planning is decomposed in two phases / scripts. First, a root path is computed (\*_path.py files). Then, the contacts are generated along the computed path (\*_interp.py files). The scripts are located in the folder /scripts/scenarios/demos.
- If it was a `\*_path.py` script, you can run:
- To see the different steps of the process run
- `planner.play_path()` to display the computed guide path
``$ ./run.sh darpa_hyq.py`
- `planner.v(planner.q_init)` or `planner.v(planner.q_goal)` to put the robot at the initial / goal position of the planning
The script include comments explaining the different calls to the library. You can call the different methods a() ... d() to see the different steps of the planning.
- If it was a a contact generation script, you can run:
- `cg.display_sequence()` to display the sequence of configurations in contact computed
- `cg.display_init_config()` or `cg.display_end_config()` to put the robot at the initial / final whole body configuration
- `cg.v(cg.configs[i])` to display the i-th wholebody configuration of the sequence
- `cg.play_guide_path()` to display the guide path
## Creating a new scenario script
Start from one of the scripts in the scenarios/demos folder, eg `talos_flatGround.py`.
* All the `\*_path.py` scripts must define a class called `PathPlanner` that inherit from one of the `{robot}_path_planner` classes defined in the scenarios folder.
* In the run() method, define the environment used and the initial/goal position
* If further customization is needed, override the required methods from the parent class.
* All the contact generation scripts must define a class called `ContactGenerator` that inherit from one of the `{robot}_contact_generator` classes defined in the scenarios folder.
* In the constructor of this class, the parent constructor must be called with an instance of the desired `PathPlanner` class, defining the environment and the guide trajectory.
* This class may override any method from the parent class in order to change the default settings/choices regarding the contact generation
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment