[0005] 本发明的目的在于克服现有技术的缺陷,提供一种机器人自动排障方法,该排障方法能根据选择进行自主或人工工作,通过视觉系统智能化判断障碍物,可依据指令进行360度全方向移动,利用视觉反馈保证机器人机器臂的控制精度,智能化程度高,灵活性好。
[0006] 为了解决上述技术问题,本发明采用以下技术方案。
[0007] 本发明的一种机器人自动排障方法,所述的机器人包括全向移动底盘、机械手排障装置、图像采集装置、机器人控制系统;所述的全向移动底盘包括Mecanum轮、减速电机、H型悬架、车身、避震器;
[0008] 所述的车身:设置有机器人控制系统、内嵌显示屏、四周装有测距传感器;所述车身通过H型悬架与Mecanum轮及减速电机相连;
[0009] 所述的机械手排障装置包括末端执行机构、六自由度机械臂,所述六自由度机械臂安装在车身的顶部前端;所述末端执行机构上设置有视觉标识物;
[0010] 所述的图像采集装置包括固定在车身下面的支架、安装在支架上面的双目摄像机;图像采集装置可通过支架来调节双目摄像机的位置,并将图像实时传输给控制系统处理分析;
[0011] 所述机器人控制系统设置有ARM处理器,通过无线网络与PC机进行通信;
[0012] 其特征在于:
[0013] 所述机器人控制系统包括欠压报警模块,图像采集模块,测距模块,驱动模块,所述欠压报警装置用以对电源检测并作欠压提示,所述图像采集模块用以将双目摄像机采集图像信号传输给控制系统和PC机处理;所述测距模块用以检测在机械手操作空间范围的物体并给控制系统触发信号停止前进,所述驱动模块用以驱动电机使机器人实现全向移动;
[0014] 所述方法包括以下步骤:
[0015] 步骤1,开启机器人控制系统,并选择其工作模式,通过对末端执行机构上视觉标识物的角点检测,利用视觉反馈对六自由度机械臂的初始化位置进行确定;
[0016] 步骤2,首先进行排障工作模式选择:包括自主控制和人工模式;然后所述的ARM处理器对步骤1所获取图像进行初步处理分析以获取抓取点坐标,并将该图像实时传输给PC机进行进一步处理分析识别,以便获得判断结果;
[0017] 步骤3,PC机与ARM通信并传输所述的判断结果,机器人控制系统依据该判断结果进行下一步工作;
[0018] 步骤4,在排障作业过程中,通过对末端执行机构上视觉标识物的角点检测,利用视觉反馈控制六自由度机械臂趋近并抓取目标物。
[0019] 所述步骤1具体包括:
[0020] S11:首先对双目摄像机进行标定,并获取双目摄像机内外参数,建立图像坐标系与世界坐标系的转换关系,确定六自由度机械臂初始化位置O(x1,y1,z1);
[0021] S12:开启机器人控制系统,对末端执行机构上视觉标识物进行角点检测,计算出与初始位置M(x2,y2,z3)的偏差(Δx,Δy,Δz),并反馈给机器人控制系统形成视觉闭环控制回路以控制六自由度机械臂准确到达初始位置。
[0022] 在所述步骤2中,若排障工作模式选择为人工时,其过程包括:
[0023] S22、ARM处理器对图像进行第一步处理分析以获取抓取点坐标,其过程为:
[0024] S221、利用DP算法获得大致轮廓;
[0025] S222、对视差图像进行二值化分割,再进行闭运算,然后再计算障碍物的凸包,求出凸包面积,对面积小于阈值的障碍物进行去噪;
[0026] S223、对轮廓横纵坐标进行加权处理继而获得一个图像点二维坐标;
[0027] S224、将图像点二维坐标转换为机械臂三维坐标T(x,y,z);
[0028] S225、遍历所有y值,选择最小的作为抓取点坐标;
[0029] S225、对y值设置了阈值Ny,若|y|<Ny,则横向右移,移动时间若|y|>Ny,则横向左移,移动时间
其中W1、W2、W3、W4为全向移动底盘(10)的四个Mecanum轮(12)转速;
[0030] S226、将判断结果直接设置为“1”,即抓取点坐标位置为人工在图像上确定的点三维坐标。
[0031] 进一步的,在所述步骤2中,若排障工作模式选择为自主控制时,其过程包括:
[0032] S22、ARM处理器对图像进行第一步处理分析以获取抓取点坐标,其过程为:
[0033] S221、利用一个DP算法获得大致轮廓;
[0034] S222、对视差图像进行二值化分割,再进行闭运算,然后再计算障碍物的凸包,求出凸包面积,对面积小于阈值的障碍物进行去噪;
[0035] S223、对轮廓横纵坐标进行加权处理继而获得一个图像点二维坐标;
[0036] S224、将图像点二维坐标转换为机械臂三维坐标T(x,y,z);
[0037] S225、遍历所有y值,选择最小的作为抓取点坐标;
[0038] S225、对y值设置了阈值Ny,若|y|<Ny,则横向右移,移动时间若|y|>Ny,则横向左移,移动时间
其中W1、W2、W3、W4为全向移动底盘(10)的四个Mecanum轮(12)转速;
[0039] S23、在ARM处理器将所述图像实时传输给PC机后,PC机进行进一步处理分析识别获得识别结果,其过程包括:采用了改进Canny与SIFT组合算法进行特征点提取,进而作为输入进入一个模糊神经网络中进行图像识别,所述的改进Canny与SIFT组合算法包括以下步骤:
[0040] (1)尺度空间极值检测:通过不同尺度因子的高斯核函数的差分和图像的卷积得到,计算公式为:
[0041] D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)
[0042] =L(x,y,kσ)-L(x,y,σ)
[0043] 式中,D(x,y)为高斯差分尺度空间, 为一个变化尺度的高斯函数,L(x,y)为一个图像的尺度空间,I(x,y)为图像数据,*为卷积,k为相邻尺度空间倍数的常数,σ是尺度空间因子;
[0044] (2)检测尺度空间中的关键点:将尺度空间上的每个特征点与周围以及上下层共26个邻域点比较,如果此点为最大或是最小点,则确定为关键点,否则舍弃;
[0045] (3)边缘检测算法获得边缘点:采用各向异性高斯滤波器进行去噪工作平滑图像,采用与所述关键点检测相同的5X5领域计算梯度幅值和方向,通过线性插值进行非极大值抑制,运用Ostu自适应设定高低阈值,对经过非极大抑制后的梯度图像检测和连接边缘得到边缘点;
[0046] (4)精确关键点:对上述两步中的关键点和边缘点进行比较,判断是否去除关键点;
[0047] S231、对检测出的候选关键点,利用高斯函数滤掉一部分边缘响应点,然后再计算每一个特征点在原图中的位置;
[0048] S232、对检测出的每一个边缘点计算出其3X3临域内的位置点;
[0049] S233、对在S231和S232两步中所述的关键点与边缘点进行比较,判断位置坐标是否相等,若相等则舍弃关键点;若不相等则将关键点继续与边缘点和领域点集比较,若相等则舍弃,不相等则关键点继续与步骤S32检测出其它边缘点位置比较,相等则舍弃,否则保留;
[0050] S234、得到的特征点集作为输入进入模糊神经网络进行图像识别以获得判断结果。
[0051] 所述步骤3具体包括:
[0052] S31、PC机将判断结果传输给机器人控制系统,机器人控制系统若接受到的判断结果为"0"则返回步骤2,若接受到“1”则进行步骤S32;
[0053] S32、机器人控制系统利用逆向运动学原理,求解得到各关节指令以控制六自由度机械臂进行作业。
[0054] 与现有技术相比,本发明包括以下优点和有益效果:
[0055] 1.本发明的一种机器人自动排障方法,能根据需要进行工作模式选择,功能多样化;在自主控制模式时,利用视觉反馈对机械手进行自主控制,提高了机器人运动控制效率以及机械手重复定位精度;在图像采集上,有效地解决了复杂背景图像对目标物识别的干扰问题,提高了识别精度,确保了障碍物信息的精准性,且保证了机器人排障时机械手控制的准确性;能够智能化判断障碍物,提高了工作效率,具有较高的智能性;全向移动的特性确保了机器人能在狭小空间进行作业,灵活性好。
[0056] 2.本发明在图像分析处理中,采用改进Canny与SIFT组合算法进行特征点提取,进而作为输入进入模糊神经网络中进行图像识别。该算法与传统检测算法相比,有利于在复杂环境中检测目标,提高了特征提取的抗噪声能力,检测效果好。