一种机器人三维模型的建立方法、装置及电子设备
技术领域
本申请涉及机器人技术,特别涉及一种机器人三维模型的建立方法、装置及电子设备。
背景技术
云端机器人是将认知系统放在云里,身体、驱动、传感器放在机器人本体上,通过移动通信将二者连接起来的智能机器人;云端机器人是智能仿人机器人发展的方向。
在现有技术中,很多机器人已经具备多自由度的运动能力。然而,大多数机器人的每个自由度依然各自分立运动,即,缺乏相互的关联判断;从而导致在运动中,尤其是机器人外壳有变化或者有额外负重后,机器人的各个自由度在执行运动时可能会发生碰撞,比如手打到腿,手打到身体,或者手部攥拳攥不上等等。
为解决上述问题,现有技术中采用以下方案:机器人提供3D(3-Dimensions,三维)模型的设置接口,由维护人员根据机器人的当前外形设置该机器人的3D模型,并将该3D模型存储至机器人的控制模块中保存,然后机器人基于该3D模型动态地对机器人各自由度的动作进行控制,以使得机器人可以避开障碍,或者可以避免各自由度上的碰撞。
但是,发明人发现,采用现有技术中的机器人的三维模型的建立方法,若机器人的某个结构外形发生了变化,例如,增加了新的功能模块,更换了新的外壳,或者是机器人有负重时,需要由维护人员通过接口重新设置机器人的三维模型,并更新至控制模块,导致操作繁琐。
发明内容
本申请实施例中提供了一种机器人三维模型的建立方法及装置,用于解决现有技术中机器人三维模型建立时操作繁琐的问题。
根据本申请实施例中的一个方面,提供了一种机器人三维模型的建立方法,包括:在检测到满足建立模型的第一预定条件时,确定可视区域内存在镜面;获取该机器人在该镜面中的图像;根据获取的该图像,建立该机器人的三维模型。
可选地,满足建立模型的第一预定条件具体包括:该机器人初始化;或者在该机器人未处于提取物体或托举物体状态时,该机器人自身重量增加或减少超过第一预定阈值。
可选地,确定可视区域内存在镜面,具体包括:获取该机器人可视区域内的一个或多个图像,并分别记录获取各图像的时刻;确定在各时刻该机器人执行的相应动作;识别相应时刻的图像中是否存在与该机器人在该相应时刻执行的动作一致的内容;当存在与该机器人在该相应时刻执行的动作一致的内容的图像数量超过第二预定阈值时,则确定可视区域内存在镜面。
可选地,确定可视区域内存在镜面,具体包括:获取预先存储的位置信息,该位置信息包括镜面的位置;触发该机器人移动至该位置的预定距离。
可选地,在确定可视区域内存在镜面之后,在获取该机器人在该镜面中的图像之前,还包括:确定该镜面满足第二预定条件。
可选地,满足第二预定条件具体包括:该镜面与该机器人的身体直立轴之间的夹角小于第一预定角度。
可选地,确定该镜面满足第二预定条件具体包括:触发该机器人的预定结构以该身体直立轴为中心轴,开始转动;在转动时,每转动第二预定角度,沿垂直于所述身体直立轴的方向发射第一光线,或者每隔第一预定时间沿垂直于所述身体直立轴的方向发射第一光线;其中,该预定结构的轴线垂直于该身体直立轴;接收经该镜面反射的、与该第一光线对应的第二光线;在该第一光线和该第二光线之间的夹角小于第三预定角度时,判断确定该镜面满足第二预定条件。
可选地,获取该机器人在该镜面中的图像具体包括:触发所述机器人的图像拍摄组件正对所述镜面,且与所述镜面保持相对静止,其余结构以身体直立轴为中心轴转动;在转动时,每转动第四预定角度触发该图像拍摄组件拍摄该机器人在该镜面中的图像,或者触发所述图像拍摄组件每隔第二预定时间拍摄所述机器人在所述镜面中的图像。
可选地,在根据获取的该图像,建立该机器人的三维模型之后,还包括:接收动作指令和该动作指令对应的执行时刻;在该执行时刻之前的预定时刻,根据该动作指令和该三维模型,模拟该机器人在执行该动作指令时的状态;根据该状态,执行避障操作。
可选地,根据该状态,执行避障操作,具体包括:根据该状态,判断在执行该动作指令时,该机器人是否会发生自由度碰撞;如果是,则根据该状态中,发生碰撞的自由度之间的碰撞程度修改动作指令。
可选地,根据该状态,执行避障操作,具体包括:根据该状态和预先获取的、该机器人可视区域内的其他物体的空间关系,判断该机器人在执行该动作指令时,是否与该其他物体碰撞;如果是,则根据发生碰撞物体的位置修改动作指令。
根据本申请实施例中的另一个方面,还提供了一种机器人三维模型的建立装置,包括:镜面确定模块,用于在检测到满足建立模型的第一预定条件时,确定可视区域内存在镜面;图像获取模块,用于获取该机器人在该镜面中的图像;三维模型建立模块,用于根据获取的该图像,建立该机器人的三维模型。
可选地,满足建立模型的第一预定条件具体包括:该机器人初始化;或者在该机器人未处于提取物体或托举物体状态时,该机器人自身重量增加或减少超过第一预定阈值。
可选地,镜面确定模块,具体用于获取该机器人可视区域内的一个或多个图像,并分别记录获取各图像的时刻;确定在各时刻该机器人执行的相应动作;识别相应时刻的图像中是否存在与该机器人在该相应时刻执行的动作一致的内容;当存在与该机器人在该相应时刻执行的动作一致的内容的图像数量超过第二预定阈值时,则确定可视区域内存在镜面。
可选地,镜面确定模块,具体用于获取预先存储的位置信息,该位置信息包括镜面的位置;触发该机器人移动至该位置的预定距离。
可选地,该机器人三维模型的建立装置还包括:第二预定条件确定模块,用于确定该镜面满足第二预定条件。
可选地,满足第二预定条件具体包括:该镜面与该机器人的身体直立轴之间的夹角小于第一预定角度。
可选地,第二预定条件确定模块具体用于触发该机器人的预定结构以该身体直立轴为中心轴,开始转动;在转动时,每转动第二预定角度,沿垂直于所述身体直立轴的方向发射第一光线,或者每隔第一预定时间沿垂直于所述身体直立轴的方向发射第一光线;其中,该预定结构的轴线垂直于该身体直立轴;接收经该镜面反射的、与该第一光线对应的第二光线;在该第一光线和该第二光线之间的夹角小于第三预定角度时,判断确定该镜面满足第二预定条件。
可选地,图像获取模块具体用于触发所述机器人的图像拍摄组件正对所述镜面,且与所述镜面保持相对静止,其余结构以身体直立轴为中心轴转动;在转动时,每转动第四预定角度触发该图像拍摄组件拍摄该机器人在该镜面中的图像,或者触发所述图像拍摄组件每隔第二预定时间拍摄所述机器人在所述镜面中的图像。
可选地,机器人三维模型的建立装置还包括:接收模块,用于接收动作指令和该动作指令对应的执行时刻;状态模拟模块,用于在该执行时刻之前的预定时刻,根据该动作指令和该三维模型,模拟该机器人在执行该动作指令时的状态;避障模块,用于根据该状态,执行避障操作。
可选地,避障模块具体用于根据该状态,判断在执行该动作指令时,该机器人是否会发生自由度碰撞;如果是,则根据该状态中,发生碰撞的自由度之间的碰撞程度修改动作指令。
可选地,避障模块具体用于根据该状态和预先获取的、该机器人可视区域内的其他物体的空间关系,判断该机器人在执行该动作指令时,是否与该其他物体碰撞;如果是,则根据发生碰撞物体的位置修改动作指令。
采用本申请实施例中的机器人三维模型的建立方法、装置及电子设备,在检测到满足第一预定条件时,进一步确定可视区域内存在镜面,并获取该机器人在镜面中的图像,然后根据获取的该图像,建立所述机器人的三维模型,从而能够在机器人在检测到满足第一预定条件时,触发通过镜面建立自身的三维模型的动作,从而无需维护人员设置,减少了操作步骤。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1中示出了根据本申请实施例一的机器人三维模型的建立方法流程图;
图2中示出了根据本申请实施二的机器人三维模型的建立方法的流程图;
图3中示出了根据本申请实施例三所示机器人三维模型的建立装置的结构示意图;
图4中示出了根据本申请实施例四所示的电子设备的结构示意图。
具体实施方式
在实现本申请的过程中,发明人发现,采用现有技术中的机器人的三维模型的建立方法,若机器人的某个结构外形发生了变化,例如,增加了新的功能模块,更换了新的外壳,或者是机器人有负重时,需要由维护人员通过该接口重新设置机器人的三维模型,并更新至控制模块,导致操作繁琐。
另外,发明人还发现,机器人虽然在获取外界信息方面取得了长足的进步,但机器人缺乏了解自身外形变化的能力,也就导致了在自身尺寸发生变化后,仍然按照原有尺寸进行判断,从而不能正确避障,例如,再次发生手打到脚、出门时卡在门口、碰倒花瓶等等。
针对上述问题,本申请实施例中提供了一种机器人三维模型的建立方法及装置,在检测到满足第一预定条件时,确定可视区域内存在镜面,并获取该机器人在镜面中的图像,然后根据获取的该图像,建立所述机器人的三维模型,从而能够在机器人在检测到满足第一预定条件时,触发通过镜面建立自身的三维模型的动作,从而无需维护人员设置,减少了操作步骤。
另外,在通过镜面建立自身的三维模型之后,在接收到动作指令后,根据该三维模型和动作指令提前模拟机器人在执行该动作指令时的状态,并根据该状态执行避障操作,从而使得机器人可以正确避障。。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在具体实施时,本申请中的机器人三维模型的建立方法可以通过安装在机器人头部或其他可旋转部位的3D建模模组中实现,也可以由机器人的其他模组中的多个模块结合实现,本申请对此不作限制。
本领域技术人员应当理解,在本申请实施例中的,“机器人看到……”、“在机器人的可视区域内”等词语,均是指相关的内容处于机器人的图像拍摄组件能够获取到图像的区域内。
实施例一
图1中示出了根据本申请实施例一的机器人三维模型的建立方法流程图。如图1所示,包括以下步骤:
S101,检测是否满足建立模型的第一预定条件;如果满足,则执行S102;如果不满足,则结束。
在具体实施时,可以是在机器人初始化时判断满足建立模型的第一预定条件。具体地,可以在机器人读取初始化数据时,判断机器人处于初始化状态,从而判断满足建立模型的第一预定条件;也可以在机器人初始化完毕时,判断满足建立模型的第一预定条件。具体地,该初始化可以是在机器人组装完成后,首次上电时执行的初始化流程,也可以是在机器人组装运行后,通过返回出厂设置时重新执行的初始化流程。
在具体实施时,还可以在该机器人未处于提取物体或托举物体状态时,机器人自身重量增加或减少超过第一预定阈值时,判断满足该第一预定条件。具体地,可以通过机器人手部或上肢的压力传感器获取的数据来判断该机器人是否处于提取物体或托举物体状态;同时可以通过机器人脚部的压力传感器获取的数据来判断机器人自身重量增加或减少的数值。具体地,该第一预定阈值可以是预先设置的一个重量值,例如,0.5kg等;具体地,该第一预定阈值可以是由3D建模模组的开发人员根据机器人的各功能模块的平均重量设置的数值,也可以是由机器人的维护人员根据该机器人的常用可替换外壳、功能模块等的重量变化值设置的数值等,本申请对此不作限制。
例如,该第一预定阈值为1kg;在某一时刻,机器人的脚部压力传感器检测到机器人的自身重量增加了2kg,此时可以进一步获取机器人的手部或上肢的压力传感器传回的数据;假如此时机器的手部压力传感器传回的数据显示机器人托举了2kg的物体,则判断此时未满足第一预定条件;假如此时机器人的手部压力传感器传回的数据为0,则判断出2kg大于1kg;确定满足第一预定条件。
在具体实施时,机器人是否处于提取物体或托举物体的状态判断,和机器人自身重量增加或减少是否超过第一预定阈值的判断步骤之间没有严格的时序关系。即,可以先判断机器人是否处于提取物体或托举物体的状态,并且在未处于提取物体或托举物体的状态时,才进一步判断机器人自身重量增加或减少是否超过第一预定阈值;也可以先判断机器人自身重量增加或减少是否超过第一预定阈值,并且在自身重量增加或减少超过第一预定阈值时,才进一步判断机器人是否处于提取物体或托举物体的状态;还可以两个步骤同时进行;本申请对此均不作限制。
S102,确定可视区域内是否存在镜面;如果存在,则执行S103,如果不存在,则结束。
在具体实施时,机器人的可视区域可以是指机器人的图像拍摄组件,例如,摄像头可以获取图像的范围。
在第一种具体实施方式中,机器人可以通过图像识别的方法发现镜面。具体地,机器人可以通过例如摄像头的图像拍摄组件获取机器人可视区域内的一个或多个图像,并分别记录获取各图像的时刻;确定在各时刻所述机器人执行的相应动作;识别相应时刻的图像中是否存在与所述机器人在所述相应时刻执行的动作一致的内容;当存在与所述机器人在所述相应时刻执行的动作一致的内容的图像数量超过第二预定阈值时,则确定可视区域内存在镜面。具体地,该第二预定阈值可以是1,也可以是如2,3,5等预定阈值。
在具体实施时,当在图像中发现与自身动作完全实时一致的机器人形时,首先可以判断此方向可能存在镜面;在判断出该方向可能存在镜面时,还可以进一步执行特定动作,并进一步获取该方向上的图像,并识别图像中是否存在与自身动作完全实时一致的内容,以进一步判断此方向上拍摄到的完全实时一致的内容为自身的镜像,而非另一个机器人。
在具体实施时,机器人在检测到满足第一预定条件时,可以中断当前执行的运行指令,直接在当前可视区域内获取图像以判断是否存在镜面;也可以不中断当前执行的运行指令,而在正常运动中或者正常执行任务中根据获取的图像来判断是否存在镜面。
在第二种具体实施方式中,还可以通过读取预先存储的信息来发现镜面。具体地,可以读取预先存储的位置信息,该位置信息包括镜面的位置;并触发机器人移动至该位置的预定距离。具体地,该预定距离可以是使机器人能够在镜面中看到自身的全身像的距离,也可以是机器人能够在镜面中看到自身特定局部的距离;具体地,该特定局部可以包括根据经验设置的、机器人外形变化的身体局部。该预定距离可以根据机器人的身高、镜面的高度等利用镜面成像原理计算得到;本申请在此不赘述。
在具体实施时,该位置信息可以有多个,机器人可以选择离自己最近的镜面;或者机器人可以根据下一运行指令中的目的地,选择当前位置、镜面、和目的地之间的最佳路线。
具体地,该预先存储的位置信息可以是由维护人员预先设置的位置,例如,在客厅大门左侧、卧室衣橱门上等;也可以是机器人自动记录的镜面的位置等;本申请对此不作限制。
在具体实施时,还可以结合上述两种发现镜面的方式。具体地,可以在当前可视区域或者在预定时长的正常运动中,均未发现镜面时,读取预先存储的镜面的位置信息;然后触发机器人移动至该位置的预定距离等。
S103,判断镜面与机器人的身体直立轴之间的夹角是否小于第一预定角度;如果是,则执行S104-S105;如果否,则结束。
为避免机器人在镜中看到的自己存在视角误差,造成建模不准确,在找到镜面之后,可以进一步判断镜面与机器人的身体直立轴之间的夹角是否小于第一预定角度。即,可以挑选与机器人的身体直立轴相对平行的镜面来获取建模图像。具体地,可以向镜面发射第一光线,并根据接收到的反射光线与第一光线之间的夹角来判断该镜面是否与机器人身体直立轴平行。具体地,该第一预定角度可以是1度、2度等较小的角度。
在具体实施时,可以通过以下方式判断镜面与机器人的身体直立轴之间的夹角是否小于第一预定角度:触发机器人的预定结构以身体直立轴为中心轴,开始转动;在转动时,每转动第二预定角度,沿垂直于所述身体直立轴的方向发射第一光线,或者每隔第一预定时间沿垂直于所述身体直立轴的方向发射第一光线;其中,预定结构的轴线垂直于身体直立轴;接收经镜面反射的、与第一光线对应的第二光线;在第一光线和所述第二光线之间的夹角小于第三预定角度时,判断镜面与机器人的身体直立轴之间的夹角小于第一预定角度。
具体地,该第一光线可以是红外线、激光等光线。该预定结构可以是机器人的头部或其他可以围绕身体直立轴的轴线360度旋转的结构,本申请对此不作限制。具体地,该第二预定角度可以是1度,2度等较小的角度。具体地,该第三预定角度可以是1度、2度等较小的角度。具体地,该第一预定时间可以是例如0.1秒、1秒等时长。
例如,机器人在发现镜面后,可以使自身保持身体与地面垂直标的准直立动作;然后以身体直立轴为中心轴,360度转动3D建模模组所在的结构,例如,头部,并每转1度向外沿垂直于身体直立轴的方向发射红外线;在转动过程中,共发射出35道第一光线,收到2道第二光线,其中有一道光线的入射光线与反射光线的夹角小于2度;此时,判断镜面与机器人的身体直立轴相对平行。
在判断镜面与机器人的身体直立轴之间的夹角小于第一预定角度后,确定该镜面满足三维建模的要求,此时,可以进一步记录该镜面的位置、方向等信息,以便机器人下次重新建模时使用。
S104,获取机器人在该镜面中的图像。
在具体实施时,可以通过以下方式获取机器人在该镜面中的图像:触发机器人的图像拍摄组件正对镜面,且与镜面保持相对静止,其余结构以身体直立轴为中心轴转动;在转动时,每转动第四预定角度触发图像拍摄组件拍摄机器人在镜面中的图像,或者触发所述图像拍摄组件每隔第二预定时间拍摄所述机器人在所述镜面中的图像。
在具体实施时,如果机器人的图像拍摄组件的朝向与光线发射的方向一致,例如,均位于头部且呈上下或左右分布。则在S104步骤中,可以在接收收到入射光线与反射光线的夹角小于的第三预定角度时,判断此时图像拍摄组件正对该镜面,触发该预定结构停止转动,并获取机器人在该镜面中的图像。
在具体实施时,如果机器人的图像拍摄组件的朝向与光线发射的方向不一致,在获取机器人在该镜面中的图像之前,还可以进一步调整机器人的图像拍摄组件的方向,以使图像拍摄组件正对镜面。例如,图像拍摄组件的朝向与光线发射方向夹角为180度;且在光线向左发射时,接收收到与入射光线的夹角小于的第三预定角度与反射光线,此时,可以停止预定结构的转动,并将与机器人的图像拍摄组件旋转180度。
在具体实施时,该镜面可以是机器人能够看到全身像的镜面,也可以是也可以是机器人能够看到自身特定局部的镜面;具体地,该特定局部可以包括根据经验设置的、机器人外形变化或者负重的身体局部;本申请对此不作限制。
在具体实施时,如果3D建模模组的图像拍摄组件位于机器人头部,则机器人头部静止,脖子以下沿轴转动;在转动过程中,图像拍摄组件可以实时拍摄,即,每隔预定时长,如,0.1秒拍摄一张;也可以是其余结构在每转动一预定角度,例如,1度时拍摄一张。根据自身建模算法的不同,机器人可以活动特定的自由度或者触发某一自由度摆出特定的造型;具体地,该特定的自由度可以是根据经验值设置的、机器人外形变化或者负重的身体局部。
S105,根据获取的图像,建立机器人的三维模型。
在具体实施时,可以采用现有技术根据获取的二维图像建立机器人的三维模型,例如,基于图像的建模和绘制(Image-Based Modeling and Rendering,IBMR)技术。
基于图像的建模的主要目的是由二维图像恢复景物的三维几何结构。IBMR技术具有许多独特的优点,比如建模更快更方便,可以获得很高的绘制速度和高度的真实感等。与传统的利用建模软件或者三维扫描仪得到立体模型的方法相比,基于图像建模的方法成本低廉,真实感强,自动化程度高。很多公司都已经研发出了此类算法,如国内3D Cloud以云端形式运行,只要将照片上传至云端,即可全自动生成三维模型。如迪斯尼苏黎世研究团队开发出了一种新程序,使用数百张二维摄影照片和一种特殊设计的算法,给电影、电视和游戏做复杂且真实的3D建模,也可以制作或者打印高精度的模型。
IBMR技术的具体算法流程可以参见多篇文献,例如,2010年8月发表于《贵州大学学报》第27卷第4期,题为《基于图像的三维重建流程及实现》的期刊论文;或者参见2015年1月发表于《计算机工程与设计》第36卷第1期,题为《基于图像识别的建筑物三维重建》的期刊论文等。
应当理解,可以采用常有多种从二维图像重建三维图像的算法实现步骤105的实施,上述IBMR仅用于示例的目的而示出,并不用于限制本申请。
至此,根据本申请实施例的机器人的三维模型的建立方法已执行完毕。
采用本申请实施例中的机器人三维模型的建立方法,在检测到满足第一预定条件时,确定可视区域内存在镜面,并获取该机器人在镜面中的图像,然后根据获取的该图像,建立所述机器人的三维模型,从而能够在机器人在检测到满足第一预定条件时,触发通过镜面建立自身的三维模型的动作,从而无需维护人员设置,减少了操作步骤。
在上述实施例一中,对本申请实施例中的机器人三维模型的建立方法的实施进行了详细阐述。在具体实施时,在完成机器人三维模型的建立之后,机器人还可以根据新建立的三维模型执行相应的避障动作;下面将结合另一实施例进行描述。
实施例二
图2中示出了根据本申请实施二的机器人三维模型的建立方法的流程图。如图2所示,根据本申请实施二的机器人三维模型的建立方法包括以下步骤:
S201,检测是否满足建立模型的第一预定条件;如果满足,则执行S202;如果不满足,则执行S206。
在具体实施时,S201的实施可以参见本申请实施例一中S101的实施,重复之处不再赘述。
S202,确定可视区域内是否存在镜面;如果存在,则执行S203,如果不存在,则执行S206。
在具体实施时,S202的实施可以参见本申请实施例一中S102的实施,重复之处不再赘述。
S203,判断镜面与机器人的身体直立轴之间的夹角是否小于第一预定角度;如果是,则执行S204-S206;如果否,则执行S206。
在具体实施时,S203的实施可以参见本申请实施例一中S103的实施,重复之处不再赘述。
S204,获取机器人在该镜面中的图像。
在具体实施时,S204的实施可以参见本申请实施例一中S104的实施,重复之处不再赘述。
S205,根据获取的图像,建立机器人的三维模型。
在具体实施时,S205的实施可以参见本申请实施例一中S105的实施,重复之处不再赘述。
S206,根据机器人的三维模型避障。
在具体实施时,可以根据机器人存储的三维模型避障。该三维模型可以是原有的三维模型;也可以是步骤201-205中建立的三维模型。
在S206的第一种具体实施方式中,可以采用以下方式避障:接收动作指令和动作指令对应的执行时刻,并在该执行时刻之前的预定时刻,根据动作指令和三维模型,模拟机器人在执行动作指令时的状态;然后判断在执行所述动作指令时,所述机器人是否会发生自由度碰撞;如果是,则根据所述状态中,发生碰撞的自由度之间的碰撞程度修改动作指令,以使得发生碰撞的部分变为刚刚挨上或者留有微小的空隙不接触。
具体地,该预定时刻可以为根据经验值设置的一时间长度,例如,在执行时刻前的2分钟、1分钟、10秒等。
具体地,可以采用彷真的方式根据动作指令和三维模型,模拟机器人在执行动作指令时的状态。例如,动作指令为:“将右手向前抬起10厘米”;则触发仿真的三维模型执行“将右手向前抬起10厘米”的动作。
具体地,如果在执行过程中,出现某些自由度碰撞的情况,例如,可能会出现由于腰部外形变化导致右手打到腰部的情况;此时可以根据碰撞的程度修改动作指令,例如,取消该动作指令或者改为“将右手向前抬起5厘米”等。
在S206的第二种具体实施方式中,可以采用以下方式避障:接收动作指令和动作指令对应的执行时刻,并在该执行时刻之前的预定时刻,根据动作指令和三维模型,模拟机器人在执行动作指令时的状态;然后根据该状态和预先获取的、所述机器人可视区域内的其他物体的空间关系,判断所述机器人在执行所述动作指令时,是否与所述其他物体碰撞;如果是,则根据发生碰撞物体的位置修改动作指令。
具体地,可以结合可视区域内的其他物体的空间关系,判定机器人是否可能会和物体发生碰撞,以及通过性上是否有问题,如果发现则可以修改自身运动方式或运动轨迹,避免可能的碰撞。
例如,动作指令是“向前移动20厘米”,而在机器人的前面10厘米为门,门的尺寸为高2米,宽1米,此时机器人由于外形变化,宽度超过1米;经模拟发现会出现卡在门外进不去的情况;此时可以修改动作指令,例如,取消该动作指令或者改为“向右转90度后,向右移动20厘米”等。
采用本申请实施例中的机器人三维模型的建立方法,在通过镜面建立自身的三维模型之后,在接收到动作指令后,根据该三维模型和动作指令提前模拟机器人在执行该动作指令时的状态,并根据该状态执行避障操作,从而使得机器人可以正确避障。
基于同一发明构思,本申请实施例中还提供了一种机器人三维模型的建立装置,由于该装置解决问题的原理与本申请实施例一和二所提供的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
实施例三
图3为本申请实施例三所示机器人三维模型的建立装置的结构示意图。在具体实施时,本申请实施例三所示的机器人三维模型的建立装置中的多个模块可以集成在一专用3D建模模组中,也可以由分散在机器人各结构中,还可以独立于机器人提供,本申请对此不作限制。
如图3所示,本申请实施例三所示机器人三维模型的建立装置300,包括:镜面确定模块301,用于在检测到满足建立模型的第一预定条件时,确定可视区域内存在镜面;图像获取模块302,用于获取该机器人在该镜面中的图像;三维模型建立模块303,用于根据获取的该图像,建立该机器人的三维模型。
在具体实施时,图像获取模块302可以包括机器人现有的图像拍摄组件,也可以包括新增的图像拍摄组件,本申请对此不作限制。
在具体实施时,满足建立模型的第一预定条件具体可以包括:该机器人初始化;或者在该机器人未处于提取物体或托举物体状态时,该机器人自身重量增加或减少超过第一预定阈值。
在具体实施时,镜面确定模块,具体可以用于获取该机器人可视区域内的一个或多个图像,并分别记录获取各图像的时刻;确定在各时刻该机器人执行的相应动作;识别相应时刻的图像中是否存在与该机器人在该相应时刻执行的动作一致的内容;当存在与该机器人在该相应时刻执行的动作一致的内容的图像数量超过第二预定阈值时,则确定可视区域内存在镜面。
在具体实施时,镜面确定模块,具体用于获取预先存储的位置信息,该位置信息包括镜面的位置;触发该机器人移动至该位置的预定距离。
在具体实施时,该机器人三维模型的建立装置还包括:第二预定条件确定模块,用于确定该镜面满足第二预定条件。
在具体实施时,满足第二预定条件具体可以包括:该镜面与该机器人的身体直立轴之间的夹角小于第一预定角度。
在具体实施时,第二预定条件确定模块具体可以用于触发该机器人的预定结构以该身体直立轴为中心轴,开始转动;在转动时,每转动第二预定角度,沿垂直于所述身体直立轴的方向发射第一光线,或者每隔第一预定时间沿垂直于所述身体直立轴的方向发射第一光线;其中,该预定结构的轴线垂直于该身体直立轴;接收经该镜面反射的、与该第一光线对应的第二光线;在该第一光线和该第二光线之间的夹角小于第三预定角度时,判断确定该镜面满足第二预定条件。
在具体实施时,图像获取模块具体可以用于触发所述机器人的图像拍摄组件正对所述镜面,且与所述镜面保持相对静止,其余结构以身体直立轴为中心轴转动;在转动时,每转动第四预定角度触发该图像拍摄组件拍摄该机器人在该镜面中的图像,或者触发所述图像拍摄组件每隔第二预定时间拍摄所述机器人在所述镜面中的图像。
在具体实施时,机器人三维模型的建立装置还可以包括:接收模块,用于接收动作指令和该动作指令对应的执行时刻;状态模拟模块,用于在该执行时刻之前的预定时刻,根据该动作指令和该三维模型,模拟该机器人在执行该动作指令时的状态;避障模块,用于根据该状态,执行避障操作。
在具体实施时,避障模块具体可以用于根据该状态,判断在执行该动作指令时,该机器人是否会发生自由度碰撞;如果是,则根据该状态中,发生碰撞的自由度之间的碰撞程度修改动作指令。
在具体实施时,避障模块具体可以用于根据该状态和预先获取的、该机器人可视区域内的其他物体的空间关系,判断该机器人在执行该动作指令时,是否与该其他物体碰撞;如果是,则根据发生碰撞物体的位置修改动作指令。
采用本申请实施例中的机器人三维模型的建立装置,在检测到满足第一预定条件时,确定可视区域内存在镜面,并获取该机器人在镜面中的图像,然后根据获取的该图像,建立所述机器人的三维模型,从而能够在机器人在检测到满足第一预定条件时,触发通过镜面建立自身的三维模型的动作,从而无需维护人员设置,减少了操作步骤。
另外,采用本申请实施例中的机器人三维模型的建立装置,在通过镜面建立自身的三维模型之后,在接收到动作指令后,根据该三维模型和动作指令提前模拟机器人在执行该动作指令时的状态,并根据该状态执行避障操作,从而使得机器人可以正确避障。
实施例四
基于同一发明构思,本申请实施例中还提供了如图4所示的一种电子设备400。
该电子设备400包括:处理器401、存储器402、通信接口403、总线404;该处理器401、存储器402、通信接口403通过总线404连接并完成相互间的通信;该存储器存储可执行程序代码;该处理器通过读取该存储器中存储的可执行程序代码来运行与该可执行程序代码对应的程序,以用于执行一种机器人三维模型的建立方法,包括:在检测到满足建立模型的第一预定条件时,确定可视区域内存在镜面;获取该机器人在该镜面中的图像;根据获取的该图像,建立该机器人的三维模型。
在具体实施时,该电子设备可以包括机器人。
由于该电子设备中运行的方法解决问题的原理与本申请实施例一或二所提供的方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。
采用本申请实施例中的电子设备,在检测到满足第一预定条件时,确定可视区域内存在镜面,并获取该电子设备在镜面中的图像,然后根据获取的该图像,建立所述电子设备的三维模型,从而能够在检测到满足第一预定条件时,触发通过镜面建立自身的三维模型的动作,从而无需维护人员设置,减少了操作步骤。另外,在通过镜面建立自身的三维模型之后,在接收到动作指令后,根据该三维模型和动作指令提前模拟在执行该动作指令时的状态,并根据该状态执行避障操作,从而可以正确避障。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。