本发明涉及机器视觉技术领域,具体涉及一种针对机器人工作场景中提取障碍物运动信息的方法。
背景技术:
随着智能制造的发展,自动化机器人、机械臂等的应用也越来越广泛。随着工业机器人的数量以及种类越来越多,它们的智能化程度越来越高,其能够胜任的工作也越来越多,机器人之间的配合协作、以及人机协作等越来越常见,机器人的安全控制研究方面也越来越重要。
针对工业机器人或机械臂的工作过程中,若有行人或者其他物体突然进入到机器人的工作范围内,可能会造成安全事故。为避免机器人与障碍物的碰撞发生,需要有检测障碍物的方法并根据障碍物的运动信息对机器人作出闪避动作指令。
目前大多为使用超声波、激光雷达或者多目视觉对障碍物进行探测,但这些方法获取到的障碍物形状以及运动信息极为有限。
技术实现要素:
本发明的目的是为了解决现有技术中的上述缺陷,提供一种针对机器人工作场景中提取障碍物运动信息的方法,该方法在机器人或机械臂工作过程中,利用点云获取系统,获得场景点云信息,并对点云进行处理,提取出障碍物的形状以及运动等信息,辅助机器人对障碍物进行闪避动作判断。
本发明的目的可以通过采取如下技术方案达到:
一种针对机器人工作场景中提取障碍物运动信息的方法,其特征在于,所述方法包括以下步骤:
s1、利用结构光系统、光探测和测距点云获取系统,以一定的时间间隔获取工业场景的点云信息,并对点云信息进行下采样至一定的点数目;
s2、将下采样后的点云信息输入到神经网络中,由神经网络给出识别结果;
s3、根据识别结果,提取出点云中相对应的属于障碍物的点,并针对上述障碍物的点计算出障碍物的运动信息,辅助机器人作出运动判断。
进一步地,所述步骤s1中,对获取工业场景的点云信息使用随机采样算法,将点云信息的数据矩阵在点的数目维度随机地抽取出所需数量的点;或者,对获取工业场景的点云信息使用最远点采样算法,每次采样出距离已采样点的点集最远的一个点并重复进行,使得采样后的点云统一到特定数目。
进一步地,所述步骤s2中神经网络采用动态图卷积神经网络,该动态图卷积神经网络包括输入层、第一边缘卷积算子、第二边缘卷积算子、第三边缘卷积算子、第一共享全连接层、第二共享全连接层、第一池化层和输出层,其中,所述边缘卷积算子包括邻域点云聚集模块、卷积层和第二池化层,所述邻域点云聚集模块采用k近邻算法;该动态图卷积神经网络的输入层与输出层之间各层的连接关系为:输入层依次连接到第一边缘卷积算子、第二边缘卷积算子、第三边缘卷积算子,经过三次边缘卷积后经过第一共享全连接层以及第一池化层得到全局特征;将每个点从各个边缘卷积算子中得到的特征以及全局特征结合,并分别输入到第二共享全连接层中,最终由输出层得到输出;其中,每个边缘卷积算子包括聚集邻域点云模块、卷积层、第二池化层,聚集邻域点云模块进行邻域点云聚集并输入到卷积层,之后由第二池化层聚合出深一层特征,并且下一个边缘卷积算子会以之前得到的所有特征作为输入,继续输出深一层特征。
进一步地,所述动态图卷积神经网络的输出与输入的下采样后的点云信息一一对应。
进一步地,所述动态图卷积神经网络的输出归一化至0到1之间的数值,并定义数值越接近1则识别结果越倾向于该点为障碍物点。
进一步地,所述步骤s3中提取出点云中相对应的属于障碍物的点,得到各个障碍物点的三维信息,利用各个障碍物点的三维信息的平均值替代作为障碍物的重心位置,其中,在某一时刻j,障碍物点的三维信息的平均值计算公式如下:
上式中,
根据相邻时刻得到的障碍物点重心位置采用逐差法计算该障碍物的运动速度与加速度:
其中,
通过障碍物的运动速度与加速度预测障碍物运动轨迹。
进一步地,所述步骤s3中,使用所有障碍物点的数目判断出障碍物的大致体积,同时,使用各个障碍物点的各坐标极差值来判断障碍物体的大致形状。
本发明相对于现有技术具有如下的优点及效果:
1)、发明中使用基于点云的数据形式来对机器人场景进行安全检测,相对于传统的超声波探测、视觉探测等,得到的是三维立体空间中的场景信息。如果机器人工作场景中存在障碍物,那么点云的数据形式除了能够给出障碍物的运动信息之外,还能给出其三维立体形状及大小信息,这对于机器人避障提供更准确的信息。
2)、发明中使用基于神经网络的点云分割处理算法,相对于传统的点云分割算法,能够更加智能化地对场景中的障碍物进行识别以及分割,具有更高的分割准确率,同时也更具有鲁棒性,能够更好地应对不可预测的障碍物情况。
附图说明
图1是本发明实施例中公开的针对机器人工作场景中提取障碍物运动信息的方法流程图;
图2是本发明实施例中的一个实例演示图;
图3是本发明实施例中神经网络结构简图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例采用基于神经网络的点云识别分割算法以及传统的点云信息处理算法结合的方法对机器人工作场景中可能存在的障碍物信息进行提取。图1是本发明中整个障碍物形状以及运动信息提取的流程图,包括点云的获取、点云的下采样、采用神经网络对场景点云中障碍物点的识别,障碍物点的提取、障碍物信息的计算,图2是本发明的一个示例演示,下面将详细进行说明。
s1、利用结构光系统、光探测和测距点云获取系统,以一定的时间间隔获取工业场景的点云信息,并对点云信息进行下采样至一定的点数目;
本实施例步骤s1中,对获取工业场景的点云信息使用随机采样算法,将点云信息的数据矩阵在点的数目维度随机地抽取出所需数量的点;或者,对获取工业场景的点云信息使用最远点采样算法,每次采样出距离已采样点的点集最远的一个点并重复进行,使得采样后的点云统一到特定数目。
s2、将下采样后的点云信息输入到神经网络中,由神经网络给出识别结果;
将下采样后的点云信息输入到神经网络中,本实施例中,神经网络采用动态图卷积神经网络,动态图卷积神经网络的结构简图如图3所示,由神经网络给出识别结果。
该动态图卷积神经网络包括输入层、第一边缘卷积算子、第二边缘卷积算子、第三边缘卷积算子、第一共享全连接层、第二共享全连接层、第一池化层和输出层,其中,所述边缘卷积算子包括邻域点云聚集模块、卷积层和第二池化层,所述邻域点云聚集模块采用k近邻算法;该动态图卷积神经网络的输入层与输出层之间各层的连接关系为:输入层依次连接到第一边缘卷积算子、第二边缘卷积算子、第三边缘卷积算子,经过三次边缘卷积后经过第一共享全连接层以及第一池化层得到全局特征;将每个点从各个边缘卷积算子中得到的特征以及全局特征结合,并分别输入到第二共享全连接层中,最终由输出层得到输出;其中,每个边缘卷积算子包括聚集邻域点云模块、卷积层、第二池化层,聚集邻域点云模块进行邻域点云聚集并输入到卷积层,之后由第二池化层聚合出深一层特征,并且下一个边缘卷积算子会以之前得到的所有特征作为输入,继续输出深一层特征。
将每个点从各个边缘卷积层中得到的特征以及全局特征结合,并分别输入到第二共享全连接层中(图3中第二共享全连接层中的(256,128,1)代表其中各层的神经元数量分别为256,128和1),最终由输出层得到输出。
该动态图卷积神经网路中,直接输入点云的各类原始特征信息,包括三维坐标信息、甚至颜色、表面法线向量等等。由动态图卷积神经网路中的边缘卷积算子对每一个点以及在特征维度上距离该点相近的多个点构成的点集,计算出各个点集中的边缘特征,最后聚合起来进行卷积以及池化,作为各个点集的中心点的特征。多次进行边缘卷积操作后,最终把多次得到的特征拼接在一起再次进行卷积以及池化,得到一个全局特征。再把全局特征与之前的每一个点的特征拼接到一起,最后对每一个点的特征分别输入到全连接层中,经过多层全连接层后得到一个0到1的结果,该动态图卷积神经网络的输出与输入的下采样后的点云信息一一对应,该动态图卷积神经网络的输出归一化至0到1之间的数值,并定义数值越接近1则识别结果越倾向于该点为障碍物点。与传统的点云分割算法对比,使用神经网络对点云中的障碍物进行分割更具智能化,也更具有鲁棒性,能够更好地应对不同的障碍物情况。
s3、根据识别结果,提取出点云中相对应的属于障碍物的点,并针对上述障碍物的点计算出障碍物的运动信息,辅助机器人作出运动判断。
本实施例步骤s3中,提取出点云中相对应的属于障碍物的点,得到各个障碍物点的三维信息,利用各个障碍物点的三维信息的平均值替代作为障碍物的重心位置,其中,在某一时刻j,障碍物点的三维信息的平均值计算公式如下:
上式中,
根据相邻时刻得到的障碍物点重心位置采用逐差法计算各个障碍物点的运动速度与加速度:
其中,上标j代表有时间顺序的第j个时刻所对应的场景点云,
通过障碍物的运动速度与加速度预测障碍物运动轨迹。
综上所述,本实施例中使用所有障碍物点的数目判断出障碍物的大致体积,同时,使用各个障碍物点的各坐标极差值来判断障碍物体的大致形状;上述信息最终辅助机器人作出运动控制判断。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。