Skip to main content

2.1 System Feature Overview

Bianbu ROS is a modular, full-stack operating system built for robotics, spanning from low-level boot firmware to rich user-space applications. Its architecture consists of the following major components:

  • User Applications
  • Application Frameworks & Development Tools
  • ROS 2 Functional Interfaces
  • Runtime Environment
  • System Middleware
  • High-Performance Libraries
  • Linux Kernel
  • Bootloader (U-Boot)
  • Firmware Interface (OpenSBI)

User Applications

Bianbu ROS includes a preinstalled suite of essential desktop applications for development, productivity, media, and system utilities:

  • Desktop Environment: LXQt with core utilities
  • Office Tools: LibreOffice suite, nobleNote for sticky notes
  • Web Browser: Chromium
  • IDE: VSCodium
  • Containerization: Docker
  • Remote Access: VNC Server
  • Media Tools: Cheese (camera app), MPV (video player), Audacious (music player)
  • Graphics & Editing: Okular (PDF/document viewer), LXImage-Qt (image viewer), FeatherPad (text editor)
  • System Utilities: KCalc (calculator), LXQt Archiver, PCManFM-Qt (file manager), Fcitx 5 (input method framework)
  • Entertainment: 2048-Qt puzzle game

Application Frameworks & Development Tools

  • GUI & App Frameworks

    • Electron

    • GTK

    • Qt

  • Multimedia Frameworks

    • FFmpeg (with hardware acceleration)

    • GStreamer (with hardware acceleration)

    • PipeWire

  • AI Inference Frameworks & Tools

    • ONNX Runtime (hardware-accelerated)

    • Ollama (hardware-accelerated)

    • llama.cpp

    • xquant (model quantization tool)

ROS 2 Functional Interfaces

Bianbu ROS provides high-level, modular ROS 2 interfaces abstracted for common robotics tasks, including:

  • Visual and video-based AI inference (ONNX)
  • Human-following modules
  • ByteTrack multi-object tracking
  • Automatic Speech Recognition (ASR)
  • Large Language Model (LLM) chatbot interface
  • Support for USB and MIPI cameras
  • SVO (Sparse Visual Odometry)
  • WebSocket-based visualization
  • SLAM and autonomous navigation
  • Acoustic source localization
  • Hardware-accelerated video encode/decode nodes

Runtime Environment

Multi-language runtime support is built in to support flexible development:

  • Python
  • Java
  • Node.js
  • Rust

System Middleware

The middleware layer provides unified access to hardware resources and optimized data flows:

  • USB camera capture
  • MIPI camera interface
  • V2D image processing module
  • Hardware video encoding/decoding
  • VO (video output) support
  • DRM display rendering
  • RTSP streaming (input/output)
  • ONNX C API inference interface

High-Performance Libraries

Optimized for AI workloads, multimedia processing, and vector acceleration:

  • Eigen (with RISC-V Vector Extension - RVV support)
  • OpenCV (RVV-enabled)
  • OpenVML (vectorized math library with RVV)
  • OpenSSL (hardware-accelerated)
  • MPP (Multimedia Processing Platform with C APIs and samples)
  • Mesa 3D
  • OpenGLES

Linux Kernel

The Linux kernel is responsible for managing the processor and other hardware resources, providing an interface between user applications and hardware. Its main functions include interrupt and timer management, process management, memory management, file system management, device driver management, and network protocol stack support. The source code is open-sourced on Gitee.

U-Boot (Bootloader)

U-Boot is a robust bootloader used to initialize hardware and load the Linux kernel, device tree, and initramfs from various media (e.g., SD card, eMMC, SPI Flash, SSD, or network).

OpenSBI (Firmware Interface)

OpenSBI (Supervisor Binary Interface) is a runtime firmware layer for RISC-V processors that operates in machine mode (M-mode), providing system-level services to bootloaders, hypervisors, and OS kernels.