解析HPCT人工智能架构

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

场景

我的候选场景将有两种行为,一种是避开障碍物,另一种是根据给定的直径进行圆形运动。

问题

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

以下是我试图寻找答案时阅读过的论文列表,但遗憾的是没有找到答案

PCT书籍

关于使用HPCT的多足机器人的论文

PCT的另一种视角

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

  • 避障层将是我的’感觉层‘的一部分,因为它只识别某些值,如接近的物体,例如超声波传感器的特定值范围。第二个层将是’配置层‘的一部分,因为它会尝试检测机器人行驶的模式,如直线、随机、圆形,甚至完全不动,这是使用陀螺仪和电机读数。’强度层‘代表所有传感器值,因此不应作为设计的一部分来考虑。

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

我的问题在于如何处理冲突行为(绕过物体并保持圆形运动)?是否应该类似于Subsumption,其中某些层被抑制/抑制并具有某种优先级系统?请原谅我的简短解释,因为我不想让这个问题变得冗长。

/Y


回答:

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

  1. 忘记层级。它们只是建议,对构建工作机器人没有用处。

  2. 对于你想要开发的机器人类型,更好的参考是CROWD程序,其文档位于http://www.livingcontrolsystems.com/demos/tutor_pct.html

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

  4. 通过思考应该控制哪些感知来设计机器人,以产生你希望看到的机器人行为。例如,如果你希望看到的一种行为是“避障”,那么思考避障行为是什么(我认为它是保持与障碍物的目标距离),然后思考如果保持控制,哪种感知会导致你看到机器人与物体保持固定距离。我认为可能是超声波脉冲发送和接收之间的时间延迟的感知。由于机器人在二维空间中移动(我假设),可能需要两个脉冲传感器来感知物体的二维位置。

  5. 你需要构建的控制系统之间可能存在潜在的冲突;例如,我认为控制圆形路径移动的系统和控制避障的系统之间可能存在冲突。CROWD程序中的代理也有同样的问题,有时会陷入死胡同冲突。处理这种冲突有各种方法;例如,你可以有一个更高层次的系统监控两个可能冲突系统中的错误,如果冲突(错误)持续一段时间,则降低其中一个系统或另一个系统的增益。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注