跳到主要内容

2.1 系统功能清单

Bianbu ROS 系统由多个模块化组件构成,涵盖从底层引导固件到用户空间应用的完整软件栈。组件分为以下几个主要类别:

  • 用户应用
  • 应用框架与开发工具
  • ROS 2 功能接口
  • 运行环境
  • 系统中间件
  • 高性能计算库
  • Linux 内核
  • 启动引导程序(U-Boot)
  • 固件接口(OpenSBI)

用户应用

系统预装了一系列常用桌面软件,涵盖开发、办公、多媒体与系统工具:

  • 桌面环境:LXQt 桌面及其基础组件
  • 办公工具:LibreOffice 办公套件、nobleNote 便签
  • 浏览器:Chromium
  • 集成开发环境:VSCodium
  • 容器工具:Docker
  • 远程访问:VNC Server
  • 多媒体应用:Cheese 相机、MPV 视频播放器、Audacious 音乐播放器
  • 图形工具:Okular 文档查看器、LXImage-Qt 图片浏览器、FeatherPad 文本编辑器
  • 系统工具:KCalc 计算器、LXQt 归档管理器、PCManFM-Qt 文件管理器、Fcitx 5 输入法
  • 娱乐应用:2048-Qt 游戏

应用框架与开发工具

  • 应用开发框架

    • Electron

    • GTK

    • Qt

  • 多媒体框架

    • FFmpeg(支持硬件加速)

    • GStreamer(支持硬件加速)

    • PipeWire

  • AI 推理框架与工具

    • ONNX Runtime(支持硬件加速)

    • Ollama(支持硬件加速)

    • llama.cpp

    • xquant(模型量化工具)

ROS 2 功能接口

系统提供基于 ROS 2 的高层封装接口,涵盖感知、推理、交互与视觉处理等功能模块:

  • 图像与视频推理接口(ONNX)
  • 人体跟随功能包
  • ByteTrack 多目标跟踪
  • 语音识别(ASR)模块
  • 大语言模型(LLM)聊天服务接口
  • USB 与 MIPI 摄像头支持
  • SVO(稀疏视觉惯性里程计)
  • WebSocket 可视化服务
  • 地图构建与自主导航
  • 声源定位与方向感知
  • 视频编解码节点(支持硬件加速)

运行环境

提供多语言运行时支持:

  • Python
  • Java
  • Node.js
  • Rust

系统中间件

高度封装的底层数据流与硬件访问接口,统一调度和访问系统资源:

  • USB 摄像头采集接口
  • MIPI 摄像头采集接口
  • V2D 图像处理模块支持
  • 硬件编码与解码接口
  • 视频输出支持(VO)
  • DRM 显示接口
  • RTSP 推流与拉流接口
  • ONNX 推理接口(C API 封装)

高性能计算库

为 AI 与图像处理任务提供加速支持:

  • Eigen(支持 RISC-V 向量扩展 RVV)
  • OpenCV(支持 RVV 加速)
  • OpenVML(向量数学库,支持 RVV)
  • OpenSSL(支持硬件加速)
  • MPP,进迭时空多媒体处理平台,提供 C API 和 sample
  • Mesa 3D
  • OpenGLES 图形与计算加速接口

Linux 内核

Linux 内核负责管理处理器和其他硬件资源,提供用户和应用程序与硬件之间的接口。主要功能包括中断和时钟管理、进程管理、内存管理、文件系统管理、设备驱动管理和网络协议栈等,代码在 gitee 上开源。

U-Boot

U-Boot 是一个引导加载程序,负责初始化特定硬件,从介质(如 SD 卡、eMMC、SPI Flash、SSD、网络)加载 Linux 内核镜像、设备树和初始 RAM 文件系统,代码在 gitee 上开源。

OpenSBI

OpenSBI 是 RISC-V 架构处理器的监管程序接口的实现,运行在 M 模式下的固件,提供引导加载程序、hypervisor、操作系统访问硬件的接口,代码在 gitee 上开源。