一种灭火车的控制系统的制作方法

文档序号:17431221发布日期:2019-04-17 03:31阅读:416来源:国知局
一种灭火车的控制系统的制作方法

本发明涉及消防领域,尤其涉及一种灭火车的控制系统。



背景技术:

现有的灭火车,受驱动轮的限制,需要较大的转弯半径才能够实现转向或旋转。实际应用中,现有的灭火车往往受火场空间限制而出现无法转向、行动受阻的状况。

进一步,现有的灭火车在行进过程中,往往受火场地形影响,在各驱动轮之间产生速度差。受此速度差影响,灭火车在行进过程中时常出现航向偏移,需要后台的控制人员时刻注意对灭火车的行进方向进行修正。因此,现有灭火车行进过程中,控制效率不高,后台的控制人员时常感觉手忙脚乱。

因而,目前急需一种转弯半径小,易于实现综合控制,并且能够自适应地调整航向,修正行进过程中出现的偏差的灭火车。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种灭火车的控制系统。所述灭火车包括麦克纳姆轮、底盘电机、底盘、云台、水箱、航向角控制电机、俯仰角控制电机、底盘惯性导航单元、航向角控制轴、所述俯仰角控制轴、主控板、遥控单元,其特征在于,该系统包括:

解析模块,所述解析模块用以接收并解析所述底盘电机反馈的报文、所述航向角控制电机或所述俯仰角控制电机反馈的报文、所述底盘惯性导航单元获取的所述麦克纳姆轮、所述航向角控制轴或所述俯仰角控制轴的转动量以及所述遥控单元的遥控信号,获得目标转速forward、所述麦克纳姆轮当前的转速speed、期望的角度值和当前的角度值;

误差项计算模块,所述误差项计算模块用以计算误差项err=((forward-底盘电机转速信号的中位值)/660)底盘电机转速最大值,以及外环误差项shell_errout=期望的角度值-当前的角度值;

比例项计算模块,所述比例项计算模块用以计算比例项kp_out=比例系数*err,以及外环比例项shell_kpout=外环比例系数*shell_errout;

微分项计算模块,所述微分项计算模块用以计算微分项kd_out=微分系数*(err-old),以及外环微分项shell_kdout=外环微分系数*(shell_errout-shell_oldout),其中,shell_oldout为上一次计算获得的外环误差项,old为上一次计算获得的误差项;

积分项计算模块,所述积分项计算模块用以计算,积分项ki_out以及外环积分项shell_kiout,其中,所述积分项ki_out为每一次计算获得的误差项err乘以积分系数再进行累加,所述外环积分项shell_kiout为每一次计算获得的外环误差项shell_errout乘以外环积分系数再进行累加;

内环计算模块,所述内环计算模块用以执行以下步骤:首先,计算内环期望的角速度值=shell_kpout+shell_kdout+shell_kiout即外环的输出值;然后,计算内环误差项=内环期望的角速度值-当前的角速度值;最后,将所述内环误差项乘于内环比例系数,获得内环比例项;将本次计算获得的所述内环误差项乘以内环积分系数加上之前的内环积分项输出值,获得内环积分项;将本次计算的内环误差值减去上次的内环误差值再乘以内环微分系数,获得内环微分项;

控制信号输出模块,所述控制信号输出模块用以计算并向所述航向角控制电机或所述俯仰角控制电机输出控制信号pidangle以控制所述航向角控制电机或所述俯仰角控制电机运转,向所述底盘电机输出控制信号pidout以控制所述底盘电机运转,其中,pidout=kp_out+ki_out+kd_out,pidangle=内环比例项+内环积分项+内环微分项。

优选地,所述控制信号输出模块输出所述控制信号的频率不低于1khz。

优选地,所述麦克纳姆轮用以驱动所述灭火车,所述底盘电机连接所述麦克纳姆轮,底盘用以固定所述麦克纳姆轮;

所述云台设置于所述底盘上,包括转动连接的航向角控制轴(41)和俯仰角控制轴(42),所述航向角控制轴(41)由航向角控制电机(411)驱动旋转,所述俯仰角控制轴(42)由俯仰角控制电机(421)驱动旋转;所述俯仰角控制轴(42)上还设置有水炮(43)和摄像头(44)。

优选地,底盘惯性导航单元分别连接所述麦克纳姆轮、所述航向角控制轴和所述俯仰角控制轴,用以获取所述麦克纳姆轮、所述航向角控制轴和所述俯仰角控制轴的转动量;

所述水箱设置于所述底盘的前部,通过水管与所述水炮连接,用以向所述水炮供水。

优选地,所述主控板设置于所述底盘的后部,所述主控板内还设有数传模块(61)和图传模块(62);所述数传模块与遥控单元通信连接,用以与所述遥控单元交互;

所述遥控单元还包括图像显示模块和图像处理模块,所述图传模块连接所述摄像头并与所述图像处理模块无线连接,用以向所述遥控单元传输所述摄像头获取的图像信号;

所述主控板通过can总线与所述底盘电机、航向角控制电机、俯仰角控制电机电连接,所述主控板还与所述底盘惯性导航单元电连接,以根据所述麦克纳姆轮、所述航向角控制轴、所述俯仰角控制轴的转动量及遥控单元的遥控信号向所述底盘电机、航向角控制电机、俯仰角控制电机输出控制信号,并接收所述底盘电机、航向角控制电机、俯仰角控制电机反馈的报文;

所述主控板还与所述水炮电连接,用以控制所述水炮喷水。

优选地,所述底盘的四角分别设置有一组麦克纳姆轮,设置于底盘左上角和右下角的所述麦克纳姆轮为左旋结构,设置于底盘右上角和左下角的所述麦克纳姆轮为右旋结构,所述4组麦克纳姆轮分别由4个底盘电机独立驱动;

所述4个底盘电机分别根据所述主控板的控制信号,输出相应的驱动力以驱动其连接的一组麦克纳姆轮,所述麦克纳姆轮将所述底盘电机输出的驱动力分解至主动方向和/或从动方向,所述4组麦克纳姆轮在主动方向和从动方向的驱动力相互配合,实现对所述灭火车的全向驱动。

优选地,所述各组麦克纳姆轮通过独立的悬挂结构与所述底盘固定,所述悬挂结构包括连接于所述底盘与所述组麦克纳姆轮之间的至少一个螺旋弹簧。

优选地,所述主控板被设置为按照以下步骤输出控制信号,根据所述底盘惯性导航单元(5)获取的所述麦克纳姆轮的转动量及遥控单元的遥控信号向所述底盘电机输出控制信号pidout:

步骤s1,接收并解析所述底盘电机反馈的报文、所述底盘惯性导航单元获取的所述麦克纳姆轮的转动量以及所述遥控单元的遥控信号,获得目标转速forward以及所述麦克纳姆轮当前的转速speed;

步骤s2,计算误差项err=((forward-底盘电机转速信号的中位值)/660)底盘电机转速最大值;

步骤s3,分别计算:比例项kp_out=比例系数*err;微分项kd_out=微分系数*(err-old),其中,old为上一次计算获得的误差项;积分项ki_out为每一次计算获得的误差项err乘于积分系数再进行累加;

步骤s4,计算并向所述底盘电机输出控制信号pidout=kp_out+ki_out+kd_out。

优选地,所述主控板被设置为按照以下步骤输出控制信号,根据所述底盘惯性导航单元(5)获取的所述航向角控制轴或所述俯仰角控制轴的转动量及遥控单元的遥控信号向所述航向角控制电机或所述俯仰角控制电机输出控制信号:

步骤t1,接收并解析所述航向角控制电机或所述俯仰角控制电机反馈的报文、所述底盘惯性导航单元获取的所述航向角控制轴或所述俯仰角控制轴的转动量以及所述遥控单元的遥控信号,获得期望的角度值和当前的角度值;

步骤t2,计算外环误差项shell_errout=期望的角度值-当前的角度值;

步骤t3,分别计算:外环比例项shell_kpout=外环比例系数*shell_errout;外环微分项shell_kdout=外环微分系数*(shell_errout-shell_oldout),其中,shell_oldout为上一次计算获得的外环误差项;外环积分项shell_kiout为每一次计算获得的外环误差项shell_errout乘以外环积分系数再进行累加,所述外环积分项需要进行限幅;

步骤t4,计算内环期望的角速度值=shell_kpout+shell_kiout+shell_kdout;

步骤t5,计算内环误差项=内环期望的角速度值-当前的角速度值;对所述内环误差项进行限幅;

步骤t6,将所述内环误差项乘于内环比例系数,获得内环比例项;将本次计算获得的所述内环误差项乘以内环积分系数再加上之前的积分项输出,获得内环积分项,内环积分项需要进行限幅,限幅范围为500;将本次计算得到的内环误差项与上次的内环误差项做差再乘于内环微分系数,获得内环微分项;

步骤t7,计算并向所述航向角控制电机或所述俯仰角控制电机输出控制

信号pidangle=内环比例项+内环积分项+内环微分项。

本发明具有如下有益效果:

本发明,使用4组麦克纳姆轮,并为每一组麦克纳姆轮设置独立驱动的底盘电机,通过控制模块协调对4组麦克纳姆轮的驱动,能够有效减小灭火车的转弯半径至0。本发明能够通过控制模块对4组组麦克纳姆轮的协同控制,使得灭火车实现原地旋转、斜向移动,以适应在狭小的火场空间内移动。并且,本发明的灭火车还设有数传模块和图传模块,能够实时获取火场图像以及灭火车数据,实现实时的综合控制。

进一步,本发明,通过主控板和底盘惯性导航单元的配合,对底盘电机、航向角控制电机以及俯仰角控制电机实现闭环控制以确保能够自适应地调整航向,修正灭火车行进过程中出现的偏差。因此,本发明灭火车的控制精度更高,操作更便利,无需人为地纠正行进过程中出现的偏差。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的灭火车的整体结构示意图;

图2为根据本发明的灭火车的系统的框图;

图3为根据本发明的灭火车中麦克纳姆轮的结构示意图;

图4为根据本发明的灭火车中4组麦克纳姆轮纵向移动时的受力示意图;

图5为根据本发明的灭火车中4组麦克纳姆轮横向移动时的受力示意图;

图6为根据本发明的灭火车中4组麦克纳姆轮斜向移动时的受力示意图;

图7为根据本发明的灭火车中4组麦克纳姆轮原地旋转时的受力示意图;

图8为根据本发明的灭火车中底盘悬挂结构示意图;

图9为根据本发明的灭火车中云台的结构示意图;

图10为根据本发明的灭火车的整体结构的主视图;

图11为根据本发明的灭火车的整体结构的左视图;

图12为根据本发明的灭火车的整体结构的俯视图;

图13为本发明的灭火车中遥控单元的通道映射图;

图14为本发明的灭火车热成像的示意图;

图15为本发明的灭火车中电压采集电路的示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明主要公开一种基于麦克纳姆轮的全向灭火车设计,包括麦克纳姆轮电机驱动系统、无线图传系统、无线控制系统、云台控制系统、视觉识别系统五大系统。底盘系统采用四驱麦克纳姆轮结构,四个无刷减速电机驱动麦克纳姆轮,可以实现巡逻车前行、横移、斜行、旋转及等运动方式。无线图传系统由高清微型摄像头、接收屏、ts835图传模块组成,可以使操控者可以远程观察灭火车的状态和周围环境,然后通过无线控制系统来控制灭火车的行进、云台的转动以及水炮的发射,无线控制系统由七通的专业遥控器和接收机组成,有效控制距离在1km以内。视觉识别系统可以自动识别摄像头图像中的人员或者特殊物体,并将检测信息通过无线数传传输到上位机上,上位机上可以显示小车的行进速度和电池电压以及视觉识别模块识别信息。

本发明所提供的的全向灭火车能够在探测情况不明的火场时代替消防员深入火场,避免了消防员在灭火时的危险性。在功能上此灭火车满足在狭小的空间内能够自由移动的需求,实现零半径回转和任意方向的移动、远程操控、图像实时回传到指控中心等要求。

表1给出了本发明所提供的灭火车的主要性能指标。其具体实现方式将在本实施例中详细论述。

表1基于麦克纳姆轮的全向灭火车性能指标

图1为根据本发明的灭火车的整体结构示意图,其主视图、左视图和俯视图可分别参考图10至图12。该灭火车包括:麦克纳姆轮1,用以驱动所述灭火车;底盘电机2,连接所述麦克纳姆轮,用以为所述麦克纳姆轮提供驱动力;底盘3,用以固定所述麦克纳姆轮;云台4,设置于所述底盘上,包括转动连接的航向角控制轴41和俯仰角控制轴42,所述航向角控制轴41由航向角控制电机411驱动旋转,所述俯仰角控制轴42由俯仰角控制电机421驱动旋转;所述俯仰角控制轴42上还设置有水炮43和摄像头44;底盘惯性导航单元5,分别连接所述麦克纳姆轮、所述航向角控制轴和所述俯仰角控制轴,用以获取所述麦克纳姆轮、所述航向角控制轴和所述俯仰角控制轴的转动量;水箱45,设置于所述底盘的前部,通过水管与所述水炮连接,用以向所述水炮供水;主控板6,设置于所述底盘的后部,所述主控板内还设有数传模块61和图传模块62;所述数传模块与遥控单元通信连接,用以与所述遥控单元交互;所述遥控单元还包括图像显示模块和图像处理模块,所述图传模块连接所述摄像头并与所述图像处理模块无线连接,用以向所述遥控单元传输所述摄像头获取的图像信号;所述主控板通过can总线与所述底盘电机、航向角控制电机、俯仰角控制电机电连接,所述主控板还与所述底盘惯性导航单元电连接,以根据所述麦克纳姆轮、所述航向角控制轴、所述俯仰角控制轴的转动量及遥控单元的遥控信号向所述底盘电机、航向角控制电机、俯仰角控制电机输出控制信号,并接收所述底盘电机、航向角控制电机、俯仰角控制电机反馈的报文;所述主控板还与所述水炮电连接,用以控制所述水炮喷水。

参考图10、图11或图12,该灭火车前部装有一个可以放置水箱的方盒,方盒的尺寸为45*200*86mm,云台的两侧放置了两个用于固定电池的电池架,小车后方用于安装主控板和水泵。云台的上部安装了摄像头底座,可以用来安装图传摄像头。

其中的主控板,包括有图2所示的云台主控和底盘主控。

所述底盘主控根据遥控单元的指令,结合底盘惯性导航单元获取的转动量,向底盘所连接的四个电机a、b、c、d分别输出控制信号以驱动底盘电机带动所述麦克纳姆轮运转,实现对灭火车的驱动。底盘电机还通过can总线通过底盘主控向上位机上报其运行状态。

参考图3所示的麦克纳姆轮,其外形类似一个斜齿轮,只是将斜齿轮上面的斜齿替换为能够绕着轴心自由转动的辊子。通常用多个麦克纳姆轮以固定的方式组合在一起,可让移动机构具备这种全方位移动能力。麦克纳姆轮是全向轮方面做得技术较为成熟的一种全方位轮。其通过图4所示的方式安装于本发明灭火车的底盘上。麦克纳姆轮的轮体有左旋和右旋的分别(图4所示,右上角的车轮为右旋,左上角的车轮为左旋),车轮中显示的斜线是与地面接触的车轮辊子结构的轴线方向。每个车轮都是用一只直流电机独立进行驱动,实现全向移动机器人在地平面上以三个自由度的移动。这四个全方位车轮相互组成了机器人本体的受力情况与运动分析如图4至图7所示,其中fa为轮子进行滚动时车轮辊子受到的轴向摩擦力;fr为车轮辊子做从动运动时受到的摩擦力(相比于fa较小,可忽略不计);为各轮进行转动时的角速度矢量。如果车轮是普通车轮,这种图4至7所示的安装组合只能驱动灭火车前后运动,如果要转弯,就需要安装转向机构。但对于麦克纳姆轮这种全方位移动轮,其特点是产生一个相对轮体的轴向力,通过各个轮子的转向和速度控制,与地面形成一个固定的坐标系统,在一定的角度,从而实现整个列车运动的全方位。对于图4至图7所给出的四种组合运动方式,以图7所示的顺时针原地自转运动为例进行分析,此种情况,右侧两车轮旋转矢量方向向右方向(轮子转向后方),左侧两轮方向向左方向(轮子转向前),转速的大小相同,我们使用牛顿等定律去判断各车轮经受的车轮辊子轴向力fa与车轮辊子滚动摩擦力fr的受力方向如图7所示,各车轮的fr、fa分别是等同的。这些力形成的合力是围绕机器人结构本体中心轴线的逆时针力矩,所以表现为逆时针方向转动,它的旋转中心是在全向移动机器人的本体中心轴上,因此旋转半径是0,在一些空间比较狭小的地方可以很好地利用这一性能灵活的运动。

为了使得小车能够在多种地形下行驶,尽量减少工作过程中底盘的抖动,本设计采用了独立悬挂结构,使用了螺旋弹簧进行减震。其减震系统的具体安装方式可参考图8所示。

上述的4组麦克纳姆轮分别通过rm3510电机,作为驱动其的底盘电机,实现独立控制。rm3510是大疆公司生产的减速比为1:19的无刷减速电机,具有大扭矩的特性,使小车具有良好的承载能力。由于3510是无刷电机,需要电调进行驱动。rm3510一般与820r电调相连,与普通电调输入为pwm信号所不同,820r电调使用can总线进行通信,电调可以通过拨码开关改变id。主控可以通过电调的id值识别不同的电调。电调通过控制电流大小改变电机转速,电调还可以反馈机械角度数据和转速数据。

本发明中,对四个麦克纳姆轮可按照下面的方式分别独立地实现控制:步骤s1,接收并解析所述底盘电机反馈的报文、所述底盘惯性导航单元获取的所述麦克纳姆轮的转动量以及所述遥控单元的遥控信号,获得目标转速forward以及所述麦克纳姆轮当前的转速speed;步骤s2,计算误差项err=((forward-底盘电机转速信号的中位值)/660)底盘电机转速最大值;步骤s3,分别计算:比例项kp_out=比例系数*err;微分项kd_out=微分系数*(err-old),其中,old为上一次计算获得的误差项;积分项ki_out为每一次计算获得的误差项err的累加再乘以积分系数;步骤s4,计算并向所述底盘电机输出控制信号pidout=kp_out+ki_out+kd_out。由此,底盘电机根据该控制信号pidout能够及时纠正其运转偏差,按照预设的方式驱动麦克纳姆轮,从而实现对4个麦克纳姆轮的控制。4个麦克纳姆轮由主控板控制,相互配合,实现对灭火车的全向驱动。

所述云台主控主要用于控制航向角控制电机、俯仰角控制电机,以驱动其连接的航向角控制轴、俯仰角控制轴,实现对水炮喷水方向以及摄像头拍摄方向的控制。其具体的控制方式如下:步骤t1,接收并解析所述航向角控制电机或所述俯仰角控制电机反馈的报文、所述底盘惯性导航单元获取的所述航向角控制轴或所述俯仰角控制轴的转动量以及所述遥控单元的遥控信号,获得期望的角度值和当前的角度值;步骤t2,计算外环误差项shell_errout=期望的角度值-当前的角度值;步骤t3,分别计算:外环比例项shell_kpout=外环比例系数*shell_errout;外环微分项shell_kdout=外环微分系数*(shell_errout-shell_oldout),其中,shell_oldout为上一次计算获得的外环误差项;外环积分项shell_kiout为每一次计算获得的外环误差项shell_errout乘以外环积分系数再进行累加,所述外环积分项需要进行限幅;步骤t4,计算内环期望的角速度值=shell_kpout+shell_kiout+shell_kdout;步骤t5,计算内环误差项=内环期望的角速度值-当前的角速度值;对所述内环误差项进行限幅,限幅范围为正负100;步骤t6,将所述内环误差项乘于内环比例系数,获得内环比例项;将本次计算获得的所述内环误差项乘以内环积分系数再加上之前的内环积分项,获得内环积分项,内环积分项需要进行限幅,限幅范围为500;将本次计算获得的所述内环误差项乘与上次的内环误差项做差再乘于内环微分系数,获得内环微分项;步骤t7,计算并向所述航向角控制电机或所述俯仰角控制电机输出控制信号pidangle=内环比例项+内环积分项+内环微分项。由此,所述的航向角控制电机或所述俯仰角控制电机根据该控制信号由主控板控制,及时纠正其转动量至需要的值,以保持云台、水炮以及摄像头方向稳定。

这里,采用两轴云台控制水炮和摄像头的角度,其中,参考图9所示,云台底部使用一个6025减速电机控制水炮的航向角,在云台的右侧也使用了一个6025减速电机控制水炮的俯仰角作为云台上的航向角控制电机和俯仰角控制电机。这里选用的rm6025电机是大疆公司专门为两轴和三轴云台设计的控制电机,具有精度高、响应快、扭矩大等特点。同时它内置了hg900电调,电机与电调的一体化设计为车体的电气布线提供了便利。6025电机理论上的角度控制精度能够达到正负0.01度。rm6025电机同底盘电机一样都是采用can协议进行通信。主控通过can协议发送电流值大小的方式控制电机的转速。电调还可以反馈机械角度数据、实际转矩电流测量值、转矩电流给定值,发送数据帧的频率可以达到1khz。根据反馈数据可以实现速度环或者位置环的控制。为了取得良好的灭火效果,云台上的水炮我们使用12v供电的农用高压大功率水泵抽取水箱中的水,构成水炮实现灭火。水泵抽水的喷水距离可达到5-8米,具有高效增压的效果,适合各种喷雾器,实际测试中每分钟的出水量可以达到4l,水炮发出的水雾灭火效果也是十分出色的。水泵采用的纯铜芯电机也比普通的铝线电机寿命高出近三倍,经久耐用。

云台上设置的摄像头,连同设置于主控板内的图传模块,以及设置于所述遥控单元一端的图像显示模块和图像处理模块,共同构成机器视觉模块。所述的机器视觉模块包括安装于云台的摄像头,包括设置于主控板内的图传模块,以及设置于所述遥控单元一端的图像显示模块和图像处理模块,所述图传模块连接所述摄像头并与所述图像处理模块无线连接,用以向所述遥控单元传输所述摄像头获取的图像信号。

为实现上述的控制,本实施例中,所述的灭火车,其主控板选用stm32f407作为主控芯片,由于本设计有着较多的控制任务包括小车底盘控制任务,遥控信号捕获任务,视觉识别任务,云台控制任务。需要的任务控制频率也较高,stm32f407拥有最高168mhz的运行频率可以满足本设计对控制任务的要求。stm32f4相对于其他常用的芯片有着更加突出的优点就是具有浮点运算单元,能够硬件直接处理浮点运算,提高了代码的效率。由于本设计使用的电机都是使用can协议进行通信,而stm32f4具有两个can总线收发器,能够与电机搭建can网络,对电机进行控制,接收电机反馈的数据。

本设计一共使用了两片stm32f407芯片,一片主要用于小车底盘的控制任务,接收遥控器的控制信号,陀螺仪解算任务用来得出小车的方向角,使得小车云台在水平转动时底盘能够跟随改变方向角,还有与云台主控的通信任务,用来向云台主控发送航向角和俯仰角改变云台的角度。另一片是云台主控芯片,主要负责云台和水炮的控制任务、陀螺仪的姿态解算任务以及与机器视觉模块的通信。

主控板通过数传模块与大疆dt7遥控系统实现无线的数据交互,以遥控所述灭火车。遥控距离在室外可以达到1000m,使用dbus协议进行数据传输,将7路遥控信号合并在一条信号线上,节省了主控芯片信号端口的占用。本设计中使用了遥控器的六个通道信息,6个通道的映射如图13所示。

由于灭火车在每次启动时都需要将云台方向自动校准为当前车头方向,小车行进时为了保证水炮和摄像头回传数据的稳定,遥控器没有对云台进行操控时,云台会保持在水平角度,并且小车底盘会跟随云台航向角的转动。为了达到以上功能,我们在底盘和云台上分别使用了一个gy-521mpu6050惯性测量单元,底盘上的mpu6050是为了得到底盘的航向角,云台的mpu6050则是为了得到云台俯仰角和航向角,在对6050进行校准后,两个6050的坐标系会基本一致。底盘会根据两个6050航向角的误差进行调整,使小车底盘能够跟随云台的转动。云台的6050除了保持底盘与云台航向角的相同以外,还需要得到俯仰角,通过控制算法保证小车行进时云台不会发生抖动并且能够准确的响应遥控器改变俯仰角的信号。

本实施例中的灭火车使用了openmv机器视觉模块来达到视觉识别的功能,使小车能够在火场自动识别火源,并且通过串口向云台主控发送识别成功信号,openmv是一个开源,低成本,功能强大的机器视觉模块。本设计使用的是openmv3camm7,openmv系列的最新一代产品,openmv3采用了stm32f765vit6作为主控芯片拥有2m的内部flash,这意味着相对于openmv2,openmv3的图像识别功能的图像流畅度、帧率都有很大程度的提升。openmv使用c语言实现核心机器视觉算法,提供了python编程接口。在实际编程中python语言的精简性减少了编程的工作量,相对于c语言,python也比较容易上手,便于开发。openmv3还可以加装各种拓展板例如wifi拓展板,红外热成像扩展板,实现许多额外的功能,本设计中就使用了红外热成像扩展板执行检测火焰的任务,红外热成像扩展板可以检测周围环境热量的存在情况,从而可以判断出检测视野中是否有人或者火焰的存在。其对形成的热成像数据,通过图14的中间条带叠加在摄像头采集的图像信息上,可更加直观地帮助后台人员判断火场情况。

本设计中底盘电机和云台电机都是使用can协议进行控制,stm32在接入can总线网络时需要使用can控制器接口芯片,本设计中我们使用了一个带有tja1050芯片的模块来完成这一功能,tja1050是最常见的can控制器接口芯片,我们在电路设计中加入了120欧姆的终端电阻,阻抗匹配,保证驱动能力,防止在长距离的信号传输时发生信号放射。本设计中云台主控和底盘主控各使用了一块tja1050模块使其接入can网络。

本设计具有将小车底盘电机的转速值,云台的姿态角,电池电压和当前火源的检测状态传输到上位机的功能,同时也可以通过上位机对云台的mpu6050进行校准。我们使用了匿名科创的无线数传模块来完成功能,匿名数传支持双工通信,具有双向、高速、稳定的特点,波特率能够达到500000。数传的工作模式,空中速率,无线信道,重发次数,串口速率都可以进行配置,可以有效防止多台机器同时工作时发生冲突。匿名数传使用stm32f103作为主控芯片,使用nrf24l01、pa、lna来完成无线通信的任务。

本设计具有远距离遥控的功能,使人员能够在远离火场的地方对小车进行操控,为了达到这项功能,需要可靠的远距离图像传输系统。经过实验的比较,我们采用了ts835图传系统将摄像头的图像实时传输回来,我们还使用了图像视频采集卡可以将图传接收的图像显示在电脑上。ts835的有效图传距离能够达到1km-2km,还可以将发射机安装蘑菇天线,接收机安装5.8g14db平板天线,传输距离能够扩展到5km。

本设计能够实时对火场进行录像,并通过图传远程传送回电脑上。本设计要求能够尽可能清晰的采集火场图像信息,摄像头的体积和功耗也不宜过大,为此我们选用了gopro3运动相机作为图像采集设备。在使用时,将gopro3装上防水壳,防止水炮对摄像头的影响,炮塔上方设计有安装座,相机在装入防水壳后可以直接安装在炮塔上方。

电池电压的状态决定了小车能否正常工作。当电池电压过低时,系统将无法正常工作。因此我们需要实时检测电池电压。由于本设计供电电池使用的是大疆的tb47d电池满电电压是25.2v,远远高于stm32端口adc采集的电压范围,因此我们采用了电阻分压电路先对电源电压进行分压,再采集电压,最后根据衰减比例计算电池实际电压值。图15是电压采集电路原理图,其通过电阻r1、r3对电池包电压进行分压,将分压通过限流电阻以及二极管构成的简单的稳压电路输入至控制板中的电压接口,对电压信号进行采样以相应控制灭火车在电池包异常时及时启动保护。

基于上述的硬件,本发明在具体实现上述对各个电机的控制时,具体算法设计如下:

遥控器接收机通过dbus协议进行通信。与传统的接收机输出多路pwm信号不同,dbus协议将多条线整合成一条数据线进行通信。解析dbus信号需要先制作一个电平取反电路将dbus信号的rs232电平转换为ttl电平,这样单片机才能对信号进行处理。在完成信号的取反后,单片机使用串口dma接收数据。dma接收的数据帧长度为18,遥控器的数据由低位到高位顺序存储到数组里。表2是遥控器信息。其中,sbus_rx_buffer是设置接收遥控信号的无符号字符型数组。以解析通道0的数据为例,由图可知t通道0的有效数据是11位的。根据dbus协议的规则,这11位需要sbus_rx_buffer[0]的全8位作为低8位和sbus_rx_buffer[1]的低3位作为高3位。按照规则我们将sbus_rx_buffer[1]左移8位再与sbus_rx_buffer[0]按位或组成一个16位数据,最后将16位数据的高5位全部清零,就可以得到通道的输出值了

表2遥控器信息

小车底盘使用rm3510电机提供动力,通过820r电调进行控制,3510电机通过can总线进行通信,主控芯片发送带有电流数据的数据帧控制底盘的四个电机。数据帧中的不同位代表着不同电机的电流给定值,例如数据域中的data[0]和data[1]位分别代表电机id为0x201的电流给定值高8位和低8位。同时电机还可以通过can总线反馈当前电机的机械角度和实际转速,反馈的数据帧通过标识符识别不同电机。表3是820r电调接收报文的帧格式,表4是电调反馈报文格式。上述报文的发送频率为1khz,转速值的单位为rpm,电机的机械角度数值范围在0~8191之间。

表3820r电调接收报文的帧格式

表4820r电调反馈报文

由于硬件自身的因素,每个电机给定同样的电流值,电机的转速并不是一定相同的。事实上即使是同一型号的电机转速也是不同的,在实际的实验现象中,小车会出现无法行驶直线,会偏离指定的路线等。为了解决这一问题我们在小车底盘控制方面使用了pid算法。

pid是比例、积分、微分的简称,是闭环自动控制技术中一种常用的算法。本设计采用了位置式pid算法。

本设计使用的遥控器发送信号量范围在364-1684,控制小车底盘移动的信号总共三种。forward信号:前进或者倒退。rotate信号:控制小车原地旋转。left_right信号:控制小车向左或者向右平移。以接收到forward(前进)信号量对a号轮的控制为例,当forward信号量在中值1024时,小车停止前进,小于1024则相当于给小车后退的指令。在实际测试中我们测得的电调最大反馈转速值是1980,因此我们决定对小车底盘做一个速度环pid控制。速度环pid控制的具体流程如下。

1)获得比例项输出。以forward信号对任一底盘电机的控制为例,在采集到遥控器信号后与中位值1024做差,除于660,最后乘于转速的最大值1980(即将摇杆信号的期望值转换为速度的期望值)。在获得速度的期望值减去电机反馈的转速值的误差值,误差值乘于比例系数后就可以得到比例项的输出值。下式是电机a误差项的计算公式。

forward.err_a=((forward-1024)/660)*1980-speed_a

forward.kp_out_a=forward.kp_a*forward.err_a

2)获得微分项输出。将(1)得到的误差与上次控制得到的误差相减再乘于微分系数就可以得到微分项输出。

forward.kd_out_a=forward.kd_a*(forward.err_a-forward.old_err_a)

3)获得积分项输出。将(1)所得到的误差进行累加,再乘于积分系数得到积分项输出,积分项的输出需要加一个积分限幅即限制其输出的大小。防止积分作用过大,系统发生振荡,积分限幅也不能过小,过小会导致积分没有起到作用,无法消除静态误差。

4)获得forward信号。将比例项输出、微分项输出、积分项输出相加,即forward信号在电机1上的输出。

forward.pid_out_a=forward.kp_out_a+forward.kd_out_a+forward.ki_out_a

每个底盘电机最终的电流给定值由前进信号forward.pid_out、侧移信号left_right.pid_out、旋转信号rotate.pid_out各自的速度环输出值共同叠加而决定,下式是底盘电机a的电流给定值的公式。

forward=forward.pid_out_a-left_right.pid_out_a-rotate.pid_out_a

类似的,云台电机使用的是rm6025电机与底盘电机相似,rm6025也是can总线通信。通过发送带有云台电机电流值的数据帧控制电机转动,pitch轴电机id为0x201,yaw轴电机id为0x203。云台上安装了mpu650惯性测量单元,能够实时监测到云台在pitch轴和yaw轴的角度。表5是6025电机接收数据协议表格,表6是6025电机反馈数据协议表格,电机的电流范围为-5000~+5000。

表56025电机接收数据协议表格

表66025电机反馈数据协议表格

电机在反馈数据时,发送报文的频率是1khz,电机机械角度的反馈值范围在0~8191(ox1fff)之间,电机实际电流的测量值范围为-13000~13000,霍尔开关数值范围在1~6之间。

云台影响着水炮灭火的准确性和回传图像的稳定性。因此在行进过程中必须保持云台保持稳定,防止因为地形带来的颠簸,能够准确灵敏的响应遥控器的操控。为了满足以上要求,我们使用了串级pid控制算法来控制云台电机。

串级pid由外环角度环和内环速度环组成。两个环都是使用位置式pid实现。

以pitch轴云台电机为例,外环角度环的输入是期望的角速度和当前的电机反馈角速度值。输出则是作为内环的期望角速度。输入角度与当前角度做差获得角度差,再对角度差进行限幅,限幅为正负100。将现在的误差乘于比例系数,积分系数乘于当前误差再与之前的积分项输出进行累加,微分系数乘于本次误差与上次误差之差然后将这些相加就可以得到角速度环的输出。需要注意的是微分项必须加上一个低通滤波,防止微分有突变。最后对于输出也得加一个限幅转速值的最大值设定为1500,所以输出限幅也就是1500。

速度环的输入是外环的输出和mpu6050的x轴角速度值。与角速度环类似,6050的角速度值和外环的输出做差,内环的输出就是电流也需要做一个限幅,限幅值给到4600。最后内环输出的电流值还需要加一个一阶低通滤波,截止频率设为1hz。

本发明为实现自动识别火源或者火场中的人员,降低在复杂火场情况下寻找火源或者被困人员的难度,使用了openmv机器视觉模块和配套的专用红外热成像扩展板来完成对火源视觉识别的功能,openmv模块在加装长焦镜头后有效识别距离可以达到3m,对目标物体温度的检测范围在-50度到300度。在检测环境中的火源时,具体可调用micropython函数库中的感光元件驱动(sensor)和热成像扩展板驱动(fir),通过检测周围环境中的热量来识别火源,我们需要先将相机模块的像素模式设置为rgb565格式,帧的大小设置为qqvga即160x120,随后进行热成像扩展板的初始化,初始化使用默认配置,即2次幂更新率为64hz,测量分辨率设为18位。初始化时的测量分辨率影响着测量温度的最高值,分辨率位数越高测量温度的最高值越低。因为纸的燃点仅为130度左右,木头的燃点根据环境的不同在200-300度之间,因此我们只需要测量的温度最高值在400度左右即可。所以本设计选择了18位的测量分辨率,分辨率能够达到最高,测量最高温度值为450度。

通过fir.read_ir()函数可以获得所见最低温度和最高温度,在检测到最高温度超过250度时,向云台主控板发送报警信息,再由云台主控向底盘主控发送信息,最后底盘主控通过无线数传向上位机发送报警信息

本发明技术方案的优点主要体现在:采用基于麦克纳姆轮的底盘,能够实现全方位移动的功能,加上减震设计可以在多种地形上工作。小车动力方面采用大扭力减速电机作为底盘驱动电机,使车能够携带大容量的水箱或者其他灭火材料。小车采用两轴云台搭载了小型水炮和图传摄像头以及机器视觉模块。云台采用了串级pid算法进行控制,保证了小车行进过程中水炮的稳定,同时炮塔也能快速准确的响应遥控器的响应。小车还使用了openmv机器视觉模块可以根据需求对火场进行识别自动检测人体或者物体。实时图传系统可以将图像传回上位机,使人员能够通过遥控器在远离火场的安全区域对小车进行操控。上位机上可以显示小车的行驶速度、状态和物体的检测。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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