AI-express中的XProto、XStream与机器人平台的TogetherROS区别?

之前用过X3 SDB,它资料包中有基于AI-express的XProto、Xstream进行开发的参考用例;而现在用X3 PI,它的大部分用例又是基于TogetherROS开发的,想知道的它们之间的区别是什么?它们各自应用场景是?

AIExpress是地平线自研的算法推理调度框架,包括XProto和XStream。

XProto是一个插件管理和消息订阅分发框架,通过消息驱动实现进程内不同逻辑模块间通信。类似于ROS的PUB&SUB功能,但是XProto仅限于进程内通信。

XStream是一种基于数据流的SDK编程框架,通过JSON配置构建workflow,workflow是一个有向拓扑图,图中每个节点(Node)都管理了一个或多个同类型的method的实例。目标是降低算法模型,算法策略集成开发的门槛和难度。沉淀和积累智能化工程核心开发能力。类似于ROS的Node功能,但是XStream仅限于进程内调度。

TogetherROS是基于ROS2 Foxy版本优化,完全兼容ROS2 Foxy。

AIExpress的定位是板端算法开发。TogetherROS的定位是机器人开发,兼容ROS生态。

TogetherROS不局限于机器人开发,AIExpress适用的场景也可以使用TogetherROS开发。

好的,非常感谢这么详细的回复。想再问一下,官方以后会继续对AI-Express进行优化发展吗?还是慢慢转向TogetherROS?

AIExpress会持续提供支持,但不会再优化。目前已经转向了生态和功能更完善的TogetherROS。