CN115885226A - 用于对自动导引车(agv)系统进行仿真的方法和装置 - Google Patents
用于对自动导引车(agv)系统进行仿真的方法和装置 Download PDFInfo
- Publication number
- CN115885226A CN115885226A CN202080103101.5A CN202080103101A CN115885226A CN 115885226 A CN115885226 A CN 115885226A CN 202080103101 A CN202080103101 A CN 202080103101A CN 115885226 A CN115885226 A CN 115885226A
- Authority
- CN
- China
- Prior art keywords
- virtual
- agv
- model
- sensor
- equipment
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/41885—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B66—HOISTING; LIFTING; HAULING
- B66F—HOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
- B66F9/00—Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
- B66F9/06—Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
- B66F9/063—Automatically guided
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
一种用于对自动导引车(AGV)系统进行仿真的方法包括:获得仿真环境中的虚拟AGV的传感器数据;确定仿真环境中的与虚拟AGV交互的虚拟设备的设备状态;将传感器数据和设备状态发送到AGV系统,并且从AGV系统接收AGV运动控制信息和设备操作信息;以及控制虚拟AGV和虚拟设备的运动。利用该方法,减少了部署工程师在部署和调试上花费的时间和精力,减少了工厂停工时间,并且可以验证整个AGV系统和AGV传感器。
Description
技术领域
本公开内容涉及工业制造技术的领域,更具体地,涉及用于对AGV系统进行仿真的方法、装置、计算设备、计算机可读存储介质和程序产品。
背景技术
随着定位和导航技术的发展,自动导引车(Automated Guided Vehicle,AGV)越来越多地用于工业环境中,例如用于工厂中,以在仓库与生产线之间或在生产线之间移动材料以提高运输效率。当AGV执行材料运输任务时,AGV通常可以与工厂中运行的其他机器或机械设备相互作用。机器或机械设备可以是位于AGV的运动路径上的自动化设备(例如自动门、电梯和信号灯)或者与AGV执行的运输任务相关的其他自动化设备(例如传送带、机器人、升降机等)。另外,当在工厂中运输材料时,AGV可能经常与环境对象碰撞,环境对象例如是静态对象(例如围墙或箱子)和动态对象(例如工人或其他AGV)。
AGV与其他自动化设备之间的交互需要进行验证和调试,以便实现平稳的材料运输操作并提高工厂的生产率。目前,AGV部署工程师通常根据经验在现场对AGV与其他自动化设备之间的交互进行验证和调试,并且优化调度管理器的路由和调度算法。
此外,在一些现有的仿真器中,AGV控制器被虚拟化以验证和调试AGV的控制算法,或者单独验证调度管理器的路由和调度算法。
发明内容
当AGV与其他自动化设备之间的交互由AGV部署工程师进行验证和调试时,通常需要花费大量的时间和精力。同时,AGV的部署过程经常需要关闭工厂,这可能影响工厂的正常生产并降低生产率。此外,这样的调试高度依赖于工程师的个人经验和事先准备,这给工厂的停工时间的估计带来了很大的不确定性。
另一方面,现有的仿真器只能单独验证和调试AGV控制器或路由和调度算法,但是仿真器既不能验证AGV和其他自动化设备之间的交互,也不能同时验证AGV控制器、路由和调度算法以及AGV与其他自动化设备之间的交互。此外,在AGV控制器被完全虚拟化的情况下,仿真器中的仿真结果取决于手动设置的参数,并且通常与实际情况不一致。
在本公开内容的第一实施方式中提出了一种用于对AGV系统进行仿真的方法,该方法包括:获得仿真环境中的虚拟AGV的传感器数据;确定仿真环境中的与虚拟AGV交互的虚拟设备的设备状态;将传感器数据和设备状态发送到AGV系统,并且从AGV系统接收AGV运动控制信息和设备操作信息,其中,AGV运动控制信息和设备操作信息由AGV系统基于传感器数据和设备状态来生成;以及分别基于AGV运动控制信息和设备操作信息来控制仿真环境中的虚拟AGV和虚拟设备的运动。
在该实施方式中,可以对AGV与自动化设备之间的交互进行仿真,然后可以对该交互进行验证和调试,并且可以检查运输操作时间、顺序和拥塞,从而优化路由和调度算法。因此,利用本公开内容的方法,减少了部署工程师在部署和调试上花费的时间和精力,并且减少了工厂停工时间。此外,利用本公开内容的方法,可以验证整个AGV系统和AGV传感器,而不仅仅是AGV系统的一部分。
在本公开内容的第二实施方式中提出了一种用于对AGV系统进行仿真的装置,该装置包括:传感器检测单元,传感器检测单元被配置成获得仿真环境中的虚拟AGV的传感器数据;状态确定单元,状态确定单元被配置成确定仿真环境中的与虚拟AGV交互的虚拟设备的设备状态;数据通信单元,数据通信单元被配置成将传感器数据和设备状态发送到AGV系统,并且从AGV系统接收AGV运动控制信息和设备操作信息,其中,AGV运动控制信息和设备操作信息由AGV系统基于传感器数据和设备状态来生成;以及运动控制单元,运动控制单元被配置成分别基于AGV运动控制信息和设备操作信息来控制仿真环境中的虚拟AGV和虚拟设备的运动。
在本公开内容的第三实施方式中提出了一种计算设备。该计算设备包括:处理器;以及存储器,存储器被配置成存储计算机可执行指令,计算机可执行指令在被执行时使处理器执行第一实施方式中的方法。
在本公开内容的第四实施方式中提出了一种计算机可读存储介质。计算机可读存储介质具有存储在其中的计算机可执行指令,计算机可执行指令被用来执行第一实施方式中的方法。
在本公开内容的第五实施方式中提出了一种计算机程序产品。该计算机程序产品有形地存储在计算机可读存储介质中并且包括计算机可执行指令,计算机可执行指令在被执行时使至少一个处理器执行第一实施方式中的方法。
附图说明
参照附图和以下详细描述,本公开内容的各个实施方式的特征、优点和其他方面将变得更加明显。此处以示例性而非限制性的方式示出了本公开内容的若干实施方式。在附图中,
图1示出了根据本公开内容的实施方式的用于AGV系统的仿真方法;
图2示出了根据本公开内容的实施方式的用于实现图1中的仿真方法的仿真系统;
图3(a)至图3(b)分别示出了图2的实施方式中的虚拟设备和虚拟AGV的示意性部件;
图4(a)至图4(e)示出了图2的实施方式中的一个AGV和与该AGV交互的多个自动化设备的3D模型;
图5(a)至图5(d)示出了图4中的AGV和与该AGV交互的多个自动化设备的运动学模型;
图6是通过显示界面显示的图4(a)中的虚拟AGV的虚拟激光雷达的示意性图;
图7示出了通过显示界面显示的根据图2的实施方式的示意性仿真环境;
图8(a)至图8(b)分别是通过显示界面显示的图4(a)中的虚拟AGV与虚拟设备和环境对象的碰撞的示意性图;
图9示出了根据本公开内容的实施方式的用于实现图1中的仿真方法的另一仿真系统;
图10示出了根据本公开内容的实施方式的用于对AGV系统进行仿真的装置;以及
图11是根据本公开内容的实施方式的用于对AGV系统进行仿真的计算设备的框图。
具体实施方式
下面将参照附图详细描述本公开内容的各种示例性实施方式。虽然以下描述的示例性方法和装置包括在其他部件的硬件中执行的软件和/或固件,但是应当注意,这些示例仅是说明性的,而不应被认为是限制性的。例如,认为任何或所有硬件、软件和固件部件可以以专用于硬件、以专用于软件或以硬件和软件的任何组合来实现。因此,尽管下面已经描述了示例性方法和装置,但是本领域技术人员将容易理解,所提供的示例不用于限制用于实现该方法和装置的方式。
另外,在附图的流程图和框图中示出了根据本公开内容的各个实施方式的方法和系统的可能实现的架构、功能和操作。应当注意,框中标记的功能也可以以与附图中标记的顺序不同的顺序出现。例如,取决于所涉及的功能,两个连续的块可以基本上并行地执行,或者它们有时可以以相反的顺序执行。还应当注意,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以使用用于执行指定功能或动作的专用的基于硬件的系统来实现,或者可以使用专用硬件和计算机指令的组合来实现。
本文使用的术语“包括”和“包含”以及类似术语是开放式术语,即“包括/包含,但不限于”,指示还可以包括其他内容。术语“基于”是“至少部分地基于”。术语“实施方式”指示“至少一个实施方式”,术语“另一实施方式”指示“至少一个附加实施方式”等等。
图1示出了根据本公开内容的实施方式的用于对自动导引车(AGV)系统进行仿真的方法。AGV系统是工厂中的实际系统,并且至少包括调度管理器和AGV控制器。调度管理器根据AGV任务、从各个AGV控制器接收的AGV状态、以及由在执行任务时与AGV交互的相应自动化设备接收的对应设备状态来调度和路由AGV。调度管理器生成分别用于控制AGV和与AGV交互的自动化设备的运动的AGV控制信息和设备操作信息。AGV控制器根据AGV控制信息以及AGV的当前位置和当前取向来控制AGV的电机的运动。
参照图1,方法100从步骤101开始。在步骤101中,获得仿真环境中的虚拟AGV的传感器数据。建立与实际工厂环境一致的仿真环境,并且对工厂中的材料运输场景进行仿真。仿真环境包括虚拟AGV、与由虚拟AGV执行的运输任务相关的虚拟设备(例如,传送带、机器人、升降机等)、位于虚拟AGV的运动路径上的虚拟设备(例如,自动门、电梯、信号灯等)、以及虚拟AGV周围的环境对象(例如,围墙、箱子、工人、其他AGV等)。仿真环境中的虚拟AGV的传感器数据可以用于计算仿真环境中的虚拟AGV的位置和取向。在一些实施方式中,可以周期性地获得传感器数据以周期性地计算仿真环境中的虚拟AGV的位置和取向。
在一些实施方式中,获得仿真环境中的虚拟AGV的传感器数据的步骤101还包括(图1中未示出):基于虚拟AGV的传感器模型获得传感器数据,虚拟AGV的传感器模型包括虚拟AGV的虚拟传感器的位置和参数。虚拟AGV包括三个模型:3D模型、运动学模型和传感器模型。3D模型描述了AGV主体的轮廓,即形状和大小。运动学模型描述了AGV主体的移动部件的运动关系和运动参数,例如移动部件的连接关系、运动类型、运动方向和运动限制。传感器模型描述了AGV传感器相对于AGV主体的位置和传感器参数。AGV传感器可以是激光雷达、安全光栅、轨迹跟踪器、摄像机等,因此传感器参数可以根据不同类型的传感器而变化。例如,对于激光雷达,传感器参数可以包括扫描线束(例如,12/24/48束)、扫描角度(例如,120°/180°/360°)以及线束有效距离(例如,1/2/5m)。为了获得虚拟AGV的传感器数据,与虚拟AGV类似,虚拟设备和/或虚拟AGV周围的环境对象也包括3D模型。如果虚拟设备和/或环境对象是可移动的,则还包括运动学模型。
因此,可以根据虚拟AGV的传感器模型中定义的虚拟传感器的位置和虚拟传感器的参数来获得传感器数据。当在虚拟传感器的检测范围内(例如,在激光雷达的扫描角范围内或在摄像机的视场内)存在虚拟设备和/或环境对象时,可以进一步使用由虚拟设备和/或环境对象的3D模型定义的外部轮廓数据来获得传感器数据。此外,所获得的传感器数据可以根据由传感器模型表示的不同传感器类型而变化。例如,对于激光雷达,传感器数据可以是与激光雷达的线束的数量相对应并且具有小于或等于线束有效距离的值的数据集。针对另一示例,对于安全光栅,传感器数据可以是0或1的值,而对于摄像机,传感器数据可以是RGB图像或RGB-D图像。
以上述方式,在仿真环境中对实际工厂中的AGV传感器和其他虚拟设备和/或环境对象进行仿真,因此获得的传感器数据接近于由实际工厂中的AGV获得的传感器数据。
仍然参照图1,在步骤102中,确定仿真环境中的与虚拟AGV交互的虚拟设备的设备状态。与虚拟AGV交互的虚拟设备可以是与由虚拟AGV执行的运输任务相关的虚拟设备(例如,传送带、机器人、升降机等)和位于虚拟AGV的运动路径上的虚拟设备(例如,自动门、电梯、信号灯等)。设备状态可以根据虚拟设备的不同类型而变化。例如,对于自动门,设备状态可以包括打开状态、正在打开状态、关闭状态、正在关闭状态或等待状态。针对另一示例,对于电梯,设备状态可以包括电梯所位于的楼层和处于打开状态、正在打开状态、关闭状态、正在关闭状态或等待状态的电梯门。对于传送带,设备状态可以包括运行和非运行状态。为调度管理器提供设备状态,使得调度管理器分别控制虚拟设备和虚拟AGV的运动,以实现虚拟AGV与虚拟设备之间的交互。应当注意,步骤102可以与步骤101顺序地或同步地执行,或者在更多情况下独立于步骤101执行。
在一些实施方式中,确定仿真环境中的与虚拟AGV交互的虚拟设备的设备状态的步骤102进一步包括:基于虚拟设备的传感器模型获得虚拟设备的状态数据,该状态数据表示虚拟设备的移动部件之间的相对运动,其中,虚拟设备的传感器模型包括虚拟设备的虚拟传感器的位置和参数;以及根据状态数据来确定虚拟设备的设备状态。在实施方式中,类似于虚拟AGV,针对虚拟设备构建三个模型,即3D模型、运动学模型和传感器模型。3D模型描述了虚拟设备的轮廓,即,形状和大小。运动学模型描述了虚拟设备的移动部件的运动关系和运动参数,例如移动部件的连接关系、运动类型、运动方向和运动限制。传感器模型描述了虚拟传感器的位置(例如,在移动部件的接合处)和参数,该虚拟传感器用于检测移动部件之间的相对运动。例如,对于自动门,虚拟传感器可以是在门框与门扇之间的接合处的虚拟激光雷达,并且虚拟传感器的参数可以包括扫描线束、扫描角度和线束有效距离。可替选地,虚拟传感器可以是位于门框与门扇之间的接合处(感测门板位置的移动)的虚拟位置传感器,并且通过门扇的坐标位置的变化来检测门框与门扇的相对运动。针对另一示例,对于电梯,虚拟传感器可以是轿厢上或地面上的虚拟高度传感器以及位于轿厢的门框与门扇之间的接合处的虚拟激光雷达或虚拟位置传感器。所获得的状态数据可以根据虚拟设备的传感器模型所表示的不同传感器类型而变化。例如,对于自动门,状态数据可以是表示自动门的打开程度的数据(例如,0至100),而对于电梯,状态数据可以是表示轿厢的楼层号和打开程度的数据。在获得虚拟设备的状态数据之后,基于状态数据来确定虚拟设备的设备状态。如上面所提及的,设备状态可能根据不同的虚拟设备而变化。可以根据预设规则将状态数据映射到不同的设备状态。
以上述方式,在仿真环境中对在执行运输任务时与AGV交互的实际工厂中的自动化设备进行仿真,并且可以获得虚拟自动化设备的设备状态,使得分别控制虚拟AGV和与虚拟AGV交互的虚拟设备。因此,几乎可以实际地对AGV与自动化设备之间的交互进行仿真。
仍然参照图1,在步骤103中,将传感器数据和设备状态发送到AGV系统,并且从AGV系统接收AGV运动控制信息和设备操作信息,其中,AGV运动控制信息和设备操作信息由AGV系统基于传感器数据和设备状态来生成。AGV系统是仿真环境之外的实际系统。根据AGV的运动学模型,AGV运动控制信息可以是电机控制信息或位置控制信息。电机控制信息可以包括虚拟AGV的电机的旋转方向和旋转角度,并且位置控制信息可以包括虚拟AGV的整体运动方向、旋转方向和旋转角度以及虚拟AGV的行进速度。设备操作信息可以包括虚拟设备的目标位置和执行动作,例如自动门的打开/关闭、电梯要到达的楼层和电梯的打开/关闭、升降机的上升/下降等。
在一些实施方式中,AGV系统包括AGV控制器和调度管理器。将虚拟AGV的传感器数据发送到AGV控制器,并且将虚拟设备的设备状态发送到调度管理器。可以根据AGV控制器的接口定义(例如TCP/IP、OPC、Profinet等)和调度管理器的接口定义(例如TCP/IP、OPC、Profinet等)来分别建立不同的通信接口。
在一些实施方式中,将虚拟AGV的传感器数据周期性地发送到AGV控制器,并且响应于来自调度管理器的请求,将虚拟设备的设备状态发送到调度管理器。具体地,在AGV控制器接收到虚拟AGV的传感器数据之后,可以根据AGV控制器的局部地图数据和传感器数据来计算仿真环境中的虚拟AGV的当前位置和当前取向,即虚拟AGV被定位。接下来,AGV控制器响应于来自调度管理器的请求,周期性地向调度管理器发送虚拟AGV的当前位置和当前取向、由虚拟AGV执行的运输任务、目标位置和速度参数(例如,加速度、最大速度、电机速度等)、虚拟AGV的功率和经过的运行时间、以及作为AGV的状态数据的其他信息。
调度管理器根据来自AGV控制器的AGV状态数据和由虚拟AGV执行的运输任务的路线图来确定要操作的虚拟设备,并且向仿真器发送设备状态请求。仿真器响应于该请求向调度管理器发送虚拟设备的设备状态。然后,调度管理器基于来自AGV控制器的AGV状态数据和设备状态来生成AGV运动控制信息和设备操作信息。AGV运动控制信息用于使AGV到达期望的位置并执行期望的动作,以及设备操作信息用于使虚拟设备到达期望的位置并执行期望的动作。调度管理器继续向仿真器发送设备状态请求。当所接收到的虚拟设备的设备状态处于期望状态时,调度管理器再次向AGV控制器发送AGV控制信息,以使仿真环境中的虚拟AGV能够与虚拟设备交互。
在接收到AGV控制信息之后,AGV控制器基于AGV控制信息和虚拟AGV的当前位置和当前取向来生成虚拟AGV的电机控制信息,或者进一步将电机控制信息转换为位置控制信息,并且将位置控制信息发送到仿真器。
接下来,方法100前进到步骤104,在步骤104中,分别基于AGV运动控制信息和设备操作信息来控制仿真环境中的虚拟AGV和虚拟设备的运动。在接收到AGV运动控制信息和设备操作信息之后,仿真器一方面基于包括在AGV运动控制信息中的AGV目标位置和执行动作来控制虚拟AGV移动到目标位置并执行对应的动作,并且另一方面基于包括在设备操作信息中的执行动作来控制虚拟设备移动到目标位置并执行对应的动作。通过分别控制虚拟AGV和虚拟设备的运动和动作,虚拟AGV可以在仿真环境中与虚拟设备交互。例如,升降机将材料卸载到虚拟AGV,并且虚拟AGV通过自动门并乘坐电梯到传送带以卸载材料等。
在一些实施方式中,分别基于AGV运动控制信息和设备操作信息来控制仿真环境中的虚拟AGV和虚拟设备的运动进一步包括(图1中未示出):基于AGV运动控制信息、虚拟AGV的运动学模型以及虚拟AGV的移动部件的当前位置来确定虚拟AGV的移动部件的下一位置;以及基于设备操作信息、虚拟设备的运动学模型以及虚拟设备的移动部件的当前位置来确定虚拟设备的移动部件的下一位置,其中,虚拟AGV和虚拟设备的运动学模型包括虚拟AGV和虚拟设备的移动部件的运动关系和运动参数。
如上面所提及的,AGV的运动学模型和虚拟设备的运动学模型分别定义了AGV和虚拟设备的移动部件的运动关系和运动参数。AGV运动控制信息可以是电机控制信息或位置控制信息。电机控制信息可以包括虚拟AGV的电机的旋转方向和旋转角度,并且位置控制信息可以包括虚拟AGV的整体运动方向、旋转方向和旋转角度以及虚拟AGV的行进速度。基于AGV运动控制信息、AGV的运动学模型以及AGV的移动部件的当前位置来计算AGV的移动部件的下一位置。设备操作信息包括虚拟设备的目标位置和执行动作。设备操作信息被转换成虚拟设备的目标位置和虚拟设备的移动部件之间的接合的控制信息。根据虚拟设备的目标位置和转换后的接合的控制信息、虚拟设备的运动学模型以及虚拟设备的移动部件的当前位置来计算虚拟设备的移动部件的下一位置。可以为(将在下面描述的)用于碰撞检测的碰撞检测单元和用于显示3D图像的3D呈现单元提供通过计算获得的虚拟AGV的移动部件和虚拟设备的移动部件的下一位置。
分别基于来自实际AGV系统的AGV运动控制信息和设备操作信息来控制仿真环境中的虚拟AGV和虚拟设备的运动,以使得仿真环境中的虚拟AGV和虚拟设备能够由实际控制信号来控制而不依赖于手动输入,并且因此仿真结果更接近实际工厂中的情况。
在一些实施方式中,方法100还包括(图1中未示出):确定虚拟AGV是否与虚拟设备和/或虚拟AGV周围的环境对象碰撞或过于接近。在实际工厂中,AGV在执行运输任务时可能与虚拟设备、AGV周围的静态或动态对象或其他AGV碰撞,这指示AGV部署的问题。因此,可以在仿真环境中执行碰撞检测。
在一些实施方式中,确定虚拟AGV是否与虚拟设备和/或虚拟AGV周围的环境对象碰撞或过于接近进一步包括:基于虚拟AGV的3D模型以及虚拟设备和/或虚拟AGV周围的环境对象的3D模型来确定虚拟AGV与虚拟设备和/或虚拟AGV周围的环境对象之间的距离;以及根据所确定的距离来确定虚拟AGV是否与虚拟设备和/或虚拟AGV周围的环境对象碰撞或过于接近,其中,虚拟AGV的3D模型以及虚拟设备和/或虚拟AGV周围的环境对象的3D模型分别包括虚拟AGV以及虚拟设备和/或虚拟AGV周围的环境对象的轮廓数据。可以通过使用由虚拟AGV的3D模型定义的轮廓数据、由虚拟设备和/或虚拟AGV周围的环境对象的3D模型定义的轮廓数据、以及虚拟设备和/或虚拟AGV周围的环境对象的当前位置执行计算来获得AGV与虚拟设备和/或环境对象之间的距离。当该距离小于或等于零时,这指示AGV已经侵入虚拟设备和/或环境对象。当距离小于阈值时,这指示AGV过于接近虚拟设备或和/或环境对象。
通过对虚拟AGV与虚拟设备和/或虚拟AGV周围的环境对象的碰撞检测,可以对实际工厂环境中的碰撞事件进行仿真,以帮助仿真器的用户调整AGV的部署。
在一些实施方式中,方法100还包括(图1中未示出):根据仿真环境中的所有虚拟AGV、虚拟设备和环境对象的3D模型、通过显示界面来显示所有虚拟AGV、虚拟设备和环境对象的3D图像。通过使用所有虚拟AGV、虚拟设备和环境对象的3D模型和当前位置,所有虚拟AGV、虚拟设备和环境对象的3D图像可以通过3D呈现技术显示在显示界面上,使得可以在显示界面上观察到与实际工厂中的AGV和自动化设备的运动和/或操作类似的AGV和自动化设备的运动和/或操作。除了3D模型之外,还可以在显示界面上显示碰撞检测的结果,以突出显示AGV与虚拟设备和/或AGV周围的环境对象碰撞和/或过于接近等。
通过显示虚拟AGV、虚拟设备和环境对象的3D图像来实现可视化效果,这可以帮助仿真器的用户直接观察虚拟AGV与虚拟设备之间的交互过程和整个仿真,从而使AGV的调试和部署更容易。
可以通过在仿真器中对AGV的传感器进行仿真来在仿真环境中生成虚拟传感器数据,使得实际的AGV控制器从虚拟世界而不是现实世界获得传感器数据。另外,可以通过在仿真器中对自动化设备进行仿真来在仿真环境中生成虚拟设备状态,使得调度管理器控制仿真环境中的虚拟自动化设备和虚拟AGV,从而实现AGV与自动化设备之间的交互的仿真,并且然后对该交互进行验证和调试。在仿真运行后,通过查看AGV任务执行时间、AGV等待时间以及调度管理器的其他指示符,还可以检查运输操作时间、顺序和拥塞,并且然后优化路由和调度算法。因此,根据本公开内容的方法,通过虚拟仿真和调试,部署工程师在部署和调试中花费的时间和精力减少,并且工厂停工时间减少。此外,利用本公开内容的方法,可以验证整个AGV系统(包括AGV控制器和调度管理器)和AGV传感器,而不仅仅是AGV系统的一部分。
下面参考具体实施方式来描述用于对AGV系统进行仿真的方法。
图2示出了根据本公开内容的实施方式的用于实现图1中的仿真方法的仿真系统。在图2中,仿真系统200包括仿真器21、AGV系统22和命令生成器23。AGV系统22和命令生成器23都是工厂中的实际系统。命令生成器22可以是在工厂中运行的外部系统,例如,仓库管理系统(WMS)、制造执行系统(MES)或者可以向AGV系统发送运输命令的其他系统。运输命令的内容可以包括例如运输起始地点、运输目的地、材料的类型和数量、时间要求等。AGV系统22包括适配器221、调度管理器222以及多个AGV控制器。适配器221从命令生成器22接收运输命令,并且将运输命令转换成多个AGV运输任务,并且根据由不同AGV运输的材料类型和最大运载能力将AGV运输任务发送到调度管理器222。AGV运输任务中的每一个可以包括运输起始地点、运输目的地和所需的AGV编号。此外,适配器221还可以根据运输命令中的时间要求来对AGV运输任务的优先级进行排序。
在实际工厂中,调度管理器222根据来自适配器221的AGV运输任务、来自多个AGV控制器223的AGV状态数据和来自设备服务器的设备状态,基于预设的路由和调度规则来对由多个AGV控制器223控制的所有AGV进行调度和路由。调度管理器222将设备控制信息发送到设备服务器,并且将AGV控制信息发送到AGV控制器223以相应地分别控制自动化设备和AGV,使得将运输任务分配给AGV,并且在AGV执行运输任务的过程中,AGV实现与相关自动化设备的交互。设备服务器可以是仓库控制系统(WCS)、监视控制和数据采集系统(SCADA)、分布式控制系统(DCS)或控制工厂中的自动化设备的其他系统。在仿真系统200中,自动化设备在仿真器21中被虚拟化,而无需使用任何实际的自动化设备。因此,由调度管理器222接收的设备状态来自仿真器21中的虚拟设备,并且所生成的设备控制信息也被发送到仿真器21以控制虚拟设备。
在实际工厂中,AGV控制器222根据所接收的传感器数据(例如,来自激光雷达的扫描数据、来自摄像机的图像数据、来自轨迹跟踪器的响应结果等)计算由AGV控制器控制的AGV的当前位置和当前取向,即,对由AGV控制器控制的AGV进行定位。AGV控制器223还将通过计算获得的AGV的当前位置和当前取向、由AGV执行的运输任务、目标位置和速度参数(例如,加速度、最大速度、电机速度等)、AGV的功率和经过的运行时间、以及作为AGV的状态数据的其他信息发送到调度管理器。在该实施方式中,响应于来自调度管理器222的请求,AGV控制器223周期性地向调度管理器222发送AGV的状态数据,使得调度管理器222可以实时获得AGV的状态数据。AGV控制器223还根据从调度管理器222接收的AGV控制信息和AGV的当前位置和当前取向来生成电机控制信息,以用于控制AGV的运动。在仿真系统200中,AGV在仿真器21中被虚拟化,而无需使用任何实际的AGV。因此,由AGV控制器223接收的传感器数据来自仿真器21中的虚拟AGV,并且电机控制信息被发送到仿真器21以控制虚拟AGV。当虚拟AGV的运动学模型不包括电机时,AGV控制器可以进一步将电机控制信息转换为位置控制信息并将位置控制信息发送到虚拟AGV 212。在该实施方式中,AGV控制器223可以是实际的硬件控制器,或者是在PC或嵌入式系统上运行的模拟控制器。
参照图2和图3,仿真器21包括若干虚拟设备(例如虚拟设备210和210′)、虚拟设备服务器211、若干虚拟AGV(例如虚拟AGV 212和212′)、设备信号传输单元213、AGV连接单元214、运动控制单元215、碰撞检测单元216和3D呈现单元217。仿真器21中的虚拟设备和虚拟AGV的数量和类型可以根据不同的工厂环境而变化。应当注意,尽管在图2中未示出,但是仿真器21还包括其他环境对象的3D模型和/或运动学模型,其他环境对象例如是静态对象(例如围墙和箱子)和动态对象(例如工人)。下面基于一个虚拟设备210和一个虚拟AGV 212来提供描述。应当注意,其他虚拟设备和虚拟AGV具有与虚拟设备210和虚拟AGV 212相同或相似的部件。
如图3(a)所示,虚拟设备210包括3D模型2100、运动学模型2101、传感器模型2102和状态确定单元2103。3D模型2100描述了虚拟设备的轮廓,即形状和大小。运动学模型2101描述了虚拟设备的移动部件的运动关系和运动参数,例如移动部件的连接关系、运动类型、运动方向和运动限制。传感器模型2102用于检测移动部件之间的相对运动,其可以包括虚拟传感器的位置(例如,在移动部件的接合处)和参数。状态确定单元2103被配置成基于传感器模型2102获得虚拟设备的状态数据,并且根据状态数据来确定虚拟设备的设备状态。状态确定单元2103周期性地确定虚拟设备210的设备状态,并且将该设备状态保存在虚拟设备服务器211中。此外,状态确定单元2103还将来自调度管理器222的设备操作信息转换为虚拟设备的目标位置和针对虚拟设备的移动部件之间的接合的接合控制信息。
设备信号传输单元213被配置成实现调度管理器222与虚拟设备210之间的通信,这可以根据调度管理器222的实际接口来定义。在该实施方式中,设备信号传输单元213响应于来自调度管理器222的请求,将设备服务器211上的对应虚拟设备的当前设备状态发送到调度管理器222。此外,设备信号传输单元213还从调度管理器222接收设备操作信息,并且将设备操作信息发送到状态确定单元2103。
如图3(b)所示,虚拟AGV 212包括3D模型2120、运动学模型2121、传感器模型2122和传感器检测单元2123。3D模型2120描述了AGV主体的轮廓,即形状和大小。运动学模型2121描述了AGV主体的移动部件的运动关系和运动参数,例如移动部件的连接关系、运动类型、运动方向和运动限制。传感器模型2123描述了AGV传感器相对于AGV主体的位置和传感器参数。传感器检测单元2123基于虚拟AGV的传感器模型以及虚拟设备和/或虚拟AGV周围的环境对象的3D模型来获得传感器数据。
AGV连接单元214被配置用于AGV控制器223与虚拟AGV 212之间的通信,其可以根据AGV控制器223的实际接口来定义。在该实施方式中,AGV连接单元214周期性地将由虚拟AGV 212获得的传感器数据发送到AGV控制器,使得AGV控制器223可以实时地定位虚拟AGV212。
运动控制单元215分别通过设备信号传输单元213和AGV连接单元214来接收电机控制信息或位置控制信息和设备操作信息。运动控制单元215基于电机控制信息或位置控制信息、在虚拟AGV的运动学模型2121中定义的运动关系和运动参数、以及虚拟AGV 212的移动部件的当前位置来计算虚拟AGV 212的移动部件的下一位置。此外,运动控制单元215还基于设备操作信息、虚拟设备210的运动学模型2101和虚拟设备210的移动部件的当前位置来确定虚拟设备210的移动部件的下一位置。运动控制单元215向用于碰撞检测的碰撞检测单元216提供通过计算获得的虚拟AGV 212和虚拟设备210的移动部件的下一位置,并且3D呈现单元217被配置成通过显示界面来显示虚拟AGV 212和虚拟设备210的运动。
碰撞检测单元216基于由虚拟AGV的3D模型2120以及虚拟设备和/或虚拟AGV 212周围的环境对象(图2中未示出)的3D模型所定义的轮廓数据以及虚拟AGV、虚拟设备和/或环境对象的位置来计算虚拟AGV与虚拟设备和/或虚拟AGV周围的环境对象之间的距离。当该距离小于或等于零时,其指示虚拟AGV 210与虚拟设备和/或虚拟AGV周围的环境对象碰撞。当该距离小于阈值时,其指示虚拟AGV 210过于接近虚拟设备和/或虚拟AGV周围的环境对象。之后,碰撞检测单元216通过显示界面来显示检测报告以供用户查看。
3D呈现单元217根据仿真环境中的所有虚拟AGV、虚拟设备和环境对象的3D模型、通过显示界面来显示所有虚拟AGV、虚拟设备和环境对象的3D图像。通过3D呈现单元217,可以通过显示界面来显示仿真过程中所有虚拟AGV和虚拟设备的整个仿真环境和整个运动过程。
在该实施方式中,可以对AGV与自动化设备之间的交互进行仿真,然后可以对该交互进行验证和调试,并且可以检查运输操作时间、顺序和拥塞,从而优化路由和调度算法。因此,根据实施方式,部署工程师在部署和调试上花费的时间和精力以及工厂停工时间减少。此外,根据实施方式,可以验证整个AGV系统和AGV传感器,而不仅仅是AGV系统的一部分。
图4(a)至图4(e)示出了图2的实施方式中的一个AGV和与该AGV交互的自动化设备的3D模型。图5(a)至图5(d)示出了图4中的AGV和与该AGV交互的自动化设备的运动学模型。图6是通过显示界面显示的图4(a)中的虚拟AGV的虚拟激光雷达的示意性图。图7示出了通过显示界面显示的根据图2的实施方式的示意性仿真环境。在图4至图7的实施方式中,调度管理器222调度AGV以从第二层车间中的升降机装载材料,并将材料传送到第一层车间中的传送带。在运输路径中,AGV穿过自动门并乘坐电梯到第一层。因此,与AGV交互的自动化设备包括升降机、自动门、电梯和传送带。
如图4(a)至图4(e)所示,分别在3D模型中限定AGV、升降机、自动门、电梯和传送带的形状和大小。在图5(a)的运动学模型中,示出了AGV的各个移动部件即底座和升降平台,两个移动部件——底座和升降平台的运动类型被限定为平行运动,运动方向被限定为向上和向下,并且限定了最大运动范围和其他运动参数。类似地,在图5(b)的运动学模型中,示出了升降机的各个移动部件,即底座和升降平台;在图5(c)的运动学模型中,示出了自动门的各个移动部件,即门框和门扇;在图5(d)的运动学模型中,示出了电梯的各个移动部件,即电梯竖井、轿厢体、轿厢的两个门扇、第二楼层上的两个门扇以及第一楼层上的两个门扇。由于传送带作为一个整体移动,因此不能为传送带建立运动学模型。
在该实施方式中,激光雷达用作AGV的传感器。因此,虚拟AGV的传感器模型包括激光雷达相对于AGV主体的位置以及激光雷达的扫描线束(例如,12/24/48束)、扫描角度(例如,120°/180°/360°)和线束有效距离(例如,1/2/5m)。以此方式,当虚拟AGV在仿真环境中获得传感器数据时,可以根据在传感器模型中定义的激光雷达的位置和激光雷达的参数来获得传感器数据。在该实施方式中,传感器数据是与激光雷达的线束的数量相对应并且具有小于或等于线束有效距离的值的数据集,例如,[v1,v2,v3…vi]。其中,i是激光雷达的线束,并且v是针对每个线束而言激光雷达的位置与虚拟设备和/或环境对象之间的距离(当虚拟设备和/或环境对象存在于线束的有效距离内时)或线束的有效距离(当在线束的有效距离内不存在虚拟设备和/或环境对象时)。图6是通过显示界面显示的图4(a)中的虚拟AGV的虚拟激光雷达的示意性图。
在该实施方式中,针对升降机、自动门和电梯中的每一个建立传感器模型,以便在移动部件的接合处布置虚拟传感器,以检测移动部件之间的相对运动。升降机的虚拟传感器的位置位于底座与升降平台之间的接合处,并且可以通过升降平台的坐标位置的变化来检测底座与升降平台的相对运动。类似地,自动门的虚拟传感器的位置位于门框与门扇之间的接合处。在电梯中存在两个虚拟传感器,一个是轿厢或地面上的虚拟高度传感器,以及另一个是轿厢的门框与门扇之间的接合处的位置传感器。
在该实施方式中,在对AGV系统22进行仿真时,虚拟AGV基于激光雷达模型周期性地获得传感器数据,并且将传感器数据发送到AGV控制器223。AGV控制器223定位虚拟AGV的当前位置,并且响应于来自调度管理器222的请求,周期性地将虚拟AGV的状态数据发送到调度管理器222。虚拟升降机、虚拟自动门、虚拟电梯和虚拟传送带周期性地确定当前虚拟设备的状态,并且将该状态保存在虚拟设备服务器211中。调度管理器222根据虚拟AGV的当前位置来确定将与虚拟AGV交互的虚拟设备,并且将针对该虚拟设备的设备状态请求发送到虚拟设备服务器211。根据由虚拟设备服务器211返回的虚拟设备的当前状态,调度管理器222生成设备操作信息并将设备操作信息发送到虚拟设备以控制虚拟设备达到期望的设备状态(例如,使得虚拟电梯能够达到目的地楼层并打开),并且生成AGV控制信息并将AGV控制信息发送到AGV控制器223以控制虚拟AGV的动作(例如,在适当位置等待)。当将与虚拟AGV交互的虚拟设备处于期望的设备状态时,调度管理器222将AGV控制信息发送到AGV控制器223以使得AGV控制器223能够控制虚拟AGV的运动(例如,进入电梯)。
同时,在虚拟AGV的运动期间,碰撞检测单元216确定虚拟AGV是否与虚拟设备和/或虚拟AGV周围的环境对象碰撞或过于接近,并且通过显示界面显示碰撞检测结果。碰撞检测结果包括时间、移动部件名称1、移动部件名称2、距离和状态(碰撞/过于接近)。图7示出了通过显示界面显示的根据图2的实施方式的示意性仿真环境。如图7所示,AGV系统和AGV与自动化设备之间的交互可以被仿真为接近实际工厂。图8(a)至图8(b)是分别通过显示界面显示的图4(a)中的虚拟AGV与虚拟设备和环境对象的碰撞的示意性图。
图9示出了根据本公开内容的实施方式的用于实现图1中的仿真方法的另一仿真系统。仿真系统900包括主仿真器21和多个辅助仿真器91。主仿真器21和辅助仿真器91可以在不同的硬件设备中运行以提高仿真速度。在该实施方式中,每个AGV的3D模型2120或2120′被保留在主仿真器21中,并且每个AGV的运动学模型(例如,运动学模型2121)、传感器模型(例如,传感器检测模型2122)和传感器检测单元(例如,传感器检测单元2123)被部署在辅助仿真器91中。可以根据需要确定辅助仿真器的数量。例如,可以针对每个AGV布置一个辅助仿真器91,或者可以针对多个AGV布置一个辅助仿真器91。
在辅助仿真器91中,除了AGV的运动学模型、传感器模型和传感器检测单元之外,辅助仿真器91中的每一个还包括专用于虚拟AGV的运动控制单元215′和AGV连接单元214′。运动控制单元215′被配置成根据AGV控制信息、虚拟AGV的运动学模型2121和AGV的移动部件的当前位置来计算AGV的移动部件的下一位置。AGV连接单元214′被配置成实现辅助仿真器91中的虚拟AGV与AGV控制器223之间的通信。图9中的其他部件或单元与图2中的部件或单元相同,并且本文中省略其描述。
在仿真期间,辅助仿真器91中的传感器检测单元2123通过AGV连接单元214′将虚拟AGV的传感器数据发送到AGV控制器223,并且AGV控制器223定位虚拟AGV并通过AGV连接单元214′将AGV运动控制信息发送到运动控制单元215′。运动控制单元215确定AGV的移动部件的下一位置,并且通过AGV连接单元214′将下一位置发送到AGV控制器223。AGV控制器223再次通过AGV连接单元214将移动部件的下一位置发送到主仿真器21,以便通过碰撞检测单元216和3D呈现单元217执行碰撞检测并显示3D图像。
图10示出了根据本公开内容的实施方式的用于对AGV系统进行仿真的装置。参照图10,装置1000包括传感器检测单元1001、状态确定单元1002、数据通信单元1003和运动控制单元1004。传感器检测单元1001被配置成获得仿真环境中的虚拟AGV的传感器数据。状态确定单元1002被配置成确定仿真环境中的与虚拟AGV交互的虚拟设备的设备状态。数据通信单元1003被配置成将传感器数据和设备状态发送到AGV系统,并从AGV系统接收AGV运动控制信息和设备操作信息,其中AGV运动控制信息和设备操作信息由AGV系统基于传感器数据和设备状态来生成。运动控制单元1004被配置成分别基于AGV运动控制信息和设备操作信息来控制仿真环境中的虚拟AGV和虚拟设备的运动。图9中的单元可以由软件、硬件(例如,集成电路、FPGA等)或软件和硬件的组合来实现。
在一些实施方式中,传感器检测单元1001还被配置成:基于虚拟AGV的传感器模型获取传感器数据,虚拟AGV的传感器模型包括虚拟AGV的虚拟传感器的位置和参数。
在一些实施方式中,状态确定单元1002还被配置成:基于虚拟设备的传感器模型获得虚拟设备的状态数据,状态数据表示虚拟设备的移动部件之间的相对运动,其中,虚拟设备的传感器模型包括虚拟设备的虚拟传感器的位置和参数;以及根据状态数据来确定虚拟设备的设备状态。
在一些实施方式中,运动控制单元1004还被配置成:基于AGV运动控制信息、虚拟AGV的运动学模型以及虚拟AGV的移动部件的当前位置来确定虚拟AGV的移动部件的下一位置;以及基于设备操作信息、虚拟设备的运动学模型以及虚拟设备的移动部件的当前位置来确定虚拟设备的移动部件的下一位置,其中,虚拟AGV和虚拟设备的运动学模型包括虚拟AGV和虚拟设备的移动部件的运动关系和运动参数。
在一些实施方式中,装置1000还包括碰撞检测单元(图9中未示出),该碰撞检测单元被配置成确定虚拟AGV是否与虚拟设备和/或虚拟AGV周围的环境对象碰撞或过于接近。
在一些实施方式中,碰撞检测单元还被配置成:基于虚拟AGV的3D模型以及虚拟设备和/或虚拟AGV周围的环境对象的3D模型来确定虚拟AGV与虚拟设备和/或虚拟AGV周围的环境对象之间的距离;以及根据所确定的距离来确定虚拟AGV是否与虚拟设备和/或虚拟AGV周围的环境对象碰撞或过于接近,其中,虚拟AGV的3D模型以及虚拟设备和/或虚拟AGV周围的环境对象的3D模型分别包括虚拟AGV以及虚拟设备和/或虚拟AGV周围的环境对象的轮廓数据。
在一些实施方式中,装置1000还包括3D呈现单元(图9中未示出),3D呈现单元被配置成根据仿真环境中的所有虚拟AGV、虚拟设备和环境对象的3D模型、通过显示界面来显示所有虚拟AGV、虚拟设备和环境对象的3D图像。
图11是根据本公开内容的实施方式的用于对AGV系统进行仿真的计算设备的框图。从图11可以看出,用于对AGV系统进行仿真的计算设备1100包括处理器1101和耦接至处理器1101的存储器1102。存储器1102被配置成存储计算机可执行指令,该计算机可执行指令在被执行时使处理器1101执行上述实施方式中的方法。
另外,可替选地,该方法可以通过计算机可读存储介质来实现。计算机可读存储介质存储用于执行根据本公开内容的各种实施方式的方法的计算机可执行程序指令。计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的实际设备。计算机可读存储介质可以是例如但不限于:电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或上述的任何适当组合。在更具体的示例(非穷举列表)中,计算机可读存储介质包括便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、机械编码设备(例如穿孔卡或其中存储有指令的凹槽中的凸起结构)以及上述的任何适当组合。此处使用的计算机可读存储介质不被解释为瞬态信号本身,例如自由传播的无线电波或其他电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆传播的光脉冲)或通过导线传输的电信号。
因此,在另一实施方式中,在本公开内容中提出了一种计算机可读存储介质。该计算机可读存储介质存储用于执行根据本公开内容的各种实施方式的方法的计算机可执行指令。
在另一实施方式中,在本公开内容中提出了一种计算机程序产品。该计算机程序产品有形地存储在计算机可读存储介质中,并且包括计算机可执行指令,该计算机可执行指令在被执行时使得至少一个处理器执行根据本公开内容的各种实施方式的方法。
通常,本公开内容的各种示例性实施方式可以以硬件或专用电路、软件、固件、逻辑或其任何组合来实现。一些方面可以以硬件来实现,而其他方面可以以可由控制器、微处理器或其他计算设备执行的固件或软件来实现。当本公开内容的实施方式的各方面被示出或描述为框图、流程图或由一些其他图形表示时,应当充分理解,本文描述的框、装置、系统、技术或方法可以作为非限制性示例以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其一些组合来实现。
用于实现本公开内容的各种实施方式的计算机可读程序指令或计算机程序产品也可以存储在云中,并且当需要调用时,用户可以通过移动互联网、固定网络或其他网络来访问存储在云中并用于实现本公开内容的实施方式的计算机可读程序指令,从而实现根据本公开内容的各种实施方式公开的技术解决方案。
尽管已参照若干特定实施方式描述了本公开内容的实施方式,但是应当充分理解,本公开内容的实施方式不限于所公开的特定实施方式。本公开内容的实施方式旨在覆盖包括在所附权利要求的精神和范围内的各种修改和等同布置。权利要求的范围符合最广泛的解释,并且因此包括所有这样的修改和等同的结构和功能。
Claims (17)
1.一种用于对自动导引车(AGV)系统进行仿真的方法,所述方法包括:
获得仿真环境中的虚拟AGV的传感器数据;
确定所述仿真环境中的与所述虚拟AGV交互的虚拟设备的设备状态;
将所述传感器数据和所述设备状态发送到所述AGV系统,并且从所述AGV系统接收AGV运动控制信息和设备操作信息,其中,所述AGV运动控制信息和所述设备操作信息由所述AGV系统基于所述传感器数据和所述设备状态来生成;以及
分别基于所述AGV运动控制信息和所述设备操作信息来控制所述仿真环境中的所述虚拟AGV和所述虚拟设备的运动。
2.根据权利要求1所述的方法,其中,获得仿真环境中的虚拟AGV的传感器数据进一步包括:
基于所述虚拟AGV的传感器模型来获得所述传感器数据,所述虚拟AGV的所述传感器模型包括所述虚拟AGV的虚拟传感器的位置和参数。
3.根据权利要求1所述的方法,其中,所述确定所述仿真环境中的与所述虚拟AGV交互的虚拟设备的设备状态进一步包括:
基于所述虚拟设备的传感器模型来获得所述虚拟设备的状态数据,所述状态数据表示所述虚拟设备的移动部件之间的相对运动,并且所述虚拟设备的所述传感器模型包括所述虚拟设备的虚拟传感器的位置和参数;以及
根据所述状态数据来确定所述虚拟设备的所述设备状态。
4.根据权利要求1所述的方法,其中,所述分别基于所述AGV运动控制信息和所述设备操作信息来控制所述仿真环境中的所述虚拟AGV和所述虚拟设备的运动进一步包括:
基于所述AGV运动控制信息、所述虚拟AGV的运动学模型以及所述虚拟AGV的移动部件的当前位置来确定所述虚拟AGV的移动部件的下一位置;以及
基于所述设备操作信息、所述虚拟设备的运动学模型以及所述虚拟设备的移动部件的当前位置来确定所述虚拟设备的移动部件的下一位置,其中,
所述虚拟AGV和所述虚拟设备的运动学模型分别包括所述虚拟AGV和所述虚拟设备的移动部件的运动关系和运动参数。
5.根据权利要求1所述的方法,还包括:确定所述虚拟AGV是否与虚拟设备和/或所述虚拟AGV周围的环境对象碰撞或过于接近。
6.根据权利要求5所述的方法,其中,所述确定所述虚拟AGV是否与虚拟设备和/或所述虚拟AGV周围的环境对象碰撞或过于接近进一步包括:
基于所述虚拟AGV的3D模型以及所述虚拟设备和/或所述虚拟AGV周围的所述环境对象的3D模型来确定所述虚拟AGV与所述虚拟设备和/或所述虚拟AGV周围的所述环境对象之间的距离;以及
根据所确定的距离来确定所述虚拟AGV是否与所述虚拟设备和/或所述虚拟AGV周围的所述环境对象碰撞或过于接近,其中,
所述虚拟AGV的3D模型以及所述虚拟设备和/或所述虚拟AGV周围的所述环境对象的3D模型分别包括所述虚拟AGV以及所述虚拟设备和/或所述虚拟AGV周围的所述环境对象的轮廓数据。
7.根据权利要求1所述的方法,还包括:
根据所述仿真环境中的所有虚拟AGV、虚拟设备和环境对象的3D模型、通过显示界面来显示所有所述虚拟AGV、虚拟设备和环境对象的3D图像。
8.一种用于对自动导引车(AGV)系统进行仿真的装置,所述装置包括:
传感器检测单元,所述传感器检测单元被配置成获得仿真环境中的虚拟AGV的传感器数据;
状态确定单元,所述状态确定单元被配置成确定所述仿真环境中的与所述虚拟AGV交互的虚拟设备的设备状态;
数据通信单元,所述数据通信单元被配置成将所述传感器数据和所述设备状态发送到所述AGV系统,并且从所述AGV系统接收AGV运动控制信息和设备操作信息,其中,所述AGV运动控制信息和所述设备操作信息由所述AGV系统基于所述传感器数据和所述设备状态来生成;以及
运动控制单元,所述运动控制单元被配置成分别基于所述AGV运动控制信息和所述设备操作信息来控制所述仿真环境中的所述虚拟AGV和所述虚拟设备的运动。
9.根据权利要求8所述的装置,其中,所述传感器检测单元还被配置成:
基于所述虚拟AGV的传感器模型来获得所述传感器数据,所述虚拟AGV的所述传感器模型包括所述虚拟AGV的虚拟传感器的位置和参数。
10.根据权利要求8所述的装置,其中,所述状态确定单元还被配置成:
基于所述虚拟设备的传感器模型来获得所述虚拟设备的状态数据,所述状态数据表示所述虚拟设备的移动部件之间的相对运动,并且所述虚拟设备的所述传感器模型包括所述虚拟设备的虚拟传感器的位置和参数;以及
根据所述状态数据来确定所述虚拟设备的所述设备状态。
11.根据权利要求8所述的装置,其中,所述运动控制单元还被配置成:
基于所述AGV运动控制信息、所述虚拟AGV的运动学模型以及所述虚拟AGV的移动部件的当前位置来确定所述虚拟AGV的移动部件的下一位置;以及
基于所述设备操作信息、所述虚拟设备的运动学模型以及所述虚拟设备的移动部件的当前位置来确定所述虚拟设备的移动部件的下一位置,其中,
所述虚拟AGV和所述虚拟设备的运动学模型分别包括所述虚拟AGV和所述虚拟设备的移动部件的运动关系和运动参数。
12.根据权利要求8所述的装置,还包括碰撞检测单元,所述碰撞检测单元被配置成确定所述虚拟AGV是否与虚拟设备和/或所述虚拟AGV周围的环境对象碰撞或过于接近。
13.根据权利要求12所述的装置,其中,所述碰撞检测单元还被配置成:
基于所述虚拟AGV的3D模型以及所述虚拟设备和/或所述虚拟AGV周围的所述环境对象的3D模型来确定所述虚拟AGV与所述虚拟设备和/或所述虚拟AGV周围的所述环境对象之间的距离;以及
根据所确定的距离来确定所述虚拟AGV是否与所述虚拟设备和/或所述虚拟AGV周围的所述环境对象碰撞或过于接近,其中,
所述虚拟AGV的3D模型以及所述虚拟设备和/或所述虚拟AGV周围的所述环境对象的3D模型分别包括所述虚拟AGV以及所述虚拟设备和/或所述虚拟AGV周围的所述环境对象的轮廓数据。
14.根据权利要求8所述的装置,还包括3D呈现单元,所述3D呈现单元被配置成根据所述仿真环境中的所有虚拟AGV、虚拟设备和环境对象的3D模型、通过显示界面来显示所有所述虚拟AGV、虚拟设备和环境对象的3D图像。
15.一种计算设备,包括:
处理器;以及
存储器,所述存储器被配置成存储计算机可执行指令,所述计算机可执行指令在被执行时使所述处理器执行根据权利要求1至7中的任一项所述的方法。
16.一种计算机可读存储介质,所述计算机可读存储介质包括存储在其中的计算机可执行指令,所述计算机可执行指令被用来执行根据权利要求1至7中的任一项所述的方法。
17.一种计算机程序产品,所述计算机程序产品有形地存储在计算机可读存储介质中并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1至7中的任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2020/057254 WO2022023797A1 (en) | 2020-07-31 | 2020-07-31 | Method and apparatus for emulating automated guided vehicle (agv) system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115885226A true CN115885226A (zh) | 2023-03-31 |
Family
ID=80037752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080103101.5A Pending CN115885226A (zh) | 2020-07-31 | 2020-07-31 | 用于对自动导引车(agv)系统进行仿真的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230289494A1 (zh) |
EP (1) | EP4188864A4 (zh) |
CN (1) | CN115885226A (zh) |
WO (1) | WO2022023797A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4286965A4 (en) * | 2022-04-11 | 2024-05-01 | Contemporary Amperex Technology Co Ltd | AGV SHIPPING CONTROL SYSTEM AND PROCEDURES |
CN115793496B (zh) * | 2022-12-05 | 2023-10-13 | 珠海创智科技有限公司 | 一种agv物流系统的调度仿真方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI444939B (zh) * | 2008-01-10 | 2014-07-11 | Univ Nat Taiwan | 工程吊車之模擬系統及其方法 |
US8346468B2 (en) * | 2008-07-08 | 2013-01-01 | Sky-Trax Incorporated | Method and apparatus for collision avoidance |
US20120123614A1 (en) * | 2010-11-17 | 2012-05-17 | INRO Technologies Limited | Method and apparatus for virtualizing industrial vehicles to automate task execution in a physical environment |
AU2014202349A1 (en) * | 2012-08-02 | 2014-05-22 | Harnischfeger Technologies, Inc. | Depth-related help functions for a wheel loader training simulator |
US20170092000A1 (en) * | 2015-09-25 | 2017-03-30 | Moshe Schwimmer | Method and system for positioning a virtual object in a virtual simulation environment |
DE102018116611B4 (de) * | 2018-07-10 | 2022-02-10 | Dematic Gmbh | Verfahren und System zur Steuerung des Materialflusses von Objekten in einem realen Lager |
-
2020
- 2020-07-31 US US18/040,007 patent/US20230289494A1/en active Pending
- 2020-07-31 WO PCT/IB2020/057254 patent/WO2022023797A1/en active Application Filing
- 2020-07-31 CN CN202080103101.5A patent/CN115885226A/zh active Pending
- 2020-07-31 EP EP20947155.6A patent/EP4188864A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4188864A1 (en) | 2023-06-07 |
US20230289494A1 (en) | 2023-09-14 |
EP4188864A4 (en) | 2024-04-24 |
WO2022023797A1 (en) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074536B (zh) | 计划和/或控制和/或模拟施工机械的运行的方法及设备 | |
Marvel et al. | Implementing speed and separation monitoring in collaborative robot workcells | |
CN109844672B (zh) | 用于测试自主系统的方法 | |
Harapanahalli et al. | Autonomous Navigation of mobile robots in factory environment | |
US9302890B1 (en) | Crane control system and method | |
US20210271262A1 (en) | Autonomous Mobile Robot And Method For Controlling An Autonomous Mobile Robot | |
CN110471420B (zh) | 一种基于人工势场法的机器避障方法及装置 | |
CN113268044B (zh) | 增强现实人机接口的仿真系统和测试方法及介质 | |
CN109843514B (zh) | 用于碰撞检测的方法和自治系统 | |
CN115885226A (zh) | 用于对自动导引车(agv)系统进行仿真的方法和装置 | |
JP2022522284A (ja) | 安全定格マルチセル作業空間マッピングおよび監視 | |
CN113820144A (zh) | 一种自动驾驶车辆的测试方法、装置、系统及设备 | |
US11602852B2 (en) | Context-sensitive safety monitoring of collaborative work environments | |
US20230173682A1 (en) | Context-sensitive safety monitoring of collaborative work environments | |
CN115818444A (zh) | 一种轨道式集装箱门式起重机多机防撞调试系统及方法 | |
JPH07225612A (ja) | 時間軸を探索空間に取り入れた経路探索方法,及び装置 | |
JPWO2019241811A5 (zh) | ||
Li et al. | Simulation of autonomous uav navigation with collision avoidance and space awareness | |
Helleboogh et al. | Testing AGVs in dynamic warehouse environments | |
CN113093751A (zh) | 一种机器人等电梯的位置控制方法、装置及存储介质 | |
Kidiraliev et al. | Using optical sensors for industrial robot-human interactions in a Gazebo environment | |
Zhu et al. | A comprehensive simulation testbench for aerial robot in dynamic scenario using gazebo-ros | |
Mikhailyuk et al. | VIRTUAL REALITY TOOLS FOR COMPUTER MODELING OF A COSMONAUT'S INTERACTION WITH A GROUP OF AUTONOMOUS MOBILE ROBOTS ON THE LUNAR SURFACE | |
Moreno et al. | An E2ED-based approach to custom robot navigation and localization | |
KR102327293B1 (ko) | 자율주행 무인운반차 제어 시스템 및 방법 |
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 |