开源Tacchi 视触觉传感器仿真器,为机器人与物体接触仿真提供高质量的Sim2Real性能!

server/2024/11/27 4:50:35/

Tacchi是一个基于Taichi编程语言开发的低计算成本弹性体形变仿真器,由方斌教授团队开发并已开源,为机器人与物体接触仿真提供高质量的Sim2Real性能!该仿真器以较低的计算资源消耗来模拟弹性体的物理形变,并生成与真实触觉图像相似的仿真图像。Tacchi通过粒子系统实现表面形变模拟,能够生成带有表面纹理的触觉图像。
在这里插入图片描述

1、功能特点低计算成本:相较于传统的有限元方法(FEM),Tacchi使用了材料点法(MPM),使计算量显著降低。高质量的触觉图像生成:通过粒子表面形变和光照模型,生成带有表面纹理的触觉图像,提高了Sim2Real精度。与机器人仿真器的集成:支持与Gazebo和MuJoCo等机器人仿真器连接,使得触觉传感器可以与机器人系统的其他组件协调工作。2、安装步骤安装Taichi:确保安装了Taichi编程环境,运行以下命令完成安装:pip install
taichi下载Tacchi代码:从GitHub仓库下载Tacchi项目:https://github.com/zixichen007115/Tacchi.git检查GPU支持:建议使用支持CUDA的GPU来加速仿真。3、核心概念Tacchi的仿真基于材料点方法(MPM),以粒子系统模拟弹性体的形变。Tacchi使用以下几个模块:弹性体仿真:通过粒子表示弹性体,将粒子状态(位置、速度等)传递到网格节点以模拟物理交互。触觉图像生成:基于生成的深度图,通过光照渲染生成带有真实感的触觉图像。机器人仿真器集成:支持通过Gazebo或MuJoCo连接,仿真器控制对象的运动,Tacchi获取对象位置和速度生成触觉反馈。4、使用步骤1)初始化设置粒子和网格初始化:将弹性体和接触对象(如压头)初始化为粒子系统,每个粒子表示弹性体的一部分。根据实际需求调整粒子密度和网格密度,保证仿真精度。材料属性配置:设置弹性体的材料属性,例如弹性模量(如1.45×10^5)和泊松比(如0.45),以匹配实际材料特性。 网格设置:Tacchi通过网格节点与粒子系统的交互实现仿真,因此选择合适的网格密度非常重要。通常应保证网格间距大于粒子间距,以避免粒子超出网格。2)弹性体形变模拟Tacchi使用材料点法(MPM)来模拟弹性体的接触形变过程:粒子到网格传递:粒子的位置、速度和质量信息传递给附近的网格节点,形成网格节点的质量和动量。网格节点的物理计算:Tacchi使用物理方程计算弹性体形变,并将作用力分配到每个粒子上。网格到粒子传递:根据计算出的网格状态,粒子更新其运动状态,包括速度和位置。粒子运动更新:Tacchi每个时间步更新粒子的位置,用于生成新的表面形变信息。3)触觉图像生成Tacchi提供了基于表面形变生成触觉图像的功能:深度图生成:使用2D插值方法,将离散粒子的表面形变信息转化为连续的深度图。图像裁剪:根据光学传感器(如Gelsight)的视场限制对深度图进行裁剪,使其与实际传感器图像尺寸匹配。光照渲染:采用Phong光照模型对深度图进行渲染,生成最终的触觉图像,图像中包含表面缺陷和细节纹理。4)与机器人仿真器集成Tacchi支持与Gazebo和MuJoCo等机器人仿真器进行集成,使得触觉传感器仿真可以与机器人运动同步进行。加载模型:在仿真器中加载对象和传感器模型,使其可以与环境交互。实时数据交换:从仿真器中获取传感器和对象的位置、速度信息,并将其传递给Tacchi,生成相应的触觉反馈。设置终止条件:可在仿真器中设定条件(如对象达到指定深度),满足条件后自动结束仿真。5、运行指南1)STL/PLY/PCD格式转换(0_stl2npy)此模块提供了将几何文件转换为Numpy格式的工具,便于加载并用于仿真:STL转PLY:stl2ply.pyPLY转PCD:ply2pcd.pyPCD转Numpy:pcd2npy.py注意:obj_1、obj_10和obj_100子目录包含预先转换的.npy文件,表示不同粒子密度下的几何对象模型。2)Gazebo和MuJoCo连接仿真(1_connection_simulation)该模块包含Gazebo和MuJoCo两种环境下的机器人仿真配置,具体包括触觉传感器和物体的模型、控制脚本和数据采集工具。Gazebo 连接仿真:可以通过修改fdm_printer_description和gelsight_description 文件夹下的模型文件定义机器人或传感器的外观和控制参数。MuJoCo连接仿真:进入1_connection_simulation/MuJoCo目录,运行press.py文件启动触觉仿真。xmls文件夹中包含MuJoCo的模型配置XML文件,通过修改XML文件可配置不同形状的接触物体。3)触觉图像生成(2_Tacchi_image_generation)该模块包含生成触觉图像的代码,基于弹性体表面形变模拟生成深度图和触觉图像。·深度图生成:运行depth_generation.py生成深度图。·触觉图像生成:运行particle_to_depth.py,并使用gel_press.py生成相应的触觉图像数据。4)对齐和对比实验(3_align_and_comparison)此模块用于对齐仿真生成的触觉图像,以便与真实触觉图像进行对比。主要包括两个对齐方式:全局对齐和逐对象对齐,此步骤可以帮助提高 Sim2Real 任务中图像的匹配度。·全局对齐:align_globally.py·逐对象对齐:align_per_object.py5)AA21 数据生成(4_AA21)此模块包含生成AA21数据集的代码,用于为Sim2Real任务提供训练数据。运行后会在指定输出路径生成图像数据。可以通过修改代码中的路径参数更改存储位置。6)Sim2Real 实验与训练(5_Sim2Real)该模块包含Sim2Real数据训练代码,利用ResNet-18模型进行图像识别训练,提高仿真图像的真实感和分类效果。·main.py:执行Sim2Real任务的主程序,使用ResNet-18进行分类训练。·solver.py:定义训练过程的超参数优化和求解方案。训练数据和模型参数可在main.py中配置。训练完成后,可以在指定目录查看生成的模型和日志文件。6、参数设置根据仿真需求,可以对Tacchi的参数进行优化设置:粒子密度:适当的粒子密度可以提升表面模拟精度,但过高的粒子密度会增加计算量。网格密度:网格密度决定了模拟的精确程度,应适当权衡仿真质量和速度。表面粗糙度模拟:通过减少粒子数量或调整粒子分布密度来模拟对象的表面纹理,从而提升Sim2Real性能。
7、应用示例Tacchi 可应用于多种机器人仿真任务,包括:a.机器人抓取仿真:Tacchi能生成带有缺陷的触觉图像,使机器人抓取任务中的物体识别更加接近真实情况。b.传感器标记跟踪:可以模拟光学传感器内的标记,通过粒子来表示标记位置并跟踪其运动。c. 滑动和旋转摩擦:未来可以拓展Tacchi以支持表面摩擦移动,以模拟在滑动和旋转接触下的真实摩擦效果。8、性能评估与FEM相比,Tacchi 在低计算资源情况下即可生成高质量触觉图像。Tacchi仅需1GB的GPU内存即可运行,而FEM通常需要高性能集群。实验结果表明Tacchi能在Sim2Real任务中取得更高精度的触觉图像生成效果,并在图像质量(SSIM、PSNR和MAE)上具有显著优势。


http://www.ppmy.cn/server/145243.html

相关文章

国科大数据挖掘24秋期末考试试题回顾

1. 数据仓库 OLAP操作 2.bin 平滑 归一化计算 3.决策树(Information Gain)/ 朴素贝叶斯算法 4.FPgrowth 5. single Link 6. recommend rating 和这个题差不多 7.忘了 大部分题目可以看往年题目,作业题。

第9章 异常处理器

第九章 异常处理器 9.1 什么是异常处理器 Spring MVC在处理器方法执行过程中出现了异常,可以采用异常处理器进行应对。 一句话概括异常处理器作用:处理器方法执行过程中出现了异常,跳转到对应的视图,在视图上展示友好信息。 S…

Python 网络爬虫操作指南

网络爬虫是自动化获取互联网上信息的一种工具。它广泛应用于数据采集、分析以及实现信息聚合等众多领域。本文将为你提供一个完整的Python网络爬虫操作指南,帮助你从零开始学习并实现简单的网络爬虫。我们将涵盖基本的爬虫概念、Python环境配置、常用库介绍。 上传…

HAProxy面试题及参考答案(精选80道面试题)

目录 什么是 HAProxy? HAProxy 主要有哪些功能? HAProxy 的关键特性有哪些? HAProxy 的主要功能是什么? HAProxy 的作用是什么? 解释 HAProxy 在网络架构中的作用。 HAProxy 与负载均衡器之间的关系是什么? HAProxy 是如何实现负载均衡的? 阐述 HAProxy 的四层…

《硬件架构的艺术》笔记(七):处理字节顺序

介绍 本章主要介绍字节顺序的的基本规则。(感觉偏软件了,不知道为啥那么会放进《硬件架构的艺术》这本书)。 定义 字节顺序定义数据在计算机系统中的存储格式,描述存储器中的MSB和LSB的位置。对于数据始终以32位形式保存在存储器…

光伏电站项目-视频监控、微气象及安全警卫系统

一、项目背景 近年来,我国光伏发电持续快速发展。截止2019年5月装机总容量超过2.043亿千瓦,技术水平不断提升,成本显著降低,开发建设质量和消纳利用明显改善,在部分地区实现了家庭分布式光伏并入电网,为建…

【Mybatis】@Param注解 resultMap手动映射

文章目录 一、映射文件参数二、查询映射2-1 一对一2-2 一对多2-3 总结 一、映射文件参数 Param 注解官方文档解释 1、单个参数&#xff08;对象&#xff09;不使用注解 public int save(User user);<!-- 添加用户 --> <insert id"save" parameterType&quo…

嵌入式硬件设计:从概念到实现的全流程

嵌入式硬件设计是现代电子技术中一个至关重要的领域&#xff0c;涉及从硬件架构设计到硬件调试的各个方面。它为我们日常生活中的各类智能设备、家电、工业控制系统等提供了强大的支持。本文将介绍嵌入式硬件设计的基本流程、关键技术、常用工具以及常见的挑战和解决方案&#…