引言
随着嵌入式技术的发展,基于小型便携式识别和集群控制技术较传统计算机技术具有更广阔的应用。基于摄像头的颜色识别技术较一般传感器定位和采集技术具有稳定性和可移动等方面的优势,在生产车间自动物料配送车的循迹以及基于颜色的物料提取中具有广泛的应用前景。而集群控制作为一种新生的控制方式,在大范围、多控制对象的控制方面具有举足轻重的作用,如太阳能发电板的集群控制、风力发电机的集群控制以及大型舞台剧中的灯光集群控制。而本文中的小车集群控制是将颜色识别与集群控制的较好方式。小车位置及方向信息通过摄像头的颜色识别技术获取,处理之后传送到STM32进行校验,并通过无线模块发送出去,驱动多辆小车按指定的路线行走,从而实现集群控制。
1 系统整体构架
本文中的设计系统由智能小车和摄像头控制模块两部分组成,为满足集群控制的需要选用3辆小车,小车由两轮驱动,便于在行走过程中调节方向。每辆小车搭载NRF无线模块和测速模块,可以实现小车的旋转角度测量以及速度调整。跑道的正上方是USB摄像头,通过5m长的延长线与地面的主控板相连接。为满足数据的实时处理及多任务控制的需要,主控板采用Tiny2440四核Cortex—A9核处理器,搭载Linux系统,通过QT的设计使得操作界面美观易操作。为减轻处理器内核的负担以及确保传送指令的准确性,指令的校验工作由外围的STM32芯片处理,并通过nRF模块与小车通信。系统整体结构图如图1所示。
2 硬件结构
2.1 主控制器硬件结构
Exynos 4412采用哈佛结构设计,使得数据和代码的读取速率较高,而其特有的四核处理器具有1.5 GHz的主频,使得对摄像头采集数据的处理更加实时,并流畅支持1280× 800高清屏,可通过LCD屏指定小车路线范围,实施控制。控制器内部结构图如图2所示。
2.2 智能控制结构
智能小车对于接收指令的实时响应决定了最终的控制效果,本文中的智能小车采用意法半导体公司的STM32F103C8T6作为控制芯片,通过产生的PWM信号来控制直流电机的转速。在实际控制过程中需要涉及到小车的定向旋转,以及直线行驶的问题,于是在小车中引入了光电红外对射管作为小车的测速模块。
当直线行驶时,小车将通过测速码盘的脉冲输出来判断转速的大小,从而作出左右轮转速的调整。同时小车会将调整的结果存入到内部Flash中作为下一次启动时的调整数据,这样只要在实际运行前做测试调整,小车就会在直线行驶时,实现不同场地的阻力误差记忆。小车控制板结构图如图3所示。
2.3 小车定位方式
小车的顶部色盘必须同时具备小车位置定位和方向定位功能。由于通过形状定位的传统方式对摄像头要求过高且识别精度有较大误差,本设计采用两个圆盘的颜色识别方式来实现这一功能。小车顶部色盘如图4所示。
2.4 小车的控制指令
小车的控制数据由8个字节组成,如下所示:
其中,1、2、3、8为指令校验码,4~7为指令内容。第1个字节到第3个字节表示数据头,都是0x80。第8个字节表示数据尾,是0x81。这样只有出现数据头的字节,其后面的内容才被小车识别为有用的数据,使得小车正确运转。数据尾的出现代表对小车的控制结束。
数据内容为发送控制指令的具体形式。小车有以下几个命令。
2.5 小车搭载色盘颜色的确定
由于USB摄像头采集到的颜色数据为YUV格式,需要将其转换成RGB格式来显示。所以在确定小车搭载定位色盘的颜色时需要选定特殊的颜色,以使得采集到的数据容易被分辨。本设计在原色选择时采用Y、U、V为三维坐标轴使得色盘的YUV分量之间存在一定差距,再通过公式将其转换成RGB基色值。[page]
3 软件实现
3.1 主控软件系统
软件平台为Linux Kemel 3.5、Qtopia-2.2.0;交叉编译环境为嵌入式QT、arm-linux-gcc;开发语言为C++。
3.2 颜色识别算法
此模块在一个线程中,先读取配置文件,得到各个颜色的Y、U、V平均值,然后从摄像头取得一帧的图像,按行扫描每个像素,根据Y、U、V平均值确定Y、U、V的阀值对像素的Y、U、V值进行匹配,从而确定像素的颜色。程序把各个颜色的像素点分类,同一颜色的像素点坐标放在一起,然后算出同一颜色像素点的中心坐标。然后通过表1对应到小车的坐标。
得到3辆小车的中心点坐标和方向点坐标后,存放在内存中,供其他模块调用。摄像头采集数据流程图如图5所示。
3.3 集群防碰撞控制算法
集群小车在行走的过程中为了防止相互之间的碰撞,必须采用相应的防碰撞措施。在本设计中采用角度与距离来实现防碰撞控制,当小车1和2之间的距离L
3.4 小车控制软件流程图
小车控制软件流程图如图7所示。
4 整体性能测试
为防止因环境颜色和光照的影响,测试场地为一块2 m×3 m的长方形布料,刚好是摄像头的拍摄范围。
①小车测试。通过直线行驶指令,将小车放在测试场地中,使小车直线行驶一段距离。小车将获得两个不同的PWM信号占空比,作为下一次启动时的配置参数。
②小车顶部色盘像素的采集。为消除因光照强度所引起的颜色误差,需先将与小车顶部色盘相同颜色的纸片放在场地中间,摄像头将采集这一坐标的像素值作为参考值,用于实际测试过程中的颜色识别与定位。
③为小车设置起跑路线图。通过LCD屏,在上面为小车指定运动的路线图,其后小车将按照设定的轨迹行走。行驶过程中小车很好地实现了集群之间防碰撞的功能。
小车路线图如图8所示。
结语
基于颜色识别的集群控制系统,可以通过颜色的采集来实现定位,是自动控制和人工智能方面的一种可行方式,具有运行稳定、使用方便的优点。而多控制对象的集群控制理论的研究,使得多目标协同工作成为可能。基于此模式的智能控制设备具有广阔的应用前景。
上一篇:基于嵌入式LINUX的智能车载终端系统的设计
下一篇:基于ARM的智能避障小车设计
推荐阅读最新更新时间:2024-03-16 13:54
设计资源 培训 开发板 精华推荐
- 柔灵科技陈涵:将小型、柔性的脑机接口睡眠设备,做到千家万户
- 微灵医疗李骁健:脑机接口技术正在开启意识与AI融合的新纪元
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 景昱医疗耿东:脑机接口DBS治疗技术已实现国产替代
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计