XVIZ——ROS
ROS是最流行的开源机器人开发平台,它有自己的基于可视化堆栈的RViz,而XVIZ是一个协议,最终是一个用于可视化机器人系统的生态系统。XVIZ的目标比ROS更加集中。它旨在创建一个标准协议,允许构建创新的客户机,将昂贵的数据转换下载到服务器,并最小化发送到客户机的数据,就像HTML和MP4对视频和多媒体内容所做的那样。在我们的路线图中,计划通过更新示例XVIZ服务器来连接这些世界,以支持ROS的包日志格式和常见ROS数据类型的实时转换,ROS和RViz和XVIZ之间有相当多的重叠,这是由于空间的性质和XVIZ都是受到了RViz的启发。他们的共同点包括:
1.将世界分解成原始数据流
2.支持几何、图像和时间序列流
3.支持查看来自实时系统的数据
4.支持将原语primitive绑定到对象上
5.支持二进制和文本协议
XVIZ的优势在于它专注于将客户机与数据格式和服务器实现完全解耦。
1.只配置UI系统-声明式UI
2.综合样式系统
3.元数据系统,便于数据检查
4.远程日志查看协议,无需复制日志
5.聚焦网络,比如标准JSON
6.Protobuf支持(alpha版)
ROS的发展和使用历史悠久,在机器人领域的基础较好:
1.ROS 1.0经过10年的发展已经稳定
2.更多的基本类型-立方体,球体,箭头
3.带有现有插件的RViz本机客户端
4.动态转换支持
在这里,我们将指出每个平台的独特缺点,而不仅仅是上述优点的反面。XVIZ的缺点源于它的年轻和正在修复的开放源代码的缺陷,二进制协议还不支持所有数据类型的优化布局,没有开源c++或Python实现,没有成熟的开源服务器,例如Node.js版本。ROS是一个非常可靠的系统,其主要缺点是近年来开发支持的减少,如平台的选择和架构的选择等,没有第一类瘦/远程客户端历史,序列化没有面向兼容性,ROS 1.0 -> 2.0的过渡正在缓慢进行,并分散了开发工作。
下面是XVIZ和ROS的并列比较,可以比较直观的看出其差异。(具体分析解释我专业术语不是很懂,加上今天看电视不专心不太想查资料扩展,下次补上/(ㄒoㄒ)/~~)
roadmap说明
性能:优化数据,异步处理
说明:点云压缩,稳固数据,数据生命周期管理,先进的映射支持,模型支持
特征:先进的XVIZ服务器,多日志支持;ROSBAG支持,语言可选择性支持。
相似项目参考
XVIZ的目标是研究空间可视化与自动化系统相关的时间、地理和度量数据的问题。重点是要从底层平台解耦的系统的语义视图。有一些相关的项目与XVIZ有一些相似之处,但它们的目标通常是更一般的问题空间,或者与特定的平台耦合。跟踪这些工作以及这些项目的进展是很有价值的,以便在XVIZ发展的过程中从中学习并帮助绘制路线图。
可视化部分
- rviz - ROS 3D Robot Visualizer ROS三维机器人可视化器
- webviz - Web based ROS bag visualizer 基于Web的ROS包可视化器
- x3dom - declarative 3D content format, built in WebGL support.声明性3D内容格式,内置WebGL支持
- A-Frame - declarative DOM style system for 3D VR applications.用于3D VR应用的声明式DOM风格系统。
- VRML 2.0 - 1990’s format for full 3D scene description, in the spirit of a 3D HTML.1990年的格式为完整的3D场景描述
数据格式
- rosbag - ROSBAG reading support for Javascript 对Javascript的ROSBAG读取支持
- glTF 2.0 - "JPEG for 3D", standard for 3D scene interchange, optimized for fast loading and the Web, has wide import & export support.“JPEG for 3D”是3D场景交换的标准,优化了快速加载和Web,具有广泛的进出口支持
- USD/USDZ - portable format for storing arbitrary 3D scenes, animations and scene graphs, in production pipelines, used and developed by Pixar.可移植的格式,用于生产管道中存储任意3D场景,动画和场景图,由Pixar使用和开发。
参考资料:https://avs.auto/#/xviz/overview/comparison?section=feature-comparision