专栏算法工具链Node应用编程接口

Node应用编程接口

TROS.Assist2024-02-27
40
0

1. Node

DataFlow将一个功能模块抽象为Node,理论上每个Node实现一个功能,每个Node具体的功能由用户自定义扩展。用户可以根据需要扩展Node,在其内部创建Publisher、Subscriber等对象,用于Node间的通信。
Description
  • topic:是 Node 之间交换消息的总线,不同的 topic 有对应的 publisher 和 subscriber 对象,分别用于发送消息到该 topic,以及从该 topic 接收消息对象

  • publisher:用于发送抽象消息,具有如下属性:

    • id:publisher 的 id

    • topic:发送消息的 topic

    • node_id:publishe 所在的 node id

  • subscriber:用于接收消息,具有如下属性:

    • id:subscriber 的 id

    • topic:发送消息的 topic

    • node_id:subscriber 所在的 node id

  • callback:用户注册的回调函数

2. 编程范式

2.1 Node开发

Node 中提供了一系列的对外接口供用户使用,包括以下几类主要接口,用户可以选择在此基础上进行扩展开发。
Description
  1. 定义 node 根据用户需要的功能定义不同的 node,在node内部通过接口创建 Publisher,Subscriber,Filter等,不同 node 之间通过 topic 进行消息的传递。
    Description
  2. 实现node
    实现具有不同功能的subscriber回调以及filter回调。
    具体使用 node 应用编程接口进行开发的示例可以参考Node迁移Module接口教程
    ### 2.2 Node运行
    通过编写main函数的方式,在 main 函数中实例化各个功能对应的node并进行启动即可。
算法工具链
杂谈
评论0
0/600