把触摸变成信号
纽约大学团队开源的磁感应触觉传感器:将 4 颗磁铁嵌入 TPU 柔性晶格,通过磁传感板和 QT Py 把按压、滑动变成屏幕上的信号。本页整理桌面单块传感器的打印、装配与可视化路线;机器人操作与论文精度需额外标定和设备。资料整理,未经本站实物复现。
alan000
arXiv:2506.09994(预印本) 2025
桌面单块传感器路线。先备齐上方BOM,按以下七步操作;本站未做实物验证。
图:eFlesh作者,e-flesh.com,CC BY-SA 4.0;中文改编同许可。
## 打印和接线:每一步有检查点
### ① 固定版本与模型
从 [原仓库](https://github.com/notvenky/eFlesh)下载代码并保留完整文件夹,资料核对版本为 `4237e90cd7fef4f121af5f77dd6ff042f70ad122`。首次选标准 cuboid 模型,不从自行修改晶格开始;核对模型尺寸、磁铁口袋和 PCB 插槽是否与所买部件一致。标准晶格约 40 × 40 × 24 mm。原版模型文件夹由作者维护,下载后留存文件名与日期。
### ② 切片并设置暂停
用 [OrcaSlicer](https://github.com/SoftFever/OrcaSlicer),选择自己的打印机和 TPU 耗材配置。作者设备为 0.4 mm 喷嘴 X1C。按 [原版制造说明](https://github.com/notvenky/eFlesh/tree/main/microstructure)核对耗材预设;不同打印机不要盲抄温度。逐层预览磁铁口袋,在封顶前设置暂停,确认磁铁放入后不会高于后续喷嘴路径。晶格保持空隙,PCB 插槽采用致密区域;必要支撑仅加在悬空插槽部分。
### ③ 打印、放磁铁、封口
暂停后确认喷头停稳,再将 4 颗磁铁放到对应口袋。标准单块构型按论文同向 N 极朝上;先核对极性并做标记,勿靠猜测。确认磁铁坐到底、无凸出和松动后恢复打印。远离热喷嘴,避免磁铁被吸走或夹手;小磁铁不得让儿童误吞。冷却后检查晶格完整、口袋封闭、压下能回弹。
### ④ 装板并连接
断电把磁传感板插入底座,保持原版朝向并固定,避免板随按压移动。用 4 针 Qwiic 线连接板和 QT Py,再用 USB 数据线连接电脑。检查点:电脑出现新的串口。若没有,先换数据线并检查连接,别直接开始调 Python。
### ⑤ 刷入原版固件
安装 Arduino IDE,按 [Adafruit QT Py SAMD21 官方说明](https://learn.adafruit.com/adafruit-qt-py/arduino-ide-setup)安装板支持。在 [原仓库 arduino 目录](https://github.com/notvenky/eFlesh/tree/main/arduino)打开 `5X_eflesh_stream/5X_eflesh_stream.ino`,使用作者指定的 [MLX90393 库](https://github.com/tesshellebrekers/arduino-MLX90393),选择对应板和串口上传。固件应找到 5 个传感器;黑/白板地址布局不同,按固件注释匹配。少于 5 个先解决硬件/地址问题,不把零填充值当成有效测量。串口输出含二进制数据,不要求显示可读数字;运行 Python 前关闭 Arduino 串口监视器。
### ⑥ 启动可视化
建议在独立 Python 3.10 环境中安装原版依赖,在仓库根目录运行:
```
pip install reskin-sensor anyskin pygame matplotlib numpy==1.26.4
python visualizer/viz_eflesh.py -p COM5
```
`COM5`是示例,换成设备管理器中的实际串口;Linux 常见 `/dev/ttyACM0`,macOS 使用对应 `/dev/cu.usbmodem...`。保留 `visualizer/flesh.png`。按板版本核对脚本里的磁传感器方向旋转表。启动时不触摸、保持静止;出现窗口后轻按,观察可重复变化。Linux 串口权限按系统串口用户组配置,不必开放给所有用户。
### ⑦ 建立基线与验收
传感器放在固定位置,远离手机、钢制工具、其他磁铁。在无接触状态按 `b` 重设基线。依次做“空载 10 秒—轻按—松开—轻轻侧向推—松开”,至少重复 5 次并录屏。通过标准:5 个磁传感器正常、按压有稳定响应、松开后信号能回到接近基线;若移动整体位置后漂移,固定环境并重设基线。
要记录数据,先在仓库根目录建 `data` 文件夹,再执行 `python visualizer/viz_eflesh.py -p COM5 -r`。保存代码版本、模型、磁铁方向、板版本、环境和操作视频,方便他人判断复现范围。
## 出了问题先查这里
- 没有串口:数据线、板支持、USB 接口。
- 传感器数量不是 5:供电、Qwiic 接触、板版本与地址表。
- 窗口找不到背景图:在完整仓库中运行,保留 visualizer/flesh.png。
- 方向反了:PCB 朝向、黑白板旋转表和磁铁极性。
- 漂移或串扰:固定位置,移走铁磁物体,重新建立基线;双夹爪互扰需要额外设计和标定。
- 晶格拉丝或塌陷:先处理 TPU 干燥、回抽与打印参数;不要靠软件补偿结构缺陷。