Skip to main content

2.1 System Feature Overview

Bianbu ROS is a modular, full-stack operating system for robotics. It spans the entire software stack from low-level boot firmware to rich user-space applications. Its architecture includes:

  • 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 comes with a preinstalled suite of essential desktop tools for development, productivity, media, and system management:

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

Application Frameworks & Development Tools

  • GUI & App Frameworks

    • Electron
    • GTK
    • Qt
  • Multimedia Frameworks

    • FFmpeg (hardware-accelerated)
    • GStreamer (hardware-accelerated)
    • 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 modular, high-level ROS 2 interfaces for common robotics tasks:

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

Runtime Environment

Built-in multi-language runtime support allows flexible development in:

  • Python
  • Java
  • Node.js
  • Rust

System Middleware

The middleware layer provides unified hardware access and optimized data flow:

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

High-Performance Libraries

Optimized for AI workloads, multimedia, 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 manages the processor and hardware resources, acting as an interface between user applications and hardware. Key responsibilities include interrupt handling, timers, process and memory management, file systems, device drivers, and networking.

U-Boot (Bootloader)

U-Boot initializes hardware and loads the Linux kernel, device tree, and initramfs from various media: SD card, eMMC, SPI Flash, SSD, or network.

OpenSBI (Firmware Interface)

OpenSBI (Supervisor Binary Interface) is firmware for RISC-V processors running in machine mode (M-mode). It provides system-level services to bootloaders, hypervisors, and OS kernels.