机器人识别本科论文--基于windows的家庭服务机器人仿真(编辑修改稿)内容摘要:
goto(obj1):表示要求机 器人移动到 obj的位置。 pickup(obj1):表示手爪拿起 size属性为 small的 obj1, 最终状态为 obj1在机器人的盘子或手爪中。 putdown(obj1):表示将 机器人的盘子或手爪中的 obj1放下, 最终状态为 obj1不在机器人的盘子或手爪中。 opendoor(obj1):表示机器人打开 obj1的门, 最终状态为 obj1的门开着。 putin(obj1, obj2):表示机器人将 size属性为 small的 obj1放到 size属性为 big的 obj2的内部, 最终状态为 obj1在 obj2的内部 , 并且 obj2 处于关闭状态。 命令中 info定义如下: info=on(obj1,obj2)/near(obj1,obj2)/onplate()/inside(obj1)/dooropen(obj1)。 near(obj1, obj2): 表示物体 size属性为 small的 obj1在 size属性为 big的 obj2旁边。 即obj1与 obj2 位置 属性 相同。 10 inside(obj1, obj2): 表示 size属性为 small的 obj1在 size属性为 big的 obj2 里面。 dooropen(obj):表示物体 obj 的门处于打开状态。 命令中 cons定义如下: cons = not task/ not info / not not info not info:表示在 整个命令执行过程中 , info 所描述的情况都禁止出现。 not not info:表示在 整个命令执行过程中 , info 所描述的情况都必须保 持原有状态。 自然语言任务 自然语言交互 是 用户用 特 的英语 定 词汇来表达任务描述 的方式 [4]。 例如: “ Give me the green cup which is on the table.”,“The green book is on the bed.”, “The cup which is green is near the table.”, “There must be a cup in the cupboard.”.比赛中自然语言可以出现的词汇如 表 21所示 表 21 词汇表 词汇类型 词汇 代词 me 冠词 a、 an、 the 助动词 must 动词 do、 be、 give、 put、 go、 pick、 open 副词 there、 not 名词 plate、所有物体种类 在仿真过程中,使用很少的的词汇避免了复杂的环境场景。 代词只有用户 “me”。 对于任务描述中的目标,一般用祈使句表达,例如:“ Go to the bed.”,“Pick up the bottle which is green.”。 其中主动动词含义解释如表 22 表 22 主动动词含义 对于补充信息,用陈述句表达,一般为 “A is on/near/next to/inside B” 或者 “There is A on/near/next to/in B” 的形式, 他们同为 A和B 的位置属性相同 ,除了 B 为 plate 的情况,此时解释为 A 在 机器人的盘子里。 任务描述中约束用“ Do not …” ,“ There must (not) be … ”,或者“„ must(not) be …” 的方式表达。 “Do not” 后面一般接任务目标,例如“ Do not pickup the red cup”, “Do not put the green bottle on the table.”。 “There must (not) be” 后面一般 接信息描述。 仿真评分标准 一般情况下,一个任务集包含很多条命令,每执行一条命令计分器根据完成任务过程中维护的约束去记分。 正常情况下,完成一个命令获得十分,维护一个约束获得五分,完成一个补充信息十分,执行一次 move减 去三分,执行其他原子动作减一分。 动词 用法含义 give 一般用法为 “give somebody A”或“ give A to somebody”在指令交互中 转 为 give(human, A) put 一般用法为 “put A in/on/near/next to/down to B”, 在指令交互中表示为 puton(A,B)/putin(A,B)/putdowm(A) go 一般用法为“ go to A” 在指令交互中表示为 goto(A) pick 一般用法为“ pick up A” 在指令交互中表示为 pickup(A) open 一般用法为“ open A” 在指令交互中表示为 opendoor(A)。 11 问题得分 = 10乘以 完成的目标数目 + 5乘以 维护的约束数目 乘以 sgn(完成的目标数目 )扣去 3乘以 move 行动个数 减去 其他行动个数。 仿真比赛平台 仿真过程中 使用 ChallengeServer 作为比赛平台 ChallengeServer 负责管理比赛问题集(场景描述和任务描述),在比赛中调用参赛程序,使其在规定的时间( 5 秒)内对一个问题求解,并对输出的规划结果打分,最后按总分给所有参赛程序 [13]。 各参赛程序的接口部分用 C++ 实现,需要继承 Plug 类,实现相应的接口函数,并生成动态链接库( dll 文件)。 ChallengeServer 通过加载动态链接库来调用参赛程序。 为了方便调试, ChallengeServer 源代码 res 文件夹包含一些场景描述和任务描述样例。 比赛平台将在 Window XP 系统下运 行,比赛所用机器配置如下: CPU: AMD Athlon(tm) II X4 620 Memory: 2GB ChallengeServer 在 Windows XP 系统 Visual Studio 2020 下用 C++ 开发,目前只支持装有 VS2020 的 Windows 系统,因此要运行平台,需要先安装 VS2020 ChallengeServer 通过加载各参赛队伍生成的动态链接库( dll 文件),来调用参赛程序。 参赛程序需要继承 Plug 类,并实现相应的接口函数。 可以参照 ChallengeServer 源代码中 sample 文件夹下代码。 具体细节如下: planner/ 文件,构造 Plug 类的子类。 Plug 类构造函数的参数。 Plan()函数,实现规划程序。 对于每个问题,平台将调用 Plan()函数,给予 5 秒的计算时间。 GetTestName(const char* amp。 dname, const char* amp。 tname)函数,获得记录当前场景描述的文件名 dname 和记录当前任务描述的文件名 tname。 ,来输出相应的规划结果。 ,来输出相应的规划结果。 在测试开始前有数需要初始化,可重载 Init() 函数实现。 ,可重载 Fini() 函数实现。 EXPORT,参数为相应的类名,将工程配置成生成动态链接库的方式,即可将相应的程序打包成平台可调用的动态链接库 3 编程动作序列规划 机器人在仿真环境内在规定时间里根据场景描述和任务描述规划出结果,也就是原子动作序列。 Plateform 中的评价程序会更据此原子动作序列与需要完成的任务做对比,并根据任务的完成效果来评分。 对于任务有两种类型一种为基本任务,另一种为复合型任务。 基本任务类似于点对点,如需要机器人帮助人取到某样东西,或者是需要把某件可以动的物品转移到另 12 外一个位置。 复合型任务包含若干基本任务组合,一般情况下机器人会独立完成每一件任务。 如一个简单的复合任务要,将可移动的小物体 A 和 B 拿给人。 机器人通常情况下会把 A先拿给人然后在把 B拿给人但是这样机器人的工作效率很低。 但是经过规划以后,我么可以以最少的原子动作去完成此 [6]。 指令语言动作规划 在求解过程中,由于程序的的先后划分顺序,对于一个问题集的求解通常是:先规划出前面的原子动作序列,然后再依次依据前一次的动作序列所产生的场景描述来完成后面所有的的原子动作序列。 在实际的操作过程中,对于这样的原子动作序列,机器人的执行效率很低,一般情况下我们不会采用。 对于不同问题中的的场景描述和任务描述,我们希望的是在产生最少的原子动作序列情况下,完成任务。 对于指令交互的原子动作规划我们用一下行动方案来介 [7]: 任务指令: give(human,green cup ) give(human,blue bottle) . 场景描述如表 和表 所示。 位置 爪子 盘子 1 0 0 物体编号 种类 颜色 大小 位置 1 human big 20 2 desk big 30 3 teapoy big 32 4 cup green small 32 5 bottle blue small 32 在场景描述中机器人的属性( location、 hold、 plate, )很重要,在解决问题前我们需要对于机器人做预处理。 我们要考虑机器人手中、盘子中是否有物体,如果有该物体是否和任务相关。 机器人只有一只手、一个盘子所以组合在一起就有一下几种情况:假设机器人的手中或盘子中有物体存在,我们先要考虑手中是否有物体存在即“ plate_id”:是否为零,若不为零则首先处理手中物 [9]。 手中物体若与任务相关则可以直接完成该任务中的一条命令,若与任务不相关则直接放下。 然后在考虑盘子中的状态,处理方法与手中处理方法相同。 以下为代码中对于机器人的属性信息与处理办法: if(hold_id!=0||plate_id!=0)。机器人识别本科论文--基于windows的家庭服务机器人仿真(编辑修改稿)
相关推荐
大事,结合自己所学习的政策理论,积极宣传国家的大政方针,除上述给自己一个方向的同时,更做到了一个党员应有的义务和责任,即无时无刻都应深入群众、带领群众。 更能自觉提高政治理论水平,不断加强党性修养,敢于同各种不良倾向行为作斗争,在大是大非面前态度鲜明。 严格要求自己,模范履行党员义务,带头遵守党纪国法和学校的各项规章制度,敢于同一切不正之风作斗争,对党忠诚老实,作风正派。 二、学习
负责信息的传递、监控录像和存档拍照,观察飞机起降与运行指挥中心了解飞机起降情况。 检查营房安全,关闭消防队所有门窗。 及时向上级报告抗灾抢险情况,保持信息畅 通。 (二)预防阶段(雷暴雨即将来临时) XXXX 航空港股份有限公司安护中心消防队应急处置救援预案 5 督促驾驶员启动车辆测试水泡做好应急救援准备,把消防车辆关闭车窗,拉紧手刹, 将贵重物品、物资、货物、设备应转移到安全处。
for puteraided fixture design. International Journal of Production Research [J], 2020, 39(14): 31093126. [5] 王明强 . 计算机辅助设计技术 [M]. 北京:科学出版社, 、毕业设计(论文)的内容 对本课题的总体介绍 电压表是各种电子电路测量中经常用到的仪器
五层。 水文地质条件 地下水稳定水位埋藏较深,其水位受大气降水等因素直接控制。 17 该项目拟建地气象条件、工程地质条件及水文地质条件均良好,本工程施工不需要进行特殊处理。 供、排水 给水:由 三乡镇西村 自来水 管网 供给工作及生活用水。 排水:生活污水及路面雨水汇总排入 西村污水 管网。 供电 由宜阳县电业公司 三乡供所 供给。 通讯:接入宜阳县现有电信网络。 工程所需的建设材料如钢材、木材
WM调速; 桂林电子科技大学毕业设计(论文)报告用纸 第 5 页 共 50 页 ( 4)油耗量需要实时显示,要求每 1s输出一次数据,并且有断电保存功能; ( 5)程序要有复位功能,里程显示要有清零复位功能。 总体设计思路 根据机动车油耗量的计算与显示系统功能的要求。 使用单片机作为中心处理器,则需要为提供 5V 稳定电压的电源。 我们知道机动车的电池电压一般是 12V,要为单片机提供 5V
...................... 78 火灾危险性分析 ..................................................................................... 79 消防设计 .......................................................................