基于TensorFlow的自动捡乒乓球机器人的制作方法

文档序号:12346705阅读:412来源:国知局
基于TensorFlow的自动捡乒乓球机器人的制作方法与工艺

本发明属于机器人领域,具体涉及一种基于TensorFlow的自动捡乒乓球机器人。



背景技术:

在乒乓球馆中的日常训练过程中,捡取散落在各处的乒乓球对于运动员而言是一件较为消耗体力的工作。而且据医疗统计研究,在剧烈运动过程中,频繁弯腰捡球会增大后期运动受伤的风险。

申请号为201410109219.5的发明专利公开了一种捡球机,其通过在抽吸管后段设有抽吸舱,将球吸入舱内,在球类运动过程中捡球操作简便、省时省力,且能够擦拭球体并抽吸菌尘,减轻了运动人员的工作难度。但是,由于该装置不能自动在乒乓球馆中巡航并发现球体,因此必须要依赖于人的操作,无法实现自动捡球。申请号为201510229859.4的发明专利公开了一种网球捡球机的捡球系统,该捡球系统通过中央处理器接收红外测距传感器的测量数据,并根据相关数据向驱动系统发出运动指令;然后通过驱动系统,在中央处理单元的驱动下实现捡球机的行走过程的变速与转弯。而其捡球装置,由二自由度机械臂和舵机驱动电路组成,采用二自由度机械臂完成夹球、运球和放球动作。该装置能够实现自动化捡球,但其机械臂适用于网球,针对乒乓球的捡球效果不佳,容易导致乒乓球因为压力而凹陷。因此,目前亟待于开发一种自动捡乒乓球的机器人。

随着科学技术的发展和人们生活水平的不断提高,智能手机几乎已经成为每个人的标配,但更多的使用也意味着更多的浪费,根据相关调查,人们平均换安卓智能手机的时间为2-3年左右,年轻人换新手机的频率更是在1-2年之间,频繁地更换意味着旧手机的产出正以很大的数量增长,而废置的旧手机往往被尘封或者被丢弃,这对环境的污染和硬件资源的浪费是十分巨大的。尤其是目前智能手机的运算能力每年均以极大的数量级增长,相当一部分手机的CPU运算能力已经可以跑大规模的算法,如果随意丢弃或者尘封,这显然是对资源的一种极大浪费。

2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,TensorFlow提供了多种系统下的样例(如Android、Linux、Windows等),安卓系统下的TensorFlow的应用引起了我们成员的注意,嵌入式设备如果能跑大规模复杂算法,这对于嵌入式设备的应用是一种极大的提升,而离我们身边的最近的嵌入式设备,就是我们的安卓智能手机。若能够将智能手机加以利用,就可以设计一种基于TensorFlow的自动捡乒乓球机器人。



技术实现要素:

本发明的目的在于提供一种基于TensorFlow的自动捡乒乓球机器人,所采用的具体技术方案如下:

基于TensorFlow的自动捡乒乓球机器人,包括车辆本体、单片机、舵机、电源、摆臂、球框和弹性绳;所述的车辆本体的前端铰接有摆臂;摆臂顶部固定有圆柱形球框,球框的前端开口,后端封闭,且在开口一侧的横截面上固定有若干条间隔排布的弹性绳,相邻两条弹性绳的间距小于待捡乒乓球的直径;弹性绳所处的横截面与球框开口所处的端面间距离小于待捡乒乓球半径的1/2;摆臂底部与舵机的动力输出轴连接,控制其旋转角度;舵机与单片机和电源相连。

作为优选,所述的车辆本体还设置有红外传感器、超声传感器和图像识别模块,红外传感器和超声传感器设置于车辆本体的前端,用于在车辆行进过程中检测与前方物体之间的距离;图像识别模块与单片机相连,用于采集前方图像并进行目标识别。

作为优选,所述的弹性绳处于预紧状态。

作为优选,所述的弹性绳均沿水平方向设置。

作为优选,所述的弹性绳的间距为待捡乒乓球直径的1/2~3/4。

作为优选,所述的图像识别模块采用搭载图像识别算法的智能手机,单片机上设置有蓝牙模块,智能手机通过自身所带的蓝牙连接蓝牙模块后,实现与单片机的数据交互。

进一步的,所述的图像识别算法基于谷歌的开源模型TensorFlow Inception V2,通过对乒乓球图像进行训练后,将训练好的算法移植到智能手机中,利用智能手机搭载的摄像头采集图像,并对图像中的乒乓球进行识别。

进一步的,自动捡乒乓球的方法如下:

机器人首先执行巡航状态:在整个场地中进行巡航,通过摄像头采集图像并识别是否有乒乓球,当识别到图像中乒乓球的存在时,切换到捡球状态;

捡球状态分为接近阶段和捡球阶段:

接近阶段:判断每个时刻乒乓球出现在摄像头采集的画面左侧还是右侧,若乒乓球出现在画面左侧,则车辆本体向左前方行驶以接近乒乓球;若乒乓球出现在画面右侧,则车辆本体向右前方行驶以接近乒乓球,保证乒乓球在车辆本体的正前方方向;

捡球阶段:驱动车辆本体向前移动,同时使用超声传感器和红外传感器测量乒乓球离车辆本体前端的实时距离,取两者平均距离确定车辆与球的实际距离;预先计算好球框中心到车前端的距离d,当车辆与球的实际距离介于0.9d~1.1d范围内时,停止移动并由单片机控制舵机带动摆臂向水平方向转动,使球框罩于乒乓球上,将乒乓球压入弹性绳之间的缝隙中;若执行一次捡球动作后,画面中乒乓球还位于捡球前的位置,则再次测量乒乓球离车辆本体前端的实时距离,若距离小于d则向后移动后再次执行捡球动作;若距离大于d则向前移动后再次执行捡球动作;捡球成功后若采集图像中还有其他乒乓球,则返回捡球状态的接近阶段继续捡下一个球,若图像中没有其他乒乓球,则转变为巡航状态。

再进一步的,机器人在巡航状态采用随机碰撞模式:机器人首先按一个默认方向前进,红外或超声波模块检测到前方障碍物后停止前进,后退一小段距离后转向130度,转弯方向为:如果检测到的障碍在机器人左前方则右转避障,如果检测到的障碍在机器人右前方则左转避障;机器人转弯后继续前进运动。

再进一步的,机器人在巡航状态采用耕地模式:机器人做默认向前的运动,遇到障碍物首先向右转90度,之后向前行走一定距离,然后再右转90度并向前行走,在下一次遇到障碍物时首先向左转90度,之后向前行走一定距离,然后再左转90度并向前行走;如此循环往复完成扫描遍历避障。

本发明通过特殊设计的捡球机构,实现了捡取乒乓球的高效自动化。而且,该机器人结构简单,成本较低。另外,与红外传感器、超声传感器和图像识别模块进行耦合后,能够实现在的大范围的场馆中巡航,自动捡球。最后,本发明还可以利用功能完整的废弃旧智能手机,以应用+底座+机械臂控制的方式实现自动捡球功能,不需要复杂接线,只需要设置好废弃旧智能手机搭载的算法中的参数后放入指定底座位置即可开始运行,发挥硬件资源的功能。

附图说明

图1为本发明中自动捡乒乓球的机器人的结构示意图;

图2为本发明中摆臂和球框组成的捡球机构示意图。

图中:车底座1、红外传感器2、超声传感器3、单片机4、蓝牙模块5、舵机6、底座7、电源8、摆臂9、球框10、图像识别模块11、弹性绳12和乒乓球13。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步阐述和说明。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。

如图1所示,一种自动捡乒乓球的机器人,包括车辆本体1、单片机4、舵机6、电源8、摆臂9、球框10和弹性绳12。车辆本体1为一辆由电力驱动的微型车,具有底盘和四个车轮,底盘的上方平面可以作为各配置组件的搭载平台。底盘上靠近前进方向的前端部位,铰接有两条摆臂9。如图2所示,两条摆臂9顶部固定有用于容纳收集的乒乓球的球框10。球框10呈圆柱形,前端开口,后端封闭,且在开口一侧的横截面上固定有若干条弹性绳12。弹性绳可采用橡皮筋或者其他具有弹性的条带。弹性绳12间隔排布,相互平行,能够覆盖整个球框10的横截面。相邻两条弹性绳12的间距需要小于待捡乒乓球的直径,一般可设置间距为待捡乒乓球直径的1/2~3/4,该间距下能够较好地将乒乓球13卡入间隙内。弹性绳12所处的横截面与球框10开口所处的端面间距离小于待捡乒乓球半径的1/2,因此当球框10接触地面时,乒乓球的横截面最大处能够进入两条弹性绳12之间,实现乒乓球的收集。摆臂9底部与舵机6的动力输出轴连接,控制其旋转角度;舵机6与单片机4和电源8相连。电源8也作为车辆本体1的车轮行进动力,整个系统用两节3.7V的18650锂电池供电。单片机4同时也控制车轮的运动。

由于乒乓球本身的特点,不能承受较高的压力,否则会导致其球体凹陷,上述捕捉结构完美地解决了乒乓球的捡取问题。

该机器人的捡球过程为:摆臂9常规状态下,处于垂直方向。需要捡球时,车辆本体1在单片机4的控制下,以朝着乒乓球的方向前进,当靠近乒乓球时,由单片机4控制舵机6旋转,使摆臂9下放,球框10开口处倒向乒乓球,乒乓球卡入两条弹性绳12之间,当乒乓球的横截面最大处通过弹性绳12后,乒乓球便被收集于球框10内。由于乒乓球质量较轻,在后续的收集过程中也无法突破弹性绳12的阻力重新掉出。为了更好地实现捡球,弹性绳12需要处于预紧状态,预紧力不能过大,也不能过小,可以根据多次试验结果进行调整。理论上,弹性绳12的方向可以朝任意的径向设置,但是试验表面,在摆臂垂直状态下,弹性绳12沿水平方向设置是捡球效果最佳的,此时当摆臂下方时,弹性绳方向与车辆行进方向垂直。

上述方案仅能够实现乒乓球的半自动收集,因为车辆无法自动巡航并定位乒乓球位置,因此可考虑增加图像识别模块。在另一实施例中,车辆本体1上还设置有红外传感器2、超声传感器3和图像识别模块11,其均与单片机相连进行数据交互。红外传感器2和超声传感器3设置于车辆本体1的前端,用于在车辆行进过程中检测与前方物体之间的距离。图像识别模块11放置于底座7上,与单片机4相连,以便采集前方图像并进行目标识别。当图像识别模块11检测到乒乓球的存在时,单片机4驱动车轮朝乒乓球目标方向移动,并在移动过程中通过红外传感器2、超声传感器3同时检测距离乒乓球的距离。当靠近球时,自动执行捡球动作。使用两种传感器的原因是:红外传感器速度快精度高,但是对于光线条件敏感。超声传感器速度慢精度低,但是不会受到光线条件影响。同时使用两种传感器可以相互进行校验,不会产生较大误差。当然,行进过程中也需要通过两个传感器检测障碍,只要其中一个检测到障碍就执行避障程序,可以提高避障效率。在本实施例中,单片机4型号为STM32F103ZET6。

图像识别模块11可以采用市售产品,也可以直接用现有的智能手机代替,通过图1中的蓝牙模块5与单片机相连,以减少成本。在另一实施例中,图像识别模块11采用搭载图像识别算法的智能手机,单片机4上设置有蓝牙模块5,智能手机通过自身所带的蓝牙连接蓝牙模块5后,实现与单片机4的数据交互。手机中搭载的图像识别算法基于谷歌的开源模型TensorFlow Inception V2,通过对乒乓球图像进行训练后,将训练好的算法可以APP形式移植到智能手机中,利用智能手机搭载的摄像头采集图像,并对图像中的乒乓球进行识别。训练后的模型对乒乓球的识别率可达99%以上。

基于TensorFlow的自动捡乒乓球机器人自动捡乒乓球的方法如下:

机器人启动后有两种状态:巡航状态和捡球状态。

机器人首先执行巡航状态:在整个场地中进行巡航,通过摄像头采集图像并识别是否有乒乓球,当识别到图像中乒乓球的存在时,切换到捡球状态;

机器人在巡航状态可采用随机碰撞模式和耕地模式:

随机碰撞模式:机器人首先按一个默认方向前进,红外或超声波模块检测到前方障碍物后停止前进,后退一小段距离后转向130度,转弯方向为:如果检测到的障碍在机器人左前方则右转避障,如果检测到的障碍在机器人右前方则左转避障;机器人转弯后继续前进运动。

耕地模式:机器人做默认向前的运动,遇到障碍物首先向右转90度,之后向前行走一定距离(如30cm),然后再右转90度并向前行走,在下一次遇到障碍物时首先向左转90度,之后向前行走一定距离(如30cm),然后再左转90度并向前行走;如此循环往复完成扫描遍历避障。

捡球状态分为接近阶段和捡球阶段:

接近阶段:判断每个时刻乒乓球出现在摄像头采集的画面左侧还是右侧,若乒乓球出现在画面左侧,则车辆本体1向左前方行驶以接近乒乓球;若乒乓球出现在画面右侧,则车辆本体1向右前方行驶以接近乒乓球,保证乒乓球在车辆本体1的正前方方向。

捡球阶段:调整乒乓球在车辆本体1的正前方方向后,驱动车辆本体1向前移动,同时使用超声传感器和红外传感器测量乒乓球离车辆本体1前端的实时距离,取两者平均距离确定车辆与球的实际距离;预先计算好球框中心到车前端的距离d,当车辆与球的实际距离介于0.9d~1.1d范围内时,停止移动并由单片机4控制舵机6带动摆臂9向水平方向转动,使球框10罩于乒乓球上,将乒乓球压入弹性绳12之间的缝隙中。由于球框大小的限制,只有乒乓球位于小车前方一段距离内才能被捡取,而手机的视觉识别距离可能与乒乓球捡取距离不匹配,所以我们需要捡球微调算法。若执行一次捡球动作后,画面中乒乓球还位于捡球前的位置,则再次测量乒乓球离车辆本体1前端的实时距离,若距离小于d则向后移动(如0.1d)后再次执行捡球动作;若距离大于d则向前移动(如0.1d)后再次执行捡球动作;捡球成功后若采集图像中还有其他乒乓球,则返回捡球状态的接近阶段继续捡下一个球,若图像中没有其他乒乓球,则转变为巡航状态。

以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

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