采用DSP的半自主远程控制移动机器人系统组成及设计
S收发器、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 实验结果
实验时,攝像头的分辨率调整为320×240,两个GPRS收发器分别在相距4 m左右的房间两端,图5显示了实验结果。实验结果表明:基于GPRS移动通信网络和DSP技术的半自主移动机器人远程系统达到了预期的效果。同时在实验中也发现,GPRS传输数据的实时性是有限的,虽然理论上传输速率高达171 kb/s,但实际上受多种因素的影响,实际速率较低,传输一帧3K的JPEG格式图像大约需要3O~60s的时间。因此,如何进一步提高系统的实时性是本系统面临的最大挑战。
<script type=text/javascript> funcTIon ImgZoom(Id)//重新设置图片大小 防止撑破表格 { var w = $(Id).width; var m = 550; if(w < m) { return; } else { var h = $(Id).height; $(Id).height = parseInt(h*m/w); $(Id).width = m; } } window.onload = funcTIon() { var Imgs = $("content").getElementsByTagName("img"); var i=0; for(;iDSP 相关文章:
- 基于AD73360和TMS320F2812的数据采集系统设计(12-06)
- 基于紫外检测法的智能型特高压验电器系统(03-17)
- 单一DSP控制两套三相逆变器的实现(08-31)
- 基于DSP生成SVPWM在逆变电源中的应用(11-09)
- DSP的大功率开关电源的设计方案(12-01)
- DSP处理器电源方案设计(02-08)