DAS Finger 手册 (中文) v2.0
简体中文 | English
0. 文档信息
- 文档版本
- v2.0
- 最后更新
- 2026-07-01
- 适用产品
- DAS Finger 双指多模态数据采集设备
1. 安全与合规
1.1 安全说明
首次使用前,请仔细阅读本章并遵守所有安全指南
如需帮助,请联系:support@genrobot.ai
1.1.1 警告标志含义
- ⚠️ 危险: 可能导致严重伤害、死亡或重大财产损失。
- ⚠️ 警告: 可能导致人身伤害或设备损坏。
- ⚠️ 注意: 可能导致设备故障或数据丢失。
- 💡 提示: 有助于更好操作的建议。
1.2 责任与限制
- 请勿修改或改动设备。
- GENROBOT.AI 不对因误用、未经授权的更改或操作错误引起的问题负责。
- 使用本设备即表示您同意所有安全条款,并对其操作承担全部责任。
- 本产品不适用于 18 岁以下的用户。
1.3 集成商与用户责任
- 部署前需进行完整的威胁和风险评估。
- 根据评估结果实施适当的安全防护措施。
- 确保所有硬件和软件均已正确安装和配置。
- 未经授权不得禁用或更改安全措施。
- 遵守相关法律、标准和行业法规。
1.4 环境要求
- 工作温度:0℃~40℃(最佳 22±2℃)
- 相对湿度:40%RH~65%RH(无凝露)
- 防护等级: IP50
- 磁场强度:≤50mT
- 照度 ≤500 lux,无直射光、无反光面
- 地面无振动,远离电机、变频器、大功率电源、Wi-Fi 6E/5G 基站
- 无尘、无油烟、无腐蚀性气体
1.5 使用警告
1.5.1 危险警告
- 切勿修改或篡改设备。
- 如果设备损坏或不稳定,请停止使用。
- 避免将设备长时间暴露于强磁场中。
1.5.2 操作警告
- 根据风险评估结果实施安全措施。
- 确保旁观者远离设备运动区域。
- 集成新组件或设备时重新评估风险。
- 操作前阅读所有相关设备手册。
1.5.3 维护警告
- 仅使用原装配件和替换部件。
- 定期检查设备,及早发现潜在问题。
- 遵循推荐的维护计划。
- 在符合要求的环境条件下存储设备。
1.6 数据安全与隐私
1.6.1 数据保护
- 安全处理采集的数据,因其可能包含敏感信息。
- 定期备份重要数据。
- 了解所连接云服务的数据政策。
- 遵守适用的数据保护法规。
1.6.2 隐私保护
- 在公共场合操作时尊重他人隐私。
- 进行录制或数据采集前获得必要许可。
- 遵守关于数据采集的当地法律。
2. 产品概述
2.1 核心特性
DAS(数据采集系统) 是一个通用的具身智能多模态数据采集系统。
Gen DAS Fingers 是简智机器人(GenRobot)推出的一款专为具身智能精细化操作与精密执行设计的无本体仿生双指数据采集设备。轻量化机身内集成了视觉、触觉、惯性及磁编码等4种类型多模态传感器,支持毫米级触觉分辨率与毫米级轨迹重建精度,实现灵活操控(类人操作)和真实触觉反馈,确保自然的人类行为数据复制。
2.2 产品清单与规格
| 项目 | 数量 | 规格说明 |
|---|---|---|
| 主机 | 1 | 285 g |
| 触觉末端 | 2 | 左右触觉末端 |
| 螺丝 | 2 | M2*5 梅花沉头 |
| 扳手 | 1 | L 形梅花扳手 |
| 数据线 | 1 | USB 3.0 转 Type-C,1 m |
2.3 设备布局介绍
| 模块 | 布局 / 规格说明 |
|---|---|
| 相机 | 1 颗约 200 万像素广角 RGB 相机;水平视场约 150°,垂直视场约 130°,对角180度;录制帧率 30 Hz。 |
| 电池 | 电池参数: 容量:2000 mAh(典型值) 充电器:5V/2A 或 5V/3A 理论充电时间:1.5h ~ 2h 续航:2.5h 接口:Type-C(充电、USB 3.1 Gen 1 数据传输) |
| IMU | 高精度 6 轴传感器,2×2 IMU 阵列,经标定与算法处理;陀螺仪零偏稳定性约 2.5°/h,−40°C~85°C 温漂约 0.03°/s。 |
| URDF | URDF 飞书 URDF 文档 为准。 |
2.4 外观标注图


电源开关机
- 短按电源键:绿灯亮表示开机。
- 长按电源键:绿灯熄灭表示关机。
3. 核心概念
3.1 URDF
3.2 世界坐标系
- Ego 与两台 Finger 的位姿均在 以 Ego 采集初始时刻位姿建立的世界坐标系 下表示。
- 与 Topic 对应的详细说明见:DAS Ego — 技术参考
3.3 局部坐标系
3.3.1 Ego
- 定义见:DAS Ego — 局部坐标系
3.3.2 Finger
- 原点位于 相机光心;轴向为 X 向前、Y 向左、Z 向上 的右手系(与 URDF 中
base_link一致)。

4. 操作指南
快速入门
登录连接配对操作
开始/结束采集操作
- 目前最新 APP 版本为 1.0.18,EGO 为 2.1.10,FINGER 为 4.8.47。
- 设备和 APP 都需要更新到最新版本后,再进行配对使用。
4.1 硬件准备
多设备采集需要 1 台 Ego 与 2 台 Finger。按下列步骤完成配对与采集准备。
4.1.1 Finger APP连接
设备开机状态下(点按电源键开机,长按电源键关机),设备连接界面点击 Finger 扫码按钮(L 对应左手设备,R 对应右手设备),将手机镜头对准 Finger 屏幕设备 ID 界面的二维码进行扫码(Finger 首页向左划屏切到右一设备 ID 界面)。


4.1.2 Ego APP连接
- Ego App 连接和配置说明见 DAS Ego 手册 中的 App 章节。
4.1.3 Ego-Finger 配对
Ego、Finger 已连接后,进行 Ego 和 Finger 的配对:
- 点击 【快速配对】
- 连接成功后,APP 设备配对绿色框点亮,显示设备配对就绪,点击停止可取消配对。
1. Ego、Finger 设备都连接后,点击快速配对。

2. 配对连接中,展示“初始化中”。

3. 配对成功,显示“设备配对就绪”。

4. 配对成功,首页 Ego 连接图标蓝色点亮且显示信号,对应左右图标蓝色点亮。


4.1.4 配对异常排查
若配对异常,请参阅 6.1 配对异常排查。
4.2 系统配置
4.2.1 首页左滑-右1:设备ID页 右2:检查页



4.2.2 首页右滑-左1:数据页 左2:数据详情页



4.2.3 首页上滑-相机预览页


4.2.4 首页下滑-设置详情页




| RF配对 | 通过识别码方式与 Ego 配对连接,优先通过 APP 扫码连接。 |
| 上传日志 | 设备联网状态下进入设备 ID 界面点击上传日志,实时上传设备 log 到云端,便于研发定位 bug。 |
| 录制 | 点击控制设备开始录制和结束录制。 |
| 数据上传 | 将录制数据上传到云端(注意:用户点击数据上传也会上传到 GenRobot 内部云端,用户目前只支持 SD 卡拷贝数据的方式)。 |
| Wi-Fi 设置 | 点击进入 Wi-Fi 设置,显示附近识别到的 Wi-Fi 列表,选择对应 Wi-Fi 并正确输入密码后,蓝色点亮显示已连接。 |
| 传感器状态 | 查看各传感器工作状态(注意:若未更换触觉夹爪,触觉传感器信息缺失属正常现象)。 |
| 文件管理 | 显示当前设备已采集文件列表,可手动选择删除不需要的数据。 |
| 固件升级 | 设备联网状态下自动检测当前最新版本,可进行 OTA 版本升级。 |
| 开合校准 | 磁编码器校准,将设备夹爪闭合后,点击零点校准 / Zero calibration 完成校准。 |
| 触觉显示开关 | 点击控制首页触觉显示开关状态。 |
| 语言设置 | 切换不同国家语言显示。 |
4.3 数据采集
4.3.1 Finger 传感器状态检查
- 首页点击传感器标识—— 传感器状态:逐项检查(若未更换触觉夹爪,触觉信息缺失属正常现象)。
- 首页点击夹爪标识—— 编码器校准:夹爪完全闭合时角度应在 0°(或 360°) 附近;偏差较大时可重新标定。
4.3.2 Ego SD 卡
确认 Ego 已插入 SD 卡并且 App 识别状态正常,可在 App 中查看存储状态。
4.3.3 通信与连接
确认 2x Finger + 1x Ego 已配对且通信正常。
4.3.4 佩戴设备
- Ego:头环按规范佩戴;详见 DAS Ego 手册 · 4.1.1 设备佩戴。
- Finger:双手正确佩戴 Finger。

4.3.5 开始 / 结束录制
- 开始录制:在约 0.5 s 内连续完成 3 次快速闭合夹爪动作。此时 Finger 由亮屏切至熄屏,仅显示录制计时与信号强度;Ego 播报 开始录制 /
start recording。 - 结束录制:同样在约 0.5 s 内连续 3 次快速闭合。Finger 由熄屏恢复亮屏;Ego 播报 录制结束 /
end recording。 - 因 Ego 带多路相机,结束动作后请再等待约 2 s,待 录制结束 /
end recording播报结束后再移动设备,以免相机尚未完全停录。
4.3.6 Finger 数据读取
使用 Type-C 连接 Finger 设备与电脑,导出数据(支持 Windows、Linux)。
4.4 数据处理
4.4.1 原始数据(本地落盘)
同一组原始数据具有相同的开始录制时间戳,并使用唯一的 group_uuid 进行配对。
文件名示例:
| 设备 | 示例 |
|---|---|
| Ego | DAS-Ego_20260507180344_master_center_814084_59214a9e.mcap |
| 左 Finger | DAS-Finger_20260507180344_sub_left_81709d_59214a9e.mcap |
| 右 Finger | DAS-Finger_20260507180344_sub_right_3e6d0c_59214a9e.mcap |
其中 59214a9e 为该组数据的 UUID 片段。
原始数据导出:
Ego
取出录制所用 SD 卡,使用标配读卡器将录制的 mcap 文件拷贝到电脑。Finger
使用 Type-C ↔ USB 数据线连接 Finger 与电脑,将设备内数据拷贝到电脑。
4.4.2 Ego-Finger 数据后处理
本节介绍如何使用 das-ego-stack 对 Ego + 双 Finger 采集数据进行后处理。
当前数据后处理流程依次执行:
qc → merge → vio → vio_check
处理完成后,在输出目录生成 merged_output_ego_vio.mcap。
环境要求
通用(必选)
- Linux x86_64(Ubuntu 20.04 / 22.04 或 Debian 11 / 12)
- 建议:CPU ≥ 16 核,内存 ≥ 32 GB
- Python ≥ 3.9(含
pip、venv) - 已安装 Docker CLI,且当前用户可执行
docker(或在docker组内) - 磁盘空间充足(可通过
docker info | grep "Docker Root Dir"查看 Docker 根目录后,用df -h检查) - 海外用户如使用 AWS ECR 镜像源,需要安装 AWS CLI v2,并配置具备 ECR 读取权限的凭证
获取工具包
- 克隆仓库:
git clone https://github.com/genrobot-ai/das-ego-stack.git
cd das-ego-stack仓库内包含:
delivery_pipeline-1.0.4-py3-none-any.whl— 宿主机编排工具sample_input/— 一组完整的master + sub_left + sub_right示例数据,可用于冒烟测试
安装 wheel(创建虚拟环境并安装):
python3 -m venv ~/.venv/delivery
~/.venv/delivery/bin/pip install delivery_pipeline-1.0.4-py3-none-any.whl安装后可使用 CLI 命令 delivery-pipeline(宿主机编排;各算法步骤仍在独立 Docker 容器内执行)。
镜像下载
根据网络环境选择镜像源。
Option A — 国内用户(推荐)
镜像托管于 imagepublic.genrobotai.com/genrobot/,无需登录,直接拉取:
REG=imagepublic.genrobotai.com/genrobot/genimage
VER=v1.0.5
for step in qc merge vio vio_check; do
docker pull ${REG}:${step}-${VER}
doneOption B — 海外用户(AWS ECR)
海外镜像托管于 AWS ECR。需要 AWS 账号具备 ECR 读取权限,并已安装、配置 AWS CLI v2。
# 安装 AWS CLI v2(Linux x86_64)
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
aws configure
# 登录 ECR(token 有效期约 12 小时)
aws ecr get-login-password --region us-east-1 \
| docker login --username AWS --password-stdin \
764042516397.dkr.ecr.us-east-1.amazonaws.com
# 预拉取镜像
REG=764042516397.dkr.ecr.us-east-1.amazonaws.com/genimage
VER=v1.0.5
for step in qc merge vio vio_check; do
docker pull ${REG}:${step}-${VER}
done注意:AWS 与 Docker 凭证按用户保存(~/.aws/、~/.docker/)。镜像拉取与 delivery-pipeline 建议使用同一用户执行,避免混用 sudo 导致凭证不可见。
准备输入数据
输入目录需包含 同一组 UUID 的三份 mcap(命名规则见 4.4.1 原始数据):
| 角色 | 文件名示例 |
|---|---|
| Ego(master) | DAS-Ego_20260507180344_master_center_814084_59214a9e.mcap |
| 左 Finger | DAS-Finger_20260507180344_sub_left_81709d_59214a9e.mcap |
| 右 Finger | DAS-Finger_20260507180344_sub_right_3e6d0c_59214a9e.mcap |
三文件末尾 8 位十六进制 UUID(如 59214a9e)必须相同;缺少任一角色的组会被跳过(日志标记为 SKIP)。
目录示例:
das-ego-stack/
├── sample_input/ # 仓库自带示例,或替换为自有数据
│ ├── DAS-Ego_..._master_..._59214a9e.mcap
│ ├── DAS-Finger_..._sub_left_..._59214a9e.mcap
│ └── DAS-Finger_..._sub_right_..._59214a9e.mcap
└── output/ # 运行前创建,用于存放结果运行前设置目录权限(算法容器以非 root 用户运行,需可读输入、可写输出):
export INPUT_DIR=$(realpath ./sample_input) # 替换为实际输入目录
export OUTPUT_DIR=$(realpath -m ./output)
mkdir -p "$OUTPUT_DIR"
chmod -R a+rX "$INPUT_DIR"
chmod -R a+rwX "$OUTPUT_DIR"运行处理
在 das-ego-stack 目录下执行(输入/输出路径须为绝对路径):
cd /path/to/das-ego-stack
export INPUT_DIR=$(realpath ./sample_input) # 替换为实际输入目录
export OUTPUT_DIR=$(realpath -m ./output)
mkdir -p "$OUTPUT_DIR"
chmod -R a+rX "$INPUT_DIR"
chmod -R a+rwX "$OUTPUT_DIR"
# 国内镜像源
REG=imagepublic.genrobotai.com/genrobot/genimage
VER=v1.0.5
export ALGO_QC_IMAGE=${REG}:qc-${VER}
export ALGO_MERGE_IMAGE=${REG}:merge-${VER}
export ALGO_VIO_IMAGE=${REG}:vio-${VER}
export ALGO_VIO_CHECK_IMAGE=${REG}:vio_check-${VER}
~/.venv/delivery/bin/delivery-pipeline --steps qc,merge,vio,vio_check \
--input-dir "$INPUT_DIR" --output-dir "$OUTPUT_DIR" \
--continue-on-error海外用户使用 AWS ECR 镜像源时,将上方镜像变量替换为:
REG=764042516397.dkr.ecr.us-east-1.amazonaws.com/genimage
VER=v1.0.5
export ALGO_QC_IMAGE=${REG}:qc-${VER}
export ALGO_MERGE_IMAGE=${REG}:merge-${VER}
export ALGO_VIO_IMAGE=${REG}:vio-${VER}
export ALGO_VIO_CHECK_IMAGE=${REG}:vio_check-${VER}成功标志:终端末尾出现类似 summary: 1/1 groups succeeded。
可选:本地镜像覆盖
如需使用本地构建的测试镜像,可将各 ALGO_*_IMAGE 环境变量指向本地 tag:
export ALGO_QC_IMAGE=delivery_qc:compile-dev
export ALGO_MERGE_IMAGE=delivery_merge:compile-dev
export ALGO_VIO_IMAGE=delivery_vio:compile-dev
export ALGO_VIO_CHECK_IMAGE=delivery_vio_check:compile-dev
~/.venv/delivery/bin/delivery-pipeline --steps qc,merge,vio,vio_check \
--input-dir "$INPUT_DIR" --output-dir "$OUTPUT_DIR" \
--continue-on-error常用参数
| 参数 | 说明 |
|---|---|
--steps | 逗号分隔的步骤列表;每个步骤必须设置对应的 ALGO_*_IMAGE |
--input-dir | 包含待处理 .mcap 数据组的目录 |
--output-dir | 每组数据的结果输出根目录 |
--continue-on-error | 某一组失败时继续处理下一组;调试时可去掉该参数以便快速失败 |
输出说明
每组数据输出结构:
$OUTPUT_DIR/<group-uuid>/
├── result.json # 各步骤状态,失败时优先查看
├── merged_output_ego_vio.mcap # 最终产物(VIO 输出)
└── debug/ # 中间结果,审计后可删除
└── work/
├── step_outputs/ # 各步骤 stdout/result
└── qc/ merge/ vio/ vio_check/运行结束时会输出整体摘要,例如:
summary: 3/4 groups succeeded
FAIL ab12cd34 at vio可视化可继续使用 monitor.genrobot.com 加载生成的 mcap。
常见问题(简要)
| 现象 | 处理建议 |
|---|---|
permission denied 连接 Docker | 将用户加入 docker 组后重新登录 |
ECR 提示 GetAuthorizationToken 无权限 | 确认 AWS 账号或角色具备 ECR 读取权限,如 AmazonEC2ContainerRegistryReadOnly |
| 容器 exit 1 但 stderr 为空 | 多为 mcap 文件权限问题,重新执行 chmod -R a+rX "$INPUT_DIR" |
| 输入路径异常或容器内找不到文件 | --input-dir 与 --output-dir 必须使用绝对路径 |
| 某组在某步失败 | 查看 $OUTPUT_DIR/<uuid>/result.json 及 $OUTPUT_DIR/<uuid>/debug/work/step_outputs/<step>.json |
更多排查项见 仓库 README §7 Troubleshooting。
5. 技术参考
5.1 数据解析工具
5.2 合并后数据包中的 robot 编号
(当前约定,后续可能调整)
| 编号 | 对应设备 |
|---|---|
robot0 | DAS Ego |
robot1 | DAS Finger(左) |
robot2 | DAS Finger(右) |
5.3 合并包主要 Topic(robot0 / robot1 / robot2)
| Robot | Topic | Schema | 频率 | 说明 |
|---|---|---|---|---|
robot0 | /robot0/sensor/camera0/compressed … /robot0/sensor/camera5/compressed | CompressedImage | 30 Hz | 从左到右 6 路 RGB 压缩视频流(H.264) |
robot0 | /robot0/sensor/camera0/camera_info … /robot0/sensor/camera5/camera_info | CameraCalibration | 单帧 | 从左到右 6 路 RGB 相机标定(内外参) |
robot0 | /robot0/sensor/camera2/camera_info_resize/robot0/sensor/camera3/camera_info_resize | CameraCalibration | 单帧 | 中间两路小分辨率相机标定 |
robot0 | /robot0/sensor/imu | IMUMeasurement | 200 Hz | IMU 数据 |
robot0 | /robot0/vio/eef_pose | PoseInFrame | 30 Hz | Ego 在世界坐标系下的 6D 位姿;坐标系见 DAS Ego — 技术参考 |
robot0 | /robot0/vio/relative_eef_pose | PoseInFrame | 30 Hz | 以 t=0 时刻 Ego 位姿为世界原点,记录相对位姿变化 |
robot0 | /robot0/sensor/audio | AudioData | 30 Hz | 音频 |
robot0 | /robot0/system/info | SystemInfo | 1 Hz | 系统信息 |
robot1robot2 | /robot1/sensor/camera0/compressed/robot2/sensor/camera0/compressed | CompressedImage | 30 Hz | 左 / 右 Finger 相机图像 |
robot1robot2 | /robot1/sensor/camera0/camera_info/robot2/sensor/camera0/camera_info | CameraCalibration | 单帧 | 左 / 右 Finger 相机标定 |
robot1robot2 | /robot1/sensor/imu/robot2/sensor/imu | IMUMeasurement | 200 Hz | 左 / 右 Finger IMU |
robot1robot2 | /robot1/sensor/magnetic_encoder/robot2/sensor/magnetic_encoder | MagneticEncoderMeasurement | 50 Hz | 左 / 右 Finger 磁编码夹爪开度(m) |
robot1robot2 | /robot1/vio/eef_pose/robot2/vio/eef_pose | PoseInFrame | 30 Hz | 左 / 右 Finger 在世界坐标系下的 6D 位姿(与 Ego 同一世界坐标系) |
其中,原始数据中不包含 /robot0/vio/eef_pose、/robot1/vio/eef_pose、/robot2/vio/eef_pose 等数据,需要算法处理后得到。
6. 故障排查与维护
6.1 配对异常排查
若配对异常,请确认 Ego App、Ego 固件、Finger 固件 均为最新版本,可在以下文档查看更新说明:
详细配对步骤另见 4.1 硬件准备。
6.2 注意事项
不支持录制中换电池,否则可能造成数据损坏。
目前的 SD 卡格式是 FAT32,不支持超过 4 GB 的单数据录制。如果需要超过 20 min 的数据录制,需要用附带软件(DiskGenius),将 SD 卡转化为 exFAT 格式。