基于嵌入式系统arm2210开发板的移动机器人人机界面设计
key = zlg7290_getkey();
if(key==key_ok) break; // 点击ok 键选择
if(key==key_next)
{ mainmenu[select].state = 0; // 取消上一选择
gui_menuicodraw(mainmenu [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. 周立功等,arm与嵌入式系统基础教程,广州周立功单片机发展有限公司,2004.11
2. 周立功, arm微控制器基础与实战,北京航天航空大学出版社,2003
3. 周立功等, arm嵌入式系统实验教程,北京航天航空大学出版社,2004.11
评论