maximeadjigble / grasplocomo

Robotic grasp generation C/C++ library for parallel-jaw grippers
BSD 3-Clause "New" or "Revised" License
14 stars 2 forks source link

GraspLoCoMo - Model-free & Learning-free robotic grasping

About

GraspLoCoMo is a C++ software package used for robotic grasp generation. It allows to generate grasps for parallel jaw-grippers given a 3D point cloud with normals. This implementation is based on the results from the publication Model-free and learning-free grasping by Local Contact Moment matching.

Example grasps image Note: The visualizer is not included in this release

Authors

Citation If you use GraspLoCoMo in your work, please cite our IROS'18 paper:

@inproceedings{adjigble2018model,
  title={Model-free and learning-free grasping by local contact moment matching},
  author={Adjigble, Maxime and Marturi, Naresh and Ortenzi, Valerio and Rajasekaran, Vijaykumar and Corke, Peter and Stolkin, Rustam},
  booktitle={2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  pages={2933--2940},
  year={2018},
  organization={IEEE}
}

Installation

Software Requirements

GraspLoCoMo requires the following software:

and the following mandatory libraries

Note Eigen and Nanoflann are headers-only libraries and can be easily integrated using CMake. Both are added as git submodules in the ThirdParty folder.

Windows: Install Visual Studio and CMake. Clone/Download Eigen and Nanoflann in the ThirdParty folder. In the CMakeLists.txt file, change the value of the variables _EIGEN3INCLUDE and _NANO_FLANNINCLUDE to the path of Eigen and Nanoflann. Open CMake and configure the project.

**Where is the source code** : <Location of GraspLoCoMo>
**Where to build the binaries** : <Location of GraspLoCoMo>/Build   

Click on Configure and use the following configuration.

**Specify the generator for this project** : <Your installed version of visual studio>  
**Optional platform for generator ...** : x64

Click on Finish. The project can now be generated by clicking on Generate. The Build folder will contain the Visual Studio solution of the project (GraspLoCoMo.sln). Open the solution using Visual Studio and set the TestdxGraspLoCoMo as StartUp Project. Select Release, x64 if not already set. And click run to execute the code.

Note (Release mode): By default the project will be in Debug mode. For some reason the execution of the code is much slower in this mode, set the poject to Release to get better performances. This will be fixed in future!!

Note for Linux: The code has been tested with Ubuntu 20.04.4 and cmake (without Visual Studio).

Folder Structure

License

BSD 3 - Clause License

Copyright(c) 2021, Maxime Adjigble All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met :

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

For details, Contact us @