基于arm2210开发板的移动机器人人机界面设计

发布者:chaochen最新更新时间:2012-11-05 来源: 21IC 关键字:arm2210  移动机器人  人机界面 手机看文章 扫描二维码
随时随地手机看文章
引言

     嵌入式系统以其高性能、低功耗、低成本的优点,已经在很大程度上改变了人们的生活。如,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作为输入部分,实现对人机界面的选择操作。[page]
 
人机界面的软件设计

     移动机器人人机界面的关键是菜单操作,以及图形和数据的实时显示。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,
};   /*;图标"打开";宽×高(像素) : 16×16*/
然后,将每一个图标菜单项的显示坐标地址、图标的数据指针、对应的服务函数等进行设置后,即可调用gui_menuicodraw()实现显示输出。
mainmenu[0].icodat = (uint8 *) menuico1;
mainmenu[0].title = (uint8 *) "open";
mainmenu[0].function = (void(*)())runopen;
另外,主程序需要先调用gui_setcolor(1,0)函数来设置前景色及背景色。1表示点显示,0表示点灭。[page]

图标菜单选择
     界面中还需实现对图标菜单的选择操作。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]. t6963c datasheet http://www.dzsc.com/datasheet/t6963c_635050.html.
[2]. zlg7290 datasheet http://www.dzsc.com/datasheet/zlg7290_734333.html.
[3]. lpc2210 datasheet http://www.dzsc.com/datasheet/lpc2210_454566.html.
[4]. tms320f2812 datasheet http://www.dzsc.com/datasheet/tms320f2812_1116432.html.
[5]. arm7tdmi-s datasheet http://www.dzsc.com/datasheet/arm7tdmi-s_1231795.html.
[6]. rs232 datasheet http://www.dzsc.com/datasheet/rs232_585128.html.
[7]. s11 datasheet http://www.dzsc.com/datasheet/s11_1617658.html.
[8]. s12 datasheet http://www.dzsc.com/datasheet/s12_1619040.html.

关键字:arm2210  移动机器人  人机界面 引用地址:基于arm2210开发板的移动机器人人机界面设计

上一篇:基于STM32的双相步进电机细分驱动器设计
下一篇:Bluetooth基带控制器方案

推荐阅读最新更新时间:2024-03-16 13:12

研华推出首款RISC工业级可编程人机界面
研华科技,2014年2月——研华推出WebOP-3000T系列工业级可编程人机界面是研华首款基于RISC开放式平台产品,近日其通过了UL508工业控制设备安全标准之规范,也代表着该系列产品在安全性能上能给予用户最可靠的保障。凡是取得UL508安全认证的工业级设备必须经过许多严格的安全测试,包括:阻燃性测试、高温下确保设备之完好无缺,以及不会因过压和欠压等情况让设备受损等等的检测。 研华首款RISC工业级可编程人机界面WebOP-3000系列 研华此一系列工业级可编程人机界面是专为机台设备制造产业应用(如半导体制造)而设计的产品,除了前面板使用的是通过IP66认证的铝合金材质之外,其内建的德州仪
[半导体设计/制造]
研华推出首款RISC工业级可编程<font color='red'>人机界面</font>
韩国KT公司将在年内推出移动机器人(AMR)
据韩媒报道,韩国最大的通信公司KT公司在“2019 WORLD IT Show”展会上公开展示了与韩国自动驾驶企业Unmanned Solution一起合作的自动驾驶专用MINI班车及5G远程控制系统“5G远程驾驶”,将积极推动主题公园、产业园区等多种环境专用的自动驾驶服务。 KT和Unmanned Solution公司公开的自动驾驶MINI班车WITH:US,在3月份首尔Motor Show上展示了世界首个5G为基础的自动驾驶专车。KT公司通过5G基础的远程自动驾驶和控制技术具备安全运行支援的远程管制系统。 KT公司在自动驾驶专用车和5G基础的远程管制系统技术上,考虑室内外、主题公园、产业园区等多种空间和适用性,从今年开始正式推
[机器人]
翼菲科技Scara复合移动机器人全球首发
售价比协作复合降低50%,设备交付时间降低60%。   近年来移动机器人市场快速增长,在如今的制造业中,移动机器人主要应用于搬运货品,分为潜伏式AGV、叉车式AGV、牵引式AGV等,主要应用于3C、汽车、、物流等行业。 随着化需求日益增多,工艺复杂程度不断提升,企业对于柔性化的需求也更加迫切,相比于AGV/AMR、协作机器人、的单一功能,集合了三者特性的复合移动机器人显然更具柔性化的特性,且机器人随着与实际应用需求结合的日益深入,复合机器人可以实现不断迭代进化,复合出更多的应用可能,复合机器人是目前最接近未来人形机器人的,在工业领域的应用场景非常多样,如喷涂、码垛、巡检、巡视、安防等众多领域。 根据CMR
[机器人]
AI架起人车沟通桥梁 本田推出全自动多功能移动机器人
正在举行的东京汽车展上,本田推出了概念电动车Sports EV Concept和概念产品RoboCas Concept,它们的共同点是都有双呆萌的动态大眼睛(anime-esque eyes),配备了全自动化的AI助手“Honda Automated Network Assistant”。 本田拥抱电气化时代,并且希望借助AI技术架起人车沟通的桥梁,Sports EV Concept一看就是电动车,然而RoboCas Concept更像是一款具备AI及全自动驾驶的多功能移动机器人,样子有点像《机器人总动员》瓦力(Wall-E)。 本田的官方介绍有点让人云里雾里:RoboCas是一款小巧的电子移动产品,为了让每个人的想法和梦想成为
[机器人]
疫情后超60%中国企业加速数字化转型,移动机器人潜力释放
受新冠肺炎疫情影响,全球制造业面临前所未有的挑战,同时也放大了现今生产加工方面存在的诸多问题,如生产车间员工数量减少,特殊情况下优化流程的自动化技术有限等。为此,疫情后不少企业加大了数字化转型的步伐,尤其是经济恢复较快的中国市场。根据微软与IDC在2020年展开的研究数据,疫情后加快数字化进程的中国企业比例达63%。在此境况下,机器人市场迎来新的发展机遇,尤其是更为灵活的自主移动机器人AMR (Autonomous Mobile Robot,以下简称“AMR”)领域逐步被看好。 “前两年我们拜访客户的时候,有不少对移动机器人还不太了解或不太感兴趣。然而这点在今年已经有所变化,大家对移动机器人的认可度在逐步提升,更有部分厂家主动跟我
[机器人]
分析激光导航移动机器人的工作原理
(文章来源:仙知机器人) 相较于传统的磁条导航、二维码导航移动机器人,导航移动机器人以其自主灵活的优势越来越受到用户的青睐,并在工业制造、制造、电商仓储、医疗教育、食品烟草、安防巡检等各行各业得到了广泛应用。 对于磁条导航、二维码导航移动机器人,大家可以直观的看到地面上的磁条、二维码,从而知道移动机器人是根据地面上的磁条、二维码进行定位导航,按照既定的路线行驶的;但是对于激光导航移动机器人,地面上没有磁条、二维码等这些辅助定位设施,绝大多数人就应该充满疑惑了吧。 那么激光导航移动机器人是如何工作的呢?激光导航的方式又分为两种,激光反光板导航和激光自然轮廓导航。 激光反光板导航是通过连续不断的发射激光脉冲,由旋
[机器人]
号称全球首款移动机器人 不是AGV也不是平衡车
这款号称全球首款移动机器人,不是AGV ,也不是平衡车,他就是 路萌 ——一个移动的商业机器人。 相对于目前市面上绝大多数只能“坐”在家里的桌面上、平滑的地板上的机器人。路萌拥有强大的自主移动能力,它利用人工智能算法赋能的摄像头感知周围的人和事物,可以聪明的跟随你一起行动。 虽说智商还无法媲美人类,但已足够担任你的随身伴侣! 作为一个机器人,它够强! 路萌的头部和身体配置了英特尔RealSense、超声波和红外等多个传感器协同工作,可多维度识别和探测周围复杂环境。为路萌的跟随、避障、交互等功能提供有效支撑。 无需任何外接设备,路萌可以识别并追踪移动中的你,紧紧跟在你身后,还能机智地躲避障碍物,带它出门总是引起围观,连老大爷都被
[机器人]
简析激光导航移动机器人的工作原理
(文章来源:仙知机器人) 相较于传统的磁条导航、二维码导航移动机器人,导航移动机器人以其自主灵活的优势越来越受到用户的青睐,并在工业制造、制造、电商仓储、医疗教育、食品烟草、安防巡检等各行各业得到了广泛应用。 对于磁条导航、二维码导航移动机器人,大家可以直观的看到地面上的磁条、二维码,从而知道移动机器人是根据地面上的磁条、二维码进行定位导航,按照既定的路线行驶的;但是对于激光导航移动机器人,地面上没有磁条、二维码等这些辅助定位设施,绝大多数人就应该充满疑惑了吧。 那么激光导航移动机器人是如何工作的呢?激光导航的方式又分为两种,激光反光板导航和激光自然轮廓导航。 激光反光板导航工作原理 激光反光板导航是通
[机器人]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved