发明内容
本发明实施例一个目的旨在提供一种机器人控制方法、装置、系统及机器人控制器,能够应用于多种机器人并同时保证数据安全。
根据本发明实施例的第一方面,提供了一种机器人控制方法,所述方法应用于机器人控制器,所述机器人控制器包括第一操作系统和第二操作系统,所述第一操作系统和所述第二操作系统通过通信通道进行通信,所述第一操作系统用于与第一机器人本体通信,所述第二操作系统用于存储与所述第一机器人本体对应的第一机器人应用程序;
所述方法包括:所述第一操作系统检测所述第一操作系统通信的机器人类型是否变更;若所述第一操作系统确定所述第一操作系统通信的机器人类型变更,所述第一操作系统清除所述第二操作系统中存储的与所述第一机器人本体对应的第一机器人应用程序。
在一种可选的方式中,所述第一操作系统检测所述第一操作系统通信的机器人类型是否变更,具体包括:当所述第一操作系统与所述第一机器人本体建立通信时,所述第一操作系统获取所述第一机器人本体的第一类型;当所述第一操作系统与所述第一机器人本体断开通信、并与第二机器人本体建立通信时,所述第一操作系统获取所述第二机器人本体的第二类型;所述第一操作系统判断所述第一类型与所述第二类型是否相同;若所述第一类型与所述第二类型不相同,则所述第一操作系统确定所述第一操作系统通信的机器人类型变更。
在一种可选的方式中,所述第一操作系统获取所述第一机器人本体的第一类型,具体包括:所述第一操作系统发送查询指令至所述第一机器人本体,以使所述第一机器人本体根据所述查询指令查询所述第一机器人本体的第一类型;接收所述第一机器人本体返回的所述第一机器人本体的第一类型。
在一种可选的方式中,所述第一操作系统包括第一系统模块,所述第一系统模块用于存储基础能力服务程序,所述第一系统模块对于所述基础能力服务程序是只读的,所述第二操作系统包括第二系统模块和第二用户模块,所述第二系统模块用于存储应用管理程序,所述第二用户模块用于存储所述第一机器人应用程序,所述第二用户模块对于所述第一机器人应用程序是可读可写的;
所述第一操作系统清除所述第二操作系统中存储的与所述第一机器人本体对应的第一机器人应用程序,具体包括:所述第一系统模块通过所述基础能力服务程序发送清除指令至所述第二系统模块;所述第二系统模块根据所述清除指令,通过所述应用管理程序执行清除所述第一机器人应用程序的操作。
在一种可选的方式中,所述第一操作系统还包括第一用户模块,所述方法还包括:若所述第一操作系统确定所述第一操作系统通信的机器人类型变更,所述第一系统模块通过所述基础能力服务程序对所述第一用户模块的内容进行清除。
在一种可选的方式中,所述第一机器人本体包括第一本体控制器和第一执行单元,所述第一本体控制器与所述第一执行单元通信;
所述方法还包括:所述第一系统模块通过所述基础能力服务程序发送第一控制指令至所述第一本体控制器,以使所述第一本体控制器控制所述第一执行单元执行与所述第一控制指令对应的操作。
在一种可选的方式中,所述方法还包括:所述第二用户模块通过所述第一机器人应用程序发送第二控制指令至所述第一系统模块;所述第一系统模块通过所述基础能力服务程序将所述第二控制指令转发至所述第一本体控制器,以使所述第一本体控制器控制所述第一执行单元执行与所述第二控制指令对应的操作。
在一种可选的方式中,所述第一操作系统还与云端服务器通信通信;
所述方法还包括:所述第一操作系统接收所述云端服务器发送的与所述第二机器人本体对应的第二机器人应用程序的安装信息;所述第一操作系统发送所述安装信息至所述第二操作系统;所述第二操作系统根据所述安装信息,进行所述第二机器人应用程序的安装。
在一种可选的方式中,所述第一操作系统和所述第二操作系统通过虚拟机或者容器的方式进行部署。
根据本发明实施例的第二方面,提供了一种机器人控制器,包括:第一操作系统和第二操作系统,所述第一操作系统和所述第二操作系统通过通信通道进行通信,所述第一操作系统用于与第一机器人本体通信通信,所述第二操作系统用于存储与所述第一机器人本体对应的第一机器人应用程序;
所述第一操作系统还用于:检测所述第一操作系统通信的机器人类型是否变更,若所确定所述第一操作系统通信的机器人类型变更,清除所述第二操作系统中存储的与所述第一机器人本体对应的第一机器人应用程序。
根据本发明实施例的第三方面,提供了一种机器人控制系统,包括:第一机器人本体以及与所述第一机器人本体通信通信的如上所述的机器人控制器。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行根据如上所述的机器人控制方法的步骤。
本发明实施例通过第一操作系统检测第一操作系统通信的机器人类型是否变更,若第一操作系统确定第一操作系统通信的机器人类型变更,第一操作系统清除第二操作系统中存储的与第一机器人本体对应的第一机器人应用程序,卸载了前一机器人对应的机器人应用程序,清除了第二操作系统中的用户数据,完成前一机器人隐私数据的清理和保护,从而使得机器人控制器能够应用到多个不同机器人上并同时保证数据安全。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
目前,一个机器人一般会配置一个机器人控制器,通过机器人控制器实现机器人与云端的通信。当机器人控制器从上一个通信的机器人本体上拔下后,通信到下一个机器人本体上时,机器人控制器中保存着上一个机器人的数据,这些数据是属于上一个机器人的隐私数据,而下一个机器人就可能通过机器人控制器获取上一个机器人的隐私数据,从而使得机器人控制器无法应用到多个不同机器人上并同时保证数据安全。
基于此,本发明实施例提供一种机器人控制方法、装置、系统及机器人控制器,能够应用于多种机器人并同时保证数据安全。
具体地,下面结合附图,对本发明实施例作进一步阐述。
其中,应当理解的是,本发明提供的下述实施例之间,只要不冲突,均可相互结合以形成新的实施方式。
图1示出了本发明实施例提供的一种机器人控制系统的结构示意图。如图1所示,该系统10包括:机器人控制器11、机器人本体12和云端服务器13。
其中,机器人控制器11又称机器人控制单元(Robotic Control Unit,RCU),与机器人本体12和云端服务器13通信,用于实现机器人本体12和云端服务器13的通信。具体地,机器人控制单元11可以通过通信接口与机器人本体12进行通信,例如通过通用串行总线(Universal Serial Bus,USB)接口进行通信;机器人控制单元11可以与云端服务器13无线通信,例如,机器人控制单元11通过4G、5G或者WIFI(WIreless-Fidelity,无线保真)与云端服务器13进行无线通信。当然,在一些其他实施例中,机器人控制单元11与机器人本体12还可以为无线通信,可以根据实际情况进行选择。
具体地,机器人控制器11包括第一操作系统111、第二操作系统112和通信通道113。第一操作系统111用于与机器人本体12通信,还用于与云端服务器13通信。第二操作系统112用于存储与机器人本体12对应的机器人应用程序。第一操作系统111和第二操作系统112通过通信通道113进行通信。其中,通信通道113是指信息可以传输的通道,它以传输介质和通信中继设施为基础。其中,传输介质可以为有形的介质,如双绞线、电缆和光纤等,也可以为无形的介质,如传播电磁波的空间等。
其中,第一操作系统111和第二操作系统112可以通过虚拟机或者容器的方式进行部署。例如,通过虚拟机的架构部署第一操作系统111和第二操作系统112,可以为:第一操作系统111作为主机操作系统(Host Operating System),第二操作系统112作为客机操作系统(Guest Operating System),或者第一操作系统111和第二操作系统112均为客机操作系统;又例如,通过容器的架构部署第一操作系统111和第二操作系统112,可以为:设置多个容器,其中一个容器用于运行第一操作系统111,另一个容器用于运行第二操作系统112。
其中,第一操作系统111包括第一系统模块1111和第一用户模块1112。第一系统模块1111用于存储基础能力服务程序,第一系统模块1111对于基础能力服务程序是只读的。第一用户模块1112可以用于存储基础能力服务程序产生的处理数据,第一用户模块1112对于其存储的数据是可读可写的。
其中,第二操作模块112包括第二系统模块1121和第二用户模块1122。第二系统模块1121用于存储应用管理程序,第二系统模块1121对于应用管理程序是只读的。第二用户模块1122用于存储机器人应用程序,第二用户模块1122对于机器人应用程序是可读可写的。第二用户模块1122可以存储一个或者多个第二用户模块1122。
其中,基础能力服务程序是指多种机器人本体12需要在机器人控制器11上实现的通用的程序,机器人应用程序是指某种机器人本体12需要在机器人控制器11上实现的独特的程序。基础能力服务程序和机器人应用程序可以通过用户的实际需求进行预先设置,例如,对于机场机器人和商场机器人,是两种不同的机器人,则其基础能力服务程序可以为语音识别、说话等功能,机场机器人的机器人应用程序可以为查询机票、天气等,商场机器人的机器人应用程序可以为查询店铺、折扣等。应用管理程序用于管理和更新机器人应用程序,例如,根据补丁信息对机器人应用程序进行更新,或者根据清除指令对机器人应用程序进行清除。
其中,机器人本体12可以包括本体控制器和执行单元。本体控制器与执行单元通信。本体控制器又称中央控制单元(Center Control Unit,CCU),与机器人控制器11的第一操作系统111通信,用于接收第一操作系统111发送的控制指令,并控制执行单元执行控制指令对应的操作。执行单元是指附加控制单元(Extra Control Unit,ECU),用于实现对外部世界的感知或者对外部世界进行反馈等。例如,执行单元可以包括各种传感器、语音播放器、关节伺服电机等等。执行单元还用于将执行单元产生的数据发送至第一操作系统111,以进行存储。执行单元产生的数据可以为传感数据,例如,机器人位置信息、机器人速度、机器人采集的语音信息以及图像信息等。当然,第一操作系统111还可以将执行单元发送的数据上传至云端服务器13。例如,巡逻机器人一般配置摄像头采集巡逻过程周围的环境信息,并以视频形式将采集的巡逻信息发送至云端服务器13,当视觉ECU监测到摄像头的故障信息时,可将摄像头的故障信息上报到CCU,再通过RCU发送至云端服务器13,云端服务器13可通知人工及时进行处理。
其中,机器人本体12可以为第一机器人本体121,也可以为第二机器人本体122。第一机器人本体121和第二机器人本体122是不同的机器人,这里所指的不同的机器人,可以为同种类但是型号不同的机器人,还可以为不同种类的机器人。相似地,第一机器人本体121包括第一本体控制器1211和第一执行单元1212,第一本体控制器1211和第一执行单元1212通信。第二机器人本体122包括第二本体控制器1221和第二执行单元1222,第二本体控制器1221和第二执行单元1222通信。在本实施例中,机器人控制器11可以与第一机器人本体121的第一本体控制器1211通信,还可以与第一机器人本体121的第一本体控制器1211断开通信,并与第二机器人本体122的第二本体控制器1221通信,从而应用到不同机器人上。
其中,云端服务器13可以是网络连接中的任意类型的服务器,比如:网络服务器等等。云端服务器13可以与终端通信,终端可以例如是配有合适应用(Application,APP)的智能手机、智能手表、便携式计算机、平板电脑等等。云端服务器13可以通过无线通信方式分别与终端、机器人控制器11进行通信,终端可以向云端服务器13发送控制指令,以使云端服务器13将控制指令通过机器人控制器11的第一操作系统111转发到机器人本体12的本体控制器中。
在本实施例中,机器人控制器11通过第一操作系统111通信机器人本体12和云端服务器13,而存储有机器人应用程序的第二操作系统112通过通信通道与第一操作系统111通信,当第一操作系统111检测第一操作系统111通信的机器人类型是否变更,若第一操作系统111确定第一操作系统111通信的机器人类型变更,第一操作系统111清除第二操作系统112中存储的与通信的机器人本体12对应的机器人应用程序,从而完成前一机器人隐私数据的清理和保护,使得机器人控制器能够应用到多个不同机器人上并同时保证数据安全。
图2示出了本发明实施例提供的一种机器人控制方法的流程示意图。该方法应用于图1所示的机器人控制系统10。如图2所示,该方法包括:
步骤210、第一操作系统检测第一操作系统通信的机器人类型是否变更。
其中,机器人类型是指机器人控制器通信的机器人的种类信息或型号信息等等。
其中,如图3所示,步骤210具体可以包括:
步骤211、当第一操作系统与第一机器人本体建立通信时,第一操作系统获取第一机器人本体的第一类型;
步骤212、当第一操作系统与第一机器人本体断开通信、并与第二机器人本体建立通信时,第一操作系统获取第二机器人本体的第二类型;
步骤213、第一操作系统判断第一类型与第二类型是否相同;
步骤214、若第一类型与第二类型不相同,则第一操作系统确定第一操作系统通信的机器人类型变更。
其中,第一操作系统可以通过基础能力服务程序实时获取机器控制器通信的机器人类型,从而在第一操作系统与第一机器人本体建立通信时,获取第一机器人本体的第一类型,在第一操作系统与第一机器人本体断开通信、并与第二机器人本体建立通信时,获取第二机器人本体的第二类型。
其中,第一操作系统获取第一机器人本体的第一类型(或第二机器人本体的第二类型),具体可以为:第一操作系统发送查询指令至第一机器人本体(或第二机器人本体),以使第一机器人本体(或第二机器人本体)根据查询指令查询第一机器人本体的第一类型(或第二机器人本体的第二类型);接收第一机器人本体(或第二机器人本体)返回的第一机器人本体的第一类型(或第二机器人本体的第二类型)。具体地,第一机器人本体(或第二机器人本体)可以通过第一本体控制器(或第二本体控制器)在系统中查询机器人的属性信息,从而获取第一机器人本体的第一类型(或第二机器人本体的第二类型)。
步骤220、若第一操作系统确定第一操作系统通信的机器人类型变更,第一操作系统清除第二操作系统中存储的与第一机器人本体对应的第一机器人应用程序。
当机器人控制器通信第一机器人本体时,第二用户模块安装有与第一机器人本体对应的第一机器人应用程序,第一机器人应用程序的数量可以为一个或者多个,第一机器人应用程序用于实现第一机器人本体的部分功能。例如,当第一机器人本体为机场机器人时,第一机器人应用程序用于实现查询机票、天气等功能。
当第一操作系统检测到机器人控制器通信的机器人类型从第一类型变化为第二类型时,即表明机器人控制器与第二机器人本体通信,则第一操作系统清除第二操作系统中存储的第一机器人应用程序。
具体地,步骤220可以包括:
步骤221、第一系统模块通过基础能力服务程序发送清除指令至第二系统模块;
步骤222、第二系统模块根据清除指令,通过应用管理程序执行清除第一机器人应用程序的操作。
在本实施例中,第一操作系统中的第一系统模块通过基础能力服务程序发送清除指令至第二系统模块,其中,清除指令通过通信通道传输至第二系统模块的应用管理程序,则根据清除指令,应用管理程序执行清除第一机器人应用程序的操作。其中,清除第一机器人应用程序,具体为清除在第二用户模块中所有与第一机器人应用程序有关的数据。
在一些实施例中,该方法还包括:
步骤230、若第一操作系统确定第一操作系统通信的机器人类型变更,第一系统模块通过基础能力服务程序对第一用户模块的内容进行清除。
当机器人控制器通信第一机器人本体时,第一机器人本体的部分数据可能被存储在第一用户模块中,则当确定机器人控制器通信的机器人类型变更时,第一系统模块通过基础能力服务程序对第一用户模块的内容进行清除。
步骤240、重启机器人控制器。
在对第一用户模块和第二用户模块的内容进行清除后,第一操作系统可以通过基础能力服务程序重启机器人控制器。
本发明实施例通过第一操作系统检测第一操作系统通信的机器人类型是否变更,若第一操作系统确定第一操作系统通信的机器人类型变更,第一操作系统清除第二操作系统中存储的与第一机器人本体对应的第一机器人应用程序,卸载了前一机器人对应的机器人应用程序,清除了第二操作系统中的用户数据,完成前一机器人隐私数据的清理和保护,从而使得机器人控制器能够应用到多个不同机器人上并同时保证数据安全。
在一些实施例中,该方法还包括:
步骤250、第一系统模块通过基础能力服务程序发送第一控制指令至第一本体控制器,以使第一本体控制器控制第一执行单元执行与第一控制指令对应的操作。
其中,第一控制指令为基础能力服务程序生成的控制指令。当机器人控制器通信第一机器人本体时,基础能力服务程序可以发送第一控制指令至第一机器人本体中的第一本体控制器,以使第一本体控制器控制第一执行单元执行与第一控制指令对应的操作,从而实现机器人控制器对第一机器人本体的控制。
在一些实施例中,该方法还包括:
步骤261、第二用户模块通过第一机器人应用程序发送第二控制指令至第一系统模块;
步骤262、第一系统模块通过基础能力服务程序将第二控制指令转发至第一本体控制器,以使第一本体控制器控制第一执行单元执行与第二控制指令对应的操作。
其中,第二控制指令为机器人应用程序生成的控制指令。当机器人控制器通信第一机器人本体时,第二用户模块安装有第一机器人应用程序,第一机器人应用程序通过发送第二控制指令至第一系统模块中的基础能力服务程序,使基础能力服务程序将第二控制指令转发至第一机器人本体中的第一本体控制器,从而实现机器人控制器对第一机器人本体的控制。
在一些实施例中,该方法还包括:
步骤271、第一系统模块通过基础能力服务程序接收云端服务器发送的第三控制指令;
步骤272、第一系统模块通过基础能力服务程序将第三控制指令转发至第一本体控制器,以使第一本体控制器控制第一执行单元执行与第三控制指令对应的操作。
其中,第三控制指令是云端服务器根据与云端服务器通信的终端发送的控制信息生成的控制指令。当机器人控制器通信第一机器人本体时,机器人应用程序转发来自云端服务器的第三控制指令至第一机器人本体中的第一本体控制器,从而实现云端服务器对第一机器人本体的控制。
在一些实施例中,该方法还包括:
步骤281、第一操作系统接收云端服务器发送的与第二机器人本体对应的第二机器人应用程序的安装信息;
步骤282、第一操作系统发送安装信息至第二操作系统;
步骤283、第二操作系统根据安装信息,进行第二机器人应用程序的安装。
当机器人控制器通信第二机器人本体,并且第一用户模块和第二用户模块中的内容清除完成,第一操作系统可以通过基础能力服务程序接收云端服务器发送的与第二机器人本体对应的第二机器人应用程序的安装信息,并将安装信息转发至第二操作系统中的应用管理程序,以使应用管理程序根据安装信息,进行第二机器人应用程序的安装,从而实现第二机器人本体的独特功能的控制。
本发明实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行上述任意方法实施例中的机器人控制方法。
本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的机器人控制方法。
图4示出了本发明实施例提供的机器人控制器的结构示意图,本发明具体实施例并不对机器人控制器的具体实现做限定。
其中,机器人控制器包括:处理器和存储器。存储器用于存放至少一可执行指令,当机器人控制器运行时,处理器执行可执行指令,使处理器执行根据上述任意方法实施例中的机器人控制方法的步骤。
可选地,如图4所示,该机器人控制器可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)306、以及通信总线308。
其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。处理器302,用于执行程序310,具体可以执行上述任意方法实施例中的机器人控制方法。
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。机器人控制器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器306,用于存放程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本发明实施例通过第一操作系统检测第一操作系统通信的机器人类型是否变更,若第一操作系统确定第一操作系统通信的机器人类型变更,第一操作系统清除第二操作系统中存储的与第一机器人本体对应的第一机器人应用程序,卸载了前一机器人对应的机器人应用程序,清除了第二操作系统中的用户数据,完成前一机器人隐私数据的清理和保护,从而使得机器人控制器能够应用到多个不同机器人上并同时保证数据安全。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。