Commit Graph

20 Commits

Author SHA1 Message Date
Vinman
e2632889b3 chore: 清理调试代码及废弃配置,修复 TeleopConfig 初始化
删除 uf_lerobot_eval.py 中的调试 print/exit 代码,
清理 dual_xarm6_umi_record_config.yaml 中废弃的 teleop_id 和注释配置。
TeleopConfig 新增 __post_init__ 将 cameras 初始化为空字典,避免下游空值报错。
2026-07-02 14:08:08 +08:00
Vinman
fece62dba1 docs: 更新 README — 包名重命名、CLI 参数修正、项目结构同步 2026-06-30 15:24:42 +08:00
Vinman
bdc8ef05ab refactor: 插件化重构 — 重命名包、draccus 配置迁移、上下文注册、Pika 复用
1. 重命名 ufactory_lerobot → lerobot_robot_ufactory
   以独立插件包形式支持 lerobot 加载,pyproject.toml 同步更新

2. 配置文件迁移至 draccus 格式
   所有 YAML config 从 _target_ 格式迁移至 ChoiceRegistry type 格式
   dict 值类型从具体类改为抽象基类(RobotConfig/TeleoperatorConfig)
   确保嵌套 dict 中的 type 选择器能被 draccus 正确解析

3. teleop 上下文注册替代属性注入
   新增 context.py(contextvars 实现),支持多 teleop 按 id 存取
   UFBaseTeleop.connect/disconnect 自动注册/注销活跃 teleop
   UFMockRobot.get_observation 从上下文获取 teleop action
   移除 record() 对 cfg.robot.teleop 的注入

4. 部分导入延迟加载
   pika_device: serial/list_ports 延迟导入
   gello_teleop: gello 依赖延迟导入
   umi_teleop/camera_umi: XVLib 延迟导入
   space_mouse: spnav 延迟导入

5. Pika 设备实例复用
   PIKA_DEVICE_MAP 共享已连接的 Sense/Gripper,防止多实例化抢占端口
   修复 pika_gripper 属性误用 _pika_sense_port 的 bug

6. 修复 multiple_uf_mock_robot
   robots 从 list 改为 dict[str, UFMockRobot],移除 keys 列表
   send_action 改用 dict items 遍历
   新增 MultipleUFMockRobot.cameras 聚合属性
2026-06-30 15:07:39 +08:00
Vinman
83a1c46441 feat(record): 支持 --async-save 异步保存 episode 2026-06-29 18:07:50 +08:00
Vinman
68d7898603 fix(vive-tracker): 删除重复的 __del__ 方法,增加生命周期日志 2026-06-29 17:08:53 +08:00
Vinman
15d9eae9a1 refactor(umi): 延迟导入外部依赖,增强 xvlib 设备接口 2026-06-29 17:04:48 +08:00
Minna
57e57358b6
Merge pull request #1 from MinnaZhong/main
Include video
2026-06-23 18:28:41 +08:00
Minna
17ac84448f Include video 2026-06-23 18:24:05 +08:00
Minna
fe42559905 Include video 2026-06-23 17:29:10 +08:00
Vinman
1282a073ec fix(vive-tracker): _init 方法补充 return True 返回值 2026-06-22 15:23:04 +08:00
Vinman
6768c03918 chore(config): 更新各遥操作配置文件
统一 GELLO/Pika/UMI/SpaceMouse 配置项格式。
2026-06-18 17:35:20 +08:00
Vinman
be0f5c4abf docs: 修正 XVSDK 安装命令格式
curl 管道改为 -o 临时文件再 dpkg 安装。
2026-06-18 16:41:16 +08:00
Vinman
dbad475cb2 perf(umi): 摄像头读取启用零拷贝 Ref API
xv_get_color_camera_data 默认使用 use_ref=True 减少内存拷贝。
2026-06-18 16:18:38 +08:00
Vinman
b939a7842a feat(umi): 重构 xvlib 和 vive_tracker 接口
xvlib 新增零拷贝 Ref 结构体、XVSDK 检测、设备等待逻辑,
vive_tracker 改为单例模式,优化 API 接口,
新增 libopencv/lipxvlib 二进制文件。
2026-06-18 16:17:23 +08:00
Vinman
de538a24c3 docs: 生成英文 README,新增摄像头查看工具
README 拆分为英文版和中文版并添加语言切换链接,
新增 uf_camera_view 多摄像头拼接工具,
udev 规则移至项目根目录。
2026-06-16 17:05:34 +08:00
Vinman
e01fec8b91 feat(project): 新增配置、udev 规则并完善文档结构
添加 GELLO/Pika/UMI/SpaceMouse 遥操作配置,
新增 udev 设备规则,更新 README 项目结构,
优化键盘提示格式。
2026-06-16 13:13:21 +08:00
Vinman
6f520b5fef chore(project): 重构为 src 布局并新增校准脚本
将包、xvsdk、rules 移入 src/,新增 vive_calibrate 脚本。
2026-06-15 12:22:52 +08:00
Vinman
d959d82dbe refactor(teleop): 重命名 set_ctrl_status 为 set_teleop_enabled
启用时支持传入机械臂观测数据以同步初始位姿映射,
重构 Pika/UMI 遥操作内部状态管理。
2026-06-12 18:37:53 +08:00
Vinman
4467e19322 feat(robot): 添加 uFactory 机械臂完整功能包
包含机器人控制(uf_robot)、遥操作(teleoperators)、
摄像头(cameras)、设备驱动(devices)和执行脚本(scripts)等模块。
2026-06-11 11:55:23 +08:00
Vinman
c3028aa7b4 chore(project): 初始化项目基础配置文件
添加 .gitignore、README.md、LICENSE 和 pyproject.toml,
建立 Python 项目的基础工程结构。
2026-06-10 14:24:58 +08:00