DEV Community

Cover image for We Need a Unicode for Tactile Data — Here's Why I Built One
liesliy
liesliy

Posted on

We Need a Unicode for Tactile Data — Here's Why I Built One

I've spent the last few years working with tactile sensors in robotics. And if there's one thing that drives me crazy, it's this: every sensor speaks its own language, and nobody's translating.

GelSight gives you image sequences. BioTac streams 19-channel impedance data. PaXini sends you 8×8 taxel grids. If you work with two different sensors in the same project, you end up writing two completely different data pipelines. Switch robots? Throw away your labels and start over.

This isn't just annoying — it's actively holding back embodied AI. We're trying to train foundation models on tactile data, but the data is fragmented across dozens of incompatible formats. It's like trying to build GPT when every training corpus uses a different encoding.

So what if tactile data had... Unicode?
That's the idea behind TLabel — a unified annotation schema for tactile data across all sensor types.

Think about what Unicode did for text. Before Unicode, you had ASCII, Shift-JIS, Latin-1, GB2312... the same character, different encodings, constant headaches. Unicode didn't replace any of them — it gave them a shared identity. A Chinese character is a Chinese character, regardless of how your system stores it.

TLabel does the same thing for touch. It defines 14 semantic dimensions that any tactile sensor can map to:

  • Did something touch? (contact)

  • Where on the sensor? (contact_region, contact_centroid)

  • How hard? (force_magnitude)

  • Which direction? (force_vector)

  • Is it slipping? (slip_event)

  • What's the texture? (texture, friction)

  • Is the object deforming? (deformation_rate)

  • What phase of manipulation? (approach, grasp, hold, release)

  • And a few more...

The key insight: not every sensor can annotate all 14 dimensions. And that's fine. A simple force sensor gives you contact + force (Level 2). A vision-based sensor like GelSight can give you spatial info too (Level 3). Nobody's forcing you to pretend your sensor can do more than it can.

pip install tlabel
Enter fullscreen mode Exit fullscreen mode

That's it. Three words.

Why this matters now
We're at a weird moment in tactile sensing. The hardware is getting good — there are dozens of capable sensors now. The ML models are getting better. But the data layer is still stuck in the dark ages.

Every lab has their own scripts. Every paper has its own format. Every startup that tries to build something on top of tactile data spends 3 months just writing data adapters before they can do anything interesting.

I built TLabel because I was tired of writing the same adapter code for the fifth time. And I think we've reached the point where the robotics community needs this — the same way the web community needed HTTP, the same way the text community needed Unicode.

What it actually looks like
Here's the real test: can you load data from a GelSight, a BioTac, and a PaXini, and get the same annotation structure back?

import tlabel

# These all return the same TLabelData structure
gelsight_data = tlabel.load("gel_sight_recording.pkl")
biotac_data = tlabel.load("biotac_recording.csv")
paxini_data = tlabel.load("paxini_recording.mat")

# Same schema. Same dimensions. Different sensors.
print(gelsight_data.frames[0].schema_v2.contact)
print(biotac_data.frames[0].schema_v2.contact)
Enter fullscreen mode Exit fullscreen mode

That's the whole point. The downstream code — your model training, your quality checks, your data export — doesn't need to know which sensor it came from.

Where we are
TLabel is at v0.20.1 with 13 sensor adapters already built. It supports export to FTP-1 Zarr (for foundation models) and LeRobot format. It has a CLI, a quality scoring system, and a compliance level framework.

It's MIT licensed, actively maintained, and we're actively looking for collaborators — especially if you work with sensors we haven't covered yet.

👉 GitHub: github.com/liesliy/tlabel
· PyPI: pypi.org/project/tlabel

If you're working with tactile data and you're tired of writing the same adapter code for the fifth time — give it a shot. Or even just tell us what you think. The whole point of a standard is that it only works if people use it.

Built by the TouchLabel AI team. Open source, MIT license. Questions? Hit us up on GitHub Issues or drop a comment.

Top comments (0)