Commit 02f00632 authored by SKURIC Antun's avatar SKURIC Antun
Browse files

creation of the example catkin workspace

parent 50091bee
[submodule "src/franka_description"]
path = src/franka_description
url = git@gitlab.inria.fr:auctus/panda/torque-qp-extended/franka_description.git
[submodule "src/hrl-kdl"]
path = src/hrl-kdl
url = git@gitlab.inria.fr:auctus-team/people/antunskuric/ros/ros_nodes/hrl-kdl.git
[submodule "src/panda_capacity"]
path = src/panda_capacity
url = git@gitlab.inria.fr:auctus-team/people/antunskuric/ros/ros_nodes/panda_capacity.git
## ROS panda capacity package and catkin
In the `ROS_nodes` directory you can find the implementation of the python capacity module for a specific use case of Panda robot. The directory consists of two ros packages:
- hkl-kdl: a fork of http://wiki.ros.org/hrl-kdl
- franka_description: Panda robot definitions from Franka Emika http://wiki.ros.org/franka_description
- **panda_capacity: the capacity solver for Panda robot**
### Install the ros packages - using catkin
To run panda robot capacity calculation nodes first clone the repository and submodules:
```shell
git clone --recurse-submodules git@gitlab.inria.fr:askuric/polytope_vertex_search.git
```
`panda_capacity` package will calculate is an example implementation of the task space capacity calculation for for Franka Emika Panda robot in a form of a catkin ros package.
It uses the library KDL for reading the robot urdf ad it depends on
- hrl-kdl package (https://gitlab.inria.fr/auctus-team/people/antunskuric/ros_nodes/hrl-kdl)
- franka_description package (https://gitlab.inria.fr/auctus/panda/torque-qp-extended/franka_description)
The three packages are shown in the `ROS/packages` folder. And you can find an example catkin workspace in the `ROS/catkin_ws` folder.
#### Create your won catkin workspace
Then create new catkin workspace:
```shell
mkdir ~/capacity_ws && cd ~/capacity_ws/
mkdir src && cd src
```
Then you can either copy the folders from `ROS/packages` into the `capacity_ws/src` folder for example:
```shell
cp -r ~/polytope_vertex_search/ROS/packages/* .
```
or clone the packages directly
```shell
git clone git@gitlab.inria.fr:auctus-team/people/antunskuric/ros_nodes/panda_capacity.git
git clone git@gitlab.inria.fr:auctus/panda/torque-qp-extended/franka_description.git
git clone git@gitlab.inria.fr:auctus-team/people/antunskuric/ros_nodes/hrl-kdl.git
```
Finally you can build the workspace
```shell
cd ..
catkin_make # catkin build
```
And you should be ready to go!
#### Dependancies
For visualizing the polytopes in RVIZ you will need to install the [jsk-rviz-plugin](https://github.com/jsk-ros-pkg/jsk_visualization)
```sh
sudo apt install ros-*-jsk-rviz-plugins # melodic/kinetic... your ros version
```
And you'll need to install the pip package `pycapacity`
```
pip install pycapacity
```
### One panda simulation
Once when you have everything installed you will be able to run the interactive simulations and see the polytope being visualised in real-time.
<img src="https://gitlab.inria.fr/auctus-team/people/antunskuric/ros_nodes/panda_capacity/-/raw/master/images/one_panda.png" height="250px">
To see a simulation with one panda robot and its force and velocity manipulatibility ellipsoid and polytope run the command in the terminal.
```shell
source ~/capacity_ws/devel/setup.bash
roslaunch panda_capacity one_panda.launch
```
### Two panda simulation
To demonstrate the collaborative robotics applications of our algorithm we have provided an interactive simulation of two panda robots where use can visualise their separate and joint force capacities.
<img src="https://gitlab.inria.fr/auctus-team/people/antunskuric/ros_nodes/panda_capacity/-/raw/master/images/two_panda.png" height="250px">
For the interactive simulation of two panda robots with their own capacity measures you can simply run the commands:
```shell
source ~/capacity_ws/devel/setup.bash
roslaunch panda_capacity two_panda.launch
```
#### Minkowski sum of polytopes
<img src="https://gitlab.inria.fr/auctus-team/people/antunskuric/ros_nodes/panda_capacity/-/raw/master/images/minkowski.png" height="250px">
Open a new terminal and run the command:
```shell
rosrun panda_capacity panda_force_polytope_sum.py
```
#### Intersection of polytopes
<img src="https://gitlab.inria.fr/auctus-team/people/antunskuric/ros_nodes/panda_capacity/-/raw/master/images/intersect.png" height="250px">
Open a new terminal and run the command:
```shell
rosrun panda_capacity panda_force_polytope_intersection.py
```
Subproject commit 1f79406439d59b3505a2d733e634d55da2566b66
Subproject commit 5cf93cb09fbe01ad0e108be61a0eaf9cea45a3a0
Subproject commit 9ae2229aade0ebe953fd94bd783ee3e3987bb748
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