您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

基于DSP的移动机器人的设计与实现

时间:2007-1-20栏目:电子通信论文

同时采用用于大众汽车公司桑塔纳2000型轿车的霍尔车速传感器作为移动机器人的车速传感器。其工作原理是以霍尔传感器为变换元件,将机械旋转量转化为电脉冲信号输出。主要技术指标为:(1)输出波形为矩形脉冲,占空比为50%;(2)每旋转一周产生6个脉冲;(3)额定电压为12V。

4 电源模块

电源模块需分别给各传感器、DSP芯片、其它芯片和电机供电。其中,磁罗盘、码盘和DGPS接收机使用12V直流电压,DSP芯片使用3.3V直流电压,其它芯片使用5V直流电压,还有电机电源使用12V直流电压。所以,采用1节12V的直流蓄电池(4AH),直流5V通过ST半导体公司的L7805和扩流用的功率管实现,DSP芯片用3.3V电源采用ON半导体公司的1SMB5913BT3实现。F2407正常工作时,所有电源管脚都为3.3V;写入FLASH存储器时,VCCP引脚为5V供电;复位时,复位电路会产生一个10μs宽度的持续低电平使芯片复位。

5 控制器程序结构

DSP程序由五大功能模块组成,分别为系统初始化模块、串口通信模块、路径引导模块、驱动电机控制模块和转向电机控制模块。TI公司提供了用于C语言开发的CC和CCS平台。该平台包括了ANSIC优化编译器,从而可以在源程序级进行开发调试。这种方式大大提高了软件的开发速度和可读性,方便了软件的修改和移植。但在某些情况下,代码的

效率还是无法与手工编写的汇编代码的效率相比。此外,用C语言实现芯片的某些硬件控制也不如汇编程序方便,有些甚至无法用语言实现。为了充分利用芯片的资源,更好地发挥C语言和汇编语言进行软件开发的各自优点,采用混合编程方法将两者有机结合起来,兼顾两者的优点,避免其弊端。系统的框架如图5所示。下面对关键的几大模块进行简要的阐述。

5.1 串口通信模块

该模块程序采用串口中断方式实现,主程序主要由系统初始化、串口初始化、串口中断设置和等待中断组成。而中断子程序分为发送子程序和接收子程序。本文给出发送子程序流程图。主程序及发送子程序流程图如图6所示。

5.2 路径引导模块

该模块在移动机器人行驶中为其提供实时的速度和转向指令,从而引导它沿着上位机给定的路径行驶。主要包括行驶指令的产生和规划路径的跟踪两个环节。

根据预瞄跟随理论及驾驶员的开车行为特性,智能行驶和驾驶员操纵行为是内在一致的。通过研究有驾驶员操纵行为,发现主要根据两个因素决定车辆的前进速度,这两个因素分别是道路的弯曲程度和机器人相对参考路径上的方向偏差。
基于DSP的移动机器人的设计与实现
    移动机器人的前进速度的控制不需要连续变化,可设置为三档,分别对应高、中和低三个速度。由此确定的前进速度跟踪规则为:

·当方向偏差小于10度时,路径基本为直线,前进速度设为高速;

·当方向偏差小于90度时,路径弯曲较严重,前进速度设为低速;

·其它情况时,前进速度为中速。

5.3 驱动电机和转向电机控制模块

驱动电机模块采取PID控制策略,将车速传感器检测的信号作为电机的反馈信号,进行PID控制,取得了很好的控制效果。转向控制模块的控制策略与驱动电机的类似,只是其反馈的信号为数字罗盘的方向信号。PID控制算式为:

△u(k)=Kp[e(k)-e(k-1)]+Ki·e(k)+

Kd[e(k)-2e(k-1)+e(k-2)]

u(k)=(k-1)+△u(k)

式中,u(k)为控制的输出;e(k)为k时刻的偏差;Kp、Ki、Kd分别为PID控制算法的比例系数、积分常数和微分常数。


上一页  [1] [2] [3] 

下页更精彩:1 2 3 4 下一页