一种自动捡球机器人系统及控制方法与流程

文档序号:14837977发布日期:2018-06-30 13:13阅读:2876来源:国知局
一种自动捡球机器人系统及控制方法与流程

本发明涉及机器人系统及控制方法,具体涉及一种自动捡球机器人系统及控制方法。



背景技术:

随着社会科技文明的不断发展,智能化逐渐走进人们日常生活中,由于人们惰性带来的一系列身体问题逐渐引起人们对体育运动的重视。如果能将体育运动中一些服务性的工作交给机器人来完成,那么体育运动就达到了一种自动化加娱乐性双重效果了。近年来,随着移动机器人的迅速发展,现今的各种球类设施中,发球机鳞次栉比,然而智能捡球机却比较少,市场上尽管有捡球机,但它们普遍有一些明显的缺点。首先需人为操控;其次目前市场上的捡球机体积较为庞大,无法在室内工作,也大大降低了它的灵活度,显得较为笨重;最后,当前的捡球机一般造价较为昂贵,维护和保养成本较高,只适合大型运动场所使用,其目标群体较小,不适合大众消费。

专利“自动捡球机器人,申请号CN201410857983.0”公开一种自动捡球机器人,包括有机体、设于有机体上的收取装置及回收装置,收取装置与回收装置之间通过传送装置衔接,机体上设有车轮、万向轮及传动件驱动机构。该发明专利无需人工操作,节省了运动员在训练或比赛时因捡球而浪费的体力。

专利“球场捡球机器人,申请号CN201410337246.8”公开一种球场捡球机器人,包括信息采集模块、执行模块、控制模块。该发明所述的捡球机器人使用不受场地建设的影响,体积小,造价便宜,可以在不用人监督的情况完成目标任务,能够节省人力。

上述发明专利中,捡球机器人体积较大,灵活度低,且对方向控制、速度控制方面不完善,再者机器人缺乏最佳的路径规划路线和避障方法。



技术实现要素:

本发明目的在于解决现有的捡球机器人体积较大,灵活性低的问题,提供一种自动捡球机器人系统及方法,通过对其周围环境中的目标球信息的获取,以及排除周围环境的图像干扰,然后对各传感器数据进行融合分析处理,由控制器规划好路径,继而发出各项指令,以完成机器人自动识别小球、收集小球的一系列动作指令。

为解决上述技术问题,本发明采用如下的技术方案:

一种自动捡球机器人系统包括控制器模块、摄像机标定模块、图像处理模块、舵机驱动模块。其中:

所述控制器模块作为本发系统的核心,对其他模块相连并发送消息进行控制,以完成机器人自动识别小球、路径规划、收集小球的一系列动作指令。

所述摄像机标定模块包括摄像机,用于对所述摄像机的内外参数的标定。

所述图像处理模块使用所述摄像机获取机器人周围环境信息并对图像进行色彩空间变化、小球区域定位、障碍物区域计算等操作,并计算出机械手捕捉小球所需角度及位置并传输至舵机驱动控制模块;

所述舵机驱动模块包括机械手、舵机,用于根据角度和位置驱动舵机从而带动机械手进行小球捕捉。

一种自动捡球机器人控制方法具体包括以下步骤:

S1,对摄像机进行内外参数的标定;

S2,图像进行处理,包括图像二值化、膨胀腐蚀、小球区域定位操作,并计算出机械手捕捉小球所需角度及位置;

S3,根据角度和位置驱动舵机从而带动机械手进行小球捕捉。

本发明与现有技术相比具有以下的有益效果:

本发明方案利用摄像机捕捉小球图像,再使用图像处理方法定位小球区域,计算出机械手捕捉小球所需角度及位置,实现小球的识别和自动捕捉避障,有效解决了捡球机器人体积较大,灵活度低,且对方向控制、速度控制方面不完善的问题。

附图说明

图1为本发明的一种自动捡球机器人系统的结构设计图。

图2为本发明的一种自动捡球机器人控制方法的流程图。

图3是机器手臂运动角度示意图。

具体实施方式

如图1所示,本发明的一种自动捡球机器人系统包括控制器模块10、摄像机标定模块20、图像处理模块30、舵机驱动模块40。其中:

所述控制器模块10作为本发系统的核心,对其他模块相连并发送消息进行控制,以完成机器人自动识别小球、路径规划、收集小球的一系列动作指令。

所述摄像机标定模块20包括摄像机201,用于对所述摄像机201的内外参数的标定。

所述图像处理模块30使用所述摄像机201获取机器人周围环境信息并对图像进行色彩空间变化、小球区域定位、障碍物区域计算等操作,并计算出机械手捕捉小球所需角度及位置并传输至舵机驱动控制模块40;

所述舵机驱动模块40包括机械手401、舵机402,用于根据角度和位置驱动舵机从而带动机械手进行小球捕捉。

如图2所示,本发明的一种自动捡球机器人控制方法,包括以下步骤:

S1,对摄像机进行内外参数的标定;

为了实现对目标物体的精确定位,首先需要对摄像机进行标定。本实施例采用了张正友棋盘标定法,在标定时,摄像机模型采用针孔模型,其定义如下:

sm=A[R t]M, (1)

式中,(XW,YW,ZW)为世界坐标系下某点坐标;(u,v)为(XW,YW,ZW)点投影在图像平面的坐标;s为物体在摄像机坐标系中的坐标;A为摄像机内参数矩阵;[R t]为外参数矩阵,R为旋转矩阵,t为平移矩阵;M为世界坐标系下某点齐次坐标;fx,fy分别为摄像头在x,y轴上的焦距;Cx,Cy分别为摄像机焦点与成像平面中心点偏移值。

内参数矩阵是描述摄像机坐标系与图像坐标系之间的关系,利用内参数可以计算出图像坐标系的某点对应于摄像机坐标系的点,其计算如下:

式中,(XC,YC)为RGB图像中某点在摄像机坐标系的坐标,ZC为对应于该点深度图像中的深度值。

利用式(3)和(4)可以实现求取图像平面任意一点摄像机坐标系下3维坐标。为了实现机械手对物体的抓取,往往需要将摄像机坐标系下的3维坐标转换到机械臂基坐标系,因此需要计算出摄像机坐标系与机械臂基坐标系(式(2)中的世界坐标系)的关系,即外参数矩阵

式中,为机械臂末端坐标系到摄像头坐标系的转换关系,为机械臂末端坐标系到机械臂基坐标系的转换关系。

摄像机坐标系的点转换到机械臂基坐标系时表示为

在标定时,将棋盘放置在机械臂末端上,利用式(5)中机械末端坐标系与机械臂基坐标系之间的转换关系计算并记录下在不同视角下各个角点对应机械臂基坐标系下的坐标,从而计算出内外参数。

在实际标定过程中,为了得到高质量的结果,至少需要选取10幅7×8或者更大棋盘的图像。

S2,对图像进行处理,包括图像二值化、膨胀腐蚀、小球区域定位操作,并计算出机械手捕捉小球所需角度及位置,具体包括:

S21,图像二值化:标定完成后,用最大类间方差法进行图像二值化,将图像的前景与背景进行分割,过程为:

(1)设图像共有L个灰度级,灰度值为i的像素点共有ni个,图像共有N个像素点,归一化灰度直方图,令

(2)设定一个阈值t,根据灰度值将像素点分成c0和c1两类。c0的概率ω0、均值μ0:

c1的概率ω1、均值μ1:

其中,由此可知c0和c1的类间方差σ2(t)为:

σ2(t)=ω0(μ-μ0)2+ω1(μ1-μ)2 (11)

于是将t从0到i进行取值,当σ取最大值时t为最佳阈值,即可得到最佳的二值化图像。

S22,对图像进行膨胀与腐蚀:将二值化图像进行膨胀与腐蚀处理,分别达到填补图像的空洞部分和消除图像小且无意义的部分的效果。

膨胀算法具体如下:

(1)用3x3的结构元素,扫描图像的每一个像素;

(2)用结构元素与其覆盖的二值图像做“或”操作;

(3)如果都为0,结果图像的该像素为0。否则为1。

结果可以使二值图像扩大一圈。

腐蚀算法具体如下:

(1)用3x3的结构元素,扫描图像的每一个像素;

(2)用结构元素与其覆盖的二值图像做“与”操作;

(3)如果都为1,结果图像的该像素为1。否则为0。

结果可以使二值图像减小一圈。

S23,小球区域定位:将二维图像分为小球区域和背景区域,使用Otsu最大类间方差法进行分割,即将图像区域根据颜色聚类,分成小球和背景两种类别,计算两种类别颜色的类内方差和类间方差,设定分割阈值为使得类间方差和类内方差最大时的阈值。此时根据阈值分割得到的区域即是小球区域和背景区域。对小球区域内所有像素点的x和y求平均值,得到ave_x和ave_y,则(ave_x,ave_y)为小球区域在画面中的质心的坐标,就是小球的中心。最后,保存计算得到的小球区域的质心坐标ave_x和ave_y,以及目标面积。

S3,根据角度和位置驱动舵机从而带动机械手进行小球捕捉:获基于C空间对小球建立数学模型,根据Kinect相机得到的小球三维景深空间信息,结合采摘机械手运动学原理,求出机械手臂的运动范围θ,就可以成功捕捉小球。机器手臂运动角度参照图3。

具体的C空间计算公式为:

其中,l1、l2分别为机械长短手臂的长度;θ2ta与θ2ba分别为机械执行手臂角度θ2的最大最小角度;d为机械手臂的连杆偏移量,x,y,z分别为三维空间坐标点。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1