消除HPCT人工智能架构的歧义

时间:2013-09-06 20:26:05

标签: pdf architecture artificial-intelligence theory

我正在尝试构建一个小型应用程序,该应用程序将在具有非常有限的感知能力的机器人上运行(NXT具有陀螺仪/超声波/触摸),并且实际的AI实现将基于分层感知控制理论。我只是在寻找关于实施的一些指导,因为当我从理论转向实施时我很困惑。

场景

我的候选人场景将有两种行为,一种是避开障碍物,二是基于给定直径以圆周运动行驶。

问题

我已经阅读了几篇论文,但无法确定我应该如何对虚拟机进行分类(行为层次?)以及它们应该如何与较低级别进行通信并解决内部冲突。

这些是我找到答案的文件清单,但遗憾的是

  

pct book

     

paper on multi-legged robot using hpct

     

pct alternative perspective

以下是我头脑风暴的结果:

  • 回避图层将是我的'感觉层'的一部分,这是因为它只识别某些值,例如关闭对象,例如超声波传感器的特定值范围。另一个第二层将是'配置层'的一部分,因为它会尝试检测机器人正在驱动的模式,如直线,随机,圆形或甚至根本没有移动,这是使用陀螺仪和电机读数。 '强度层'代表所有传感器值,因此不应将其视为设计的一部分。

  • 第二个想法是将两个图层都设为 '配置' ,因为它们会响应来自'的直接传感器值强度层'并且它们将以网状设计表示,其中每层可以将其参考值发送到与执行器接口的下层。

我的问题是如何处理相互冲突的行为(在物体周围操纵并继续在圆圈中运行)?应该类似于包含某些层被抑制/禁止并具有某种优先级系统的包含?原谅我的简短解释,因为我不想把这个问题作为一个冗长的问题。

/ Y

2 个答案:

答案 0 :(得分:2)

以下是实施HPCT并解决与项目相关的一些问题的机器人示例http://www.youtube.com/watch?v=xtYu53dKz2Q

有趣的是看到这两种范式的比较,因为它们都在类似的水平上接近AI领域,具体表现出简单行为的代理人。但是,两者之间存在一些根本性的差异,这意味着任何比较都会偏向于一个或另一个,具体取决于所选择的标准。

主要区别在于生物合理性。尽管受到生物系统的某些方面的启发,但是包容体系结构并不旨在在理论上代表这样的系统。一方面,PCT就是这样;关于生命系统如何运作的理论。

就PCT而言,最重要的标准是范式是否在生物学上是合理的,准确性和复杂性等标准是无关紧要的。

另一个主要区别在于,包容涉及行动选择,而PCT涉及对感知的控制(产出控制与投入控制),这使得对其他标准的任何比较都存在问题。

关于你可能需要的论点,我对你的论文有一些具体的评论 澄清或可能是错别字。

  • "生物将通过尝试达到他们的最终目标 交替他们的行为" - 你的意思是改变吗?

  • "每个虚拟机的输出或错误信号是它下面的机器的参考信号" - 参考信号可以是来自更高级系统的一个或多个输出信号的函数,因此更严格地说,这将是,"每个虚拟机的输出或误差信号对机器的参考信号有贡献。在较低的水平"。

  • "这里的主要区别在于,包容不包含“冲突”的概念。 " - 嗯,它的目的是优先考虑不同的层和子系统,以避免冲突。冲突是隐含的,因为没有专门的系统来处理冲突。

  • "'重组'这需要考虑其他层的目标。"这并没有完全体现重组的意义。当感知控制系统存在长时间错误时,重组就会发生,并且是系统结构发生变化的过程。因此,不仅仅是参考信号改变了系统之间的连接,或者系统的增益也会发生变化。

  • "设计复杂性:这是两种理论的基本属性。"在需要的意义上,它不是必要的属性,而是一个特征,尽管它是关于理论的实现或可用性考虑的重要属性。然而,复杂性与理论的有效性无关。我想说PCT是一个非常简单的理论,虽然在定义传递函数时会出现复杂性,但这适用于任何生命系统理论。

  • "以下步骤用于创建回避行为:"具有不同速度的多个节点似乎不必要地复杂。对于PCT,只需要有一个这样的节点,通过改变速度来控制距离(可能是负的)。

  • 第4.2.1节"例如,避免VM尝试直接响应具有特定错误值的某些强度值。"这根本不像PCT。对于PCT,系统永远不会响应特定的错误(或输出)值,而是更改输出以使强度(在这种情况下)输入与参考线对齐。

  • "因此,需要重组来处理这种冲突的行为。 I&#34 ;.如果存在冲突,如果当前系统无法解决该冲突,则可能需要重组。但是,重组的结果可能是一组能够解决冲突的系统。因此,可以设计解决冲突但不需要重组的系统。这通常是通过更高级别的控制系统或一组系统来完成的;在这种情况下应该是可能的。

  • 在本节中,没有描述受控变量是什么,这是值得关注的。我建议明确每个系统的目标(变量)是什么。

  • "因此,设计的行为基于控制参考值。"如果它只是被改变的参考值,那么我不认为将其描述为“重组”是准确的。这样的节点最好被描述为"冲突解决方案"节点,应该是一个更高级别的控制系统。

  • 图4.1。链接注释为"错误信号"实际上是输出信号。误差信号是比较器和输出之间的链路。

  • "机器人从未设法从尝试重新组织参考值的状态中恢复过来。"我建议解决这个问题的方法是让系统处于冲突系统之上,并从一个或两个系统中获取输入。它控制的变量可以简单地类似于“开放空间中的圆周运动”,输入是回避系统感知的函数,然后是用作输出的输出函数。圆周运动系统的参考,可能导致低或零参考值,基本上关闭系统,从而避免冲突或干扰。请记住,参考信号可以是多个输出信号的加权函数。这些权重或信号可能是负的,因此抑制信号的影响,从而以与包容体系结构类似的方式导致抑制。

  • "实际上,如果没有重组的概念,HPCT就无法实施,因为无论如何都会发生冲突。如上所述,HPCT可以在不重组的情况下实施。

  • "回顾这种设计的准确性,很难说它能够适应。"如果PCT系统设计有明确的受控变量,则PCT具有高度适应性,或对干扰的影响具有抵抗力,这是在本文中描述适应性的PCT方式。

一般而言,可能只需要在文本中进行澄清,但由于PCT实施模型中缺乏对受控变量的描述,而且看起来似乎有些“行为”。所使用的模块对于这两种实现都是通用的,它让我想知道PCT反馈系统是否真正被使用,或者它是否仅仅是分层架构的概念与包容范式的概念形成对比。

我很高兴提供有关HPCT实施的更多详细信息,但看起来这种反应有点过期,而且您已超越该阶段。

答案 1 :(得分:1)

来自CSGnet列表RM的部分答案: https://listserv.illinois.edu/wa.cgi?A2=ind1312d&L=csgnet&T=0&P=1261

  
      
  1. 忘掉关卡。它们只是建议,对构建工作机器人毫无用处。

  2.   
  3. 对于您想要开发的机器人类型,更好的参考是CROWD程序,该程序记录在http://www.livingcontrolsystems.com/demos/tutor_pct.html

  4.   
  5. CROWD计划中的代理人可以完成您希望机器人执行的大部分操作。因此,设计方法的一种方法是尝试使用NXT机器人可用的传感器和输出来实现CROWD程序中的控制系统。

  6.   
  7. 通过考虑应该控制什么样的感知来实现机器人的设计,以便产生您想要看到机器人执行的行为。因此,举例来说,如果你想看到的一种行为是“回避”,那么想想避免行为是什么(我认为它是与障碍物保持目标距离),然后考虑一下,如果保持在控制之下,哪种感知会导致你看到机器人与物体保持固定的距离。我怀疑这是对超声脉冲发送和接收之间的时间延迟的感知。由于机器人在两个空间中移动(我认为),可能必须有两个脉冲传感器才能感知两个D位置。对象

  8.   
  9. 您需要构建的控制系统之间存在潜在的冲突;例如,我认为控制在圆形路径中移动的系统与用于避开障碍物的系统控制之间可能存在冲突。 CROWD计划中的代理人有同样的问题,有时会陷入死胡同冲突。有多种方法可以处理这种冲突;例如,您可以让更高级别的系统监视两个可能存在冲突的系统中的错误,并使其减少一个系统或另一个系统中的增益(如果冲突) )坚持一段时间。

  10.