背景技术
在现有技术下RGV系统整体布局以某化工厂的具体任务为原型描述,如1图所示。
系统主要由环形轨道、没轨道运行的各搬运车、取货站、送货站、以及待搬运货物。图中各搬运车1-10从取货站1-6取货,沿轨道运输到送货站7-10。1次搬运任务由1辆搬运车执行,包括空车行走、停车取货、载货行走、停车卸货、空车离开5个环节。由于所有搬运车沿轨道行走,具有不能超车的特点,因而在执行多元搬运任务(多车同时搬运)时,如何分配各个搬运车的搬运任务,直接影响整个系统的运行效率。
由于环形轨道引导车搬运系统具有轨道区域有限、取送货点固定、参与搬运车数量一定的特点,因而多采用集中控制的方式,即:将取(送)货任务、各搬运车位置、状态等数据传给控制中心,由控制中心统一进行控制。常用的调度算法有如下几种。
1. 任务不变式调度算法
在这种调度算法中,搬运任务按就近原则分配,一旦分配,在执行任务过程中,不再发生改变。在这种方式中,经常发生正在执行任务的搬运车影响后续任务的情况,如图2所示,其中P1、P2、P3为取货任务点,V1、V2、V3分别为当前各搬运车位置。
(1)首先P1有任务,将任务分配给最近车V1;
(2)然后P2有任务,只能将任务分配给V2;
(3)V2要等V1取完货,走过点P2后,才能取货,可能要等较长时间。
2. 任务可变式调度算法
在这种方式下,当新搬运任务发生时,若最近的搬运车正在执行任务的行进中,则改变其任务,并将原任务重新分配,如图3所示。
V1下在行进,去执行P2处的搬运任务;
这时P3点有新任务,而最近的车V1下在执行P2点的任务,若分配V2执行P3点的任务,则要等V1取完货并行驶越过Pi+1点后V2才能取货,显然不是最佳选择。按贪婪法原则,这量最有利的方法是将正驶向P1点的V1改为取P2点的货;
同时给P2点的任务重新分配后面的搬运车V2。若V2已来不及分配任务P2,则可能造成V2空跑。
3. 其它优化算法
目前有很多人提出了很多基于优化理论的调度算法,如:改进量子微粒群的优化算法、混合遗传算法、自学习模糊神经网络控制方法等,这些算法在理论上都很完善,但在具体应用时可能存在应对特殊情况或突发事件的能力差,且算法复杂,不易编程和验证等不足,而且有的算法还需要通过在线学习进行完善,影响正常生产。
4. 算法调试的复杂性
综合前面的几种调度算法,可以看出,出了存在算法的不足以外,算法的调试也十分复杂,耗费时间、影响生产。
1)搭建控制系统和各搬运车、取货任务台、送货任务台,以及各部分的控制系统,成本高;
2)设置各种搬运任务,控制各搬运车执行实际搬运任务;
3)由于调度规则的复杂性,也给调试人员正确分析带来困难;
4) 若发生运行错误,可能需要人为的进行复杂处理,如人工卸货、人工复位等,严重时可能发生事故。
5) 如果有实用的仿真方法,对解决以上问题具有重要意义。
5. 仿真效果的现实性
由于在RGV系统中,存在搬运车数量多、搬运任务随机性强等特点,使得系统运行较复杂,给系统调试、维护等带来不便。采用的方法是解决此问题的一种有效手段。然而通常的仿真算法,只能给出每个搬运车执行任务的内容、位置、速度等各种数据、曲线等数学描述。
本发明则在虚拟现实环境构建现实场景,以3维动画的方式展示整个系统的运行状态,真实、直观。本发明将控制器(实物)与在计算机上实现的控制对象的仿真模型(见数学仿真)联接在一起进行试验的技术,控制器的动态特性、静态特性和非线性因素等都能真实地反映出来,因此它是一种更接近实际的仿真试验技术。这种仿真技术可用于修改控制器设计(即在控制器尚未安装到真实系统中之前,通过半实物仿真来验证控制器的设计性能,若系统性能指标不满足设计要求,则可调整控制器的参数,或修改控制器的设计),同时也广泛用于产品的修改定型、产品改型和出厂检验等方面。半实物仿真的特点是:①只能是实时仿真,即仿真模型的时间标尺和自然时间标尺相同。②需要解决控制器与仿真计算机之间的接口问题。例如,在进行飞行器控制系统的半实物仿真时,在仿真计算机上解算得出的飞机姿态角、飞行高度、飞行速度等飞行动力学参数会被飞行控制器的传感器所感受,因而必须有信号接口或变换装置。这些装置是三自由度飞行仿真转台、动压-静压仿真器、负载力仿真器等。③半实物仿真的实验结果比数学仿真更接近实际。
发明内容
本发明公开了一种基于虚拟现实的环形RGV半实物仿真系统及无空跑调度算法,采用虚拟现实技术,设计RGV三维动态仿真系统与RGV管理控制系统及调度算法,实现RGV系统的半实物仿真运行。
一种基于虚拟现实的环形RGV半实物仿真系统,包括RGV管理系统、RGV控制系统及调度算法、以及基于虚拟现实的RGV动态仿真系统;其特征在于, RGV动态仿真系统包括虚实转换模块、搬运车模块、取货站模块、送货站模块、环形轨道模块、货物模块和虚拟现实模块;所述虚拟现实模块采用OpenGL技术,初始化虚拟三维场景,场景按整个RGV系统规模进行初始化,分别调用以上各模块中的VR显示功能,建立完整的RGV系统,采用数据驱动技术,在虚拟场景中显示的各部分,随整体的仿真运行数据进行动态更新,实现3维动态效果。
进一步地,所述RGV管理系统可以指定搬运任务的取、送货站的匹配关系,将取的货物善类到指定的送货站。
进一步地,所述RGV控制系统包括RGV控制软件、调度算法、VR显示和命令收发。
进一步地,所述虚实转换模块一方面接收控制系统的调度指令,并将其转换成仿真系统的仿真数据表达;另一方面,将仿真系统中,各搬运任务数据、搬运车状态、位置、速度、以及货物数据向控制系统上传。
进一步地,所述环形轨道模块采用轨道周长与规定起点的方式进行描述,沿运行方向为正。
进一步地,在所述环形轨道模块中,在建立空间坐标系的基础上,增加时间坐标,取系统开始时时间为零,然后设定统一时钟,确定搬运车、取货站、送货站及货物的运行状态。
进一步地,在所述环形轨道模块中,设置一定时间间隔(如10ms)作为环形轨道模块计算周期,每个周期计算一次各部分的当前状态。
一种无空跑调度算法,采用贪婪算法为原则,采用一系列准则表示,每当有新任务发生,或运行中有意外情况时,就起动调度算法,重新分配任务;其特征在于,当有新搬运任务时,先按任务不变的调度算法分配搬运车,然后再次按效率优先原则对各搬运任务重新分配调度准则;所述调度准则包括避碰准则、清路准则、就近准则、排队准则、剥夺准则、让行准则和待命准则,上述调度准则按顺序优先级递减。
进一步地,当取货点比小车多时,每个小车都在取货点上待命,若小车数量多时,每个取货点处都有一个小车在待命。
进一步地,所述避碰准则为:行驶的小车遇到前面的小车时,都要减速,甚至停车,防止发生撞车,直到前面的小车行驶时,才能根据规则继续前进或停止。
进一步地,所述清路准则为:当执行任务的小车前往卸货点时,所经路段上的所有空车和待全职小车均应提前驶出该路段,给动货小车放行,避免每次小车驶到前面的空车后部时先停止,再起动。
进一步地,所述剥夺准则为:若Pi+1点有任务,而最近的车V1在执行Pi+1点后面的任务,若分配V2执行Pi+1点的任务,则要等V1取完货并行驶越过Pi+1点后V2才能取货,显然不是最佳选择,按贪婪法原则,最有利的方法是将正驶向Pi点的V1变为取Pi+1点的货,同时给Pi点重新分配小车V2,因这种情况下原分配给Pi点小车V1被Pi+1点给剥夺,所以称为剥夺准则;其中,Pi与Pi+1为取货点,V1与V2均为取货小车。
进一步地,在给被剥夺小车的任务Pi重新分配小车时,可以按新任务一样分配,根据情况使用就近准则、排队准则,甚至嵌套剥夺。
进一步地,所述让行准则为:当有执行任务的小车行驶时,前面的空车也必须行驶,以给执行任务的小车让路,这时可能导致小车出现空跑,但这是必须的。
进一步地,所述待命准则为:对于未分配任务的空车,除了给后面的车让行外,应停车待命,为了提高接任务的反应速度,各小车应在接货点待命,期规则是,小车行驶到取货工位时,若后面有跟随,同时下一取货点无车,则继续前进到下一个取货点,否则停在当前点待命。
本发明具有下述优点。
1.在RGV调度与控制问题上,采用半实物仿真技术,其中控制系统采用实际控制系统,而RGV环节采用仿真实现。为研究调度算法,以及新任务的试运行,提供了低成本、高效率有调试手段。
2.RGV仿真系统上,采用虚拟现实技术,能够在虚拟场景中真实再现RGV系统的运行情况。结合各环节的数学模型与运行数据,实现RGV系统的三维动画仿真。
3.无空跑调度算法,实现全局准最优,局部最优,满足实际需求。
4. 软件采用开放式结构设计,在与RGV搬运车通讯方面,采用2级方式,第1 级是控制软件先以WebAccess标准(或其它标准协议)进行命令与数据的收发;第2 级实现数据格式转换,将标准协议数据转换成RGV搬运车所能接收的通讯数据格式。第2级可以按具体搬运车的通讯形式设计,以此方式实现与不同通讯形式的RGV搬运车通讯,具有通用性。
在RGV控制软件设计上,调度算法采用开放式设计,预留加载其它算法接口,可以允许加载其它调度算法,可以采用动态库方式实现。
具体实施方式
下面通过具体实施方式并结合附图对本发明作进一步详细的描述。
本发明采用虚拟现实技术,设计RGV三维动态仿真系统(虚拟部分)与RGV管理控制系统及调度算法(现实部分),实现RGV系统的半实物仿真运行。在仿真运行时,RGV管理控制系统是实际控制系统,RGV三维动态仿真系统是虚拟的被控对象。在实际运行时,将RGV管理控制系统的控制(反馈)信号切换到真实的RGV运行系统上,这时RGV管理控制系统与RGV运行系统均是真正的系统,执行生产中的货物搬运任务。
如图4所示,一种基于虚拟现实的环形RGV半实物仿真系统包括基于虚拟现实的环形RGV半实物仿真系统包括RGV管理系统、RGV控制系统及调度算法、以及基于虚拟现实的RGV动态仿真系统、以及其中无线通讯等环节;不包括环形轨道、搬运车、取货站、送货站等的设计。
其中RGV管理系统、RGV控制系统及调度算法是实际系统,由控制计算机、专用软件、网络通讯等构成;RGV动态仿真系统是采用虚拟现实技术开发的虚拟部分;两部分仿真系统中的“虚拟-现实”转换模块相联。
1. RGV管理系统
RGV管理系统包含图4中RGV管理软件及数据库,这部分可以与RGV控制系统软件运行在同一台计算机上,也可以运行在专门的服务器上,主要负责生产任务管理、下发、统计、查询等工作。运行记录、任务数据等信息记录在数据库中,是RGV系统运行时的管理系统。
在搬运任务管理上,通常不区分各取货站、送货站的货物类型,以效率优,即搬运车从某取货站取到货物,以效率优先的原则,送到任一送货站。而本系统最显著的特征是可以指定搬运任务的取、送货站的匹配关系,将取的货物善类到指定的送货站。
2. RGV控制系统
主要包括图4中的RGV控制软件、调度算法、VR显示、命令收发等。其中调度算法、VR显示、命令收发等模块均是RGV控制软件的组成部分,软件采用VC开发,运行于windows平台,其功能是直接采集所有搬运任务的发生及执行情况,以及各搬运车的位置、状态等数据,根据调度算法合理分析,得出给各搬运车的控制指令,协调所有搬运车完成搬运任务。
如图5所示,RGV控制系统采用开放式结构,其中(1)RGV参数配置、(2)RGV调度算法、(3)具体通讯接口及通讯协议、(4)基于虚拟现实的RGV三维仿真系统及RGV运行系统均为对用户开放部分。具体的,(1)RGV参数配置,用户可以按指定规则定制系统规模、布局、特征参数,适用于控制不同结构的RGV系统。(2)RGV调度算法,调度算法模块对用户开放,用户可以选择现有的调度算法,也可以设置自己特有的调度算法。运行时,可以选择合适的调度算法。(3)具体通讯接口及通讯协议,在命令与数据收发方面,采用WebAccess标准,配合具体的通讯转换程序,可以实现与任意格式的搬运车进行通讯,具有通用(能兼容任意标准协议的搬运车);在具体通讯方式上,因搬运车是移动的,因而一般采用无线通讯方式。(4)基于虚拟现实的RGV三维仿真系统及RGV运行系统,在实际运行时,控制系统可以控制实际RGV系统完成搬运任务。其中搬运车可以用户自行设计或采购,使本系统具有通用性;在半实物仿真时,可以控制基于虚拟现实的RGV三维仿真系统运行,模拟实际系统的运行情况。
3. RGV仿真系统
采用虚拟现实技术与数据驱动技术,其中虚拟现实技术实现仿真系统的三维动态效果,数据驱动技术使系统仿真实际系统的运行情况;二者结合,在虚拟现实环境中展示RGV系统的实际运行情况。这部分主要包括:虚实转换模块、搬运车模块、取(送)货站模块、环形轨道模块、货物模块、虚拟现实模块等。
(1)虚实转换模块
虚实转换模块要实现RGV仿真系统(虚)与RGV控制系统(实)进行命令与数据交换的功能:一方面,通过以太网(或数据端口)接收控制系统的调度指令,并将其转换成仿真系统的仿真数据表达;另一方面,将仿真系统中,各搬运任务数据、搬运车状态、位置、速度、以及货物等数据向控制系统上传。是住半实物仿真中,仿真部分与实物部分的连接通道。
(2)环形轨道模块
环形轨道在RGV系统中,贯穿始终,所有的取(送)货站、各搬运车的位置,都要相对轨道定位。在仿真系统中,决定着整个系统的坐标系,所有RGV系统的组成部分的数学模型,均以轨道所确定的坐标系构建。由于在实际系统中,环形轨道可以是任意形状,只要首尾连接形成封闭曲线,且满足搬运车转弯要求,可以根据生产情况任意布置。因而在数学模型上,可以采用轨道周长与规定起点的方式进行描述,沿运行方向为正。
在建立空间坐标系的基础上,增加时间坐标,取系统开始时时间为零,然后设定统一时钟,确定搬运车、各取(送)货站及货物的运行状态。可以设置合适的计算周期,如在本系统中,可以设置10ms作为计算周期,每个周期计算一次各部分的当前状态。
(3)搬运车模块
搬运车是RGV系统的重要组成部分,搬运车模块仿真实际搬运车的所在运行情况,其数学模型基于轨道坐标系构建,主要参数与动作有:
a) 描述参数:长、宽、高、颜色、围栏等参数,按实际搬运车设置
b) 状态参数:运行、停止、空车、载货、待命、等待等,初始化后,描述仿真运行时,各搬运车的当前状态。
c) 运行参数:当前位置、目标位置、速度、装(卸)货开始(完成)、定位情况、前后间距、开始时间、当前时间等。
d) 主要动作:命令(数据)收发、起动、停止、装(卸)载过程、定位等,按坐标规定的统一时间周期,计算各搬运车的运行参数与状态参数。
e)VR显示:在给定的虚拟现实场景中,以上参数显示本搬运车的三维状态。
f)在程序实现上,设计1个独立程序模块(如C++类),实现参数、动作的描述,采用一系列成员变量描述各参数、一系列成员函数描述各动作与计算。
(4)取(送)货站模块
取(送)货站较搬运车简单,分别仿真实际取货站、送货站的搬运任务,以及与搬运车装、卸货物的过程,其数学模型基于轨道坐标系构建,主要参数与动作有:
a)描述参数:长、宽、高、颜色、围栏、位置等参数,按实货站设置。
b) 状态参数:货物有无等,初始化后,描述仿真运行时,各搬运车的当前状态。
c) 运行参数:任务申请状态、分配搬运车序号、装(卸)货开始(完成)、开始时间、当前时间等
d) 主要动作:搬运任务申请、分配车确认、装(卸)载过程。
e) VR显示:在给定的虚拟现实场景中,以上参数显示本货站的三维状态。
在程序实现上,设计1个独立程序模块(如C++类),实现参数、动作的描述,采用一系列成员变量描述各参数、一系列成员函数描述各动作与计算。
(5)货物模块
货物在RGV系统中没有任何主动动作,也没有控制器,只是随传取货站、搬运车及送货站移动,因而模型十分简单,只需数据描述即可,主要有:
a)描述参数:几何形状及尺寸、颜色、ID号、位置等参。
b)VR显示:在给定的虚拟现实场景中,按以上参数三维图形。
c) 更多货物信息,可以在数管理软件中设置与管理,与仿真系统无关。
(6)虚拟现实模块
虚拟现实模块是仿真系统中的一个重要模块,主要功能是实现RGV系统在虚拟场景中的三维重现。其主要特点为:
a) 采用OpenGL技术,初始化虚拟三维场景,场景按整个RGV系统规模进行初始化。
b)VR显示,分别调用以上各模块中的VR显示功能,建立完整的RGV系统,包括地面、轨道、各取送货站、各搬运车、待搬运货物等。
c) 采用数据驱动技术,在虚拟场景中显示的各部分,随整体的仿真运行数据进行动态更新,实现3维动态效果。
(7)RGV仿真系统中在关键流程
如图6所示,在RGV系统中,搬运任务来自取货站的任务请求,经控制系统,根据一定的调度算法将该任务根本给指定的搬运车执行,最后送到指定的送货站,这是系统的主要运行流程。
4. 无空跑调度算法
本发明中的调度算法,通过制定更合理的调度规则,实现搬运车无空跑调度。其技术关键是:当有新搬运任务时,先按任务不变的调度算法分配搬运车;然后再次按效率优先原则对各搬运任务重新分配。在重新分配时,由于搬运车与搬运任务数量相同,因而从原理上就是无空跑现象发生的。
本调度算法,得到的解是“全局准最优、局部最优”,但在调度规则上符合人们的直觉,且易理解,实用性强。
调度算法采用贪婪算法为原则,在对问题求解时,总是做出在当前看来是最好的选择。通过制定合理的贪心规则,实现“全局准最优、局部最优”。算法采用一系列准则表示,每当有新任务发生,或运行中有意外情况时,就起动调度算法,重新分配任务。
以下调度准则,按顺序优先级递减,如其中准则1是安全性准则,即一切调度及运行,均以安全为前提。
(1)避碰准则
行驶的小车遇到前面的小车时,都要减速,甚至停车,防止发生撞车,直到前面的小车行驶时,才能根据规则继续前进或停止。
(2)清路准则
当执行任务的小车前往卸货点时,所经路段上的所有空车和待全职小车均应提前驶出该路段,给载货小车让行,避免每次小车驶到前面的空车后部时先停止,再起动。
(3)就近准则
如图7所示,选取最近的搬运车执行搬运任务,代价最小,如当Pi有任务时,若后面最近的小车V1无任务,则调取V1执行任务。
(4)排队准则
如图8所示,若Pi-1点有任务,而最近的车V1下在执行Pi-1点更前面的任务,则分配V2执行Pi-1点的任务,如图8所示,因这种情况小车的按排队顺序分配任务的,称为排队准则。
(5)剥夺准则
如图9所示,若Pi+1点有任务,而最近的车V1下在执行Pi+1点后面的任务,若分配V2执行Pi+1点的任务,则要等V1取完货并行驶越过Pi+1点后V2才能取货,显然不是最佳选择,按贪婪法原则,这量最有利的方法是将正驶向Pi点的V1必为取Pi+1点的货,同时给Pi点重新根本小车V2,如图9所示,因这种情况下原分配给Pi点小车V1被Pi+1点给剥夺,所以称为剥夺准则。
其执行过程相当于:
第1步: Pi-V1,Pi+1—V2;
第2步:重新分配,V1与V2任务互换,即:Pi-V2,Pi+1—V1;
这条准则实现了调度任务的可变性,同时防止出现空跑现象。
在给被剥夺小车的任务Pi重新分配小车时,可以按新任务一样分配,根据情况使用就近准则、排队准则,甚至嵌套剥夺;但应注意使用多层嵌套剥夺时要限制剥夺层数,防止出现循环嵌套(在环行路上发生多圈循环剥夺,即发生死递归调用)。
(6)让行准则
如图10所示,当有执行任务的小车行驶时,小车V2,前面的空车V1也必须行驶,以给V2让路,这时可能导致小车出现空跑,但这是必须的。
(7)待命准则
对于无任务的空车,除了给后面的车让行外,应停车待命,为了提高接任务的反应速度,各小车应在接货点待命,期规则是,小车行驶到取货工位时,若后面有跟随,同时下一取货点无车,则继续前进到下一个取货点,否则停在当前点待命。
最后,当取货点比小车多时,每个小车都在取货点上待命,若小车数量多时,每个取货点处都有一个小车在待命。
本发明主要解决了以下问题:
1.RGV搬运车调度问题,设计合理的搬运调度算法,搬运车在执行任务过程中,基本无空跑、无等待,提高系统的搬运效率和运行效率。
2. 采用基于虚拟现实的三维动态仿真系统,模拟RGV系统的运行状态,并在虚拟场景中展示出来,为研究调度算法提供便利。
3. 采用半实物仿真方式, RGV管理与控制系统,既是仿真运行的控制系统,也是实际运行的控制系统。仿真运行时,RGV仿真系统直接接收控制系统的控制指令,并反馈仿真状态,直接仿真运行实际生产中的搬运任务;调试无误后,切换到实际系统中运行,避免直接运行时可能造成的损失和危险,缩短调试时间。