datasheet

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

2008-03-21来源: 时间: 关键字:人机界面  移动机器人  嵌入式系统  菜单  图标  select  液晶控制器  串行口

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

  引言

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

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

  

  

  图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软件包能够满足对移动机器人人机界面的设计要求。

  

  

  图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; i<8; i++)

  { rcv_buf[i] = u0rbr; // 读fifo数据,清除中断标志}

  vicvectaddr = 0x00; // 中断处理结束

  }

  窗口显示

  人机界面主要是通过图标菜单实现移动机器人运动参数的显示,以及运动轨迹的相关操作,如"打开"、"暂停"、"关闭"等。因此,首先定义一个窗口的数据结构,并设置窗口的起始坐标、大小、标题等相关参数;然后调用gui_windowsdraw()输出显示窗口

  /* 设置主窗口并显示输出 */

  mainwindows.x = 0;

  mainwindows.y = 0;

  mainwindows.with = 240;

  mainwindows.hight = 128;

  mainwindows.title = (uint8 *) "mobile robot interface";

  mainwindows.state = null;

  gui_windowsdraw(&mainwindows); // 绘制主窗口

  图标菜单也需要定义相关的数据结构,其中图标数据和文字显示可以通过字模软件转化为数据。如对应"打开"图标转化为数据:

  uint8 const menuico1[]={

  0x00,0x70,0x00,0x1c,0x00,0x12,0x1c,0x1a,

  0x17,0x0a,0x21,0xf1,0x20,0x1a,0x4f,0xfe,

  0x58,0x02,0x50,0x02,0x60,0x06,0x60,0x04,

  0x60,0x04,0x40,0x08,0x7f,0xf8,0x00,0x00,

  }; /*;图标"打开";宽高(像素) : 1616*/

  然后,将每一个图标菜单项的显示坐标地址、图标的数据指针、对应的服务函数等进行设置后,即可调用gui_menuicodraw()实现显示输出。

  mainmenu[0].icodat = (uint8 *) menuico1;

  mainmenu[0].title = (uint8 *) "open";

  mainmenu[0].function = (void(*)())runopen;

  另外,主程序需要先调用gui_setcolor(1,0)函数来设置前景色及背景色。1表示点显示,0表示点灭。

  图标菜单选择

  界面中还需实现对图标菜单的选择操作。i2c器件zlg7290提供了i2c接口功能和键盘中断信号。i2c总线是philips推出的芯片间串行传输总线,它以2根连线实现了完善的全双工同步数据传送,可以方便的构成多机系统和外围器件扩展系统。i2c总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有最简单而灵活的扩展方法。i2c操作模式分为主模式i2c和从模式i2c,分别对应lpc2210作为主机和从机。

  本文采用主模式i2c发送接收数据,从而控制三个按键s11、s12、s13的扫描并检测其连击次数。程序中先设置好默认菜单,再调用函数zlg7290_getkey()读取被按下的键值。zlg7290_getkey()函数通过调用ircvstr (zlg7290,1,&rece,1),直接读取器件zlg7290上的按键值。若s11被按下,表示指向上一个图标菜单;若s12被按下,表示选择当前的图标功能;若s13被按下,表示指向下一个图标菜单。

  key = zlg7290_getkey();

  if(key==key_ok) break; // 点击ok 键选择

  if(key==key_next)

  { mainmenu[select].state = 0; // 取消上一选择

  gui_menuicodraw(&mainmenu [select]);

  select++; // 指向下一菜单

  if(select>2) 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。

  

  

  图3 人机界面实现效果图

  结语

随着嵌入式系统应用的飞速发展,人机交互系统的开发将更加广泛。本文阐述的基于arm2210嵌入式系统的移动机器人人机界面的设计方法

[1] [2]

关键字:人机界面  移动机器人  嵌入式系统  菜单  图标  select  液晶控制器  串行口

编辑:ssb 引用地址:http://www.eeworld.com.cn/afdz/2008/0321/article_574.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于SRAM编程技术的PLD核心可重构电路结构设计
下一篇:基于nios和μClinux的嵌入式系统设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

采用电容触控技术简化智能音箱的人机界面

十分流行。智能音箱之所以能迅速受到消费者的追捧,主要原因之一就是它可以从根本上简化与其互动的过程。基本功能的按钮非常少,大部分都是通过语音指令进行互动。 莱昂纳多·达芬奇曾经说过“至繁归于至简。”在21世纪运用这种设计理念,即意味着应该尽可能简化人机界面,并且需要保持直观的设计风格。此外,由于语音是首选界面,因此设计人员必须在界面设计过程中凸显出明显的差异性。图1是传统的智能扬声器HMI。 电容触控功能可使设计人员在产品设计中采用独特的功能并使产品充满竞争激烈的市场中脱颖而出。本文将介绍如何使用带CapTIvate™触控技术的德州仪器(TI)MSP430™微控制器(MCU)实现差异化功能。图1.具有基本HMI的典型
发表于 2018-06-26
采用电容触控技术简化智能音箱的人机界面

采用电容触控技术简化智能音箱的人机界面

之所以能迅速受到消费者的追捧,主要原因之一就是它可以从根本上简化与其互动的过程。基本功能的按钮非常少,大部分都是通过语音指令进行互动。莱昂纳多·达芬奇曾经说过“至繁归于至简。”在21世纪运用这种设计理念,即意味着应该尽可能简化人机界面,并且需要保持直观的设计风格。此外,由于语音是首选界面,因此设计人员必须在界面设计过程中凸显出明显的差异性。图1是传统的智能扬声器HMI。电容触控功能可使设计人员在产品设计中采用独特的功能并使产品充满竞争激烈的市场中脱颖而出。本文将介绍如何使用带CapTIvate™触控技术的德州仪器(TI)MSP430™微控制器(MCU)实现差异化功能。图1.具有基本HMI的典型智能音箱。采用CapTIvate技术
发表于 2018-06-22
采用电容触控技术简化智能音箱的人机界面

无人驾驶会为汽车人机交互带来哪些转变?

随着各大科技公司和主机厂商陆续发布自家版本的无人驾驶汽车,不含刹车、油门踏板和方向盘的舱内布置逐渐成为行业中流行的设计方向;同时,随着研发和政策不断推进,无人驾驶距离落地应用越来越近,乘客在车内的体验成为人们十分关心的一个问题。人机交互界面(HMI)是人与汽车互动的通道,能够直接影响车内用户体验,尤其对于智能汽车来说,HMI是支持用户使用车辆和获取服务最主要的方式,它对无人驾驶功能的实现起着关键的作用。传统汽车的人机界面HMI也被称作驾驶员界面(Driver Interface),驾驶员的首要任务(Primary Task)是驾驶,支持和辅助驾驶就自然成为HMI的核心功能。此外,信息娱乐和座舱控制等次要任务(Secondary
发表于 2018-03-26

触摸屏和人机界面的区别

触摸屏是人机界面的一种,但是有区别的人机界面(Human-ComputerInterface,简写HCI,又称用户界面或使用者界面):是人与计算机之间传递、交换信息的媒介和对话接口,是计算机系统的重要组成部分。它实现信息的内部形式与人类可以接受形式之间的转换。凡参与人机信息交流的领域都存在着人机界面。系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。凡参与人机信息交流的领域都存在着人机界面。举个例子来说,在一座工厂里头,我们要搜集工厂各个区域的温度、湿度以及工厂中机器的状态等等的信息透过一台主控器监视并记录这些参数,并在一些意外状况发生的时候能够加以处理。这便是一个很典型的人接界面的运用
发表于 2018-03-24
触摸屏和人机界面的区别

人机界面在塔吊领域应用案例

该方案适用于各种臂式塔式起重机,当起重达到额定起重量或规定力矩值时以及靠近被保护区域时报警并自动实现相应动作。通过监控塔吊控制器的数据,实时采集塔吊运行数据保存到黑匣子,并通过3G模块将黑匣子数据传输到远程控制端。通过微控显示屏向操作人员准确地提供当前塔机的主要工作状态并增加了区域保护功能。  一、硬件组成  塔吊控制应用系统主要由人机界面、3G模块和塔吊控制器连接的单片机组成一个完整的控制系统。  其中人机界面选择WECON人机界面。它是市场上性价比最高的一款触摸屏,可以与市场上出现的各种PLC通讯,例如三菱、西门子、欧姆龙、艾默生等,还可以通过MODBUS跟单片机直接通讯,其编程方式简单易学,即使没有专业知识也能快速掌握
发表于 2018-02-21

远程摄像系统设计用于监视或安全应用程序介绍

有越来越多的基于视频的应用,如监控,网路视频和门禁系统,这样的远程摄像技术也可以直接应用于工业检测设备和医用显示器。在技术上而言,视频数据和控制系统的操作需要紧密地搭配在一起。这对工程设计团队而言影响极大,因为他们需要找到适当的方案来连接到视频流并把它集成到他们的系统设计,同时最大限度地减少所需的元器件,减小PCB板的面积和降低整个系统的成本。先进的人机界面(HMI)需要视频和控制组合创建一个允许监控并可以同时进行相关的远程控制。此外,它可以促进多任务处理,用户可以观看视频的同时进行系统操作,通过控制接口,仅仅使用一个高性能图形控制器芯片和高端的微控制器和分离的零部件来建构整个系统也不是一个令人满意的做法。首先,将摄像头丶微控制器
发表于 2018-02-06

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">