便于二次开发的全向视觉智能小车的制作方法

文档序号:15684186发布日期:2018-10-16 20:53阅读:265来源:国知局

本发明涉及一种智能小车,尤其涉及一种基于全向视觉并且可以全向移动的智能小车。



背景技术:

随着科技的进步与生产力的提高,为了适应物品快速生产及运送的需求,越来越多的生产车间及物流仓库走向自动化,加入了多种机器人协同或全自动工作,同时军事上也开始由哨兵侦查向机器人或无人机自动侦查发展,而为了解放人们的劳动力,做家务的机器人也开始发展。观察各领域所使用的部分机器人,都有一些特点:1.都是轮式机器人,拥有三个或以上的轮子;2.具有摄像头,能观察周围部分环境;3.具有机械臂或外接机械设备,这些设备种类不一,各种设备的功能单一。而本系统设计了一个实用多功能框架,使得这个结构能够二次开发成多种不同的机器人,适用于多种环境。



技术实现要素:

本发明的目的在于,以树莓派为主控模块,以全向轮及全向视觉系统为核心框架,设计出一种可全向移动、一个摄像头便可观察小车四周环境、可自主避障与自主行动、可重复二次开发、可外接其他机械结构的智能小车。该智能小车经过二次开发后能用于多种不同的领域,如家用扫地机器人、仓储机器人、军事巡逻哨兵机器人、无人快递派送车等,用途广泛。

本发明的技术方案是,便于二次开发的全向视觉智能小车,主要由电源模块、主控模块、传感器模块、电机驱动模块、全向视觉系统和小车机械结构组成。其特征是:电源模块连接主控模块、传感器模块、电机驱动模块及全向视觉系统,主控模块连接传感器模块、电机驱动模块及全向视觉系统,电机驱动模块连接小车机械结构;电源模块为主控模块、传感器模块、电机驱动模块、全向视觉系统的摄像头供电,包含12v降5v及稳压功能;主控模块使用树莓派作3b安装计算机视觉库opencv和深度学习库tensorflow来处理摄像头数据及传感器模块的数据并做出对环境的响应。传感器模块包含分处理器及三个超声波传感器,可检测周围物体与小车的距离以达到避障的功能;电机驱动模块包含两个驱动芯片,可驱动四个电机;全向视觉系统包含摄像头和光反射结构,其中光反射结构包含圆锥形反射镜及支撑锥形反射镜的石英玻璃柱筒,摄像头位于柱筒底部中心,通过圆锥棱镜的光反射原理将小车周围的环境光集中到中心由摄像头接收,达到全向视觉的功能;机械结构使用两层亚克力板作为底盘,电源模块、主控模块、传感器模块以及电机驱动模块放置在两层亚克力板中间,三个全向轮两两成120°夹角放置达到全向移动的功能,上层亚克力板中心固定全向视觉系统。该智能小车作为一个多功能框架,能够二次开发成多种不同的机器人,如仓储物流机器人、家用扫地机器人及军事上巡逻哨兵机器人。

进一步,所述电源模块含有降压芯片lm2596,可实现12v直流电压降5v直流电压,为需5v供电的电子模块提供稳定的5v直流工作电压。

进一步,所述的主控模块使用树莓派安装计算机视觉库opencv和深度学习库tensorflow来处理摄像头数据及传感器模块的数据并做出对环境的响应;树莓派使用linux衍生操作系统raspbian,具有多线程及多进程的高级管理功能,对于传感器距离数据和摄像头图像数据可以实现并行处理;而这种具有操作系统的主控可以随意更改使用的算法而不用像传统的单片机或者fpga那样需要利用pc端软件进行烧录或编程,使得智能小车可以快速更换解决方案,是二次开发的重要基础。智能小车处理摄像头数据的方法是一套分别使用opencv与tensorflow协调处理的方案,使用opencv的基本处理方法可以快速解决简单的视觉处理问题,而依赖于tensorflow的方法擅长解决目标检测等问题;同时图像数据处理的结果可以和传感器数据合并后通过神经网络得到最后的输出控制量以控制小车做出相应的行为,通过强化学习的方法训练后这种方案能够比传统方案更有效的解决难以硬编码描述的问题(因为现实世界时间和空间上都是连续并无法预测的,根据某一状态来确定行为的算法在遇到未描述的状态时无法做出好的应变决策)。树莓派作为卡片式的微型电脑,拥有1.2ghz的cpu主频及400mhz的gpu频率,相比于普通的单片机系统其拥有更高的数据处理速度及更高效的并行处理能力,从而能够实现机器人与深度学习的结合,进而实现高鲁棒自动避障及自动行走。同时树莓派含有40个gpio接口,可与其他硬件设备结合使用,或二次开发增加新的硬件设备。

进一步,所述传感器模块包含分处理器arduinonano和三个超声波传感器,传感器数据经分处理器处理融合后发送给主控。arduinonano体积小,安装便捷,可以处理传感器的数据,并使用串口与主控通信。

进一步,所述电机驱动模块包含两个l298n电机驱动芯片和分处理器atmega2560,两个l298n可驱动四个直流电机,直流电机带有能够测量电机转速的霍尔编码器,编码器输出的数据通过分处理器atmega2560处理,处理后的信息通过串口传给主控。l298n具有驱动电流大驱动能力稳定的优点;而atmega2560是arduino的一种核心处理器,使用6个外部中断接收由3个ab相电机编码器发出的6个脉冲信息,进而计算电机实际转速及转向,编码后发送至主控,同时接收主控发来的信息,解码为电机转速转向,使用模糊pid算法对电机进行控制。

进一步,所述全向视觉系统包括锥形反射镜和支撑锥形反射镜的石英玻璃柱筒,摄像头位于柱筒底部中心,以接收由反射镜反射集中的环境光。摄像头采用720p免驱摄像头,直接连接树莓派。由于具有黑色挡板及锥形反射镜,摄像头拍摄的图片帧的中央是一个圆形,圆内即周围环境的信息,圆外是近黑色无效信息,圆的半径取决于锥形反射镜和摄像头的距离,距离越大半径越小,有效图像数据的分辨率也越低,而距离太小则导致直径大于摄像头固有分辨率使得数据缺少,本智能小车的情况是圆略小于摄像头的垂直分辨率。对每一帧进行处理时忽略黑色部分只关注圆形区域内的数据。

进一步,所述机械结构使用三个电机分别带动三个全向轮固定在质量轻并且强度不弱的亚克力板上,通过力的矢量和原理达到任意方向运动的功能。其中电机带有测速用的霍尔编码器。亚克力板底盘上除了必须的安装孔还盈余了许多中心对称的安装孔,二次开发时可以外接各种不同的设备以达到不同的目的。

本发明的有益效果是,该智能小车衍生的改装(即二次开发)能够分别适用于多个不同的领域,而二次开发这个功能得益于其所设计的机械结构及软件架构:机械上预留设备盈余空间,设定好固定孔的规格尺寸,而电子系统中则预留接口,程序可分模块更改及添加,可选择是否生成调试信息以便于调试;树莓派可选择安装小型显示屏以显示各种调试信息及数据;其次,配有专门的软件及引导文档来根据摄像头数据及传感器数据、电机数据为系统训练并使用特定的模式,图像部分可使用opencv自带分类器训练程序或使用tensorflow来训练卷积神经网络,并与传感器及电机数据合并加入另一神经网络训练,这是智能小车能够稳定避障及智能行动的根本所在;设计好了树莓派连接遥控器接收机的接口程序,当无需自动行动时可使用遥控器来控制小车;使用三个全向轮实现零转弯半径,也能够任意方向运动,使得小车能够在狭窄的通道内自由行动,同时底盘的避震设计增加了全向视觉系统及外接设备的稳定性,也使得小车可以行驶在不太平坦的区域,继而可以应用在军事巡逻、消防、勘探领域。

附图说明

图1为本发明的原理方框图。

图2为本发明的主控使用的软件框架图。

图3为本发明的全向视觉系统的结构示意图(垂直截面)。

图4为本发明的传感器模块电路原理图。

图5为本发明的传感器模块处理流程图。

图6为本发明的电机驱动模块电路原理图。

图7为本发明的电机驱动模块处理流程图。

图8为本发明的亚克力底盘尺寸图。

图1中,1、电源模块,2、传感器模块,3、主控模块,4、电机驱动模块,5、全向视觉系统,6、小车机械机构。

图3中,7、黑色挡板,8、圆锥形反射镜,9、石英柱筒,10、摄像头,11、固定孔。

具体实施方案

为了便于理解,下面结合附图对本发明的实施方式作进一步阐明。

如图1所示,本发明是这样来实现的:便于二次开发的全向视觉智能小车,主要由电源模块1、主控模块3、传感器模块2、电机驱动模块4、全向视觉系统5和小车机械结构6组成[图1]。其特征是:电源模块连接主控模块、传感器模块、电机驱动模块及全向视觉系统,主控模块连接传感器模块、电机驱动模块及全向视觉系统,电机驱动模块连接小车机械结构;其中电源模块1为主控模块3、传感器模块2、电机驱动模块4、全向视觉系统5的摄像头供电,包含12v降5v及稳压功能;主控模块2使用树莓派3b安装计算机视觉库opencv和深度学习库tensorflow来处理摄像头数据及传感器模块的数据并做出对环境的响应,其软件框架如图2。传感器模块包含分处理器及三个超声波传感器,可检测周围物体与小车的距离以达到避障的功能,其电路原理图如图4,处理流程图如图6;电机驱动模块包含两个驱动芯片及一个分处理器mega2560,可驱动四个电机,其电路原理图如图7,处理流程图如图8;全向视觉系统包含摄像头和光反射结构,其中光反射结构包含圆锥形反射镜及支撑锥形反射镜的石英玻璃柱筒,摄像头位于柱筒底部中心,通过圆锥棱镜的光反射原理将小车周围的环境光集中到中心由摄像头接收,达到全向视觉的功能,结构如图3;机械结构使用两层亚克力板作为底盘,三个全向轮达到全向移动的功能,电源模块、主控模块、传感器模块以及电机驱动模块放置在两层亚克力板中间,三个全向轮两两成120°夹角放置达到全向移动的功能,上层亚克力板中心固定全向视觉系统,预留的设备安装孔使得其可以外接设备。

所述电源模块包含降压芯片lm2596,可实现12v直流电压降5v直流电压,为需5v供电的电子模块提供稳定的5v直流工作电压。

所述主控模块使用树莓派安装计算机视觉库opencv和深度学习库tensorflow来处理摄像头数据及传感器模块的数据并做出对环境的响应。其软件框架如图2所示,由摄像头提供的图像数据和传感器提供的距离数据作为输入,图像数据通过opencv的videocapture类解码成像素矩阵,经过opencv的imgproc包预处理后与传感器提供的距离数据一起通过传统视觉算法进行分析得到算法输出;另一方面像素矩阵和传感器数据一起通过opencv的神经网络模块dnn得到神经网络的输出,其神经网络模型来源于tensorflow或者caffe训练的结果,神经网络的输出与传统算法的输出进一步使用特定算法综合得出最终的控制量,最后将控制量经串口发送给电机驱动模块进行控制。传感器模块的分处理器mega2560和电机驱动模块的分处理器arduinonano分别通过usb与树莓派进行串口通信,当接有外设时对外设的输出量通过gpio的uart串口发送。

所述传感器模块包含分处理器arduinonano和三个超声波传感器,传感器数据经分处理器处理融合后发送给主控。

传感器模块的电路原理图如图4所示,其包含三个接超声波传感器hc-sr04的接口,触发信号引脚trig和回响信号引脚echo分别接到核心处理器的pd2~pd7,发光二极管d作为某一个超声波检测距离过小时提醒,也可作为调试作用。

传感器模块的运行流程如图6所示,首先在模块上电启动时执行初始化操作,定义三个距离变量,循环调用测距子函数,在一个函数内处理三个超声传感器的信号:通过自定义带有状态的计时类来标志某个传感器是否处于测距状态(对应于类对象的计时状态)或者尚未开始时(对应于初始状态)与测距结束时(对应于计时结束状态),子函数只在三个回响信号端口电平发生改变时使全局计时类对象记下时间并改变状态标志,没有延时函数,并且每三次测距计算距离平均值,故测得的距离精度较高,而且超声波传感器的特性,若未收到回声,40ms内自动将回响引脚电平拉低,所以不会出现死循环的情况,安全性较高;在每次计算得到高精度距离数据后通过串口发送给主控,在一般的室内环境或街道环境,一秒钟能够发送几十次数据,一般情况下没有如此高频的数据发送要求,可以有选择的在发送数据后延时一段时间。

所述电机驱动模块包含两个l298n电机驱动芯片,可驱动四个直流电机,以及处理电机编码器数据的分处理器atmega2560。

电机驱动模块的电路原理图如图7所示。u0是核心处理器芯片atmega2560-16au,使用此芯片的原因是具有6个纯硬件外部中断口,能够同时检测3个电机的编码器脉冲。u1和u2是l298n芯片,u1的4个out口和u2的前两个out口分别连接m1、m2、m3三个电机的m+和m-,对应于电机的正极线和负极线,驱动电压为12v;u2的后两个out口作为外部扩展驱动口,在有需要的时候使用;u1和u2的in口连接核心处理器芯片mega2560的模拟输出引脚,通过改变模拟输出量来以不同的速度驱动电机;m1a、m1b、m2a、m2b、m3a、m3b为三个电机的电机编码器a相和b相,连接mega2560的外部中断口,通过检测电平改变触发,可以达到4倍频,提高电机速度检测的4倍的精度;另外mega2560芯片还接了oled模块,用于显示三个电机的瞬时速度和总速度矢量以便于调试与可视化;reset非引脚可连接轻触按键用于手动复位,也可连接主控的引脚进行自动控制复位。

电机驱动模块的处理流程图如图8所示。模块上电执行初始化操作,开始计算速度及向主控发送数据的定时器中断和6个外部中断,在每个主循环中检测串口缓冲区是否有主控发送来的指令数据,如果有则向主控发送“收到了指令”的响应信号并接收数据及分析解码成每个电机的速度控制量,使用模糊pid算法对每个电机加以控制;6个外部中断分别处理3个电机的ab相编码器共6个脉冲信号端口,有6个脉冲计数变量分别与之对应;定时器中断函数中分析每个电机的两个脉冲计数变量来计算该电机的速度,然后计算三个电机的合速度矢量并将这些量全部显示在oled上,同时向主控发送合速度矢量的数据,最后将6个脉冲计数变量的计数归零;由于定时器每60ms进入一次,可以近似的将60ms内的平均速度当作在该时间段30ms时的瞬时速度,而在实际中没有多大的误差影响。

所述全向视觉系统所述全向视觉系统包括锥形反射镜和支撑锥形反射镜的石英玻璃柱筒,摄像头位于柱筒底部中心,以接收由反射镜反射集中的环境光。其垂直截面的示意图如图3所示;其包含顶部黑色的挡板7、锥形反射镜8、石英柱筒9、摄像头10和4个固定孔(垂直截面只画出两边的两个,前后还有两个没有画出);其中黑色挡板7用于固定锥形反射镜8以及防止小车上方的光线进入摄像头造成难以处理的情况;摄像头10采用720p免驱摄像头,直接连接树莓派。其极限入射光如图虚线所示,两条极限入射光的区间即为可观察的视角。由于具有黑色挡板及锥形反射镜,摄像头拍摄的图片帧的中央是一个圆形,圆内即周围环境的信息,圆外是近黑色无效信息,圆的半径取决于锥形反射镜和摄像头的距离,距离越大半径越小,有效图像数据的分辨率也越低,而距离太小则导致直径大于摄像头固有分辨率使得数据缺少,本智能小车的情况是圆略小于摄像头的垂直分辨率。对每一帧进行处理时忽略黑色部分只关注圆形区域内的数据。固定孔11将石英柱筒固定在亚克力底盘上。值得注意的是,通过改变石英柱筒9的高度可以改变摄像头能观察到的最远距离,观察的越远其畸变越大,而改变锥形反射镜的参数可以改变摄像头能观察到的最大高度;锥形反射镜和石英柱筒的需要根据实际情况确定,并不唯一。

所述的机械结构安装了三个电机分别带动三个全向轮固定在质量轻并且强度不弱的亚克力板上,通过力的矢量和原理达到任意方向运动的功能。全向轮不同于一般的橡胶轮,多个这种轮子的配合可以实现零转弯半径及任意方向运动,这是实现全向移动的核心。亚克力板底盘的尺寸图如图8所示,其三个两两呈120°的凹槽是留给全向轮的空间,三个电机转动导致小车移动符合矢量和原理。亚克力板底盘上除了必须的安装孔还盈余了许多中心对称的安装孔,二次开发时可以外接各种不同的设备以达到不同的目的。

本智能小车具体使用说明如下:当不需要全自动运行的时候,可在树莓派上外接遥控器接收机,通过遥控器来控制小车,此时摄像头和传感器模块不工作;当需要全自动运行时,树莓派不接遥控器接收机或者接收机关闭,通过事先选择需要运行的算法及神经网络模型(树莓派可接专用的触摸屏,这样可以快速根据需要更换方案),如果有外接的设备,可以根据实际情况微调各个参数,而后将树莓派切换至开机直接运行程序的状态,将小车置于运行环境中开电即可。

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