CN114355930A - 仿真测试移动机器人的装置 - Google Patents
仿真测试移动机器人的装置 Download PDFInfo
- Publication number
- CN114355930A CN114355930A CN202111650348.1A CN202111650348A CN114355930A CN 114355930 A CN114355930 A CN 114355930A CN 202111650348 A CN202111650348 A CN 202111650348A CN 114355930 A CN114355930 A CN 114355930A
- Authority
- CN
- China
- Prior art keywords
- simulation
- motor
- mobile robot
- module
- walking
- 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.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 300
- 238000012360 testing method Methods 0.000 title claims abstract description 72
- 230000003993 interaction Effects 0.000 claims abstract description 12
- 230000002159 abnormal effect Effects 0.000 claims description 66
- 230000007246 mechanism Effects 0.000 claims description 56
- 230000009471 action Effects 0.000 claims description 24
- 230000001133 acceleration Effects 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 claims description 14
- 230000005856 abnormality Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 9
- 238000005265 energy consumption Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请提出了仿真测试移动机器人的装置,有助于提高测试移动机器人的方便性。其中,一种仿真测试移动机器人的装置,包括:应用单元,用于执行与移动机器人相同的业务操作;接口单元,用于控制所述应用单元与所述仿真单元之间的数据交互;仿真单元,包括:硬件模拟模块,模拟所述移动机器人中的硬件组件的运行,生成对所述硬件组件的仿真数据;仿真驱动模块,通过所述接口单元向所述应用单元返回所述硬件模拟模块生成的所述仿真数据。
Description
技术领域
本申请涉及移动机器人技术领域,特别涉及仿真测试移动机器人的装置。
背景技术
移动机器人越来越多地应用到各领域中。在移动机器人研发过程中,需要对移动机器人进行业务逻辑等测试。
然而,由于移动机器人车型较多,且同一车型的功能也较多。不同车型的不同功能(例如AGV行走功能、AGV执行机构动作功能、AGV集群规划导航功能等)的开发可能还涉及到不同软件开发人员。因此,在对移动机器人实体进行测试时,需要协调多个实体车型才能保证调试进度,加大了项目开发成本,同时还存在部分车型产能有限,不一定会有样车调试等问题。简言之,在利用移动机器人进行测试时,测试方便性有待提高。
发明内容
为此,本申请提出了仿真测试移动机器人的方案,能够对移动机器人进行仿真测试,有助于提高测试方便性。
根据本申请一个方面,提供一种仿真测试移动机器人的装置,包括:
应用单元,用于执行与移动机器人相同的业务操作;
接口单元,用于控制所述应用单元与所述仿真单元之间的数据交互;
仿真单元,包括:
硬件模拟模块,模拟所述移动机器人中的硬件组件的运行,生成对所述硬件组件的仿真数据;
仿真驱动模块,通过所述接口单元向所述应用单元返回所述硬件模拟模块生成的所述仿真数据。
在一些实施例中,所述装置的硬件与所述移动机器人中的控制器相同,所述应用单元复用与所述移动机器人相同的业务软件,所述接口单元复用与所述移动机器人相同的接口抽象;所述仿真驱动模块用于从所述接口单元获取所述应用单元的指令,并根据所述指令驱动所述硬件模拟模块运行。
在一些实施例中,所述接口单元,还用于:
在所述装置启动时判断驱动类型,所述驱动类型的类型范围包括与所述硬件模拟模块对应的类型和与所述移动机器人中的所述硬件组件对应的类型;
在确定所述驱动类型对应所述硬件模拟模块时,对所述仿真驱动模块进行注册,以便所述应用单元与所述仿真单元进行数据交互。
在一些实施例中,所述硬件模拟模块包括下述中至少一种:电机仿真模块、电池仿真模块、按钮仿真模块和传感器仿真模块,所述按钮仿真模块用于模拟下述中至少一种:急停按钮、碰撞条、启动按钮、手自动按钮和复位按钮;所述仿真驱动模块包括下述中至少一种:能源仿真驱动、按钮仿真驱动、传感器仿真驱动、举升仿真驱动、转盘仿真驱动和行走仿真驱动。
在一些实施例中,所述电机仿真模块包括用于模拟举升机构的第一电机子模块和用于模拟转盘机构的第二电机子模块;
所述应用单元基于机构动作测试用例,通过所述接口单元向所述举升仿真驱动发送第一动作指令和/或向所述转盘仿真驱动发送第二动作指令,所述机构动作测试用例用于指示举升机构的动作和/或转盘机构的动作;
所述举升仿真驱动根据所述第一动作指令驱动所述第一电机子模块,使得第一电机子模块模拟所述举升机构的运行并生成第一仿真数据;和/或所述转盘仿真驱动根据所述第二动作指令驱动所述第二电机子模块,使得所述第二电机子模块模拟所述转盘机构的运行并生成第二仿真数据;
所述举升仿真驱动将举升仿真数据传输到所述应用单元,所述举升仿真数据包括:所述第一仿真数据和/或所述第二仿真数据。
在一些实施例中,所述电机仿真模块包括模拟行走机构的第三电机子模块,所述第三电机子模块用于模拟一个或多个用于行走的电机;
所述应用单元基于行走测试用例,通过所述接口单元向所述行走仿真驱动发送行走指令,所述行走测试用例用于指示所述移动机器人的自主路线规划,或者机器人控制系统发出的集群路径规划;
所述行走仿真驱动根据所述行走指令驱动所述第三电机子模块进行行走仿真,并将所述第三电机子模块生成的行走仿真数据传输到所述应用单元。
在一些实施例中,所述传感器仿真模块包括激光器仿真模块;
所述激光器仿真模块用于:
获取来自所述第三电机子模块的行走信息,所述行走信息包括模拟的行走机构在目标场景中的初始位置、速度、加速度和所述移动机器人的形状尺寸;
根据所述行走信息,生成所述移动机器人在所述目标场景中的位姿信息;
根据所述位姿信息生成激光仿真数据,所述激光仿真数据用于模拟当所述移动机器人处于所述位姿信息对应的位姿时周围场景的点云数据;
通过所述接口单元向所述应用单元返回所述激光仿真数据,以便所述应用单元根据所述激光仿真数据对所述移动机器人的自主定位进行模拟测试。
在一些实施例中,所述应用单元还用于基于电池测试用例,通过所述接口单元向所述能源仿真驱动发送能耗业务指令,所述电池测试用例包括:充电业务逻辑测试指示;
所述能源仿真驱动根据所述能耗业务指令驱动所述电池仿真模块进行电池性能仿真,并将所述电池仿真模块的性能仿真数据传输到所述应用单元。
在一些实施例中,所述传感器仿真模块包括激光器仿真模块;所述激光器仿真模块中存储有障碍分布模拟数据,所述障碍分布模拟数据用于描述障碍物的初始位姿、移动速度、加速度和形状尺寸;
所述激光器仿真模块用于:
根据所述障碍分布模拟数据,生成所述障碍物在目标场景中的位姿信息;
根据所述位姿信息生成障碍仿真数据,所述障碍仿真数据用于模拟当所述障碍物处于所述位姿信息对应的位姿时周围场景的点云数据;
通过所述接口单元向所述应用单元返回所述障碍仿真数据,以便所述应用单元根据所述障碍仿真数据对所述移动机器人的避障功能进行模拟测试。
在一些实施例中,所述障碍分布模拟数据为所述移动机器人的激光器的障碍探测结果,所述障碍探测结果用于记录与所述移动机器人探测到的障碍物对应的初始位姿、移动速度、加速度和形状尺寸;或者
所述障碍模拟数据被配置为障碍分布规划数据,所述障碍分布规划数据为设定的障碍物的初始位姿、移动速度、加速度和形状尺寸。
在一些实施例中,所述仿真单元进一步包括:异常仿真管理单元,用于:
与客户端进行通信;
在接收到来自所述客户端的行走异常事件的指令时,向所述电机仿真模块发送所述行走异常事件的触发指令,所述电机仿真模块生成行走异常事件,并向所述应用单元发送所述行走异常事件;所述行走异常事件包括急停信号和电机异常中至少一种;
在接收到来自所述客户端的对举升异常事件的触发指令时,向所述电机仿真模块发送对举升异常事件的触发指令,所述电机仿真模块生成举升异常事件并向所述应用单元发送举升异常事件;所述举升异常事件包括下述中至少一种:电机堵转、电机编码器异常、电机编码器失联、举升机构检测传感器异常、举升机构运行超时、举升机构到位脱落、举升机构急停触发制动;
在接收到来自所述客户端的对转盘异常事件的触发指令时,向所述电机仿真模块发送对转盘异常事件的触发指令,所述电机仿真模块生成转盘异常事件并向所述应用单元发送转盘异常事件;所述转盘异常事件包括下述中至少一种:电机堵转、电机编码器异常、电机编码器失联、转盘机构检测传感器异常、转盘机构运行超时、转盘机构到位脱落、转盘机构急停触发制动;
在接收到来自所述客户端的按钮触发指令时,向所述按钮仿真模块发送按钮触发指令,所述按钮仿真模块生成按钮事件并向所述应用单元发送所述按钮事件,所述按钮事件包括下述中至少一种:急停按钮触发信号、触发碰撞条信号、启动按钮触发信号、手自动按钮切换信号、复位按钮触发信号;
在接收到来自所述客户端的能源状态异常的触发指令时,触发所述能源仿真驱动生成能源状态异常事件,所述能源仿真驱动向所述应用单元发送所述能源状态异常事件;所述能源状态异常事件包括:电池异常和充电机异常中至少一种。
综上,本申请实施例的仿真测试方案可以与移动机器人实体采用相同的业务逻辑程序,且无需针对仿真单元额外调整业务代码,可以与移动机器人实体采用相同的应用层软件(即应用单元)以及机器人控制系统,从而提高了测试方便性。另外,本申请在对应用层软件调整后无需调整仿真器代码(即仿真单元的代码),而可以进行相关业务逻辑的功能逻辑测试,进一步提高测试方便性。本申请实施例可保证应用层以及机器人控制系统的所有代码都与移动机器人实体保持一致,从而可以在移动机器人实体资源有限或者不存在的情况下方便地进行应用层及机器人控制系统的功能逻辑的仿真测试。
附图说明
图1示出了移动机器人的示意图;
图2示出了根据本申请一些实施例的仿真测试移动机器人的控制器的示意图;
图3示出了根据本申请一些实施例的注册驱动的流程图;
图4示出了根据本申请一些实施例的注册驱动的示意图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。
图1示出了移动机器人的示意图。如图1所示,移动机器人可以与机器人控制系统(RobotControlSystem,缩写为RCS)通信,以便机器人控制系统对移动机器人进行管理。移动机器人的组件可以划分为软件和硬件。软件运行在移动机器人的控制器中。硬件例如可以包括由控制器中软件控制的多个硬件组件,例如电池、按钮、传感器和电机等。移动机器人中软件可以划分为3层,即应用层、抽象层和实现层。应用层可以执行移动机器人的各种业务逻辑。例如,避障业务等与传感器相关的业务、行走业务、举升业务、转盘业务、能源管理和按钮管理等。抽象层可以提供接口抽象,以便支持实现层与应用层交互数据。抽象层例如可以包括传感器接口抽象、行走交互接口抽象、举升交互接口抽象、转盘交互接口抽象、能源交互接口抽象等。实现层可以包括用于驱动移动机器人的硬件组件的驱动。实现层的驱动可以包括:能源实体驱动、传感器实体驱动、行走实体驱动、举升实体驱动和转盘实体驱动。
在一些实施例中,为了对移动机器人进行仿真测试,测试方案可以在独立的仿真设备中对移动机器人的硬件组件进行仿真,然后向移动机器人的控制器提供仿真数据,进而测试移动机器人的业务逻辑。然而,该测试方案中由于仿真设备与控制器属于不同的设备,容易出现设备时钟不同步,而导致在仿真复现时各个数据之间的同步性很难保证,例如电机数据信息与陀螺仪数据可能存在错拍情况。另外,该测试方案AGV控制器代码与仿真设备存在软件版本同步管理问题。
为此,本申请提出了图2的仿真测试方式。图2示出了根据本申请一些实施例的仿真测试移动机器人的装置的示意图。
如图2所示,仿真测试移动机器人的装置100包括应用单元110、接口单元120和仿真单元130。
应用单元110用于执行与移动机器人相同的业务操作。
接口单元120用于控制应用单元110与仿真单元130之间的数据交互。
其中,仿真单元130包括仿真驱动模块131和硬件模拟模块132。硬件模拟模块132模拟移动机器人中的硬件组件的运行,生成对硬件组件的仿真数据。仿真驱动模块131通过接口单元120向应用单元110返回硬件模拟模块132生成的仿真数据。
综上,本申请实施例的仿真测试方案可以与移动机器人实体采用相同的业务逻辑程序,且无需针对仿真单元130额外调整业务代码,可以与移动机器人实体采用相同的应用层软件(即应用单元110)以及机器人控制系统200,从而提高了测试方便性。另外,本申请在对应用层软件调整后无需调整仿真器代码(即仿真单元130的代码),而可以进行相关业务逻辑的功能逻辑测试,进一步提高测试方便性。本申请实施例可保证应用层以及机器人控制系统的所有代码都与移动机器人实体保持一致,从而可以在移动机器人实体资源有限或者不存在的情况下方便地进行应用层及机器人控制系统的功能逻辑的仿真测试。
在一些实施例中,仿真测试移动机器人的装置100的硬件可以与移动机器人中的控制器相同,应用单元110复用与移动机器人相同的业务软件。接口单元120复用与移动机器人相同的接口抽象。例如,应用单元110与图1中应用层代码相同。接口单元120与移动机器人中抽象层版本相同。接口单元120中各接口抽象可以与移动机器人的抽象层中各接口抽象一致。仿真单元130的运行环境可以认为与移动机器人中实现层的运行环境一致。
在一些实施例中,仿真驱动模块131用于从接口单元120获取应用单元110的指令,并根据指令驱动硬件模拟模块132运行。
在一些实施例中,接口单元120还用于在仿真测试移动机器人的装置100启动时判断驱动类型。驱动类型的范围包括与硬件模拟模块132对应的类型和与移动机器人中的硬件组件对应的类型。换言之,接口单元120可以支持仿真单元130和移动机器人实的硬件组件。在确定驱动类型对应硬件模拟模块132时,对仿真驱动模块131进行注册,以便应用单元110与仿真单元130进行数据交互。另外,接口单元120在确定驱动类型为移动机器人的实体版本时,可以注册该实体版本。
本申请实施例的接口单元120例如可以按照图3的流程图进行驱动注册。每个功能抽象模块在初始化时均会按照按流程进行初始化创建。以举升抽象接口模块初始化为例进行实际流程介绍,如图4所示,举升仿真模块定义举升仿真实现的命令设置接口(即仿真模块提供的调用接口,例如图4中simu_lift_set_cmd接口),举升交互抽象接口根据type(即驱动类型)选择仿真举升接口进行抽象接口注册,举升业务模块调用接口抽象实现相应业务逻辑。驱动类型例如可以通过程序包编译时编译选项区分或者通过配置文件增加实现版本属性参数实现。
在一些实施例中,硬件模拟模块132包括下述中至少一种:电机仿真模块、电池仿真模块、按钮仿真模块和传感器仿真模块。按钮仿真模块用于模拟下述中至少一种:急停按钮、碰撞条、启动按钮、手自动按钮和复位按钮。仿真驱动模块131包括下述中至少一种:能源仿真驱动、按钮仿真驱动、传感器仿真驱动、举升仿真驱动、转盘仿真驱动和行走仿真驱动。本申请实施例可支持移动机器人各种业务逻辑功能的仿真测试。
在一些实施例中,电机仿真模块包括用于模拟举升机构的第一电机子模块和用于模拟转盘机构的第二电机子模块。应用单元110基于机构动作测试用例,通过接口单元120向举升仿真驱动发送第一动作指令和/或向转盘仿真驱动发送第二动作指令。机构动作测试用例用于指示举升机构的动作和/或转盘机构的动作。举升仿真驱动可以根据第一动作指令驱动第一电机子模块,使得第一电机子模块模拟举升机构的运行并生成第一仿真数据。转盘仿真驱动可以根据第二动作指令驱动第二电机子模块,使得第二电机子模块模拟转盘机构的运行并生成第二仿真数据。举升仿真驱动将举升仿真数据传输到应用单元110。举升仿真数据包括:所述第一仿真数据和/或所述第二仿真数据。这样,电机仿真模块可以实现对升降货物等机构动作过程的模拟测试。
在一些实施例中,电机仿真模块包括模拟行走机构的第三电机子模块。第三电机子模块用于模拟一个或多个用于行走的电机。应用单元110基于行走测试用例,通过接口单元120向行走仿真驱动发送行走指令。行走测试用例用于指示移动机器人的自主路线规划,或者机器人控制系统200发出的集群路径规划。行走仿真驱动根据行走指令驱动第三电机子模块进行行走仿真,并将第三电机子模块的行走仿真数据传输到应用单元。这样,应用单元110可以根据行走仿真数据对移动机器人的行走机构的控制功能进行测试。
在一些实施例中,应用单元110还用于执行电池测试用例,并通过接口单元120向能源仿真驱动发送能耗业务指令。电池测试用例包括:充电业务逻辑测试。能源仿真驱动根据能耗业务指令驱动电池仿真模块进行电池性能仿真,并将电池仿真模块的性能仿真数据传输到应用单元110。例如,本申请实施例可以在能源仿真模块中建立电池能耗模型,例如建立电池电量与工作量、时间之间的对应关系。在正常实现运行一段时间后,本申请实施例可以利用能源仿真模块测试自动充电业务逻辑等。
在一些实施例中,传感器仿真模块包括激光器仿真模块。激光器仿真模块用于获取来自第三电机子模块的行走信息。行走信息包括模拟的行走机构在目标场景中的初始位置、速度和加速度和移动机器人的形状尺寸。这里,速度例如可以是第三电机子模块随时间变化提供的各时间点的速度值。加速度例如可以是第三电机子模块随时间变化提供的各时间点的加速度值。激光器仿真模块根据行走信息,生成移动机器人在目标场景中的位姿信息。激光器仿真模块根据位姿信息生成激光仿真数据。激光仿真数据用于模拟当移动机器人处于所述位姿信息对应的位姿时周围场景的点云数据。激光仿真数据通过接口单元120向应用单元返回激光仿真数据,以便应用单元110根据激光仿真数据对移动机器人的自主定位进行模拟。例如,应用单元110中行走业务可以根据点云数据,确定要模拟移动机器人在目标场景中的位置。在此基础上,应用单元110进行定位测试。
在一些实施例中,激光器仿真模块中存储有障碍分布模拟数据。障碍分布模拟数据用于描述障碍物的初始位姿、移动速度、加速度和形状尺寸。这里,如果障碍物为固定障碍物,则移动速度和加速度为0。在障碍物为移动障碍物时,障碍物的速度例如为按照时间变化提供的各时间点的速度值,加速度例如为按照时间变化提供的各时间点的加速度值。激光器仿真模块根据障碍分布模拟数据,生成障碍物在目标场景中的位姿信息。激光器仿真模块根据位姿信息生成障碍仿真数据。障碍仿真数据用于模拟当障碍物处于所述位姿信息对应的位姿时周围场景的点云数据。激光器仿真模块通过接口单元120向应用单元110返回障碍仿真数据,以便应用单元110根据障碍仿真数据对移动机器人的避障功能进行模拟测试。例如,应用单元110中避障业务可以根据与障碍物对应的点云数据,生成要模拟的障碍物在目标场景中位置,进而模拟测试避障能力。
在一些实施例中,障碍分布模拟数据为所述移动机器人的激光器的障碍探测结果,所述障碍探测结果用于记录与移动机器人探测到的障碍物对应的初始位姿、移动速度、加速度和形状尺寸。这样,应用单元110可以模拟再现移动机器人的避障过程,进而精准分析移动机器人的避障过程。
在一些实施例中,障碍模拟数据被配置为障碍分布规划数据。障碍分布规划数据为设定的障碍物的初始位姿、移动速度、加速度和形状尺寸。这样,激光仿真单元可以根据需要模拟各种障碍物场景,从而方便于模拟移动机器人可能遇到的各种障碍物场景,进而对移动机器人的避障能力进行充分测试。
在一些实施例中,所述仿真单元进一步包括:异常仿真管理单元133,用于与客户端300进行通信。客户端300可以向异常仿真管理单元133发送各种外部指令。
在接收到来自客户端300的行走异常事件的指令时,异常仿真管理单元133向电机仿真模块发送行走异常事件的触发指令。电机仿真模块生成行走异常事件,并向应用单元110发送行走异常事件。行走异常事件例如可以包括急停信号和电机异常中至少一种。
在一些实施例中,在接收到来自客户端300的对举升异常事件的触发指令时,异常仿真管理单元133向电机仿真模块发送对举升异常事件的触发指令。电机仿真模块生成举升异常事件并向应用单元110发送举升异常事件。举升异常事件包括下述中至少一种:电机堵转、电机编码器异常、电机编码器失联、举升机构检测传感器异常、举升机构运行超时、举升机构到位脱落、举升机构急停触发制动。应用单元110中举升业务可以根据举升异常事件进行相应处理。这样,本申请实施例可以模拟针对举升的突发异常状况,从而能够对举升异常进行测试。
在一些实施例中,在接收到来自客户端300的对转盘异常事件的触发指令时,异常仿真管理单元133向电机仿真模块发送对转盘异常事件的触发指令。电机仿真模块生成转盘异常事件并向应用单元110发送转盘异常事件;所述转盘异常事件包括下述中至少一种:电机堵转、电机编码器异常、电机编码器失联、转盘机构检测传感器异常、转盘机构运行超时、转盘机构到位脱落、转盘机构急停触发制动。应用单元110中转盘业务可以根据转盘异常事件进行相应处理。这样,本申请实施例可以模拟针对转盘的突发异常状况,从而能够对转盘异常进行测试。
在一些实施例中,在接收到能源状态异常的触发指令时,异常仿真管理单元133触发能源仿真驱动生成能源状态异常事件。能源仿真驱动向应用单元110发送能源状态异常事件。能源状态异常事件例如可以包括:电池异常和充电机异常中至少一种。电池异常例如包括:移动机器人静止状态下电池异常(例如单体电压过高、电芯温度异常等);小车移动过程中电池异常(例如单体电压过高、电芯温度异常等);移动机器人充电过程中电池异常(例如单体电压过高、电芯温度异常等)。充电机异常例如为充电机失联、充电机异常停止充电、充电电压过高等。这样,本申请实施例可以模拟针对电池的突发异常状况,从而能够对电池异常后的业务处理能力进行测试。
在一些实施例中,在接收到按钮触发指令时,异常仿真管理单元133向按钮仿真模块发送按钮触发指令。按钮仿真模块生成按钮事件并向应用单元110发送按钮事件。按钮事件例如包括下述中至少一种:急停按钮触发信号、触发碰撞条信号、启动按钮触发信号、手自动按钮切换信号、复位按钮触发信号。这样,本申请实施例可以针对按钮事件对按钮管理的业务进行测试。
本申请针对移动机器人动作过程中的不便实现的异常模拟均能安全有效的触发,比如单车移动过程中触发急停或碰撞条、能源管理中的充电异常逻辑处理、能源管理中的电池异常等。在移动机器人实体测试中,这类测试对于测试人员有一定的危险性,对实车也有一定的破坏性,另外不一定能百分百触发异常,测试效率也低。而本申请实施例能安全高效地对各种异常情况进行测试,提高了对移动机器人测试的方便性。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种仿真测试移动机器人的装置,其特征在于,包括:
应用单元,用于执行与移动机器人相同的业务操作;
接口单元,用于控制所述应用单元与所述仿真单元之间的数据交互;
仿真单元,包括:
硬件模拟模块,模拟所述移动机器人中的硬件组件的运行,生成对所述硬件组件的仿真数据;
仿真驱动模块,通过所述接口单元向所述应用单元返回所述硬件模拟模块生成的所述仿真数据。
2.如权利要求1所述的装置,其特征在于,所述装置的硬件与所述移动机器人中的控制器相同,所述应用单元复用与所述移动机器人相同的业务软件,所述接口单元复用与所述移动机器人相同的接口抽象;
所述仿真驱动模块用于从所述接口单元获取所述应用单元的指令,并根据所述指令驱动所述硬件模拟模块运行。
3.如权利要求1所述的装置,其特征在于,所述接口单元,还用于:
在所述装置启动时判断驱动类型,所述驱动类型的类型范围包括与所述硬件模拟模块对应的类型和与所述移动机器人中的所述硬件组件对应的类型;
在确定所述驱动类型对应所述硬件模拟模块时,对所述仿真驱动模块进行注册,以便所述应用单元与所述仿真单元进行数据交互。
4.如权利要求1所述的装置,其特征在于,所述硬件模拟模块包括下述中至少一种:电机仿真模块、电池仿真模块、按钮仿真模块和传感器仿真模块,所述按钮仿真模块用于模拟下述中至少一种:急停按钮、碰撞条、启动按钮、手自动按钮和复位按钮;所述仿真驱动模块包括下述中至少一种:能源仿真驱动、按钮仿真驱动、传感器仿真驱动、举升仿真驱动、转盘仿真驱动和行走仿真驱动。
5.如权利要求4所述的装置,其特征在于,
所述电机仿真模块包括用于模拟举升机构的第一电机子模块和用于模拟转盘机构的第二电机子模块;
所述应用单元基于机构动作测试用例,通过所述接口单元向所述举升仿真驱动发送第一动作指令和/或向所述转盘仿真驱动发送第二动作指令,所述机构动作测试用例用于指示举升机构的动作和/或转盘机构的动作;
所述举升仿真驱动根据所述第一动作指令驱动所述第一电机子模块,使得第一电机子模块模拟所述举升机构的运行并生成第一仿真数据;和/或所述转盘仿真驱动根据所述第二动作指令驱动所述第二电机子模块,使得所述第二电机子模块模拟所述转盘机构的运行并生成第二仿真数据;
所述举升仿真驱动将举升仿真数据传输到所述应用单元,所述举升仿真数据包括:所述第一仿真数据和/或所述第二仿真数据。
6.如权利要求4所述的装置,其特征在于,所述电机仿真模块包括模拟行走机构的第三电机子模块,所述第三电机子模块用于模拟一个或多个用于行走的电机;
所述应用单元基于行走测试用例,通过所述接口单元向所述行走仿真驱动发送行走指令,所述行走测试用例用于指示所述移动机器人的自主路线规划,或者机器人控制系统发出的集群路径规划;
所述行走仿真驱动根据所述行走指令驱动所述第三电机子模块进行行走仿真,并将所述第三电机子模块生成的行走仿真数据传输到所述应用单元。
7.如权利要求6所述的装置,其特征在于,所述传感器仿真模块包括激光器仿真模块;
所述激光器仿真模块用于:
获取来自所述第三电机子模块的行走信息,所述行走信息包括模拟的行走机构在目标场景中的初始位置、速度、加速度和所述移动机器人的形状尺寸;
根据所述行走信息,生成所述移动机器人在所述目标场景中的位姿信息;
根据所述位姿信息生成激光仿真数据,所述激光仿真数据用于模拟当所述移动机器人处于所述位姿信息对应的位姿时周围场景的点云数据;
通过所述接口单元向所述应用单元返回所述激光仿真数据,以便所述应用单元根据所述激光仿真数据对所述移动机器人的自主定位进行模拟测试。
8.如权利要求4所述的装置,其特征在于,所述应用单元还用于基于电池测试用例,通过所述接口单元向所述能源仿真驱动发送能耗业务指令,所述电池测试用例包括:充电业务逻辑测试指示;
所述能源仿真驱动根据所述能耗业务指令驱动所述电池仿真模块进行电池性能仿真,并将所述电池仿真模块的性能仿真数据传输到所述应用单元。
9.如权利要求4所述的装置,其特征在于,所述传感器仿真模块包括激光器仿真模块;所述激光器仿真模块中存储有障碍分布模拟数据,所述障碍分布模拟数据用于描述障碍物的初始位姿、移动速度、加速度和形状尺寸;
所述激光器仿真模块用于:
根据所述障碍分布模拟数据,生成所述障碍物在目标场景中的位姿信息;
根据所述位姿信息生成障碍仿真数据,所述障碍仿真数据用于模拟当所述障碍物处于所述位姿信息对应的位姿时周围场景的点云数据;
通过所述接口单元向所述应用单元返回所述障碍仿真数据,以便所述应用单元根据所述障碍仿真数据对所述移动机器人的避障功能进行模拟测试。
10.如权利要求9所述的装置,其特征在于,所述障碍分布模拟数据为所述移动机器人的激光器的障碍探测结果,所述障碍探测结果用于记录与所述移动机器人探测到的障碍物对应的初始位姿、移动速度、加速度和形状尺寸;或者
所述障碍模拟数据被配置为障碍分布规划数据,所述障碍分布规划数据为设定的障碍物的初始位姿、移动速度、加速度和形状尺寸。
11.如权利要求4所述的装置,其特征在于,所述仿真单元进一步包括:异常仿真管理单元,用于:
与客户端进行通信;
在接收到来自所述客户端的行走异常事件的指令时,向所述电机仿真模块发送所述行走异常事件的触发指令,所述电机仿真模块生成行走异常事件,并向所述应用单元发送所述行走异常事件;所述行走异常事件包括急停信号和电机异常中至少一种;
在接收到来自所述客户端的对举升异常事件的触发指令时,向所述电机仿真模块发送对举升异常事件的触发指令,所述电机仿真模块生成举升异常事件并向所述应用单元发送所述举升异常事件;所述举升异常事件包括下述中至少一种:电机堵转、电机编码器异常、电机编码器失联、举升机构检测传感器异常、举升机构运行超时、举升机构到位脱落、举升机构急停触发制动;
在接收到来自所述客户端的对转盘异常事件的触发指令时,向所述电机仿真模块发送对转盘异常事件的触发指令,所述电机仿真模块生成转盘异常事件并向所述应用单元发送所述转盘异常事件;所述转盘异常事件包括下述中至少一种:电机堵转、电机编码器异常、电机编码器失联、转盘机构检测传感器异常、转盘机构运行超时、转盘机构到位脱落、转盘机构急停触发制动;
在接收到来自所述客户端的按钮触发指令时,向所述按钮仿真模块发送按钮触发指令,所述按钮仿真模块生成按钮事件并向所述应用单元发送所述按钮事件,所述按钮事件包括下述中至少一种:急停按钮触发信号、触发碰撞条信号、启动按钮触发信号、手自动按钮切换信号、复位按钮触发信号;
在接收到来自所述客户端的能源状态异常的触发指令时,触发所述能源仿真驱动生成能源状态异常事件,所述能源仿真驱动向所述应用单元发送所述能源状态异常事件;所述能源状态异常事件包括:电池异常和充电机异常中至少一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111650348.1A CN114355930B (zh) | 2021-12-29 | 仿真测试移动机器人的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111650348.1A CN114355930B (zh) | 2021-12-29 | 仿真测试移动机器人的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114355930A true CN114355930A (zh) | 2022-04-15 |
CN114355930B CN114355930B (zh) | 2024-07-05 |
Family
ID=
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118440A (zh) * | 2007-08-09 | 2008-02-06 | 上海交通大学 | 海底管道检测机器人仿真系统 |
CN102323761A (zh) * | 2011-07-18 | 2012-01-18 | 铁道部运输局 | 列车控制网络半实物仿真测试平台 |
KR20120051933A (ko) * | 2010-11-15 | 2012-05-23 | 성균관대학교산학협력단 | 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법 |
US20130060378A1 (en) * | 2010-01-21 | 2013-03-07 | Duerr Systems Gmbh | Test installation for testing control programs for a robot installation |
CN103513992A (zh) * | 2013-10-23 | 2014-01-15 | 电子科技大学 | 一种通用的教育娱乐机器人应用软件研制平台 |
CN103926847A (zh) * | 2014-05-04 | 2014-07-16 | 威海正棋机电技术有限公司 | 一种机器人仿真系统 |
CN105005206A (zh) * | 2014-04-16 | 2015-10-28 | 上海交通大学 | 一种agv运动控制半实物仿真系统 |
CN107133082A (zh) * | 2017-03-14 | 2017-09-05 | 深圳航天科技创新研究院 | 实现同步虚拟设备组件的方法及系统 |
CN109324601A (zh) * | 2018-11-09 | 2019-02-12 | 上海机器人产业技术研究院有限公司 | 基于硬件在环的机器人控制器或控制系统的测试平台 |
CN109483601A (zh) * | 2018-12-24 | 2019-03-19 | 合肥欣奕华智能机器有限公司 | 一种工业机器人功能测试系统及测试方法 |
CN111381514A (zh) * | 2018-12-29 | 2020-07-07 | 沈阳新松机器人自动化股份有限公司 | 一种基于半实物仿真技术的机器人测试系统及方法 |
WO2020264432A1 (en) * | 2019-06-26 | 2020-12-30 | Skylla Technologies, Inc. | Methods and systems for testing robotic systems in an integrated physical and simulated environment |
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118440A (zh) * | 2007-08-09 | 2008-02-06 | 上海交通大学 | 海底管道检测机器人仿真系统 |
US20130060378A1 (en) * | 2010-01-21 | 2013-03-07 | Duerr Systems Gmbh | Test installation for testing control programs for a robot installation |
KR20120051933A (ko) * | 2010-11-15 | 2012-05-23 | 성균관대학교산학협력단 | 시뮬레이터 기반의 로봇 소프트웨어 컴포넌트 성능평가시스템 및 성능평가방법 |
CN102323761A (zh) * | 2011-07-18 | 2012-01-18 | 铁道部运输局 | 列车控制网络半实物仿真测试平台 |
CN103513992A (zh) * | 2013-10-23 | 2014-01-15 | 电子科技大学 | 一种通用的教育娱乐机器人应用软件研制平台 |
CN105005206A (zh) * | 2014-04-16 | 2015-10-28 | 上海交通大学 | 一种agv运动控制半实物仿真系统 |
CN103926847A (zh) * | 2014-05-04 | 2014-07-16 | 威海正棋机电技术有限公司 | 一种机器人仿真系统 |
CN107133082A (zh) * | 2017-03-14 | 2017-09-05 | 深圳航天科技创新研究院 | 实现同步虚拟设备组件的方法及系统 |
CN109324601A (zh) * | 2018-11-09 | 2019-02-12 | 上海机器人产业技术研究院有限公司 | 基于硬件在环的机器人控制器或控制系统的测试平台 |
CN109483601A (zh) * | 2018-12-24 | 2019-03-19 | 合肥欣奕华智能机器有限公司 | 一种工业机器人功能测试系统及测试方法 |
CN111381514A (zh) * | 2018-12-29 | 2020-07-07 | 沈阳新松机器人自动化股份有限公司 | 一种基于半实物仿真技术的机器人测试系统及方法 |
WO2020264432A1 (en) * | 2019-06-26 | 2020-12-30 | Skylla Technologies, Inc. | Methods and systems for testing robotic systems in an integrated physical and simulated environment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Autonomous vehicles testing methods review | |
US10296003B2 (en) | Autonomous vehicle research system | |
CN109521748B (zh) | 无人驾驶车辆的测试方法 | |
CN109801534A (zh) | 基于自动驾驶模拟器的驾驶行为硬件在环仿真测试系统 | |
CN113515105A (zh) | 用于车辆预期功能安全仿真测试的平台、方法及存储介质 | |
CN111273644B (zh) | 基于can总线编程的自动泊车主动制动测试方法 | |
CN113419518B (zh) | 一种基于vts的vil测试平台 | |
CN113820144A (zh) | 一种自动驾驶车辆的测试方法、装置、系统及设备 | |
Gechter et al. | Towards a hybrid real/virtual simulation of autonomous vehicles for critical scenarios | |
CN110456761A (zh) | 能源管理装置的测试系统、方法及车辆 | |
CN113626317A (zh) | 一种自动驾驶软件调测系统、方法、介质和设备 | |
Miura et al. | Cosam: Co-simulation framework for ros-based self-driving systems and matlab/simulink | |
CN112230632B (zh) | 用于自动驾驶的方法、装置、设备和存储介质 | |
CN114355930B (zh) | 仿真测试移动机器人的装置 | |
Artunedo et al. | Advanced co-simulation framework for cooperative maneuvers among vehicles | |
CN114355930A (zh) | 仿真测试移动机器人的装置 | |
Czarnecki | Software engineering for automated vehicles: Addressing the needs of cars that run on software and data | |
Zouari et al. | A Comparative Study of Computer-Aided Engineering Techniques for Robot Arm Applications | |
KR102459464B1 (ko) | 무인기 시뮬레이터에 의한 무인기 품질인증 시험 시스템 및 그 방법 | |
CN112834855A (zh) | 一种电作动系统测试方法及系统 | |
CN113625595A (zh) | 一种无人机推演及故障诊断方法、系统 | |
Renaux et al. | Hardware-in-the-loop simulation low-cost platform | |
CN115904972A (zh) | 一种移动机器人业务仿真测试系统、方法 | |
KR20200071818A (ko) | 이종 자율주행차 간 제어 알고리즘 호환기능을 갖는 자율주행 시뮬레이션 방법 | |
CN113687980B (zh) | 异常数据自恢复方法、系统、电子设备和可读存储介质 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant |