Skip to content

Verifying Contact Wrench Feasibility via Geometrical Approach

Notifications You must be signed in to change notification settings

ROAM-Lab-ND/GCWF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GCWF: Geometric Contact Wrench Feasibility

standard-readme compliant standard-readme compliant

Example code of
A Geometric Sufficient Condition for Contact Wrench Feasibility
Shenggao Li* $^1$, Hua Chen $^2$, Wei Zhang $^2$, Patrick M. Wensing $^1$

Background

In our paper, we introduced a geometry-based framework to approximate the exact Contact Wrench Cone (CWC) including two approaches with different accuracy-speed balance. By comparing to the exact CWC solved by MOSEK, the preferred approach 2 can find the yaw moment interval with only 7.13% error but 140 times faster.

Dependencies and Requirements

  • OS: MacOSX or Linux (x86/x64)
    • Tested on OSX Catalina 10.15 and Ubuntu 16.04 & 18.04
  • MOSEK 9.3 - For solving the Second-Order-Cone-Program of exact CWC.
    • Please follow the installation guide, compile the Fusion API, and make sure your license is properly configured as explained in license guide.
    • Our code is developed based on MOSEK 9.3. It should be compatible with newer 10.0 version but has not been tested (due to our license restriction).
    • Note: the folder <MSKHOME> in which the MOSEK Optimization Suite has been installed would be used in later compiling procedure.
  • MATLAB 2019a or later - For sample data generation and computing statistical result.

Getting Started

Install

Download this project

git clone https://github.com/ROAM-Lab-ND/GCWF.git
cd GCWF

Run the setup script and follow the instruction to configure the MOSEK library and compile this project.

./setup.sh <MSKHOME>

<MSKHOME> contains your MOSEK library like <MSKHOME>/mosek/9.3/tools/...

Available Makefile commands
  1. make clean to remove all compiling and executable files of this project (but keeps MOSEK library).
  2. make clean_MOSEK to clean the MOSEK library.
  3. make all to compile all (both MOSEK library and this project).

Run Example

Run the script Matlab/SampleAndCompute.m in MATLAB to generate new data, run the solver, and plot the result. You should have results similar to the following: ErrorHistogram

Method Error Standard Deviation Computation Time ( $\mu s$ )
$2^{\rm nd}$-CWC 0% 0% 556.97
$1^{\rm st}$-CWC (4 edges) 19.35% 15.02% 682.29
$1^{\rm st}$-CWC (8 edges) 8.37% 9.94% 961.77
Appraoch 1 (Longest Centered Line) 18.80% 16.63% 3.56
Appraoch 2 (Enumerate All Vertices) 7.13% 5.54% 3.64
Grid Search (81 grids) 7.13% 5.56% 50.49
Optimal Supporting Line 6.50% 4.88% 2954.9

Troubleshooting

  • MOSEK is not installed: TODO: set flag in MATLAB script to solve CWC via native MATLAB function ...
  • For Mac, run the python script in installation guide is important for MOSEK.
  • If both MOSEK and our project cannot be installed, you can directly run MATLAB script Matlab/CompareResult.m and choose an example data set to see the result.

Citation

@ARTICLE{li2022gcfw,  
  author={Li, Shenggao and Chen, Hua and Zhang, Wei and Wensing, Patrick M.},  
  journal={IEEE Robotics and Automation Letters},   
  title={A Geometric Sufficient Condition for Contact Wrench Feasibility},   
  year={2022},  
  volume={},  
  number={},  
  pages={1-8},  
  doi={10.1109/LRA.2022.3217687}
}

Contact

$^{1}$ University of Notre Dame, South Bend, IN, US. {sli25,pwensing}@nd.edu
$^{2}$ Southern University of Science and Technology, Shenzhen, China. {chenh6,zhangw3}@sustech.edu.cn

About

Verifying Contact Wrench Feasibility via Geometrical Approach

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published