具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的机器人角色切换方法和装置适用于图1所示的应用场景,包括用户10和机器人20,机器人20为多个,多个机器人20可以在一预设范围内通信,所述预设范围可以是同一网络,例如家庭或公司的局域网,或一个特定网络等(图1示出了多个机器人20通过网络30互相通信)。所述预设范围还包括一定距离内(例如一个房子内),多个机器人20可以通过近距离通信方式进行通信,例如电子标签等。用户10可以对多个机器人20进行设置、发布命令或者与机器人20进行交谈,所述用户10可以是机器人20的主人或者机器人20的使用者。
每个机器人都具有与其对应的唤醒词用于将自身从休眠状态中唤醒或者响应用户的呼唤(唤醒词一般为一个,也可以为多个)。其中,所述唤醒词可以为机器人的名字,识别码或者其他任意词汇,所述唤醒词可以由用户进行设置,也可以在出厂时自带。
本申请实施例尤其适用于同一用户拥有多个外观相同的机器人的场合,由于每个机器人都有各自的角色,从事的往往是不同的工作,为了避免从事工作强度大的机器人在短时间内出现故障,可以使两个外观相同的机器人实现角色互换。为了便于区分外观相同的机器人,机器人还可以设置成不同的性格特征,用户10可以根据机器人的性格特征分辨机器人。
需要说明的是,虽然在图1中仅示出了1个用户10、3个机器人20。但本领域技术人员可以理解的是,在实际应用过程中,该应用场景还可以包括更多的用户10和机器人20。
本申请实施例提供了一种机器人角色切换方法,所述方法可由图1所示的任一机器人20执行,如图2所示,所述方法包括:
步骤101:确认预设范围内与自身外观相同的其他机器人;
一般外观相同的机器人其品牌和型号是相同的,机器人可以通过判断品牌和型号来判断其他机器人是否是和自身外观相同的机器人。如果是品牌相同、外观相同的机器人,但型号不一致,机器人公司在生产时会同时设置一个代号或者一个样式号来代表外观相同的机器人,那么机器人可以根据该代号或者样式号来判断是否是与自身外观相同的机器人。实际应用中,例如一个家庭中新加入一个机器人时,新加入的机器人可以向其他机器人广播自身的品牌、型号、代号或者样式号等信息,如果其他机器人发现新加入的机器人与自己品牌相同且型号、代号或者样式号中的任一种或者任几种是相同的,则可以判定新加入的机器人与自身外观是相同的。
步骤102:与预设范围内和自身外观相同的其他机器人实现角色互换。
其中,所述角色互换包括:互换唤醒词、互换性格特征和互换工作任务。
本申请实施例能将机器人与预设范围内和自身外观相同的其他机器人实现角色互换,能适应某些应用场景的需要,进而很好的提升用户体验。
可选的,为了便于用户区分外观相同的机器人,在所述方法的其他实施例中,如图3所示,所述方法除了步骤201和步骤202(步骤201和步骤202的详细内容请参照步骤101和步骤102)之外还包括:
步骤203:设置自身的性格特征,以使自身的性格特征不同于预设范围内与自身外观相同的其他机器人。
在确认了与自身外观相同的机器人之后,两个(或多个)外观相同的机器人可以启动同步机制,同步设定、配置信息,其中设定、配置信息包括唤醒词和性格特征等,这样外观相同的机器人之间彼此知道对方的设定、配置信息。相同外观的机器人可以互相设置成完全不同的性格特征,例如一个性格活泼、话很多又好动、语音清亮,另一个性格温婉,话偏少不好动、语音柔润。所述性格特征可以从多个预置的性格特征中选择,多个所述性格特征可以在出厂时预置,也可以在出厂后通过云端下载。当然,用户也可以根据自己的需要对机器人进行性格设定,如果用户不喜欢机器人当前的性格特征,机器人可以根据用户的命令进行性格特征切换。
本申请实施例通过将外观相同的机器人设置成不同的性格特征,使用户能根据机器人的性格特征分辨机器人,便于用户区分外观相同的机器人,用户体验好。
具体的,为了进一步提高用户体验,在所述方法的某些实施例中,如图4所示,所述与预设范围内和自身外观相同的其他机器人实现角色互换,包括:在用户认错机器人时,机器人进行角色互换的步骤,如下:
步骤1021:获取用户的语音命令;
用户的语音命令一般为唤醒词加命令内容的形式,例如,“Mike(唤醒词),今天天气怎么样(命令内容)?”
步骤1022:根据所述语音命令确定用户想要呼唤的机器人以及用户是否认错自己;
在确认了预设范围内与自身外观相同的机器人之后,两个(或多个)外观相同的机器人还可以同步共享彼此的实时位置信息,并将预设范围内与自身外观相同的其他机器人的唤醒词加入预设的唤醒词库。其中,所述预设唤醒词库可以在出厂时自带,也可以由用户设置。
首先根据用户的语音命令解析出语音命令中的唤醒词,如果语音命令中的唤醒词与自身的唤醒词不同但与预设唤醒词库中的某一唤醒词相同,这说明用户想要呼唤的不是自己而是与自己外观相同的其他机器人,则获取语音命令中的唤醒词对应的机器人(即用户真正想要呼唤的机器人)的实时位置信息,并确认所述实时位置信息是否在预设位置范围内,其中,所述预设位置范围可以是自己附近的一定范围,如果不在预设位置范围内,说明用户想要呼唤的机器人不在附近,那么可以确定用户认错机器人了,把自己认成了其他机器人。根据所述语音命令中的唤醒词可以确定用户想要呼唤的机器人。
步骤1023:如果用户认错自己,与用户想要呼唤的机器人实现角色互换,或者,询问用户是否需要自己与用户想要呼唤的机器人实现角色互换。
即如果确认用户认错自己,可以和用户想要呼唤的机器人进行通信,两个机器人实现角色互换。或者,在用户认错自己时,可以询问用户是否需要自己与用户想要呼唤的机器人角色互换,待用户确认后再实现角色互换。如果用户说不需要角色互换,则不互换。进一步的,在角色互换前,可以判断角色互换是否会影响两个机器人当前的工作,如果不影响,则互换,如果影响,则不互换,如果不互换可以根据实时位置信息告诉用户想要呼唤的机器人在哪里。例如,一对双胞胎机器人一个叫Tony,一个叫William,用户把Tony当成了William,Tony在听到用户冲着自己叫William后,可自动和William实现角色互换,进而新的William的当前任务为响应用户的呼唤,而新的Tony的当前任务变成了切换前William的任务。
本申请实施例用于用户认错机器人的场合,因为虽然外观相同的机器人设置了不同的性格特征,但有时难免用户也会认错。在认错的场合,或者被认错的机器人与用户想要呼唤的机器人实现角色互换,或者询问用户是否需要互换,提供了用户认错机器人时的解决方案,进一步提升了客户体验。
因为性格特征配置的不同或工作属性的不同,例如一个机器人活泼爱动一个机器人安静少动,或者一个机器人负责做家务,一个机器人负责迎宾,动作较多的机器人必然会加速机械的磨损。为了两个或多个外观相同的机器人的关节磨损能够均衡,可选的,如图5所示,在所述方法的某些实施例中,所述与预设范围内和自身外观相同的其他机器人实现角色互换,包括:
步骤1024:获取自身的剩余使用天数;
具体的,所述获取自身的剩余使用天数,包括:
获取各关节的机械磨损程度;
其中,所述关节的机械磨损程度可以根据关节的弯折次数或者舵机的总转动圈数或者关节的使用时间等进行评估。
根据所述机械磨损程度估计所述关节的剩余使用程度;
根据工作任务平均值估计所述关节的日磨损量;
根据所述关节的剩余使用程度和日磨损量估计所述关节的剩余使用天数;
其中,将所述关节的剩余使用程度除以日磨损量即可获得剩余使用天数。
将各个关节的剩余使用天数中的最小剩余使用天数作为自身的剩余使用天数。
步骤1025:获取预设范围内和自身外观相同的其他机器人的剩余使用天数;
步骤1026:确认角色互换前各机器人的剩余使用天数中的最小剩余使用天数;
每个机器人获得自身的剩余使用天数后,可以向其他外观相同的机器人广播所述剩余使用天数,并接收其他外观相同的机器人发送的他们的剩余使用天数。其中一个机器人可以在各个剩余使用天数中找出最小剩余使用天数。
步骤1027:预估自身和预设范围内和自身外观相同的其他机器人实现角色互换后,各机器人的剩余使用天数中的最小剩余使用天数;
步骤1028:如果角色互换后的最小剩余使用天数超过角色互换前的最小剩余使用天数一预设阀值,则与预设范围内和自身外观相同的其他机器人实现角色互换。
如果外观相同的是两个机器人,那么其中一个机器人可以判定两个机器人角色互换后,最小剩余使用天数较互换之前的最小剩余使用天数是否超过一预设阈值(所述预设阈值例如两周,一个月等),如果超过一预设阈值,即如果互换后两个机器人的使用期限优于互换前的使用期限,则进行角色互换。如果外观相同的是两个以上的机器人,那么其中一个机器人可以列出多个机器人角色互换的多种互换方案,然后选出互换后最小剩余使用天数较互换之前的最小剩余使用天数超过预设阈值的方案,再在这些方案中选择最小剩余使用天数最大的方案,并依据该最小剩余使用天数最大的方案进行角色互换。如果角色互换后的所有互换方案的最小剩余使用天数均不能超过互换之前的最小剩余使用天数预设阈值的量,则不进行角色互换。
本申请实施例根据各机器人的剩余使用天数进行角色互换,使互换后各机器人的使用期限优于互换前的使用期限,以避免爱动的机器人故障率明显高于不爱动的机器人,也使两个或多个机器人的关节磨损能够更加均衡。
需要说明的是,上述步骤1024、1025、1026、1027和1028并不必然被每个机器人都执行到。其中,步骤1025、1026和1027可能只被一个机器人或几个机器人执行,每个机器人可以向其他机器人广播自己的工作状态,由最空闲的机器人来执行,然后执行的机器人会将执行结果通过网络共享给其他机器人。
可选的,如图6所示,在所述方法的其他实施例中,可以单纯根据时间间隔进行角色互换,即所述与预设范围内和自身外观相同的其他机器人实现角色互换,包括:
1029:每间隔一预设时间,根据各机器人的工作任务类型或者性格特征与预设范围内和自身外观相同的其他机器人实现角色互换。
其中所述预设时间可以是三个月、六个月等,例如每隔六个月将活泼爱动的机器人与安静少动的机器人进行角色互换,将负责关节磨损多工作机器人与负责关节磨损少工作的机器人进行角色互换。
可选的,如图7所示,在所述方法的其他实施例中,所述与预设范围内和自身外观相同的其他机器人实现角色互换,包括:
步骤1030:在判断自身出现异常时,与预设范围内和自身外观相同的其他机器人实现角色互换。
在机器人判断自身出现异常时,例如自身温度过热即将死机或者因为其他原因即将无法继续当前工作时,为了继续当前的工作可以与预设范围内和自身外观相同的其他机器人实现角色互换。进一步的,为了保证优先级高的工作优先进行,在与其他机器人进行角色互换前,会判断与自身外观相同的机器人当前工作的优先级,机器人会选择工作优先级低于自身的机器人进行角色互换,这样可以保证优先级高的工作的连续性。例如,可以将任务优先级分为1、2、3、4和5共五档,1为最高优先级。假如即将无法工作的机器人1正在执行优先级为2的任务,而另一个外观相同的机器人2正在执行优先级为4的任务,机器人1与机器人2通信发现任务优先级满足互换要求,则机器人1和机器人2可以进行角色互换。机器人2可以根据同步的实时位置信息赶到机器人1所在的位置。
相应的,本申请实施例还提供了一种机器人角色切换装置,所述角色切换装置设置于图1所示的任一机器人内,如图8所示,所述角色切换装置300包括:
确认模块301,用于确认预设范围内与自身外观相同的其他机器人;
角色互换模块302,用于与预设范围内和自身外观相同的其他机器人实现角色互换。
本申请实施例能将机器人与预设范围内和自身外观相同的其他机器人实现角色互换,能适应某些应用场景的需要,进而很好的提升用户体验。
可选的,在所述装置的其他实施例中,如图9所示,所述装置400除了确认模块401和角色互换模块402之外还包括:
性格特征设置模块403,用于设置自身的性格特征,以使自身的性格特征不同于预设范围内与自身外观相同的其他机器人。
可选的,请参照图10,在所述装置的某些实施例中,所述角色互换模302包括第一角色互换子模块3021,用于:
获取用户的语音命令;
根据所述语音命令确定用户想要呼唤的机器人以及用户是否认错自己;
如果用户认错自己,与用户想要呼唤的机器人实现角色互换,或者,询问用户是否需要自己与用户想要呼唤的机器人实现角色互换。
可选的,在所述装置的其他实施例中,所述装置还包括:
唤醒词加入模块,用于将预设范围内与自身外观相同的其他机器人的唤醒词加入预设唤醒词库;
共享模块,用于与预设范围内与自身外观相同的其他机器人共享彼此的实时位置信息;
所述第一角色互换子模块3021还用于:
根据用户的语音命令解析出语音命令中的唤醒词;
如果语音命令中的唤醒词与自身的唤醒词不同但与预设唤醒词库中的某一唤醒词相同,则获取语音命令中的唤醒词对应的机器人的实时位置信息,并确认所述实时位置信息是否在预设位置范围内,如果不在预设位置范围内,则确定用户认错自己;
根据所述语音命令中的唤醒词确定用户想要呼唤的机器人。
可选的,请参照图10,在所述装置的某些实施例中,所述角色互换模块302包括第二角色互换子模块3022,用于:
获取自身的剩余使用天数;
获取预设范围内和自身外观相同的其他机器人的剩余使用天数;
确认角色互换前各机器人的剩余使用天数中的最小剩余使用天数;
预估自身和预设范围内与自身外观相同的其他机器人实现角色互换后,各机器人的剩余使用天数中的最小剩余使用天数;
如果角色互换后的最小剩余使用天数超过角色互换前的最小剩余使用天数一预设阀值,则与预设范围内和自身外观相同的其他机器人实现角色互换。
可选的,在所述装置的其他实施例中,所述第二角色互换子模块3022还用于:
获取各关节的机械磨损程度;
根据所述机械磨损程度估计所述关节的剩余使用程度;
根据工作任务估计所述关节的日磨损量;
根据所述关节的剩余使用程度和日磨损量估计所述关节的剩余使用天数;
将各个关节的剩余使用天数中的最小剩余使用天数作为自身的剩余使用天数。
可选的,请参照图10,在所述装置的某些实施例中,所述角色互换模块302包括第三角色互换子模块3023,用于:
每间隔一预设时间,根据各机器人的工作任务类型或者性格特征与预设范围内和自身外观相同的其他机器人实现角色互换。
可选的,请参照图10,在所述装置的某些实施例中,所述角色互换模块302包括第四角色互换子模块3024,用于:
在判断自身出现异常时,与预设范围内和自身外观相同的其他机器人实现角色互换。
可选的,在所述装置的某些实施例中,所述第四角色互换子模块还用于:
与预设范围内和自身外观相同的其他机器人中工作优先级低于自己的机器人实现角色互换。
可选的,在所述装置的某些实施例中,所述角色互换包括:互换唤醒词、互换性格特征和互换工作任务。
图11是本申请实施例提供的机器人角色切换方法的机器人20的硬件结构示意图,如图11所示,该机器人20包括:
一个或多个处理器21以及存储器22,图11中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图11中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的角色切换方法对应的程序指令/模块(例如,附图8所示的确认模块301、性格特征设置模块302)。处理器21通过运行存储在存储器22中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的角色切换方法。
存储器22可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据角色切换装置的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至角色切换装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述任意方法实施例中的角色切换方法,例如,执行以上描述的图2中的方法步骤101-102,图3中的方法步骤201至步骤203,图4中的方法步骤1021至步骤1023,图5中的方法步骤1024至步骤1028,图6中的方法步骤1029,图7中的方法步骤1030;实现图8中的模块301-302、图9中的模块401-403,图10中的模块302和子模块3021-3024的功能。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图11中的一个处理器21,可使得上述一个或多个处理器可执行上述任意方法实施例中的角色切换方法,例如,执行以上描述的图2中的方法步骤101-102,图3中的方法步骤201至步骤203,图4中的方法步骤1021至步骤1023,图5中的方法步骤1024至步骤1028,图6中的方法步骤1029,图7中的方法步骤1030;实现图8中的模块301-302、图9中的模块401-403,图10中的模块302和子模块3021-3024的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。