CN110480683B - 一种机器人应用系统解决方案集成化设计的大型工具软件系统 - Google Patents

一种机器人应用系统解决方案集成化设计的大型工具软件系统 Download PDF

Info

Publication number
CN110480683B
CN110480683B CN201910803474.2A CN201910803474A CN110480683B CN 110480683 B CN110480683 B CN 110480683B CN 201910803474 A CN201910803474 A CN 201910803474A CN 110480683 B CN110480683 B CN 110480683B
Authority
CN
China
Prior art keywords
robot
user
scheme
module
design
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910803474.2A
Other languages
English (en)
Other versions
CN110480683A (zh
Inventor
吴伟国
高力扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201910803474.2A priority Critical patent/CN110480683B/zh
Publication of CN110480683A publication Critical patent/CN110480683A/zh
Application granted granted Critical
Publication of CN110480683B publication Critical patent/CN110480683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/007Means or methods for designing or fabricating manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

一种机器人应用系统解决方案集成化设计的大型工具软件系统,涉及机器人设计软件开发。本发明以用户需求为输入,通过在机器人产品数据库中选择现有产品或直接应用用户自行订制的机器人样机进行组合,经过优化求解得到最优解决方案。所述软件系统包含8个设计功能模块和3个辅助模块,其中设计功能模块完成机器人应用系统的选型、方案组合、评价仿真等具体设计功能,辅助模块负责设计的过程控制以及软件的自我进化等任务。为方便集成化设计的进行,所述软件系统中存储有现有的机器人产品数据库、含有被操作物、传感器、其它辅助设备的工业自动化通用数据库、机器人控制算法库、优化算法库等数据库,用户可直接进行选择,降低了设计人员的技术门槛。

Description

一种机器人应用系统解决方案集成化设计的大型工具软件 系统
技术领域
本发明涉及一种机器人应用系统的设计软件系统,涉及机器人设计软件开发技术。
背景技术
在工业自动化的进程中,机器人产品以及使用机器人取代或协助工人进行作业的应用系统均已越来越常见,按现在的发展趋势,机器人产品势必会不断丰富,并在不远的将来形成类型各异、功能齐全、参数繁多的完整产品系列。届时机器人产品在机械制造等应用领域中将成为类似于伺服电动机、减速机的标准化、系列化的一般组成部分,对于要完成某一具体任务的应用系统,其中的机器人只需根据相应功能进行选型和组态,而不再需要从最基础的机构方案等开始进行“一用一例”的单独设计。
在现行的机器人应用系统设计方面,针对用户提出的具体要求,仍然依靠设计人员进行人工选型和设计,在此人工设计过程中可能会用到以下几类计算机软件进行辅助设计:
(1)商用的大型仿真软件,如使用Ug、ProE等软件进行三维造型辅助设计,使用Adams软件进行运动学和动力学仿真,使用Matlab/Simulink软件进行控制算法的仿真等等。
(2)现有商用软件的开源扩展包,如Matlab软件中的Robot工具箱具有机器人的建模、运动学仿真、轨迹规划、动力学仿真等功能。
(3)自行开发的辅助设计软件,例如公开号为CN108095888A,申请号为201810442827.6的发明专利提供了一种面向工业机器人设计与验证的仿真平台与方法,包含运动学设计、动力学设计、控制系统设计和轨迹规划四个功能模块;Ozakyol等人于2018年发表的学术论文中提供了一种多自由度机器人的运动学和动力学分析软件平台,其中的运动学仿真采用矩阵变换法,动力学仿真采用牛顿欧拉法。
上述三类软件都是对单台机器人进行分析或底层设计(几何造型、运动学建模等)的辅助软件,其输入是用户给出的机器人构形、参数、运动轨迹等,输出是机器人的三维造型、运动的仿真录像或仿真过程中得到的数据曲线,都不是针对多台机器人构成的应用系统,由需求得出解决方案的集成化设计软件。
发明内容
针对现有机器人辅助设计软件中存在的不足,本发明的目的是提供一种机器人应用系统集成化设计用的大型工具软件系统,此软件系统以用户需求为输入,通过在机器人产品数据库中选择现有产品或直接应用用户自行订制的机器人样机进行组合,经过优化求解得到最优解决方案。
本发明为实现上述功能采取的技术方案是:一种机器人应用系统解决方案集成化设计的大型工具软件系统,所述系统包括11个功能模块:机器人产品数据库模块、用户对机器人应用系统的作业需求与技术要求输入模块、机器人的形式化模块、机器人应用系统方案设计的图示化生成模块、机器人应用系统设计方案的综合评价模型自动生成模块、机器人应用系统设计方案综合评价计算资源模块、各方案比较模块、机器人应用系统集成化方案设计结果输出模块、机器人应用系统集成化方案设计工具软件流程控制模块、机器人应用系统集成化方案设计工具软件的设计案例的积累与进化模块、机器人应用系统集成化方案设计的工程实际反馈控制模块;上述各功能模块之间的关系如下:其中机器人产品数据库模块用于存储各类机器人的ID、类型码、技术性能指标这些产品样本中的详细信息;作业需求与技术要求输入模块用于配置机器人作业的环境并定义此环境内的作业任务;机器人的形式化模块的任务是由软件系统或用户配置机器人的机构形式、原动类型的选型参数;机器人应用系统方案设计的图示化生成模块按选型参数生成机器人系统的可行方案集合,并进行图示化显示;之后综合评价计算资源模块引入评价函数,形成可评价的设计方案;由综合评价计算资源模块进行仿真评价,之后由各方案比较模块对比得到最优方案,并由设计结果输出模块进行输出;流程控制模块负责对上述过程进行控制,设计案例的积累与进化模块和工程实际反馈控制模块将根据设计方案具体实施后的反馈评价对设计案例进行存储和修正。
进一步地,所述机器人产品数据库,此数据库中存储可供选择的机器人产品信息,用于后续方案设计中机器人选型和系统方案评价,所述机器人产品数据库将可供选择的机器人产品分为预定义的两大类18种,其中两大类分别是具有固定基座的工业机器人和与之相对的移动机器人,工业机器人大类中包含单自由度线性模组(a)、二自由度平面滑台(b)、三坐标机器人(c)、圆柱坐标机器人(d)、极坐标机器人(e)、SCARA机器人(f)、三自由度码垛机器人(g)、四自由度关节机器人(h)、五自由度关节机器人(i)、六自由度关节机器人(j)、冗余自由度(七自由度及以上)关节机器人(k)、并联机器人(l)共12个种类(括号内的字母是种类代号);移动机器人大类下包含有轨小车机器人(m)、AGV小车机器人(n)、双足机器人(o)、四足机器人(p)、六足机器人(q)、履带式机器人(r)共6种;除上述预定义的18种机器人产品外,所述数据库内还保留了用户自定义的机器人分类,其种类代号从大写字母A开始编号;
在用户向所述数据库内添加新产品时,若所添加的产品可以归类到预定义的18个机器人种类或已使用的用户自定义种类中,则在对应的种类下新建一个产品序号,并对新产品进行数据项的录入,用户输入或文件导入;若所添加的产品不属于现有种类,则需新建一个用户自定义种类,代号从“A”开始顺延,并将所添加的产品作为此种类下的第一个产品进行数据项录入;
进一步地,对于上述分类中的每个机器人产品种类,不同厂商不同系列的机器人产品详细数据会以数据项的形式被存储于数据库中,表1列举了一些所述机器人产品数据库内包含的数据项及其数据格式,应注意的是表1仅是所述机器人产品数据库内数据项的一种可行配置方式举例,并未限制所述机器人产品数据库仅含有或必须含有表1列出的数据项;表1中出现的机器人坐标系是指计算机器人运动时采用的坐标系,z轴竖直向上,对于工业机器人一般指位于机器人根部安装接口中心的坐标系,对于移动机器人一般指位于机器人初始位置的坐标系。
进一步地,所述用户对机器人应用系统的作业需求与技术要求输入模块,在机器人应用系统设计的开始,用户将使用此模块配置机器人所处的环境、设置机器人数量并定义每个机器人的作业任务,上述过程可被分为以下几个步骤:
步骤一、环境初始化,即定义机器人作业的环境,这里机器人作业的环境是指地面、四周墙壁、棚顶和由它们围成的三维空间,对此环境进行定义时有三种方法:
第一种方法是从作业模板库选择一种模板,所述作业模板库是对工业自动化应用中的常见机器人作业进行参数化建模和汇总后,预装在所述软件系统中的一种数据库,其中包含如“分拣”、“搬运”、“码垛”、“喷漆”等机器人作业的环境参数、被操作物参数、机器人选配条件等结构化数据;
第二种方法是根据用户之前保存的设计实例进行环境初始化,在用户选择相应的设计实例后载入其中的环境配置文件;
第三种方法是对环境进行完全的自定义操作,用户使用此种方法时将载入空白的环境模板,初始状态下屏幕上只出现有无限延展的地面和位于其上的基坐标系;
使用上述三种方法对机器人的作业环境进行定义后,需要配置或修改环境的基本参数,所述的基本参数包括:墙壁在基坐标系内位置、棚顶的高度、地面材质(摩擦系数和弹性模量)、重力方向和大小等;上述基本参数确定后,墙壁围成的范围以外的地面会被裁切消去;
步骤二、添加或修改环境中的可选对象,在机器人的作业过程中,除了机器人自身和其所处的环境空间外,还有一些物体会与机器人发生作用,例如被机器人抓取或搬运的被操作物、厂房内的障碍物、除机器人以外的辅助设备等等,这些处于作业环境内并可能参与或影响机器人作业的物体被定义为环境内的可选对象;此步骤中用户将根据需要在所创建的环境内添加上述可选对象物,或对导入的环境内已存在的可选对象进行修改,此过程中用户可以使用预装在所述软件系统内的工业自动化的通用数据库进行可选对象的添加操作,此对象库中保存有工厂环境内的常见对象参数化模型,对于未存入上述数据库内的特殊对象,由用户自行建模,对上述数据库进行丰富;
步骤三、设置或修改机器人数量,此步骤中用户根据总体作业任务的需要确定所需机器人的数量,此数量应是大于0的整数;
步骤四、设置或修改机器人的安装位置和作业任务;对于工业机器人,所述安装位置是指机器人根部机械接口处的机器人坐标系相对于环境基坐标系的位姿;对于移动机器人,安装位置是指初始状态下机器人相对于环境基坐标系的位置和姿态;
作业的设定分为两部分,即作业的描述和作业参数的设定,由于不同作业需要考虑的参数不同,为简化用户设置作业任务的操作复杂度,步骤一中的作业模板库中保存有各种常用作业的描述和参数定义,用户只需根据作业描述选择需要的作业任务,然后按预先定义的参数进行作业任务的量化;
表2中给出几种常见的作业任务及其任务描述和参数定义;
当用户选择了一种作业进行参数设置时,并非必须对所有参数都需要设置具体的值,对于一些参数可以指定取值范围,由所述软件系统在后续仿真中随机生成这些参数的取值,并进行规定范围内的综合评价;还有一些参数在不需要的情况下可以不进行设定,例如当希望被操作物直接从起始位姿被搬运到目标位姿时,可以不设置表2搬运作业的中间路径点序列。
进一步地,应用机器人的形式化模块对用户设定的作业生成形式化的机器人选型条件,所生成的选型条件是机器人产品数据库中对应数据项的符号化判别式,后续将用于设计方案生成时搜索得到符合条件的机器人组合方案;
此形式化模块主要有两种机器人选型条件的生成方式,方式一是由作业类型和作业参数数据自动生成对应的数据项判别式,方式二是由用户自行设定某个或某些数据项的判别条件;对于上述两种方式中的方式一,选型条件的自动生成可以包含以下几条规则:
(1)根据作业类型生成选型条件,由用户选定的作业类型应被包含在数据项“适用作业”中,为将此判别条件写成符号化判别式的形式,定义机器人产品数据库各数据项中存储的数据以Di表示,其中下标i=1,2,…,N表示所述数据库内数据项的序号,N是数据项的总数;按表1的序号排列,数据项“适用作业”存储的字符串数组即可写作D13,用ST表示用户选定的作业类型字符串,由同一机器人完成多种作业时ST为字符串数组,此选型条件可写作:
Figure BDA0002182972160000041
(2)根据被操作物的质量生成选型条件,若被操作物的质量以mo表示,则mo不应超过数据项“负载能力”中存储的值(D9),此条选型条件可表示为:
mo≤D9 (2)
(3)根据机器人的运动范围生成选型条件,机器人作业过程中运动轨迹上的每一个点均应在“工作空间”数据项规定的范围内(D8),上述工作空间范围由存储在集合D8内的不等式约束限定,所述不等式约束可以表示成:
fi(x)≥0,(i=1,2,…,n) (3)
其中fi(·)是存储于D8内工作空间的第i个边界曲面或曲线方程,n是围成工作空间的全部边界曲面或曲线数量,x是机器人末端或机器人自身的位姿矢量;
对于式(3)的约束不等式,机器人运动轨迹上的每个点都应满足,为简化后续的判别过程,形成选型条件时只对轨迹的起始点、目标点和用户指定的中间路径点进行验证;若将所述起始点和目标点的位姿矢量分别表示为xs和xe,将m个中间路径点表示为x1,x2,…,xm,则由机器人运动范围生成的选型条件可表示为:
Figure BDA0002182972160000051
(4)根据机器人作业的运动速度生成选型条件,当用户设定了运动速度v的值时,此选型条件可写作:
v≤D10 (5)
其中D10是“极限速度”数据项中存储的机器人最大运动速度;若未指定具体的运动速度v取值,但只规定了作业从起点至终点的时间T,则根据运动速度生成的算法,此选型条件可写作:
Figure BDA0002182972160000052
式(6)中η表示由运动平均速度估计最大速度的系数,根据工业应用中常见的梯形速度轨迹规划方法的特点,极限情况下最大速度能达到平均速度的2倍,因此应在1<η≤2的范围内选择η的值;
除上述4条选型条件生成的规则外,用户还可根据自身需要在所述软件系统中添加新的规则,所添加的规则应是由作业任务设定得到的对产品数据库中数据项进行约束的形式化、符号化条件式;对于软件系统中预存的选型条件自动生成规则,以及用户添加的规则,在进行选型条件的自动生成时,用户均可根据需要进行激活或者取消,被选中激活的规则将生成相应的选型条件,被取消的规则将被忽略不发挥作用;
对于某次设计,用户从某些特殊要求出发,可直接定义一些特殊的、只在本次设计中发挥作用的选型条件,也即选型条件生成的第二种方式;当机器人的作业环境中含有易爆粉尘或气体时,需要严格禁止电火花的产生,因此可设置“驱动方式”数据项(D5)不含直流有刷电机,若以
Figure BDA0002182972160000054
表示被排除的驱动方式字符串数组,则此选型条件可被写作:
Figure BDA0002182972160000053
无论是使用基于规则的选型条件生成方式一,还是使用用户自定义的选型条件生成方式二,或是使用方式一与方式二的联合,得到的选型条件都可以写成类似式(1)~(7)的符号化判别式;若将应用系统中第i个机器人的第j个判别条件用Cij(i=1,2,…,NR;j=1,2,…,NCi)表示,NR、NCi分别为机器人的总数和第i个机器人的判别式总数,则可定义选型条件集C={Cij|i=1,2,…,NR;j=1,2,…,NCi},作为机器人的形式化模块的输出,选型条件集C对所要设计的机器人系统进行全面地形式化描述。
进一步地,所述机器人应用系统方案设计的图示化生成模块的任务是根据机器人的形式化模块生成的选型条件集C,在机器人的产品数据库中对每个机器人进行自动选型,之后在图形化的界面中给出汇总的选型结果,用户可在此基础上进行选型结果的浏览和修改,最后输出选型完成的方案个体集合;
上述工作过程可分为以下几步:
步骤一、对应用系统中的每个机器人确定符合选型条件C的可选集合Ui(i=1,2,…,NR),初始状态下,Ui中包含机器人产品数据集中的所有机器人产品ID,之后对于j=1,2,…,NCi的每个Cij,使用符号计算的方法,求解出满足Cij条件的机器人产品对应的产品ID集合U,并按以下方法对Ui进行更新,
Ui←Ui∩U (8)
对第i个机器人的全部选型条件完成遍历后即得到了其可选集合Ui
步骤二、由用户对选型结果进行浏览和修改,在此步骤中,所述软件系统将在其图形操作界面内展示各机器人选型的结果,若可选集合Ui内含有的机器人产品数量用ni表示,则按照自由组合的方式,可行的机器人组合方案数量NY应按式(9)计算;
Figure BDA0002182972160000061
用户可在上述NY种可行方案中自由切换查看,每当切换到一种组合方案时,所述软件系统会在各机器人的安装位置处显示对应机器人的3D模型,同时图形界面内还显示有环境的基坐标系、地面、透明的四周墙壁、环境内的可选对象等其它要素,以帮助用户建立对各个组合方案的直观认识,之后用户可对机器人组合方案进行“删除”、“增加”操作;
步骤三、当用户完成修改后,机器人应用系统方案设计的图示化生成模块将会输出包含全部可行组合方案的机器人应用系统方案集合Y,此集合可被写成Y={yk|k=1,2,…,NY}的形式,其中的元素yk是由NR个被选择的机器人ID构成的数组,表示机器人组合方案的个体。
进一步地,所述机器人应用系统设计方案的综合评价模型自动生成模块,对于含有机器人应用系统各可行方案的集合Y中的各方案进行评价后,才能得到用户需要的最优方案,此模块的任务是确定评价函数及后续仿真的条件,将机器人的组合方案变为可评价、可仿真的具体模型,此模块的工作过程可分为以下几步:
步骤一、设置优化的评价函数,所述软件系统中预装有定期更新的评价函数集合,此集合内保存的每个评价函数都有相应的描述、算法说明和具体计算程序,用户可以根据需要进行选择,也可以将用户自定义或自行改进的评价函数存入此集合内方便以后使用;
在此步骤中用户首先选定一种或多种要使用的评价函数,这里以ei(i=1,2,…,NE);之后可以自行选择进行单目标优化还是多目标优化,以评价方式标志IE表示,IE=0表示单目标优化,IE=1表示多目标优化;
根据用户的上述输入,最终保存的评价方式将有4中情况,表3中给出了这4种情况的具体处理方式;
上表中的E表示根据用户输入最终合成的目标函数,可以看到当用户选择单目标优化时E是标量函数,而当多目标优化被选择时E是矢量函数,为了公式的统一我们使用同一个变量表示这两种情况下的最终评价函数;wi(i=1,2,…,NE)是第i个评价函数被合成时的权值系数;
步骤二、选择机器人的控制方法和轨迹规划方法,与评价方法的选择类似,机器人的控制方法和轨迹规划方法也是从软件界面内的一个列表中选择,此列表对应定期更新的控制方法和轨迹规划方法数据库,用户同样对此数据库有修改的权利,选定某种方法后,用户需对所选方法的控制参数或轨迹规划参数进行整定;
对于机器人应用系统中的第i个机器人,若以SCi和pCi分别表示被选定的控制方法和整定后得到的控制参数,以SPi和pPi分别表示被选定的轨迹规划方法和设定的轨迹规划参数,则四元组
Figure BDA0002182972160000071
就完全确定了第i个机器人仿真评价时的运动规划与控制的方法;将此步骤的输出定义为集合
Figure BDA0002182972160000072
Φ表示整个机器人应用系统在后续仿真中的运动规划与控制方法;
步骤三、选择扰动的种类并设置扰动的范围:由于所设计的机器人应用系统在实际作业时,可能受到环境中的不确定量影响,使控制误差不断积累并最终导致作业失败,因此所述软件系统中也需要在仿真中加入能反映上述不确定量的扰动,来最大限度地获得所设计的机器人系统在实际环境中能达到的评价真值;
此步骤中,用户首先浏览包含力扰动、力偶扰动、地面不平整扰动等多种扰动的扰动集合,按照需要可以从中选择一种或多种扰动,所选的扰动类型以SDi表示,其中i=1,2,…,ND,ND为所选的扰动的数量;
之后指定所选扰动的大小范围,对于第i个扰动,此大小范围以上限dmaxi和下限dmini表示;根据具体的扰动类型,dmaxi和dmini可能是矢量或是标量,例如,对于力扰动dmaxi和dmini分别表示由扰动力三个分量的最大值和最小值组成的矢量,对于地面不平整扰动dmaxi和dmini分别表示地面起伏高度的上限和下限;
由于不同的不确定量在实际环境中具有不同的分布规律,用户还需要对每种扰动设定其分布函数,可以从所述软件系统给出的列表中选择,也可以自行定义;
添加力扰动、力偶扰动不确定量的目的是测试系统的鲁棒性,对这类扰动一般需要选择如式(10)所示的均一分布,来对整个范围内的扰动都进行仿真测试;对于被装配件或装配件的尺寸误差扰动,由于相同批次的零件尺寸误差服从高斯分布,因此进行仿真时这种扰动的分布也应选择如式(11)所示的高斯分布;所述软件系统中还可给出重采样误差中常见的柯西分布、连续时域事件对应的指数分布这些概率密度分布函数供用户选择;
Figure BDA0002182972160000081
Figure BDA0002182972160000082
式(10)和式(11)中,p(·)是概率密度函数,di是第i个扰动的值,σ是高斯分布的标准差;若将第i个扰动的分布函数用Sdi表示,将此分布函数中参数的集合用pdi表示,则第i个扰动的全部信息可由五元组ψi=<SDi,dmaxi,dmini,Sdi,pdi>表示,全部扰动的信息可用集合Ψ={ψi|i=1,2,…,Nd}进行表示;
步骤四、确定其它的仿真参数:除了前三个步骤中选定的参数外,还需确定对每个机器人组合方案进行的仿真次数NS、仿真中的时间步长度Δt、仿真计算中保留的数值精度eS等参数,将上述参数合成为参数矢量p,再综合前三个步骤中的内容,可以得到以下机器人组合方案评价的优化模型:
Figure BDA0002182972160000083
进一步地,机器人应用系统设计方案综合评价的计算资源模块将对式(12)所示的优化模型进行求解;求得的单目标优化最优方案或多目标优化最优方案集合将通过结果对比模块进行展示,用户决定是否采用某一方案,或在对所有方案均不满意的情况下可以修改优化模型求解的条件和参数,之后重新进行计算;最后用户认可的最优方案将通过结果输出模块自动输出相关的技术文件,为此方案的实际实施提供参照和指导;
上述三个模块的工作流程可被划分为以下几步:
步骤一、根据优化类型选择优化求解算法并进行优化模型求解计算,若IE=0则在所述软件系统给出的列表中选择单目标优化算法,否则应选择多目标优化算法;
之后需要配置所选算法的参数并进行计算,单目标优化中求解的目的是使标量目标函数E取得极小值的机器人组合方案y*,多目标优化中求解的目的是使矢量目标函数E最小的Pareto最优解集Y*={yi*|i=1,2,…,N*},其中N*是Pareto最优解的数量,yi*应满足以下条件;
Figure BDA0002182972160000084
若最大迭代次数达到后,所选择的优化求解算法仍未达到收敛条件,则需重新选择算法或调整优化求解计算的参数,直到最终得到收敛的优化结果;
步骤二、用户浏览优化结果,并选择是否进行机器人应用系统的设计方案输出,此步骤中,用户首先查看得到的优化结果方案,对于单目标优化是得到的最优组合方案,对于多目标优化是由数个Pareto最优方案组成的解集,用户查看时可在所述软件系统的图形界面中看到各个方案的仿真结果,包括:仿真中机器人系统的运动录像、各虚拟传感器的数据曲线、所选择的评价函数曲线、各方案目标函数的统计结果等动画和数据图片;
用户需要根据上述结果决定是否结束设计过程,若对优化结果中的一个或数个方案满意,则可选择这些满意的方案并进行下一步;若对优化结果中的所有方案都不满意,则可以修改优化模型中的目标函数E、机器人的控制方法和轨迹规划方法Φ、环境扰动Ψ和仿真参数p,之后重新进行优化模型求解;
步骤三、对用户选定的机器人应用系统设计方案进行结果输出,此步骤中用户可从结果输出模块中获得设计方案实施所需的各种技术文件,包括:所选方案中机器人的产品样本、图纸、说明书,机器人应用系统的整体布局3D图或2D图、走线图,整个系统的虚拟样机文件,各机器人的控制程序代码。
进一步地,机器人应用系统设计方案综合评价计算资源模块中,包含有整个机器人应用系统在仿真评价过程中所有需要用到的计算程序,这些计算程序可被分为7大类,即各类机器人机构运动计算程序、各类机器人机构动力学计算程序、非完整约束系统计算程序、最优化计算程序、路径或轨迹规划算法、机器人的控制程序、系统运动的图形仿真程序:
(1)机器人的机构运动计算程序中含有各种串联机构、并联机构、串/并联混合机构的参数化正/逆运动学求解程序,程序的求解算法包含矩阵变换法、数值迭代算法供用户选择;其中包含的机构构型可以是机器人产品中的常见机构,当对某一机器人选型组合方案进行计算时,所述软件系统将根据机器人产品数据库中存储的机器人机构构型自动选择相应的运动学计算程序,并载入相应的机构参数;对于未包含的机构,用户也可自行定义该机构的参数化模型,并载入由用户给出的运动学计算程序;
(2)机器人机构动力学计算程序与运动学计算程序的存储结构相似,也是对多种常用的机器人机构构型和用户自定义构型存储相应的正/逆动力学求解程序,同一机构的程序也提供不同的算法供用户选择,包括拉格朗日法、牛顿欧拉法;进行仿真时,所述软件系统首先根据方案中包含的机器人产品,选择相应的动力学计算程序,然后根据具体的选型结果载入产品的机构参数及物理参数,生成可执行的计算文件;
(3)非完整约束系统计算程序中包含机器人作业环境内各种非完整约束的运动学、动力学计算程序,具体包含两大类,即接触约束和特殊末端执行器引入的非完整约束,其中接触约束是指例如装配件与被装配件之间、移动机器人与地面之间的接触约束,具体包括接触的力学模型、运动方程;特殊末端执行器引入的非完整约束是指特殊的末端执行器与被操作物之间产生的、除接触约束以外的非完整约束,安装在机器人末端的切断刀与被切割物之间、打磨头与被打磨物之间、吸盘与被吸合物之间的非完整约束;
(4)最优化计算程序包括单目标优化程序和多目标优化程序两类,其中单目标优化程序可包含如模拟退火法、粒子群算法等常用的算法程序,多目标优化程序包含多目标优化的遗传算法程序,除此之外也可载入用户自行编写的优化算法程序;
(5)路径或轨迹规划算法程序中包含有移动机器人的路径规划程序和工业机器人的轨迹规划程序两类,程序中使用的规划算法可包含线性插值、圆弧差值、三次样条、五次样条轨迹规划算法;仿真时,对第i个机器人根据用户在
Figure BDA0002182972160000101
中指定的SPi、pPi,选取SPi对应的路径或轨迹规划程序,并载入pPi对应的参数;
(6)机器人的控制程序中包含三类程序,即单台工业机器人的控制程序、单台移动机器人的控制程序、多台机器人的作业控制程序;仿真时,对第i个机器人根据用户在
Figure BDA0002182972160000102
中指定的SCi、pCi,选取SCi对应的控制程序,并载入pCi对应的控制参数;
单台工业机器人的控制程序中包含:轨迹追踪控制程序、力位混合控制程序、自适应控制程序、鲁棒控制程序、最短时间控制程序、柔性机器人控制程序、智能控制程序;轨迹追踪控制程序包括PD反馈、PID反馈、PD+前馈、计算力矩法和加速度分解法算法;力位混合控制包括刚度控制、阻尼控制、阻抗控制和混合控制算法;自适应控制包括自调整控制器和模型参照型自适应控制;鲁棒控制包括基于逆动力学的鲁棒控制和基于被动特性的鲁棒控制算法;智能控制包括神经网络、GA/EP算法、强化学习和深度学习算法;
单台移动机器人的控制程序包含:轮式和履带式机器人的防侧向滑转和防纵向滑移移动控制程序,足腿式机器人的步行、跳跃、跑步控制程序、轮足式机器人移动控制程序、多移动方式的多功能移动机器人控制程序;
多台机器人的作业控制程序包括:用于多机器人共同操作同一物体的协调控制程序、主从操作臂的控制程序、多台机器人顺次或独立作业的过程控制程序;其中主从操作臂的控制程序包括对称型、力反射型和力归还型三种;
(7)系统运动的图形仿真程序中包含环境内各个对象的图形化显示和动画生成程序,具体包含三维实体建模程序、光源渲染程序、动画生成与输出等程序。
进一步地,用于接收和响应用户操作的流程控制模块具有以下功能:
(1)接收用户输入的数据和指令,并保存用户的操作记录;
(2)每个功能页面中含有“上一步”、“下一步”按钮,按用户的操作继续或回退设计流程,当用户选择“上一步”从当前操作回退到上一页面时,自动恢复之前的操作数据;
(3)在软件进行长时间的连续计算时提供中间结果保存、用户中断、从保存的中间结果继续的功能;
(4)具有用户权限管理功能,同一软件系统的不同用户之间具有不同级别的权限,“管理员”权限最高,用户有权访问权限低于自身的用户的设计文件及数据,当需要访问具有相同权限或较高权限用户的设计文件时必须进行申请,得到授权后可进行访问。
进一步地,所述具有用于实现软件进化功能的设计案例的积累与进化模块和工程实际反馈控制模块的功能实现过程为:
所述的软件系统进化功能有两种进化方式,即独立进化和集体进化,下面分别进行说明:
(1)独立进化方式:每当用户完成了一次机器人应用系统的方案设计,设计案例的积累与进化模块都会将此方案进行存储;当所设计的方案完成实施后,用户可使用工程实际反馈控制模块对此方案进行评价,评价时采用分项评价的方式,即用户可根据方案实施过程中的具体问题,对所对应的功能模块进行具体评价,当方案实施后发现某个机器人抵抗扰动的能力较差,则可选择评价模型自动生成模块的环境扰动设定功能进行评价,之后工程实际反馈控制模块将对此功能生成反馈并进行存储;
若用户之后再进行类似的设计,可直接调用设计案例的积累与进化模块存储的案例,并在此基础上进行修改,修改时用户除会看见常规的软件界面外,进行每一步时还会看到之前存储的反馈;
(2)集体进化方式:除每套软件系统中进行的独立进化外,所述软件系统还可依靠由用户群体、云服务器和软件运营方的技术服务人员构成的软件生态进行集体进化,不同单位、地域的用户在完成机器人应用系统的方案设计后,可将能够公开的方案分享上传至云服务器上,供其他用户下载、使用、评价讨论,形成论坛性质的机器人应用系统案例分享平台;
同时所述软件系统的运营商也可组建由专业技术人员组成的服务团队,负责评估用户分享的案例,对最新发表的学术论文和公共版权的技术文件中提出的新方法和算法进行收集,以及汇总各机器人厂商的新型产品;对上述内容进行测评后,将其中可用的、有效的内容形成软件系统各功能的改进,此改进将以更新补丁的形式发布到云服务器上,供所有用户下载使用。
本发明具有以下有益效果:
本发明所述软件系统包含8个设计功能模块和3个辅助模块,其中设计功能模块完成机器人应用系统的选型、方案组合、评价仿真等具体设计功能,辅助模块负责设计的过程控制以及软件的自我进化等任务。为方便集成化设计的进行,所述软件系统中存储有现有的机器人产品数据库、含有被操作物、传感器、其它辅助设备的工业自动化通用数据库、机器人控制算法库、优化算法库等数据库,用户可直接进行选择,降低了设计人员的技术门槛。本发明所提出的软件系统是机器人应用系统设计的综合软件,以用户需求为输入,通过机器人选型方案的组合与评价,能直接输出优化求解得到最优解决方案。本发明的软件系统不但包含了多台机器人的分析和底层设计等常规功能,还包含有不断更新的轨迹规划、机器人控制等算法库,从而能对机器人作业进行全面模拟,实现对多台机器人构成的应用系统进行面向作业任务的集成化设计。机器人应用系统方案的集成化设计过程由所述软件系统中流程控制模块进行控制,能够方便地实现设计过程的模板导入、数据保存、结果输出等功能。设计案例的积累与进化模块和工程实际反馈控制模块将根据设计方案具体实施后的反馈评价对设计案例进行存储和修正,从而实现本发明所述的软件系统的自我进化,使软件功能不断增强。
附图说明
图1是机器人应用系统集成方案设计工具软件的概念设计与总体构成图;图2是机器人应用系统集成方案设计工具软件的图示化设计过程示意图;图3是所述软件系统内嵌入的机器人产品数据库的分类图;图4是用户对机器人应用系统的作业需求与技术要求模块的操作流程框图;图5是机器人选型条件的生成举例框图;图6是机器人应用系统方案设计的图示化生成模块的流程图;图7是机器人应用系统设计方案的综合评价模型自动生成模块的流程图;图8是设计方案综合评价计算资源模块、结果对比模块、结果输出模块的工作流程图;图9是机器人应用系统方案集成化设计软件系统的进化功能示意图。
具体实施方式
结合附图1至9对本发明的实现进行如下阐述:
所述机器人应用系统解决方案集成化设计的大型工具软件系统中共包括11个模块,分别是:机器人数据库模块、用户对机器人应用系统的作业需求与技术要求模块、机器人的形式化模块、机器人应用系统方案设计的图示化生成模块、机器人应用系统设计方案的综合评价模型自动生成模块、机器人应用系统设计方案综合评价计算资源模块、各方案比较模块、机器人应用系统集成化方案设计结果输出模块、机器人应用系统集成化方案设计工具软件流程控制模块、机器人应用系统集成化方案设计工具软件的设计案例的积累与进化模块、机器人应用系统集成化方案设计的工程实际反馈控制模块。
上述各功能模块之间的关系如图1所示,其中机器人数据库模块用于存储各类机器人的ID、类型码、技术性能指标等产品样本中的详细信息;作业需求与技术要求输入模块用于配置机器人机器人作业的环境并定义此环境内的作业任务;机器人的形式化模块的任务是由软件系统或用户配置机器人的机构形式、原动类型等选型参数;机器人应用系统方案设计的图示化生成模块按选型参数生成机器人系统的可行方案集合,并进行图示化显示;之后综合评价计算资源模块引入评价函数,形成可评价的设计方案;由综合评价计算资源模块进行仿真评价,之后由各方案比较模块对比得到最优方案,并由设计结果输出模块进行输出。流程控制模块负责对上述过程进行控制,设计案例的积累与进化模块和工程实际反馈控制模块将根据设计方案具体实施后的反馈评价对设计案例进行存储和修正。
在公开上述软件系统各个功能模块的具体实现方法前,这里首先以图2对此应用软件系统进行设计的过程举例说明。
按图2所示的设计过程,在设计的开始,由用户使用软件中的图形化设计界面设定机器人的作业环境,在此环境中添设生产线、传感器等工厂环境内的常见对象或其它自定义对象,之后设置上述环境中机器人的数量(对于工业机器人需指定其安装位置,对于移动机器人不用指定安装位置),并添加机器人的作业对象和相应的作业。
环境及作业设置完成后,所述软件系统将对机器人的产品数据库进行自动检索,得到所有可行的机器人选型组合方案。
最后,所述软件系统会对得到的组合方案进行优化计算,得出最优的方案或方案集合,供用户选择、使用。
下面将对上述设计过程中涉及的功能模块和软件系统中的其它模块进行说明,公开其具体的实现方法。
1.机器人数据库模块
机器人数据库中存储可供选择的机器人产品信息,用于后续方案设计中机器人选型和系统方案评价的相关模块。如图3所示,所述机器人产品数据库将可供选择的机器人产品分为预定义的两大类18种,其中两大类分别是具有固定基座的工业机器人和与之相对的移动机器人,工业机器人大类中包含单自由度线性模组(a)、二自由度平面滑台(b)、三坐标机器人(c)、圆柱坐标机器人(d)、极坐标机器人(e)、SCARA机器人(f)、三自由度码垛机器人(g)、四自由度关节机器人(h)、五自由度关节机器人(i)、六自由度关节机器人(j)、冗余自由度(七自由度及以上)关节机器人(k)、并联机器人(l)共12个种类(括号内的字母是种类代号);移动机器人大类下包含有轨小车机器人(m)、AGV小车机器人(n)、双足机器人(o)、四足机器人(p)、六足机器人(q)、履带式机器人(r)共6种。除上述预定义的18种机器人产品外,所述数据库内还保留了用户自定义的机器人分类,其种类代号从大写字母A开始编号。
对于上述分类中的每个机器人产品种类,不同厂商不同系列的机器人产品详细数据会以数据项的形式被存储于数据库中,表1列举了一些所述机器人产品数据库内包含的数据项及其数据格式,应注意的是表1仅是所述机器人产品数据库内数据项的一种可行配置方式举例,并未限制所述机器人产品数据库仅含有或必须含有表1列出的数据项。表1中出现的机器人坐标系是指计算机器人运动时采用的坐标系(z轴竖直向上),对于工业机器人一般指位于机器人根部安装接口中心的坐标系,对于移动机器人一般指位于机器人初始位置的坐标系。
在用户向所述数据库内添加新产品时,若所添加的产品可以归类到预定义的18个机器人种类或已使用的用户自定义种类中,则在对应的种类下新建一个产品序号,并对新产品进行数据项的录入(用户输入或文件导入);若所添加的产品不属于现有种类,则需新建一个用户自定义种类(代号从“A”开始顺延),并将所添加的产品作为此种类下的第一个产品进行数据项录入。
表1每种机器人产品在机器人产品数据库中保存的数据项举例
Figure BDA0002182972160000141
2.用户对机器人应用系统的作业需求与技术要求模块
在机器人应用系统设计的开始,用户将使用此模块配置机器人所处的环境、设置机器人数量并定义每个机器人的作业任务,上述过程操作流程图如图4所示。
用户对机器人应用系统的作业需求与技术要求模块的操作被分为以下几个步骤:
步骤一、环境初始化,即定义机器人作业的环境,这里机器人作业的环境是指地面、四周墙壁、棚顶和由它们围成的三维空间。
对此环境进行定义时有三种方法,第一种方法是从作业模板库选择一种模板,所述作业模板库是对工业自动化应用中的常见机器人作业进行参数化建模和汇总后,预装在所述软件系统中的一种数据库,其中包含如“分拣”、“搬运”、“码垛”、“喷漆”等机器人作业的环境参数、被操作物参数、机器人选配条件等结构化数据。
第二种方法是根据用户之前保存的设计实例进行环境初始化,在用户选择相应的设计实例后载入其中的环境配置文件。
第三种方法是对环境进行完全的自定义操作,用户使用此种方法时将载入空白的环境模板,初始状态下屏幕上只出现有无限延展的地面和位于其上的基坐标系。
使用上述三种方法对机器人的作业环境进行定义后,需要配置或修改环境的基本参数,所述的基本参数包括:墙壁在基坐标系内位置、棚顶的高度、地面材质(摩擦系数和弹性模量)、重力方向和大小等。上述基本参数确定后,墙壁围成的范围以外的地面会被裁切消去。
步骤二、添加或修改环境中的可选对象,在机器人的作业过程中,除了机器人自身和其所处的环境空间外,还有一些物体会与机器人发生作用,例如被机器人抓取或搬运的被操作物、厂房内的障碍物、除机器人以外的辅助设备等等,这些处于作业环境内并可能参与或影响机器人作业的物体被定义为环境内的可选对象。此步骤中用户将根据需要在所创建的环境内添加上述可选对象物,或对导入的环境内已存在的可选对象进行修改,此过程中用户可以使用预装在所述软件系统内的工业自动化的通用数据库进行可选对象的添加操作,此数据库中保存有工厂环境内的常见对象参数化模型,对于未存入上述数据库内的特殊对象,也可由用户自行建模,对上述数据库进行丰富。
步骤三、设置或修改机器人数量,此步骤中用户根据总体作业任务的需要确定所需机器人的数量,此数量应是大于0的整数。
步骤四、设置或修改机器人的安装位置和作业任务。对于工业机器人,所述安装位置是指机器人根部机械接口处的机器人坐标系相对于环境基坐标系的位姿;对于移动机器人,安装位置是指初始状态下机器人相对于环境基坐标系的位置和姿态。
作业的设定分为两部分,即作业的描述和作业参数的设定,由于不同作业需要考虑的参数不同,为简化用户设置作业任务的操作复杂度,步骤一中的作业模板库中保存有各种常用作业的描述和参数定义,用户只需根据作业描述选择需要的作业任务,然后按预先定义的参数进行作业任务的量化。表2中给出了几种常见的作业任务及其任务描述和参数定义。
表2工业自动化中常见的作业任务举例
Figure BDA0002182972160000151
Figure BDA0002182972160000161
应注意的,当用户选择了一种作业进行参数设置时,并非必须对所有参数都需要设置具体的值,对于一些参数可以指定取值范围,由所述软件系统在后续仿真中随机生成这些参数的取值,并进行规定范围内的综合评价;还有一些参数在不需要的情况下可以不进行设定,例如当希望被操作物直接从起始位姿被搬运到目标位姿时,可以不设置表2搬运作业的中间路径点序列。
3.机器人的形式化模块
此模块的任务是根据用户设定的作业生成形式化的机器人选型条件,所生成的选型条件是机器人产品数据库中对应数据项的符号化判别式,后续将用于设计方案生成时搜索得到符合条件的机器人组合方案。
此形式化模块主要有两种机器人选型条件的生成方式,方式一是由作业类型和作业参数数据自动生成对应的数据项判别式,方式二是由用户自行设定某个或某些数据项的判别条件。对于上述两种方式,图5中举出了一些机器人选型条件生成的例子,其中选型条件的自动生成可以包含以下几条规则:
(1)根据作业类型生成选型条件,由用户选定的作业类型应被包含在数据项“适用作业”中,为将此判别条件写成符号化判别式的形式,定义机器人产品数据库各数据项中存储的数据以Di表示,其中下标i=1,2,…,N表示所述数据库内数据项的序号,N是数据项的总数,这样数据项“适用作业”存储的字符串数组即可写作D13(按表1的序号排列),用ST表示用户选定的作业类型字符串(由同一机器人完成多种作业时ST为字符串数组),此选型条件可写作:
Figure BDA0002182972160000162
(2)根据被操作物的质量生成选型条件,若被操作物的质量以mo表示,则mo不应超过数据项“负载能力”中存储的值(D9),此条选型条件可以写作:
mo≤D9 (2)
(3)根据机器人的运动范围生成选型条件,机器人作业过程中运动轨迹上的每一个点均应在“工作空间”数据项规定的范围内(D8),上述工作空间范围由存储在集合D8内的不等式约束限定,所述不等式约束可以表示成:
fi(x)≥0,(i=1,2,…,n) (3)
其中fi(·)是存储于D8内工作空间的第i个边界曲面(或曲线)方程,n是围成工作空间的全部边界曲面(或曲线)数量,x是机器人末端或机器人自身的位姿矢量。
对于式(3)的约束不等式,机器人运动轨迹上的每个点都应满足,为简化后续的判别过程,形成选型条件时只对轨迹的起始点、目标点和用户指定的中间路径点进行验证(这些位姿点之间的轨迹由插值算法生成)。若将所述起始点和目标点的位姿矢量分别表示为xs和xe,将m个中间路径点表示为x1,x2,…,xm,则由机器人运动范围生成的选型条件可表示为:
Figure BDA0002182972160000171
(4)根据机器人作业的运动速度生成选型条件,当用户设定了运动速度v的值时,此选型条件可写作:
v≤D10 (5)
其中D10是“极限速度”数据项中存储的机器人最大运动速度。若未指定具体的运动速度v取值,但只规定了作业(从起点至终点)的时间T,则根据运动速度生成的算法,此选型条件可写作:
Figure BDA0002182972160000172
式(6)中η表示由运动平均速度估计最大速度的系数,根据工业应用中常见的梯形速度轨迹规划方法的特点,极限情况下最大速度能达到平均速度的2倍,因此应在1<η≤2的范围内选择η的值。
应注意的是,除了所举出的4条选型条件生成的规则外,用户还可根据自身需要在所述软件系统中添加新的规则,所添加的规则应是由作业任务设定得到的对产品数据库中数据项进行约束的形式化、符号化条件式。对于软件系统中预存的选型条件自动生成规则,以及用户添加的规则,在进行选型条件的自动生成时,用户均可根据需要进行激活或者取消,被选中激活的规则将生成相应的选型条件,被取消的规则将被忽略不发挥作用。
除此之外,对于某次设计,用户从某些特殊要求出发,也可直接定义一些特殊的、只在本次设计中发挥作用的选型条件(被称作自定义选型条件)。例如当机器人的作业环境中含有易爆粉尘或气体时,需要严格禁止电火花的产生,因此可设置“驱动方式”数据项(D5)不含直流有刷电机,若以S~D表示被排除的驱动方式字符串数组,则此选型条件可被写作:
Figure BDA0002182972160000173
可以看出,无论是使用基于规则的选型条件生成方式(方式一),还是使用用户自定义的选型条件生成方式(方式二),或是使用方式一与方式二的联合,得到的选型条件都可以写成类似式(1)~(7)的符号化判别式。若将应用系统中第i个机器人的第j个判别条件用Cij(i=1,2,…,NR;j=1,2,…,NCi)表示,NR、NCi分别为机器人的总数和第i个机器人的判别式总数,则可定义选型条件集C={Cij|i=1,2,…,NR;j=1,2,…,NCi},作为机器人的形式化模块的输出,选型条件集C对所要设计的机器人系统进行了全面地形式化描述。
4.机器人应用系统方案设计的图示化生成模块
如图6所示,此模块的任务是根据机器人的形式化模块生成的选型条件集C,在机器人的产品数据库中对每个机器人进行自动选型,之后在图形化的界面中给出汇总的选型结果,用户可在此基础上进行选型结果的浏览和修改,最后输出选型完成的方案个体集合。
按上述流程图,机器人应用系统方案设计的图示化生成模块的工作过程可分为以下几步:
步骤一、对应用系统中的每个机器人确定符合选型条件C的可选集合Ui(i=1,2,…,NR),初始状态下,Ui中包含机器人产品数据集中的所有机器人产品ID,之后对于j=1,2,…,NCi的每个Cij,使用符号计算的方法,求解出满足Cij条件的机器人产品对应的产品ID集合U,并按以下方法对Ui进行更新。
Ui←Ui∩U (8)
对第i个机器人的全部选型条件完成遍历后即得到了其可选集合Ui
步骤二、由用户对选型结果进行浏览和修改,在此步骤中,所述软件系统将在其图形操作界面内展示各机器人选型的结果,若可选集合Ui内含有的机器人产品数量用ni表示,则按照自由组合的方式,可行的机器人组合方案数量NY应按式(9)计算。
Figure BDA0002182972160000181
用户可以在上述NY种可行方案中自由切换查看,每当切换到一种组合方案时,所述软件系统会在各机器人的安装位置处显示对应机器人的3D模型,同时图形界面内还显示有环境的基坐标系、地面、透明的四周墙壁、环境内的可选对象等其它要素,以帮助用户建立对各个组合方案的直观认识,之后用户可对机器人组合方案进行“删除”、“增加”等操作。
步骤三、当用户完成修改后,机器人应用系统方案设计的图示化生成模块将会输出包含全部可行组合方案的机器人应用系统方案集合Y,此集合可被写成Y={yk|k=1,2,…,NY}的形式,其中的元素yk是由NR个被选择的机器人ID构成的数组,表示机器人组合方案的个体。
5.机器人应用系统设计方案的综合评价模型自动生成模块
对于含有机器人应用系统各可行方案的集合Y,所述软件系统需要对其中的各方案进行评价,才能得到用户需要的最优方案,此模块的任务是确定评价函数及后续仿真的条件,将机器人的组合方案变为可评价、可仿真的具体模型,此模块的流程图如图7所示。
机器人应用系统设计方案的综合评价模型自动生成模块的工作过程可分为以下几步:
步骤一、设置优化的评价函数,所述软件系统中预装有定期更新的评价函数集合,此集合内保存的每个评价函数都有相应的描述、算法说明和具体计算程序,用户可以根据需要进行选择,也可以将用户自定义或自行改进的评价函数存入此集合内方便以后使用。
在此步骤中用户首先选定一种或多种要使用的评价函数,这里以ei(i=1,2,…,NE);之后可以自行选择进行单目标优化还是多目标优化,以评价方式标志IE表示,IE=0表示单目标优化,IE=1表示多目标优化。根据用户的上述输入,最终保存的评价方式将有4中情况,表3中给出了这4种情况的具体处理方式。
表3机器人组合方案的评价方式
Figure BDA0002182972160000191
上表中的E表示根据用户输入最终合成的目标函数,可以看到当用户选择单目标优化时E是标量函数,而当多目标优化被选择时E是矢量函数,为了公式的统一我们使用同一个变量表示这两种情况下的最终评价函数;wi(i=1,2,…,NE)是第i个评价函数被合成时的权值系数。
步骤二、选择机器人的控制方法和轨迹规划方法,与评价方法的选择类似,机器人的控制方法和轨迹规划方法也是从软件界面内的一个列表中选择,此列表对应定期更新的控制方法和轨迹规划方法数据库,用户同样对此数据库有修改的权利,选定某种方法后,用户需对所选方法的控制参数或轨迹规划参数进行整定。
对于机器人应用系统中的第i个机器人,若以SCi和pCi分别表示被选定的控制方法和整定后得到的控制参数,以SPi和pPi分别表示被选定的轨迹规划方法和设定的轨迹规划参数,则四元组
Figure BDA0002182972160000192
就完全确定了第i个机器人仿真评价时的运动规划与控制的方法。将此步骤的输出定义为集合
Figure BDA0002182972160000193
Φ表示整个机器人应用系统在后续仿真中的运动规划与控制方法。
步骤三、选择扰动的种类并设置扰动的范围。由于所设计的机器人应用系统在实际作业时,可能受到环境中的不确定量影响,使控制误差不断积累并最终导致作业失败,因此所述软件系统中也需要在仿真中加入能反映上述不确定量的扰动,来最大限度地获得所设计的机器人系统在实际环境中能达到的评价真值。
此步骤中,用户首先浏览包含力扰动、力偶扰动、地面不平整扰动等多种扰动的扰动集合,按照需要可以从中选择一种或多种扰动(也可以不选择任何扰动),所选的扰动类型以SDi表示,其中i=1,2,…,ND,ND为所选的扰动的数量。
之后指定所选扰动的大小范围,对于第i个扰动,此大小范围以上限dmaxi和下限dmini表示。根据具体的扰动类型,dmaxi和dmini可能是矢量或是标量,例如,对于力扰动dmaxi和dmini分别表示扰动力三个分量的最大值和最小值组成的矢量,对于地面不平整扰动dmaxi和dmini分别表示地面起伏高度(标量)的上限和下限。
由于不同的不确定量在实际环境中具有不同的分布规律,用户还需要对每种扰动设定其分布函数,可以从所述软件系统给出的列表中选择,也可以自行定义。举例来说,添加力扰动、力偶扰动等不确定量的目的是测试系统的鲁棒性,因此对这类扰动一般需要选择如式(10)所示的均一分布,来对整个范围内的扰动都进行仿真测试;对于被装配件或装配件的尺寸误差扰动,由于相同批次的零件尺寸误差服从高斯分布,因此进行仿真时这种扰动的分布也应选择如式(11)所示的高斯分布。所述软件系统中还可给出重采样误差中常见的柯西分布、连续时域事件对应的指数分布等等概率密度分布函数,供用户选择,这里不一一展开。
Figure BDA0002182972160000201
Figure BDA0002182972160000202
式(10)和式(11)中,p(·)是概率密度函数,di是第i个扰动的值,σ是高斯分布的标准差。若将第i个扰动的分布函数用Sdi表示,将此分布函数中参数(例如式(11)中的σ)的集合用pdi表示,则第i个扰动的全部信息可由五元组ψi=<SDi,dmaxi,dmini,Sdi,pdi>表示,全部扰动的信息可用集合Ψ={ψi|i=1,2,…,Nd}进行表示。
步骤四、确定其它的仿真参数。除了前三个步骤中选定的参数外,还需确定对每个机器人组合方案进行的仿真次数NS、仿真中的时间步长度Δt、仿真计算中保留的数值精度eS等参数,将上述参数合成为参数矢量p,再综合前三个步骤中的内容,可以得到以下机器人组合方案评价的优化模型:
Figure BDA0002182972160000203
6.机器人应用系统设计方案综合评价计算资源模块、结果对比模块、结果输出模块
机器人应用系统设计方案综合评价的计算资源模块将对式(12)所示的优化模型进行求解;求得的最优方案(单目标优化)或最优方案集合(多目标优化)将通过结果对比模块进行展示,用户决定是否采用某一方案,或在对所有方案均不满意的情况下可以修改优化模型求解的条件和参数,之后重新进行计算;最后用户认可的最优方案将通过结果输出模块自动输出相关的技术文件,为此方案的实际实施提供参照和指导。
在机器人应用系统设计方案的综合评价计算资源模块中,包含有整个机器人应用系统在仿真评价过程中所有需要用到的计算程序,这些计算程序可被分为7大类,即各类机器人机构运动计算程序、各类机器人机构动力学计算程序、非完整约束系统计算程序、最优化计算程序、路径或轨迹规划算法、机器人的控制程序、系统运动的图形仿真程序。
(1)机器人的机构运动计算程序中含有各种串联机构(不同自由度数的关节型机械臂、三坐标机器人等)、并联机构(并联装配机器人、运动平台等)、串/并联混合机构的参数化正/逆运动学求解程序,程序的求解算法包含矩阵变换法、数值迭代算法等多种算法供用户选择。其中包含的机构构型可以是机器人产品中的常见机构,当对某一机器人选型组合方案进行计算时,所述软件系统将根据机器人产品数据库中存储的机器人机构构型自动选择相应的运动学计算程序,并载入相应的机构参数。对于未包含的机构,用户也可自行定义该机构的参数化模型(确定轴数、轴间距等),并载入由用户给出的运动学计算程序。
(2)机器人机构动力学计算程序与运动学计算程序的存储结构相似,也是对多种常用的机器人机构构型(预装)和用户自定义构型(用户输入)存储相应的正/逆动力学求解程序,同一机构的程序也提供不同的算法供用户选择,包括拉格朗日法、牛顿欧拉法等。进行仿真时,所述软件系统首先根据方案中包含的机器人产品,选择相应的动力学计算程序,然后根据具体的选型结果载入产品的机构参数及物理参数,生成可执行的计算文件。
(3)非完整约束系统计算程序中包含机器人作业环境内各种非完整约束的运动学、动力学计算程序,具体包含两大类,即接触约束和特殊末端执行器引入的非完整约束。其中接触约束是指例如装配件与被装配件之间、移动机器人与地面之间等等的接触约束,具体包括接触的力学模型、运动方程等;特殊末端执行器引入的非完整约束是指特殊的末端执行器与被操作物之间产生的、除接触约束以外的非完整约束,例如安装在机器人末端的切断刀与被切割物之间、打磨头与被打磨物之间、吸盘与被吸合物之间等等的非完整约束。
(4)最优化计算程序包括单目标优化程序和多目标优化程序两类,其中单目标优化程序可包含如模拟退火法、粒子群算法等常用的算法程序,多目标优化程序可包含例如多目标优化的遗传算法等等的算法程序,除此之外也可载入用户自行编写的优化算法程序。
(5)路径或轨迹规划算法程序中包含有移动机器人的路径规划程序和工业机器人的轨迹规划程序两类,程序中使用的规划算法可包含线性插值、圆弧差值、三次样条、五次样条等轨迹规划算法。仿真时,对第i个机器人根据用户在
Figure BDA0002182972160000221
中指定的SPi、pPi,选取SPi对应的路径或轨迹规划程序,并载入pPi对应的参数。
(6)机器人的控制程序中包含三类程序,即单台工业机器人的控制程序、单台移动机器人的控制程序、多台机器人的作业控制程序。仿真时,对第i个机器人根据用户在
Figure BDA0002182972160000222
中指定的SCi、pCi,选取SCi对应的控制程序,并载入pCi对应的控制参数。
单台工业机器人的控制程序中包含:轨迹追踪控制(PD反馈、PID反馈、PD+前馈、计算力矩法、加速度分解法等)程序、力位混合控制(刚度控制、阻尼控制、阻抗控制、混合控制等)程序、自适应控制(自调整控制器、模型参照型自适应控制)程序、鲁棒控制(基于逆动力学的鲁棒控制、基于被动特性的鲁棒控制等)程序、最短时间控制程序、柔性机器人控制程序、智能控制(神经网络、GA/EP算法、强化学习、深度学习等)程序。
单台移动机器人的控制程序包含:轮式和履带式机器人的(防侧向滑转、防纵向滑移等)移动控制程序、足腿式机器人的步行、跳跃、跑步(ZMP力反射控制、躯干姿态控制等)控制程序、轮足式机器人移动控制程序、多移动方式的多功能移动机器人控制程序。
多台机器人的作业控制程序包括:用于多机器人共同操作同一物体的协调控制程序、主从操作臂的控制(对称型、力反射型、力归还型)控制程序、多台机器人顺次或独立作业的过程控制程序等。
(7)系统运动的图形仿真程序中包含环境内各个对象的图形化显示和动画生成程序,具体包含三维实体建模程序、光源渲染程序、动画生成与输出等程序。
对于机器人应用系统设计方案综合评价计算资源模块、结果对比模块、结果输出模块,其的工作流程如图8所示,此工作流程也可具体划分为以下几步:
步骤一、根据优化类型选择优化求解算法并进行优化模型求解计算,若IE=0则在所述软件系统给出的列表中选择单目标优化算法(例如模拟退火法、粒子群算法等),否则应选择多目标优化算法(例如多目标优化的遗传算法等等)。
之后需要配置所选算法的参数并进行计算,单目标优化中求解的目的是使标量目标函数E取得极小值的机器人组合方案y*,多目标优化中求解的目的是使矢量目标函数E最小的Pareto最优解集Y*={yi*|i=1,2,…,N*},其中N*是Pareto最优解的数量,yi*应满足以下条件。
Figure BDA0002182972160000223
若最大迭代次数达到后,所选择的优化求解算法仍未达到收敛条件,则需重新选择算法或调整优化求解计算的参数,直到最终得到收敛的优化结果。
步骤二、用户浏览优化结果,并选择是否进行机器人应用系统的设计方案输出。此步骤中,用户首先查看得到的优化结果方案,对于单目标优化是得到的最优组合方案,对于多目标优化是由数个Pareto最优方案组成的解集,用户查看时可在所述软件系统的图形界面中看到各个方案的仿真结果,包括:仿真中机器人系统的运动录像、各虚拟传感器的数据曲线、所选择的评价函数曲线、各方案目标函数的统计结果等动画和数据图片。
用户需要根据上述结果决定是否结束设计过程,若对优化结果中的一个或数个方案满意,则可选择这些满意的方案并进行下一步;若对优化结果中的所有方案都不满意,则可以修改优化模型中的目标函数E、机器人的控制方法和轨迹规划方法Φ、环境扰动Ψ和仿真参数p,之后重新进行优化模型求解。
步骤三、对用户选定的机器人应用系统设计方案进行结果输出,此步骤中用户可从结果输出模块中获得设计方案实施所需的各种技术文件,例如:所选方案中机器人的产品样本、图纸、说明书,机器人应用系统的整体布局图(3D或2D)、走线图,整个系统的虚拟样机文件,各机器人的控制程序代码,等等。
7.机器人应用系统集成化方案设计工具软件流程控制模块
在所述软件系统的操作过程中,除了使用之前介绍的八个功能模块实现机器人应用系统集成化设计的主要功能外,还需要有一个用于接收和响应用户操作的流程控制模块,此模块具有以下功能:
(1)接收用户输入的数据和指令,并保存用户的操作记录;
(2)每个功能页面中含有“上一步”、“下一步”按钮,按用户的操作继续或回退设计流程,当用户选择“上一步”从当前操作回退到上一页面时,自动恢复之前的操作数据;
(3)在软件进行长时间的连续计算时,例如选型方案的生成、优化模型的求解等计算过程中,提供中间结果保存、用户中断、从保存的中间结果继续等功能。
(4)具有用户权限管理功能,同一软件系统的不同用户之间具有不同级别的权限,“管理员”权限最高,用户有权访问权限低于自身的用户的设计文件及数据,当需要访问具有相同权限或较高权限用户的设计文件时必须进行申请,得到授权后可进行访问。
8.设计案例的积累与进化模块、工程实际反馈控制模块
在机器人的应用系统设计中,如同设计人员进行经验积累一般,所述软件系统也应根据方案实施后的反响对设计案例进行积累与进化,来增强自身的相关功能。
图9给出了所述机器人应用系统方案集成化设计的软件系统的进化功能示意图,其中的进化方式可被分为两类,即独立进化和集体进化,下面分别进行说明。
(1)独立进化方式。每当用户完成了一次机器人应用系统的方案设计,设计案例的积累与进化模块都会将此方案进行存储;当所设计的方案完成实施后,用户可使用工程实际反馈控制模块对此方案进行评价,评价时采用分项评价的方式,即用户可根据方案实施过程中的具体问题,对所对应的功能模块进行具体评价,例如当方案实施后发现某个机器人抵抗扰动的能力较差,则可选择评价模型自动生成模块的环境扰动设定功能进行评价,之后工程实际反馈控制模块将对此功能生成反馈并进行存储。
若用户之后再进行类似的设计,可直接调用设计案例的积累与进化模块存储的案例,并在此基础上进行修改,修改时用户除了会看见常规的软件界面外,进行每一步时还会看到之前存储的反馈,这样对设计中的每个步骤,用户都可以方便地总结之前设计中的经验和不足。
如此实现了计算机软件辅助下的设计经验积累,当实现某一类作业方案的积累、评价、反馈过程足够充分后,新用户可在之前的经验基础上开始设计,能快速形成优秀的设计方案。
(2)集体进化方式。除了每套软件系统中进行的独立进化外,所述软件系统还可依靠由用户群体、云服务器和软件运营方的技术服务人员构成的软件生态进行集体进化,不同单位、地域的用户在完成机器人应用系统的方案设计后,可将能够公开的方案分享上传至云服务器上,供其他用户下载、使用、评价讨论,形成论坛性质的机器人应用系统案例分享平台。
同时所述软件系统的运营商也可组建由专业技术人员组成的服务团队,负责评估用户分享的案例,对最新发表的学术论文和公共版权的技术文件中提出的新方法和算法进行收集(例如新的机器人评价指标、新的优化模型求解算法等),以及汇总各机器人厂商的新型产品。对上述内容进行测评后,将其中可用的、有效的内容形成软件系统各功能的改进,此改进将以更新补丁的形式发布到云服务器上,供所有用户下载使用。
通过上述方式,所述软件系统中提供的功能能够跟上工业自动化领域的技术发展,始终为用户提供最新、最优的机器人系统方案设计服务。
9.软件的编程实现
所述软件系统在进行编程实现时,可以使用C、C++、C#、Java等主流编程语言,也可使用Python、Fortran等计算语言,还可使用Matlab(m语言)、Adams、Fluent等商用软件的脚本语言。
所述软件系统还可使用上述语言的组合进行编程,实现多平台的分布式功能框架。举例来说,所述软件系统的主体程序可在服务器端使用C++编程实现,云服务器的网页系统(用户的更新、下载功能)使用C#语言编程实现,移动端(手机、平板、厂房内的装用移动设备等)的计算结果查看功能和反馈功能使用Java语言编程实现,服务器内的各个计算资源模块采用Fortran计算语言实现,与商用软件的程序数据接口采用对应的脚本语言实现等等。

Claims (7)

1.一种机器人应用系统解决方案集成化设计的大型工具软件系统,其特征在于,所述系统包括11个功能模块:机器人产品数据库模块、用户对机器人应用系统的作业需求与技术要求输入模块、机器人的形式化模块、机器人应用系统方案设计的图示化生成模块、机器人应用系统设计方案的综合评价模型自动生成模块、机器人应用系统设计方案综合评价计算资源模块、各方案比较模块、机器人应用系统集成化方案设计结果输出模块、机器人应用系统集成化方案设计工具软件流程控制模块、机器人应用系统集成化方案设计工具软件的设计案例的积累与进化模块、机器人应用系统集成化方案设计的工程实际反馈控制模块;
上述各功能模块之间的关系如下:其中机器人产品数据库模块用于存储各类机器人的ID、类型码、技术性能指标这些产品样本中的详细信息;作业需求与技术要求输入模块用于配置机器人作业的环境并定义此环境内的作业任务;机器人的形式化模块的任务是由软件系统或用户配置机器人的机构形式、原动类型的选型参数;机器人应用系统方案设计的图示化生成模块按选型参数生成机器人系统的可行方案集合,并进行图示化显示;之后综合评价计算资源模块引入评价函数,形成可评价的设计方案;由综合评价计算资源模块进行仿真评价,之后由各方案比较模块对比得到最优方案,并由设计结果输出模块进行输出;流程控制模块负责对上述过程进行控制,设计案例的积累与进化模块和工程实际反馈控制模块将根据设计方案具体实施后的反馈评价对设计案例进行存储和修正;
所述机器人产品数据库,此数据库中存储可供选择的机器人产品信息,用于后续方案设计中机器人选型和系统方案评价,所述机器人产品数据库将可供选择的机器人产品分为预定义的两大类18种,其中两大类分别是具有固定基座的工业机器人和与之相对的移动机器人,工业机器人大类中包含单自由度线性模组a、二自由度平面滑台b、三坐标机器人c、圆柱坐标机器人d、极坐标机器人e、SCARA机器人f、三自由度码垛机器人g、四自由度关节机器人h、五自由度关节机器人i、六自由度关节机器人j、冗余自由度关节机器人k、并联机器人l共12个种类,字母a-l是种类代号;移动机器人大类下包含有轨小车机器人m、AGV小车机器人n、双足机器人o、四足机器人p、六足机器人q、履带式机器人r共6种;除上述预定义的18种机器人产品外,所述数据库内还保留了用户自定义的机器人分类,其种类代号从大写字母A开始编号;
在用户向所述数据库内添加新产品时,若所添加的产品可以归类到预定义的18个机器人种类或已使用的用户自定义种类中,则在对应的种类下新建一个产品序号,并对新产品进行数据项的录入,用户输入或文件导入;若所添加的产品不属于现有种类,则需新建一个用户自定义种类,代号从“A”开始顺延,并将所添加的产品作为此种类下的第一个产品进行数据项录入;
对于上述分类中的每个机器人产品种类,不同厂商不同系列的机器人产品详细数据会以数据项的形式被存储于数据库中,表1所述机器人产品数据库内数据项的一种可行配置方式,所述机器人产品数据库含有表1列出的数据项;表1中出现的机器人坐标系是指计算机器人运动时采用的坐标系,z轴竖直向上,对于工业机器人指位于机器人根部安装接口中心的坐标系,对于移动机器人指位于机器人初始位置的坐标系;
表1每种机器人产品在机器人产品数据库中保存的数据项
Figure FDA0003560679400000021
所述用户对机器人应用系统的作业需求与技术要求输入模块,在机器人应用系统设计的开始,用户将使用此模块配置机器人所处的环境、设置机器人数量并定义每个机器人的作业任务,上述过程可被分为以下几个步骤:
步骤一、环境初始化,即定义机器人作业的环境,这里机器人作业的环境是指地面、四周墙壁、棚顶和由它们围成的三维空间,对此环境进行定义时有三种方法:
第一种方法是从作业模板库选择一种模板,所述作业模板库是对工业自动化应用中的常见机器人作业进行参数化建模和汇总后,预装在所述软件系统中的一种数据库,其中包含“分拣”、“搬运”、“码垛”、“喷漆”机器人作业的环境参数、被操作物参数、机器人选配条件结构化数据;
第二种方法是根据用户之前保存的设计实例进行环境初始化,在用户选择相应的设计实例后载入其中的环境配置文件;
第三种方法是对环境进行完全的自定义操作,用户使用此种方法时将载入空白的环境模板,初始状态下屏幕上只出现有无限延展的地面和位于其上的基坐标系;
使用上述三种方法对机器人的作业环境进行定义后,需要配置或修改环境的基本参数,所述的基本参数包括:墙壁在基坐标系内位置、棚顶的高度、地面材质摩擦系数和弹性模量、重力方向和大小;上述基本参数确定后,墙壁围成的范围以外的地面会被裁切消去;
步骤二、添加或修改环境中的可选对象,在机器人的作业过程中,被机器人抓取或搬运的被操作物、厂房内的障碍物、除机器人以外的辅助设备,这些处于作业环境内并可能参与或影响机器人作业的物体被定义为环境内的可选对象;此步骤中用户将根据需要在所创建的环境内添加上述可选对象物,或对导入的环境内已存在的可选对象进行修改,此过程中用户可以使用预装在所述软件系统内的工业自动化的通用数据库进行可选对象的添加操作,此对象库中保存有工厂环境内的对象参数化模型,对于未存入上述数据库内的特殊对象,由用户自行建模,对上述数据库进行丰富;
步骤三、设置或修改机器人数量,此步骤中用户根据总体作业任务的需要确定所需机器人的数量,此数量应是大于0的整数;
步骤四、设置或修改机器人的安装位置和作业任务;对于工业机器人,所述安装位置是指机器人根部机械接口处的机器人坐标系相对于环境基坐标系的位姿;对于移动机器人,安装位置是指初始状态下机器人相对于环境基坐标系的位置和姿态;
作业的设定分为两部分,即作业的描述和作业参数的设定,由于不同作业需要考虑的参数不同,为简化用户设置作业任务的操作复杂度,步骤一中的作业模板库中保存有各种常用作业的描述和参数定义,用户只需根据作业描述选择需要的作业任务,然后按预先定义的参数进行作业任务的量化;
表2中给出几种作业任务及其任务描述和参数定义;
表2工业自动化中作业任务
Figure FDA0003560679400000041
当希望被操作物直接从起始位姿被搬运到目标位姿时,可以不设置表2搬运作业的中间路径点序列;
应用机器人的形式化模块对用户设定的作业生成形式化的机器人选型条件,所生成的选型条件是机器人产品数据库中对应数据项的符号化判别式,后续将用于设计方案生成时搜索得到符合条件的机器人组合方案;
此形式化模块有两种机器人选型条件的生成方式,方式一是由作业类型和作业参数数据自动生成对应的数据项判别式,方式二是由用户自行设定某个或某些数据项的判别条件;对于上述两种方式中的方式一,选型条件的自动生成可以包含以下几条规则:
(1)根据作业类型生成选型条件,由用户选定的作业类型应被包含在数据项“适用作业”中,为将此判别条件写成符号化判别式的形式,定义机器人产品数据库各数据项中存储的数据以Di表示,其中下标i=1,2,…,N表示所述数据库内数据项的序号,N是数据项的总数;按表1的序号排列,数据项“适用作业”存储的字符串数组即可写作D13,用ST表示用户选定的作业类型字符串,由同一机器人完成多种作业时ST为字符串数组,此选型条件可写作:
Figure FDA0003560679400000042
(2)根据被操作物的质量生成选型条件,若被操作物的质量以mo表示,则mo不应超过数据项“负载能力”中存储的值D9,此条选型条件可表示为:
mo≤D9 (2)
(3)根据机器人的运动范围生成选型条件,机器人作业过程中运动轨迹上的每一个点均应在“工作空间”数据项规定的范围内D8,上述工作空间范围由存储在集合D8内的不等式约束限定,所述不等式约束可以表示成:
fi(x)≥0,(i=1,2,…,n) (3)
其中fi(·)是存储于D8内工作空间的第i个边界曲面或曲线方程,n是围成工作空间的全部边界曲面或曲线数量,x是机器人末端或机器人自身的位姿矢量;
对于式(3)的约束不等式,机器人运动轨迹上的每个点都应满足,为简化后续的判别过程,形成选型条件时只对轨迹的起始点、目标点和用户指定的中间路径点进行验证;若将所述起始点和目标点的位姿矢量分别表示为xs和xe,将m个中间路径点表示为x1,x2,…,xm,则由机器人运动范围生成的选型条件可表示为:
Figure FDA0003560679400000051
(4)根据机器人作业的运动速度生成选型条件,当用户设定了运动速度v的值时,此选型条件可写作:
v≤D10 (5)
其中D10是“极限速度”数据项中存储的机器人最大运动速度;若未指定具体的运动速度v取值,但只规定了作业从起点至终点的时间T,则根据运动速度生成的算法,此选型条件可写作:
Figure FDA0003560679400000052
式(6)中η表示由运动平均速度估计最大速度的系数,根据工业应用中梯形速度轨迹规划方法的特点,极限情况下最大速度能达到平均速度的2倍,因此应在1<η≤2的范围内选择η的值;
除上述4条选型条件生成的规则外,用户还可根据自身需要在所述软件系统中添加新的规则,所添加的规则应是由作业任务设定得到的对产品数据库中数据项进行约束的形式化、符号化条件式;对于软件系统中预存的选型条件自动生成规则,以及用户添加的规则,在进行选型条件的自动生成时,用户均可根据需要进行激活或者取消,被选中激活的规则将生成相应的选型条件,被取消的规则将被忽略不发挥作用;
当机器人的作业环境中含有易爆粉尘或气体时,需要严格禁止电火花的产生,因此可设置“驱动方式”数据项D5不含直流有刷电机,若以
Figure FDA0003560679400000053
表示被排除的驱动方式字符串数组,则此选型条件可被写作:
Figure FDA0003560679400000054
无论是使用基于规则的选型条件生成方式一,还是使用用户自定义的选型条件生成方式二,或是使用方式一与方式二的联合,得到的选型条件都可以写成式(1)~(7)的符号化判别式;若将应用系统中第i个机器人的第j个判别条件用Cij,i=1,2,…,NR;j=1,2,…,NCi表示,NR、NCi分别为机器人的总数和第i个机器人的判别式总数,则可定义选型条件集C={Cij|i=1,2,…,NR;j=1,2,…,NCi},作为机器人的形式化模块的输出,选型条件集C对所要设计的机器人系统进行全面地形式化描述。
2.根据权利要求1所述的软件系统,其特征在于,所述机器人应用系统方案设计的图示化生成模块的任务是根据机器人的形式化模块生成的选型条件集C,在机器人的产品数据库中对每个机器人进行自动选型,之后在图形化的界面中给出汇总的选型结果,用户可在此基础上进行选型结果的浏览和修改,最后输出选型完成的方案个体集合;
上述工作过程可分为以下几步:
步骤一、对应用系统中的每个机器人确定符合选型条件C的可选集合Ui,i=1,2,…,NR,初始状态下,Ui中包含机器人产品数据集中的所有机器人产品ID,之后对于j=1,2,…,NCi的每个Cij,使用符号计算的方法,求解出满足Cij条件的机器人产品对应的产品ID集合U,并按以下方法对Ui进行更新,
Ui←Ui∩U (8)
对第i个机器人的全部选型条件完成遍历后即得到了其可选集合Ui
步骤二、由用户对选型结果进行浏览和修改,在此步骤中,所述软件系统将在其图形操作界面内展示各机器人选型的结果,若可选集合Ui内含有的机器人产品数量用ni表示,则按照自由组合的方式,可行的机器人组合方案数量NY应按式(9)计算;
Figure FDA0003560679400000061
用户可在上述NY种可行方案中自由切换查看,每当切换到一种组合方案时,所述软件系统会在各机器人的安装位置处显示对应机器人的3D模型,同时图形界面内还显示有环境的基坐标系、地面、透明的四周墙壁、环境内的可选对象其它要素,以帮助用户建立对各个组合方案的直观认识,之后用户可对机器人组合方案进行“删除”、“增加”操作;
步骤三、当用户完成修改后,机器人应用系统方案设计的图示化生成模块将会输出包含全部可行组合方案的机器人应用系统方案集合Y,此集合可被写成Y={yk|k=1,2,…,NY}的形式,其中的元素yk是由NR个被选择的机器人ID构成的数组,表示机器人组合方案的个体。
3.根据权利要求2所述的软件系统,其特征在于,所述机器人应用系统设计方案的综合评价模型自动生成模块,对于含有机器人应用系统各可行方案的集合Y中的各方案进行评价后,才能得到用户需要的最优方案,此模块的任务是确定评价函数及后续仿真的条件,将机器人的组合方案变为可评价、可仿真的具体模型,此模块的工作过程可分为以下几步:
步骤一、设置优化的评价函数,所述软件系统中预装有定期更新的评价函数集合,此集合内保存的每个评价函数都有相应的描述、算法说明和具体计算程序,用户可以根据需要进行选择,也可以将用户自定义或自行改进的评价函数存入此集合内方便以后使用;
在此步骤中用户首先选定一种或多种要使用的评价函数,这里以ei,i=1,2,…,NE;之后可以自行选择进行单目标优化还是多目标优化,以评价方式标志IE表示,IE=0表示单目标优化,IE=1表示多目标优化;
根据用户的上述输入,最终保存的评价方式将有4中情况,表3中给出了这4种情况的具体处理方式;
表3机器人组合方案的评价方式
Figure FDA0003560679400000071
上表中的E表示根据用户输入最终合成的目标函数,可以看到当用户选择单目标优化时E是标量函数,而当多目标优化被选择时E是矢量函数,为了公式的统一我们使用同一个变量表示这两种情况下的最终评价函数;wi,i=1,2,…,NE是第i个评价函数被合成时的权值系数;
步骤二、选择机器人的控制方法和轨迹规划方法,机器人的控制方法和轨迹规划方法也是从软件界面内的一个列表中选择,此列表对应定期更新的控制方法和轨迹规划方法数据库,用户同样对此数据库有修改的权利,选定某种方法后,用户需对所选方法的控制参数或轨迹规划参数进行整定;
对于机器人应用系统中的第i个机器人,若以SCi和pCi分别表示被选定的控制方法和整定后得到的控制参数,以SPi和pPi分别表示被选定的轨迹规划方法和设定的轨迹规划参数,则四元组
Figure FDA0003560679400000072
就完全确定了第i个机器人仿真评价时的运动规划与控制的方法;将此步骤的输出定义为集合
Figure FDA0003560679400000073
Φ表示整个机器人应用系统在后续仿真中的运动规划与控制方法;
步骤三、选择扰动的种类并设置扰动的范围:由于所设计的机器人应用系统在实际作业时,可能受到环境中的不确定量影响,使控制误差不断积累并最终导致作业失败,因此所述软件系统中也需要在仿真中加入能反映上述不确定量的扰动,来获得所设计的机器人系统在实际环境中能达到的评价真值;
此步骤中,用户首先浏览包含力扰动、力偶扰动、地面不平整扰动多种扰动的扰动集合,按照需要可以从中选择一种或多种扰动,所选的扰动类型以SDi表示,其中i=1,2,…,ND,ND为所选的扰动的数量;
之后指定所选扰动的大小范围,对于第i个扰动,此大小范围以上限dmaxi和下限dmini表示;根据具体的扰动类型,dmaxi和dmini可能是矢量或是标量,对于力扰动dmaxi和dmini分别表示由扰动力三个分量的最大值和最小值组成的矢量,对于地面不平整扰动dmaxi和dmini分别表示地面起伏高度的上限和下限;
由于不同的不确定量在实际环境中具有不同的分布规律,用户还需要对每种扰动设定其分布函数,可以从所述软件系统给出的列表中选择,也可以自行定义;
添加力扰动、力偶扰动不确定量的目的是测试系统的鲁棒性,对这类扰动需要选择如式(10)所示的均一分布,来对整个范围内的扰动都进行仿真测试;对于被装配件或装配件的尺寸误差扰动,由于相同批次的零件尺寸误差服从高斯分布,因此进行仿真时这种扰动的分布也应选择如式(11)所示的高斯分布;所述软件系统中还可给出重采样误差中柯西分布、连续时域事件对应的指数分布这些概率密度分布函数供用户选择;
Figure FDA0003560679400000081
Figure FDA0003560679400000082
式(10)和式(11)中,p(·)是概率密度函数,di是第i个扰动的值,σ是高斯分布的标准差;若将第i个扰动的分布函数用Sdi表示,将此分布函数中参数的集合用pdi表示,则第i个扰动的全部信息可由五元组ψi=<SDi,dmaxi,dmini,Sdi,pdi>表示,全部扰动的信息可用集合Ψ={ψi|i=1,2,…,Nd}进行表示;
步骤四、确定其它的仿真参数:除了前三个步骤中选定的参数外,还需确定对每个机器人组合方案进行的仿真次数NS、仿真中的时间步长度Δt、仿真计算中保留的数值精度eS参数,将上述参数合成为参数矢量p,再综合前三个步骤中的内容,可以得到以下机器人组合方案评价的优化模型:
Figure FDA0003560679400000091
4.根据权利要求1或3所述的软件系统,其特征在于,机器人应用系统设计方案综合评价的计算资源模块将对式(12)所示的优化模型进行求解;求得的单目标优化最优方案或多目标优化最优方案集合将通过结果对比模块进行展示,用户决定是否采用某一方案,或在对所有方案均不满意的情况下可以修改优化模型求解的条件和参数,之后重新进行计算;最后用户认可的最优方案将通过结果输出模块自动输出相关的技术文件,为此方案的实际实施提供参照和指导;
上述三个模块的工作流程可被划分为以下几步:
步骤一、根据优化类型选择优化求解算法并进行优化模型求解计算,若IE=0则在所述软件系统给出的列表中选择单目标优化算法,否则应选择多目标优化算法;
之后需要配置所选算法的参数并进行计算,单目标优化中求解的目的是使标量目标函数E取得极小值的机器人组合方案y*,多目标优化中求解的目的是使矢量目标函数E最小的Pareto最优解集Y*={yi*|i=1,2,…,N*},其中N*是Pareto最优解的数量,yi*应满足以下条件;
Figure FDA0003560679400000092
若最大迭代次数达到后,所选择的优化求解算法仍未达到收敛条件,则需重新选择算法或调整优化求解计算的参数,直到最终得到收敛的优化结果;
步骤二、用户浏览优化结果,并选择是否进行机器人应用系统的设计方案输出,此步骤中,用户首先查看得到的优化结果方案,对于单目标优化是得到的最优组合方案,对于多目标优化是由数个Pareto最优方案组成的解集,用户查看时可在所述软件系统的图形界面中看到各个方案的仿真结果,包括:仿真中机器人系统的运动录像、各虚拟传感器的数据曲线、所选择的评价函数曲线、各方案目标函数的统计结果动画和数据图片;
用户需要根据上述结果决定是否结束设计过程,若对优化结果中的一个或数个方案满意,则可选择这些满意的方案并进行下一步;若对优化结果中的所有方案都不满意,则可以修改优化模型中的目标函数E、机器人的控制方法和轨迹规划方法Φ、环境扰动Ψ和仿真参数p,之后重新进行优化模型求解;
步骤三、对用户选定的机器人应用系统设计方案进行结果输出,此步骤中用户可从结果输出模块中获得设计方案实施所需的各种技术文件,包括:所选方案中机器人的产品样本、图纸、说明书,机器人应用系统的整体布局3D图或2D图、走线图,整个系统的虚拟样机文件,各机器人的控制程序代码。
5.根据权利要求4所述的软件系统,其特征在于,机器人应用系统设计方案综合评价计算资源模块中,包含有整个机器人应用系统在仿真评价过程中所有需要用到的计算程序,这些计算程序可被分为7大类,即各类机器人机构运动计算程序、各类机器人机构动力学计算程序、非完整约束系统计算程序、最优化计算程序、路径或轨迹规划算法、机器人的控制程序、系统运动的图形仿真程序:
(1)机器人的机构运动计算程序中含有各种串联机构、并联机构、串/并联混合机构的参数化正/逆运动学求解程序,程序的求解算法包含矩阵变换法、数值迭代算法供用户选择;当对某一机器人选型组合方案进行计算时,所述软件系统将根据机器人产品数据库中存储的机器人机构构型自动选择相应的运动学计算程序,并载入相应的机构参数;对于未包含的机构,用户也可自行定义该机构的参数化模型,并载入由用户给出的运动学计算程序;
(2)机器人机构动力学是对多种常用的机器人机构构型和用户自定义构型存储相应的正/逆动力学求解程序,同一机构的程序也提供不同的算法供用户选择,包括拉格朗日法、牛顿欧拉法;进行仿真时,所述软件系统首先根据方案中包含的机器人产品,选择相应的动力学计算程序,然后根据具体的选型结果载入产品的机构参数及物理参数,生成可执行的计算文件;
(3)非完整约束系统计算程序中包含机器人作业环境内各种非完整约束的运动学、动力学计算程序,具体包含两大类,即接触约束和特殊末端执行器引入的非完整约束,其中接触约束是指装配件与被装配件之间、移动机器人与地面之间的接触约束,具体包括接触的力学模型、运动方程;特殊末端执行器引入的非完整约束是指特殊的末端执行器与被操作物之间产生的、除接触约束以外的非完整约束,安装在机器人末端的切断刀与被切割物之间、打磨头与被打磨物之间、吸盘与被吸合物之间的非完整约束;
(4)最优化计算程序包括单目标优化程序和多目标优化程序两类,其中单目标优化程序可包含如模拟退火法、粒子群算法常用的算法程序,多目标优化程序包含多目标优化的遗传算法程序,除此之外也可载入用户自行编写的优化算法程序;
(5)路径或轨迹规划算法程序中包含有移动机器人的路径规划程序和工业机器人的轨迹规划程序两类,程序中使用的规划算法可包含线性插值、圆弧差值、三次样条、五次样条轨迹规划算法;仿真时,对第i个机器人根据用户在
Figure FDA0003560679400000101
中指定的SPi、pPi,选取SPi对应的路径或轨迹规划程序,并载入pPi对应的参数;
(6)机器人的控制程序中包含三类程序,即单台工业机器人的控制程序、单台移动机器人的控制程序、多台机器人的作业控制程序;仿真时,对第i个机器人根据用户在
Figure FDA0003560679400000111
中指定的SCi、pCi,选取SCi对应的控制程序,并载入pCi对应的控制参数;
单台工业机器人的控制程序中包含:轨迹追踪控制程序、力位混合控制程序、自适应控制程序、鲁棒控制程序、最短时间控制程序、柔性机器人控制程序、智能控制程序;轨迹追踪控制程序包括PD反馈、PID反馈、PD+前馈、计算力矩法和加速度分解法算法;力位混合控制包括刚度控制、阻尼控制、阻抗控制和混合控制算法;自适应控制包括自调整控制器和模型参照型自适应控制;鲁棒控制包括基于逆动力学的鲁棒控制和基于被动特性的鲁棒控制算法;智能控制包括神经网络、GA/EP算法、强化学习和深度学习算法;
单台移动机器人的控制程序包含:轮式和履带式机器人的防侧向滑转和防纵向滑移移动控制程序,足腿式机器人的步行、跳跃、跑步控制程序、轮足式机器人移动控制程序、多移动方式的多功能移动机器人控制程序;
多台机器人的作业控制程序包括:用于多机器人共同操作同一物体的协调控制程序、主从操作臂的控制程序、多台机器人顺次或独立作业的过程控制程序;其中主从操作臂的控制程序包括对称型、力反射型和力归还型三种;
(7)系统运动的图形仿真程序中包含环境内各个对象的图形化显示和动画生成程序,具体包含三维实体建模程序、光源渲染程序、动画生成与输出程序。
6.根据权利要求1所述的软件系统,用于接收和响应用户操作的流程控制模块具有以下功能:
(1)接收用户输入的数据和指令,并保存用户的操作记录;
(2)每个功能页面中含有“上一步”、“下一步”按钮,按用户的操作继续或回退设计流程,当用户选择“上一步”从当前操作回退到上一页面时,自动恢复之前的操作数据;
(3)在软件进行长时间的连续计算时提供中间结果保存、用户中断、从保存的中间结果继续的功能;
(4)具有用户权限管理功能,同一软件系统的不同用户之间具有不同级别的权限,“管理员”权限最高,用户有权访问权限低于自身的用户的设计文件及数据,当需要访问具有相同权限或较高权限用户的设计文件时必须进行申请,得到授权后可进行访问。
7.根据权利要求1所述的软件系统,其特征在于,具有用于实现软件进化功能的设计案例的积累与进化模块和工程实际反馈控制模块的功能实现过程为:
所述的软件系统进化功能有两种进化方式,即独立进化和集体进化,下面分别进行说明:
(1)独立进化方式:每当用户完成了一次机器人应用系统的方案设计,设计案例的积累与进化模块都会将此方案进行存储;当所设计的方案完成实施后,用户可使用工程实际反馈控制模块对此方案进行评价,评价时采用分项评价的方式,即用户可根据方案实施过程中的具体问题,对所对应的功能模块进行具体评价,当方案实施后发现某个机器人抵抗扰动的能力较差,则可选择评价模型自动生成模块的环境扰动设定功能进行评价,之后工程实际反馈控制模块将对此功能生成反馈并进行存储;
若用户之后再进行设计,可直接调用设计案例的积累与进化模块存储的案例,并在此基础上进行修改,修改时用户除会看见常规的软件界面外,进行每一步时还会看到之前存储的反馈;
(2)集体进化方式:除每套软件系统中进行的独立进化外,所述软件系统还可依靠由用户群体、云服务器和软件运营方的技术服务人员构成的软件生态进行集体进化,不同单位、地域的用户在完成机器人应用系统的方案设计后,可将能够公开的方案分享上传至云服务器上,供其他用户下载、使用、评价讨论,形成论坛性质的机器人应用系统案例分享平台;
同时所述软件系统的运营商也可组建由专业技术人员组成的服务团队,负责评估用户分享的案例,对最新发表的学术论文和公共版权的技术文件中提出的新方法和算法进行收集,以及汇总各机器人厂商的新型产品;对上述内容进行测评后,将其中可用的、有效的内容形成软件系统各功能的改进,此改进将以更新补丁的形式发布到云服务器上,供所有用户下载使用。
CN201910803474.2A 2019-08-28 2019-08-28 一种机器人应用系统解决方案集成化设计的大型工具软件系统 Active CN110480683B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910803474.2A CN110480683B (zh) 2019-08-28 2019-08-28 一种机器人应用系统解决方案集成化设计的大型工具软件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910803474.2A CN110480683B (zh) 2019-08-28 2019-08-28 一种机器人应用系统解决方案集成化设计的大型工具软件系统

Publications (2)

Publication Number Publication Date
CN110480683A CN110480683A (zh) 2019-11-22
CN110480683B true CN110480683B (zh) 2022-04-29

Family

ID=68554886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910803474.2A Active CN110480683B (zh) 2019-08-28 2019-08-28 一种机器人应用系统解决方案集成化设计的大型工具软件系统

Country Status (1)

Country Link
CN (1) CN110480683B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241619B (zh) * 2020-01-09 2022-04-05 华东师范大学 一种规则驱动的协同交互式空间布局自动设计方法
CN111331609B (zh) * 2020-05-21 2020-09-11 季华实验室 一种机器人优选实施方案获取方法、装置和系统
CN111752151A (zh) * 2020-06-17 2020-10-09 华中科技大学 一种工业叶片磨抛加工自适应力跟踪与补偿方法及系统
CN111660285A (zh) * 2020-06-30 2020-09-15 佛山科学技术学院 多机器人协同控制方法、系统、设备及存储介质
CN111973071B (zh) * 2020-08-11 2022-05-24 无锡清易智慧科技有限公司 一种扫地机基座选择方法、装置、存储介质及设备
CN112039767B (zh) * 2020-08-11 2021-08-31 山东大学 基于强化学习的多数据中心节能路由方法及系统
CN113043273B (zh) * 2021-03-25 2022-11-01 中车青岛四方车辆研究所有限公司 一种工业机器人模型的构建方法及系统
CN113696185A (zh) * 2021-09-17 2021-11-26 南京师范大学 一种机械手控制程序的自动生成方法
CN114428503A (zh) * 2021-12-28 2022-05-03 深圳优地科技有限公司 物资搬运方法、装置、智能设备和存储介质
CN114800556B (zh) * 2022-04-26 2023-10-24 广州东焊智能装备有限公司 一种基于工业机器人的自动化加工生产线
CN116822325B (zh) * 2023-04-29 2023-12-26 中国人民解放军63963部队 一种总体构型约束下的柴油机性能优化设计方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3300682B2 (ja) * 1999-04-08 2002-07-08 ファナック株式会社 画像処理機能を持つロボット装置
CA2363396A1 (en) * 2001-11-21 2003-05-21 Handshake Interactive Technologies Inc Hard real time control center
CN101623865A (zh) * 2009-07-08 2010-01-13 北京工业大学 独轮机器人系统及其控制方法
CN101791801B (zh) * 2010-01-15 2012-06-06 广东工业大学 工业机器人运动规划与性能测试系统及其实现方法
CN102085664B (zh) * 2011-01-04 2012-07-25 北京林业大学 自主作业林业机器人智能控制系统
US9886554B2 (en) * 2013-09-04 2018-02-06 Meditab Software Inc. Medical pill dispensing system
CN104029216B (zh) * 2014-06-11 2016-02-24 哈尔滨工业大学 具有张力和关节位置反馈的机器人关节用挠性驱动单元
CN105069530B (zh) * 2015-08-13 2019-02-26 肇庆学院 一种基于多目标优化的多机器人任务分配方法
CN107895227B (zh) * 2017-11-02 2021-10-08 上海电力学院 一种移动焊接机器人运行方案的综合评价方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mechatronic system desing of a cake decoration robotic module using a SCARA manipulator;H.S. Esteban Villegas;《Mechatronic system desing of a cake decoration robotic module using a SCARA manipulator》;IEEE;20180201;全文 *

Also Published As

Publication number Publication date
CN110480683A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
CN110480683B (zh) 一种机器人应用系统解决方案集成化设计的大型工具软件系统
Koos et al. The transferability approach: Crossing the reality gap in evolutionary robotics
Schluse et al. Experimentable digital twins for model-based systems engineering and simulation-based development
Zhong et al. Collision-free path planning for welding manipulator via hybrid algorithm of deep reinforcement learning and inverse kinematics
Leger Darwin2K: An evolutionary approach to automated design for robotics
Kokkas et al. An Augmented Reality approach to factory layout design embedding operation simulation
Balakirsky Ontology based action planning and verification for agile manufacturing
Hamer et al. Fast generation of collision-free trajectories for robot swarms using GPU acceleration
CN109434831A (zh) 机器人运行方法、装置、机器人、电子设备及可读介质
Spong An historical perspective on the control of robotic manipulators
Plaku Region-guided and sampling-based tree search for motion planning with dynamics
Hudson et al. Model-based autonomous system for performing dexterous, human-level manipulation tasks
Teng et al. An error-state model predictive control on connected matrix Lie groups for legged robot control
Howell et al. CALIPSO: A differentiable solver for trajectory optimization with conic and complementarity constraints
CN114329801A (zh) 统一多个模拟模型
Wonsick et al. A holistic approach to human-supervised humanoid robot operations in extreme environments
Balatti et al. A method for autonomous robotic manipulation through exploratory interactions with uncertain environments
Ozakyol et al. Advanced robotics analysis toolbox for kinematic and dynamic design and analysis of high‐DOF redundant serial manipulators
Franceschi et al. Optimal design of robotic work-cell through hierarchical manipulability maximization
Spahn et al. Dynamic optimization fabrics for motion generation
Quang et al. Design a nonlinear MPC controller for autonomous mobile robot navigation system based on ROS
Jasour et al. Adaptive neuro‐predictive control for redundant robot manipulators in presence of static and dynamic obstacles: A Lyapunov‐based approach
Rizzi et al. Robust sampling-based control of mobile manipulators for interaction with articulated objects
Nambiar et al. Automation of unstructured production environment by applying reinforcement learning
Blum et al. Rl star platform: Reinforcement learning for simulation based training of robots

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant