论文部分内容阅读
受多方面因素的影响,目前机器人产业仍然是相对封闭的。各个厂商都有自己独立的硬件规范和软件接口,这些规范和接口大多数情况下不兼容其他厂商的产品。这极大地限制了机器人产业的发展。受PC产业成功的启发,最近几年,工业界和学术界都在尝试使用模块化的思想促进机器人产业的发展。我国也在“十二五”期间成立了专门的“863”重大专项来支持机器人的模块化方面的研究。本文的选题正是源自于“863”重大专项《机器人模块化单元技术》的一项子课题《教育娱乐机器人中间件技术研究》。《教育娱乐机器人中间件技术研究》的目标之一在于设计并完成一个在线的教育娱乐机器人应用软件开发和测试平台。本文所研究的内容正是关于该平台中在线仿真部分的设计与实现。在线仿真模块允许用户在浏览器中观看机器人应用程序的运行动画。粗略来分,在线仿真模块可以分为前端和后端两部分。前端是面向用户的网页端,主要功能是完成对仿真环境的初始化,仿真动画的实时绘制和仿真效果的设定。后端的主要功能是解析用户的应用程序,将用户的代码转化为对应的硬件(如舵机和传感器等)消息,并将消息发布到仿真服务器。前端通过从Web服务器获取到的数据模拟具体硬件的动作。概括而言,本文所实现的主要工作如下:1.调研了当前主流的开源机器人操作系统和中间件平台,并确定选择开源项目Player/Stage作为开发的基础平台。Player可看作是一个机器人操作系统接口集合,Stage是一个与Player兼容的本地仿真平台。2.实现了机器人应用程序到Player/Stage之间的抽象和Player/Stage到机器人硬件之间的抽象。我们将前者称为Proxy,后者称为Driver。使用Proxy屏蔽了开发语言和开发环境的差异,使用Driver屏蔽了不同厂商不同型号硬件的差异。我们将仿真平台的不同模块分别放到Proxy和Driver中,作为特殊的组成部分,通过配置文件指定代码执行方式,就可使得完全相同的应用程序代码既可用于仿真,又能运行于实际硬件,保证了仿真的可信性和有效性。3.设计并开发了Stage的Web版本——WebStage,将Stage做了网络化扩展,使得用户不再需要安装Player/Stage就能进行机器人应用的开发。从目前公开的信息来看,本文所开展的工作相对比较前瞻,国内外尚没有科研机构或公司公开发表过类似的产品。4.基于LAMP设计并开发了仿真网站,以及用于仿真Web页面和WebStage通信的HTTP服务器。