本发明涉及计算机领域,具体而言,涉及一种机器人运动控制方法和装置、机器人。
背景技术:
随着机器人产业的兴起,服务性机器人正在走进千家万户。然而作为新兴工业领域,机器人的很多功能还是处于初级阶段。其中,自主移动功能就是制约机器人发展的瓶颈之一。而自主移动侧重于是指机器人能够感知环境、决策规划路径、并执行移动指令。
机器人自主移动,其通常是将感知、定位、地图建设、路径规划等各功能模块融合在一起的系统解决方案。由于应用场景复杂多变,系统要处理的问题过于庞杂,所以很难到达可以实际应用的效果。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种机器人运动控制方法和装置、机器人,以至少解决现有技术中实现机器人自主移动时人为干预较多的技术问题。
根据本发明实施例的一个方面,提供了一种机器人运动控制方法,包括:获取机器人的数据采集设备当前采集的数据;根据当前采集的数据和预先获得的数据与运动控制指令的第一映射关系,获得机器人的当前运动控制指令;其中,第一映射关系为采用第一端到端的深度学习方式获得的映射关系;根据当前运动控制指令控制机器人的运动。
可选地,在获取机器人当前采集的数据之前,方法还包括:基于训练数据通过第一端到端的深度学习方法获得第一映射关系;其中,训练数据包括:机器人的数据采集设备所采集的数据和数据采集设备在采集数据时的机器人的运动状态数据。
可选地,训练数据还包括:机器人处于不同场景下的危险信息,其中,危险信息为被数据采集设备采集到后发出告警的信息。
可选地,在获取机器人的数据采集设备当前采集的数据之后,方法还包括:根据当前采集的数据、预先获得的数据与机器人存在的危险情况的第二映射关系,预测机器人在保持当前运动控制指令所指示的运动状态下存在的危险情况;其中,第二映射关系为采用第二端到端的深度学习方法获得的映射关系;在预测到危险情况时,产生告警信息。
可选地,当前运动控制指令包括以下至少之一:径向速度、转向角速度、径向加速度、转向角加速度和机器人所在位置的高度。
可选地,数据采集设备包括以下至少之一:光学采集设备、声学采集设备、电磁学采集设备。
可选地,机器人包括以下至少之一:骑行机器人、遥控机器人和跟随机器人。
根据本发明实施例的另一方面,还提供了一种机器人,包括:数据采集设备、处理器和控制器;其中,数据采集设备,用于获取机器人的数据采集设备当前采集的数据;处理器,用于根据当前采集的数据和预先获得的数据与运动控制指令的第一映射关系,获得机器人的当前运动控制指令;其中,第一映射关系为采用第一端到端的深度学习方式获得的映射关系;控制器,用于根据当前运动控制指令控制机器人的运动。
可选地,处理器,还用于基于训练数据通过第一端到端的深度学习方法获得第一映射关系;其中,训练数据包括:机器人的数据采集设备所采集的数据和数据采集设备在采集数据时的机器人的运动状态数据。
可选地,训练数据还包括:机器人处于不同场景下的危险信息,其中,危险信息为被数据采集设备采集到后发出告警的信息。
可选地,处理器,还用于根据当前采集的数据、预先获得的数据与机器人存在的危险情况的第二映射关系,预测机器人在保持当前运动控制指令所指示的运动状态下存在的危险情况;其中,第二映射关系为采用第二端到端的深度学习方式获得的映射关系;机器人还包括:告警设备,用于在预测到危险情况时,产生告警信息。
在本发明实施例中,采用根据当前采集的数据和预先获取的数据与运动控制指令的第一映射关系获得机器人的当前运动控制指令,根据获取的当前运动控制指令控制机器人的运动的方式,进而可以根据当前采集的数据来调整其运动状态,自动实现了机器人的自主移动,达到了减少了人为干预的目的,进而解决了现有技术中实现机器人自主移动时人为干预较多的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的机器人运动控制方法的流程示意图;
图2是根据本发明实施例提供的机器人运动控制装置的结构框图;
图3是根据本发明实施例的机器人的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种机器人运动控制方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的机器人运动控制方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤s102,获取机器人的数据采集设备当前采集的数据;
步骤s104,根据当前采集的数据和预先获得的数据与运动控制指令的第一映射关系,获得机器人的当前运动控制指令;其中,第一映射关系为采用第一端到端的深度学习方式获得的映射关系;
步骤s106,根据当前运动控制指令控制机器人的运动。
通过上述步骤,采用根据当前采集的数据和预先获取的数据与运动控制指令的第一映射关系获得机器人的当前运动控制指令,根据获取的当前运动控制指令控制机器人的运动的方式,进而可以根据当前采集的数据来调整其运动状态,自动实现了机器人的自主移动,达到了减少了人为干预的目的,进而解决了现有技术中实现机器人自主移动时人为干预较多的技术问题。
需要说明的是,端到端的深度学习方法为直接将数据采集设备所采集的数据映射成控制机器人的运动的运动控制指令,即得到上述第一映射关系。
在本发明的一个实施例中,在上述步骤s102之前,上述方法还可以包括:基于训练数据通过第一端到端的深度学习方法获得第一映射关系;其中,训练数据包括:机器人的数据采集设备所采集的数据和数据采集设备在采集数据时的机器人的运动状态数据。
需要说明的是,上述训练数据中包括大量组数据,每一组数据中都包括一个数据采集设备所采集的数据和该数据采集设备在采集该数据时机器人的运动状态数据(即与该数据采集设备所采集的数据对应的机器人真实的运动状态数据)。
需要说明的是,基于训练数据通过第一端到端的深度学习方法获得第一映射关系可以表现为:将上述训练数据中的一组数据中的机器人的数据采集设备所采集的数据作为与第一端到端的深度学习方法对应的第一卷积神经网络模型的输入;将该第一卷积神经网络模型的输出与该组数据中的运动状态数据进行比较,得到该输出与上述运动状态数据的误差,如果误差大于第一预设阈值,则调整该第一卷积神经网络模型的权值,继续下一组数据,直到训练数据中每一组数据的机器人的数据采集设备所采集的数据作为第一卷积神经网络模型的输入,该输出与训练数据中对应的运动状态数据的误差小于第一预设阈值为止,这样就得到了一个经过训练的第一卷积神经网络模型,即上述第一映射关系。
需要说明的是,上述训练数据还可以包括:机器人处于不同场景下的危险信息,其中,危险信息为被数据采集设备采集到后发出告警的信息。
在本发明的一个实施例中,在上述步骤s102之后,上述方法还可以包括:根据当前采集的数据、预先获得的数据与机器人存在的危险情况的第二映射关系,预测机器人在保持当前运动控制指令所指示的运动状态下存在的危险情况;其中,第二映射关系为采用第二端到端的深度学习方法获得的映射关系;在预测到危险情况时,产生告警信息。通过上述方法可以进行预测告警,进而能够提供机器人运动的安全性。
在本发明的一个实施例中,在上述步骤s102之前,上述方法还可以包括:基于训练数据通过第二端到端的深度学习方法获得第二映射关系;其中,训练数据包括:机器人的数据采集设备所采集的数据和与机器人的数据采集设备所采集的数据对应的机器人的危险信息。
需要说明的是,上述训练数据中包括大量组数据,每一组数据中都包括一个数据采集设备所采集的数据和与该数据采集设备在采集该数据对应的机器人的危险信息。
需要说明的是,基于训练数据通过第二端到端的深度学习方法获得第二映射关系可以表现为:将上述训练数据中的一组数据中的机器人的数据采集设备所采集的数据作为与第二端到端的深度学习方法对应的第二卷积神经网络模型的输入;将该第一卷积神经网络模型的输出与该组数据中的机器人的危险信息进行比较,得到该输出与上述机器人的危险信息的误差,如果误差大于第二预设阈值,则调整该第二卷积神经网络模型的权值,继续下一组数据,直到训练数据中每一组数据的机器人的数据采集设备所采集的数据作为第二卷积神经网络模型的输入,该输出与训练数据中对应的机器人的危险信息的误差小于第一预设阈值为止,这样就得到了一个经过训练的第二卷积神经网络模型,即上述第二映射关系。
需要说明的是,上述当前运动控制指令可以包括以下至少之一:径向速度、转向角速度、径向加速度、转向角加速度和机器人所在位置的高度。
需要说明的是,上述数据采集设备包括以下至少之一:光学采集设备、声学采集设备、电磁学采集设备。
需要说明的是,上述机器人可以包括以下至少之一:骑行机器人、遥控机器人和跟随机器人。
需要说明的是,上述步骤的执行主体可以是机器人,但并不限于此。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,提供了一种机器人运动控制装置的产品实施例,图2是根据本发明实施例提供的机器人运动控制装置的结构框图,如图2所示,该装置包括:
第一获取模块22,用于获取机器人的数据采集设备当前采集的数据;
第二获取模块24,与上述第一获取模块22连接,用于根据所述当前采集的数据和预先获得的数据与运动控制指令的第一映射关系,获得所述机器人的当前运动控制指令;其中,所述第一映射关系为采用第一端到端的深度学习方式获得的映射关系;
控制模块26,与上述第二获取模块24连接,用于根据所述当前运动控制指令控制所述机器人的运动。
通过上述装置,采用根据当前采集的数据和预先获取的数据与运动控制指令的第一映射关系获得机器人的当前运动控制指令,根据获取的当前运动控制指令控制机器人的运动的方式,进而可以根据当前采集的数据来调整其运动状态,自动实现了机器人的自主移动,达到了减少了人为干预的目的,进而解决了现有技术中实现机器人自主移动时人为干预较多的技术问题。
在本发明的一个实施例中,上述装置还包括:第三获取模块,与上述第一获取模块22连接,用于基于训练数据通过所述第一端到端的深度学习方法获得所述第一映射关系;其中,所述训练数据包括:所述机器人的数据采集设备所采集的数据和所述数据采集设备在采集所述数据时的所述机器人的运动状态数据。
需要说明的是,对于第三获取模块获取到上述第一映射关系的具体过程可以详见实施例1中对应与对基于训练数据通过所述第一端到端的深度学习方法获得所述第一映射关系的解释。
需要说明的是,上述训练数据还包括:所述机器人处于不同场景下的危险信息,其中,所述危险信息为被所述数据采集设备采集到后发出告警的信息。
在本发明的一个实施例中,上述装置还包括:预测模块,与上述第一获取模块22连接,用于根据所述当前采集的数据、预先获得的数据与所述机器人存在的危险情况的第二映射关系,预测所述机器人在保持所述当前运动控制指令所指示的运动状态下存在的危险情况;其中,所述第二映射关系为采用第二端到端的深度学习方式获得的映射关系;告警模块,与上述预测模块连接,用于在预测到危险情况时,产生告警信息。通过上述预测模块和告警模块可以提供机器人运动的安全性。
需要说明的是,上述装置还包括:第四获取模块,与上述第一获取模块22连接,用于基于训练数据通过第二端到端的深度学习方法获得第二映射关系;其中,训练数据包括:机器人的数据采集设备所采集的数据和与机器人的数据采集设备所采集的数据对应的机器人的危险信息。
需要说明的是,对于上述第四获取模块获取到上述第二映射关系的具体过程参考上述实施例1中对基于训练数据通过第二端到端的深度学习方法获得第二映射关系的解释。
需要说明的是,上述当前运动控制指令可以包括以下至少之一:径向速度、转向角速度、径向加速度、转向角加速度和机器人所在位置的高度。
需要说明的是,上述数据采集设备包括以下至少之一:光学采集设备、声学采集设备、电磁学采集设备。
需要说明的是,上述机器人可以包括以下至少之一:骑行机器人、遥控机器人和跟随机器人。
需要说明的是,上述装置位于机器人中,但并不限于此。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
根据本发明实施例,提供了一种机器人的产品实施例,图3是根据本发明实施例的机器人的结构框图,如图3所示,该装置包括:数据采集设备32、处理器34和控制器36;
数据采集设备32,用于获取机器人的数据采集设备当前采集的数据;
处理器34,与上述数据采集设备32连接,用于根据当前采集的数据和预先获得的数据与运动控制指令的第一映射关系,获得机器人的当前运动控制指令;其中,第一映射关系为采用第一端到端的深度学习方式获得的映射关系;
控制器36,与上述处理器34连接,用于根据当前运动控制指令控制机器人的运动。
通过上述机器人,采用根据当前采集的数据和预先获取的数据与运动控制指令的第一映射关系获得机器人的当前运动控制指令,根据获取的当前运动控制指令控制机器人的运动的方式,进而可以根据当前采集的数据来调整其运动状态,自动实现了机器人的自主移动,达到了减少了人为干预的目的,进而解决了现有技术中实现机器人自主移动时人为干预较多的技术问题。
在本发明的一个实施例中,上述处理器34,还可以用于基于训练数据通过第一端到端的深度学习方法获得第一映射关系;其中,训练数据包括:机器人的数据采集设备所采集的数据和数据采集设备在采集数据时的机器人的运动状态数据。
需要说明的是,对于处理器34获取到上述第一映射关系的具体过程可以详见实施例1中对应与对基于训练数据通过所述第一端到端的深度学习方法获得所述第一映射关系的解释。
需要说明的是,上述训练数据还包括:所述机器人处于不同场景下的危险信息,其中,所述危险信息为被所述数据采集设备采集到后发出告警的信息。
在本发明的一个实施例中,上述处理器34,还可以用于根据当前采集的数据、预先获得的数据与机器人存在的危险情况的第二映射关系,预测机器人在保持当前运动控制指令所指示的运动状态下存在的危险情况;其中,第二映射关系为采用第二端到端的深度学习方式获得的映射关系;机器人还包括:告警设备,用于在预测到危险情况时,产生告警信息。
需要说明的是,上述处理器34还可以用于基于训练数据通过第二端到端的深度学习方法获得第二映射关系;其中,训练数据包括:机器人的数据采集设备所采集的数据和与机器人的数据采集设备所采集的数据对应的机器人的危险信息。
需要说明的是,对于上述处理器34获取到上述第二映射关系的具体过程参考上述实施例1中对基于训练数据通过第二端到端的深度学习方法获得第二映射关系的解释。
需要说明的是,上述当前运动控制指令可以包括以下至少之一:径向速度、转向角速度、径向加速度、转向角加速度和机器人所在位置的高度。
需要说明的是,上述数据采集设备包括以下至少之一:光学采集设备、声学采集设备、电磁学采集设备。
需要说明的是,上述机器人可以包括以下至少之一:骑行机器人、遥控机器人和跟随机器人。
为了更好的理解本发明实施例,以下结合优选的实施例对本发明做进一步解释。
本优选实施例采用了端到端的深度学习方案:直接将机器人当前的传感器数据映射成机器人运动控制指令。
需要说明的是,传感器数据可以包括:由各种光学采集设备,如rgb摄像头、深度摄像头、红外摄像头等,激光雷达、超声波等等采集的数据。传感器数据可以是这些的数据的任意组合,具体取决于机器人搭载的传感器,对不同的数据组合,要训练专门的神经网络。
需要说明的是,上述运动控制指令:轮式机器人控制指令比较简单,可以通过径向速度、和转向角速度控制;也可以通过径向加速度和转向角加速度控制。
深度学习:采用有监督式的学习方案,使用卷积神经网络结合全链接层实现函数映射关系。
而监督式学习(英语:supervisedlearning),是一个机器学习中的方法,可以由训练资料中学到或建立一个模式(函数/learningmodel),并依此模式推测新的实例。训练资料是由输入物件(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。
一个监督式学习者的任务在观察完一些训练范例(输入和预期输出)后,去预测这个函数对任何可能出现的输入的值的输出。要达到此目的,学习者必须以"合理"的方式从现有的资料中一般化到非观察到的情况。
通过上述端到端的解决方案避免了人为地设计各个功能模块、设定各种决策,将复杂的实际问题抽象为一个函数映射关系。
需要说明的是,有监督的深度学习方案需要大量的带有真值的训练样本,并需要样本多样化,尽可能的代表机器人在应用中将要处理的各种情况。
本优选实施例通过记录被操控的机器人的传感数据和运动状态来采集训练数据。如用户骑行、遥控控制、机器人跟踪用户行动等。
优选实施例1:骑行机器人自主移动学习方案包括以下几个步骤:
步骤1,数据采集:在用户骑行使用机器人的过程中,记录机器人的传感器信息和运动状态数据,以及危险、意外情况信息,如摔倒、打滑、碰撞等。
步骤2,模型训练。基于采集数据训练机器人自主移动模型和危险情况检测模型,可以用一个多任务的深度学习网络实现。自主移动模型,输出机器人根据当前传感器的信息的机器人运动状态控制指令。危险情况检测模型输出若保持当前运动状态,马上可能面临的危险情况,并发送警告信息。如,前方有减速带、积水等不良路况。
步骤3,自主移动应用。机器人可以根据学习到的模型自主运动,无需用户骑行或控制。该功能可以与各种其他功能模块搭配使用,解决各种真实问题。如导航(送货)、行人检测跟踪(安检巡逻)。
步骤4,危险预知应用。机器人加载训练好的网络模型之后,用户再次骑行时,机器人就会分析用户当前的行走路线,并进行危险情况分析和预测警告,从而提高用户骑行行为的安全性。
优选实施例2:
遥控机器人自主移动学习方案类似于上述优选实施例1,不同的是采集数据时是针对可遥控的机器人。用户通过遥控器控制机器人。同样记录机器人的传感数据和运动状态作为样本和真值。
优选实施例3:
跟随机器人自主移动学习方案类似于上述优选实施例1,不同的是其针对的是跟随机器人。跟随机器人跟随人类行走,自然在模拟人类的行为方式。因此可以记录跟随过程中机器人的传感器数据和机器人运动状态来作为训练数据。
如果一类型机器人同时具有上面多种属性,那么这些不同状态下采集的数据可以共享。只需传感器类型统一,传感器位置角度接近,那么数据就有很好的一致性,可以共同用来训练这一类型的机器人。
实施例4
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。