Example code of
A Geometric Sufficient Condition for Contact Wrench Feasibility
Shenggao Li*
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.
- 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.
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/...
make clean
to remove all compiling and executable files of this project (but keeps MOSEK library).make clean_MOSEK
to clean the MOSEK library.make all
to compile all (both MOSEK library and this project).
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:
Method | Error | Standard Deviation | Computation Time ( |
---|---|---|---|
|
0% | 0% | 556.97 |
|
19.35% | 15.02% | 682.29 |
|
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 |
- 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.
@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}
}