声明:本文是一篇翻译文章,文章来源:https://github.com/Vision4UAV/Aerostack/wiki/Memory-of-Beliefs
未经博主本人许可,文章禁止转载!!!
Aerostack使用符号信念(Belief)记忆来表示机器人所相信的关于世界的信息。信念(Belief)是一个机器人认为的有关于世界的真命题(这里的世界指的是外部世界和机器人的内在状态)。
信念在具体化任务规划的过程中很有用。在任务计划的执行过程中,机器人将信念当作事实同时它试图将任务计划适应于当前的环境。操作员也可以使用信念来帮助监视任务的正确执行。
Aerostack存储了一系列的新年并尽力去保持它们与世界和其他信念的一致性。Aerostack使用一种基于逻辑带有预测的方法来表示信念。下表展示了使用了普通格式的predict(object, value)的例子或者简单的property(object). 这些预测总是带着所对应的值在存储中:
Predicate | Predicate |
---|---|
Predicate | Predicate |
position(self, x) | The aerial robot is at the spatial position x (in 3D coordinates). For example, x = (4.9, 5.1, 0). |
battery_level(self,x) | The level of the battery charge is x (e.g., HIGH or LOW) |
下表中的例子是做为说明的例子(例如,它们并非都在当前版本的Aerostack中应用):
Predicate | Description |
---|---|
name(x, y) | The name of object x is y |
code(x, y) | The numerical code of x is y |
color(x, y) | The color of x is y |
frequency(communication,x) | The frequency of the communications is x |
carry(self, x) | The own aerial robot carries the object x |
image(x, y) | The image of object x is y |
temperature(air, x) | The temperature of the air is x |
visible(x) | The object x is visible |
stability(ground, x) | The stability of the ground is x |
为了保持一致性,表示方法遵循面向对象的方法。对象是类的一个实例,可能有很多带值的属性。Aerostack假设使用三元组为对象定义的属性值是互斥的。例如,信念 charge(battery, empty)和信念 charge(battery, full)是不相容的,因为电量值充满和空的是互斥的。Aerostack保持了信念的一致性。当一个添加了一个信念时,例如,charge(battery, empty) ,不相容的信念就会自动收回,例如, charge(battery, full).
操作员可以使用信念的表达式来查询记忆的状态(例如,在任务规划语言中)。例如,用户可以使用下面的信念表达式来获得当前的位置坐标:
position(self, (?X, ?Y, ?Z))
在这个信念表达式中, X,Y和Z是用来存储当先位置坐标的变量。问号(?)表示这些变量的值将被信念记忆中的值所代替。