原创 自动交通工具导航系统的广泛应用

2007-12-10 21:25 2421 5 5 分类: MCU/ 嵌入式
MS Ramaiah School Of Advancecl Studies
参赛队员:Debashies Pradhan
                                Sved Musthafa Ali
                                Magendra
指导教师:Cyril Prasanna Raj.P

一、系统概述
现在微控制器和信号处理器是嵌入式控制器的基本实现平台。但是通常它们的性能不能与实际应用的需求同步,例如在机电一体化系统中就是这样的。通常,在这种情况下需要一个更快的控制器来代替微控制器。然而这样在实时应用中仍不可避免地遇到软件问题,即使所使用的是高级语言,况且通常都使用汇编语言。另外,还存在一些与更高的时钟频率和能量消耗有关的问题。

另一方面,现场可编程门阵列(FPGA)非常适用于高速应用,因为信息处理可以并行进行。但是它们通常都缺少通用的数学函数库,因此控制和滤波算法的实现不得不消耗很长的时问,要进行大量的处理工作。


现在的现场可编程门阵列提供大量的逻辑门,甚至一个处理器核也可以内部实现,这样可以只使用一个集成电路而实现信号处理的硬件和软件两者的作用。这样,一些现成的软件就可以直接应用,并且只有一些对性能要求很高的算法需要用硬件来实现。


    在这个设计中,我们试图利用处理器核和可重构硬件逻辑的概念来控制一种自动工具/
机器人取得一些应用,如安全系统、防卫系统以及水F导航系统等。


    我们所提出的构想的基本模型包括一个用来控制航海工具的自动运行和对机器所执行的功能进行跟踪的可重构的硬件。处理器控制步进电机/直流电机以一种预先确定的模式T作,这种模式是随着从传感器输入的信号来改进的;从超声波传感器输入的基本信号来帮助系统的导航。


这个设计的结果是来证明网络输入输出系统(Nios)处理器和ALTERA公司的现场可编程门阵列在工业自动化应用领域中的应用。改进后的模型可以应用于防御系统和工业应用(主要指当人的干预变得很困难的时候)。这个模型证明了Nios处理器在控制系统领域中的应用。使用蓝牙模型和射频/红外模型将足一个挑战。下面给出所作设计的基小结构框图,如图1所示。



l一超声波收发机;2一静态存储器;3一图像处理系统;4~通信模块;5一尢线系统:
6一具有驱动器的步进电机/直流电机:7一照相机;8一电源
    图1设计结构框图


1.设计应用
  1)自治水下导航工具
自治水下工具(AUV)具有潜在的优势来帮助我们解决航海局所面临的关键问题,例如水下搜寻和绘图、气候变化预测、海底环境监视和浅海区鱼雷侦测等。导航是现在AUV研究中的一个主要的难题。


导航对于任何一种形式的移动工具来说都是一种重要的需求,对于自治的水下交通工具来说更是如此。良好的导航信息对于一个自治的水下交通工具的安全操作和防御来说是至关重要的。由于AUV的数据采集是非常重要的,所以必须对所需数据进行精确的定位。一些对于AUV来说也很重要的因素,如声波传播的影响等,在海洋环境中是惟一的。


其他方面的问题,如管理不确定性问题,属于移动机器人技术的研究领域。AUV导航的新技术具有潜在的优势,可能应用于在自然环境或地面和空中的动态环境中运行的移动机器人。
2)自治保安机器人
机器人保安(站岗)应用具有一系列特点,这些特点使它可以满足要求,并且克服传统的无人控制地面交通工具(UGV)的弱点:
(1)不像战场侦察、监视和目标获取(RSTA)应用那样,这时的操作环境是提前已知的,通常处于友好环境下,而且在一定程度上有时可以改变环境来适应机器人的操作。
(2)由经验可知,自治保安机器人的成本总量有所减少,并且非机器人安伞措施给机器人的成本/利益的权衡提供了一种很好且可信的基准。
(3)自治保安机器人不会在长时间的监视中感到无聊以至于降低警惕性。
(4)自治保安机器人不会发生监守自盗的事情。


3)为残疾人设计的移动机器人
 具有严重身体残疾的人在日常生活中需要帮助,例如穿衣、吃饭、刷牙、挠痒、喝水等等。他们同样需要别人的帮助来完成工作。他们通常需要一个或更多的私人助理来帮助他们。不同的技术装备,例如一个移动的机器人,可以代替或者帮助个人助理进行工作。


 私人机器人可以分为三类,每一类提供一种不同的基本解决方案:
    固定的私人机器人。
    装在轮椅上的私人机器人。
    可移动的私人机器人。


 4)失明儿童的导向系统
  失明儿童通常通过盲文来接受教育,他们习惯于使用盲文而且可以用盲文来阅读。在我们提出的这个设计中,我们研究了一个导向系统,它可以在失明儿童想骑自行车时给他们指引方向。在这个系统中安置了传感器,它可以检测到障碍物并发出一种声音来指引儿童们向左或向右转,它同样可以指引他们向前或向后移动。


  2.为什么要用Nios处理器
微电子学和可编程逻辑器件(FPGA and CPLD)的快速发展,开辟了嵌入式系统中的控制和信号处理的数字实现的可能性。微处理器和数字信号处理器的兴旺发展表现为一种与灵活的且可改编的软件结构相结合的有效的硬件。可编程逻辑器件的性能好坏由它的灵活性和快速的硬件结构来表征。所有这些技术都表明开创了可重新配置的控制器的一个新纪元。这些技术使得基于硬件的控制器可以在操作过程中通过改变硬件结构来改变,以适用于特殊的应用环境,这样可以减少必需的门阵列的数目和功率需求。


普遍的、可用的动态可重构计算机结构的发展也带来了一螳问题。系统的动态可重构性是通过在运行时间内改变某些分量来激活的。除此以外,重新配置通常需要某种操作系统来控制和监视系统的重新配置过程。
   
重新配置过程的基础是由现场可编程门阵列的配置文件来构建的,它代表了某种应用所需要的资源。它们用来对所需要的资源进行分配。事实上,重新配置能力也同样带来了成本增加。通常,一个问题的多种任务的解决方案都是必要的,这样才能保证所有的任务可以同时被加载和连接。
   
然而硬件实现并不是一个通用的解决方案,因为时序的算法更容易由软件来实现。因此,处理器和可编程逻辑器件的组合可以提供更好的性能。为了提高系统的灵活性,把处理器的核心集成到PLD上作为软件的核心,比另外增加一个外部的处理器要明智得多。产品的周期在机械工程和汽车工业中比在IT业中要重要得多。因此,在第一次发展中大量使用的处理器和其他集成电路已不再具有竞争力,或者甚至在以后的产品中将不再考虑其使用寿命。


目前,硬件控制算法的规范都是在硬件描述语言(HDL)的基础上来表征的。然而,这并不是机械领域中的发展研究工程师所采用的方法,他们更喜欢像框图编辑器等这样的工具,而硬件描述语言只提供了一些低水平的算术函数,其余的将由开发者或可编程逻辑器件的生产厂商自己提供。


 ALTERA公司生产的可编程逻辑器件可以最好地支持上述提到的概念,对于任何一个工程师来说,学习使用这种软件和硬件来设计复杂的应用系统都是非常容易的。像SOPC Builder、Quartus II这些具有Nios系统开发工具包的开发工具,可以在很短的时间内用以设计和绘图。


我们可能需要运行时间来重新配置,这可以由Nios核来支持,它可以随着装在板子上的传感器所接收到的输入来改变。
 以下是使用Nios开发工具包的一些基本优点:
(1)由于我们的系统具有很多从传感器接收到的输入,因而系统的运动应该根据每一个输入而设计,而且这是可能的,因为我们可以在主程序中包括两个以上的逻辑,这些逻辑由依赖于接收到的输入的Nios处理器来执行。
 (2)设计可以在运行过程中完成。
 (3)可以支持16和32位的结构。
 (4)与其他精简指令集计算机处理器相比更灵活。
 (5)SOPC和Nios处理器的概念非常容易理解,而且非常容易结合硬件和软件概念来绘
m设计图。
    存我们的设计中,F面是可由开发工具包支持的外部设备:
    (1)超声波传感器四个,为了跟踪四个方向的距离。
    (2)步进电机驱动电路,为了控制电机的前后运动。
    (3)直流电机驱动电路,以取得灵活的速度控制。
    (4)自动/手动控制设备,移动工具运动所需使用的红外传感器的手动设备。
    (5)获取图像所需的图像处理系统。
    (6)传输所得数据和定位交通工具所需的通信系统,为了与其他交通工具进行通信,需要使用无线通信系统。


二、功能说明
Nios系统具有从四个传感器(超声波传感器用来发现障碍物或测量障碍物的距离)接收的8位输入,每一个传感器产生两位输入,其最高有效位(MSB)代表电机的运动。如果最高有效位为l,则认为某一个特定的电机在运动,其最低有效位(LSB)决定步进电机的旋转方向是顺时针还是逆时针。


    步进电机M1主要用来控制机器人基本的向前或向后的运动。
步进电机M2主要用来改变系统的运动方向,即根据障碍物来决定是向左转还是向
右转。
    步进电机M3主要用来移动系统的运行方向向上或向下,这主要是按照存储在存储
器中的预先确定的逻辑或算法来控制的,这些都是由Nios处理器来完成的。
    步进电机M4用来控制和释放物体。


用来控制步进电机的现场可编程门阵列的输出是不足以(如果超过5V)驱动电机的,冈此需要一个驱动电路,这里把ULN2003用作为驱动电路。


    超声波传感器可以按照障碍物的距离来产生两位或四位的输出,进而来驱动具有预先确定的逻辑的步进电机。传感器可以测量最远10m的距离。


由于时间有限,上面提到的其他应用我们没有实现,然而这个完整的方案是分阶段开始实行的,在第一阶段的最后,下面提到的模型(如图2所示)已经实现并用ALTERA公司的开发工具包取得了验证,它的结果也给出来以供参考。



图2所作设计的工作模型


三、性能参数
    在这个设计中分别控制了四个电机,并对算法进行了测试。通过把双列直插式开关作为输入信号输入到超声波传感器上来控制电机,可以发现电机可以按照从双列直插式开关得到的输入而向前或向后、向左或向右运动。


    我们在使用中所选的电机可以以200ms的时间周期来工作,并且在每一挡中可以转
动7.5°


    我们发现实验取得的结果是合理而令人满意的,并且该实验结果完全可以满足设计的需要。


  1.Nios处理器的性能
  系统包括:
    32位的Nios中央处理器(CPU)核。
    串行端口(115、200波特率,N82)。
    内部只读存储器,具有自带的启动监视程序。
    连接到256K的O为等待状态的外部静态存储器的接口。
    连接到1M的外部闪存的接口。
    连接到发光二极管的并行输入/输出端口。
    串行端口(115、200波特,N81)用于调试。
系统工作的时钟频率为50MHz。
  Nios处理器具有很多预先确定的函数,这使得系统的设计比较容易。由于我们的设计还处在初始阶段,所以我们还不能完全理解Nios处理器的性能,在下一阶段中我们将可以分析系统的性能。


  与在专用控制器上实现的设计相比,将设计阶段中所说的各种复杂的操作描绘出来是非常困难的。下一阶段将给出更多的结果。


   2.实现细节
(1)系统的输入。
    时钟:50MHz;
    复位:1:
    RS232(串行接口):115200比特率:
    双列直插式开关(用来仿真传感器的输入)。


  (2)系统的输出。
  步进电机的输出(连接到驱动电路):16位(每一个电机有4位)。


  (3)其他默认的输入和输出。
    C语言编码(按照预先确定的逻辑来控制步进电机)如下:
图2所作设计的工作模型


三、性能参数
    在这个设计中分别控制了四个电机,并对算法进行了测试。通过把双列直插式开关作为输入信号输入到超声波传感器上来控制电机,可以发现电机可以按照从双列直插式开关得到的输入而向前或向后、向左或向右运动。


    我们在使用中所选的电机可以以200ms的时间周期来工作,并且在每一挡中可以转
动7.5°


    我们发现实验取得的结果是合理而令人满意的,并且该实验结果完全可以满足设计的需要。


  1.Nios处理器的性能
  系统包括:
    32位的Nios中央处理器(CPU)核。
    串行端口(115、200波特率,N82)。
    内部只读存储器,具有自带的启动监视程序。
    连接到256K的O为等待状态的外部静态存储器的接口。
    连接到1M的外部闪存的接口。
    连接到发光二极管的并行输入/输出端口。
    串行端口(115、200波特,N81)用于调试。
系统工作的时钟频率为50MHz。
  Nios处理器具有很多预先确定的函数,这使得系统的设计比较容易。由于我们的设计还处在初始阶段,所以我们还不能完全理解Nios处理器的性能,在下一阶段中我们将可以分析系统的性能。


  与在专用控制器上实现的设计相比,将设计阶段中所说的各种复杂的操作描绘出来是非常困难的。下一阶段将给出更多的结果。


   2.实现细节
(1)系统的输入。
    时钟:50MHz;
    复位:1:
    RS232(串行接口):115200比特率:
    双列直插式开关(用来仿真传感器的输入)。


  (2)系统的输出。
  步进电机的输出(连接到驱动电路):16位(每一个电机有4位)。


  (3)其他默认的输入和输出。
    C语言编码(按照预先确定的逻辑来控制步进电机)如下:














四、总结
    在这次设计中,我们使用了Nios处理器来进行工作,并且理解了如何进行SOPC设计。
在设计过程中,我们学到了很多经验,今后我们将会进行更高级的应用设计,还会有更新
的想法,这些是毋庸置疑的。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /3 下一条