家庭服务机器人队伍设计开发流程

  • 格式:doc
  • 大小:95.00 KB
  • 文档页数:7

家庭服务机器人队伍设计开发流程
队名:Hunter4
队员:陈卫民
摘要
本文介绍了家庭服务机器人比赛平台在windows系统及Linux系统下的搭建,以及比赛规则,并分析了软件的开发流程及比赛策略1.概述:
家用机器人仿真比赛立足于家用服务机器人的高层功能的探索,目前主要包括人机对话、自动规划和推理。

为此,将家用机器人抽象为3D 仿真机器人,并以仿真的室内环境为测试环境,将人机对话抽象为自然语言或命令语言表达的任务描述,将机器人感知数据抽象为文件格式的场景描述。

家用机器人仿真比赛针对自主机器人在室内环境中的典型应用来设置一系列问题,每一个问题由一个场景描述和一个任务描述组成,其中场景描述刻画环境的初始状态,一定程度上代表机器人通过感知器获得的环境信息;任务描述刻画用户对任务的规定(含目标和约束)以及相关的补充信息,一定程度上代表用户通过人机对话向机器人传递的各种信息。

场景描述通过一个数据库提供给参赛程序。

任务描述分别用自然语言和命令语言表达,从而构成本赛事的两个不同的比赛项目――自然语言交互项目和指令交互项目。

比赛基于一个3D 仿真机器人,它有一组固定的原子行动,对所有问题都是不变的。

本次仿真比赛采用的仿真机器人如图所示,考
虑基于其功能的机器人问题求解。

此机器人有两个轮子(可以移动),手臂上有一个手爪(一次只能抓取一个东西),和一个盘子(上面只能放一个物体),体现基本的移动、抓取和放下能力。

在这些功能基础上,测试机器人在人机交互、自动规划和推理方面的能力。

2.比赛平台
2.1概述:
比赛使用ChallengeServer (Version Beta1.0.14)作为比赛平台,源代码可以从下面网址获得/rco/rco09/rules.php ChallengeServe负责管理比赛问题集(场景描述和任务描述),在比赛中调用参赛程序,使其在规定的时间(5秒)内对一个问题求解,并对输出的规划结果打分,最后按总分给所有参赛程序排名。

各参赛程序的接口部分用C++实现,需要继承Plug类,实现相应的接口函数,并生成动态链接库(dll文件)。

ChallengeServer通过加载动态链接库来调用参赛程序。

仿真比赛分为两个阶段,每个阶段都需要参赛程序求解一组问题集(场景描述和任务描述)。

比赛所用的问题集并不事先给出,比赛结束后会统一发布。

参赛队可以根据第3章的介绍,按下面要求的格式,写出自己的问题集。

为了方便调试,ChallengeServer 源代码res文件夹包含一些场景
描述和任务描述样例。

比赛平台将在WindowXP系统下运行,比赛所用机器配置如下:
-CPU:AMDAthlon(tm)IIX4620
-Memory:2GB
2.2平台依赖
ChallengeServer 在WindowsXP系统VisualStudio2008下用C++开发,目前只支持装有VS2008的Windows系统,因此要运行平台,需要先安装VS2008或微软的Framework3.5。

新版本ChallengeServer在Linux系统系运行
2.3Linux下的平台安装
在新的服务器上,我们对原来的程序流程图做了一点改变,我们不是读取一条任务,然后去判断其任务类型再去执行它,而是针对于每一个文件,先读出所有的任务,然后再用构造一个数据结构去存储它,最后根据任务的类型来分类,根据服务器打分的标准来有选择性地执行任务.
3.评分标准
家用机器人仿真比赛要求参赛程序对比赛平台提供的每一个问题,根据其场景描述和任务描述,在规定时间内自动生成完成该任务的原子行动序列,比赛平台将根据这些行动序列的性能给参赛程序打分,并根据所有问题的总分对参赛程序排名次。

原子行动序列的性能,由其完成任务描述要求的情况和所含行动个数决定。

行动序列完成任务描述的情况,由其完成的目标数目和维护的约束数目决定。

一个任务描述可能含有多个目标或约束(不考虑补充信息),自然语言中的一句话,指令表达中的一条指令,就表达一个目标或约束。

行动序列完成一个目标或维护一个约束,定义如下:行动序列执行的终止状态:正常情况下,从场景描述的初始状态出发,第一个行动应该是可执行的(满足执行条件),执行行动后状态改变,此时下一步行
动应该在改变后状态上可执行的,再执行此行动,如此复,直到行动序列全部完成,最终的环境状态就是此行动序列执行的终止状态。

如果下一步行动在当前状态无法执行(不满足执行条件),则以此当前状态为终止状态。

行动序列完成一个目标:行动序列执行的终止状态满足此目标的要求。

行动序列维护一个约束:从初始状态到终止状态中间每一步的状态都满足此约束的要求。

评分标准如下:
完成一个目标获得10 分。

维护一个约束获得5分
执行一次行动得3分
其他每个原子行动执行一次得−1 分。

4.软件开发
4.1开发流程图
WorldModel Define.cpp
ParseNature.cpp Devil.cpp ParseTask.cpp.cpp
Init()
Fini() 4.2决策构建
4.2.1通过条件选择语句判定动作类型
4.2.2对各个类型的动作进行函数实现4.2.3动作类型实现举例
参考文献:
Homerule2010.pdf
《家庭服务机器人仿真》蒋富
CSU云麓自然语言第一阶段源代码徐扬
出师表
两汉:诸葛亮
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。

然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。

诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。

宫中府中,俱为一体;陟罚臧否,不宜异同。

若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。

侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。

将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。

亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。

先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。

侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。

臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。

先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。

后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。

先帝知臣谨慎,故临崩寄臣以大事也。

受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。

今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。

此臣所以报先帝而忠陛下之职分也。

至于斟酌损益,进尽忠言,则攸之、祎、允之任也。

愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。

若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。

臣不胜受恩感激。

今当远离,临表涕零,不知所言。