内容简介

ICS 25.040.30 J 28
......
中华人民共和国国家标准
GB/T 33267—2016
机器人仿真开发环境接口
The interface of robot simulation environment
2017-07-01实施
2016-12-13 发布
中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会
发布
GB/T 33267—2016
目 次
前言 1 范围 2 术语和定义
II
缩略语机器人仿真开发环境
3
4
5仿真环境开发接口
5.1 模型构造接口 5.1.1 目的 5.1.2 模型构造方式 5.1.3 仿真对象模型描述格式 5.1.4 模型描述格式一般要求 5.2控制算法接口 5.2.1 目的 5.2.2 参数的传递 5.2.3 控制算法的调用半实物仿真接口
.
●.
中# ...............
6
6.1 概述 6.2 硬件在回路仿真接口 6.2.1仿真原理 6.2.2 接口技术组成 6.3快速控制原型仿真接口 6.3.1 仿真原理 6.3.2 接口技术组成人机交互接口 7.1 概述 7.2 三维场景 7.3 场景编辑窗口 7.4 菜单栏 7.5 工具栏 7.6 状态栏 7.7 仿真播放器附录A(资料性附录) 仿真对象模型描述文件
....
7
GB/T 33267—2016
前言
本标准按照GB/T1.1一2009给出的规则起草本标准由中国机械工业联合会提出。 本标准由全国自动化系统与集成标准化技术委员会(SAC/TC 159)归口。 本标准起草单位:东北大学、南开大学、北京机械工业自动化研究所、北京航空航天大学。 本标准主要起草人:佟国峰、杨书评、魏洪兴、梁东艺、刘训乾、刘景泰、王鸿鹏、孙雷。
Ⅲ
GB/T 33267—2016
机器人仿真开发环境接口
1范围
本标准规定了机器人仿真开发环境中的仿真环境开发接口、半实物仿真接口和仿真环境人机交互接口,以及仿真环境接口的分类和具体要求。
本标准适用于机器人软硬件开发者。
2 术语和定义
下列术语和定义适用于本文件。
2.1
机器人仿真开发环境 robot simulation development environment; RSDE 为机器人设计者提供用于图形化界面下进行机器人开发的软件平台,建立与实际机器人性能一致
的仿真机器人,使机器人的开发不依赖实际机器人实现离线编程,以提高机器人开发效率,便于机器人实时仿真的可视化。
注:包括统一的编程环境、统一的编译执行环境、可重用的组件库、完备的调试/仿真环境、对多种机器人硬件设备
的“驱动”程序支持及通用的常用功能控制组件,例如计算机视觉技术、导航技术和机械手臂控制等。
2.2
用户user 机器人仿真开发环境的使用者。
2.3
物理引擎 Fphysics engine 通过为仿真对象赋予真实的物理属性的方式来计算运动、旋转和碰撞反映的技术,使实体的运动符
合机器人动力学约束。 2.4
染引擎 rendering engine 能够赋予仿真对象真实的仿真环境,并高效地显示清晰画面的可视化技术。
2.5
仿真接simulation interface 机器人仿真开发环境与外部模块进行通信和数据交互的通道。
2.6
仿真实体simulation entity 用来构建仿真场景中仿真对象的一些基本元素。 注:如正方体、胶囊体和球体。
2.7
仿真时间 simulation time 仿真运行的时间。
2.8
共享对象 shared objects/shared libraries 能被可执行文件和其他二进制文件共享的二进制文件,在程序加载或执行过程中被加载到内存中。
1
GB/T 33267-2016
3缩略语
下列缩略语适用于本文件。 API:应用编程接口(Application Programming Interface) ROS:机器人操作系统(Robot Operation System) URDF:统-一机器人描述格式(Unified Robot Description Format) XML:可扩展标记语言(Extensible Markup Language)
4机器人仿真开发环境
机器人仿真开发环境包括功能模块和应用接口模块。功能模块包括为仿真提供核心功能的物理运算模块(主要由物理引擎实现)和图形煊染模块(主要由染引擎实现),以及一些基本的辅助功能模块(模型编辑、结果输出、信息记录等)。应用接口模块根据使用者的不同主要分为以下三种接口:仿真环境开发接口、半实物仿真接口、人机交互接口。
机器人仿真开发环境总体结构如图1所示。
功能模块
核心功能模块物理规律仿真
图形谊染
模型构造接口
控制算法接口
0000
快速控制原型接口
硬件在回路仿真接口
MC
图1机器人仿真开发环境总体结构图
5仿真环境开发接口
5.1模型构造接口 5.1.1目的
为了机器人仿真开发环境的通用性,通过统一模型描述文件,合理地构造仿真模型、机器人的物理模型和各种不同的传感器模型,消除模型对仿真产生的兼容性影响。
2
GB/T 33267-2016
5.1.2模型构造方式
模型构造包括合理的构建机器人工作的环境模型、机器人的物理模型以及各种传感器模型。模型的构造通常有两种方式:一种是利用机器人仿真开发环境提供的机构构件库以及其他的资源库构建;种是将已经设计好的模型文件直接导人机器人仿真开发环境。由于目前存在多种模型描述文件,所以机器人仿真开发环境应该支持常用的多种模型描述文件的导入。提取仿真所需要的各类模型数据。 5.1.3仿真对象模型描述格式
机器人仿真开发环境应该采用统一的仿真对象描述格式,仿真对象描述格式采用XML文件描述格式或 ROS中的 URDF对象描述格式。 5.1.4模型描述格式一般要求
机器人仿真开发环境采用仿真对象描述格式来描述仿真对象,仿真对象描述文件封装了所有必要的对机器人进行仿真的信息,这些信息必须具有能够描述仿真对象(工业机器人、服务机器人及人形机器人)的基本参数信息,如重力、质量、时间步长、碰撞信息、连杆信息、全局坐标及位姿等信息。另外在特定的机器人仿真开发环境下(如水下机器人仿真开发环境)可以有特有的扩展参数。
例如,采用 XML模型的文件结构描述如下:
<!-机器人名字-> <!--仿真实体名字--> <!--仿真实体位姿-->
Plx Ply Plz Rlx R1y R1z Rotl
<!-仿真实体几何形状->
P2x P2y P2z R2x R2y R2z Rot2 <!-不同几何体几何描述不一样,长方体如下:->
Ex Ey Ez <!-如果仿真环境具有物理引擎,则有重力、质量、摩擦力、碰撞等物理信息-->
--.
<!--物理引擎中重力--) <!一仿真实体质量--> <!--仿真实体表面摩擦--> <!碰撞检测-->
True/False (Mass>
<!关节信息-)
<!-关节类型与名字--> <!--链接的仿真实体->
namel name2< /Body> P3x P3y P3z min max R3x R3y R3z
<!-关节的位置--> <!-关节限值-> <!关节旋转轴-->
注:仿真对象模型描述文件参考附录 A。
Y
GB/T 33267-2016
5.2控制算法接口 5.2.1目的
为了缩短新算法的设计时间、提高算法的稳定性和鲁棒性、保证各算法不互相干扰,控制算法接口需提供适合不同算法设计和实现所需要的基本模型结构、标准的算法和通用的编程语言接口。 5.2.2参数的传递
机器人仿真开发环境需提供机器人接口类或结构体,控制算法读取和修改仿真环境中的类对象或结构体参数,并向仿真环境返回参数值,从而控制机器人运动。机器人的参数主要有机器人的关节、机器人关节旋转的角度、机器人关节旋转的速度、机器人关节旋转的加速度、机器人某一部位的位置、机器人的代号等。
当外部控制算法的接口参数与仿真环境的算法接口参数不一致时:一一通过中间件去转换二者的接口参数,使其一致。
当仿真环境需要大量重复的调用多种控制算法时,通过大量中间件实现控制算法是不可行的。 因此,可以通过给各个共享对象编写一个接口相同的参数初始化函数,算法运行前调用该函数来设定参数。
一
不管是采用中间件还是编写参数初始化函数都是不方便的,因此仿真环境和外部控制环境的参数最好采用统一的接口标准。 5.2.3控制算法的调用
规定控制算法与机器人仿真开发环境之间传递的数据包的格式以及控制算法的编程语言。仿真环境调用控制算法主要可以通过调用并解析控制算法的共享对象文件或解释脚本文件的方法进行控制算法仿真。
调用共享对象或脚本文件实现控制算法与仿真环境的互通的方式和要求:
仿真环境可以在其菜单中加人增、删共享对象或脚本文件命令,用户只需输人共享对象或脚本文件的名字和路径即可方便地添加、删除算法共享对象或脚本文件;仿真环境加载共享对象或脚本文件完成后的运行过程中,解析共享对象或解释脚本文件,不断地循环调用控制算法函数,获得控制值,完成仿真环境中机器人的一系列仿真行为。
6 半实物仿真接口
6.1概述
具有实物接口的机器人仿真开发环境可以将通过仿真获得的参数或者经过验证的算法方便地转人实物系统中进行进一步验证。而且具有一组标准接口的机器人仿真开发环境将增加其通用性,可以应用于不同结构的实物系统。通过连接实物系统的仿真,可以真实地反映出实物控制器的动态特性、静态特性和非线性因素等。 6.2硬件在回路仿真接口 6.2.1仿真原理
硬件在回路仿真是实物示教盒控制器和虚拟仿真对象组成的一种半实物仿真。硬件在回路仿真规
4
GB/T 33267-2016
定实物控制器与机器人仿真开发环境之间的数据传递格式。机器人仿真开发环境将传感器状态数据以及控制变量返回给实物控制器,实物控制器根据返回的数据,改变控制变量的大小。这种仿真试验将仿真对象的动态特性通过建立数学模型、编程,在计算机上运行。此外要求有相应的各种模拟传感器等的物理效应设备。由于在回路中接人了实物,硬件在回路仿真系统要求必须实时运行。 6.2.2接口技术组成
硬件在回路仿真试验中,相关接口技术如下:
模拟量的输人(AI和输出(AO),用于设备状态模拟量的采集和物理设备驱动,如电机驱动、 模拟信号的采集和转换; -数字量的输人(DI)和输出(DO),用于设备间数字通信和计算机之间的数字信号传递,如开关信号、电平信号;仿真实时数据通信,用于组成基于复杂协议的仿真闭环数据流,大多采用专用设备(如光网络)或者通用设备(如以太网)等。
6.3快速控制原型仿真接口 6.3.1仿真原理
快速控制原型仿真是虚拟控制器和实际对象组成的一种半实物仿真。快速控制原型仿真通过实时测试,在设计初期发现存在的问题,并修改原型或参数,再进行实时测试,这样反复进行,最终产生一个完全面向用户需求的合理可行的控制原型。 6.3.2接口技术组成
快速控制原型仿真试验中,相关接口技术如下:
提供丰富的 I/O接口支持;提供完善的 API接口函数,可以使用Labview、Simulink 等虚拟现实工具开发上层应用程序,
与运行的模型实现实时交互;能支持众多的工业级标准卡,能与其他用户制定的接口卡或数据总线卡集成;
—与 TCP/IP 等协议进行通信。
7人机交互接口
7.1概述
机器人仿真开发环境中的人机交互接口主要功能是使用户能够很友好地与机器人仿真开发环境进行信息交互。人机交互接口通过现有的图形用户接口技术,语音技术等可以有效地增强系统的人机交互能力,形象地展示机器人模块化机构构件库,方便快速搭建机器人原型系统,提高系统的工作效率,可以将抽象的问题直观地展示在用户面前。基于图形用户接口技术的可视化机器人仿真开发环境,算法编辑工具将得到简化,方便机器人模块化开发的总体进程。机器人仿真开发环境中提供的人机交互接口主要以用户图形界面的形式表现出来。
机器人仿真开发环境图形用户界面是基于图形方式的人机界面,用于对仿真效果进行展示,并且用户可以通过以下几个部分对仿真环境进行控制。
仿真开发环境图形用户界面见图2,应包括以下几个基本部分:三维场景,场景编辑窗口,菜单栏,工具栏,状态栏以及仿真播放器。
5