https://github.com/sinamirrazavi/sca_data_construction
Constructing the data set for Self-Collision Avoidance (SCA) between two or more arms.
https://github.com/sinamirrazavi/sca_data_construction
collision collision-detection kuka-rviz-visualization multi-robot robot workspace
Last synced: 9 months ago
JSON representation
Constructing the data set for Self-Collision Avoidance (SCA) between two or more arms.
- Host: GitHub
- URL: https://github.com/sinamirrazavi/sca_data_construction
- Owner: SinaMirrazavi
- License: lgpl-3.0
- Created: 2017-01-30T18:51:51.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-08-08T13:38:28.000Z (almost 8 years ago)
- Last Synced: 2025-08-09T11:41:23.254Z (10 months ago)
- Topics: collision, collision-detection, kuka-rviz-visualization, multi-robot, robot, workspace
- Language: C++
- Homepage:
- Size: 21.3 MB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SCA_data_construction
[](https://travis-ci.org/sinamr66/SCA_data_construction)
This repository includes the packages and instructions to generate a data set for Self-Collision Avoidance (SCA) between two or more arms. You can find the paper here:
and the corresponding video here:
**This package does not learn the SCA boundary. It just generates the SCA data-set.**
# Dependencies
Mathlib form Robot-toolkit (https://github.com/epfl-lasa/robot-toolkit)
KUKA Rviz visualization (https://github.com/epfl-lasa/kuka-rviz-simulation) (Actually, you don't need it if you only want to generate the SCA data-set. This package is used to vitualize the motion of the robots in plot_on_robot.cpp)
KUKA FRI bridge (https://github.com/nbfigueroa/kuka_interface_packages) (Actually, you don't need it if you only want to generate the SCA data-set. This package is used to vitualize the motion of the robots in plot_on_robot.cpp)
Mlpack (https://github.com/mlpack/mlpack) (Actually, you don't need it if you only want to generate the SCA data-set. This package is used to construct a probabilistic model for the reachable workspace of each robot. I prefer Matlab for doing this. The matlab code is also included in this package.)
# Features:
- Generating the data for self-collision boundary for two or more arms.
- Vitalizing the robot configurations on the Rviz simulator.
- Generating the data set of the positions of one end-effector.
# Before make!
1. Open [common.h](https://github.com/sinamr66/SCA_data_construction/blob/master/include/common.h). and change folder_path to your home folder.
2. To change the resolution of sampling and the position of the bases of the robots, open [constructing_data_set.cpp](https://github.com/sinamr66/SCA_data_construction/blob/master/src/constructing_data_set.cpp).
3. To modify the kinematic of the robots or change the constraints on the joint workspaces, open [constructing_data_set.cpp](https://github.com/sinamr66/SCA_data_construction/blob/master/src/constructing_data_set.cpp).
# How to run
## 1.Generating SCA data-set
Make the data-set of each robot :
```
rosrun constructing_data_set constructing_data_set
```
Then analysis the data set and find the collided configuration and boundaries of the collided configurations :
```
rosrun constructing_data_set analysing_data_set
```
### 1.1 Visualizing the generated data set
Launch Rviz simulator with the correct parameters of each robot, for more information see [KUKA Rviz visualization](https://github.com/epfl-lasa/kuka-rviz-simulation).
```
roslaunch kuka_lwr_bringup bimanual_simulation.launch
```
Run
```
rosrun constructing_data_set plot_on_robot
```
## 2. Constructing a model of the reachbale space of a robot
Open [Learning_the_workspaces.cpp](https://github.com/sinamr66/SCA_data_construction/blob/master/src/Learning_the_workspaces.cpp) and edit it accordingly. Then make the package and run
*If you want to learn the data set in C++, you need to uncomment some lines in this file.*
```
rosrun constructing_data_set Learning_the_workspaces
```
Open Matlab and run [Learning_Workspace.m](https://github.com/sinamr66/SCA_data_construction/blob/master/models/Learning_Workspace.m)
## Copyright
Please cite these papers if you are using this toolbox:
@article{mirrazavi2018unified,
title={A unified framework for coordinated multi-arm motion planning},
author={Mirrazavi Salehian, Seyed Sina and Figueroa, Nadia and Billard, Aude},
journal={The International Journal of Robotics Research},
pages={0278364918765952},
publisher={SAGE Publications Sage UK: London, England}
}
For more information contact Sina Mirrazavi.