Skip to main content

2.1 System Feature Overview

ROS2_LXQT 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 enables 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​

These libraries are 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, serving as the 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 the hardware and loads the Linux kernel, device tree, and initramfs from various media, including an SD card, eMMC, SPI flash, SSD, or the 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 operating system kernels.