This library generates an implicit surface representation from sparse tactile information, used for the paper Tactile SLAM: Real-time inference of shape and pose from planar pushing
- cpp/: The C++ .cpp and .h files
- data/: Has contact and shape data
python get_contact.py --shape rect1
lets you select contact points and normals to make your own dataset. First click sets the contact point, second click draws the normal. Normal must be away from the object.- shapes/: the ground truth shape
.mat
files and scripts - contacts/: The generated contact files are stored here
- matlab/:
GPshape.m
is the launch file andviz_shape.m
has the visualization code- standalone/: old MATLAB code which implements a basic version of GPIS
- mex/: Contains the makefile, mexfile, and
test_gp.cpp
- Modify the
EIGEN3_INCLUDE_DIR
inmex/CMakeLists.txt
andcpp/CMakeLists.txt
- Modify
EIGEN_PATH
inmex/make_GPShape.m
- Modify
BOOST_ROOT
incpp/CMakeLists.txt
Compile and run from MATLAB
cd mex/
make_GPShape
cd matlab/
GPshape
cd mex/
mkdir build
cd build/
cmake ..
make -j
./test_gp
- The mex functions have been adapted from Lee, Bhoram, et al. "Online continuous mapping using gaussian process implicit surfaces." 2019 International Conference on Robotics and Automation (ICRA). IEEE, 2019 (github)
- Another useful open-source reference was "Dexterous grasping under shape uncertainty", Miao Li, Kaiyu Hang, Danica Kragic and Aude Billard, Robots and Autonomous Systems, 2015 (github)
- The contouring functions are from conrec.
- C++ library to generate mesh grid: meshgen
- Shape models taken from the MIT push dataset
- cpp plotting uses matplotlib-cpp
kdtree_eigen.h
is developed by Fabian Meyer based on "Analysis of Approximate Nearest Neighbor Searching with Clustered Point Sets" by Songrit Maneewongvatana and David M. Mount
Feel free to use the library as you please. If you find it helpful, please consider referencing:
@article{suresh2020tactile,
title={Tactile SLAM: Real-time inference of shape and pose from planar pushing},
author={Suresh, Sudharshan and Bauza, Maria and Yu, Kuan-Ting and Mangelson, Joshua G and Rodriguez, Alberto and Kaess, Michael},
journal={arXiv preprint arXiv:2011.07044},
year={2020}
}
- 3D object reconstruction
- More kernels