首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于DSP的半自主远程控制移动机器人系统
来源:本站整理  作者:佚名  2006-07-21 15:50:00



摘 要  介绍自行开发的半自主远程控制移动机器人系统的软硬件设计方案。以TI公司TMS320LF2407A型号的DSP芯片为机器人小车控制器核心,重点阐述系统定位模块、图像采集模块及无线数据侍输模块等,并给出PC机和DSP之间的数据传榆协议以及实验结果。
关键词 数字信号处理器(DSP) 移动机器人 GPRS 图像传输


引 言
    机器人技术融合丁机械、电于、传感器、计算机、人工智能等许多学科的理论与技术,是当今许多前沿领域技术的综合体。移动型机器人主要用于对一些危险和未知的地域进行探索,例如是探索外星地表、进行引爆地雷等都需要使用到移动型机器人。半自主远程控制移动机器人由于具有较强的活动能力、良好的可控性等特点,在工农业、国防等各个领域具有广泛的应用前景。在半自主远程控制移动机器人的控制操作中,需要人的参与。因此需要有一个人机交互通道,把人的指令传递给机器人执行,同时机器人也可以把采集到的现场信息反馈绐人。本文基于移动机器人原理,设计了两轮驱动半自主移动机器人的硬件系统,详细阐述了基于GPRS技术的远程控制器的设计与实现。

1 远程控制移动机器人系统组成
    系统整体由远程控制平台、无线传输网络以及本地机器人小车三个大部分组成。DSP是本地机器人小车的控制核心。TI公
司的TMS320LF2407A芯片具有改进的哈佛结构体系,采用了流水线技术等优点,而且采用了高性能静态CMOS/技术,把芯片运行电压降低到3.3V,大大减少了芯片的功耗。其CPU具有很高酌处理速度,频率可以达到40 MHz,很多复杂的算法在系统控制中得以实施。此外,它还集成了32 KB闪存、16个脉宽调制(PWM)通道、1个CAN模块,以及1个超高速的500 ns的10位模数转换器(ADC)等功能强大的外设。
   
    整个系统以F2407A为控制器的核心,扩展了机器人本体的人机接口(LCD显示及按键)模块、环境攝像模块、驱动电机模块、光电编码器反馈模块以及GPRS人机交互模块等。控制系统结构框图如图1所示。

1.1 机器人小车的定位模块
    机器人定位模块主要由电机及其驱动电路、机械传动系统及光电编码器等组成。驱动轮和光电编码器之间采用齿轮传动,传动比为i,光电编码器的分辨率为N(即编码器每旋转一周输出的脉冲数),驱动轮的半径为r,则编码器每输出一个脉冲,对应的轮子在地面走过的距离为

    电机控制采用脉宽调制(PWM)的调速方式,并以DSP自带的正交编码脉冲(QEP)电路采集光电编码器的反馈信息,对电机进行闭环PID控制。利用QEP电路捕捉光电编码器的反馈信号可以简化程序的编制,同时采用PID控制原理,可以提高系统的控制精度和稳定性。
   
    电机驱动原理图如图2所示。驱动主芯片为L293B,L293B直流电机驱动芯片允许电压范围在4.5~36V,内有四重推挽(双重H桥集成功放电路)驱动电路,两个通道可以向各自的电机提供l A的驱动电流,并且如果芯片过热,芯片能够自动关断,保障系统不受损坏。当A向、B向为高电平时,则电机A、B电流分别由3脚流向6脚和11脚流向14脚,电机正转;反之,当A向、B向为低电平时,电机电流分别由6脚流向3脚和14脚流向11脚,电机反转。此时,可以用PWM控制芯片上电机使能脚的通断时间比来对电机进行调速,F2407A型DSP芯片支持PWM输出,因此可以很方便地对驱动电机进行调速。

    由于DSP芯片自带有正交编码器捕捉模块,因此该部分的电路设计比较简单。光电编码器输出的正交脉冲信号经过非门加以稳定,进入DSP芯片的QEP电路被CPU捕获并识别,再将识别后的信息作为PID控制算法的反馈输入。

1.2 LCD显示及摄像模块

    LCD显示模块和摄像模块的数据格式都是8位,与单片机等微控制器的接口灵活简单。攝像模块可以输出经压缩后的JPEG格式图像,因此数据量较小,减轻了控制器数据处理的负担,同时缩短了GPRS传输一帧图像的时间,实时性更好。F2407A提供了丰富的I/O接口,用I/O口可以很方便地对LCD模块和摄像模块进行数据的写入和读取。由于LCD模块的数据是写入的,而摄像模块的数据是读出的,因此可以分时复用同一组I/O口,而不会发生冲突。经设计,用不同的控制线分别控制这两个模块的使能端以实现分时复用,均用DSP的I/OPB0~I/OPB7作为它们的数据接口。

2 GPRS无线图像传输 
    GPRS(General Packet Radio Selvice)是一种基于包的无线通信服务。它是一种新的GSM数据业务,可以给移动用户提供无线分组数据接人服务。GPRS主要是给移动用户和远端的数据网络之间提供一种连接,从而给移动用户提供高速无线IP和无线X.25业务。
   
    GPRS数据传输的优点是:
    ◇传输速率高;
    ◇实时在线;
    ◇按流量收费;
    ◇不受距离远近的影响;
    ◇快捷登录。

2.1 GPRS组网方式

    在本系统中,利用GPRS移动通信网络实现信息的双向传输。机器人小车传给远程监控平台的数据主要包括现场图像信息和小车当前定位信息;远程监控平台传给小车的主要是指令信息。
   
    GPRS图像采集模块由采集终端、DSP外围接口、GPRS收发器、PC机接口及监控中心软件组成。图像数据经采集后,由DSP串口传输给GPRS收发器1,由收发器l将图像数据通过GPRS无线网络发送出去,再由GPRS收发器2将接收到的图像数据传输给PC机串口,接着监控中心软件从PC机串口读取数据并最终显示在监控中心界面上,完成现场的实时监控。GPRS组网方式结构图如图3所示。

2.2 图像数据采集程序流程图
    图像采集过程包括DSP串口通信初始化和图像数据发送两大部分。监控中心发出采集图像指令,经GPRS模块把信号传输给DSP串口,启动DSP串口的中断服务,采集攝像头图像数据,并经由GPRS模块将数据发送给远程监控中心,完成一帧图像的采集周期。图像数据采集程序流程如图4所示。

    DSP芯片的软件设计支持C语言、汇编语言以及两者混合编程,由于本系统涉及到图像数据处理、电机PID控制算法的实现和LCD显示等,程序烦杂,编程工作量大,因此用混合编程的方法,可以较好地结合C语言和汇编语言的优点,编写出效率较高的程序代码。

2.3 数据传输协议

    数据传输协议分为两部分,一部分是尸C机发送给DSP的控制指令,另一部分是DSP发送给PC机的反馈信息。数据的传输格式采用数据包形式,因此必须对每次需要发送的数据进行打包处理,具体的数据包类型如下;

    其中数据包的各单元定义如下:
    ◇起始标志位是一个字节,固定值0x00;
    ◇控制字是一个字节,值范围为0x0l~0xff,具体代表的数据类型见2.3.1和2.3.2;
    ◇数据长度单元是两个字节,值范围为0x0001~0xffff,其中低字节在前,高字节在后,表示待发送数据的字节数;
    ◇待发送数据单元的字节数不定,内容由具体发送的数据内容决定;
    ◇数据校验单元是一个字节,值为待发送数据的各个字节相异或得出;
    ◇结束标志位是一个字节,固定值为0x01。

2.3.1 PC机到DSP的数据传输协议

    PC机发送给微处理器DSP的数据类型包括采集图像指令、给定机器人行走类型和应答反馈指令等。DSP接收到PC机送出的各类指令后,读取数据内容,然后把数据内容的各个字节相异或,再把相异或得出的值与接收到的校验码进行比较,若相等则向PC反馈数据接收正确,进而转入对应指令的中断服务程序;若不相等则向PC机反馈数据接收出错,申请重新发送指令。各指令定义如
表1所列。

2.3.2 DSP到PC机的数据传输协议
    DSP发送到PC机的数据类型主要包括机器人当前位置反馈数据、图像数据以及DSP应答反馈指令等。PC机接收到数据后,进行校验的处理过程和上节介绍的DSP接收数据后的处理过程一样。机器人小车在行走的过程中,每隔一段时间会将自身当前位置的数据发送到PC机,实现实时路径跟踪,同时当DSP接收到上位机发出的采集图像指令后,进行图像采集,然后把采集到的图像数据发送给PC机进行图像显示,实现了机器人小车周围环境信息的实时监控。具体的指令定义如表2所列。

3 实验结果
    监控中心软件采用Delphi高级语言编制。在“控制指令”一栏中输入Ol(Ol代表采集图像指令),点击“发 送”,随后监控界面的“图像监控”栏会显示摄像头采集到的远程环境信息。

    实验时,攝像头的分辨率调整为320×240,两个GPRS收发器分别在相距4 m左右的房间两端,图5显示了实验结果。实验结果表明:基于GPRS移动通信网络和DSP技术的半自主移动机器人远程系统达到了预期的效果。同时在实验中也发现,GPRS传输数据的实时性是有限的,虽然理论上传输速率高达171 kb/s,但实际上受多种因素的影响,实际速率较低,传输一帧3K的JPEG格式图像大约需要3O~60s的时间。因此,如何进一步提高系统的实时性是本系统面临的最大挑战。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:10,316.41000 毫秒