DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1244|回复: 0
打印 上一主题 下一主题

[开发板] 基于嵌入式系统arm2210开发板的移动机器人人机界面设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:44:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ????? 摘要:?移动机器人人机界面为移动机器人的运动控制提供直观的路径图形、运动速度和角度、障碍物信息等。通过arm2210的串口uart0接收中心处理器pc104的运动信息,利用东芝公司的液晶控制器t6963c驱动stn液晶屏yl240128a,以及zlg/gui软件包提供的基本绘图和菜单操作函数设计了基于嵌入式系统arm2210开发板的移动机器人人机界面,并利用arm2210的i2c器件zlg7290提供的i2c接口功能和键盘中断信号实现菜单选择,具有很强的实用性。

引言

???? 嵌入式系统以其高性能、低功耗、低成本的优点,已经在很大程度上改变了人们的生活。如,mp3播放器、智能手机、数码相机产品等已经渗入人们生活的各个方面。随着液晶显示技术的不断进步,以及图形用户界面gui (graphical user interface)技术的广泛应用,人机界面也越来越友好。它能为移动机器人的运动控制提供直观的路径图形、数据参数等。本文介绍了一种以嵌入式微处理器lpc2210为基础,应用zlg/gui软件包设计移动机器人人机界面的方法。

??? 我们设计开发的智能移动机器人是一个以pc104嵌入式微机为中心处理器,tms320f2812为运动控制器,超声波传感器作为避障的集合环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统,主要包括运动系统、电子信息系统和传感系统。它通过ccd摄像机和图像采集卡获得视频信息,并通过超声波传感器组测得前方障碍物距离实现避障。移动机器人的人机界面主要向用户展示移动机器人的运动信息,如当前的运动速度、与前方障碍物的距离以及行驶的轨迹。




740)this.width=740" border=undefined>
图1 arm2210的系统框图
arm221o的基本组成

???? arm221o以philips公司arm7tdmi-s微控制器lpc2210为核心,以支持实时仿真和嵌入式跟踪的嵌入式系统。lpc2210的cpu频率最大为60mhz,并且扩展了丰富的外围设备接口,使系统稳定性大大提高,开发也更简单。图1是arm2210的系统框图。

???? 由于该系统包含了rs232转换电路,可通过uart0与上位机pc104进行数据传输,同时还包括东芝公司的点阵式液晶控制器t6963c,扩展了液晶接口,同时提供了led数码管显示和16个按键输入,因此开发人机界面非常方便。
?
人机界面的硬件设计

数据传输
????? pc104的串行口可以作为标准pc的coml通信口或扩展为控制台串行口,用于键盘输入和显示终端输出或计算机之间的串行输入/输出口。

???? arm2210的uart0具有16字节接收和发送fifo;寄存器位置符合550工业标准;接收器fifo触发点可为1, 4, 8和14字节 ;内置波特率发生器 。

??? 移动机器人的运动信息通过ti公司dsp控制器tms320f2812以及超声波传感器等传送至嵌入式微机pc104,再经过pc104作信息融合后,通过串口传给arm2210并由液晶屏显示。

液晶显示及菜单选择
???? 东芝公司的液晶控制器t6963c具有独特的硬件初始化设置功能,最大驱动点阵液晶为单色640*128(单屏),支持图形和文本单独显示和混合显示,并具有字符发生器,能满足对移动机器人人机界面的显示要求。图2为内置t6963c的240*128点阵图形液晶模块原理图。

???? 另外, arm2210系统中配备了i2c器件zlg7290以及16个按键。zlg7290提供了i2c串行接口和按键中断信号,方便与处理器连接;并且能驱动8位共阴数码管或64只独立的led和64个按键,8个功能键可检测任一键的连击次数。

???? 本系统选用点像素为240*128点、黄绿显示的stn液晶屏yl240128a作为人机界面显示屏;用arm2210系统16个按键中的s11、s12、s13作为输入部分,实现对人机界面的选择操作。
?
人机界面的软件设计

???? 移动机器人人机界面的关键是菜单操作,以及图形和数据的实时显示。gui是用于提高人机交互友好性、易操作性的计算机程序,它是建立在计算机图形学基础上的产物。人们不再需要死记硬背大量的命令,而是通过窗口、菜单方便地进行操作。由于嵌入式系统的资源有限,所以对gui 的要求是可裁剪的,高速度的。zlg/gui 是由周立功公司开发的,占用资源小、使用方便的嵌入式系统简易的图形用户界面软件。zlg/gui 提供了最基本的画点、线、圆形、圆弧、椭圆形、矩形、正方形、填充等功能,较高级的接口功能有ascii 显示、汉字显示、图标显示、窗口、菜单等,支持单色、灰度、伪彩、真彩等图形显示设备。因此,利用zlg/gui软件包能够满足对移动机器人人机界面的设计要求。




740)this.width=740" border=undefined>
图2 内置t6963c的240*128点阵液晶模块原理图
数据传输
???? 接收上位机pc104发送的数据时,使能uart0的fifo进行数据发送/接收,接收采用中断处理方式。其中,uart0的串口模式和数据结构设置为:通信波特率9600,8位数据位,1位停止位,无奇偶校验。其主要程序如下:
/*定义串口模式及数据结构*/
typedef? struct? uart0mode
{? uint8 datb;???????? // 字长度
uint8 stpb;???????? // 停止位
?uint8 parity;??? ?// 奇偶校验位
}? uart0mode;
/*初始化串口*/
uart0_set.datb= 8;???????????????? // 8位数据位
uart0_set.stpb = 1;???????????????? // 1位停止位
uart0_set.parity = 0;?????????????? // 无奇偶校验uart0_ini(9600, uart0_set);? // 初始化串口模式
/*串口uart0接收中断*/
void?? __irq irq_uart0(void)
{? uint8? i;
? if( 0x04==(u0iir&0x0f) ) rcv_new = 1; // 置新数据标志
?? for(i=0; i2) select=0;
mainmenu[select].state = 1;
gui_menuicodraw(&mainmenu [select]);
}
if(key==key_back)
{ mainmenu[select].state = 0; // 取消上一选择
gui_menuicodraw(&mainmenu [select]);
if(select==0) select=2;
else select--; // 指向下一菜单
mainmenu[select].state = 1;
gui_menuicodraw(&mainmenu [select]);

移动机器人行使轨迹及相关参数显示
???? 为了能实时更新显示数据及行使轨迹,pc104将移动机器人的速度,行驶方向,转角等信息转化为液晶屏上的坐标信息,并调用基本绘图函数gui_line(uint32 x0, uint32 y0, uint32 x1, uint32 y1, tcolor color),画出当前行驶轨迹;同时,将新的速度值及与前方障碍物的距离值更新到相应位置。
人机界面显示效果
???? 图3为人机界面实现效果图,整个显示窗口大小为240*128;图标菜单大小为16*16,共有六个图标;用户可以根据自己需要添加图标及对应功能。移动机器人行驶轨迹显示窗口大小为160*100;其他运动参数显示窗口大小为80*100,可以显示当前的速度、障碍物的距离和机器人旋转角度。图中小车位置表示轨迹的起点,左下角有坐标显示和比例尺1:500。




740)this.width=740" border=undefined>
图3 人机界面实现效果图
结语

??? 随着嵌入式系统应用的飞速发展,人机交互系统的开发将更加广泛。本文阐述的基于arm2210嵌入式系统的移动机器人人机界面的设计方法,这种方法设计简单,成本低,使操作者与机器人的交互更加友好。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-4-25 07:34 , 耗时 0.088524 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表