このパッケージは、DIGIT などの視覚ベースの触覚センサーのシミュレーターを提供します。 PyBullet との統合のためのモデルと、タッチ読み取り値のレンダラーを提供します。詳細については、対応する論文「TACTO: A Fast, Flexible, and Open-source Simulator for High-resolution Vision-based Tactile Sensors」を参照してください。
注: シミュレータは、接触の物理的に正確なダイナミクス (変形、摩擦など) を提供することを目的としたものではなく、既存の物理エンジンに依存しています。
最新情報やディスカッションについては、www.touch-sensing.org コミュニティの #TACTO チャンネルにご参加ください。
推奨されるインストール方法は PyPi を使用することです。
pip install tacto
あるいは、以下を使用してリポジトリのクローンを手動で作成し、パッケージをインストールすることもできます。
git clone https://github.com/facebookresearch/tacto.git
cd tacto
pip install -e .
このパッケージにはいくつかのコンポーネントが含まれています。
次の例を実行するには、追加のパッケージ (torch、gym、pybulletX) が必要です。これらはpip install -r requirements/examples.txt
でインストールできます。
TACTO を PyBullet と組み合わせて使用する方法の基本的な例については、[TBD] を参照してください。
レンダラー エンジンのみを使用する方法の例については、examples/demo_render.py を参照してください。
PyBullet でシミュレーターを使用する方法の高度な例については、サンプル フォルダーを参照してください。
注: レンダラーには画面が必要です。ヘッドレス レンダリングの場合は、GPU および CUDA ドライバーを使用する「EGL」モード、または CPU を使用する「OSMESA」を使用します。詳細については、「PyRender」を参照してください。
さらに、パッチを適用したバージョンの PyOpenGL を次のようにインストールします。
pip install git+https://github.com/mmatl/pyopengl.git@76d1261adee2d3fd99b418e75b0416bb7d2865e6
次に、ヘッドレス レンダリングに使用するエンジンを指定できます。たとえば、
import os
os.environ["PYOPENGL_PLATFORM"] = "osmesa" # osmesa cpu rendering
Ubuntuで実験を行うことをお勧めします。
macOSの場合、既知のとおり、pybullet.GUI と pyrender の間に視覚化の問題が存在します。解決できる場合はお知らせください。リポジトリで情報を共有します。
このプロジェクトは、LICENSE ファイルにあるように、MIT ライセンスに基づいてライセンスされています。
研究でこのプロジェクトを使用する場合は、以下を引用してください。
@Article { Wang2022TACTO ,
author = { Wang, Shaoxiong and Lambeta, Mike and Chou, Po-Wei and Calandra, Roberto } ,
title = { {TACTO}: A Fast, Flexible, and Open-source Simulator for High-resolution Vision-based Tactile Sensors } ,
journal = { IEEE Robotics and Automation Letters (RA-L) } ,
year = { 2022 } ,
volume = { 7 } ,
number = { 2 } ,
pages = { 3930--3937 } ,
issn = { 2377-3766 } ,
doi = { 10.1109/LRA.2022.3146945 } ,
url = { https://arxiv.org/abs/2012.08456 } ,
}