三维可视化动态仿真环境

三维可视化动态仿真环境

三维可视化动态仿真平台RiDE是国家863项目二期成果,RiDE主要面向于工业机器人、服务机器人及教育娱乐机器人的仿真,主要功能有机器人建模、离线仿真、半实物仿真、工业机器人流水作业生产线仿真等。RiDE的适用范围是:

  • 机器人生产厂商,RiDE可以被用来快速的开发新型机器人原型,RiDE提供了三种基本的实体模型可以用来组建各种不同的机器人模型。
  •  机器人用户利用RiDE来搭建工业机器人流水作业生产线,并验证生产线机器人布局的合理性,改进控制策略,降低了试验成本并且提到了生产线效率。

RiDE三维可视化动态仿真平台具有以下优点:

  • 模块化设计:采用模块化设计,每个模块可以实现自己独有的功能,系统不依赖与具体的运行环境,在环境和功能发生变化后,可以通过修改和重组,不影响系统的功能和总体面貌,保持整体的稳定性,且有利于扩展、重用,从而提高工作效率改进工作质量。
  • 具有仿真度的物理引擎:物理引擎赋予物体真实的物理属性使其运动、旋转和碰撞符合现实客观世界的规律。采用高仿真度物理引擎技术,能够对基本物理关系、运动学以及动力学等进行参数化仿真,同时对机器人运动状态以及运动中可能发生的碰撞进行仿真,增强了仿真环境的真实感。
  • 强大的渲染引擎:为用户提供强大的渲染引擎服务,逼真的仿真环境效果,使导入的模型更加贴近实物,具有很高的仿真度。
  • 开放式控制平台:不同于其他平台对于机器人硬件的封闭性,该系统可广泛应用于不同种类的机器人仿真,用户可以自行设计机器人的各种结构(轮式结构,电机结构等),它同时提供了各种开发接口,可以在离线的情况下为机器人开发控制算法,该环境为机器人的开发提供了统一便捷的途径。
RiDE功能介绍

RiDE三维可视化动态仿真环境完全采用模块化设计,具有可扩展的外部接口,内部又分为各个功能模块包括多语言接口、碰撞检测模块、路径规划模块、高保真传感器模块和可视化建模模块。

  • 多语言接口

RiDE具有多语言编程接口,主要包括Urbi统一建模语言、Matlab、Java、C/C++、Python,用户可以自由选择用哪种语言来编程,还以用多种语言混合编程。RiDE可以兼容ROS机器人操作系统,可以利用ROS的接口roscpp、rospy来调用的ROS 中的资源如OpenCV、PCL点云库、SLAM等。

  • 碰撞检测

碰撞检测的作用是使互相接触的物体不会互相穿透造成仿真失真,RiDE三维可视化动态仿真环境采用高仿真度的物理引擎,采用AABB包围盒等碰撞检测算法实现了仿真对象之间的碰撞检测功能,很好的提高了仿真效果的逼真性,碰撞检测的示意如下。

  • 路径规划

路径规划是指,在具有障碍物的环境中,按照一定的评价标准,寻找一条从初始状态到目标的无碰撞路径。RiDE内部已经集成了一些基本的移动机器人路径规划算法,除此之外,用户还可以在已有算法基础上开发新的算法,图5是对TurtleBot路径规划的仿真。

  • 高保真视觉传感器

视觉传感器(摄像头)是机器人最重要的外部传感器,RiDE通过内建的图像处理模块(包括预处理、过滤等)来达到对视觉传感器的高保真仿真,并且用户还可以通过RiDE提供的插件来自主定制图像处理功能。

  • 便捷的CAD数据导入

RiDE可以根据机器人对象的D-H参数来方便的构造机器人模型,另外,RiDE的物理引擎提供给用户三种基本的物理实体模型(正方体、球体、胶囊体)来搭建任意仿真对象;用户可将CAD模型转化为obj格式文件导入到仿真环境中,进而增加仿真对象的可视化效果。

RiDE对工业机器人的建模及仿真

RiDE可以根据机器人的D-H参数或机器人的3D模型来进行仿真对象建模,RiDE提供了三维可视化操作,基于三种基本的实体模型可以快速的搭建出机器人原型,并且还可以导入3DMax制作的渲染文件,增强机器人模型的逼真感。RiDE对工业六自由度机器人的建模仿真下图所示。

RiDE对工业流水线的仿真

RiDE可根据常见的工业机器人模型组建机器人流水作业生产线,并可对生产线辅助设备进行建模,然后载入相应的控制算法便可完成机器人作业的生产线仿真。下图示是对焊接机器人和搬运机器人进行工件焊接的流水线仿真。