Touch Data
Capability
Section titled “Capability”Read tactile arrays, fingertip force and torque, or subscribe to frames using the resolved layout.
Applicable Products
Section titled “Applicable Products”UF1–UF3, UT1, UT2, and UV1–UV4 with confirmed primary-link arrays. A dedicated SDK supplies independent vision-tactile data for UV5 and UV6.
Check the product support matrix
Quick Example
Section titled “Quick Example”Run these fragments with a connected hand. Python runs inside an async function; C++ requires revo3/revo3.hpp, iostream, vector, chrono, and stdexcept; handle SdkError at the application boundary.
layout = hand.touch.layoutif layout is None: raise RuntimeError("Touch layout is unavailable")frame = await hand.touch.snapshot()for module in frame.modules: print(module.module_id, module.sample_state)const auto layout = hand.touch().layout();const auto frame = hand.touch().snapshot();for (const auto& module : frame.modules) { std::cout << module.module_id << " " << static_cast<int>(module.sample_state) << "\n";}Parameters and Returns
Section titled “Parameters and Returns”| Operation | Parameters | Returns |
|---|---|---|
| Touch.snapshot() | Optional module_indices; read in request order | TouchFrame |
| Touch.module_snapshot(i) | Public module ID | TouchModuleData |
Find full signatures, defaults, units, and Python / C++ differences by operation:
Errors and Limits
Section titled “Errors and Limits”Find modules by module_id and check sample_state before optional fields. Unsupported operations return UnsupportedCapability. Do not replace failed reads with zeros or guess unknown layouts.
Errors, Timeouts, and Retries · Language Binding Differences