下午好,亲爱的读者,你的注意力放在了一个项目,开发一个系统,触摸控制的小飞艇。
管理的任务是在该行上飞艇的运动。还实现了一个简单的远程控制系统。
控制的对象是一个小型飞艇设计的椅子,Tsure的EIM。
图1 - 小型飞艇的一般看法
。
该项目的目标是:开发行的检测(运动路径)视觉系统;发展过程中的控制器,考虑到相对于该飞艇的行的行位置和角度的因素;发展高度调节;开发一个远程控制系统。
1。任务和任务 H4>的分析,制定一个系统的触摸控制是基于一个小型飞艇设计的EIM部。
赠送飞艇包括在公共部分,即各种箔气球的壳。
小型飞艇的硬件部分由
的
- - SBC树莓派;
- - 万维网相机全国联保WideCam 1050;
- - 超声波传感器高度HC-SR05;
- - 两台电动机;
- - 伺服偏转推力;
- - 电源子系统 LI> UL>旋转迷你绕垂直轴飞艇是raznotyagom引擎。调整在垂直轴上的承载飞艇推力矢量发动机的高度。
飞艇引擎必须设置最大旋转速度在3200的能力。 /分钟。工作电压7.4伏的电动机。引擎从飞艇的中心间隔开,在25厘米,而且是在飞艇的最低点。
2。视觉系统 H4>
2.1。视觉系统的框图 H5>
图2 - 的技术愿景小型飞艇的系统框图
。
视觉系统包括硬件和软件部件。硬件部分是与有线连接,这已经通过所产生的信号格式MJPG的软件部分。
在硬件部分包括一个网络摄像头。
作为该计划的一部分,包括:
- - 驱动摄像头用于视频和图像格式MJPG就业相机设置;
- - 图像处理模块
2.2。功能电路的发展 h5的>在视图中选择的处理方法和算法,用于确定线路的位置是在软件实现以下子任务的标识(其将在下一章节下讨论)的方法:
- - 配置内部摄像机参数;
- - 获得与相机拍摄照片;
- - 转换图像格式的MJPG的色彩格式HSV;
- - 通过颜色匹配的交点来组织搜索;
- - 执行的算法来确定交会点的坐标,
- - 过滤掉没有用的信号;
- - 实现一体化装置FCZ与功率调节器的方向。 LI> UL>获取摄像机的图像,并转化为分配到库opencv的HSV颜色格式。
2.3。该算法 H5>如你所知,在空间任意两点可铺设平直。在这种情况下,视觉系统小型飞艇之前寻求铺设线路的定义。图像处理的第一阶段将是寻找这两个点,将其放置我们的线。
找出我们的图片感兴趣的领域找到这些点。感兴趣的最佳位置区域将是空白Mezhuyev帧和2/3的1/3垂直部分。如图4所示,蓝色线。
图3 - 关注最佳位置区
。
感兴趣的标准最佳位置区域是一个事实,即所感兴趣的区域的下部是由微型飞艇垂直向下,而顶部是不是帧,这最大限度地减少了图像区域的失真的边界。
每个区域的高度是10个像素。
交点与所指定的对应的像素的颜色所定义的直线的点。视觉系统HSV色彩空间。
对每个感兴趣区域的算法的第二阶段。
1.确定一种预定的颜色出现,其宽度从摄像机接收到的帧的宽度阵列中。每个阵元是在感兴趣的塔区10个像素的平均值。因此,平均的色彩噪声从相机的到来。该数组有3排,每一个对应于信道的HSV。在输出端,我们得到的一维阵列,其中的“1”的值表示对应于一个给定的彩色的象素地址,值“0”表示的像素是不特定的颜色不匹配的地址。
<代码>对于(X = 0; X<宽度; X ++){偏移量= X * N沟道;为(Y2 = 35; Y2< 46; Y2 ++){UCHAR *数据=(UCHAR *)(HSV-GT&;为imageData + Y2 *步骤); R =数据[偏移+ 2]; G =数据[偏移+ 1]; B =数据[偏移] H [y2-35] = B; S [y2-35] =克; V [y2-35] = R; } H [10] =(八[0] + H [1] + H [2] + H [3] + H [4] + H [5] + H [6] + H [7] + H [8 ] + H [9])/ 10; S [10] =(S [0] + S [1] + S [2] + S [3] + S [4] + S [5] + S [6] + S [7] + S [8] + S [9])/ 10; V [10] =(ⅴ[0] + V [1] + V [2] + V [3] + V [4] + V [5] + V [6] + V [7] + V [8] + V [9])/ 10;如果((八[10]< H1&安培;&安培; H [10]≥H2)及&安培;(ⅴ[10]≥■)&安培;及(S [10]≥节)){圣[X] = 1;}其他{ST [X] = 0;}< /码> PRE>
2.测定相交的区域的左和右边界的。
根据所输入的数组被填充相同尺寸的两个阵列。叫他们ST1和ST2。填充实现算法阵列循环,其中某些变量的增加而线性地,如果输入的数组的元素是1,且呈指数下降时所考虑的元素等于0,并且被记录在下一数组元素st1的。以形成所述阵列st2和输入数组是从端部观看。其结果是,ST1和ST2数组可以用图形表示如下(图5层)
图5 - 数组ST1和ST2的图形表示
。
有用信号的颜色定义最广泛的地区。噪音小误报,它可以在记录图7的坐标x的最大元素红色图形(ST1)观察到的,是右侧横跨感兴趣的区域中的行。在x的蓝色图形(ST2)的最大元素的坐标,是横跨感兴趣的区域中的线的左侧。
清单
<代码>双总和= 1;双SUM2 = 1;对于(X = 0; X<宽度; X ++){如果(ST [X] == 1){总和=总和+ 1; ST1 [X] =总和;}其他{总和=总和/ 1.05; ST1 [X] = SUM;}如果(ST [宽x] == 1){SUM2 = SUM2 + 1; ST2 [宽x] = SUM2;}其他{SUM2 = SUM2 / 1.005; ST2 [宽x] = SUM2} }< /码> PRE>
阵列ST1和ST2形成后,该数组中的最大元素,所述交叉区的所计算出的中心。通过将所描述的步骤,所述第二交叉区域,在出口处,我们点,通过该脱落的坐标。
应用常用的方式定义信任区中的下一帧,如在先前的设备中没有使用,因为这样的方法和显示噪声的输出参数可以接受的结果。也使用这种方法,也不会降低CPU使用率,因为我们只处理多个枚举两个阵列具有176个像素的宽度,所有的图像的分辨率为176×144像素。
3。调节方向 H4>
3.1。在控制系统中的控制器的方框图 h5的>
图4 - 控制方向的框图
。
软件实现包括:
- - 模糊控制器;
- - 数学计算模块支点线;
- - 禧玛诺软件 LI> UL>的树莓派的硬件包括一个处理器。 bcm2835,连接工作方案志摩的GPIO结果。
硬件实现包括:
- - 驱动引擎L293DNE;
- - 左,右电机 LI> UL>控制器的框图,包括方案的方向,基于模糊控制器上。去模糊算法是一种算法的Mamdani。
应用软件是因为缺乏志摩使用SBC树莓派的硬件志摩。
电机驱动器是用来放大PWM信号。
3.2。模糊控制器的设计。 H5>到
3.2.1。的创建的系统的输入和输出的定义。 H6>至于上线的精确传递迷你飞艇被认为是从飞艇的轴线偏离,并且绕同一轴线上,分别在控制器的输入参数来设置变量偏差( OFF)和旋转(PIW)。调节器的输出变量将输出PWM信号,以百分比的参数。在左侧发动机输出变量的影响被指定为(LEV),右发动机,分别为(规则)
3.3.2。任务为每个术语的隶属函数的输入和输出变量的 h6>等输出配件上左和发动机的右侧将必须被设置,想通的直流电动机的PWM相对影响非线性参数。但随着飞艇的飞行速度显示小偏差线性马达,在条款设置一个理想的发动机绝对的线性特性。
图5 - 浴场输出变量LEV和规则
。
输入变量是从飞艇线的纵向轴线的偏差,并转动该轴的线被作为视觉系统的结果和所述模块,其中有一个照相机的失真性能的角度的数学运算获得的。指标照相机失真可以被放置在输入项关和经纪人。因为定位和轨迹线出的精度没有要求,失真的性能可以被忽略。在这个任务中,这个词调图像失真相机或调整对他们的条款。温泉被周围变化,这是一个充分条件的系统的运作。
图6 - 千卡关和经纪人
。
3.2.3。开发的推理规则库来实现模糊系统 H6>制定规则库需要指定的语言变量(项)容易理解的名字。
图7 - 这个词的指定
。
<表> 1关 - 硬左
。
关2 - 向左
。
关3 - 中心
关4 - 右
。
OFF 5 - 强烈的权利 TD> 1架。 - 硬左
站在2 - 左
。
站在3 - 中心
。
站在4 - 右
。
站在5 - 很难正确 TD> LEV 1 - 。非常弱
LEV 2 - 弱
。
LEV 3 - 中
。
LION 4 - 强烈
LION 5 - 非常 TD> 的权利。1 - 非常弱
第2条 - 弱
。
权利3 - 中
权利4 - 强烈
规则5 - 非常 TD> TR> TABLE>因此,这些名称,考虑到小型飞艇控制raznotyagom引擎建立通信术语
。
阻止规则:
<表> 如果关强留,狮子座是很微弱的规则是非常强烈的。
如果禁用左,狮子座是微弱的。和强
权
如果偏离中心,狮子座的平均水平。和右中。
若脱吧,狮子座的长处和弱的权利。 TD> 若脱强烈的权利,狮子座是非常强的。和规则是非常弱的。
如果经纪人极力留下,狮子座是很微弱的。和规则是非常强的。
如果站到左边,狮子座是弱。和强
权
如果站在正确的,狮子座的长处和弱的权利。
如果经纪人强烈的权利,狮子座是非常强的。和规则是非常弱 TD> TR> TABLE>你可以看到,对于输入变量站没有连接的平均水平。这是由于这样的事实,即当正确定向相对于飞艇线,并从它的偏差,马达拉动的输入值是什么错误的飞艇的这个位置上,中间的平均术语的纵向轴线。
在这个系统中,模糊算法是一种算法的Mamdani模糊化。
该算法描述了几种顺序执行步骤,每一个后续级的输入是在以前的步骤中得到的值。
3.2.4。模糊系统的过程分析 H6>
分析的操作。构建了相关的肖像调节。在下面的附图中的Y轴是输入变量支架,X轴输入变量为OFF。该像素的颜色对应于用于每个电机, - 最小白,黑的输入变量 - 最大
图8 - 相关画像的模糊系统的发动机中,相关的画像的交点的左侧和右侧的输出值
。
最后的图中,我们看到交叉相关的两个人像与使用选择的像素具有相同的颜色和位置的结果。从该交叉点的结果可以在任何输入来确定条件是发动机功率相同的值。边缘上的特征黑色的方形区域给予的边界条件,被截断的顶部。
下面是对在以红色标记的帧位置的线模糊控制器中的模拟的结果。右侧的视频中,可以看到用于左侧和右侧发动机PWM信号电平,分别。左•奇斯蒂位于输入和输出方面的洗浴用品。
4。高度调节器 H4>
4.1。控制器的框图 H5>
图9 - 高度调节器的框图
。
软件实现包括:
- 在PI上的模糊逻辑控制器;
- 数学模块计算距离;
- 软件志摩; ul>树莓硬件PI是由处理器bcm2835,连接工作方案志摩的GPIO结果。
硬件实现包括在 - 在伺服矢量推力发动机;
- 超声波传感器HC-SR05。 LI> UL>
4.2。模糊控制器的设计 H5>到
4.2.1。的创建的系统的输入和输出 h6>等定义
模糊控制器的输入参数是从所希望的高度的误差。输出变量是混合控制器的PI组分的比例部分。
积分是整个系统的输出,实现了多么累计变量代表了伺服的位置。
4.2.2。任务为每个术语的隶属函数的输入和输出变量的 h6>等定义输出附件而言,导均匀分布的术语的表面上。模糊系统的输出的非线性是由输入变量来定义。
图10 - 特雷门输出变量OUT
在下面的图中示出的高度的输入变量的误差项。
图11 - 浴场输入变量高度
4.2.3。开发的推理规则库来实现模糊系统 H6>制定规则库,你必须定义语言变量(项)容易理解的名字。
图12 - 指定期限
<表> 身高1强偏差下来。
身高2 - 向下偏转
。
身高3 - 不走样
。
身高4 - 向上偏转
。
身高5强偏差顶 TD> 输出1 - 高正
输出2 - 积极
输出3 - 零
输出4 - 负
输出5 - 高负 TD> TR> TABLE>
责任是建立了直接的联系的术语。
阻止规则:
如果height:强偏差下,输出:高正
如果height:向下偏离,输出:积极
如果高度:无偏差,输出:零
如果height:向上偏转,输出:负
如果height:强偏差顶部,然后输出:高负
5。远程控制系统的日 h4>的远程控制系统中的扭矩的发动机的差的管理来实现。从计算机游戏按压时借用实施原理实现转矩和释放的光滑偏差 - 平稳返回,所以可以在一定程度上保持了牵引电动机之间的差异。
通过信令通过ssh无线信道的Wi-Fi,其中陆地栖息地的基础(PC)键盘接口传送到远程计算机按键。
发送视频流做同样的方式,因为SSH协议使我们能够观察到远程计算机的屏幕。
6。该系统的实验研究日 h4>该设计的系统进行了研究,在实验室。视觉系统检测线的位置并将其发送到控制器单元的方向上的交叉点的坐标。
招聘视觉系统
跨度小飞艇
调整高度和方向的系统的稳定导通实现申请系数。比例增加模糊系统的输出效果。
图13 - 推力矢量和高度传感器飞船的规定。指定80厘米的高度。
对所获得的数据中,我们看到一个高噪声的信号与系统中的发展的传感器错误未使用滤波器信号。该理由不使用过滤器是信号传感器检测,其显示了传感器的无大噪声的信号。