一种基于OpenCV图像识别算法的智能捡球机器人的制作方法

文档序号:12717377阅读:456来源:国知局
一种基于OpenCV图像识别算法的智能捡球机器人的制作方法与工艺

本发明涉及机器人技术领域,尤其涉及一种基于OpenCV图像识别算法的智能捡球机器人。



背景技术:

球类运动是一种优雅时尚的运动,当下国内也有越来越多的人们开始接触球类运动。然而,球类运动一大让人烦恼的问题便是捡球,捡球会耗费人们大量的时间以及体力,目前用来辅助人们捡球的大多数是一些需要人来操作的器械,在球场地较大、球散落范围较大时会有很大的不便。

智能捡球机器人的出现有利于提高人们的运动体验,因此设计一种可以用于控制智能捡球机器人的控制电路具有非常重要的意义。



技术实现要素:

针对上述背景,本发明提供一种基于OpenCV图像识别算法的智能捡球机器人。

为了达到上述目的,本发明所采用的技术方案如下:一种基于OpenCV图像识别算法的智能捡球机器人,所述机器人包括底板,所述底板为凹字形,所述底板前端左右两侧对称安装有万向轮,底板后端左右两侧对称安装有直流减速电机,直流减速电机的输出轴上安装有驱动轮;所述底板的前端横架有横梁,所述横梁上沿横梁长度方向均匀铰接若干止出装置;

所述底板的下表面左右两侧均固定有一个第一储球挡板,两个第一储球挡板之间固定有第二储球挡板;所述两个第一储球挡板、第二储球挡板以及捡球挡板围成储球室;

所述底板的上表面支撑有摄像头识别模块,所述摄像头识别模块包括摄像头以及与摄像头相连的树莓派;摄像头通过舵机云台支撑在底板的上表面,底板的前端左右两侧均安装有超声波测距传感器,底板上安装有电路板,所述直流减速电机、树莓派、舵机云台以及超声波测距传感器均与电路板相连。

进一步的,所述止出装置主要由若干捡球挡板的一端同轴铰接而成,每个捡球挡板上均旋接有螺栓。

进一步的,所述电路板2包括5V电源模块、超声波接口模块、舵机接口模块、人机交互模块、电机驱动模块、微处理器模块;

所述5V电源模块包括电源输入座J1,摇杆开关S1、稳压芯片U2、非极性电容C5、C7和极性电容C4、C6;电源输入座J1的第一端口连接外部电源的正极,电源输入座J1的第二端口连接外部电源的地;摇杆开关S1的电池正极端口与电源输入座J1的第一端口相连,摇杆开关S1的电源正极端口与稳压芯片U2的电源正极端口相连,摇杆开关S1的接地端口以及稳压芯片U2的接地端口均与电源输入座J1的第二端口相连;电容C4的正极、电容C5的一端均与摇杆开关S1的电源正极端口相连,电容C6的正极、电容C7的一端均与稳压芯片U2的输出端口相连,稳压芯片U2的输出端口作为电源模块的5V输出;非极性电容C5的另一端、电容C7的另一端、极性电容C4的负极、极性电容C6的负极均与稳压芯片U2的接地端口相连。

所述超声波接口模块包括插座P1与插座P2;插座P1的接地端口、插座P2的接地端口均接地,插座P1的电源输入端口、插座P2的电源输入端口与电源模块的输出端口相连;

所述舵机接口模块包括插座P3、插座P4;插座P3的源输入端口以及插座P4的源输入端口与电源模块的5V输出相连,插座P3的接地端口以及插座P4的接地端口均接地;

所述人机交互模块包括电阻R1-R4,以及按键开关KEY1-KEY4;电阻R1、R2、R3、R4的一端均与电源模块的输出端口相连,电阻R1、R2、R3、R4的另一端分别与按键开关KEY1、KEY2、KEY3、KEY4的一端相连,按键开关KEY1、KEY2、KEY3、KEY4的另一端均接地。

所述电机驱动模块包括驱动芯片U3、电机输出座P5、P6;驱动芯片U3的电源正极端口与电源模块的输入端端口相连,驱动芯片U3的接地端口接地,驱动芯片U3的第一左电机驱动信号输出端口、第二左电机驱动信号输出端口分别于电机输出座P5的第一左电机驱动信号输入端口、第二左电机驱动信号输入端口相连,驱动芯片的第一右电机驱动信号输出端口、第二右电机驱动信号输出端口分别于电机输出座P6的第一右电机驱动信号输入端口、第二右电机驱动信号输入端口相连。

所述微处理器模块包括单片机芯片U1、晶振Y1、电容C1-C3、串口通信插座P8、电阻R5、R6,按键开关KEY5;晶振Y1的一端、电容C1的一端以及电阻R6的一端相连后与单片机芯片U1的第一外部时钟输入端口连接,晶振Y1的另一端、电容C2的一端以及电阻R6的另一端相连后与单片机芯片U1的第二外部时钟输入端口连接,电容C1的另一端和电容C2的另一端均接地;电阻R5的一端与稳压模块的输出端口相连,电阻R5的另一端、按键开关KEY5的一端以及电容C3的一端均与单片机芯片的复位端口相连,电容C3的另一端、按键开关KEY5的另一端均接地,单片机芯片U1的电源正极端口与电源模块的输出端口相连,单片机芯片U1的接地端口均接地;串口通信插座P8的收信号端口、发信号端口分别与单片机芯片U1的发信号端、收信号端口连接,串口通信插座P8的接地端口接地;串口通信插座P8的收信号端口、发信号端口与树莓派相连。

单片机芯片U1的左超声波传感器信号输入端口、传感器激励信号分别与插座P1的左超声波传感器信号、传感器激励信号相连;单片机芯片U1的右超声波传感器信号输入端口、传感器激励信号分别与插座P2的右超声波传感器信号、传感器激励信号相连;插座P1与左边的超声波测距传感器相连,插座P2与右边的超声波测距传感器相连。

单片机芯片U1的第一按键信号输入端、第二按键信号输入端、第三按键信号输入端、第四按键信号输入端分别与人机交互模块的按键KEY1的信号端、按键KEY2的信号端、按键KEY3的信号端、按键KEY4的信号端相连。

单片机芯片U1的第一左电机信号输出端口与驱动芯片U3的第一左电机信号输入端口相连,单片机芯片U1的第二左电机信号输出端口与驱动芯片U3的第二左电机信号输入端口相连,单片机芯片U1的第一右电机信号输出端口与驱动芯片U3的第一右电机信号输入端口相连,单片机芯片U1的第二右电机信号输出端口与驱动芯片U3的第二右电机信号输入端口相连;电机输出座P5与左侧的直流减速电机8相连,电机输出座P6与右侧的直流减速电机8相连。

单片机芯片U1的第一舵机信号输出端口、第二舵机信号输出端口分别与插座P3的舵机信号输入端口、插座P4的舵机信号输入端口相连;舵机云台上的两个舵机分别与插座P3和插座P4相连。

本发明的有益效果如下:本发明提供的智能捡球机器人中的电路板通过将ATmega328P-AU这款低功耗芯片作为微处理器模块所使用的芯片,有利于降低整个机器人的能耗,延长电源的使用时间,同时ATmega328P-AU是一种贴片式封装的芯片,因此在一块电路板上占用的体积更小,有利于减小整个控制电路板的体积,有利于捡球机器人往小型化便携化方向的发展。此外,控制电路可以接受来自机器人左右两侧的超声波传感器传回的电信息,有利于控制电路及时发现前方障碍物,避免机器人撞上障碍物而造成停止运动甚至机身损坏等现象的发生,大大提高机器人的使用时限和工作效率。另外,本发明的控制电路上还有以按键为主的人机交互功能,用户通过按下按键即可选择机器人对应的工作模式,利于提高用户的体验。同时本发明的控制电路还可以控制舵机云台上的舵机,对舵机的控制,可以实现其定角度的旋转,从而改变舵机云台上摄像头的朝向,实现在机身不转动的情况下摄像头依然可以观察到两侧的图像,提高了捡球机器人的捡球效率。

附图说明

图1是本发明捡球机器人立体轴测图;

图2是本发明电路板结构示意图;

图3是本发明电源模块电路图;

图4是本发明超声波接口模块电路图;

图5是本发明舵机接口模块电路图;

图6是本发明人机交互模块电路图;

图7是本发明电机驱动模块电路图;

图8是本发明微处理器模块电路图;

图9是本发明控制电路工作流程图;

图中,摄像头1、单片机控制模块2、超声波测距传感器3、万向轮4、横梁5、捡球挡板6、第一储球挡板7、直流减速电机8、底板9、L型支架10、支撑螺柱11、驱动轮12,第二储球挡板13,螺丝14,舵机云台15。

具体实施方式

下面结合附图对本发明作进一步的说明。

如图1所示,一种基于OpenCV图像识别算法智能捡球机器人,包括底板9,所述底板9为凹字形,所述底板9前端左右两侧对称安装有万向轮4,底板9后端左右两侧对称安装有直流减速电机8,直流减速电机8的输出轴上安装有驱动轮12;所述底板9的前端横架有横梁5,所述横梁5上沿横梁5长度方向铰接若干止出装置,所述止出装置主要由若干捡球挡板6的一端同轴铰接而成,每个捡球挡板6上均旋接有螺栓14,本发明实施例中采用三个捡球挡板6同轴铰接,通过调节螺栓14的旋入深度来调节相邻两个捡球挡板6所夹的角度,如图4所示,当捡球挡板6想要向左边即出球方向转动时,会被固定在横梁5上的螺丝14挡住,无法转动,而当捡球挡板6想要向右边即进球方向转动时,则没有任何阻碍可以顺利让球进入储球室,从而达到只进不出的效果。捡球挡板6的尺寸可以根据球的种类来决定,一般可以使用多块挡板并排而成。

所述底板9的下表面左右两侧均通过L型支架10固定一个第一储球挡板7,两个第一储球挡板7之间固定第二储球挡板13;所述两个第一储球挡板7、第二储球挡板13以及捡球挡板6围成储球室;

所述底板9的上表面支撑有摄像头识别模块,所述摄像头识别模块包括摄像头以及与摄像头相连的树莓派;摄像头通过舵机云台15支撑在底板9的上表面,可以拍摄机器人前方较远距离的图像,同时也能看清距机器人较近位置的图形,视野很宽,可以很好地检测球的位置。所述树莓派用于对摄像头拍摄的连续场地图片进行图像识别处理,并将识别得到的信息传输给电路板2。底板9的前端左右两侧均安装有超声波测距传感器,可以探测到机器人前端范围较大的障碍物位置。底板9上安装有电路板2,所述直流减速电机8、树莓派、舵机云台15上的两个舵机以及超声波测距传感器均与电路板相连,如图5所示。

如图2所示,电路板2包括5V电源模块、超声波接口模块、舵机接口模块、人机交互模块、电机驱动模块、微处理器模块六个部分;其中5V电源模块将外部输入电源引入电路并通过稳压芯片产生稳定低电压,为其他模块提供相应的工作电压;微处理模块作为核心控制部分,用来获取超声波接口模块和人机交互模块的反馈信号,并向电机驱动模块以及舵机接口模块发送控制信号。

如图3所示,5V电源模块包括电源输入座J1,摇杆开关S1、稳压芯片U2、非极性电容C5、C7和极性电容C4、C6;电源输入座J1的第一端口(端口1)连接外部电源的正极,电源输入座J1的第二端口(端口2)连接外部电源的地;摇杆开关S1的电池正极端口(端口1)与电源输入座J1的第一端口(端口1)相连,摇杆开关S1的电源正极端口(端口2)与稳压芯片U2的电源正极端口(端口1)相连,摇杆开关S1的接地端口(端口3)以及稳压芯片U2的接地端口(端口2和端口4)均与电源输入座J1的第二端口(端口2)相连。电容C4的正极、电容C5的一端均与摇杆开关S1的电源正极端口(端口2)相连,电容C6的正极、电容C7的一端均与稳压芯片U2的输出端口(端口3)相连,稳压芯片U2的输出端口作为电源模块的5V输出;非极性电容C5的另一端、电容C7的另一端、极性电容C4的负极、极性电容C6的负极均与稳压芯片U2的接地端口(端口2、端口4)相连。所述稳压芯片U2可采用LM2940。5V电源模块将外部输入电源引入电路并通过稳压芯片产生稳定低电压,为其他模块提供相应的工作电压;通过拨动摇杆开关S1即可给电路板上电

如图4所示,超声波接口模块包括插座P1与插座P2;插座P1的接地端口(端口1)、插座P2的接地端口(端口1)均接地,插座P1的电源输入端口(端口4)、插座P2的电源输入端口(端口4)与电源模块的输出端口相连;

如图5所示,舵机接口模块包括插座P3、插座P4;插座P3的源输入端口(端口1)以及插座P4的源输入端口(端口1)与电源模块的5V输出相连,插座P3的接地端口(端口3)以及插座P4的接地端口(端口3)均接地;

如图6所示,人机交互模块包括电阻R1-R4,以及按键开关KEY1-KEY4;电阻R1、R2、R3、R4的一端均与电源模块的输出端口相连,电阻R1、R2、R3、R4的另一端分别与按键开关KEY1、KEY2、KEY3、KEY4的一端相连,按键开关KEY1、KEY2、KEY3、KEY4的另一端均接地。

如图7所示,电机驱动模块包括驱动芯片U3、电机输出座P5、P6;驱动芯片U3的电源正极端口(端口1)与电源模块的输入端端口相连,驱动芯片U3的接地端口(端口2)接地,驱动芯片U3的第一左电机驱动信号输出端口(端口8)、第二左电机驱动信号输出端口(端口9)分别于电机输出座P5的第一左电机驱动信号输入端口(端口1)、第二左电机驱动信号输入端口(端口2)相连,驱动芯片的第一右电机驱动信号输出端口(端口10)、第二右电机驱动信号输出端口(端口11)分别于电机输出座P6的第一右电机驱动信号输入端口(端口1)、第二右电机驱动信号输入端口(端口2)相连,所述驱动芯片可以使用L298N。

如图8所示,微处理器模块包括单片机芯片U1、晶振Y1、电容C1-C3、串口通信插座P8、电阻R5、R6,按键开关KEY5;晶振Y1的一端、电容C1的一端以及电阻R6的一端相连后与单片机芯片U1的第一外部时钟输入端口(端口7)连接,晶振Y1的另一端、电容C2的一端以及电阻R6的另一端相连后与单片机芯片U1的第二外部时钟输入端口(端口8)连接,电容C1的另一端和电容C2的另一端均接地;电阻R5的一端与稳压模块的输出端口相连,电阻R5的另一端、按键开关KEY5的一端以及电容C3的一端均与单片机芯片的复位端口(端口29)相连,电容C3的另一端、按键开关KEY5的另一端均接地,单片机芯片U1的电源正极端口(端口4、端口6)与电源模块的输出端口相连,单片机芯片U1的接地端口(端口3、端口5、端口21)均接地;串口通信插座P8的收信号端口(端口3)、发信号端口(端口2)分别与单片机芯片U1的发信号端(端口30)、收信号端口(端口31)连接,串口通信插座P8的接地端口接地;串口通信插座P8的收信号端口(端口3)、发信号端口(端口2)与树莓派相连。

单片机芯片U1的左超声波传感器信号输入端口(端口23)、传感器激励信号(端口25)分别与插座P1的左超声波传感器信号、传感器激励信号相连;单片机芯片U1的右超声波传感器信号输入端口(端口24)、传感器激励信号(端口25)分别与插座P2的右超声波传感器信号、传感器激励信号相连;插座P1与左边的超声波测距传感器相连,插座P2与右边的超声波测距传感器相连。通过超声波测距传感器传回的电信号,从而可以获取障碍物距离机器人的距离信息,实现主动避障功能。

单片机芯片U1的第一按键信号输入端(端口26)、第二按键信号输入端(端口27)、第三按键信号输入端(端口28)、第四按键信号输入端(端口32)分别与人机交互模块的按键KEY1的信号端、按键KEY2的信号端、按键KEY3的信号端、按键KEY4的信号端相连。所述人机交互模块在用户按下按键之后,电路中对应按键处的电信号发生改变,微处理器模块读取改变的电信号,处理后进入用户选择的工作模式。

单片机芯片U1的第一左电机信号输出端口(端口1)与驱动芯片U3的第一左电机信号输入端口(端口4)相连,单片机芯片U1的第二左电机信号输出端口(端口9)与驱动芯片U3的第二左电机信号输入端口(端口5)相连,单片机芯片U1的第一右电机信号输出端口(端口10)与驱动芯片U3的第一右电机信号输入端口(端口6)相连,单片机芯片U1的第二右电机信号输出端口(端口11)与驱动芯片U3的第二右电机信号输入端口(端口7)相连;电机输出座P5与左侧的直流减速电机8相连,电机输出座P6与右侧的直流减速电机8相连。

单片机芯片U1的第一舵机信号输出端口(端口13)、第二舵机信号输出端口(端口14)分别与插座P3的舵机信号输入端口、插座P4的舵机信号输入端口相连;舵机云台15上的两个舵机分别与插座P3和插座P4相连。所述舵机接口模块与二自由度舵机云台15相连,通过控制舵机云台的转动实现云台上摄像头的转动,从而实现机器人无需转动车体,也可以观察到侧面的图像。

作为本发明的实施例,所述的单片机芯片U1可采用ATmega328P-AU,但不限于此;所述摄像头可以采用Waveshare公司RPi Camera型号的产品,但不限于此;所述树莓派可以采用A型或B型;所述超声波测距传感器可以采用TELESKY公司HC-SR04型号的产品,但不限于此。

如图9所示,本发明的工作过程如下:基于OpenCV图像识别算法,在树莓派上使用Python编程语言结合OpenCV编写了针对网球进行识别的算法,识别算法工作原理如下:首先对图像根据颜色进行区域的分割,其中属于网球颜色范围的区域成为若干白色区域,图像的其余部分成为黑色区域,之后使用OpenCV的霍夫变换检测白色区域中属于圆形的区域,在这两重筛选条件下,可以确定图像中是否存在网球以及网球的位置信息。

用户给机器人接上电源后,根据需求按下按键KEY1、KEY2、KEY3、KEY4中的一个,按下按键的过程产生一个变化的电信号被单片机芯片U1读取,单片机芯片U1执行相应模式的程序,当按下按键KEY1时,对应关机模式,即树莓派将关机;当按下按键KEY2时,对应开机模式,树莓派开始运行图像识别算法;当按下按键KEY3,机器人进入智能工作状态,即对场上的网球进行识别的同时,同时收集场地上散乱分布的网球;当用户按下按键KEY4时,每按一下,机器人自动增加10min的工作时间。每隔一段时间间隔,树莓派对摄像头拍摄的连续场地图片进行图像识别处理,树莓派运行图像识别算法后,首先能将图像中符合网球颜色的区域划分出来,再根据图像中形状是否符合网球的形状最终确定是否存在网球以及网球的位置信息,并将识别得到的信息传输给单片机芯片U1,单片机芯片U1接受来自树莓派关于球的位置的信息,超声波测距传感器在接收到来自单片机芯片U1的激励信号之后,向前方发送超声波,并接收超声波后生成相应的脉冲电信号传回单片机芯片U1,单片机芯片U1根据这一信息并结合从超声波测距传感器3传来的关于前方障碍物信息,综合考虑后确定接下来的前进方向,并将这一决策电信号传至电机驱动模块,经电机驱动模块放大后的电流可以直接驱动直流电机按预期的转速旋转。摄像头的当前视野中不存在球时,会通过串口反应给单片机芯片U1,在这一情况下,单片机芯片U1输出对舵机的控制信号,控制信号传至舵机云台的舵机上,实现舵机的定角度转动,从而实现舵机云台上的摄像头灵活拍摄的功能。

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