Skip to content

A Python package for ergodic control on point cloud using diffusion. It is supplementary material for the paper "Tactile Ergodic Control Using Diffusion and Geometric Algebra".

License

Notifications You must be signed in to change notification settings

idiap/TactileErgodicExploration

Repository files navigation

This package implements an ergodic controller on point clouds and it is the supplementary material of the paper "Tactile Ergodic Coverage on Curved Surfaces"

Link to the paper: http://arxiv.org/abs/2402.04862

[Google colab version]

drawing

drawing

Paper webpage including interactive plots and real-world experiment videos:

https://sites.google.com/view/tactile-ergodic-control/

Table of Contents

Notebooks:

Utilities:

  • pointcloud_utils.py
    • Point cloud operations such as read/write kNN queries, gradient computation, etc.
  • plotting_utils.py
    • A collection of plotting utility functions used by the notebooks.
  • virtual_agents.py
    • Classes for the first and second order virtual agents.

Point clouds:

  • Stanford Bunny from the original dataset bun270.ply, 'X' image projected to it using set_point_cloud_target.ipynb
  • A random cup we found in the office and recorded using our setup, 'X' image projected to it using set_point_cloud_target.ipynb
  • A plate from IKEA, recorded using our setup (it includes the exploration target by itself)

Dependencies

To compute the discrete Laplacian on point clouds (and also meshes if you want) robust_laplacian: https://github.com/nmwsharp/robust-laplacians-py

@article{Sharp:2020:LNT,
  author={Nicholas Sharp and Keenan Crane},
  title={{A Laplacian for Nonmanifold Triangle Meshes}},
  journal={Computer Graphics Forum (SGP)},
  volume={39},
  number={5},
  year={2020}
}

For geometric algebra operations: pygafro: https://gitlab.idiap.ch/tloew/gafro

@article{loewGeometricAlgebraOptimal2023,
  title = {Geometric {{Algebra}} for {{Optimal Control}} with {{Applications}} in {{Manipulation Tasks}}},
  author = {L\"ow, Tobias and Calinon, Sylvain},
  date = {2023},
  journal = {IEEE Transactions on Robotics},
  doi = {10.1109/TRO.2023.3277282}
}

For basic point cloud operations (another library can be easily used instead): open3d: https://www.open3d.org

For plotting and point cloud visualizations: plotly: https://plotly.com

For sparse matrix operations: scipy: https://scipy.org

For linear algebra operations: numpy: https://numpy.org

Copyright and License

Please see the LICENSE for more information.

Contact: [email protected]

About

A Python package for ergodic control on point cloud using diffusion. It is supplementary material for the paper "Tactile Ergodic Control Using Diffusion and Geometric Algebra".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published