【技术领域】
本发明涉及机器人技术领域,尤其涉及一种机器人运行数据收集管理方法、装置、存储介质及终端。
背景技术:
目前,具备具备自主移动能力的机器人在运行期间会产生大量的传感数据、任务数据、运控数据及全局数据。其中,传感数据包括各项传感器(激光、超声、红外、imu、编码器等)产生的原始数据和二次加工数据;任务数据包括任务流、行为树决策等数据;运控数据包括运动控制过程中产生的位移、速度、加速度等数据;全局数据包括地图、路径、定位、状态等数据。上述数据可以很好地反映机器人所感知的外界环境、所执行的任务内容以及所作出的行为决策等,既能够输入回溯系统还原机器人运行历史,又能够输入仿真系统加快产品研发迭代。然而,现有对机器人进行数据收集的方法不够准确以及高效,且对收集到的数据管理不够简洁、畅通。
鉴于此,实有必要提供一种机器人运行数据收集管理方法、装置、存储介质及终端以克服上述缺陷。
技术实现要素:
本发明的目的是提供一种机器人运行数据收集管理方法、装置、存储介质及终端,旨在改善现有对机器人进行数据收集的方法不够准确以及高效的问题,使收集到的运行数据能够简洁、畅通的在客户端与网页端流通。
为了实现上述目的,本发明第一方面提供一种机器人运行数据收集管理方法,包括以下步骤:
接收机器人上的至少一个主程序发送的自身的运行数据;其中,所述主程序内置具有数据提取、组合与序列化的功能;
将所述运行数据按时间切片以物理文件的形式进行存储,获得运行存储数据;
将所述运行存储数据上传存储至云端数据库;
通过所述云端数据库向客户端和/或网页端发送所述运行存储数据。
在一个优选实施方式中,在所述接收机器人上的至少一个主程序发送的自身的运行数据步骤之前还包括步骤:
接收客户端和/或网页端发送的预设的起止时间点信息;
判断当前时间是否处于起止时间点区间内,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
在一个优选实施方式中,在所述接收机器人上的至少一个主程序发送的自身的运行数据步骤之前还包括步骤:
接收客户端和/或网页端发送的预设的至少一种任务类型信息;
判断机器人当前执行的任务是否属于预设的任务类型,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
在一个优选实施方式中,在所述接收机器人上的至少一个主程序发送的自身的运行数据步骤之前还包括步骤:
接收客户端和/或网页端发送的预设的至少一种异常类型信息;
判断机器人当前的状态是否属于预设的异常类型,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
本发明第二方面提供了一种机器人运行数据收集管理装置,包括:
数据接收模块,用于接收机器人上的至少一个主程序发送的自身的运行数据;其中,所述主程序内置具有数据提取、组合与序列化的功能;
数据存储模块,用于将所述运行数据按时间切片以物理文件的形式进行存储,获得运行存储数据;
数据上传模块,用于将所述运行存储数据上传存储至云端数据库;
数据发送模块,用于通过所述云端数据库向客户端和/或网页端发送所述运行存储数据。
在一个优选实施方式中,所述机器人运行数据收集管理装置还包括:
第一接收模块,用于接收客户端和/或网页端发送的预设的起止时间点信息;
第一判断模块,用于判断当前时间是否处于起止时间点区间内,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
在一个优选实施方式中,所述机器人运行数据收集管理装置还包括:
第二接收模块,用于接收客户端和/或网页端发送的预设的至少一种任务类型信息;
第二判断模块,用于判断机器人当前执行的任务是否属于预设的任务类型,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
在一个优选实施方式中,所述机器人运行数据收集管理装置还包括:
第三接收模块,用于接收客户端和/或网页端发送的预设的至少一种异常类型信息;
第三判断模块,用于判断机器人当前的状态是否属于预设的异常类型,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
本发明第三方面提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现如上述实施方式中任一项所述的机器人运行数据收集管理方法。
本发明第四方面提供了一种终端,包括上述的计算机可读存储介质和处理器,所述处理器执行所述计算机可读存储介质上的计算机程序时实现如上述实施方式中任一项所述的机器人运行数据收集管理方法的步骤。
本发明提供的机器人运行数据收集管理方法,主程序将自身的运动数据进行提取、组合与序列化;然后接受主程序发送的运动数据并按时间切片以物理文件的形式存储,使得所需要的运行数据时间线对齐,且保证了运行数据的完整与准确,存储时更为高效;最后客户端与网页端可直接从云端数据库进行数据提取,使收集到的运行数据能够简洁、畅通的在客户端与网页端流通,便于针对机器人进行研发迭代。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明提供的机器人运行数据收集管理方法的流程图;
图2为图1所示机器人运行数据收集管理方法一个实施例的流程图;
图3为图1所示机器人运行数据收集管理方法又一实施例的流程图;
图4为图1所示机器人运行数据收集管理方法再一实施例的流程图;
图5为本发明提供的机器人运行数据收集管理装置的框架图;
图6为图5所示机器人运行数据收集管理装置一个实施例的框架图;
图7为图5所示机器人运行数据收集管理装置又实施例的框架图;
图8为图5所示机器人运行数据收集管理装置再一实施例的框架图。
【具体实施方式】
为了使本发明的目的、技术方案和有益技术效果更加清晰明白,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并不是为了限定本发明。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在本发明的实施例中,第一方面提供一种机器人运行数据收集管理方法,用于将机器人在运行期间产生的运行数据进行收集、存储及上传,便于后续在研发客户端和/或网页端中既能够输入回溯系统还原机器人运行历史,又能够输入仿真系统加快产品研发迭代。具体的,如图1所示,本方法包括以下步骤s101-s104。
在步骤s101中,接收机器人上的至少一个主程序发送的自身的运行数据;其中,主程序内置具有数据提取、组合与序列化的功能。
具体的,机器人上设有负责机器人环境感知、运动控制、任务决策等内容的一个或多个机器人主程序,这些主程序内置数据提取、组合、序列化等功能组件,从而保证数据完整、准确、时间线对齐,并选用合适的通信方式和通信频率将自身的运行数据进行发送。当接收到多个主程序发送的自身的运行数据后,可将运行数据按照数据类型(如传感数据、任务数据等)、数据产生时间(如白天、黑夜)等方式进行分类,并进行相应的编号,便于后续数据回溯中易于读取与分析。
在步骤s102中,将运行数据按时间切片以物理文件的形式进行存储,获得运行存储数据。
在本步骤中,由于每个运行数据都已经被自身的主程序将时间线对齐,因此可将所有的运行数据按照时间序列切片,可引入了meta-index(索引元信息),用以查询每个数据块的开始和结束时间。当在一个时间段内攒够了足够的数据后,把整个数据块进行压缩。此处可参考列存的思路,将值索引到压缩块,而值索引不再像传统数据库那样索引到行。因此,较大的提升了运行数据被索引、存储的效率。另外,在本实施例中,运行数据以物理文件中的索引存储结构与链式存储结构的结合,既便于动态管理内存,也使得数据检索速度快,保证数据的唯一性。需要说明的是,运行数据先存放于机器人本地的tf(t-flash)存储卡中,通过tf卡具有的体积小、数据传输速度快、可热插拔的优点,进一步记得运行数据的收集与存储更为高效。
在步骤s103中,将运行存储数据上传存储至云端数据库。因此,主程序上传的运行数据被同时存储在机器人本地以及云端服务器中。能够理解的,机器人设有可进行网络连接的网络连接功能组件,例如wifi(无线连接)等。将所存储的物理文件复制、然后每隔预定时间或者实时上传到云端服务器中。
在步骤s104中,通过云端数据库向客户端和/或网页端发送运行存储数据。
在本步骤中,作为数据消费者,可体现为直接基于云端数据库对外提供的云端数据统计和数据下载等服务,也可体现为客户端面向研发、定制化属性更强的数据回溯和仿真等功能。具体的,研发人员通过研发侧客户端或者网页端按照既定规则向云端服务器的云端数据库下载、拿取目标数据,进而进行成功率、时间占比、机器状态等信息的分析。
进一步的,在一个实施例中,如2所示,在步骤101之前还包括步骤t11-t12。
在步骤t11中,接收客户端和/或网页端发送的预设的起止时间点信息。例如,研发侧可在客户端和网页端选取起止时间点,导入机器人的主程序中,从而便于获得目标时间段内机器人的运行数据。
在步骤t12中,判断当前时间是否处于起止时间点区间内,若结果为是,则控制主程序发送自身的所述运行数据;若结果为否,则停止主程序发送自身的运行数据。因此,在用户选取的时间段之外,机器人的主程序无需发送自身的运行数据,既能减小主程序在运行中的线程,也能减缓机器人tf卡的存储空间压力。
进一步的,在一个实施例中,如3所示,在步骤101之前还包括步骤t21-t22。
在步骤t21中,接收客户端和/或网页端发送的预设的至少一种任务类型信息。研发侧可选取预设的一种或多种任务类型进行有针对性的数据收集以及后续的改进,例如,机器人的进梯、过闸、平层移动、充电等任务类型。
在步骤t22中,判断机器人当前执行的任务是否属于预设的任务类型,若结果为是,则控制主程序发送自身的运行数据;若结果为否,则停止主程序发送自身的运行数据。例如,机器人当前在进入电梯,然后判断进梯的任务类型属于研发侧预先选取的任务类型中的其中一种,则将机器人的涉及的传感器测到的传感数据,电机运行产生的位移、加速度、速度等运控数据,定位系统所产生的路径变化等全局数据等进梯有关数据进行收集、存储、上传,使得研发侧能够针对机器人的进梯任务进行优化等。
进一步的,在一个实施例中,如4所示,在步骤101之前还包括步骤t31-t32。
在步骤t31中,接收客户端和/或网页端发送的预设的至少一种异常类型信息。研发侧可选取预设的一种或多种异常类型进行有针对性的数据收集,例如:机器人运动卡死、任务超时、系统崩溃等。
在步骤t32中,判断机器人当前的状态是否属于预设的异常类型,若结果为是,则控制主程序发送自身的运行数据;若结果为否,则停止主程序发送自身的运行数据。当判断机器人当前发生的异常状态属于预设的异常类型时,启动主程序的异常状态相关的数据收集,从而便于研发侧针对机器人产生的异常状态进行有针对性的改进,尽量避免机器人以后再发生此种异常状态。
综上所述,本发明提供的机器人运行数据收集管理方法,主程序将自身的运动数据进行提取、组合与序列化;然后接受主程序发送的运动数据并按时间切片以物理文件的形式存储,使得所需要的运行数据时间线对齐,且保证了运行数据的完整与准确,存储时更为高效;最后客户端与网页端可直接从云端数据库进行数据提取,使收集到的运行数据能够简洁、畅通的在客户端与网页端流通,便于针对机器人进行研发迭代。
本发明第二方面提供了一种机器人运行数据收集管理装置100,用于对机器人产生的运行数据进行收集、存储与上传。需要说明的是,机器人运行数据收集管理装置100的实现原理与实施方式与上述的机器人运行数据收集管理方法相一致,故以下不再赘述。
如图5所示,机器人运行数据收集管理装置100包括:
数据接收模块10,用于接收机器人上的至少一个主程序发送的自身的运行数据;其中,主程序内置具有数据提取、组合与序列化的功能;
数据存储模块20,用于将运行数据按时间切片以物理文件的形式进行存储,获得运行存储数据;
数据上传模块30,用于将运行存储数据上传存储至云端数据库;
数据发送模块40,用于通过云端数据库向客户端和/或网页端发送运行存储数据。
进一步的,在一个实施例中,如图6所示,机器人运行数据收集管理装置100还包括:
第一接收模块11,用于接收客户端和/或网页端发送的预设的起止时间点信息;
第一判断模块12,用于判断当前时间是否处于起止时间点区间内,若结果为是,则控制主程序发送自身的运行数据;若结果为否,则停止主程序发送自身的运行数据。
进一步的,在一个实施例中,如图7所示,机器人运行数据收集管理装置100还包括:
第二接收模块21,用于接收客户端和/或网页端发送的预设的至少一种任务类型信息;
第二判断模块22,用于判断机器人当前执行的任务是否属于预设的任务类型,若结果为是,则控制主程序发送自身的运行数据;若结果为否,则停止主程序发送自身的运行数据。
进一步的,在一个实施例中,如图8所示,机器人运行数据收集管理装置100还包括:
第三接收模块31,用于接收客户端和/或网页端发送的预设的至少一种异常类型信息;
第三判断模块32,用于判断机器人当前的状态是否属于预设的异常类型,若结果为是,则控制主程序发送自身的运行数据;若结果为否,则停止主程序发送自身的运行数据。
本发明第三方面提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,实现如上述实施方式中任一项所述的机器人运行数据收集管理方法。
本发明第四方面提供了一种终端,包括上述的计算机可读存储介质和处理器,所述处理器执行所述计算机可读存储介质上的计算机程序时实现如上述实施方式中任一项所述的机器人运行数据收集管理方法的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统或装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统或装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明并不仅仅限于说明书和实施方式中所描述,因此对于熟悉领域的人员而言可容易地实现另外的优点和修改,故在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
1.一种机器人运行数据收集管理方法,其特征在于,包括以下步骤:
接收机器人上的至少一个主程序发送的自身的运行数据;其中,所述主程序内置具有数据提取、组合与序列化的功能;
将所述运行数据按时间切片以物理文件的形式进行存储,获得运行存储数据;
将所述运行存储数据上传存储至云端数据库;
通过所述云端数据库向客户端和/或网页端发送所述运行存储数据。
2.如权利要求1所述的机器人运行数据收集管理方法,其特征在于,在所述接收机器人上的至少一个主程序发送的自身的运行数据步骤之前还包括步骤:
接收客户端和/或网页端发送的预设的起止时间点信息;
判断当前时间是否处于起止时间点区间内,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
3.如权利要求1所述的机器人运行数据收集管理方法,其特征在于,在所述接收机器人上的至少一个主程序发送的自身的运行数据步骤之前还包括步骤:
接收客户端和/或网页端发送的预设的至少一种任务类型信息;
判断机器人当前执行的任务是否属于预设的任务类型,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
4.如权利要求1所述的机器人运行数据收集管理方法,其特征在于,在所述接收机器人上的至少一个主程序发送的自身的运行数据步骤之前还包括步骤:
接收客户端和/或网页端发送的预设的至少一种异常类型信息;
判断机器人当前的状态是否属于预设的异常类型,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
5.一种机器人运行数据收集管理装置,其特征在于,包括:
数据接收模块,用于接收机器人上的至少一个主程序发送的自身的运行数据;其中,所述主程序内置具有数据提取、组合与序列化的功能;
数据存储模块,用于将所述运行数据按时间切片以物理文件的形式进行存储,获得运行存储数据;
数据上传模块,用于将所述运行存储数据上传存储至云端数据库;
数据发送模块,用于通过所述云端数据库向客户端和/或网页端发送所述运行存储数据。
6.如权利要求5所述的机器人运行数据收集管理装置,其特征在于,所述机器人运行数据收集管理装置还包括:
第一接收模块,用于接收客户端和/或网页端发送的预设的起止时间点信息;
第一判断模块,用于判断当前时间是否处于起止时间点区间内,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
7.如权利要求6所述的机器人运行数据收集管理装置,其特征在于,所述机器人运行数据收集管理装置还包括:
第二接收模块,用于接收客户端和/或网页端发送的预设的至少一种任务类型信息;
第二判断模块,用于判断机器人当前执行的任务是否属于预设的任务类型,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
8.如权利要求5所述的机器人运行数据收集管理装置,其特征在于,所述机器人运行数据收集管理装置还包括:
第三接收模块,用于接收客户端和/或网页端发送的预设的至少一种异常类型信息;
第三判断模块,用于判断机器人当前的状态是否属于预设的异常类型,若结果为是,则控制所述主程序发送自身的所述运行数据;若结果为否,则停止所述主程序发送自身的所述运行数据。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-4任一项所述的机器人运行数据收集管理方法。
10.一种终端,其特征在于,包括权利要求9所述的计算机可读存储介质和处理器,所述处理器执行所述计算机可读存储介质上的计算机程序时实现如权利要求1-4任一项所述的机器人运行数据收集管理方法的步骤。
技术总结