掌桥专利:专业的专利平台
掌桥专利
首页

一种数据仿真系统

文献发布时间:2023-06-19 19:32:07


一种数据仿真系统

技术领域

本发明涉及机器人技术领域,尤其涉及一种数据仿真系统。

背景技术

机器人是一种包含硬件和软件的复杂设备,对机器人系统的测试也有别于一般的软件测试,需要充分考虑到硬件和环境等各方面因素对机器人系统的影响。目前业界内对机器人的测试一般有如下两种方法:

一是在仿真环境(如Gazebo仿真软件)中进行测试,这种方法的优点是可以不受实际环境的限制,搭建多种目标场景,并且可以进行自动化测试,缺点是仿真环境的运行平台与真机不一致,能够仿真机器人上的传感器的类型也十分有限,而且仿真环境中的传感器模型过于理想,即使设置了噪声,也往往有规律可循,难以模拟真实传感器的各种异常数据和故障。

二是用机器人系统在真实环境中测试,这种方法的优点是测试对象是完全真实的硬件平台,缺点则是需要更多人工参与,测试效率较低,而且测试场地有限,难以覆盖更多的场景。

综上所述,亟需一种数据仿真系统解决现有机器人测试方法的不足。

发明内容

本发明提供了一种数据仿真系统,能够在机器人测试过程中融合部分真实传感器的数据,使得测试结果更加真实有效,同时仿真测试还可以运行在真实的机器人硬件平台上,可以实现在真机上测试现实中不存在的场景,极大的提高了测试覆盖率。

根据本发明的一方面,提供了一种数据仿真系统,所述系统包括:模拟设备、TCP桥接服务器以及通讯通道;

模拟设备用于根据仿真软件以及真实物理设备确定待测导航系统控制命令对应的机器人位姿以及传感器观测值;

TCP桥接服务器用于连接模拟设备以及待测导航系统,并在模拟设备以及待测导航系统之间进行数据协议格式转换;

通讯通道为待测导航系统提供统一的传输层接口,其中,传输层接口包括至少一个传输层协议的数据接口。

本发明实施例的技术方案,通过设计一种数据仿真系统,所述系统包括:模拟设备、TCP桥接服务器以及通讯通道;模拟设备用于根据仿真软件以及真实物理设备确定待测导航系统控制命令对应的机器人位姿以及传感器观测值;TCP桥接服务器用于连接模拟设备以及待测导航系统,并在模拟设备以及待测导航系统之间进行数据协议格式转换;通讯通道为待测导航系统提供统一的传输层接口,其中,传输层接口包括至少一个传输层协议的数据接口。本发明实施例提供的数据仿真系统通过TCP桥接服务器实现模拟设备与待测导航系统之间的数据协议格式转换,以及通过通讯通道为待测导航系统提供统一的数据接口,可以实现仿真数据和真实传感器数据的混合使用,提高了机器人测试的真实有效性,克服了机器人真实测试中的人工成本高以及测试场地有限的问题。

应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例提供的一种数据仿真系统的结构框图;

图2是根据本发明实施例提供的一种通讯通道的关系示意图;

图3是根据本发明实施例提供的一种数据协议格式转换的流程示例图;

图4是根据本发明实施例提供的一种数据报文分发处理的流程示例图;

图5是根据本发明实施例提供的另一种数据仿真系统的结构框图;

图6是根据本发明实施例提供的一种确定机器人位姿以及传感器观测值的流程示例图;

图7是根据本发明实施例提供的一种机器人混合式仿真系统的架构图;

图8是根据本发明实施例提供的一种TCP桥接服务器工作流程的示例图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

图1为本发明实施例提供的一种数据仿真系统的结构框图,本实施例可适用于对机器人进行测试的情况。如图1所示,本实施例的数据仿真系统包括:模拟设备110、TCP桥接服务器120以及通讯通道130。其中,

本发明实施例中数据仿真系统的模拟设备110,可以用于根据仿真软件以及真实物理设备确定待测导航系统控制命令对应的机器人位姿以及传感器观测值。

在本发明实施例中,仿真软件可以理解为用于机器人仿真测试的第三方仿真软件,仿真软件可以包括但不限于:Gazebo仿真软件、Vrep仿真软件等。真实物理设备可以理解为用于机器人仿真测试的远程真实设备,真实物理设备可以包括但不限于:激光雷达、超声波传感器和摄像头等。待测导航系统控制命令可以理解为由待测机器人定位导航系统输出的控制命令,待测导航系统控制命令可以包括底盘驱动控制命令、激光雷达控制命令等。传感器观测值可以理解为与机器人有关的传感器的观测数据,传感器观测值可以包括运动速度观测值、里程值、激光观测值和超声波观测值等。

具体地,模拟设备110可以根据仿真软件以及远程的真实物理设备,读取机器人的位姿和传感器观测值等数据,同时可以接收来自待测机器人定位导航系统的控制命令,然后转发给仿真软件和/或真实物理设备,其中,模拟设备配置的仿真软件可以包括但不限于以下至少之一:Gazebo仿真软件、Vrep仿真软件,传感器观测值可以包括但不限于:运动速度观测值、里程值、激光观测值、超声波观测值等。

本发明实施例中数据仿真系统的TCP桥接服务器120,可以用于连接模拟设备以及待测导航系统,并在模拟设备以及待测导航系统之间进行数据协议格式转换。

在本发明实施例中,待测导航系统可以理解为待测的机器人定位导航系统,待测导航系统中,可以包括直接连接到机器人的真实设备,也可以包括仿真软件中的模拟设备等。数据协议格式转换可以理解为模拟设备与待测导航系统之间为了数据通讯而进行的协议格式转换。

具体地,TCP桥接服务器120作为TCP服务端,其作用是将任意协议的数据转换为指定的格式,实现模拟设备与待测导航系统之间的数据通讯,示例性地,一方面,TCP桥接服务器可以将模拟设备的数据转换成对应协议提供给待测导航系统中的设备,另一方面,TCP桥接服务器也可以将待测导航系统中的设备下发的控制命令转换成模拟设备所需的数据格式。

本发明实施例中数据仿真系统的通讯通道130,可以为待测导航系统提供统一的传输层接口,其中,传输层接口包括至少一个传输层协议的数据接口。

在本发明实施例中,通讯通道可以理解为将模拟设备与待测导航系统之间的数据通讯的传输层协议抽象出一个独立的“通道”,传输层协议可以包括传输控制协议(Transmission Control Protocol,TCP)、用户数据报协议(User Datagram Protocol,UDP)以及串口协议等。

具体地,为了实现模拟设备与待测导航系统之间的数据通讯,以及仿真数据和真实传感器数据的混合使用,定义了一套抽象的通讯通道130,可以为待测导航系统中的设备驱动提供统一的传输层接口,且与应用层协议无关,因此通讯通道只需开发一次即可适用于待测导航系统中的不同设备驱动,其中,传输层接口可以包括至少一个传输层协议的数据接口,通讯通道的数据接口可以包括但不限于:串口协议接口、TCP协议接口、UDP协议接口等。需要理解的是,机器人本机的真实设备大多为串口协议接口,如果是TCP协议接口则可能是通过TCP桥接服务器转发的仿真设备或远程设备,而在本数据仿真系统中则是统一的接口,因此在系统运行过程中根本无需区分是真实设备还是仿真设备,都执行统一的逻辑,并且,通讯通道只针对传输层协议,因此只需开发一个版本即可适用于不同的设备。

本发明实施例的技术方案,通过设计一种数据仿真系统,所述系统包括:模拟设备、TCP桥接服务器以及通讯通道;模拟设备用于根据仿真软件以及真实物理设备确定待测导航系统控制命令对应的机器人位姿以及传感器观测值;TCP桥接服务器用于连接模拟设备以及待测导航系统,并在模拟设备以及待测导航系统之间进行数据协议格式转换;通讯通道为待测导航系统提供统一的传输层接口,其中,传输层接口包括至少一个传输层协议的数据接口。本发明实施例提供的数据仿真系统能够结合机器人仿真测试和真机测试各自的优点,通过TCP桥接服务器以及通讯通道实现了模拟设备和待测导航系统之间的数据通讯,可以实现仿真数据和真实传感器数据的混合使用,提高了机器人测试的真实有效性,同时可以在仿真软件中搭建实际中不存在的场景,提高了机器人测试的场景覆盖率。

进一步地,在上述发明实施例的基础上,通讯通道130的数据接口可以由至少一个接口函数组成,接口函数可以至少包括同步发送函数、异步发送函数、发送并等待响应报文函数。

在本发明实施例中,通讯通道的数据接口可以理解为传输层的接口定义,因此只需要定义通用的数据发送和接收的接口即可,接口函数可以包括但不限于以下几种:同步发送函数、异步发送函数、发送并等待响应报文函数等。本发明实施例提供的通讯通道类Channel如下:

图2为本发明实施例提供的一种通讯通道的关系示意图。由图2可以看出,TCP通讯通道、UDP通讯通道以及通讯通道都可以从类Channel继承相同的接口函数,待测导航系统中的不同设备驱动只需要关联Channel这个抽象类,通过调用虚函数的方式即可实现数据的读写。

进一步地,在上述发明实施例的基础上,TCP桥接服务器120还可以包括服务接口以及命令接口,服务接口分别对应待测导航系统的驱动,命令接口分别对应驱动的功能。

具体地,TCP桥接服务器120除了用于将任意协议的数据转换为指定的格式,还可以采用服务和命令两级分类的方式向待测导航系统提供接口,其中,服务接口分别对应待测导航系统中的每种驱动,命令接口分别对应驱动的每个功能。

进一步地,在上述发明实施例的基础上,如图3所示,在模拟设备以及待测导航系统之间进行数据协议格式转换的过程,可以包括如下步骤:

S310、根据TCP桥接服务器解析待测导航系统的数据报文的服务编号以及命令编号。

在本发明实施例中,服务编号可以理解为服务接口的编号,服务编号可以与待测导航系统中的设备驱动一一对应。命令编号可以理解为命令接口的编号,命令编号可以与待测导航系统中的设备驱动的功能一一对应。

具体地,可以使用TCP桥接服务器对待测导航系统发送的数据报文进行数据解析,需要理解的是,不同的传输层协议可以采用不同的报文解析方法,例如,若待测导航系统发送是的基于TCP协议的数据报文,则可以采用相应的TCP协议对其进行报文解析,从中解析出服务编号以及命令编号,其中,服务编号可以与待测导航系统中的设备驱动一一对应,命令编号可以与设备驱动的功能一一对应。

S320、在TCP桥接服务器按照服务编号以及命令编号分发数据报文至模拟设备进行处理。

具体地,在解析出数据报文中的服务编号和命令编号之后,TCP桥接服务器可以根据该服务编号和命令编号将发送的数据报文分发至相应的模拟设备,由对应的模拟设备处理相应的命令,其中,按照服务编号以及命令编号分发数据报文至模拟设备的方式可以包括但不限于以下几种:可以根据数据报文中的服务编号和命令编号在通讯通道查找对应的数据接口,通过调用该数据接口将数据报文分发至对应的模拟设备;可以根据服务编号在预先配置的服务编号集中查找是属于哪一种模拟设备,再调用该模拟设备的数据接口将数据报文分发至对应的模拟设备。

进一步地,在上述发明实施例的基础上,如图4所示,S320可以包括如下步骤:

S3201、在通讯通道查找与服务编号以及命令编号对应的数据接口。

具体地,可以根据服务编号以及命令编号在通讯通道中查找与其对应的数据接口,通讯通道的数据接口可以包括但不限于:串口协议接口、TCP协议接口、UDP协议接口等。

S3202、调用数据接口将数据报文分发至仿真软件和/或真实物理设备进行处理。

具体地,可以调用对应的数据接口将发送的数据报文分发至仿真软件和/或真实物理设备,再由仿真软件和/或真实物理设备处理相应的命令。

S330、根据TCP桥接服务器将模拟设备的处理结果反馈至待测导航系统。

具体地,模拟设备在处理完命令后,会将相应的处理结果通过TCP桥接服务器反馈给待测导航系统,需要理解的是,TCP桥接服务器可以对模拟设备反馈的处理结果进行数据格式转换,再将转换后的处理结果反馈给待测导航系统。

进一步地,在上述发明实施例的基础上,图5为本发明实施例提供的另一种数据仿真系统的结构框图。本实施例主要是对图1中的模拟设备110进行了细化。如图5所示,模拟设备110可以至少包括真实设备管理模块111以及仿真设备管理模块112,其中,真实设备管理模块111用于管理真实物理设备,仿真设备管理模块112用于管理仿真软件。

在本发明实施例,真实设备管理模块111,可以用于管理真实物理设备,真实物理设备可以包括但不限于:激光雷达、超声波传感器和摄像头等,真实设备管理模块111可以用于获取在机器人测试过程中的真实传感器的观测值,传感器观测值可以至少包括:运动速度观测值、里程值、激光观测值、超声波观测值。仿真设备管理模块112,可以用于管理仿真软件,仿真软件可以包括但不限于:Gazebo仿真软件、Vrep仿真软件等,仿真设备管理模块112用于获取在机器人测试过程中的位姿数据。需要理解的是,真实设备管理模块111以及仿真设备管理模块112的数量可以根据实际测试需要进行相应配置,本发明实施例对此不进行限制。

进一步地,在上述发明实施例的基础上,如图6所示,模拟设备110用于根据仿真软件以及真实物理设备确定待测导航系统控制命令对应的机器人位姿以及传感器观测值的过程,可以包括如下步骤:

S410、根据TCP桥接服务器接收待测导航系统的数据报文。

具体地,TCP桥接服务器可以通过相应的通讯通道接收来自待测导航系统的数据报文,数据报文中可以包括服务编号的命令编号,示例性地,接收的数据报文可以是基于TCP协议的报文。

S420、在TCP桥接服务器按照数据报文创建TCP通道。

具体地,TCP桥接服务器可以在接收到报文后,可以通过本地端口号、接收端的端口号等配置信息创建一个TCP通道。

S430、按照数据报文的服务编号将TCP通道连接至模拟设备的真实设备管理模块和/或仿真设备管理模块。

具体地,可以通过TCP通道读取数据报文的服务编号,将TCP通道关联至对应的模拟设备的真实设备管理模块和/或仿真设备管理模块,实现TCP通道与真实设备管理模块和/或仿真设备管理模块之间数据通讯。

S440、基于真实设备管理模块和/或仿真设备管理模块确定连接请求控制命令对应的机器人位姿以及传感器观测值。

具体地,真实设备管理模块和/或仿真设备管理模块可以对接收到的数据报文中的命令进行处理,若是真实设备管理模块,则会调用设备驱动与实际的真实物理设备进行通讯,若是仿真设备管理模块,则会与对应的仿真软件建立连接,并按照对应的协议读写数据,真实设备管理模块和/或仿真设备管理模块可以将待测导航系统请求的控制命令对应的机器人位姿以及传感器观测值反馈给待测导航系统。

进一步地,在上述发明实施例的基础上,图7为本发明实施例提供的一种机器人混合式仿真系统的架构图。如图7所示,在机器人定位导航系统中包含3类设备,设备A表示第三方仿真软件中的模拟设备;设备B表示安装在其他机器上的真实设备,通过TCP桥接服务器连接到了定位导航系统;设备C表示直接连接到机器人的真实设备。图7中的模拟设备,主要用于连接第三方仿真软件,模拟设备可以从第三方仿真软件中读取机器人位姿、运动速度、里程值、激光观测、超声波观测等数据,然后转换数据格式,通过TCP桥接服务器提供给设备驱动,同时也通过TCP桥接服务器接收来自设备驱动的命令,然后转换成仿真软件能接收的数据格式。图7中的TCP桥接服务器,其作用是将任意协议的数据转换为指定的格式,然后向机器人定位导航系统提供接口,TCP桥接服务器采用服务和命令两级分类的方式提供接口,每种设备驱动对应一种服务,驱动的每个功能对应一个命令,TCP桥接服务器在接收到来自设备驱动的报文后,解析出服务和命令编号,然后分发给对应的模拟设备或物理设备驱动进行处理,最后读取处理结果后返回给设备驱动。图7中的通讯通道,是为了实现仿真数据和真实传感器数据的混合使用,将通讯的传输层协议抽象出一个独立的通讯通道概念,为设备驱动提供统一的传输层接口,与应用层协议无关,因此只需开发一次即可用于不同的设备驱动,本系统可以提供常见的多种传输层协议如TCP、UDP以及串口等通讯通道接口。

进一步地,在上述发明实施例的基础上,图8为本发明实施例提供的一种TCP桥接服务器工作流程的示例图。如图8所示,TCP桥接服务器的工作流程包括如下步骤:

S510、根据配置注册服务的回调接口。

具体地,可以在机器人定位导航系统中通过配置注册服务的回调接口,每个服务对应一种设备,示例性地,在本发明实施例中ctrlbus可以表示底盘设备,rplidar可以表示雷达设备。需要理解的是,每个服务可以根据实际需要进行相应配置,例如服务既可以对应是模拟设备,也可以对应是真实的物理设备,本发明实施例对此不进行限制。

S520、启动TCP服务,在指定端口上侦听。

S530、在接收到来自机器人定位导航系统的某个请求后,创建一个TCP通道。

S540、通过TCP通道读取服务编号,然后关联对应的设备管理模块。

具体地,通过读取数据报文中的服务编号,可以将TCP通道关联至对应的设备管理模块,即建立起了TCP通讯通道和设备管理模块的一一对应。

S550、在设备管理模块中处理数据报文中的命令。

具体地,如果是模拟设备,则会与仿真软件建立连接,按照对应的协议读写数据,如果是物理设备,则调用设备驱动与实际的设备进行通信。进一步地,本实施例中的设备管理模块可以包括模拟设备和物理设备两种,二者有相同的接口,根据具体的设备类型可以派生出多种设备管理模块,比如常见的仿真软件有Gazebo和Vrep,则需要实现两个设备管理模块,分别实现Gazebo和Vrep的通信协议,即可使整个系统支持两者的仿真环境。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

相关技术
  • 一种采集运维仿真培训系统与仿真柜之间的数据采集方法及系统
  • 一种电网仿真计算数据管理方法和系统及仿真方法和系统
技术分类

06120115939214