The XML 格式

网友投稿 818 2022-11-29

The XML 格式

The XML 格式

XML基本的纲要

在第一篇教程中这个简单的树被呈现:

树的第一个tag是,它应当包含一个或者多个tag.

tag应当有属性[ID].

tag应当包含属性[main_tree_to_execute]

属性[main_tree_to_execute]是强制的,如果文件包含多个的话,其他情况就是可选的;

每一个TreeNode由一个tag来表示:

tag的名字是一个ID,用于将TreeNode在factory中进行注册;

属性[name]参考实例的名字,是可选的;

Ports用属性来配置,在先前的例子中,the action SaySomething要求输入接口 message。

就子节点的数量:

controlNodes包含一个到N个子节点;

DecoratorNodes和子树包含一个子节点;

ActionNodes和ConditionNodes没有子节点;

端口重映射和指向黑板的入口

正如第二篇教程解释的那样,输入和输出接口可以被用于重映射使用黑板上的一个入口的名字,换句话说,是黑板上键值对的键值;

一个黑板键值由如下句法表示:{key_name}

例如:

Sequence的第一个子节点输出"Hello";

第二个子节点读和写黑板上称之为"my_message"项包含的值;

紧凑型和具体型表示

以下两种句法都有效:

前者称之为紧凑型,后者称之为具体型

由具体型句法表示的例子如下:

尽管紧凑型更方便和容易写,但是其提供了太少关于TreeNode模型的信息。像Groot工具要求要么是具体型句法或者附加的信息,元素需要被增加;

为了让紧凑型的版本适应于Groot,XML比如修改成如下:

子树

在教程​​this tutorial​​中,可以在一个树中包含另一棵树,避免了复制和粘贴同样的树在多个位置上,从而减少了复杂性。

想要去压缩更少的行为在行为树GraspObject中,如下

注意到,上面的整棵树GraspObject的执行是在SaySomeThing之后;

包含外部的文件

使用如下的方式:

使用上面的例子,将两课行为树拆分在不同的文件当中:

Note for ROS users

If you want to find a file inside a ​​ROS package​​, you can use this syntax:

​​​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:太仓小程序开发(太仓微信小程序开发)
下一篇:龙岗小程序开发(龙岗小程序开发工作室)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~