gitwtfhub

wtf is taco?

tacobench/taco — explained in plain English

Analysis updated 2026-07-25

2PythonAudience · researcherComplexity · 4/5Setup · moderate

TL;DR

TacO is a research codebase that benchmarks four types of touch sensors on a robot hand. It trains AI models to pick up, reorient, and insert objects using touch feedback.

Mindmap

mindmap
  root((repo))
    What it does
      Benchmarks tactile sensors
      Trains robot policies
      Tests three manipulation tasks
    Sensors
      Visual tactile
      Acoustic tactile
      Magnetic tactile
      Resistive tactile
    Tech stack
      Python
      Miniconda
      HDF5 data format
    Data collection
      GELLO teleoperation system
      Two camera viewpoints
      Robot state and actions
    Training
      ACT policy architecture
      Configuration files
      Model checkpoint exporting

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Benchmark different tactile sensors for robotic object manipulation.

REASON 2

Train AI models to pick up, reorient, and insert objects using touch.

REASON 3

Reproduce academic benchmark results for tactile sensing.

REASON 4

Convert recorded robot demonstrations into training data for new policies.

What's in the stack?

PythonMinicondaHDF5GELLOACT

How it stacks up

tacobench/taco0-bingwu-0/live-interpreter010zx00x1/faresnipe
Stars222
LanguagePythonPythonPython
Setup difficultymoderatemoderateeasy
Complexity4/52/52/5
Audienceresearchergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 1h+

Requires Miniconda with Python 3.11, a local config file, and recorded robot demonstration data.

Wtf does this do

TacO is a research codebase from UC San Diego, Carnegie Mellon University, and Seoul National University that benchmarks tactile sensors for robotic object manipulation. The project trains and deploys learning policies using four different types of tactile sensing: visual, acoustic, magnetic, and resistive. These policies are tested on three manipulation tasks: picking up objects and placing them down, reorienting objects, and inserting plugs. To collect training data, the team used a teleoperation system called GELLO, which lets a human operator guide the robot through tasks. These recorded demonstrations must be converted into a specific file format called HDF5 before training can begin. Each recording contains robot state information, action commands, camera images from two viewpoints, and tactile sensor readings from both sides of the robot gripper. The robot state and action data are padded to 128 dimensions, and the tactile data can be stored either as flattened arrays or as images, depending on the sensor type. Setting up the project requires Miniconda. Users create a Python 3.11 environment and run a setup script. A local configuration file must also be created from a provided template to specify machine-specific paths for saving and exporting model checkpoints. This local file is excluded from version control so individual setups stay private. Training and sensor behavior are controlled through configuration files. Dataset configs specify which recordings serve as training data and which serve as validation data. Sensor configs describe the type of tactile sensor being used, whether its data is treated as raw arrays or images, and the dimensions of the readings. Model configs define the neural network architecture, including layer counts, attention heads, and learning rates. The project uses a policy architecture called ACT, which processes camera images and tactile data together to predict robot actions. Training runs through a single Python command with arguments for batch size, learning rate, number of epochs, and configuration file names. The codebase is still a research artifact with a small number of stars, and the README is focused on helping other researchers reproduce the benchmark results.

Yoink these prompts

Prompt 1
How do I set up the TacO benchmark environment using Miniconda and Python 3.11?
Prompt 2
How do I convert GELLO teleoperation recordings to HDF5 format for TacO training?
Prompt 3
How do I configure TacO sensor, dataset, and model files to train a visual tactile policy?
Prompt 4
What are the differences between visual, acoustic, magnetic, and resistive sensors in TacO?
Prompt 5
How do I run the TacO training command with the correct batch size and learning rate?

Frequently asked questions

wtf is taco?

TacO is a research codebase that benchmarks four types of touch sensors on a robot hand. It trains AI models to pick up, reorient, and insert objects using touch feedback.

What language is taco written in?

Mainly Python. The stack also includes Python, Miniconda, HDF5.

How hard is taco to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is taco for?

Mainly researcher.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.