基于MFC的家庭机器人仿真系统的设计
2016-09-07长安大学电子与控制工程学院陕西西安710021
徐 锦(长安大学电子与控制工程学院,陕西西安,710021)
基于MFC的家庭机器人仿真系统的设计
徐 锦
(长安大学电子与控制工程学院,陕西西安,710021)
随着科学技术的不断进步,各种各样的机器人投入到我们实际的生产与生活当中。不得不说机器人技术给中国乃至全世界带来翻天覆地的变化,因为机器人技术综合了各个学科的智慧结晶,代表着高科技的发展前沿。因此,本文讲述了基于MFC的家庭机器人仿真系统,根据机器人的动作原理并建立模型, 模仿机器人的动作,实现家庭机器人的各种功能。
MFC;家庭机器人;仿真系统;建立模型
1 系统功能实现
1)避障功能:在家庭区域分布图中自定义机器人障碍物,若是碰到该障碍物,则返回它上一步的状态。通过坐标的限制使机器人无法到达该区域。
2)配合动画:通过电脑中的画图软件画出机器人各种状态(前进、后退、左行、右行分别用多张状态图)。在程序中将这些照片全部加载到图像链表中,用到哪一张图片便调用哪一张图片。通过照片的拼接,实现机器人腿部、手臂、身体的配合动画。
3)机器人实现行走:通过键盘中的方向键与数字键的配合,并且按下方向键与数字键时,使机器人在该方向的坐标加减,实现机器人行走的配合动画。
4)坐标显示:该程序用单文档,在菜单中加一个功能按钮,通过该按钮添加一个调用一个非模态的对话框,通过鼠标左键按下与鼠标移动响应函数将机器人的坐标显示到对话框中。
5)设定路线:按下运行按钮开启时钟,按下停止按钮关闭时钟,在时钟函数里面通过坐标设置给定线路,变化不同参数的调用不同图片,方可实现机器人在给定线路中自行行走,同时带有动画效果。
6)回放功能:设置两个一维数组,一个数组用来记录按键时,机器人调用哪张图片,另一个数组用来记录机器人的坐标信息,当按键时便开始记录,配合时钟函数,通过回放按钮开启时钟,便可实现录制并且回放功能。
7)调速功能:把机器人所走的步长设置为全局变量,调速功能的实现,把步长增大或减小便可以实现。
2 算法设计
2.1障碍物设置
通过得知障碍物的坐标,规划好机器人不能超越的区域坐标范围。如果超越则返回机器人上一步的状态,具体如图1所示。
图1 避障功能
图2 动画实现
2.2设定固定路径时的动画
要让机器人自己在设定的路线内走完,并且还要实现动画交替,可以通过设置全局变量的方法实现。比如,在前进时需要两张图片交替完成,显示第一张图片以后,对全局变量自加,如果全局变量对2取余等于0,则使用另一张图片,否则继续使用这张图片, 具体如图2所示。
3 重点算法说明
3.1面向对象的封装性
在程序中我们使用了很多的类,但是这些类的定义程序里面并没有,比如CDC、CPoint、CBitmap、CImageList等等这些类。这些类是系统自带的,本来就封装好了的,我们需要的时候拿出来用就可以了。除了这些系统本身就有的类,我们还可以自定义类,把我们自定义的封装好,用的时候拿出来用即可,比如程序中的Cgongneng类,这是一个对话框类。封装性也可以体现在函数中:
机器人图片调用函数,在PreCreateWindow(CREATESTRUCT&cs)函数中把所有的图片加载到图像链表中,在window(panduan)函数中画出下,代码如下:
在这里需要机器人展示哪张照片直接调用window(panduan)即可,panduan这个参数值则是让机器人显示哪张照片的参数。
3.2面向对象的继承性
面向对象的继承性可以表现在自定义类中,在自定义类中,我们可以直接使用它,我们还可以修改它,给它添加内容,比如在Cgongneng这个类中,我们使用它,比如
Cgongneng *m_xy= new Cgongneng;
m_xy->Create(IDD_DIALOG1,NULL);
m_xy->ShowWindow(SW_NORMAL);我们还可以在它的类中继续写入东西。
4 结语
近年来,随着世界对于机器人技术的重视,以及国内对于机器人技术举办的各种全国大学生比赛足以见得机器人技术对于国家综合国力发展的重要意义,所以研究机器人仿真系统同样有着无比重要的意义。本文基于MFC的家庭机器人仿真系统严格遵循正确性、可靠性、简明性、有效性、可维护性、可移植性的主要原则,编码的风格基本实现易读性、易理解性、易修改性等。
[1]揣锦华,袁琪.面向对象程序设计与VC++实践.北京:清华大学出版社,2016.2
Design of Home Robot Simulation System Based on MFC
Xu Jin
(School of electronic and control engineering, Chang'an University,Xi'an, Shaanxi,710021)
With the continuous progress of science and technology,a variety of robots into our actual production and life.Have to say that the robot technology to China and the world to bring earth shaking changes,because the robot technology to synthesize the wisdom of the various disciplines of crystallization,representing the forefront of the development of high technology.Therefore,this paper describes the MFC based home robot simulation system,according to the principle of the robot action and build a model to imitate the action of the robot to achieve the various functions of the family robot.
MFC;family robot;simulation system;build model