(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210813622.0
(22)申请日 2022.07.12
(71)申请人 上海交通大 学
地址 200240 上海市闵行区东川路80 0号
(72)发明人 付昊源 徐文强 叶若琳 薛寒
黄永锡 薛震东 卢策吾
(74)专利代理 机构 上海交达专利事务所 31201
专利代理师 王毓理 王锡麟
(51)Int.Cl.
B25J 9/16(2006.01)
G06F 3/01(2006.01)
G06F 9/448(2018.01)
G06N 20/00(2019.01)
G06T 7/33(2017.01)
G06T 15/20(2011.01)G06T 19/00(2011.01)
(54)发明名称
面向家用 机器人任务和数据采集的仿真系
统
(57)摘要
一种面向家用 机器人任务和数据采集的仿
真系统, 包 括: 数据采 集模块、 U nity模块、 Python
模块、 通信模块、 VR模块和资源文件模块。 本发明
能够支持多种物 体属性、 面向家用型机器人任务
的可交互 式仿真系统, 同时该系统可以支持用于
深度学习训练的数据获取, 从而降低数据标注的
成本。
权利要求书3页 说明书4页 附图3页
CN 115122328 A
2022.09.30
CN 115122328 A
1.一种基于Unity3D的面向家用机器人任务和数据采集的仿真系统, 其特征在于, 包
括: 数据采集模块、 Unity模块、 Python模块、 通信模块、 VR模块和资源文件模块, 其中: 数据
采集模块采用相机 以及激光测距获取点云, 并通过在不同图像帧之间使用关键点匹配算
法, 将不同视角下 的点云进行配准, 从而将现实物体转换为模型文件并输出至资源文件模
块; Python模块调用资源文件模块中的模型文件, 同时从资源文件模块的数据库中获取该
模型文件对应的编号和物体属性等资源信息数据, 并通过通信模块输出至Unity模块;
Unity模块根据相机和模 型文件的位置参数, 采用Unity3D软件的实时渲染技术在三维场景
中渲染出模型文件; VR模块与Unity模块相连, 将VR模块的手部模型信息实时反馈至Unity
模块, 并采用Unity3D软件的实时渲染技术将VR模块中的手部模 型实时反映在三维场景中,
并可与场景中的物体发生交互; 同时Unity模块将对不同类型的模型文件使用物理引擎进
行仿真, 并将场景信息通过通信模块输出至Python模块; Python模块将接收到的结果输入
强化学习算法, 得到控制机器人的数据指 令, 并通过通信模块输出至Unity模块对机器人进
行控制, 从而 进行交互;
所述的资源信息数据包括: 资源文件的哈希编码、 模型的位置、 模型的姿态、 模型的属
性、 模型在场景中的主从关系;
所述的物理引擎包括: PhysX、 Flex和Obi, 其中: PhysX用于刚体和关节体的仿真, Flex
用于流体的仿真, Obi用于布料和软体的仿真;
所述的场景信息包括: 场景中各个物体的编码、 语义分类、 位置、 姿态、 速度、 质量、 质心
位置、 各个质点的位置、 三维检测框、 当前视角下的相机参数、 RGB图像、 深度图像、 法线图
像、 实例分割掩码、 光 流图像;
所述的数据指令包括: 指令名称、 作用物体编号以及指令参数, 其中指令名称为预定义
的名称, 如施力、 平 移、 旋转等; 指令参数为该指令执 行时所需参数, 与指令名称一 一对应。
2.根据权利 要求1所述的基于Unity3D的面向家用机器人任务和数据采集的仿真系统,
其特征是, 所述的通信模块包括: 序列化单元、 反序列化单元、 gRPC传输单元、 Unity管理单
元以及Python管 理单元, 其中: 序列化单元将按照序列化协议将原始数据进 行序列化, 从而
得到序列化字节流; 序列化单元将序列化后的字节流输出至gRPC传输单元; gRPC传输单元
采用gRPC技术将该字节流输出至Unity管理单元或Python管理单元; Unity管理单元或
Python管理单元接收到字节流后, 将该序列化字节流输出至反序列化单元, 并等待反序列
化单元恢复该数据; 反序列化单元将序列化字节流按照反序列化协议进行反序列化, 从而
恢复原始数据; 反序列化后的原始数据将返回给Unity管 理单元或Python管 理单元, 进而返
回给Unity模块或Pytho n模块, 最终完成一次通信任务;
所述的序列化协议为: 协议单元首先对未序列化的数据进行遍历, 获取到数据中每一
个数据单体的数据类型, 并将数据类型按顺序写入字符串, 并将该字符串字节化作为该序
列化数据的帧头, 剩余的数据则依次字节化并写入帧头之后;
所述的反序列化协议为: 协议单元首先获取序列化数据帧头, 将帧头字节翻译为字符
串并获取该序列化数据中每一个数据单体的数据类型, 而后根据数据类型依次决定读取序
列化数据中的多少字节并将其翻译为相应 类型的数据, 进 而实现数据的反序列化。
3.根据权利 要求1所述的基于Unity3D的面向家用机器人任务和数据采集的仿真系统,
其特征是, 所述的VR模块包括: VR设备以及VR程序, 其中: VR设备包括利用重力传感器获取权 利 要 求 书 1/3 页
2
CN 115122328 A
2用户在VR场景中的位姿并为用户显示当前视角下的场景图片的VR 眼镜和利用磁传感器捕
捉用户的手部姿态变化的VR手套, 该VR设备获取到的用户位姿和首部姿态将实时反馈给VR
程序; VR程序则将上述数据进行滤波和平滑处理, 通过Unity3D的串口功能, 将处理后的数
据输出至Unity模块, 同时VR程序将等待Unity模块回传仿真结果在当前用户位姿下的截
图, 并将该截图输出到VR眼镜中, 以供用户观看。
4.根据权利 要求1所述的基于Unity3D的面向家用机器人任务和数据采集的仿真系统,
其特征是, 所述的数据采集模块包括: 扫描仪、 扫描台和标注软件, 其中扫描仪为手持3D扫
描仪, 扫描台为普通转台, 上贴有一定数量的追踪点, 便于扫描仪对本帧图像与上一帧图像
做匹配, 用户借助标注软件填入物体的语义分类、 质量、 质心位置、 属性。
5.根据权利 要求1所述的基于Unity3D的面向家用机器人任务和数据采集的仿真系统,
其特征是, 所述的Unity模块包括: 数据队列单元和仿 真程序单元, 其中: 数据队列单元负责
接收通信模块传来的数据并将其存入队列, 仿 真程序单元从数据队列单元获取当前机械臂
各个关节的目标转角位置, 并将该结果作用于仿真环境中的机械臂, 用于仿真机械臂运动
后场景中各个物体的状态, 再将场景信息发送给通信模块; 仿真程序单元另外接收VR模块
通过串口发来的信息并仿真, 且相应仿真结果将返回给VR模块。
6.根据权利 要求1所述的基于Unity3D的面向家用机器人任务和数据采集的仿真系统,
其特征是, 所述的Python模块包括: 数据队列单元和数据处理单元, 其中: 数据队列单元负
责接收通信模块传来的数据并将其存入队列, 数据处理单元从数据队列单元中获取当前仿
真的结果, 使用强化学习算法进 行预测, 得到机械臂各个关节的目标转角位置, 并将该结果
发送给通信模块。
7.根据权利 要求1所述的基于Unity3D的面向家用机器人任务和数据采集的仿真系统,
其特征是, 所述的资源文件模块内存储有模 型文件, 模 型文件支持的类型包括OBJ、 FBX、 DAE
以及STL, 该资源文件模块包括: 模 型文件以及 模型数据库, 其中: 模型文件为包含所有已扫
描物体的模型的Unity3D支持的AssetBun dle文件, 以确保Unity模块运行时被动态加载进
场景中, 模型数据库是以模 型文件的哈希编码为主键的SQL数据库, 数据库 记录了每个模型
的语义类型、 质量、 质心位置、 属性。
8.一种基于权利要求1~7中任一所述基于Unity3D的面向家用机器人任务和数据采集
的仿真系统的仿真方法, 包括以下步骤:
步骤1、 用户将待机器人抓取的物块放置在扫描台上, 并打开扫描仪进行扫描, 扫描仪
打开后, 系统将自动弹出标注软件; 扫描 过程中用户需要将转台缓慢转动一圈, 转动时间不
得小于1分钟; 扫描完成后, 该物块的3D模型即出现在标注软件中, 用户需要为其标注语义
分类、 名称以及质量; 标注完成后, 该模型自动添加到资源文件 模块中;
步骤2、 用户通过运行Python模块的指令, 即可调出Unity模块界面; 在界面中, 用户选
择添加Franka机械臂到场景中的任意位置, 并添加刚刚扫描得到的物块到场景中, 从而搭
建基本环境;
步骤3、 用户选择是否使用VR模块介入机械臂进行控制; 当选择使用VR模块, 则用户需
要穿戴VR设备, VR眼镜中即可呈现当前场景, 用户通过改变右手的位置和姿态以及五指 张
合, 控制Fran ka机械臂末端夹爪抓取物块, 直至物块被成功抓 起;
步骤4、 用户不选择使用V R模块, 则进入强化学习阶段; 用户在Unity模块界面 内输入强权 利 要 求 书 2/3 页
3
CN 115122328 A
3
专利 面向家用机器人任务和数据采集的仿真系统
文档预览
中文文档
11 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 16:14:37上传分享