7 反应式的设计和实现
上一章节:《人工智能机器人学导论》-6 反应范式《人工智能机器人学导论》-7 反应式的设计和实现
实现自己的机器人遇到的问题是怎样在软件中编程融入更多的智能,然而有下面原因导致实现困难:
1、行为编成更像是艺术而不是科学。
2、如何将行为集成为一个系统。
面向对象编程中的行为对象
图式作为编程对象时被看成是一个类。当基元包含下一个派生的行为时需要一个叫做协调控制程序的方法,用于协调所有派生类中的方法或图式。
如上图图式类派生出三个类:感知图式、运动图式和行为。而行为类也可以派生出感知、运动和行为,行为类可以不包含行为类,这时叫做基元行为他就不需要协调控制程序了。
感知图式至少包括一个接收传感器输入并将其存入数据结构的方法。运动图式也至少包括一个将感知转换成向量或表示运动的其他形式。因为图式是独立的
反应式行为系统的设计步骤
1、首先对机器人的小生态环境进行说明和分析,包括 任务的描述、机器人描述、环境描述。
2、接下来进行设计,确定机器人需要做什么,如何响应环境的描述。
3、实现每个行为并单独对这些行为进行测试。
4、最后系统测试,对行为整体做测试。
行为的组配
由很多行为的组成的系统会发生什么?哪些行为应当同时运行?哪些行为应该按照顺序运行?这需要由释放者来决定顺序。
带来的问题是如何形式化的表示释放者,以及它们在顺序逻辑的问题上应该如何交互。
如果某个行为集形成一种典型的运动样式,我们把它看成是一个元或者宏行为,即由几个不同的基元行为组合出一个抽象行为。
由此带来的问题是如何把行为集及其时序逻辑封装成独立的模块。
怎样表示释放者,使得既便于机器人执行,又便于设计者构思和调试。行为的描述方式有三种:有限状态机、脚本法和技巧法。
组配行为最重要的一点是努力由真实的环境来激发或者说释放行为序列的下一步,而不是根据机器人近期行为的内部模型来决定下一步行为。
有限状态机FSA(Finite Sate Automata)
用来说明程序在给定的时间或环境应该做什么。FSA通过状态图和逻辑表格的形式进行形象化描述。
下面是UAV比赛状态机的表述,下面是状态图的形式来表述:
M: K = {沿线移动,向前走},∑ = {靠近草垛,远离草垛}
s = 沿线移动,F = {沿线移动,向前走}
有限状态机M,包括状态集K、激励或输入量的集合∑、初始状态s、终止状态集F。
下面用表的形式来描述:
q 状态 σ输入释放者 δ(q、σ)转移函数
沿线移动 靠近草垛 向前走
沿线移动 远离草垛 沿线移动
向前走 时间保持 向前走
向前走 时间保持结束 沿线移动
有限状态机M = {K、∑、s、F}
脚本法
该方法鼓励设计者用电影剧本中的术语逐字逐句来考虑机器人及任务。脚本法最初用于自然语言处理(NLP),帮助听众(机器人)理解演员的台词(人对计算机说的话或文字)。
在NLP中,脚本法让计算机能明白说省略的对话,例如使用计算机来阅读和翻译一本故事情节发生在饭店的小说。好的作家往往通过重点描写感兴趣的部分来体现事件的全部细节。没有直接描写,通过暗示给出的信息可以很容易的推断出来。
假设书以“约翰要你一只龙虾”开头。者就暗示给出的一下当前或相关的事件(正在饭店用餐)和跳过了的事件(约翰到饭店,拿到菜单,等等)。
如果下一句是“阿曼德端来了龙虾并给就不里添了些白葡萄酒”,计算机可以推断出阿曼德是个侍者以及约翰之间已经要了白葡萄酒。
在对机器人编程中,人们往往容易忽略常规的控制部分而专注于重要的事件序列的表示和调试,有限状态机迫使设计者考虑和列举所有可能的转换,而脚本法则可能简化这种规范。
下一章节:《人工智能机器人学导论》-9 慎思/反应混合范式
收益匪浅 而且每期都很超值 挺好:lol:lol
页:
[1]