本发明涉及机器人自动控制技术领域,尤其涉及一种机器人作业过程中的自动控制方法及装置。
背景技术:
随着机器人技术的逐渐成熟,机器人被广泛应用于生产线上的、工业服务上,室内移动客户服务以及危险作业等;但是现有的机器人中需要采用各种复杂的定位算法以及各种复杂的控制算法才能实现对机器人的较为精确的位姿控制;这样导致需要机器人内置较高的硬件配置和软件配置才能在预定的时间内快速完成,导致机器人的使用成本较高。
技术实现要素:
本发明的目的在于克服现有技术的不足,本发明提供了一种机器人作业过程中的自动控制方法及装置,可以实现机器人在作业过程中的自动控制,降低对机器人的控制成本。
为了解决上述技术问题,本发明实施例提供了一种机器人作业过程中的自动控制方法,所述方法包括:
基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据;以及,
基于机器人里程计获取所述机器人的当前里程计位置数据;
基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息;
基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差;
所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令;
所述机器人基于所述控制指令自动控制驱动器进行位姿误差的调整。
可选的,所述基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据,包括:
基于激光传感器以及双目视频采集设备构建机器人在作业过程中的当前作业环境的观察三维数据。
可选的,所述基于激光传感器以及双目视频采集设备构建机器人在作业过程中的当前作业环境的观察三维数据,包括:
基于所述激光传感器采集所述机器人至当前作业环境下周围物体的距离信息和角度信息;
基于所述双目视频采集设备对采集的视频图像构成出观测场景的视觉差图;
基于所述观测场景的视觉差图确定环境空间结构图;
基于所述距离信息、角度信息以及环境空间结构图构建出所述机器人在作业过程中的当前作业环境的观察三维数据。
可选的,所述基于机器人里程计获取所述机器人的当前里程计位置数据,包括:
所述机器人读取当前里程计的里程数据;
基于所述当前里程计的里程数据结合所述机器人内置地图信息获得当前里程计位置数据。
可选的,所述基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息,包括:
将所述观察三维数据融合至所述机器人内置地图信息,构建所述机器人内置三维地图信息;
将所述当前里程计位置数据重新导入所述机器人内置三维地图信息中,获得所述机器人的当前位姿信息。
可选的,所述基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差,包括:
基于所述机器人的当前位姿信息在机器人内置地图上构建直角坐标系,获得所述机器人在直角坐标系中的坐标位置及位置朝向;
获取当前给定的目标位置在之间坐标系上的坐标位置和位置朝向;
基于所述机器人在直角坐标系中的坐标位置及位置朝向与当前给定的目标位置在之间坐标系上的坐标位置和位置朝向进行误差计算,获得所述机器人的位姿误差。
可选的,所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令,包括:
所述机器人的控制器解析所述位姿误差获得距离误差值和方位误差值;
所述机器人的控制器基于所述距离误差值和方位误差值生成用于控制所述机器人的控制指令。
另外,本发明实施例还提供了一种机器人作业过程中的自动控制装置,所述装置包括:
构建模块:用于基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据;以及,
位置数据获取模块:用于基于机器人里程计获取所述机器人的当前里程计位置数据;
位姿信息获取模块:用于基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息;
误差计算模块:用于基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差;
控制指令生成模块:用于所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令;
调整模块:用于所述机器人基于所述控制指令自动控制驱动器进行位姿误差的调整。
在本发明实施例中,基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据;以及,基于机器人里程计获取所述机器人的当前里程计位置数据;基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息;基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差;所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令;所述机器人基于所述控制指令自动控制驱动器进行位姿误差的调整;可以实现机器人在作业过程中的自动控制,降低对机器人的控制成本,并且在无需增加机器人的硬件成本和软件成本的情况下,保证自动控制的速度以及准确度;降低对机器人的使用成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的机器人作业过程中的自动控制方法的流程示意图;
图2是本发明实施例中的机器人作业过程中的自动控制装置的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例
请参阅图1,图1是本发明实施例中的机器人作业过程中的自动控制方法的流程示意图。
如图1所示,一种机器人作业过程中的自动控制方法,所述方法包括:
s11:基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据;
在本发明具体实施过程中,所述基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据,包括:基于激光传感器以及双目视频采集设备构建机器人在作业过程中的当前作业环境的观察三维数据。
进一步的,所述基于激光传感器以及双目视频采集设备构建机器人在作业过程中的当前作业环境的观察三维数据,包括:基于所述激光传感器采集所述机器人至当前作业环境下周围物体的距离信息和角度信息;基于所述双目视频采集设备对采集的视频图像构成出观测场景的视觉差图;基于所述观测场景的视觉差图确定环境空间结构图;基于所述距离信息、角度信息以及环境空间结构图构建出所述机器人在作业过程中的当前作业环境的观察三维数据。
具体的,通过激光传感器和双目视频采集设备采集的数据构建机器人在作业过程中的当前作业环境的观察三维数据;具体是通过激光传感器采集机器人至当前作业环境下周围物体的距离信息和角度信息;然后通过双目视频采集设备对采集的视频图像构成出观测场景的视觉差图;通过该观测场景的视觉差图确定环境空间结构图,并根据距离信息、角度信息以及环境空间结构图构建出所述机器人在作业过程中的当前作业环境的观察三维数据。
在构建视觉差图之前,需要对图像预处理,以利于生成更为明显的视觉差图,在经过大量测试后,高斯滤波算法具有很好的效果,经过高斯滤波后图像纹理明显增强。本领域内技术人员可以理解,为了生成更好的视差图,不排除使用其他预处理算法。以双目视频采集设备建立坐标系,并作为坐标系的原点为左摄像头投影中心,x轴由原点指向右摄像头投影中心,z轴垂直于摄像机成像平面指向前方,y轴垂直于x-z平面箭头向下;经过高斯滤波算法,在经过匹配而得到的视觉差图,视差图上每一个值代表位于摄像头前的某一距离值。视觉差越大表示距离越近,其中灰度值越大的区域亮度越高,表示与摄像头的相对距离越近;在获得视差图后,首先将视觉差图上所有像素点的值归一化到0~255范围内,然后遍历整个视差图,统计每个视差值出现的次数,视差在预设范围内的像素点总个数超过预设阈值时则认为可能是障碍物,例如在占有图片四分之一范围内的同一个像素值的像素点个数为超过100个为障碍物。利用该障碍物判断方法可以检测出障碍物,从而有效避障。在本发明实施例中,可以利用基于傅里叶变换的图像拼接算法,例如两个相邻方向的阻碍壁的图像拼接算法,此算法对两幅待拼接的数字图像进行二维离散傅里叶变换,从而构建观测场景的视觉差图。
s12:基于机器人里程计获取所述机器人的当前里程计位置数据;
在本发明具体实施过程中,所述基于机器人里程计获取所述机器人的当前里程计位置数据,包括:所述机器人读取当前里程计的里程数据;基于所述当前里程计的里程数据集合所述机器人内置地图信息获得当前里程计位置数据。
具体的,通过机器人内置的数据读取程序读取当前里程计的里程数据,并且调用机器人内置的地图信息;将当前里程计的里程数据结合机器人内置地图信息获得当前里程计位置数据。
即通过将当前里程计的里程数据映射在机器人内置地图信息,通过机器人内置地图信息来确定当前里程计位置数据。
s13:基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息;
在本发明具体实施过程中,所述基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息,包括:将所述观察三维数据融合至所述机器人内置地图信息,构建所述机器人内置三维地图信息;将所述当前里程计位置数据重新导入所述机器人内置三维地图信息中,获得所述机器人的当前位姿信息。
具体的,首先读取机器人内置地图信息,然后将观察三维数据融合至机器人内置地图信息中,从而构建机器人内置三维地图信息;然后将当前里程计位置数据重新导入机器人内置三维地图信息中,从而得到机器人的当前位姿信息。
s14:基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差;
在本发明具体实施过程中,所述基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差,包括:基于所述机器人的当前位姿信息在机器人内置地图上构建直角坐标系,获得所述机器人在直角坐标系中的坐标位置及位置朝向;获取当前给定的目标位置在之间坐标系上的坐标位置和位置朝向;基于所述机器人在直角坐标系中的坐标位置及位置朝向与当前给定的目标位置在之间坐标系上的坐标位置和位置朝向进行误差计算,获得所述机器人的位姿误差。
具体的,利用机器人的当前位姿信息在机器人内置地图上构建直角坐标系,并且以机器人的当前位姿信息作为坐标的原点,从而获得机器人在直角坐标系中的坐标位置及位置朝向;并且将当前给定的目标位置引入该坐标系内,从而获得当前给定的目标位置在之间坐标系上的坐标位置和位置朝向;然后利用机器人在直角坐标系中的坐标位置及位置朝向与当前给定的目标位置在之间坐标系上的坐标位置和位置朝向进行误差计算,即可获得机器人的位姿误差。
s15:所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令;
在本发明具体实施过程中,所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令,包括:所述机器人的控制器解析所述位姿误差获得距离误差值和方位误差值;所述机器人的控制器基于所述距离误差值和方位误差值生成用于控制所述机器人的控制指令。
具体的,机器人的控制器在接收到位姿误差之后,对位姿误差进行解析,从而获得位姿误差中的距离误差值和方位误差值;机器人的控制器根据距离误差值和方位误差值生成用于控制所述机器人的控制指令;该控制指令用于调整机器人相对于目标的方位和移动距离。
s16:所述机器人基于所述控制指令自动控制驱动器进行位姿误差的调整。
在本发明具体实施过程中,该机器人将生成的用于控制所述机器人的控制指令发送至对应的电机控制器中,在该电机控制器内解析该控制指令,然后根据该解析后的控制指令自动控制对应的电机驱动器驱动对应的电机进行位姿误差的调整。
在本发明实施例中,基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据;以及,基于机器人里程计获取所述机器人的当前里程计位置数据;基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息;基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差;所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令;所述机器人基于所述控制指令自动控制驱动器进行位姿误差的调整;可以实现机器人在作业过程中的自动控制,降低对机器人的控制成本,并且在无需增加机器人的硬件成本和软件成本的情况下,保证自动控制的速度以及准确度;降低对机器人的使用成本。
实施例
请参阅图2,图2是本发明实施例中的机器人作业过程中的自动控制装置的结构组成示意图。
如图2所示,一种机器人作业过程中的自动控制装置,所述装置包括:
构建模块21:用于基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据;
在本发明具体实施过程中,所述基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据,包括:基于激光传感器以及双目视频采集设备构建机器人在作业过程中的当前作业环境的观察三维数据。
进一步的,所述基于激光传感器以及双目视频采集设备构建机器人在作业过程中的当前作业环境的观察三维数据,包括:基于所述激光传感器采集所述机器人至当前作业环境下周围物体的距离信息和角度信息;基于所述双目视频采集设备对采集的视频图像构成出观测场景的视觉差图;基于所述观测场景的视觉差图确定环境空间结构图;基于所述距离信息、角度信息以及环境空间结构图构建出所述机器人在作业过程中的当前作业环境的观察三维数据。
具体的,通过激光传感器和双目视频采集设备采集的数据构建机器人在作业过程中的当前作业环境的观察三维数据;具体是通过激光传感器采集机器人至当前作业环境下周围物体的距离信息和角度信息;然后通过双目视频采集设备对采集的视频图像构成出观测场景的视觉差图;通过该观测场景的视觉差图确定环境空间结构图,并根据距离信息、角度信息以及环境空间结构图构建出所述机器人在作业过程中的当前作业环境的观察三维数据。
在构建视觉差图之前,需要对图像预处理,以利于生成更为明显的视觉差图,在经过大量测试后,高斯滤波算法具有很好的效果,经过高斯滤波后图像纹理明显增强。本领域内技术人员可以理解,为了生成更好的视差图,不排除使用其他预处理算法。以双目视频采集设备建立坐标系,并作为坐标系的原点为左摄像头投影中心,x轴由原点指向右摄像头投影中心,z轴垂直于摄像机成像平面指向前方,y轴垂直于x-z平面箭头向下;经过高斯滤波算法,在经过匹配而得到的视觉差图,视差图上每一个值代表位于摄像头前的某一距离值。视觉差越大表示距离越近,其中灰度值越大的区域亮度越高,表示与摄像头的相对距离越近;在获得视差图后,首先将视觉差图上所有像素点的值归一化到0~255范围内,然后遍历整个视差图,统计每个视差值出现的次数,视差在预设范围内的像素点总个数超过预设阈值时则认为可能是障碍物,例如在占有图片四分之一范围内的同一个像素值的像素点个数为超过100个为障碍物。利用该障碍物判断方法可以检测出障碍物,从而有效避障。在本发明实施例中,可以利用基于傅里叶变换的图像拼接算法,例如两个相邻方向的阻碍壁的图像拼接算法,此算法对两幅待拼接的数字图像进行二维离散傅里叶变换,从而构建观测场景的视觉差图。
位置数据获取模块22:用于基于机器人里程计获取所述机器人的当前里程计位置数据;
在本发明具体实施过程中,所述基于机器人里程计获取所述机器人的当前里程计位置数据,包括:所述机器人读取当前里程计的里程数据;基于所述当前里程计的里程数据集合所述机器人内置地图信息获得当前里程计位置数据。
具体的,通过机器人内置的数据读取程序读取当前里程计的里程数据,并且调用机器人内置的地图信息;将当前里程计的里程数据结合机器人内置地图信息获得当前里程计位置数据。
即通过将当前里程计的里程数据映射在机器人内置地图信息,通过机器人内置地图信息来确定当前里程计位置数据。
位姿信息获取模块23:用于基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息;
在本发明具体实施过程中,所述基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息,包括:将所述观察三维数据融合至所述机器人内置地图信息,构建所述机器人内置三维地图信息;将所述当前里程计位置数据重新导入所述机器人内置三维地图信息中,获得所述机器人的当前位姿信息。
具体的,首先读取机器人内置地图信息,然后将观察三维数据融合至机器人内置地图信息中,从而构建机器人内置三维地图信息;然后将当前里程计位置数据重新导入机器人内置三维地图信息中,从而得到机器人的当前位姿信息。
误差计算模块24:用于基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差;
在本发明具体实施过程中,所述基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差,包括:基于所述机器人的当前位姿信息在机器人内置地图上构建直角坐标系,获得所述机器人在直角坐标系中的坐标位置及位置朝向;获取当前给定的目标位置在之间坐标系上的坐标位置和位置朝向;基于所述机器人在直角坐标系中的坐标位置及位置朝向与当前给定的目标位置在之间坐标系上的坐标位置和位置朝向进行误差计算,获得所述机器人的位姿误差。
具体的,利用机器人的当前位姿信息在机器人内置地图上构建直角坐标系,并且以机器人的当前位姿信息作为坐标的原点,从而获得机器人在直角坐标系中的坐标位置及位置朝向;并且将当前给定的目标位置引入该坐标系内,从而获得当前给定的目标位置在之间坐标系上的坐标位置和位置朝向;然后利用机器人在直角坐标系中的坐标位置及位置朝向与当前给定的目标位置在之间坐标系上的坐标位置和位置朝向进行误差计算,即可获得机器人的位姿误差。
控制指令生成模块25:用于所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令;
在本发明具体实施过程中,所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令,包括:所述机器人的控制器解析所述位姿误差获得距离误差值和方位误差值;所述机器人的控制器基于所述距离误差值和方位误差值生成用于控制所述机器人的控制指令。
具体的,机器人的控制器在接收到位姿误差之后,对位姿误差进行解析,从而获得位姿误差中的距离误差值和方位误差值;机器人的控制器根据距离误差值和方位误差值生成用于控制所述机器人的控制指令;该控制指令用于调整机器人相对于目标的方位和移动距离。
调整模块26:用于所述机器人基于所述控制指令自动控制驱动器进行位姿误差的调整。
在本发明具体实施过程中,该机器人将生成的用于控制所述机器人的控制指令发送至对应的电机控制器中,在该电机控制器内解析该控制指令,然后根据该解析后的控制指令自动控制对应的电机驱动器驱动对应的电机进行位姿误差的调整。
在本发明实施例中,基于环境数据采集设备构建机器人在作业过程中的当前作业环境的观察三维数据;以及,基于机器人里程计获取所述机器人的当前里程计位置数据;基于所述观察三维数据以及当前里程计位置数据获得所述机器人的当前位姿信息;基于当前位姿信息和当前给定的目标位置进行误差计算,获得所述机器人的位姿误差;所述机器人的控制器基于所述机器人的位姿误差生成用于控制所述机器人的控制指令;所述机器人基于所述控制指令自动控制驱动器进行位姿误差的调整;可以实现机器人在作业过程中的自动控制,降低对机器人的控制成本,并且在无需增加机器人的硬件成本和软件成本的情况下,保证自动控制的速度以及准确度;降低对机器人的使用成本。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的一种机器人作业过程中的自动控制方法及装置进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。