本系统采用了两种不同的方案来进行远程的智能小车控制,小车只需要加上个无线模块来接收无线信号,便可以实现远程控制方案。
在本系统的两个方案中:
方案一,没有复杂的组织结构,同时不需要如此多的设备。
方案二,由于采用的是有线设备,同时由于采用的是C/S结构,那么其相对比较稳定,同时可在任意可连接上网络的地方来进行,远程控制。
简化为框架图的系统组成:
由于在控制上采用B/S结构,因而在用户端的设备选择上我们可以选用:
等设备。
而对于移动台的选取,本系统采用的是智能机的简单方便,由于在小车与控制之间不需要太多的交互,只需要简单的下达指令。因而,我们采取的是这种方案,同时也可以借由计算机、平板等带有无线网络的方案来控制。
在设计方案的时候,由于需要考虑多种因素,及为了对整体有个更好的把握,对此采用了思维导视的方法进行设计。那么,总体的结构可以很清晰的由下图看出。对于小车的设计将它划分到下一部分,那么这一层的设计就主要依赖于软件及设计。
在开发及语言上的选择,客户端采用了QT作为GUI方案,移动台采用python作为主要语言。相比其他语言,脚本语言的python可以一次编写多平台运行,同时即编写即运行,无法编译,而且可以在目标机上运行。
由于调试及管理的需要,及系统的完整性。在设计调试系统的时候,采用了与无线通讯相结合的方法。
同时,我们知道操作系统其核心本质就是资源管理,也就是涉及RAM、文件系统等等。
根据系统硬件的选择及与软件结构的设计应该与系统剥离的原则,独立出系统的软件结构。
整个系统由以下几部分组成:传感器、舵机、直流电机、无线模块、测速等结构组成。在考虑了,无线设计、拓展等原因后采用了以下设计。
MCU控制了整个系统的大总数模块,将拓展算法及预测算法移至子系统,用子系统优化和控制小车速度及转向等。
本系统采用的是uC/OS嵌入系统,由于该系统对于系统的开销相较于其它系统开支比较低,可在51单片机等系统运行。因此,本系统采用了此系统,同时采用嵌入系统有利于程序开发,可实现应用层与系统层的剥离。
与其它操作系统相似的是,uC/OS具有相似的内核结构。由其带来的系统花销,可由此来抵消。
如图所示为,本系统的软件总方案。
在选择无线模块时,本方案首选蓝牙模块,同时也为其他无线模块预留了接口。因而,我们为此设计了简易的通讯模块。
那么对于IO口的处理也就是以下的模型。
蓝牙模块程序设计
由于无法保持无线连接处于通讯状态,因此,也应当避免指定每一步采用并发策略的类型或同步的类型。于是,需要转为为每一步提供一个特定的选择。如图如示:
蓝牙模块程序概述
在整个模块的设计中,由于小车可能处于主、从机状态,因此得接收指令和返回指令。同时,在pys60上采用的是socket协议控制蓝牙。因而,将此程序简化为UML图,也就是下图的模式。
在选择系统方案时,本方案优先考虑了uC/OS,由于其运行花销低。同时,由于在编写程序的时候可以减少平台的关联度,也方便了程序的移植。
采用uC/OS操作系统的设计,使得整个程序在任务的调度上有着更好的可操作性,同时在某种条件下可以将整个系统的多任务设置为并发执行。Main函数初始化了系统,同时创建了一个任务。而这也是uC/OS的任务管理机制,由于uC/OS有着良好的时间控制能力。因此,系统在定时事件等上有着更好的可操作性。同时,可以处理多I/O事件。
示例:
voidmain (void)
{
OSInit(); //初始化操作系统
OSTaskCreate(TaskStart,(void *)0,&TaskStartStk[TASK_STK_SIZE-1],1);//创建启动任务
OSStart(); //启动操作系统
}
voidTaskStart(void *pdata) //启动任务
{
pdata=pdata;
OSTaskDel(OS_PRIO_SELF);
}
在摄像头方案智能车控制系统的软件设计中,程序的主流程是:通过外部中断采集程序对摄像头的视频信号进行采集,主程序在两次外部中断的间隙中完成对数据进行处理及计算并给出控制量,采样周期为20ms。其中,主程序中主要完成的任务是:单片机初始化和黑线提取算法;图像滤波算法;舵机控制算法及驱动电机算法。
简易算法
在行驶路径上,小车只有两种情况,即弯道和直线,而在这时可视为其是连续的,也就是我们可以通过此来完成对小车路径的预测及速度的控制。
在平面上的任意三点,我们可以由一条曲线来表示,同时可以由此来推测第四点位置的存在。任意的三点可以由算法算出曲线的方程,也就是当这四点在X方向上距离相等,或当图像为平面视图时,采用相对等距的方法来算出第四点,进而借此而预测第四点。
那么,假定我们设这四点的y坐标分别为y1,y2,y3,y4那么,y4=y1+3*y3-3*y2。
同时,可算出该曲线的一元两次方程,并可算出其转向角。进而,可以通过此,来控制小车在转向时的行驶速度。
也就是我们可以将此算法简单叙述为右图。
首先,由上一步的图像处理获取、存储点的坐标,同时,由简单算法计算出这几个坐标的位置。再由此预测下一点的位置及转向角。进而达到预测和控制速度的目的。
分享到:
相关推荐
标题 "freescale单片机电子琴设计" 涉及到的是基于飞思卡尔(Freescale)单片机的电子琴项目开发。在这个项目中,开发者使用C语言编写了控制程序,使得单片机能够模拟出各种音符和音乐效果,实现一个基本的电子琴...
Freescale 8313 设计大包分享(含芯片文档,使用该芯片进行硬件设计指南, 参考板原理图,参考板使用手册) 通知 MPC8313E_HardwareSpec_88pages.pdf 1.5 MB, 下载次数: 1040 , 下载积分: 资产 -2 信元, 下载支出 ...
【标题】"Freescale_同步电机完美驱动方案"揭示了飞思卡尔(Freescale)在同步电机驱动技术上的专业见解与创新解决方案。飞思卡尔是一家全球知名的半导体公司,其在微控制器(MCU)和功率管理芯片等方面拥有深厚的...
书名:Freescale系列单片机常用模块与综合系统设计实例精讲 作者:张跃常 戴卫恒 编著 ISBN 978-7-121-11090-0 出版日期:2010年7月 定价:49.00元(含光盘1张) 开本:16开 页码:368页 编辑本段内 容 简 介 全书...
Freescale是一家全球领先的嵌入式处理解决方案供应商,尤其在微控制器(MCU)、数字信号处理器(DSP)和应用处理器方面具有深厚的技术积累。这家公司在汽车电子、工业控制、网络通信以及消费电子等多个领域都有广泛...
单相电表方案是基于MCF51EM256微控制器(MCU)的解决方案,展示了该MCU在电表计量应用中的能力,并包括...整个方案设计旨在提高电表计量的准确性、可靠性和用户交互性,为电力公司和用户提供了一个强大的电表解决方案。
确保在产品设计中考虑到安全措施,如使用加密和安全引导机制。 **注意事项** - 在解锁过程中务必小心,避免对单片机造成永久性损坏。 - 遵守所有版权和授权规定,不要尝试解锁未经授权的设备。 - 在解锁前,确认你...
freescale TPMS 白皮书 飞思卡尔 轮胎压力
MC68HC908LJ/LK系列则是带有液晶驱动的单片机,集成有红外通信功能,支持多种通道,显示了Freescale在嵌入式系统设计上的灵活性和创新性。 总的来说,Freescale单片机涵盖了广泛的应用场景,从简单的控制任务到复杂...
【标题】"freescale驱动板PCB"指的是基于Freescale微处理器设计的电路板,主要用于智能小车竞赛中的驱动系统。Freescale是一家知名的半导体公司,现已被NXP(恩智浦)收购,其产品广泛应用于汽车、工业、物联网等...
本资料集主要关注Freescale的电源管理解决方案,尤其适合那些对Freescale硬件平台有需求的技术人员。 "LM2940.pdf"这份文档很可能是关于LM2940稳压器的详细技术手册。LM2940是一款低压差线性稳压器,常用于为电路...
安捷伦(Agilent Technologies)与Motorola全资子公司Freescale Semiconductor最近共同推出一个经济的无线光学鼠标解决方案。该参考设计结合了Freescale的MC68HC908JB12 的USB微控制器和MC68HC908QY4 微控制器以及...
CAN(Controller Area Network)是一种广泛应用于汽车电子、工业自动化、医疗设备等领域的串行通信协议,以其高可靠性、实时性和错误检测...这不仅可以提高你的专业技能,也是在嵌入式系统设计中不可或缺的一项技能。
Freescale,现已被NXP半导体收购,是一家知名的嵌入式处理解决方案提供商,尤其在汽车电子领域有着广泛的影响力。XS128是Freescale的一款高性能微控制器,常用于对处理能力和实时性要求较高的应用场景。 描述中提到...
Freescale 系列单片机常用模块与综合系统设计,本书籍是介绍飞思卡尔8位单片机的书籍,里面介绍了常用的模块,也有几个综合设计的案例。
根据给定的信息,我们可以深入探讨飞思卡尔(Freescale)汽车电子解决方案中与车身相关的技术及应用。这些解决方案不仅涵盖了传统的汽车控制系统如发动机管理和变速器控制,还涉及到了车身控制模块,例如后视镜、...
手册也声明了Freescale Semiconductor不授予其专利权或其他权利的许可,并强调其产品不是为以下应用设计或授权使用的:植入人体的手术系统、其他用于支持或维持生命的系统,或任何可能导致个人伤害或死亡发生的其他...
在本文中,我们将深入探讨Freescale系列单片机的常用模块及其综合系统设计。Freescale(现为NXP半导体的一部分)是全球知名的微控制器制造商,其产品广泛应用于各种嵌入式系统中。Freescale系列单片机以其高性能、低...